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.1.50.20180522 (8.2pre). Date: Thu, 23 Jul 2026 18:33:17 GMT Message-ID: <178483159745.1.2847873868404159809.rpms-gdb-2bcd68d7bfcc@fedoraproject.org> List-ID: X-Git-Repo: rpms/gdb X-Git-Branch: fix-dup-patch X-Git-Rev: 2bcd68d7bfcc949e2a6defdb6f04ea17dc998db2 QSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KClJlcG8gICA6IHJwbXMvZ2RiCkJyYW5jaCA6 IGZpeC1kdXAtcGF0Y2gKQ29tbWl0IDogMmJjZDY4ZDdiZmNjOTQ5ZTJhNmRlZmRiNmYwNGVhMTdk Yzk5OGRiMgpBdXRob3IgOiBTZXJnaW8gRHVyaWdhbiBKdW5pb3IgPHNlcmdpb2RqQHJlZGhhdC5j b20+CkRhdGUgICA6IDIwMTgtMDUtMzFUMTQ6NDc6NTYtMDQ6MDAKU3RhdHMgIDogKzE1MTQvLTMx MzAgaW4gNjIgZmlsZShzKQpVUkwgICAgOiBodHRwczovL3NyYy5mZWRvcmFwcm9qZWN0Lm9yZy9y cG1zL2dkYi9jLzJiY2Q2OGQ3YmZjYzk0OWUyYTZkZWZkYjZmMDRlYTE3ZGM5OThkYjI/YnJhbmNo PWZpeC1kdXAtcGF0Y2gKCkxvZzoKUmViYXNlIHRvIEZTRiBHREIgOC4xLjUwLjIwMTgwNTIyICg4 LjJwcmUpLgoKLS0tCmRpZmYgLS1naXQgYS8uZ2l0aWdub3JlIGIvLmdpdGlnbm9yZQppbmRleCA3 NWM1MjAxLi45Njk4NWM1IDEwMDY0NAotLS0gYS8uZ2l0aWdub3JlCisrKyBiLy5naXRpZ25vcmUK QEAgLTEsMyArMSw0IEBACiAvZ2RiLWxpYnN0ZGMrKy12My1weXRob24tNy4xLjEtMjAxNzA1MjYu dGFyLnh6CiAvdjEuNi4xLnRhci5negogL2dkYi04LjEudGFyLnh6CisvZ2RiLTguMS41MC4yMDE4 MDUyMi50YXIueHoKCmRpZmYgLS1naXQgYS9fZ2RiLnNwZWMuUGF0Y2guaW5jbHVkZSBiL19nZGIu c3BlYy5QYXRjaC5pbmNsdWRlCmluZGV4IDc4ZDVlYzUuLjNlZTVmYTQgMTAwNjQ0Ci0tLSBhL19n ZGIuc3BlYy5QYXRjaC5pbmNsdWRlCisrKyBiL19nZGIuc3BlYy5QYXRjaC5pbmNsdWRlCkBAIC0x MTUsMTk3ICsxMTUsMTg5IEBAIFBhdGNoMDI4OiBnZGItNi42LWJ6MjMwMDAwLXBvd2VyNi1kaXNh c3NlbWJseS10ZXN0LnBhdGNoCiAjPWZlZG9yYXRlc3QKIFBhdGNoMDI5OiBnZGItNi42LWJ6MjI5 NTE3LWdjb3JlLXdpdGhvdXQtdGVybWluYWwucGF0Y2gKIAotIyBOb3RpZnkgdXNlciBvZiBhIGNo aWxkIGZvcmtlZCBwcm9jZXNzIGJlaW5nIGRldGFjaGVkIChCWiAyMzUxOTcpLgotIz1wdXNoK2ph bjogVGhpcyBpcyBtb3JlIGFib3V0IGRpc2N1c3Npb24gaWYvd2hhdCBzaG91bGQgYmUgcHJpbnRl ZC4KLVBhdGNoMDMwOiBnZGItNi42LWJ6MjM1MTk3LWZvcmstZGV0YWNoLWluZm8ucGF0Y2gKLQog IyBBdm9pZCB0b28gbG9uZyB0aW1lb3V0cyBvbiBmYWlsaW5nIGNhc2VzIG9mICJhbm5vdGExLmV4 cCBhbm5vdGEzLmV4cCIuCiAjPWZlZG9yYXRlc3QKLVBhdGNoMDMxOiBnZGItNi42LXRlc3RzdWl0 ZS10aW1lb3V0cy5wYXRjaAorUGF0Y2gwMzA6IGdkYi02LjYtdGVzdHN1aXRlLXRpbWVvdXRzLnBh dGNoCiAKICMgU3VwcG9ydCBmb3Igc3RlcHBpbmcgb3ZlciBQUEMgYXRvbWljIGluc3RydWN0aW9u IHNlcXVlbmNlcyAoQlogMjM3NTcyKS4KICM9ZmVkb3JhdGVzdAotUGF0Y2gwMzI6IGdkYi02LjYt YnoyMzc1NzItcHBjLWF0b21pYy1zZXF1ZW5jZS10ZXN0LnBhdGNoCitQYXRjaDAzMTogZ2RiLTYu Ni1iejIzNzU3Mi1wcGMtYXRvbWljLXNlcXVlbmNlLXRlc3QucGF0Y2gKIAogIyBNYWtlIHVwc3Ry ZWFtIGBzZXQgc2NoZWR1bGVyLWxvY2tpbmcgc3RlcCcgYXMgZGVmYXVsdC4KICM9cHVzaCtqYW46 IEhvdyBtdWNoIGlzIHNjaGVkdWxlci1sb2NraW5nIHJlbGV2YW50IGFmdGVyIG5vbi1zdG9wPwot UGF0Y2gwMzM6IGdkYi02LjYtc2NoZWR1bGVyX2xvY2tpbmctc3RlcC1pcy1kZWZhdWx0LnBhdGNo CitQYXRjaDAzMjogZ2RiLTYuNi1zY2hlZHVsZXJfbG9ja2luZy1zdGVwLWlzLWRlZmF1bHQucGF0 Y2gKIAogIyBUZXN0IGtlcm5lbCBWRFNPIGRlY29kaW5nIHdoaWxlIGF0dGFjaGluZyB0byBhbiBp Mzg2IHByb2Nlc3MuCiAjPWZlZG9yYXRlc3QKLVBhdGNoMDM0OiBnZGItNi4zLWF0dGFjaC1zZWUt dmRzby10ZXN0LnBhdGNoCitQYXRjaDAzMzogZ2RiLTYuMy1hdHRhY2gtc2VlLXZkc28tdGVzdC5w YXRjaAogCiAjIFRlc3QgbGVmdG92ZXIgem9tYmllIHByb2Nlc3MgKEJaIDI0Mzg0NSkuCiAjPWZl ZG9yYXRlc3QKLVBhdGNoMDM1OiBnZGItNi41LWJ6MjQzODQ1LXN0YWxlLXRlc3Rpbmctem9tYmll LXRlc3QucGF0Y2gKK1BhdGNoMDM0OiBnZGItNi41LWJ6MjQzODQ1LXN0YWxlLXRlc3Rpbmctem9t YmllLXRlc3QucGF0Y2gKIAogIyBOZXcgbG9jYXRpbmcgb2YgdGhlIG1hdGNoaW5nIGJpbmFyaWVz IGZyb20gdGhlIHB1cmUgY29yZSBmaWxlIChidWlsZC1pZCkuCiAjPXB1c2gramFuCi1QYXRjaDAz NjogZ2RiLTYuNi1idWlsZGlkLWxvY2F0ZS5wYXRjaAorUGF0Y2gwMzU6IGdkYi02LjYtYnVpbGRp ZC1sb2NhdGUucGF0Y2gKIAogIyBGaXggbG9hZGluZyBvZiBjb3JlIGZpbGVzIHdpdGhvdXQgYnVp bGQtaWRzIGJ1dCB3aXRoIGJ1aWxkLWlkcyBpbiBleGVjdXRhYmxlcy4KICMgTG9hZCBzdHJpY3Rs eSBidWlsZC1pZC1jaGVja2VkIGNvcmUgZmlsZXMgb25seSBpZiBubyBleGVjdXRhYmxlIGlzIHNw ZWNpZmllZAogIyAoSmFuIEtyYXRvY2h2aWwsIFJIIEJaIDEzMzk4NjIpLgogIz1wdXNoK2phbgot UGF0Y2gwMzc6IGdkYi02LjYtYnVpbGRpZC1sb2NhdGUtc29saWItbWlzc2luZy1pZHMucGF0Y2gK K1BhdGNoMDM2OiBnZGItNi42LWJ1aWxkaWQtbG9jYXRlLXNvbGliLW1pc3NpbmctaWRzLnBhdGNo CiAKICM9cHVzaCtqYW4KLVBhdGNoMDM4OiBnZGItNi42LWJ1aWxkaWQtbG9jYXRlLXJwbS5wYXRj aAorUGF0Y2gwMzc6IGdkYi02LjYtYnVpbGRpZC1sb2NhdGUtcnBtLnBhdGNoCiAKICMgRml4IGRp c3BsYXlpbmcgb2YgbnVtZXJpYyBjaGFyIGFycmF5cyBhcyBzdHJpbmdzIChCWiAyMjQxMjgpLgog Iz1mZWRvcmF0ZXN0OiBCdXQgaXQgaXMgZmFpbGluZyBhbnl3YXksIG9uZSBzaG91bGQgY2hlY2sg dGhlIGJlaGF2aW9yIG1vcmUuCi1QYXRjaDAzOTogZ2RiLTYuNy1jaGFyc2lnbi10ZXN0LnBhdGNo CitQYXRjaDAzODogZ2RiLTYuNy1jaGFyc2lnbi10ZXN0LnBhdGNoCiAKICMgVGVzdCBQUEMgaGlk aW5nIG9mIGNhbGwtdm9sYXRpbGUgcGFyYW1ldGVyIHJlZ2lzdGVyLgogIz1mZWRvcmF0ZXN0Ci1Q YXRjaDA0MDogZ2RiLTYuNy1wcGMtY2xvYmJlcmVkLXJlZ2lzdGVycy1PMi10ZXN0LnBhdGNoCitQ YXRjaDAzOTogZ2RiLTYuNy1wcGMtY2xvYmJlcmVkLXJlZ2lzdGVycy1PMi10ZXN0LnBhdGNoCiAK ICMgVGVzdHN1aXRlIGZpeGVzIGZvciBtb3JlIHN0YWJsZS9jb21wYXJhYmxlIHJlc3VsdHMuCiAj PWZlZG9yYXRlc3QKLVBhdGNoMDQxOiBnZGItNi43LXRlc3RzdWl0ZS1zdGFibGUtcmVzdWx0cy5w YXRjaAorUGF0Y2gwNDA6IGdkYi02LjctdGVzdHN1aXRlLXN0YWJsZS1yZXN1bHRzLnBhdGNoCiAK ICMgVGVzdCBpYTY0IG1lbW9yeSBsZWFrcyBvZiB0aGUgY29kZSB1c2luZyBsaWJ1bndpbmQuCiAj PWZlZG9yYXRlc3QKLVBhdGNoMDQyOiBnZGItNi41LWlhNjQtbGlidW53aW5kLWxlYWstdGVzdC5w YXRjaAorUGF0Y2gwNDE6IGdkYi02LjUtaWE2NC1saWJ1bndpbmQtbGVhay10ZXN0LnBhdGNoCiAK ICMgVGVzdCBoaWRpbmcgdW5leHBlY3RlZCBicmVha3BvaW50cyBvbiBpbnRlbnRpb25hbCBzdGVw IGNvbW1hbmRzLgogIz1mZWRvcmF0ZXN0Ci1QYXRjaDA0MzogZ2RiLTYuNS1taXNzZWQtdHJhcC1v bi1zdGVwLXRlc3QucGF0Y2gKK1BhdGNoMDQyOiBnZGItNi41LW1pc3NlZC10cmFwLW9uLXN0ZXAt dGVzdC5wYXRjaAogCiAjIFRlc3QgZ2NvcmUgbWVtb3J5IGFuZCB0aW1lIHJlcXVpcmVtZW50cyBm b3IgbGFyZ2UgaW5mZXJpb3JzLgogIz1mZWRvcmF0ZXN0Ci1QYXRjaDA0NDogZ2RiLTYuNS1nY29y ZS1idWZmZXItbGltaXQtdGVzdC5wYXRjaAorUGF0Y2gwNDM6IGdkYi02LjUtZ2NvcmUtYnVmZmVy LWxpbWl0LXRlc3QucGF0Y2gKIAogIyBUZXN0IEdDT1JFIGZvciBzaG1pZCAwIHNoYXJlZCBtZW1v cnkgbWFwcGluZ3MuCiAjPWZlZG9yYXRlc3Q6IEJ1dCBpdCBpcyBicm9rZW4gYW55d2F5LCBzb21l dGltZXMgdGhlIGNhc2UgYmVpbmcgdGVzdGVkIGlzIG5vdCByZXByb2R1Y2libGUuCi1QYXRjaDA0 NTogZ2RiLTYuMy1tYXBwaW5nLXplcm8taW5vZGUtdGVzdC5wYXRjaAorUGF0Y2gwNDQ6IGdkYi02 LjMtbWFwcGluZy16ZXJvLWlub2RlLXRlc3QucGF0Y2gKIAogIyBUZXN0IGEgY3Jhc2ggb24gYGZv Y3VzIGNtZCcsIGBmb2N1cyBwcmV2JyBjb21tYW5kcy4KICM9ZmVkb3JhdGVzdAotUGF0Y2gwNDY6 IGdkYi02LjMtZm9jdXMtY21kLXByZXYtdGVzdC5wYXRjaAorUGF0Y2gwNDU6IGdkYi02LjMtZm9j dXMtY21kLXByZXYtdGVzdC5wYXRjaAogCiAjIFRlc3QgdmFyaW91cyBmb3JtcyBvZiB0aHJlYWRz IHRyYWNraW5nIGFjcm9zcyBleGVjKCkgKEJaIDQ0Mjc2NSkuCiAjPWZlZG9yYXRlc3QKLVBhdGNo MDQ3OiBnZGItNi44LWJ6NDQyNzY1LXRocmVhZGVkLWV4ZWMtdGVzdC5wYXRjaAorUGF0Y2gwNDY6 IGdkYi02LjgtYno0NDI3NjUtdGhyZWFkZWQtZXhlYy10ZXN0LnBhdGNoCiAKICMgU2lsZW5jZSBt ZW1jcHkgY2hlY2sgd2hpY2ggcmV0dXJucyBmYWxzZSBwb3NpdGl2ZSAoc3BhcmM2NCkKICM9cHVz aDogQnV0IGl0IGlzIGp1c3QgYSBHQ0Mgd29ya2Fyb3VuZCwgbG9vayB1cCB0aGUgZXhpc3Rpbmcg R0NDIFBSIGZvciBpdC4KLVBhdGNoMDQ4OiBnZGItNi44LXNwYXJjNjQtc2lsZW5jZS1tZW1jcHkt Y2hlY2sucGF0Y2gKK1BhdGNoMDQ3OiBnZGItNi44LXNwYXJjNjQtc2lsZW5jZS1tZW1jcHktY2hl Y2sucGF0Y2gKIAogIyBUZXN0IGEgY3Jhc2ggb24gbGlicmFyaWVzIG1pc3NpbmcgdGhlIC50ZXh0 IHNlY3Rpb24uCiAjPWZlZG9yYXRlc3QKLVBhdGNoMDQ5OiBnZGItNi41LXNlY3Rpb24tbnVtLWZp eHVwLXRlc3QucGF0Y2gKK1BhdGNoMDQ4OiBnZGItNi41LXNlY3Rpb24tbnVtLWZpeHVwLXRlc3Qu cGF0Y2gKIAogIyBGaXggcmVnaXN0ZXIgYXNzaWdubWVudHMgd2l0aCBubyBHREIgc3RhY2sgZnJh bWVzIChCWiA0MzYwMzcpLgogIz1wdXNoK2phbjogVGhpcyBmaXggaXMgaW5jb3JyZWN0LgotUGF0 Y2gwNTA6IGdkYi02LjgtYno0MzYwMzctcmVnLW5vLWxvbmdlci1hY3RpdmUucGF0Y2gKK1BhdGNo MDQ5OiBnZGItNi44LWJ6NDM2MDM3LXJlZy1uby1sb25nZXItYWN0aXZlLnBhdGNoCiAKICMgVGVz dCB0aGUgd2F0Y2hwb2ludHMgY29uZGl0aW9uYWxzIHdvcmtzLgogIz1mZWRvcmF0ZXN0Ci1QYXRj aDA1MTogZ2RiLTYuOC13YXRjaHBvaW50LWNvbmRpdGlvbmFscy10ZXN0LnBhdGNoCitQYXRjaDA1 MDogZ2RiLTYuOC13YXRjaHBvaW50LWNvbmRpdGlvbmFscy10ZXN0LnBhdGNoCiAKICMgRml4IHJl c29sdmluZyBvZiB2YXJpYWJsZXMgYXQgbG9jYXRpb25zIGxpc3RzIGluIHByZWxpbmtlZCBsaWJz IChCWiA0NjY5MDEpLgogIz1mZWRvcmF0ZXN0Ci1QYXRjaDA1MjogZ2RiLTYuOC1iejQ2NjkwMS1i YWNrdHJhY2UtZnVsbC1wcmVsaW5rZWQucGF0Y2gKK1BhdGNoMDUxOiBnZGItNi44LWJ6NDY2OTAx LWJhY2t0cmFjZS1mdWxsLXByZWxpbmtlZC5wYXRjaAogCiAjIE5ldyB0ZXN0IGZvciBzdGVwLXJl c3VtZSBicmVha3BvaW50IHBsYWNlZCBpbiBtdWx0aXBsZSB0aHJlYWRzIGF0IG9uY2UuCiAjPWZl ZG9yYXRlc3QKLVBhdGNoMDUzOiBnZGItc2ltdWx0YW5lb3VzLXN0ZXAtcmVzdW1lLWJyZWFrcG9p bnQtdGVzdC5wYXRjaAorUGF0Y2gwNTI6IGdkYi1zaW11bHRhbmVvdXMtc3RlcC1yZXN1bWUtYnJl YWtwb2ludC10ZXN0LnBhdGNoCiAKICMgRml4IEdOVS9MaW51eCBjb3JlIG9wZW46IENhbid0IHJl YWQgcGF0aG5hbWUgZm9yIGxvYWQgbWFwOiBJbnB1dC9vdXRwdXQgZXJyb3IuCiAjIEZpeCByZWdy ZXNzaW9uIG9mIHVuZGlzcGxheWVkIG1pc3Npbmcgc2hhcmVkIGxpYnJhcmllcyBjYXVzZWQgYnkg YSBmaXggZm9yLgogIz1mZWRvcmF0ZXN0OiBJdCBzaG91bGQgYmUgaW4gZ2xpYmM6IGxpYmMtYWxw aGE6IDwyMDA5MTAwNDE2MTcwNi5HQTI3NDUwQC4qPgotUGF0Y2gwNTQ6IGdkYi1jb3JlLW9wZW4t dmRzby13YXJuaW5nLnBhdGNoCitQYXRjaDA1MzogZ2RiLWNvcmUtb3Blbi12ZHNvLXdhcm5pbmcu cGF0Y2gKIAogIyBGaXggc3lzY2FsbCByZXN0YXJ0cyBmb3IgYW1kNjQtPmkzODYgYmlhcmNoLgog Iz1wdXNoK2phbgotUGF0Y2gwNTU6IGdkYi14ODZfNjQtaTM4Ni1zeXNjYWxsLXJlc3RhcnQucGF0 Y2gKK1BhdGNoMDU0OiBnZGIteDg2XzY0LWkzODYtc3lzY2FsbC1yZXN0YXJ0LnBhdGNoCiAKICMg Rml4IHN0ZXBwaW5nIHdpdGggT01QIHBhcmFsbGVsIEZvcnRyYW4gc2VjdGlvbnMgKEJaIDUzMzE3 NikuCiAjPXB1c2gramFuOiBJdCByZXF1aXJlcyBzb21lIGJldHRlciBEV0FSRiBhbm5vdGF0aW9u cy4KLVBhdGNoMDU2OiBnZGItYno1MzMxNzYtZm9ydHJhbi1vbXAtc3RlcC5wYXRjaAorUGF0Y2gw NTU6IGdkYi1iejUzMzE3Ni1mb3J0cmFuLW9tcC1zdGVwLnBhdGNoCiAKICMgRml4IHJlZ3Jlc3Np b24gYnkgcHl0aG9uIG9uIGlhNjQgZHVlIHRvIHN0YWxlIGN1cnJlbnQgZnJhbWUuCiAjPXB1c2gr amFuCi1QYXRjaDA1NzogZ2RiLWZvbGxvdy1jaGlsZC1zdGFsZS1wYXJlbnQucGF0Y2gKK1BhdGNo MDU2OiBnZGItZm9sbG93LWNoaWxkLXN0YWxlLXBhcmVudC5wYXRjaAogCiAjIFdvcmthcm91bmQg Y2NhY2hlIG1ha2luZyBsaW5lbm8gbm9uLXplcm8gZm9yIGNvbW1hbmQtbGluZSBkZWZpbml0aW9u cy4KICM9ZmVkb3JhdGVzdDogY2NhY2hlIGlzIHJhcmVseSB1c2VkIGFuZCBpdCBpcyBldmVuIGZp eGVkIG5vdy4KLVBhdGNoMDU4OiBnZGItY2NhY2hlLXdvcmthcm91bmQucGF0Y2gKK1BhdGNoMDU3 OiBnZGItY2NhY2hlLXdvcmthcm91bmQucGF0Y2gKIAogIz1wdXNoK2phbjogTWF5IGdldCBvYnNv bGV0ZWQgYnkgVG9tJ3MgdW5yZWxvY2F0ZWQgb2JqZmlsZXMgcGF0Y2guCi1QYXRjaDA1OTogZ2Ri LWFyY2hlci1waWUtYWRkb25zLnBhdGNoCitQYXRjaDA1ODogZ2RiLWFyY2hlci1waWUtYWRkb25z LnBhdGNoCiAKICM9cHVzaCtqYW46IEJyZWFrcG9pbnRzIGRpc2FibGluZyBtYXRjaGluZyBzaG91 bGQgbm90IGJlIGJhc2VkIG9uIGFkZHJlc3MuCi1QYXRjaDA2MDogZ2RiLWFyY2hlci1waWUtYWRk b25zLWtlZXAtZGlzYWJsZWQucGF0Y2gKK1BhdGNoMDU5OiBnZGItYXJjaGVyLXBpZS1hZGRvbnMt a2VlcC1kaXNhYmxlZC5wYXRjaAogCiAjIFRlc3RjYXNlIGZvciAiRG8gbm90IG1ha2UgdXAgbGlu ZSBpbmZvcm1hdGlvbiIgZml4IGJ5IERhbmllbCBKYWNvYm93aXR6LgogIz1mZWRvcmF0ZXN0Ci1Q YXRjaDA2MTogZ2RiLWxpbmVuby1tYWtldXAtdGVzdC5wYXRjaAorUGF0Y2gwNjA6IGdkYi1saW5l bm8tbWFrZXVwLXRlc3QucGF0Y2gKIAogIyBUZXN0IHBvd2VyNyBwcGMgZGlzYXNzZW1ibHkuCiAj PWZlZG9yYXRlc3QKLVBhdGNoMDYyOiBnZGItcHBjLXBvd2VyNy10ZXN0LnBhdGNoCitQYXRjaDA2 MTogZ2RiLXBwYy1wb3dlcjctdGVzdC5wYXRjaAogCiAjIEZpeCBpMzg2K3g4Nl82NCByd2F0Y2gr YXdhdGNoIGJlZm9yZSBydW4sIHJlZ3Jlc3Npb24gYWdhaW5zdCA2LjggKEJaIDU0MTg2NikuCiAj IEZpeCBpMzg2IHJ3YXRjaCthd2F0Y2ggYmVmb3JlIHJ1biAoQlogNjg4Nzg4LCBvbiB0b3Agb2Yg QlogNTQxODY2KS4KICM9cHVzaCtqYW46IEl0IHNob3VsZCBiZSBmaXhlZCBwcm9wZXJseSBpbnN0 ZWFkLgotUGF0Y2gwNjM6IGdkYi1iejU0MTg2Ni1yd2F0Y2gtYmVmb3JlLXJ1bi5wYXRjaAorUGF0 Y2gwNjI6IGdkYi1iejU0MTg2Ni1yd2F0Y2gtYmVmb3JlLXJ1bi5wYXRjaAogCiAjIFdvcmthcm91 bmQgbm9uLXN0b3AgbW9yaWJ1bmQgbG9jYXRpb25zIGV4cGxvaXRlZCBieSBrZXJuZWwgdXRyYWNl IChCWiA1OTA2MjMpLgogIz1wdXNoK2phbjogQ3VycmVudGx5IGl0IGlzIHN0aWxsIG5vdCBmdWxs eSBzYWZlLgotUGF0Y2gwNjQ6IGdkYi1tb3JpYnVuZC11dHJhY2Utd29ya2Fyb3VuZC5wYXRjaAor UGF0Y2gwNjM6IGdkYi1tb3JpYnVuZC11dHJhY2Utd29ya2Fyb3VuZC5wYXRjaAogCiAjIEZpeCBm b2xsb3ctZXhlYyBmb3IgQysrIHByb2dyYW1zIChidWdyZXBvcnRlZCBieSBNYXJ0aW4gU3RyYW5z a3kpLgogIz1mZWRvcmF0ZXN0Ci1QYXRjaDA2NTogZ2RiLWFyY2hlci1uZXh0LW92ZXItdGhyb3ct Y3h4LWV4ZWMucGF0Y2gKK1BhdGNoMDY0OiBnZGItYXJjaGVyLW5leHQtb3Zlci10aHJvdy1jeHgt ZXhlYy5wYXRjaAogCiAjIEJhY2twb3J0IERXQVJGLTQgc3VwcG9ydCAoQlogNjAxODg3LCBUb20g VHJvbWV5KS4KICM9ZmVkb3JhdGVzdAotUGF0Y2gwNjY6IGdkYi1iejYwMTg4Ny1kd2FyZjQtcmgt dGVzdC5wYXRjaAorUGF0Y2gwNjU6IGdkYi1iejYwMTg4Ny1kd2FyZjQtcmgtdGVzdC5wYXRjaAog CiAjPXB1c2gramFuCi1QYXRjaDA2NzogZ2RiLTYuNi1idWlsZGlkLWxvY2F0ZS1jb3JlLWFzLWFy Zy5wYXRjaAorUGF0Y2gwNjY6IGdkYi02LjYtYnVpbGRpZC1sb2NhdGUtY29yZS1hcy1hcmcucGF0 Y2gKIAogIyBXb3JrYXJvdW5kIGxpYnJwbSBCWiA2NDMwMzEgZHVlIHRvIGl0cyB1bmV4cGVjdGVk IGV4aXQoKSBjYWxscyAoQlogNjQyODc5KS4KICM9cHVzaCtqYW4KLVBhdGNoMDY4OiBnZGItNi42 LWJ1aWxkaWQtbG9jYXRlLXJwbS1saWJycG0td29ya2Fyb3VuZC5wYXRjaAorUGF0Y2gwNjc6IGdk Yi02LjYtYnVpbGRpZC1sb2NhdGUtcnBtLWxpYnJwbS13b3JrYXJvdW5kLnBhdGNoCiAKICMgW2Rl bGF5ZWQtc3ltZmlsZV0gVGVzdCBhIGJhY2t0cmFjZSByZWdyZXNzaW9uIG9uIENGSXMgd2l0aG91 dCBESUUgKEJaIDYxNDYwNCkuCiAjPWZlZG9yYXRlc3QKLVBhdGNoMDY5OiBnZGItdGVzdC1idC1j Zmktd2l0aG91dC1kaWUucGF0Y2gKLQotIyBQcm92aWRlIC91c3IvYmluL2dkYi1hZGQtaW5kZXgg Zm9yIHJwbS1idWlsZCAoVG9tIFRyb21leSkuCi0jPXB1c2g6IFJlLWNoZWNrIGFnYWluc3QgdGhl IHVwc3RyZWFtIHZlcnNpb24uCi1QYXRjaDA3MDogZ2RiLWdkYi1hZGQtaW5kZXgtc2NyaXB0LnBh dGNoCitQYXRjaDA2ODogZ2RiLXRlc3QtYnQtY2ZpLXdpdGhvdXQtZGllLnBhdGNoCiAKICMgT3V0 IG9mIG1lbW9yeSBpcyBqdXN0IGFuIGVycm9yLCBub3QgZmF0YWwgKHVuaW5pdGlhbGl6ZWQgVkxT IHZhcnMsIEJaIDU2ODI0OCkuCiAjPXB1c2gramFuOiBJbmZlcmlvciBvYmplY3RzIHNob3VsZCBi ZSByZWFkIGluIHBhcnRzLCB0aGVuIHRoaXMgcGF0Y2ggZ2V0cyBvYnNvbGV0ZWQuCi1QYXRjaDA3 MTogZ2RiLWJ6NTY4MjQ4LW9vbS1pcy1lcnJvci5wYXRjaAorUGF0Y2gwNjk6IGdkYi1iejU2ODI0 OC1vb20taXMtZXJyb3IucGF0Y2gKIAogIyBWZXJpZnkgR0RCIFB5dGhvbiBidWlsdC1pbiBmdW5j dGlvbiBnZGIuc29saWJfYWRkcmVzcyBleGlzdHMgKEJaICMgNjM0MTA4KS4KICM9ZmVkb3JhdGVz dAotUGF0Y2gwNzI6IGdkYi1iejYzNDEwOC1zb2xpYl9hZGRyZXNzLnBhdGNoCitQYXRjaDA3MDog Z2RiLWJ6NjM0MTA4LXNvbGliX2FkZHJlc3MucGF0Y2gKIAogIyBOZXcgdGVzdCBnZGIuYXJjaC94 ODZfNjQtcGlkMC1jb3JlLmV4cCBmb3Iga2VybmVsIFBJRCAwIGNvcmVzIChCWiA2MTE0MzUpLgog Iz1mZWRvcmF0ZXN0Ci1QYXRjaDA3MzogZ2RiLXRlc3QtcGlkMC1jb3JlLnBhdGNoCitQYXRjaDA3 MTogZ2RiLXRlc3QtcGlkMC1jb3JlLnBhdGNoCiAKICMgW2FyY2hlci10cm9tZXktZGVsYXllZC1z eW1maWxlXSBOZXcgdGVzdCBnZGIuZHdhcmYyL2R3Mi1hcmFuZ2VzLmV4cC4KICM9ZmVkb3JhdGVz dAotUGF0Y2gwNzQ6IGdkYi10ZXN0LWR3Mi1hcmFuZ2VzLnBhdGNoCitQYXRjaDA3MjogZ2RiLXRl c3QtZHcyLWFyYW5nZXMucGF0Y2gKIAogIyBbYXJjaGVyLWtlaXRocy1leHByLWN1bXVsYXRpdmUr dXBzdHJlYW1dIEltcG9ydCBDKysgdGVzdGNhc2VzLgogIz1mZWRvcmF0ZXN0Ci1QYXRjaDA3NTog Z2RiLXRlc3QtZXhwci1jdW11bGF0aXZlLWFyY2hlci5wYXRjaAorUGF0Y2gwNzM6IGdkYi10ZXN0 LWV4cHItY3VtdWxhdGl2ZS1hcmNoZXIucGF0Y2gKIAogIyBGaXggcmVncmVzc2lvbnMgb24gQysr IG5hbWVzIHJlc29sdmluZyAoUFIgMTE3MzQsIFBSIDEyMjczLCBLZWl0aCBTZWl0eikuCiAjPWZl ZG9yYXRlc3QKLVBhdGNoMDc2OiBnZGItcGh5c25hbWUtcHIxMTczNC10ZXN0LnBhdGNoCitQYXRj aDA3NDogZ2RiLXBoeXNuYW1lLXByMTE3MzQtdGVzdC5wYXRjaAogCiAjIEZpeCByZWdyZXNzaW9u cyBvbiBDKysgbmFtZXMgcmVzb2x2aW5nIChQUiAxMTczNCwgUFIgMTIyNzMsIEtlaXRoIFNlaXR6 KS4KICM9ZmVkb3JhdGVzdAotUGF0Y2gwNzc6IGdkYi1waHlzbmFtZS1wcjEyMjczLXRlc3QucGF0 Y2gKK1BhdGNoMDc1OiBnZGItcGh5c25hbWUtcHIxMjI3My10ZXN0LnBhdGNoCiAKICMgVG9vbGNo YWluIG9uIHNwYXJjIGlzIHNsaWdodGx5IGJyb2tlbiBhbmQgZGVidWdpbmZvIGZpbGVzIGFyZSBn ZW5lcmF0ZWQKICMgd2l0aCBub24gNjRiaXQgYWxpZ25lZCB0YWJsZXMvb2Zmc2V0cy4KQEAgLTMx OSwyMTQgKzMxMSwyMDAgQEAgUGF0Y2gwNzc6IGdkYi1waHlzbmFtZS1wcjEyMjczLXRlc3QucGF0 Y2gKICMgV2hpbGUgd2UgZmlndXJlIG91dCB3aGF0J3Mgd3JvbmcgaW4gdGhlIHRvb2xjaGFpbiBh bmQgZG8gYSBmdWxsIGFyY2hpdmUKICMgcmVidWlsZCB0byBmaXggaXQsIHdlIG5lZWQgdG8gYmUg YWJsZSB0byB1c2UgZ2RiIDopCiAjPXB1c2gKLVBhdGNoMDc4OiBnZGItNy4yLjUwLXNwYXJjLWFk ZC13b3JrYXJvdW5kLXRvLWJyb2tlbi1kZWJ1Zy1maWxlcy5wYXRjaAorUGF0Y2gwNzY6IGdkYi03 LjIuNTAtc3BhcmMtYWRkLXdvcmthcm91bmQtdG8tYnJva2VuLWRlYnVnLWZpbGVzLnBhdGNoCiAK ICMgVGVzdCBHREIgb3Bjb2Rlcy8gZGlzYXNzZW1ibHkgb2YgSW50ZWwgSXZ5IEJyaWRnZSBpbnN0 cnVjdGlvbnMgKEJaIDY5Njg5MCkuCiAjPWZlZG9yYXRlc3QKLVBhdGNoMDc5OiBnZGItdGVzdC1p dnktYnJpZGdlLnBhdGNoCitQYXRjaDA3NzogZ2RiLXRlc3QtaXZ5LWJyaWRnZS5wYXRjaAogCiAj IEhhY2sgZm9yIHByb3BlciBQSUUgcnVuIG9mIHRoZSB0ZXN0c3VpdGUuCiAjPWZlZG9yYXRlc3QK LVBhdGNoMDgwOiBnZGItcnVudGVzdC1waWUtb3ZlcnJpZGUucGF0Y2gKK1BhdGNoMDc4OiBnZGIt cnVudGVzdC1waWUtb3ZlcnJpZGUucGF0Y2gKIAogIyBQcmludCByZWFzb25zIGZvciBmYWlsZWQg YXR0YWNoL3NwYXduIGluY2wuIFNFTGludXggZGVueV9wdHJhY2UgKEJaIDc4Njg3OCkuCiAjPXB1 c2gramFuCi1QYXRjaDA4MTogZ2RiLWF0dGFjaC1mYWlsLXJlYXNvbnMtNW9mNS5wYXRjaAorUGF0 Y2gwNzk6IGdkYi1hdHRhY2gtZmFpbC1yZWFzb25zLTVvZjUucGF0Y2gKIAogIyBXb3JrYXJvdW5k IGNyYXNoZXMgZnJvbSBzdGFsZSBmcmFtZV9pbmZvIHBvaW50ZXIgKEJaIDgwNDI1NikuCiAjPXB1 c2gramFuCi1QYXRjaDA4MjogZ2RiLXN0YWxlLWZyYW1lX2luZm8ucGF0Y2gKK1BhdGNoMDgwOiBn ZGItc3RhbGUtZnJhbWVfaW5mby5wYXRjaAogCiAjIFdvcmthcm91bmQgUFIgbGliYy8xNDE2NiBm b3IgaW5mZXJpb3IgY2FsbHMgb2Ygc3Ryc3RyLgogIz1mZWRvcmE6IENvbXBhdGliaWxpdHkgd2l0 aCBSSEVMcyAodW5jaGVja2VkIHdoaWNoIG9uZXMpLgotUGF0Y2gwODM6IGdkYi1nbGliYy1zdHJz dHItd29ya2Fyb3VuZC5wYXRjaAorUGF0Y2gwODE6IGdkYi1nbGliYy1zdHJzdHItd29ya2Fyb3Vu ZC5wYXRjaAogCiAjIEluY2x1ZGUgdGVzdGNhc2UgZm9yIGBVbmFibGUgdG8gc2VlIGEgdmFyaWFi bGUgaW5zaWRlIGEgbW9kdWxlIChYTEYpJyAoQlogODIzNzg5KS4KICM9ZmVkb3JhdGVzdAotUGF0 Y2gwODQ6IGdkYi1yaGVsNS45LXRlc3RjYXNlLXhsZi12YXItaW5zaWRlLW1vZC5wYXRjaAorUGF0 Y2gwODI6IGdkYi1yaGVsNS45LXRlc3RjYXNlLXhsZi12YXItaW5zaWRlLW1vZC5wYXRjaAogCiAj IFRlc3RjYXNlIGZvciBgU2V0dGluZyBzb2xpYi1hYnNvbHV0ZS1wcmVmaXggYnJlYWtzIHZEU08n IChCWiA4MTgzNDMpLgogIz1mZWRvcmF0ZXN0Ci1QYXRjaDA4NTogZ2RiLXJoYnotODE4MzQzLXNl dC1zb2xpYi1hYnNvbHV0ZS1wcmVmaXgtdGVzdGNhc2UucGF0Y2gKK1BhdGNoMDgzOiBnZGItcmhi ei04MTgzNDMtc2V0LXNvbGliLWFic29sdXRlLXByZWZpeC10ZXN0Y2FzZS5wYXRjaAogCiAjIEZp eCBgR0RCIGNhbm5vdCBhY2Nlc3Mgc3RydWN0IG1lbWJlciB3aG9zZSBvZmZzZXQgaXMgbGFyZ2Vy IHRoYW4gMjU2TUInCiAjIChSSCBCWiA3OTU0MjQpLgogIz1wdXNoCi1QYXRjaDA4NjogZ2RiLXJo Yno3OTU0MjQtYml0cG9zLTIwb2YyNS5wYXRjaAorUGF0Y2gwODQ6IGdkYi1yaGJ6Nzk1NDI0LWJp dHBvcy0yMG9mMjUucGF0Y2gKIAogIyBGaXggYEdEQiBjYW5ub3QgYWNjZXNzIHN0cnVjdCBtZW1i ZXIgd2hvc2Ugb2Zmc2V0IGlzIGxhcmdlciB0aGFuIDI1Nk1CJwogIyAoUkggQlogNzk1NDI0KS4K ICM9cHVzaAotUGF0Y2gwODc6IGdkYi1yaGJ6Nzk1NDI0LWJpdHBvcy0yMW9mMjUucGF0Y2gKK1Bh dGNoMDg1OiBnZGItcmhiejc5NTQyNC1iaXRwb3MtMjFvZjI1LnBhdGNoCiAKICMgRml4IGBHREIg Y2Fubm90IGFjY2VzcyBzdHJ1Y3QgbWVtYmVyIHdob3NlIG9mZnNldCBpcyBsYXJnZXIgdGhhbiAy NTZNQicKICMgKFJIIEJaIDc5NTQyNCkuCiAjPXB1c2gKLVBhdGNoMDg4OiBnZGItcmhiejc5NTQy NC1iaXRwb3MtMjJvZjI1LnBhdGNoCitQYXRjaDA4NjogZ2RiLXJoYno3OTU0MjQtYml0cG9zLTIy b2YyNS5wYXRjaAogCiAjIEZpeCBgR0RCIGNhbm5vdCBhY2Nlc3Mgc3RydWN0IG1lbWJlciB3aG9z ZSBvZmZzZXQgaXMgbGFyZ2VyIHRoYW4gMjU2TUInCiAjIChSSCBCWiA3OTU0MjQpLgogIz1wdXNo Ci1QYXRjaDA4OTogZ2RiLXJoYno3OTU0MjQtYml0cG9zLTIzb2YyNS5wYXRjaAorUGF0Y2gwODc6 IGdkYi1yaGJ6Nzk1NDI0LWJpdHBvcy0yM29mMjUucGF0Y2gKIAogIyBGaXggYEdEQiBjYW5ub3Qg YWNjZXNzIHN0cnVjdCBtZW1iZXIgd2hvc2Ugb2Zmc2V0IGlzIGxhcmdlciB0aGFuIDI1Nk1CJwog IyAoUkggQlogNzk1NDI0KS4KICM9cHVzaAotUGF0Y2gwOTA6IGdkYi1yaGJ6Nzk1NDI0LWJpdHBv cy0yNW9mMjUucGF0Y2gKK1BhdGNoMDg4OiBnZGItcmhiejc5NTQyNC1iaXRwb3MtMjVvZjI1LnBh dGNoCiAKICMgRml4IGBHREIgY2Fubm90IGFjY2VzcyBzdHJ1Y3QgbWVtYmVyIHdob3NlIG9mZnNl dCBpcyBsYXJnZXIgdGhhbiAyNTZNQicKICMgKFJIIEJaIDc5NTQyNCkuCiAjPXB1c2gKLVBhdGNo MDkxOiBnZGItcmhiejc5NTQyNC1iaXRwb3MtMjVvZjI1LXRlc3QucGF0Y2gKK1BhdGNoMDg5OiBn ZGItcmhiejc5NTQyNC1iaXRwb3MtMjVvZjI1LXRlc3QucGF0Y2gKIAogIyBGaXggYEdEQiBjYW5u b3QgYWNjZXNzIHN0cnVjdCBtZW1iZXIgd2hvc2Ugb2Zmc2V0IGlzIGxhcmdlciB0aGFuIDI1Nk1C JwogIyAoUkggQlogNzk1NDI0KS4KICM9cHVzaAotUGF0Y2gwOTI6IGdkYi1yaGJ6Nzk1NDI0LWJp dHBvcy1sYXp5dmFsdWUucGF0Y2gKK1BhdGNoMDkwOiBnZGItcmhiejc5NTQyNC1iaXRwb3MtbGF6 eXZhbHVlLnBhdGNoCiAKICMgSW1wb3J0IHJlZ3Jlc3Npb24gdGVzdCBmb3IgYGdkYi9maW5kdmFy LmM6NDE3OiBpbnRlcm5hbC1lcnJvcjoKICMgcmVhZF92YXJfdmFsdWU6IEFzc2VydGlvbiBgZnJh bWUnIGZhaWxlZC4nIChSSCBCWiA5NDc1NjQpIGZyb20gUkhFTCA2LjUuCiAjPWZlZG9yYXRlc3QK LVBhdGNoMDkzOiBnZGItcmhiejk0NzU2NC1maW5kdmFyLWFzc2VydGlvbi1mcmFtZS1mYWlsZWQt dGVzdGNhc2UucGF0Y2gKK1BhdGNoMDkxOiBnZGItcmhiejk0NzU2NC1maW5kdmFyLWFzc2VydGlv bi1mcmFtZS1mYWlsZWQtdGVzdGNhc2UucGF0Y2gKIAogIyBGaXggY3Jhc2ggb2YgLXJlYWRub3cg L3Vzci9saWIvZGVidWcvdXNyL2Jpbi9nbmF0YmluZC5kZWJ1ZyAoQlogMTA2OTIxMSkuCiAjPXB1 c2gramFuCi1QYXRjaDA5NDogZ2RiLWduYXQtZHdhcmYtY3Jhc2gtM29mMy5wYXRjaAorUGF0Y2gw OTI6IGdkYi1nbmF0LWR3YXJmLWNyYXNoLTNvZjMucGF0Y2gKIAogIyBGaXggJ21lbW9yeSBsZWFr IGluIGluZnB5X3JlYWRfbWVtb3J5KCknIChSSCBCWiAxMDA3NjE0KQogIz1mZWRvcmF0ZXN0Ci1Q YXRjaDA5NTogZ2RiLXJoYnoxMDA3NjE0LW1lbWxlYWstaW5mcHlfcmVhZF9tZW1vcnktdGVzdC5w YXRjaAorUGF0Y2gwOTM6IGdkYi1yaGJ6MTAwNzYxNC1tZW1sZWFrLWluZnB5X3JlYWRfbWVtb3J5 LXRlc3QucGF0Y2gKIAogIyBGaXggJ2dkYiBnaXZlcyBoaWdobHkgbWlzbGVhZGluZyBlcnJvciB3 aGVuIGRlYnVnaW5mbyBwa2cgaXMgcHJlc2VudCwKICMgYnV0IG5vdCBjb3JyZXNwb25kaW5nIGJp bmFyeSBwa2cnIChSSCBCWiA5ODExNTQpLgogIz1wdXNoK2phbgotUGF0Y2gwOTY6IGdkYi02LjYt YnVpbGRpZC1sb2NhdGUtbWlzbGVhZGluZy13YXJuaW5nLW1pc3NpbmctZGVidWdpbmZvLXJoYno5 ODExNTQucGF0Y2gKK1BhdGNoMDk0OiBnZGItNi42LWJ1aWxkaWQtbG9jYXRlLW1pc2xlYWRpbmct d2FybmluZy1taXNzaW5nLWRlYnVnaW5mby1yaGJ6OTgxMTU0LnBhdGNoCiAKICM9ZmVkb3JhdGVz dAotUGF0Y2gwOTc6IGdkYi1hcmNoZXItdmxhLXRlc3RzLnBhdGNoCitQYXRjaDA5NTogZ2RiLWFy Y2hlci12bGEtdGVzdHMucGF0Y2gKIAogIz1mZWRvcmF0ZXN0Ci1QYXRjaDA5ODogZ2RiLXZsYS1p bnRlbC10ZXN0cy5wYXRjaAorUGF0Y2gwOTY6IGdkYi12bGEtaW50ZWwtdGVzdHMucGF0Y2gKIAog IyBDb250aW51ZSBiYWNrdHJhY2UgZXZlbiBpZiBhIGZyYW1lIGZpbHRlciB0aHJvd3MgYW4gZXhj ZXB0aW9uIChQaGlsIE11bGRvb24pLgogIz1wdXNoCi1QYXRjaDA5OTogZ2RiLWJ0cm9idXN0LnBh dGNoCitQYXRjaDA5NzogZ2RiLWJ0cm9idXN0LnBhdGNoCiAKICMgRGlzcGxheSBGb3J0cmFuIHN0 cmluZ3MgaW4gYmFja3RyYWNlcy4KICM9ZmVkb3JhdGVzdAotUGF0Y2gxMDA6IGdkYi1mb3J0cmFu LWZyYW1lLXN0cmluZy5wYXRjaAorUGF0Y2gwOTg6IGdkYi1mb3J0cmFuLWZyYW1lLXN0cmluZy5w YXRjaAogCiAjIEZpeCBQeXRob24gR0lMIHdpdGggZ2RiLmV4ZWN1dGUoImNvbnRpbnVlIikgKFBo aWwgTXVsZG9vbiwgQlogMTExNjk1NykuCiAjPXB1c2gKLVBhdGNoMTAxOiBnZGItcHl0aG9uLWdp bC5wYXRjaAorUGF0Y2gwOTk6IGdkYi1weXRob24tZ2lsLnBhdGNoCiAKICMgVGVzdGNhc2UgZm9y ICdbU0FQXSBSZWN1cnNpdmUgZGxvcGVuIGNhdXNlcyBTQVAgSEFOQSBpbnN0YWxsZXIgdG8KICMg Y3Jhc2guJyAoUkggQlogMTE1NjE5MikuCiAjPWZlZG9yYXRlc3QKLVBhdGNoMTAyOiBnZGItcmhi ejExNTYxOTItcmVjdXJzaXZlLWRsb3Blbi10ZXN0LnBhdGNoCitQYXRjaDEwMDogZ2RiLXJoYnox MTU2MTkyLXJlY3Vyc2l2ZS1kbG9wZW4tdGVzdC5wYXRjaAogCiAjIEZpeCBqaXQtcmVhZGVyLmgg Zm9yIG11bHRpLWxpYi4KICM9cHVzaCtqYW4KLVBhdGNoMTAzOiBnZGItaml0LXJlYWRlci1tdWx0 aWxpYi5wYXRjaAorUGF0Y2gxMDE6IGdkYi1qaXQtcmVhZGVyLW11bHRpbGliLnBhdGNoCiAKICMg Rml4ICdgY2F0Y2ggc3lzY2FsbCcgZG9lc24ndCB3b3JrIGZvciBwYXJlbnQgYWZ0ZXIgYGZvcmsn IGlzIGNhbGxlZCcKICMgKFBoaWxpcHBlIFdhcm9xdWllcnMsIFJIIEJaIDExNDkyMDUpLgogIz1m ZWRvcmF0ZXN0Ci1QYXRjaDEwNDogZ2RiLXJoYnoxMTQ5MjA1LWNhdGNoLXN5c2NhbGwtYWZ0ZXIt Zm9yay10ZXN0LnBhdGNoCitQYXRjaDEwMjogZ2RiLXJoYnoxMTQ5MjA1LWNhdGNoLXN5c2NhbGwt YWZ0ZXItZm9yay10ZXN0LnBhdGNoCiAKICMgRml4ICdiYWNrcG9ydCBHREIgNy40IGZpeCB0byBS SEVMIDYuNiBHREInIFtPcmlnaW5hbCBTb3VyY2V3YXJlIGJ1ZwogIyBkZXNjcmlwdGlvbjogJ0Mr KyAoYW5kIG9iamMpOiBJbnRlcm5hbCBlcnJvciBvbiB1bnF1YWxpZmllZCBuYW1lCiAjIHJlLXNl dCcsIFBSIDExNjU3XSAoUkggQlogMTE4NjQ3NikuCiAjPWZlZG9yYXRlc3QKLVBhdGNoMTA1OiBn ZGItcmhiejExODY0NzYtaW50ZXJuYWwtZXJyb3ItdW5xdWFsaWZpZWQtbmFtZS1yZS1zZXQtdGVz dC5wYXRjaAorUGF0Y2gxMDM6IGdkYi1yaGJ6MTE4NjQ3Ni1pbnRlcm5hbC1lcnJvci11bnF1YWxp ZmllZC1uYW1lLXJlLXNldC10ZXN0LnBhdGNoCiAKICMgVGVzdCAnaW5mbyB0eXBlLXByaW50ZXJz JyBQeXRob24gZXJyb3IgKFJIIEJaIDEzNTA0MzYpLgogIz1mZWRvcmF0ZXN0Ci1QYXRjaDEwNjog Z2RiLXJoYnoxMzUwNDM2LXR5cGUtcHJpbnRlcnMtZXJyb3IucGF0Y2gKK1BhdGNoMTA0OiBnZGIt cmhiejEzNTA0MzYtdHlwZS1wcmludGVycy1lcnJvci5wYXRjaAogCiAjIEZpeCAnW3BwYzY0XSBh bmQgW3MzOTB4XSB3cm9uZyBwcm9sb2d1ZSBza2lwIG9uIC1PMiAtZyBjb2RlJyAoSmFuCiAjIEty YXRvY2h2aWwsIFJIIEJaIDEwODQ0MDQpLgogIz1mZWRvcmF0ZXN0Ci1QYXRjaDEwNzogZ2RiLXJo YnoxMDg0NDA0LXBwYzY0LXMzOTB4LXdyb25nLXByb2xvZ3VlLXNraXAtTzItZy0zb2YzLnBhdGNo CitQYXRjaDEwNTogZ2RiLXJoYnoxMDg0NDA0LXBwYzY0LXMzOTB4LXdyb25nLXByb2xvZ3VlLXNr aXAtTzItZy0zb2YzLnBhdGNoCiAKICMgTmV2ZXIga2lsbCBQSUQgb246IGdkYiBleGVjIFBJRCAo SmFuIEtyYXRvY2h2aWwsIFJIIEJaIDEyMTk3NDcpLgogIz1wdXNoK2phbgotUGF0Y2gxMDg6IGdk Yi1iejEyMTk3NDctYXR0YWNoLWtpbGxzLnBhdGNoCitQYXRjaDEwNjogZ2RiLWJ6MTIxOTc0Ny1h dHRhY2gta2lsbHMucGF0Y2gKIAogIyBGb3JjZSBsaWJuY3Vyc2VzdyBvdmVyIGxpYm5jdXJzZXMg dG8gbWF0Y2ggdGhlIGluY2x1ZGVzIChSSCBCWiAxMjcwNTM0KS4KICM9cHVzaCtqYW4KLVBhdGNo MTA5OiBnZGItZmVkb3JhLWxpYm5jdXJzZXN3LnBhdGNoCitQYXRjaDEwNzogZ2RiLWZlZG9yYS1s aWJuY3Vyc2Vzdy5wYXRjaAogCiAjIFRlc3QgY2xmbHVzaG9wdCBpbnN0cnVjdGlvbiBkZWNvZGUg KGZvciBSSCBCWiAxMjYyNDcxKS4KICM9ZmVkb3JhdGVzdAotUGF0Y2gxMTA6IGdkYi1vcGNvZGVz LWNsZmx1c2hvcHQtdGVzdC5wYXRjaAorUGF0Y2gxMDg6IGdkYi1vcGNvZGVzLWNsZmx1c2hvcHQt dGVzdC5wYXRjaAogCiAjIFtyaGVsNl0gRFRTIGJhY2t3YXJkIFB5dGhvbiBjb21wYXRpYmlsaXR5 IEFQSSAoQlogMTAyMDAwNCwgUGhpbCBNdWxkb29uKS4KICM9ZmVkb3JhCi1QYXRjaDExMTogZ2Ri LWR0cy1yaGVsNi1weXRob24tY29tcGF0LnBhdGNoCitQYXRjaDEwOTogZ2RiLWR0cy1yaGVsNi1w eXRob24tY29tcGF0LnBhdGNoCiAKICMgW1NDTF0gU2tpcCBkZXByZWNhdGVkIC5nZGJfaW5kZXgg d2FybmluZyBmb3IgUmVkIEhhdCBidWlsdCBmaWxlcyAoQlogOTUzNTg1KS4KICM9cHVzaCtqYW4K LVBhdGNoMTEyOiBnZGItNi42LWJ1aWxkaWQtbG9jYXRlLXJwbS1zY2wucGF0Y2gKK1BhdGNoMTEw OiBnZGItNi42LWJ1aWxkaWQtbG9jYXRlLXJwbS1zY2wucGF0Y2gKIAogIyBXb3JrIGFyb3VuZCBy ZWFkbGluZS02LjIgaW5jb21wYXRpYmlsaXR5IG5vdCBhc2tpbmcgZm9yIC0tbW9yZS0tIChCWiA3 MDExMzEpLgogIz1mZWRvcmEKLVBhdGNoMTEzOiBnZGItcmVhZGxpbmU2Mi1hc2stbW9yZS1yaC5w YXRjaAotCi0jIFtSSEVMNSxSSEVMNl0gRml4IGF0dGFjaGluZyB0byBzdG9wcGVkIHByb2Nlc3Nl cy4KLSMgW1JIRUw1XSBXb3JrYXJvdW5kIGtlcm5lbCBmb3IgZGV0YWNoaW5nIFNJR1NUT1BwZWQg cHJvY2Vzc2VzIChCWiA4MDkzODIpLgotIz1mZWRvcmEKLVBhdGNoMTE0OiBnZGItNi44LWF0dGFj aC1zaWduYWxsZWQtZGV0YWNoLXN0b3BwZWQucGF0Y2gKK1BhdGNoMTExOiBnZGItcmVhZGxpbmU2 Mi1hc2stbW9yZS1yaC5wYXRjaAogCiAjIE1ha2UgdGhlIEdEQiBxdWl0IHByb2Nlc3Npbmcgbm9u LWFib3J0YWJsZSB0byBjbGVhbnVwIGV2ZXJ5dGhpbmcgcHJvcGVybHkuCiAjPWZlZG9yYTogSXQg d2FzIHVzZWZ1bCBvbmx5IGFmdGVyIGdkYi02LjgtYXR0YWNoLXNpZ25hbGxlZC1kZXRhY2gtc3Rv cHBlZC5wYXRjaCAuCi1QYXRjaDExNTogZ2RiLTYuOC1xdWl0LW5ldmVyLWFib3J0cy5wYXRjaAor UGF0Y2gxMTI6IGdkYi02LjgtcXVpdC1uZXZlci1hYm9ydHMucGF0Y2gKIAogIyBbYWFyY2g2NF0g Rml4IGhhcmR3YXJlIHdhdGNocG9pbnRzIChSSCBCWiAxMjYxNTY0KS4KICM9ZmVkb3JhdGVzdAot UGF0Y2gxMTY6IGdkYi1yaGJ6MTI2MTU2NC1hYXJjaDY0LWh3LXdhdGNocG9pbnQtdGVzdC5wYXRj aAorUGF0Y2gxMTM6IGdkYi1yaGJ6MTI2MTU2NC1hYXJjaDY0LWh3LXdhdGNocG9pbnQtdGVzdC5w YXRjaAogCiAjIEFkZCBtZXNzYWdlcyBzdWdnZXN0aW5nIG1vcmUgcmVjZW50IFJIRUwgZ2Ric2Vy dmVyIChSSCBCWiAxMzIxMTE0KS4KICM9ZmVkb3JhCi1QYXRjaDExNzogZ2RiLWNvbnRhaW5lci1y aC1wa2cucGF0Y2gKK1BhdGNoMTE0OiBnZGItY29udGFpbmVyLXJoLXBrZy5wYXRjaAogCiAjIE5l dyB0ZXN0IGZvciBQeXRob24gIkNhbm5vdCBsb2NhdGUgb2JqZWN0IGZpbGUgZm9yIGJsb2NrIiAo Zm9yIFJIIEJaIDEzMjU3OTUpLgogIz1mZWRvcmF0ZXN0Ci1QYXRjaDExODogZ2RiLXJoYnoxMzI1 Nzk1LWZyYW1lZmlsdGVycy10ZXN0LnBhdGNoCitQYXRjaDExNTogZ2RiLXJoYnoxMzI1Nzk1LWZy YW1lZmlsdGVycy10ZXN0LnBhdGNoCiAKICMgW2R0cytlbDddIFt4ODYqXSBCdW5kbGUgbGludXhf cGVyZi5oIGZvciBsaWJpcHQgKFJIIEJaIDEyNTY1MTMpLgogIz1mZWRvcmEKLVBhdGNoMTE5OiBn ZGItbGludXhfcGVyZi1idW5kbGUucGF0Y2gKK1BhdGNoMTE2OiBnZGItbGludXhfcGVyZi1idW5k bGUucGF0Y2gKIAogIyBGaXggZ2RiLWhlYWRsZXNzIC91c3IvYmluLyBleGVjdXRhYmxlcyAoQlog MTM5MDI1MSkuCiAjPWZlZG9yYQotUGF0Y2gxMjA6IGdkYi1saWJleGVjLWFkZC1pbmRleC5wYXRj aAorUGF0Y2gxMTc6IGdkYi1saWJleGVjLWFkZC1pbmRleC5wYXRjaAogCiAjIE5ldyB0ZXN0Y2Fz ZSBmb3I6IEZpeCA8dGFiPi1jb21wbGV0aW9uIGNyYXNoIChHYXJ5IEJlbnNvbiwgUkggQlogMTM5 ODM4NykuCiAjPWZlZG9yYXRlc3QKLVBhdGNoMTIxOiBnZGItcmhiejEzOTgzODctdGFiLWNyYXNo LXRlc3QucGF0Y2gKK1BhdGNoMTE4OiBnZGItcmhiejEzOTgzODctdGFiLWNyYXNoLXRlc3QucGF0 Y2gKIAogIyBbdGVzdHN1aXRlXSBGaXggZmFsc2Ugc2VsZnRlc3QuZXhwIEZBSUwgZnJvbSBzeXN0 ZW0gcmVhZGxpbmUtNi4zKyAoUGF0cmljayBQYWxrYSkuCiAjPWZlZG9yYXRlc3QKLVBhdGNoMTIy OiBnZGItdGVzdHN1aXRlLXJlYWRsaW5lNjMtc2lnaW50LnBhdGNoCitQYXRjaDExOTogZ2RiLXRl c3RzdWl0ZS1yZWFkbGluZTYzLXNpZ2ludC5wYXRjaAogCiAjIFB5dGhvbiBwYXRjaGVzIG9mOiBo dHRwOi8vc291cmNld2FyZS5vcmcvZ2RiL3dpa2kvUHJvamVjdEFyY2hlcgogIz1wdXNoCi1QYXRj aDEyMzogZ2RiLWFyY2hlci5wYXRjaAorUGF0Y2gxMjA6IGdkYi1hcmNoZXIucGF0Y2gKIAogIyBS ZXZlcnQgdXBzdHJlYW0gY29tbWl0IDQ2OTQxMmRkOWNjYzRkZTU4NzRmZDMyOTliMTA1ODMzZjM2 YjM0Y2QKLVBhdGNoMTI0OiBnZGItdmxhLWludGVsLWZpeC1wcmludC1jaGFyLWFycmF5LnBhdGNo Ci0KLSMgRml4IC1EX0dMSUJDWFhfREVCVUcgZ2RiLWFkZC1pbmRleCByZWdyZXNzaW9uIChSSCBC WiAxNTQwNTU5KS4KLVBhdGNoMTI1OiBnZGItcmhiejE1NDA1NTktZ2RiYWRkaW5kZXgtZ2xpYmNk ZWJ1Zy1yZWdyZXNzaW9uLnBhdGNoCi0KLSMgRml4IHBwYzY0IHN0d3V4IGVuY29kaW5nIGFzIGZv dW5kIGJ5IGdjYy04LjAgLVdlcnJvcj10YXV0b2xvZ2ljYWwtY29tcGFyZS4KLVBhdGNoMTI2OiBn ZGItcHBjNjQtc3R3dXgtdGF1dG9sb2dpY2FsLWNvbXBhcmUucGF0Y2gKK1BhdGNoMTIxOiBnZGIt dmxhLWludGVsLWZpeC1wcmludC1jaGFyLWFycmF5LnBhdGNoCiAKICMgW3MzOTB4XSBCYWNrcG9y dCBhcmNoMTIgaW5zdHJ1Y3Rpb25zIGRlY29kaW5nIChSSCBCWiAxNTUzMTA0KS4KICMgPWZlZG9y YXRlc3QKLVBhdGNoMTI3OiBnZGItcmhiejE1NTMxMDQtczM5MHgtYXJjaDEyLXRlc3QucGF0Y2gK LQotIyBbYWFyY2g2NF0gRml4IG1pc3NlZCB1bmFsaWduZWQgaGFyZHdhcmUgd2F0Y2hwb2ludHMg KFJIIEJaIDEzNDc5OTMpLgotUGF0Y2gxMjg6IGdkYi1yaGJ6MTM0Nzk5My1hYXJjaDY0LWh3LXdh dGNocG9pbnQucGF0Y2gKK1BhdGNoMTIyOiBnZGItcmhiejE1NTMxMDQtczM5MHgtYXJjaDEyLXRl c3QucGF0Y2gKIAoKZGlmZiAtLWdpdCBhL19nZGIuc3BlYy5wYXRjaC5pbmNsdWRlIGIvX2dkYi5z cGVjLnBhdGNoLmluY2x1ZGUKaW5kZXggYWE0ZmIxOS4uMTMxY2Y5MyAxMDA2NDQKLS0tIGEvX2dk Yi5zcGVjLnBhdGNoLmluY2x1ZGUKKysrIGIvX2dkYi5zcGVjLnBhdGNoLmluY2x1ZGUKQEAgLTEy MCw5ICsxMjAsMyBAQAogJXBhdGNoMTIwIC1wMQogJXBhdGNoMTIxIC1wMQogJXBhdGNoMTIyIC1w MQotJXBhdGNoMTIzIC1wMQotJXBhdGNoMTI0IC1wMQotJXBhdGNoMTI1IC1wMQotJXBhdGNoMTI2 IC1wMQotJXBhdGNoMTI3IC1wMQotJXBhdGNoMTI4IC1wMQoKZGlmZiAtLWdpdCBhL19naXRfdXBz dHJlYW1fY29tbWl0IGIvX2dpdF91cHN0cmVhbV9jb21taXQKaW5kZXggYjk4NjNlMC4uZTg1M2Qy NSAxMDA2NDQKLS0tIGEvX2dpdF91cHN0cmVhbV9jb21taXQKKysrIGIvX2dpdF91cHN0cmVhbV9j b21taXQKQEAgLTEgKzEgQEAKLWI3NTVkYjNjOTgxMzdiYWFmZjhhMTU0ZDkzNmQzMjZkOWE5Yzcy YTcKKzc1ZDc0Y2NhY2UwNWY2MTY2YTQ1ZGJhYTM1MmFiZjc1Mzg5MWQzYmUKCmRpZmYgLS1naXQg YS9fcGF0Y2hfb3JkZXIgYi9fcGF0Y2hfb3JkZXIKaW5kZXggODY2YmNjNC4uYWFlYzcwNCAxMDA2 NDQKLS0tIGEvX3BhdGNoX29yZGVyCisrKyBiL19wYXRjaF9vcmRlcgpAQCAtMjcsNyArMjcsNiBA QCBnZGItNi4zLWJ6MTQwNTMyLXBwYy11bndpbmRpbmctdGVzdC5wYXRjaAogZ2RiLTYuMy1iejIw MjY4OS1leGVjLWZyb20tcHRocmVhZC10ZXN0LnBhdGNoCiBnZGItNi42LWJ6MjMwMDAwLXBvd2Vy Ni1kaXNhc3NlbWJseS10ZXN0LnBhdGNoCiBnZGItNi42LWJ6MjI5NTE3LWdjb3JlLXdpdGhvdXQt dGVybWluYWwucGF0Y2gKLWdkYi02LjYtYnoyMzUxOTctZm9yay1kZXRhY2gtaW5mby5wYXRjaAog Z2RiLTYuNi10ZXN0c3VpdGUtdGltZW91dHMucGF0Y2gKIGdkYi02LjYtYnoyMzc1NzItcHBjLWF0 b21pYy1zZXF1ZW5jZS10ZXN0LnBhdGNoCiBnZGItNi42LXNjaGVkdWxlcl9sb2NraW5nLXN0ZXAt aXMtZGVmYXVsdC5wYXRjaApAQCAtNjcsNyArNjYsNiBAQCBnZGItYno2MDE4ODctZHdhcmY0LXJo LXRlc3QucGF0Y2gKIGdkYi02LjYtYnVpbGRpZC1sb2NhdGUtY29yZS1hcy1hcmcucGF0Y2gKIGdk Yi02LjYtYnVpbGRpZC1sb2NhdGUtcnBtLWxpYnJwbS13b3JrYXJvdW5kLnBhdGNoCiBnZGItdGVz dC1idC1jZmktd2l0aG91dC1kaWUucGF0Y2gKLWdkYi1nZGItYWRkLWluZGV4LXNjcmlwdC5wYXRj aAogZ2RiLWJ6NTY4MjQ4LW9vbS1pcy1lcnJvci5wYXRjaAogZ2RiLWJ6NjM0MTA4LXNvbGliX2Fk ZHJlc3MucGF0Y2gKIGdkYi10ZXN0LXBpZDAtY29yZS5wYXRjaApAQCAtMTExLDcgKzEwOSw2IEBA IGdkYi1vcGNvZGVzLWNsZmx1c2hvcHQtdGVzdC5wYXRjaAogZ2RiLWR0cy1yaGVsNi1weXRob24t Y29tcGF0LnBhdGNoCiBnZGItNi42LWJ1aWxkaWQtbG9jYXRlLXJwbS1zY2wucGF0Y2gKIGdkYi1y ZWFkbGluZTYyLWFzay1tb3JlLXJoLnBhdGNoCi1nZGItNi44LWF0dGFjaC1zaWduYWxsZWQtZGV0 YWNoLXN0b3BwZWQucGF0Y2gKIGdkYi02LjgtcXVpdC1uZXZlci1hYm9ydHMucGF0Y2gKIGdkYi1y aGJ6MTI2MTU2NC1hYXJjaDY0LWh3LXdhdGNocG9pbnQtdGVzdC5wYXRjaAogZ2RiLWNvbnRhaW5l ci1yaC1wa2cucGF0Y2gKQEAgLTEyMiw3ICsxMTksNCBAQCBnZGItcmhiejEzOTgzODctdGFiLWNy YXNoLXRlc3QucGF0Y2gKIGdkYi10ZXN0c3VpdGUtcmVhZGxpbmU2My1zaWdpbnQucGF0Y2gKIGdk Yi1hcmNoZXIucGF0Y2gKIGdkYi12bGEtaW50ZWwtZml4LXByaW50LWNoYXItYXJyYXkucGF0Y2gK LWdkYi1yaGJ6MTU0MDU1OS1nZGJhZGRpbmRleC1nbGliY2RlYnVnLXJlZ3Jlc3Npb24ucGF0Y2gK LWdkYi1wcGM2NC1zdHd1eC10YXV0b2xvZ2ljYWwtY29tcGFyZS5wYXRjaAogZ2RiLXJoYnoxNTUz MTA0LXMzOTB4LWFyY2gxMi10ZXN0LnBhdGNoCi1nZGItcmhiejEzNDc5OTMtYWFyY2g2NC1ody13 YXRjaHBvaW50LnBhdGNoCgpkaWZmIC0tZ2l0IGEvZ2RiLTYuMy1nc3RhY2stMjAwNTA0MTEucGF0 Y2ggYi9nZGItNi4zLWdzdGFjay0yMDA1MDQxMS5wYXRjaAppbmRleCA5NWM3MmQ5Li40NDliN2Ri IDEwMDY0NAotLS0gYS9nZGItNi4zLWdzdGFjay0yMDA1MDQxMS5wYXRjaAorKysgYi9nZGItNi4z LWdzdGFjay0yMDA1MDQxMS5wYXRjaApAQCAtMTYsMTAgKzE2LDEwIEBAIEZpbGVOYW1lOiBnZGIt Ni4zLWdzdGFjay0yMDA1MDQxMS5wYXRjaAogCSogZ3N0YWNrLnNoLCBnc3RhY2suMTogTmV3IGZp bGVzLgogCiBkaWZmIC0tZ2l0IGEvZ2RiL01ha2VmaWxlLmluIGIvZ2RiL01ha2VmaWxlLmluCi1p bmRleCAxN2I3MWM2ZTdjLi5lNzdkNmE1YzAzIDEwMDY0NAoraW5kZXggMDlhMmFkMmNhMy4uMWVh N2EzNmM2OSAxMDA2NDQKIC0tLSBhL2dkYi9NYWtlZmlsZS5pbgogKysrIGIvZ2RiL01ha2VmaWxl LmluCi1AQCAtMTc0NCw3ICsxNzQ0LDcgQEAgaW5mbyBpbnN0YWxsLWluZm8gY2xlYW4taW5mbyBk dmkgcGRmIGluc3RhbGwtcGRmIGh0bWwgaW5zdGFsbC1odG1sOiBmb3JjZQorQEAgLTE3MjcsNyAr MTcyNyw3IEBAIGluZm8gaW5zdGFsbC1pbmZvIGNsZWFuLWluZm8gZHZpIHBkZiBpbnN0YWxsLXBk ZiBodG1sIGluc3RhbGwtaHRtbDogZm9yY2UKICBpbnN0YWxsOiBhbGwKICAJQCQoTUFLRSkgJChG TEFHU19UT19QQVNTKSBpbnN0YWxsLW9ubHkKICAKQEAgLTI4LDcgKzI4LDcgQEAgaW5kZXggMTdi NzFjNmU3Yy4uZTc3ZDZhNWMwMyAxMDA2NDQKICAJdHJhbnNmb3JtZWRfbmFtZT1gdD0nJChwcm9n cmFtX3RyYW5zZm9ybV9uYW1lKSc7IFwKICAJCQkgIGVjaG8gZ2RiIHwgc2VkIC1lICIkJHQiYCA7 IFwKICAJCWlmIHRlc3QgIngkJHRyYW5zZm9ybWVkX25hbWUiID0geDsgdGhlbiBcCi1AQCAtMTc4 NCw3ICsxNzg0LDI1IEBAIGluc3RhbGwtZ3VpbGU6CitAQCAtMTc3Niw3ICsxNzc2LDI1IEBAIGlu c3RhbGwtZ3VpbGU6CiAgaW5zdGFsbC1weXRob246CiAgCSQoU0hFTEwpICQoc3JjZGlyKS8uLi9t a2luc3RhbGxkaXJzICQoREVTVERJUikkKEdEQl9EQVRBRElSKS9weXRob24vZ2RiCiAgCkBAIC01 NSw3ICs1NSw3IEBAIGluZGV4IDE3YjcxYzZlN2MuLmU3N2Q2YTVjMDMgMTAwNjQ0CiAgCXRyYW5z Zm9ybWVkX25hbWU9YHQ9JyQocHJvZ3JhbV90cmFuc2Zvcm1fbmFtZSknOyBcCiAgCQkJICBlY2hv IGdkYiB8IHNlZCAtZSAkJHRgIDsgXAogIAkJaWYgdGVzdCAieCQkdHJhbnNmb3JtZWRfbmFtZSIg PSB4OyB0aGVuIFwKLUBAIC0xODA3LDYgKzE4MjUsMTggQEAgdW5pbnN0YWxsOiBmb3JjZSAkKENP TkZJR19VTklOU1RBTEwpCitAQCAtMTc5OSw2ICsxODE3LDE4IEBAIHVuaW5zdGFsbDogZm9yY2Ug JChDT05GSUdfVU5JTlNUQUxMKQogIAlmaQogIAlAJChNQUtFKSBETz11bmluc3RhbGwgIkRPRElS Uz0kKFNVQkRJUlMpIiAkKEZMQUdTX1RPX1BBU1MpIHN1YmRpcl9kbwogIAoKZGlmZiAtLWdpdCBh L2dkYi02LjMtcHBjNjRkaXNwbGF5c3ltYm9sLTIwMDQxMTI0LnBhdGNoIGIvZ2RiLTYuMy1wcGM2 NGRpc3BsYXlzeW1ib2wtMjAwNDExMjQucGF0Y2gKaW5kZXggYjM5ZmI4Yy4uN2U1YTRmZCAxMDA2 NDQKLS0tIGEvZ2RiLTYuMy1wcGM2NGRpc3BsYXlzeW1ib2wtMjAwNDExMjQucGF0Y2gKKysrIGIv Z2RiLTYuMy1wcGM2NGRpc3BsYXlzeW1ib2wtMjAwNDExMjQucGF0Y2gKQEAgLTE1LDEwICsxNSwx MCBAQCBGaWxlTmFtZTogZ2RiLTYuMy1wcGM2NGRpc3BsYXlzeW1ib2wtMjAwNDExMjQucGF0Y2gK IAlhZGRyZXNzLgogCiBkaWZmIC0tZ2l0IGEvZ2RiL3ByaW50Y21kLmMgYi9nZGIvcHJpbnRjbWQu YwotaW5kZXggNjI1NmYzNWJhYS4uYzUyZTM5ZjdmYyAxMDA2NDQKK2luZGV4IDBkZmVhMzQ3NTMu LjgyZmUxZGI5YTcgMTAwNjQ0CiAtLS0gYS9nZGIvcHJpbnRjbWQuYwogKysrIGIvZ2RiL3ByaW50 Y21kLmMKLUBAIC02MDIsNiArNjAyLDE0IEBAIGJ1aWxkX2FkZHJlc3Nfc3ltYm9saWMgKHN0cnVj dCBnZGJhcmNoICpnZGJhcmNoLAorQEAgLTYwMCw2ICs2MDAsMTQgQEAgYnVpbGRfYWRkcmVzc19z eW1ib2xpYyAoc3RydWN0IGdkYmFyY2ggKmdkYmFyY2gsCiAgCSAgYWRkciA9IG92ZXJsYXlfbWFw cGVkX2FkZHJlc3MgKGFkZHIsIHNlY3Rpb24pOwogIAl9CiAgICAgIH0KCmRpZmYgLS1naXQgYS9n ZGItNi4zLXBwYzY0c3lzY2FsbC0yMDA0MDYyMi5wYXRjaCBiL2dkYi02LjMtcHBjNjRzeXNjYWxs LTIwMDQwNjIyLnBhdGNoCmluZGV4IDhmZWFhMGMuLjFiZGM0YjggMTAwNjQ0Ci0tLSBhL2dkYi02 LjMtcHBjNjRzeXNjYWxsLTIwMDQwNjIyLnBhdGNoCisrKyBiL2dkYi02LjMtcHBjNjRzeXNjYWxs LTIwMDQwNjIyLnBhdGNoCkBAIC0xNyw3ICsxNyw3IEBAIEZpbGVOYW1lOiBnZGItNi4zLXBwYzY0 c3lzY2FsbC0yMDA0MDYyMi5wYXRjaAogCSJmdW5jX3N0YXJ0Ii4KIAogZGlmZiAtLWdpdCBhL2dk Yi9yczYwMDAtdGRlcC5jIGIvZ2RiL3JzNjAwMC10ZGVwLmMKLWluZGV4IGU1YTI2NWRiY2IuLjIz ZDBkYjNiOGYgMTAwNjQ0CitpbmRleCBjNWI0OWM1ZjQ2Li40ZDFhMjQxY2RmIDEwMDY0NAogLS0t IGEvZ2RiL3JzNjAwMC10ZGVwLmMKICsrKyBiL2dkYi9yczYwMDAtdGRlcC5jCiBAQCAtMTM0LDYg KzEzNCw3IEBAIHN0YXRpYyBjb25zdCBjaGFyICpwb3dlcnBjX3ZlY3Rvcl9hYmlfc3RyaW5nID0g ImF1dG8iOwpAQCAtMjgsNyArMjgsNyBAQCBpbmRleCBlNWEyNjVkYmNiLi4yM2QwZGIzYjhmIDEw MDY0NAogICAgICBpbnQgb2Zmc2V0OwkJCS8qIHRvdGFsIHNpemUgb2YgZnJhbWUgLS0tIHRoZSBk aXN0YW5jZQogIAkJCQkgICBieSB3aGljaCB3ZSBkZWNyZW1lbnQgc3AgdG8gYWxsb2NhdGUKICAJ CQkJICAgdGhlIGZyYW1lICovCi1AQCAtMTU3Nyw3ICsxNTc4LDYgQEAgc3RhdGljIENPUkVfQURE UgorQEAgLTE2MTAsNyArMTYxMSw2IEBAIHN0YXRpYyBDT1JFX0FERFIKICBza2lwX3Byb2xvZ3Vl IChzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCwgQ09SRV9BRERSIHBjLCBDT1JFX0FERFIgbGltX3Bj LAogIAkgICAgICAgc3RydWN0IHJzNjAwMF9mcmFtZWRhdGEgKmZkYXRhKQogIHsKQEAgLTM2LDcg KzM2LDcgQEAgaW5kZXggZTVhMjY1ZGJjYi4uMjNkMGRiM2I4ZiAxMDA2NDQKICAgIENPUkVfQURE UiBsYXN0X3Byb2xvZ3VlX3BjID0gcGM7CiAgICBDT1JFX0FERFIgbGlfZm91bmRfcGMgPSAwOwog ICAgZ2RiX2J5dGUgYnVmWzRdOwotQEAgLTE1OTUsMTIgKzE1OTUsMTQgQEAgc2tpcF9wcm9sb2d1 ZSAoc3RydWN0IGdkYmFyY2ggKmdkYmFyY2gsIENPUkVfQUREUiBwYywgQ09SRV9BRERSIGxpbV9w YywKK0BAIC0xNjI5LDEyICsxNjI5LDE0IEBAIHNraXBfcHJvbG9ndWUgKHN0cnVjdCBnZGJhcmNo ICpnZGJhcmNoLCBDT1JFX0FERFIgcGMsIENPUkVfQUREUiBsaW1fcGMsCiAgICBpbnQgbWluaW1h bF90b2NfbG9hZGVkID0gMDsKICAgIGludCBwcmV2X2luc25fd2FzX3Byb2xvZ3VlX2luc24gPSAx OwogICAgaW50IG51bV9za2lwX25vbl9wcm9sb2d1ZV9pbnNucyA9IDA7CkBAIC01MSw3ICs1MSw3 IEBAIGluZGV4IGU1YTI2NWRiY2IuLjIzZDBkYjNiOGYgMTAwNjQ0CiAgICBmZGF0YS0+c2F2ZWRf Z3ByID0gLTE7CiAgICBmZGF0YS0+c2F2ZWRfZnByID0gLTE7CiAgICBmZGF0YS0+c2F2ZWRfdnIg PSAtMTsKLUBAIC0xNjM0LDYgKzE2MzYsNTUgQEAgc2tpcF9wcm9sb2d1ZSAoc3RydWN0IGdkYmFy Y2ggKmdkYmFyY2gsIENPUkVfQUREUiBwYywgQ09SRV9BRERSIGxpbV9wYywKK0BAIC0xNjY4LDYg KzE2NzAsNTUgQEAgc2tpcF9wcm9sb2d1ZSAoc3RydWN0IGdkYmFyY2ggKmdkYmFyY2gsIENPUkVf QUREUiBwYywgQ09SRV9BRERSIGxpbV9wYywKICAJYnJlYWs7CiAgICAgICAgb3AgPSBleHRyYWN0 X3Vuc2lnbmVkX2ludGVnZXIgKGJ1ZiwgNCwgYnl0ZV9vcmRlcik7CiAgCkBAIC0xMDcsNyArMTA3 LDcgQEAgaW5kZXggZTVhMjY1ZGJjYi4uMjNkMGRiM2I4ZiAxMDA2NDQKICAgICAgICBpZiAoKG9w ICYgMHhmYzFmZmZmZikgPT0gMHg3YzA4MDJhNikKICAJewkJCS8qIG1mbHIgUnggKi8KICAJICAv KiBTaW5jZSBzaGFyZWQgbGlicmFyeSAvIFBJQyBjb2RlLCB3aGljaCBuZWVkcyB0byBnZXQgaXRz Ci1AQCAtMTgyNSw5ICsxODc2LDkgQEAgc2tpcF9wcm9sb2d1ZSAoc3RydWN0IGdkYmFyY2ggKmdk YmFyY2gsIENPUkVfQUREUiBwYywgQ09SRV9BRERSIGxpbV9wYywKK0BAIC0xODU3LDkgKzE5MDgs OSBAQCBza2lwX3Byb2xvZ3VlIChzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCwgQ09SRV9BRERSIHBj LCBDT1JFX0FERFIgbGltX3BjLAogIAkgICAgIHdlIGhhdmUgbm8gbGluZSB0YWJsZSBpbmZvcm1h dGlvbiBvciB0aGUgbGluZSBpbmZvIHRlbGxzCiAgCSAgICAgdXMgdGhhdCB0aGUgc3Vicm91dGlu ZSBjYWxsIGlzIG5vdCBwYXJ0IG9mIHRoZSBsaW5lCiAgCSAgICAgYXNzb2NpYXRlZCB3aXRoIHRo ZSBwcm9sb2d1ZS4gICovCgpkaWZmIC0tZ2l0IGEvZ2RiLTYuMy1yZWFkbmV2ZXItMjAwNTA5MDcu cGF0Y2ggYi9nZGItNi4zLXJlYWRuZXZlci0yMDA1MDkwNy5wYXRjaAppbmRleCAzZDNhOTlmLi5i YjdjNDA4IDEwMDY0NAotLS0gYS9nZGItNi4zLXJlYWRuZXZlci0yMDA1MDkwNy5wYXRjaAorKysg Yi9nZGItNi4zLXJlYWRuZXZlci0yMDA1MDkwNy5wYXRjaApAQCAtMjQsMTUgKzI0LDE1IEBAIEZp bGVOYW1lOiBnZGItNi4zLXJlYWRuZXZlci0yMDA1MDkwNy5wYXRjaAogUHVzaGVkIHVwc3RyZWFt OiBodHRwczovL3NvdXJjZXdhcmUub3JnL21sL2dkYi1jdnMvMjAxNy0xMi9tc2cwMDAwNy5odG1s CiAKIGRpZmYgLS1naXQgYS9nZGIvZ2NvcmUuaW4gYi9nZGIvZ2NvcmUuaW4KLWluZGV4IGI3ZjU3 Y2QzNDEuLmM3ZTBkZWM1NzQgMTAwNjQ0CitpbmRleCAyMzNjMDBkMzY2Li4wMDllNDE4MWRkIDEw MDY0NAogLS0tIGEvZ2RiL2djb3JlLmluCiArKysgYi9nZGIvZ2NvcmUuaW4KLUBAIC05Nyw3ICs5 Nyw3IEBAIGZvciBwaWQgaW4gJCoKK0BAIC05Nyw3ICs5Nyw3IEBAIGZvciBwaWQgaW4gIiRAIgog IGRvCiAgCSMgYDwvZGV2L251bGwnIHRvIGF2b2lkIHRvdWNoaW5nIGludGVyYWN0aXZlIHRlcm1p bmFsIGlmIGl0IGlzCiAgCSMgYXZhaWxhYmxlIGJ1dCBub3QgYWNjZXNzaWJsZSBhcyBHREIgd291 bGQgZ2V0IHN0b3BwZWQgb24gU0lHVFRJTi4KLS0JJGJpbmFyeV9wYXRoL0BHREJfVFJBTlNGT1JN X05BTUVAIDwvZGV2L251bGwgLS1ueCAtLWJhdGNoIFwKLSsJJGJpbmFyeV9wYXRoL0BHREJfVFJB TlNGT1JNX05BTUVAIDwvZGV2L251bGwgLS1ueCAtLWJhdGNoIC0tcmVhZG5ldmVyIFwKKy0JIiRi aW5hcnlfcGF0aC9AR0RCX1RSQU5TRk9STV9OQU1FQCIgPC9kZXYvbnVsbCAtLW54IC0tYmF0Y2gg XAorKwkiJGJpbmFyeV9wYXRoL0BHREJfVFJBTlNGT1JNX05BTUVAIiA8L2Rldi9udWxsIC0tbngg LS1iYXRjaCAtLXJlYWRuZXZlciBcCiAgCSAgICAtZXggInNldCBwYWdpbmF0aW9uIG9mZiIgLWV4 ICJzZXQgaGVpZ2h0IDAiIC1leCAic2V0IHdpZHRoIDAiIFwKICAJICAgICIke2R1bXBfYWxsX2Nt ZHNbQF19IiBcCiAgCSAgICAtZXggImF0dGFjaCAkcGlkIiAtZXggImdjb3JlICRuYW1lLiRwaWQi IC1leCBkZXRhY2ggLWV4IHF1aXQKCmRpZmYgLS1naXQgYS9nZGItNi4zLXRlc3Qtc2VsZi0yMDA1 MDExMC5wYXRjaCBiL2dkYi02LjMtdGVzdC1zZWxmLTIwMDUwMTEwLnBhdGNoCmluZGV4IDQxZGZm NDAuLjg4MTdiYjkgMTAwNjQ0Ci0tLSBhL2dkYi02LjMtdGVzdC1zZWxmLTIwMDUwMTEwLnBhdGNo CisrKyBiL2dkYi02LjMtdGVzdC1zZWxmLTIwMDUwMTEwLnBhdGNoCkBAIC0xNyw3ICsxNyw3IEBA IEZpbGVOYW1lOiBnZGItNi4zLXRlc3Qtc2VsZi0yMDA1MDExMC5wYXRjaAogICAgICAgICAqIGdk Yi5nZGIvb2JzZXJ2ZXIuZXhwOiBEaXR0by4KIAogZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUv bGliL3NlbGZ0ZXN0LXN1cHBvcnQuZXhwIGIvZ2RiL3Rlc3RzdWl0ZS9saWIvc2VsZnRlc3Qtc3Vw cG9ydC5leHAKLWluZGV4IDg5ZTJlM2Y0ZWYuLmVhMDI3YTZmN2QgMTAwNjQ0CitpbmRleCBmNzE2 OWUwOTU1Li4zYzA2MTU0MTkyIDEwMDY0NAogLS0tIGEvZ2RiL3Rlc3RzdWl0ZS9saWIvc2VsZnRl c3Qtc3VwcG9ydC5leHAKICsrKyBiL2dkYi90ZXN0c3VpdGUvbGliL3NlbGZ0ZXN0LXN1cHBvcnQu ZXhwCiBAQCAtMTU2LDE4ICsxNTYsMTggQEAgcHJvYyBkb19zZWxmX3Rlc3RzIHtmdW5jdGlvbiBi b2R5fSB7CgpkaWZmIC0tZ2l0IGEvZ2RiLTYuNS1iejEwOTkyMS1EV19BVF9kZWNsX2ZpbGUtdGVz dC5wYXRjaCBiL2dkYi02LjUtYnoxMDk5MjEtRFdfQVRfZGVjbF9maWxlLXRlc3QucGF0Y2gKaW5k ZXggM2QzYTU1Zi4uZWJhMWY5NiAxMDA2NDQKLS0tIGEvZ2RiLTYuNS1iejEwOTkyMS1EV19BVF9k ZWNsX2ZpbGUtdGVzdC5wYXRjaAorKysgYi9nZGItNi41LWJ6MTA5OTIxLURXX0FUX2RlY2xfZmls ZS10ZXN0LnBhdGNoCkBAIC0xMDgsNyArMTA4LDcgQEAgbmV3IGZpbGUgbW9kZSAxMDA2NDQKICtn ZGJfdGVzdCAibGlzdCBpbnRlZ2VyIiAiaW50IGludGVnZXI7XHIiCiArZ2RiX3Rlc3QgInB0eXBl IGludGVnZXIiICJ0eXBlID0gaW50XHIiCiArIyBQYXRoIHZhcmllcyBkZXBlbmRpbmcgb24gdGhl IGJ1aWxkIGxvY2F0aW9uLgotK2dkYl90ZXN0ICJpbmZvIHZhcmlhYmxlcyBpbnRlZ2VyIiAiXHJc bkZpbGUgXFteXHJcblxdKi9nZGIuZHdhcmYyL2R3Mi1pbmNsdWRlZC5oOlxyXG5pbnQgaW50ZWdl cjtcciIKKytnZGJfdGVzdCAiaW5mbyB2YXJpYWJsZXMgaW50ZWdlciIgIlxyXG5GaWxlIFxbXlxy XG5cXSovZ2RiLmR3YXJmMi9kdzItaW5jbHVkZWQuaDpcclxuJHtkZWNpbWFsfTouKmludCBpbnRl Z2VyO1xyIgogZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2RiLmR3YXJmMi9kdzItaW5jbHVk ZWQuaCBiL2dkYi90ZXN0c3VpdGUvZ2RiLmR3YXJmMi9kdzItaW5jbHVkZWQuaAogbmV3IGZpbGUg bW9kZSAxMDA2NDQKIC0tLSAvZGV2L251bGwKCmRpZmYgLS1naXQgYS9nZGItNi41LWJ6MTg1MzM3 LXJlc29sdmUtdGxzLXdpdGhvdXQtZGVidWdpbmZvLXYyLnBhdGNoIGIvZ2RiLTYuNS1iejE4NTMz Ny1yZXNvbHZlLXRscy13aXRob3V0LWRlYnVnaW5mby12Mi5wYXRjaAppbmRleCA4OTQxZGFiLi45 MDI3ZDVlIDEwMDY0NAotLS0gYS9nZGItNi41LWJ6MTg1MzM3LXJlc29sdmUtdGxzLXdpdGhvdXQt ZGVidWdpbmZvLXYyLnBhdGNoCisrKyBiL2dkYi02LjUtYnoxODUzMzctcmVzb2x2ZS10bHMtd2l0 aG91dC1kZWJ1Z2luZm8tdjIucGF0Y2gKQEAgLTQ0LDEwICs0NCwxMCBAQCBnbGliYy1kZWJ1Z2lu Zm8tMi43LTIueDg2XzY0OiAvdXNyL2xpYi9kZWJ1Zy9saWI2NC9saWJjLnNvLjYuZGVidWc6CiAg IDw4MWE4PiAgICAgRFdfQVRfTUlQU19saW5rYWdlX25hbWU6IChpbmRpcmVjdCBzdHJpbmcsIG9m ZnNldDogMHgyODA4KTogKl9fR0lfX19lcnJub19sb2NhdGlvbgogCiBkaWZmIC0tZ2l0IGEvZ2Ri L3ByaW50Y21kLmMgYi9nZGIvcHJpbnRjbWQuYwotaW5kZXggYzUyZTM5ZjdmYy4uYWQ4MGIxYmVi ZiAxMDA2NDQKK2luZGV4IDgyZmUxZGI5YTcuLmM5MjEwMjJhNTkgMTAwNjQ0CiAtLS0gYS9nZGIv cHJpbnRjbWQuYwogKysrIGIvZ2RiL3ByaW50Y21kLmMKLUBAIC0xMjEwLDYgKzEyMTAsMTAgQEAg cHJpbnRfY29tbWFuZF8xIChjb25zdCBjaGFyICpleHAsIGludCB2b2lkcHJpbnQpCitAQCAtMTIw Myw2ICsxMjAzLDEwIEBAIHByaW50X2NvbW1hbmRfMSAoY29uc3QgY2hhciAqZXhwLCBpbnQgdm9p ZHByaW50KQogIAogICAgaWYgKGV4cCAmJiAqZXhwKQogICAgICB7CgpkaWZmIC0tZ2l0IGEvZ2Ri LTYuNS1iejIwMzY2MS1lbWl0LXJlbG9jcy5wYXRjaCBiL2dkYi02LjUtYnoyMDM2NjEtZW1pdC1y ZWxvY3MucGF0Y2gKaW5kZXggZGYwMjQwMS4uZGQyZGI1MiAxMDA2NDQKLS0tIGEvZ2RiLTYuNS1i ejIwMzY2MS1lbWl0LXJlbG9jcy5wYXRjaAorKysgYi9nZGItNi41LWJ6MjAzNjYxLWVtaXQtcmVs b2NzLnBhdGNoCkBAIC05LDEwICs5LDEwIEBAIEZpbGVOYW1lOiBnZGItNi41LWJ6MjAzNjYxLWVt aXQtcmVsb2NzLnBhdGNoCiA7Oz1wdXNoK2phbjogVGhlcmUgd2FzIHNvbWUgbWFpbCB0aHJlYWQg YWJvdXQgaXQsIHRoaXMgcGF0Y2ggbWF5IGJlIGEgaGFjay4KIAogZGlmZiAtLWdpdCBhL2dkYi9z eW1maWxlLmMgYi9nZGIvc3ltZmlsZS5jCi1pbmRleCBmN2Y3NWIwNWQzLi43Y2RhNjE1ZTc0IDEw MDY0NAoraW5kZXggN2JjMDNmYmI4Zi4uNjYxMTI1ZGVjNSAxMDA2NDQKIC0tLSBhL2dkYi9zeW1m aWxlLmMKICsrKyBiL2dkYi9zeW1maWxlLmMKLUBAIC0zNjI5LDYgKzM2MjksMTIgQEAgZGVmYXVs dF9zeW1maWxlX3JlbG9jYXRlIChzdHJ1Y3Qgb2JqZmlsZSAqb2JqZmlsZSwgYXNlY3Rpb24gKnNl Y3RwLAorQEAgLTM0OTIsNiArMzQ5MiwxMiBAQCBkZWZhdWx0X3N5bWZpbGVfcmVsb2NhdGUgKHN0 cnVjdCBvYmpmaWxlICpvYmpmaWxlLCBhc2VjdGlvbiAqc2VjdHAsCiAgICAgICBEV08gZmlsZS4g ICovCiAgICBiZmQgKmFiZmQgPSBzZWN0cC0+b3duZXI7CiAgCgpkaWZmIC0tZ2l0IGEvZ2RiLTYu NS1iejIxNjcxMS1jbG9uZS1pcy1vdXRlcm1vc3QucGF0Y2ggYi9nZGItNi41LWJ6MjE2NzExLWNs b25lLWlzLW91dGVybW9zdC5wYXRjaAppbmRleCBmMjM4MDIyLi5kOThjZGNiIDEwMDY0NAotLS0g YS9nZGItNi41LWJ6MjE2NzExLWNsb25lLWlzLW91dGVybW9zdC5wYXRjaAorKysgYi9nZGItNi41 LWJ6MjE2NzExLWNsb25lLWlzLW91dGVybW9zdC5wYXRjaApAQCAtMTI4LDEwICsxMjgsMTAgQEAg aW5kZXggMmJkM2QzMWI3NS4uMjYyM2JhZTQyZCAxMDA2NDQKICAgIHNldF9nZGJhcmNoX3dyaXRl X3BjIChnZGJhcmNoLCBhbWQ2NF9saW51eF93cml0ZV9wYyk7CiAgCiBkaWZmIC0tZ2l0IGEvZ2Ri L2FtZDY0LXRkZXAuYyBiL2dkYi9hbWQ2NC10ZGVwLmMKLWluZGV4IDdiMjg1MWYwYTYuLjdjNzA3 OTJiM2YgMTAwNjQ0CitpbmRleCBkNTU1NDY1YzJmLi4xODY2OTBhZjMwIDEwMDY0NAogLS0tIGEv Z2RiL2FtZDY0LXRkZXAuYwogKysrIGIvZ2RiL2FtZDY0LXRkZXAuYwotQEAgLTI1OTUsNiArMjU5 NSw3IEBAIGFtZDY0X2ZyYW1lX3Vud2luZF9zdG9wX3JlYXNvbiAoc3RydWN0IGZyYW1lX2luZm8g KnRoaXNfZnJhbWUsCitAQCAtMjU5Nyw2ICsyNTk3LDcgQEAgYW1kNjRfZnJhbWVfdW53aW5kX3N0 b3BfcmVhc29uIChzdHJ1Y3QgZnJhbWVfaW5mbyAqdGhpc19mcmFtZSwKICB7CiAgICBzdHJ1Y3Qg YW1kNjRfZnJhbWVfY2FjaGUgKmNhY2hlID0KICAgICAgYW1kNjRfZnJhbWVfY2FjaGUgKHRoaXNf ZnJhbWUsIHRoaXNfY2FjaGUpOwpAQCAtMTM5LDcgKzEzOSw3IEBAIGluZGV4IDdiMjg1MWYwYTYu LjdjNzA3OTJiM2YgMTAwNjQ0CiAgCiAgICBpZiAoIWNhY2hlLT5iYXNlX3ApCiAgICAgIHJldHVy biBVTldJTkRfVU5BVkFJTEFCTEU7Ci1AQCAtMjYwMyw2ICsyNjA0LDEwIEBAIGFtZDY0X2ZyYW1l X3Vud2luZF9zdG9wX3JlYXNvbiAoc3RydWN0IGZyYW1lX2luZm8gKnRoaXNfZnJhbWUsCitAQCAt MjYwNSw2ICsyNjA2LDEwIEBAIGFtZDY0X2ZyYW1lX3Vud2luZF9zdG9wX3JlYXNvbiAoc3RydWN0 IGZyYW1lX2luZm8gKnRoaXNfZnJhbWUsCiAgICBpZiAoY2FjaGUtPmJhc2UgPT0gMCkKICAgICAg cmV0dXJuIFVOV0lORF9PVVRFUk1PU1Q7CiAgCkBAIC0xNTAsNyArMTUwLDcgQEAgaW5kZXggN2Iy ODUxZjBhNi4uN2M3MDc5MmIzZiAxMDA2NDQKICAgIHJldHVybiBVTldJTkRfTk9fUkVBU09OOwog IH0KICAKLUBAIC0yNzM3LDYgKzI3NDIsNyBAQCBhbWQ2NF9zaWd0cmFtcF9mcmFtZV90aGlzX2lk IChzdHJ1Y3QgZnJhbWVfaW5mbyAqdGhpc19mcmFtZSwKK0BAIC0yNzM5LDYgKzI3NDQsNyBAQCBh bWQ2NF9zaWd0cmFtcF9mcmFtZV90aGlzX2lkIChzdHJ1Y3QgZnJhbWVfaW5mbyAqdGhpc19mcmFt ZSwKICB7CiAgICBzdHJ1Y3QgYW1kNjRfZnJhbWVfY2FjaGUgKmNhY2hlID0KICAgICAgYW1kNjRf c2lndHJhbXBfZnJhbWVfY2FjaGUgKHRoaXNfZnJhbWUsIHRoaXNfY2FjaGUpOwpAQCAtMTU4LDcg KzE1OCw3IEBAIGluZGV4IDdiMjg1MWYwYTYuLjdjNzA3OTJiM2YgMTAwNjQ0CiAgCiAgICBpZiAo IWNhY2hlLT5iYXNlX3ApCiAgICAgICgqdGhpc19pZCkgPSBmcmFtZV9pZF9idWlsZF91bmF2YWls YWJsZV9zdGFjayAoZ2V0X2ZyYW1lX3BjICh0aGlzX2ZyYW1lKSk7Ci1AQCAtMjc0NSw2ICsyNzUx LDExIEBAIGFtZDY0X3NpZ3RyYW1wX2ZyYW1lX3RoaXNfaWQgKHN0cnVjdCBmcmFtZV9pbmZvICp0 aGlzX2ZyYW1lLAorQEAgLTI3NDcsNiArMjc1MywxMSBAQCBhbWQ2NF9zaWd0cmFtcF9mcmFtZV90 aGlzX2lkIChzdHJ1Y3QgZnJhbWVfaW5mbyAqdGhpc19mcmFtZSwKICAgICAgICAvKiBUaGlzIG1h cmtzIHRoZSBvdXRlcm1vc3QgZnJhbWUuICAqLwogICAgICAgIHJldHVybjsKICAgICAgfQpAQCAt MTcxLDEwICsxNzEsMTAgQEAgaW5kZXggN2IyODUxZjBhNi4uN2M3MDc5MmIzZiAxMDA2NDQKICAg ICAgKCp0aGlzX2lkKSA9IGZyYW1lX2lkX2J1aWxkIChjYWNoZS0+YmFzZSArIDE2LCBnZXRfZnJh bWVfcGMgKHRoaXNfZnJhbWUpKTsKICB9CiBkaWZmIC0tZ2l0IGEvZ2RiL2kzODYtdGRlcC5jIGIv Z2RiL2kzODYtdGRlcC5jCi1pbmRleCA5Y2UzMjllYjIwLi5kMWI0NjFiNTM4IDEwMDY0NAoraW5k ZXggNjQ2ZjMwNWVkYy4uYTBlODcyYzAxZiAxMDA2NDQKIC0tLSBhL2dkYi9pMzg2LXRkZXAuYwog KysrIGIvZ2RiL2kzODYtdGRlcC5jCi1AQCAtODQwMSw2ICs4NDAxLDkgQEAgaTM4Nl9nZGJhcmNo X2luaXQgKHN0cnVjdCBnZGJhcmNoX2luZm8gaW5mbywgc3RydWN0IGdkYmFyY2hfbGlzdCAqYXJj aGVzKQorQEAgLTg0MjgsNiArODQyOCw5IEBAIGkzODZfZ2RiYXJjaF9pbml0IChzdHJ1Y3QgZ2Ri YXJjaF9pbmZvIGluZm8sIHN0cnVjdCBnZGJhcmNoX2xpc3QgKmFyY2hlcykKICAKICAgIHRkZXAt PnhzYXZlX3hjcjBfb2Zmc2V0ID0gLTE7CiAgCkBAIC0xODMsOSArMTgzLDkgQEAgaW5kZXggOWNl MzI5ZWIyMC4uZDFiNDYxYjUzOCAxMDA2NDQKICsKICAgIHRkZXAtPnJlY29yZF9yZWdtYXAgPSBp Mzg2X3JlY29yZF9yZWdtYXA7CiAgCi0gICBzZXRfZ2RiYXJjaF9sb25nX2xvbmdfYWxpZ25fYml0 IChnZGJhcmNoLCAzMik7CisgICBzZXRfZ2RiYXJjaF90eXBlX2FsaWduIChnZGJhcmNoLCBpMzg2 X3R5cGVfYWxpZ24pOwogZGlmZiAtLWdpdCBhL2dkYi9pMzg2LXRkZXAuaCBiL2dkYi9pMzg2LXRk ZXAuaAotaW5kZXggYTcxYzEwM2E4OC4uNWVlMzM2YjhjYiAxMDA2NDQKK2luZGV4IDgxYTkzZjEx YWYuLjQ2MWFlMDYyNTggMTAwNjQ0CiAtLS0gYS9nZGIvaTM4Ni10ZGVwLmgKICsrKyBiL2dkYi9p Mzg2LXRkZXAuaAogQEAgLTI1MSw2ICsyNTEsOSBAQCBzdHJ1Y3QgZ2RiYXJjaF90ZGVwCgpkaWZm IC0tZ2l0IGEvZ2RiLTYuNS1iejIxODM3OS1zb2xpYi10cmFtcG9saW5lLWxvb2t1cC1sb2NrLWZp eC5wYXRjaCBiL2dkYi02LjUtYnoyMTgzNzktc29saWItdHJhbXBvbGluZS1sb29rdXAtbG9jay1m aXgucGF0Y2gKaW5kZXggNzVlYWM3YS4uZmM1Y2E5YSAxMDA2NDQKLS0tIGEvZ2RiLTYuNS1iejIx ODM3OS1zb2xpYi10cmFtcG9saW5lLWxvb2t1cC1sb2NrLWZpeC5wYXRjaAorKysgYi9nZGItNi41 LWJ6MjE4Mzc5LXNvbGliLXRyYW1wb2xpbmUtbG9va3VwLWxvY2stZml4LnBhdGNoCkBAIC0xMSwx MCArMTEsMTAgQEAgRmlsZU5hbWU6IGdkYi02LjUtYnoyMTgzNzktc29saWItdHJhbXBvbGluZS1s b29rdXAtbG9jay1maXgucGF0Y2gKIGh0dHBzOi8vYnVnemlsbGEucmVkaGF0LmNvbS9idWd6aWxs YS9zaG93X2J1Zy5jZ2k/aWQ9MjE4Mzc5CiAKIGRpZmYgLS1naXQgYS9nZGIvc3ltdGFiLmMgYi9n ZGIvc3ltdGFiLmMKLWluZGV4IDgxZjRmYzllYzUuLmE3ZTg0MzFjZmUgMTAwNjQ0CitpbmRleCBl MWYwMzNkMWQ4Li4xZDllMGI5MTgwIDEwMDY0NAogLS0tIGEvZ2RiL3N5bXRhYi5jCiArKysgYi9n ZGIvc3ltdGFiLmMKLUBAIC0zMTY2LDYgKzMxNjYsMTMgQEAgZmluZF9wY19zZWN0X2xpbmUgKENP UkVfQUREUiBwYywgc3RydWN0IG9ial9zZWN0aW9uICpzZWN0aW9uLCBpbnQgbm90Y3VycmVudCkK K0BAIC0zMTY1LDYgKzMxNjUsMTMgQEAgZmluZF9wY19zZWN0X2xpbmUgKENPUkVfQUREUiBwYywg c3RydWN0IG9ial9zZWN0aW9uICpzZWN0aW9uLCBpbnQgbm90Y3VycmVudCkKICAJICAgICBTWU1C T0xfTElOS0FHRV9OQU1FIChtc3ltYm9sKSk7ICovCiAgCSAgOwogIAkvKiBmYWxsIHRocm91Z2gg Ki8KCmRpZmYgLS1naXQgYS9nZGItNi42LWJ1aWxkaWQtbG9jYXRlLWNvcmUtYXMtYXJnLnBhdGNo IGIvZ2RiLTYuNi1idWlsZGlkLWxvY2F0ZS1jb3JlLWFzLWFyZy5wYXRjaAppbmRleCA3ZTExMjc5 Li5iOWM4Nzg4IDEwMDY0NAotLS0gYS9nZGItNi42LWJ1aWxkaWQtbG9jYXRlLWNvcmUtYXMtYXJn LnBhdGNoCisrKyBiL2dkYi02LjYtYnVpbGRpZC1sb2NhdGUtY29yZS1hcy1hcmcucGF0Y2gKQEAg LTc4LDE4ICs3OCwxOCBAQCBpbmRleCAxNWM4NWUyOGFiLi45ZmUyMzc1YmNlIDEwMDY0NAogICAg TlJfRVJST1JTCiAgfTsKIGRpZmYgLS1naXQgYS9nZGIvZXhlYy5jIGIvZ2RiL2V4ZWMuYwotaW5k ZXggYzhjMzJlY2MyNy4uYjMyOWUyYjgzNCAxMDA2NDQKK2luZGV4IDMwMjNmZjdlNWEuLjgzMDhl YzNkNmYgMTAwNjQ0CiAtLS0gYS9nZGIvZXhlYy5jCiArKysgYi9nZGIvZXhlYy5jCi1AQCAtMzUs NiArMzUsNyBAQAotICNpbmNsdWRlICJwcm9nc3BhY2UuaCIKK0BAIC0zNiw2ICszNiw3IEBACiAg I2luY2x1ZGUgImdkYl9iZmQuaCIKICAjaW5jbHVkZSAiZ2NvcmUuaCIKKyAjaW5jbHVkZSAic291 cmNlLmgiCiArI2luY2x1ZGUgImV4Y2VwdGlvbnMuaCIKICAKICAjaW5jbHVkZSA8ZmNudGwuaD4K ICAjaW5jbHVkZSAicmVhZGxpbmUvcmVhZGxpbmUuaCIKLUBAIC0zNDYsMTIgKzM0NywyNyBAQCBl eGVjX2ZpbGVfYXR0YWNoIChjb25zdCBjaGFyICpmaWxlbmFtZSwgaW50IGZyb21fdHR5KQorQEAg LTM1NywxMiArMzU4LDI3IEBAIGV4ZWNfZmlsZV9hdHRhY2ggKGNvbnN0IGNoYXIgKmZpbGVuYW1l LCBpbnQgZnJvbV90dHkpCiAgCiAgICAgICAgaWYgKCFiZmRfY2hlY2tfZm9ybWF0X21hdGNoZXMg KGV4ZWNfYmZkLCBiZmRfb2JqZWN0LCAmbWF0Y2hpbmcpKQogIAl7CkBAIC0xMjEsMTAgKzEyMSwx MCBAQCBpbmRleCBjOGMzMmVjYzI3Li5iMzI5ZTJiODM0IDEwMDY0NAogIAogICAgICAgIGlmIChi dWlsZF9zZWN0aW9uX3RhYmxlIChleGVjX2JmZCwgJnNlY3Rpb25zLCAmc2VjdGlvbnNfZW5kKSkK IGRpZmYgLS1naXQgYS9nZGIvbWFpbi5jIGIvZ2RiL21haW4uYwotaW5kZXggM2M5ODc4N2VkYi4u MTdkMzVmNGE4YSAxMDA2NDQKK2luZGV4IDE4OTI2NmY5MGUuLjRjYWVmZTIwMTEgMTAwNjQ0CiAt LS0gYS9nZGIvbWFpbi5jCiArKysgYi9nZGIvbWFpbi5jCi1AQCAtNDQ2LDYgKzQ0NiwzNyBAQCBz dHJ1Y3QgY21kYXJnCitAQCAtNDQ3LDYgKzQ0NywzNyBAQCBzdHJ1Y3QgY21kYXJnCiAgICBjaGFy ICpzdHJpbmc7CiAgfTsKICAKQEAgLTE2Miw3ICsxNjIsNyBAQCBpbmRleCAzYzk4Nzg3ZWRiLi4x N2QzNWY0YThhIDEwMDY0NAogIHN0YXRpYyB2b2lkCiAgY2FwdHVyZWRfbWFpbl8xIChzdHJ1Y3Qg Y2FwdHVyZWRfbWFpbl9hcmdzICpjb250ZXh0KQogIHsKLUBAIC04ODIsNiArOTEzLDggQEAgY2Fw dHVyZWRfbWFpbl8xIChzdHJ1Y3QgY2FwdHVyZWRfbWFpbl9hcmdzICpjb250ZXh0KQorQEAgLTg4 Myw2ICs5MTQsOCBAQCBjYXB0dXJlZF9tYWluXzEgKHN0cnVjdCBjYXB0dXJlZF9tYWluX2FyZ3Mg KmNvbnRleHQpCiAgCXsKICAJICBzeW1hcmcgPSBhcmd2W29wdGluZF07CiAgCSAgZXhlY2FyZyA9 IGFyZ3Zbb3B0aW5kXTsKQEAgLTE3MSw3ICsxNzEsNyBAQCBpbmRleCAzYzk4Nzg3ZWRiLi4xN2Qz NWY0YThhIDEwMDY0NAogIAkgIG9wdGluZCsrOwogIAl9CiAgCi1AQCAtMTAzMiwxMSArMTA2NSwy NSBAQCBjYXB0dXJlZF9tYWluXzEgKHN0cnVjdCBjYXB0dXJlZF9tYWluX2FyZ3MgKmNvbnRleHQp CitAQCAtMTAzMywxMSArMTA2NiwyNSBAQCBjYXB0dXJlZF9tYWluXzEgKHN0cnVjdCBjYXB0dXJl ZF9tYWluX2FyZ3MgKmNvbnRleHQpCiAgICAgICAgJiYgc3ltYXJnICE9IE5VTEwKICAgICAgICAm JiBzdHJjbXAgKGV4ZWNhcmcsIHN5bWFyZykgPT0gMCkKICAgICAgewoKZGlmZiAtLWdpdCBhL2dk Yi02LjYtYnVpbGRpZC1sb2NhdGUtbWlzbGVhZGluZy13YXJuaW5nLW1pc3NpbmctZGVidWdpbmZv LXJoYno5ODExNTQucGF0Y2ggYi9nZGItNi42LWJ1aWxkaWQtbG9jYXRlLW1pc2xlYWRpbmctd2Fy bmluZy1taXNzaW5nLWRlYnVnaW5mby1yaGJ6OTgxMTU0LnBhdGNoCmluZGV4IDMzZDA2ZjQuLjU0 M2EzYmEgMTAwNjQ0Ci0tLSBhL2dkYi02LjYtYnVpbGRpZC1sb2NhdGUtbWlzbGVhZGluZy13YXJu aW5nLW1pc3NpbmctZGVidWdpbmZvLXJoYno5ODExNTQucGF0Y2gKKysrIGIvZ2RiLTYuNi1idWls ZGlkLWxvY2F0ZS1taXNsZWFkaW5nLXdhcm5pbmctbWlzc2luZy1kZWJ1Z2luZm8tcmhiejk4MTE1 NC5wYXRjaApAQCAtMjgsMTAgKzI4LDEwIEBAIENvbW1lbnRzIGJ5IFNlcmdpbyBEdXJpZ2FuIEp1 bmlvciA8c2VyZ2lvZGpAcmVkaGF0LmNvbT46CiAgIHZhbGlkIGFuZCBkb2Vzbid0IHByaW50IHRo ZSBuZWNlc3Nhcnkgd2FybmluZyAoIlRyeTogeXVtIGluc3RhbGwgLi4uIikuCiAKIGRpZmYgLS1n aXQgYS9nZGIvYnVpbGQtaWQuYyBiL2dkYi9idWlsZC1pZC5jCi1pbmRleCA0MDlhNWI4YzU0Li5l MmMxZTgxMjY2IDEwMDY0NAoraW5kZXggNGUxNDc3ZTk1MC4uNWFmOWQ2Njg5OSAxMDA2NDQKIC0t LSBhL2dkYi9idWlsZC1pZC5jCiArKysgYi9nZGIvYnVpbGQtaWQuYwotQEAgLTU5Miw3ICs1OTIs MTAgQEAgYnVpbGRfaWRfdG9fZGVidWdfYmZkIChzaXplX3QgYnVpbGRfaWRfbGVuLCBjb25zdCBi ZmRfYnl0ZSAqYnVpbGRfaWQsCitAQCAtNTgxLDcgKzU4MSwxMCBAQCBidWlsZF9pZF90b19kZWJ1 Z19iZmQgKHNpemVfdCBidWlsZF9pZF9sZW4sIGNvbnN0IGJmZF9ieXRlICpidWlsZF9pZCwKICAJ ICBkb19jbGVhbnVwcyAoaW5uZXIpOwogIAogIAkgIGlmIChhYmZkID09IE5VTEwpCgpkaWZmIC0t Z2l0IGEvZ2RiLTYuNi1idWlsZGlkLWxvY2F0ZS1ycG0tbGlicnBtLXdvcmthcm91bmQucGF0Y2gg Yi9nZGItNi42LWJ1aWxkaWQtbG9jYXRlLXJwbS1saWJycG0td29ya2Fyb3VuZC5wYXRjaAppbmRl eCAwNjYzMDVlLi44OWRkMzVkIDEwMDY0NAotLS0gYS9nZGItNi42LWJ1aWxkaWQtbG9jYXRlLXJw bS1saWJycG0td29ya2Fyb3VuZC5wYXRjaAorKysgYi9nZGItNi42LWJ1aWxkaWQtbG9jYXRlLXJw bS1saWJycG0td29ya2Fyb3VuZC5wYXRjaApAQCAtOSwxMCArOSwxMCBAQCBGaWxlTmFtZTogZ2Ri LTYuNi1idWlsZGlkLWxvY2F0ZS1ycG0tbGlicnBtLXdvcmthcm91bmQucGF0Y2gKIDs7PXB1c2gr amFuCiAKIGRpZmYgLS1naXQgYS9nZGIvYnVpbGQtaWQuYyBiL2dkYi9idWlsZC1pZC5jCi1pbmRl eCBkNjBjZjYyMmRjLi40MDlhNWI4YzU0IDEwMDY0NAoraW5kZXggMzllNzQxY2Y1OC4uNGUxNDc3 ZTk1MCAxMDA2NDQKIC0tLSBhL2dkYi9idWlsZC1pZC5jCiArKysgYi9nZGIvYnVpbGQtaWQuYwot QEAgLTY3OCw2ICs2NzgsMTkgQEAgYnVpbGRfaWRfdG9fZmlsZW5hbWUgKGNvbnN0IHN0cnVjdCBi ZmRfYnVpbGRfaWQgKmJ1aWxkX2lkLCBjaGFyICoqbGlua19yZXR1cm4pCitAQCAtNjUyLDYgKzY1 MiwxOSBAQCBidWlsZF9pZF90b19maWxlbmFtZSAoY29uc3Qgc3RydWN0IGJmZF9idWlsZF9pZCAq YnVpbGRfaWQsIGNoYXIgKipsaW5rX3JldHVybikKICAjaW5jbHVkZSA8ZGxmY24uaD4KICAjZW5k aWYKICAKCmRpZmYgLS1naXQgYS9nZGItNi42LWJ1aWxkaWQtbG9jYXRlLXJwbS1zY2wucGF0Y2gg Yi9nZGItNi42LWJ1aWxkaWQtbG9jYXRlLXJwbS1zY2wucGF0Y2gKaW5kZXggYzI1ZWUxYi4uZGM2 ZGE1ZiAxMDA2NDQKLS0tIGEvZ2RiLTYuNi1idWlsZGlkLWxvY2F0ZS1ycG0tc2NsLnBhdGNoCisr KyBiL2dkYi02LjYtYnVpbGRpZC1sb2NhdGUtcnBtLXNjbC5wYXRjaApAQCAtMTIsMTAgKzEyLDEw IEBAIHdhcm5pbmc6IFNraXBwaW5nIGRlcHJlY2F0ZWQgLmdkYl9pbmRleCBzZWN0aW9uCiBodHRw czovL2J1Z3ppbGxhLnJlZGhhdC5jb20vc2hvd19idWcuY2dpP2lkPTk1MzU4NQogCiBkaWZmIC0t Z2l0IGEvZ2RiL2J1aWxkLWlkLmMgYi9nZGIvYnVpbGQtaWQuYwotaW5kZXggZTJjMWU4MTI2Ni4u MWI3NTUzMGY5MSAxMDA2NDQKK2luZGV4IDVhZjlkNjY4OTkuLjJmZjkzMTkxYzcgMTAwNjQ0CiAt LS0gYS9nZGIvYnVpbGQtaWQuYwogKysrIGIvZ2RiL2J1aWxkLWlkLmMKLUBAIC03MTUsNyArNzE1 LDExIEBAIHN0YXRpYyBpbnQgbWlzc2luZ19ycG1fbGlzdF9lbnRyaWVzOworQEAgLTY4OSw3ICs2 ODksMTEgQEAgc3RhdGljIGludCBtaXNzaW5nX3JwbV9saXN0X2VudHJpZXM7CiAgLyogUmV0dXJu cyB0aGUgY291bnQgb2YgbmV3bHkgYWRkZWQgcnBtcy4gICovCiAgCiAgc3RhdGljIGludApAQCAt MjcsNyArMjcsNyBAQCBpbmRleCBlMmMxZTgxMjY2Li4xYjc1NTMwZjkxIDEwMDY0NAogIHsKICAg IHN0YXRpYyBpbnQgcnBtX2luaXRfZG9uZSA9IDA7CiAgICBycG10cyB0czsKLUBAIC04MjIsNyAr ODI2LDExIEBAIG1pc3NpbmdfcnBtX2VubGlzdCAoY29uc3QgY2hhciAqZmlsZW5hbWUpCitAQCAt Nzk2LDcgKzgwMCwxMSBAQCBtaXNzaW5nX3JwbV9lbmxpc3QgKGNvbnN0IGNoYXIgKmZpbGVuYW1l KQogICAgbWkgPSBycG10c0luaXRJdGVyYXRvcl9wICh0cywgUlBNVEFHX0JBU0VOQU1FUywgZmls ZW5hbWUsIDApOwogICAgaWYgKG1pICE9IE5VTEwpCiAgICAgIHsKQEAgLTM5LDcgKzM5LDcgQEAg aW5kZXggZTJjMWU4MTI2Ni4uMWI3NTUzMGY5MSAxMDA2NDQKICAJewogIAkgIEhlYWRlciBoOwog IAkgIGNoYXIgKmRlYnVnaW5mbywgKipzbG90LCAqcywgKnMyOwotQEAgLTk0MCw2ICs5NDgsMzcg QEAgbWlzc2luZ19ycG1fZW5saXN0IChjb25zdCBjaGFyICpmaWxlbmFtZSkKK0BAIC05MTQsNiAr OTIyLDM3IEBAIG1pc3NpbmdfcnBtX2VubGlzdCAoY29uc3QgY2hhciAqZmlsZW5hbWUpCiAgCSAg ICB4ZnJlZSAoZGVidWdpbmZvKTsKICAJICBjb3VudCsrOwogIAl9CkBAIC03Nyw3ICs3Nyw3IEBA IGluZGV4IGUyYzFlODEyNjYuLjFiNzU1MzBmOTEgMTAwNjQ0CiAgCiAgICAgICAgcnBtZGJGcmVl SXRlcmF0b3JfcCAobWkpOwogICAgICB9Ci1AQCAtOTUwLDYgKzk4OSwyMSBAQCBtaXNzaW5nX3Jw bV9lbmxpc3QgKGNvbnN0IGNoYXIgKmZpbGVuYW1lKQorQEAgLTkyNCw2ICs5NjMsMjEgQEAgbWlz c2luZ19ycG1fZW5saXN0IChjb25zdCBjaGFyICpmaWxlbmFtZSkKICB9CiAgCiAgc3RhdGljIGlu dApAQCAtMTAwLDEwICsxMDAsMTAgQEAgaW5kZXggZTJjMWU4MTI2Ni4uMWI3NTUzMGY5MSAxMDA2 NDQKICB7CiAgICByZXR1cm4gc3RyY29sbCAoKmFwLCAqYnApOwogZGlmZiAtLWdpdCBhL2dkYi9k d2FyZjJyZWFkLmMgYi9nZGIvZHdhcmYycmVhZC5jCi1pbmRleCAyYzk3MmQ1ZTc0Li42NDMyOWFm NzFlIDEwMDY0NAoraW5kZXggMzI4YTA3ZGY4Mi4uNDVjMjI0NTBiMSAxMDA2NDQKIC0tLSBhL2dk Yi9kd2FyZjJyZWFkLmMKICsrKyBiL2dkYi9kd2FyZjJyZWFkLmMKLUBAIC0zNzI1LDYgKzM3MjUs MTYgQEAgcmVhZF9pbmRleF9mcm9tX3NlY3Rpb24gKHN0cnVjdCBvYmpmaWxlICpvYmpmaWxlLAor QEAgLTM0NzgsNiArMzQ3OCwxNiBAQCByZWFkX2luZGV4X2Zyb21fc2VjdGlvbiAoc3RydWN0IG9i amZpbGUgKm9iamZpbGUsCiAgICAgICAic2V0IHVzZS1kZXByZWNhdGVkLWluZGV4LXNlY3Rpb25z IG9uIi4gICovCiAgICBpZiAodmVyc2lvbiA8IDYgJiYgIWRlcHJlY2F0ZWRfb2spCiAgICAgIHsK QEAgLTEyMCw3ICsxMjAsNyBAQCBpbmRleCAyYzk3MmQ1ZTc0Li42NDMyOWFmNzFlIDEwMDY0NAog ICAgICAgIHN0YXRpYyBpbnQgd2FybmluZ19wcmludGVkID0gMDsKICAgICAgICBpZiAoIXdhcm5p bmdfcHJpbnRlZCkKICAJewotQEAgLTM3MzYsNiArMzc0NiwxMCBAQCB0byB1c2UgdGhlIHNlY3Rp b24gYW55d2F5LiIpLAorQEAgLTM0ODksNiArMzQ5OSwxMCBAQCB0byB1c2UgdGhlIHNlY3Rpb24g YW55d2F5LiIpLAogIAkgIHdhcm5pbmdfcHJpbnRlZCA9IDE7CiAgCX0KICAgICAgICByZXR1cm4g MDsKCmRpZmYgLS1naXQgYS9nZGItNi42LWJ1aWxkaWQtbG9jYXRlLXJwbS5wYXRjaCBiL2dkYi02 LjYtYnVpbGRpZC1sb2NhdGUtcnBtLnBhdGNoCmluZGV4IDY4MGM3NzMuLmRhOGY4MWQgMTAwNjQ0 Ci0tLSBhL2dkYi02LjYtYnVpbGRpZC1sb2NhdGUtcnBtLnBhdGNoCisrKyBiL2dkYi02LjYtYnVp bGRpZC1sb2NhdGUtcnBtLnBhdGNoCkBAIC0yMzQsNyArMjM0LDcgQEAgaW5kZXggZTBkMzhlYTI2 Ny4uZGE1YWMzMTNlMyAxMDA2NDQKICAKICAjIENvcHlyaWdodCAoQykgMjAwMSwgMjAwMywgMjAw NSwgMjAxMSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KIGRpZmYgLS1naXQgYS9nZGIv YnVpbGQtaWQuYyBiL2dkYi9idWlsZC1pZC5jCi1pbmRleCA1NzQwNjI4Mzg2Li5kNjBjZjYyMmRj IDEwMDY0NAoraW5kZXggN2I5Y2JjYTE0ZS4uMzllNzQxY2Y1OCAxMDA2NDQKIC0tLSBhL2dkYi9i dWlsZC1pZC5jCiArKysgYi9nZGIvYnVpbGQtaWQuYwogQEAgLTM1LDYgKzM1LDggQEAKQEAgLTI0 Niw3ICsyNDYsNyBAQCBpbmRleCA1NzQwNjI4Mzg2Li5kNjBjZjYyMmRjIDEwMDY0NAogIAogICNk ZWZpbmUgQlVJTERfSURfVkVSQk9TRV9OT05FIDAKICAjZGVmaW5lIEJVSUxEX0lEX1ZFUkJPU0Vf RklMRU5BTUVTIDEKLUBAIC02NjYsOCArNjY4LDM2NiBAQCBidWlsZF9pZF90b19maWxlbmFtZSAo Y29uc3Qgc3RydWN0IGJmZF9idWlsZF9pZCAqYnVpbGRfaWQsIGNoYXIgKipsaW5rX3JldHVybikK K0BAIC02NDAsOCArNjQyLDM2NiBAQCBidWlsZF9pZF90b19maWxlbmFtZSAoY29uc3Qgc3RydWN0 IGJmZF9idWlsZF9pZCAqYnVpbGRfaWQsIGNoYXIgKipsaW5rX3JldHVybikKICAgIHJldHVybiBy ZXN1bHQ7CiAgfQogIApAQCAtNjE0LDcgKzYxNCw3IEBAIGluZGV4IDU3NDA2MjgzODYuLmQ2MGNm NjIyZGMgMTAwNjQ0CiAgICAgYXZvaWRhbmNlLiAgKi8KICAKICBzdHJ1Y3QgbWlzc2luZ19maWxl cGFpcgotQEAgLTcyMSwxMSArMTA4MSwxNyBAQCBtaXNzaW5nX2ZpbGVwYWlyX2NoYW5nZSAodm9p ZCkKK0BAIC02OTUsMTEgKzEwNTUsMTcgQEAgbWlzc2luZ19maWxlcGFpcl9jaGFuZ2UgKHZvaWQp CiAgICAgICAgLyogQWxsIHRoZWlyIG1lbW9yeSBjYW1lIGp1c3QgZnJvbSBtaXNzaW5nX2ZpbGVw YWlyX09CU1RBQ0suICAqLwogICAgICAgIG1pc3NpbmdfZmlsZXBhaXJfaGFzaCA9IE5VTEw7CiAg ICAgIH0KQEAgLTYzMiw3ICs2MzIsNyBAQCBpbmRleCA1NzQwNjI4Mzg2Li5kNjBjZjYyMmRjIDEw MDY0NAogICAgbWlzc2luZ19maWxlcGFpcl9jaGFuZ2UgKCk7CiAgfQogIAotQEAgLTc5MiwxNCAr MTE1OCwzOSBAQCBkZWJ1Z19wcmludF9taXNzaW5nIChjb25zdCBjaGFyICpiaW5hcnksIGNvbnN0 IGNoYXIgKmRlYnVnKQorQEAgLTc2NiwxNCArMTEzMiwzOSBAQCBkZWJ1Z19wcmludF9taXNzaW5n IChjb25zdCBjaGFyICpiaW5hcnksIGNvbnN0IGNoYXIgKmRlYnVnKQogIAogICAgKnNsb3QgPSBt aXNzaW5nX2ZpbGVwYWlyOwogIApAQCAtNjgwLDcgKzY4MCw3IEBAIGluZGV4IDU3NDA2MjgzODYu LmQ2MGNmNjIyZGMgMTAwNjQ0CiAgCiAgLyogU2VlIGJ1aWxkLWlkLmguICAqLwogZGlmZiAtLWdp dCBhL2dkYi9jb25maWcuaW4gYi9nZGIvY29uZmlnLmluCi1pbmRleCAxZDExYTk3MDgwLi5lZGQ3 MDI4Zjc2IDEwMDY0NAoraW5kZXggYWE0NmYwNzQxMC4uNDA0ZTBiYmRkYyAxMDA2NDQKIC0tLSBh L2dkYi9jb25maWcuaW4KICsrKyBiL2dkYi9jb25maWcuaW4KIEBAIC0zMyw2ICszMyw5IEBACkBA IC02OTMsNyArNjkzLDcgQEAgaW5kZXggMWQxMWE5NzA4MC4uZWRkNzAyOGY3NiAxMDA2NDQKICAv KiBEZWZpbmUgdG8gMSBpZiB0cmFuc2xhdGlvbiBvZiBwcm9ncmFtIG1lc3NhZ2VzIHRvIHRoZSB1 c2VyJ3MgbmF0aXZlCiAgICAgbGFuZ3VhZ2UgaXMgcmVxdWVzdGVkLiAqLwogICN1bmRlZiBFTkFC TEVfTkxTCi1AQCAtMjY0LDYgKzI2Nyw5IEBACitAQCAtMjcwLDYgKzI3Myw5IEBACiAgLyogRGVm aW5lIGlmIFB5dGhvbiAyLjcgaXMgYmVpbmcgdXNlZC4gKi8KICAjdW5kZWYgSEFWRV9MSUJQWVRI T04yXzcKICAKQEAgLTcwNCw3ICs3MDQsNyBAQCBpbmRleCAxZDExYTk3MDgwLi5lZGQ3MDI4Zjc2 IDEwMDY0NAogICN1bmRlZiBIQVZFX0xJQlVOV0lORF9JQTY0X0gKICAKIGRpZmYgLS1naXQgYS9n ZGIvY29uZmlndXJlIGIvZ2RiL2NvbmZpZ3VyZQotaW5kZXggMDkyODkzZDc1Ny4uMWNlY2RiYzNi NSAxMDA3NTUKK2luZGV4IDQxODZmN2UxNjAuLjMwYTZlODZmZjggMTAwNzU1CiAtLS0gYS9nZGIv Y29uZmlndXJlCiArKysgYi9nZGIvY29uZmlndXJlCiBAQCAtNzE2LDYgKzcxNiwxMSBAQCBQS0dW RVJTSU9OCkBAIC03NjIsNyArNzYyLDcgQEAgaW5kZXggMDkyODkzZDc1Ny4uMWNlY2RiYzNiNSAx MDA3NTUKICAgIFlBQ0MgICAgICAgIFRoZSBgWWV0IEFub3RoZXIgQyBDb21waWxlcicgaW1wbGVt ZW50YXRpb24gdG8gdXNlLiBEZWZhdWx0cyB0bwogICAgICAgICAgICAgICAgdGhlIGZpcnN0IHBy b2dyYW0gZm91bmQgb3V0IG9mOiBgYmlzb24gLXknLCBgYnlhY2MnLCBgeWFjYycuCiAgICBZRkxB R1MgICAgICBUaGUgbGlzdCBvZiBhcmd1bWVudHMgdGhhdCB3aWxsIGJlIHBhc3NlZCBieSBkZWZh dWx0IHRvICRZQUNDLgotQEAgLTY0ODYsNiArNjUwNiw0OTQgQEAgX0FDRU9GCitAQCAtNjQ5Miw2 ICs2NTEyLDQ5NCBAQCBfQUNFT0YKICB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJ TkVOT306IHJlc3VsdDogJHdpdGhfYXV0b19sb2FkX3NhZmVfcGF0aCIgPiY1CiAgJGFzX2VjaG8g IiR3aXRoX2F1dG9fbG9hZF9zYWZlX3BhdGgiID4mNjsgfQogIApAQCAtMTI1OCw3ICsxMjU4LDcg QEAgaW5kZXggMDkyODkzZDc1Ny4uMWNlY2RiYzNiNSAxMDA3NTUKICAKICBzdWJkaXJzPSIkc3Vi ZGlycyB0ZXN0c3VpdGUiCiBkaWZmIC0tZ2l0IGEvZ2RiL2NvbmZpZ3VyZS5hYyBiL2dkYi9jb25m aWd1cmUuYWMKLWluZGV4IGQ0MTMzZWE3MWUuLmUyMzJjMWFkY2IgMTAwNjQ0CitpbmRleCBlMWY2 MzBjZDM4Li4zOWE3NzdmNjQ3IDEwMDY0NAogLS0tIGEvZ2RiL2NvbmZpZ3VyZS5hYwogKysrIGIv Z2RiL2NvbmZpZ3VyZS5hYwogQEAgLTE2Nyw2ICsxNjcsMTk5IEBAIEFDX0RFRklORV9ESVIoQVVU T19MT0FEX1NBRkVfUEFUSCwgZXNjYXBlX2RpciwKQEAgLTE0NjIsMTAgKzE0NjIsMTAgQEAgaW5k ZXggZDQxMzNlYTcxZS4uZTIzMmMxYWRjYiAxMDA2NDQKICAKICAjIENoZWNrIHdoZXRoZXIgdG8g c3VwcG9ydCBhbHRlcm5hdGl2ZSB0YXJnZXQgY29uZmlndXJhdGlvbnMKIGRpZmYgLS1naXQgYS9n ZGIvY29yZWxvdy5jIGIvZ2RiL2NvcmVsb3cuYwotaW5kZXggYzViNjQyZGI4MS4uNmUwMjdjMTJl MiAxMDA2NDQKK2luZGV4IDc2OTQ1OTUwYjkuLjQ0ODExMjgxNTYgMTAwNjQ0CiAtLS0gYS9nZGIv Y29yZWxvdy5jCiArKysgYi9nZGIvY29yZWxvdy5jCi1AQCAtMzA5LDcgKzMwOSw3IEBAIGJ1aWxk X2lkX2xvY2F0ZV9leGVjIChpbnQgZnJvbV90dHkpCitAQCAtMzY4LDcgKzM2OCw3IEBAIGJ1aWxk X2lkX2xvY2F0ZV9leGVjIChpbnQgZnJvbV90dHkpCiAgICAgICAgICBzeW1maWxlX29iamZpbGUt PmZsYWdzIHw9IE9CSkZfQlVJTERfSURfQ09SRV9MT0FERUQ7CiAgICAgIH0KICAgIGVsc2UKQEAg LTE0NzUsNyArMTQ3NSw3IEBAIGluZGV4IGM1YjY0MmRiODEuLjZlMDI3YzEyZTIgMTAwNjQ0CiAg ICBkb19jbGVhbnVwcyAoYmFja190byk7CiAgCiBkaWZmIC0tZ2l0IGEvZ2RiL2V2ZW50LXRvcC5j IGIvZ2RiL2V2ZW50LXRvcC5jCi1pbmRleCAwYzE1MjhlNWViLi4wZDY2OGYzNWUwIDEwMDY0NAor aW5kZXggNTg1MjA4OWYwOS4uZDkzNzliNDJjNSAxMDA2NDQKIC0tLSBhL2dkYi9ldmVudC10b3Au YwogKysrIGIvZ2RiL2V2ZW50LXRvcC5jCiBAQCAtNDAsNiArNDAsNyBAQApAQCAtMTUwOCwxMCAr MTUwOCwxMCBAQCBpbmRleCAwYzE1MjhlNWViLi4wZDY2OGYzNWUwIDEwMDY0NAogIH0KICAKIGRp ZmYgLS1naXQgYS9nZGIvc3ltZmlsZS5oIGIvZ2RiL3N5bWZpbGUuaAotaW5kZXggMGQ1MWY0NmQ3 OC4uODJjNzY0MzFlMSAxMDA2NDQKK2luZGV4IGRiZDAzNzBjZjkuLmFkY2YxZmRhYWUgMTAwNjQ0 CiAtLS0gYS9nZGIvc3ltZmlsZS5oCiArKysgYi9nZGIvc3ltZmlsZS5oCi1AQCAtNTQ2LDYgKzU0 Niw4IEBAIHZvaWQgbWFwX3N5bWJvbF9maWxlbmFtZXMgKHN5bWJvbF9maWxlbmFtZV9mdHlwZSAq ZnVuLCB2b2lkICpkYXRhLAorQEAgLTUzOCw2ICs1MzgsOCBAQCB2b2lkIG1hcF9zeW1ib2xfZmls ZW5hbWVzIChzeW1ib2xfZmlsZW5hbWVfZnR5cGUgKmZ1biwgdm9pZCAqZGF0YSwKICAvKiBidWls ZC1pZCBzdXBwb3J0LiAgKi8KICBleHRlcm4gc3RydWN0IGJmZF9idWlsZF9pZCAqYnVpbGRfaWRf YWRkcl9nZXQgKENPUkVfQUREUiBhZGRyKTsKICBleHRlcm4gdm9pZCBkZWJ1Z19wcmludF9taXNz aW5nIChjb25zdCBjaGFyICpiaW5hcnksIGNvbnN0IGNoYXIgKmRlYnVnKTsKCmRpZmYgLS1naXQg YS9nZGItNi42LWJ1aWxkaWQtbG9jYXRlLXNvbGliLW1pc3NpbmctaWRzLnBhdGNoIGIvZ2RiLTYu Ni1idWlsZGlkLWxvY2F0ZS1zb2xpYi1taXNzaW5nLWlkcy5wYXRjaAppbmRleCA3OGFhOTNjLi40 MGI0MDcxIDEwMDY0NAotLS0gYS9nZGItNi42LWJ1aWxkaWQtbG9jYXRlLXNvbGliLW1pc3Npbmct aWRzLnBhdGNoCisrKyBiL2dkYi02LjYtYnVpbGRpZC1sb2NhdGUtc29saWItbWlzc2luZy1pZHMu cGF0Y2gKQEAgLTE0LDIyICsxNCwyMiBAQCBnZGIgcmV0dXJucyBhbiBpbmNvcnJlY3QgYmFjayB0 cmFjZSB3aGVuIGFwcGx5aW5nIGEgZGVidWdpbmZvCiBodHRwczovL2J1Z3ppbGxhLnJlZGhhdC5j b20vc2hvd19idWcuY2dpP2lkPTEzMzk4NjIKIAogZGlmZiAtLWdpdCBhL2dkYi9zb2xpYi1zdnI0 LmMgYi9nZGIvc29saWItc3ZyNC5jCi1pbmRleCBhMzM5OWFkOGY3Li5kN2VlYjYzNTBkIDEwMDY0 NAoraW5kZXggYWE5NWJjMWNlNi4uOWE3ZWYxMDk2MyAxMDA2NDQKIC0tLSBhL2dkYi9zb2xpYi1z dnI0LmMKICsrKyBiL2dkYi9zb2xpYi1zdnI0LmMKLUBAIC0xMzg3LDE0ICsxMzg3LDI3IEBAIHN2 cjRfcmVhZF9zb19saXN0IChDT1JFX0FERFIgbG0sIENPUkVfQUREUiBwcmV2X2xtLAorQEAgLTEz NTgsMTQgKzEzNTgsMjcgQEAgc3ZyNF9yZWFkX3NvX2xpc3QgKENPUkVfQUREUiBsbSwgQ09SRV9B RERSIHByZXZfbG0sCiAgCX0KICAKICAgICAgICB7CiAtCXN0cnVjdCBiZmRfYnVpbGRfaWQgKmJ1 aWxkX2lkOwogKwlzdHJ1Y3QgYmZkX2J1aWxkX2lkICpidWlsZF9pZCA9IE5VTEw7CiAgCi0gCXN0 cm5jcHkgKG5ld29iai0+c29fb3JpZ2luYWxfbmFtZSwgYnVmZmVyLCBTT19OQU1FX01BWF9QQVRI X1NJWkUgLSAxKTsKKyAJc3RybmNweSAobmV3b2JqLT5zb19vcmlnaW5hbF9uYW1lLCBidWZmZXIu Z2V0ICgpLCBTT19OQU1FX01BWF9QQVRIX1NJWkUgLSAxKTsKICAJbmV3b2JqLT5zb19vcmlnaW5h bF9uYW1lW1NPX05BTUVfTUFYX1BBVEhfU0laRSAtIDFdID0gJ1wwJzsKICAJLyogTWF5IGdldCBv dmVyd3JpdHRlbiBiZWxvdy4gICovCiAgCXN0cmNweSAobmV3b2JqLT5zb19uYW1lLCBuZXdvYmot PnNvX29yaWdpbmFsX25hbWUpOwogIAotLQlidWlsZF9pZCA9IGJ1aWxkX2lkX2FkZHJfZ2V0IChu ZXdvYmotPmxtX2luZm8tPmxfbGQpOworLQlidWlsZF9pZCA9IGJ1aWxkX2lkX2FkZHJfZ2V0ICgo KGxtX2luZm9fc3ZyNCAqKSBuZXdvYmotPmxtX2luZm8pLT5sX2xkKTsKICsJLyogSW4gdGhlIGNh c2UgdGhlIG1haW4gZXhlY3V0YWJsZSB3YXMgZm91bmQgYWNjb3JkaW5nIHRvIGl0cyBidWlsZC1p ZAogKwkgICAoZnJvbSBhIGNvcmUgZmlsZSkgcHJldmVudCBsb2FkaW5nIGEgZGlmZmVyZW50IGJ1 aWxkIG9mIGEgbGlicmFyeQogKwkgICB3aXRoIGFjY2lkZW50YWxseSB0aGUgc2FtZSBTT19OQU1F LgpAQCAtNDcsNyArNDcsNyBAQCBpbmRleCBhMzM5OWFkOGY3Li5kN2VlYjYzNTBkIDEwMDY0NAog IAlpZiAoYnVpbGRfaWQgIT0gTlVMTCkKICAJICB7CiAgCSAgICBjaGFyICpuYW1lLCAqYnVpbGRf aWRfZmlsZW5hbWU7Ci1AQCAtMTQwOSwyMyArMTQyMiw3IEBAIHN2cjRfcmVhZF9zb19saXN0IChD T1JFX0FERFIgbG0sIENPUkVfQUREUiBwcmV2X2xtLAorQEAgLTEzODAsMjMgKzEzOTMsNyBAQCBz dnI0X3JlYWRfc29fbGlzdCAoQ09SRV9BRERSIGxtLCBDT1JFX0FERFIgcHJldl9sbSwKICAJCXhm cmVlIChuYW1lKTsKICAJICAgICAgfQogIAkgICAgZWxzZQoKZGlmZiAtLWdpdCBhL2dkYi02LjYt YnVpbGRpZC1sb2NhdGUucGF0Y2ggYi9nZGItNi42LWJ1aWxkaWQtbG9jYXRlLnBhdGNoCmluZGV4 IGNiMDIzMTIuLmMyYjQyMDkgMTAwNjQ0Ci0tLSBhL2dkYi02LjYtYnVpbGRpZC1sb2NhdGUucGF0 Y2gKKysrIGIvZ2RiLTYuNi1idWlsZGlkLWxvY2F0ZS5wYXRjaApAQCAtOSw3ICs5LDcgQEAgRmls ZU5hbWU6IGdkYi02LjYtYnVpbGRpZC1sb2NhdGUucGF0Y2gKIDs7PXB1c2gramFuCiAKIGRpZmYg LS1naXQgYS9nZGIvYnVpbGQtaWQuYyBiL2dkYi9idWlsZC1pZC5jCi1pbmRleCA5NDVkYTRmM2Nm Li41NzQwNjI4Mzg2IDEwMDY0NAoraW5kZXggYzhlYWNiZDFlOC4uN2I5Y2JjYTE0ZSAxMDA2NDQK IC0tLSBhL2dkYi9idWlsZC1pZC5jCiArKysgYi9nZGIvYnVpbGQtaWQuYwogQEAgLTI2LDExICsy Niw2NyBAQApAQCAtMTksNyArMTksNyBAQCBpbmRleCA5NDVkYTRmM2NmLi41NzQwNjI4Mzg2IDEw MDY0NAogKyNpbmNsdWRlICJsaWJiZmQuaCIKICsjaW5jbHVkZSAiZ2RiY29yZS5oIgogKyNpbmNs dWRlICJnZGJjbWQuaCIKLSsjaW5jbHVkZSAib2JzZXJ2ZXIuaCIKKysjaW5jbHVkZSAib2JzZXJ2 YWJsZS5oIgogKyNpbmNsdWRlICJlbGYvZXh0ZXJuYWwuaCIKICsjaW5jbHVkZSAiZWxmL2ludGVy bmFsLmgiCiArI2luY2x1ZGUgImVsZi9jb21tb24uaCIKQEAgLTQzOSw3ICs0MzksNyBAQCBpbmRl eCA5NDVkYTRmM2NmLi41NzQwNjI4Mzg2IDEwMDY0NAogIAogICAgaWYgKGZvdW5kID09IE5VTEwp CiAgICAgIHdhcm5pbmcgKF8oIkZpbGUgXCIlc1wiIGhhcyBubyBidWlsZC1pZCwgZmlsZSBza2lw cGVkIiksCi1AQCAtNjUsMjMgKzQ2Myw1NCBAQCBidWlsZF9pZF92ZXJpZnkgKGJmZCAqYWJmZCwg c2l6ZV90IGNoZWNrX2xlbiwgY29uc3QgYmZkX2J5dGUgKmNoZWNrKQorQEAgLTY1LDExICs0NjMs NTAgQEAgYnVpbGRfaWRfdmVyaWZ5IChiZmQgKmFiZmQsIHNpemVfdCBjaGVja19sZW4sIGNvbnN0 IGJmZF9ieXRlICpjaGVjaykKICAgIHJldHVybiByZXR2YWw7CiAgfQogIApAQCAtNDg0LDg0ICs0 ODQsODAgQEAgaW5kZXggOTQ1ZGE0ZjNjZi4uNTc0MDYyODM4NiAxMDA2NDQKICtidWlsZF9pZF90 b19kZWJ1Z19iZmQgKHNpemVfdCBidWlsZF9pZF9sZW4sIGNvbnN0IGJmZF9ieXRlICpidWlsZF9p ZCwKICsJCSAgICAgICBjaGFyICoqbGlua19yZXR1cm4sIGludCBhZGRfZGVidWdfc3VmZml4KQog IHsKLS0gIGNoYXIgKmxpbmssICpkZWJ1Z2RpcjsKLSsgIGNoYXIgKmxpbmssICpkZWJ1Z2Rpciwg KmxpbmtfYWxsID0gTlVMTDsKLSAgIFZFQyAoY2hhcl9wdHIpICpkZWJ1Z2Rpcl92ZWM7Ci0gICBz dHJ1Y3QgY2xlYW51cCAqYmFja190bzsKLSAgIGludCBpeDsKKysgIGNoYXIgKmRlYnVnZGlyOwor KyAgc3RkOjpzdHJpbmcgbGluaywgbGlua19hbGw7CisrICBzdHJ1Y3QgY2xlYW51cCAqYmFja190 bzsKKysgIGludCBpeDsKICAgIGdkYl9iZmRfcmVmX3B0ciBhYmZkOwotLSAgaW50IGFsbG9jX2xl bjsKLSAKLSAgIC8qIERFQlVHX0ZJTEVfRElSRUNUT1JZLy5idWlsZC1pZC9hYi9jZGVmICovCi0t ICBhbGxvY19sZW4gPSAoc3RybGVuIChkZWJ1Z19maWxlX2RpcmVjdG9yeSkKLS0JICAgICAgICsg KHNpemVvZiAiLy5idWlsZC1pZC8iIC0gMSkgKyAxCi0tCSAgICAgICArIDIgKiBidWlsZF9pZF9s ZW4gKyAoc2l6ZW9mICIuZGVidWciIC0gMSkgKyAxKTsKLS0gIGxpbmsgPSAoY2hhciAqKSBhbGxv Y2EgKGFsbG9jX2xlbik7Ci0rICBsaW5rID0gKGNoYXIgKikgeG1hbGxvYyAoc3RybGVuIChkZWJ1 Z19maWxlX2RpcmVjdG9yeSkgKyAyICogYnVpbGRfaWRfbGVuICsgNTApOwogIAogICAgLyogS2Vl cCBiYWNrd2FyZCBjb21wYXRpYmlsaXR5IHNvIHRoYXQgREVCVUdfRklMRV9ESVJFQ1RPUlkgYmVp bmcgIiIgd2lsbAotICAgICAgY2F1c2UgIi8uYnVpbGQtaWQvLi4uIiBsb29rdXBzLiAgKi8KLUBA IC05NCw5ICs1MjMsMTIgQEAgYnVpbGRfaWRfdG9fZGVidWdfYmZkIChzaXplX3QgYnVpbGRfaWRf bGVuLCBjb25zdCBiZmRfYnl0ZSAqYnVpbGRfaWQpCi0gICAgICAgc2l6ZV90IGRlYnVnZGlyX2xl biA9IHN0cmxlbiAoZGVidWdkaXIpOworQEAgLTgyLDYzICs1MTksMjk2IEBAIGJ1aWxkX2lkX3Rv X2RlYnVnX2JmZCAoc2l6ZV90IGJ1aWxkX2lkX2xlbiwgY29uc3QgYmZkX2J5dGUgKmJ1aWxkX2lk KQorICAgICB7CiAgICAgICAgY29uc3QgZ2RiX2J5dGUgKmRhdGEgPSBidWlsZF9pZDsKICAgICAg ICBzaXplX3Qgc2l6ZSA9IGJ1aWxkX2lkX2xlbjsKLS0gICAgICBjaGFyICpzOwotICAgICAgIGNo YXIgKmZpbGVuYW1lID0gTlVMTDsKLSAgICAgICBzdHJ1Y3QgY2xlYW51cCAqaW5uZXI7CisrICAg ICAgY2hhciAqZmlsZW5hbWUgPSBOVUxMOworKyAgICAgIHN0cnVjdCBjbGVhbnVwICppbm5lcjsK ICsgICAgICB1bnNpZ25lZCBzZXFubzsKICsgICAgICBzdHJ1Y3Qgc3RhdCBzdGF0YnVmX3RyYXNo OwotKyAgICAgIC8qIEluaXRpYWxpemUgaXQganVzdCB0byBhdm9pZCBhIEdDQyBmYWxzZSB3YXJu aW5nLiAgKi8KLSsgICAgICBjaGFyICpzLCAqbGluazAgPSBOVUxMLCAqbGluazBfcmVzb2x2ZWQ7 CisrICAgICAgc3RkOjpzdHJpbmcgbGluazA7CiAgCi0gICAgICAgbWVtY3B5IChsaW5rLCBkZWJ1 Z2RpciwgZGVidWdkaXJfbGVuKTsKLSAgICAgICBzID0gJmxpbmtbZGVidWdkaXJfbGVuXTsKLUBA IC0xMTAsNTIgKzU0MiwyOTkgQEAgYnVpbGRfaWRfdG9fZGVidWdfYmZkIChzaXplX3QgYnVpbGRf aWRfbGVuLCBjb25zdCBiZmRfYnl0ZSAqYnVpbGRfaWQpCi0gCSpzKysgPSAnLyc7CistICAgICAg c3RkOjpzdHJpbmcgbGluayA9IGRlYnVnZGlyLmdldCAoKTsKKysgICAgICBsaW5rID0gZGVidWdk aXIuZ2V0ICgpOworICAgICAgIGxpbmsgKz0gIi8uYnVpbGQtaWQvIjsKKyAKKyAgICAgICBpZiAo c2l6ZSA+IDApCisgCXsKKyAJICBzaXplLS07CistCSAgc3RyaW5nX2FwcGVuZGYgKGxpbmssICIl MDJ4LyIsICh1bnNpZ25lZCkgKmRhdGErKyk7CisrCSAgc3RyaW5nX2FwcGVuZGYgKGxpbmssICIl MDJ4IiwgKHVuc2lnbmVkKSAqZGF0YSsrKTsKKyAJfQorLQorKyAgICAgIGlmIChzaXplID4gMCkK KysJbGluayArPSAiLyI7CiAgICAgICAgd2hpbGUgKHNpemUtLSA+IDApCi0gCXMgKz0gc3ByaW50 ZiAocywgIiUwMngiLCAodW5zaWduZWQpICpkYXRhKyspOwotLSAgICAgIHN0cmNweSAocywgIi5k ZWJ1ZyIpOworIAlzdHJpbmdfYXBwZW5kZiAobGluaywgIiUwMngiLCAodW5zaWduZWQpICpkYXRh KyspOwogIAorLSAgICAgIGxpbmsgKz0gIi5kZWJ1ZyI7CistCiAgICAgICAgaWYgKHNlcGFyYXRl X2RlYnVnX2ZpbGVfZGVidWcpCi0gCXByaW50Zl91bmZpbHRlcmVkIChfKCIgIFRyeWluZyAlc1xu IiksIGxpbmspOworIAlwcmludGZfdW5maWx0ZXJlZCAoXygiICBUcnlpbmcgJXNcbiIpLCBsaW5r LmNfc3RyICgpKTsKICAKIC0gICAgICAvKiBscmVhbHBhdGgoKSBpcyBleHBlbnNpdmUgZXZlbiBm b3IgdGhlIHVzdWFsbHkgbm9uLWV4aXN0ZW50IGZpbGVzLiAgKi8KLS0gICAgICBpZiAoYWNjZXNz IChsaW5rLCBGX09LKSA9PSAwKQotLQlmaWxlbmFtZSA9IGxyZWFscGF0aCAobGluayk7CistICAg ICAgZ2RiOjp1bmlxdWVfeG1hbGxvY19wdHI8Y2hhcj4gZmlsZW5hbWU7CistICAgICAgaWYgKGFj Y2VzcyAobGluay5jX3N0ciAoKSwgRl9PSykgPT0gMCkKKy0JZmlsZW5hbWUucmVzZXQgKGxyZWFs cGF0aCAobGluay5jX3N0ciAoKSkpOworLQorLSAgICAgIGlmIChmaWxlbmFtZSA9PSBOVUxMKQor LQljb250aW51ZTsKICsgICAgICBmb3IgKHNlcW5vID0gMDs7IHNlcW5vKyspCiArCXsKLSsJICBj aGFyICpzMjsKLSsKICsJICBpZiAoc2Vxbm8pCiArCSAgICB7CiArCSAgICAgIC8qIFRoZXJlIGNh biBiZSBtdWx0aXBsZSBidWlsZC1pZCBzeW1saW5rcyBwb2ludGluZyB0byByZWFsIGZpbGVzCiAr CQkgd2l0aCB0aGUgc2FtZSBidWlsZC1pZCAoc3VjaCBhcyBoYXJkIGxpbmtzKS4gIFNvbWUgb2Yg dGhlIHJlYWwKICsJCSBmaWxlcyBtYXkgbm90IGJlIGluc3RhbGxlZC4gICovCiArCi0rCSAgICAg IHMyID0gcyArIHNwcmludGYgKHMsICIuJXUiLCBzZXFubyk7CisrCSAgICAgIHN0cmluZ19hcHBl bmRmIChsaW5rLCAiLiV1Iiwgc2Vxbm8pOwogKwkgICAgfQotKwkgIGVsc2UKLSsJICAgIHMyID0g czsKICsKICsJICBpZiAoYWRkX2RlYnVnX3N1ZmZpeCkKLSsJICAgIHN0cmNweSAoczIsICIuZGVi dWciKTsKLSsJICBlbHNlCi0rCSAgICAqczIgPSAwOworKwkgICAgbGluayArPSAiLmRlYnVnIjsK ICsKICsJICBpZiAoIXNlcW5vKQogKwkgICAgewogKwkgICAgICAvKiBJZiBub25lIG9mIHRoZSBy ZWFsIGZpbGVzIGlzIGZvdW5kIHJlcG9ydCBhcyBtaXNzaW5nIGZpbGUKICsJCSBhbHdheXMgdGhl IG5vbi0uJXUtc3VmZml4ZWQgZmlsZS4gICovCi0rCSAgICAgIGxpbmswID0geHN0cmR1cCAobGlu ayk7CisrCSAgICAgIGxpbmswID0gbGluazsKICsJICAgIH0KICsKICsJICAvKiBgYWNjZXNzJyBh dXRvbWF0aWNhbGx5IGRlcmVmZXJlbmNlcyBMSU5LLiAgKi8KLSsJICBpZiAobHN0YXQgKGxpbmss ICZzdGF0YnVmX3RyYXNoKSAhPSAwKQorKwkgIGlmIChsc3RhdCAobGluay5jX3N0ciAoKSwgJnN0 YXRidWZfdHJhc2gpICE9IDApCiArCSAgICB7CiArCSAgICAgIC8qIFN0b3AgaW5jcmVhc2luZyBT RVFOTy4gICovCiArCSAgICAgIGJyZWFrOwogKwkgICAgfQogKwotKwkgIGZpbGVuYW1lID0gbHJl YWxwYXRoIChsaW5rKTsKKysJICBmaWxlbmFtZSA9IGxyZWFscGF0aCAobGluay5jX3N0ciAoKSk7 CiArCSAgaWYgKGZpbGVuYW1lID09IE5VTEwpCiArCSAgICBjb250aW51ZTsKICsKQEAgLTU4MSw2 NSArNTc3LDQ2IEBAIGluZGV4IDk0NWRhNGYzY2YuLjU3NDA2MjgzODYgMTAwNjQ0CiArCSAgZmls ZW5hbWUgPSBOVUxMOwogKwl9CiAgCi0tICAgICAgaWYgKGZpbGVuYW1lID09IE5VTEwpCi0tCWNv bnRpbnVlOworLSAgICAgIC8qIFdlIGV4cGVjdCB0byBiZSBzaWxlbnQgb24gdGhlIG5vbi1leGlz dGluZyBmaWxlcy4gICovCistICAgICAgYWJmZCA9IGdkYl9iZmRfb3BlbiAoZmlsZW5hbWUuZ2V0 ICgpLCBnbnV0YXJnZXQsIC0xKTsKICsgICAgICBpZiAoZmlsZW5hbWUgIT0gTlVMTCkKICsJewog KwkgIC8qIExJTktfQUxMIGlzIG5vdCB1c2VkIGJlbG93IGluIHRoaXMgbm9uLU5VTEwgRklMRU5B TUUgY2FzZS4gICovCi0rCSAgeGZyZWUgKGxpbmswKTsKICsJICBicmVhazsKICsJfQogIAotLSAg ICAgIC8qIFdlIGV4cGVjdCB0byBiZSBzaWxlbnQgb24gdGhlIG5vbi1leGlzdGluZyBmaWxlcy4g ICovCi0tICAgICAgaW5uZXIgPSBtYWtlX2NsZWFudXAgKHhmcmVlLCBmaWxlbmFtZSk7Ci0tICAg ICAgYWJmZCA9IGdkYl9iZmRfb3BlbiAoZmlsZW5hbWUsIGdudXRhcmdldCwgLTEpOwotLSAgICAg IGRvX2NsZWFudXBzIChpbm5lcik7CistICAgICAgaWYgKGFiZmQgPT0gTlVMTCkKKy0JY29udGlu dWU7CiArICAgICAgLyogSWYgdGhlIHN5bWxpbmsgaGFzIHRhcmdldCByZXF1ZXN0IHRvIGluc3Rh bGwgdGhlIHRhcmdldC4KICsgICAgICAgICBCQVNFLWRlYnVnaW5mby5ycG0gY29udGFpbnMgdGhl IHN5bWxpbmsgYnV0IEJBU0UucnBtIG1heSBiZSBtaXNzaW5nLgogKyAgICAgICAgIGh0dHBzOi8v YnVnemlsbGEucmVkaGF0LmNvbS9zaG93X2J1Zy5jZ2k/aWQ9OTgxMTU0ICAqLwotKyAgICAgIGxp bmswX3Jlc29sdmVkID0gbGlua19yZXNvbHZlIChsaW5rMCwgMCk7Ci0rICAgICAgeGZyZWUgKGxp bmswKTsKKysgICAgICBzdGQ6OnN0cmluZyBsaW5rMF9yZXNvbHZlZCAobGlua19yZXNvbHZlIChs aW5rMC5jX3N0ciAoKSwgMCkpOwogIAotLSAgICAgIGlmIChhYmZkID09IE5VTEwpCi0tCWNvbnRp bnVlOwotKyAgICAgIGlmIChsaW5rX2FsbCA9PSBOVUxMKQorLSAgICAgIGlmIChidWlsZF9pZF92 ZXJpZnkgKGFiZmQuZ2V0KCksIGJ1aWxkX2lkX2xlbiwgYnVpbGRfaWQpKQorLQlicmVhazsKKysg ICAgICBpZiAobGlua19hbGwuZW1wdHkgKCkpCiArCWxpbmtfYWxsID0gbGluazBfcmVzb2x2ZWQ7 CiArICAgICAgZWxzZQogKwl7Ci0rCSAgc2l6ZV90IGxlbl9vcmlnID0gc3RybGVuIChsaW5rX2Fs bCk7Ci0gCi0tICAgICAgaWYgKGJ1aWxkX2lkX3ZlcmlmeSAoYWJmZC5nZXQoKSwgYnVpbGRfaWRf bGVuLCBidWlsZF9pZCkpCi0tCWJyZWFrOwotKwkgIGxpbmtfYWxsID0gKGNoYXIgKikgeHJlYWxs b2MgKGxpbmtfYWxsLAotKwkJCQkJbGVuX29yaWcgKyAxICsgc3RybGVuIChsaW5rMF9yZXNvbHZl ZCkgKyAxKTsKLSAKLS0gICAgICBhYmZkLnJlbGVhc2UgKCk7CiArCSAgLyogVXNlIHdoaXRlc3Bh Y2UgaW5zdGVhZCBvZiBESVJOQU1FX1NFUEFSQVRPUiB0byBiZSBjb21wYXRpYmxlIHdpdGgKICsJ ICAgICBpdHMgcG9zc2libGUgdXNlIGFzIGFuIGFyZ3VtZW50IGZvciBpbnN0YWxsYXRpb24gY29t bWFuZC4gICovCi0rCSAgbGlua19hbGxbbGVuX29yaWddID0gJyAnOwotKwotKwkgIHN0cmNweSAo JmxpbmtfYWxsW2xlbl9vcmlnICsgMV0sIGxpbmswX3Jlc29sdmVkKTsKLSsJICB4ZnJlZSAobGlu azBfcmVzb2x2ZWQpOworKwkgIGxpbmtfYWxsICs9ICIgIiArIGxpbmswX3Jlc29sdmVkOwogKwl9 CiArICAgIH0KLSsKKyAKKy0gICAgICBhYmZkLnJlbGVhc2UgKCk7CiArICBpZiAobGlua19yZXR1 cm4gIT0gTlVMTCkKICsgICAgewogKyAgICAgIGlmIChhYmZkICE9IE5VTEwpCiArCXsKLSsJICAq bGlua19yZXR1cm4gPSBsaW5rOwotKwkgIGxpbmsgPSBOVUxMOworKwkgICpsaW5rX3JldHVybiA9 IHhzdHJkdXAgKGxpbmsuY19zdHIgKCkpOwogKwl9CiArICAgICAgZWxzZQogKwl7Ci0rCSAgKmxp bmtfcmV0dXJuID0gbGlua19hbGw7Ci0rCSAgbGlua19hbGwgPSBOVUxMOworKwkgICpsaW5rX3Jl dHVybiA9IHhzdHJkdXAgKGxpbmtfYWxsLmNfc3RyICgpKTsKICsJfQogICAgICB9Ci0rICB4ZnJl ZSAobGluayk7Ci0rICB4ZnJlZSAobGlua19hbGwpOwogIAotICAgZG9fY2xlYW51cHMgKGJhY2tf dG8pOwogICAgcmV0dXJuIGFiZmQ7CiAgfQogIApAQCAtNzk2LDcgKzc3Myw3IEBAIGluZGV4IDk0 NWRhNGYzY2YuLjU3NDA2MjgzODYgMTAwNjQ0CiArCiAgLyogU2VlIGJ1aWxkLWlkLmguICAqLwog IAotIGNoYXIgKgorIHN0ZDo6c3RyaW5nCiAtZmluZF9zZXBhcmF0ZV9kZWJ1Z19maWxlX2J5X2J1 aWxkaWQgKHN0cnVjdCBvYmpmaWxlICpvYmpmaWxlKQogK2ZpbmRfc2VwYXJhdGVfZGVidWdfZmls ZV9ieV9idWlsZGlkIChzdHJ1Y3Qgb2JqZmlsZSAqb2JqZmlsZSwKICsJCQlnZGI6OnVuaXF1ZV94 bWFsbG9jX3B0cjxjaGFyPiAqYnVpbGRfaWRfZmlsZW5hbWVfcmV0dXJuKQpAQCAtODMzLDkgKzgx MCw5IEBAIGluZGV4IDk0NWRhNGYzY2YuLjU3NDA2MjgzODYgMTAwNjQ0CiAgICAgICAgLyogUHJl dmVudCBsb29waW5nIG9uIGEgc3RyaXBwZWQgLmRlYnVnIGZpbGUuICAqLwogICAgICAgIGlmIChh YmZkICE9IE5VTEwKICAJICAmJiBmaWxlbmFtZV9jbXAgKGJmZF9nZXRfZmlsZW5hbWUgKGFiZmQu Z2V0ICgpKSwKLUBAIC0xNjcsMyArODQ2LDIxIEBAIGZpbmRfc2VwYXJhdGVfZGVidWdfZmlsZV9i eV9idWlsZGlkIChzdHJ1Y3Qgb2JqZmlsZSAqb2JqZmlsZSkKLSAgICAgfQotICAgcmV0dXJuIE5V TEw7CitAQCAtMTUxLDMgKzgyMSwyMSBAQCBmaW5kX3NlcGFyYXRlX2RlYnVnX2ZpbGVfYnlfYnVp bGRpZCAoc3RydWN0IG9iamZpbGUgKm9iamZpbGUpCisgCisgICByZXR1cm4gc3RkOjpzdHJpbmcg KCk7CiAgfQogKwogK2V4dGVybiB2b2lkIF9pbml0aWFsaXplX2J1aWxkX2lkICh2b2lkKTsKQEAg LTg1MywxMCArODMwLDEwIEBAIGluZGV4IDk0NWRhNGYzY2YuLjU3NDA2MjgzODYgMTAwNjQ0CiAr CQkJICAgIHNob3dfYnVpbGRfaWRfdmVyYm9zZSwKICsJCQkgICAgJnNldGxpc3QsICZzaG93bGlz dCk7CiArCi0rICBvYnNlcnZlcl9hdHRhY2hfZXhlY3V0YWJsZV9jaGFuZ2VkIChkZWJ1Z19wcmlu dF9leGVjdXRhYmxlX2NoYW5nZWQpOworKyAgZ2RiOjpvYnNlcnZlcnM6OmV4ZWN1dGFibGVfY2hh bmdlZC5hdHRhY2ggKGRlYnVnX3ByaW50X2V4ZWN1dGFibGVfY2hhbmdlZCk7CiArfQogZGlmZiAt LWdpdCBhL2dkYi9idWlsZC1pZC5oIGIvZ2RiL2J1aWxkLWlkLmgKLWluZGV4IDBmMTNjN2Q0Y2Yu LjJkMTA1ZGJhODggMTAwNjQ0CitpbmRleCAxNWZiNjA5NDA5Li4xZjYyZGIwMjM5IDEwMDY0NAog LS0tIGEvZ2RiL2J1aWxkLWlkLmgKICsrKyBiL2dkYi9idWlsZC1pZC5oCiBAQCAtMjIsOSArMjIs MTAgQEAKQEAgLTg3Miw3ICs4NDksNyBAQCBpbmRleCAwZjEzYzdkNGNmLi4yZDEwNWRiYTg4IDEw MDY0NAogIAogIC8qIFJldHVybiB0cnVlIGlmIEFCRkQgaGFzIE5UX0dOVV9CVUlMRF9JRCBtYXRj aGluZyB0aGUgQ0hFQ0sgdmFsdWUuCiAgICAgT3RoZXJ3aXNlLCBpc3N1ZSBhIHdhcm5pbmcgYW5k IHJldHVybiBmYWxzZS4gICovCi1AQCAtMzgsMTMgKzM5LDE5IEBAIGV4dGVybiBpbnQgYnVpbGRf aWRfdmVyaWZ5IChiZmQgKmFiZmQsCitAQCAtMzgsMTMgKzM5LDE4IEBAIGV4dGVybiBpbnQgYnVp bGRfaWRfdmVyaWZ5IChiZmQgKmFiZmQsCiAgICAgdGhlIGNhbGxlci4gICovCiAgCiAgZXh0ZXJu IGdkYl9iZmRfcmVmX3B0ciBidWlsZF9pZF90b19kZWJ1Z19iZmQgKHNpemVfdCBidWlsZF9pZF9s ZW4sCkBAIC04ODUsMzAgKzg2MiwzMSBAQCBpbmRleCAwZjEzYzdkNGNmLi4yZDEwNWRiYTg4IDEw MDY0NAogKwkJCQkgICBjaGFyICoqbGlua19yZXR1cm4pOwogIAogIC8qIEZpbmQgdGhlIHNlcGFy YXRlIGRlYnVnIGZpbGUgZm9yIE9CSkZJTEUsIGJ5IHVzaW5nIHRoZSBidWlsZC1pZAotICAgIGFz c29jaWF0ZWQgd2l0aCBPQkpGSUxFJ3MgQkZELiAgSWYgc3VjY2Vzc2Z1bCwgcmV0dXJucyBhIG1h bGxvYydkCi0gICAgZmlsZSBuYW1lIGZvciB0aGUgc2VwYXJhdGUgZGVidWcgZmlsZS4gIFRoZSBj YWxsZXIgbXVzdCBmcmVlIHRoaXMuCi0gICAgT3RoZXJ3aXNlLCByZXR1cm5zIE5VTEwuICAqLwor ICAgIGFzc29jaWF0ZWQgd2l0aCBPQkpGSUxFJ3MgQkZELiAgSWYgc3VjY2Vzc2Z1bCwgcmV0dXJu cyB0aGUgZmlsZSBuYW1lIGZvciB0aGUKKyAgICBzZXBhcmF0ZSBkZWJ1ZyBmaWxlLCBvdGhlcndp c2UsIHJldHVybiBhbiBlbXB0eSBzdHJpbmcuICAqLwogIAotLWV4dGVybiBjaGFyICpmaW5kX3Nl cGFyYXRlX2RlYnVnX2ZpbGVfYnlfYnVpbGRpZCAoc3RydWN0IG9iamZpbGUgKm9iamZpbGUpOwot K2V4dGVybiBjaGFyICpmaW5kX3NlcGFyYXRlX2RlYnVnX2ZpbGVfYnlfYnVpbGRpZCAoc3RydWN0 IG9iamZpbGUgKm9iamZpbGUsCistZXh0ZXJuIHN0ZDo6c3RyaW5nIGZpbmRfc2VwYXJhdGVfZGVi dWdfZmlsZV9ieV9idWlsZGlkCistICAoc3RydWN0IG9iamZpbGUgKm9iamZpbGUpOworK2V4dGVy biBzdGQ6OnN0cmluZyBmaW5kX3NlcGFyYXRlX2RlYnVnX2ZpbGVfYnlfYnVpbGRpZCAoc3RydWN0 IG9iamZpbGUgKm9iamZpbGUsCiArCQkgICAgICAgZ2RiOjp1bmlxdWVfeG1hbGxvY19wdHI8Y2hh cj4gKmJ1aWxkX2lkX2ZpbGVuYW1lX3JldHVybik7CiAgCiAgI2VuZGlmIC8qIEJVSUxEX0lEX0gg Ki8KIGRpZmYgLS1naXQgYS9nZGIvY29mZnJlYWQuYyBiL2dkYi9jb2ZmcmVhZC5jCi1pbmRleCBm YmJiYjY4ZjcxLi45Njk4ZWMyMTkxIDEwMDY0NAoraW5kZXggZjI0ZWMwNzEzYS4uNWMxYzNlNjFl YSAxMDA2NDQKIC0tLSBhL2dkYi9jb2ZmcmVhZC5jCiArKysgYi9nZGIvY29mZnJlYWQuYwotQEAg LTczNSw3ICs3MzUsNyBAQCBjb2ZmX3N5bWZpbGVfcmVhZCAoc3RydWN0IG9iamZpbGUgKm9iamZp bGUsIHN5bWZpbGVfYWRkX2ZsYWdzIHN5bWZpbGVfZmxhZ3MpCitAQCAtNzMzLDcgKzczMyw4IEBA IGNvZmZfc3ltZmlsZV9yZWFkIChzdHJ1Y3Qgb2JqZmlsZSAqb2JqZmlsZSwgc3ltZmlsZV9hZGRf ZmxhZ3Mgc3ltZmlsZV9mbGFncykKKyAgIC8qIFRyeSB0byBhZGQgc2VwYXJhdGUgZGVidWcgZmls ZSBpZiBubyBzeW1ib2xzIHRhYmxlIGZvdW5kLiAgICovCisgICBpZiAoIW9iamZpbGVfaGFzX3Bh cnRpYWxfc3ltYm9scyAob2JqZmlsZSkpCiAgICAgIHsKLSAgICAgICBjaGFyICpkZWJ1Z2ZpbGU7 Ci0gCi0tICAgICAgZGVidWdmaWxlID0gZmluZF9zZXBhcmF0ZV9kZWJ1Z19maWxlX2J5X2J1aWxk aWQgKG9iamZpbGUpOwotKyAgICAgIGRlYnVnZmlsZSA9IGZpbmRfc2VwYXJhdGVfZGVidWdfZmls ZV9ieV9idWlsZGlkIChvYmpmaWxlLCBOVUxMKTsKKy0gICAgICBzdGQ6OnN0cmluZyBkZWJ1Z2Zp bGUgPSBmaW5kX3NlcGFyYXRlX2RlYnVnX2ZpbGVfYnlfYnVpbGRpZCAob2JqZmlsZSk7CisrICAg ICAgc3RkOjpzdHJpbmcgZGVidWdmaWxlID0gZmluZF9zZXBhcmF0ZV9kZWJ1Z19maWxlX2J5X2J1 aWxkaWQgKG9iamZpbGUsCisrCQkJCQkJCQkgICBOVUxMKTsKICAKLSAgICAgICBpZiAoZGVidWdm aWxlID09IE5VTEwpCisgICAgICAgaWYgKGRlYnVnZmlsZS5lbXB0eSAoKSkKICAJZGVidWdmaWxl ID0gZmluZF9zZXBhcmF0ZV9kZWJ1Z19maWxlX2J5X2RlYnVnbGluayAob2JqZmlsZSk7CiBkaWZm IC0tZ2l0IGEvZ2RiL2NvcmVsb3cuYyBiL2dkYi9jb3JlbG93LmMKLWluZGV4IDNhNTI1NmNiMTcu LmM1YjY0MmRiODEgMTAwNjQ0CitpbmRleCBjNjE3NTI3OWRhLi43Njk0NTk1MGI5IDEwMDY0NAog LS0tIGEvZ2RiL2NvcmVsb3cuYwogKysrIGIvZ2RiL2NvcmVsb3cuYwogQEAgLTQ1LDYgKzQ1LDEw IEBACkBAIC05MjIsNyArOTAwLDcgQEAgaW5kZXggM2E1MjU2Y2IxNy4uYzViNjQyZGI4MSAxMDA2 NDQKICAKICAjaWZuZGVmIE9fTEFSR0VGSUxFCiAgI2RlZmluZSBPX0xBUkdFRklMRSAwCi1AQCAt MjY0LDYgKzI2OCw1NCBAQCBhZGRfdG9fdGhyZWFkX2xpc3QgKGJmZCAqYWJmZCwgYXNlY3Rpb24g KmFzZWN0LCB2b2lkICpyZWdfc2VjdF9hcmcpCitAQCAtMzIzLDYgKzMyNyw1NCBAQCBhZGRfdG9f dGhyZWFkX2xpc3QgKGJmZCAqYWJmZCwgYXNlY3Rpb24gKmFzZWN0LCB2b2lkICpyZWdfc2VjdF9h cmcpCiAgICAgIGluZmVyaW9yX3B0aWQgPSBwdGlkOwkJCS8qIFllcywgbWFrZSBpdCBjdXJyZW50 LiAgKi8KICB9CiAgCkBAIC05NDAsNyArOTE4LDcgQEAgaW5kZXggM2E1MjU2Y2IxNy4uYzViNjQy ZGI4MSAxMDA2NDQKICsgIGlmIChleGVjX2JmZCAhPSBOVUxMIHx8IHN5bWZpbGVfb2JqZmlsZSAh PSBOVUxMKQogKyAgICByZXR1cm47CiArCi0rICBpZiAodGFyZ2V0X2F1eHZfc2VhcmNoICgmY3Vy cmVudF90YXJnZXQsIEFUX0VOVFJZLCAmYXRfZW50cnkpIDw9IDApCisrICBpZiAodGFyZ2V0X2F1 eHZfc2VhcmNoICh0YXJnZXRfc3RhY2ssIEFUX0VOVFJZLCAmYXRfZW50cnkpIDw9IDApCiArICAg IHJldHVybjsKICsKICsgIGJ1aWxkX2lkID0gYnVpbGRfaWRfYWRkcl9nZXQgKGF0X2VudHJ5KTsK QEAgLTk3NCwxMCArOTUyLDEwIEBAIGluZGV4IDNhNTI1NmNiMTcuLmM1YjY0MmRiODEgMTAwNjQ0 CiArICAvKiBObyBhdXRvbWF0aWMgU09MSUJfQUREIGFzIHRoZSBsaWJyYXJpZXMgd291bGQgZ2V0 IHJlYWQgdHdpY2UuICAqLwogK30KICsKLSAvKiBUaGlzIHJvdXRpbmUgb3BlbnMgYW5kIHNldHMg dXAgdGhlIGNvcmUgZmlsZSBiZmQuICAqLworIC8qIElzc3VlIGEgbWVzc2FnZSBzYXlpbmcgd2Ug aGF2ZSBubyBjb3JlIHRvIGRlYnVnLCBpZiBGUk9NX1RUWS4gICovCiAgCiAgc3RhdGljIHZvaWQK LUBAIC0zOTEsNiArNDQzLDE0IEBAIGNvcmVfb3BlbiAoY29uc3QgY2hhciAqYXJnLCBpbnQgZnJv bV90dHkpCitAQCAtNDY2LDYgKzUxOCwxNCBAQCBjb3JlX3RhcmdldF9vcGVuIChjb25zdCBjaGFy ICphcmcsIGludCBmcm9tX3R0eSkKICAJc3dpdGNoX3RvX3RocmVhZCAodGhyZWFkLT5wdGlkKTsK ICAgICAgfQogIApAQCAtOTg5LDEzICs5NjcsMTMgQEAgaW5kZXggM2E1MjU2Y2IxNy4uYzViNjQy ZGI4MSAxMDA2NDQKICsgIGlmIChidWlsZF9pZF9jb3JlX2xvYWRzICE9IDApCiArICAgIGJ1aWxk X2lkX2xvY2F0ZV9leGVjIChmcm9tX3R0eSk7CiArCi0gICBwb3N0X2NyZWF0ZV9pbmZlcmlvciAo JmNvcmVfb3BzLCBmcm9tX3R0eSk7CisgICBwb3N0X2NyZWF0ZV9pbmZlcmlvciAodGFyZ2V0LCBm cm9tX3R0eSk7CiAgCiAgICAvKiBOb3cgZ28gdGhyb3VnaCB0aGUgdGFyZ2V0IHN0YWNrIGxvb2tp bmcgZm9yIHRocmVhZHMgc2luY2UgdGhlcmUKLUBAIC0xMDQwLDQgKzExMDAsMTEgQEAgX2luaXRp YWxpemVfY29yZWxvdyAodm9pZCkKLSAgIGluaXRfY29yZV9vcHMgKCk7Ci0gCi0gICBhZGRfdGFy Z2V0X3dpdGhfY29tcGxldGVyICgmY29yZV9vcHMsIGZpbGVuYW1lX2NvbXBsZXRlcik7CitAQCAt MTA2OCw0ICsxMTI4LDExIEBAIHZvaWQKKyBfaW5pdGlhbGl6ZV9jb3JlbG93ICh2b2lkKQorIHsK KyAgIGFkZF90YXJnZXQgKGNvcmVfdGFyZ2V0X2luZm8sIGNvcmVfdGFyZ2V0X29wZW4sIGZpbGVu YW1lX2NvbXBsZXRlcik7CiArCiArICBhZGRfc2V0c2hvd19ib29sZWFuX2NtZCAoImJ1aWxkLWlk LWNvcmUtbG9hZHMiLCBjbGFzc19maWxlcywKICsJCQkgICAmYnVpbGRfaWRfY29yZV9sb2Fkcywg XygiXApAQCAtMTAwNSwxMCArOTgzLDEwIEBAIGluZGV4IDNhNTI1NmNiMTcuLmM1YjY0MmRiODEg MTAwNjQ0CiArCQkJICAgJnNldGxpc3QsICZzaG93bGlzdCk7CiAgfQogZGlmZiAtLWdpdCBhL2dk Yi9kb2MvZ2RiLnRleGluZm8gYi9nZGIvZG9jL2dkYi50ZXhpbmZvCi1pbmRleCA4YmRhZmIwYmE0 Li4yZjJjYmQzZGVhIDEwMDY0NAoraW5kZXggMjhmMDgzZjk2ZS4uNDAzZjVjYTY1OCAxMDA2NDQK IC0tLSBhL2dkYi9kb2MvZ2RiLnRleGluZm8KICsrKyBiL2dkYi9kb2MvZ2RiLnRleGluZm8KLUBA IC0xOTQ0Nyw2ICsxOTQ0NywyNyBAQCBpbmZvcm1hdGlvbiBmaWxlcy4KK0BAIC0xOTU1OCw2ICsx OTU1OCwyNyBAQCBpbmZvcm1hdGlvbiBmaWxlcy4KICAKICBAZW5kIHRhYmxlCiAgCkBAIC0xMDM3 LDEwICsxMDE1LDEwIEBAIGluZGV4IDhiZGFmYjBiYTQuLjJmMmNiZDNkZWEgMTAwNjQ0CiAgQGNp bmRleCBkZWJ1ZyBsaW5rIHNlY3Rpb25zCiAgQSBkZWJ1ZyBsaW5rIGlzIGEgc3BlY2lhbCBzZWN0 aW9uIG9mIHRoZSBleGVjdXRhYmxlIGZpbGUgbmFtZWQKIGRpZmYgLS1naXQgYS9nZGIvZHdhcmYy cmVhZC5jIGIvZ2RiL2R3YXJmMnJlYWQuYwotaW5kZXggOThlN2Q4NDJmMC4uYzhkYjk1NWYyZiAx MDA2NDQKK2luZGV4IDQwMDZmNGE0OGYuLjI2Njc0MGY3NGMgMTAwNjQ0CiAtLS0gYS9nZGIvZHdh cmYycmVhZC5jCiArKysgYi9nZGIvZHdhcmYycmVhZC5jCi1AQCAtMjkwNyw3ICsyOTA3LDcgQEAg ZHdhcmYyX2dldF9kd3pfZmlsZSAodm9pZCkKK0BAIC0yNjkwLDcgKzI2OTAsNyBAQCBkd2FyZjJf Z2V0X2R3el9maWxlIChzdHJ1Y3QgZHdhcmYyX3Blcl9vYmpmaWxlICpkd2FyZjJfcGVyX29iamZp bGUpCiAgICAgIH0KICAKICAgIGlmIChkd3pfYmZkID09IE5VTEwpCkBAIC0xMDUwLDIyICsxMDI4 LDIyIEBAIGluZGV4IDk4ZTdkODQyZjAuLmM4ZGI5NTVmMmYgMTAwNjQ0CiAgICBpZiAoZHd6X2Jm ZCA9PSBOVUxMKQogICAgICBlcnJvciAoXygiY291bGQgbm90IGZpbmQgJy5nbnVfZGVidWdhbHRs aW5rJyBmaWxlIGZvciAlcyIpLAogZGlmZiAtLWdpdCBhL2dkYi9lbGZyZWFkLmMgYi9nZGIvZWxm cmVhZC5jCi1pbmRleCAxMDNiMjE0NGMzLi5mYjMyZTAzYWY1IDEwMDY0NAoraW5kZXggYjRiNGEx YjI0Yy4uMDgyNGUzN2JmMSAxMDA2NDQKIC0tLSBhL2dkYi9lbGZyZWFkLmMKICsrKyBiL2dkYi9l bGZyZWFkLmMKLUBAIC0xMjU5LDggKzEyNTksOSBAQCBlbGZfc3ltZmlsZV9yZWFkIChzdHJ1Y3Qg b2JqZmlsZSAqb2JqZmlsZSwgc3ltZmlsZV9hZGRfZmxhZ3Mgc3ltZmlsZV9mbGFncykKK0BAIC0x MjkwLDcgKzEyOTAsOSBAQCBlbGZfc3ltZmlsZV9yZWFkIChzdHJ1Y3Qgb2JqZmlsZSAqb2JqZmls ZSwgc3ltZmlsZV9hZGRfZmxhZ3Mgc3ltZmlsZV9mbGFncykKICAJICAgJiYgb2JqZmlsZS0+c2Vw YXJhdGVfZGVidWdfb2JqZmlsZSA9PSBOVUxMCiAgCSAgICYmIG9iamZpbGUtPnNlcGFyYXRlX2Rl YnVnX29iamZpbGVfYmFja2xpbmsgPT0gTlVMTCkKICAgICAgeworLSAgICAgIHN0ZDo6c3RyaW5n IGRlYnVnZmlsZSA9IGZpbmRfc2VwYXJhdGVfZGVidWdfZmlsZV9ieV9idWlsZGlkIChvYmpmaWxl KTsKICsgICAgICBnZGI6OnVuaXF1ZV94bWFsbG9jX3B0cjxjaGFyPiBidWlsZF9pZF9maWxlbmFt ZTsKLSAgICAgICBnZGI6OnVuaXF1ZV94bWFsbG9jX3B0cjxjaGFyPiBkZWJ1Z2ZpbGUKLS0JKGZp bmRfc2VwYXJhdGVfZGVidWdfZmlsZV9ieV9idWlsZGlkIChvYmpmaWxlKSk7Ci0rCShmaW5kX3Nl cGFyYXRlX2RlYnVnX2ZpbGVfYnlfYnVpbGRpZCAob2JqZmlsZSwgJmJ1aWxkX2lkX2ZpbGVuYW1l KSk7CisrICAgICAgc3RkOjpzdHJpbmcgZGVidWdmaWxlCisrCT0gZmluZF9zZXBhcmF0ZV9kZWJ1 Z19maWxlX2J5X2J1aWxkaWQgKG9iamZpbGUsICZidWlsZF9pZF9maWxlbmFtZSk7CiAgCi0gICAg ICAgaWYgKGRlYnVnZmlsZSA9PSBOVUxMKQotIAlkZWJ1Z2ZpbGUucmVzZXQgKGZpbmRfc2VwYXJh dGVfZGVidWdfZmlsZV9ieV9kZWJ1Z2xpbmsgKG9iamZpbGUpKTsKLUBAIC0xMjcyLDYgKzEyNzMs MTAgQEAgZWxmX3N5bWZpbGVfcmVhZCAoc3RydWN0IG9iamZpbGUgKm9iamZpbGUsIHN5bWZpbGVf YWRkX2ZsYWdzIHN5bWZpbGVfZmxhZ3MpCi0gCSAgc3ltYm9sX2ZpbGVfYWRkX3NlcGFyYXRlIChh YmZkLmdldCAoKSwgZGVidWdmaWxlLmdldCAoKSwKKyAgICAgICBpZiAoZGVidWdmaWxlLmVtcHR5 ICgpKQorIAlkZWJ1Z2ZpbGUgPSBmaW5kX3NlcGFyYXRlX2RlYnVnX2ZpbGVfYnlfZGVidWdsaW5r IChvYmpmaWxlKTsKK0BAIC0xMzAyLDYgKzEzMDQsMTAgQEAgZWxmX3N5bWZpbGVfcmVhZCAoc3Ry dWN0IG9iamZpbGUgKm9iamZpbGUsIHN5bWZpbGVfYWRkX2ZsYWdzIHN5bWZpbGVfZmxhZ3MpCisg CSAgc3ltYm9sX2ZpbGVfYWRkX3NlcGFyYXRlIChhYmZkLmdldCAoKSwgZGVidWdmaWxlLmNfc3Ry ICgpLAogIAkJCQkgICAgc3ltZmlsZV9mbGFncywgb2JqZmlsZSk7CiAgCX0KICsgICAgICAvKiBD aGVjayBpZiBhbnkgc2VwYXJhdGUgZGVidWcgaW5mbyBoYXMgYmVlbiBleHRyYWN0ZWQgb3V0LiAg Ki8KQEAgLTExMTMsNyArMTA5MSw3IEBAIGluZGV4IGMyYjQwZmY1MzUuLjExMmNiZjY1NjAgMTAw NjQ0CiAgCWNvbnRpbnVlOwogICAgICAgIGlmIChvYmpmcHlfYnVpbGRfaWRfbWF0Y2hlcyAob2Jm ZF9idWlsZF9pZCwgYnVpbGRfaWQpKQogZGlmZiAtLWdpdCBhL2dkYi9zb2xpYi1zdnI0LmMgYi9n ZGIvc29saWItc3ZyNC5jCi1pbmRleCA0OTczY2MyZjI1Li5hMzM5OWFkOGY3IDEwMDY0NAoraW5k ZXggZjk5MzZiMzZkZS4uYWE5NWJjMWNlNiAxMDA2NDQKIC0tLSBhL2dkYi9zb2xpYi1zdnI0LmMK ICsrKyBiL2dkYi9zb2xpYi1zdnI0LmMKIEBAIC00NSw2ICs0NSw3IEBACkBAIC0xMTI0LDIyICsx MTAyLDIyIEBAIGluZGV4IDQ5NzNjYzJmMjUuLmEzMzk5YWQ4ZjcgMTAwNjQ0CiAgCiAgc3RhdGlj IHN0cnVjdCBsaW5rX21hcF9vZmZzZXRzICpzdnI0X2ZldGNoX2xpbmtfbWFwX29mZnNldHMgKHZv aWQpOwogIHN0YXRpYyBpbnQgc3ZyNF9oYXZlX2xpbmtfbWFwX29mZnNldHMgKHZvaWQpOwotQEAg LTEzODUsOSArMTM4Niw1MiBAQCBzdnI0X3JlYWRfc29fbGlzdCAoQ09SRV9BRERSIGxtLCBDT1JF X0FERFIgcHJldl9sbSwKK0BAIC0xMzU2LDkgKzEzNTcsNTEgQEAgc3ZyNF9yZWFkX3NvX2xpc3Qg KENPUkVfQUREUiBsbSwgQ09SRV9BRERSIHByZXZfbG0sCiAgCSAgY29udGludWU7CiAgCX0KICAK LS0gICAgICBzdHJuY3B5IChuZXdvYmotPnNvX25hbWUsIGJ1ZmZlciwgU09fTkFNRV9NQVhfUEFU SF9TSVpFIC0gMSk7CistICAgICAgc3RybmNweSAobmV3b2JqLT5zb19uYW1lLCBidWZmZXIuZ2V0 ICgpLCBTT19OQU1FX01BWF9QQVRIX1NJWkUgLSAxKTsKIC0gICAgICBuZXdvYmotPnNvX25hbWVb U09fTkFNRV9NQVhfUEFUSF9TSVpFIC0gMV0gPSAnXDAnOwogLSAgICAgIHN0cmNweSAobmV3b2Jq LT5zb19vcmlnaW5hbF9uYW1lLCBuZXdvYmotPnNvX25hbWUpOwogKyAgICAgIHsKICsJc3RydWN0 IGJmZF9idWlsZF9pZCAqYnVpbGRfaWQ7CiArCi0rCXN0cm5jcHkgKG5ld29iai0+c29fb3JpZ2lu YWxfbmFtZSwgYnVmZmVyLCBTT19OQU1FX01BWF9QQVRIX1NJWkUgLSAxKTsKKysJc3RybmNweSAo bmV3b2JqLT5zb19vcmlnaW5hbF9uYW1lLCBidWZmZXIuZ2V0ICgpLCBTT19OQU1FX01BWF9QQVRI X1NJWkUgLSAxKTsKICsJbmV3b2JqLT5zb19vcmlnaW5hbF9uYW1lW1NPX05BTUVfTUFYX1BBVEhf U0laRSAtIDFdID0gJ1wwJzsKICsJLyogTWF5IGdldCBvdmVyd3JpdHRlbiBiZWxvdy4gICovCiAr CXN0cmNweSAobmV3b2JqLT5zb19uYW1lLCBuZXdvYmotPnNvX29yaWdpbmFsX25hbWUpOwogKwot KwlidWlsZF9pZCA9IGJ1aWxkX2lkX2FkZHJfZ2V0IChuZXdvYmotPmxtX2luZm8tPmxfbGQpOwor KwlidWlsZF9pZCA9IGJ1aWxkX2lkX2FkZHJfZ2V0ICgoKGxtX2luZm9fc3ZyNCAqKSBuZXdvYmot PmxtX2luZm8pLT5sX2xkKTsKICsJaWYgKGJ1aWxkX2lkICE9IE5VTEwpCiArCSAgewogKwkgICAg Y2hhciAqbmFtZSwgKmJ1aWxkX2lkX2ZpbGVuYW1lOwpAQCAtMTE3NiwxNSArMTE1NCwxNCBAQCBp bmRleCA0OTczY2MyZjI1Li5hMzM5OWFkOGY3IDEwMDY0NAogKwkgICAgeGZyZWUgKGJ1aWxkX2lk KTsKICsJICB9CiArICAgICAgfQotKwotICAgICAgIHhmcmVlIChidWZmZXIpOwogIAogICAgICAg IC8qIElmIHRoaXMgZW50cnkgaGFzIG5vIG5hbWUsIG9yIGl0cyBuYW1lIG1hdGNoZXMgdGhlIG5h bWUKKyAJIGZvciB0aGUgbWFpbiBleGVjdXRhYmxlLCBkb24ndCBpbmNsdWRlIGl0IGluIHRoZSBs aXN0LiAgKi8KIGRpZmYgLS1naXQgYS9nZGIvc3ltZmlsZS5oIGIvZ2RiL3N5bWZpbGUuaAotaW5k ZXggN2MzZmQ4MjQwYS4uMGQ1MWY0NmQ3OCAxMDA2NDQKK2luZGV4IGQ5MTg1MDkyZWUuLmRiZDAz NzBjZjkgMTAwNjQ0CiAtLS0gYS9nZGIvc3ltZmlsZS5oCiArKysgYi9nZGIvc3ltZmlsZS5oCi1A QCAtNTQzLDYgKzU0MywxMCBAQCB2b2lkIGV4cGFuZF9zeW10YWJzX21hdGNoaW5nCitAQCAtNTM1 LDYgKzUzNSwxMCBAQCB2b2lkIGV4cGFuZF9zeW10YWJzX21hdGNoaW5nCiAgdm9pZCBtYXBfc3lt Ym9sX2ZpbGVuYW1lcyAoc3ltYm9sX2ZpbGVuYW1lX2Z0eXBlICpmdW4sIHZvaWQgKmRhdGEsCiAg CQkJICAgaW50IG5lZWRfZnVsbG5hbWUpOwogIApAQCAtMTI0Niw3ICsxMjIzLDcgQEAgaW5kZXgg YTZkYzE0ZTNjOS4uNTRhMTBkZjE1NSAxMDA2NDQKICAgICAgYXBwZW5kIG9wdGlvbnMgIiAtZXgg XCJiICRicGxpbmVcIiIKICAgICAgYXBwZW5kIG9wdGlvbnMgIiAtZXggXCJydW5cIiIKIGRpZmYg LS1naXQgYS9nZGIvdGVzdHN1aXRlL2xpYi9nZGIuZXhwIGIvZ2RiL3Rlc3RzdWl0ZS9saWIvZ2Ri LmV4cAotaW5kZXggNzcwMmQ5YzIzOC4uYTE2NWJmMDkzOCAxMDA2NDQKK2luZGV4IDBmMDVkMDQz ZjIuLmJlY2RhNmEwMDEgMTAwNjQ0CiAtLS0gYS9nZGIvdGVzdHN1aXRlL2xpYi9nZGIuZXhwCiAr KysgYi9nZGIvdGVzdHN1aXRlL2xpYi9nZGIuZXhwCiBAQCAtMTY5NCw2ICsxNjk0LDE2IEBAIHBy b2MgZGVmYXVsdF9nZGJfc3RhcnQgeyB9IHsKQEAgLTEyNjcsNyArMTI0NCw3IEBAIGluZGV4IDc3 MDJkOWMyMzguLmExNjViZjA5MzggMTAwNjQ0CiAgfQogIAogZGlmZiAtLWdpdCBhL2dkYi90ZXN0 c3VpdGUvbGliL21pLXN1cHBvcnQuZXhwIGIvZ2RiL3Rlc3RzdWl0ZS9saWIvbWktc3VwcG9ydC5l eHAKLWluZGV4IDI4NDZkYTc0ZTQuLjAwNGMzZTZjMWMgMTAwNjQ0CitpbmRleCA4NTFlNDkwZjRk Li40NjljYTU5MmFiIDEwMDY0NAogLS0tIGEvZ2RiL3Rlc3RzdWl0ZS9saWIvbWktc3VwcG9ydC5l eHAKICsrKyBiL2dkYi90ZXN0c3VpdGUvbGliL21pLXN1cHBvcnQuZXhwCiBAQCAtMzA5LDYgKzMw OSwxNiBAQCBwcm9jIGRlZmF1bHRfbWlfZ2RiX3N0YXJ0IHsgYXJncyB9IHsKCmRpZmYgLS1naXQg YS9nZGItNi42LWJ6MjM1MTk3LWZvcmstZGV0YWNoLWluZm8ucGF0Y2ggYi9nZGItNi42LWJ6MjM1 MTk3LWZvcmstZGV0YWNoLWluZm8ucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4 IGI5ODU2NTQuLjAwMDAwMDAKLS0tIGEvZ2RiLTYuNi1iejIzNTE5Ny1mb3JrLWRldGFjaC1pbmZv LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMTUzICswLDAgQEAKLUZyb20gRkVET1JBX1BBVENI RVMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBKYW4gS3JhdG9jaHZpbCA8amFuLmty YXRvY2h2aWxAcmVkaGF0LmNvbT4KLURhdGU6IEZyaSwgMjcgT2N0IDIwMTcgMjE6MDc6NTAgKzAy MDAKLVN1YmplY3Q6IGdkYi02LjYtYnoyMzUxOTctZm9yay1kZXRhY2gtaW5mby5wYXRjaAotCi1G aWxlTmFtZTogZ2RiLTYuNi1iejIzNTE5Ny1mb3JrLWRldGFjaC1pbmZvLnBhdGNoCi0KLTs7IE5v dGlmeSB1c2VyIG9mIGEgY2hpbGQgZm9ya2VkIHByb2Nlc3MgYmVpbmcgZGV0YWNoZWQgKEJaIDIz NTE5NykuCi07Oz1wdXNoK2phbjogVGhpcyBpcyBtb3JlIGFib3V0IGRpc2N1c3Npb24gaWYvd2hh dCBzaG91bGQgYmUgcHJpbnRlZC4KLQotMjAwOC0wMy0wMSAgSmFuIEtyYXRvY2h2aWwgIDxqYW4u a3JhdG9jaHZpbEByZWRoYXQuY29tPgotCi0JUG9ydCB0byBHREItNi44cHJlLgotCVJlbW92ZSB0 aGUgYFsnIGNoYXJhY3RlciBmcm9tIHRoZSBHREItNi44IGRlZmF1bHQgbWVzc2FnZS4KLQotZGlm ZiAtLWdpdCBhL2dkYi9pbmZydW4uYyBiL2dkYi9pbmZydW4uYwotaW5kZXggZTFkMTEyMzRlMC4u MjM0Mzk5NzliNSAxMDA2NDQKLS0tLSBhL2dkYi9pbmZydW4uYwotKysrIGIvZ2RiL2luZnJ1bi5j Ci1AQCAtNDYxLDcgKzQ2MSw3IEBAIGhvbGRpbmcgdGhlIGNoaWxkIHN0b3BwZWQuICBUcnkgXCJz ZXQgZGV0YWNoLW9uLWZvcmtcIiBvciBcCi0gCSAgICAgIHJlbW92ZV9icmVha3BvaW50c19waWQg KHB0aWRfZ2V0X3BpZCAoaW5mZXJpb3JfcHRpZCkpOwotIAkgICAgfQotIAotLQkgIGlmIChpbmZv X3ZlcmJvc2UgfHwgZGVidWdfaW5mcnVuKQotKwkgIGlmICgxIC8qIEZlZG9yYSBCdWcgMjM1MTk3 ICovIHx8IGluZm9fdmVyYm9zZSB8fCBkZWJ1Z19pbmZydW4pCi0gCSAgICB7Ci0gCSAgICAgIC8q IEVuc3VyZSB0aGF0IHdlIGhhdmUgYSBwcm9jZXNzIHB0aWQuICAqLwotIAkgICAgICBwdGlkX3Qg cHJvY2Vzc19wdGlkID0gcGlkX3RvX3B0aWQgKHB0aWRfZ2V0X3BpZCAoY2hpbGRfcHRpZCkpOwot ZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvY2F0Y2gtc3lzY2FsbC5leHAgYi9n ZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2NhdGNoLXN5c2NhbGwuZXhwCi1pbmRleCAyYThiZjI3ZTVj Li4yMGZhMDQxMTU1IDEwMDY0NAotLS0tIGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9jYXRjaC1z eXNjYWxsLmV4cAotKysrIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9jYXRjaC1zeXNjYWxsLmV4 cAotQEAgLTE3OSw3ICsxNzksNyBAQCBwcm9jIGNoZWNrX2Zvcl9wcm9ncmFtX2VuZCB7fSB7Ci0g ICAgICMgRGVsZXRpbmcgdGhlIGNhdGNocG9pbnRzCi0gICAgIGRlbGV0ZV9icmVha3BvaW50cwot IAotLSAgICBnZGJfY29udGludWVfdG9fZW5kCi0rICAgIGdkYl9jb250aW51ZV90b19lbmQgIiIg Y29udGludWUgMQotIH0KLSAKLSBwcm9jIHRlc3RfY2F0Y2hfc3lzY2FsbF93aXRob3V0X2FyZ3Mg e30gewotQEAgLTI1MCw3ICsyNTAsNyBAQCBwcm9jIHRlc3RfY2F0Y2hfc3lzY2FsbF93aXRoX3dy b25nX2FyZ3Mge30gewotIAkjIElmIGl0IGRvZXNuJ3QsIGV2ZXJ5dGhpbmcgaXMgcmlnaHQgKHNp bmNlIHdlIGRvbid0IGhhdmUKLSAJIyBhIHN5c2NhbGwgbmFtZWQgIm1sb2NrIiBpbiBpdCkuICBP dGhlcndpc2UsIHRoaXMgaXMgYSBmYWlsdXJlLgotIAlzZXQgdGhpc3Rlc3QgImNhdGNoIHN5c2Nh bGwgd2l0aCB1bnVzZWQgc3lzY2FsbCAoJHN5c2NhbGxfbmFtZSkiCi0tCWdkYl9jb250aW51ZV90 b19lbmQgJHRoaXN0ZXN0Ci0rCWdkYl9jb250aW51ZV90b19lbmQgJHRoaXN0ZXN0IGNvbnRpbnVl IDEKLSAgICAgfQotIH0KLSAKLWRpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2Zv cmstZGV0YWNoLmMgYi9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2ZvcmstZGV0YWNoLmMKLW5ldyBm aWxlIG1vZGUgMTAwNjQ0Ci0tLS0gL2Rldi9udWxsCi0rKysgYi9nZGIvdGVzdHN1aXRlL2dkYi5i YXNlL2ZvcmstZGV0YWNoLmMKLUBAIC0wLDAgKzEsNTcgQEAKLSsvKiBUaGlzIHRlc3RjYXNlIGlz IHBhcnQgb2YgR0RCLCB0aGUgR05VIGRlYnVnZ2VyLgotKwotKyAgIENvcHlyaWdodCAyMDA3IEZy ZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgotKwotKyAgIFRoaXMgcHJvZ3JhbSBpcyBmcmVl IHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5Ci0rICAgaXQg dW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJs aXNoZWQgYnkKLSsgICB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lv biAyIG9mIHRoZSBMaWNlbnNlLCBvcgotKyAgIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZl cnNpb24uCi0rCi0rICAgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRo YXQgaXQgd2lsbCBiZSB1c2VmdWwsCi0rICAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRo b3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKLSsgICBNRVJDSEFOVEFCSUxJVFkgb3Ig RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCi0rICAgR05VIEdlbmVy YWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLSsgCi0rICAgWW91IHNob3VsZCBo YXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKLSsg ICBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0 d2FyZQotKyAgIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSAtIFN1aXRlIDMzMCwg Qm9zdG9uLCBNQSAwMjExMS0xMzA3LCBVU0EuCi0rCi0rICAgUGxlYXNlIGVtYWlsIGFueSBidWdz LCBjb21tZW50cywgYW5kL29yIGFkZGl0aW9ucyB0byB0aGlzIGZpbGUgdG86Ci0rICAgYnVnLWdk YkBwcmVwLmFpLm1pdC5lZHUgICovCi0rCi0rI2luY2x1ZGUgPHN5cy90eXBlcy5oPgotKyNpbmNs dWRlIDxzeXMvd2FpdC5oPgotKyNpbmNsdWRlIDx1bmlzdGQuaD4KLSsjaW5jbHVkZSA8YXNzZXJ0 Lmg+Ci0rI2luY2x1ZGUgPHN0ZGxpYi5oPgotKwotK3N0YXRpYyB2b2lkIGZ1bmMgKHZvaWQpCi0r ewotK30KLSsKLStpbnQgbWFpbiAodm9pZCkKLSt7Ci0rICBwaWRfdCBjaGlsZDsKLSsKLSsgIGNo aWxkID0gZm9yayAoKTsKLSsgIHN3aXRjaCAoY2hpbGQpCi0rICAgIHsKLSsgICAgICBjYXNlIC0x OgotKwlhYm9ydCAoKTsKLSsgICAgICBjYXNlIDA6Ci0rCWZ1bmMgKCk7Ci0rCWJyZWFrOwotKyAg ICAgIGRlZmF1bHQ6Ci0rICAgICAgICB7Ci0rLyogV2UgZG8gbm90IHRlc3QgdGhlIHN3aXRjaGlu ZyB0byB0aGUgb3RoZXIgZm9yayBieSBHREIgYGZvcmsgMScuICAqLwotKyNpZiAwCi0rCSAgcGlk X3QgZ290OwotKwotKwkgIGdvdCA9IHdhaXRwaWQgKGNoaWxkLCBOVUxMLCAwKTsKLSsJICBhc3Nl cnQgKGdvdCA9PSBjaGlsZCk7Ci0rI2VuZGlmCi0rCSAgYnJlYWs7Ci0rCX0KLSsgICAgfQotKyAg cmV0dXJuIDA7Ci0rfQotZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvZm9yay1k ZXRhY2guZXhwIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9mb3JrLWRldGFjaC5leHAKLW5ldyBm aWxlIG1vZGUgMTAwNjQ0Ci0tLS0gL2Rldi9udWxsCi0rKysgYi9nZGIvdGVzdHN1aXRlL2dkYi5i YXNlL2ZvcmstZGV0YWNoLmV4cAotQEAgLTAsMCArMSwzNiBAQAotKyMgQ29weXJpZ2h0IDIwMDcg RnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCi0rCi0rIyBUaGlzIHByb2dyYW0gaXMgZnJl ZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQotKyMgaXQg dW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJs aXNoZWQgYnkKLSsjIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9u IDIgb2YgdGhlIExpY2Vuc2UsIG9yCi0rIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJz aW9uLgotKyMgCi0rIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhh dCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSsjIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91 dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0rIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklU TkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCi0rIyBHTlUgR2VuZXJhbCBQ dWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgotKyMgCi0rIyBZb3Ugc2hvdWxkIGhhdmUg cmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQotKyMgYWxv bmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUK LSsjIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSAtIFN1aXRlIDMzMCwgQm9zdG9u LCBNQSAwMjExMS0xMzA3LCBVU0EuCi0rCi0rc2V0IHRlc3RmaWxlIGZvcmstZGV0YWNoCi0rc2V0 IHNyY2ZpbGUgJHt0ZXN0ZmlsZX0uYwotK3NldCBiaW5maWxlIFtzdGFuZGFyZF9vdXRwdXRfZmls ZSAke3Rlc3RmaWxlfV0KLStpZiAgeyBbZ2RiX2NvbXBpbGUgIiR7c3JjZGlyfS8ke3N1YmRpcn0v JHtzcmNmaWxlfSIgIiR7YmluZmlsZX0iIGV4ZWN1dGFibGUge2RlYnVnfV0gIT0gIiIgfSB7Ci0r ICAgIHVudGVzdGVkICJDb3VsZG4ndCBjb21waWxlIHRlc3QgcHJvZ3JhbSIKLSsgICAgcmV0dXJu IC0xCi0rfQotKwotKyMgR2V0IHRoaW5ncyBzdGFydGVkLgotKwotK2dkYl9leGl0Ci0rZ2RiX3N0 YXJ0Ci0rZ2RiX3JlaW5pdGlhbGl6ZV9kaXIgJHNyY2Rpci8kc3ViZGlyCi0rZ2RiX2xvYWQgJHti aW5maWxlfQotKwotK2dkYl9ydW5fY21kCi0rIyBgU3RhcnRpbmcgcHJvZ3JhbTogLionIHByZWZp eCBpcyBhdmFpbGFibGUgc2luY2UgZ2RiLTYuNy4KLStnZGJfdGVzdCAiIiBcCi0rICAgICAgICAg IkRldGFjaGluZyBhZnRlciBmb3JrIGZyb20gY2hpbGQgcHJvY2Vzcy4qXFxcW0luZmVyaW9yIC4q IGV4aXRlZCBub3JtYWxseVxcXF0iIFwKLSsgICAgICAgICAiSW5mbyBtZXNzYWdlIGNhdWdodCIK CmRpZmYgLS1naXQgYS9nZGItNi42LXNjaGVkdWxlcl9sb2NraW5nLXN0ZXAtaXMtZGVmYXVsdC5w YXRjaCBiL2dkYi02LjYtc2NoZWR1bGVyX2xvY2tpbmctc3RlcC1pcy1kZWZhdWx0LnBhdGNoCmlu ZGV4IGMwY2RjODkuLjQ3ZDczZDAgMTAwNjQ0Ci0tLSBhL2dkYi02LjYtc2NoZWR1bGVyX2xvY2tp bmctc3RlcC1pcy1kZWZhdWx0LnBhdGNoCisrKyBiL2dkYi02LjYtc2NoZWR1bGVyX2xvY2tpbmct c3RlcC1pcy1kZWZhdWx0LnBhdGNoCkBAIC05LDcgKzksNyBAQCBGaWxlTmFtZTogZ2RiLTYuNi1z Y2hlZHVsZXJfbG9ja2luZy1zdGVwLWlzLWRlZmF1bHQucGF0Y2gKIDs7PXB1c2gramFuOiBIb3cg bXVjaCBpcyBzY2hlZHVsZXItbG9ja2luZyByZWxldmFudCBhZnRlciBub24tc3RvcD8KIAogZGlm ZiAtLWdpdCBhL2dkYi9pbmZydW4uYyBiL2dkYi9pbmZydW4uYwotaW5kZXggMjM0Mzk5NzliNS4u MWQwZjczMTk1NCAxMDA2NDQKK2luZGV4IGRmMTk0NzhlZjMuLjc4ZmZjMTBiMjMgMTAwNjQ0CiAt LS0gYS9nZGIvaW5mcnVuLmMKICsrKyBiL2dkYi9pbmZydW4uYwogQEAgLTIyMDIsNyArMjIwMiw3 IEBAIHN0YXRpYyBjb25zdCBjaGFyICpjb25zdCBzY2hlZHVsZXJfZW51bXNbXSA9IHsKCmRpZmYg LS1naXQgYS9nZGItNi44LWF0dGFjaC1zaWduYWxsZWQtZGV0YWNoLXN0b3BwZWQucGF0Y2ggYi9n ZGItNi44LWF0dGFjaC1zaWduYWxsZWQtZGV0YWNoLXN0b3BwZWQucGF0Y2gKZGVsZXRlZCBmaWxl IG1vZGUgMTAwNjQ0CmluZGV4IGJlNzVhMWYuLjAwMDAwMDAKLS0tIGEvZ2RiLTYuOC1hdHRhY2gt c2lnbmFsbGVkLWRldGFjaC1zdG9wcGVkLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMTkxICsw LDAgQEAKLUZyb20gRkVET1JBX1BBVENIRVMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9t OiBGZWRvcmEgR0RCIHBhdGNoZXMgPGludmFsaWRAZW1haWwuY29tPgotRGF0ZTogRnJpLCAyNyBP Y3QgMjAxNyAyMTowNzo1MCArMDIwMAotU3ViamVjdDogZ2RiLTYuOC1hdHRhY2gtc2lnbmFsbGVk LWRldGFjaC1zdG9wcGVkLnBhdGNoCi0KLUZpbGVOYW1lOiBnZGItNi44LWF0dGFjaC1zaWduYWxs ZWQtZGV0YWNoLXN0b3BwZWQucGF0Y2gKLQotOzsgW1JIRUw1LFJIRUw2XSBGaXggYXR0YWNoaW5n IHRvIHN0b3BwZWQgcHJvY2Vzc2VzLgotOzsgW1JIRUw1XSBXb3JrYXJvdW5kIGtlcm5lbCBmb3Ig ZGV0YWNoaW5nIFNJR1NUT1BwZWQgcHJvY2Vzc2VzIChCWiA4MDkzODIpLgotOzs9ZmVkb3JhCi0K LWRpZmYgLS1naXQgYS9nZGIvaW5mcnVuLmMgYi9nZGIvaW5mcnVuLmMKLWluZGV4IGI0NjhkMDJm ZDYuLjE2NTYxZGQxMTkgMTAwNjQ0Ci0tLS0gYS9nZGIvaW5mcnVuLmMKLSsrKyBiL2dkYi9pbmZy dW4uYwotQEAgLTYwNiw2ICs2MDYsMTMgQEAgaG9sZGluZyB0aGUgY2hpbGQgc3RvcHBlZC4gIFRy eSBcInNldCBkZXRhY2gtb24tZm9ya1wiIG9yIFwKLSAJCQkJdGFyZ2V0X3BpZF90b19zdHIgKHBy b2Nlc3NfcHRpZCkpOwotIAkgICAgfQotIAotKyNpZmRlZiBORUVEX0RFVEFDSF9TSUdTVE9QCi0r CSAgLyogV2Ugc2hvdWxkIGNoZWNrIFBJRF9XQVNfU1RPUFBFRCBhbmQgZGV0YWNoIGl0IHN0b3Bw ZWQgYWNjb3JkaW5nbHkuCi0rCSAgICAgSW4gdGhpcyBwb2ludCBvZiBjb2RlIGl0IGNhbm5vdCBi ZSAxIGFzIHdlIHdvdWxkIG5vdCBnZXQgRk9SSwotKwkgICAgIGV4ZWN1dGVkIHdpdGhvdXQgQ09O VElOVUUgZmlyc3Qgd2hpY2ggcmVzZXRzIFBJRF9XQVNfU1RPUFBFRC4KLSsJICAgICBXZSB3b3Vs ZCBoYXZlIHRvIGZpcnN0IFRBUkdFVF9TVE9QIGFuZCBXQUlUUElEIGl0IGFzIHdpdGggcnVubmlu ZwotKwkgICAgIGluZmVyaW9yIFBUUkFDRV9ERVRBQ0gsIFNJR1NUT1Agd2lsbCBpZ25vcmUgdGhl IHNpZ25hbC4gICovCi0rI2VuZGlmCi0gCSAgdGFyZ2V0X2RldGFjaCAoTlVMTCwgMCk7Ci0gCX0K LSAKLWRpZmYgLS1naXQgYS9nZGIvbGludXgtbmF0LmMgYi9nZGIvbGludXgtbmF0LmMKLWluZGV4 IDE1NzBhMmJjYjYuLmExMDFmYmJlMzMgMTAwNjQ0Ci0tLS0gYS9nZGIvbGludXgtbmF0LmMKLSsr KyBiL2dkYi9saW51eC1uYXQuYwotQEAgLTE5NCw2ICsxOTQsMTEgQEAgZW51bSB0cmlib29sIGhh dmVfcHRyYWNlX2dldHJlZ3NldCA9IFRSSUJPT0xfVU5LTk9XTjsKLSBzdGF0aWMgc3RydWN0IHRh cmdldF9vcHMgKmxpbnV4X29wczsKLSBzdGF0aWMgc3RydWN0IHRhcmdldF9vcHMgbGludXhfb3Bz X3NhdmVkOwotIAotKyNpZmRlZiBORUVEX0RFVEFDSF9TSUdTVE9QCi0rLyogUElEIG9mIHRoZSBp bmZlcmlvciBzdG9wcGVkIGJ5IFNJR1NUT1AgYmVmb3JlIGF0dGFjaGluZyAob3IgemVybykuICAq LwotK3N0YXRpYyBwaWRfdCBwaWRfd2FzX3N0b3BwZWQ7Ci0rCi0rI2VuZGlmCi0gLyogVGhlIG1l dGhvZCB0byBjYWxsLCBpZiBhbnksIHdoZW4gYSBuZXcgdGhyZWFkIGlzIGF0dGFjaGVkLiAgKi8K LSBzdGF0aWMgdm9pZCAoKmxpbnV4X25hdF9uZXdfdGhyZWFkKSAoc3RydWN0IGx3cF9pbmZvICop OwotIAotQEAgLTEwNjUsNiArMTA3MCw5IEBAIGxpbnV4X25hdF9wb3N0X2F0dGFjaF93YWl0IChw dGlkX3QgcHRpZCwgaW50ICpzaWduYWxsZWQpCi0gICAgICAgaWYgKGRlYnVnX2xpbnV4X25hdCkK LSAJZnByaW50Zl91bmZpbHRlcmVkIChnZGJfc3RkbG9nLAotIAkJCSAgICAiTE5QQVc6IEF0dGFj aGluZyB0byBhIHN0b3BwZWQgcHJvY2Vzc1xuIik7Ci0rI2lmZGVmIE5FRURfREVUQUNIX1NJR1NU T1AKLSsgICAgICBwaWRfd2FzX3N0b3BwZWQgPSBwdGlkX2dldF9waWQgKHB0aWQpOwotKyNlbmRp ZgotIAotICAgICAgIC8qIFRoZSBwcm9jZXNzIGlzIGRlZmluaXRlbHkgc3RvcHBlZC4gIEl0IGlz IGluIGEgam9iIGNvbnRyb2wKLSAJIHN0b3AsIHVubGVzcyB0aGUga2VybmVsIHByZWRhdGVzIHRo ZSBUQVNLX1NUT1BQRUQgLwotQEAgLTE0MjAsNiArMTQyOCwyNSBAQCBnZXRfZGV0YWNoX3NpZ25h bCAoc3RydWN0IGx3cF9pbmZvICpscCkKLSAgICAgICByZXR1cm4gZ2RiX3NpZ25hbF90b19ob3N0 IChzaWdubyk7Ci0gICAgIH0KLSAKLSsjaWZkZWYgTkVFRF9ERVRBQ0hfU0lHU1RPUAotKyAgLyog V29ya2Fyb3VuZCBSSEVMLTUga2VybmVsIHdoaWNoIGhhcyB1bnJlbGlhYmxlIFBUUkFDRV9ERVRB Q0gsIFNJR1NUT1AgKHRoYXQKLSsgICAgIG1hbnkgVElEcyBhcmUgbGVmdCB1bnN0b3BwZWQpLiAg U2VlIFJIIEJ1ZyA0OTY3MzIuICAqLwotKyAgaWYgKHB0aWRfZ2V0X3BpZCAobHAtPnB0aWQpID09 IHBpZF93YXNfc3RvcHBlZCkKLSsgICAgewotKyAgICAgIGludCBlcnI7Ci0rCi0rICAgICAgZXJy bm8gPSAwOwotKyAgICAgIGVyciA9IGtpbGxfbHdwIChwdGlkX2dldF9sd3AgKGxwLT5wdGlkKSwg U0lHU1RPUCk7Ci0rICAgICAgaWYgKGRlYnVnX2xpbnV4X25hdCkKLSsJewotKwkgIGZwcmludGZf dW5maWx0ZXJlZCAoZ2RiX3N0ZGxvZywKLSsJCQkgICAgICAiU0M6ICBsd3Aga2lsbCAlZCAlc1xu IiwKLSsJCQkgICAgICBlcnIsCi0rCQkJICAgICAgZXJybm8gPyBzYWZlX3N0cmVycm9yIChlcnJu bykgOiAiRVJSTk8tT0siKTsKLSsJfQotKyAgICB9Ci0rCi0rI2VuZGlmCi0gICByZXR1cm4gMDsK LSB9Ci0gCi1AQCAtMTU3OCw2ICsxNjA1LDEwIEBAIGxpbnV4X25hdF9kZXRhY2ggKHN0cnVjdCB0 YXJnZXRfb3BzICpvcHMsIGNvbnN0IGNoYXIgKmFyZ3MsIGludCBmcm9tX3R0eSkKLSAgICAgICBk ZXRhY2hfb25lX2x3cCAobWFpbl9sd3AsICZzaWdubyk7Ci0gCi0gICAgICAgaW5mX3B0cmFjZV9k ZXRhY2hfc3VjY2VzcyAob3BzKTsKLSsKLSsjaWZkZWYgTkVFRF9ERVRBQ0hfU0lHU1RPUAotKyAg ICAgIHBpZF93YXNfc3RvcHBlZCA9IDA7Ci0rI2VuZGlmCi0gICAgIH0KLSB9Ci0gCi1AQCAtMTgz OCw2ICsxODY5LDE2IEBAIGxpbnV4X25hdF9yZXN1bWUgKHN0cnVjdCB0YXJnZXRfb3BzICpvcHMs Ci0gICAgICAgcmV0dXJuOwotICAgICB9Ci0gCi0rI2lmZGVmIE5FRURfREVUQUNIX1NJR1NUT1AK LSsgIC8qIEF0IHRoaXMgcG9pbnQsIHdlIGFyZSBnb2luZyB0byByZXN1bWUgdGhlIGluZmVyaW9y IGFuZCBpZiB3ZQotKyAgICAgaGF2ZSBhdHRhY2hlZCB0byBhIHN0b3BwZWQgcHJvY2Vzcywgd2Ug bm8gbG9uZ2VyIHNob3VsZCBsZWF2ZQotKyAgICAgaXQgYXMgc3RvcHBlZCBpZiB0aGUgdXNlciBk ZXRhY2hlcy4gIFBUSUQgdmFyaWFibGUgaGFzIFBJRCBzZXQgdG8gTFdQCi0rICAgICB3aGlsZSB3 ZSBuZWVkIHRvIGNoZWNrIHRoZSByZWFsIFBJRCBoZXJlLiAgKi8KLSsKLSsgIGlmICghc3RlcCAm JiBscCAmJiBwaWRfd2FzX3N0b3BwZWQgPT0gcHRpZF9nZXRfcGlkIChscC0+cHRpZCkpCi0rICAg IHBpZF93YXNfc3RvcHBlZCA9IDA7Ci0rCi0rI2VuZGlmCi0gICBpZiAocmVzdW1lX21hbnkpCi0g ICAgIGl0ZXJhdGVfb3Zlcl9sd3BzIChwdGlkLCBsaW51eF9uYXRfcmVzdW1lX2NhbGxiYWNrLCBs cCk7Ci0gCi1AQCAtMzgzMCw2ICszODcxLDEwIEBAIGxpbnV4X25hdF9tb3Vybl9pbmZlcmlvciAo c3RydWN0IHRhcmdldF9vcHMgKm9wcykKLSAKLSAgIC8qIExldCB0aGUgYXJjaC1zcGVjaWZpYyBu YXRpdmUgY29kZSBrbm93IHRoaXMgcHJvY2VzcyBpcyBnb25lLiAgKi8KLSAgIGxpbnV4X25hdF9m b3JnZXRfcHJvY2VzcyAocGlkKTsKLSsjaWZkZWYgTkVFRF9ERVRBQ0hfU0lHU1RPUAotKwotKyAg cGlkX3dhc19zdG9wcGVkID0gMDsKLSsjZW5kaWYKLSB9Ci0gCi0gLyogQ29udmVydCBhIG5hdGl2 ZS9ob3N0IHNpZ2luZm8gb2JqZWN0LCBpbnRvL2Zyb20gdGhlIHNpZ2luZm8gaW4gdGhlCi1kaWZm IC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIudGhyZWFkcy9hdHRhY2gtc3RvcHBlZC5leHAgYi9n ZGIvdGVzdHN1aXRlL2dkYi50aHJlYWRzL2F0dGFjaC1zdG9wcGVkLmV4cAotaW5kZXggNmM4Yzhi ZjEwZS4uYzk1M2E5YzYwZCAxMDA2NDQKLS0tLSBhL2dkYi90ZXN0c3VpdGUvZ2RiLnRocmVhZHMv YXR0YWNoLXN0b3BwZWQuZXhwCi0rKysgYi9nZGIvdGVzdHN1aXRlL2dkYi50aHJlYWRzL2F0dGFj aC1zdG9wcGVkLmV4cAotQEAgLTU2LDcgKzU2LDY1IEBAIHByb2MgY29yZWZ1bmMgeyB0aHJlYWR0 eXBlIH0gewotICAgICBnZGJfcmVpbml0aWFsaXplX2RpciAkc3JjZGlyLyRzdWJkaXIKLSAgICAg Z2RiX2xvYWQgJHtiaW5maWxlfQotIAotLSAgICAjIFZlcmlmeSB0aGF0IHdlIGNhbiBhdHRhY2gg dG8gdGhlIHN0b3BwZWQgcHJvY2Vzcy4KLSsgICAgIyBWZXJpZnkgdGhhdCB3ZSBjYW4gYXR0YWNo IHRvIHRoZSBwcm9jZXNzIGJ5IGZpcnN0IGdpdmluZyBpdHMKLSsgICAgIyBleGVjdXRhYmxlIG5h bWUgdmlhIHRoZSBmaWxlIGNvbW1hbmQsIGFuZCB1c2luZyBhdHRhY2ggd2l0aCB0aGUKLSsgICAg IyBwcm9jZXNzIElELgotKwotKyAgICBzZXQgdGVzdCAiJHRocmVhZHR5cGU6IHNldCBmaWxlLCBi ZWZvcmUgYXR0YWNoMSB0byBzdG9wcGVkIHByb2Nlc3MiCi0rICAgIGdkYl90ZXN0X211bHRpcGxl ICJmaWxlICRiaW5maWxlIiAiJHRlc3QiIHsKLSsgICAgICAgLXJlICJMb2FkIG5ldyBzeW1ib2wg dGFibGUgZnJvbS4qeSBvciBuLiAkIiB7Ci0rCSAgICBnZGJfdGVzdCAieSIgIlJlYWRpbmcgc3lt Ym9scyBmcm9tICRlc2NhcGVkYmluZmlsZVwuXC5cLipkb25lLiIgXAotKwkJICAgICIkdGVzdCAo cmUtcmVhZCkiCi0rCX0KLSsJLXJlICJSZWFkaW5nIHN5bWJvbHMgZnJvbSAkZXNjYXBlZGJpbmZp bGVcLlwuXC4qZG9uZS4qJGdkYl9wcm9tcHQgJCIgewotKwkgICAgcGFzcyAiJHRlc3QiCi0rCX0K LSsgICAgfQotKwotKyAgICBzZXQgdGVzdCAiJHRocmVhZHR5cGU6IGF0dGFjaDEgdG8gc3RvcHBl ZCwgYWZ0ZXIgc2V0dGluZyBmaWxlIgotKyAgICBnZGJfdGVzdF9tdWx0aXBsZSAiYXR0YWNoICR0 ZXN0cGlkIiAiJHRlc3QiIHsKLSsJLXJlICJBdHRhY2hpbmcgdG8gcHJvZ3JhbS4qYD8kZXNjYXBl ZGJpbmZpbGUnPywgcHJvY2VzcyAkdGVzdHBpZC4qJGdkYl9wcm9tcHQgJCIgewotKwkgICAgcGFz cyAiJHRlc3QiCi0rCX0KLSsgICAgfQotKwotKyAgICAjICIuKnNsZWVwLipjbG9uZS4qIiB3b3Vs ZCBmYWlsIG9uIHMzOTB4IGFzIGJ0IHN0b3BzIGF0IFNUQVJUX1RIUkVBRCB0aGVyZS4KLSsgICAg aWYge1tzdHJpbmcgZXF1YWwgJHRocmVhZHR5cGUgdGhyZWFkZWRdfSB7Ci0rCWdkYl90ZXN0ICJ0 aHJlYWQgYXBwbHkgYWxsIGJ0IiAiLipzbGVlcC4qc3RhcnRfdGhyZWFkLioiICIkdGhyZWFkdHlw ZTogYXR0YWNoMSB0byBzdG9wcGVkIGJ0IgotKyAgICB9IGVsc2UgewotKwlnZGJfdGVzdCAiYnQi ICIuKnNsZWVwLiptYWluLioiICIkdGhyZWFkdHlwZTogYXR0YWNoMSB0byBzdG9wcGVkIGJ0Igot KyAgICB9Ci0rCi0rICAgICMgRXhpdCBhbmQgZGV0YWNoIHRoZSBwcm9jZXNzLgotKyAgICAgICAK LSsgICAgZ2RiX2V4aXQKLSsKLSsgICAgIyBBdm9pZCBzb21lIHJhY2U6Ci0rICAgIHNsZWVwIDIK LSsKLSsgICAgaWYgW2NhdGNoIHtvcGVuIC9wcm9jLyR7dGVzdHBpZH0vc3RhdHVzIHJ9IGZpbGVp ZF0gewotKwlzZXQgbGluZTIgIk5PVEZPVU5EIgotKyAgICB9IGVsc2UgewotKwlnZXRzICRmaWxl aWQgbGluZTE7Ci0rCWdldHMgJGZpbGVpZCBsaW5lMjsKLSsJY2xvc2UgJGZpbGVpZDsKLSsgICAg fQotKwotKyAgICBzZXQgdGVzdCAiJHRocmVhZHR5cGU6IGF0dGFjaDEsIGV4aXQgbGVhdmVzIHBy b2Nlc3Mgc3RvcHBlZCIKLSsgICAgaWYge1tzdHJpbmcgbWF0Y2ggIiooc3RvcHBlZCkqIiAkbGlu ZTJdfSB7Ci0rICAgICAgcGFzcyAkdGVzdAotKyAgICB9IGVsc2UgewotKyAgICAgIGZhaWwgJHRl c3QKLSsgICAgfQotKwotKyAgICAjIEF0IHRoaXMgcG9pbnQsIHRoZSBwcm9jZXNzIHNob3VsZCBz dGlsbCBiZSBzdG9wcGVkCi0rCi0rICAgIGdkYl9zdGFydAotKyAgICBnZGJfcmVpbml0aWFsaXpl X2RpciAkc3JjZGlyLyRzdWJkaXIKLSsgICAgZ2RiX2xvYWQgJHtiaW5maWxlfQotKwotKyAgICAj IFZlcmlmeSB0aGF0IHdlIGNhbiBhdHRhY2ggdG8gdGhlIHByb2Nlc3MganVzdCBieSBnaXZpbmcg dGhlCi0rICAgICMgcHJvY2VzcyBJRC4KLSAgICAgICAgCi0gICAgIHNldCB0ZXN0ICIkdGhyZWFk dHlwZTogYXR0YWNoMiB0byBzdG9wcGVkLCBhZnRlciBzZXR0aW5nIGZpbGUiCi0gICAgIGdkYl90 ZXN0X211bHRpcGxlICJhdHRhY2ggJHRlc3RwaWQiICIkdGVzdCIgewoKZGlmZiAtLWdpdCBhL2dk Yi02LjgtYno0MzYwMzctcmVnLW5vLWxvbmdlci1hY3RpdmUucGF0Y2ggYi9nZGItNi44LWJ6NDM2 MDM3LXJlZy1uby1sb25nZXItYWN0aXZlLnBhdGNoCmluZGV4IDAxZWRkMTYuLjkzMjYzMTQgMTAw NjQ0Ci0tLSBhL2dkYi02LjgtYno0MzYwMzctcmVnLW5vLWxvbmdlci1hY3RpdmUucGF0Y2gKKysr IGIvZ2RiLTYuOC1iejQzNjAzNy1yZWctbm8tbG9uZ2VyLWFjdGl2ZS5wYXRjaApAQCAtOSwxMCAr OSwxMCBAQCBGaWxlTmFtZTogZ2RiLTYuOC1iejQzNjAzNy1yZWctbm8tbG9uZ2VyLWFjdGl2ZS5w YXRjaAogOzs9cHVzaCtqYW46IFRoaXMgZml4IGlzIGluY29ycmVjdC4KIAogZGlmZiAtLWdpdCBh L2dkYi92YWxvcHMuYyBiL2dkYi92YWxvcHMuYwotaW5kZXggOWIyNTk4MDA5MC4uN2FhY2QxN2Q3 MCAxMDA2NDQKK2luZGV4IDliNjYwMGI1MzguLmNkYzVjODAxNGMgMTAwNjQ0CiAtLS0gYS9nZGIv dmFsb3BzLmMKICsrKyBiL2dkYi92YWxvcHMuYwotQEAgLTExMDMsNiArMTEwMyw4IEBAIHZhbHVl X2Fzc2lnbiAoc3RydWN0IHZhbHVlICp0b3ZhbCwgc3RydWN0IHZhbHVlICpmcm9tdmFsKQorQEAg LTExMDQsNiArMTEwNCw4IEBAIHZhbHVlX2Fzc2lnbiAoc3RydWN0IHZhbHVlICp0b3ZhbCwgc3Ry dWN0IHZhbHVlICpmcm9tdmFsKQogIAlzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaDsKICAJaW50IHZh bHVlX3JlZzsKICAKQEAgLTIxLDcgKzIxLDcgQEAgaW5kZXggOWIyNTk4MDA5MC4uN2FhY2QxN2Q3 MCAxMDA2NDQKICAJLyogRmlndXJlIG91dCB3aGljaCBmcmFtZSB0aGlzIGlzIGluIGN1cnJlbnRs eS4KICAJCiAgCSAgIFdlIHVzZSBWQUxVRV9GUkFNRV9JRCBmb3Igb2J0YWluaW5nIHRoZSB2YWx1 ZSdzIGZyYW1lIGlkIGluc3RlYWQgb2YKLUBAIC0xMTEyLDggKzExMTQsMTQgQEAgdmFsdWVfYXNz aWduIChzdHJ1Y3QgdmFsdWUgKnRvdmFsLCBzdHJ1Y3QgdmFsdWUgKmZyb212YWwpCitAQCAtMTEx Myw4ICsxMTE1LDE0IEBAIHZhbHVlX2Fzc2lnbiAoc3RydWN0IHZhbHVlICp0b3ZhbCwgc3RydWN0 IHZhbHVlICpmcm9tdmFsKQogIAkgICBmcmFtZS4gICovCiAgCWZyYW1lID0gZnJhbWVfZmluZF9i eV9pZCAoVkFMVUVfRlJBTUVfSUQgKHRvdmFsKSk7CiAgCgpkaWZmIC0tZ2l0IGEvZ2RiLTYuOC1x dWl0LW5ldmVyLWFib3J0cy5wYXRjaCBiL2dkYi02LjgtcXVpdC1uZXZlci1hYm9ydHMucGF0Y2gK aW5kZXggOGZiZTZmMC4uNjQ3Y2E0MCAxMDA2NDQKLS0tIGEvZ2RiLTYuOC1xdWl0LW5ldmVyLWFi b3J0cy5wYXRjaAorKysgYi9nZGItNi44LXF1aXQtbmV2ZXItYWJvcnRzLnBhdGNoCkBAIC0xNiw3 ICsxNiw3IEBAIHNob3VsZCBoYXZlIGJlZW4gZGV0YWNoZWQgd2l0aCBTSUdTVE9QIChhcyB0aGV5 IGFyZSBhY2NpZGVudGFsbHkgbGVmdCBydW5uaW5nCiBvbiB0aGUgZGVidWdnZXIgdGVybWluYXRp b24pLgogCiBkaWZmIC0tZ2l0IGEvZ2RiL2RlZnMuaCBiL2dkYi9kZWZzLmgKLWluZGV4IDBjMTU2 ZDU2YzMuLjlhN2Y0ZDUyYjAgMTAwNjQ0CitpbmRleCBjZTVmZWUzYmEzLi44YjE2YWNhMmEwIDEw MDY0NAogLS0tIGEvZ2RiL2RlZnMuaAogKysrIGIvZ2RiL2RlZnMuaAogQEAgLTE2OCw2ICsxNjgs MTAgQEAgZXh0ZXJuIHZvaWQgZGVmYXVsdF9xdWl0X2hhbmRsZXIgKHZvaWQpOwpAQCAtMzEsMTAg KzMxLDEwIEBAIGluZGV4IDBjMTU2ZDU2YzMuLjlhN2Y0ZDUyYjAgMTAwNjQ0CiAgCiAgLyogSGVs cGVyIGZvciB0aGUgUVVJVCBtYWNyby4gICovCiBkaWZmIC0tZ2l0IGEvZ2RiL2V4dGVuc2lvbi5j IGIvZ2RiL2V4dGVuc2lvbi5jCi1pbmRleCBhMWVlMzUxMGE2Li4yMjlkNzAyMjcwIDEwMDY0NAor aW5kZXggZTVjMDE0NjY3YS4uMWM1NGYwMzI3MiAxMDA2NDQKIC0tLSBhL2dkYi9leHRlbnNpb24u YwogKysrIGIvZ2RiL2V4dGVuc2lvbi5jCi1AQCAtODMwLDYgKzgzMCwxMSBAQCBjaGVja19xdWl0 X2ZsYWcgKHZvaWQpCitAQCAtODIwLDYgKzgyMCwxMSBAQCBjaGVja19xdWl0X2ZsYWcgKHZvaWQp CiAgICBpbnQgaSwgcmVzdWx0ID0gMDsKICAgIGNvbnN0IHN0cnVjdCBleHRlbnNpb25fbGFuZ3Vh Z2VfZGVmbiAqZXh0bGFuZzsKICAKQEAgLTQ3LDExICs0NywxMSBAQCBpbmRleCBhMWVlMzUxMGE2 Li4yMjlkNzAyMjcwIDEwMDY0NAogICAgICB7CiAgICAgICAgaWYgKGV4dGxhbmctPm9wcy0+Y2hl Y2tfcXVpdF9mbGFnICE9IE5VTEwpCiBkaWZmIC0tZ2l0IGEvZ2RiL3RvcC5jIGIvZ2RiL3RvcC5j Ci1pbmRleCA0NzQ5Y2Y1NjFkLi5lMjY2NWM4ZTIyIDEwMDY0NAoraW5kZXggMDdiMzg2ZGFjYi4u ZTZjNTk1NTA1ZiAxMDA2NDQKIC0tLSBhL2dkYi90b3AuYwogKysrIGIvZ2RiL3RvcC5jCi1AQCAt MTU4MCw3ICsxNTgwLDEzIEBAIHF1aXRfZm9yY2UgKGludCAqZXhpdF9hcmcsIGludCBmcm9tX3R0 eSkKLSAgIHF0LmFyZ3MgPSBOVUxMOworQEAgLTE2MDQsNyArMTYwNCwxMyBAQCBxdWl0X2ZvcmNl IChpbnQgKmV4aXRfYXJnLCBpbnQgZnJvbV90dHkpCisgCiAgICBxdC5mcm9tX3R0eSA9IGZyb21f dHR5OwogIAogKyNpZm5kZWYgTkVFRF9ERVRBQ0hfU0lHU1RPUApAQCAtNjUsMTAgKzY1LDEwIEBA IGluZGV4IDQ3NDljZjU2MWQuLmUyNjY1YzhlMjIgMTAwNjQ0CiAgICAvKiBHZXQgb3V0IG9mIHRm aW5kIG1vZGUsIGFuZCBraWxsIG9yIGRldGFjaCBhbGwgaW5mZXJpb3JzLiAgKi8KICAgIFRSWQog ZGlmZiAtLWdpdCBhL2dkYi91dGlscy5jIGIvZ2RiL3V0aWxzLmMKLWluZGV4IDZmMGFiYzk4YTIu LjU4YzAzODBkMTcgMTAwNjQ0CitpbmRleCBjODE2ZTJmODk3Li5kYjFjNTM0NTYwIDEwMDY0NAog LS0tIGEvZ2RiL3V0aWxzLmMKICsrKyBiL2dkYi91dGlscy5jCi1AQCAtMTA3LDYgKzEwNywxMyBA QCBzdGF0aWMgc3RkOjpjaHJvbm86OnN0ZWFkeV9jbG9jazo6ZHVyYXRpb24gcHJvbXB0X2Zvcl9j b250aW51ZV93YWl0X3RpbWU7CitAQCAtMTA4LDYgKzEwOCwxMyBAQCBzdGF0aWMgc3RkOjpjaHJv bm86OnN0ZWFkeV9jbG9jazo6ZHVyYXRpb24gcHJvbXB0X2Zvcl9jb250aW51ZV93YWl0X3RpbWU7 CiAgCiAgc3RhdGljIGludCBkZWJ1Z190aW1lc3RhbXAgPSAwOwogIAoKZGlmZiAtLWdpdCBhL2dk Yi02Ljgtc3BhcmM2NC1zaWxlbmNlLW1lbWNweS1jaGVjay5wYXRjaCBiL2dkYi02Ljgtc3BhcmM2 NC1zaWxlbmNlLW1lbWNweS1jaGVjay5wYXRjaAppbmRleCBiZWY0NjlmLi4wN2NmM2ZkIDEwMDY0 NAotLS0gYS9nZGItNi44LXNwYXJjNjQtc2lsZW5jZS1tZW1jcHktY2hlY2sucGF0Y2gKKysrIGIv Z2RiLTYuOC1zcGFyYzY0LXNpbGVuY2UtbWVtY3B5LWNoZWNrLnBhdGNoCkBAIC05LDEwICs5LDEw IEBAIEZpbGVOYW1lOiBnZGItNi44LXNwYXJjNjQtc2lsZW5jZS1tZW1jcHktY2hlY2sucGF0Y2gK IDs7PXB1c2g6IEJ1dCBpdCBpcyBqdXN0IGEgR0NDIHdvcmthcm91bmQsIGxvb2sgdXAgdGhlIGV4 aXN0aW5nIEdDQyBQUiBmb3IgaXQuCiAKIGRpZmYgLS1naXQgYS9nZGIvc3BhcmMtdGRlcC5jIGIv Z2RiL3NwYXJjLXRkZXAuYwotaW5kZXggMTJmZDViOWU2NC4uZTMwNGJhOGRiYyAxMDA2NDQKK2lu ZGV4IDczMDAwODBkOGQuLjk4NjBlMTI3MjkgMTAwNjQ0CiAtLS0gYS9nZGIvc3BhcmMtdGRlcC5j CiArKysgYi9nZGIvc3BhcmMtdGRlcC5jCi1AQCAtMTQ0NCw2ICsxNDQ0LDcgQEAgc3BhcmMzMl9z dG9yZV9yZXR1cm5fdmFsdWUgKHN0cnVjdCB0eXBlICp0eXBlLCBzdHJ1Y3QgcmVnY2FjaGUgKnJl Z2NhY2hlLAorQEAgLTE0NjIsNiArMTQ2Miw3IEBAIHNwYXJjMzJfc3RvcmVfcmV0dXJuX3ZhbHVl IChzdHJ1Y3QgdHlwZSAqdHlwZSwgc3RydWN0IHJlZ2NhY2hlICpyZWdjYWNoZSwKICAgIGlmIChz cGFyY19mbG9hdGluZ19wICh0eXBlKSB8fCBzcGFyY19jb21wbGV4X2Zsb2F0aW5nX3AgKHR5cGUp KQogICAgICB7CiAgICAgICAgLyogRmxvYXRpbmcgcmV0dXJuIHZhbHVlcy4gICovCgpkaWZmIC0t Z2l0IGEvZ2RiLTcuMi41MC1zcGFyYy1hZGQtd29ya2Fyb3VuZC10by1icm9rZW4tZGVidWctZmls ZXMucGF0Y2ggYi9nZGItNy4yLjUwLXNwYXJjLWFkZC13b3JrYXJvdW5kLXRvLWJyb2tlbi1kZWJ1 Zy1maWxlcy5wYXRjaAppbmRleCBkOTgxYmMxLi5jYWVmYjcyIDEwMDY0NAotLS0gYS9nZGItNy4y LjUwLXNwYXJjLWFkZC13b3JrYXJvdW5kLXRvLWJyb2tlbi1kZWJ1Zy1maWxlcy5wYXRjaAorKysg Yi9nZGItNy4yLjUwLXNwYXJjLWFkZC13b3JrYXJvdW5kLXRvLWJyb2tlbi1kZWJ1Zy1maWxlcy5w YXRjaApAQCAtMTksNyArMTksNyBAQCBGaWxlTmFtZTogZ2RiLTcuMi41MC1zcGFyYy1hZGQtd29y a2Fyb3VuZC10by1icm9rZW4tZGVidWctZmlsZXMucGF0Y2gKIDs7PXB1c2gKIAogZGlmZiAtLWdp dCBhL2dkYi9nZGJfYmZkLmMgYi9nZGIvZ2RiX2JmZC5jCi1pbmRleCA4MGRkZDQyN2FmLi4zZTRk M2U0NDQ0IDEwMDY0NAoraW5kZXggOGZlZGViNDM4ZC4uMDU3ZjVlMWFlOSAxMDA2NDQKIC0tLSBh L2dkYi9nZGJfYmZkLmMKICsrKyBiL2dkYi9nZGJfYmZkLmMKIEBAIC0yNCwxMiArMjQsMTQgQEAK CmRpZmYgLS1naXQgYS9nZGItYXJjaGVyLXBpZS1hZGRvbnMta2VlcC1kaXNhYmxlZC5wYXRjaCBi L2dkYi1hcmNoZXItcGllLWFkZG9ucy1rZWVwLWRpc2FibGVkLnBhdGNoCmluZGV4IGU3NWQ1MGQu LmMyOWNiNjggMTAwNjQ0Ci0tLSBhL2dkYi1hcmNoZXItcGllLWFkZG9ucy1rZWVwLWRpc2FibGVk LnBhdGNoCisrKyBiL2dkYi1hcmNoZXItcGllLWFkZG9ucy1rZWVwLWRpc2FibGVkLnBhdGNoCkBA IC04LDEwICs4LDEwIEBAIEZpbGVOYW1lOiBnZGItYXJjaGVyLXBpZS1hZGRvbnMta2VlcC1kaXNh YmxlZC5wYXRjaAogOzs9cHVzaCtqYW46IEJyZWFrcG9pbnRzIGRpc2FibGluZyBtYXRjaGluZyBz aG91bGQgbm90IGJlIGJhc2VkIG9uIGFkZHJlc3MuCiAKIGRpZmYgLS1naXQgYS9nZGIvYnJlYWtw b2ludC5jIGIvZ2RiL2JyZWFrcG9pbnQuYwotaW5kZXggMmI1ZWViYmJlZS4uODE0ODAyYTBhMSAx MDA2NDQKK2luZGV4IDcyMWFmZDJjMDQuLmEwNGIxMTgzYjcgMTAwNjQ0CiAtLS0gYS9nZGIvYnJl YWtwb2ludC5jCiArKysgYi9nZGIvYnJlYWtwb2ludC5jCi1AQCAtMTU1OTAsNiArMTU1OTAsNTAg QEAgaW5pdGlhbGl6ZV9icmVha3BvaW50X29wcyAodm9pZCkKK0BAIC0xNTUxMSw2ICsxNTUxMSw1 MCBAQCBpbml0aWFsaXplX2JyZWFrcG9pbnRfb3BzICh2b2lkKQogIAogIHN0YXRpYyBzdHJ1Y3Qg Y21kX2xpc3RfZWxlbWVudCAqZW5hYmxlYnJlYWtsaXN0ID0gTlVMTDsKICAKQEAgLTYzLDEwICs2 MywxMCBAQCBpbmRleCAyYjVlZWJiYmVlLi44MTQ4MDJhMGExIDEwMDY0NAogIF9pbml0aWFsaXpl X2JyZWFrcG9pbnQgKHZvaWQpCiAgewogZGlmZiAtLWdpdCBhL2dkYi9icmVha3BvaW50LmggYi9n ZGIvYnJlYWtwb2ludC5oCi1pbmRleCA4YmI4MWQ4ZDE3Li4zZmRkYmFhNzEzIDEwMDY0NAoraW5k ZXggNDIyMzE1OGZiYy4uNDA3Y2M1MzFkYiAxMDA2NDQKIC0tLSBhL2dkYi9icmVha3BvaW50LmgK ICsrKyBiL2dkYi9icmVha3BvaW50LmgKLUBAIC0xNjU2LDYgKzE2NTYsOSBAQCBleHRlcm4gY29u c3QgY2hhciAqZXBfcGFyc2Vfb3B0aW9uYWxfaWZfY2xhdXNlIChjb25zdCBjaGFyICoqYXJnKTsK K0BAIC0xNjgzLDYgKzE2ODMsOSBAQCBleHRlcm4gY29uc3QgY2hhciAqZXBfcGFyc2Vfb3B0aW9u YWxfaWZfY2xhdXNlIChjb25zdCBjaGFyICoqYXJnKTsKICAgICBVSU9VVCBpZmYgZGVidWdnaW5n IG11bHRpcGxlIHRocmVhZHMuICAqLwogIGV4dGVybiB2b2lkIG1heWJlX3ByaW50X3RocmVhZF9o aXRfYnJlYWtwb2ludCAoc3RydWN0IHVpX291dCAqdWlvdXQpOwogIApAQCAtNzcsMTAgKzc3LDEw IEBAIGluZGV4IDhiYjgxZDhkMTcuLjNmZGRiYWE3MTMgMTAwNjQ0CiAgZXh0ZXJuIHZvaWQgcHJp bnRfYnJlYWtwb2ludCAoYnJlYWtwb2ludCAqYnApOwogIAogZGlmZiAtLWdpdCBhL2dkYi9vYmpm aWxlcy5jIGIvZ2RiL29iamZpbGVzLmMKLWluZGV4IDdhZGFlZjExOWQuLjJmMDYxYjQ3ZjcgMTAw NjQ0CitpbmRleCBmNTdmNGY1OGIwLi5kMzFjMGQ2ZjU2IDEwMDY0NAogLS0tIGEvZ2RiL29iamZp bGVzLmMKICsrKyBiL2dkYi9vYmpmaWxlcy5jCi1AQCAtODc5LDYgKzg3OSwxMSBAQCBvYmpmaWxl X3JlbG9jYXRlMSAoc3RydWN0IG9iamZpbGUgKm9iamZpbGUsCitAQCAtODc1LDYgKzg3NSwxMSBA QCBvYmpmaWxlX3JlbG9jYXRlMSAoc3RydWN0IG9iamZpbGUgKm9iamZpbGUsCiAgCQkJCW9ial9z ZWN0aW9uX2FkZHIgKHMpKTsKICAgICAgfQogIAoKZGlmZiAtLWdpdCBhL2dkYi1hcmNoZXItcGll LWFkZG9ucy5wYXRjaCBiL2dkYi1hcmNoZXItcGllLWFkZG9ucy5wYXRjaAppbmRleCBmNDY5YjZl Li41OTBmZGI4IDEwMDY0NAotLS0gYS9nZGItYXJjaGVyLXBpZS1hZGRvbnMucGF0Y2gKKysrIGIv Z2RiLWFyY2hlci1waWUtYWRkb25zLnBhdGNoCkBAIC04LDEwICs4LDEwIEBAIEZpbGVOYW1lOiBn ZGItYXJjaGVyLXBpZS1hZGRvbnMucGF0Y2gKIDs7PXB1c2gramFuOiBNYXkgZ2V0IG9ic29sZXRl ZCBieSBUb20ncyB1bnJlbG9jYXRlZCBvYmpmaWxlcyBwYXRjaC4KIAogZGlmZiAtLWdpdCBhL2dk Yi9nZGJ0eXBlcy5oIGIvZ2RiL2dkYnR5cGVzLmgKLWluZGV4IDE3OTIzOGNlODIuLjU1OTcwMzgz NTcgMTAwNjQ0CitpbmRleCA4NzhjOGIwMzAyLi5jZjEzNDYxNjFkIDEwMDY0NAogLS0tIGEvZ2Ri L2dkYnR5cGVzLmgKICsrKyBiL2dkYi9nZGJ0eXBlcy5oCi1AQCAtNDUzLDYgKzQ1Myw3IEBAIGVu dW0gZmllbGRfbG9jX2tpbmQKK0BAIC01MDUsNiArNTA1LDcgQEAgZW51bSBmaWVsZF9sb2Nfa2lu ZAogICAgewogICAgICBGSUVMRF9MT0NfS0lORF9CSVRQT1MsCS8qKjwgYml0cG9zICovCiAgICAg IEZJRUxEX0xPQ19LSU5EX0VOVU1WQUwsCS8qKjwgZW51bXZhbCAqLwpAQCAtMTksNyArMTksNyBA QCBpbmRleCAxNzkyMzhjZTgyLi41NTk3MDM4MzU3IDEwMDY0NAogICAgICBGSUVMRF9MT0NfS0lO RF9QSFlTQUREUiwJLyoqPCBwaHlzYWRkciAqLwogICAgICBGSUVMRF9MT0NfS0lORF9QSFlTTkFN RSwJLyoqPCBwaHlzbmFtZSAqLwogICAgICBGSUVMRF9MT0NfS0lORF9EV0FSRl9CTE9DSwkvKio8 IGR3YXJmX2Jsb2NrICovCi1AQCAtNTA0LDYgKzUwNSw3IEBAIHVuaW9uIGZpZWxkX2xvY2F0aW9u CitAQCAtNTU2LDYgKzU1Nyw3IEBAIHVuaW9uIGZpZWxkX2xvY2F0aW9uCiAgICAgICBmaWVsZC4g IE90aGVyd2lzZSwgcGh5c25hbWUgaXMgdGhlIG1hbmdsZWQgbGFiZWwgb2YgdGhlCiAgICAgICBz dGF0aWMgZmllbGQuICAqLwogIApAQCAtMjcsNyArMjcsNyBAQCBpbmRleCAxNzkyMzhjZTgyLi41 NTk3MDM4MzU3IDEwMDY0NAogICAgQ09SRV9BRERSIHBoeXNhZGRyOwogICAgY29uc3QgY2hhciAq cGh5c25hbWU7CiAgCi1AQCAtMTM2Miw2ICsxMzY0LDcgQEAgZXh0ZXJuIHZvaWQgc2V0X3R5cGVf dnB0cl9iYXNldHlwZSAoc3RydWN0IHR5cGUgKiwgc3RydWN0IHR5cGUgKik7CitAQCAtMTQ1Myw2 ICsxNDU1LDcgQEAgZXh0ZXJuIHZvaWQgc2V0X3R5cGVfdnB0cl9iYXNldHlwZSAoc3RydWN0IHR5 cGUgKiwgc3RydWN0IHR5cGUgKik7CiAgI2RlZmluZSBGSUVMRF9FTlVNVkFMX0xWQUwodGhpc2Zs ZCkgKCh0aGlzZmxkKS5sb2MuZW51bXZhbCkKICAjZGVmaW5lIEZJRUxEX0VOVU1WQUwodGhpc2Zs ZCkgKEZJRUxEX0VOVU1WQUxfTFZBTCAodGhpc2ZsZCkgKyAwKQogICNkZWZpbmUgRklFTERfU1RB VElDX1BIWVNOQU1FKHRoaXNmbGQpICgodGhpc2ZsZCkubG9jLnBoeXNuYW1lKQpAQCAtMzUsNyAr MzUsNyBAQCBpbmRleCAxNzkyMzhjZTgyLi41NTk3MDM4MzU3IDEwMDY0NAogICNkZWZpbmUgRklF TERfU1RBVElDX1BIWVNBRERSKHRoaXNmbGQpICgodGhpc2ZsZCkubG9jLnBoeXNhZGRyKQogICNk ZWZpbmUgRklFTERfRFdBUkZfQkxPQ0sodGhpc2ZsZCkgKCh0aGlzZmxkKS5sb2MuZHdhcmZfYmxv Y2spCiAgI2RlZmluZSBTRVRfRklFTERfQklUUE9TKHRoaXNmbGQsIGJpdHBvcykJCQlcCi1AQCAt MTM3Myw2ICsxMzc2LDcgQEAgZXh0ZXJuIHZvaWQgc2V0X3R5cGVfdnB0cl9iYXNldHlwZSAoc3Ry dWN0IHR5cGUgKiwgc3RydWN0IHR5cGUgKik7CitAQCAtMTQ2NCw2ICsxNDY3LDcgQEAgZXh0ZXJu IHZvaWQgc2V0X3R5cGVfdnB0cl9iYXNldHlwZSAoc3RydWN0IHR5cGUgKiwgc3RydWN0IHR5cGUg Kik7CiAgI2RlZmluZSBTRVRfRklFTERfUEhZU05BTUUodGhpc2ZsZCwgbmFtZSkJCQlcCiAgICAo RklFTERfTE9DX0tJTkQgKHRoaXNmbGQpID0gRklFTERfTE9DX0tJTkRfUEhZU05BTUUsCQlcCiAg ICAgRklFTERfU1RBVElDX1BIWVNOQU1FICh0aGlzZmxkKSA9IChuYW1lKSkKQEAgLTQzLDcgKzQz LDcgQEAgaW5kZXggMTc5MjM4Y2U4Mi4uNTU5NzAzODM1NyAxMDA2NDQKICAjZGVmaW5lIFNFVF9G SUVMRF9QSFlTQUREUih0aGlzZmxkLCBhZGRyKQkJCVwKICAgIChGSUVMRF9MT0NfS0lORCAodGhp c2ZsZCkgPSBGSUVMRF9MT0NfS0lORF9QSFlTQUREUiwJCVwKICAgICBGSUVMRF9TVEFUSUNfUEhZ U0FERFIgKHRoaXNmbGQpID0gKGFkZHIpKQotQEAgLTEzODksNiArMTM5Myw3IEBAIGV4dGVybiB2 b2lkIHNldF90eXBlX3ZwdHJfYmFzZXR5cGUgKHN0cnVjdCB0eXBlICosIHN0cnVjdCB0eXBlICop OworQEAgLTE0ODAsNiArMTQ4NCw3IEBAIGV4dGVybiB2b2lkIHNldF90eXBlX3ZwdHJfYmFzZXR5 cGUgKHN0cnVjdCB0eXBlICosIHN0cnVjdCB0eXBlICopOwogICNkZWZpbmUgVFlQRV9GSUVMRF9C SVRQT1ModGhpc3R5cGUsIG4pIEZJRUxEX0JJVFBPUyAoVFlQRV9GSUVMRCAodGhpc3R5cGUsIG4p KQogICNkZWZpbmUgVFlQRV9GSUVMRF9FTlVNVkFMKHRoaXN0eXBlLCBuKSBGSUVMRF9FTlVNVkFM IChUWVBFX0ZJRUxEICh0aGlzdHlwZSwgbikpCiAgI2RlZmluZSBUWVBFX0ZJRUxEX1NUQVRJQ19Q SFlTTkFNRSh0aGlzdHlwZSwgbikgRklFTERfU1RBVElDX1BIWVNOQU1FIChUWVBFX0ZJRUxEICh0 aGlzdHlwZSwgbikpCkBAIC01MiwxMCArNTIsMTAgQEAgaW5kZXggMTc5MjM4Y2U4Mi4uNTU5NzAz ODM1NyAxMDA2NDQKICAjZGVmaW5lIFRZUEVfRklFTERfRFdBUkZfQkxPQ0sodGhpc3R5cGUsIG4p IEZJRUxEX0RXQVJGX0JMT0NLIChUWVBFX0ZJRUxEICh0aGlzdHlwZSwgbikpCiAgI2RlZmluZSBU WVBFX0ZJRUxEX0FSVElGSUNJQUwodGhpc3R5cGUsIG4pIEZJRUxEX0FSVElGSUNJQUwoVFlQRV9G SUVMRCh0aGlzdHlwZSxuKSkKIGRpZmYgLS1naXQgYS9nZGIvdmFsdWUuYyBiL2dkYi92YWx1ZS5j Ci1pbmRleCBkNGI0NjczZjY2Li41NThkMGJiZDdhIDEwMDY0NAoraW5kZXggYWE2Y2E0M2I0MS4u OThjMDYwYzY1ZiAxMDA2NDQKIC0tLSBhL2dkYi92YWx1ZS5jCiArKysgYi9nZGIvdmFsdWUuYwot QEAgLTI5NjYsNyArMjk2Niw4IEBAIHZhbHVlX3N0YXRpY19maWVsZCAoc3RydWN0IHR5cGUgKnR5 cGUsIGludCBmaWVsZG5vKQorQEAgLTI4MzAsNyArMjgzMCw4IEBAIHZhbHVlX3N0YXRpY19maWVs ZCAoc3RydWN0IHR5cGUgKnR5cGUsIGludCBmaWVsZG5vKQogICAgICB7CiAgICAgIGNhc2UgRklF TERfTE9DX0tJTkRfUEhZU0FERFI6CiAgICAgICAgcmV0dmFsID0gdmFsdWVfYXRfbGF6eSAoVFlQ RV9GSUVMRF9UWVBFICh0eXBlLCBmaWVsZG5vKSwKCmRpZmYgLS1naXQgYS9nZGItYXJjaGVyLXZs YS10ZXN0cy5wYXRjaCBiL2dkYi1hcmNoZXItdmxhLXRlc3RzLnBhdGNoCmluZGV4IDY0Mjc2MDQu LjdjM2E2NGMgMTAwNjQ0Ci0tLSBhL2dkYi1hcmNoZXItdmxhLXRlc3RzLnBhdGNoCisrKyBiL2dk Yi1hcmNoZXItdmxhLXRlc3RzLnBhdGNoCkBAIC0zNjkyLDcgKzM2OTIsNyBAQCBuZXcgZmlsZSBt b2RlIDEwMDY0NAogKyAgd3JpdGVsbihzKTsgeyBzZXQgYnJlYWtwb2ludCAyIGhlcmUgfQogK2Vu ZC4KIGRpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRlL2xpYi9nZGIuZXhwIGIvZ2RiL3Rlc3RzdWl0 ZS9saWIvZ2RiLmV4cAotaW5kZXggYTE2NWJmMDkzOC4uYTEzYWFmNzg2OSAxMDA2NDQKK2luZGV4 IGJlY2RhNmEwMDEuLjA2N2JlNzBjN2EgMTAwNjQ0CiAtLS0gYS9nZGIvdGVzdHN1aXRlL2xpYi9n ZGIuZXhwCiArKysgYi9nZGIvdGVzdHN1aXRlL2xpYi9nZGIuZXhwCiBAQCAtMTY5LDYgKzE2OSwx MSBAQCBwcm9jIGdkYl91bmxvYWQge30gewoKZGlmZiAtLWdpdCBhL2dkYi1hcmNoZXIucGF0Y2gg Yi9nZGItYXJjaGVyLnBhdGNoCmluZGV4IGU2Y2EyZjIuLmM5MmQxYWQgMTAwNjQ0Ci0tLSBhL2dk Yi1hcmNoZXIucGF0Y2gKKysrIGIvZ2RiLWFyY2hlci5wYXRjaApAQCAtMTcsMTAgKzE3LDEwIEBA IGNvbW1pdCA3MThhMTYxOGIyZjY5MWE3ZjQwNzIxM2JiNTBmMTAwYWM1OWY5MWMzCiB0cm9tZXkv cHl0aG9uCiAKIGRpZmYgLS1naXQgYS9nZGIvTWFrZWZpbGUuaW4gYi9nZGIvTWFrZWZpbGUuaW4K LWluZGV4IDMxNDJhZDZhZjEuLjI4ZDg2NjQyMzYgMTAwNjQ0CitpbmRleCAxZWE3YTM2YzY5Li5i NzY3Y2FhNzM1IDEwMDY0NAogLS0tIGEvZ2RiL01ha2VmaWxlLmluCiArKysgYi9nZGIvTWFrZWZp bGUuaW4KLUBAIC0yMTEwLDYgKzIxMTAsMTIgQEAgc3RhbXAtaDogJChzcmNkaXIpL2NvbmZpZy5p biBjb25maWcuc3RhdHVzCitAQCAtMjA5NCw2ICsyMDk0LDEyIEBAIHN0YW1wLWg6ICQoc3JjZGly KS9jb25maWcuaW4gY29uZmlnLnN0YXR1cwogIAkgIENPTkZJR19MSU5LUz0gXAogIAkgICQoU0hF TEwpIGNvbmZpZy5zdGF0dXMKICAKQEAgLTU2LDcgKzU2LDcgQEAgaW5kZXggNWM3YzBiNGMyZS4u MjAxNDYwN2U5ZSAxMDA2NDQKICAJZ2RiL3ByaW50ZXIvYm91bmRfcmVnaXN0ZXJzLnB5CiAgCiBk aWZmIC0tZ2l0IGEvZ2RiL2RvYy9nZGIudGV4aW5mbyBiL2dkYi9kb2MvZ2RiLnRleGluZm8KLWlu ZGV4IDdiOTlhZTE1NTEuLmRlYTE3ZmQ1YTcgMTAwNjQ0CitpbmRleCA0MDNmNWNhNjU4Li40Nzg4 ZGQ5ZjBkIDEwMDY0NAogLS0tIGEvZ2RiL2RvYy9nZGIudGV4aW5mbwogKysrIGIvZ2RiL2RvYy9n ZGIudGV4aW5mbwogQEAgLTEyNDUsNiArMTI0NSwxNiBAQCBmb3IgcmVtb3RlIGRlYnVnZ2luZy4K QEAgLTc3LDcgKzc3LDcgQEAgaW5kZXggN2I5OWFlMTU1MS4uZGVhMTdmZDVhNyAxMDA2NDQKICBA aXRlbSAtdHVpCiAgQGNpbmRleCBAY29kZXstLXR1aX0KIGRpZmYgLS1naXQgYS9nZGIvZG9jL3B5 dGhvbi50ZXhpIGIvZ2RiL2RvYy9weXRob24udGV4aQotaW5kZXggY2NmMDExZTM1ZS4uNDYxZTkw MGY3NyAxMDA2NDQKK2luZGV4IGZiMDc0ZmFmNDMuLjhkOGZiZmVhYTkgMTAwNjQ0CiAtLS0gYS9n ZGIvZG9jL3B5dGhvbi50ZXhpCiArKysgYi9nZGIvZG9jL3B5dGhvbi50ZXhpCiBAQCAtODgsOCAr ODgsNiBAQCBjb250YWluaW5nIEBjb2Rle2VuZH0uICBGb3IgZXhhbXBsZToKQEAgLTExMCw3ICsx MTAsNyBAQCBpbmRleCAwNWEzOGIyNjcwLi45ODAxZmRmZjY3IDEwMDY0NAogICAgc2V0IHZhcmlh YmxlICRnZGJfaW5pdF9kb25lID0gMQogIAogZGlmZiAtLWdpdCBhL2dkYi9tYWluLmMgYi9nZGIv bWFpbi5jCi1pbmRleCBiMDc5ZTc5YzkzLi5iMTUwYWY0ZTcwIDEwMDY0NAoraW5kZXggODRlNjEy NmFkNC4uODBkODRlYTI0NiAxMDA2NDQKIC0tLSBhL2dkYi9tYWluLmMKICsrKyBiL2dkYi9tYWlu LmMKIEBAIC0zMyw2ICszMyw3IEBACkBAIC0xMjEsNyArMTIxLDcgQEAgaW5kZXggYjA3OWU3OWM5 My4uYjE1MGFmNGU3MCAxMDA2NDQKICAjaW5jbHVkZSAic291cmNlLmgiCiAgI2luY2x1ZGUgImNs aS9jbGktY21kcy5oIgogICNpbmNsdWRlICJvYmpmaWxlcy5oIgotQEAgLTQ3OCw3ICs0NzksNyBA QCBleGVjX29yX2NvcmVfZmlsZV9hdHRhY2ggKGNvbnN0IGNoYXIgKmZpbGVuYW1lLCBpbnQgZnJv bV90dHkpCitAQCAtNDc5LDcgKzQ4MCw3IEBAIGV4ZWNfb3JfY29yZV9maWxlX2F0dGFjaCAoY29u c3QgY2hhciAqZmlsZW5hbWUsIGludCBmcm9tX3R0eSkKICB9CiAgCiAgc3RhdGljIHZvaWQKQEAg LTEzMCw3ICsxMzAsNyBAQCBpbmRleCBiMDc5ZTc5YzkzLi5iMTUwYWY0ZTcwIDEwMDY0NAogIHsK ICAgIGludCBhcmdjID0gY29udGV4dC0+YXJnYzsKICAgIGNoYXIgKiphcmd2ID0gY29udGV4dC0+ YXJndjsKLUBAIC02OTQsMTAgKzY5NSwxNCBAQCBjYXB0dXJlZF9tYWluXzEgKHN0cnVjdCBjYXB0 dXJlZF9tYWluX2FyZ3MgKmNvbnRleHQpCitAQCAtNjk1LDEwICs2OTYsMTQgQEAgY2FwdHVyZWRf bWFpbl8xIChzdHJ1Y3QgY2FwdHVyZWRfbWFpbl9hcmdzICpjb250ZXh0KQogICAgICAgIHsiYXJn cyIsIG5vX2FyZ3VtZW50LCAmc2V0X2FyZ3MsIDF9LAogICAgICAgIHsibCIsIHJlcXVpcmVkX2Fy Z3VtZW50LCAwLCAnbCd9LAogICAgICAgIHsicmV0dXJuLWNoaWxkLXJlc3VsdCIsIG5vX2FyZ3Vt ZW50LCAmcmV0dXJuX2NoaWxkX3Jlc3VsdCwgMX0sCkBAIC0xNDYsNyArMTQ2LDcgQEAgaW5kZXgg YjA3OWU3OWM5My4uYjE1MGFmNGU3MCAxMDA2NDQKICAgICAgICB7CiAgCWludCBvcHRpb25faW5k ZXg7CiAgCi1AQCAtNzE1LDYgKzcyMCw5IEBAIGNhcHR1cmVkX21haW5fMSAoc3RydWN0IGNhcHR1 cmVkX21haW5fYXJncyAqY29udGV4dCkKK0BAIC03MTYsNiArNzIxLDkgQEAgY2FwdHVyZWRfbWFp bl8xIChzdHJ1Y3QgY2FwdHVyZWRfbWFpbl9hcmdzICpjb250ZXh0KQogIAkgIGNhc2UgMDoKICAJ ICAgIC8qIExvbmcgb3B0aW9uIHRoYXQganVzdCBzZXRzIGEgZmxhZy4gICovCiAgCSAgICBicmVh azsKQEAgLTE1Niw3ICsxNTYsNyBAQCBpbmRleCBiMDc5ZTc5YzkzLi5iMTUwYWY0ZTcwIDEwMDY0 NAogIAkgIGNhc2UgT1BUX1NFOgogIAkgICAgc3ltYXJnID0gb3B0YXJnOwogIAkgICAgZXhlY2Fy ZyA9IG9wdGFyZzsKLUBAIC04ODksNyArODk3LDMxIEBAIGNhcHR1cmVkX21haW5fMSAoc3RydWN0 IGNhcHR1cmVkX21haW5fYXJncyAqY29udGV4dCkKK0BAIC04OTAsNyArODk4LDMxIEBAIGNhcHR1 cmVkX21haW5fMSAoc3RydWN0IGNhcHR1cmVkX21haW5fYXJncyAqY29udGV4dCkKICAKICAgIC8q IE5vdyB0aGF0IGdkYl9pbml0IGhhcyBjcmVhdGVkIHRoZSBpbml0aWFsIGluZmVyaW9yLCB3ZSdy ZSBpbgogICAgICAgcG9zaXRpb24gdG8gc2V0IGFyZ3MgZm9yIHRoYXQgaW5mZXJpb3IuICAqLwpA QCAtMTg5LDcgKzE4OSw3IEBAIGluZGV4IGIwNzllNzljOTMuLmIxNTBhZjRlNzAgMTAwNjQ0CiAg ICAgIHsKICAgICAgICAvKiBUaGUgcmVtYWluaW5nIG9wdGlvbnMgYXJlIHRoZSBjb21tYW5kLWxp bmUgb3B0aW9ucyBmb3IgdGhlCiAgCSBpbmZlcmlvci4gIFRoZSBmaXJzdCBvbmUgaXMgdGhlIHN5 bS9leGVjIGZpbGUsIGFuZCB0aGUgcmVzdAotQEAgLTExNzksNyArMTIxMSw4IEBAIGNhcHR1cmVk X21haW5fMSAoc3RydWN0IGNhcHR1cmVkX21haW5fYXJncyAqY29udGV4dCkKK0BAIC0xMTgwLDcg KzEyMTIsOCBAQCBjYXB0dXJlZF9tYWluXzEgKHN0cnVjdCBjYXB0dXJlZF9tYWluX2FyZ3MgKmNv bnRleHQpCiAgCiAgICAvKiBSZWFkIGluIHRoZSBvbGQgaGlzdG9yeSBhZnRlciBhbGwgdGhlIGNv bW1hbmQgZmlsZXMgaGF2ZSBiZWVuCiAgICAgICByZWFkLiAgKi8KQEAgLTE5OSw3ICsxOTksNyBA QCBpbmRleCBiMDc5ZTc5YzkzLi5iMTUwYWY0ZTcwIDEwMDY0NAogIAogICAgaWYgKGJhdGNoX2Zs YWcpCiAgICAgIHsKLUBAIC0xMTkyLDI0ICsxMjI1LDM3IEBAIHN0YXRpYyB2b2lkCitAQCAtMTE5 MywyNCArMTIyNiwzNyBAQCBzdGF0aWMgdm9pZAogIGNhcHR1cmVkX21haW4gKHZvaWQgKmRhdGEp CiAgewogICAgc3RydWN0IGNhcHR1cmVkX21haW5fYXJncyAqY29udGV4dCA9IChzdHJ1Y3QgY2Fw dHVyZWRfbWFpbl9hcmdzICopIGRhdGE7CkBAIC0yNTAsNyArMjUwLDcgQEAgaW5kZXggYjA3OWU3 OWM5My4uYjE1MGFmNGU3MCAxMDA2NDQKICAgICAgfQogICAgLyogTm8gZXhpdCAtLSBleGl0IGlz IHRocm91Z2ggcXVpdF9jb21tYW5kLiAgKi8KICB9Ci1AQCAtMTI1Miw2ICsxMjk4LDEyIEBAIHBy aW50X2dkYl9oZWxwIChzdHJ1Y3QgdWlfZmlsZSAqc3RyZWFtKQorQEAgLTEyNTMsNiArMTI5OSwx MiBAQCBwcmludF9nZGJfaGVscCAoc3RydWN0IHVpX2ZpbGUgKnN0cmVhbSkKICAgIGZwdXRzX3Vu ZmlsdGVyZWQgKF8oIlwKICBUaGlzIGlzIHRoZSBHTlUgZGVidWdnZXIuICBVc2FnZTpcblxuXAog ICAgICBnZGIgW29wdGlvbnNdIFtleGVjdXRhYmxlLWZpbGUgW2NvcmUtZmlsZSBvciBwcm9jZXNz LWlkXV1cblwKQEAgLTI2Myw3ICsyNjMsNyBAQCBpbmRleCBiMDc5ZTc5YzkzLi5iMTUwYWY0ZTcw IDEwMDY0NAogICAgICBnZGIgW29wdGlvbnNdIC0tYXJncyBleGVjdXRhYmxlLWZpbGUgW2luZmVy aW9yLWFyZ3VtZW50cyAuLi5dXG5cblwKICAiKSwgc3RyZWFtKTsKICAgIGZwdXRzX3VuZmlsdGVy ZWQgKF8oIlwKLUBAIC0xMjk3LDYgKzEzNDksMTMgQEAgT3V0cHV0IGFuZCB1c2VyIGludGVyZmFj ZSBjb250cm9sOlxuXG5cCitAQCAtMTI5OCw2ICsxMzUwLDEzIEBAIE91dHB1dCBhbmQgdXNlciBp bnRlcmZhY2UgY29udHJvbDpcblxuXAogICNlbmRpZgogICAgZnB1dHNfdW5maWx0ZXJlZCAoXygi XAogICAgLS1kYnggICAgICAgICAgICAgIERCWCBjb21wYXRpYmlsaXR5IG1vZGUuXG5cCkBAIC00 NTgsMTAgKzQ1OCwxMCBAQCBuZXcgZmlsZSBtb2RlIDEwMDY0NAogKwogK0luU2NvcGUgKCkKIGRp ZmYgLS1naXQgYS9nZGIvcHl0aG9uL3B5dGhvbi1pbnRlcm5hbC5oIGIvZ2RiL3B5dGhvbi9weXRo b24taW50ZXJuYWwuaAotaW5kZXggODliYmM2OTg3Yi4uNjlkYmI2OWMwNiAxMDA2NDQKK2luZGV4 IGI4ZTJkOTA0OWQuLmRlYjg3YzZhNzEgMTAwNjQ0CiAtLS0gYS9nZGIvcHl0aG9uL3B5dGhvbi1p bnRlcm5hbC5oCiArKysgYi9nZGIvcHl0aG9uL3B5dGhvbi1pbnRlcm5hbC5oCi1AQCAtNjU3LDYg KzY1Nyw5IEBAIGNsYXNzIGdkYnB5X2VudGVyX3Zhcm9iaiA6IHB1YmxpYyBnZGJweV9lbnRlcgor QEAgLTY0MSw2ICs2NDEsOSBAQCBjbGFzcyBnZGJweV9lbnRlcl92YXJvYmogOiBwdWJsaWMgZ2Ri cHlfZW50ZXIKICAKICB9OwogIApAQCAtNDcyLDcgKzQ3Miw3IEBAIGluZGV4IDg5YmJjNjk4N2Iu LjY5ZGJiNjljMDYgMTAwNjQ0CiAgZXh0ZXJuIGNvbnN0IHN0cnVjdCBsYW5ndWFnZV9kZWZuICpw eXRob25fbGFuZ3VhZ2U7CiAgCiBkaWZmIC0tZ2l0IGEvZ2RiL3B5dGhvbi9weXRob24uYyBiL2dk Yi9weXRob24vcHl0aG9uLmMKLWluZGV4IDYxMGRkYTgyOGMuLmRlNWZmYmQ3MGIgMTAwNjQ0Citp bmRleCA0MjMzYjM3ZmE4Li5jYzRiNzEwZGY3IDEwMDY0NAogLS0tIGEvZ2RiL3B5dGhvbi9weXRo b24uYwogKysrIGIvZ2RiL3B5dGhvbi9weXRob24uYwogQEAgLTk1LDYgKzk1LDggQEAgY29uc3Qg c3RydWN0IGV4dGVuc2lvbl9sYW5ndWFnZV9kZWZuIGV4dGVuc2lvbl9sYW5ndWFnZV9weXRob24g PQpAQCAtNDg0LDcgKzQ4NCw3IEBAIGluZGV4IDYxMGRkYTgyOGMuLmRlNWZmYmQ3MGIgMTAwNjQ0 CiAgI2luY2x1ZGUgInRhcmdldC5oIgogICNpbmNsdWRlICJnZGJ0aHJlYWQuaCIKICAjaW5jbHVk ZSAiaW50ZXJwcy5oIgotQEAgLTI0Miw2ICsyNDQsMjkgQEAgZ2RicHlfZW50ZXI6On5nZGJweV9l bnRlciAoKQorQEAgLTIzNyw2ICsyMzksMjkgQEAgZ2RicHlfZW50ZXI6On5nZGJweV9lbnRlciAo KQogICAgcmVzdG9yZV9hY3RpdmVfZXh0X2xhbmcgKG1fcHJldmlvdXNfYWN0aXZlKTsKICB9CiAg CkBAIC01MTQsNyArNTE0LDcgQEAgaW5kZXggNjEwZGRhODI4Yy4uZGU1ZmZiZDcwYiAxMDA2NDQK ICAvKiBTZXQgdGhlIHF1aXQgZmxhZy4gICovCiAgCiAgc3RhdGljIHZvaWQKLUBAIC0xMzU2LDYg KzEzODEsOTIgQEAgZ2RicHlfcHJpbnRfc3RhY2sgKHZvaWQpCitAQCAtMTM2Nyw2ICsxMzkyLDky IEBAIGdkYnB5X3ByaW50X3N0YWNrICh2b2lkKQogIAogIC8qIFJldHVybiB0aGUgY3VycmVudCBQ cm9nc3BhY2UuCiAgICAgVGhlcmUgYWx3YXlzIGlzIG9uZS4gICovCkBAIC02MDcsNyArNjA3LDcg QEAgaW5kZXggNjEwZGRhODI4Yy4uZGU1ZmZiZDcwYiAxMDA2NDQKICAKICBzdGF0aWMgUHlPYmpl Y3QgKgogIGdkYnB5X2dldF9jdXJyZW50X3Byb2dzcGFjZSAoUHlPYmplY3QgKnVudXNlZDEsIFB5 T2JqZWN0ICp1bnVzZWQyKQotQEAgLTIwMzQsNiArMjE0NSw4IEBAIFB5TWV0aG9kRGVmIHB5dGhv bl9HZGJNZXRob2RzW10gPQorQEAgLTIwNDUsNiArMjE1Niw4IEBAIFB5TWV0aG9kRGVmIHB5dGhv bl9HZGJNZXRob2RzW10gPQogIEV2YWx1YXRlIGNvbW1hbmQsIGEgc3RyaW5nLCBhcyBhIGdkYiBD TEkgY29tbWFuZC4gIE9wdGlvbmFsbHkgcmV0dXJuc1xuXAogIGEgUHl0aG9uIFN0cmluZyBjb250 YWluaW5nIHRoZSBvdXRwdXQgb2YgdGhlIGNvbW1hbmQgaWYgdG9fc3RyaW5nIGlzXG5cCiAgc2V0 IHRvIFRydWUuIiB9LApAQCAtNjY5LDEwICs2NjksMTAgQEAgaW5kZXggZWI4MmE3Nzc2Zi4uMzA2 OWE1YzZkNyAxMDA2NDQKICAjIFRlc3QgZWl0aGVyIEMgb3IgQysrIHZhbHVlcy4gCiAgCiBkaWZm IC0tZ2l0IGEvZ2RiL3Zhcm9iai5jIGIvZ2RiL3Zhcm9iai5jCi1pbmRleCAwMWRhYmVmMzdjLi5j MTk4NzMxZDBiIDEwMDY0NAoraW5kZXggYTBkZjQ4NWFlOS4uYWI4MjQ4YTc4MSAxMDA2NDQKIC0t LSBhL2dkYi92YXJvYmouYwogKysrIGIvZ2RiL3Zhcm9iai5jCi1AQCAtMjE3LDYgKzIxNywxNCBA QCBpc19yb290X3AgKGNvbnN0IHN0cnVjdCB2YXJvYmogKnZhcikKK0BAIC0yMTgsNiArMjE4LDE0 IEBAIGlzX3Jvb3RfcCAoY29uc3Qgc3RydWN0IHZhcm9iaiAqdmFyKQogIH0KICAKICAjaWZkZWYg SEFWRV9QWVRIT04KQEAgLTY4OCwxMCArNjg4LDEwIEBAIGluZGV4IDAxZGFiZWYzN2MuLmMxOTg3 MzFkMGIgMTAwNjQ0CiAgLyogU2VlIHB5dGhvbi1pbnRlcm5hbC5oLiAgKi8KICBnZGJweV9lbnRl cl92YXJvYmo6OmdkYnB5X2VudGVyX3Zhcm9iaiAoY29uc3Qgc3RydWN0IHZhcm9iaiAqdmFyKQog ZGlmZiAtLWdpdCBhL2dkYi92YXJvYmouaCBiL2dkYi92YXJvYmouaAotaW5kZXggNmU4MGQxYjg5 ZS4uNjc3NTQ3OTk2ZiAxMDA2NDQKK2luZGV4IDNhYmEwY2RhNjcuLjQyZGZhZDgzZjggMTAwNjQ0 CiAtLS0gYS9nZGIvdmFyb2JqLmgKICsrKyBiL2dkYi92YXJvYmouaAotQEAgLTMyNyw2ICszMjcs OCBAQCBleHRlcm4gYm9vbCB2YXJvYmpfaGFzX21vcmUgKGNvbnN0IHN0cnVjdCB2YXJvYmogKnZh ciwgaW50IHRvKTsKK0BAIC0zMjgsNiArMzI4LDggQEAgZXh0ZXJuIGJvb2wgdmFyb2JqX2hhc19t b3JlIChjb25zdCBzdHJ1Y3QgdmFyb2JqICp2YXIsIGludCB0byk7CiAgCiAgZXh0ZXJuIGJvb2wg dmFyb2JqX2lzX2R5bmFtaWNfcCAoY29uc3Qgc3RydWN0IHZhcm9iaiAqdmFyKTsKICAKCmRpZmYg LS1naXQgYS9nZGItYXR0YWNoLWZhaWwtcmVhc29ucy01b2Y1LnBhdGNoIGIvZ2RiLWF0dGFjaC1m YWlsLXJlYXNvbnMtNW9mNS5wYXRjaAppbmRleCA4ZTVkZmE2Li40NDNiYWE0IDEwMDY0NAotLS0g YS9nZGItYXR0YWNoLWZhaWwtcmVhc29ucy01b2Y1LnBhdGNoCisrKyBiL2dkYi1hdHRhY2gtZmFp bC1yZWFzb25zLTVvZjUucGF0Y2gKQEAgLTQ1LDEwICs0NSwxMCBAQCBnZGIvZ2Ric2VydmVyLwog CWRpcmVjdCBwdHJhY2UuCiAKIGRpZmYgLS1naXQgYS9nZGIvY29uZmlnLmluIGIvZ2RiL2NvbmZp Zy5pbgotaW5kZXggZWRkNzAyOGY3Ni4uNGRlM2U4NDJkMSAxMDA2NDQKK2luZGV4IDQwNGUwYmJk ZGMuLjk3ZDJmN2Y1MTggMTAwNjQ0CiAtLS0gYS9nZGIvY29uZmlnLmluCiArKysgYi9nZGIvY29u ZmlnLmluCi1AQCAtMjcwLDYgKzI3MCw5IEBACitAQCAtMjc2LDYgKzI3Niw5IEBACiAgLyogRGVm aW5lIGlmIGxpYnJwbSBsaWJyYXJ5IGlzIGJlaW5nIHVzZWQuICovCiAgI3VuZGVmIEhBVkVfTElC UlBNCiAgCkBAIC01OCw3ICs1OCw3IEBAIGluZGV4IGVkZDcwMjhmNzYuLjRkZTNlODQyZDEgMTAw NjQ0CiAgLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIDxsaWJ1bndpbmQtaWE2NC5oPiBo ZWFkZXIgZmlsZS4gKi8KICAjdW5kZWYgSEFWRV9MSUJVTldJTkRfSUE2NF9ICiAgCi1AQCAtMzkz LDYgKzM5Niw5IEBACitAQCAtMzk5LDYgKzQwMiw5IEBACiAgLyogRGVmaW5lIHRvIDEgaWYgeW91 IGhhdmUgdGhlIGBzY21fbmV3X3Ntb2InIGZ1bmN0aW9uLiAqLwogICN1bmRlZiBIQVZFX1NDTV9O RVdfU01PQgogIApAQCAtNjksMTAgKzY5LDEwIEBAIGluZGV4IGVkZDcwMjhmNzYuLjRkZTNlODQy ZDEgMTAwNjQ0CiAgI3VuZGVmIEhBVkVfU0VUTE9DQUxFCiAgCiBkaWZmIC0tZ2l0IGEvZ2RiL2Nv bmZpZ3VyZSBiL2dkYi9jb25maWd1cmUKLWluZGV4IDFjZWNkYmMzYjUuLjkwNGNjNDUzYWQgMTAw NzU1CitpbmRleCAzMGE2ZTg2ZmY4Li4zYjYwNGZlYjExIDEwMDc1NQogLS0tIGEvZ2RiL2NvbmZp Z3VyZQogKysrIGIvZ2RiL2NvbmZpZ3VyZQotQEAgLTE1NjgxLDYgKzE1NjgxLDY0IEBAIGNhdCA+ PmNvbmZkZWZzLmggPDxfQUNFT0YKK0BAIC0xNTc0Nyw2ICsxNTc0Nyw2NCBAQCBjYXQgPj5jb25m ZGVmcy5oIDw8X0FDRU9GCiAgX0FDRU9GCiAgCiAgCkBAIC0xMzgsMTAgKzEzOCwxMCBAQCBpbmRl eCAxY2VjZGJjM2I1Li45MDRjYzQ1M2FkIDEwMDc1NQogICMgU3VwcG9ydCBmb3IgLS13aXRoLXN5 c3Jvb3QgaXMgYSBjb3B5IG9mIEdEQl9BQ19XSVRIX0RJUiwKICAjIGV4Y2VwdCB0aGF0IHRoZSBh cmd1bWVudCB0byAtLXdpdGgtc3lzcm9vdCBpcyBvcHRpb25hbC4KIGRpZmYgLS1naXQgYS9nZGIv Y29uZmlndXJlLmFjIGIvZ2RiL2NvbmZpZ3VyZS5hYwotaW5kZXggZTIzMmMxYWRjYi4uMTU1Nzc2 MGVkOCAxMDA2NDQKK2luZGV4IDM5YTc3N2Y2NDcuLmM3MDdlN2IxNTIgMTAwNjQ0CiAtLS0gYS9n ZGIvY29uZmlndXJlLmFjCiArKysgYi9nZGIvY29uZmlndXJlLmFjCi1AQCAtMjA0Myw2ICsyMDQz LDEwIEBAIGNhc2UgJGhvc3Rfb3MgaW4KK0BAIC0yMDQ4LDYgKzIwNDgsMTAgQEAgY2FzZSAkaG9z dF9vcyBpbgogIGVzYWMKICBBQ19ERUZJTkVfVU5RVU9URUQoR0RCSU5JVCwiJGdkYmluaXQiLFtU aGUgLmdkYmluaXQgZmlsZW5hbWUuXSkKICAKQEAgLTE3NywxMCArMTc3LDEwIEBAIGluZGV4IGRk YTdjMWYxNTAuLmIyYTM0YjkyY2UgMTAwNjQ0CiAgI3VuZGVmIEhBVkVfU0VUTlMKICAKIGRpZmYg LS1naXQgYS9nZGIvZ2Ric2VydmVyL2NvbmZpZ3VyZSBiL2dkYi9nZGJzZXJ2ZXIvY29uZmlndXJl Ci1pbmRleCAzNDBjYTdhMTllLi42ZDdjOWIyMzI2IDEwMDc1NQoraW5kZXggYjJlMmU4Zjk1NS4u MzI2OWJiZTU1MyAxMDA3NTUKIC0tLSBhL2dkYi9nZGJzZXJ2ZXIvY29uZmlndXJlCiArKysgYi9n ZGIvZ2Ric2VydmVyL2NvbmZpZ3VyZQotQEAgLTg0NTUsNiArODQ1NSw2NCBAQCBpZiAkd2FudF9p cGEgOyB0aGVuCitAQCAtODQ2NSw2ICs4NDY1LDY0IEBAIGlmICR3YW50X2lwYSA7IHRoZW4KICAg ICBmaQogIGZpCiAgCkBAIC0yNDYsNyArMjQ2LDcgQEAgaW5kZXggMzQwY2E3YTE5ZS4uNmQ3Yzli MjMyNiAxMDA3NTUKICAKICAKIGRpZmYgLS1naXQgYS9nZGIvZ2Ric2VydmVyL2NvbmZpZ3VyZS5h YyBiL2dkYi9nZGJzZXJ2ZXIvY29uZmlndXJlLmFjCi1pbmRleCA2NzI3OTU5ZTYxLi43YzBmNTA4 Mjc1IDEwMDY0NAoraW5kZXggOTk4MDE2ODFmZi4uNTZmMjg3OTdjYSAxMDA2NDQKIC0tLSBhL2dk Yi9nZGJzZXJ2ZXIvY29uZmlndXJlLmFjCiArKysgYi9nZGIvZ2Ric2VydmVyL2NvbmZpZ3VyZS5h YwogQEAgLTQ4OCw2ICs0ODgsMTAgQEAgaWYgJHdhbnRfaXBhIDsgdGhlbgpAQCAtMjYxLDI1ICsy NjEsMjAgQEAgaW5kZXggNjcyNzk1OWU2MS4uN2MwZjUwODI3NSAxMDA2NDQKICBBQ19TVUJTVChH REJTRVJWRVJfTElCUykKICBBQ19TVUJTVChzcnZfeG1sYnVpbHRpbikKIGRpZmYgLS1naXQgYS9n ZGIvZ2Ric2VydmVyL2xpbnV4LWxvdy5jIGIvZ2RiL2dkYnNlcnZlci9saW51eC1sb3cuYwotaW5k ZXggY2ZiMmI1NmEwOC4uMGZhYWM4MDYyNSAxMDA2NDQKK2luZGV4IGU2NDk0OTUwNGQuLjZiY2Fm MzcwMGYgMTAwNjQ0CiAtLS0gYS9nZGIvZ2Ric2VydmVyL2xpbnV4LWxvdy5jCiArKysgYi9nZGIv Z2Ric2VydmVyL2xpbnV4LWxvdy5jCi1AQCAtOTYzLDcgKzk2MywyMSBAQCBsaW51eF9wdHJhY2Vf ZnVuICgpCitAQCAtOTY2LDcgKzk2NiwxNiBAQCBsaW51eF9wdHJhY2VfZnVuICgpCiAgewogICAg aWYgKHB0cmFjZSAoUFRSQUNFX1RSQUNFTUUsIDAsIChQVFJBQ0VfVFlQRV9BUkczKSAwLAogIAkg ICAgICAoUFRSQUNFX1RZUEVfQVJHNCkgMCkgPCAwKQogLSAgICB0cmFjZV9zdGFydF9lcnJvcl93 aXRoX25hbWUgKCJwdHJhY2UiKTsKICsgICAgewogKyAgICAgIGludCBzYXZlX2Vycm5vID0gZXJy bm87Ci0rICAgICAgc3RydWN0IGJ1ZmZlciBidWZmZXI7CiArCi0rICAgICAgYnVmZmVyX2luaXQg KCZidWZmZXIpOwotKyAgICAgIGxpbnV4X3B0cmFjZV9jcmVhdGVfd2FybmluZ3MgKCZidWZmZXIp OwotKyAgICAgIGJ1ZmZlcl9ncm93X3N0cjAgKCZidWZmZXIsICIiKTsKKysgICAgICBzdGQ6OnN0 cmluZyBtc2cgKGxpbnV4X3B0cmFjZV9jcmVhdGVfd2FybmluZ3MgKCkpOwogKwotKyAgICAgIHN0 ZDo6c3RyaW5nIG1zZwotKwk9IHN0cmluZ19wcmludGYgKF8oIiVzQ2Fubm90IHRyYWNlIGNyZWF0 ZWQgcHJvY2VzcyIpLAotKwkJCSBidWZmZXJfZmluaXNoICgmYnVmZmVyKSk7CisrICAgICAgbXNn ICs9IF8oIkNhbm5vdCB0cmFjZSBjcmVhdGVkIHByb2Nlc3MiKTsKICsKICsgICAgICBlcnJubyA9 IHNhdmVfZXJybm87CiArICAgICAgdHJhY2Vfc3RhcnRfZXJyb3Jfd2l0aF9uYW1lIChtc2cuY19z dHIgKCkpOwpAQCAtMjg4LDQ1ICsyODMsMzMgQEAgaW5kZXggY2ZiMmI1NmEwOC4uMGZhYWM4MDYy NSAxMDA2NDQKICAgIGlmIChzZXRwZ2lkICgwLCAwKSA8IDApCiAgICAgIHRyYWNlX3N0YXJ0X2Vy cm9yX3dpdGhfbmFtZSAoInNldHBnaWQiKTsKIGRpZmYgLS1naXQgYS9nZGIvbGludXgtbmF0LmMg Yi9nZGIvbGludXgtbmF0LmMKLWluZGV4IGM0MWVhMzkxYTAuLjE1NzBhMmJjYjYgMTAwNjQ0Citp bmRleCA0NDViNTlmYTRhLi4wNTM0NDMxNmE3IDEwMDY0NAogLS0tIGEvZ2RiL2xpbnV4LW5hdC5j CiArKysgYi9nZGIvbGludXgtbmF0LmMKLUBAIC0xMTI3LDcgKzExMjcsMjkgQEAgbGludXhfbmF0 X2NyZWF0ZV9pbmZlcmlvciAoc3RydWN0IHRhcmdldF9vcHMgKm9wcywKK0BAIC0xMDg4LDcgKzEw ODgsMTcgQEAgbGludXhfbmF0X3RhcmdldDo6Y3JlYXRlX2luZmVyaW9yIChjb25zdCBjaGFyICpl eGVjX2ZpbGUsCiAgICAvKiBNYWtlIHN1cmUgd2UgcmVwb3J0IGFsbCBzaWduYWxzIGR1cmluZyBz dGFydHVwLiAgKi8KLSAgIGxpbnV4X25hdF9wYXNzX3NpZ25hbHMgKG9wcywgMCwgTlVMTCk7Cisg ICBwYXNzX3NpZ25hbHMgKDAsIE5VTEwpOwogIAotLSAgbGludXhfb3BzLT50b19jcmVhdGVfaW5m ZXJpb3IgKG9wcywgZXhlY19maWxlLCBhbGxhcmdzLCBlbnYsIGZyb21fdHR5KTsKLSsgIHZvbGF0 aWxlIHN0cnVjdCBnZGJfZXhjZXB0aW9uIGV4OworLSAgaW5mX3B0cmFjZV90YXJnZXQ6OmNyZWF0 ZV9pbmZlcmlvciAoZXhlY19maWxlLCBhbGxhcmdzLCBlbnYsIGZyb21fdHR5KTsKICsgIFRSWQog KyAgICB7Ci0rICAgICAgbGludXhfb3BzLT50b19jcmVhdGVfaW5mZXJpb3IgKG9wcywgZXhlY19m aWxlLCBhbGxhcmdzLCBlbnYsIGZyb21fdHR5KTsKKysgICAgICBpbmZfcHRyYWNlX3RhcmdldDo6 Y3JlYXRlX2luZmVyaW9yIChleGVjX2ZpbGUsIGFsbGFyZ3MsIGVudiwgZnJvbV90dHkpOwogKyAg ICB9CiArICBDQVRDSCAoZXgsIFJFVFVSTl9NQVNLX0VSUk9SKQogKyAgICB7Ci0rICAgICAgc3Ry dWN0IGJ1ZmZlciBidWZmZXI7Ci0rICAgICAgY2hhciAqbWVzc2FnZSwgKmJ1ZmZlcl9zOworKyAg ICAgIHN0ZDo6c3RyaW5nIHJlc3VsdCA9ICBsaW51eF9wdHJhY2VfY3JlYXRlX3dhcm5pbmdzICgp OwogKwotKyAgICAgIG1lc3NhZ2UgPSB4c3RyZHVwIChleC5tZXNzYWdlKTsKLSsgICAgICBtYWtl X2NsZWFudXAgKHhmcmVlLCBtZXNzYWdlKTsKLSsKLSsgICAgICBidWZmZXJfaW5pdCAoJmJ1ZmZl cik7Ci0rICAgICAgbGludXhfcHRyYWNlX2NyZWF0ZV93YXJuaW5ncyAoJmJ1ZmZlcik7Ci0rCi0r ICAgICAgYnVmZmVyX2dyb3dfc3RyMCAoJmJ1ZmZlciwgIiIpOwotKyAgICAgIGJ1ZmZlcl9zID0g YnVmZmVyX2ZpbmlzaCAoJmJ1ZmZlcik7Ci0rICAgICAgbWFrZV9jbGVhbnVwICh4ZnJlZSwgYnVm ZmVyX3MpOwotKwotKyAgICAgIHRocm93X2Vycm9yIChleC5lcnJvciwgIiVzJXMiLCBidWZmZXJf cywgbWVzc2FnZSk7CisrICAgICAgdGhyb3dfZXJyb3IgKGV4LmVycm9yLCAiJXMlcyIsIHJlc3Vs dC5jX3N0ciAoKSwgZXgubWVzc2FnZSk7CiArICAgIH0KICsgIEVORF9DQVRDSAogIH0KICAKICAv KiBDYWxsYmFjayBmb3IgbGludXhfcHJvY19hdHRhY2hfdGdpZF90aHJlYWRzLiAgQXR0YWNoIHRv IFBUSUQgaWYgbm90CiBkaWZmIC0tZ2l0IGEvZ2RiL25hdC9saW51eC1wdHJhY2UuYyBiL2dkYi9u YXQvbGludXgtcHRyYWNlLmMKLWluZGV4IGFjNmJhNzIzOTAuLmJlNTFlMjQ0OWIgMTAwNjQ0Citp bmRleCAxZjIxZWYwM2EzLi41M2M5YTBkZTE3IDEwMDY0NAogLS0tIGEvZ2RiL25hdC9saW51eC1w dHJhY2UuYwogKysrIGIvZ2RiL25hdC9saW51eC1wdHJhY2UuYwotQEAgLTI3LDYgKzI3LDEwIEBA CitAQCAtMjUsNiArMjUsMTAgQEAKICAjaW5jbHVkZSA8c3lzL3Byb2Nmcy5oPgogICNlbmRpZgog IApAQCAtMzM3LDQ3ICszMjAsNTAgQEAgaW5kZXggYWM2YmE3MjM5MC4uYmU1MWUyNDQ5YiAxMDA2 NDQKICAvKiBTdG9yZXMgdGhlIHB0cmFjZSBvcHRpb25zIHN1cHBvcnRlZCBieSB0aGUgcnVubmlu ZyBrZXJuZWwuCiAgICAgQSB2YWx1ZSBvZiAtMSBtZWFucyB3ZSBkaWQgbm90IGNoZWNrIGZvciBm ZWF0dXJlcyB5ZXQuICBBIHZhbHVlCiAgICAgb2YgMCBtZWFucyB0aGVyZSBhcmUgbm8gc3VwcG9y dGVkIGZlYXR1cmVzLiAgKi8KLUBAIC01MSw2ICs1NSw4IEBAIGxpbnV4X3B0cmFjZV9hdHRhY2hf ZmFpbF9yZWFzb24gKHBpZF90IHBpZCwgc3RydWN0IGJ1ZmZlciAqYnVmZmVyKQotICAgICBidWZm ZXJfeG1sX3ByaW50ZiAoYnVmZmVyLCBfKCJwcm9jZXNzICVkIGlzIGEgem9tYmllICIKLSAJCQkJ ICItIHRoZSBwcm9jZXNzIGhhcyBhbHJlYWR5IHRlcm1pbmF0ZWQiKSwKLSAJCSAgICAgICAoaW50 KSBwaWQpOworQEAgLTUwLDYgKzU0LDggQEAgbGludXhfcHRyYWNlX2F0dGFjaF9mYWlsX3JlYXNv biAocGlkX3QgcGlkKQorIAkJICAgICAgInRlcm1pbmF0ZWQiKSwKKyAJCSAgICAoaW50KSBwaWQp OworIAorKyAgcmVzdWx0ICs9IGxpbnV4X3B0cmFjZV9jcmVhdGVfd2FybmluZ3MgKCk7CiArCi0r ICBsaW51eF9wdHJhY2VfY3JlYXRlX3dhcm5pbmdzIChidWZmZXIpOworICAgcmV0dXJuIHJlc3Vs dDsKICB9CiAgCi0gLyogU2VlIGxpbnV4LXB0cmFjZS5oLiAgKi8KLUBAIC01OTQsNiArNjAwLDIy IEBAIGxpbnV4X3B0cmFjZV9pbml0X3dhcm5pbmdzICh2b2lkKQorQEAgLTU4Myw2ICs1ODksMjUg QEAgbGludXhfcHRyYWNlX2luaXRfd2FybmluZ3MgKHZvaWQpCiAgICBsaW51eF9wdHJhY2VfdGVz dF9yZXRfdG9fbnggKCk7CiAgfQogIAogKy8qIFByaW50IGFsbCBwb3NzaWJsZSByZWFzb25zIHdl IGNvdWxkIGZhaWwgdG8gY3JlYXRlIGEgdHJhY2VkIHByb2Nlc3MuICAqLwogKwotK3ZvaWQKLSts aW51eF9wdHJhY2VfY3JlYXRlX3dhcm5pbmdzIChzdHJ1Y3QgYnVmZmVyICpidWZmZXIpCisrc3Rk OjpzdHJpbmcKKytsaW51eF9wdHJhY2VfY3JlYXRlX3dhcm5pbmdzICgpCiAreworKyAgc3RkOjpz dHJpbmcgcmVzdWx0OworKwogKyNpZmRlZiBIQVZFX0xJQlNFTElOVVgKICsgIC8qIC0xIGlzIHJl dHVybmVkIGZvciBlcnJvcnMsIDAgaWYgaXQgaGFzIG5vIGVmZmVjdCwgMSBpZiBQVFJBQ0VfQVRU QUNIIGlzCiArICAgICBmb3JiaWRkZW4uICAqLwogKyAgaWYgKHNlY3VyaXR5X2dldF9ib29sZWFu X2FjdGl2ZSAoImRlbnlfcHRyYWNlIikgPT0gMSkKLSsgICAgYnVmZmVyX3htbF9wcmludGYgKGJ1 ZmZlciwKLSsJCSAgICAgICBfKCJ0aGUgU0VMaW51eCBib29sZWFuICdkZW55X3B0cmFjZScgaXMg ZW5hYmxlZCwgIgotKwkJCSAieW91IGNhbiBkaXNhYmxlIHRoaXMgcHJvY2VzcyBhdHRhY2ggcHJv dGVjdGlvbiBieTogIgotKwkJCSAiKGdkYikgc2hlbGwgc3VkbyBzZXRzZWJvb2wgZGVueV9wdHJh Y2U9MCIpKTsKKysgICAgc3RyaW5nX2FwcGVuZGYgKHJlc3VsdCwKKysJCSAgICBfKCJ0aGUgU0VM aW51eCBib29sZWFuICdkZW55X3B0cmFjZScgaXMgZW5hYmxlZCwgIgorKwkJICAgICAgInlvdSBj YW4gZGlzYWJsZSB0aGlzIHByb2Nlc3MgYXR0YWNoIHByb3RlY3Rpb24gYnk6ICIKKysJCSAgICAg ICIoZ2RiKSBzaGVsbCBzdWRvIHNldHNlYm9vbCBkZW55X3B0cmFjZT0wXG4iKSk7CiArI2VuZGlm IC8qIEhBVkVfTElCU0VMSU5VWCAqLworKyAgcmV0dXJuIHJlc3VsdDsKICt9CiArCiAgLyogRXh0 cmFjdCBleHRlbmRlZCBwdHJhY2UgZXZlbnQgZnJvbSB3YWl0IHN0YXR1cy4gICovCiAgCiAgaW50 CiBkaWZmIC0tZ2l0IGEvZ2RiL25hdC9saW51eC1wdHJhY2UuaCBiL2dkYi9uYXQvbGludXgtcHRy YWNlLmgKLWluZGV4IDFmOTYwZWQxMzIuLjg0OTEyZjkwOWMgMTAwNjQ0CitpbmRleCBkYzE4MGZi ZjgyLi4zMmUzZDMzYmM4IDEwMDY0NAogLS0tIGEvZ2RiL25hdC9saW51eC1wdHJhY2UuaAogKysr IGIvZ2RiL25hdC9saW51eC1wdHJhY2UuaAotQEAgLTE5MCw2ICsxOTAsNyBAQCBleHRlcm4gdm9p ZCBsaW51eF9wdHJhY2VfYXR0YWNoX2ZhaWxfcmVhc29uIChwaWRfdCBwaWQsIHN0cnVjdCBidWZm ZXIgKmJ1ZmZlcik7Ci0gZXh0ZXJuIGNoYXIgKmxpbnV4X3B0cmFjZV9hdHRhY2hfZmFpbF9yZWFz b25fc3RyaW5nIChwdGlkX3QgcHRpZCwgaW50IGVycik7CitAQCAtMTg5LDYgKzE4OSw3IEBAIGV4 dGVybiBzdGQ6OnN0cmluZyBsaW51eF9wdHJhY2VfYXR0YWNoX2ZhaWxfcmVhc29uIChwaWRfdCBw aWQpOworIGV4dGVybiBzdGQ6OnN0cmluZyBsaW51eF9wdHJhY2VfYXR0YWNoX2ZhaWxfcmVhc29u X3N0cmluZyAocHRpZF90IHB0aWQsIGludCBlcnIpOwogIAogIGV4dGVybiB2b2lkIGxpbnV4X3B0 cmFjZV9pbml0X3dhcm5pbmdzICh2b2lkKTsKLStleHRlcm4gdm9pZCBsaW51eF9wdHJhY2VfY3Jl YXRlX3dhcm5pbmdzIChzdHJ1Y3QgYnVmZmVyICpidWZmZXIpOworK2V4dGVybiBzdGQ6OnN0cmlu ZyBsaW51eF9wdHJhY2VfY3JlYXRlX3dhcm5pbmdzICgpOwogIGV4dGVybiB2b2lkIGxpbnV4X2No ZWNrX3B0cmFjZV9mZWF0dXJlcyAodm9pZCk7CiAgZXh0ZXJuIHZvaWQgbGludXhfZW5hYmxlX2V2 ZW50X3JlcG9ydGluZyAocGlkX3QgcGlkLCBpbnQgYXR0YWNoZWQpOwogIGV4dGVybiB2b2lkIGxp bnV4X2Rpc2FibGVfZXZlbnRfcmVwb3J0aW5nIChwaWRfdCBwaWQpOwoKZGlmZiAtLWdpdCBhL2dk Yi1idHJvYnVzdC5wYXRjaCBiL2dkYi1idHJvYnVzdC5wYXRjaAppbmRleCA5OTgzZTk5Li4yYjEw NDRkIDEwMDY0NAotLS0gYS9nZGItYnRyb2J1c3QucGF0Y2gKKysrIGIvZ2RiLWJ0cm9idXN0LnBh dGNoCkBAIC0xNCwxMCArMTQsMTAgQEAgcHJpbnRlZCwgYnV0IGEgZGVmYXVsdCBiYWNrdHJhY2Ug d2lsbCBvY2N1ciBpbiB0aGlzIGNhc2UuCiAtLQogCiBkaWZmIC0tZ2l0IGEvZ2RiL3B5dGhvbi9w eS1mcmFtZWZpbHRlci5jIGIvZ2RiL3B5dGhvbi9weS1mcmFtZWZpbHRlci5jCi1pbmRleCBlODg3 ODQ5YzM2Li5hOGU0ZjQ5ZWI1IDEwMDY0NAoraW5kZXggNGVkZWZkNDhmOS4uYWY1ZmNhZTY1NCAx MDA2NDQKIC0tLSBhL2dkYi9weXRob24vcHktZnJhbWVmaWx0ZXIuYwogKysrIGIvZ2RiL3B5dGhv bi9weS1mcmFtZWZpbHRlci5jCi1AQCAtMTM4OCw2ICsxMzg4LDcgQEAgZ2RicHlfYXBwbHlfZnJh bWVfZmlsdGVyIChjb25zdCBzdHJ1Y3QgZXh0ZW5zaW9uX2xhbmd1YWdlX2RlZm4gKmV4dGxhbmcs CitAQCAtMTE1MSw2ICsxMTUxLDcgQEAgZ2RicHlfYXBwbHlfZnJhbWVfZmlsdGVyIChjb25zdCBz dHJ1Y3QgZXh0ZW5zaW9uX2xhbmd1YWdlX2RlZm4gKmV4dGxhbmcsCiAgCQkJCSAgICAgICBodGFi X2VxX3BvaW50ZXIsCiAgCQkJCSAgICAgICBOVUxMKSk7CiAgCkBAIC0yNSwxOSArMjUsMjMgQEAg aW5kZXggZTg4Nzg0OWMzNi4uYThlNGY0OWViNSAxMDA2NDQKICAgIHdoaWxlICh0cnVlKQogICAg ICB7CiAgICAgICAgZ2RicHlfcmVmPD4gaXRlbSAoUHlJdGVyX05leHQgKGl0ZXJhYmxlLmdldCAo KSkpOwotQEAgLTEzOTcsNyArMTM5OCw3IEBAIGdkYnB5X2FwcGx5X2ZyYW1lX2ZpbHRlciAoY29u c3Qgc3RydWN0IGV4dGVuc2lvbl9sYW5ndWFnZV9kZWZuICpleHRsYW5nLAorQEAgLTExNTksOCAr MTE2MCw4IEBAIGdkYnB5X2FwcGx5X2ZyYW1lX2ZpbHRlciAoY29uc3Qgc3RydWN0IGV4dGVuc2lv bl9sYW5ndWFnZV9kZWZuICpleHRsYW5nLAorIAl7CiAgCSAgaWYgKFB5RXJyX09jY3VycmVkICgp KQogIAkgICAgewotIAkgICAgICBnZGJweV9wcmludF9zdGFjayAoKTsKKy0JICAgICAgdGhyb3df cXVpdF9vcl9wcmludF9leGNlcHRpb24gKCk7CiAtCSAgICAgIHJldHVybiBFWFRfTEFOR19CVF9F UlJPUjsKKysJICAgICAgZ2RicHlfcHJpbnRfc3RhY2sgKCk7CiArCSAgICAgIHJldHVybiBjb3Vu dF9wcmludGVkID4gMCA/IEVYVF9MQU5HX0JUX0VSUk9SIDogRVhUX0xBTkdfQlRfTk9fRklMVEVS UzsKICAJICAgIH0KICAJICBicmVhazsKICAJfQotQEAgLTE0MDksNiArMTQxMCw3IEBAIGdkYnB5 X2FwcGx5X2ZyYW1lX2ZpbHRlciAoY29uc3Qgc3RydWN0IGV4dGVuc2lvbl9sYW5ndWFnZV9kZWZu ICpleHRsYW5nLAorQEAgLTExOTMsNyArMTE5NCw4IEBAIGdkYnB5X2FwcGx5X2ZyYW1lX2ZpbHRl ciAoY29uc3Qgc3RydWN0IGV4dGVuc2lvbl9sYW5ndWFnZV9kZWZuICpleHRsYW5nLAorICAgICAg IC8qIERvIG5vdCBleGl0IG9uIGVycm9yIHByaW50aW5nIGEgc2luZ2xlIGZyYW1lLiAgUHJpbnQg dGhlCiAgCSBlcnJvciBhbmQgY29udGludWUgd2l0aCBvdGhlciBmcmFtZXMuICAqLwogICAgICAg IGlmIChzdWNjZXNzID09IEVYVF9MQU5HX0JUX0VSUk9SKQotIAlnZGJweV9wcmludF9zdGFjayAo KTsKKy0JdGhyb3dfcXVpdF9vcl9wcmludF9leGNlcHRpb24gKCk7CisrCWdkYnB5X3ByaW50X3N0 YWNrICgpOwogKyAgICAgIGNvdW50X3ByaW50ZWQrKzsKICAgICAgfQogIAoKZGlmZiAtLWdpdCBh L2dkYi1iejEyMTk3NDctYXR0YWNoLWtpbGxzLnBhdGNoIGIvZ2RiLWJ6MTIxOTc0Ny1hdHRhY2gt a2lsbHMucGF0Y2gKaW5kZXggODQ2ZjQ5MC4uNjZhMGIzYiAxMDA2NDQKLS0tIGEvZ2RiLWJ6MTIx OTc0Ny1hdHRhY2gta2lsbHMucGF0Y2gKKysrIGIvZ2RiLWJ6MTIxOTc0Ny1hdHRhY2gta2lsbHMu cGF0Y2gKQEAgLTgwLDEwICs4MCwxMCBAQCBnZGIvdGVzdHN1aXRlL0NoYW5nZUxvZwogCSogZ2Ri LmJhc2UvYXR0YWNoLWtpbGxzLmV4cDogTmV3LgogCiBkaWZmIC0tZ2l0IGEvZ2RiL21haW4uYyBi L2dkYi9tYWluLmMKLWluZGV4IDE3ZDM1ZjRhOGEuLmIwNzllNzljOTMgMTAwNjQ0CitpbmRleCA0 Y2FlZmUyMDExLi44NGU2MTI2YWQ0IDEwMDY0NAogLS0tIGEvZ2RiL21haW4uYwogKysrIGIvZ2Ri L21haW4uYwotQEAgLTExMTQsNyArMTExNCwxMCBAQCBjYXB0dXJlZF9tYWluXzEgKHN0cnVjdCBj YXB0dXJlZF9tYWluX2FyZ3MgKmNvbnRleHQpCitAQCAtMTExNSw3ICsxMTE1LDEwIEBAIGNhcHR1 cmVkX21haW5fMSAoc3RydWN0IGNhcHR1cmVkX21haW5fYXJncyAqY29udGV4dCkKICAgICAgICBp ZiAoaXNkaWdpdCAocGlkX29yX2NvcmVfYXJnWzBdKSkKICAJewogIAkgIGlmIChjYXRjaF9jb21t YW5kX2Vycm9ycyAoYXR0YWNoX2NvbW1hbmQsIHBpZF9vcl9jb3JlX2FyZywKCmRpZmYgLS1naXQg YS9nZGItYno1MzMxNzYtZm9ydHJhbi1vbXAtc3RlcC5wYXRjaCBiL2dkYi1iejUzMzE3Ni1mb3J0 cmFuLW9tcC1zdGVwLnBhdGNoCmluZGV4IDIwNjRiYWYuLjg2NDc5Y2QgMTAwNjQ0Ci0tLSBhL2dk Yi1iejUzMzE3Ni1mb3J0cmFuLW9tcC1zdGVwLnBhdGNoCisrKyBiL2dkYi1iejUzMzE3Ni1mb3J0 cmFuLW9tcC1zdGVwLnBhdGNoCkBAIC0zMCwxMCArMzAsMTAgQEAgdGhyZWFkcyBuZWVkIHRvIGdl dCBzeW5jaHJvbml6ZWQgYXQgc29tZSBwb2ludC4gIFRoaXMgaXMgYSBtb3JlIGdlbmVyYWwKIGRl YnVnZ2luZyBwcm9ibGVtIG9mIEdPTVAgb3V0c2lkZSBvZiB0aGUgc2NvcGUgb2YgdGhpcyBCdWcu CiAKIGRpZmYgLS1naXQgYS9nZGIvaW5mcnVuLmMgYi9nZGIvaW5mcnVuLmMKLWluZGV4IDFkMGY3 MzE5NTQuLmRjZjAyMmJkNTAgMTAwNjQ0CitpbmRleCA3OGZmYzEwYjIzLi40NDNlMjEyM2YwIDEw MDY0NAogLS0tIGEvZ2RiL2luZnJ1bi5jCiArKysgYi9nZGIvaW5mcnVuLmMKLUBAIC02NjkwLDYg KzY2OTAsMTYgQEAgcHJvY2Vzc19ldmVudF9zdG9wX3Rlc3QgKHN0cnVjdCBleGVjdXRpb25fY29u dHJvbF9zdGF0ZSAqZWNzKQorQEAgLTY2OTksNiArNjY5OSwxNiBAQCBwcm9jZXNzX2V2ZW50X3N0 b3BfdGVzdCAoc3RydWN0IGV4ZWN1dGlvbl9jb250cm9sX3N0YXRlICplY3MpCiAgCiAgICAgICAg aWYgKGVjcy0+ZXZlbnRfdGhyZWFkLT5jb250cm9sLnN0ZXBfb3Zlcl9jYWxscyA9PSBTVEVQX09W RVJfQUxMKQogIAl7CkBAIC01MCw3ICs1MCw3IEBAIGluZGV4IDFkMGY3MzE5NTQuLmRjZjAyMmJk NTAgMTAwNjQ0CiAgCSAgLyogV2UncmUgZG9pbmcgYSAibmV4dCIuCiAgCiAgCSAgICAgTm9ybWFs IChmb3J3YXJkKSBleGVjdXRpb246IHNldCBhIGJyZWFrcG9pbnQgYXQgdGhlCi1AQCAtNjcyMyw2 ICs2NzMzLDcgQEAgcHJvY2Vzc19ldmVudF9zdG9wX3Rlc3QgKHN0cnVjdCBleGVjdXRpb25fY29u dHJvbF9zdGF0ZSAqZWNzKQorQEAgLTY3MzIsNiArNjc0Miw3IEBAIHByb2Nlc3NfZXZlbnRfc3Rv cF90ZXN0IChzdHJ1Y3QgZXhlY3V0aW9uX2NvbnRyb2xfc3RhdGUgKmVjcykKICAKICAJICBrZWVw X2dvaW5nIChlY3MpOwogIAkgIHJldHVybjsKCmRpZmYgLS1naXQgYS9nZGItYno1NDE4NjYtcndh dGNoLWJlZm9yZS1ydW4ucGF0Y2ggYi9nZGItYno1NDE4NjYtcndhdGNoLWJlZm9yZS1ydW4ucGF0 Y2gKaW5kZXggZTkyYTc3NS4uZTc0MGM3MSAxMDA2NDQKLS0tIGEvZ2RiLWJ6NTQxODY2LXJ3YXRj aC1iZWZvcmUtcnVuLnBhdGNoCisrKyBiL2dkYi1iejU0MTg2Ni1yd2F0Y2gtYmVmb3JlLXJ1bi5w YXRjaApAQCAtMTAsMTAgKzEwLDEwIEBAIEZpbGVOYW1lOiBnZGItYno1NDE4NjYtcndhdGNoLWJl Zm9yZS1ydW4ucGF0Y2gKIDs7PXB1c2gramFuOiBJdCBzaG91bGQgYmUgZml4ZWQgcHJvcGVybHkg aW5zdGVhZC4KIAogZGlmZiAtLWdpdCBhL2dkYi9icmVha3BvaW50LmMgYi9nZGIvYnJlYWtwb2lu dC5jCi1pbmRleCA4MTQ4MDJhMGExLi41YTk5ZGU3NWUxIDEwMDY0NAoraW5kZXggYTA0YjExODNi Ny4uMzA1YmIzZjZjMCAxMDA2NDQKIC0tLSBhL2dkYi9icmVha3BvaW50LmMKICsrKyBiL2dkYi9i cmVha3BvaW50LmMKLUBAIC04ODY0LDcgKzg4NjQsNyBAQCBpbml0X2JyZWFrcG9pbnRfc2FsIChz dHJ1Y3QgYnJlYWtwb2ludCAqYiwgc3RydWN0IGdkYmFyY2ggKmdkYmFyY2gsCitAQCAtODgwOCw3 ICs4ODA4LDcgQEAgaW5pdF9icmVha3BvaW50X3NhbCAoc3RydWN0IGJyZWFrcG9pbnQgKmIsIHN0 cnVjdCBnZGJhcmNoICpnZGJhcmNoLAogIAkJICAgICBpbnQgZW5hYmxlZCwgaW50IGludGVybmFs LCB1bnNpZ25lZCBmbGFncywKICAJCSAgICAgaW50IGRpc3BsYXlfY2Fub25pY2FsKQogIHsKQEAg LTIyLDcgKzIyLDcgQEAgaW5kZXggODE0ODAyYTBhMS4uNWE5OWRlNzVlMSAxMDA2NDQKICAKICAg IGlmICh0eXBlID09IGJwX2hhcmR3YXJlX2JyZWFrcG9pbnQpCiAgICAgIHsKLUBAIC0xNDQyNSw3 ICsxNDQyNSw3IEBAIGVuYWJsZV9icmVha3BvaW50X2Rpc3AgKHN0cnVjdCBicmVha3BvaW50ICpi cHQsIGVudW0gYnBkaXNwIGRpc3Bvc2l0aW9uLAorQEAgLTE0MzQ1LDcgKzE0MzQ1LDcgQEAgZW5h YmxlX2JyZWFrcG9pbnRfZGlzcCAoc3RydWN0IGJyZWFrcG9pbnQgKmJwdCwgZW51bSBicGRpc3Ag ZGlzcG9zaXRpb24sCiAgCiAgICBpZiAoYnB0LT50eXBlID09IGJwX2hhcmR3YXJlX2JyZWFrcG9p bnQpCiAgICAgIHsKQEAgLTk4LDcgKzk4LDcgQEAgbmV3IGZpbGUgbW9kZSAxMDA2NDQKICsKICsj ZW5kaWYgLyogTk1fTElOVVg2NF9IICovCiBkaWZmIC0tZ2l0IGEvZ2RiL2NvbmZpZ3VyZS5uYXQg Yi9nZGIvY29uZmlndXJlLm5hdAotaW5kZXggOGUxNDg5MjcyMi4uNmRiYjA3MjA1NCAxMDA2NDQK K2luZGV4IDZiMGY0NGZlZGUuLmRkMGM2M2MyNTYgMTAwNjQ0CiAtLS0gYS9nZGIvY29uZmlndXJl Lm5hdAogKysrIGIvZ2RiL2NvbmZpZ3VyZS5uYXQKIEBAIC0yMzcsNiArMjM3LDcgQEAgY2FzZSAk e2dkYl9ob3N0fSBpbgpAQCAtMTE4LDE2ICsxMTgsMTYgQEAgaW5kZXggOGUxNDg5MjcyMi4uNmRi YjA3MjA1NCAxMDA2NDQKICAJCWFtZDY0LW5hdC5vIGFtZDY0LWxpbnV4LW5hdC5vIHg4Ni1saW51 eC1uYXQubyBsaW51eC1idHJhY2UubyBcCiAgCQl4ODYtbGludXgubyB4ODYtbGludXgtZHJlZ3Mu byBhbWQ2NC1saW51eC1zaWdpbmZvLm8iCiBkaWZmIC0tZ2l0IGEvZ2RiL3RhcmdldC5oIGIvZ2Ri L3RhcmdldC5oCi1pbmRleCA0NzgxZmJjNTljLi5lM2EyODgyZmU1IDEwMDY0NAoraW5kZXggZTJk MWU2MWNkYy4uNmUxMzgwOTM5NyAxMDA2NDQKIC0tLSBhL2dkYi90YXJnZXQuaAogKysrIGIvZ2Ri L3RhcmdldC5oCi1AQCAtMTkxNSw5ICsxOTE1LDExIEBAIGV4dGVybiBzdHJ1Y3QgdGhyZWFkX2lu Zm8gKnRhcmdldF90aHJlYWRfaGFuZGxlX3RvX3RocmVhZF9pbmZvCitAQCAtMTkwOCw5ICsxOTA4 LDExIEBAIGV4dGVybiBzdHJ1Y3QgdGhyZWFkX2luZm8gKnRhcmdldF90aHJlYWRfaGFuZGxlX3Rv X3RocmVhZF9pbmZvCiAgICAgb25lLiAgT1RIRVJUWVBFIGlzIHRoZSBudW1iZXIgb2Ygd2F0Y2hw b2ludHMgb2Ygb3RoZXIgdHlwZXMgdGhhbgogICAgIHRoaXMgb25lIHVzZWQgc28gZmFyLiAgKi8K ICAKICsjaWZuZGVmIHRhcmdldF9jYW5fdXNlX2hhcmR3YXJlX3dhdGNocG9pbnQKICAjZGVmaW5l IHRhcmdldF9jYW5fdXNlX2hhcmR3YXJlX3dhdGNocG9pbnQoVFlQRSxDTlQsT1RIRVJUWVBFKSBc Ci0gICgqY3VycmVudF90YXJnZXQudG9fY2FuX3VzZV9od19icmVha3BvaW50KSAoJmN1cnJlbnRf dGFyZ2V0LCAgXAorICAodGFyZ2V0X3N0YWNrLT5jYW5fdXNlX2h3X2JyZWFrcG9pbnQpICggXAog IAkJCQkJICAgICBUWVBFLCBDTlQsIE9USEVSVFlQRSkKICsjZW5kaWYKICAKCmRpZmYgLS1naXQg YS9nZGItYno1NjgyNDgtb29tLWlzLWVycm9yLnBhdGNoIGIvZ2RiLWJ6NTY4MjQ4LW9vbS1pcy1l cnJvci5wYXRjaAppbmRleCBlMGQ1ZjJmLi4xNjFkNjIxIDEwMDY0NAotLS0gYS9nZGItYno1Njgy NDgtb29tLWlzLWVycm9yLnBhdGNoCisrKyBiL2dkYi1iejU2ODI0OC1vb20taXMtZXJyb3IucGF0 Y2gKQEAgLTUzLDEwICs1MywxMCBAQCBnZGIvCiAJKiB1dGlscy5jIChub21lbSk6IENoYW5nZSBp bnRlcm5hbF9lcnJvciB0byBlcnJvci4KIAogZGlmZiAtLWdpdCBhL2dkYi91dGlscy5jIGIvZ2Ri L3V0aWxzLmMKLWluZGV4IGM1MzE3NDhmZTQuLjAwNjZiZmNjNGIgMTAwNjQ0CitpbmRleCA5YzVi ZjY4ZTVhLi43ODEzZGYxNDM2IDEwMDY0NAogLS0tIGEvZ2RiL3V0aWxzLmMKICsrKyBiL2dkYi91 dGlscy5jCi1AQCAtNzc0LDEzICs3NzQsMTEgQEAgbWFsbG9jX2ZhaWx1cmUgKGxvbmcgc2l6ZSkK K0BAIC03NDYsMTMgKzc0NiwxMSBAQCBtYWxsb2NfZmFpbHVyZSAobG9uZyBzaXplKQogIHsKICAg IGlmIChzaXplID4gMCkKICAgICAgewoKZGlmZiAtLWdpdCBhL2dkYi1jb250YWluZXItcmgtcGtn LnBhdGNoIGIvZ2RiLWNvbnRhaW5lci1yaC1wa2cucGF0Y2gKaW5kZXggMmY3ZmVkYy4uOTllZmUw MCAxMDA2NDQKLS0tIGEvZ2RiLWNvbnRhaW5lci1yaC1wa2cucGF0Y2gKKysrIGIvZ2RiLWNvbnRh aW5lci1yaC1wa2cucGF0Y2gKQEAgLTksMTAgKzksMTAgQEAgRmlsZU5hbWU6IGdkYi1jb250YWlu ZXItcmgtcGtnLnBhdGNoCiA7Oz1mZWRvcmEKIAogZGlmZiAtLWdpdCBhL2dkYi9yZW1vdGUuYyBi L2dkYi9yZW1vdGUuYwotaW5kZXggODY3NzdmMWU1ZS4uZmMwMDNjMDczNiAxMDA2NDQKK2luZGV4 IDYzNWNiMjY2ZTguLmE2ODNkZjRhODMgMTAwNjQ0CiAtLS0gYS9nZGIvcmVtb3RlLmMKICsrKyBi L2dkYi9yZW1vdGUuYwotQEAgLTEzNDM3LDcgKzEzNDM3LDE3IEBAIHJlbW90ZV9waWRfdG9fZXhl Y19maWxlIChzdHJ1Y3QgdGFyZ2V0X29wcyAqc2VsZiwgaW50IHBpZCkKK0BAIC0xMzY2Nyw3ICsx MzY2NywxNyBAQCByZW1vdGVfdGFyZ2V0OjpwaWRfdG9fZXhlY19maWxlIChpbnQgcGlkKQogICAg Y2hhciAqYW5uZXggPSBOVUxMOwogIAogICAgaWYgKHBhY2tldF9zdXBwb3J0IChQQUNLRVRfcVhm ZXJfZXhlY19maWxlKSAhPSBQQUNLRVRfRU5BQkxFKQoKZGlmZiAtLWdpdCBhL2dkYi1mZWRvcmEt bGlibmN1cnNlc3cucGF0Y2ggYi9nZGItZmVkb3JhLWxpYm5jdXJzZXN3LnBhdGNoCmluZGV4IGJj MWM4ZDAuLjFiZDE5NWIgMTAwNjQ0Ci0tLSBhL2dkYi1mZWRvcmEtbGlibmN1cnNlc3cucGF0Y2gK KysrIGIvZ2RiLWZlZG9yYS1saWJuY3Vyc2Vzdy5wYXRjaApAQCAtMTIsMTAgKzEyLDEwIEBAIEZl ZG9yYTogRm9yY2UgbGlibmN1cnNlc3cgb3ZlciBsaWJuY3Vyc2VzIHRvIG1hdGNoIHRoZSBpbmNs dWRlcy4KIGh0dHBzOi8vYnVnemlsbGEucmVkaGF0LmNvbS9zaG93X2J1Zy5jZ2k/aWQ9MTI3MDUz NAogCiBkaWZmIC0tZ2l0IGEvZ2RiL2NvbmZpZ3VyZSBiL2dkYi9jb25maWd1cmUKLWluZGV4IDZm YjViNWI1MDkuLmRiODQ5NTcyYjUgMTAwNzU1CitpbmRleCA5ZjIzNmFlMjZhLi5hMmQ0ODBjMWU1 IDEwMDc1NQogLS0tIGEvZ2RiL2NvbmZpZ3VyZQogKysrIGIvZ2RiL2NvbmZpZ3VyZQotQEAgLTky MzgsNiArOTIzOCw3IEBAIGlmIHRlc3QgeCIkcHJlZmVyX2N1cnNlcyIgPSB4eWVzOyB0aGVuCitA QCAtOTMwNCw2ICs5MzA0LDcgQEAgaWYgdGVzdCB4IiRwcmVmZXJfY3Vyc2VzIiA9IHh5ZXM7IHRo ZW4KICAgICMgc2VhcmNoIC91c3IvbG9jYWwvaW5jbHVkZSwgaWYgbmN1cnNlcyBpcyBpbnN0YWxs ZWQgaW4gL3Vzci9sb2NhbC4gIEEKICAgICMgZGVmYXVsdCBpbnN0YWxsYXRpb24gb2YgbmN1cnNl cyBvbiBhbHBoYSotZGVjLW9zZiogd2lsbCBsZWFkIHRvIHN1Y2gKICAgICMgYSBzaXR1YXRpb24u CkBAIC0yMyw3ICsyMyw3IEBAIGluZGV4IDZmYjViNWI1MDkuLmRiODQ5NTcyYjUgMTAwNzU1CiAg ICB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGNoZWNraW5nIGZvciBs aWJyYXJ5IGNvbnRhaW5pbmcgd2FkZHN0ciIgPiY1CiAgJGFzX2VjaG9fbiAiY2hlY2tpbmcgZm9y IGxpYnJhcnkgY29udGFpbmluZyB3YWRkc3RyLi4uICIgPiY2OyB9CiAgaWYgdGVzdCAiJHthY19j dl9zZWFyY2hfd2FkZHN0citzZXR9IiA9IHNldDsgdGhlbiA6Ci1AQCAtOTI2Miw3ICs5MjYzLDcg QEAgcmV0dXJuIHdhZGRzdHIgKCk7CitAQCAtOTMyOCw3ICs5MzI5LDcgQEAgcmV0dXJuIHdhZGRz dHIgKCk7CiAgICByZXR1cm4gMDsKICB9CiAgX0FDRU9GCkBAIC0zMiw3ICszMiw3IEBAIGluZGV4 IDZmYjViNWI1MDkuLmRiODQ5NTcyYjUgMTAwNzU1CiAgICBpZiB0ZXN0IC16ICIkYWNfbGliIjsg dGhlbgogICAgICBhY19yZXM9Im5vbmUgcmVxdWlyZWQiCiAgICBlbHNlCi1AQCAtOTMzNiw2ICs5 MzM3LDcgQEAgY2FzZSAkaG9zdF9vcyBpbgorQEAgLTk0MDIsNiArOTQwMyw3IEBAIGNhc2UgJGhv c3Rfb3MgaW4KICBlc2FjCiAgCiAgIyBUaGVzZSBhcmUgdGhlIGxpYnJhcmllcyBjaGVja2VkIGJ5 IFJlYWRsaW5lLgpAQCAtNDAsNyArNDAsNyBAQCBpbmRleCA2ZmI1YjViNTA5Li5kYjg0OTU3MmI1 IDEwMDc1NQogIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogY2hlY2tp bmcgZm9yIGxpYnJhcnkgY29udGFpbmluZyB0Z2V0ZW50IiA+JjUKICAkYXNfZWNob19uICJjaGVj a2luZyBmb3IgbGlicmFyeSBjb250YWluaW5nIHRnZXRlbnQuLi4gIiA+JjY7IH0KICBpZiB0ZXN0 ICIke2FjX2N2X3NlYXJjaF90Z2V0ZW50K3NldH0iID0gc2V0OyB0aGVuIDoKLUBAIC05MzYwLDcg KzkzNjIsNyBAQCByZXR1cm4gdGdldGVudCAoKTsKK0BAIC05NDI2LDcgKzk0MjgsNyBAQCByZXR1 cm4gdGdldGVudCAoKTsKICAgIHJldHVybiAwOwogIH0KICBfQUNFT0YKQEAgLTUwLDEwICs1MCwx MCBAQCBpbmRleCA2ZmI1YjViNTA5Li5kYjg0OTU3MmI1IDEwMDc1NQogICAgICBhY19yZXM9Im5v bmUgcmVxdWlyZWQiCiAgICBlbHNlCiBkaWZmIC0tZ2l0IGEvZ2RiL2NvbmZpZ3VyZS5hYyBiL2dk Yi9jb25maWd1cmUuYWMKLWluZGV4IGQ4OTFjN2JjY2MuLjQ0MTJlMjU0NTAgMTAwNjQ0CitpbmRl eCBkYzBhY2QwMzViLi41N2ViY2FlYjA4IDEwMDY0NAogLS0tIGEvZ2RiL2NvbmZpZ3VyZS5hYwog KysrIGIvZ2RiL2NvbmZpZ3VyZS5hYwotQEAgLTc1NSw3ICs3NTUsOCBAQCBpZiB0ZXN0IHgiJHBy ZWZlcl9jdXJzZXMiID0geHllczsgdGhlbgorQEAgLTc2MCw3ICs3NjAsOCBAQCBpZiB0ZXN0IHgi JHByZWZlcl9jdXJzZXMiID0geHllczsgdGhlbgogICAgIyBzZWFyY2ggL3Vzci9sb2NhbC9pbmNs dWRlLCBpZiBuY3Vyc2VzIGlzIGluc3RhbGxlZCBpbiAvdXNyL2xvY2FsLiAgQQogICAgIyBkZWZh dWx0IGluc3RhbGxhdGlvbiBvZiBuY3Vyc2VzIG9uIGFscGhhKi1kZWMtb3NmKiB3aWxsIGxlYWQg dG8gc3VjaAogICAgIyBhIHNpdHVhdGlvbi4KQEAgLTYzLDcgKzYzLDcgQEAgaW5kZXggZDg5MWM3 YmNjYy4uNDQxMmUyNTQ1MCAxMDA2NDQKICAKICAgIGlmIHRlc3QgIiRhY19jdl9zZWFyY2hfd2Fk ZHN0ciIgIT0gbm87IHRoZW4KICAgICAgY3Vyc2VzX2ZvdW5kPXllcwotQEAgLTc5Nyw3ICs3OTgs OCBAQCBjYXNlICRob3N0X29zIGluCitAQCAtODAyLDcgKzgwMyw4IEBAIGNhc2UgJGhvc3Rfb3Mg aW4KICBlc2FjCiAgCiAgIyBUaGVzZSBhcmUgdGhlIGxpYnJhcmllcyBjaGVja2VkIGJ5IFJlYWRs aW5lLgoKZGlmZiAtLWdpdCBhL2dkYi1mb2xsb3ctY2hpbGQtc3RhbGUtcGFyZW50LnBhdGNoIGIv Z2RiLWZvbGxvdy1jaGlsZC1zdGFsZS1wYXJlbnQucGF0Y2gKaW5kZXggZmE5NTExMy4uMDliNDA0 MiAxMDA2NDQKLS0tIGEvZ2RiLWZvbGxvdy1jaGlsZC1zdGFsZS1wYXJlbnQucGF0Y2gKKysrIGIv Z2RiLWZvbGxvdy1jaGlsZC1zdGFsZS1wYXJlbnQucGF0Y2gKQEAgLTI0LDEwICsyNCwxMCBAQCB1 bndpbmRlcnMgdHJ5IHRvIGFjY2VzcyBpdCwgYnJlYWtpbmc6CiAgICtGQUlMOiBnZGIudGhyZWFk cy93YXRjaHBvaW50LWZvcmsuZXhwOiBjaGlsZDogc2luZ2xldGhyZWFkZWQ6IGZpbmlzaAogCiBk aWZmIC0tZ2l0IGEvZ2RiL2luZnJ1bi5jIGIvZ2RiL2luZnJ1bi5jCi1pbmRleCBkY2YwMjJiZDUw Li5iNDY4ZDAyZmQ2IDEwMDY0NAoraW5kZXggNDQzZTIxMjNmMC4uMTZlZTFjMmUzMSAxMDA2NDQK IC0tLSBhL2dkYi9pbmZydW4uYwogKysrIGIvZ2RiL2luZnJ1bi5jCi1AQCAtNzQ5LDYgKzc0OSw5 IEBAIGZvbGxvd19mb3JrICh2b2lkKQorQEAgLTc1Miw2ICs3NTIsOSBAQCBmb2xsb3dfZm9yayAo dm9pZCkKICAJICB9CiAgCWVsc2UKICAJICB7CgpkaWZmIC0tZ2l0IGEvZ2RiLWdkYi1hZGQtaW5k ZXgtc2NyaXB0LnBhdGNoIGIvZ2RiLWdkYi1hZGQtaW5kZXgtc2NyaXB0LnBhdGNoCmRlbGV0ZWQg ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzZDNkYTkyLi4wMDAwMDAwCi0tLSBhL2dkYi1nZGItYWRk LWluZGV4LXNjcmlwdC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDE3MSArMCwwIEBACi1Gcm9t IEZFRE9SQV9QQVRDSEVTIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogRmVkb3JhIEdE QiBwYXRjaGVzIDxpbnZhbGlkQGVtYWlsLmNvbT4KLURhdGU6IEZyaSwgMjcgT2N0IDIwMTcgMjE6 MDc6NTAgKzAyMDAKLVN1YmplY3Q6IFJGQzogYWRkIERXQVJGIGluZGV4IHN1cHBvcnQKLQotRmls ZU5hbWU6IGdkYi1nZGItYWRkLWluZGV4LXNjcmlwdC5wYXRjaAotCi07OyBQcm92aWRlIC91c3Iv YmluL2dkYi1hZGQtaW5kZXggZm9yIHJwbS1idWlsZCAoVG9tIFRyb21leSkuCi07Oz1wdXNoOiBS ZS1jaGVjayBhZ2FpbnN0IHRoZSB1cHN0cmVhbSB2ZXJzaW9uLgotCi1odHRwOi8vc291cmNld2Fy ZS5vcmcvbWwvZ2RiLXBhdGNoZXMvMjAxMC0wNy9tc2cwMDE4NC5odG1sCi0KLUphbiBLcmF0b2No dmlsOiBGaXhlZCAkZCAtPiAkZGlyLgotSmFuIEtyYXRvY2h2aWw6IFJlbW92ZSAvZGV2L251bGwg cmVkaXJlY3Rpb24uCi0KLT4+Pj4+ICJUb20iID09IFRvbSBUcm9tZXkgPHRyb21leUByZWRoYXQu Y29tPiB3cml0ZXM6Ci0KLVRvbT4gVGhpcyBwYXRjaCBzZXJpZXMgYWRkcyBzdXBwb3J0IGZvciBh IERXQVJGIGluZGV4IHRvIGdkYi4KLQotUm9sYW5kIHN1Z2dlc3RlZCB3ZSB3cmFwIHVwIHRoZSBp bmRleC1jcmVhdGlvbiBjb2RlIGludG8gYSBoZWxwZXIKLXNjcmlwdC4KLQotSSdtIG5vdCBzdXJl IGlmIHRoaXMgaXMgc29tZXRoaW5nIHBlb3BsZSB3b3VsZCB3YW50IGluIGdkYiBwcm9wZXIsIGJ1 dCBJCi1maWd1cmVkIEkgd291bGQgc2VuZCBpdCBoZXJlIGp1c3QgaW4gY2FzZS4KLQotVG9tCi0K LTIwMTAtMDctMDkgIFRvbSBUcm9tZXkgIDx0cm9tZXlAcmVkaGF0LmNvbT4KLQotCSogTWFrZWZp bGUuaW4gKGluc3RhbGwtb25seSk6IEluc3RhbGwgZ2RiLWFkZC1pbmRleC4KLQkqIGdkYi1hZGQt aW5kZXg6IE5ldyBmaWxlLgotCi0yMDEwLTA3LTA5ICBUb20gVHJvbWV5ICA8dHJvbWV5QHJlZGhh dC5jb20+Ci0KLQkqIGdkYi50ZXhpbmZvIChJbmRleCBGaWxlcyk6IE1lbnRpb24gZ2RiLWFkZC1p bmRleC4KLQotPkZyb20gMzA3MTRmZTcxOWU2MWJhZWEwM2QwZGM1NzkzZWIwZDU2NGZhZWJiNyBN b24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IFRvbSBUcm9tZXkgPHRyb21leUByZWRoYXQu Y29tPgotRGF0ZTogRnJpLCA5IEp1bCAyMDEwIDExOjE3OjU0IC0wNjAwCi1TdWJqZWN0OiBbUEFU Q0ggNC80XSBhZGQgZ2RiLWFkZC1pbmRleAotU3ViamVjdDogW1BBVENIIDQvNF0gYWRkIGdkYi1h ZGQtaW5kZXgKLQotZGlmZiAtLWdpdCBhL2dkYi9NYWtlZmlsZS5pbiBiL2dkYi9NYWtlZmlsZS5p bgotaW5kZXggZTc3ZDZhNWMwMy4uMzE0MmFkNmFmMSAxMDA2NDQKLS0tLSBhL2dkYi9NYWtlZmls ZS5pbgotKysrIGIvZ2RiL01ha2VmaWxlLmluCi1AQCAtMTc3MCw2ICsxNzcwLDE1IEBAIGluc3Rh bGwtb25seTogaW5zdGFsbC1nc3RhY2sgJChDT05GSUdfSU5TVEFMTCkKLSAJCSAgJChJTlNUQUxM X1NDUklQVCkgZ2NvcmUgXAotIAkJCSAgJChERVNURElSKSQoYmluZGlyKS8kJHRyYW5zZm9ybWVk X25hbWU7IFwKLSAJZmkKLSsJdHJhbnNmb3JtZWRfbmFtZT1gdD0nJChwcm9ncmFtX3RyYW5zZm9y bV9uYW1lKSc7IFwKLSsJCQkgIGVjaG8gZ2RiLWFkZC1pbmRleCB8IHNlZCAtZSAiJCR0ImAgOyBc Ci0rCQlpZiB0ZXN0ICJ4JCR0cmFuc2Zvcm1lZF9uYW1lIiA9IHg7IHRoZW4gXAotKwkJICB0cmFu c2Zvcm1lZF9uYW1lPWdkYi1hZGQtaW5kZXggOyBcCi0rCQllbHNlIFwKLSsJCSAgdHJ1ZSA7IFwK LSsJCWZpIDsgXAotKwkJJChJTlNUQUxMX1BST0dSQU0pICQoc3JjZGlyKS9jb250cmliL2dkYi1h ZGQtaW5kZXguc2ggXAotKwkJCSQoREVTVERJUikkKGJpbmRpcikvJCR0cmFuc2Zvcm1lZF9uYW1l JChFWEVFWFQpCi0gCUAkKE1BS0UpIERPPWluc3RhbGwgIkRPRElSUz0kKFNVQkRJUlMpIiAkKEZM QUdTX1RPX1BBU1MpIHN1YmRpcl9kbwotIAotIGluc3RhbGwtc3RyaXA6Ci1kaWZmIC0tZ2l0IGEv Z2RiL2RvYy9NYWtlZmlsZS5pbiBiL2dkYi9kb2MvTWFrZWZpbGUuaW4KLWluZGV4IGVhZmFkZWU4 OTkuLjAzMjNiYzRlY2IgMTAwNjQ0Ci0tLS0gYS9nZGIvZG9jL01ha2VmaWxlLmluCi0rKysgYi9n ZGIvZG9jL01ha2VmaWxlLmluCi1AQCAtMTc0LDcgKzE3NCw3IEBAIFBPRDJNQU41ID0gcG9kMm1h biAtLWNlbnRlcj0iR05VIERldmVsb3BtZW50IFRvb2xzIiBcCi0gCQkgICAtLXJlbGVhc2U9Imdk Yi1gc2VkIHEgdmVyc2lvbi5zdWJzdGAiIC0tc2VjdGlvbj01Ci0gCi0gIyBMaXN0IG9mIG1hbiBw YWdlcyBnZW5lcmF0ZWQgZnJvbSBnZGIudGV4aQotLU1BTjFTID0gZ2RiLjEgZ2Ric2VydmVyLjEg Z2NvcmUuMQotK01BTjFTID0gZ2RiLjEgZ2Ric2VydmVyLjEgZ2NvcmUuMSBnZGItYWRkLWluZGV4 LjEKLSBNQU41UyA9IGdkYmluaXQuNQotIE1BTlMgPSAkKE1BTjFTKSAkKE1BTjVTKQotIAotQEAg LTYzMyw2ICs2MzMsMTMgQEAgZ2NvcmUuMTogJChHREJfRE9DX0ZJTEVTKQotIAkJbXYgLWYgJEAu VCQkJCQgJEApIHx8IChybSAtZiAkQC5UJCQkJCAmJiBleGl0IDEpCi0gCXJtIC1mIGdjb3JlLnBv ZAotIAotK2dkYi1hZGQtaW5kZXguMTogJChHREJfRE9DX0ZJTEVTKQotKwl0b3VjaCAkQAotKwkt JChURVhJMlBPRCkgJChNQU5DT05GKSAtRGdkYi1hZGQtaW5kZXggPCAkKHNyY2RpcikvZ2RiLnRl eGluZm8gPiBnZGItYWRkLWluZGV4LnBvZAotKwktKCQoUE9EMk1BTjEpIGdkYi1hZGQtaW5kZXgu cG9kIHwgc2VkIC1lICcvXi5pZiBuIC5uYS9kJyA+ICRALlQkJCQkICYmIFwKLSsJCW12IC1mICRA LlQkJCQkICRAKSB8fCAocm0gLWYgJEAuVCQkJCQgJiYgZXhpdCAxKQotKwlybSAtZiBnZGItYWRk LWluZGV4LnBvZAotKwotIGdkYmluaXQuNTogJChHREJfRE9DX0ZJTEVTKQotIAl0b3VjaCAkQAot IAktJChURVhJMlBPRCkgJChNQU5DT05GKSAtRGdkYmluaXQgPCAkKHNyY2RpcikvZ2RiLnRleGlu Zm8gPiBnZGJpbml0LnBvZAotZGlmZiAtLWdpdCBhL2dkYi9kb2MvZ2RiLnRleGluZm8gYi9nZGIv ZG9jL2dkYi50ZXhpbmZvCi1pbmRleCAyZjJjYmQzZGVhLi43Yjk5YWUxNTUxIDEwMDY0NAotLS0t IGEvZ2RiL2RvYy9nZGIudGV4aW5mbwotKysrIGIvZ2RiL2RvYy9nZGIudGV4aW5mbwotQEAgLTE5 Nzk2LDYgKzE5Nzk2LDE0IEBAIFRoZXJlIGFyZSBjdXJyZW50bHkgc29tZSBsaW1pdGF0aW9uIG9u IGluZGljZXMuICBUaGV5IG9ubHkgd29yayB3aGVuCi0gZm9yIERXQVJGIGRlYnVnZ2luZyBpbmZv cm1hdGlvbiwgbm90IHN0YWJzLiAgQW5kLCB0aGV5IGRvIG5vdAotIGN1cnJlbnRseSB3b3JrIGZv ciBwcm9ncmFtcyB1c2luZyBBZGEuCi0gCi0rQHZhbHVle0dEQk59IGNvbWVzIHdpdGggYSBwcm9n cmFtLCBAY29tbWFuZHtnZGItYWRkLWluZGV4fSwgd2hpY2ggY2FuCi0rYmUgdXNlZCB0byBhZGQg dGhlIGluZGV4IHRvIGEgc3ltYm9sIGZpbGUuICBJdCB0YWtlcyB0aGUgc3ltYm9sIGZpbGUKLSth cyBpdHMgb25seSBhcmd1bWVudDoKLSsKLStAc21hbGxleGFtcGxlCi0rJCBnZGItYWRkLWluZGV4 IHN5bWZpbGUKLStAZW5kIHNtYWxsZXhhbXBsZQotKwotIEBub2RlIFN5bWJvbCBFcnJvcnMKLSBA c2VjdGlvbiBFcnJvcnMgUmVhZGluZyBTeW1ib2wgRmlsZXMKLSAKLUBAIC00Mjc1OSw2ICs0Mjc2 Nyw3IEBAIHN3aXRjaCAoZGllLT50YWcpCi0gKiBnZGJzZXJ2ZXIgbWFuOjogICAgICAgICAgICAg ICBSZW1vdGUgU2VydmVyIGZvciB0aGUgR05VIERlYnVnZ2VyIG1hbiBwYWdlCi0gKiBnY29yZSBt YW46OiAgICAgICAgICAgICAgICAgICBHZW5lcmF0ZSBhIGNvcmUgZmlsZSBvZiBhIHJ1bm5pbmcg cHJvZ3JhbQotICogZ2RiaW5pdCBtYW46OiAgICAgICAgICAgICAgICAgZ2RiaW5pdCBzY3JpcHRz Ci0rKiBnZGItYWRkLWluZGV4IG1hbjo6ICAgICAgICAgICBBZGQgaW5kZXggZmlsZXMgdG8gc3Bl ZWQgdXAgR0RCCi0gQGVuZCBtZW51Ci0gCi0gQG5vZGUgZ2RiIG1hbgotQEAgLTQzNDM1LDYgKzQz NDQ0LDU0IEBAIFJpY2hhcmQgTS4gU3RhbGxtYW4gYW5kIFJvbGFuZCBILiBQZXNjaCwgSnVseSAx OTkxLgotIEBlbmQgaWZzZXQKLSBAYyBtYW4gZW5kCi0gCi0rQG5vZGUgZ2RiLWFkZC1pbmRleCBt YW4KLStAaGVhZGluZyBnZGItYWRkLWluZGV4Ci0rCi0rQGMgbWFuIHRpdGxlIGdkYi1hZGQtaW5k ZXggQWRkIGluZGV4IGZpbGVzIHRvIHNwZWVkIHVwIEdEQgotKwotK0BjIG1hbiBiZWdpbiBTWU5P UFNJUyBnZGItYWRkLWluZGV4Ci0rZ2RiLWFkZC1pbmRleCBAdmFye2ZpbGVuYW1lfQotK0BjIG1h biBlbmQKLSsKLStAYyBtYW4gYmVnaW4gREVTQ1JJUFRJT04gZ2RiLWFkZC1pbmRleAotK1doZW4g R0RCIGZpbmRzIGEgc3ltYm9sIGZpbGUsIGl0IHNjYW5zIHRoZSBzeW1ib2xzIGluIHRoZSBmaWxl IGluIG9yZGVyCi0rdG8gY29uc3RydWN0IGFuIGludGVybmFsIHN5bWJvbCB0YWJsZS4gIFRoaXMg bGV0cyBtb3N0IEdEQiBvcGVyYXRpb25zCi0rd29yayBxdWlja2x5LS1hdCB0aGUgY29zdCBvZiBh IGRlbGF5IGVhcmx5IG9uLiAgRm9yIGxhcmdlIHByb2dyYW1zLAotK3RoaXMgZGVsYXkgY2FuIGJl IHF1aXRlIGxlbmd0aHksIHNvIEdEQiBwcm92aWRlcyBhIHdheSB0byBidWlsZCBhbgotK2luZGV4 LCB3aGljaCBzcGVlZHMgdXAgc3RhcnR1cC4KLSsKLStUbyBkZXRlcm1pbmUgd2hldGhlciBhIGZp bGUgY29udGFpbnMgc3VjaCBhbiBpbmRleCwgdXNlIHRoZSBjb21tYW5kCi0rQGNvbW1hbmR7cmVh ZGVsZiAtUyBmaWxlbmFtZX06IHRoZSBpbmRleCBpcyBzdG9yZWQgaW4gYSBzZWN0aW9uIG5hbWVk Ci0rQGNvZGV7LmdkYl9pbmRleH0uICBOb3RlIHRoYXQgdGhlIGluZGV4IGlzIG5ldmVyIGdlbmVy YXRlZCBmb3IgZmlsZXMgdGhhdCBkbwotK25vdCBjb250YWluIERXQVJGIGRlYnVnIGluZm9ybWF0 aW9uIChzZWN0aW9ucyBuYW1lZCBAY29kZXsuZGVidWdfKn0pLgotKwotK1NlZSBtb3JlIGluCi0r QGlmc2V0IG1hbgotK3RoZSBAdmFsdWV7R0RCTn0gbWFudWFsIGluIG5vZGUgQGNvZGV7SW5kZXgg RmlsZXN9Ci0rLS0gc2hlbGwgY29tbWFuZCBAY29kZXtpbmZvIC1mIGdkYiAtbiAnSW5kZXggRmls ZXMnfS4KLStAZW5kIGlmc2V0Ci0rQGlmY2xlYXIgbWFuCi0rQHJlZntJbmRleCBGaWxlc30uCi0r QGVuZCBpZmNsZWFyCi0rQGMgbWFuIGVuZAotKwotK0BjIG1hbiBiZWdpbiBTRUVBTFNPIGdkYi1h ZGQtaW5kZXgKLStAaWZzZXQgbWFuCi0rVGhlIGZ1bGwgZG9jdW1lbnRhdGlvbiBmb3IgQHZhbHVl e0dEQk59IGlzIG1haW50YWluZWQgYXMgYSBUZXhpbmZvIG1hbnVhbC4KLStJZiB0aGUgQGNvZGV7 aW5mb30gYW5kIEBjb2Rle2dkYn0gcHJvZ3JhbXMgYW5kIEB2YWx1ZXtHREJOfSdzIFRleGluZm8K LStkb2N1bWVudGF0aW9uIGFyZSBwcm9wZXJseSBpbnN0YWxsZWQgYXQgeW91ciBzaXRlLCB0aGUg Y29tbWFuZAotKwotK0BzbWFsbGV4YW1wbGUKLStpbmZvIGdkYgotK0BlbmQgc21hbGxleGFtcGxl Ci0rCi0rc2hvdWxkIGdpdmUgeW91IGFjY2VzcyB0byB0aGUgY29tcGxldGUgbWFudWFsLgotKwot K0BjaXRle1VzaW5nIEdEQjogQSBHdWlkZSB0byB0aGUgR05VIFNvdXJjZS1MZXZlbCBEZWJ1Z2dl cn0sCi0rUmljaGFyZCBNLiBTdGFsbG1hbiBhbmQgUm9sYW5kIEguIFBlc2NoLCBKdWx5IDE5OTEu Ci0rQGVuZCBpZnNldAotK0BjIG1hbiBlbmQKLSsKLSBAaW5jbHVkZSBncGwudGV4aQotIAotIEBu b2RlIEdOVSBGcmVlIERvY3VtZW50YXRpb24gTGljZW5zZQoKZGlmZiAtLWdpdCBhL2dkYi1nbGli Yy1zdHJzdHItd29ya2Fyb3VuZC5wYXRjaCBiL2dkYi1nbGliYy1zdHJzdHItd29ya2Fyb3VuZC5w YXRjaAppbmRleCBjYTYxMTdhLi5kZWM2MjQ1IDEwMDY0NAotLS0gYS9nZGItZ2xpYmMtc3Ryc3Ry LXdvcmthcm91bmQucGF0Y2gKKysrIGIvZ2RiLWdsaWJjLXN0cnN0ci13b3JrYXJvdW5kLnBhdGNo CkBAIC05LDEwICs5LDEwIEBAIEZpbGVOYW1lOiBnZGItZ2xpYmMtc3Ryc3RyLXdvcmthcm91bmQu cGF0Y2gKIDs7PWZlZG9yYTogQ29tcGF0aWJpbGl0eSB3aXRoIFJIRUxzICh1bmNoZWNrZWQgd2hp Y2ggb25lcykuCiAKIGRpZmYgLS1naXQgYS9nZGIvZHdhcmYycmVhZC5jIGIvZ2RiL2R3YXJmMnJl YWQuYwotaW5kZXggYzhkYjk1NWYyZi4uNmViZTAwZjU0MiAxMDA2NDQKK2luZGV4IDI2Njc0MGY3 NGMuLmQ2OWYxNTRhZjMgMTAwNjQ0CiAtLS0gYS9nZGIvZHdhcmYycmVhZC5jCiArKysgYi9nZGIv ZHdhcmYycmVhZC5jCi1AQCAtMjEzMjgsNiArMjEzMjgsMjYgQEAgbmV3X3N5bWJvbF9mdWxsIChz dHJ1Y3QgZGllX2luZm8gKmRpZSwgc3RydWN0IHR5cGUgKnR5cGUsIHN0cnVjdCBkd2FyZjJfY3Ug KmN1LAorQEAgLTIxMzc2LDYgKzIxMzc2LDI2IEBAIG5ld19zeW1ib2wgKHN0cnVjdCBkaWVfaW5m byAqZGllLCBzdHJ1Y3QgdHlwZSAqdHlwZSwgc3RydWN0IGR3YXJmMl9jdSAqY3UsCiAgICAgICAg LyogQ2FjaGUgdGhpcyBzeW1ib2wncyBuYW1lIGFuZCB0aGUgbmFtZSdzIGRlbWFuZ2xlZCBmb3Jt IChpZiBhbnkpLiAgKi8KICAgICAgICBTWU1CT0xfU0VUX0xBTkdVQUdFIChzeW0sIGN1LT5sYW5n dWFnZSwgJm9iamZpbGUtPm9iamZpbGVfb2JzdGFjayk7CiAgICAgICAgbGlua2FnZW5hbWUgPSBk d2FyZjJfcGh5c25hbWUgKG5hbWUsIGRpZSwgY3UpOwoKZGlmZiAtLWdpdCBhL2dkYi1nbmF0LWR3 YXJmLWNyYXNoLTNvZjMucGF0Y2ggYi9nZGItZ25hdC1kd2FyZi1jcmFzaC0zb2YzLnBhdGNoCmlu ZGV4IGY3NWQxNDQuLjU3NjNhNmMgMTAwNjQ0Ci0tLSBhL2dkYi1nbmF0LWR3YXJmLWNyYXNoLTNv ZjMucGF0Y2gKKysrIGIvZ2RiLWduYXQtZHdhcmYtY3Jhc2gtM29mMy5wYXRjaApAQCAtNDIsMjEg KzQyLDIwMiBAQCBnZGIvCiAJKiBkd2FyZjJyZWFkLmMgKHByb2Nlc3NfZGllKTogQ2hhbmdlIGdk Yl9hc3NlcnQgdG8gY29tcGxhaW50LgogCiBkaWZmIC0tZ2l0IGEvZ2RiL2R3YXJmMnJlYWQuYyBi L2dkYi9kd2FyZjJyZWFkLmMKLWluZGV4IGZiYWEwYWY2NGYuLjJjOTcyZDVlNzQgMTAwNjQ0Citp bmRleCA0MjBjM2U2YmQ1Li4zMjhhMDdkZjgyIDEwMDY0NAogLS0tIGEvZ2RiL2R3YXJmMnJlYWQu YwogKysrIGIvZ2RiL2R3YXJmMnJlYWQuYwotQEAgLTEwNjEyLDYgKzEwNjEyLDE0IEBAIHByaXZh dGU6CitAQCAtMTA1MTYsNiArMTA1MTYsMTQgQEAgcHJpdmF0ZToKICBzdGF0aWMgdm9pZAogIHBy b2Nlc3NfZGllIChzdHJ1Y3QgZGllX2luZm8gKmRpZSwgc3RydWN0IGR3YXJmMl9jdSAqY3UpCiAg ewogKyAgaWYgKGRpZS0+aW5fcHJvY2VzcykKICsgICAgewogKyAgICAgIGNvbXBsYWludCAoJnN5 bWZpbGVfY29tcGxhaW50cywKLSsJCSBfKCJESUUgYXQgMHgleCBhdHRlbXB0ZWQgdG8gYmUgcHJv Y2Vzc2VkIHR3aWNlIiksCi0rCQkgdG9fdW5kZXJseWluZyAoZGllLT5zZWN0X29mZikpOworKwkJ IF8oIkRJRSBhdCAweCVzIGF0dGVtcHRlZCB0byBiZSBwcm9jZXNzZWQgdHdpY2UiKSwKKysJCSBz ZWN0X29mZnNldF9zdHIgKGRpZS0+c2VjdF9vZmYpKTsKICsgICAgICByZXR1cm47CiArICAgIH0K ICsKICAgIHByb2Nlc3NfZGllX3Njb3BlIHNjb3BlIChkaWUsIGN1KTsKICAKICAgIHN3aXRjaCAo ZGllLT50YWcpCitkaWZmIC0tZ2l0IGEvZ2RiL2luZnJ1bi5jIGIvZ2RiL2luZnJ1bi5jCitpbmRl eCAxNmVlMWMyZTMxLi44MmI5Y2VkYzkwIDEwMDY0NAorLS0tIGEvZ2RiL2luZnJ1bi5jCisrKysg Yi9nZGIvaW5mcnVuLmMKK0BAIC02MDksNiArNjA5LDEzIEBAIGhvbGRpbmcgdGhlIGNoaWxkIHN0 b3BwZWQuICBUcnkgXCJzZXQgZGV0YWNoLW9uLWZvcmtcIiBvciBcCisgCQkJCXRhcmdldF9waWRf dG9fc3RyIChwcm9jZXNzX3B0aWQpKTsKKyAJICAgIH0KKyAKKysjaWZkZWYgTkVFRF9ERVRBQ0hf U0lHU1RPUAorKwkgIC8qIFdlIHNob3VsZCBjaGVjayBQSURfV0FTX1NUT1BQRUQgYW5kIGRldGFj aCBpdCBzdG9wcGVkIGFjY29yZGluZ2x5LgorKwkgICAgIEluIHRoaXMgcG9pbnQgb2YgY29kZSBp dCBjYW5ub3QgYmUgMSBhcyB3ZSB3b3VsZCBub3QgZ2V0IEZPUksKKysJICAgICBleGVjdXRlZCB3 aXRob3V0IENPTlRJTlVFIGZpcnN0IHdoaWNoIHJlc2V0cyBQSURfV0FTX1NUT1BQRUQuCisrCSAg ICAgV2Ugd291bGQgaGF2ZSB0byBmaXJzdCBUQVJHRVRfU1RPUCBhbmQgV0FJVFBJRCBpdCBhcyB3 aXRoIHJ1bm5pbmcKKysJICAgICBpbmZlcmlvciBQVFJBQ0VfREVUQUNILCBTSUdTVE9QIHdpbGwg aWdub3JlIHRoZSBzaWduYWwuICAqLworKyNlbmRpZgorIAkgIHRhcmdldF9kZXRhY2ggKHBhcmVu dF9pbmYsIDApOworIAl9CisgCitkaWZmIC0tZ2l0IGEvZ2RiL2xpbnV4LW5hdC5jIGIvZ2RiL2xp bnV4LW5hdC5jCitpbmRleCAwNTM0NDMxNmE3Li4zMGE5NGI0N2M5IDEwMDY0NAorLS0tIGEvZ2Ri L2xpbnV4LW5hdC5jCisrKysgYi9nZGIvbGludXgtbmF0LmMKK0BAIC0xOTEsNiArMTkxLDEyIEBA IHN0cnVjdCBsaW51eF9uYXRfdGFyZ2V0ICpsaW51eF90YXJnZXQ7CisgLyogRG9lcyB0aGUgY3Vy cmVudCBob3N0IHN1cHBvcnQgUFRSQUNFX0dFVFJFR1NFVD8gICovCisgZW51bSB0cmlib29sIGhh dmVfcHRyYWNlX2dldHJlZ3NldCA9IFRSSUJPT0xfVU5LTk9XTjsKKyAKKysjaWZkZWYgTkVFRF9E RVRBQ0hfU0lHU1RPUAorKy8qIFBJRCBvZiB0aGUgaW5mZXJpb3Igc3RvcHBlZCBieSBTSUdTVE9Q IGJlZm9yZSBhdHRhY2hpbmcgKG9yIHplcm8pLiAgKi8KKytzdGF0aWMgcGlkX3QgcGlkX3dhc19z dG9wcGVkOworKworKyNlbmRpZgorKworIC8qIFRoZSBzYXZlZCB0b19jbG9zZSBtZXRob2QsIGlu aGVyaXRlZCBmcm9tIGluZi1wdHJhY2UuYy4KKyAgICBDYWxsZWQgYnkgb3VyIHRvX2Nsb3NlLiAg Ki8KKyBzdGF0aWMgdm9pZCAoKnN1cGVyX2Nsb3NlKSAoc3RydWN0IHRhcmdldF9vcHMgKik7CitA QCAtMTAyNiw2ICsxMDMyLDkgQEAgbGludXhfbmF0X3Bvc3RfYXR0YWNoX3dhaXQgKHB0aWRfdCBw dGlkLCBpbnQgKnNpZ25hbGxlZCkKKyAgICAgICBpZiAoZGVidWdfbGludXhfbmF0KQorIAlmcHJp bnRmX3VuZmlsdGVyZWQgKGdkYl9zdGRsb2csCisgCQkJICAgICJMTlBBVzogQXR0YWNoaW5nIHRv IGEgc3RvcHBlZCBwcm9jZXNzXG4iKTsKKysjaWZkZWYgTkVFRF9ERVRBQ0hfU0lHU1RPUAorKyAg ICAgIHBpZF93YXNfc3RvcHBlZCA9IHB0aWRfZ2V0X3BpZCAocHRpZCk7CisrI2VuZGlmCisgCisg ICAgICAgLyogVGhlIHByb2Nlc3MgaXMgZGVmaW5pdGVseSBzdG9wcGVkLiAgSXQgaXMgaW4gYSBq b2IgY29udHJvbAorIAkgc3RvcCwgdW5sZXNzIHRoZSBrZXJuZWwgcHJlZGF0ZXMgdGhlIFRBU0tf U1RPUFBFRCAvCitAQCAtMTM1OSw2ICsxMzY4LDI1IEBAIGdldF9kZXRhY2hfc2lnbmFsIChzdHJ1 Y3QgbHdwX2luZm8gKmxwKQorICAgICAgIHJldHVybiBnZGJfc2lnbmFsX3RvX2hvc3QgKHNpZ25v KTsKKyAgICAgfQorIAorKyNpZmRlZiBORUVEX0RFVEFDSF9TSUdTVE9QCisrICAvKiBXb3JrYXJv dW5kIFJIRUwtNSBrZXJuZWwgd2hpY2ggaGFzIHVucmVsaWFibGUgUFRSQUNFX0RFVEFDSCwgU0lH U1RPUCAodGhhdAorKyAgICAgbWFueSBUSURzIGFyZSBsZWZ0IHVuc3RvcHBlZCkuICBTZWUgUkgg QnVnIDQ5NjczMi4gICovCisrICBpZiAocHRpZF9nZXRfcGlkIChscC0+cHRpZCkgPT0gcGlkX3dh c19zdG9wcGVkKQorKyAgICB7CisrICAgICAgaW50IGVycjsKKysKKysgICAgICBlcnJubyA9IDA7 CisrICAgICAgZXJyID0ga2lsbF9sd3AgKHB0aWRfZ2V0X2x3cCAobHAtPnB0aWQpLCBTSUdTVE9Q KTsKKysgICAgICBpZiAoZGVidWdfbGludXhfbmF0KQorKwl7CisrCSAgZnByaW50Zl91bmZpbHRl cmVkIChnZGJfc3RkbG9nLAorKwkJCSAgICAgICJTQzogIGx3cCBraWxsICVkICVzXG4iLAorKwkJ CSAgICAgIGVyciwKKysJCQkgICAgICBlcnJubyA/IHNhZmVfc3RyZXJyb3IgKGVycm5vKSA6ICJF UlJOTy1PSyIpOworKwl9CisrICAgIH0KKysKKysjZW5kaWYKKyAgIHJldHVybiAwOworIH0KKyAK K0BAIC0xNTA3LDYgKzE1MzUsMTAgQEAgbGludXhfbmF0X3RhcmdldDo6ZGV0YWNoIChpbmZlcmlv ciAqaW5mLCBpbnQgZnJvbV90dHkpCisgICAgICAgZGV0YWNoX29uZV9sd3AgKG1haW5fbHdwLCAm c2lnbm8pOworIAorICAgICAgIGRldGFjaF9zdWNjZXNzIChpbmYpOworKworKyNpZmRlZiBORUVE X0RFVEFDSF9TSUdTVE9QCisrICAgICAgcGlkX3dhc19zdG9wcGVkID0gMDsKKysjZW5kaWYKKyAg ICAgfQorIH0KKyAKK0BAIC0xNzY1LDYgKzE3OTcsMTYgQEAgbGludXhfbmF0X3RhcmdldDo6cmVz dW1lIChwdGlkX3QgcHRpZCwgaW50IHN0ZXAsIGVudW0gZ2RiX3NpZ25hbCBzaWdubykKKyAgICAg ICByZXR1cm47CisgICAgIH0KKyAKKysjaWZkZWYgTkVFRF9ERVRBQ0hfU0lHU1RPUAorKyAgLyog QXQgdGhpcyBwb2ludCwgd2UgYXJlIGdvaW5nIHRvIHJlc3VtZSB0aGUgaW5mZXJpb3IgYW5kIGlm IHdlCisrICAgICBoYXZlIGF0dGFjaGVkIHRvIGEgc3RvcHBlZCBwcm9jZXNzLCB3ZSBubyBsb25n ZXIgc2hvdWxkIGxlYXZlCisrICAgICBpdCBhcyBzdG9wcGVkIGlmIHRoZSB1c2VyIGRldGFjaGVz LiAgUFRJRCB2YXJpYWJsZSBoYXMgUElEIHNldCB0byBMV1AKKysgICAgIHdoaWxlIHdlIG5lZWQg dG8gY2hlY2sgdGhlIHJlYWwgUElEIGhlcmUuICAqLworKworKyAgaWYgKCFzdGVwICYmIGxwICYm IHBpZF93YXNfc3RvcHBlZCA9PSBwdGlkX2dldF9waWQgKGxwLT5wdGlkKSkKKysgICAgcGlkX3dh c19zdG9wcGVkID0gMDsKKysKKysjZW5kaWYKKyAgIGlmIChyZXN1bWVfbWFueSkKKyAgICAgaXRl cmF0ZV9vdmVyX2x3cHMgKHB0aWQsIGxpbnV4X25hdF9yZXN1bWVfY2FsbGJhY2ssIGxwKTsKKyAK K0BAIC0zNzU0LDYgKzM3OTYsMTAgQEAgbGludXhfbmF0X3RhcmdldDo6bW91cm5faW5mZXJpb3Ig KCkKKyAKKyAgIC8qIExldCB0aGUgYXJjaC1zcGVjaWZpYyBuYXRpdmUgY29kZSBrbm93IHRoaXMg cHJvY2VzcyBpcyBnb25lLiAgKi8KKyAgIGxpbnV4X3RhcmdldC0+bG93X2ZvcmdldF9wcm9jZXNz IChwaWQpOworKyNpZmRlZiBORUVEX0RFVEFDSF9TSUdTVE9QCisrCisrICBwaWRfd2FzX3N0b3Bw ZWQgPSAwOworKyNlbmRpZgorIH0KKyAKKyAvKiBDb252ZXJ0IGEgbmF0aXZlL2hvc3Qgc2lnaW5m byBvYmplY3QsIGludG8vZnJvbSB0aGUgc2lnaW5mbyBpbiB0aGUKK2RpZmYgLS1naXQgYS9nZGIv dGVzdHN1aXRlL2dkYi50aHJlYWRzL2F0dGFjaC1zdG9wcGVkLmV4cCBiL2dkYi90ZXN0c3VpdGUv Z2RiLnRocmVhZHMvYXR0YWNoLXN0b3BwZWQuZXhwCitpbmRleCBhMzkxNmM2MzU0Li45ZjAwNGI0 MTc5IDEwMDY0NAorLS0tIGEvZ2RiL3Rlc3RzdWl0ZS9nZGIudGhyZWFkcy9hdHRhY2gtc3RvcHBl ZC5leHAKKysrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLnRocmVhZHMvYXR0YWNoLXN0b3BwZWQuZXhw CitAQCAtNTYsNyArNTYsNjUgQEAgcHJvYyBjb3JlZnVuYyB7IHRocmVhZHR5cGUgfSB7CisgICAg IGdkYl9yZWluaXRpYWxpemVfZGlyICRzcmNkaXIvJHN1YmRpcgorICAgICBnZGJfbG9hZCAke2Jp bmZpbGV9CisgCistICAgICMgVmVyaWZ5IHRoYXQgd2UgY2FuIGF0dGFjaCB0byB0aGUgc3RvcHBl ZCBwcm9jZXNzLgorKyAgICAjIFZlcmlmeSB0aGF0IHdlIGNhbiBhdHRhY2ggdG8gdGhlIHByb2Nl c3MgYnkgZmlyc3QgZ2l2aW5nIGl0cworKyAgICAjIGV4ZWN1dGFibGUgbmFtZSB2aWEgdGhlIGZp bGUgY29tbWFuZCwgYW5kIHVzaW5nIGF0dGFjaCB3aXRoIHRoZQorKyAgICAjIHByb2Nlc3MgSUQu CisrCisrICAgIHNldCB0ZXN0ICIkdGhyZWFkdHlwZTogc2V0IGZpbGUsIGJlZm9yZSBhdHRhY2gx IHRvIHN0b3BwZWQgcHJvY2VzcyIKKysgICAgZ2RiX3Rlc3RfbXVsdGlwbGUgImZpbGUgJGJpbmZp bGUiICIkdGVzdCIgeworKyAgICAgICAtcmUgIkxvYWQgbmV3IHN5bWJvbCB0YWJsZSBmcm9tLip5 IG9yIG4uICQiIHsKKysJICAgIGdkYl90ZXN0ICJ5IiAiUmVhZGluZyBzeW1ib2xzIGZyb20gJGVz Y2FwZWRiaW5maWxlXC5cLlwuKmRvbmUuIiBcCisrCQkgICAgIiR0ZXN0IChyZS1yZWFkKSIKKysJ fQorKwktcmUgIlJlYWRpbmcgc3ltYm9scyBmcm9tICRlc2NhcGVkYmluZmlsZVwuXC5cLipkb25l LiokZ2RiX3Byb21wdCAkIiB7CisrCSAgICBwYXNzICIkdGVzdCIKKysJfQorKyAgICB9CisrCisr ICAgIHNldCB0ZXN0ICIkdGhyZWFkdHlwZTogYXR0YWNoMSB0byBzdG9wcGVkLCBhZnRlciBzZXR0 aW5nIGZpbGUiCisrICAgIGdkYl90ZXN0X211bHRpcGxlICJhdHRhY2ggJHRlc3RwaWQiICIkdGVz dCIgeworKwktcmUgIkF0dGFjaGluZyB0byBwcm9ncmFtLipgPyRlc2NhcGVkYmluZmlsZSc/LCBw cm9jZXNzICR0ZXN0cGlkLiokZ2RiX3Byb21wdCAkIiB7CisrCSAgICBwYXNzICIkdGVzdCIKKysJ fQorKyAgICB9CisrCisrICAgICMgIi4qc2xlZXAuKmNsb25lLioiIHdvdWxkIGZhaWwgb24gczM5 MHggYXMgYnQgc3RvcHMgYXQgU1RBUlRfVEhSRUFEIHRoZXJlLgorKyAgICBpZiB7W3N0cmluZyBl cXVhbCAkdGhyZWFkdHlwZSB0aHJlYWRlZF19IHsKKysJZ2RiX3Rlc3QgInRocmVhZCBhcHBseSBh bGwgYnQiICIuKnNsZWVwLipzdGFydF90aHJlYWQuKiIgIiR0aHJlYWR0eXBlOiBhdHRhY2gxIHRv IHN0b3BwZWQgYnQiCisrICAgIH0gZWxzZSB7CisrCWdkYl90ZXN0ICJidCIgIi4qc2xlZXAuKm1h aW4uKiIgIiR0aHJlYWR0eXBlOiBhdHRhY2gxIHRvIHN0b3BwZWQgYnQiCisrICAgIH0KKysKKysg ICAgIyBFeGl0IGFuZCBkZXRhY2ggdGhlIHByb2Nlc3MuCisrICAgICAgIAorKyAgICBnZGJfZXhp dAorKworKyAgICAjIEF2b2lkIHNvbWUgcmFjZToKKysgICAgc2xlZXAgMgorKworKyAgICBpZiBb Y2F0Y2gge29wZW4gL3Byb2MvJHt0ZXN0cGlkfS9zdGF0dXMgcn0gZmlsZWlkXSB7CisrCXNldCBs aW5lMiAiTk9URk9VTkQiCisrICAgIH0gZWxzZSB7CisrCWdldHMgJGZpbGVpZCBsaW5lMTsKKysJ Z2V0cyAkZmlsZWlkIGxpbmUyOworKwljbG9zZSAkZmlsZWlkOworKyAgICB9CisrCisrICAgIHNl dCB0ZXN0ICIkdGhyZWFkdHlwZTogYXR0YWNoMSwgZXhpdCBsZWF2ZXMgcHJvY2VzcyBzdG9wcGVk IgorKyAgICBpZiB7W3N0cmluZyBtYXRjaCAiKihzdG9wcGVkKSoiICRsaW5lMl19IHsKKysgICAg ICBwYXNzICR0ZXN0CisrICAgIH0gZWxzZSB7CisrICAgICAgZmFpbCAkdGVzdAorKyAgICB9Cisr CisrICAgICMgQXQgdGhpcyBwb2ludCwgdGhlIHByb2Nlc3Mgc2hvdWxkIHN0aWxsIGJlIHN0b3Bw ZWQKKysKKysgICAgZ2RiX3N0YXJ0CisrICAgIGdkYl9yZWluaXRpYWxpemVfZGlyICRzcmNkaXIv JHN1YmRpcgorKyAgICBnZGJfbG9hZCAke2JpbmZpbGV9CisrCisrICAgICMgVmVyaWZ5IHRoYXQg d2UgY2FuIGF0dGFjaCB0byB0aGUgcHJvY2VzcyBqdXN0IGJ5IGdpdmluZyB0aGUKKysgICAgIyBw cm9jZXNzIElELgorICAgICAgICAKKyAgICAgc2V0IHRlc3QgIiR0aHJlYWR0eXBlOiBhdHRhY2gy IHRvIHN0b3BwZWQsIGFmdGVyIHNldHRpbmcgZmlsZSIKKyAgICAgZ2RiX3Rlc3RfbXVsdGlwbGUg ImF0dGFjaCAkdGVzdHBpZCIgIiR0ZXN0IiB7CgpkaWZmIC0tZ2l0IGEvZ2RiLWppdC1yZWFkZXIt bXVsdGlsaWIucGF0Y2ggYi9nZGItaml0LXJlYWRlci1tdWx0aWxpYi5wYXRjaAppbmRleCBmOWNj ZmQxLi42YWM5NTg5IDEwMDY0NAotLS0gYS9nZGItaml0LXJlYWRlci1tdWx0aWxpYi5wYXRjaAor KysgYi9nZGItaml0LXJlYWRlci1tdWx0aWxpYi5wYXRjaApAQCAtOSwxMCArOSwxMCBAQCBGaWxl TmFtZTogZ2RiLWppdC1yZWFkZXItbXVsdGlsaWIucGF0Y2gKIDs7PXB1c2gramFuCiAKIGRpZmYg LS1naXQgYS9nZGIvY29uZmlndXJlIGIvZ2RiL2NvbmZpZ3VyZQotaW5kZXggOTA0Y2M0NTNhZC4u NmZiNWI1YjUwOSAxMDA3NTUKK2luZGV4IDNiNjA0ZmViMTEuLjlmMjM2YWUyNmEgMTAwNzU1CiAt LS0gYS9nZGIvY29uZmlndXJlCiArKysgYi9nZGIvY29uZmlndXJlCi1AQCAtOTUyOCwxMCArOTUy OCwxMiBAQCBfQUNFT0YKK0BAIC05NTk0LDEwICs5NTk0LDEyIEBAIF9BQ0VPRgogIAogIAogIApA QCAtMjksMTAgKzI5LDEwIEBAIGluZGV4IDkwNGNjNDUzYWQuLjZmYjViNWI1MDkgMTAwNzU1CiAg ICBUQVJHRVRfUFRSPSJ1bnNpZ25lZCBfX2ludDEyOCIKICBlbHNlCiBkaWZmIC0tZ2l0IGEvZ2Ri L2NvbmZpZ3VyZS5hYyBiL2dkYi9jb25maWd1cmUuYWMKLWluZGV4IDE1NTc3NjBlZDguLmQ4OTFj N2JjY2MgMTAwNjQ0CitpbmRleCBjNzA3ZTdiMTUyLi5kYzBhY2QwMzViIDEwMDY0NAogLS0tIGEv Z2RiL2NvbmZpZ3VyZS5hYwogKysrIGIvZ2RiL2NvbmZpZ3VyZS5hYwotQEAgLTgzMiwxMCArODMy LDEyIEBAIEFDX0NIRUNLX1NJWkVPRih1bnNpZ25lZCBsb25nIGxvbmcpCitAQCAtODM3LDEwICs4 MzcsMTIgQEAgQUNfQ0hFQ0tfU0laRU9GKHVuc2lnbmVkIGxvbmcgbG9uZykKICBBQ19DSEVDS19T SVpFT0YodW5zaWduZWQgbG9uZykKICBBQ19DSEVDS19TSVpFT0YodW5zaWduZWQgX19pbnQxMjgp CiAgCgpkaWZmIC0tZ2l0IGEvZ2RiLWxpbnV4X3BlcmYtYnVuZGxlLnBhdGNoIGIvZ2RiLWxpbnV4 X3BlcmYtYnVuZGxlLnBhdGNoCmluZGV4IGIxYWI4NWIuLmUxODk0N2IgMTAwNjQ0Ci0tLSBhL2dk Yi1saW51eF9wZXJmLWJ1bmRsZS5wYXRjaAorKysgYi9nZGItbGludXhfcGVyZi1idW5kbGUucGF0 Y2gKQEAgLTksMTAgKzksMTAgQEAgRmlsZU5hbWU6IGdkYi1saW51eF9wZXJmLWJ1bmRsZS5wYXRj aAogOzs9ZmVkb3JhCiAKIGRpZmYgLS1naXQgYS9nZGIvY29uZmlndXJlIGIvZ2RiL2NvbmZpZ3Vy ZQotaW5kZXggZGI4NDk1NzJiNS4uNzcyMGMwMGY0YiAxMDA3NTUKK2luZGV4IGEyZDQ4MGMxZTUu LjRmMTAyYzNlZGUgMTAwNzU1CiAtLS0gYS9nZGIvY29uZmlndXJlCiArKysgYi9nZGIvY29uZmln dXJlCi1AQCAtMTE5MDcsNyArMTE5MDcsNyBAQCBlbHNlCitAQCAtMTE5NzMsNyArMTE5NzMsNyBA QCBlbHNlCiAgCiAgI2luY2x1ZGUgPGxpbnV4L3BlcmZfZXZlbnQuaD4KICAjaWZuZGVmIFBFUkZf QVRUUl9TSVpFX1ZFUjUKQEAgLTIyLDEwICsyMiwxMCBAQCBpbmRleCBkYjg0OTU3MmI1Li43NzIw YzAwZjRiIDEwMDc1NQogIAogIF9BQ0VPRgogZGlmZiAtLWdpdCBhL2dkYi9jb25maWd1cmUuYWMg Yi9nZGIvY29uZmlndXJlLmFjCi1pbmRleCA0NDEyZTI1NDUwLi5lNjRiMGU4MDZmIDEwMDY0NAor aW5kZXggNTdlYmNhZWIwOC4uMTg0MGY5MTY1MSAxMDA2NDQKIC0tLSBhL2dkYi9jb25maWd1cmUu YWMKICsrKyBiL2dkYi9jb25maWd1cmUuYWMKLUBAIC0xNDY2LDcgKzE0NjYsNyBAQCBlbHNlCitA QCAtMTQ3MSw3ICsxNDcxLDcgQEAgZWxzZQogICAgQUNfUFJFUFJPQ19JRkVMU0UoQUNfTEFOR19T T1VSQ0UoW1sKICAjaW5jbHVkZSA8bGludXgvcGVyZl9ldmVudC5oPgogICNpZm5kZWYgUEVSRl9B VFRSX1NJWkVfVkVSNQpAQCAtNTksNyArNTksNyBAQCBpbmRleCBiOTc1MDBlNTc5Li4xNTE1NDUx MDVjIDEwMDY0NAogICAgYXJncy5hcmdjID0gYXJnYzsKICAgIGFyZ3MuYXJndiA9IGFyZ3Y7CiBk aWZmIC0tZ2l0IGEvZ2RiL25hdC9saW51eC1idHJhY2UuaCBiL2dkYi9uYXQvbGludXgtYnRyYWNl LmgKLWluZGV4IDMxYThkOWU2N2IuLjcyZmFmMjNjNWYgMTAwNjQ0CitpbmRleCAxMTgwMzAxOTBk Li5iYTRlNjE4YjExIDEwMDY0NAogLS0tIGEvZ2RiL25hdC9saW51eC1idHJhY2UuaAogKysrIGIv Z2RiL25hdC9saW51eC1idHJhY2UuaAogQEAgLTI4LDYgKzI4LDE3NyBAQAoKZGlmZiAtLWdpdCBh L2dkYi1tb3JpYnVuZC11dHJhY2Utd29ya2Fyb3VuZC5wYXRjaCBiL2dkYi1tb3JpYnVuZC11dHJh Y2Utd29ya2Fyb3VuZC5wYXRjaAppbmRleCAzMzMxZjRkLi5hOTk5NjE5IDEwMDY0NAotLS0gYS9n ZGItbW9yaWJ1bmQtdXRyYWNlLXdvcmthcm91bmQucGF0Y2gKKysrIGIvZ2RiLW1vcmlidW5kLXV0 cmFjZS13b3JrYXJvdW5kLnBhdGNoCkBAIC0xNCwxMCArMTQsMTAgQEAgaHR0cDovL3NvdXJjZXMu cmVkaGF0LmNvbS9idWd6aWxsYS9zaG93X2J1Zy5jZ2k/aWQ9MTE1OTMKIEJ1ZyBpbiBGU0YgR0RC IGV4cGxvaXRlZCBieSB0aGUgcHRyYWNlLW9uLXV0cmFjZSBpbnRlcmFjdGlvbi4KIAogZGlmZiAt LWdpdCBhL2dkYi9icmVha3BvaW50LmMgYi9nZGIvYnJlYWtwb2ludC5jCi1pbmRleCA1YTk5ZGU3 NWUxLi42YTBjMTViMjM5IDEwMDY0NAoraW5kZXggMzA1YmIzZjZjMC4uMDEwNmNlOGRkNSAxMDA2 NDQKIC0tLSBhL2dkYi9icmVha3BvaW50LmMKICsrKyBiL2dkYi9icmVha3BvaW50LmMKLUBAIC0x MjA4OSw2ICsxMjA4OSw4IEBAIHVwZGF0ZV9nbG9iYWxfbG9jYXRpb25fbGlzdCAoZW51bSB1Z2xs X2luc2VydF9tb2RlIGluc2VydF9tb2RlKQorQEAgLTEyMDE3LDYgKzEyMDE3LDggQEAgdXBkYXRl X2dsb2JhbF9sb2NhdGlvbl9saXN0IChlbnVtIHVnbGxfaW5zZXJ0X21vZGUgaW5zZXJ0X21vZGUp CiAgCQkgdHJhcHMgd2UgY2FuIG5vIGxvbmdlciBleHBsYWluLiAgKi8KICAKICAJICAgICAgb2xk X2xvYy0+ZXZlbnRzX3RpbGxfcmV0aXJlbWVudCA9IDMgKiAodGhyZWFkX2NvdW50ICgpICsgMSk7 CgpkaWZmIC0tZ2l0IGEvZ2RiLXBwYzY0LXN0d3V4LXRhdXRvbG9naWNhbC1jb21wYXJlLnBhdGNo IGIvZ2RiLXBwYzY0LXN0d3V4LXRhdXRvbG9naWNhbC1jb21wYXJlLnBhdGNoCmRlbGV0ZWQgZmls ZSBtb2RlIDEwMDY0NAppbmRleCA0MzI1ZTE3Li4wMDAwMDAwCi0tLSBhL2dkYi1wcGM2NC1zdHd1 eC10YXV0b2xvZ2ljYWwtY29tcGFyZS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDUwICswLDAg QEAKLUZyb20gRkVET1JBX1BBVENIRVMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBK YW4gS3JhdG9jaHZpbCA8amFuLmtyYXRvY2h2aWxAcmVkaGF0LmNvbT4KLURhdGU6IFN1biwgNCBG ZWIgMjAxOCAyMTo0MjoxOCArMDEwMAotU3ViamVjdDogZ2RiLXBwYzY0LXN0d3V4LXRhdXRvbG9n aWNhbC1jb21wYXJlLnBhdGNoCi0KLUZpbGVOYW1lOiBnZGItcHBjNjQtc3R3dXgtdGF1dG9sb2dp Y2FsLWNvbXBhcmUucGF0Y2gKLQotOzsgRml4IHBwYzY0IHN0d3V4IGVuY29kaW5nIGFzIGZvdW5k IGJ5IGdjYy04LjAgLVdlcnJvcj10YXV0b2xvZ2ljYWwtY29tcGFyZS4KLQotW3BhdGNoXSBwcGM2 NDogRml4IHN0d3V4IGVuY29kaW5nCi1odHRwczovL3NvdXJjZXdhcmUub3JnL21sL2dkYi1wYXRj aGVzLzIwMTgtMDIvbXNnMDAwNTguaHRtbAotCi13aXRoIGdjYy04LjAuMS0wLjkuZmMyOC54ODZf NjQgSSBnZXQ6Ci0KLS4uLy4uL2dkYi9yczYwMDAtdGRlcC5jOiBJbiBmdW5jdGlvbiAnQ09SRV9B RERSIHNraXBfcHJvbG9ndWUoZ2RiYXJjaCosIENPUkVfQUREUiwgQ09SRV9BRERSLCByczYwMDBf ZnJhbWVkYXRhKiknOgotLi4vLi4vZ2RiL3JzNjAwMC10ZGVwLmM6MTkxMTozNDogZXJyb3I6IGJp dHdpc2UgY29tcGFyaXNvbiBhbHdheXMgZXZhbHVhdGVzIHRvIGZhbHNlIFstV2Vycm9yPXRhdXRv bG9naWNhbC1jb21wYXJlXQotICAgICAgIGVsc2UgaWYgKChvcCAmIDB4ZmMxZjAxNmEpID09IDB4 N2MwMTAxNmUpCi0gICAgICAgICAgICAgICAgfn5+fn5+fn5+fn5+fn5+fn5+Xn5+fn5+fn5+fn5+ fgotCi1UaGUgY29kZSBpcyB0aGVyZSBzaW5jZToKLQljb21taXQgOThmMDhkM2Q5YjY5YjM0NGJi OGIwY2QyYTRiZGExY2Y0ZDk2NmUyMAotCUF1dGhvcjogS2V2aW4gQnVldHRuZXIgPGtldmluYkBy ZWRoYXQuY29tPgotCURhdGU6ICAgVGh1IE1heSAyOSAxOTo0NzoxNCAyMDAzICswMDAwCi0JCSAg ICBGcm9tIEppbWkgWCA8amltaXhAd2F0c29uLmlibS5jb20+OgotCQkgICAgKiByczYwMDAtdGRl cC5jIChza2lwX3Byb2xvZ3VlKTogSW1wcm92ZSBzdXBwb3J0IGZvciA2NC1iaXQgY29kZS4KLVNv IEkgZG8gbm90IHRoaW5rIHdlIGNhbiBmaW5kIHRoZSBvcmlnaW5hbCBhdXRob3IuCi0KLWh0dHBz Oi8vd3d3LmlibS5jb20vc3VwcG9ydC9rbm93bGVkZ2VjZW50ZXIvZW4vc3N3X2FpeF83Mi9jb20u aWJtLmFpeC5hbGFuZ3JlZi9pZGFsYW5ncmVmX3N0d3V4X3N0dXhfaW5zdHJzLmh0bQotc2F5cwot CWJpdCAyMSAtIDMwID0gMTgzCi0JVGhvc2UgYXJlIGJpdHMgMS4uMTAgaW4gbm9ybWFsIGJpdCBv cmRlcjogMTgzPDwxID0gMHgxNmUKLQotZ2RiL0NoYW5nZUxvZwotMjAxOC0wMi0wNCAgSmFuIEty YXRvY2h2aWwgIDxqYW4ua3JhdG9jaHZpbEByZWRoYXQuY29tPgotCi0JKiByczYwMDAtdGRlcC5j IChza2lwX3Byb2xvZ3VlKTogRml4IHN0d3V4IGVuY29kaW5nLgotCi1kaWZmIC0tZ2l0IGEvZ2Ri L3JzNjAwMC10ZGVwLmMgYi9nZGIvcnM2MDAwLXRkZXAuYwotaW5kZXggMjNkMGRiM2I4Zi4uNTI3 NWZmNWI5MSAxMDA2NDQKLS0tLSBhL2dkYi9yczYwMDAtdGRlcC5jCi0rKysgYi9nZGIvcnM2MDAw LXRkZXAuYwotQEAgLTE5MDgsNyArMTkwOCw3IEBAIHNraXBfcHJvbG9ndWUgKHN0cnVjdCBnZGJh cmNoICpnZGJhcmNoLCBDT1JFX0FERFIgcGMsIENPUkVfQUREUiBsaW1fcGMsCi0gCSAgb2Zmc2V0 ID0gZmRhdGEtPm9mZnNldDsKLSAJICBjb250aW51ZTsKLSAJfQotLSAgICAgIGVsc2UgaWYgKChv cCAmIDB4ZmMxZjAxNmEpID09IDB4N2MwMTAxNmUpCi0rICAgICAgZWxzZSBpZiAoKG9wICYgMHhm YzFmMDE2ZSkgPT0gMHg3YzAxMDE2ZSkKLSAJewkJCS8qIHN0d3V4IHJYLHIxLHJZICovCi0gCSAg LyogTm8gd2F5IHRvIGZpZ3VyZSBvdXQgd2hhdCByMSBpcyBnb2luZyB0byBiZS4gICovCi0gCSAg ZmRhdGEtPmZyYW1lbGVzcyA9IDA7CgpkaWZmIC0tZ2l0IGEvZ2RiLXB5dGhvbi1naWwucGF0Y2gg Yi9nZGItcHl0aG9uLWdpbC5wYXRjaAppbmRleCA3MmU5MzAyLi45YmEyYjA5IDEwMDY0NAotLS0g YS9nZGItcHl0aG9uLWdpbC5wYXRjaAorKysgYi9nZGItcHl0aG9uLWdpbC5wYXRjaApAQCAtOSw3 ICs5LDcgQEAgRmlsZU5hbWU6IGdkYi1weXRob24tZ2lsLnBhdGNoCiA7Oz1wdXNoCiAKIGRpZmYg LS1naXQgYS9nZGIvZG9jL3B5dGhvbi50ZXhpIGIvZ2RiL2RvYy9weXRob24udGV4aQotaW5kZXgg ZWJkNDhmZmZlNy4uY2NmMDExZTM1ZSAxMDA2NDQKK2luZGV4IDQxODJiNjBjYTMuLmZiMDc0ZmFm NDMgMTAwNjQ0CiAtLS0gYS9nZGIvZG9jL3B5dGhvbi50ZXhpCiArKysgYi9nZGIvZG9jL3B5dGhv bi50ZXhpCiBAQCAtMjMyLDYgKzIzMiwxNCBAQCByZXR1cm5lZCBhcyBhIHN0cmluZy4gIFRoZSBk ZWZhdWx0IGlzIEBjb2Rle0ZhbHNlfSwgaW4gd2hpY2ggY2FzZSB0aGUKQEAgLTI4LDcgKzI4LDcg QEAgaW5kZXggZWJkNDhmZmZlNy4uY2NmMDExZTM1ZSAxMDA2NDQKICAKICBAZmluZGV4IGdkYi5i cmVha3BvaW50cwogZGlmZiAtLWdpdCBhL2dkYi9weXRob24vcHl0aG9uLWludGVybmFsLmggYi9n ZGIvcHl0aG9uL3B5dGhvbi1pbnRlcm5hbC5oCi1pbmRleCBjMTEwNTg4Zjc2Li44OWJiYzY5ODdi IDEwMDY0NAoraW5kZXggMjY0MDBmNGZiYS4uYjhlMmQ5MDQ5ZCAxMDA2NDQKIC0tLSBhL2dkYi9w eXRob24vcHl0aG9uLWludGVybmFsLmgKICsrKyBiL2dkYi9weXRob24vcHl0aG9uLWludGVybmFs LmgKIEBAIC0xNDgsNiArMTQ4LDggQEAgdHlwZWRlZiBpbnQgUHlfc3NpemVfdDsKQEAgLTQxLDEw ICs0MSwxMCBAQCBpbmRleCBjMTEwNTg4Zjc2Li44OWJiYzY5ODdiIDEwMDY0NAogICNlbmRpZgog IAogZGlmZiAtLWdpdCBhL2dkYi9weXRob24vcHl0aG9uLmMgYi9nZGIvcHl0aG9uL3B5dGhvbi5j Ci1pbmRleCA0ODQ0Yzg2YzU0Li42MTBkZGE4MjhjIDEwMDY0NAoraW5kZXggZGIzNzMzMWRjNC4u NDIzM2IzN2ZhOCAxMDA2NDQKIC0tLSBhL2dkYi9weXRob24vcHl0aG9uLmMKICsrKyBiL2dkYi9w eXRob24vcHl0aG9uLmMKLUBAIC01NTQsMTIgKzU1NCwxNiBAQCBleGVjdXRlX2dkYl9jb21tYW5k IChQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MsIFB5T2JqZWN0ICprdykKK0BAIC01NTYs MTIgKzU1NiwxNiBAQCBleGVjdXRlX2dkYl9jb21tYW5kIChQeU9iamVjdCAqc2VsZiwgUHlPYmpl Y3QgKmFyZ3MsIFB5T2JqZWN0ICprdykKICB7CiAgICBjb25zdCBjaGFyICphcmc7CiAgICBQeU9i amVjdCAqZnJvbV90dHlfb2JqID0gTlVMTCwgKnRvX3N0cmluZ19vYmogPSBOVUxMOwpAQCAtNjUs NyArNjUsNyBAQCBpbmRleCA0ODQ0Yzg2YzU0Li42MTBkZGE4MjhjIDEwMDY0NAogICAgICByZXR1 cm4gTlVMTDsKICAKICAgIGZyb21fdHR5ID0gMDsKLUBAIC01ODAsMTIgKzU4NCwyOCBAQCBleGVj dXRlX2dkYl9jb21tYW5kIChQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MsIFB5T2JqZWN0 ICprdykKK0BAIC01ODIsNiArNTg2LDE1IEBAIGV4ZWN1dGVfZ2RiX2NvbW1hbmQgKFB5T2JqZWN0 ICpzZWxmLCBQeU9iamVjdCAqYXJncywgUHlPYmplY3QgKmt3KQogICAgICAgIHRvX3N0cmluZyA9 IGNtcDsKICAgICAgfQogIApAQCAtODEsOCArODEsOSBAQCBpbmRleCA0ODQ0Yzg2YzU0Li42MTBk ZGE4MjhjIDEwMDY0NAogICAgc3RkOjpzdHJpbmcgdG9fc3RyaW5nX3JlczsKICAKICAgIFRSWQot ICAgICB7Ci0gICAgICAgc3RydWN0IGludGVycCAqaW50ZXJwOworQEAgLTYwMiw2ICs2MTUsMTMg QEAgZXhlY3V0ZV9nZGJfY29tbWFuZCAoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzLCBQ eU9iamVjdCAqa3cpCisgCisgICAgICAgY291bnRlZF9jb21tYW5kX2xpbmUgbGluZXMgPSByZWFk X2NvbW1hbmRfbGluZXNfMSAocmVhZGVyLCAxLCBudWxscHRyKTsKICAKICsgICAgICAvKiBJbiB0 aGUgY2FzZSBvZiBsb25nIHJ1bm5pbmcgR0RCIGNvbW1hbmRzLCBhbGxvdyB0aGUgdXNlciB0bwog KwkgcmVsZWFzZSB0aGUgUHl0aG9uIEdJTCBhY3F1aXJlZCBieSBQeXRob24uICBSZXN0b3JlIHRo ZSBHSUwKQEAgLTk0LDEwICs5NSwxMCBAQCBpbmRleCA0ODQ0Yzg2YzU0Li42MTBkZGE4MjhjIDEw MDY0NAogICAgICAgIHNjb3BlZF9yZXN0b3JlIHNhdmVfYXN5bmMgPSBtYWtlX3Njb3BlZF9yZXN0 b3JlICgmY3VycmVudF91aS0+YXN5bmMsIDApOwogIAogICAgICAgIHNjb3BlZF9yZXN0b3JlIHNh dmVfdWlvdXQgPSBtYWtlX3Njb3BlZF9yZXN0b3JlICgmY3VycmVudF91aW91dCk7Ci1AQCAtNjAw LDEwICs2MjAsMjIgQEAgZXhlY3V0ZV9nZGJfY29tbWFuZCAoUHlPYmplY3QgKnNlbGYsIFB5T2Jq ZWN0ICphcmdzLCBQeU9iamVjdCAqa3cpCi0gCXRvX3N0cmluZ19yZXMgPSBleGVjdXRlX2NvbW1h bmRfdG9fc3RyaW5nIChhcmcsIGZyb21fdHR5KTsKK0BAIC02MTcsMTAgKzYzNywyMiBAQCBleGVj dXRlX2dkYl9jb21tYW5kIChQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MsIFB5T2JqZWN0 ICprdykKKyAJCQkJCQkJICAgIGZyb21fdHR5KTsKICAgICAgICBlbHNlCi0gCWV4ZWN1dGVfY29t bWFuZCAoYXJnLCBmcm9tX3R0eSk7CisgCWV4ZWN1dGVfY29udHJvbF9jb21tYW5kcyAobGluZXMu Z2V0ICgpLCBmcm9tX3R0eSk7CiArCiArICAgICAgLyogUmVhY3F1aXJlIHRoZSBHSUwgaWYgaXQg d2FzIHJlbGVhc2VkIGVhcmxpZXIuICAqLwogKyAgICAgIGlmIChyZWxlYXNlX2dpbCkKCmRpZmYg LS1naXQgYS9nZGItcmVhZGxpbmU2Mi1hc2stbW9yZS1yaC5wYXRjaCBiL2dkYi1yZWFkbGluZTYy LWFzay1tb3JlLXJoLnBhdGNoCmluZGV4IGNhZjNkMzMuLmExZjdlOTcgMTAwNjQ0Ci0tLSBhL2dk Yi1yZWFkbGluZTYyLWFzay1tb3JlLXJoLnBhdGNoCisrKyBiL2dkYi1yZWFkbGluZTYyLWFzay1t b3JlLXJoLnBhdGNoCkBAIC05LDcgKzksNyBAQCBGaWxlTmFtZTogZ2RiLXJlYWRsaW5lNjItYXNr LW1vcmUtcmgucGF0Y2gKIDs7PWZlZG9yYQogCiBkaWZmIC0tZ2l0IGEvZ2RiL2V2ZW50LXRvcC5j IGIvZ2RiL2V2ZW50LXRvcC5jCi1pbmRleCAwZDY2OGYzNWUwLi40YWEyNjEyNWY5IDEwMDY0NAor aW5kZXggZDkzNzliNDJjNS4uNDRkOWE4YzRlNiAxMDA2NDQKIC0tLSBhL2dkYi9ldmVudC10b3Au YwogKysrIGIvZ2RiL2V2ZW50LXRvcC5jCiBAQCAtMTE4Myw2ICsxMTgzLDEzIEBAIGdkYl9zZXR1 cF9yZWFkbGluZSAoaW50IGVkaXRpbmcpCgpkaWZmIC0tZ2l0IGEvZ2RiLXJoYnoxMzQ3OTkzLWFh cmNoNjQtaHctd2F0Y2hwb2ludC5wYXRjaCBiL2dkYi1yaGJ6MTM0Nzk5My1hYXJjaDY0LWh3LXdh dGNocG9pbnQucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGI3NmE0MDMuLjAw MDAwMDAKLS0tIGEvZ2RiLXJoYnoxMzQ3OTkzLWFhcmNoNjQtaHctd2F0Y2hwb2ludC5wYXRjaAor KysgL2Rldi9udWxsCkBAIC0xLDEyMjkgKzAsMCBAQAotRnJvbSBGRURPUkFfUEFUQ0hFUyBNb24g U2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IFNlcmdpbyBEdXJpZ2FuIEp1bmlvciA8c2VyZ2lv ZGpAcmVkaGF0LmNvbT4KLURhdGU6IFRodSwgMTcgTWF5IDIwMTggMTU6MDk6MDIgLTA0MDAKLVN1 YmplY3Q6IEZpeCBtaXNzZWQgdW5hbGlnbmVkIGhhcmR3YXJlIHdhdGNocG9pbnRzIChSSCBCWiAx MzQ3OTkzKS4KLQotRmlsZU5hbWU6IGdkYi1yaGJ6MTM0Nzk5My1hYXJjaDY0LWh3LXdhdGNocG9p bnQucGF0Y2gKLQotOzsgW2FhcmNoNjRdIEZpeCBtaXNzZWQgdW5hbGlnbmVkIGhhcmR3YXJlIHdh dGNocG9pbnRzIChSSCBCWiAxMzQ3OTkzKS4KLQotY29tbWl0IGEzYjYwZTQ1ODg2MDYzNTRiOTM1 MDhhMDAwOGE1Y2EwNGI2OGZhZDgKLUF1dGhvcjogSmFuIEtyYXRvY2h2aWwgPGphbi5rcmF0b2No dmlsQHJlZGhhdC5jb20+Ci1EYXRlOiAgIEZyaSBNYXkgNCAyMjoyMjowNCAyMDE4ICswMjAwCi0K LWFhcmNoNjQ6IFBSIDE5ODA2OiB3YXRjaHBvaW50czogZmFsc2UgbmVnYXRpdmVzICsgUFIgMjAy MDcgY29udGlndW91cyBvbmVzCi0KLVNvbWUgdW5hbGlnbmVkIHdhdGNocG9pbnRzIHdlcmUgY3Vy cmVudGx5IG1pc3NlZC4KLQotT24gb2xkIGtlcm5lbHMgYXMgc3BlY2lmaWVkIGluCi0Ja2VybmVs IFJGRTogYWFyY2g2NDogcHRyYWNlOiBCQVM6IFN1cHBvcnQgYW55IGNvbnRpZ3VvdXMgcmFuZ2Ug KGVkaXQpCi0JaHR0cHM6Ly9zb3VyY2V3YXJlLm9yZy9idWd6aWxsYS9zaG93X2J1Zy5jZ2k/aWQ9 MjAyMDcKLWFmdGVyIHRoaXMgcGF0Y2ggc29tZSBvdGhlciB1bmFsaWduZWQgd2F0Y2hwb2ludHMg d2lsbCBnZXQgcmVwb3J0ZWQgYXMgZmFsc2UKLXBvc2l0aXZlcy4KLQotV2l0aCBuZXcga2VybmVs cyBhbGwgdGhlIHdhdGNocG9pbnRzIHNob3VsZCB3b3JrIGV4YWN0bHkuCi0KLVRoZXJlIG1heSBi ZSBhIHJlZ3Jlc2lvbiB0aGF0IGl0IG5vdyBsZXNzIG1lcmdlcyB3YXRjaHBvaW50cyBzbyB0aGF0 IHdpdGgKLW11bHRpcGxlIG92ZXJsYXBwaW5nIHdhdGNocG9pbnRzIGl0IG1heSBydW4gb3V0IG9m IHRoZSA0IGhhcmR3YXJlIHdhdGNocG9pbnQKLXJlZ2lzdGVycy4gIEJ1dCBhcyBkaXNjdXNzZWQg aW4gdGhlIG9yaWdpbmFsIHRocmVhZCBHREIgbmVlZHMgc29tZSBnZW5lcmljCi13YXRjaHBvaW50 cyBtZXJnaW5nIGZyYW1ld29yayB0byBiZSB1c2VkIGJ5IGFsbCB0aGUgdGFyZ2V0IHNwZWNpZmlj IGNvZGUuCi1FdmVuIGN1cnJlbnQgRlNGIEdEQiBjb2RlIGRvZXMgbm90IG1lcmdlIGl0IHBlcmZl Y3RseS4gIEFsc28gd2l0aCB0aGUgbW9yZQotcHJlY2lzZSB3YXRjaHBvaW50cyBvbmUgY2FuIHRl Y2huaWNhbGx5IG1lcmdlIHRoZW0gbGVzcy4gIEFuZCBJIGRvIG5vdCB0aGluawotaXQgbWF0dGVy cyB0b28gbXVjaCB0byBpbXByb3ZlIG1lcmdlYWJpbGl0eSBvbmx5IGZvciBvbGQga2VybmVscy4K LVN0aWxsIGV2ZW4gb24gbmV3IGtlcm5lbHMgc29tZSBiZXR0ZXIgbWVyZ2luZyBsb2dpYyB3b3Vs ZCBtYWtlIHNlbnNlLgotCi1UaGVyZSByZW1haW5zIG9uZSBpc3N1ZToKLQlrZXJuZWwtNC4xNS4x NC0zMDAuZmMyNy5hcm12N2hsCi0JRkFJTDogZ2RiLmJhc2Uvd2F0Y2hwb2ludC11bmFsaWduZWQu ZXhwOiBjb250aW51ZQotCUZBSUw6IGdkYi5iYXNlL3dhdGNocG9pbnQtdW5hbGlnbmVkLmV4cDog Y29udGludWUKLQkoZ2RiKSBjb250aW51ZQotCUNvbnRpbnVpbmcuCi0JVW5leHBlY3RlZCBlcnJv ciBzZXR0aW5nIHdhdGNocG9pbnQ6IEludmFsaWQgYXJndW1lbnQuCi0JKGdkYikgRkFJTDogZ2Ri LmJhc2Uvd2F0Y2hwb2ludC11bmFsaWduZWQuZXhwOiBjb250aW51ZQotQnV0IHRoYXQgbG9va3Mg YXMgYSBrZXJuZWwgYnVnIHRvIG1lLgotKDEpIEl0IGlzIG5vdCBhIHJlZ3Jlc3Npb24gYnkgdGhp cyBwYXRjaC4KLSgyKSBJdCBpcyB1bnJlbGF0ZWQgdG8gdGhpcyBwYXRjaC4KLQotZ2RiL0NoYW5n ZUxvZwotMjAxOC0wNS0wNCAgSmFuIEtyYXRvY2h2aWwgIDxqYW4ua3JhdG9jaHZpbEByZWRoYXQu Y29tPgotCSAgICBQZWRybyBBbHZlcyA8cGFsdmVzQHJlZGhhdC5jb20+Ci0KLQlQUiBicmVha3Bv aW50cy8xOTgwNiBhbmQgc3VwcG9ydCBmb3IgUFIgZXh0ZXJuYWwvMjAyMDcuCi0JKiBORVdTOiBN ZW50aW9uIEFhcmNoNjQgd2F0Y2hwb2ludCBpbXByb3ZlbWVudHMuCi0JKiBhYXJjaDY0LWxpbnV4 LW5hdC5jIChhYXJjaDY0X2xpbnV4X3N0b3BwZWRfZGF0YV9hZGRyZXNzKTogRml4IG1pc3NlZAot CXdhdGNocG9pbnRzIGFuZCBQUiBleHRlcm5hbC8yMDIwNyB3YXRjaHBvaW50cy4KLQkqIG5hdC9h YXJjaDY0LWxpbnV4LWh3LXBvaW50LmMKLQkoa2VybmVsX3N1cHBvcnRzX2FueV9jb250aWd1b3Vz X3JhbmdlKTogTmV3LgotCShhYXJjaDY0X3dhdGNocG9pbnRfb2Zmc2V0KTogTmV3LgotCShhYXJj aDY0X3dhdGNocG9pbnRfbGVuZ3RoKTogU3VwcG9ydCBQUiBleHRlcm5hbC8yMDIwNyB3YXRjaHBv aW50cy4KLQkoYWFyY2g2NF9wb2ludF9lbmNvZGVfY3RybF9yZWcpOiBOZXcgcGFyYW1ldGVyIG9m ZnNldCwgbmV3IGFzc2VydHMuCi0JKGFhcmNoNjRfcG9pbnRfaXNfYWxpZ25lZCk6IFN1cHBvcnQg UFIgZXh0ZXJuYWwvMjAyMDcgd2F0Y2hwb2ludHMuCi0JKGFhcmNoNjRfYWxpZ25fd2F0Y2hwb2lu dCk6IE5ldyBwYXJhbWV0ZXJzIGFsaWduZWRfb2Zmc2V0X3AgYW5kCi0JbmV4dF9hZGRyX29yaWdf cC4gIFN1cHBvcnQgUFIgZXh0ZXJuYWwvMjAyMDcgd2F0Y2hwb2ludHMuCi0JKGFhcmNoNjRfZG93 bmdyYWRlX3JlZ3MpOiBOZXcuCi0JKGFhcmNoNjRfZHJfc3RhdGVfaW5zZXJ0X29uZV9wb2ludCk6 IE5ldyBwYXJhbWV0ZXJzIG9mZnNldCBhbmQKLQlhZGRyX29yaWcuCi0JKGFhcmNoNjRfZHJfc3Rh dGVfcmVtb3ZlX29uZV9wb2ludCk6IExpa2V3aXNlLgotCShhYXJjaDY0X2hhbmRsZV9icmVha3Bv aW50KTogVXBkYXRlIGNhbGxlci4KLQkoYWFyY2g2NF9oYW5kbGVfYWxpZ25lZF93YXRjaHBvaW50 KTogTGlrZXdpc2UuCi0JKGFhcmNoNjRfaGFuZGxlX3VuYWxpZ25lZF93YXRjaHBvaW50KTogU3Vw cG9ydCBhZGRyX29yaWcgYW5kCi0JYWxpZ25lZF9vZmZzZXQuCi0JKGFhcmNoNjRfbGludXhfc2V0 X2RlYnVnX3JlZ3MpOiBSZW1vdmUgY29uc3QgZnJvbSBzdGF0ZS4gIENhbGwKLQlhYXJjaDY0X2Rv d25ncmFkZV9yZWdzLgotCShhYXJjaDY0X3Nob3dfZGVidWdfcmVnX3N0YXRlKTogUHJpbnQgYWxz byBkcl9hZGRyX29yaWdfd3AuCi0JKiBuYXQvYWFyY2g2NC1saW51eC1ody1wb2ludC5oIChEUl9D T05UUk9MX0xFTkdUSCk6IFJlbmFtZSB0byAuLi4KLQkoRFJfQ09OVFJPTF9NQVNLKTogLi4uIHRo aXMuCi0JKHN0cnVjdCBhYXJjaDY0X2RlYnVnX3JlZ19zdGF0ZSk6IE5ldyBmaWVsZCBkcl9hZGRy X29yaWdfd3AuCi0JKHVuc2lnbmVkIGludCBhYXJjaDY0X3dhdGNocG9pbnRfb2Zmc2V0KTogTmV3 IHByb3RvdHlwZS4KLQkoYWFyY2g2NF9saW51eF9zZXRfZGVidWdfcmVncyk6IFJlbW92ZSBjb25z dCBmcm9tIHN0YXRlLgotCSogdXRpbHMuYyAoYWxpZ25fdXAsIGFsaWduX2Rvd24pOiBNb3ZlIHRv IC4uLgotCSogY29tbW9uL2NvbW1vbi11dGlscy5jIChhbGlnbl91cCwgYWxpZ25fZG93bik6IC4u LiBoZXJlLgotCSogdXRpbHMuaCAoYWxpZ25fdXAsIGFsaWduX2Rvd24pOiBNb3ZlIHRvIC4uLgot CSogY29tbW9uL2NvbW1vbi11dGlscy5oIChhbGlnbl91cCwgYWxpZ25fZG93bik6IC4uLiBoZXJl LgotCi1nZGIvZ2Ric2VydmVyL0NoYW5nZUxvZwotMjAxOC0wNS0wNCAgSmFuIEtyYXRvY2h2aWwg IDxqYW4ua3JhdG9jaHZpbEByZWRoYXQuY29tPgotCSAgICBQZWRybyBBbHZlcyA8cGFsdmVzQHJl ZGhhdC5jb20+Ci0KLQkqIGxpbnV4LWFhcmNoNjQtbG93LmMgKGFhcmNoNjRfc3RvcHBlZF9kYXRh X2FkZHJlc3MpOgotCUxpa2V3aXNlLgotCi1nZGIvdGVzdHN1aXRlL0NoYW5nZUxvZwotMjAxOC0w NS0wNCAgSmFuIEtyYXRvY2h2aWwgIDxqYW4ua3JhdG9jaHZpbEByZWRoYXQuY29tPgotCSAgICBQ ZWRybyBBbHZlcyA8cGFsdmVzQHJlZGhhdC5jb20+Ci0KLQlQUiBicmVha3BvaW50cy8xOTgwNiBh bmQgc3VwcG9ydCBmb3IgUFIgZXh0ZXJuYWwvMjAyMDcuCi0JKiBnZGIuYmFzZS93YXRjaHBvaW50 LXVuYWxpZ25lZC5jOiBOZXcgZmlsZS4KLQkqIGdkYi5iYXNlL3dhdGNocG9pbnQtdW5hbGlnbmVk LmV4cDogTmV3IGZpbGUuCi0KLWRpZmYgLS1naXQgYS9nZGIvTkVXUyBiL2dkYi9ORVdTCi1pbmRl eCBmNDBlYjZjMzkwLi5iN2EzYmMyNjM1IDEwMDY0NAotLS0tIGEvZ2RiL05FV1MKLSsrKyBiL2dk Yi9ORVdTCi1AQCAtMSw2ICsxLDE4IEBACi0gCQlXaGF0IGhhcyBjaGFuZ2VkIGluIEdEQj8KLSAJ ICAgICAoT3JnYW5pemVkIHJlbGVhc2UgYnkgcmVsZWFzZSkKLSAKLSsqKiogQ2hhbmdlcyBzaW5j ZSBHREIgOC4xCi0rCi0rKiBBYXJjaDY0L0xpbnV4IGhhcmR3YXJlIHdhdGNocG9pbnRzIGltcHJv dmVtZW50cwotKwotKyAgSGFyZHdhcmUgd2F0Y2hwb2ludHMgb24gdW5hbGlnbmVkIGFkZHJlc3Nl cyBhcmUgbm93IHByb3Blcmx5Ci0rICBzdXBwb3J0ZWQgd2hlbiBydW5uaW5nIExpbnV4IGtlcm5l bCA0LjEwIG9yIGhpZ2hlcjogcmVhZCBhbmQgYWNjZXNzCi0rICB3YXRjaHBvaW50cyBhcmUgbm8g bG9uZ2VyIHNwdXJpb3VzbHkgbWlzc2VkLCBhbmQgYWxsIHdhdGNocG9pbnRzCi0rICBsZW5ndGhz IGJldHdlZW4gMSBhbmQgOCBieXRlcyBhcmUgc3VwcG9ydGVkLiAgT24gb2xkZXIga2VybmVscywK LSsgIHdhdGNocG9pbnRzIHNldCBvbiB1bmFsaWduZWQgYWRkcmVzc2VzIGFyZSBubyBsb25nZXIg bWlzc2VkLCB3aXRoCi0rICB0aGUgdHJhZGVvZmYgdGhhdCB0aGVyZSBpcyBhIHBvc3NpYmlsaXR5 IG9mIGZhbHNlIGhpdHMgYmVpbmcKLSsgIHJlcG9ydGVkLgotKwotICoqKiBDaGFuZ2VzIGluIEdE QiA4LjEKLSAKLSAqIEZvcnRyYW46IFN1cHBvcnQgcG9pbnRlcnMgdG8gZHluYW1pYyB0eXBlcy4K LWRpZmYgLS1naXQgYS9nZGIvYWFyY2g2NC1saW51eC1uYXQuYyBiL2dkYi9hYXJjaDY0LWxpbnV4 LW5hdC5jCi1pbmRleCBmMDhiZjAzOWU0Li5hYTNiOWE3ODAwIDEwMDY0NAotLS0tIGEvZ2RiL2Fh cmNoNjQtbGludXgtbmF0LmMKLSsrKyBiL2dkYi9hYXJjaDY0LWxpbnV4LW5hdC5jCi1AQCAtNzM1 LDE3ICs3MzUsMzkgQEAgYWFyY2g2NF9saW51eF9zdG9wcGVkX2RhdGFfYWRkcmVzcyAoc3RydWN0 IHRhcmdldF9vcHMgKnRhcmdldCwKLSAgIHN0YXRlID0gYWFyY2g2NF9nZXRfZGVidWdfcmVnX3N0 YXRlIChwdGlkX2dldF9waWQgKGluZmVyaW9yX3B0aWQpKTsKLSAgIGZvciAoaSA9IGFhcmNoNjRf bnVtX3dwX3JlZ3MgLSAxOyBpID49IDA7IC0taSkKLSAgICAgewotKyAgICAgIGNvbnN0IHVuc2ln bmVkIGludCBvZmZzZXQKLSsJPSBhYXJjaDY0X3dhdGNocG9pbnRfb2Zmc2V0IChzdGF0ZS0+ZHJf Y3RybF93cFtpXSk7Ci0gICAgICAgY29uc3QgdW5zaWduZWQgaW50IGxlbiA9IGFhcmNoNjRfd2F0 Y2hwb2ludF9sZW5ndGggKHN0YXRlLT5kcl9jdHJsX3dwW2ldKTsKLSAgICAgICBjb25zdCBDT1JF X0FERFIgYWRkcl90cmFwID0gKENPUkVfQUREUikgc2lnaW5mby5zaV9hZGRyOwotLSAgICAgIGNv bnN0IENPUkVfQUREUiBhZGRyX3dhdGNoID0gc3RhdGUtPmRyX2FkZHJfd3BbaV07Ci0rICAgICAg Y29uc3QgQ09SRV9BRERSIGFkZHJfd2F0Y2ggPSBzdGF0ZS0+ZHJfYWRkcl93cFtpXSArIG9mZnNl dDsKLSsgICAgICBjb25zdCBDT1JFX0FERFIgYWRkcl93YXRjaF9hbGlnbmVkID0gYWxpZ25fZG93 biAoc3RhdGUtPmRyX2FkZHJfd3BbaV0sIDgpOwotKyAgICAgIGNvbnN0IENPUkVfQUREUiBhZGRy X29yaWcgPSBzdGF0ZS0+ZHJfYWRkcl9vcmlnX3dwW2ldOwotIAotICAgICAgIGlmIChzdGF0ZS0+ ZHJfcmVmX2NvdW50X3dwW2ldCi0gCSAgJiYgRFJfQ09OVFJPTF9FTkFCTEVEIChzdGF0ZS0+ZHJf Y3RybF93cFtpXSkKLS0JICAmJiBhZGRyX3RyYXAgPj0gYWRkcl93YXRjaAotKwkgICYmIGFkZHJf dHJhcCA+PSBhZGRyX3dhdGNoX2FsaWduZWQKLSAJICAmJiBhZGRyX3RyYXAgPCBhZGRyX3dhdGNo ICsgbGVuKQotIAl7Ci0tCSAgKmFkZHJfcCA9IGFkZHJfdHJhcDsKLS0JICByZXR1cm4gMTsKLSsJ ICAvKiBBRERSX1RSQVAgcmVwb3J0cyB0aGUgZmlyc3QgYWRkcmVzcyBvZiB0aGUgbWVtb3J5IHJh bmdlCi0rCSAgICAgYWNjZXNzZWQgYnkgdGhlIENQVSwgcmVnYXJkbGVzcyBvZiB3aGF0IHdhcyB0 aGUgbWVtb3J5Ci0rCSAgICAgcmFuZ2Ugd2F0Y2hlZC4gIFRodXMsIGEgbGFyZ2UgQ1BVIGFjY2Vz cyB0aGF0IHN0cmFkZGxlcwotKwkgICAgIHRoZSBBRERSX1dBVENILi5BRERSX1dBVENIK0xFTiBy YW5nZSBtYXkgcmVzdWx0IGluIGFuCi0rCSAgICAgQUREUl9UUkFQIHRoYXQgaXMgbG93ZXIgdGhh biB0aGUKLSsJICAgICBBRERSX1dBVENILi5BRERSX1dBVENIK0xFTiByYW5nZS4gIEUuZy46Ci0r Ci0rCSAgICAgYWRkcjogfCAgIDQgICB8ICAgNSAgIHwgICA2ICAgfCAgIDcgICB8ICAgOCAgIHwK LSsJCQkJICAgfC0tLS0gcmFuZ2Ugd2F0Y2hlZCAtLS0tfAotKwkJICAgfC0tLS0tLS0tLS0tIHJh bmdlIGFjY2Vzc2VkIC0tLS0tLS0tLS0tLXwKLSsKLSsJICAgICBJbiB0aGlzIGNhc2UsIEFERFJf VFJBUCB3aWxsIGJlIDQuCi0rCi0rCSAgICAgVG8gbWF0Y2ggYSB3YXRjaHBvaW50IGtub3duIHRv IEdEQiBjb3JlLCB3ZSBtdXN0IG5ldmVyCi0rCSAgICAgcmVwb3J0ICpBRERSX1Agb3V0c2lkZSBv ZiBhbnkgQUREUl9XQVRDSC4uQUREUl9XQVRDSCtMRU4KLSsJICAgICByYW5nZS4gIEFERFJfV0FU Q0ggPD0gQUREUl9UUkFQIDwgQUREUl9PUklHIGlzIGEgZmFsc2UKLSsJICAgICBwb3NpdGl2ZSBv biBrZXJuZWxzIG9sZGVyIHRoYW4gNC4xMC4gIFNlZSBQUgotKwkgICAgIGV4dGVybmFsLzIwMjA3 LiAgKi8KLSsJICAqYWRkcl9wID0gYWRkcl9vcmlnOwotKwkgIHJldHVybiB0cnVlOwotIAl9Ci0g ICAgIH0KLSAKLWRpZmYgLS1naXQgYS9nZGIvY29tbW9uL2NvbW1vbi11dGlscy5jIGIvZ2RiL2Nv bW1vbi9jb21tb24tdXRpbHMuYwotaW5kZXggYWUyZGQ5ZGIyYi4uMjRiMzkzNmYzZCAxMDA2NDQK LS0tLSBhL2dkYi9jb21tb24vY29tbW9uLXV0aWxzLmMKLSsrKyBiL2dkYi9jb21tb24vY29tbW9u LXV0aWxzLmMKLUBAIC00MDgsMyArNDA4LDIzIEBAIHN0cmluZ2lmeV9hcmd2IChjb25zdCBzdGQ6 OnZlY3RvcjxjaGFyICo+ICZhcmdzKQotIAotICAgcmV0dXJuIHJldDsKLSB9Ci0rCi0rLyogU2Vl IGNvbW1vbi9jb21tb24tdXRpbHMuaC4gICovCi0rCi0rVUxPTkdFU1QKLSthbGlnbl91cCAoVUxP TkdFU1QgdiwgaW50IG4pCi0rewotKyAgLyogQ2hlY2sgdGhhdCBOIGlzIHJlYWxseSBhIHBvd2Vy IG9mIHR3by4gICovCi0rICBnZGJfYXNzZXJ0IChuICYmIChuICYgKG4tMSkpID09IDApOwotKyAg cmV0dXJuICh2ICsgbiAtIDEpICYgLW47Ci0rfQotKwotKy8qIFNlZSBjb21tb24vY29tbW9uLXV0 aWxzLmguICAqLwotKwotK1VMT05HRVNUCi0rYWxpZ25fZG93biAoVUxPTkdFU1QgdiwgaW50IG4p Ci0rewotKyAgLyogQ2hlY2sgdGhhdCBOIGlzIHJlYWxseSBhIHBvd2VyIG9mIHR3by4gICovCi0r ICBnZGJfYXNzZXJ0IChuICYmIChuICYgKG4tMSkpID09IDApOwotKyAgcmV0dXJuICh2ICYgLW4p OwotK30KLWRpZmYgLS1naXQgYS9nZGIvY29tbW9uL2NvbW1vbi11dGlscy5oIGIvZ2RiL2NvbW1v bi9jb21tb24tdXRpbHMuaAotaW5kZXggMjMyMDMxOGRlNy4uYTk2MTUxNGZkNiAxMDA2NDQKLS0t LSBhL2dkYi9jb21tb24vY29tbW9uLXV0aWxzLmgKLSsrKyBiL2dkYi9jb21tb24vY29tbW9uLXV0 aWxzLmgKLUBAIC0xNDYsNCArMTQ2LDM2IEBAIGluX2luY2x1c2l2ZV9yYW5nZSAoVCB2YWx1ZSwg VCBsb3csIFQgaGlnaCkKLSAgIHJldHVybiB2YWx1ZSA+PSBsb3cgJiYgdmFsdWUgPD0gaGlnaDsK LSB9Ci0gCi0rLyogRW5zdXJlIHRoYXQgViBpcyBhbGlnbmVkIHRvIGFuIE4gYnl0ZSBib3VuZGFy eSAoQidzIGFzc3VtZWQgdG8gYmUgYQotKyAgIHBvd2VyIG9mIDIpLiAgUm91bmQgdXAvZG93biB3 aGVuIG5lY2Vzc2FyeS4gIEV4YW1wbGVzIG9mIGNvcnJlY3QKLSsgICB1c2UgaW5jbHVkZToKLSsK LSsgICAgYWRkciA9IGFsaWduX3VwIChhZGRyLCA4KTsgLS0gVkFMVUUgbmVlZHMgOCBieXRlIGFs aWdubWVudAotKyAgICB3cml0ZV9tZW1vcnkgKGFkZHIsIHZhbHVlLCBsZW4pOwotKyAgICBhZGRy ICs9IGxlbjsKLSsKLSsgICBhbmQ6Ci0rCi0rICAgIHNwID0gYWxpZ25fZG93biAoc3AgLSBsZW4s IDE2KTsgLS0gS2VlcCBTUCAxNiBieXRlIGFsaWduZWQKLSsgICAgd3JpdGVfbWVtb3J5IChzcCwg dmFsdWUsIGxlbik7Ci0rCi0rICAgTm90ZSB0aGF0IHVzZXMgc3VjaCBhczoKLSsKLSsgICAgd3Jp dGVfbWVtb3J5IChhZGRyLCB2YWx1ZSwgbGVuKTsKLSsgICAgYWRkciArPSBhbGlnbl91cCAobGVu LCA4KTsKLSsKLSsgICBhbmQ6Ci0rCi0rICAgIHNwIC09IGFsaWduX3VwIChsZW4sIDgpOwotKyAg ICB3cml0ZV9tZW1vcnkgKHNwLCB2YWx1ZSwgbGVuKTsKLSsKLSsgICBhcmUgdHlwaWNhbGx5IG5v dCBjb3JyZWN0IGFzIHRoZXkgZG9uJ3QgZW5zdXJlIHRoYXQgdGhlIGFkZHJlc3MgKFNQCi0rICAg b3IgQUREUikgaXMgY29ycmVjdGx5IGFsaWduZWQgKHJlbHlpbmcgb24gcHJldmlvdXMgYWxpZ25t ZW50IHRvCi0rICAga2VlcCB0aGluZ3MgcmlnaHQpLiAgVGhpcyBpcyBhbHNvIHdoeSB0aGUgbWV0 aG9kcyBhcmUgY2FsbGVkCi0rICAgImFsaWduXy4uLiIgaW5zdGVhZCBvZiAicm91bmRfLi4uIiBh cyB0aGUgbGF0dGVyIHJlYWRzIGJldHRlciB3aXRoCi0rICAgdGhpcyBpbmNvcnJlY3QgY29kaW5n IHN0eWxlLiAgKi8KLSsKLStleHRlcm4gVUxPTkdFU1QgYWxpZ25fdXAgKFVMT05HRVNUIHYsIGlu dCBuKTsKLStleHRlcm4gVUxPTkdFU1QgYWxpZ25fZG93biAoVUxPTkdFU1QgdiwgaW50IG4pOwot KwotICNlbmRpZgotZGlmZiAtLWdpdCBhL2dkYi9nZGJzZXJ2ZXIvbGludXgtYWFyY2g2NC1sb3cu YyBiL2dkYi9nZGJzZXJ2ZXIvbGludXgtYWFyY2g2NC1sb3cuYwotaW5kZXggZWNjYWM0ZGExMy4u N2VhMjRjMjM2MyAxMDA2NDQKLS0tLSBhL2dkYi9nZGJzZXJ2ZXIvbGludXgtYWFyY2g2NC1sb3cu YwotKysrIGIvZ2RiL2dkYnNlcnZlci9saW51eC1hYXJjaDY0LWxvdy5jCi1AQCAtMzYwLDE0ICsz NjAsMzkgQEAgYWFyY2g2NF9zdG9wcGVkX2RhdGFfYWRkcmVzcyAodm9pZCkKLSAgIHN0YXRlID0g YWFyY2g2NF9nZXRfZGVidWdfcmVnX3N0YXRlIChwaWRfb2YgKGN1cnJlbnRfdGhyZWFkKSk7Ci0g ICBmb3IgKGkgPSBhYXJjaDY0X251bV93cF9yZWdzIC0gMTsgaSA+PSAwOyAtLWkpCi0gICAgIHsK LSsgICAgICBjb25zdCB1bnNpZ25lZCBpbnQgb2Zmc2V0Ci0rCT0gYWFyY2g2NF93YXRjaHBvaW50 X29mZnNldCAoc3RhdGUtPmRyX2N0cmxfd3BbaV0pOwotICAgICAgIGNvbnN0IHVuc2lnbmVkIGlu dCBsZW4gPSBhYXJjaDY0X3dhdGNocG9pbnRfbGVuZ3RoIChzdGF0ZS0+ZHJfY3RybF93cFtpXSk7 Ci0gICAgICAgY29uc3QgQ09SRV9BRERSIGFkZHJfdHJhcCA9IChDT1JFX0FERFIpIHNpZ2luZm8u c2lfYWRkcjsKLS0gICAgICBjb25zdCBDT1JFX0FERFIgYWRkcl93YXRjaCA9IHN0YXRlLT5kcl9h ZGRyX3dwW2ldOwotKyAgICAgIGNvbnN0IENPUkVfQUREUiBhZGRyX3dhdGNoID0gc3RhdGUtPmRy X2FkZHJfd3BbaV0gKyBvZmZzZXQ7Ci0rICAgICAgY29uc3QgQ09SRV9BRERSIGFkZHJfd2F0Y2hf YWxpZ25lZCA9IGFsaWduX2Rvd24gKHN0YXRlLT5kcl9hZGRyX3dwW2ldLCA4KTsKLSsgICAgICBj b25zdCBDT1JFX0FERFIgYWRkcl9vcmlnID0gc3RhdGUtPmRyX2FkZHJfb3JpZ193cFtpXTsKLSsK LSAgICAgICBpZiAoc3RhdGUtPmRyX3JlZl9jb3VudF93cFtpXQotIAkgICYmIERSX0NPTlRST0xf RU5BQkxFRCAoc3RhdGUtPmRyX2N0cmxfd3BbaV0pCi0tCSAgJiYgYWRkcl90cmFwID49IGFkZHJf d2F0Y2gKLSsJICAmJiBhZGRyX3RyYXAgPj0gYWRkcl93YXRjaF9hbGlnbmVkCi0gCSAgJiYgYWRk cl90cmFwIDwgYWRkcl93YXRjaCArIGxlbikKLS0JcmV0dXJuIGFkZHJfdHJhcDsKLSsJewotKwkg IC8qIEFERFJfVFJBUCByZXBvcnRzIHRoZSBmaXJzdCBhZGRyZXNzIG9mIHRoZSBtZW1vcnkgcmFu Z2UKLSsJICAgICBhY2Nlc3NlZCBieSB0aGUgQ1BVLCByZWdhcmRsZXNzIG9mIHdoYXQgd2FzIHRo ZSBtZW1vcnkKLSsJICAgICByYW5nZSB3YXRjaGVkLiAgVGh1cywgYSBsYXJnZSBDUFUgYWNjZXNz IHRoYXQgc3RyYWRkbGVzCi0rCSAgICAgdGhlIEFERFJfV0FUQ0guLkFERFJfV0FUQ0grTEVOIHJh bmdlIG1heSByZXN1bHQgaW4gYW4KLSsJICAgICBBRERSX1RSQVAgdGhhdCBpcyBsb3dlciB0aGFu IHRoZQotKwkgICAgIEFERFJfV0FUQ0guLkFERFJfV0FUQ0grTEVOIHJhbmdlLiAgRS5nLjoKLSsK LSsJICAgICBhZGRyOiB8ICAgNCAgIHwgICA1ICAgfCAgIDYgICB8ICAgNyAgIHwgICA4ICAgfAot KwkJCQkgICB8LS0tLSByYW5nZSB3YXRjaGVkIC0tLS18Ci0rCQkgICB8LS0tLS0tLS0tLS0gcmFu Z2UgYWNjZXNzZWQgLS0tLS0tLS0tLS0tfAotKwotKwkgICAgIEluIHRoaXMgY2FzZSwgQUREUl9U UkFQIHdpbGwgYmUgNC4KLSsKLSsJICAgICBUbyBtYXRjaCBhIHdhdGNocG9pbnQga25vd24gdG8g R0RCIGNvcmUsIHdlIG11c3QgbmV2ZXIKLSsJICAgICByZXBvcnQgKkFERFJfUCBvdXRzaWRlIG9m IGFueSBBRERSX1dBVENILi5BRERSX1dBVENIK0xFTgotKwkgICAgIHJhbmdlLiAgQUREUl9XQVRD SCA8PSBBRERSX1RSQVAgPCBBRERSX09SSUcgaXMgYSBmYWxzZQotKwkgICAgIHBvc2l0aXZlIG9u IGtlcm5lbHMgb2xkZXIgdGhhbiA0LjEwLiAgU2VlIFBSCi0rCSAgICAgZXh0ZXJuYWwvMjAyMDcu ICAqLwotKwkgIHJldHVybiBhZGRyX29yaWc7Ci0rCX0KLSAgICAgfQotIAotICAgcmV0dXJuIChD T1JFX0FERFIpIDA7Ci1kaWZmIC0tZ2l0IGEvZ2RiL25hdC9hYXJjaDY0LWxpbnV4LWh3LXBvaW50 LmMgYi9nZGIvbmF0L2FhcmNoNjQtbGludXgtaHctcG9pbnQuYwotaW5kZXggZTllYmM1ZmJhOC4u MTBjYmYzZTRkZiAxMDA2NDQKLS0tLSBhL2dkYi9uYXQvYWFyY2g2NC1saW51eC1ody1wb2ludC5j Ci0rKysgYi9nZGIvbmF0L2FhcmNoNjQtbGludXgtaHctcG9pbnQuYwotQEAgLTM0LDI5ICszNCw1 MiBAQAotIGludCBhYXJjaDY0X251bV9icF9yZWdzOwotIGludCBhYXJjaDY0X251bV93cF9yZWdz OwotIAotKy8qIFRydWUgaWYgdGhpcyBrZXJuZWwgZG9lcyBub3QgaGF2ZSB0aGUgYnVnIGRlc2Ny aWJlZCBieSBQUgotKyAgIGV4dGVybmFsLzIwMjA3IChMaW51eCA+PSA0LjEwKS4gIEEgZml4ZWQg a2VybmVsIHN1cHBvcnRzIGFueQotKyAgIGNvbnRpZ3VvdXMgcmFuZ2Ugb2YgYml0cyBpbiA4LWJp dCBieXRlIERSX0NPTlRST0xfTUFTSy4gIEEgYnVnZ3kKLSsgICBrZXJuZWwgc3VwcG9ydHMgb25s eSAweDAxLCAweDAzLCAweDBmIGFuZCAweGZmLiAgV2Ugc3RhcnQgYnkKLSsgICBhc3N1bWluZyB0 aGUgYnVnIGlzIGZpeGVkLCBhbmQgdGhlbiBkZXRlY3QgdGhlIGJ1ZyBhdAotKyAgIFBUUkFDRV9T RVRSRUdTRVQgdGltZS4gICovCi0rc3RhdGljIGJvb2wga2VybmVsX3N1cHBvcnRzX2FueV9jb250 aWd1b3VzX3JhbmdlID0gdHJ1ZTsKLSsKLSsvKiBSZXR1cm4gc3RhcnRpbmcgYnl0ZSAwLi43IGlu Y2wuIG9mIGEgd2F0Y2hwb2ludCBlbmNvZGVkIGJ5IENUUkwuICAqLwotKwotK3Vuc2lnbmVkIGlu dAotK2FhcmNoNjRfd2F0Y2hwb2ludF9vZmZzZXQgKHVuc2lnbmVkIGludCBjdHJsKQotK3sKLSsg IHVpbnQ4X3QgbWFzayA9IERSX0NPTlRST0xfTUFTSyAoY3RybCk7Ci0rICB1bnNpZ25lZCByZXR2 YWw7Ci0rCi0rICAvKiBTaGlmdCBvdXQgYm90dG9tIHplcm9zLiAgKi8KLSsgIGZvciAocmV0dmFs ID0gMDsgbWFzayAmJiAobWFzayAmIDEpID09IDA7ICsrcmV0dmFsKQotKyAgICBtYXNrID4+PSAx OwotKwotKyAgcmV0dXJuIHJldHZhbDsKLSt9Ci0rCi0gLyogVXRpbGl0eSBmdW5jdGlvbiB0aGF0 IHJldHVybnMgdGhlIGxlbmd0aCBpbiBieXRlcyBvZiBhIHdhdGNocG9pbnQKLSAgICBhY2NvcmRp bmcgdG8gdGhlIGNvbnRlbnQgb2YgYSBoYXJkd2FyZSBkZWJ1ZyBjb250cm9sIHJlZ2lzdGVyIENU UkwuCi0tICAgTm90ZSB0aGF0IHRoZSBrZXJuZWwgY3VycmVudGx5IG9ubHkgc3VwcG9ydHMgdGhl IGZvbGxvd2luZyBCeXRlCi0tICAgQWRkcmVzcyBTZWxlY3QgKEJBUykgdmFsdWVzOiAweDEsIDB4 MywgMHhmIGFuZCAweGZmLCB3aGljaCBtZWFucwotLSAgIHRoYXQgZm9yIGEgaGFyZHdhcmUgd2F0 Y2hwb2ludCwgaXRzIHZhbGlkIGxlbmd0aCBjYW4gb25seSBiZSAxCi0tICAgYnl0ZSwgMiBieXRl cywgNCBieXRlcyBvciA4IGJ5dGVzLiAgKi8KLSsgICBBbnkgY29udGlndW91cyByYW5nZSBvZiBi eXRlcyBpbiBDVFJMIGlzIHN1cHBvcnRlZC4gIFRoZSByZXR1cm5lZAotKyAgIHZhbHVlIGNhbiBi ZSBiZXR3ZWVuIDAuLjggKGluY2x1c2l2ZSkuICAqLwotIAotIHVuc2lnbmVkIGludAotIGFhcmNo NjRfd2F0Y2hwb2ludF9sZW5ndGggKHVuc2lnbmVkIGludCBjdHJsKQotIHsKLS0gIHN3aXRjaCAo RFJfQ09OVFJPTF9MRU5HVEggKGN0cmwpKQotLSAgICB7Ci0tICAgIGNhc2UgMHgwMToKLS0gICAg ICByZXR1cm4gMTsKLS0gICAgY2FzZSAweDAzOgotLSAgICAgIHJldHVybiAyOwotLSAgICBjYXNl IDB4MGY6Ci0tICAgICAgcmV0dXJuIDQ7Ci0tICAgIGNhc2UgMHhmZjoKLS0gICAgICByZXR1cm4g ODsKLS0gICAgZGVmYXVsdDoKLS0gICAgICByZXR1cm4gMDsKLS0gICAgfQotKyAgdWludDhfdCBt YXNrID0gRFJfQ09OVFJPTF9NQVNLIChjdHJsKTsKLSsgIHVuc2lnbmVkIHJldHZhbDsKLSsKLSsg IC8qIFNoaWZ0IG91dCBib3R0b20gemVyb3MuICAqLwotKyAgbWFzayA+Pj0gYWFyY2g2NF93YXRj aHBvaW50X29mZnNldCAoY3RybCk7Ci0rCi0rICAvKiBDb3VudCBib3R0b20gb25lcy4gICovCi0r ICBmb3IgKHJldHZhbCA9IDA7IChtYXNrICYgMSkgIT0gMDsgKytyZXR2YWwpCi0rICAgIG1hc2sg Pj49IDE7Ci0rCi0rICBpZiAobWFzayAhPSAwKQotKyAgICBlcnJvciAoXygiVW5leHBlY3RlZCBo YXJkd2FyZSB3YXRjaHBvaW50IGxlbmd0aCByZWdpc3RlciB2YWx1ZSAweCV4IiksCi0rCSAgIERS X0NPTlRST0xfTUFTSyAoY3RybCkpOwotKwotKyAgcmV0dXJuIHJldHZhbDsKLSB9Ci0gCi0gLyog R2l2ZW4gdGhlIGhhcmR3YXJlIGJyZWFrcG9pbnQgb3Igd2F0Y2hwb2ludCB0eXBlIFRZUEUgYW5k IGl0cwotQEAgLTY0LDEwICs4NywxMyBAQCBhYXJjaDY0X3dhdGNocG9pbnRfbGVuZ3RoICh1bnNp Z25lZCBpbnQgY3RybCkKLSAgICBicmVha3BvaW50L3dhdGNocG9pbnQgY29udHJvbCByZWdpc3Rl ci4gICovCi0gCi0gc3RhdGljIHVuc2lnbmVkIGludAotLWFhcmNoNjRfcG9pbnRfZW5jb2RlX2N0 cmxfcmVnIChlbnVtIHRhcmdldF9od19icF90eXBlIHR5cGUsIGludCBsZW4pCi0rYWFyY2g2NF9w b2ludF9lbmNvZGVfY3RybF9yZWcgKGVudW0gdGFyZ2V0X2h3X2JwX3R5cGUgdHlwZSwgaW50IG9m ZnNldCwgaW50IGxlbikKLSB7Ci0gICB1bnNpZ25lZCBpbnQgY3RybCwgdHR5cGU7Ci0gCi0rICBn ZGJfYXNzZXJ0IChvZmZzZXQgPT0gMCB8fCBrZXJuZWxfc3VwcG9ydHNfYW55X2NvbnRpZ3VvdXNf cmFuZ2UpOwotKyAgZ2RiX2Fzc2VydCAob2Zmc2V0ICsgbGVuIDw9IEFBUkNINjRfSFdQX01BWF9M RU5fUEVSX1JFRyk7Ci0rCi0gICAvKiB0eXBlICovCi0gICBzd2l0Y2ggKHR5cGUpCi0gICAgIHsK LUBAIC04OSw4ICsxMTUsOCBAQCBhYXJjaDY0X3BvaW50X2VuY29kZV9jdHJsX3JlZyAoZW51bSB0 YXJnZXRfaHdfYnBfdHlwZSB0eXBlLCBpbnQgbGVuKQotIAotICAgY3RybCA9IHR0eXBlIDw8IDM7 Ci0gCi0tICAvKiBsZW5ndGggYml0bWFzayAqLwotLSAgY3RybCB8PSAoKDEgPDwgbGVuKSAtIDEp IDw8IDU7Ci0rICAvKiBvZmZzZXQgYW5kIGxlbmd0aCBiaXRtYXNrICovCi0rICBjdHJsIHw9ICgo MSA8PCBsZW4pIC0gMSkgPDwgKDUgKyBvZmZzZXQpOwotICAgLyogZW5hYmxlZCBhdCBlbDAgKi8K LSAgIGN0cmwgfD0gKDIgPDwgMSkgfCAxOwotIAotQEAgLTEzNCw1OSArMTYwLDY1IEBAIGFhcmNo NjRfcG9pbnRfaXNfYWxpZ25lZCAoaW50IGlzX3dhdGNocG9pbnQsIENPUkVfQUREUiBhZGRyLCBM T05HRVNUIGxlbikKLSAgIGlmIChhZGRyICYgKGFsaWdubWVudCAtIDEpKQotICAgICByZXR1cm4g MDsKLSAKLS0gIGlmIChsZW4gIT0gOCAmJiBsZW4gIT0gNCAmJiBsZW4gIT0gMiAmJiBsZW4gIT0g MSkKLSsgIGlmICgoIWtlcm5lbF9zdXBwb3J0c19hbnlfY29udGlndW91c19yYW5nZQotKyAgICAg ICAmJiBsZW4gIT0gOCAmJiBsZW4gIT0gNCAmJiBsZW4gIT0gMiAmJiBsZW4gIT0gMSkKLSsgICAg ICB8fCAoa2VybmVsX3N1cHBvcnRzX2FueV9jb250aWd1b3VzX3JhbmdlCi0rCSAgJiYgKGxlbiA8 IDEgfHwgbGVuID4gOCkpKQotICAgICByZXR1cm4gMDsKLSAKLSAgIHJldHVybiAxOwotIH0KLSAK LSAvKiBHaXZlbiB0aGUgKHBvdGVudGlhbGx5IHVuYWxpZ25lZCkgd2F0Y2hwb2ludCBhZGRyZXNz IGluIEFERFIgYW5kCi0tICAgbGVuZ3RoIGluIExFTiwgcmV0dXJuIHRoZSBhbGlnbmVkIGFkZHJl c3MgYW5kIGFsaWduZWQgbGVuZ3RoIGluCi0tICAgKkFMSUdORURfQUREUl9QIGFuZCAqQUxJR05F RF9MRU5fUCwgcmVzcGVjdGl2ZWx5LiAgVGhlIHJldHVybmVkCi0tICAgYWxpZ25lZCBhZGRyZXNz IGFuZCBsZW5ndGggd2lsbCBiZSB2YWxpZCB2YWx1ZXMgdG8gd3JpdGUgdG8gdGhlCi0tICAgaGFy ZHdhcmUgd2F0Y2hwb2ludCB2YWx1ZSBhbmQgY29udHJvbCByZWdpc3RlcnMuCi0rICAgbGVuZ3Ro IGluIExFTiwgcmV0dXJuIHRoZSBhbGlnbmVkIGFkZHJlc3MsIG9mZnNldCBmcm9tIHRoYXQgYmFz ZQotKyAgIGFkZHJlc3MsIGFuZCBhbGlnbmVkIGxlbmd0aCBpbiAqQUxJR05FRF9BRERSX1AsICpB TElHTkVEX09GRlNFVF9QCi0rICAgYW5kICpBTElHTkVEX0xFTl9QLCByZXNwZWN0aXZlbHkuICBU aGUgcmV0dXJuZWQgdmFsdWVzIHdpbGwgYmUKLSsgICB2YWxpZCB2YWx1ZXMgdG8gd3JpdGUgdG8g dGhlIGhhcmR3YXJlIHdhdGNocG9pbnQgdmFsdWUgYW5kIGNvbnRyb2wKLSsgICByZWdpc3RlcnMu Ci0gCi0gICAgVGhlIGdpdmVuIHdhdGNocG9pbnQgbWF5IGdldCB0cnVuY2F0ZWQgaWYgbW9yZSB0 aGFuIG9uZSBoYXJkd2FyZQotICAgIHJlZ2lzdGVyIGlzIG5lZWRlZCB0byBjb3ZlciB0aGUgd2F0 Y2hlZCByZWdpb24uICAqTkVYVF9BRERSX1AKLSAgICBhbmQgKk5FWFRfTEVOX1AsIGlmIG5vbi1O VUxMLCB3aWxsIHJldHVybiB0aGUgYWRkcmVzcyBhbmQgbGVuZ3RoCi0gICAgb2YgdGhlIHJlbWFp bmluZyBwYXJ0IG9mIHRoZSB3YXRjaHBvaW50ICh3aGljaCBjYW4gYmUgcHJvY2Vzc2VkCi0tICAg YnkgY2FsbGluZyB0aGlzIHJvdXRpbmUgYWdhaW4gdG8gZ2VuZXJhdGUgYW5vdGhlciBhbGlnbmVk IGFkZHJlc3MKLS0gICBhbmQgbGVuZ3RoIHBhaXIuCi0rICAgYnkgY2FsbGluZyB0aGlzIHJvdXRp bmUgYWdhaW4gdG8gZ2VuZXJhdGUgYW5vdGhlciBhbGlnbmVkIGFkZHJlc3MsCi0rICAgb2Zmc2V0 IGFuZCBsZW5ndGggdHVwbGUuCi0gCi0gICAgRXNzZW50aWFsbHksIHVuYWxpZ25lZCB3YXRjaHBv aW50IGlzIGFjaGlldmVkIGJ5IG1pbmltYWxseQotICAgIGVubGFyZ2luZyB0aGUgd2F0Y2hlZCBh cmVhIHRvIG1lZXQgdGhlIGFsaWdubWVudCByZXF1aXJlbWVudCwgYW5kCi0gICAgaWYgbmVjZXNz YXJ5LCBzcGxpdHRpbmcgdGhlIHdhdGNocG9pbnQgb3ZlciBzZXZlcmFsIGhhcmR3YXJlCi0tICAg d2F0Y2hwb2ludCByZWdpc3RlcnMuICBUaGUgdHJhZGUtb2ZmIGlzIHRoYXQgdGhlcmUgd2lsbCBi ZQotLSAgIGZhbHNlLXBvc2l0aXZlIGhpdHMgZm9yIHRoZSByZWFkLXR5cGUgb3IgdGhlIGFjY2Vz cy10eXBlIGhhcmR3YXJlCi0tICAgd2F0Y2hwb2ludHM7IGZvciB0aGUgd3JpdGUgdHlwZSwgd2hp Y2ggaXMgbW9yZSBjb21tb25seSB1c2VkLCB0aGVyZQotLSAgIHdpbGwgYmUgbm8gc3VjaCBpc3N1 ZXMsIGFzIHRoZSBoaWdoZXItbGV2ZWwgYnJlYWtwb2ludCBtYW5hZ2VtZW50Ci0tICAgaW4gZ2Ri IGFsd2F5cyBleGFtaW5lcyB0aGUgZXhhY3Qgd2F0Y2hlZCByZWdpb24gZm9yIGFueSBjb250ZW50 Ci0tICAgY2hhbmdlLCBhbmQgdHJhbnNwYXJlbnRseSByZXN1bWVzIGEgdGhyZWFkIGZyb20gYSB3 YXRjaHBvaW50IHRyYXAKLS0gICBpZiB0aGVyZSBpcyBubyBjaGFuZ2UgdG8gdGhlIHdhdGNoZWQg cmVnaW9uLgotKyAgIHdhdGNocG9pbnQgcmVnaXN0ZXJzLgotKwotKyAgIE9uIGtlcm5lbHMgdGhh dCBwcmVkYXRlIHRoZSBzdXBwb3J0IGZvciBCeXRlIEFkZHJlc3MgU2VsZWN0IChCQVMpCi0rICAg aW4gdGhlIGhhcmR3YXJlIHdhdGNocG9pbnQgY29udHJvbCByZWdpc3RlciwgdGhlIG9mZnNldCBm cm9tIHRoZQotKyAgIGJhc2UgYWRkcmVzcyBpcyBhbHdheXMgemVybywgYW5kIHNvIGluIHRoYXQg Y2FzZSB0aGUgdHJhZGUtb2ZmIGlzCi0rICAgdGhhdCB0aGVyZSB3aWxsIGJlIGZhbHNlLXBvc2l0 aXZlIGhpdHMgZm9yIHRoZSByZWFkLXR5cGUgb3IgdGhlCi0rICAgYWNjZXNzLXR5cGUgaGFyZHdh cmUgd2F0Y2hwb2ludHM7IGZvciB0aGUgd3JpdGUgdHlwZSwgd2hpY2ggaXMgbW9yZQotKyAgIGNv bW1vbmx5IHVzZWQsIHRoZXJlIHdpbGwgYmUgbm8gc3VjaCBpc3N1ZXMsIGFzIHRoZSBoaWdoZXIt bGV2ZWwKLSsgICBicmVha3BvaW50IG1hbmFnZW1lbnQgaW4gZ2RiIGFsd2F5cyBleGFtaW5lcyB0 aGUgZXhhY3Qgd2F0Y2hlZAotKyAgIHJlZ2lvbiBmb3IgYW55IGNvbnRlbnQgY2hhbmdlLCBhbmQg dHJhbnNwYXJlbnRseSByZXN1bWVzIGEgdGhyZWFkCi0rICAgZnJvbSBhIHdhdGNocG9pbnQgdHJh cCBpZiB0aGVyZSBpcyBubyBjaGFuZ2UgdG8gdGhlIHdhdGNoZWQgcmVnaW9uLgotIAotICAgIEFu b3RoZXIgbGltaXRhdGlvbiBpcyB0aGF0IGJlY2F1c2UgdGhlIHdhdGNoZWQgcmVnaW9uIGlzIGVu bGFyZ2VkLAotLSAgIHRoZSB3YXRjaHBvaW50IGZhdWx0IGFkZHJlc3MgcmV0dXJuZWQgYnkKLSsg ICB0aGUgd2F0Y2hwb2ludCBmYXVsdCBhZGRyZXNzIGRpc2NvdmVyZWQgYnkKLSAgICBhYXJjaDY0 X3N0b3BwZWRfZGF0YV9hZGRyZXNzIG1heSBiZSBvdXRzaWRlIG9mIHRoZSBvcmlnaW5hbCB3YXRj aGVkCi0gICAgcmVnaW9uLCBlc3BlY2lhbGx5IHdoZW4gdGhlIHRyaWdnZXJpbmcgaW5zdHJ1Y3Rp b24gaXMgYWNjZXNzaW5nIGEKLSAgICBsYXJnZXIgcmVnaW9uLiAgV2hlbiB0aGUgZmF1bHQgYWRk cmVzcyBpcyBub3Qgd2l0aGluIGFueSBrbm93bgotICAgIHJhbmdlLCB3YXRjaHBvaW50c190cmln Z2VyZWQgaW4gZ2RiIHdpbGwgZ2V0IGNvbmZ1c2VkLCBhcyB0aGUKLSAgICBoaWdoZXItbGV2ZWwg d2F0Y2hwb2ludCBtYW5hZ2VtZW50IGlzIG9ubHkgYXdhcmUgb2Ygb3JpZ2luYWwKLSAgICB3YXRj aGVkIHJlZ2lvbnMsIGFuZCB3aWxsIHRoaW5rIHRoYXQgc29tZSB1bmtub3duIHdhdGNocG9pbnQg aGFzCi0tICAgYmVlbiB0cmlnZ2VyZWQuICBJbiBzdWNoIGEgY2FzZSwgZ2RiIG1heSBzdG9wIHdp dGhvdXQgZGlzcGxheWluZwotLSAgIGFueSBkZXRhaWxlZCBpbmZvcm1hdGlvbi4KLS0KLS0gICBP bmNlIHRoZSBrZXJuZWwgcHJvdmlkZXMgdGhlIGZ1bGwgc3VwcG9ydCBmb3IgQnl0ZSBBZGRyZXNz IFNlbGVjdAotLSAgIChCQVMpIGluIHRoZSBoYXJkd2FyZSB3YXRjaHBvaW50IGNvbnRyb2wgcmVn aXN0ZXIsIHRoZXNlCi0tICAgbGltaXRhdGlvbnMgY2FuIGJlIGxhcmdlbHkgcmVsYXhlZCB3aXRo IHNvbWUgZnVydGhlciB3b3JrLiAgKi8KLSsgICBiZWVuIHRyaWdnZXJlZC4gIFRvIHByZXZlbnQg c3VjaCBhIGNhc2UsCi0rICAgYWFyY2g2NF9zdG9wcGVkX2RhdGFfYWRkcmVzcyBpbXBsZW1lbnRh dGlvbnMgaW4gZ2RiIGFuZCBnZGJzZXJ2ZXIKLSsgICB0cnkgdG8gbWF0Y2ggdGhlIHRyYXBwZWQg YWRkcmVzcyB3aXRoIGEgd2F0Y2hlZCByZWdpb24sIGFuZCByZXR1cm4KLSsgICBhbiBhZGRyZXNz IHdpdGhpbiB0aGUgbGF0dGVyLiAqLwotIAotIHN0YXRpYyB2b2lkCi0tYWFyY2g2NF9hbGlnbl93 YXRjaHBvaW50IChDT1JFX0FERFIgYWRkciwgTE9OR0VTVCBsZW4sCi0tCQkJICBDT1JFX0FERFIg KmFsaWduZWRfYWRkcl9wLAotLQkJCSAgaW50ICphbGlnbmVkX2xlbl9wLCBDT1JFX0FERFIgKm5l eHRfYWRkcl9wLAotLQkJCSAgTE9OR0VTVCAqbmV4dF9sZW5fcCkKLSthYXJjaDY0X2FsaWduX3dh dGNocG9pbnQgKENPUkVfQUREUiBhZGRyLCBpbnQgbGVuLCBDT1JFX0FERFIgKmFsaWduZWRfYWRk cl9wLAotKwkJCSAgaW50ICphbGlnbmVkX29mZnNldF9wLCBpbnQgKmFsaWduZWRfbGVuX3AsCi0r CQkJICBDT1JFX0FERFIgKm5leHRfYWRkcl9wLCBpbnQgKm5leHRfbGVuX3AsCi0rCQkJICBDT1JF X0FERFIgKm5leHRfYWRkcl9vcmlnX3ApCi0gewotICAgaW50IGFsaWduZWRfbGVuOwotLSAgdW5z aWduZWQgaW50IG9mZnNldDsKLSsgIHVuc2lnbmVkIGludCBvZmZzZXQsIGFsaWduZWRfb2Zmc2V0 OwotICAgQ09SRV9BRERSIGFsaWduZWRfYWRkcjsKLSAgIGNvbnN0IHVuc2lnbmVkIGludCBhbGln bm1lbnQgPSBBQVJDSDY0X0hXUF9BTElHTk1FTlQ7Ci0gICBjb25zdCB1bnNpZ25lZCBpbnQgbWF4 X3dwX2xlbiA9IEFBUkNINjRfSFdQX01BWF9MRU5fUEVSX1JFRzsKLUBAIC0xOTcsMTAgKzIyOSwx MiBAQCBhYXJjaDY0X2FsaWduX3dhdGNocG9pbnQgKENPUkVfQUREUiBhZGRyLCBMT05HRVNUIGxl biwKLSAgIGlmIChsZW4gPD0gMCkKLSAgICAgcmV0dXJuOwotIAotLSAgLyogQWRkcmVzcyB0byBi ZSBwdXQgaW50byB0aGUgaGFyZHdhcmUgd2F0Y2hwb2ludCB2YWx1ZSByZWdpc3RlcgotLSAgICAg bXVzdCBiZSBhbGlnbmVkLiAgKi8KLSsgIC8qIFRoZSBhZGRyZXNzIHB1dCBpbnRvIHRoZSBoYXJk d2FyZSB3YXRjaHBvaW50IHZhbHVlIHJlZ2lzdGVyIG11c3QKLSsgICAgIGJlIGFsaWduZWQuICAq LwotICAgb2Zmc2V0ID0gYWRkciAmIChhbGlnbm1lbnQgLSAxKTsKLSAgIGFsaWduZWRfYWRkciA9 IGFkZHIgLSBvZmZzZXQ7Ci0rICBhbGlnbmVkX29mZnNldAotKyAgICA9IGtlcm5lbF9zdXBwb3J0 c19hbnlfY29udGlndW91c19yYW5nZSA/IGFkZHIgJiAoYWxpZ25tZW50IC0gMSkgOiAwOwotIAot ICAgZ2RiX2Fzc2VydCAob2Zmc2V0ID49IDAgJiYgb2Zmc2V0IDwgYWxpZ25tZW50KTsKLSAgIGdk Yl9hc3NlcnQgKGFsaWduZWRfYWRkciA+PSAwICYmIGFsaWduZWRfYWRkciA8PSBhZGRyKTsKLUBA IC0yMDgsOSArMjQyLDEwIEBAIGFhcmNoNjRfYWxpZ25fd2F0Y2hwb2ludCAoQ09SRV9BRERSIGFk ZHIsIExPTkdFU1QgbGVuLAotIAotICAgaWYgKG9mZnNldCArIGxlbiA+PSBtYXhfd3BfbGVuKQot ICAgICB7Ci0tICAgICAgLyogTmVlZCBtb3JlIHRoYW4gb25lIHdhdGNocG9pbnQgcmVnaXN0ZXJz OyB0cnVuY2F0ZSBpdCBhdCB0aGUKLSsgICAgICAvKiBOZWVkIG1vcmUgdGhhbiBvbmUgd2F0Y2hw b2ludCByZWdpc3RlcjsgdHJ1bmNhdGUgYXQgdGhlCi0gCSBhbGlnbm1lbnQgYm91bmRhcnkuICAq LwotLSAgICAgIGFsaWduZWRfbGVuID0gbWF4X3dwX2xlbjsKLSsgICAgICBhbGlnbmVkX2xlbgot Kwk9IG1heF93cF9sZW4gLSAoa2VybmVsX3N1cHBvcnRzX2FueV9jb250aWd1b3VzX3JhbmdlID8g b2Zmc2V0IDogMCk7Ci0gICAgICAgbGVuIC09IChtYXhfd3BfbGVuIC0gb2Zmc2V0KTsKLSAgICAg ICBhZGRyICs9IChtYXhfd3BfbGVuIC0gb2Zmc2V0KTsKLSAgICAgICBnZGJfYXNzZXJ0ICgoYWRk ciAmIChhbGlnbm1lbnQgLSAxKSkgPT0gMCk7Ci1AQCAtMjIzLDE5ICsyNTgsMjQgQEAgYWFyY2g2 NF9hbGlnbl93YXRjaHBvaW50IChDT1JFX0FERFIgYWRkciwgTE9OR0VTVCBsZW4sCi0gCWFsaWdu ZWRfbGVuX2FycmF5W0FBUkNINjRfSFdQX01BWF9MRU5fUEVSX1JFR10gPQotIAl7IDEsIDIsIDQs IDQsIDgsIDgsIDgsIDggfTsKLSAKLS0gICAgICBhbGlnbmVkX2xlbiA9IGFsaWduZWRfbGVuX2Fy cmF5W29mZnNldCArIGxlbiAtIDFdOwotKyAgICAgIGFsaWduZWRfbGVuID0gKGtlcm5lbF9zdXBw b3J0c19hbnlfY29udGlndW91c19yYW5nZQotKwkJICAgICA/IGxlbiA6IGFsaWduZWRfbGVuX2Fy cmF5W29mZnNldCArIGxlbiAtIDFdKTsKLSAgICAgICBhZGRyICs9IGxlbjsKLSAgICAgICBsZW4g PSAwOwotICAgICB9Ci0gCi0gICBpZiAoYWxpZ25lZF9hZGRyX3ApCi0gICAgICphbGlnbmVkX2Fk ZHJfcCA9IGFsaWduZWRfYWRkcjsKLSsgIGlmIChhbGlnbmVkX29mZnNldF9wKQotKyAgICAqYWxp Z25lZF9vZmZzZXRfcCA9IGFsaWduZWRfb2Zmc2V0OwotICAgaWYgKGFsaWduZWRfbGVuX3ApCi0g ICAgICphbGlnbmVkX2xlbl9wID0gYWxpZ25lZF9sZW47Ci0gICBpZiAobmV4dF9hZGRyX3ApCi0g ICAgICpuZXh0X2FkZHJfcCA9IGFkZHI7Ci0gICBpZiAobmV4dF9sZW5fcCkKLSAgICAgKm5leHRf bGVuX3AgPSBsZW47Ci0rICBpZiAobmV4dF9hZGRyX29yaWdfcCkKLSsgICAgKm5leHRfYWRkcl9v cmlnX3AgPSBhbGlnbl9kb3duICgqbmV4dF9hZGRyX29yaWdfcCArIGFsaWdubWVudCwgYWxpZ25t ZW50KTsKLSB9Ci0gCi0gc3RydWN0IGFhcmNoNjRfZHJfdXBkYXRlX2NhbGxiYWNrX3BhcmFtCi1A QCAtMzI1LDE3ICszNjUsNzMgQEAgYWFyY2g2NF9ub3RpZnlfZGVidWdfcmVnX2NoYW5nZSAoY29u c3Qgc3RydWN0IGFhcmNoNjRfZGVidWdfcmVnX3N0YXRlICpzdGF0ZSwKLSAgIGl0ZXJhdGVfb3Zl cl9sd3BzIChwaWRfcHRpZCwgZGVidWdfcmVnX2NoYW5nZV9jYWxsYmFjaywgKHZvaWQgKikgJnBh cmFtKTsKLSB9Ci0gCi0rLyogUmVjb25maWd1cmUgU1RBVEUgdG8gYmUgY29tcGF0aWJsZSB3aXRo IExpbnV4IGtlcm5lbHMgd2l0aCB0aGUgUFIKLSsgICBleHRlcm5hbC8yMDIwNyBidWcuICBUaGlz IGlzIGNhbGxlZCB3aGVuCi0rICAgS0VSTkVMX1NVUFBPUlRTX0FOWV9DT05USUdVT1VTX1JBTkdF IHRyYW5zaXRpb25zIHRvIGZhbHNlLiAgTm90ZSB3ZQotKyAgIGRvbid0IHRyeSB0byBzdXBwb3J0 IGNvbWJpbmluZyB3YXRjaHBvaW50cyB3aXRoIG1hdGNoaW5nIChhbmQgdGh1cwotKyAgIHNoYXJl ZCkgbWFza3MsIGFzIGl0J3MgdG9vIGxhdGUgd2hlbiB3ZSBnZXQgaGVyZS4gIE9uIGJ1Z2d5Ci0r ICAga2VybmVscywgR0RCIHdpbGwgdHJ5IHRvIGZpcnN0IHNldHVwIHRoZSBwZXJmZWN0IG1hdGNo aW5nIHJhbmdlcywKLSsgICB3aGljaCB3aWxsIHJ1biBvdXQgb2YgcmVnaXN0ZXJzIGJlZm9yZSB0 aGlzIGZ1bmN0aW9uIGNhbiBtZXJnZQotKyAgIHRoZW0uICBJdCBkb2Vzbid0IGxvb2sgbGlrZSB3 b3J0aCB0aGUgZWZmb3J0IHRvIGltcHJvdmUgdGhhdCwgZ2l2ZW4KLSsgICBldmVudHVhbGx5IGJ1 Z2d5IGtlcm5lbHMgd2lsbCBiZSBwaGFzZWQgb3V0LiAgKi8KLSsKLStzdGF0aWMgdm9pZAotK2Fh cmNoNjRfZG93bmdyYWRlX3JlZ3MgKHN0cnVjdCBhYXJjaDY0X2RlYnVnX3JlZ19zdGF0ZSAqc3Rh dGUpCi0rewotKyAgZm9yIChpbnQgaSA9IDA7IGkgPCBhYXJjaDY0X251bV93cF9yZWdzOyArK2kp Ci0rICAgIGlmICgoc3RhdGUtPmRyX2N0cmxfd3BbaV0gJiAxKSAhPSAwKQotKyAgICAgIHsKLSsJ Z2RiX2Fzc2VydCAoc3RhdGUtPmRyX3JlZl9jb3VudF93cFtpXSAhPSAwKTsKLSsJdWludDhfdCBt YXNrX29yaWcgPSAoc3RhdGUtPmRyX2N0cmxfd3BbaV0gPj4gNSkgJiAweGZmOwotKwlnZGJfYXNz ZXJ0IChtYXNrX29yaWcgIT0gMCk7Ci0rCXN0YXRpYyBjb25zdCB1aW50OF90IG9sZF92YWxpZFtd ID0geyAweDAxLCAweDAzLCAweDBmLCAweGZmIH07Ci0rCXVpbnQ4X3QgbWFzayA9IDA7Ci0rCWZv ciAoY29uc3QgdWludDhfdCBvbGRfbWFzayA6IG9sZF92YWxpZCkKLSsJICBpZiAobWFza19vcmln IDw9IG9sZF9tYXNrKQotKwkgICAgewotKwkgICAgICBtYXNrID0gb2xkX21hc2s7Ci0rCSAgICAg IGJyZWFrOwotKwkgICAgfQotKwlnZGJfYXNzZXJ0IChtYXNrICE9IDApOwotKwotKwkvKiBObyB1 cGRhdGUgbmVlZGVkIGZvciB0aGlzIHdhdGNocG9pbnQ/ICAqLwotKwlpZiAobWFzayA9PSBtYXNr X29yaWcpCi0rCSAgY29udGludWU7Ci0rCXN0YXRlLT5kcl9jdHJsX3dwW2ldIHw9IG1hc2sgPDwg NTsKLSsJc3RhdGUtPmRyX2FkZHJfd3BbaV0KLSsJICA9IGFsaWduX2Rvd24gKHN0YXRlLT5kcl9h ZGRyX3dwW2ldLCBBQVJDSDY0X0hXUF9BTElHTk1FTlQpOwotKwotKwkvKiBUcnkgdG8gbWF0Y2gg ZHVwbGljYXRlIGVudHJpZXMuICAqLwotKwlmb3IgKGludCBqID0gMDsgaiA8IGk7ICsraikKLSsJ ICBpZiAoKHN0YXRlLT5kcl9jdHJsX3dwW2pdICYgMSkgIT0gMAotKwkgICAgICAmJiBzdGF0ZS0+ ZHJfYWRkcl93cFtqXSA9PSBzdGF0ZS0+ZHJfYWRkcl93cFtpXQotKwkgICAgICAmJiBzdGF0ZS0+ ZHJfYWRkcl9vcmlnX3dwW2pdID09IHN0YXRlLT5kcl9hZGRyX29yaWdfd3BbaV0KLSsJICAgICAg JiYgc3RhdGUtPmRyX2N0cmxfd3Bbal0gPT0gc3RhdGUtPmRyX2N0cmxfd3BbaV0pCi0rCSAgICB7 Ci0rCSAgICAgIHN0YXRlLT5kcl9yZWZfY291bnRfd3Bbal0gKz0gc3RhdGUtPmRyX3JlZl9jb3Vu dF93cFtpXTsKLSsJICAgICAgc3RhdGUtPmRyX3JlZl9jb3VudF93cFtpXSA9IDA7Ci0rCSAgICAg IHN0YXRlLT5kcl9hZGRyX3dwW2ldID0gMDsKLSsJICAgICAgc3RhdGUtPmRyX2FkZHJfb3JpZ193 cFtpXSA9IDA7Ci0rCSAgICAgIHN0YXRlLT5kcl9jdHJsX3dwW2ldICY9IH4xOwotKwkgICAgICBi cmVhazsKLSsJICAgIH0KLSsKLSsJYWFyY2g2NF9ub3RpZnlfZGVidWdfcmVnX2NoYW5nZSAoc3Rh dGUsIDEgLyogaXNfd2F0Y2hwb2ludCAqLywgaSk7Ci0rICAgICAgfQotK30KLSsKLSAvKiBSZWNv cmQgdGhlIGluc2VydGlvbiBvZiBvbmUgYnJlYWtwb2ludC93YXRjaHBvaW50LCBhcyByZXByZXNl bnRlZAotICAgIGJ5IEFERFIgYW5kIENUUkwsIGluIHRoZSBwcm9jZXNzJyBhcmNoLXNwZWNpZmlj IGRhdGEgYXJlYSAqU1RBVEUuICAqLwotIAotIHN0YXRpYyBpbnQKLSBhYXJjaDY0X2RyX3N0YXRl X2luc2VydF9vbmVfcG9pbnQgKHN0cnVjdCBhYXJjaDY0X2RlYnVnX3JlZ19zdGF0ZSAqc3RhdGUs Ci0gCQkJCSAgIGVudW0gdGFyZ2V0X2h3X2JwX3R5cGUgdHlwZSwKLS0JCQkJICAgQ09SRV9BRERS IGFkZHIsIGludCBsZW4pCi0rCQkJCSAgIENPUkVfQUREUiBhZGRyLCBpbnQgb2Zmc2V0LCBpbnQg bGVuLAotKwkJCQkgICBDT1JFX0FERFIgYWRkcl9vcmlnKQotIHsKLSAgIGludCBpLCBpZHgsIG51 bV9yZWdzLCBpc193YXRjaHBvaW50OwotICAgdW5zaWduZWQgaW50IGN0cmwsICpkcl9jdHJsX3As ICpkcl9yZWZfY291bnQ7Ci0tICBDT1JFX0FERFIgKmRyX2FkZHJfcDsKLSsgIENPUkVfQUREUiAq ZHJfYWRkcl9wLCAqZHJfYWRkcl9vcmlnX3A7Ci0gCi0gICAvKiBTZXQgdXAgc3RhdGUgcG9pbnRl cnMuICAqLwotICAgaXNfd2F0Y2hwb2ludCA9ICh0eXBlICE9IGh3X2V4ZWN1dGUpOwotQEAgLTM0 NCw2ICs0NDAsNyBAQCBhYXJjaDY0X2RyX3N0YXRlX2luc2VydF9vbmVfcG9pbnQgKHN0cnVjdCBh YXJjaDY0X2RlYnVnX3JlZ19zdGF0ZSAqc3RhdGUsCi0gICAgIHsKLSAgICAgICBudW1fcmVncyA9 IGFhcmNoNjRfbnVtX3dwX3JlZ3M7Ci0gICAgICAgZHJfYWRkcl9wID0gc3RhdGUtPmRyX2FkZHJf d3A7Ci0rICAgICAgZHJfYWRkcl9vcmlnX3AgPSBzdGF0ZS0+ZHJfYWRkcl9vcmlnX3dwOwotICAg ICAgIGRyX2N0cmxfcCA9IHN0YXRlLT5kcl9jdHJsX3dwOwotICAgICAgIGRyX3JlZl9jb3VudCA9 IHN0YXRlLT5kcl9yZWZfY291bnRfd3A7Ci0gICAgIH0KLUBAIC0zNTEsMTEgKzQ0OCwxMiBAQCBh YXJjaDY0X2RyX3N0YXRlX2luc2VydF9vbmVfcG9pbnQgKHN0cnVjdCBhYXJjaDY0X2RlYnVnX3Jl Z19zdGF0ZSAqc3RhdGUsCi0gICAgIHsKLSAgICAgICBudW1fcmVncyA9IGFhcmNoNjRfbnVtX2Jw X3JlZ3M7Ci0gICAgICAgZHJfYWRkcl9wID0gc3RhdGUtPmRyX2FkZHJfYnA7Ci0rICAgICAgZHJf YWRkcl9vcmlnX3AgPSBudWxscHRyOwotICAgICAgIGRyX2N0cmxfcCA9IHN0YXRlLT5kcl9jdHJs X2JwOwotICAgICAgIGRyX3JlZl9jb3VudCA9IHN0YXRlLT5kcl9yZWZfY291bnRfYnA7Ci0gICAg IH0KLSAKLS0gIGN0cmwgPSBhYXJjaDY0X3BvaW50X2VuY29kZV9jdHJsX3JlZyAodHlwZSwgbGVu KTsKLSsgIGN0cmwgPSBhYXJjaDY0X3BvaW50X2VuY29kZV9jdHJsX3JlZyAodHlwZSwgb2Zmc2V0 LCBsZW4pOwotIAotICAgLyogRmluZCBhbiBleGlzdGluZyBvciBmcmVlIHJlZ2lzdGVyIGluIG91 ciBjYWNoZS4gICovCi0gICBpZHggPSAtMTsKLUBAIC0zNjcsNyArNDY1LDkgQEAgYWFyY2g2NF9k cl9zdGF0ZV9pbnNlcnRfb25lX3BvaW50IChzdHJ1Y3QgYWFyY2g2NF9kZWJ1Z19yZWdfc3RhdGUg KnN0YXRlLAotIAkgIGlkeCA9IGk7Ci0gCSAgLyogbm8gYnJlYWs7IGNvbnRpbnVlIGh1bnRpbmcg Zm9yIGFuIGV4aXNpbmcgb25lLiAgKi8KLSAJfQotLSAgICAgIGVsc2UgaWYgKGRyX2FkZHJfcFtp XSA9PSBhZGRyICYmIGRyX2N0cmxfcFtpXSA9PSBjdHJsKQotKyAgICAgIGVsc2UgaWYgKGRyX2Fk ZHJfcFtpXSA9PSBhZGRyCi0rCSAgICAgICAmJiAoZHJfYWRkcl9vcmlnX3AgPT0gbnVsbHB0ciB8 fCBkcl9hZGRyX29yaWdfcFtpXSA9PSBhZGRyX29yaWcpCi0rCSAgICAgICAmJiBkcl9jdHJsX3Bb aV0gPT0gY3RybCkKLSAJewotIAkgIGdkYl9hc3NlcnQgKGRyX3JlZl9jb3VudFtpXSAhPSAwKTsK LSAJICBpZHggPSBpOwotQEAgLTM4NCw2ICs0ODQsOCBAQCBhYXJjaDY0X2RyX3N0YXRlX2luc2Vy dF9vbmVfcG9pbnQgKHN0cnVjdCBhYXJjaDY0X2RlYnVnX3JlZ19zdGF0ZSAqc3RhdGUsCi0gICAg IHsKLSAgICAgICAvKiBuZXcgZW50cnkgKi8KLSAgICAgICBkcl9hZGRyX3BbaWR4XSA9IGFkZHI7 Ci0rICAgICAgaWYgKGRyX2FkZHJfb3JpZ19wICE9IG51bGxwdHIpCi0rCWRyX2FkZHJfb3JpZ19w W2lkeF0gPSBhZGRyX29yaWc7Ci0gICAgICAgZHJfY3RybF9wW2lkeF0gPSBjdHJsOwotICAgICAg IGRyX3JlZl9jb3VudFtpZHhdID0gMTsKLSAgICAgICAvKiBOb3RpZnkgdGhlIGNoYW5nZS4gICov Ci1AQCAtNDA0LDExICs1MDYsMTIgQEAgYWFyY2g2NF9kcl9zdGF0ZV9pbnNlcnRfb25lX3BvaW50 IChzdHJ1Y3QgYWFyY2g2NF9kZWJ1Z19yZWdfc3RhdGUgKnN0YXRlLAotIHN0YXRpYyBpbnQKLSBh YXJjaDY0X2RyX3N0YXRlX3JlbW92ZV9vbmVfcG9pbnQgKHN0cnVjdCBhYXJjaDY0X2RlYnVnX3Jl Z19zdGF0ZSAqc3RhdGUsCi0gCQkJCSAgIGVudW0gdGFyZ2V0X2h3X2JwX3R5cGUgdHlwZSwKLS0J CQkJICAgQ09SRV9BRERSIGFkZHIsIGludCBsZW4pCi0rCQkJCSAgIENPUkVfQUREUiBhZGRyLCBp bnQgb2Zmc2V0LCBpbnQgbGVuLAotKwkJCQkgICBDT1JFX0FERFIgYWRkcl9vcmlnKQotIHsKLSAg IGludCBpLCBudW1fcmVncywgaXNfd2F0Y2hwb2ludDsKLSAgIHVuc2lnbmVkIGludCBjdHJsLCAq ZHJfY3RybF9wLCAqZHJfcmVmX2NvdW50OwotLSAgQ09SRV9BRERSICpkcl9hZGRyX3A7Ci0rICBD T1JFX0FERFIgKmRyX2FkZHJfcCwgKmRyX2FkZHJfb3JpZ19wOwotIAotICAgLyogU2V0IHVwIHN0 YXRlIHBvaW50ZXJzLiAgKi8KLSAgIGlzX3dhdGNocG9pbnQgPSAodHlwZSAhPSBod19leGVjdXRl KTsKLUBAIC00MTYsNiArNTE5LDcgQEAgYWFyY2g2NF9kcl9zdGF0ZV9yZW1vdmVfb25lX3BvaW50 IChzdHJ1Y3QgYWFyY2g2NF9kZWJ1Z19yZWdfc3RhdGUgKnN0YXRlLAotICAgICB7Ci0gICAgICAg bnVtX3JlZ3MgPSBhYXJjaDY0X251bV93cF9yZWdzOwotICAgICAgIGRyX2FkZHJfcCA9IHN0YXRl LT5kcl9hZGRyX3dwOwotKyAgICAgIGRyX2FkZHJfb3JpZ19wID0gc3RhdGUtPmRyX2FkZHJfb3Jp Z193cDsKLSAgICAgICBkcl9jdHJsX3AgPSBzdGF0ZS0+ZHJfY3RybF93cDsKLSAgICAgICBkcl9y ZWZfY291bnQgPSBzdGF0ZS0+ZHJfcmVmX2NvdW50X3dwOwotICAgICB9Ci1AQCAtNDIzLDE1ICs1 MjcsMTggQEAgYWFyY2g2NF9kcl9zdGF0ZV9yZW1vdmVfb25lX3BvaW50IChzdHJ1Y3QgYWFyY2g2 NF9kZWJ1Z19yZWdfc3RhdGUgKnN0YXRlLAotICAgICB7Ci0gICAgICAgbnVtX3JlZ3MgPSBhYXJj aDY0X251bV9icF9yZWdzOwotICAgICAgIGRyX2FkZHJfcCA9IHN0YXRlLT5kcl9hZGRyX2JwOwot KyAgICAgIGRyX2FkZHJfb3JpZ19wID0gbnVsbHB0cjsKLSAgICAgICBkcl9jdHJsX3AgPSBzdGF0 ZS0+ZHJfY3RybF9icDsKLSAgICAgICBkcl9yZWZfY291bnQgPSBzdGF0ZS0+ZHJfcmVmX2NvdW50 X2JwOwotICAgICB9Ci0gCi0tICBjdHJsID0gYWFyY2g2NF9wb2ludF9lbmNvZGVfY3RybF9yZWcg KHR5cGUsIGxlbik7Ci0rICBjdHJsID0gYWFyY2g2NF9wb2ludF9lbmNvZGVfY3RybF9yZWcgKHR5 cGUsIG9mZnNldCwgbGVuKTsKLSAKLSAgIC8qIEZpbmQgdGhlIGVudHJ5IHRoYXQgbWF0Y2hlcyB0 aGUgQUREUiBhbmQgQ1RSTC4gICovCi0gICBmb3IgKGkgPSAwOyBpIDwgbnVtX3JlZ3M7ICsraSkK LS0gICAgaWYgKGRyX2FkZHJfcFtpXSA9PSBhZGRyICYmIGRyX2N0cmxfcFtpXSA9PSBjdHJsKQot KyAgICBpZiAoZHJfYWRkcl9wW2ldID09IGFkZHIKLSsJJiYgKGRyX2FkZHJfb3JpZ19wID09IG51 bGxwdHIgfHwgZHJfYWRkcl9vcmlnX3BbaV0gPT0gYWRkcl9vcmlnKQotKwkmJiBkcl9jdHJsX3Bb aV0gPT0gY3RybCkKLSAgICAgICB7Ci0gCWdkYl9hc3NlcnQgKGRyX3JlZl9jb3VudFtpXSAhPSAw KTsKLSAJYnJlYWs7Ci1AQCAtNDQ3LDYgKzU1NCw4IEBAIGFhcmNoNjRfZHJfc3RhdGVfcmVtb3Zl X29uZV9wb2ludCAoc3RydWN0IGFhcmNoNjRfZGVidWdfcmVnX3N0YXRlICpzdGF0ZSwKLSAgICAg ICAvKiBDbGVhciB0aGUgZW5hYmxlIGJpdC4gICovCi0gICAgICAgY3RybCAmPSB+MTsKLSAgICAg ICBkcl9hZGRyX3BbaV0gPSAwOwotKyAgICAgIGlmIChkcl9hZGRyX29yaWdfcCAhPSBudWxscHRy KQotKwlkcl9hZGRyX29yaWdfcFtpXSA9IDA7Ci0gICAgICAgZHJfY3RybF9wW2ldID0gY3RybDsK LSAgICAgICAvKiBOb3RpZnkgdGhlIGNoYW5nZS4gICovCi0gICAgICAgYWFyY2g2NF9ub3RpZnlf ZGVidWdfcmVnX2NoYW5nZSAoc3RhdGUsIGlzX3dhdGNocG9pbnQsIGkpOwotQEAgLTQ3MywxMCAr NTgyLDEwIEBAIGFhcmNoNjRfaGFuZGxlX2JyZWFrcG9pbnQgKGVudW0gdGFyZ2V0X2h3X2JwX3R5 cGUgdHlwZSwgQ09SRV9BRERSIGFkZHIsCi0gICAgICAgaWYgKCFhYXJjaDY0X3BvaW50X2lzX2Fs aWduZWQgKDAgLyogaXNfd2F0Y2hwb2ludCAqLyAsIGFkZHIsIGxlbikpCi0gCXJldHVybiAtMTsK LSAKLS0gICAgICByZXR1cm4gYWFyY2g2NF9kcl9zdGF0ZV9pbnNlcnRfb25lX3BvaW50IChzdGF0 ZSwgdHlwZSwgYWRkciwgbGVuKTsKLSsgICAgICByZXR1cm4gYWFyY2g2NF9kcl9zdGF0ZV9pbnNl cnRfb25lX3BvaW50IChzdGF0ZSwgdHlwZSwgYWRkciwgMCwgbGVuLCAtMSk7Ci0gICAgIH0KLSAg IGVsc2UKLS0gICAgcmV0dXJuIGFhcmNoNjRfZHJfc3RhdGVfcmVtb3ZlX29uZV9wb2ludCAoc3Rh dGUsIHR5cGUsIGFkZHIsIGxlbik7Ci0rICAgIHJldHVybiBhYXJjaDY0X2RyX3N0YXRlX3JlbW92 ZV9vbmVfcG9pbnQgKHN0YXRlLCB0eXBlLCBhZGRyLCAwLCBsZW4sIC0xKTsKLSB9Ci0gCi0gLyog VGhpcyBpcyBlc3NlbnRpYWxseSB0aGUgc2FtZSBhcyBhYXJjaDY0X2hhbmRsZV9icmVha3BvaW50 LCBhcGFydAotQEAgLTQ4OCw5ICs1OTcsOSBAQCBhYXJjaDY0X2hhbmRsZV9hbGlnbmVkX3dhdGNo cG9pbnQgKGVudW0gdGFyZ2V0X2h3X2JwX3R5cGUgdHlwZSwKLSAJCQkJICAgc3RydWN0IGFhcmNo NjRfZGVidWdfcmVnX3N0YXRlICpzdGF0ZSkKLSB7Ci0gICBpZiAoaXNfaW5zZXJ0KQotLSAgICBy ZXR1cm4gYWFyY2g2NF9kcl9zdGF0ZV9pbnNlcnRfb25lX3BvaW50IChzdGF0ZSwgdHlwZSwgYWRk ciwgbGVuKTsKLSsgICAgcmV0dXJuIGFhcmNoNjRfZHJfc3RhdGVfaW5zZXJ0X29uZV9wb2ludCAo c3RhdGUsIHR5cGUsIGFkZHIsIDAsIGxlbiwgYWRkcik7Ci0gICBlbHNlCi0tICAgIHJldHVybiBh YXJjaDY0X2RyX3N0YXRlX3JlbW92ZV9vbmVfcG9pbnQgKHN0YXRlLCB0eXBlLCBhZGRyLCBsZW4p OwotKyAgICByZXR1cm4gYWFyY2g2NF9kcl9zdGF0ZV9yZW1vdmVfb25lX3BvaW50IChzdGF0ZSwg dHlwZSwgYWRkciwgMCwgbGVuLCBhZGRyKTsKLSB9Ci0gCi0gLyogSW5zZXJ0L3JlbW92ZSB1bmFs aWduZWQgd2F0Y2hwb2ludCBieSBjYWxsaW5nCi1AQCAtNTAyLDMyICs2MTEsNDUgQEAgYWFyY2g2 NF9oYW5kbGVfYWxpZ25lZF93YXRjaHBvaW50IChlbnVtIHRhcmdldF9od19icF90eXBlIHR5cGUs Ci0gCi0gc3RhdGljIGludAotIGFhcmNoNjRfaGFuZGxlX3VuYWxpZ25lZF93YXRjaHBvaW50IChl bnVtIHRhcmdldF9od19icF90eXBlIHR5cGUsCi0tCQkJCSAgICAgQ09SRV9BRERSIGFkZHIsIExP TkdFU1QgbGVuLCBpbnQgaXNfaW5zZXJ0LAotKwkJCQkgICAgIENPUkVfQUREUiBhZGRyLCBpbnQg bGVuLCBpbnQgaXNfaW5zZXJ0LAotIAkJCQkgICAgIHN0cnVjdCBhYXJjaDY0X2RlYnVnX3JlZ19z dGF0ZSAqc3RhdGUpCi0gewotKyAgQ09SRV9BRERSIGFkZHJfb3JpZyA9IGFkZHI7Ci0rCi0gICB3 aGlsZSAobGVuID4gMCkKLSAgICAgewotICAgICAgIENPUkVfQUREUiBhbGlnbmVkX2FkZHI7Ci0t ICAgICAgaW50IGFsaWduZWRfbGVuLCByZXQ7Ci0rICAgICAgaW50IGFsaWduZWRfb2Zmc2V0LCBh bGlnbmVkX2xlbiwgcmV0OwotKyAgICAgIENPUkVfQUREUiBhZGRyX29yaWdfbmV4dCA9IGFkZHJf b3JpZzsKLSAKLS0gICAgICBhYXJjaDY0X2FsaWduX3dhdGNocG9pbnQgKGFkZHIsIGxlbiwgJmFs aWduZWRfYWRkciwgJmFsaWduZWRfbGVuLAotLQkJCQkmYWRkciwgJmxlbik7Ci0rICAgICAgYWFy Y2g2NF9hbGlnbl93YXRjaHBvaW50IChhZGRyLCBsZW4sICZhbGlnbmVkX2FkZHIsICZhbGlnbmVk X29mZnNldCwKLSsJCQkJJmFsaWduZWRfbGVuLCAmYWRkciwgJmxlbiwgJmFkZHJfb3JpZ19uZXh0 KTsKLSAKLSAgICAgICBpZiAoaXNfaW5zZXJ0KQotIAlyZXQgPSBhYXJjaDY0X2RyX3N0YXRlX2lu c2VydF9vbmVfcG9pbnQgKHN0YXRlLCB0eXBlLCBhbGlnbmVkX2FkZHIsCi0tCQkJCQkJIGFsaWdu ZWRfbGVuKTsKLSsJCQkJCQkgYWxpZ25lZF9vZmZzZXQsCi0rCQkJCQkJIGFsaWduZWRfbGVuLCBh ZGRyX29yaWcpOwotICAgICAgIGVsc2UKLSAJcmV0ID0gYWFyY2g2NF9kcl9zdGF0ZV9yZW1vdmVf b25lX3BvaW50IChzdGF0ZSwgdHlwZSwgYWxpZ25lZF9hZGRyLAotLQkJCQkJCSBhbGlnbmVkX2xl bik7Ci0rCQkJCQkJIGFsaWduZWRfb2Zmc2V0LAotKwkJCQkJCSBhbGlnbmVkX2xlbiwgYWRkcl9v cmlnKTsKLSAKLSAgICAgICBpZiAoc2hvd19kZWJ1Z19yZWdzKQotIAlkZWJ1Z19wcmludGYgKCJo YW5kbGVfdW5hbGlnbmVkX3dhdGNocG9pbnQ6IGlzX2luc2VydDogJWRcbiIKLSAJCSAgICAgICIg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICIKLSAJCSAgICAgICJhbGlnbmVkX2FkZHI6ICVz LCBhbGlnbmVkX2xlbjogJWRcbiIKLSAJCSAgICAgICIgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICIKLS0JCSAgICAgICJuZXh0X2FkZHI6ICVzLCAgICBuZXh0X2xlbjogJXNcbiIsCi0r CQkgICAgICAiYWRkcl9vcmlnOiAlc1xuIgotKwkJICAgICAgIiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIgotKwkJICAgICAgIm5leHRfYWRkcjogJXMsICAgIG5leHRfbGVuOiAlZFxu IgotKwkJICAgICAgIiAgICAgICAgICAgICAgICAgICAgICAgICAgICIKLSsJCSAgICAgICJhZGRy X29yaWdfbmV4dDogJXNcbiIsCi0gCQkgICAgICBpc19pbnNlcnQsIGNvcmVfYWRkcl90b19zdHJp bmdfbnogKGFsaWduZWRfYWRkciksCi0tCQkgICAgICBhbGlnbmVkX2xlbiwgY29yZV9hZGRyX3Rv X3N0cmluZ19ueiAoYWRkciksIHBsb25nZXN0IChsZW4pKTsKLSsJCSAgICAgIGFsaWduZWRfbGVu LCBjb3JlX2FkZHJfdG9fc3RyaW5nX256IChhZGRyX29yaWcpLAotKwkJICAgICAgY29yZV9hZGRy X3RvX3N0cmluZ19ueiAoYWRkciksIGxlbiwKLSsJCSAgICAgIGNvcmVfYWRkcl90b19zdHJpbmdf bnogKGFkZHJfb3JpZ19uZXh0KSk7Ci0rCi0rICAgICAgYWRkcl9vcmlnID0gYWRkcl9vcmlnX25l eHQ7Ci0gCi0gICAgICAgaWYgKHJldCAhPSAwKQotIAlyZXR1cm4gcmV0OwotQEAgLTU1Myw3ICs2 NzUsNyBAQCBhYXJjaDY0X2hhbmRsZV93YXRjaHBvaW50IChlbnVtIHRhcmdldF9od19icF90eXBl IHR5cGUsIENPUkVfQUREUiBhZGRyLAotICAgIHJlZ2lzdGVycyB3aXRoIGRhdGEgZnJvbSAqU1RB VEUuICAqLwotIAotIHZvaWQKLS1hYXJjaDY0X2xpbnV4X3NldF9kZWJ1Z19yZWdzIChjb25zdCBz dHJ1Y3QgYWFyY2g2NF9kZWJ1Z19yZWdfc3RhdGUgKnN0YXRlLAotK2FhcmNoNjRfbGludXhfc2V0 X2RlYnVnX3JlZ3MgKHN0cnVjdCBhYXJjaDY0X2RlYnVnX3JlZ19zdGF0ZSAqc3RhdGUsCi0gCQkJ ICAgICAgaW50IHRpZCwgaW50IHdhdGNocG9pbnQpCi0gewotICAgaW50IGksIGNvdW50OwotQEAg LTU4MSw3ICs3MDMsMTggQEAgYWFyY2g2NF9saW51eF9zZXRfZGVidWdfcmVncyAoY29uc3Qgc3Ry dWN0IGFhcmNoNjRfZGVidWdfcmVnX3N0YXRlICpzdGF0ZSwKLSAgIGlmIChwdHJhY2UgKFBUUkFD RV9TRVRSRUdTRVQsIHRpZCwKLSAJICAgICAgd2F0Y2hwb2ludCA/IE5UX0FSTV9IV19XQVRDSCA6 IE5UX0FSTV9IV19CUkVBSywKLSAJICAgICAgKHZvaWQgKikgJmlvdikpCi0tICAgIGVycm9yIChf KCJVbmV4cGVjdGVkIGVycm9yIHNldHRpbmcgaGFyZHdhcmUgZGVidWcgcmVnaXN0ZXJzIikpOwot KyAgICB7Ci0rICAgICAgLyogSGFuZGxlIExpbnV4IGtlcm5lbHMgd2l0aCB0aGUgUFIgZXh0ZXJu YWwvMjAyMDcgYnVnLiAgKi8KLSsgICAgICBpZiAod2F0Y2hwb2ludCAmJiBlcnJubyA9PSBFSU5W QUwKLSsJICAmJiBrZXJuZWxfc3VwcG9ydHNfYW55X2NvbnRpZ3VvdXNfcmFuZ2UpCi0rCXsKLSsJ ICBrZXJuZWxfc3VwcG9ydHNfYW55X2NvbnRpZ3VvdXNfcmFuZ2UgPSBmYWxzZTsKLSsJICBhYXJj aDY0X2Rvd25ncmFkZV9yZWdzIChzdGF0ZSk7Ci0rCSAgYWFyY2g2NF9saW51eF9zZXRfZGVidWdf cmVncyAoc3RhdGUsIHRpZCwgd2F0Y2hwb2ludCk7Ci0rCSAgcmV0dXJuOwotKwl9Ci0rICAgICAg ZXJyb3IgKF8oIlVuZXhwZWN0ZWQgZXJyb3Igc2V0dGluZyBoYXJkd2FyZSBkZWJ1ZyByZWdpc3Rl cnMiKSk7Ci0rICAgIH0KLSB9Ci0gCi0gLyogUHJpbnQgdGhlIHZhbHVlcyBvZiB0aGUgY2FjaGVk IGJyZWFrcG9pbnQvd2F0Y2hwb2ludCByZWdpc3RlcnMuICAqLwotQEAgLTYxMiw4ICs3NDUsOSBA QCBhYXJjaDY0X3Nob3dfZGVidWdfcmVnX3N0YXRlIChzdHJ1Y3QgYWFyY2g2NF9kZWJ1Z19yZWdf c3RhdGUgKnN0YXRlLAotIAotICAgZGVidWdfcHJpbnRmICgiXHRXQVRDSFBPSU5UczpcbiIpOwot ICAgZm9yIChpID0gMDsgaSA8IGFhcmNoNjRfbnVtX3dwX3JlZ3M7IGkrKykKLS0gICAgZGVidWdf cHJpbnRmICgiXHRXUCVkOiBhZGRyPSVzLCBjdHJsPTB4JTA4eCwgcmVmLmNvdW50PSVkXG4iLAot KyAgICBkZWJ1Z19wcmludGYgKCJcdFdQJWQ6IGFkZHI9JXMgKG9yaWc9JXMpLCBjdHJsPTB4JTA4 eCwgcmVmLmNvdW50PSVkXG4iLAotIAkJICBpLCBjb3JlX2FkZHJfdG9fc3RyaW5nX256IChzdGF0 ZS0+ZHJfYWRkcl93cFtpXSksCi0rCQkgIGNvcmVfYWRkcl90b19zdHJpbmdfbnogKHN0YXRlLT5k cl9hZGRyX29yaWdfd3BbaV0pLAotIAkJICBzdGF0ZS0+ZHJfY3RybF93cFtpXSwgc3RhdGUtPmRy X3JlZl9jb3VudF93cFtpXSk7Ci0gfQotIAotZGlmZiAtLWdpdCBhL2dkYi9uYXQvYWFyY2g2NC1s aW51eC1ody1wb2ludC5oIGIvZ2RiL25hdC9hYXJjaDY0LWxpbnV4LWh3LXBvaW50LmgKLWluZGV4 IGUxZDRmYzhkYmMuLmI1YmE2NDE1YzAgMTAwNjQ0Ci0tLS0gYS9nZGIvbmF0L2FhcmNoNjQtbGlu dXgtaHctcG9pbnQuaAotKysrIGIvZ2RiL25hdC9hYXJjaDY0LWxpbnV4LWh3LXBvaW50LmgKLUBA IC03NywxMyArNzcsMTMgQEAKLSAKLSAgICAzMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg MTMgICAgICAgICAgNSAgICAgIDMgICAgICAxICAgICAwCi0gICAgKy0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0tKy0tLS0tLSstLS0tKwotLSAgIHwgICAg ICAgICBSRVNFUlZFRCAoU0JaKSAgICAgICAgIHwgIExFTkdUSCAgfCBUWVBFIHwgUFJJViB8IEVO IHwKLSsgICB8ICAgICAgICAgUkVTRVJWRUQgKFNCWikgICAgICAgICB8ICAgTUFTSyAgIHwgVFlQ RSB8IFBSSVYgfCBFTiB8Ci0gICAgKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0t LS0tLS0tLS0rLS0tLS0tKy0tLS0tLSstLS0tKwotIAotICAgIFRoZSBUWVBFIGZpZWxkIGlzIGln bm9yZWQgZm9yIGJyZWFrcG9pbnRzLiAgKi8KLSAKLSAjZGVmaW5lIERSX0NPTlRST0xfRU5BQkxF RChjdHJsKQkoKChjdHJsKSAmIDB4MSkgPT0gMSkKLS0jZGVmaW5lIERSX0NPTlRST0xfTEVOR1RI KGN0cmwpCQkoKChjdHJsKSA+PiA1KSAmIDB4ZmYpCi0rI2RlZmluZSBEUl9DT05UUk9MX01BU0so Y3RybCkJCSgoKGN0cmwpID4+IDUpICYgMHhmZikKLSAKLSAvKiBFYWNoIGJpdCBvZiBhIHZhcmlh YmxlIG9mIHRoaXMgdHlwZSBpcyB1c2VkIHRvIGluZGljYXRlIHdoZXRoZXIgYQotICAgIGhhcmR3 YXJlIGJyZWFrcG9pbnQgb3Igd2F0Y2hwb2ludCBzZXR0aW5nIGhhcyBiZWVuIGNoYW5nZWQgc2lu Y2UKLUBAIC0xNDcsNyArMTQ3LDEwIEBAIHN0cnVjdCBhYXJjaDY0X2RlYnVnX3JlZ19zdGF0ZQot ICAgdW5zaWduZWQgaW50IGRyX3JlZl9jb3VudF9icFtBQVJDSDY0X0hCUF9NQVhfTlVNXTsKLSAK LSAgIC8qIGhhcmR3YXJlIHdhdGNocG9pbnQgKi8KLSsgIC8qIEFkZHJlc3MgYWxpZ25lZCBkb3du IHRvIEFBUkNINjRfSFdQX0FMSUdOTUVOVC4gICovCi0gICBDT1JFX0FERFIgZHJfYWRkcl93cFtB QVJDSDY0X0hXUF9NQVhfTlVNXTsKLSsgIC8qIEFkZHJlc3MgYXMgZW50ZXJlZCBieSB1c2VyIHdp dGhvdXQgYW55IGZvcmNlZCBhbGlnbm1lbnQuICAqLwotKyAgQ09SRV9BRERSIGRyX2FkZHJfb3Jp Z193cFtBQVJDSDY0X0hXUF9NQVhfTlVNXTsKLSAgIHVuc2lnbmVkIGludCBkcl9jdHJsX3dwW0FB UkNINjRfSFdQX01BWF9OVU1dOwotICAgdW5zaWduZWQgaW50IGRyX3JlZl9jb3VudF93cFtBQVJD SDY0X0hXUF9NQVhfTlVNXTsKLSB9OwotQEAgLTE2Niw2ICsxNjksNyBAQCBzdHJ1Y3QgYXJjaF9s d3BfaW5mbwotIGV4dGVybiBpbnQgYWFyY2g2NF9udW1fYnBfcmVnczsKLSBleHRlcm4gaW50IGFh cmNoNjRfbnVtX3dwX3JlZ3M7Ci0gCi0rdW5zaWduZWQgaW50IGFhcmNoNjRfd2F0Y2hwb2ludF9v ZmZzZXQgKHVuc2lnbmVkIGludCBjdHJsKTsKLSB1bnNpZ25lZCBpbnQgYWFyY2g2NF93YXRjaHBv aW50X2xlbmd0aCAodW5zaWduZWQgaW50IGN0cmwpOwotIAotIGludCBhYXJjaDY0X2hhbmRsZV9i cmVha3BvaW50IChlbnVtIHRhcmdldF9od19icF90eXBlIHR5cGUsIENPUkVfQUREUiBhZGRyLAot QEAgLTE3NSw3ICsxNzksNyBAQCBpbnQgYWFyY2g2NF9oYW5kbGVfd2F0Y2hwb2ludCAoZW51bSB0 YXJnZXRfaHdfYnBfdHlwZSB0eXBlLCBDT1JFX0FERFIgYWRkciwKLSAJCQkgICAgICAgTE9OR0VT VCBsZW4sIGludCBpc19pbnNlcnQsCi0gCQkJICAgICAgIHN0cnVjdCBhYXJjaDY0X2RlYnVnX3Jl Z19zdGF0ZSAqc3RhdGUpOwotIAotLXZvaWQgYWFyY2g2NF9saW51eF9zZXRfZGVidWdfcmVncyAo Y29uc3Qgc3RydWN0IGFhcmNoNjRfZGVidWdfcmVnX3N0YXRlICpzdGF0ZSwKLSt2b2lkIGFhcmNo NjRfbGludXhfc2V0X2RlYnVnX3JlZ3MgKHN0cnVjdCBhYXJjaDY0X2RlYnVnX3JlZ19zdGF0ZSAq c3RhdGUsCi0gCQkJCSAgIGludCB0aWQsIGludCB3YXRjaHBvaW50KTsKLSAKLSB2b2lkIGFhcmNo NjRfc2hvd19kZWJ1Z19yZWdfc3RhdGUgKHN0cnVjdCBhYXJjaDY0X2RlYnVnX3JlZ19zdGF0ZSAq c3RhdGUsCi1kaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS93YXRjaHBvaW50LXVu YWxpZ25lZC5jIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS93YXRjaHBvaW50LXVuYWxpZ25lZC5j Ci1uZXcgZmlsZSBtb2RlIDEwMDY0NAotLS0tIC9kZXYvbnVsbAotKysrIGIvZ2RiL3Rlc3RzdWl0 ZS9nZGIuYmFzZS93YXRjaHBvaW50LXVuYWxpZ25lZC5jCi1AQCAtMCwwICsxLDk2IEBACi0rLyog VGhpcyB0ZXN0Y2FzZSBpcyBwYXJ0IG9mIEdEQiwgdGhlIEdOVSBkZWJ1Z2dlci4KLSsKLSsgICBD b3B5cmlnaHQgMjAxNy0yMDE4IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgotKwotKyAg IFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBh bmQvb3IgbW9kaWZ5Ci0rICAgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQ dWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKLSsgICB0aGUgRnJlZSBTb2Z0d2FyZSBGb3Vu ZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvcgotKyAgIChhdCB5b3Vy IG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCi0rCi0rICAgVGhpcyBwcm9ncmFtIGlzIGRpc3Ry aWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCi0rICAgYnV0IFdJVEhP VVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKLSsg ICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBT ZWUgdGhlCi0rICAgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4K LSsKLSsgICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJh bCBQdWJsaWMgTGljZW5zZQotKyAgIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiAgSWYgbm90LCBz ZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LiAgKi8KLSsKLSsjaW5jbHVkZSA8c3Rk aW50Lmg+Ci0rI2luY2x1ZGUgPGFzc2VydC5oPgotKwotK3N0YXRpYyBpbnQgYWdhaW47Ci0rCi0r c3RhdGljIHZvbGF0aWxlIHN0cnVjdAotK3sKLSsgIHVpbnQ2NF90IGFsaWdubWVudDsKLSsgIHVu aW9uCi0rICAgIHsKLSsgICAgICB1aW50NjRfdCBzaXplOFsxXTsKLSsgICAgICB1aW50MzJfdCBz aXplNFsyXTsKLSsgICAgICB1aW50MTZfdCBzaXplMls0XTsKLSsgICAgICB1aW50OF90IHNpemUx WzhdOwotKyAgICAgIHVpbnQ2NF90IHNpemU4dHdpY2VbMl07Ci0rICAgIH0KLSsgIHU7Ci0rfSBk YXRhOwotKwotK3N0YXRpYyBpbnQgc2l6ZSA9IDA7Ci0rc3RhdGljIGludCBvZmZzZXQ7Ci0rCi0r c3RhdGljIHZvaWQKLSt3cml0ZV9zaXplOHR3aWNlICh2b2lkKQotK3sKLSsgIHN0YXRpYyBjb25z dCB1aW50NjRfdCBmaXJzdCA9IDE7Ci0rICBzdGF0aWMgY29uc3QgdWludDY0X3Qgc2Vjb25kID0g MjsKLSsKLSsjaWZkZWYgX19hYXJjaDY0X18KLSsgIGFzbSB2b2xhdGlsZSAoInN0cCAlMSwgJTIs IFslMF0iCi0rCQk6IC8qIG91dHB1dCAqLwotKwkJOiAiciIgKGRhdGEudS5zaXplOHR3aWNlKSwg InIiIChmaXJzdCksICJyIiAoc2Vjb25kKSAvKiBpbnB1dCAqLwotKwkJOiAibWVtb3J5IiAvKiBj bG9iYmVyICovKTsKLSsjZWxzZQotKyAgZGF0YS51LnNpemU4dHdpY2VbMF0gPSBmaXJzdDsKLSsg IGRhdGEudS5zaXplOHR3aWNlWzFdID0gc2Vjb25kOwotKyNlbmRpZgotK30KLSsKLStpbnQKLStt YWluICh2b2lkKQotK3sKLSsgIHZvbGF0aWxlIHVpbnQ2NF90IGxvY2FsOwotKwotKyAgYXNzZXJ0 IChzaXplb2YgKGRhdGEpID09IDggKyAyICogOCk7Ci0rCi0rICB3cml0ZV9zaXplOHR3aWNlICgp OwotKwotKyAgd2hpbGUgKHNpemUpCi0rICAgIHsKLSsgICAgICBzd2l0Y2ggKHNpemUpCi0rCXsK LSsvKiBfX3MzOTB4X18gYWxzbyBkZWZpbmVzIF9fczM5MF9fICovCi0rI2lmZGVmIF9fczM5MF9f Ci0rIyBkZWZpbmUgQUNDRVNTKHZhcikgdmFyID0gfnZhcgotKyNlbHNlCi0rIyBkZWZpbmUgQUND RVNTKHZhcikgbG9jYWwgPSB2YXIKLSsjZW5kaWYKLSsJY2FzZSA4OgotKwkgIEFDQ0VTUyAoZGF0 YS51LnNpemU4W29mZnNldF0pOwotKwkgIGJyZWFrOwotKwljYXNlIDQ6Ci0rCSAgQUNDRVNTIChk YXRhLnUuc2l6ZTRbb2Zmc2V0XSk7Ci0rCSAgYnJlYWs7Ci0rCWNhc2UgMjoKLSsJICBBQ0NFU1Mg KGRhdGEudS5zaXplMltvZmZzZXRdKTsKLSsJICBicmVhazsKLSsJY2FzZSAxOgotKwkgIEFDQ0VT UyAoZGF0YS51LnNpemUxW29mZnNldF0pOwotKwkgIGJyZWFrOwotKyN1bmRlZiBBQ0NFU1MKLSsJ ZGVmYXVsdDoKLSsJICBhc3NlcnQgKDApOwotKwl9Ci0rICAgICAgc2l6ZSA9IDA7Ci0rICAgICAg c2l6ZSA9IHNpemU7IC8qIHN0YXJ0X2FnYWluICovCi0rICAgIH0KLSsgIHJldHVybiAwOyAvKiBm aW5hbF9yZXR1cm4gKi8KLSt9Ci1kaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS93 YXRjaHBvaW50LXVuYWxpZ25lZC5leHAgYi9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL3dhdGNocG9p bnQtdW5hbGlnbmVkLmV4cAotbmV3IGZpbGUgbW9kZSAxMDA2NDQKLS0tLSAvZGV2L251bGwKLSsr KyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2Uvd2F0Y2hwb2ludC11bmFsaWduZWQuZXhwCi1AQCAt MCwwICsxLDE4NCBAQAotKyMgQ29weXJpZ2h0IDIwMTctMjAxOCBGcmVlIFNvZnR3YXJlIEZvdW5k YXRpb24sIEluYy4KLSsjCi0rIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNh biByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQotKyMgaXQgdW5kZXIgdGhlIHRlcm1zIG9m IHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKLSsjIHRoZSBG cmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2Us IG9yCi0rIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgotKyMKLSsjIFRoaXMg cHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVs LAotKyMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQg d2FycmFudHkgb2YKLSsjIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM QVIgUFVSUE9TRS4gIFNlZSB0aGUKLSsjIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBt b3JlIGRldGFpbHMuCi0rIwotKyMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0 aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKLSsjIGFsb25nIHdpdGggdGhpcyBwcm9ncmFt LiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgotKyMKLSsjIFRo aXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBnZGIgdGVzdHN1aXRlLgotKwotKyMgVGVzdCBpbnNlcnRp bmcgcmVhZCB3YXRjaHBvaW50cyBvbiB1bmFsaWduZWQgYWRkcmVzc2VzLgotKwotK3N0YW5kYXJk X3Rlc3RmaWxlCi0raWYgeyBbcHJlcGFyZV9mb3JfdGVzdGluZyAke3Rlc3RmaWxlfS5leHAgJHt0 ZXN0ZmlsZX0gJHtzcmNmaWxlfV0gfSB7Ci0rICAgIHJldHVybiAtMQotK30KLSsKLStpZiAhW3J1 bnRvX21haW5dIHsKLSsgICAgdW50ZXN0ZWQgImNvdWxkIG5vdCBydW4gdG8gbWFpbiIKLSsgICAg cmV0dXJuIC0xCi0rfQotKwotK2dkYl9icmVha3BvaW50IFtnZGJfZ2V0X2xpbmVfbnVtYmVyICJz dGFydF9hZ2FpbiJdICJCcmVha3BvaW50ICRkZWNpbWFsIGF0ICRoZXgiICJzdGFydF9hZ2FpbiIK LSsKLStzZXQgc2l6ZXMgezEgMiA0IDh9Ci0rYXJyYXkgc2V0IGFsaWduZWRlbmQgezEgMSAgMiAy ICAzIDQgIDQgNCAgNSA4ICA2IDggIDcgOCAgOCA4fQotKwotK3NldCByd2F0Y2ggInJ3YXRjaCIK LStzZXQgcndhdGNoX2V4cCAiSGFyZHdhcmUgcmVhZCB3YXRjaHBvaW50IgotK2lmIHtbaXN0YXJn ZXQgInMzOTAqLSotKiJdfSB7Ci0rICAgICMgVGFyZ2V0IGRvZXMgbm90IHN1cHBvcnQgdGhpcyB0 eXBlIG9mIGhhcmR3YXJlIHdhdGNocG9pbnQuIgotKyAgICBzZXQgcndhdGNoICJ3YXRjaCIKLSsg ICAgc2V0IHJ3YXRjaF9leHAgIkhhcmR3YXJlIHdhdGNocG9pbnQiCi0rfQotKwotK2ZvcmVhY2gg d3BzaXplICRzaXplcyB7Ci0rICAgIGZvciB7c2V0IHdwb2Zmc2V0IDB9IHskd3BvZmZzZXQgPCA4 IC8gJHdwc2l6ZX0ge2luY3Igd3BvZmZzZXR9IHsKLSsJc2V0IHdwc3RhcnQgW2V4cHIgJHdwb2Zm c2V0ICogJHdwc2l6ZV0KLSsJc2V0IHdwZW5kIFtleHByICgkd3BvZmZzZXQgKyAxKSAqICR3cHNp emVdCi0rCXNldCB3cGVuZGFsaWduZWQgJGFsaWduZWRlbmQoJHdwZW5kKQotKwlmb3JlYWNoIHJk c2l6ZSAkc2l6ZXMgewotKwkgICAgZm9yIHtzZXQgcmRvZmZzZXQgMH0geyRyZG9mZnNldCA8IDgg LyAkcmRzaXplfSB7aW5jciByZG9mZnNldH0gewotKwkJc2V0IHJkc3RhcnQgW2V4cHIgJHJkb2Zm c2V0ICogJHJkc2l6ZV0KLSsJCXNldCByZGVuZCBbZXhwciAoJHJkb2Zmc2V0ICsgMSkgKiAkcmRz aXplXQotKwkJc2V0IGV4cGVjdF9oaXQgW2V4cHIgbWF4ICgkd3BzdGFydCwgJHJkc3RhcnQpIDwg bWluICgkd3BlbmQsICRyZGVuZCldCi0rCQlzZXQgdGVzdCAiJHJ3YXRjaCBkYXRhLnUuc2l6ZSR3 cHNpemVcWyR3cG9mZnNldFxdIgotKwkJc2V0IHdwbnVtICIiCi0rCQlnZGJfdGVzdF9tdWx0aXBs ZSAkdGVzdCAkdGVzdCB7Ci0rCQkgICAgLXJlICIkcndhdGNoX2V4cCAoXFswLTlcXSspOiAuKlxy XG4kZ2RiX3Byb21wdCAkIiB7Ci0rCQkJc2V0IHdwbnVtICRleHBlY3Rfb3V0KDEsc3RyaW5nKQot KwkJICAgIH0KLSsJCSAgICAtcmUgIkV4cHJlc3Npb24gY2Fubm90IGJlIGltcGxlbWVudGVkIHdp dGggcmVhZC9hY2Nlc3Mgd2F0Y2hwb2ludC5cclxuJGdkYl9wcm9tcHQgJCIgewotKwkJCWlmIHsk d3BzaXplID09IDggJiYgW2lzdGFyZ2V0ICJhcm0qLSotKiJdfSB7Ci0rCQkJICAgIHVudGVzdGVk ICR0ZXN0Ci0rCQkJICAgIGNvbnRpbnVlCi0rCQkJfQotKwkJCWZhaWwgJHRlc3QKLSsJCSAgICB9 Ci0rCQl9Ci0rCQlnZGJfdGVzdF9ub19vdXRwdXQgInNldCB2YXJpYWJsZSBzaXplID0gJHJkc2l6 ZSIgIiIKLSsJCWdkYl90ZXN0X25vX291dHB1dCAic2V0IHZhcmlhYmxlIG9mZnNldCA9ICRyZG9m ZnNldCIgIiIKLSsJCXNldCB0ZXN0ICJjb250aW51ZSIKLSsJCXNldCBnb3RfaGl0IDAKLSsJCWdk Yl90ZXN0X211bHRpcGxlICR0ZXN0ICR0ZXN0IHsKLSsJCSAgICAtcmUgIiRyd2F0Y2hfZXhwICR3 cG51bTouKmFsdWUgPSAuKlxyXG4kZ2RiX3Byb21wdCAkIiB7Ci0rCQkJc2V0IGdvdF9oaXQgMQot KwkJCXNlbmRfZ2RiICJjb250aW51ZVxuIgotKwkJCWV4cF9jb250aW51ZQotKwkJICAgIH0KLSsJ CSAgICAtcmUgIiBzdGFydF9hZ2FpbiAuKlxyXG4kZ2RiX3Byb21wdCAkIiB7Ci0rCQkgICAgfQot KwkJfQotKwkJZ2RiX3Rlc3Rfbm9fb3V0cHV0ICJkZWxldGUgJHdwbnVtIiAiIgotKwkJc2V0IHRl c3QgIndwKHNpemU9JHdwc2l6ZSBvZmZzZXQ9JHdwb2Zmc2V0KSByZChzaXplPSRyZHNpemUgb2Zm c2V0PSRyZG9mZnNldCkgZXhwZWN0PSRleHBlY3RfaGl0IgotKwkJaWYgeyRleHBlY3RfaGl0ID09 ICRnb3RfaGl0fSB7Ci0rCQkgICAgcGFzcyAkdGVzdAotKwkJfSBlbHNlIHsKLSsJCSAgICAjIFdl IGRvIG5vdCBrbm93IGlmIHdlIHJ1biBvbiBhIGZpeGVkIExpbnV4IGtlcm5lbAotKwkJICAgICMg b3Igbm90LiAgUmVwb3J0IFhGQUlMIG9ubHkgaW4gdGhlIEZBSUwgY2FzZS4KLSsJCSAgICBpZiB7 JGV4cGVjdF9oaXQgPT0gMCAmJiAkcmRzdGFydCA8ICR3cGVuZGFsaWduZWR9IHsKLSsJCQlzZXR1 cF94ZmFpbCBleHRlcm5hbC8yMDIwNyAiYWFyY2g2NCotKi1saW51eCoiCi0rCQkgICAgfQotKwkJ ICAgIGlmIHshJGV4cGVjdF9oaXQgJiYgW2V4cHIgbWF4ICgkd3BzdGFydCAvIDgsICRyZHN0YXJ0 IC8gOCkgPCBtaW4gKCgkd3BlbmQgKyA3KSAvIDgsICgkcmRlbmQgKyA3KSAvIDgpXX0gewotKwkJ CXNldHVwX3hmYWlsIGJyZWFrcG9pbnRzLzIzMTMxICJwb3dlcnBjKi0qLSoiCi0rCQkgICAgfQot KwkJICAgIGZhaWwgJHRlc3QKLSsJCX0KLSsJICAgIH0KLSsJfQotKyAgICB9Ci0rfQotKwotK2Zv cmVhY2ggd3Bjb3VudCB7NCA3fSB7Ci0rICAgIGFycmF5IHNldCB3cG9mZnNldF90b193cG51bSB7 fQotKyAgICBmb3Ige3NldCB3cG9mZnNldCAxfSB7JHdwb2Zmc2V0IDw9ICR3cGNvdW50fSB7aW5j ciB3cG9mZnNldH0gewotKwlzZXQgdGVzdCAiJHJ3YXRjaCBkYXRhLnUuc2l6ZTFcWyR3cG9mZnNl dFxdIgotKwlzZXQgd3BudW0gIiIKLSsJZ2RiX3Rlc3RfbXVsdGlwbGUgJHRlc3QgJHRlc3Qgewot KwkgICAgLXJlICIkcndhdGNoX2V4cCAoXFswLTlcXSspOiAuKlxyXG4kZ2RiX3Byb21wdCAkIiB7 Ci0rCQlzZXQgd3BvZmZzZXRfdG9fd3BudW0oJHdwb2Zmc2V0KSAkZXhwZWN0X291dCgxLHN0cmlu ZykKLSsJICAgIH0KLSsJICAgIC1yZSAiVGhlcmUgYXJlIG5vdCBlbm91Z2ggYXZhaWxhYmxlIGhh cmR3YXJlIHJlc291cmNlcyBmb3IgdGhpcyB3YXRjaHBvaW50LlxyXG4kZ2RiX3Byb21wdCAkIiB7 Ci0rCQlpZiB7JHdwb2Zmc2V0ID4gMX0gewotKwkJICAgIHNldHVwX3hmYWlsIGJyZWFrcG9pbnRz LzIzMTMxICJwb3dlcnBjKi0qLSoiCi0rCQkgICAgc2V0dXBfeGZhaWwgYnJlYWtwb2ludHMvMjMx MzEgImFybSotKi0qIgotKwkJfQotKwkJZmFpbCAkdGVzdAotKwkJc2V0IHdwb2Zmc2V0X3RvX3dw bnVtKCR3cG9mZnNldCkgMAotKwkgICAgfQotKwl9Ci0rICAgIH0KLSsgICAgZ2RiX3Rlc3Rfbm9f b3V0cHV0ICJzZXQgdmFyaWFibGUgc2l6ZSA9IDEiICIiCi0rICAgIGdkYl90ZXN0X25vX291dHB1 dCAic2V0IHZhcmlhYmxlIG9mZnNldCA9IDEiICIiCi0rICAgIHNldCB0ZXN0ICJjb250aW51ZSIK LSsgICAgc2V0IGdvdF9oaXQgMAotKyAgICBnZGJfdGVzdF9tdWx0aXBsZSAkdGVzdCAkdGVzdCB7 Ci0rCS1yZSAiXHJcbkNvdWxkIG5vdCBpbnNlcnQgaGFyZHdhcmUgd2F0Y2hwb2ludCAuKlxyXG4k Z2RiX3Byb21wdCAkIiB7Ci0rCX0KLSsJLXJlICIkcndhdGNoX2V4cCAkd3BvZmZzZXRfdG9fd3Bu dW0oMSk6LiphbHVlID0gLipcclxuJGdkYl9wcm9tcHQgJCIgewotKwkgICAgc2V0IGdvdF9oaXQg MQotKwkgICAgc2VuZF9nZGIgImNvbnRpbnVlXG4iCi0rCSAgICBleHBfY29udGludWUKLSsJfQot KwktcmUgIiBzdGFydF9hZ2FpbiAuKlxyXG4kZ2RiX3Byb21wdCAkIiB7Ci0rCX0KLSsgICAgfQot KyAgICBmb3Ige3NldCB3cG9mZnNldCAxfSB7JHdwb2Zmc2V0IDw9ICR3cGNvdW50fSB7aW5jciB3 cG9mZnNldH0gewotKwlpZiB7JHdwb2Zmc2V0X3RvX3dwbnVtKCR3cG9mZnNldCl9IHsKLSsJICAg IGdkYl90ZXN0X25vX291dHB1dCAiZGVsZXRlICR3cG9mZnNldF90b193cG51bSgkd3BvZmZzZXQp IiAiIgotKwl9Ci0rICAgIH0KLSsgICAgc2V0IHRlc3QgIndwY291bnQoJHdwY291bnQpIgotKyAg ICBpZiB7ISR3cG9mZnNldF90b193cG51bShbZXhwciAkd3Bjb3VudCAtIDFdKX0gewotKwl1bnRl c3RlZCAkdGVzdAotKwljb250aW51ZQotKyAgICB9Ci0rICAgIGlmIHskd3Bjb3VudCA+IDR9IHsK LSsJaWYgeyFbaXN0YXJnZXQgInMzOTAqLSotKiJdfSB7Ci0rCSAgICBzZXR1cF9rZmFpbCB0ZGVw LzIyMzg5ICotKi0qCi0rCX0KLSsgICAgfQotKyAgICBnZGJfYXNzZXJ0ICRnb3RfaGl0ICR0ZXN0 Ci0rfQotKwotK2lmICFbcnVudG9fbWFpbl0gewotKyAgICByZXR1cm4gLTEKLSt9Ci0rZ2RiX2Jy ZWFrcG9pbnQgW2dkYl9nZXRfbGluZV9udW1iZXIgImZpbmFsX3JldHVybiJdICJCcmVha3BvaW50 ICRkZWNpbWFsIGF0ICRoZXgiICJmaW5hbF9yZXR1cm4iCi0rc2V0IHRlc3Qge3dhdGNoIGRhdGEu dS5zaXplOHR3aWNlWzFdfQotK3NldCB3cG51bSAiIgotK2dkYl90ZXN0X211bHRpcGxlICR0ZXN0 ICR0ZXN0IHsKLSsgICAgLXJlICJIYXJkd2FyZSB3YXRjaHBvaW50IChcWzAtOVxdKyk6IC4qXHJc biRnZGJfcHJvbXB0ICQiIHsKLSsJc2V0IHdwbnVtICRleHBlY3Rfb3V0KDEsc3RyaW5nKQotKyAg ICB9Ci0rICAgIC1yZSAiV2F0Y2hwb2ludCAoXFswLTlcXSspOiAuKlxyXG4kZ2RiX3Byb21wdCAk IiB7Ci0rCWlmIHtbaXN0YXJnZXQgImFybSotKi0qIl19IHsKLSsJICAgIHVudGVzdGVkICR0ZXN0 Ci0rCSAgICBzZXQgd3BudW0gMAotKwl9Ci0rICAgIH0KLSt9Ci0raWYgeyR3cG51bX0gewotKyAg ICBzZXQgdGVzdCAiY29udGludWUiCi0rICAgIHNldCBnb3RfaGl0IDAKLSsgICAgZ2RiX3Rlc3Rf bXVsdGlwbGUgJHRlc3QgJHRlc3QgewotKwktcmUgIlxyXG5Db3VsZCBub3QgaW5zZXJ0IGhhcmR3 YXJlIHdhdGNocG9pbnQgLipcclxuJGdkYl9wcm9tcHQgJCIgewotKwl9Ci0rCS1yZSAiSGFyZHdh cmUgd2F0Y2hwb2ludCAkd3BudW06LipOZXcgdmFsdWUgPSAuKlxyXG4kZ2RiX3Byb21wdCAkIiB7 Ci0rCSAgICBzZXQgZ290X2hpdCAxCi0rCSAgICBzZW5kX2dkYiAiY29udGludWVcbiIKLSsJICAg IGV4cF9jb250aW51ZQotKwl9Ci0rCS1yZSAiIGZpbmFsX3JldHVybiAuKlxyXG4kZ2RiX3Byb21w dCAkIiB7Ci0rCX0KLSsgICAgfQotKyAgICBnZGJfYXNzZXJ0ICRnb3RfaGl0ICJzaXplOHR3aWNl IHdyaXRlIgotK30KLWRpZmYgLS1naXQgYS9nZGIvdXRpbHMuYyBiL2dkYi91dGlscy5jCi1pbmRl eCA1OGMwMzgwZDE3Li4yNmVjOWYxZWU4IDEwMDY0NAotLS0tIGEvZ2RiL3V0aWxzLmMKLSsrKyBi L2dkYi91dGlscy5jCi1AQCAtMzAxMCwyMiArMzAxMCw2IEBAIGdkYl9hYnNwYXRoIChjb25zdCBj aGFyICpwYXRoKQotIAkgICAgIHBhdGgsIChjaGFyICopIE5VTEwpKTsKLSB9Ci0gCi0tVUxPTkdF U1QKLS1hbGlnbl91cCAoVUxPTkdFU1QgdiwgaW50IG4pCi0tewotLSAgLyogQ2hlY2sgdGhhdCBO IGlzIHJlYWxseSBhIHBvd2VyIG9mIHR3by4gICovCi0tICBnZGJfYXNzZXJ0IChuICYmIChuICYg KG4tMSkpID09IDApOwotLSAgcmV0dXJuICh2ICsgbiAtIDEpICYgLW47Ci0tfQotLQotLVVMT05H RVNUCi0tYWxpZ25fZG93biAoVUxPTkdFU1QgdiwgaW50IG4pCi0tewotLSAgLyogQ2hlY2sgdGhh dCBOIGlzIHJlYWxseSBhIHBvd2VyIG9mIHR3by4gICovCi0tICBnZGJfYXNzZXJ0IChuICYmIChu ICYgKG4tMSkpID09IDApOwotLSAgcmV0dXJuICh2ICYgLW4pOwotLX0KLS0KLSAvKiBBbGxvY2F0 aW9uIGZ1bmN0aW9uIGZvciB0aGUgbGliaWJlcnR5IGhhc2ggdGFibGUgd2hpY2ggdXNlcyBhbgot ICAgIG9ic3RhY2suICBUaGUgb2JzdGFjayBpcyBwYXNzZWQgYXMgREFUQS4gICovCi0gCi1kaWZm IC0tZ2l0IGEvZ2RiL3V0aWxzLmggYi9nZGIvdXRpbHMuaAotaW5kZXggYjIzNDc2MjkyOS4uZDAx ZDI4M2JhYSAxMDA2NDQKLS0tLSBhL2dkYi91dGlscy5oCi0rKysgYi9nZGIvdXRpbHMuaAotQEAg LTQ5OCwzOCArNDk4LDYgQEAgZXh0ZXJuIHBpZF90IHdhaXRfdG9fZGllX3dpdGhfdGltZW91dCAo cGlkX3QgcGlkLCBpbnQgKnN0YXR1cywgaW50IHRpbWVvdXQpOwotIAotIGV4dGVybiBpbnQgbXly ZWFkIChpbnQsIGNoYXIgKiwgaW50KTsKLSAKLS0vKiBFbnN1cmUgdGhhdCBWIGlzIGFsaWduZWQg dG8gYW4gTiBieXRlIGJvdW5kYXJ5IChCJ3MgYXNzdW1lZCB0byBiZSBhCi0tICAgcG93ZXIgb2Yg MikuICBSb3VuZCB1cC9kb3duIHdoZW4gbmVjZXNzYXJ5LiAgRXhhbXBsZXMgb2YgY29ycmVjdAot LSAgIHVzZSBpbmNsdWRlOgotLQotLSAgIGFkZHIgPSBhbGlnbl91cCAoYWRkciwgOCk7IC0tIFZB TFVFIG5lZWRzIDggYnl0ZSBhbGlnbm1lbnQKLS0gICB3cml0ZV9tZW1vcnkgKGFkZHIsIHZhbHVl LCBsZW4pOwotLSAgIGFkZHIgKz0gbGVuOwotLQotLSAgIGFuZDoKLS0KLS0gICBzcCA9IGFsaWdu X2Rvd24gKHNwIC0gbGVuLCAxNik7IC0tIEtlZXAgU1AgMTYgYnl0ZSBhbGlnbmVkCi0tICAgd3Jp dGVfbWVtb3J5IChzcCwgdmFsdWUsIGxlbik7Ci0tCi0tICAgTm90ZSB0aGF0IHVzZXMgc3VjaCBh czoKLS0KLS0gICB3cml0ZV9tZW1vcnkgKGFkZHIsIHZhbHVlLCBsZW4pOwotLSAgIGFkZHIgKz0g YWxpZ25fdXAgKGxlbiwgOCk7Ci0tCi0tICAgYW5kOgotLQotLSAgIHNwIC09IGFsaWduX3VwIChs ZW4sIDgpOwotLSAgIHdyaXRlX21lbW9yeSAoc3AsIHZhbHVlLCBsZW4pOwotLQotLSAgIGFyZSB0 eXBpY2FsbHkgbm90IGNvcnJlY3QgYXMgdGhleSBkb24ndCBlbnN1cmUgdGhhdCB0aGUgYWRkcmVz cyAoU1AKLS0gICBvciBBRERSKSBpcyBjb3JyZWN0bHkgYWxpZ25lZCAocmVseWluZyBvbiBwcmV2 aW91cyBhbGlnbm1lbnQgdG8KLS0gICBrZWVwIHRoaW5ncyByaWdodCkuICBUaGlzIGlzIGFsc28g d2h5IHRoZSBtZXRob2RzIGFyZSBjYWxsZWQKLS0gICAiYWxpZ25fLi4uIiBpbnN0ZWFkIG9mICJy b3VuZF8uLi4iIGFzIHRoZSBsYXR0ZXIgcmVhZHMgYmV0dGVyIHdpdGgKLS0gICB0aGlzIGluY29y cmVjdCBjb2Rpbmcgc3R5bGUuICAqLwotLQotLWV4dGVybiBVTE9OR0VTVCBhbGlnbl91cCAoVUxP TkdFU1QgdiwgaW50IG4pOwotLWV4dGVybiBVTE9OR0VTVCBhbGlnbl9kb3duIChVTE9OR0VTVCB2 LCBpbnQgbik7Ci0tCi0gLyogUmVzb3VyY2UgbGltaXRzIHVzZWQgYnkgZ2V0cmxpbWl0IGFuZCBz ZXRybGltaXQuICAqLwotIAotIGVudW0gcmVzb3VyY2VfbGltaXRfa2luZAoKZGlmZiAtLWdpdCBh L2dkYi1yaGJ6MTU0MDU1OS1nZGJhZGRpbmRleC1nbGliY2RlYnVnLXJlZ3Jlc3Npb24ucGF0Y2gg Yi9nZGItcmhiejE1NDA1NTktZ2RiYWRkaW5kZXgtZ2xpYmNkZWJ1Zy1yZWdyZXNzaW9uLnBhdGNo CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyZjcxODk0Li4wMDAwMDAwCi0tLSBhL2dk Yi1yaGJ6MTU0MDU1OS1nZGJhZGRpbmRleC1nbGliY2RlYnVnLXJlZ3Jlc3Npb24ucGF0Y2gKKysr IC9kZXYvbnVsbApAQCAtMSwxMjkgKzAsMCBAQAotRnJvbSBGRURPUkFfUEFUQ0hFUyBNb24gU2Vw IDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEphbiBLcmF0b2NodmlsIDxqYW4ua3JhdG9jaHZpbEBy ZWRoYXQuY29tPgotRGF0ZTogU3VuLCA0IEZlYiAyMDE4IDIwOjU1OjA0ICswMTAwCi1TdWJqZWN0 OiBnZGItcmhiejE1NDA1NTktZ2RiYWRkaW5kZXgtZ2xpYmNkZWJ1Zy1yZWdyZXNzaW9uLnBhdGNo Ci0KLUZpbGVOYW1lOiBnZGItcmhiejE1NDA1NTktZ2RiYWRkaW5kZXgtZ2xpYmNkZWJ1Zy1yZWdy ZXNzaW9uLnBhdGNoCi0KLTs7IEZpeCAtRF9HTElCQ1hYX0RFQlVHIGdkYi1hZGQtaW5kZXggcmVn cmVzc2lvbiAoUkggQlogMTU0MDU1OSkuCi0KLWdkYjogT3V0LW9mLWJvdW5kcyB2ZWN0b3IgYWNj ZXNzIHdoaWxlIHJ1bm5pbmcgZ2RiLWFkZC1pbmRleAotaHR0cHM6Ly9idWd6aWxsYS5yZWRoYXQu Y29tL3Nob3dfYnVnLmNnaT9pZD0xNTQwNTU5Ci0KLUZlZG9yYSBSYXdoaWRlIHN0YXJ0ZWQgdG8g dXNlIC1EX0dMSUJDWFhfREVCVUcgd2hpY2ggbWFkZSBnZGItYWRkLWluZGV4Ci1mYWlsaW5nLgot Ci0vdXNyL2luY2x1ZGUvYysrLzcvZGVidWcvc2FmZV9pdGVyYXRvci5oOjI3MDoKLUVycm9yOiBh dHRlbXB0IHRvIGRlcmVmZXJlbmNlIGEgcGFzdC10aGUtZW5kIGl0ZXJhdG9yLgotT2JqZWN0cyBp bnZvbHZlZCBpbiB0aGUgb3BlcmF0aW9uOgotICAgIGl0ZXJhdG9yICJ0aGlzIiBAIDB4MHg3ZmZm ZmZmZmNiOTAgewotICAgICAgdHlwZSA9IF9fZ251X2RlYnVnOjpfU2FmZV9pdGVyYXRvcjxfX2du dV9jeHg6Ol9fbm9ybWFsX2l0ZXJhdG9yPHVuc2lnbmVkIGNoYXIqLCBzdGQ6Ol9fY3h4MTk5ODo6 dmVjdG9yPHVuc2lnbmVkIGNoYXIsIGdkYjo6ZGVmYXVsdF9pbml0X2FsbG9jYXRvcjx1bnNpZ25l ZCBjaGFyLCBzdGQ6OmFsbG9jYXRvcjx1bnNpZ25lZCBjaGFyPiA+ID4gPiwgc3RkOjpfX2RlYnVn Ojp2ZWN0b3I8dW5zaWduZWQgY2hhciwgZ2RiOjpkZWZhdWx0X2luaXRfYWxsb2NhdG9yPHVuc2ln bmVkIGNoYXIsIHN0ZDo6YWxsb2NhdG9yPHVuc2lnbmVkIGNoYXI+ID4gPiA+IChtdXRhYmxlIGl0 ZXJhdG9yKTsKLSAgICAgIHN0YXRlID0gcGFzdC10aGUtZW5kOwotICAgICAgcmVmZXJlbmNlcyBz ZXF1ZW5jZSB3aXRoIHR5cGUgJ3N0ZDo6X19kZWJ1Zzo6dmVjdG9yPHVuc2lnbmVkIGNoYXIsIGdk Yjo6ZGVmYXVsdF9pbml0X2FsbG9jYXRvcjx1bnNpZ25lZCBjaGFyLCBzdGQ6OmFsbG9jYXRvcjx1 bnNpZ25lZCBjaGFyPiA+ID4nIEAgMHgweDdmZmZmZmZmY2M1MAotICAgIH0KLQotL3Vzci9pbmNs dWRlL2MrKy83L2RlYnVnL3ZlY3Rvcjo0MTc6Ci1FcnJvcjogYXR0ZW1wdCB0byBzdWJzY3JpcHQg Y29udGFpbmVyIHdpdGggb3V0LW9mLWJvdW5kcyBpbmRleCA1NTYsIGJ1dAotY29udGFpbmVyIG9u bHkgaG9sZHMgNTU2IGVsZW1lbnRzLgotT2JqZWN0cyBpbnZvbHZlZCBpbiB0aGUgb3BlcmF0aW9u OgotICAgIHNlcXVlbmNlICJ0aGlzIiBAIDB4MHgyZTg3YWY4IHsKLSAgICAgIHR5cGUgPSBzdGQ6 Ol9fZGVidWc6OnZlY3RvcjxwYXJ0aWFsX3N5bWJvbCosIHN0ZDo6YWxsb2NhdG9yPHBhcnRpYWxf c3ltYm9sKj4gPjsKLSAgICB9Ci0KLUkgZG8gbm90IGtub3cgaWYgYW55b25lIHJlZ3Jlc3Npb24t dGVzdHMgR0RCIHdpdGggLURfR0xJQkNYWF9ERUJVRywKLUkgaGF2ZSBqdXN0IGNoZWNrZWQgLURf R0xJQkNYWF9ERUJVRyBydW4gYWdhaW5zdCBnZGItYWRkLWluZGV4LgotCi1UaGUgdHdvIC1EX0dM SUJDWFhfREVCVUcgcmVncmVzc2lvbnMgd2VyZSBtYWRlIGJ5OgotCi1jb21taXQgYmM4ZjI0MzBl MDhjYzJhNTIwZGI0OWE0MjY4NmUwNTI5YmU0YTNiYwotQXV0aG9yOiBKYW4gS3JhdG9jaHZpbCA8 amFuLmtyYXRvY2h2aWxAcmVkaGF0LmNvbT4KLURhdGU6ICAgTW9uIEp1biAxMiAxNjoyOTo1MyAy MDE3ICswMTAwCi0gICAgQ29kZSBjbGVhbnVwOiBDKytpZnkgLmdkYl9pbmRleCBwcm9kdWNlcgot Ci1jb21taXQgYWY1YmY0YWRhNDhmZjY1YjY2NThiZTFmYWI4ZjljOGY4YWI1ZjMxOQotQXV0aG9y OiBTaW1vbiBNYXJjaGkgPHNpbW9uLm1hcmNoaUBlcmljc3Nvbi5jb20+Ci1EYXRlOiAgIFNhdCBP Y3QgMTQgMDg6MDY6MjkgMjAxNyAtMDQwMAotICAgIFJlcGxhY2UgcHN5bWJvbF9hbGxvY2F0aW9u X2xpc3Qgd2l0aCBzdGQ6OnZlY3RvcgotCi1nZGIvQ2hhbmdlTG9nCi0yMDE4LTAyLTA0ICBKYW4g S3JhdG9jaHZpbCAgPGphbi5rcmF0b2NodmlsQHJlZGhhdC5jb20+Ci0KLQkqIGR3YXJmMnJlYWQu YyAoZGF0YV9idWY6Omdyb3cpICh3cml0ZV9vbmVfc2lnbmF0dXJlZF90eXBlKQotCShyZWN1cnNp dmVseV93cml0ZV9wc3ltYm9scykgKGRlYnVnX25hbWVzOjpyZWN1cnNpdmVseV93cml0ZV9wc3lt Ym9scykKLQkoZGVidWdfbmFtZXM6OndyaXRlX29uZV9zaWduYXR1cmVkX3R5cGUpOiBGaXggLURf R0xJQkNYWF9ERUJVRwotCXJlZ3Jlc3Npb24uCi0KLWRpZmYgLS1naXQgYS9nZGIvZHdhcmYycmVh ZC5jIGIvZ2RiL2R3YXJmMnJlYWQuYwotaW5kZXggNjQzMjlhZjcxZS4uM2M5YjlkYzE4OCAxMDA2 NDQKLS0tLSBhL2dkYi9kd2FyZjJyZWFkLmMKLSsrKyBiL2dkYi9kd2FyZjJyZWFkLmMKLUBAIC0y NTY5Niw3ICsyNTY5Niw3IEBAIHByaXZhdGU6Ci0gICBnZGJfYnl0ZSAqZ3JvdyAoc2l6ZV90IHNp emUpCi0gICB7Ci0gICAgIG1fdmVjLnJlc2l6ZSAobV92ZWMuc2l6ZSAoKSArIHNpemUpOwotLSAg ICByZXR1cm4gJiptX3ZlYy5lbmQgKCkgLSBzaXplOwotKyAgICByZXR1cm4gJioobV92ZWMuZW5k ICgpIC0gc2l6ZSk7Ci0gICB9Ci0gCi0gICBnZGI6OmJ5dGVfdmVjdG9yIG1fdmVjOwotQEAgLTI2 MTMwLDEyICsyNjEzMCwxNCBAQCB3cml0ZV9vbmVfc2lnbmF0dXJlZF90eXBlICh2b2lkICoqc2xv dCwgdm9pZCAqZCkKLSAKLSAgIHdyaXRlX3BzeW1ib2xzIChpbmZvLT5zeW10YWIsCi0gCQkgIGlu Zm8tPnBzeW1zX3NlZW4sCi0tCQkgICZpbmZvLT5vYmpmaWxlLT5nbG9iYWxfcHN5bWJvbHNbcHN5 bXRhYi0+Z2xvYmFsc19vZmZzZXRdLAotKwkJICAoaW5mby0+b2JqZmlsZS0+Z2xvYmFsX3BzeW1i b2xzLmRhdGEoKQotKwkJICAgKyBwc3ltdGFiLT5nbG9iYWxzX29mZnNldCksCi0gCQkgIHBzeW10 YWItPm5fZ2xvYmFsX3N5bXMsIGluZm8tPmN1X2luZGV4LAotIAkJICAwKTsKLSAgIHdyaXRlX3Bz eW1ib2xzIChpbmZvLT5zeW10YWIsCi0gCQkgIGluZm8tPnBzeW1zX3NlZW4sCi0tCQkgICZpbmZv LT5vYmpmaWxlLT5zdGF0aWNfcHN5bWJvbHNbcHN5bXRhYi0+c3RhdGljc19vZmZzZXRdLAotKwkJ ICAoaW5mby0+b2JqZmlsZS0+c3RhdGljX3BzeW1ib2xzLmRhdGEoKQotKwkJICAgKyBwc3ltdGFi LT5zdGF0aWNzX29mZnNldCksCi0gCQkgIHBzeW10YWItPm5fc3RhdGljX3N5bXMsIGluZm8tPmN1 X2luZGV4LAotIAkJICAxKTsKLSAKLUBAIC0yNjE4NSwxMiArMjYxODcsMTIgQEAgcmVjdXJzaXZl bHlfd3JpdGVfcHN5bWJvbHMgKHN0cnVjdCBvYmpmaWxlICpvYmpmaWxlLAotIAotICAgd3JpdGVf cHN5bWJvbHMgKHN5bXRhYiwKLSAJCSAgcHN5bXNfc2VlbiwKLS0JCSAgJm9iamZpbGUtPmdsb2Jh bF9wc3ltYm9sc1twc3ltdGFiLT5nbG9iYWxzX29mZnNldF0sCi0rCQkgIG9iamZpbGUtPmdsb2Jh bF9wc3ltYm9scy5kYXRhKCkgKyBwc3ltdGFiLT5nbG9iYWxzX29mZnNldCwKLSAJCSAgcHN5bXRh Yi0+bl9nbG9iYWxfc3ltcywgY3VfaW5kZXgsCi0gCQkgIDApOwotICAgd3JpdGVfcHN5bWJvbHMg KHN5bXRhYiwKLSAJCSAgcHN5bXNfc2VlbiwKLS0JCSAgJm9iamZpbGUtPnN0YXRpY19wc3ltYm9s c1twc3ltdGFiLT5zdGF0aWNzX29mZnNldF0sCi0rCQkgIG9iamZpbGUtPnN0YXRpY19wc3ltYm9s cy5kYXRhKCkgKyBwc3ltdGFiLT5zdGF0aWNzX29mZnNldCwKLSAJCSAgcHN5bXRhYi0+bl9zdGF0 aWNfc3ltcywgY3VfaW5kZXgsCi0gCQkgIDEpOwotIH0KLUBAIC0yNjM3OSwxMCArMjYzODEsMTAg QEAgcHVibGljOgotIAkJCQkgICAgcHN5bXNfc2VlbiwgY3VfaW5kZXgpOwotIAotICAgICB3cml0 ZV9wc3ltYm9scyAocHN5bXNfc2VlbiwKLS0JCSAgICAmb2JqZmlsZS0+Z2xvYmFsX3BzeW1ib2xz W3BzeW10YWItPmdsb2JhbHNfb2Zmc2V0XSwKLSsJCSAgICBvYmpmaWxlLT5nbG9iYWxfcHN5bWJv bHMuZGF0YSgpICsgcHN5bXRhYi0+Z2xvYmFsc19vZmZzZXQsCi0gCQkgICAgcHN5bXRhYi0+bl9n bG9iYWxfc3ltcywgY3VfaW5kZXgsIGZhbHNlLCB1bml0X2tpbmQ6OmN1KTsKLSAgICAgd3JpdGVf cHN5bWJvbHMgKHBzeW1zX3NlZW4sCi0tCQkgICAgJm9iamZpbGUtPnN0YXRpY19wc3ltYm9sc1tw c3ltdGFiLT5zdGF0aWNzX29mZnNldF0sCi0rCQkgICAgb2JqZmlsZS0+c3RhdGljX3BzeW1ib2xz LmRhdGEoKSArIHBzeW10YWItPnN0YXRpY3Nfb2Zmc2V0LAotIAkJICAgIHBzeW10YWItPm5fc3Rh dGljX3N5bXMsIGN1X2luZGV4LCB0cnVlLCB1bml0X2tpbmQ6OmN1KTsKLSAgIH0KLSAKLUBAIC0y NjczOCwxMSArMjY3NDAsMTMgQEAgcHJpdmF0ZToKLSAgICAgc3RydWN0IHBhcnRpYWxfc3ltdGFi ICpwc3ltdGFiID0gZW50cnktPnBlcl9jdS52LnBzeW10YWI7Ci0gCi0gICAgIHdyaXRlX3BzeW1i b2xzIChpbmZvLT5wc3ltc19zZWVuLAotLQkJICAgICZpbmZvLT5vYmpmaWxlLT5nbG9iYWxfcHN5 bWJvbHNbcHN5bXRhYi0+Z2xvYmFsc19vZmZzZXRdLAotKwkJICAgIChpbmZvLT5vYmpmaWxlLT5n bG9iYWxfcHN5bWJvbHMuZGF0YSgpCi0rCQkgICAgICsgcHN5bXRhYi0+Z2xvYmFsc19vZmZzZXQp LAotIAkJICAgIHBzeW10YWItPm5fZ2xvYmFsX3N5bXMsIGluZm8tPmN1X2luZGV4LCBmYWxzZSwK LSAJCSAgICB1bml0X2tpbmQ6OnR1KTsKLSAgICAgd3JpdGVfcHN5bWJvbHMgKGluZm8tPnBzeW1z X3NlZW4sCi0tCQkgICAgJmluZm8tPm9iamZpbGUtPnN0YXRpY19wc3ltYm9sc1twc3ltdGFiLT5z dGF0aWNzX29mZnNldF0sCi0rCQkgICAgKGluZm8tPm9iamZpbGUtPnN0YXRpY19wc3ltYm9scy5k YXRhKCkKLSsJCSAgICAgKyBwc3ltdGFiLT5zdGF0aWNzX29mZnNldCksCi0gCQkgICAgcHN5bXRh Yi0+bl9zdGF0aWNfc3ltcywgaW5mby0+Y3VfaW5kZXgsIHRydWUsCi0gCQkgICAgdW5pdF9raW5k Ojp0dSk7Ci0gCgpkaWZmIC0tZ2l0IGEvZ2RiLXJoYno3OTU0MjQtYml0cG9zLTIwb2YyNS5wYXRj aCBiL2dkYi1yaGJ6Nzk1NDI0LWJpdHBvcy0yMG9mMjUucGF0Y2gKaW5kZXggY2FlNzJkNi4uOGFh ZDJlMiAxMDA2NDQKLS0tIGEvZ2RiLXJoYno3OTU0MjQtYml0cG9zLTIwb2YyNS5wYXRjaAorKysg Yi9nZGItcmhiejc5NTQyNC1iaXRwb3MtMjBvZjI1LnBhdGNoCkBAIC00NzMsMjAgKzQ3MywyMCBA QCBDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA3Yml0CiBDb250ZW50LURpc3Bvc2l0aW9uOiBh dHRhY2htZW50OyBmaWxlbmFtZT1iaXRwb3MtbWFpbi5wYXRjaAogCiBkaWZmIC0tZ2l0IGEvZ2Ri L2FhcmNoNjQtbGludXgtbmF0LmMgYi9nZGIvYWFyY2g2NC1saW51eC1uYXQuYwotaW5kZXggOTM4 NTY1OWYxNC4uMDhlNmY0ZDRmZCAxMDA2NDQKK2luZGV4IDkwOGI4M2E0OWEuLmRkNjlmNTA3ODUg MTAwNjQ0CiAtLS0gYS9nZGIvYWFyY2g2NC1saW51eC1uYXQuYwogKysrIGIvZ2RiL2FhcmNoNjQt bGludXgtbmF0LmMKLUBAIC03MDgsNyArNzA4LDcgQEAgYWFyY2g2NF9saW51eF9yZW1vdmVfd2F0 Y2hwb2ludCAoc3RydWN0IHRhcmdldF9vcHMgKnNlbGYsCitAQCAtNzQzLDcgKzc0Myw3IEBAIGFh cmNoNjRfbGludXhfbmF0X3RhcmdldDo6cmVtb3ZlX3dhdGNocG9pbnQgKENPUkVfQUREUiBhZGRy LCBpbnQgbGVuLAorIC8qIEltcGxlbWVudCB0aGUgInJlZ2lvbl9va19mb3JfaHdfd2F0Y2hwb2lu dCIgdGFyZ2V0X29wcyBtZXRob2QuICAqLwogIAotIHN0YXRpYyBpbnQKLSBhYXJjaDY0X2xpbnV4 X3JlZ2lvbl9va19mb3JfaHdfd2F0Y2hwb2ludCAoc3RydWN0IHRhcmdldF9vcHMgKnNlbGYsCi0t CQkJCQkgICBDT1JFX0FERFIgYWRkciwgaW50IGxlbikKLSsJCQkJCSAgIENPUkVfQUREUiBhZGRy LCBMT05HRVNUIGxlbikKKyBpbnQKKy1hYXJjaDY0X2xpbnV4X25hdF90YXJnZXQ6OnJlZ2lvbl9v a19mb3JfaHdfd2F0Y2hwb2ludCAoQ09SRV9BRERSIGFkZHIsIGludCBsZW4pCisrYWFyY2g2NF9s aW51eF9uYXRfdGFyZ2V0OjpyZWdpb25fb2tfZm9yX2h3X3dhdGNocG9pbnQgKENPUkVfQUREUiBh ZGRyLCBMT05HRVNUIGxlbikKICB7CiAgICByZXR1cm4gYWFyY2g2NF9saW51eF9yZWdpb25fb2tf Zm9yX3dhdGNocG9pbnQgKGFkZHIsIGxlbik7CiAgfQogZGlmZiAtLWdpdCBhL2dkYi9hZGEtbGFu Zy5jIGIvZ2RiL2FkYS1sYW5nLmMKLWluZGV4IDYzOTUxODQ5NTYuLjhkMjVmZGI0YzYgMTAwNjQ0 CitpbmRleCBlYWYzMDU4NWY1Li4xOTYyZTRmMDdlIDEwMDY0NAogLS0tIGEvZ2RiL2FkYS1sYW5n LmMKICsrKyBiL2dkYi9hZGEtbGFuZy5jCiBAQCAtNzgsNyArNzgsNyBAQCBzdGF0aWMgc3RydWN0 IHR5cGUgKmRlc2NfYm91bmRzX3R5cGUgKHN0cnVjdCB0eXBlICopOwpAQCAtNTUwLDkgKzU1MCw5 IEBAIGluZGV4IDYzOTUxODQ5NTYuLjhkMjVmZGI0YzYgMTAwNjQ0CiArc3RhdGljIGludCBmaW5k X3N0cnVjdF9maWVsZCAoY29uc3QgY2hhciAqLCBzdHJ1Y3QgdHlwZSAqLCBMT05HRVNULAogKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCB0eXBlICoqLCBMT05HRVNUICosIGlu dCAqLCBpbnQgKiwgaW50ICopOwogIAotIHN0YXRpYyBzdHJ1Y3QgdmFsdWUgKmFkYV90b19maXhl ZF92YWx1ZV9jcmVhdGUgKHN0cnVjdCB0eXBlICosIENPUkVfQUREUiwKLSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgdmFsdWUgKik7Ci1AQCAt MjM3LDcgKzIzOCw3IEBAIHN0YXRpYyBpbnQgYWRhX2lzX2RpcmVjdF9hcnJheV90eXBlIChzdHJ1 Y3QgdHlwZSAqKTsKKyBzdGF0aWMgaW50IGFkYV9yZXNvbHZlX2Z1bmN0aW9uIChzdHJ1Y3QgYmxv Y2tfc3ltYm9sICosIGludCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1 Y3QgdmFsdWUgKiosIGludCwgY29uc3QgY2hhciAqLAorQEAgLTIzNCw3ICsyMzUsNyBAQCBzdGF0 aWMgaW50IGFkYV9pc19kaXJlY3RfYXJyYXlfdHlwZSAoc3RydWN0IHR5cGUgKik7CiAgc3RhdGlj IHZvaWQgYWRhX2xhbmd1YWdlX2FyY2hfaW5mbyAoc3RydWN0IGdkYmFyY2ggKiwKICAJCQkJICAg IHN0cnVjdCBsYW5ndWFnZV9hcmNoX2luZm8gKik7CiAgCkBAIC01NjEsNyArNTYxLDcgQEAgaW5k ZXggNjM5NTE4NDk1Ni4uOGQyNWZkYjRjNiAxMDA2NDQKICAJCQkJCSAgICAgc3RydWN0IHR5cGUg Kik7CiAgCiAgc3RhdGljIHN0cnVjdCB2YWx1ZSAqYXNzaWduX2FnZ3JlZ2F0ZSAoc3RydWN0IHZh bHVlICosIHN0cnVjdCB2YWx1ZSAqLCAKLUBAIC03MDAsNyArNzAxLDcgQEAgY29lcmNlX3Vuc3Bl Y192YWxfdG9fdHlwZSAoc3RydWN0IHZhbHVlICp2YWwsIHN0cnVjdCB0eXBlICp0eXBlKQorQEAg LTY5Nyw3ICs2OTgsNyBAQCBjb2VyY2VfdW5zcGVjX3ZhbF90b190eXBlIChzdHJ1Y3QgdmFsdWUg KnZhbCwgc3RydWN0IHR5cGUgKnR5cGUpCiAgfQogIAogIHN0YXRpYyBjb25zdCBnZGJfYnl0ZSAq CkBAIC01NzAsNyArNTcwLDcgQEAgaW5kZXggNjM5NTE4NDk1Ni4uOGQyNWZkYjRjNiAxMDA2NDQK ICB7CiAgICBpZiAodmFsYWRkciA9PSBOVUxMKQogICAgICByZXR1cm4gTlVMTDsKLUBAIC03MDks NyArNzEwLDcgQEAgY29uZF9vZmZzZXRfaG9zdCAoY29uc3QgZ2RiX2J5dGUgKnZhbGFkZHIsIGxv bmcgb2Zmc2V0KQorQEAgLTcwNiw3ICs3MDcsNyBAQCBjb25kX29mZnNldF9ob3N0IChjb25zdCBn ZGJfYnl0ZSAqdmFsYWRkciwgbG9uZyBvZmZzZXQpCiAgfQogIAogIHN0YXRpYyBDT1JFX0FERFIK QEAgLTU3OSw3ICs1NzksNyBAQCBpbmRleCA2Mzk1MTg0OTU2Li44ZDI1ZmRiNGM2IDEwMDY0NAog IHsKICAgIGlmIChhZGRyZXNzID09IDApCiAgICAgIHJldHVybiAwOwotQEAgLTE3NDcsNyArMTc0 OCw3IEBAIGRlc2NfYm91bmRzIChzdHJ1Y3QgdmFsdWUgKmFycikKK0BAIC0xNzQzLDcgKzE3NDQs NyBAQCBkZXNjX2JvdW5kcyAoc3RydWN0IHZhbHVlICphcnIpCiAgLyogSWYgVFlQRSBpcyB0aGUg dHlwZSBvZiBhbiBhcnJheS1kZXNjcmlwdG9yIChmYXQgcG9pbnRlciksICB0aGUgYml0CiAgICAg cG9zaXRpb24gb2YgdGhlIGZpZWxkIGNvbnRhaW5pbmcgdGhlIGFkZHJlc3Mgb2YgdGhlIGJvdW5k cyBkYXRhLiAgKi8KICAKQEAgLTU4OCw3ICs1ODgsNyBAQCBpbmRleCA2Mzk1MTg0OTU2Li44ZDI1 ZmRiNGM2IDEwMDY0NAogIGZhdF9wbnRyX2JvdW5kc19iaXRwb3MgKHN0cnVjdCB0eXBlICp0eXBl KQogIHsKICAgIHJldHVybiBUWVBFX0ZJRUxEX0JJVFBPUyAoZGVzY19iYXNlX3R5cGUgKHR5cGUp LCAxKTsKLUBAIC0xODEzLDcgKzE4MTQsNyBAQCBkZXNjX2RhdGEgKHN0cnVjdCB2YWx1ZSAqYXJy KQorQEAgLTE4MDksNyArMTgxMCw3IEBAIGRlc2NfZGF0YSAoc3RydWN0IHZhbHVlICphcnIpCiAg LyogSWYgVFlQRSBpcyB0aGUgdHlwZSBvZiBhbiBhcnJheS1kZXNjcmlwdG9yIChmYXQgcG9pbnRl ciksIHRoZSBiaXQKICAgICBwb3NpdGlvbiBvZiB0aGUgZmllbGQgY29udGFpbmluZyB0aGUgYWRk cmVzcyBvZiB0aGUgZGF0YS4gICovCiAgCkBAIC01OTcsNyArNTk3LDcgQEAgaW5kZXggNjM5NTE4 NDk1Ni4uOGQyNWZkYjRjNiAxMDA2NDQKICBmYXRfcG50cl9kYXRhX2JpdHBvcyAoc3RydWN0IHR5 cGUgKnR5cGUpCiAgewogICAgcmV0dXJuIFRZUEVfRklFTERfQklUUE9TIChkZXNjX2Jhc2VfdHlw ZSAodHlwZSksIDApOwotQEAgLTE4NDgsNyArMTg0OSw3IEBAIGRlc2Nfb25lX2JvdW5kIChzdHJ1 Y3QgdmFsdWUgKmJvdW5kcywgaW50IGksIGludCB3aGljaCkKK0BAIC0xODQ0LDcgKzE4NDUsNyBA QCBkZXNjX29uZV9ib3VuZCAoc3RydWN0IHZhbHVlICpib3VuZHMsIGludCBpLCBpbnQgd2hpY2gp CiAgICAgb2YgdGhlIEl0aCBsb3dlciBib3VuZCBzdG9yZWQgaW4gaXQsIGlmIFdISUNIIGlzIDAs IGFuZCB0aGUgSXRoIHVwcGVyCiAgICAgYm91bmQsIGlmIFdISUNIIGlzIDEuICBUaGUgZmlyc3Qg Ym91bmQgaXMgST0xLiAgKi8KICAKQEAgLTYwNiw3ICs2MDYsNyBAQCBpbmRleCA2Mzk1MTg0OTU2 Li44ZDI1ZmRiNGM2IDEwMDY0NAogIGRlc2NfYm91bmRfYml0cG9zIChzdHJ1Y3QgdHlwZSAqdHlw ZSwgaW50IGksIGludCB3aGljaCkKICB7CiAgICByZXR1cm4gVFlQRV9GSUVMRF9CSVRQT1MgKGRl c2NfYmFzZV90eXBlICh0eXBlKSwgMiAqIGkgKyB3aGljaCAtIDIpOwotQEAgLTIwMzgsNyArMjAz OSw3IEBAIGFkYV90eXBlX29mX2FycmF5IChzdHJ1Y3QgdmFsdWUgKmFyciwgaW50IGJvdW5kcykK K0BAIC0yMDM0LDcgKzIwMzUsNyBAQCBhZGFfdHlwZV9vZl9hcnJheSAoc3RydWN0IHZhbHVlICph cnIsIGludCBib3VuZHMpCiAgCSAgICAgICAgIHplcm8sIGFuZCBkb2VzIG5vdCBuZWVkIHRvIGJl IHJlY29tcHV0ZWQuICAqLwogIAkgICAgICBpZiAobG8gPCBoaSkKICAJCXsKQEAgLTYxNSw3ICs2 MTUsNyBAQCBpbmRleCA2Mzk1MTg0OTU2Li44ZDI1ZmRiNGM2IDEwMDY0NAogIAkJICAgICAgICAo aGkgLSBsbyArIDEpICogVFlQRV9GSUVMRF9CSVRTSVpFIChlbHRfdHlwZSwgMCk7CiAgCiAgCQkg IFRZUEVfTEVOR1RIIChhcnJheV90eXBlKSA9IChhcnJheV9iaXRzaXplICsgNykgLyA4OwotQEAg LTIxOTgsNyArMjE5OSw3IEBAIGRlY29kZV9wYWNrZWRfYXJyYXlfYml0c2l6ZSAoc3RydWN0IHR5 cGUgKnR5cGUpCitAQCAtMjE5NCw3ICsyMTk1LDcgQEAgZGVjb2RlX3BhY2tlZF9hcnJheV9iaXRz aXplIChzdHJ1Y3QgdHlwZSAqdHlwZSkKICAgICB0aGUgbGVuZ3RoIGlzIGFyYml0cmFyeS4gICov CiAgCiAgc3RhdGljIHN0cnVjdCB0eXBlICoKQEAgLTYyNCw3ICs2MjQsNyBAQCBpbmRleCA2Mzk1 MTg0OTU2Li44ZDI1ZmRiNGM2IDEwMDY0NAogIHsKICAgIHN0cnVjdCB0eXBlICpuZXdfZWx0X3R5 cGU7CiAgICBzdHJ1Y3QgdHlwZSAqbmV3X3R5cGU7Ci1AQCAtMjI1Miw3ICsyMjUzLDcgQEAgZGVj b2RlX2NvbnN0cmFpbmVkX3BhY2tlZF9hcnJheV90eXBlIChzdHJ1Y3QgdHlwZSAqdHlwZSkKK0BA IC0yMjQ4LDcgKzIyNDksNyBAQCBkZWNvZGVfY29uc3RyYWluZWRfcGFja2VkX2FycmF5X3R5cGUg KHN0cnVjdCB0eXBlICp0eXBlKQogICAgY2hhciAqbmFtZTsKICAgIGNvbnN0IGNoYXIgKnRhaWw7 CiAgICBzdHJ1Y3QgdHlwZSAqc2hhZG93X3R5cGU7CkBAIC02MzMsNyArNjMzLDcgQEAgaW5kZXgg NjM5NTE4NDk1Ni4uOGQyNWZkYjRjNiAxMDA2NDQKICAKICAgIGlmICghcmF3X25hbWUpCiAgICAg IHJhd19uYW1lID0gYWRhX3R5cGVfbmFtZSAoZGVzY19iYXNlX3R5cGUgKHR5cGUpKTsKLUBAIC0y MzIzLDcgKzIzMjQsOCBAQCBkZWNvZGVfY29uc3RyYWluZWRfcGFja2VkX2FycmF5IChzdHJ1Y3Qg dmFsdWUgKmFycikKK0BAIC0yMzE5LDcgKzIzMjAsOCBAQCBkZWNvZGVfY29uc3RyYWluZWRfcGFj a2VkX2FycmF5IChzdHJ1Y3QgdmFsdWUgKmFycikKICAgCSBhcnJheSB3aXRoIG5vIHdyYXBwZXIu ICBJbiBvcmRlciB0byBpbnRlcnByZXQgdGhlIHZhbHVlIHRocm91Z2gKICAgCSB0aGUgKGxlZnQt anVzdGlmaWVkKSBwYWNrZWQgYXJyYXkgdHlwZSB3ZSBqdXN0IGJ1aWx0LCB3ZSBtdXN0CiAgIAkg Zmlyc3QgbGVmdC1qdXN0aWZ5IGl0LiAgKi8KQEAgLTY0Myw3ICs2NDMsNyBAQCBpbmRleCA2Mzk1 MTg0OTU2Li44ZDI1ZmRiNGM2IDEwMDY0NAogICAgICAgIFVMT05HRVNUIG1vZDsKICAKICAgICAg ICBtb2QgPSBhZGFfbW9kdWx1cyAodmFsdWVfdHlwZSAoYXJyKSkgLSAxOwotQEAgLTI1NTEsNyAr MjU1Myw3IEBAIGFkYV91bnBhY2tfZnJvbV9jb250ZW50cyAoY29uc3QgZ2RiX2J5dGUgKnNyYywg aW50IGJpdF9vZmZzZXQsIGludCBiaXRfc2l6ZSwKK0BAIC0yNTQ3LDcgKzI1NDksNyBAQCBhZGFf dW5wYWNrX2Zyb21fY29udGVudHMgKGNvbnN0IGdkYl9ieXRlICpzcmMsIGludCBiaXRfb2Zmc2V0 LCBpbnQgYml0X3NpemUsCiAgCiAgc3RydWN0IHZhbHVlICoKICBhZGFfdmFsdWVfcHJpbWl0aXZl X3BhY2tlZF92YWwgKHN0cnVjdCB2YWx1ZSAqb2JqLCBjb25zdCBnZGJfYnl0ZSAqdmFsYWRkciwK QEAgLTY1Miw3ICs2NTIsNyBAQCBpbmRleCA2Mzk1MTg0OTU2Li44ZDI1ZmRiNGM2IDEwMDY0NAog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IHR5cGUgKnR5cGUpCiAgewog ICAgc3RydWN0IHZhbHVlICp2OwotQEAgLTI2MjEsNyArMjYyMyw3IEBAIGFkYV92YWx1ZV9wcmlt aXRpdmVfcGFja2VkX3ZhbCAoc3RydWN0IHZhbHVlICpvYmosIGNvbnN0IGdkYl9ieXRlICp2YWxh ZGRyLAorQEAgLTI2MTcsNyArMjYxOSw3IEBAIGFkYV92YWx1ZV9wcmltaXRpdmVfcGFja2VkX3Zh bCAoc3RydWN0IHZhbHVlICpvYmosIGNvbnN0IGdkYl9ieXRlICp2YWxhZGRyLAogIAogICAgaWYg KG9iaiAhPSBOVUxMKQogICAgICB7CkBAIC02NjEsNyArNjYxLDcgQEAgaW5kZXggNjM5NTE4NDk1 Ni4uOGQyNWZkYjRjNiAxMDA2NDQKICAKICAgICAgICBzZXRfdmFsdWVfY29tcG9uZW50X2xvY2F0 aW9uICh2LCBvYmopOwogICAgICAgIHNldF92YWx1ZV9iaXRwb3MgKHYsIGJpdF9vZmZzZXQgKyB2 YWx1ZV9iaXRwb3MgKG9iaikpOwotQEAgLTI2NjcsNyArMjY2OSw3IEBAIGFkYV92YWx1ZV9wcmlt aXRpdmVfcGFja2VkX3ZhbCAoc3RydWN0IHZhbHVlICpvYmosIGNvbnN0IGdkYl9ieXRlICp2YWxh ZGRyLAorQEAgLTI2NjMsNyArMjY2NSw3IEBAIGFkYV92YWx1ZV9wcmltaXRpdmVfcGFja2VkX3Zh bCAoc3RydWN0IHZhbHVlICpvYmosIGNvbnN0IGdkYl9ieXRlICp2YWxhZGRyLAogICAgIG5vdCBv dmVybGFwLiAgKi8KICBzdGF0aWMgdm9pZAogIG1vdmVfYml0cyAoZ2RiX2J5dGUgKnRhcmdldCwg aW50IHRhcmdfb2Zmc2V0LCBjb25zdCBnZGJfYnl0ZSAqc291cmNlLApAQCAtNjcwLDcgKzY3MCw3 IEBAIGluZGV4IDYzOTUxODQ5NTYuLjhkMjVmZGI0YzYgMTAwNjQ0CiAgewogICAgdW5zaWduZWQg aW50IGFjY3VtLCBtYXNrOwogICAgaW50IGFjY3VtX2JpdHMsIGNodW5rX3NpemU7Ci1AQCAtMjc1 Nyw3ICsyNzU5LDcgQEAgYWRhX3ZhbHVlX2Fzc2lnbiAoc3RydWN0IHZhbHVlICp0b3ZhbCwgc3Ry dWN0IHZhbHVlICpmcm9tdmFsKQorQEAgLTI3NTMsNyArMjc1NSw3IEBAIGFkYV92YWx1ZV9hc3Np Z24gKHN0cnVjdCB2YWx1ZSAqdG92YWwsIHN0cnVjdCB2YWx1ZSAqZnJvbXZhbCkKICAgICAgewog ICAgICAgIGludCBsZW4gPSAodmFsdWVfYml0cG9zICh0b3ZhbCkKICAJCSArIGJpdHMgKyBIT1NU X0NIQVJfQklUIC0gMSkgLyBIT1NUX0NIQVJfQklUOwpAQCAtNjc5LDcgKzY3OSw3IEBAIGluZGV4 IDYzOTUxODQ5NTYuLjhkMjVmZGI0YzYgMTAwNjQ0CiAgICAgICAgZ2RiX2J5dGUgKmJ1ZmZlciA9 IChnZGJfYnl0ZSAqKSBhbGxvY2EgKGxlbik7CiAgICAgICAgc3RydWN0IHZhbHVlICp2YWw7CiAg ICAgICAgQ09SRV9BRERSIHRvX2FkZHIgPSB2YWx1ZV9hZGRyZXNzICh0b3ZhbCk7Ci1AQCAtMjgw OCw3ICsyODEwLDcgQEAgdmFsdWVfYXNzaWduX3RvX2NvbXBvbmVudCAoc3RydWN0IHZhbHVlICpj b250YWluZXIsIHN0cnVjdCB2YWx1ZSAqY29tcG9uZW50LAorQEAgLTI4MDQsNyArMjgwNiw3IEBA IHZhbHVlX2Fzc2lnbl90b19jb21wb25lbnQgKHN0cnVjdCB2YWx1ZSAqY29udGFpbmVyLCBzdHJ1 Y3QgdmFsdWUgKmNvbXBvbmVudCwKICAgICAgKExPTkdFU1QpICAodmFsdWVfYWRkcmVzcyAoY29t cG9uZW50KSAtIHZhbHVlX2FkZHJlc3MgKGNvbnRhaW5lcikpOwogICAgaW50IGJpdF9vZmZzZXRf aW5fY29udGFpbmVyID0KICAgICAgdmFsdWVfYml0cG9zIChjb21wb25lbnQpIC0gdmFsdWVfYml0 cG9zIChjb250YWluZXIpOwpAQCAtNjg4LDcgKzY4OCw3IEBAIGluZGV4IDYzOTUxODQ5NTYuLjhk MjVmZGI0YzYgMTAwNjQ0CiAgCiAgICB2YWwgPSB2YWx1ZV9jYXN0ICh2YWx1ZV90eXBlIChjb21w b25lbnQpLCB2YWwpOwogIAotQEAgLTQ0NzYsNyArNDQ3OCw3IEBAIGVuc3VyZV9sdmFsIChzdHJ1 Y3QgdmFsdWUgKnZhbCkKK0BAIC00NDY4LDcgKzQ0NzAsNyBAQCBlbnN1cmVfbHZhbCAoc3RydWN0 IHZhbHVlICp2YWwpCiAgICBpZiAoVkFMVUVfTFZBTCAodmFsKSA9PSBub3RfbHZhbAogICAgICAg IHx8IFZBTFVFX0xWQUwgKHZhbCkgPT0gbHZhbF9pbnRlcm5hbHZhcikKICAgICAgewpAQCAtNjk3 LDcgKzY5Nyw3IEBAIGluZGV4IDYzOTUxODQ5NTYuLjhkMjVmZGI0YzYgMTAwNjQ0CiAgICAgICAg Y29uc3QgQ09SRV9BRERSIGFkZHIgPQogICAgICAgICAgdmFsdWVfYXNfbG9uZyAodmFsdWVfYWxs b2NhdGVfc3BhY2VfaW5faW5mZXJpb3IgKGxlbikpOwogIAotQEAgLTQ1NjAsNyArNDU2Miw3IEBA IHN0YXRpYyBDT1JFX0FERFIKK0BAIC00NTUyLDcgKzQ1NTQsNyBAQCBzdGF0aWMgQ09SRV9BRERS CiAgdmFsdWVfcG9pbnRlciAoc3RydWN0IHZhbHVlICp2YWx1ZSwgc3RydWN0IHR5cGUgKnR5cGUp CiAgewogICAgc3RydWN0IGdkYmFyY2ggKmdkYmFyY2ggPSBnZXRfdHlwZV9hcmNoICh0eXBlKTsK QEAgLTcwNiw3ICs3MDYsNyBAQCBpbmRleCA2Mzk1MTg0OTU2Li44ZDI1ZmRiNGM2IDEwMDY0NAog ICAgZ2RiX2J5dGUgKmJ1ZiA9IChnZGJfYnl0ZSAqKSBhbGxvY2EgKGxlbik7CiAgICBDT1JFX0FE RFIgYWRkcjsKICAKLUBAIC02NzE4LDcgKzY3MjAsNyBAQCB2YWx1ZV90YWdfZnJvbV9jb250ZW50 c19hbmRfYWRkcmVzcyAoc3RydWN0IHR5cGUgKnR5cGUsCitAQCAtNjY4NSw3ICs2Njg3LDcgQEAg dmFsdWVfdGFnX2Zyb21fY29udGVudHNfYW5kX2FkZHJlc3MgKHN0cnVjdCB0eXBlICp0eXBlLAog IAkJCQkgICAgIGNvbnN0IGdkYl9ieXRlICp2YWxhZGRyLAogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBDT1JFX0FERFIgYWRkcmVzcykKICB7CkBAIC03MTUsNyArNzE1LDcg QEAgaW5kZXggNjM5NTE4NDk1Ni4uOGQyNWZkYjRjNiAxMDA2NDQKICAgIHN0cnVjdCB0eXBlICp0 YWdfdHlwZTsKICAKICAgIGlmIChmaW5kX3N0cnVjdF9maWVsZCAoIl90YWciLCB0eXBlLCAwLCAm dGFnX3R5cGUsICZ0YWdfYnl0ZV9vZmZzZXQsCi1AQCAtNzIxMSw3ICs3MjEzLDcgQEAgYWRhX2lu X3ZhcmlhbnQgKExPTkdFU1QgdmFsLCBzdHJ1Y3QgdHlwZSAqdHlwZSwgaW50IGZpZWxkX251bSkK K0BAIC03MTc4LDcgKzcxODAsNyBAQCBhZGFfaW5fdmFyaWFudCAoTE9OR0VTVCB2YWwsIHN0cnVj dCB0eXBlICp0eXBlLCBpbnQgZmllbGRfbnVtKQogICAgIG9ubHkgaW4gdGhhdCBpdCBjYW4gaGFu ZGxlIHBhY2tlZCB2YWx1ZXMgb2YgYXJiaXRyYXJ5IHR5cGUuICAqLwogIAogIHN0YXRpYyBzdHJ1 Y3QgdmFsdWUgKgpAQCAtNzI0LDcgKzcyNCw3IEBAIGluZGV4IDYzOTUxODQ5NTYuLjhkMjVmZGI0 YzYgMTAwNjQ0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IHR5cGUgKmFyZ190 eXBlKQogIHsKICAgIHN0cnVjdCB0eXBlICp0eXBlOwotQEAgLTcyMjMsNyArNzIyNSw3IEBAIGFk YV92YWx1ZV9wcmltaXRpdmVfZmllbGQgKHN0cnVjdCB2YWx1ZSAqYXJnMSwgaW50IG9mZnNldCwg aW50IGZpZWxkbm8sCitAQCAtNzE5MCw3ICs3MTkyLDcgQEAgYWRhX3ZhbHVlX3ByaW1pdGl2ZV9m aWVsZCAoc3RydWN0IHZhbHVlICphcmcxLCBpbnQgb2Zmc2V0LCBpbnQgZmllbGRubywKICAKICAg IGlmIChUWVBFX0ZJRUxEX0JJVFNJWkUgKGFyZ190eXBlLCBmaWVsZG5vKSAhPSAwKQogICAgICB7 CkBAIC03MzMsNyArNzMzLDcgQEAgaW5kZXggNjM5NTE4NDk1Ni4uOGQyNWZkYjRjNiAxMDA2NDQK ICAgICAgICBpbnQgYml0X3NpemUgPSBUWVBFX0ZJRUxEX0JJVFNJWkUgKGFyZ190eXBlLCBmaWVs ZG5vKTsKICAKICAgICAgICByZXR1cm4gYWRhX3ZhbHVlX3ByaW1pdGl2ZV9wYWNrZWRfdmFsIChh cmcxLCB2YWx1ZV9jb250ZW50cyAoYXJnMSksCi1AQCAtNzMwMCw5ICs3MzAyLDkgQEAgYWRhX3Zh bHVlX3ByaW1pdGl2ZV9maWVsZCAoc3RydWN0IHZhbHVlICphcmcxLCBpbnQgb2Zmc2V0LCBpbnQg ZmllbGRubywKK0BAIC03MjY3LDkgKzcyNjksOSBAQCBhZGFfdmFsdWVfcHJpbWl0aXZlX2ZpZWxk IChzdHJ1Y3QgdmFsdWUgKmFyZzEsIGludCBvZmZzZXQsIGludCBmaWVsZG5vLAogICAgIFJldHVy bnMgMSBpZiBmb3VuZCwgMCBvdGhlcndpc2UuICAqLwogIAogIHN0YXRpYyBpbnQKQEAgLTc0NSw3 ICs3NDUsNyBAQCBpbmRleCA2Mzk1MTg0OTU2Li44ZDI1ZmRiNGM2IDEwMDY0NAogIAkJICAgaW50 ICppbmRleF9wKQogIHsKICAgIGludCBpOwotQEAgLTczMjEsOCArNzMyMyw4IEBAIGZpbmRfc3Ry dWN0X2ZpZWxkIChjb25zdCBjaGFyICpuYW1lLCBzdHJ1Y3QgdHlwZSAqdHlwZSwgaW50IG9mZnNl dCwKK0BAIC03Mjg4LDggKzcyOTAsOCBAQCBmaW5kX3N0cnVjdF9maWVsZCAoY29uc3QgY2hhciAq bmFtZSwgc3RydWN0IHR5cGUgKnR5cGUsIGludCBvZmZzZXQsCiAgCiAgICBmb3IgKGkgPSAwOyBp IDwgVFlQRV9ORklFTERTICh0eXBlKTsgaSArPSAxKQogICAgICB7CkBAIC03NTYsNyArNzU2LDcg QEAgaW5kZXggNjM5NTE4NDk1Ni4uOGQyNWZkYjRjNiAxMDA2NDQKICAgICAgICBjb25zdCBjaGFy ICp0X2ZpZWxkX25hbWUgPSBUWVBFX0ZJRUxEX05BTUUgKHR5cGUsIGkpOwogIAogICAgICAgIGlm ICh0X2ZpZWxkX25hbWUgPT0gTlVMTCkKLUBAIC03NDI0LDcgKzc0MjYsNyBAQCBudW1fdmlzaWJs ZV9maWVsZHMgKHN0cnVjdCB0eXBlICp0eXBlKQorQEAgLTczOTEsNyArNzM5Myw3IEBAIG51bV92 aXNpYmxlX2ZpZWxkcyAoc3RydWN0IHR5cGUgKnR5cGUpCiAgICAgbG9uZyBleHBsYW5hdGlvbiBp biBmaW5kX3N0cnVjdF9maWVsZCdzIGZ1bmN0aW9uIGRvY3VtZW50YXRpb24uICAqLwogIAogIHN0 YXRpYyBzdHJ1Y3QgdmFsdWUgKgpAQCAtNzY1LDcgKzc2NSw3IEBAIGluZGV4IDYzOTUxODQ5NTYu LjhkMjVmZGI0YzYgMTAwNjQ0CiAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCB0eXBl ICp0eXBlKQogIHsKICAgIGludCBpOwotQEAgLTc0NzIsNyArNzQ3NCw3IEBAIGFkYV9zZWFyY2hf c3RydWN0X2ZpZWxkIChjb25zdCBjaGFyICpuYW1lLCBzdHJ1Y3QgdmFsdWUgKmFyZywgaW50IG9m ZnNldCwKK0BAIC03NDM5LDcgKzc0NDEsNyBAQCBhZGFfc2VhcmNoX3N0cnVjdF9maWVsZCAoY29u c3QgY2hhciAqbmFtZSwgc3RydWN0IHZhbHVlICphcmcsIGludCBvZmZzZXQsCiAgICAgICAgICAg IGludCBqOwogICAgICAgICAgICBzdHJ1Y3QgdHlwZSAqZmllbGRfdHlwZSA9IGFkYV9jaGVja190 eXBlZGVmIChUWVBFX0ZJRUxEX1RZUEUgKHR5cGUsCiAgCQkJCQkJCQkJaSkpOwpAQCAtNzc0LDcg Kzc3NCw3IEBAIGluZGV4IDYzOTUxODQ5NTYuLjhkMjVmZGI0YzYgMTAwNjQ0CiAgCiAgICAgICAg ICAgIGZvciAoaiA9IDA7IGogPCBUWVBFX05GSUVMRFMgKGZpZWxkX3R5cGUpOyBqICs9IDEpCiAg ICAgICAgICAgICAgewotQEAgLTc1MDQsOCArNzUwNiw4IEBAIGFkYV9zZWFyY2hfc3RydWN0X2Zp ZWxkIChjb25zdCBjaGFyICpuYW1lLCBzdHJ1Y3QgdmFsdWUgKmFyZywgaW50IG9mZnNldCwKK0BA IC03NDcxLDggKzc0NzMsOCBAQCBhZGFfc2VhcmNoX3N0cnVjdF9maWVsZCAoY29uc3QgY2hhciAq bmFtZSwgc3RydWN0IHZhbHVlICphcmcsIGludCBvZmZzZXQsCiAgICByZXR1cm4gTlVMTDsKICB9 CiAgCkBAIC03ODUsNyArNzg1LDcgQEAgaW5kZXggNjM5NTE4NDk1Ni4uOGQyNWZkYjRjNiAxMDA2 NDQKICAKICAKICAvKiBSZXR1cm4gZmllbGQgI0lOREVYIGluIEFSRywgd2hlcmUgdGhlIGluZGV4 IGlzIHRoYXQgcmV0dXJuZWQgYnkKLUBAIC03NTE0LDcgKzc1MTYsNyBAQCBzdGF0aWMgc3RydWN0 IHZhbHVlICphZGFfaW5kZXhfc3RydWN0X2ZpZWxkXzEgKGludCAqLCBzdHJ1Y3QgdmFsdWUgKiwK K0BAIC03NDgxLDcgKzc0ODMsNyBAQCBzdGF0aWMgc3RydWN0IHZhbHVlICphZGFfaW5kZXhfc3Ry dWN0X2ZpZWxkXzEgKGludCAqLCBzdHJ1Y3QgdmFsdWUgKiwKICAgKiBJZiBmb3VuZCwgcmV0dXJu IHZhbHVlLCBlbHNlIHJldHVybiBOVUxMLiAgKi8KICAKICBzdGF0aWMgc3RydWN0IHZhbHVlICoK QEAgLTc5NCw3ICs3OTQsNyBAQCBpbmRleCA2Mzk1MTg0OTU2Li44ZDI1ZmRiNGM2IDEwMDY0NAog IAkJCXN0cnVjdCB0eXBlICp0eXBlKQogIHsKICAgIHJldHVybiBhZGFfaW5kZXhfc3RydWN0X2Zp ZWxkXzEgKCZpbmRleCwgYXJnLCBvZmZzZXQsIHR5cGUpOwotQEAgLTc1MjYsNyArNzUyOCw3IEBA IGFkYV9pbmRleF9zdHJ1Y3RfZmllbGQgKGludCBpbmRleCwgc3RydWN0IHZhbHVlICphcmcsIGlu dCBvZmZzZXQsCitAQCAtNzQ5Myw3ICs3NDk1LDcgQEAgYWRhX2luZGV4X3N0cnVjdF9maWVsZCAo aW50IGluZGV4LCBzdHJ1Y3QgdmFsdWUgKmFyZywgaW50IG9mZnNldCwKICAgKiAqSU5ERVhfUC4g ICovCiAgCiAgc3RhdGljIHN0cnVjdCB2YWx1ZSAqCkBAIC04MDMsNyArODAzLDcgQEAgaW5kZXgg NjM5NTE4NDk1Ni4uOGQyNWZkYjRjNiAxMDA2NDQKICAJCQkgIHN0cnVjdCB0eXBlICp0eXBlKQog IHsKICAgIGludCBpOwotQEAgLTc2MTYsNyArNzYxOCw4IEBAIGFkYV92YWx1ZV9zdHJ1Y3RfZWx0 IChzdHJ1Y3QgdmFsdWUgKmFyZywgY29uc3QgY2hhciAqbmFtZSwgaW50IG5vX2VycikKK0BAIC03 NTgzLDcgKzc1ODUsOCBAQCBhZGFfdmFsdWVfc3RydWN0X2VsdCAoc3RydWN0IHZhbHVlICphcmcs IGNvbnN0IGNoYXIgKm5hbWUsIGludCBub19lcnIpCiAgICAgIHYgPSBhZGFfc2VhcmNoX3N0cnVj dF9maWVsZCAobmFtZSwgYXJnLCAwLCB0KTsKICAgIGVsc2UKICAgICAgewpAQCAtODEzLDcgKzgx Myw3IEBAIGluZGV4IDYzOTUxODQ5NTYuLjhkMjVmZGI0YzYgMTAwNjQ0CiAgICAgICAgc3RydWN0 IHR5cGUgKmZpZWxkX3R5cGU7CiAgICAgICAgQ09SRV9BRERSIGFkZHJlc3M7CiAgCi1AQCAtNzk2 MCw4ICs3OTYzLDggQEAgYWRhX2NvZXJjZV9yZWYgKHN0cnVjdCB2YWx1ZSAqdmFsMCkKK0BAIC03 OTI3LDggKzc5MzAsOCBAQCBhZGFfY29lcmNlX3JlZiAoc3RydWN0IHZhbHVlICp2YWwwKQogIC8q IFJldHVybiBPRkYgcm91bmRlZCB1cHdhcmQgaWYgbmVjZXNzYXJ5IHRvIGEgbXVsdGlwbGUgb2YK ICAgICBBTElHTk1FTlQgKGEgcG93ZXIgb2YgMikuICAqLwogIApAQCAtODI0LDcgKzgyNCw3IEBA IGluZGV4IDYzOTUxODQ5NTYuLjhkMjVmZGI0YzYgMTAwNjQ0CiAgewogICAgcmV0dXJuIChvZmYg KyBhbGlnbm1lbnQgLSAxKSAmIH4oYWxpZ25tZW50IC0gMSk7CiAgfQotQEAgLTgzNTUsMTAgKzgz NTgsOSBAQCBhZGFfdGVtcGxhdGVfdG9fZml4ZWRfcmVjb3JkX3R5cGVfMSAoc3RydWN0IHR5cGUg KnR5cGUsCitAQCAtODMyMiwxMCArODMyNSw5IEBAIGFkYV90ZW1wbGF0ZV90b19maXhlZF9yZWNv cmRfdHlwZV8xIChzdHJ1Y3QgdHlwZSAqdHlwZSwKICAgIHN0cnVjdCB2YWx1ZSAqbWFyayA9IHZh bHVlX21hcmsgKCk7CiAgICBzdHJ1Y3QgdmFsdWUgKmR2YWw7CiAgICBzdHJ1Y3QgdHlwZSAqcnR5 cGU7CkBAIC04MzcsNyArODM3LDcgQEAgaW5kZXggNjM5NTE4NDk1Ni4uOGQyNWZkYjRjNiAxMDA2 NDQKICAgIGludCBmOwogIAogICAgLyogQ29tcHV0ZSB0aGUgbnVtYmVyIG9mIGZpZWxkcyBpbiB0 aGlzIHJlY29yZCB0eXBlIHRoYXQgYXJlIGdvaW5nCi1AQCAtODQzNiw3ICs4NDM4LDcgQEAgYWRh X3RlbXBsYXRlX3RvX2ZpeGVkX3JlY29yZF90eXBlXzEgKHN0cnVjdCB0eXBlICp0eXBlLAorQEAg LTg0MDMsNyArODQwNSw3IEBAIGFkYV90ZW1wbGF0ZV90b19maXhlZF9yZWNvcmRfdHlwZV8xIChz dHJ1Y3QgdHlwZSAqdHlwZSwKICAJICAgICB0aGF0IGZvbGxvdyB0aGlzIG9uZS4gICovCiAgCSAg aWYgKGFkYV9pc19hbGlnbmVyX3R5cGUgKGZpZWxkX3R5cGUpKQogIAkgICAgewpAQCAtODQ2LDcg Kzg0Niw3IEBAIGluZGV4IDYzOTUxODQ5NTYuLjhkMjVmZGI0YzYgMTAwNjQ0CiAgCiAgCSAgICAg IGZpZWxkX3ZhbGFkZHIgPSBjb25kX29mZnNldF9ob3N0IChmaWVsZF92YWxhZGRyLCBmaWVsZF9v ZmZzZXQpOwogIAkgICAgICBmaWVsZF9hZGRyZXNzID0gY29uZF9vZmZzZXRfdGFyZ2V0IChmaWVs ZF9hZGRyZXNzLCBmaWVsZF9vZmZzZXQpOwotQEAgLTg1NzIsMTEgKzg1NzQsMTEgQEAgYWRhX3Rl bXBsYXRlX3RvX2ZpeGVkX3JlY29yZF90eXBlXzEgKHN0cnVjdCB0eXBlICp0eXBlLAorQEAgLTg1 MzksMTEgKzg1NDEsMTEgQEAgYWRhX3RlbXBsYXRlX3RvX2ZpeGVkX3JlY29yZF90eXBlXzEgKHN0 cnVjdCB0eXBlICp0eXBlLAogICAgaWYgKFRZUEVfTEVOR1RIICh0eXBlKSA8PSAwKQogICAgICB7 CiAgICAgICAgaWYgKFRZUEVfTkFNRSAocnR5cGUpKQpAQCAtODYyLDcgKzg2Miw3IEBAIGluZGV4 IDYzOTUxODQ5NTYuLjhkMjVmZGI0YzYgMTAwNjQ0CiAgICAgIH0KICAgIGVsc2UKICAgICAgewot QEAgLTkwNDIsNyArOTA0NCw4IEBAIHRvX2ZpeGVkX2FycmF5X3R5cGUgKHN0cnVjdCB0eXBlICp0 eXBlMCwgc3RydWN0IHZhbHVlICpkdmFsLAorQEAgLTkwMDksNyArOTAxMSw4IEBAIHRvX2ZpeGVk X2FycmF5X3R5cGUgKHN0cnVjdCB0eXBlICp0eXBlMCwgc3RydWN0IHZhbHVlICpkdmFsLAogIAkg dHlwZSB3YXMgYSByZWd1bGFyIChub24tcGFja2VkKSBhcnJheSB0eXBlLiAgQXMgYSByZXN1bHQs IHRoZQogIAkgYml0c2l6ZSBvZiB0aGUgYXJyYXkgZWxlbWVudHMgbmVlZHMgdG8gYmUgc2V0IGFn YWluLCBhbmQgdGhlIGFycmF5CiAgCSBsZW5ndGggbmVlZHMgdG8gYmUgcmVjb21wdXRlZCBiYXNl ZCBvbiB0aGF0IGJpdHNpemUuICAqLwpAQCAtODczLDcgKzg3Myw3IEBAIGluZGV4IDYzOTUxODQ5 NTYuLjhkMjVmZGI0YzYgMTAwNjQ0CiAgCiAgICAgICAgVFlQRV9GSUVMRF9CSVRTSVpFIChyZXN1 bHQsIDApID0gVFlQRV9GSUVMRF9CSVRTSVpFICh0eXBlMCwgMCk7CiBkaWZmIC0tZ2l0IGEvZ2Ri L2FkYS1sYW5nLmggYi9nZGIvYWRhLWxhbmcuaAotaW5kZXggYmFjNmMwNmU0MC4uNzg0ZTQ5MzVh MyAxMDA2NDQKK2luZGV4IGE0MTkyZmM4YTUuLjVhODRjYThhMzUgMTAwNjQ0CiAtLS0gYS9nZGIv YWRhLWxhbmcuaAogKysrIGIvZ2RiL2FkYS1sYW5nLmgKIEBAIC0xNzUsNyArMTc1LDcgQEAgZXh0 ZXJuIHZvaWQgYWRhX3ByaW50X3R5cGUgKHN0cnVjdCB0eXBlICosIGNvbnN0IGNoYXIgKiwgc3Ry dWN0IHVpX2ZpbGUgKiwgaW50LApAQCAtOTI5LDcgKzkyOSw3IEBAIGluZGV4IDQ3Y2U4OTdkMDEu LjllZjliM2MyZjkgMTAwNjQ0CiAgICAgICAgY2FzZSBUWVBFX0NPREVfRU5VTToKICAJaWYgKHNo b3cgPCAwKQogZGlmZiAtLWdpdCBhL2dkYi9hZGEtdmFscHJpbnQuYyBiL2dkYi9hZGEtdmFscHJp bnQuYwotaW5kZXggYzVlZmRmMWMxYy4uNTkxMmM2ZDAxNiAxMDA2NDQKK2luZGV4IGE0ODY5MTk4 YTQuLmRhNWE5MzI3ZTEgMTAwNjQ0CiAtLS0gYS9nZGIvYWRhLXZhbHByaW50LmMKICsrKyBiL2dk Yi9hZGEtdmFscHJpbnQuYwogQEAgLTM0LDExICszNCwxMSBAQApAQCAtOTQ2LDcgKzk0Niw3IEBA IGluZGV4IGM1ZWZkZjFjMWMuLjU5MTJjNmQwMTYgMTAwNjQ0CiAgCQkJICAgICAgIGNvbnN0IHN0 cnVjdCBsYW5ndWFnZV9kZWZuICopOwogIAwKICAKLUBAIC0yODAsNyArMjgwLDcgQEAgYWRhX2Vt aXRfY2hhciAoaW50IGMsIHN0cnVjdCB0eXBlICp0eXBlLCBzdHJ1Y3QgdWlfZmlsZSAqc3RyZWFt LAorQEAgLTMxNiw3ICszMTYsNyBAQCBhZGFfZW1pdF9jaGFyIChpbnQgYywgc3RydWN0IHR5cGUg KnR5cGUsIHN0cnVjdCB1aV9maWxlICpzdHJlYW0sCiAgICAgb2YgYSBjaGFyYWN0ZXIuICAqLwog IAogIHN0YXRpYyBpbnQKQEAgLTk1NSw3ICs5NTUsNyBAQCBpbmRleCBjNWVmZGYxYzFjLi41OTEy YzZkMDE2IDEwMDY0NAogIAkgZW51bSBiZmRfZW5kaWFuIGJ5dGVfb3JkZXIpCiAgewogICAgaWYg KHR5cGVfbGVuID09IDEpCi1AQCAtNDQwLDExICs0NDAsMTEgQEAgYWRhX3ByaW50X3NjYWxhciAo c3RydWN0IHR5cGUgKnR5cGUsIExPTkdFU1QgdmFsLCBzdHJ1Y3QgdWlfZmlsZSAqc3RyZWFtKQor QEAgLTQ3NiwxMSArNDc2LDExIEBAIGFkYV9wcmludF9zY2FsYXIgKHN0cnVjdCB0eXBlICp0eXBl LCBMT05HRVNUIHZhbCwgc3RydWN0IHVpX2ZpbGUgKnN0cmVhbSkKICAKICBzdGF0aWMgdm9pZAog IHByaW50c3RyIChzdHJ1Y3QgdWlfZmlsZSAqc3RyZWFtLCBzdHJ1Y3QgdHlwZSAqZWx0dHlwZSwg Y29uc3QgZ2RiX2J5dGUgKnN0cmluZywKQEAgLTk2OSw3ICs5NjksNyBAQCBpbmRleCBjNWVmZGYx YzFjLi41OTEyYzZkMDE2IDEwMDY0NAogICAgdW5zaWduZWQgaW50IHRoaW5nc19wcmludGVkID0g MDsKICAgIGludCBpbl9xdW90ZXMgPSAwOwogICAgaW50IG5lZWRfY29tbWEgPSAwOwotQEAgLTQ1 OSw5ICs0NTksOSBAQCBwcmludHN0ciAoc3RydWN0IHVpX2ZpbGUgKnN0cmVhbSwgc3RydWN0IHR5 cGUgKmVsdHR5cGUsIGNvbnN0IGdkYl9ieXRlICpzdHJpbmcsCitAQCAtNDk1LDkgKzQ5NSw5IEBA IHByaW50c3RyIChzdHJ1Y3QgdWlfZmlsZSAqc3RyZWFtLCBzdHJ1Y3QgdHlwZSAqZWx0dHlwZSwg Y29uc3QgZ2RiX2J5dGUgKnN0cmluZywKICAgICAgewogICAgICAgIC8qIFBvc2l0aW9uIG9mIHRo ZSBjaGFyYWN0ZXIgd2UgYXJlIGV4YW1pbmluZwogICAgICAgICAgIHRvIHNlZSB3aGV0aGVyIGl0 IGlzIHJlcGVhdGVkLiAgKi8KQEAgLTk4MSw3ICs5ODEsNyBAQCBpbmRleCBjNWVmZGYxYzFjLi41 OTEyYzZkMDE2IDEwMDY0NAogIAogICAgICAgIFFVSVQ7CiAgCi1AQCAtNDkyLDcgKzQ5Miw4IEBA IHByaW50c3RyIChzdHJ1Y3QgdWlfZmlsZSAqc3RyZWFtLCBzdHJ1Y3QgdHlwZSAqZWx0dHlwZSwg Y29uc3QgZ2RiX2J5dGUgKnN0cmluZywKK0BAIC01MjgsNyArNTI4LDggQEAgcHJpbnRzdHIgKHN0 cnVjdCB1aV9maWxlICpzdHJlYW0sIHN0cnVjdCB0eXBlICplbHR0eXBlLCBjb25zdCBnZGJfYnl0 ZSAqc3RyaW5nLAogIAkgIGFkYV9lbWl0X2NoYXIgKGNoYXJfYXQgKHN0cmluZywgaSwgdHlwZV9s ZW4sIGJ5dGVfb3JkZXIpLAogIAkJCSBlbHR0eXBlLCBzdHJlYW0sICdcJycsIHR5cGVfbGVuKTsK ICAJICBmcHV0c19maWx0ZXJlZCAoIiciLCBzdHJlYW0pOwpAQCAtOTkxLDcgKzk5MSw3IEBAIGlu ZGV4IGM1ZWZkZjFjMWMuLjU5MTJjNmQwMTYgMTAwNjQ0CiAgCSAgaSA9IHJlcDEgLSAxOwogIAkg IHRoaW5nc19wcmludGVkICs9IG9wdGlvbnMtPnJlcGVhdF9jb3VudF90aHJlc2hvbGQ7CiAgCSAg bmVlZF9jb21tYSA9IDE7Ci1AQCAtNTIwLDcgKzUyMSw3IEBAIHByaW50c3RyIChzdHJ1Y3QgdWlf ZmlsZSAqc3RyZWFtLCBzdHJ1Y3QgdHlwZSAqZWx0dHlwZSwgY29uc3QgZ2RiX2J5dGUgKnN0cmlu ZywKK0BAIC01NTYsNyArNTU3LDcgQEAgcHJpbnRzdHIgKHN0cnVjdCB1aV9maWxlICpzdHJlYW0s IHN0cnVjdCB0eXBlICplbHR0eXBlLCBjb25zdCBnZGJfYnl0ZSAqc3RyaW5nLAogIAogIHZvaWQK ICBhZGFfcHJpbnRzdHIgKHN0cnVjdCB1aV9maWxlICpzdHJlYW0sIHN0cnVjdCB0eXBlICp0eXBl LApAQCAtMTAwMCw3ICsxMDAwLDcgQEAgaW5kZXggYzVlZmRmMWMxYy4uNTkxMmM2ZDAxNiAxMDA2 NDQKICAJICAgICAgY29uc3QgY2hhciAqZW5jb2RpbmcsIGludCBmb3JjZV9lbGxpcHNlcywKICAJ ICAgICAgY29uc3Qgc3RydWN0IHZhbHVlX3ByaW50X29wdGlvbnMgKm9wdGlvbnMpCiAgewotQEAg LTUzMCwxMiArNTMxLDEyIEBAIGFkYV9wcmludHN0ciAoc3RydWN0IHVpX2ZpbGUgKnN0cmVhbSwg c3RydWN0IHR5cGUgKnR5cGUsCitAQCAtNTY2LDEyICs1NjcsMTIgQEAgYWRhX3ByaW50c3RyIChz dHJ1Y3QgdWlfZmlsZSAqc3RyZWFtLCBzdHJ1Y3QgdHlwZSAqdHlwZSwKICAKICBzdGF0aWMgaW50 CiAgcHJpbnRfdmFyaWFudF9wYXJ0IChzdHJ1Y3QgdHlwZSAqdHlwZSwgaW50IGZpZWxkX251bSwK QEAgLTEwMTUsNyArMTAxNSw3IEBAIGluZGV4IGM1ZWZkZjFjMWMuLjU5MTJjNmQwMTYgMTAwNjQ0 CiAgCQkgICAgY29uc3Qgc3RydWN0IGxhbmd1YWdlX2RlZm4gKmxhbmd1YWdlKQogIHsKICAgIHN0 cnVjdCB0eXBlICp2YXJfdHlwZSA9IFRZUEVfRklFTERfVFlQRSAodHlwZSwgZmllbGRfbnVtKTsK LUBAIC01NzEsMTEgKzU3MiwxMSBAQCBwcmludF92YXJpYW50X3BhcnQgKHN0cnVjdCB0eXBlICp0 eXBlLCBpbnQgZmllbGRfbnVtLAorQEAgLTYwNywxMSArNjA4LDExIEBAIHByaW50X3ZhcmlhbnRf cGFydCAoc3RydWN0IHR5cGUgKnR5cGUsIGludCBmaWVsZF9udW0sCiAgCiAgc3RhdGljIGludAog IHByaW50X2ZpZWxkX3ZhbHVlcyAoc3RydWN0IHR5cGUgKnR5cGUsIGNvbnN0IGdkYl9ieXRlICp2 YWxhZGRyLApAQCAtMTAyOSw3ICsxMDI5LDcgQEAgaW5kZXggYzVlZmRmMWMxYy4uNTkxMmM2ZDAx NiAxMDA2NDQKICAJCSAgICBjb25zdCBzdHJ1Y3QgbGFuZ3VhZ2VfZGVmbiAqbGFuZ3VhZ2UpCiAg ewogICAgaW50IGksIGxlbjsKLUBAIC02NDEsNyArNjQyLDcgQEAgcHJpbnRfZmllbGRfdmFsdWVz IChzdHJ1Y3QgdHlwZSAqdHlwZSwgY29uc3QgZ2RiX2J5dGUgKnZhbGFkZHIsCitAQCAtNjc3LDcg KzY3OCw3IEBAIHByaW50X2ZpZWxkX3ZhbHVlcyAoc3RydWN0IHR5cGUgKnR5cGUsIGNvbnN0IGdk Yl9ieXRlICp2YWxhZGRyLAogIAkgIGVsc2UKICAJICAgIHsKICAJICAgICAgc3RydWN0IHZhbHVl ICp2OwpAQCAtMTAzOCw3ICsxMDM4LDcgQEAgaW5kZXggYzVlZmRmMWMxYy4uNTkxMmM2ZDAxNiAx MDA2NDQKICAJICAgICAgaW50IGJpdF9zaXplID0gVFlQRV9GSUVMRF9CSVRTSVpFICh0eXBlLCBp KTsKICAJICAgICAgc3RydWN0IHZhbHVlX3ByaW50X29wdGlvbnMgb3B0czsKICAKLUBAIC02ODYs OCArNjg3LDggQEAgYWRhX3ZhbF9wcmludF9zdHJpbmcgKHN0cnVjdCB0eXBlICp0eXBlLCBjb25z dCBnZGJfYnl0ZSAqdmFsYWRkciwKK0BAIC03MjIsOCArNzIzLDggQEAgYWRhX3ZhbF9wcmludF9z dHJpbmcgKHN0cnVjdCB0eXBlICp0eXBlLCBjb25zdCBnZGJfYnl0ZSAqdmFsYWRkciwKICB7CiAg ICBlbnVtIGJmZF9lbmRpYW4gYnl0ZV9vcmRlciA9IGdkYmFyY2hfYnl0ZV9vcmRlciAoZ2V0X3R5 cGVfYXJjaCAodHlwZSkpOwogICAgc3RydWN0IHR5cGUgKmVsdHR5cGUgPSBUWVBFX1RBUkdFVF9U WVBFICh0eXBlKTsKQEAgLTEwNDksNyArMTA0OSw3IEBAIGluZGV4IGM1ZWZkZjFjMWMuLjU5MTJj NmQwMTYgMTAwNjQ0CiAgCiAgICAvKiBXZSBrbm93IHRoYXQgRUxUVFlQRSBjYW5ub3QgcG9zc2li bHkgYmUgbnVsbCwgYmVjYXVzZSB3ZSBhc3N1bWUKICAgICAgIHRoYXQgd2UncmUgY2FsbGVkIG9u bHkgd2hlbiBUWVBFIGlzIGEgc3RyaW5nLWxpa2UgdHlwZS4KLUBAIC03MDYsNyArNzA3LDcgQEAg YWRhX3ZhbF9wcmludF9zdHJpbmcgKHN0cnVjdCB0eXBlICp0eXBlLCBjb25zdCBnZGJfYnl0ZSAq dmFsYWRkciwKK0BAIC03NDIsNyArNzQzLDcgQEAgYWRhX3ZhbF9wcmludF9zdHJpbmcgKHN0cnVj dCB0eXBlICp0eXBlLCBjb25zdCBnZGJfYnl0ZSAqdmFsYWRkciwKICAgICAgIGVsZW1lbnRzIHVw IHRvIGl0LiAgKi8KICAgIGlmIChvcHRpb25zLT5zdG9wX3ByaW50X2F0X251bGwpCiAgICAgIHsK QEAgLTEwNTgsNyArMTA1OCw3IEBAIGluZGV4IGM1ZWZkZjFjMWMuLjU5MTJjNmQwMTYgMTAwNjQ0 CiAgCiAgICAgICAgLyogTG9vayBmb3IgYSBOVUxMIGNoYXIuICAqLwogICAgICAgIGZvciAodGVt cF9sZW4gPSAwOwotQEAgLTEwNzksNyArMTA4MCw3IEBAIGFkYV92YWxfcHJpbnRfcmVmIChzdHJ1 Y3QgdHlwZSAqdHlwZSwgY29uc3QgZ2RiX2J5dGUgKnZhbGFkZHIsCitAQCAtMTExNSw3ICsxMTE2 LDcgQEAgYWRhX3ZhbF9wcmludF9yZWYgKHN0cnVjdCB0eXBlICp0eXBlLCBjb25zdCBnZGJfYnl0 ZSAqdmFsYWRkciwKICAKICBzdGF0aWMgdm9pZAogIGFkYV92YWxfcHJpbnRfMSAoc3RydWN0IHR5 cGUgKnR5cGUsCkBAIC0xMDY3LDcgKzEwNjcsNyBAQCBpbmRleCBjNWVmZGYxYzFjLi41OTEyYzZk MDE2IDEwMDY0NAogIAkJIHN0cnVjdCB1aV9maWxlICpzdHJlYW0sIGludCByZWN1cnNlLAogIAkJ IHN0cnVjdCB2YWx1ZSAqb3JpZ2luYWxfdmFsdWUsCiAgCQkgY29uc3Qgc3RydWN0IHZhbHVlX3By aW50X29wdGlvbnMgKm9wdGlvbnMsCi1AQCAtMTE2Myw3ICsxMTY0LDcgQEAgYWRhX3ZhbF9wcmlu dF8xIChzdHJ1Y3QgdHlwZSAqdHlwZSwKK0BAIC0xMTk5LDcgKzEyMDAsNyBAQCBhZGFfdmFsX3By aW50XzEgKHN0cnVjdCB0eXBlICp0eXBlLAogIAogIHZvaWQKICBhZGFfdmFsX3ByaW50IChzdHJ1 Y3QgdHlwZSAqdHlwZSwKQEAgLTEwNzcsMTAgKzEwNzcsMTAgQEAgaW5kZXggYzVlZmRmMWMxYy4u NTkxMmM2ZDAxNiAxMDA2NDQKICAJICAgICAgIHN0cnVjdCB2YWx1ZSAqdmFsLAogIAkgICAgICAg Y29uc3Qgc3RydWN0IHZhbHVlX3ByaW50X29wdGlvbnMgKm9wdGlvbnMpCiBkaWZmIC0tZ2l0IGEv Z2RiL2FtZDY0LXRkZXAuYyBiL2dkYi9hbWQ2NC10ZGVwLmMKLWluZGV4IDdjNzA3OTJiM2YuLjY1 MTc5NGE0MWYgMTAwNjQ0CitpbmRleCAxODY2OTBhZjMwLi4zMzhhMGYyYzg3IDEwMDY0NAogLS0t IGEvZ2RiL2FtZDY0LXRkZXAuYwogKysrIGIvZ2RiL2FtZDY0LXRkZXAuYwotQEAgLTcyNyw3ICs3 MjcsNyBAQCBhbWQ2NF9yZXR1cm5fdmFsdWUgKHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoLCBzdHJ1 Y3QgdmFsdWUgKmZ1bmN0aW9uLAorQEAgLTcyOSw3ICs3MjksNyBAQCBhbWQ2NF9yZXR1cm5fdmFs dWUgKHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoLCBzdHJ1Y3QgdmFsdWUgKmZ1bmN0aW9uLAogIAkJ ICAgIGdkYl9ieXRlICpyZWFkYnVmLCBjb25zdCBnZGJfYnl0ZSAqd3JpdGVidWYpCiAgewogICAg ZW51bSBhbWQ2NF9yZWdfY2xhc3MgdGhlY2xhc3NbMl07CkBAIC0xMDg5LDcgKzEwODksNyBAQCBp bmRleCA3YzcwNzkyYjNmLi42NTE3OTRhNDFmIDEwMDY0NAogICAgc3RhdGljIGludCBpbnRlZ2Vy X3JlZ251bVtdID0geyBBTUQ2NF9SQVhfUkVHTlVNLCBBTUQ2NF9SRFhfUkVHTlVNIH07CiAgICBz dGF0aWMgaW50IHNzZV9yZWdudW1bXSA9IHsgQU1ENjRfWE1NMF9SRUdOVU0sIEFNRDY0X1hNTTFf UkVHTlVNIH07CiAgICBpbnQgaW50ZWdlcl9yZWcgPSAwOwotQEAgLTg0MywxMSArODQzLDEzIEBA IGFtZDY0X3JldHVybl92YWx1ZSAoc3RydWN0IGdkYmFyY2ggKmdkYmFyY2gsIHN0cnVjdCB2YWx1 ZSAqZnVuY3Rpb24sCitAQCAtODQ1LDExICs4NDUsMTMgQEAgYW1kNjRfcmV0dXJuX3ZhbHVlIChz dHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCwgc3RydWN0IHZhbHVlICpmdW5jdGlvbiwKICAKICAgICAg ICBnZGJfYXNzZXJ0IChyZWdudW0gIT0gLTEpOwogIApAQCAtMTEwNiw3ICsxMTA2LDcgQEAgaW5k ZXggN2M3MDc5MmIzZi4uNjUxNzk0YTQxZiAxMDA2NDQKICAgICAgfQogIAogZGlmZiAtLWdpdCBh L2dkYi9hbm5vdGF0ZS5jIGIvZ2RiL2Fubm90YXRlLmMKLWluZGV4IDBjNzBmZjk1NTMuLjZkMTY5 YmZkYWUgMTAwNjQ0CitpbmRleCA0OTVhYTJkYmE2Li40NWU0ODZhZTY0IDEwMDY0NAogLS0tIGEv Z2RiL2Fubm90YXRlLmMKICsrKyBiL2dkYi9hbm5vdGF0ZS5jCiBAQCAtNTMxLDIxICs1MzEsMjEg QEAgYW5ub3RhdGVfZnJhbWVfZW5kICh2b2lkKQpAQCAtMTE1MSw3ICsxMTUxLDcgQEAgaW5kZXgg MWI5ZDlkZDAzNC4uZDc5Y2NjNTZlZCAxMDA2NDQKICBleHRlcm4gdm9pZCBhbm5vdGF0ZV9lbHQg KHZvaWQpOwogIGV4dGVybiB2b2lkIGFubm90YXRlX2FycmF5X3NlY3Rpb25fZW5kICh2b2lkKTsK IGRpZmYgLS1naXQgYS9nZGIvYXJjaC11dGlscy5jIGIvZ2RiL2FyY2gtdXRpbHMuYwotaW5kZXgg NjkzZDdlM2RjOC4uYjcwMTAxMDAxOSAxMDA2NDQKK2luZGV4IGUzY2NlNDkxZWUuLmQzMTE3YmRh YTEgMTAwNjQ0CiAtLS0gYS9nZGIvYXJjaC11dGlscy5jCiArKysgYi9nZGIvYXJjaC11dGlscy5j CiBAQCAtMjI4LDcgKzIyOCw3IEBAIGxlZ2FjeV92aXJ0dWFsX2ZyYW1lX3BvaW50ZXIgKHN0cnVj dCBnZGJhcmNoICpnZGJhcmNoLApAQCAtMTE2NCw3ICsxMTY0LDcgQEAgaW5kZXggNjkzZDdlM2Rj OC4uYjcwMTAxMDAxOSAxMDA2NDQKICAgIGNvbnN0IHN0cnVjdCBmbG9hdGZvcm1hdCAqKmZvcm1h dCA9IE5VTEw7CiAgCiBkaWZmIC0tZ2l0IGEvZ2RiL2FyY2gtdXRpbHMuaCBiL2dkYi9hcmNoLXV0 aWxzLmgKLWluZGV4IGI1MWE0ZWMxZWUuLjJkMzQ0ZTdiOTMgMTAwNjQ0CitpbmRleCA3N2VlOWFm MmJmLi5lMGJkNzAxZDVlIDEwMDY0NAogLS0tIGEvZ2RiL2FyY2gtdXRpbHMuaAogKysrIGIvZ2Ri L2FyY2gtdXRpbHMuaAogQEAgLTEzMSw3ICsxMzEsNyBAQCBleHRlcm4gZ2RiYXJjaF92aXJ0dWFs X2ZyYW1lX3BvaW50ZXJfZnR5cGUgbGVnYWN5X3ZpcnR1YWxfZnJhbWVfcG9pbnRlcjsKQEAgLTEx NzcsMTUgKzExNzcsMTUgQEAgaW5kZXggYjUxYTRlYzFlZS4uMmQzNDRlN2I5MyAxMDA2NDQKICBl eHRlcm4gQ09SRV9BRERSIGdlbmVyaWNfc2tpcF90cmFtcG9saW5lX2NvZGUgKHN0cnVjdCBmcmFt ZV9pbmZvICpmcmFtZSwKICAJCQkJCSAgICAgICBDT1JFX0FERFIgcGMpOwogZGlmZiAtLWdpdCBh L2dkYi9hcm0tbGludXgtbmF0LmMgYi9nZGIvYXJtLWxpbnV4LW5hdC5jCi1pbmRleCA0ODRiZDRl NGM0Li4zYjdhYTQwZGI4IDEwMDY0NAoraW5kZXggMzAwMzBiNGViMC4uOGUyYWJmYjcwYyAxMDA2 NDQKIC0tLSBhL2dkYi9hcm0tbGludXgtbmF0LmMKICsrKyBiL2dkYi9hcm0tbGludXgtbmF0LmMK LUBAIC0xMDY3LDcgKzEwNjcsNyBAQCBhcm1fbGludXhfcmVtb3ZlX2h3X2JyZWFrcG9pbnQgKHN0 cnVjdCB0YXJnZXRfb3BzICpzZWxmLAorQEAgLTExMDQsNyArMTEwNCw3IEBAIGFybV9saW51eF9u YXRfdGFyZ2V0OjpyZW1vdmVfaHdfYnJlYWtwb2ludCAoc3RydWN0IGdkYmFyY2ggKmdkYmFyY2gs CisgLyogQXJlIHdlIGFibGUgdG8gdXNlIGEgaGFyZHdhcmUgd2F0Y2hwb2ludCBmb3IgdGhlIExF TiBieXRlcyBzdGFydGluZyBhdCAKICAgICBBRERSPyAgKi8KLSBzdGF0aWMgaW50Ci0gYXJtX2xp bnV4X3JlZ2lvbl9va19mb3JfaHdfd2F0Y2hwb2ludCAoc3RydWN0IHRhcmdldF9vcHMgKnNlbGYs Ci0tCQkJCSAgICAgICBDT1JFX0FERFIgYWRkciwgaW50IGxlbikKLSsJCQkJICAgICAgIENPUkVf QUREUiBhZGRyLCBMT05HRVNUIGxlbikKKyBpbnQKKy1hcm1fbGludXhfbmF0X3RhcmdldDo6cmVn aW9uX29rX2Zvcl9od193YXRjaHBvaW50IChDT1JFX0FERFIgYWRkciwgaW50IGxlbikKKythcm1f bGludXhfbmF0X3RhcmdldDo6cmVnaW9uX29rX2Zvcl9od193YXRjaHBvaW50IChDT1JFX0FERFIg YWRkciwgTE9OR0VTVCBsZW4pCiAgewogICAgY29uc3Qgc3RydWN0IGFybV9saW51eF9od2JwX2Nh cCAqY2FwID0gYXJtX2xpbnV4X2dldF9od2JwX2NhcCAoKTsKICAgIENPUkVfQUREUiBtYXhfd3Bf bGVuZ3RoLCBhbGlnbmVkX2FkZHI7CkBAIC0xMzE2LDEwICsxMzE2LDEwIEBAIGluZGV4IDYwNjZi NzcwNzYuLmQxYzlkMzUwMzAgMTAwNjQ0CiAgLyogQXBwZW5kIGEgZ290byBvcCB0byBFWFBSLiAg T1AgaXMgdGhlIGFjdHVhbCBvcCAobXVzdCBiZSBhb3BfZ290byBvcgogICAgIGFvcF9pZl9nb3Rv KS4gIFdlIGFzc3VtZSB3ZSBkb24ndCBrbm93IHRoZSB0YXJnZXQgb2Zmc2V0IHlldCwKIGRpZmYg LS1naXQgYS9nZGIvYnJlYWtwb2ludC5jIGIvZ2RiL2JyZWFrcG9pbnQuYwotaW5kZXggNmEwYzE1 YjIzOS4uMDVkN2VkM2VhMSAxMDA2NDQKK2luZGV4IDAxMDZjZThkZDUuLmZlM2EyZDEzNTAgMTAw NjQ0CiAtLS0gYS9nZGIvYnJlYWtwb2ludC5jCiArKysgYi9nZGIvYnJlYWtwb2ludC5jCi1AQCAt MjA2NCw5ICsyMDY0LDkgQEAgc2hvdWxkX2JlX2luc2VydGVkIChzdHJ1Y3QgYnBfbG9jYXRpb24g KmJsKQorQEAgLTIwNTMsOSArMjA1Myw5IEBAIHNob3VsZF9iZV9pbnNlcnRlZCAoc3RydWN0IGJw X2xvY2F0aW9uICpibCkKICAJewogIAkgIGZwcmludGZfdW5maWx0ZXJlZCAoZ2RiX3N0ZGxvZywK ICAJCQkgICAgICAiaW5mcnVuOiBzdGVwcGluZyBwYXN0IG5vbi1zdGVwcGFibGUgd2F0Y2hwb2lu dC4gIgpAQCAtMTMzMSw3ICsxMzMxLDcgQEAgaW5kZXggNmEwYzE1YjIzOS4uMDVkN2VkM2VhMSAx MDA2NDQKICAJfQogICAgICAgIHJldHVybiAwOwogICAgICB9Ci1AQCAtNjg1MSw3ICs2ODUxLDcg QEAgYnJlYWtwb2ludF9hZGRyZXNzX21hdGNoIChjb25zdCBhZGRyZXNzX3NwYWNlICphc3BhY2Ux LCBDT1JFX0FERFIgYWRkcjEsCitAQCAtNjgxNCw3ICs2ODE0LDcgQEAgYnJlYWtwb2ludF9hZGRy ZXNzX21hdGNoIChjb25zdCBhZGRyZXNzX3NwYWNlICphc3BhY2UxLCBDT1JFX0FERFIgYWRkcjEs CiAgc3RhdGljIGludAogIGJyZWFrcG9pbnRfYWRkcmVzc19tYXRjaF9yYW5nZSAoY29uc3QgYWRk cmVzc19zcGFjZSAqYXNwYWNlMSwKICAJCQkJQ09SRV9BRERSIGFkZHIxLApAQCAtMTM0MCw3ICsx MzQwLDcgQEAgaW5kZXggNmEwYzE1YjIzOS4uMDVkN2VkM2VhMSAxMDA2NDQKICAJCQkJQ09SRV9B RERSIGFkZHIyKQogIHsKICAgIHJldHVybiAoKGdkYmFyY2hfaGFzX2dsb2JhbF9icmVha3BvaW50 cyAodGFyZ2V0X2dkYmFyY2ggKCkpCi1AQCAtMTA5NzgsNyArMTA5NzgsNyBAQCBjYW5fdXNlX2hh cmR3YXJlX3dhdGNocG9pbnQgKHN0cnVjdCB2YWx1ZSAqdikKK0BAIC0xMDkwNiw3ICsxMDkwNiw3 IEBAIGNhbl91c2VfaGFyZHdhcmVfd2F0Y2hwb2ludCAoY29uc3Qgc3RkOjp2ZWN0b3I8dmFsdWVf cmVmX3B0cj4gJnZhbHMpCiAgCQkgICAgICAmJiBUWVBFX0NPREUgKHZ0eXBlKSAhPSBUWVBFX0NP REVfQVJSQVkpKQogIAkJewogIAkJICBDT1JFX0FERFIgdmFkZHIgPSB2YWx1ZV9hZGRyZXNzICh2 KTsKQEAgLTEzNTAsMTAgKzEzNTAsMTAgQEAgaW5kZXggNmEwYzE1YjIzOS4uMDVkN2VkM2VhMSAx MDA2NDQKICAKICAJCSAgbGVuID0gKHRhcmdldF9leGFjdF93YXRjaHBvaW50cwogZGlmZiAtLWdp dCBhL2dkYi9icmVha3BvaW50LmggYi9nZGIvYnJlYWtwb2ludC5oCi1pbmRleCAzZmRkYmFhNzEz Li4wODQ2M2Q0ZTViIDEwMDY0NAoraW5kZXggNDA3Y2M1MzFkYi4uYmM4MzNlNTdlYiAxMDA2NDQK IC0tLSBhL2dkYi9icmVha3BvaW50LmgKICsrKyBiL2dkYi9icmVha3BvaW50LmgKLUBAIC0yNTIs NyArMjUyLDcgQEAgc3RydWN0IGJwX3RhcmdldF9pbmZvCitAQCAtMjUxLDcgKzI1MSw3IEBAIHN0 cnVjdCBicF90YXJnZXRfaW5mbwogIAogICAgLyogSWYgdGhpcyBpcyBhIHJhbmdlZCBicmVha3Bv aW50LCB0aGVuIHRoaXMgZmllbGQgY29udGFpbnMgdGhlCiAgICAgICBsZW5ndGggb2YgdGhlIHJh bmdlIHRoYXQgd2lsbCBiZSB3YXRjaGVkIGZvciBleGVjdXRpb24uICAqLwpAQCAtMTM2Miw3ICsx MzYyLDcgQEAgaW5kZXggM2ZkZGJhYTcxMy4uMDg0NjNkNGU1YiAxMDA2NDQKICAKICAgIC8qIElm IHRoZSBicmVha3BvaW50IGxpdmVzIGluIG1lbW9yeSBhbmQgcmVhZGluZyB0aGF0IG1lbW9yeSB3 b3VsZAogICAgICAgZ2l2ZSBiYWNrIHRoZSBicmVha3BvaW50LCBpbnN0ZWFkIG9mIHRoZSBvcmln aW5hbCBjb250ZW50cywgdGhlbgotQEAgLTQyOSw3ICs0MjksNyBAQCBwdWJsaWM6CitAQCAtNDI4 LDcgKzQyOCw3IEBAIHB1YmxpYzoKICAgIC8qIEZvciBoYXJkd2FyZSB3YXRjaHBvaW50cywgdGhl IHNpemUgb2YgdGhlIG1lbW9yeSByZWdpb24gYmVpbmcKICAgICAgIHdhdGNoZWQuICBGb3IgaGFy ZHdhcmUgcmFuZ2VkIGJyZWFrcG9pbnRzLCB0aGUgc2l6ZSBvZiB0aGUKICAgICAgIGJyZWFrcG9p bnQgcmFuZ2UuICAqLwpAQCAtMTM3Miw3ICsxMzcyLDcgQEAgaW5kZXggM2ZkZGJhYTcxMy4uMDg0 NjNkNGU1YiAxMDA2NDQKICAgIC8qIFR5cGUgb2YgaGFyZHdhcmUgd2F0Y2hwb2ludC4gICovCiAg ICB0YXJnZXRfaHdfYnBfdHlwZSB3YXRjaHBvaW50X3R5cGUge307CiBkaWZmIC0tZ2l0IGEvZ2Ri L2MtbGFuZy5jIGIvZ2RiL2MtbGFuZy5jCi1pbmRleCBhMGI1NTNlNzQxLi4wNjE2MjA4ZDFkIDEw MDY0NAoraW5kZXggMTVlNjMzZjhjOC4uMmJiZmQ5YjcyMSAxMDA2NDQKIC0tLSBhL2dkYi9jLWxh bmcuYwogKysrIGIvZ2RiL2MtbGFuZy5jCiBAQCAtMTg0LDcgKzE4NCw3IEBAIGNfcHJpbnRjaGFy IChpbnQgYywgc3RydWN0IHR5cGUgKnR5cGUsIHN0cnVjdCB1aV9maWxlICpzdHJlYW0pCkBAIC0x NDI1LDEwICsxNDI1LDEwIEBAIGluZGV4IDE4ZGVkY2MxZmEuLjhhZmQzZWU3ODQgMTAwNjQ0CiAg CQkJaW50IGZvcmNlX2VsbGlwc2VzLAogIAkJCWNvbnN0IHN0cnVjdCB2YWx1ZV9wcmludF9vcHRp b25zICpvcHRpb25zKTsKIGRpZmYgLS1naXQgYS9nZGIvYy10eXBlcHJpbnQuYyBiL2dkYi9jLXR5 cGVwcmludC5jCi1pbmRleCAyZTllZDFiYzI4Li4yNTZiOWMxOWU2IDEwMDY0NAoraW5kZXggY2I3 OTNmMDc3MC4uZmFkNDE4OTFlMiAxMDA2NDQKIC0tLSBhL2dkYi9jLXR5cGVwcmludC5jCiArKysg Yi9nZGIvYy10eXBlcHJpbnQuYwotQEAgLTkzMyw3ICs5MzMsOCBAQCBjX3ByaW50X3R5cGVfdW5p b25fZmllbGRfb2Zmc2V0IChzdHJ1Y3QgdHlwZSAqdHlwZSwgdW5zaWduZWQgaW50IGZpZWxkX2lk eCwKK0BAIC05MzQsNyArOTM0LDggQEAgY19wcmludF90eXBlX3VuaW9uX2ZpZWxkX29mZnNldCAo c3RydWN0IHR5cGUgKnR5cGUsIHVuc2lnbmVkIGludCBmaWVsZF9pZHgsCiAgewogICAgc3RydWN0 IHR5cGUgKmZ0eXBlID0gY2hlY2tfdHlwZWRlZiAoVFlQRV9GSUVMRF9UWVBFICh0eXBlLCBmaWVs ZF9pZHgpKTsKICAKQEAgLTE0MzcsOCArMTQzNyw4IEBAIGluZGV4IDJlOWVkMWJjMjguLjI1NmI5 YzE5ZTYgMTAwNjQ0CiArCQkgICAgcHVsb25nZXN0IChUWVBFX0xFTkdUSCAoZnR5cGUpKSk7CiAg fQogIAotIC8qIFByaW50IGluZm9ybWF0aW9uIGFib3V0IGZpZWxkIGF0IGluZGV4IEZJRUxEX0lE WCBvZiB0aGUgc3RydWN0IHR5cGUKLUBAIC0xNTA3LDggKzE1MDgsOCBAQCBjX3R5cGVfcHJpbnRf YmFzZV9zdHJ1Y3RfdW5pb24gKHN0cnVjdCB0eXBlICp0eXBlLCBzdHJ1Y3QgdWlfZmlsZSAqc3Ry ZWFtLAorIC8qIEhlbHBlciBmdW5jdGlvbiBmb3IgcHR5cGUvbyBpbXBsZW1lbnRhdGlvbiB0aGF0 IHByaW50cyBpbmZvcm1hdGlvbgorQEAgLTE1MzAsOCArMTUzMSw4IEBAIGNfdHlwZV9wcmludF9i YXNlX3N0cnVjdF91bmlvbiAoc3RydWN0IHR5cGUgKnR5cGUsIHN0cnVjdCB1aV9maWxlICpzdHJl YW0sCiAgCSAgICAgIHByaW50X3NwYWNlc19maWx0ZXJlZF93aXRoX3ByaW50X29wdGlvbnMgKGxl dmVsICsgNCwKICAJCQkJCQkJc3RyZWFtLAogIAkJCQkJCQlmbGFncyk7CkBAIC0xNDkyLDcgKzE0 OTIsNyBAQCBpbmRleCAzOTA0ZmFiMjYwLi5hM2I4ZTI1NTFiIDEwMDY0NAogIAkgICAgIHN0cnVj dCB2YWx1ZSAqb3JpZ2luYWxfdmFsdWUsCiAgCSAgICAgY29uc3Qgc3RydWN0IHZhbHVlX3ByaW50 X29wdGlvbnMgKm9wdGlvbnMpCiBkaWZmIC0tZ2l0IGEvZ2RiL2NvbXBpbGUvY29tcGlsZS1jLXN1 cHBvcnQuYyBiL2dkYi9jb21waWxlL2NvbXBpbGUtYy1zdXBwb3J0LmMKLWluZGV4IDAwNmQzZjgx MWMuLmFjY2Q5YTU0YjIgMTAwNjQ0CitpbmRleCBlNjk0NjQ4Mjg4Li40M2VkNWEzNzVhIDEwMDY0 NAogLS0tIGEvZ2RiL2NvbXBpbGUvY29tcGlsZS1jLXN1cHBvcnQuYwogKysrIGIvZ2RiL2NvbXBp bGUvY29tcGlsZS1jLXN1cHBvcnQuYwogQEAgLTMwNywxMSArMzA3LDExIEBAIGdlbmVyYXRlX3Jl Z2lzdGVyX3N0cnVjdCAoc3RydWN0IHVpX2ZpbGUgKnN0cmVhbSwgc3RydWN0IGdkYmFyY2ggKmdk YmFyY2gsCkBAIC0xNTg1LDcgKzE1ODUsNyBAQCBpbmRleCA4ZjJlNGQ5YTY2Li44NjQ5MGEyYzQ2 IDEwMDY0NAogIAkJCSAgICBzdHJ1Y3QgdHlwZSAqdHlwZSwKICAJCQkgICAgc3RydWN0IHVpX2Zp bGUgKnN0cmVhbSk7CiBkaWZmIC0tZ2l0IGEvZ2RiL2NwLXZhbHByaW50LmMgYi9nZGIvY3AtdmFs cHJpbnQuYwotaW5kZXggNDg2NjUzZjEzZi4uZGIzZmYzMzhkMSAxMDA2NDQKK2luZGV4IGUwMTlh NjA3OTEuLjI1ZjE1MTI4NTcgMTAwNjQ0CiAtLS0gYS9nZGIvY3AtdmFscHJpbnQuYwogKysrIGIv Z2RiL2NwLXZhbHByaW50LmMKIEBAIC0zMzUsNyArMzM1LDcgQEAgY3BfcHJpbnRfdmFsdWVfZmll bGRzIChzdHJ1Y3QgdHlwZSAqdHlwZSwgc3RydWN0IHR5cGUgKnJlYWxfdHlwZSwKQEAgLTE2MTEs NyArMTYxMSw3IEBAIGluZGV4IDM5MWVhODY2NWIuLmE4ZTcyYWU1MDYgMTAwNjQ0CiAgCQkJIHN0 cnVjdCB2YWx1ZSAqdmFsLAogIAkJCSBjb25zdCBzdHJ1Y3QgdmFsdWVfcHJpbnRfb3B0aW9ucyAq b3B0aW9ucyk7CiBkaWZmIC0tZ2l0IGEvZ2RiL2QtdmFscHJpbnQuYyBiL2dkYi9kLXZhbHByaW50 LmMKLWluZGV4IGUyZDg0MzEzNjIuLjUxNDNmNzVjMDYgMTAwNjQ0CitpbmRleCA1NzlkM2M4Yzkx Li45ZGQ0MzBiMmJjIDEwMDY0NAogLS0tIGEvZ2RiL2QtdmFscHJpbnQuYwogKysrIGIvZ2RiL2Qt dmFscHJpbnQuYwogQEAgLTczLDcgKzczLDcgQEAgZHluYW1pY19hcnJheV90eXBlIChzdHJ1Y3Qg dHlwZSAqdHlwZSwKQEAgLTE2MjQsNyArMTYyNCw3IEBAIGluZGV4IGUyZDg0MzEzNjIuLjUxNDNm NzVjMDYgMTAwNjQ0CiAgCSAgICAgc3RydWN0IHZhbHVlICp2YWwsCiAgICAgICAgICAgICAgIGNv bnN0IHN0cnVjdCB2YWx1ZV9wcmludF9vcHRpb25zICpvcHRpb25zKQogZGlmZiAtLWdpdCBhL2dk Yi9kd2FyZjJsb2MuYyBiL2dkYi9kd2FyZjJsb2MuYwotaW5kZXggNTQ4NmU0ZGMxMi4uMWZlNDVm NjA2OSAxMDA2NDQKK2luZGV4IGNmY2ExYzI3NTEuLmQ5MWQ2OTE1NWQgMTAwNjQ0CiAtLS0gYS9n ZGIvZHdhcmYybG9jLmMKICsrKyBiL2dkYi9kd2FyZjJsb2MuYwogQEAgLTE4MTcsNyArMTgxNyw3 IEBAIHJ3X3BpZWNlZF92YWx1ZSAoc3RydWN0IHZhbHVlICp2LCBzdHJ1Y3QgdmFsdWUgKmZyb20p CkBAIC0xNjg4LDEwICsxNjg4LDEwIEBAIGluZGV4IDU0ODZlNGRjMTIuLjFmZTQ1ZjYwNjkgMTAw NjQ0CiAgCiAgCSAgICBpZiAoc3Vib2JqX2J5dGVfb2Zmc2V0ICsgbGVuID4gbWF4KQogZGlmZiAt LWdpdCBhL2dkYi9kd2FyZjJyZWFkLmMgYi9nZGIvZHdhcmYycmVhZC5jCi1pbmRleCA2ZWJlMDBm NTQyLi5mYmFhMGFmNjRmIDEwMDY0NAoraW5kZXggZDY5ZjE1NGFmMy4uNDIwYzNlNmJkNSAxMDA2 NDQKIC0tLSBhL2dkYi9kd2FyZjJyZWFkLmMKICsrKyBiL2dkYi9kd2FyZjJyZWFkLmMKLUBAIC0y MjY4LDEyICsyMjY4LDEyIEBAIGR3YXJmMl9jb21wbGV4X2xvY2F0aW9uX2V4cHJfY29tcGxhaW50 ICh2b2lkKQorQEAgLTIwMjQsMTIgKzIwMjQsMTIgQEAgZHdhcmYyX2NvbXBsZXhfbG9jYXRpb25f ZXhwcl9jb21wbGFpbnQgKHZvaWQpCiAgfQogIAogIHN0YXRpYyB2b2lkCkBAIC0xNzA4LDcgKzE3 MDgsNyBAQCBpbmRleCA2ZWJlMDBmNTQyLi5mYmFhMGFmNjRmIDEwMDY0NAogIH0KICAKICBzdGF0 aWMgdm9pZAotQEAgLTE1MDg0LDggKzE1MDg0LDggQEAgZHdhcmYyX2FkZF9maWVsZCAoc3RydWN0 IGZpZWxkX2luZm8gKmZpcCwgc3RydWN0IGRpZV9pbmZvICpkaWUsCitAQCAtMTUwMDQsOCArMTUw MDQsOCBAQCBkd2FyZjJfYWRkX2ZpZWxkIChzdHJ1Y3QgZmllbGRfaW5mbyAqZmlwLCBzdHJ1Y3Qg ZGllX2luZm8gKmRpZSwKICAJICAgICAgICAgb2JqZWN0LCBhbmQgdGhlbiBzdWJ0cmFjdCBvZmYg dGhlIG51bWJlciBvZiBiaXRzIG9mCiAgCSAgICAgICAgIHRoZSBmaWVsZCBpdHNlbGYuICBUaGUg cmVzdWx0IGlzIHRoZSBiaXQgb2Zmc2V0IG9mCiAgCSAgICAgICAgIHRoZSBMU0Igb2YgdGhlIGZp ZWxkLiAgKi8KQEAgLTE3MjAsMTAgKzE3MjAsMTAgQEAgaW5kZXggNmViZTAwZjU0Mi4uZmJhYTBh ZjY0ZiAxMDA2NDQKICAJICAgICAgYXR0ciA9IGR3YXJmMl9hdHRyIChkaWUsIERXX0FUX2J5dGVf c2l6ZSwgY3UpOwogIAkgICAgICBpZiAoYXR0cikKIGRpZmYgLS1naXQgYS9nZGIvZXZhbC5jIGIv Z2RiL2V2YWwuYwotaW5kZXggZDliY2EyNzkxZC4uYjQyZjE0YTQwNiAxMDA2NDQKK2luZGV4IDUw ZGRlM2VkNGYuLjQ0MjU5Y2Q5NjQgMTAwNjQ0CiAtLS0gYS9nZGIvZXZhbC5jCiArKysgYi9nZGIv ZXZhbC5jCi1AQCAtMzAyLDcgKzMwMiw4IEBAIGV2YWx1YXRlX3N0cnVjdF90dXBsZSAoc3RydWN0 IHZhbHVlICpzdHJ1Y3RfdmFsLAorQEAgLTI5NSw3ICsyOTUsOCBAQCBldmFsdWF0ZV9zdHJ1Y3Rf dHVwbGUgKHN0cnVjdCB2YWx1ZSAqc3RydWN0X3ZhbCwKICAgIHdoaWxlICgtLW5hcmdzID49IDAp CiAgICAgIHsKICAgICAgICBzdHJ1Y3QgdmFsdWUgKnZhbCA9IE5VTEw7CkBAIC0xNzMzLDcgKzE3 MzMsNyBAQCBpbmRleCBkOWJjYTI3OTFkLi5iNDJmMTRhNDA2IDEwMDY0NAogICAgICAgIGJmZF9i eXRlICphZGRyOwogIAogICAgICAgIGZpZWxkbm8rKzsKLUBAIC0zNjMsNyArMzY0LDcgQEAgaW5p dF9hcnJheV9lbGVtZW50IChzdHJ1Y3QgdmFsdWUgKmFycmF5LCBzdHJ1Y3QgdmFsdWUgKmVsZW1l bnQsCitAQCAtMzU2LDcgKzM1Nyw3IEBAIGluaXRfYXJyYXlfZWxlbWVudCAoc3RydWN0IHZhbHVl ICphcnJheSwgc3RydWN0IHZhbHVlICplbGVtZW50LAogIAkJICAgIGVudW0gbm9zaWRlIG5vc2lk ZSwgTE9OR0VTVCBsb3dfYm91bmQsIExPTkdFU1QgaGlnaF9ib3VuZCkKICB7CiAgICBMT05HRVNU IGluZGV4OwpAQCAtMTc0Miw3ICsxNzQyLDcgQEAgaW5kZXggZDliY2EyNzkxZC4uYjQyZjE0YTQw NiAxMDA2NDQKICAKICAgIGlmIChleHAtPmVsdHNbKnBvc10ub3Bjb2RlID09IEJJTk9QX0NPTU1B KQogICAgICB7Ci1AQCAtODA3LDExICs4MDgsMTEgQEAgYmlub3BfcHJvbW90ZSAoY29uc3Qgc3Ry dWN0IGxhbmd1YWdlX2RlZm4gKmxhbmd1YWdlLCBzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCwKK0BA IC04MDAsMTEgKzgwMSwxMSBAQCBiaW5vcF9wcm9tb3RlIChjb25zdCBzdHJ1Y3QgbGFuZ3VhZ2Vf ZGVmbiAqbGFuZ3VhZ2UsIHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoLAogICAgICAvKiBGSVhNRTog QWxzbyBtaXhlZCBpbnRlZ3JhbC9ib29sZWFucywgd2l0aCByZXN1bHQgYW4gaW50ZWdlci4gICov CiAgICAgIHsKICAgICAgICBjb25zdCBzdHJ1Y3QgYnVpbHRpbl90eXBlICpidWlsdGluID0gYnVp bHRpbl90eXBlIChnZGJhcmNoKTsKQEAgLTE3NTcsNyArMTc1Nyw3IEBAIGluZGV4IGQ5YmNhMjc5 MWQuLmI0MmYxNGE0MDYgMTAwNjQ0CiAgICAgICAgaW50IHVuc2lnbmVkX29wZXJhdGlvbjsKICAK ICAgICAgICAvKiBEZXRlcm1pbmUgdHlwZSBsZW5ndGggYW5kIHNpZ25lZG5lc3MgYWZ0ZXIgcHJv bW90aW9uIGZvcgotQEAgLTE1NDgsNyArMTU0OSw3IEBAIGV2YWx1YXRlX3N1YmV4cF9zdGFuZGFy ZCAoc3RydWN0IHR5cGUgKmV4cGVjdF90eXBlLAorQEAgLTE1NDYsNyArMTU0Nyw3IEBAIGV2YWx1 YXRlX3N1YmV4cF9zdGFuZGFyZCAoc3RydWN0IHR5cGUgKmV4cGVjdF90eXBlLAogICAgc3RydWN0 IHZhbHVlICoqYXJndmVjOwogICAgaW50IGNvZGU7CiAgICBpbnQgaXg7CkBAIC0xNzY2LDcgKzE3 NjYsNyBAQCBpbmRleCBkOWJjYTI3OTFkLi5iNDJmMTRhNDA2IDEwMDY0NAogICAgc3RydWN0IHR5 cGUgKiphcmdfdHlwZXM7CiAgCiAgICBwYyA9ICgqcG9zKSsrOwotQEAgLTE3MzEsNyArMTczMiw3 IEBAIGV2YWx1YXRlX3N1YmV4cF9zdGFuZGFyZCAoc3RydWN0IHR5cGUgKmV4cGVjdF90eXBlLAor QEAgLTE3MjksNyArMTczMCw3IEBAIGV2YWx1YXRlX3N1YmV4cF9zdGFuZGFyZCAoc3RydWN0IHR5 cGUgKmV4cGVjdF90eXBlLAogIAkgIHN0cnVjdCB0eXBlICpyYW5nZV90eXBlID0gVFlQRV9JTkRF WF9UWVBFICh0eXBlKTsKICAJICBzdHJ1Y3QgdHlwZSAqZWxlbWVudF90eXBlID0gVFlQRV9UQVJH RVRfVFlQRSAodHlwZSk7CiAgCSAgc3RydWN0IHZhbHVlICphcnJheSA9IGFsbG9jYXRlX3ZhbHVl IChleHBlY3RfdHlwZSk7CkBAIC0xNzc2LDcgKzE3NzYsNyBAQCBpbmRleCBkOWJjYTI3OTFkLi5i NDJmMTRhNDA2IDEwMDY0NAogIAogIAkgIGlmIChnZXRfZGlzY3JldGVfYm91bmRzIChyYW5nZV90 eXBlLCAmbG93X2JvdW5kLCAmaGlnaF9ib3VuZCkgPCAwKQogZGlmZiAtLWdpdCBhL2dkYi9mLWxh bmcuYyBiL2dkYi9mLWxhbmcuYwotaW5kZXggNzRmNTYyMmI2ZS4uNTVmYjk3Y2VhYiAxMDA2NDQK K2luZGV4IDgxOTIyZjczZmIuLjlkMTljMTE0ZTIgMTAwNjQ0CiAtLS0gYS9nZGIvZi1sYW5nLmMK ICsrKyBiL2dkYi9mLWxhbmcuYwogQEAgLTEwMSw3ICsxMDEsNyBAQCBmX3ByaW50Y2hhciAoaW50 IGMsIHN0cnVjdCB0eXBlICp0eXBlLCBzdHJ1Y3QgdWlfZmlsZSAqc3RyZWFtKQpAQCAtMTg2Miw3 ICsxODYyLDcgQEAgaW5kZXggYjQwNjdhODQ2MC4uMDc3MmYzNTlmMCAxMDA2NDQKICAJICAgICBz dHJ1Y3QgdmFsdWUgKm9yaWdpbmFsX3ZhbHVlLAogIAkgICAgIGNvbnN0IHN0cnVjdCB2YWx1ZV9w cmludF9vcHRpb25zICpvcHRpb25zKQogZGlmZiAtLWdpdCBhL2dkYi9maW5kdmFyLmMgYi9nZGIv ZmluZHZhci5jCi1pbmRleCBlZThmNTcxNTlkLi5mYjRkZmVjYTE3IDEwMDY0NAoraW5kZXggOGFk NWUyNWNiMi4uZmNkMGEwY2RjOSAxMDA2NDQKIC0tLSBhL2dkYi9maW5kdmFyLmMKICsrKyBiL2dk Yi9maW5kdmFyLmMKIEBAIC04MjEsNyArODIxLDcgQEAgc3RydWN0IHZhbHVlICoKQEAgLTE4OTMs MTAgKzE4OTMsMTAgQEAgaW5kZXggZWU4ZjU3MTU5ZC4uZmI0ZGZlY2ExNyAxMDA2NDQKICAgICAg ICAvKiBJZiB0aGUgcmVnaXN0ZXIgbGVuZ3RoIGlzIGxhcmdlciB0aGFuIHRoZSBudW1iZXIgb2Yg Ynl0ZXMKICAgICAgICAgICByZW1haW5pbmcgdG8gY29weSwgdGhlbiBvbmx5IGNvcHkgdGhlIGFw cHJvcHJpYXRlIGJ5dGVzLiAgKi8KIGRpZmYgLS1naXQgYS9nZGIvZnJhbWUuYyBiL2dkYi9mcmFt ZS5jCi1pbmRleCAxMzg0ZWNjYTRmLi5kYjUyZWI1NzgwIDEwMDY0NAoraW5kZXggMDdmYTJiYzc3 ZC4uYjVhMmM1MGVjOSAxMDA2NDQKIC0tLSBhL2dkYi9mcmFtZS5jCiArKysgYi9nZGIvZnJhbWUu YwotQEAgLTEzODYsNyArMTM4Niw3IEBAIGRlcHJlY2F0ZWRfZnJhbWVfcmVnaXN0ZXJfcmVhZCAo c3RydWN0IGZyYW1lX2luZm8gKmZyYW1lLCBpbnQgcmVnbnVtLAorQEAgLTEzODIsNyArMTM4Miw3 IEBAIGRlcHJlY2F0ZWRfZnJhbWVfcmVnaXN0ZXJfcmVhZCAoc3RydWN0IGZyYW1lX2luZm8gKmZy YW1lLCBpbnQgcmVnbnVtLAogIAogIGludAogIGdldF9mcmFtZV9yZWdpc3Rlcl9ieXRlcyAoc3Ry dWN0IGZyYW1lX2luZm8gKmZyYW1lLCBpbnQgcmVnbnVtLApAQCAtMTkwNSw3ICsxOTA1LDcgQEAg aW5kZXggMTM4NGVjY2E0Zi4uZGI1MmViNTc4MCAxMDA2NDQKICAJCQkgIGludCAqb3B0aW1pemVk cCwgaW50ICp1bmF2YWlsYWJsZXApCiAgewogICAgc3RydWN0IGdkYmFyY2ggKmdkYmFyY2ggPSBn ZXRfZnJhbWVfYXJjaCAoZnJhbWUpOwotQEAgLTE0MTUsNyArMTQxNSw3IEBAIGdldF9mcmFtZV9y ZWdpc3Rlcl9ieXRlcyAoc3RydWN0IGZyYW1lX2luZm8gKmZyYW1lLCBpbnQgcmVnbnVtLAorQEAg LTE0MTEsNyArMTQxMSw3IEBAIGdldF9mcmFtZV9yZWdpc3Rlcl9ieXRlcyAoc3RydWN0IGZyYW1l X2luZm8gKmZyYW1lLCBpbnQgcmVnbnVtLAogICAgICB9CiAgICBpZiAobGVuID4gbWF4c2l6ZSkK ICAgICAgZXJyb3IgKF8oIkJhZCBkZWJ1ZyBpbmZvcm1hdGlvbiBkZXRlY3RlZDogIgpAQCAtMTkx NSw3ICsxOTE1LDcgQEAgaW5kZXggMTM4NGVjY2E0Zi4uZGI1MmViNTc4MCAxMDA2NDQKICAgIC8q IENvcHkgdGhlIGRhdGEuICAqLwogICAgd2hpbGUgKGxlbiA+IDApCiBkaWZmIC0tZ2l0IGEvZ2Ri L2ZyYW1lLmggYi9nZGIvZnJhbWUuaAotaW5kZXggODI5M2E0OWVjMi4uYTE3Njg3Mzg2NSAxMDA2 NDQKK2luZGV4IGQ1ODAwYjc4YzIuLmVjNzBkOTRiNTggMTAwNjQ0CiAtLS0gYS9nZGIvZnJhbWUu aAogKysrIGIvZ2RiL2ZyYW1lLmgKIEBAIC02MDEsNyArNjAxLDcgQEAgZXh0ZXJuIHZvaWQgcHV0 X2ZyYW1lX3JlZ2lzdGVyIChzdHJ1Y3QgZnJhbWVfaW5mbyAqZnJhbWUsIGludCByZWdudW0sCkBA IC0xOTI4LDEwICsxOTI4LDEwIEBAIGluZGV4IDgyOTNhNDllYzIuLmExNzY4NzM4NjUgMTAwNjQ0 CiAgCQkJCSAgICAgaW50ICpvcHRpbWl6ZWRwLCBpbnQgKnVuYXZhaWxhYmxlcCk7CiAgCiBkaWZm IC0tZ2l0IGEvZ2RiL2dkYmFyY2guYyBiL2dkYi9nZGJhcmNoLmMKLWluZGV4IGZlM2MxMmUyOTUu LmYwY2ZiMDUzYjAgMTAwNjQ0CitpbmRleCBjNDMwZWJlNTJhLi42MTk2YmY4NTQxIDEwMDY0NAog LS0tIGEvZ2RiL2dkYmFyY2guYwogKysrIGIvZ2RiL2dkYmFyY2guYwotQEAgLTE4MTEsNyArMTgx MSw3IEBAIHNldF9nZGJhcmNoX3djaGFyX3NpZ25lZCAoc3RydWN0IGdkYmFyY2ggKmdkYmFyY2gs CitAQCAtMTc5NSw3ICsxNzk1LDcgQEAgc2V0X2dkYmFyY2hfd2NoYXJfc2lnbmVkIChzdHJ1Y3Qg Z2RiYXJjaCAqZ2RiYXJjaCwKICB9CiAgCiAgY29uc3Qgc3RydWN0IGZsb2F0Zm9ybWF0ICoqCkBA IC0xOTQxLDEwICsxOTQxLDEwIEBAIGluZGV4IGZlM2MxMmUyOTUuLmYwY2ZiMDUzYjAgMTAwNjQ0 CiAgICBnZGJfYXNzZXJ0IChnZGJhcmNoICE9IE5VTEwpOwogICAgZ2RiX2Fzc2VydCAoZ2RiYXJj aC0+ZmxvYXRmb3JtYXRfZm9yX3R5cGUgIT0gTlVMTCk7CiBkaWZmIC0tZ2l0IGEvZ2RiL2dkYmFy Y2guaCBiL2dkYi9nZGJhcmNoLmgKLWluZGV4IDU2NjRjNGRjNTguLjYyYjgzOTc0YTEgMTAwNjQ0 CitpbmRleCAwOWVkY2Q1ZWIyLi5jY2IzY2Y4N2I4IDEwMDY0NAogLS0tIGEvZ2RiL2dkYmFyY2gu aAogKysrIGIvZ2RiL2dkYmFyY2guaAotQEAgLTE5OCw4ICsxOTgsOCBAQCBleHRlcm4gdm9pZCBz ZXRfZ2RiYXJjaF93Y2hhcl9zaWduZWQgKHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoLCBpbnQgd2No YXJfc2lnbmVkKQorQEAgLTE5Myw4ICsxOTMsOCBAQCBleHRlcm4gdm9pZCBzZXRfZ2RiYXJjaF93 Y2hhcl9zaWduZWQgKHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoLCBpbnQgd2NoYXJfc2lnbmVkKQog ICAgIE5BTUUsIGlmIG5vbi1OVUxMLCBpcyB0aGUgdHlwZSBuYW1lLCB3aGljaCBtYXkgYmUgdXNl ZCB0byBkaXN0aW5ndWlzaAogICAgIGRpZmZlcmVudCB0YXJnZXQgZm9ybWF0cyBvZiB0aGUgc2Ft ZSBsZW5ndGguICovCiAgCkBAIC0xOTU2LDEwICsxOTU2LDEwIEBAIGluZGV4IDU2NjRjNGRjNTgu LjYyYjgzOTc0YTEgMTAwNjQ0CiAgCiAgLyogRm9yIG1vc3QgdGFyZ2V0cywgYSBwb2ludGVyIG9u IHRoZSB0YXJnZXQgYW5kIGl0cyByZXByZXNlbnRhdGlvbiBhcyBhbgogZGlmZiAtLWdpdCBhL2dk Yi9nZGJhcmNoLnNoIGIvZ2RiL2dkYmFyY2guc2gKLWluZGV4IGE5MjllMTNiODEuLmNjMWRlZjZh M2QgMTAwNzU1CitpbmRleCA3MzMwNDMwOTM3Li45MjU4ZTYxODQzIDEwMDc1NQogLS0tIGEvZ2Ri L2dkYmFyY2guc2gKICsrKyBiL2dkYi9nZGJhcmNoLnNoCi1AQCAtMzg4LDcgKzM4OCw3IEBAIHY7 aW50O3djaGFyX3NpZ25lZDs7OzE7LTE7MQorQEAgLTM4NSw3ICszODUsNyBAQCB2O2ludDt3Y2hh cl9zaWduZWQ7OzsxOy0xOzEKICAjIFJldHVybnMgdGhlIGZsb2F0aW5nLXBvaW50IGZvcm1hdCB0 byBiZSB1c2VkIGZvciB2YWx1ZXMgb2YgbGVuZ3RoIExFTkdUSC4KICAjIE5BTUUsIGlmIG5vbi1O VUxMLCBpcyB0aGUgdHlwZSBuYW1lLCB3aGljaCBtYXkgYmUgdXNlZCB0byBkaXN0aW5ndWlzaAog ICMgZGlmZmVyZW50IHRhcmdldCBmb3JtYXRzIG9mIHRoZSBzYW1lIGxlbmd0aC4KQEAgLTE5Njks MTAgKzE5NjksMTAgQEAgaW5kZXggYTkyOWUxM2I4MS4uY2MxZGVmNmEzZCAxMDA3NTUKICAjIEZv ciBtb3N0IHRhcmdldHMsIGEgcG9pbnRlciBvbiB0aGUgdGFyZ2V0IGFuZCBpdHMgcmVwcmVzZW50 YXRpb24gYXMgYW4KICAjIGFkZHJlc3MgaW4gR0RCIGhhdmUgdGhlIHNhbWUgc2l6ZSBhbmQgImxv b2sgdGhlIHNhbWUiLiAgRm9yIHN1Y2ggYQogZGlmZiAtLWdpdCBhL2dkYi9nZGJ0eXBlcy5jIGIv Z2RiL2dkYnR5cGVzLmMKLWluZGV4IGNiNTUyNDAyM2YuLjdjMmFlNzJjZmMgMTAwNjQ0CitpbmRl eCAyYWE1MjUzMTAwLi4wNmY0OGQzNjI5IDEwMDY0NAogLS0tIGEvZ2RiL2dkYnR5cGVzLmMKICsr KyBiL2dkYi9nZGJ0eXBlcy5jCi1AQCAtMjkyMCw3ICsyOTIwLDcgQEAgZmxvYXRmb3JtYXRfZnJv bV90eXBlIChjb25zdCBzdHJ1Y3QgdHlwZSAqdHlwZSkKK0BAIC0yOTI1LDcgKzI5MjUsNyBAQCBm bG9hdGZvcm1hdF9mcm9tX3R5cGUgKGNvbnN0IHN0cnVjdCB0eXBlICp0eXBlKQogICAgIGxlYXN0 IGFzIGxvbmcgYXMgT0JKRklMRS4gICovCiAgCiAgc3RydWN0IHR5cGUgKgpAQCAtMTk4MSw3ICsx OTgxLDcgQEAgaW5kZXggY2I1NTI0MDIzZi4uN2MyYWU3MmNmYyAxMDA2NDQKICAJICAgY29uc3Qg Y2hhciAqbmFtZSkKICB7CiAgICBzdHJ1Y3QgdHlwZSAqdHlwZTsKLUBAIC0zMjUyLDggKzMyNTIs OCBAQCBpc19wdWJsaWNfYW5jZXN0b3IgKHN0cnVjdCB0eXBlICpiYXNlLCBzdHJ1Y3QgdHlwZSAq ZGNsYXNzKQorQEAgLTMzNzksOCArMzM3OSw4IEBAIGlzX3B1YmxpY19hbmNlc3RvciAoc3RydWN0 IHR5cGUgKmJhc2UsIHN0cnVjdCB0eXBlICpkY2xhc3MpCiAgCiAgc3RhdGljIGludAogIGlzX3Vu aXF1ZV9hbmNlc3Rvcl93b3JrZXIgKHN0cnVjdCB0eXBlICpiYXNlLCBzdHJ1Y3QgdHlwZSAqZGNs YXNzLApAQCAtMTk5Miw3ICsxOTkyLDcgQEAgaW5kZXggY2I1NTI0MDIzZi4uN2MyYWU3MmNmYyAx MDA2NDQKICAJCQkgICBDT1JFX0FERFIgYWRkcmVzcywgc3RydWN0IHZhbHVlICp2YWwpCiAgewog ICAgaW50IGksIGNvdW50ID0gMDsKLUBAIC0zMjY0LDcgKzMyNjQsNyBAQCBpc191bmlxdWVfYW5j ZXN0b3Jfd29ya2VyIChzdHJ1Y3QgdHlwZSAqYmFzZSwgc3RydWN0IHR5cGUgKmRjbGFzcywKK0BA IC0zMzkxLDcgKzMzOTEsNyBAQCBpc191bmlxdWVfYW5jZXN0b3Jfd29ya2VyIChzdHJ1Y3QgdHlw ZSAqYmFzZSwgc3RydWN0IHR5cGUgKmRjbGFzcywKICAgIGZvciAoaSA9IDA7IGkgPCBUWVBFX05f QkFTRUNMQVNTRVMgKGRjbGFzcykgJiYgY291bnQgPCAyOyArK2kpCiAgICAgIHsKICAgICAgICBz dHJ1Y3QgdHlwZSAqaXRlcjsKQEAgLTIwMDEsNyArMjAwMSw3IEBAIGluZGV4IGNiNTUyNDAyM2Yu LjdjMmFlNzJjZmMgMTAwNjQ0CiAgCiAgICAgICAgaXRlciA9IGNoZWNrX3R5cGVkZWYgKFRZUEVf QkFTRUNMQVNTIChkY2xhc3MsIGkpKTsKICAKLUBAIC0zMzA1LDcgKzMzMDUsNyBAQCBpc191bmlx dWVfYW5jZXN0b3Jfd29ya2VyIChzdHJ1Y3QgdHlwZSAqYmFzZSwgc3RydWN0IHR5cGUgKmRjbGFz cywKK0BAIC0zNDMyLDcgKzM0MzIsNyBAQCBpc191bmlxdWVfYW5jZXN0b3Jfd29ya2VyIChzdHJ1 Y3QgdHlwZSAqYmFzZSwgc3RydWN0IHR5cGUgKmRjbGFzcywKICBpbnQKICBpc191bmlxdWVfYW5j ZXN0b3IgKHN0cnVjdCB0eXBlICpiYXNlLCBzdHJ1Y3QgdmFsdWUgKnZhbCkKICB7CkBAIC0yMDEw LDcgKzIwMTAsNyBAQCBpbmRleCBjYjU1MjQwMjNmLi43YzJhZTcyY2ZjIDEwMDY0NAogIAogICAg cmV0dXJuIGlzX3VuaXF1ZV9hbmNlc3Rvcl93b3JrZXIgKGJhc2UsIHZhbHVlX3R5cGUgKHZhbCks ICZvZmZzZXQsCiAgCQkJCSAgICB2YWx1ZV9jb250ZW50c19mb3JfcHJpbnRpbmcgKHZhbCksCi1A QCAtNDU1MCw3ICs0NTUwLDcgQEAgcmVjdXJzaXZlX2R1bXBfdHlwZSAoc3RydWN0IHR5cGUgKnR5 cGUsIGludCBzcGFjZXMpCitAQCAtNDY3Nyw3ICs0Njc3LDcgQEAgcmVjdXJzaXZlX2R1bXBfdHlw ZSAoc3RydWN0IHR5cGUgKnR5cGUsIGludCBzcGFjZXMpCiAgICAgICAgYnJlYWs7CiAgICAgIH0K ICAgIHB1dHNfZmlsdGVyZWQgKCJcbiIpOwpAQCAtMjAxOSw3ICsyMDE5LDcgQEAgaW5kZXggY2I1 NTI0MDIzZi4uN2MyYWU3MmNmYyAxMDA2NDQKICAgIGlmIChUWVBFX09CSkZJTEVfT1dORUQgKHR5 cGUpKQogICAgICB7CiAgICAgICAgcHJpbnRmaV9maWx0ZXJlZCAoc3BhY2VzLCAib2JqZmlsZSAi KTsKLUBAIC00OTkxLDcgKzQ5OTEsNyBAQCBjb3B5X3R5cGUgKGNvbnN0IHN0cnVjdCB0eXBlICp0 eXBlKQorQEAgLTUxMjIsNyArNTEyMiw3IEBAIGNvcHlfdHlwZSAoY29uc3Qgc3RydWN0IHR5cGUg KnR5cGUpCiAgCiAgc3RydWN0IHR5cGUgKgogIGFyY2hfdHlwZSAoc3RydWN0IGdkYmFyY2ggKmdk YmFyY2gsCkBAIC0yMDI5LDEwICsyMDI5LDEwIEBAIGluZGV4IGNiNTUyNDAyM2YuLjdjMmFlNzJj ZmMgMTAwNjQ0CiAgICBzdHJ1Y3QgdHlwZSAqdHlwZTsKICAKIGRpZmYgLS1naXQgYS9nZGIvZ2Ri dHlwZXMuaCBiL2dkYi9nZGJ0eXBlcy5oCi1pbmRleCA1NTk3MDM4MzU3Li5mNmUwYzNlOGMxIDEw MDY0NAoraW5kZXggY2YxMzQ2MTYxZC4uMzMwZTE0ZDgzMSAxMDA2NDQKIC0tLSBhL2dkYi9nZGJ0 eXBlcy5oCiArKysgYi9nZGIvZ2RidHlwZXMuaAotQEAgLTgwNSw3ICs4MDUsNyBAQCBzdHJ1Y3Qg dHlwZQorQEAgLTg3Niw3ICs4NzYsNyBAQCBzdHJ1Y3QgdHlwZQogICAgICAgdHlwZV9sZW5ndGhf dW5pdHMgZnVuY3Rpb24gc2hvdWxkIGJlIHVzZWQgaW4gb3JkZXIgdG8gZ2V0IHRoZSBsZW5ndGgK ICAgICAgIGV4cHJlc3NlZCBpbiB0YXJnZXQgYWRkcmVzc2FibGUgbWVtb3J5IHVuaXRzLiAgKi8K ICAKQEAgLTIwNDEsNyArMjA0MSw3IEBAIGluZGV4IDU1OTcwMzgzNTcuLmY2ZTBjM2U4YzEgMTAw NjQ0CiAgCiAgICAvKiAqIENvcmUgdHlwZSwgc2hhcmVkIGJ5IGEgZ3JvdXAgb2YgcXVhbGlmaWVk IHR5cGVzLiAgKi8KICAKLUBAIC0xNzA3LDcgKzE3MDcsNyBAQCBleHRlcm4gdW5zaWduZWQgaW50 IHR5cGVfbGVuZ3RoX3VuaXRzIChzdHJ1Y3QgdHlwZSAqdHlwZSk7CitAQCAtMTc5OCw3ICsxNzk4 LDcgQEAgZXh0ZXJuIHVuc2lnbmVkIGludCB0eXBlX2xlbmd0aF91bml0cyAoc3RydWN0IHR5cGUg KnR5cGUpOwogIAogIC8qICogSGVscGVyIGZ1bmN0aW9uIHRvIGNvbnN0cnVjdCBvYmpmaWxlLW93 bmVkIHR5cGVzLiAgKi8KICAKQEAgLTIwNTAsNyArMjA1MCw3IEBAIGluZGV4IDU1OTcwMzgzNTcu LmY2ZTBjM2U4YzEgMTAwNjQ0CiAgCQkJICAgICAgIGNvbnN0IGNoYXIgKik7CiAgZXh0ZXJuIHN0 cnVjdCB0eXBlICppbml0X2ludGVnZXJfdHlwZSAoc3RydWN0IG9iamZpbGUgKiwgaW50LCBpbnQs CiAgCQkJCSAgICAgICBjb25zdCBjaGFyICopOwotQEAgLTE3MjQsNyArMTcyNCw3IEBAIGV4dGVy biBzdHJ1Y3QgdHlwZSAqaW5pdF9wb2ludGVyX3R5cGUgKHN0cnVjdCBvYmpmaWxlICosIGludCwg Y29uc3QgY2hhciAqLAorQEAgLTE4MTUsNyArMTgxNSw3IEBAIGV4dGVybiBzdHJ1Y3QgdHlwZSAq aW5pdF9wb2ludGVyX3R5cGUgKHN0cnVjdCBvYmpmaWxlICosIGludCwgY29uc3QgY2hhciAqLAog IAkJCQkgICAgICAgc3RydWN0IHR5cGUgKik7CiAgCiAgLyogSGVscGVyIGZ1bmN0aW9ucyB0byBj b25zdHJ1Y3QgYXJjaGl0ZWN0dXJlLW93bmVkIHR5cGVzLiAgKi8KQEAgLTIxMDEsNyArMjEwMSw3 IEBAIGluZGV4IDhhNjQxNTdjNTUuLmVmMWY4NTFhOTEgMTAwNjQ0CiAgCQkJCSAgICBlbWJlZGRl ZF9vZmZzZXQsIGFkZHJlc3MsIHZhbCk7CiAgCiBkaWZmIC0tZ2l0IGEvZ2RiL2dudS12My1hYmku YyBiL2dkYi9nbnUtdjMtYWJpLmMKLWluZGV4IDA5NjU4NDZjZTYuLmQ0NDNjMjk0NDMgMTAwNjQ0 CitpbmRleCBkZGJlYzEzODkxLi45MzM0ODM3Yzg5IDEwMDY0NAogLS0tIGEvZ2RiL2dudS12My1h YmkuYwogKysrIGIvZ2RiL2dudS12My1hYmkuYwogQEAgLTEwOSw3ICsxMDksNyBAQCBidWlsZF9n ZGJfdnRhYmxlX3R5cGUgKHN0cnVjdCBnZGJhcmNoICphcmNoKQpAQCAtMjEyMiw3ICsyMTIyLDcg QEAgaW5kZXggMDk2NTg0NmNlNi4uZDQ0M2MyOTQ0MyAxMDA2NDQKICB2dGFibGVfYWRkcmVzc19w b2ludF9vZmZzZXQgKHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoKQogIHsKICAgIHN0cnVjdCB0eXBl ICp2dGFibGVfdHlwZQotQEAgLTQwOCw3ICs0MDgsNyBAQCBnbnV2M19nZXRfdmlydHVhbF9mbiAo c3RydWN0IGdkYmFyY2ggKmdkYmFyY2gsIHN0cnVjdCB2YWx1ZSAqY29udGFpbmVyLAorQEAgLTQw OSw3ICs0MDksNyBAQCBnbnV2M19nZXRfdmlydHVhbF9mbiAoc3RydWN0IGdkYmFyY2ggKmdkYmFy Y2gsIHN0cnVjdCB2YWx1ZSAqY29udGFpbmVyLAogIHN0YXRpYyBzdHJ1Y3QgdmFsdWUgKgogIGdu dXYzX3ZpcnR1YWxfZm5fZmllbGQgKHN0cnVjdCB2YWx1ZSAqKnZhbHVlX3AsCiAgICAgICAgICAg ICAgICAgICAgICAgICAgc3RydWN0IGZuX2ZpZWxkICpmLCBpbnQgaiwKQEAgLTIxMzEsNyArMjEz MSw3IEBAIGluZGV4IDA5NjU4NDZjZTYuLmQ0NDNjMjk0NDMgMTAwNjQ0CiAgewogICAgc3RydWN0 IHR5cGUgKnZhbHVlc190eXBlID0gY2hlY2tfdHlwZWRlZiAodmFsdWVfdHlwZSAoKnZhbHVlX3Ap KTsKICAgIHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoOwotQEAgLTQzOCw3ICs0MzgsNyBAQCBnbnV2 M192aXJ0dWFsX2ZuX2ZpZWxkIChzdHJ1Y3QgdmFsdWUgKip2YWx1ZV9wLAorQEAgLTQzOSw3ICs0 MzksNyBAQCBnbnV2M192aXJ0dWFsX2ZuX2ZpZWxkIChzdHJ1Y3QgdmFsdWUgKip2YWx1ZV9wLAog IAogICAgIC0xIGlzIHJldHVybmVkIG9uIGVycm9yLiAgKi8KICAKQEAgLTIxNDAsNyArMjE0MCw3 IEBAIGluZGV4IDA5NjU4NDZjZTYuLmQ0NDNjMjk0NDMgMTAwNjQ0CiAgZ251djNfYmFzZWNsYXNz X29mZnNldCAoc3RydWN0IHR5cGUgKnR5cGUsIGludCBpbmRleCwKICAJCQljb25zdCBiZmRfYnl0 ZSAqdmFsYWRkciwgTE9OR0VTVCBlbWJlZGRlZF9vZmZzZXQsCiAgCQkJQ09SRV9BRERSIGFkZHJl c3MsIGNvbnN0IHN0cnVjdCB2YWx1ZSAqdmFsKQotQEAgLTQ0Nyw3ICs0NDcsNyBAQCBnbnV2M19i YXNlY2xhc3Nfb2Zmc2V0IChzdHJ1Y3QgdHlwZSAqdHlwZSwgaW50IGluZGV4LAorQEAgLTQ0OCw3 ICs0NDgsNyBAQCBnbnV2M19iYXNlY2xhc3Nfb2Zmc2V0IChzdHJ1Y3QgdHlwZSAqdHlwZSwgaW50 IGluZGV4LAogICAgc3RydWN0IHR5cGUgKnB0cl90eXBlOwogICAgc3RydWN0IHZhbHVlICp2dGFi bGU7CiAgICBzdHJ1Y3QgdmFsdWUgKnZiYXNlX2FycmF5OwpAQCAtMjE0OSw3ICsyMTQ5LDcgQEAg aW5kZXggMDk2NTg0NmNlNi4uZDQ0M2MyOTQ0MyAxMDA2NDQKICAKICAgIC8qIERldGVybWluZSBh cmNoaXRlY3R1cmUuICAqLwogICAgZ2RiYXJjaCA9IGdldF90eXBlX2FyY2ggKHR5cGUpOwotQEAg LTQ3MCw3ICs0NzAsNyBAQCBnbnV2M19iYXNlY2xhc3Nfb2Zmc2V0IChzdHJ1Y3QgdHlwZSAqdHlw ZSwgaW50IGluZGV4LAorQEAgLTQ3MSw3ICs0NzEsNyBAQCBnbnV2M19iYXNlY2xhc3Nfb2Zmc2V0 IChzdHJ1Y3QgdHlwZSAqdHlwZSwgaW50IGluZGV4LAogICAgY3VyX2Jhc2Vfb2Zmc2V0ID0gY3Vy X2Jhc2Vfb2Zmc2V0ICsgdnRhYmxlX2FkZHJlc3NfcG9pbnRfb2Zmc2V0IChnZGJhcmNoKTsKICAg IGlmICgoLSBjdXJfYmFzZV9vZmZzZXQpICUgVFlQRV9MRU5HVEggKHB0cl90eXBlKSAhPSAwKQog ICAgICBlcnJvciAoXygiTWlzYWxpZ25lZCB2YmFzZSBvZmZzZXQuIikpOwpAQCAtMjE1OCw3ICsy MTU4LDcgQEAgaW5kZXggMDk2NTg0NmNlNi4uZDQ0M2MyOTQ0MyAxMDA2NDQKICAKICAgIHZ0YWJs ZSA9IGdudXYzX2dldF92dGFibGUgKGdkYmFyY2gsIHR5cGUsIGFkZHJlc3MgKyBlbWJlZGRlZF9v ZmZzZXQpOwogICAgZ2RiX2Fzc2VydCAodnRhYmxlICE9IE5VTEwpOwotQEAgLTUxNCw3ICs1MTQs NyBAQCBnbnV2M19maW5kX21ldGhvZF9pbiAoc3RydWN0IHR5cGUgKmRvbWFpbiwgQ09SRV9BRERS IHZvZmZzZXQsCitAQCAtNTE1LDcgKzUxNSw3IEBAIGdudXYzX2ZpbmRfbWV0aG9kX2luIChzdHJ1 Y3QgdHlwZSAqZG9tYWluLCBDT1JFX0FERFIgdm9mZnNldCwKICAgICAgIHdlJ3JlIG91dCBvZiBs dWNrLiAgKi8KICAgIGZvciAoaSA9IDA7IGkgPCBUWVBFX05fQkFTRUNMQVNTRVMgKGRvbWFpbik7 IGkrKykKICAgICAgewpAQCAtMjE5NCwxMCArMjE5NCwxMCBAQCBpbmRleCBlY2NmOWE4MTgxLi40 Y2NhODAyZTU5IDEwMDY0NAogIAkgICAgICBzdHJ1Y3QgdmFsdWUgKnZhbCwKICAJICAgICAgY29u c3Qgc3RydWN0IHZhbHVlX3ByaW50X29wdGlvbnMgKm9wdGlvbnMpCiBkaWZmIC0tZ2l0IGEvZ2Ri L2kzODYtdGRlcC5jIGIvZ2RiL2kzODYtdGRlcC5jCi1pbmRleCBkMWI0NjFiNTM4Li5hZjQ5NDJh YjJlIDEwMDY0NAoraW5kZXggYTBlODcyYzAxZi4uZDY3ZTJlNDBjNSAxMDA2NDQKIC0tLSBhL2dk Yi9pMzg2LXRkZXAuYwogKysrIGIvZ2RiL2kzODYtdGRlcC5jCi1AQCAtODE3NSw3ICs4MTc1LDcg QEAgaTM4Nl9mYXN0X3RyYWNlcG9pbnRfdmFsaWRfYXQgKHN0cnVjdCBnZGJhcmNoICpnZGJhcmNo LCBDT1JFX0FERFIgYWRkciwKK0BAIC04MTc3LDcgKzgxNzcsNyBAQCBpMzg2X2Zhc3RfdHJhY2Vw b2ludF92YWxpZF9hdCAoc3RydWN0IGdkYmFyY2ggKmdkYmFyY2gsIENPUkVfQUREUiBhZGRyLAog IAogIGNvbnN0IHN0cnVjdCBmbG9hdGZvcm1hdCAqKgogIGkzODZfZmxvYXRmb3JtYXRfZm9yX3R5 cGUgKHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoLApAQCAtMjIwNyw3ICsyMjA3LDcgQEAgaW5kZXgg ZDFiNDYxYjUzOC4uYWY0OTQyYWIyZSAxMDA2NDQKICAgIGlmIChsZW4gPT0gMTI4ICYmIG5hbWUp CiAgICAgIGlmIChzdHJjbXAgKG5hbWUsICJfX2Zsb2F0MTI4IikgPT0gMAogZGlmZiAtLWdpdCBh L2dkYi9sYW5ndWFnZS5jIGIvZ2RiL2xhbmd1YWdlLmMKLWluZGV4IDBkODYwNGI4MjYuLjdkY2E2 NjliNDAgMTAwNjQ0CitpbmRleCAyMjE5OWUwYzBkLi41YjdjNDg3MWIyIDEwMDY0NAogLS0tIGEv Z2RiL2xhbmd1YWdlLmMKICsrKyBiL2dkYi9sYW5ndWFnZS5jCiBAQCAtNzczLDcgKzc3Myw3IEBA IHVua19sYW5nX3ByaW50Y2hhciAoaW50IGMsIHN0cnVjdCB0eXBlICp0eXBlLCBzdHJ1Y3QgdWlf ZmlsZSAqc3RyZWFtKQpAQCAtMjIyOSw3ICsyMjI5LDcgQEAgaW5kZXggMGQ4NjA0YjgyNi4uN2Rj YTY2OWI0MCAxMDA2NDQKICAJCSAgICBzdHJ1Y3QgdmFsdWUgKnZhbCwKICAJCSAgICBjb25zdCBz dHJ1Y3QgdmFsdWVfcHJpbnRfb3B0aW9ucyAqb3B0aW9ucykKIGRpZmYgLS1naXQgYS9nZGIvbGFu Z3VhZ2UuaCBiL2dkYi9sYW5ndWFnZS5oCi1pbmRleCAwNmI0MmFlYjVjLi45ZTc5NGYxM2EzIDEw MDY0NAoraW5kZXggMDI5ZGU0YTdhYi4uMmMwMzA4ZmE5MyAxMDA2NDQKIC0tLSBhL2dkYi9sYW5n dWFnZS5oCiArKysgYi9nZGIvbGFuZ3VhZ2UuaAogQEAgLTE4OCw3ICsxODgsNyBAQCBzdHJ1Y3Qg bGFuZ3VhZ2VfZGVmbgpAQCAtMjI1MSw3ICsyMjUxLDcgQEAgaW5kZXggMDZiNDJhZWI1Yy4uOWU3 OTRmMTNhMyAxMDA2NDQKICAJCQkgIHN0cnVjdCB2YWx1ZSAqdmFsLAogIAkJCSAgY29uc3Qgc3Ry dWN0IHZhbHVlX3ByaW50X29wdGlvbnMgKm9wdGlvbnMpOwogZGlmZiAtLWdpdCBhL2dkYi9tMi1s YW5nLmMgYi9nZGIvbTItbGFuZy5jCi1pbmRleCAxMWNjYWIzMGM4Li45MDgxZDAxOTg3IDEwMDY0 NAoraW5kZXggNmU2NDM0Yjg0Ni4uOTU5NWQzNzlmMyAxMDA2NDQKIC0tLSBhL2dkYi9tMi1sYW5n LmMKICsrKyBiL2dkYi9tMi1sYW5nLmMKIEBAIC0xMDMsMTAgKzEwMywxMCBAQCBtMl9wcmludGNo YXIgKGludCBjLCBzdHJ1Y3QgdHlwZSAqdHlwZSwgc3RydWN0IHVpX2ZpbGUgKnN0cmVhbSkKQEAg LTI0NDEsMjAgKzI0NDEsMjAgQEAgaW5kZXggNDYwODhhZGU1My4uMDM4Y2QyZjkyYyAxMDA2NDQK ICAvKiBSZXR1cm5zIHRydWUgaWYgQUREUiBpcyBpbiBSQU5HRS4gICovCiAgCiBkaWZmIC0tZ2l0 IGEvZ2RiL21pcHMtbGludXgtbmF0LmMgYi9nZGIvbWlwcy1saW51eC1uYXQuYwotaW5kZXggNjhm ZDFmODNjMy4uZWJiNTlkY2M5MCAxMDA2NDQKK2luZGV4IGE5ZjBiNzkwNzYuLjM2ODg3YjM1Y2Ig MTAwNjQ0CiAtLS0gYS9nZGIvbWlwcy1saW51eC1uYXQuYwogKysrIGIvZ2RiL21pcHMtbGludXgt bmF0LmMKLUBAIC01NzksNyArNTc5LDcgQEAgbWlwc19saW51eF9zdG9wcGVkX2RhdGFfYWRkcmVz cyAoc3RydWN0IHRhcmdldF9vcHMgKnQsIENPUkVfQUREUiAqcGFkZHIpCitAQCAtNjIyLDcgKzYy Miw3IEBAIG1pcHNfbGludXhfbmF0X3RhcmdldDo6c3RvcHBlZF9kYXRhX2FkZHJlc3MgKENPUkVf QUREUiAqcGFkZHIpCisgICAgdGhlIHNwZWNpZmllZCByZWdpb24gY2FuIGJlIGNvdmVyZWQgYnkg dGhlIHdhdGNoIHJlZ2lzdGVycy4gICovCiAgCi0gc3RhdGljIGludAotIG1pcHNfbGludXhfcmVn aW9uX29rX2Zvcl9od193YXRjaHBvaW50IChzdHJ1Y3QgdGFyZ2V0X29wcyAqc2VsZiwKLS0JCQkJ CUNPUkVfQUREUiBhZGRyLCBpbnQgbGVuKQotKwkJCQkJQ09SRV9BRERSIGFkZHIsIExPTkdFU1Qg bGVuKQorIGludAorLW1pcHNfbGludXhfbmF0X3RhcmdldDo6cmVnaW9uX29rX2Zvcl9od193YXRj aHBvaW50IChDT1JFX0FERFIgYWRkciwgaW50IGxlbikKKyttaXBzX2xpbnV4X25hdF90YXJnZXQ6 OnJlZ2lvbl9va19mb3JfaHdfd2F0Y2hwb2ludCAoQ09SRV9BRERSIGFkZHIsIExPTkdFU1QgbGVu KQogIHsKICAgIHN0cnVjdCBwdF93YXRjaF9yZWdzIGR1bW15X3JlZ3M7CiAgICBpbnQgaTsKIGRp ZmYgLS1naXQgYS9nZGIvbmF0L3g4Ni1kcmVncy5jIGIvZ2RiL25hdC94ODYtZHJlZ3MuYwotaW5k ZXggYzgxNjQ3MzYyOC4uMDVmMzg2ODc1OSAxMDA2NDQKK2luZGV4IDc2MDRhMzYzNDIuLjFlYTRh M2IxMDcgMTAwNjQ0CiAtLS0gYS9nZGIvbmF0L3g4Ni1kcmVncy5jCiArKysgYi9nZGIvbmF0L3g4 Ni1kcmVncy5jCiBAQCAtMzgwLDcgKzM4MCw3IEBAIHg4Nl9yZW1vdmVfYWxpZ25lZF93YXRjaHBv aW50IChzdHJ1Y3QgeDg2X2RlYnVnX3JlZ19zdGF0ZSAqc3RhdGUsCkBAIC0yNDc2LDcgKzI0NzYs NyBAQCBpbmRleCBjODE2NDczNjI4Li4wNWYzODY4NzU5IDEwMDY0NAogICAgaW50IG5yZWdzOwog IAogZGlmZiAtLWdpdCBhL2dkYi9uYXQveDg2LWRyZWdzLmggYi9nZGIvbmF0L3g4Ni1kcmVncy5o Ci1pbmRleCBkZDYyNDJlZGE5Li42NTA4YWY5M2IzIDEwMDY0NAoraW5kZXggZTg2ZTgzYWVhMC4u NGNlMWE5NzlhMyAxMDA2NDQKIC0tLSBhL2dkYi9uYXQveDg2LWRyZWdzLmgKICsrKyBiL2dkYi9u YXQveDg2LWRyZWdzLmgKIEBAIC0xMTYsNyArMTE2LDcgQEAgZXh0ZXJuIGludCB4ODZfZHJfcmVt b3ZlX3dhdGNocG9pbnQgKHN0cnVjdCB4ODZfZGVidWdfcmVnX3N0YXRlICpzdGF0ZSwKQEAgLTI0 ODksNyArMjQ4OSw3IEBAIGluZGV4IGRkNjI0MmVkYTkuLjY1MDhhZjkzYjMgMTAwNjQ0CiAgLyog SWYgdGhlIGluZmVyaW9yIGhhcyBzb21lIGJyZWFrL3dhdGNocG9pbnQgdGhhdCB0cmlnZ2VyZWQs IHNldCB0aGUKICAgICBhZGRyZXNzIGFzc29jaWF0ZWQgd2l0aCB0aGF0IGJyZWFrL3dhdGNocG9p bnQgYW5kIHJldHVybiB0cnVlLgogZGlmZiAtLWdpdCBhL2dkYi9vcGVuY2wtbGFuZy5jIGIvZ2Ri L29wZW5jbC1sYW5nLmMKLWluZGV4IDI2OGMzYzVjMzcuLjkxZjRkODQxMmEgMTAwNjQ0CitpbmRl eCA4YWY2M2Y3NjIwLi42MmI4ZDQ3NzdiIDEwMDY0NAogLS0tIGEvZ2RiL29wZW5jbC1sYW5nLmMK ICsrKyBiL2dkYi9vcGVuY2wtbGFuZy5jCiBAQCAtNzYsMTEgKzc2LDExIEBAIGJ1aWx0aW5fb3Bl bmNsX3R5cGUgKHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoKQpAQCAtMjU2MSw3ICsyNTYxLDcgQEAg aW5kZXggMjY4YzNjNWMzNy4uOTFmNGQ4NDEyYSAxMDA2NDQKICAgICAgICBpZiAoIXZhbHVlX2Jp dHNfc3ludGhldGljX3BvaW50ZXIgKGMtPnZhbCwKICAJCQkJCSBjLT5pbmRpY2VzW2ldICogZWxz aXplICsgY29tcF9vZmZzZXQsCiBkaWZmIC0tZ2l0IGEvZ2RiL3AtbGFuZy5jIGIvZ2RiL3AtbGFu Zy5jCi1pbmRleCAwM2RiMmRmMmU1Li45Yzk4MTBlMjI2IDEwMDY0NAoraW5kZXggM2ZmN2Y1Njk0 Zi4uYjM2ODRkOTNmYSAxMDA2NDQKIC0tLSBhL2dkYi9wLWxhbmcuYwogKysrIGIvZ2RiL3AtbGFu Zy5jCiBAQCAtOTMsOCArOTMsOCBAQCBwYXNjYWxfbWFpbl9uYW1lICh2b2lkKQpAQCAtMjY2NSwy MyArMjY2NSwyMyBAQCBpbmRleCA5MzNkYmZiNmM0Li5lNWMxYjA3MDQwIDEwMDY0NAogICAgQ09S RV9BRERSIGFkZHI7CiAgICBpbnQgd2FudF9zcGFjZSA9IDA7CiBkaWZmIC0tZ2l0IGEvZ2RiL3Bw Yy1saW51eC1uYXQuYyBiL2dkYi9wcGMtbGludXgtbmF0LmMKLWluZGV4IDg0MThlNGQzNWQuLjRh ODI0MzRjMGQgMTAwNjQ0CitpbmRleCAxNDIzMzM5MzM5Li5iNzBmMTY4MTA2IDEwMDY0NAogLS0t IGEvZ2RiL3BwYy1saW51eC1uYXQuYwogKysrIGIvZ2RiL3BwYy1saW51eC1uYXQuYwotQEAgLTE0 NDUsNyArMTQ0NSw3IEBAIHBwY19saW51eF9jYW5fdXNlX2h3X2JyZWFrcG9pbnQgKHN0cnVjdCB0 YXJnZXRfb3BzICpzZWxmLAorQEAgLTE0OTYsNyArMTQ5Niw3IEBAIHBwY19saW51eF9uYXRfdGFy Z2V0OjpjYW5fdXNlX2h3X2JyZWFrcG9pbnQgKGVudW0gYnB0eXBlIHR5cGUsIGludCBjbnQsIGlu dCBvdCkKKyB9CiAgCi0gc3RhdGljIGludAotIHBwY19saW51eF9yZWdpb25fb2tfZm9yX2h3X3dh dGNocG9pbnQgKHN0cnVjdCB0YXJnZXRfb3BzICpzZWxmLAotLQkJCQkgICAgICAgQ09SRV9BRERS IGFkZHIsIGludCBsZW4pCi0rCQkJCSAgICAgICBDT1JFX0FERFIgYWRkciwgTE9OR0VTVCBsZW4p CisgaW50CistcHBjX2xpbnV4X25hdF90YXJnZXQ6OnJlZ2lvbl9va19mb3JfaHdfd2F0Y2hwb2lu dCAoQ09SRV9BRERSIGFkZHIsIGludCBsZW4pCisrcHBjX2xpbnV4X25hdF90YXJnZXQ6OnJlZ2lv bl9va19mb3JfaHdfd2F0Y2hwb2ludCAoQ09SRV9BRERSIGFkZHIsIExPTkdFU1QgbGVuKQogIHsK ICAgIC8qIEhhbmRsZSBzdWItOC1ieXRlIHF1YW50aXRpZXMuICAqLwogICAgaWYgKGxlbiA8PSAw KQogZGlmZiAtLWdpdCBhL2dkYi9wcGMtbGludXgtdGRlcC5jIGIvZ2RiL3BwYy1saW51eC10ZGVw LmMKLWluZGV4IDI4NmMwMmEyNmQuLjcyNDJjN2Y4OWEgMTAwNjQ0CitpbmRleCA2ZDNhNjRjNGYw Li4zYWNlNjA5NmRkIDEwMDY0NAogLS0tIGEvZ2RiL3BwYy1saW51eC10ZGVwLmMKICsrKyBiL2dk Yi9wcGMtbGludXgtdGRlcC5jCi1AQCAtMTYyMCw3ICsxNjIwLDcgQEAgcHBjX2luaXRfbGludXhf cmVjb3JkX3RkZXAgKHN0cnVjdCBsaW51eF9yZWNvcmRfdGRlcCAqcmVjb3JkX3RkZXAsCitAQCAt MTYzNyw3ICsxNjM3LDcgQEAgcHBjX2luaXRfbGludXhfcmVjb3JkX3RkZXAgKHN0cnVjdCBsaW51 eF9yZWNvcmRfdGRlcCAqcmVjb3JkX3RkZXAsCiAgCiAgY29uc3Qgc3RydWN0IGZsb2F0Zm9ybWF0 ICoqCiAgcHBjX2Zsb2F0Zm9ybWF0X2Zvcl90eXBlIChzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCwK QEAgLTI2OTEsMTAgKzI2OTEsMTAgQEAgaW5kZXggMjg2YzAyYTI2ZC4uNzI0MmM3Zjg5YSAxMDA2 NDQKICAgIGlmIChsZW4gPT0gMTI4ICYmIG5hbWUpCiAgICAgIHsKIGRpZmYgLS1naXQgYS9nZGIv cHJpbnRjbWQuYyBiL2dkYi9wcmludGNtZC5jCi1pbmRleCBhZDgwYjFiZWJmLi5hMTI2YTBmOGI5 IDEwMDY0NAoraW5kZXggYzkyMTAyMmE1OS4uZjM0YjE1MzVhZiAxMDA2NDQKIC0tLSBhL2dkYi9w cmludGNtZC5jCiArKysgYi9nZGIvcHJpbnRjbWQuYwotQEAgLTI3Nyw3ICsyNzcsNyBAQCBwcmlu dF9mb3JtYXR0ZWQgKHN0cnVjdCB2YWx1ZSAqdmFsLCBpbnQgc2l6ZSwKK0BAIC0yNzUsNyArMjc1 LDcgQEAgcHJpbnRfZm9ybWF0dGVkIChzdHJ1Y3QgdmFsdWUgKnZhbCwgaW50IHNpemUsCiAgCQkg c3RydWN0IHVpX2ZpbGUgKnN0cmVhbSkKICB7CiAgICBzdHJ1Y3QgdHlwZSAqdHlwZSA9IGNoZWNr X3R5cGVkZWYgKHZhbHVlX3R5cGUgKHZhbCkpOwpAQCAtMjcwMyw3ICsyNzAzLDcgQEAgaW5kZXgg YWQ4MGIxYmViZi4uYTEyNmEwZjhiOSAxMDA2NDQKICAKICAgIGlmIChWQUxVRV9MVkFMICh2YWwp ID09IGx2YWxfbWVtb3J5KQogICAgICBuZXh0X2FkZHJlc3MgPSB2YWx1ZV9hZGRyZXNzICh2YWwp ICsgbGVuOwotQEAgLTM1Myw3ICszNTMsNyBAQCBwcmludF9zY2FsYXJfZm9ybWF0dGVkIChjb25z dCBnZGJfYnl0ZSAqdmFsYWRkciwgc3RydWN0IHR5cGUgKnR5cGUsCitAQCAtMzUxLDcgKzM1MSw3 IEBAIHByaW50X3NjYWxhcl9mb3JtYXR0ZWQgKGNvbnN0IGdkYl9ieXRlICp2YWxhZGRyLCBzdHJ1 Y3QgdHlwZSAqdHlwZSwKICAJCQlpbnQgc2l6ZSwgc3RydWN0IHVpX2ZpbGUgKnN0cmVhbSkKICB7 CiAgICBzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCA9IGdldF90eXBlX2FyY2ggKHR5cGUpOwpAQCAt MjcxMywzMiArMjcxMyw0MSBAQCBpbmRleCBhZDgwYjFiZWJmLi5hMTI2YTBmOGI5IDEwMDY0NAog IAogICAgLyogU3RyaW5nIHByaW50aW5nIHNob3VsZCBnbyB0aHJvdWdoIHZhbF9wcmludF9zY2Fs YXJfZm9ybWF0dGVkLiAgKi8KIGRpZmYgLS1naXQgYS9nZGIvcHJvY2ZzLmMgYi9nZGIvcHJvY2Zz LmMKLWluZGV4IGE5MzlkZWRiMDAuLjg4N2YxMjAxZmUgMTAwNjQ0CitpbmRleCA3MDYxOWYxYzE1 Li5jYTdjYzIyMWY5IDEwMDY0NAogLS0tIGEvZ2RiL3Byb2Nmcy5jCiArKysgYi9nZGIvcHJvY2Zz LmMKLUBAIC0zMzk5LDcgKzMzOTksNyBAQCBwcm9jZnNfcmVtb3ZlX3dhdGNocG9pbnQgKHN0cnVj dCB0YXJnZXRfb3BzICpzZWxmLAorQEAgLTMzNTgsNyArMzM1OCw3IEBAIHByb2Nmc190YXJnZXQ6 OnJlbW92ZV93YXRjaHBvaW50IChDT1JFX0FERFIgYWRkciwgaW50IGxlbiwKKyB9CiAgCi0gc3Rh dGljIGludAotIHByb2Nmc19yZWdpb25fb2tfZm9yX2h3X3dhdGNocG9pbnQgKHN0cnVjdCB0YXJn ZXRfb3BzICpzZWxmLAotLQkJCQkgICAgQ09SRV9BRERSIGFkZHIsIGludCBsZW4pCi0rCQkJCSAg ICBDT1JFX0FERFIgYWRkciwgTE9OR0VTVCBsZW4pCisgaW50CistcHJvY2ZzX3RhcmdldDo6cmVn aW9uX29rX2Zvcl9od193YXRjaHBvaW50IChDT1JFX0FERFIgYWRkciwgaW50IGxlbikKKytwcm9j ZnNfdGFyZ2V0OjpyZWdpb25fb2tfZm9yX2h3X3dhdGNocG9pbnQgKENPUkVfQUREUiBhZGRyLCBM T05HRVNUIGxlbikKICB7CiAgICAvKiBUaGUgbWFuIHBhZ2UgZm9yIHByb2MoNCkgb24gU29sYXJp cyAyLjYgYW5kIHVwIHNheXMgdGhhdCB0aGUKICAgICAgIHN5c3RlbSBjYW4gc3VwcG9ydCAidGhv dXNhbmRzIiBvZiBoYXJkd2FyZSB3YXRjaHBvaW50cywgYnV0IGdpdmVzCiBkaWZmIC0tZ2l0IGEv Z2RiL3JlZ2NhY2hlLmMgYi9nZGIvcmVnY2FjaGUuYwotaW5kZXggZmI2YTkwNGRlYy4uMzY5NDYx NjA2OSAxMDA2NDQKK2luZGV4IDgzYmNiZDIyYTMuLmY4MTA3NTIxMDIgMTAwNjQ0CiAtLS0gYS9n ZGIvcmVnY2FjaGUuYwogKysrIGIvZ2RiL3JlZ2NhY2hlLmMKLUBAIC04OTcsNyArODk3LDcgQEAg dHlwZWRlZiB2b2lkIChyZWdjYWNoZV93cml0ZV9mdHlwZSkgKHN0cnVjdCByZWdjYWNoZSAqcmVn Y2FjaGUsIGludCByZWdudW0sCi0gCQkJCSAgICAgY29uc3Qgdm9pZCAqYnVmKTsKK0BAIC04NDYs NyArODQ2LDcgQEAgcmVnY2FjaGU6OmNvb2tlZF93cml0ZSAoaW50IHJlZ251bSwgY29uc3QgZ2Ri X2J5dGUgKmJ1ZikKKyAgICBvcGVyYXRpb24uICAqLwogIAogIGVudW0gcmVnaXN0ZXJfc3RhdHVz Ci0tcmVnY2FjaGU6OnhmZXJfcGFydCAoaW50IHJlZ251bSwgaW50IG9mZnNldCwgaW50IGxlbiwg dm9pZCAqaW4sCi0rcmVnY2FjaGU6OnhmZXJfcGFydCAoaW50IHJlZ251bSwgTE9OR0VTVCBvZmZz ZXQsIExPTkdFU1QgbGVuLCB2b2lkICppbiwKKy1yZWFkYWJsZV9yZWdjYWNoZTo6cmVhZF9wYXJ0 IChpbnQgcmVnbnVtLCBpbnQgb2Zmc2V0LCBpbnQgbGVuLCB2b2lkICppbiwKKytyZWFkYWJsZV9y ZWdjYWNoZTo6cmVhZF9wYXJ0IChpbnQgcmVnbnVtLCBMT05HRVNUIG9mZnNldCwgTE9OR0VTVCBs ZW4sIHZvaWQgKmluLAorIAkJCSAgICAgIGJvb2wgaXNfcmF3KQorIHsKKyAgIHN0cnVjdCBnZGJh cmNoICpnZGJhcmNoID0gYXJjaCAoKTsKK0BAIC04NzUsNyArODc1LDcgQEAgcmVhZGFibGVfcmVn Y2FjaGU6OnJlYWRfcGFydCAoaW50IHJlZ251bSwgaW50IG9mZnNldCwgaW50IGxlbiwgdm9pZCAq aW4sCisgfQorIAorIGVudW0gcmVnaXN0ZXJfc3RhdHVzCistcmVnY2FjaGU6OndyaXRlX3BhcnQg KGludCByZWdudW0sIGludCBvZmZzZXQsIGludCBsZW4sCisrcmVnY2FjaGU6OndyaXRlX3BhcnQg KGludCByZWdudW0sIExPTkdFU1Qgb2Zmc2V0LCBMT05HRVNUIGxlbiwKICAJCSAgICAgY29uc3Qg dm9pZCAqb3V0LCBib29sIGlzX3JhdykKICB7CiAgICBzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCA9 IGFyY2ggKCk7Ci1AQCAtOTQxLDEzICs5NDEsMTMgQEAgcmVnY2FjaGU6OnhmZXJfcGFydCAoaW50 IHJlZ251bSwgaW50IG9mZnNldCwgaW50IGxlbiwgdm9pZCAqaW4sCitAQCAtOTEzLDEzICs5MTMs MTQgQEAgcmVnY2FjaGU6OndyaXRlX3BhcnQgKGludCByZWdudW0sIGludCBvZmZzZXQsIGludCBs ZW4sCiAgCiAgZW51bSByZWdpc3Rlcl9zdGF0dXMKICByZWdjYWNoZV9yYXdfcmVhZF9wYXJ0IChz dHJ1Y3QgcmVnY2FjaGUgKnJlZ2NhY2hlLCBpbnQgcmVnbnVtLApAQCAtMjc0OSwxMiArMjc1OCwx MyBAQCBpbmRleCBmYjZhOTA0ZGVjLi4zNjk0NjE2MDY5IDEwMDY0NAogIH0KICAKICBlbnVtIHJl Z2lzdGVyX3N0YXR1cwotLXJlZ2NhY2hlOjpyYXdfcmVhZF9wYXJ0IChpbnQgcmVnbnVtLCBpbnQg b2Zmc2V0LCBpbnQgbGVuLCBnZGJfYnl0ZSAqYnVmKQotK3JlZ2NhY2hlOjpyYXdfcmVhZF9wYXJ0 IChpbnQgcmVnbnVtLCBpbnQgb2Zmc2V0LCBMT05HRVNUIGxlbiwgZ2RiX2J5dGUgKmJ1ZikKKy1y ZWFkYWJsZV9yZWdjYWNoZTo6cmF3X3JlYWRfcGFydCAoaW50IHJlZ251bSwgaW50IG9mZnNldCwg aW50IGxlbiwgZ2RiX2J5dGUgKmJ1ZikKKytyZWFkYWJsZV9yZWdjYWNoZTo6cmF3X3JlYWRfcGFy dCAoaW50IHJlZ251bSwgaW50IG9mZnNldCwgTE9OR0VTVCBsZW4sCisrCQkJCSAgZ2RiX2J5dGUg KmJ1ZikKICB7CiAgICBhc3NlcnRfcmVnbnVtIChyZWdudW0pOwotICAgcmV0dXJuIHhmZXJfcGFy dCAocmVnbnVtLCBvZmZzZXQsIGxlbiwgYnVmLCBOVUxMLCB0cnVlKTsKLUBAIC05NTUsMTMgKzk1 NSwxMyBAQCByZWdjYWNoZTo6cmF3X3JlYWRfcGFydCAoaW50IHJlZ251bSwgaW50IG9mZnNldCwg aW50IGxlbiwgZ2RiX2J5dGUgKmJ1ZikKKyAgIHJldHVybiByZWFkX3BhcnQgKHJlZ251bSwgb2Zm c2V0LCBsZW4sIGJ1ZiwgdHJ1ZSk7CitAQCAtOTI3LDEzICs5MjgsMTMgQEAgcmVhZGFibGVfcmVn Y2FjaGU6OnJhd19yZWFkX3BhcnQgKGludCByZWdudW0sIGludCBvZmZzZXQsIGludCBsZW4sIGdk Yl9ieXRlICpidWYKICAKICB2b2lkCiAgcmVnY2FjaGVfcmF3X3dyaXRlX3BhcnQgKHN0cnVjdCBy ZWdjYWNoZSAqcmVnY2FjaGUsIGludCByZWdudW0sCkBAIC0yNzcwLDcgKzI3ODAsNyBAQCBpbmRl eCBmYjZhOTA0ZGVjLi4zNjk0NjE2MDY5IDEwMDY0NAogIAkJCSAgY29uc3QgZ2RiX2J5dGUgKmJ1 ZikKICB7CiAgICBhc3NlcnRfcmVnbnVtIChyZWdudW0pOwotQEAgLTk3MCwxNCArOTcwLDE1IEBA IHJlZ2NhY2hlOjpyYXdfd3JpdGVfcGFydCAoaW50IHJlZ251bSwgaW50IG9mZnNldCwgaW50IGxl biwKK0BAIC05NDIsMTQgKzk0MywxNCBAQCByZWdjYWNoZTo6cmF3X3dyaXRlX3BhcnQgKGludCBy ZWdudW0sIGludCBvZmZzZXQsIGludCBsZW4sCiAgCiAgZW51bSByZWdpc3Rlcl9zdGF0dXMKICBy ZWdjYWNoZV9jb29rZWRfcmVhZF9wYXJ0IChzdHJ1Y3QgcmVnY2FjaGUgKnJlZ2NhY2hlLCBpbnQg cmVnbnVtLApAQCAtMjc4MiwxMyArMjc5MiwxMiBAQCBpbmRleCBmYjZhOTA0ZGVjLi4zNjk0NjE2 MDY5IDEwMDY0NAogIAogIAogIGVudW0gcmVnaXN0ZXJfc3RhdHVzCi0tcmVnY2FjaGU6OmNvb2tl ZF9yZWFkX3BhcnQgKGludCByZWdudW0sIGludCBvZmZzZXQsIGludCBsZW4sIGdkYl9ieXRlICpi dWYpCi0rcmVnY2FjaGU6OmNvb2tlZF9yZWFkX3BhcnQgKGludCByZWdudW0sIExPTkdFU1Qgb2Zm c2V0LCBMT05HRVNUIGxlbiwKLSsJCQkgICAgZ2RiX2J5dGUgKmJ1ZikKKy1yZWFkYWJsZV9yZWdj YWNoZTo6Y29va2VkX3JlYWRfcGFydCAoaW50IHJlZ251bSwgaW50IG9mZnNldCwgaW50IGxlbiwK KytyZWFkYWJsZV9yZWdjYWNoZTo6Y29va2VkX3JlYWRfcGFydCAoaW50IHJlZ251bSwgTE9OR0VT VCBvZmZzZXQsIExPTkdFU1QgbGVuLAorIAkJCQkgICAgIGdkYl9ieXRlICpidWYpCiAgewogICAg Z2RiX2Fzc2VydCAocmVnbnVtID49IDAgJiYgcmVnbnVtIDwgbV9kZXNjci0+bnJfY29va2VkX3Jl Z2lzdGVycyk7Ci0gICByZXR1cm4geGZlcl9wYXJ0IChyZWdudW0sIG9mZnNldCwgbGVuLCBidWYs IE5VTEwsIGZhbHNlKTsKLUBAIC05ODUsMTMgKzk4NiwxMyBAQCByZWdjYWNoZTo6Y29va2VkX3Jl YWRfcGFydCAoaW50IHJlZ251bSwgaW50IG9mZnNldCwgaW50IGxlbiwgZ2RiX2J5dGUgKmJ1ZikK K0BAIC05NTgsMTMgKzk1OSwxMyBAQCByZWFkYWJsZV9yZWdjYWNoZTo6Y29va2VkX3JlYWRfcGFy dCAoaW50IHJlZ251bSwgaW50IG9mZnNldCwgaW50IGxlbiwKICAKICB2b2lkCiAgcmVnY2FjaGVf Y29va2VkX3dyaXRlX3BhcnQgKHN0cnVjdCByZWdjYWNoZSAqcmVnY2FjaGUsIGludCByZWdudW0s CkBAIC0yODA1LDEwICsyODE0LDEwIEBAIGluZGV4IGZiNmE5MDRkZWMuLjM2OTQ2MTYwNjkgMTAw NjQ0CiAgewogICAgZ2RiX2Fzc2VydCAocmVnbnVtID49IDAgJiYgcmVnbnVtIDwgbV9kZXNjci0+ bnJfY29va2VkX3JlZ2lzdGVycyk7CiBkaWZmIC0tZ2l0IGEvZ2RiL3JlZ2NhY2hlLmggYi9nZGIv cmVnY2FjaGUuaAotaW5kZXggOWUzZGE4YzNmYy4uYTgwM2I1ODUxNiAxMDA2NDQKK2luZGV4IGQ3 YmI4YjVjOTMuLjA2Zjg3OGFiMDEgMTAwNjQ0CiAtLS0gYS9nZGIvcmVnY2FjaGUuaAogKysrIGIv Z2RiL3JlZ2NhY2hlLmgKLUBAIC04Miw5ICs4Miw5IEBAIGV4dGVybiB2b2lkIHJlZ2NhY2hlX3Jh d19zZXRfY2FjaGVkX3ZhbHVlCitAQCAtNzQsOSArNzQsOSBAQCBleHRlcm4gTE9OR0VTVCByZWdj YWNoZV9yYXdfZ2V0X3NpZ25lZCAoc3RydWN0IHJlZ2NhY2hlICpyZWdjYWNoZSwKICAKICBleHRl cm4gZW51bSByZWdpc3Rlcl9zdGF0dXMKICAgIHJlZ2NhY2hlX3Jhd19yZWFkX3BhcnQgKHN0cnVj dCByZWdjYWNoZSAqcmVnY2FjaGUsIGludCByZWdudW0sCkBAIC0yODIwLDcgKzI4MjksNyBAQCBp bmRleCA5ZTNkYThjM2ZjLi5hODAzYjU4NTE2IDEwMDY0NAogIAogIHZvaWQgcmVnY2FjaGVfaW52 YWxpZGF0ZSAoc3RydWN0IHJlZ2NhY2hlICpyZWdjYWNoZSwgaW50IHJlZ251bSk7CiAgCi1AQCAt MTIxLDEwICsxMjEsMTEgQEAgZXh0ZXJuIHZvaWQgcmVnY2FjaGVfY29va2VkX3dyaXRlX3Vuc2ln bmVkIChzdHJ1Y3QgcmVnY2FjaGUgKnJlZ2NhY2hlLAorQEAgLTExMywxMCArMTEzLDExIEBAIGV4 dGVybiB2b2lkIHJlZ2NhY2hlX2Nvb2tlZF93cml0ZV91bnNpZ25lZCAoc3RydWN0IHJlZ2NhY2hl ICpyZWdjYWNoZSwKICAgICB3cml0ZSBzdHlsZSBvcGVyYXRpb25zLiAgKi8KICAKICBlbnVtIHJl Z2lzdGVyX3N0YXR1cyByZWdjYWNoZV9jb29rZWRfcmVhZF9wYXJ0IChzdHJ1Y3QgcmVnY2FjaGUg KnJlZ2NhY2hlLApAQCAtMjgzNSw1NSArMjg0NCw5MSBAQCBpbmRleCA5ZTNkYThjM2ZjLi5hODAz YjU4NTE2IDEwMDY0NAogIAogIC8qIFNwZWNpYWwgcm91dGluZXMgdG8gcmVhZC93cml0ZSB0aGUg UEMuICAqLwogIAotQEAgLTMwMiwxNSArMzAzLDE1IEBAIHB1YmxpYzoKLSAKLSAgIHZvaWQgaW52 YWxpZGF0ZSAoaW50IHJlZ251bSk7CitAQCAtMjU5LDggKzI2MCw4IEBAIHB1YmxpYzoKKyAgIHRl bXBsYXRlPHR5cGVuYW1lIFQsIHR5cGVuYW1lID0gUmVxdWlyZUxvbmdlc3Q8VD4+CisgICBlbnVt IHJlZ2lzdGVyX3N0YXR1cyByYXdfcmVhZCAoaW50IHJlZ251bSwgVCAqdmFsKTsKICAKIC0gIGVu dW0gcmVnaXN0ZXJfc3RhdHVzIHJhd19yZWFkX3BhcnQgKGludCByZWdudW0sIGludCBvZmZzZXQs IGludCBsZW4sCi0rICBlbnVtIHJlZ2lzdGVyX3N0YXR1cyByYXdfcmVhZF9wYXJ0IChpbnQgcmVn bnVtLCBpbnQgb2Zmc2V0LCBMT05HRVNUIGxlbiwKLSAJCQkJICAgICAgZ2RiX2J5dGUgKmJ1Zik7 CistCQkJCSAgICAgIGdkYl9ieXRlICpidWYpOworKyAgZW51bSByZWdpc3Rlcl9zdGF0dXMgcmF3 X3JlYWRfcGFydCAoaW50IHJlZ251bSwgaW50IG9mZnNldCwKKysJCQkJICAgICAgTE9OR0VTVCBs ZW4sIGdkYl9ieXRlICpidWYpOwogIAotLSAgdm9pZCByYXdfd3JpdGVfcGFydCAoaW50IHJlZ251 bSwgaW50IG9mZnNldCwgaW50IGxlbiwgY29uc3QgZ2RiX2J5dGUgKmJ1Zik7Ci0rICB2b2lkIHJh d193cml0ZV9wYXJ0IChpbnQgcmVnbnVtLCBpbnQgb2Zmc2V0LCBMT05HRVNUIGxlbiwgY29uc3Qg Z2RiX2J5dGUgKmJ1Zik7CisgICB2aXJ0dWFsIHZvaWQgcmF3X3VwZGF0ZSAoaW50IHJlZ251bSkg PSAwOworIAorQEAgLTI2OCwxNCArMjY5LDE0IEBAIHB1YmxpYzoKKyAgIHRlbXBsYXRlPHR5cGVu YW1lIFQsIHR5cGVuYW1lID0gUmVxdWlyZUxvbmdlc3Q8VD4+CisgICBlbnVtIHJlZ2lzdGVyX3N0 YXR1cyBjb29rZWRfcmVhZCAoaW50IHJlZ251bSwgVCAqdmFsKTsKICAKIC0gIGVudW0gcmVnaXN0 ZXJfc3RhdHVzIGNvb2tlZF9yZWFkX3BhcnQgKGludCByZWdudW0sIGludCBvZmZzZXQsIGludCBs ZW4sCi0rICBlbnVtIHJlZ2lzdGVyX3N0YXR1cyBjb29rZWRfcmVhZF9wYXJ0IChpbnQgcmVnbnVt LCBMT05HRVNUIG9mZnNldCwgTE9OR0VTVCBsZW4sCi0gCQkJCQkgZ2RiX2J5dGUgKmJ1Zik7Cist CQkJCQkgZ2RiX2J5dGUgKmJ1Zik7CisrICBlbnVtIHJlZ2lzdGVyX3N0YXR1cyBjb29rZWRfcmVh ZF9wYXJ0IChpbnQgcmVnbnVtLCBMT05HRVNUIG9mZnNldCwKKysJCQkJCSBMT05HRVNUIGxlbiwg Z2RiX2J5dGUgKmJ1Zik7CisgCisgICBzdHJ1Y3QgdmFsdWUgKmNvb2tlZF9yZWFkX3ZhbHVlIChp bnQgcmVnbnVtKTsKKyAKKyBwcm90ZWN0ZWQ6CistICBlbnVtIHJlZ2lzdGVyX3N0YXR1cyByZWFk X3BhcnQgKGludCByZWdudW0sIGludCBvZmZzZXQsIGludCBsZW4sIHZvaWQgKmluLAorLQkJCQkg IGJvb2wgaXNfcmF3KTsKKysgIGVudW0gcmVnaXN0ZXJfc3RhdHVzIHJlYWRfcGFydCAoaW50IHJl Z251bSwgTE9OR0VTVCBvZmZzZXQsIExPTkdFU1QgbGVuLAorKwkJCQkgIHZvaWQgKmluLCBib29s IGlzX3Jhdyk7CisgfTsKKyAKKyAvKiBCdWZmZXIgb2YgcmVnaXN0ZXJzLCBjYW4gYmUgcmVhZCBh bmQgd3JpdHRlbi4gICovCitAQCAtMzQ1LDkgKzM0NiwxMCBAQCBwdWJsaWM6CisgICB2b2lkIHJh d19jb2xsZWN0X2ludGVnZXIgKGludCByZWdudW0sIGdkYl9ieXRlICphZGRyLCBpbnQgYWRkcl9s ZW4sCisgCQkJICAgIGJvb2wgaXNfc2lnbmVkKSBjb25zdDsKKyAKKy0gIHZvaWQgcmF3X3dyaXRl X3BhcnQgKGludCByZWdudW0sIGludCBvZmZzZXQsIGludCBsZW4sIGNvbnN0IGdkYl9ieXRlICpi dWYpOworKyAgdm9pZCByYXdfd3JpdGVfcGFydCAoaW50IHJlZ251bSwgaW50IG9mZnNldCwgTE9O R0VTVCBsZW4sCisrCQkgICAgICAgY29uc3QgZ2RiX2J5dGUgKmJ1Zik7CiAgCiAtICB2b2lkIGNv b2tlZF93cml0ZV9wYXJ0IChpbnQgcmVnbnVtLCBpbnQgb2Zmc2V0LCBpbnQgbGVuLAogKyAgdm9p ZCBjb29rZWRfd3JpdGVfcGFydCAoaW50IHJlZ251bSwgTE9OR0VTVCBvZmZzZXQsIExPTkdFU1Qg bGVuLAogIAkJCSAgY29uc3QgZ2RiX2J5dGUgKmJ1Zik7CiAgCiAgICB2b2lkIHN1cHBseV9yZWdz ZXQgKGNvbnN0IHN0cnVjdCByZWdzZXQgKnJlZ3NldCwKLUBAIC0zNDksOCArMzUwLDggQEAgcHJp dmF0ZToKLSAKLSAgIHZvaWQgcmVzdG9yZSAoc3RydWN0IHJlZ2NhY2hlICpzcmMpOwotIAotLSAg ZW51bSByZWdpc3Rlcl9zdGF0dXMgeGZlcl9wYXJ0IChpbnQgcmVnbnVtLCBpbnQgb2Zmc2V0LCBp bnQgbGVuLCB2b2lkICppbiwKLS0JCQkJICBjb25zdCB2b2lkICpvdXQsIGJvb2wgaXNfcmF3KTsK LSsgIGVudW0gcmVnaXN0ZXJfc3RhdHVzIHhmZXJfcGFydCAoaW50IHJlZ251bSwgTE9OR0VTVCBv ZmZzZXQsIExPTkdFU1QgbGVuLAotKwkJCQkgIHZvaWQgKmluLCBjb25zdCB2b2lkICpvdXQsIGJv b2wgaXNfcmF3KTsKK0BAIC0zNzcsMTMgKzM3OSwxMiBAQCBwcm90ZWN0ZWQ6CisgICBzdGF0aWMg c3RkOjpmb3J3YXJkX2xpc3Q8cmVnY2FjaGUgKj4gY3VycmVudF9yZWdjYWNoZTsKICAKKyBwcml2 YXRlOgorLQogICAgdm9pZCB0cmFuc2Zlcl9yZWdzZXQgKGNvbnN0IHN0cnVjdCByZWdzZXQgKnJl Z3NldCwKICAJCQlzdHJ1Y3QgcmVnY2FjaGUgKm91dF9yZWdjYWNoZSwKKyAJCQlpbnQgcmVnbnVt LCBjb25zdCB2b2lkICppbl9idWYsCisgCQkJdm9pZCAqb3V0X2J1Ziwgc2l6ZV90IHNpemUpIGNv bnN0OworIAorLSAgZW51bSByZWdpc3Rlcl9zdGF0dXMgd3JpdGVfcGFydCAoaW50IHJlZ251bSwg aW50IG9mZnNldCwgaW50IGxlbiwKKysgIGVudW0gcmVnaXN0ZXJfc3RhdHVzIHdyaXRlX3BhcnQg KGludCByZWdudW0sIExPTkdFU1Qgb2Zmc2V0LCBMT05HRVNUIGxlbiwKKyAJCQkJICAgY29uc3Qg dm9pZCAqb3V0LCBib29sIGlzX3Jhdyk7CisgCisgCiBkaWZmIC0tZ2l0IGEvZ2RiL3JlbW90ZS5j IGIvZ2RiL3JlbW90ZS5jCi1pbmRleCBhNDI2NTA4NzIzLi45NGQ1NTk0MTc1IDEwMDY0NAoraW5k ZXggNThlZDllNGY0ZC4uY2U2N2Q3NjE5NSAxMDA2NDQKIC0tLSBhL2dkYi9yZW1vdGUuYwogKysr IGIvZ2RiL3JlbW90ZS5jCi1AQCAtOTk2OSw3ICs5OTY5LDcgQEAgaW50IHJlbW90ZV9od19icmVh a3BvaW50X2xpbWl0ID0gLTE7CitAQCAtMTQ2LDcgKzE0Niw3IEBAIHB1YmxpYzoKICAKLSBzdGF0 aWMgaW50Ci0gcmVtb3RlX3JlZ2lvbl9va19mb3JfaHdfd2F0Y2hwb2ludCAoc3RydWN0IHRhcmdl dF9vcHMgKnNlbGYsCi0tCQkJCSAgICBDT1JFX0FERFIgYWRkciwgaW50IGxlbikKLSsJCQkJICAg IENPUkVfQUREUiBhZGRyLCBMT05HRVNUIGxlbikKKyAgIGludCByZW1vdmVfaHdfYnJlYWtwb2lu dCAoc3RydWN0IGdkYmFyY2ggKiwgc3RydWN0IGJwX3RhcmdldF9pbmZvICopIG92ZXJyaWRlOwor IAorLSAgaW50IHJlZ2lvbl9va19mb3JfaHdfd2F0Y2hwb2ludCAoQ09SRV9BRERSLCBpbnQpIG92 ZXJyaWRlOworKyAgaW50IHJlZ2lvbl9va19mb3JfaHdfd2F0Y2hwb2ludCAoQ09SRV9BRERSLCBM T05HRVNUKSBvdmVycmlkZTsKKyAKKyAgIGludCBpbnNlcnRfd2F0Y2hwb2ludCAoQ09SRV9BRERS LCBpbnQsIGVudW0gdGFyZ2V0X2h3X2JwX3R5cGUsCisgCQkJIHN0cnVjdCBleHByZXNzaW9uICop IG92ZXJyaWRlOworQEAgLTEwMjE2LDcgKzEwMjE2LDcgQEAgaW50IHJlbW90ZV9od193YXRjaHBv aW50X2xlbmd0aF9saW1pdCA9IC0xOworIGludCByZW1vdGVfaHdfYnJlYWtwb2ludF9saW1pdCA9 IC0xOworIAorIGludAorLXJlbW90ZV90YXJnZXQ6OnJlZ2lvbl9va19mb3JfaHdfd2F0Y2hwb2lu dCAoQ09SRV9BRERSIGFkZHIsIGludCBsZW4pCisrcmVtb3RlX3RhcmdldDo6cmVnaW9uX29rX2Zv cl9od193YXRjaHBvaW50IChDT1JFX0FERFIgYWRkciwgTE9OR0VTVCBsZW4pCiAgewogICAgaWYg KHJlbW90ZV9od193YXRjaHBvaW50X2xlbmd0aF9saW1pdCA9PSAwKQogICAgICByZXR1cm4gMDsK IGRpZmYgLS1naXQgYS9nZGIvcnVzdC1sYW5nLmMgYi9nZGIvcnVzdC1sYW5nLmMKLWluZGV4IGNi OTI0ZTA4NGQuLmMxOGYyZDBlZDUgMTAwNjQ0CitpbmRleCA0YmUxMTJiN2EzLi43N2QxNDU1NDlk IDEwMDY0NAogLS0tIGEvZ2RiL3J1c3QtbGFuZy5jCiArKysgYi9nZGIvcnVzdC1sYW5nLmMKLUBA IC00NzIsNyArNDcyLDcgQEAgcnVzdF9wcmludGNoYXIgKGludCBjLCBzdHJ1Y3QgdHlwZSAqdHlw ZSwgc3RydWN0IHVpX2ZpbGUgKnN0cmVhbSkKK0BAIC0yODYsNyArMjg2LDcgQEAgcnVzdF9wcmlu dGNoYXIgKGludCBjLCBzdHJ1Y3QgdHlwZSAqdHlwZSwgc3RydWN0IHVpX2ZpbGUgKnN0cmVhbSkK ICAKICBzdGF0aWMgdm9pZAogIHJ1c3RfcHJpbnRzdHIgKHN0cnVjdCB1aV9maWxlICpzdHJlYW0s IHN0cnVjdCB0eXBlICp0eXBlLApAQCAtMjg5Miw3ICsyOTM3LDcgQEAgaW5kZXggY2I5MjRlMDg0 ZC4uYzE4ZjJkMGVkNSAxMDA2NDQKICAJICAgICAgIGNvbnN0IGNoYXIgKnVzZXJfZW5jb2Rpbmcs IGludCBmb3JjZV9lbGxpcHNlcywKICAJICAgICAgIGNvbnN0IHN0cnVjdCB2YWx1ZV9wcmludF9v cHRpb25zICpvcHRpb25zKQogIHsKLUBAIC02MTgsNyArNjE4LDcgQEAgc3RhdGljIGNvbnN0IHN0 cnVjdCBnZW5lcmljX3ZhbF9wcmludF9kZWNvcmF0aW9ucyBydXN0X2RlY29yYXRpb25zID0KK0BA IC00OTUsNyArNDk1LDcgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBnZW5lcmljX3ZhbF9wcmludF9k ZWNvcmF0aW9ucyBydXN0X2RlY29yYXRpb25zID0KICAvKiBsYV92YWxfcHJpbnQgaW1wbGVtZW50 YXRpb24gZm9yIFJ1c3QuICAqLwogIAogIHN0YXRpYyB2b2lkCkBAIC0yOTAyLDMzICsyOTQ3LDQz IEBAIGluZGV4IGNiOTI0ZTA4NGQuLmMxOGYyZDBlZDUgMTAwNjQ0CiAgCQlzdHJ1Y3QgdmFsdWUg KnZhbCwKICAJCWNvbnN0IHN0cnVjdCB2YWx1ZV9wcmludF9vcHRpb25zICpvcHRpb25zKQogZGlm ZiAtLWdpdCBhL2dkYi9zMzkwLWxpbnV4LW5hdC5jIGIvZ2RiL3MzOTAtbGludXgtbmF0LmMKLWlu ZGV4IDhhM2ZjZmY5YjYuLmE4YjdkNjM5MzggMTAwNjQ0CitpbmRleCAzYzY1YzVlYWE1Li5kN2M2 ODNlOTY4IDEwMDY0NAogLS0tIGEvZ2RiL3MzOTAtbGludXgtbmF0LmMKICsrKyBiL2dkYi9zMzkw LWxpbnV4LW5hdC5jCi1AQCAtOTIxLDcgKzkyMSw3IEBAIHMzOTBfcmVtb3ZlX2h3X2JyZWFrcG9p bnQgKHN0cnVjdCB0YXJnZXRfb3BzICpzZWxmLAorQEAgLTk1Miw3ICs5NTIsOCBAQCBzMzkwX2xp bnV4X25hdF90YXJnZXQ6OnJlbW92ZV9od19icmVha3BvaW50IChzdHJ1Y3QgZ2RiYXJjaCAqZ2Ri YXJjaCwKKyB9CiAgCi0gc3RhdGljIGludAotIHMzOTBfcmVnaW9uX29rX2Zvcl9od193YXRjaHBv aW50IChzdHJ1Y3QgdGFyZ2V0X29wcyAqc2VsZiwKLS0JCQkJICBDT1JFX0FERFIgYWRkciwgaW50 IGNudCkKLSsJCQkJICBDT1JFX0FERFIgYWRkciwgTE9OR0VTVCBjbnQpCisgaW50CistczM5MF9s aW51eF9uYXRfdGFyZ2V0OjpyZWdpb25fb2tfZm9yX2h3X3dhdGNocG9pbnQgKENPUkVfQUREUiBh ZGRyLCBpbnQgY250KQorK3MzOTBfbGludXhfbmF0X3RhcmdldDo6cmVnaW9uX29rX2Zvcl9od193 YXRjaHBvaW50IChDT1JFX0FERFIgYWRkciwKKysJCQkJCQkgICAgTE9OR0VTVCBjbnQpCiAgewog ICAgcmV0dXJuIDE7CiAgfQogZGlmZiAtLWdpdCBhL2dkYi9zcHUtbXVsdGlhcmNoLmMgYi9nZGIv c3B1LW11bHRpYXJjaC5jCi1pbmRleCA3MTUyZGRhYmJkLi4xY2ZhNzc4MGFmIDEwMDY0NAoraW5k ZXggNWRhNWU0ZTdmYy4uMjlkYjBlOGVhNiAxMDA2NDQKIC0tLSBhL2dkYi9zcHUtbXVsdGlhcmNo LmMKICsrKyBiL2dkYi9zcHUtbXVsdGlhcmNoLmMKLUBAIC0xMjgsNyArMTI4LDcgQEAgc3B1X3Ro cmVhZF9hcmNoaXRlY3R1cmUgKHN0cnVjdCB0YXJnZXRfb3BzICpvcHMsIHB0aWRfdCBwdGlkKQor QEAgLTY2LDcgKzY2LDcgQEAgc3RydWN0IHNwdV9tdWx0aWFyY2hfdGFyZ2V0IGZpbmFsIDogcHVi bGljIHRhcmdldF9vcHMKKyAJCSAgICAgY29uc3QgZ2RiX2J5dGUgKnBhdHRlcm4sIFVMT05HRVNU IHBhdHRlcm5fbGVuLAorIAkJICAgICBDT1JFX0FERFIgKmZvdW5kX2FkZHJwKSBvdmVycmlkZTsK KyAKKy0gIGludCByZWdpb25fb2tfZm9yX2h3X3dhdGNocG9pbnQgKENPUkVfQUREUiwgaW50KSBv dmVycmlkZTsKKysgIGludCByZWdpb25fb2tfZm9yX2h3X3dhdGNocG9pbnQgKENPUkVfQUREUiwg TE9OR0VTVCkgb3ZlcnJpZGU7CisgCisgICBzdHJ1Y3QgZ2RiYXJjaCAqdGhyZWFkX2FyY2hpdGVj dHVyZSAocHRpZF90KSBvdmVycmlkZTsKKyB9OworQEAgLTE2NCw3ICsxNjQsNyBAQCBzcHVfbXVs dGlhcmNoX3RhcmdldDo6dGhyZWFkX2FyY2hpdGVjdHVyZSAocHRpZF90IHB0aWQpCiAgLyogT3Zl cnJpZGUgdGhlIHRvX3JlZ2lvbl9va19mb3JfaHdfd2F0Y2hwb2ludCByb3V0aW5lLiAgKi8KLSBz dGF0aWMgaW50Ci0gc3B1X3JlZ2lvbl9va19mb3JfaHdfd2F0Y2hwb2ludCAoc3RydWN0IHRhcmdl dF9vcHMgKnNlbGYsCi0tCQkJCSBDT1JFX0FERFIgYWRkciwgaW50IGxlbikKLSsJCQkJIENPUkVf QUREUiBhZGRyLCBMT05HRVNUIGxlbikKKyAKKyBpbnQKKy1zcHVfbXVsdGlhcmNoX3RhcmdldDo6 cmVnaW9uX29rX2Zvcl9od193YXRjaHBvaW50IChDT1JFX0FERFIgYWRkciwgaW50IGxlbikKKytz cHVfbXVsdGlhcmNoX3RhcmdldDo6cmVnaW9uX29rX2Zvcl9od193YXRjaHBvaW50IChDT1JFX0FE RFIgYWRkciwgTE9OR0VTVCBsZW4pCiAgewotICAgc3RydWN0IHRhcmdldF9vcHMgKm9wc19iZW5l YXRoID0gZmluZF90YXJnZXRfYmVuZWF0aCAoc2VsZik7CisgICBzdHJ1Y3QgdGFyZ2V0X29wcyAq b3BzX2JlbmVhdGggPSBmaW5kX3RhcmdldF9iZW5lYXRoICh0aGlzKTsKICAKIGRpZmYgLS1naXQg YS9nZGIvc3RhY2suYyBiL2dkYi9zdGFjay5jCi1pbmRleCA5OTkzYWU2NTRhLi42ZTEzMzZkYTAy IDEwMDY0NAoraW5kZXggNzRjOTI1MzdkYS4uMTBmMjQ2ZWNkMSAxMDA2NDQKIC0tLSBhL2dkYi9z dGFjay5jCiArKysgYi9nZGIvc3RhY2suYwogQEAgLTE5MCw3ICsxOTAsNyBAQCBwcmludF9zdGFj a19mcmFtZSAoc3RydWN0IGZyYW1lX2luZm8gKmZyYW1lLCBpbnQgcHJpbnRfbGV2ZWwsCkBAIC0y OTcwLDEwICszMDI1LDEwIEBAIGluZGV4IDk5OTNhZTY1NGEuLjZlMTMzNmRhMDIgMTAwNjQ0CiAg ICAgICAgaWYgKGhpZ2hlc3Rfb2Zmc2V0ID09IC0xKQogIAlzdGFydCA9IGdkYmFyY2hfZnJhbWVf YXJnc19za2lwIChnZXRfZnJhbWVfYXJjaCAoZnJhbWUpKTsKIGRpZmYgLS1naXQgYS9nZGIvc3lt bWlzYy5jIGIvZ2RiL3N5bW1pc2MuYwotaW5kZXggOWFkZGUwNDRjZC4uMmJkMTQ2NGEwMSAxMDA2 NDQKK2luZGV4IDkxZGRjNTc4YTguLmFkZGY5Yjg3M2QgMTAwNjQ0CiAtLS0gYS9nZGIvc3ltbWlz Yy5jCiArKysgYi9nZGIvc3ltbWlzYy5jCi1AQCAtNTg1LDExICs1ODUsMTEgQEAgcHJpbnRfc3lt Ym9sIChzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCwgc3RydWN0IHN5bWJvbCAqc3ltYm9sLAorQEAg LTU4NiwxMSArNTg2LDExIEBAIHByaW50X3N5bWJvbCAoc3RydWN0IGdkYmFyY2ggKmdkYmFyY2gs IHN0cnVjdCBzeW1ib2wgKnN5bWJvbCwKICAKICAJY2FzZSBMT0NfQ09OU1RfQllURVM6CiAgCSAg ewpAQCAtMjk4OSw0MCArMzA0NCw2NCBAQCBpbmRleCA5YWRkZTA0NGNkLi4yYmQxNDY0YTAxIDEw MDY0NAogIAkgICAgICBmcHJpbnRmX2ZpbHRlcmVkIChvdXRmaWxlLCAiICUwMngiLAogIAkJCQko dW5zaWduZWQpIFNZTUJPTF9WQUxVRV9CWVRFUyAoc3ltYm9sKVtpXSk7CiBkaWZmIC0tZ2l0IGEv Z2RiL3RhcmdldC1kZWxlZ2F0ZXMuYyBiL2dkYi90YXJnZXQtZGVsZWdhdGVzLmMKLWluZGV4IGFh ZjExZDgxYjguLjJiNDQ5Y2JmMDEgMTAwNjQ0CitpbmRleCBkYTc0MzQ3MTIyLi5lZDYyNWVkMDMw IDEwMDY0NAogLS0tIGEvZ2RiL3RhcmdldC1kZWxlZ2F0ZXMuYwogKysrIGIvZ2RiL3RhcmdldC1k ZWxlZ2F0ZXMuYwotQEAgLTc2MCwxNCArNzYwLDE0IEBAIGRlYnVnX3dhdGNocG9pbnRfYWRkcl93 aXRoaW5fcmFuZ2UgKHN0cnVjdCB0YXJnZXRfb3BzICpzZWxmLCBDT1JFX0FERFIgYXJnMSwgQ09S CitAQCAtMzksNyArMzksNyBAQCBzdHJ1Y3QgZHVtbXlfdGFyZ2V0IDogcHVibGljIHRhcmdldF9v cHMKKyAgIGJvb2wgaGF2ZV9jb250aW51YWJsZV93YXRjaHBvaW50ICgpIG92ZXJyaWRlOworICAg Ym9vbCBzdG9wcGVkX2RhdGFfYWRkcmVzcyAoQ09SRV9BRERSICphcmcwKSBvdmVycmlkZTsKKyAg IGJvb2wgd2F0Y2hwb2ludF9hZGRyX3dpdGhpbl9yYW5nZSAoQ09SRV9BRERSIGFyZzAsIENPUkVf QUREUiBhcmcxLCBpbnQgYXJnMikgb3ZlcnJpZGU7CistICBpbnQgcmVnaW9uX29rX2Zvcl9od193 YXRjaHBvaW50IChDT1JFX0FERFIgYXJnMCwgaW50IGFyZzEpIG92ZXJyaWRlOworKyAgaW50IHJl Z2lvbl9va19mb3JfaHdfd2F0Y2hwb2ludCAoQ09SRV9BRERSIGFyZzAsIExPTkdFU1QgYXJnMSkg b3ZlcnJpZGU7CisgICBib29sIGNhbl9hY2NlbF93YXRjaHBvaW50X2NvbmRpdGlvbiAoQ09SRV9B RERSIGFyZzAsIGludCBhcmcxLCBpbnQgYXJnMiwgc3RydWN0IGV4cHJlc3Npb24gKmFyZzMpIG92 ZXJyaWRlOworICAgaW50IG1hc2tlZF93YXRjaF9udW1fcmVnaXN0ZXJzIChDT1JFX0FERFIgYXJn MCwgQ09SRV9BRERSIGFyZzEpIG92ZXJyaWRlOworICAgaW50IGNhbl9kb19zaW5nbGVfc3RlcCAo KSBvdmVycmlkZTsKK0BAIC0yMDcsNyArMjA3LDcgQEAgc3RydWN0IGRlYnVnX3RhcmdldCA6IHB1 YmxpYyB0YXJnZXRfb3BzCisgICBib29sIGhhdmVfY29udGludWFibGVfd2F0Y2hwb2ludCAoKSBv dmVycmlkZTsKKyAgIGJvb2wgc3RvcHBlZF9kYXRhX2FkZHJlc3MgKENPUkVfQUREUiAqYXJnMCkg b3ZlcnJpZGU7CisgICBib29sIHdhdGNocG9pbnRfYWRkcl93aXRoaW5fcmFuZ2UgKENPUkVfQURE UiBhcmcwLCBDT1JFX0FERFIgYXJnMSwgaW50IGFyZzIpIG92ZXJyaWRlOworLSAgaW50IHJlZ2lv bl9va19mb3JfaHdfd2F0Y2hwb2ludCAoQ09SRV9BRERSIGFyZzAsIGludCBhcmcxKSBvdmVycmlk ZTsKKysgIGludCByZWdpb25fb2tfZm9yX2h3X3dhdGNocG9pbnQgKENPUkVfQUREUiBhcmcwLCBM T05HRVNUIGFyZzEpIG92ZXJyaWRlOworICAgYm9vbCBjYW5fYWNjZWxfd2F0Y2hwb2ludF9jb25k aXRpb24gKENPUkVfQUREUiBhcmcwLCBpbnQgYXJnMSwgaW50IGFyZzIsIHN0cnVjdCBleHByZXNz aW9uICphcmczKSBvdmVycmlkZTsKKyAgIGludCBtYXNrZWRfd2F0Y2hfbnVtX3JlZ2lzdGVycyAo Q09SRV9BRERSIGFyZzAsIENPUkVfQUREUiBhcmcxKSBvdmVycmlkZTsKKyAgIGludCBjYW5fZG9f c2luZ2xlX3N0ZXAgKCkgb3ZlcnJpZGU7CitAQCAtMTA5OCwxOSArMTA5OCwxOSBAQCBkZWJ1Z190 YXJnZXQ6OndhdGNocG9pbnRfYWRkcl93aXRoaW5fcmFuZ2UgKENPUkVfQUREUiBhcmcwLCBDT1JF X0FERFIgYXJnMSwgaW50CiAgfQogIAotIHN0YXRpYyBpbnQKLS1kZWxlZ2F0ZV9yZWdpb25fb2tf Zm9yX2h3X3dhdGNocG9pbnQgKHN0cnVjdCB0YXJnZXRfb3BzICpzZWxmLCBDT1JFX0FERFIgYXJn MSwgaW50IGFyZzIpCi0rZGVsZWdhdGVfcmVnaW9uX29rX2Zvcl9od193YXRjaHBvaW50IChzdHJ1 Y3QgdGFyZ2V0X29wcyAqc2VsZiwgQ09SRV9BRERSIGFyZzEsIExPTkdFU1QgYXJnMikKKyBpbnQK Ky10YXJnZXRfb3BzOjpyZWdpb25fb2tfZm9yX2h3X3dhdGNocG9pbnQgKENPUkVfQUREUiBhcmcw LCBpbnQgYXJnMSkKKyt0YXJnZXRfb3BzOjpyZWdpb25fb2tfZm9yX2h3X3dhdGNocG9pbnQgKENP UkVfQUREUiBhcmcwLCBMT05HRVNUIGFyZzEpCiAgewotICAgc2VsZiA9IHNlbGYtPmJlbmVhdGg7 Ci0gICByZXR1cm4gc2VsZi0+dG9fcmVnaW9uX29rX2Zvcl9od193YXRjaHBvaW50IChzZWxmLCBh cmcxLCBhcmcyKTsKKyAgIHJldHVybiB0aGlzLT5iZW5lYXRoLT5yZWdpb25fb2tfZm9yX2h3X3dh dGNocG9pbnQgKGFyZzAsIGFyZzEpOwogIH0KICAKLSBzdGF0aWMgaW50Ci0tZGVidWdfcmVnaW9u X29rX2Zvcl9od193YXRjaHBvaW50IChzdHJ1Y3QgdGFyZ2V0X29wcyAqc2VsZiwgQ09SRV9BRERS IGFyZzEsIGludCBhcmcyKQotK2RlYnVnX3JlZ2lvbl9va19mb3JfaHdfd2F0Y2hwb2ludCAoc3Ry dWN0IHRhcmdldF9vcHMgKnNlbGYsIENPUkVfQUREUiBhcmcxLCBMT05HRVNUIGFyZzIpCisgaW50 CistZHVtbXlfdGFyZ2V0OjpyZWdpb25fb2tfZm9yX2h3X3dhdGNocG9pbnQgKENPUkVfQUREUiBh cmcwLCBpbnQgYXJnMSkKKytkdW1teV90YXJnZXQ6OnJlZ2lvbl9va19mb3JfaHdfd2F0Y2hwb2lu dCAoQ09SRV9BRERSIGFyZzAsIExPTkdFU1QgYXJnMSkKKyB7CisgICByZXR1cm4gZGVmYXVsdF9y ZWdpb25fb2tfZm9yX2h3X3dhdGNocG9pbnQgKHRoaXMsIGFyZzAsIGFyZzEpOworIH0KKyAKKyBp bnQKKy1kZWJ1Z190YXJnZXQ6OnJlZ2lvbl9va19mb3JfaHdfd2F0Y2hwb2ludCAoQ09SRV9BRERS IGFyZzAsIGludCBhcmcxKQorK2RlYnVnX3RhcmdldDo6cmVnaW9uX29rX2Zvcl9od193YXRjaHBv aW50IChDT1JFX0FERFIgYXJnMCwgTE9OR0VTVCBhcmcxKQogIHsKICAgIGludCByZXN1bHQ7Ci0g ICBmcHJpbnRmX3VuZmlsdGVyZWQgKGdkYl9zdGRsb2csICItPiAlcy0+dG9fcmVnaW9uX29rX2Zv cl9od193YXRjaHBvaW50ICguLi4pXG4iLCBkZWJ1Z190YXJnZXQudG9fc2hvcnRuYW1lKTsKLUBA IC03NzcsNyArNzc3LDcgQEAgZGVidWdfcmVnaW9uX29rX2Zvcl9od193YXRjaHBvaW50IChzdHJ1 Y3QgdGFyZ2V0X29wcyAqc2VsZiwgQ09SRV9BRERSIGFyZzEsIGludAorICAgZnByaW50Zl91bmZp bHRlcmVkIChnZGJfc3RkbG9nLCAiLT4gJXMtPnJlZ2lvbl9va19mb3JfaHdfd2F0Y2hwb2ludCAo Li4uKVxuIiwgdGhpcy0+YmVuZWF0aC0+c2hvcnRuYW1lICgpKTsKK0BAIC0xMTE4LDcgKzExMTgs NyBAQCBkZWJ1Z190YXJnZXQ6OnJlZ2lvbl9va19mb3JfaHdfd2F0Y2hwb2ludCAoQ09SRV9BRERS IGFyZzAsIGludCBhcmcxKQorICAgZnByaW50Zl91bmZpbHRlcmVkIChnZGJfc3RkbG9nLCAiPC0g JXMtPnJlZ2lvbl9va19mb3JfaHdfd2F0Y2hwb2ludCAoIiwgdGhpcy0+YmVuZWF0aC0+c2hvcnRu YW1lICgpKTsKKyAgIHRhcmdldF9kZWJ1Z19wcmludF9DT1JFX0FERFIgKGFyZzApOwogICAgZnB1 dHNfdW5maWx0ZXJlZCAoIiwgIiwgZ2RiX3N0ZGxvZyk7Ci0gICB0YXJnZXRfZGVidWdfcHJpbnRf Q09SRV9BRERSIChhcmcxKTsKLSAgIGZwdXRzX3VuZmlsdGVyZWQgKCIsICIsIGdkYl9zdGRsb2cp OwotLSAgdGFyZ2V0X2RlYnVnX3ByaW50X2ludCAoYXJnMik7Ci0rICB0YXJnZXRfZGVidWdfcHJp bnRfTE9OR0VTVCAoYXJnMik7CistICB0YXJnZXRfZGVidWdfcHJpbnRfaW50IChhcmcxKTsKKysg IHRhcmdldF9kZWJ1Z19wcmludF9MT05HRVNUIChhcmcxKTsKICAgIGZwdXRzX3VuZmlsdGVyZWQg KCIpID0gIiwgZ2RiX3N0ZGxvZyk7CiAgICB0YXJnZXRfZGVidWdfcHJpbnRfaW50IChyZXN1bHQp OwogICAgZnB1dHNfdW5maWx0ZXJlZCAoIlxuIiwgZ2RiX3N0ZGxvZyk7CiBkaWZmIC0tZ2l0IGEv Z2RiL3RhcmdldC5jIGIvZ2RiL3RhcmdldC5jCi1pbmRleCA3NDhkNWJiN2EyLi5hMWFjNmQwNjk3 IDEwMDY0NAoraW5kZXggZDk2Y2RlYzQxOC4uN2QwZGEzMmVjNiAxMDA2NDQKIC0tLSBhL2dkYi90 YXJnZXQuYwogKysrIGIvZ2RiL3RhcmdldC5jCi1AQCAtNTYsNyArNTYsNyBAQCBzdGF0aWMgaW50 IGRlZmF1bHRfd2F0Y2hwb2ludF9hZGRyX3dpdGhpbl9yYW5nZSAoc3RydWN0IHRhcmdldF9vcHMg KiwKK0BAIC01OSw3ICs1OSw3IEBAIHN0YXRpYyBpbnQgZGVmYXVsdF93YXRjaHBvaW50X2FkZHJf d2l0aGluX3JhbmdlIChzdHJ1Y3QgdGFyZ2V0X29wcyAqLAogIAkJCQkJCSBDT1JFX0FERFIsIENP UkVfQUREUiwgaW50KTsKICAKICBzdGF0aWMgaW50IGRlZmF1bHRfcmVnaW9uX29rX2Zvcl9od193 YXRjaHBvaW50IChzdHJ1Y3QgdGFyZ2V0X29wcyAqLApAQCAtMzAzMSw3ICszMTEwLDcgQEAgaW5k ZXggNzQ4ZDViYjdhMi4uYTFhYzZkMDY5NyAxMDA2NDQKICAKICBzdGF0aWMgdm9pZCBkZWZhdWx0 X3JjbWQgKHN0cnVjdCB0YXJnZXRfb3BzICosIGNvbnN0IGNoYXIgKiwgc3RydWN0IHVpX2ZpbGUg Kik7CiAgCi1AQCAtMzExMiw3ICszMTEyLDcgQEAgdGFyZ2V0X2ZpbGVpb19yZWFkX3N0cmFsbG9j IChzdHJ1Y3QgaW5mZXJpb3IgKmluZiwgY29uc3QgY2hhciAqZmlsZW5hbWUpCitAQCAtMzE5Nyw3 ICszMTk3LDcgQEAgdGFyZ2V0X2ZpbGVpb19yZWFkX3N0cmFsbG9jIChzdHJ1Y3QgaW5mZXJpb3Ig KmluZiwgY29uc3QgY2hhciAqZmlsZW5hbWUpCiAgCiAgc3RhdGljIGludAogIGRlZmF1bHRfcmVn aW9uX29rX2Zvcl9od193YXRjaHBvaW50IChzdHJ1Y3QgdGFyZ2V0X29wcyAqc2VsZiwKQEAgLTMw NDEsMjMgKzMxMjAsMjMgQEAgaW5kZXggNzQ4ZDViYjdhMi4uYTFhYzZkMDY5NyAxMDA2NDQKICAg IHJldHVybiAobGVuIDw9IGdkYmFyY2hfcHRyX2JpdCAodGFyZ2V0X2dkYmFyY2ggKCkpIC8gVEFS R0VUX0NIQVJfQklUKTsKICB9CiBkaWZmIC0tZ2l0IGEvZ2RiL3RhcmdldC5oIGIvZ2RiL3Rhcmdl dC5oCi1pbmRleCBlM2EyODgyZmU1Li43YTcwYzNmNmRhIDEwMDY0NAoraW5kZXggNmUxMzgwOTM5 Ny4uYWFlZDM1ZjY5MCAxMDA2NDQKIC0tLSBhL2dkYi90YXJnZXQuaAogKysrIGIvZ2RiL3Rhcmdl dC5oCi1AQCAtNTQxLDcgKzU0MSw3IEBAIHN0cnVjdCB0YXJnZXRfb3BzCitAQCAtNTU3LDcgKzU1 Nyw3IEBAIHN0cnVjdCB0YXJnZXRfb3BzCisgCiAgICAgIC8qIERvY3VtZW50YXRpb24gb2YgdGhp cyByb3V0aW5lIGlzIHByb3ZpZGVkIHdpdGggdGhlIGNvcnJlc3BvbmRpbmcKICAgICAgICAgdGFy Z2V0XyogbWFjcm8uICAqLwotICAgICBpbnQgKCp0b19yZWdpb25fb2tfZm9yX2h3X3dhdGNocG9p bnQpIChzdHJ1Y3QgdGFyZ2V0X29wcyAqLAotLQkJCQkJICAgQ09SRV9BRERSLCBpbnQpCi0rCQkJ CQkgICBDT1JFX0FERFIsIExPTkdFU1QpCistICAgIHZpcnR1YWwgaW50IHJlZ2lvbl9va19mb3Jf aHdfd2F0Y2hwb2ludCAoQ09SRV9BRERSLCBpbnQpCisrICAgIHZpcnR1YWwgaW50IHJlZ2lvbl9v a19mb3JfaHdfd2F0Y2hwb2ludCAoQ09SRV9BRERSLCBMT05HRVNUKQogICAgICAgIFRBUkdFVF9E RUZBVUxUX0ZVTkMgKGRlZmF1bHRfcmVnaW9uX29rX2Zvcl9od193YXRjaHBvaW50KTsKICAKLSAg ICAgaW50ICgqdG9fY2FuX2FjY2VsX3dhdGNocG9pbnRfY29uZGl0aW9uKSAoc3RydWN0IHRhcmdl dF9vcHMgKiwKKyAgICAgdmlydHVhbCBib29sIGNhbl9hY2NlbF93YXRjaHBvaW50X2NvbmRpdGlv biAoQ09SRV9BRERSLCBpbnQsIGludCwKIGRpZmYgLS1naXQgYS9nZGIvdHJhY2Vwb2ludC5jIGIv Z2RiL3RyYWNlcG9pbnQuYwotaW5kZXggYjBmODU1YTZmNC4uMjMwMzNmYTlkZSAxMDA2NDQKK2lu ZGV4IDM2OWYwNzU4MWYuLmU3YmNhYTI5M2YgMTAwNjQ0CiAtLS0gYS9nZGIvdHJhY2Vwb2ludC5j CiArKysgYi9nZGIvdHJhY2Vwb2ludC5jCi1AQCAtODUyLDEwICs4NTIsMTAgQEAgY29sbGVjdGlv bl9saXN0OjphZGRfcmVnaXN0ZXIgKHVuc2lnbmVkIGludCByZWdubykKK0BAIC04MjksMTAgKzgy OSwxMCBAQCBjb2xsZWN0aW9uX2xpc3Q6OmFkZF9yZWdpc3RlciAodW5zaWduZWQgaW50IHJlZ25v KQogIHZvaWQKICBjb2xsZWN0aW9uX2xpc3Q6OmFkZF9tZW1yYW5nZSAoc3RydWN0IGdkYmFyY2gg KmdkYmFyY2gsCiAgCQkJICAgICAgIGludCB0eXBlLCBiZmRfc2lnbmVkX3ZtYSBiYXNlLApAQCAt MzA3MCw3ICszMTQ5LDcgQEAgaW5kZXggYjBmODU1YTZmNC4uMjMwMzNmYTlkZSAxMDA2NDQKICAK ICAgIC8qIHR5cGU6IG1lbXJhbmdlX2Fic29sdXRlID09IG1lbW9yeSwgb3RoZXIgbiA9PSBiYXNl cmVnICovCiAgICAvKiBiYXNlOiBhZGRyIGlmIG1lbW9yeSwgb2Zmc2V0IGlmIHJlZyByZWxhdGl2 ZS4gICovCi1AQCAtODc1LDcgKzg3NSw3IEBAIGNvbGxlY3Rpb25fbGlzdDo6Y29sbGVjdF9zeW1i b2wgKHN0cnVjdCBzeW1ib2wgKnN5bSwKK0BAIC04NTIsNyArODUyLDcgQEAgY29sbGVjdGlvbl9s aXN0Ojpjb2xsZWN0X3N5bWJvbCAoc3RydWN0IHN5bWJvbCAqc3ltLAogIAkJCQkgQ09SRV9BRERS IHNjb3BlLAogIAkJCQkgaW50IHRyYWNlX3N0cmluZykKICB7CkBAIC0zMDc5LDcgKzMxNTgsNyBA QCBpbmRleCBiMGY4NTVhNmY0Li4yMzAzM2ZhOWRlIDEwMDY0NAogICAgdW5zaWduZWQgaW50IHJl ZzsKICAgIGJmZF9zaWduZWRfdm1hIG9mZnNldDsKICAgIGludCB0cmVhdF9hc19leHByID0gMDsK LUBAIC04OTYsOCArODk2LDggQEAgY29sbGVjdGlvbl9saXN0Ojpjb2xsZWN0X3N5bWJvbCAoc3Ry dWN0IHN5bWJvbCAqc3ltLAorQEAgLTg3Myw4ICs4NzMsOCBAQCBjb2xsZWN0aW9uX2xpc3Q6OmNv bGxlY3Rfc3ltYm9sIChzdHJ1Y3Qgc3ltYm9sICpzeW0sCiAgICAgICAgb2Zmc2V0ID0gU1lNQk9M X1ZBTFVFX0FERFJFU1MgKHN5bSk7CiAgICAgICAgaWYgKGluZm9fdmVyYm9zZSkKICAJewpAQCAt MzA5MCw3ICszMTY5LDcgQEAgaW5kZXggYjBmODU1YTZmNC4uMjMwMzNmYTlkZSAxMDA2NDQKICAJ CQkgICBwYWRkcmVzcyAoZ2RiYXJjaCwgb2Zmc2V0KSk7CiAgCX0KICAgICAgICAvKiBBIHN0cnVj dCBtYXkgYmUgYSBDKysgY2xhc3Mgd2l0aCBzdGF0aWMgZmllbGRzLCBnbyB0byBnZW5lcmFsCi1A QCAtOTI5LDkgKzkyOSw5IEBAIGNvbGxlY3Rpb25fbGlzdDo6Y29sbGVjdF9zeW1ib2wgKHN0cnVj dCBzeW1ib2wgKnN5bSwKK0BAIC05MDYsOSArOTA2LDkgQEAgY29sbGVjdGlvbl9saXN0Ojpjb2xs ZWN0X3N5bWJvbCAoc3RydWN0IHN5bWJvbCAqc3ltLAogICAgICAgIG9mZnNldCA9IGZyYW1lX29m ZnNldCArIFNZTUJPTF9WQUxVRSAoc3ltKTsKICAgICAgICBpZiAoaW5mb192ZXJib3NlKQogIAl7 CkBAIC0zMTAyLDcgKzMxODEsNyBAQCBpbmRleCBiMGY4NTVhNmY0Li4yMzAzM2ZhOWRlIDEwMDY0 NAogIAkJCSAgIHBhZGRyZXNzIChnZGJhcmNoLCBvZmZzZXQpLCByZWcpOwogIAl9CiAgICAgICAg YWRkX21lbXJhbmdlIChnZGJhcmNoLCByZWcsIG9mZnNldCwgbGVuKTsKLUBAIC05NDEsOSArOTQx LDkgQEAgY29sbGVjdGlvbl9saXN0Ojpjb2xsZWN0X3N5bWJvbCAoc3RydWN0IHN5bWJvbCAqc3lt LAorQEAgLTkxOCw5ICs5MTgsOSBAQCBjb2xsZWN0aW9uX2xpc3Q6OmNvbGxlY3Rfc3ltYm9sIChz dHJ1Y3Qgc3ltYm9sICpzeW0sCiAgICAgICAgb2Zmc2V0ID0gMDsKICAgICAgICBpZiAoaW5mb192 ZXJib3NlKQogIAl7CkBAIC0zMTE0LDcgKzMxOTMsNyBAQCBpbmRleCBiMGY4NTVhNmY0Li4yMzAz M2ZhOWRlIDEwMDY0NAogIAkJCSAgIHBhZGRyZXNzIChnZGJhcmNoLCBvZmZzZXQpLCByZWcpOwog IAl9CiAgICAgICAgYWRkX21lbXJhbmdlIChnZGJhcmNoLCByZWcsIG9mZnNldCwgbGVuKTsKLUBA IC05NTMsOSArOTUzLDkgQEAgY29sbGVjdGlvbl9saXN0Ojpjb2xsZWN0X3N5bWJvbCAoc3RydWN0 IHN5bWJvbCAqc3ltLAorQEAgLTkzMCw5ICs5MzAsOSBAQCBjb2xsZWN0aW9uX2xpc3Q6OmNvbGxl Y3Rfc3ltYm9sIChzdHJ1Y3Qgc3ltYm9sICpzeW0sCiAgICAgICAgb2Zmc2V0ID0gZnJhbWVfb2Zm c2V0ICsgU1lNQk9MX1ZBTFVFIChzeW0pOwogICAgICAgIGlmIChpbmZvX3ZlcmJvc2UpCiAgCXsK QEAgLTMxMjYsNyArMzIwNSw3IEBAIGluZGV4IGIwZjg1NWE2ZjQuLjIzMDMzZmE5ZGUgMTAwNjQ0 CiAgCQkJICAgcGFkZHJlc3MgKGdkYmFyY2gsIG9mZnNldCksIHJlZyk7CiAgCX0KICAgICAgICBh ZGRfbWVtcmFuZ2UgKGdkYmFyY2gsIHJlZywgb2Zmc2V0LCBsZW4pOwotQEAgLTI1MDAsNyArMjUw MCw4IEBAIGluZm9fc2NvcGVfY29tbWFuZCAoY29uc3QgY2hhciAqYXJnc19pbiwgaW50IGZyb21f dHR5KQorQEAgLTI0NzUsNyArMjQ3NSw4IEBAIGluZm9fc2NvcGVfY29tbWFuZCAoY29uc3QgY2hh ciAqYXJnc19pbiwgaW50IGZyb21fdHR5KQogICAgY29uc3QgY2hhciAqc3ltbmFtZTsKICAgIGNv bnN0IGNoYXIgKnNhdmVfYXJncyA9IGFyZ3NfaW47CiAgICBzdHJ1Y3QgYmxvY2tfaXRlcmF0b3Ig aXRlcjsKQEAgLTMxMzYsNyArMzIxNSw3IEBAIGluZGV4IGIwZjg1NWE2ZjQuLjIzMDMzZmE5ZGUg MTAwNjQ0CiAgICBzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaDsKICAgIGludCByZWdubzsKICAgIGNv bnN0IGNoYXIgKmFyZ3MgPSBhcmdzX2luOwotQEAgLTI2NDQsOCArMjY0NSwxMSBAQCBpbmZvX3Nj b3BlX2NvbW1hbmQgKGNvbnN0IGNoYXIgKmFyZ3NfaW4sIGludCBmcm9tX3R0eSkKK0BAIC0yNjE5 LDggKzI2MjAsMTEgQEAgaW5mb19zY29wZV9jb21tYW5kIChjb25zdCBjaGFyICphcmdzX2luLCBp bnQgZnJvbV90dHkpCiAgCQl9CiAgCSAgICB9CiAgCSAgaWYgKFNZTUJPTF9UWVBFIChzeW0pKQpA QCAtMzE1MSwxMCArMzIzMCwxMCBAQCBpbmRleCBiMGY4NTVhNmY0Li4yMzAzM2ZhOWRlIDEwMDY0 NAogICAgICAgIGlmIChCTE9DS19GVU5DVElPTiAoYmxvY2spKQogIAlicmVhazsKIGRpZmYgLS1n aXQgYS9nZGIvdHJhY2Vwb2ludC5oIGIvZ2RiL3RyYWNlcG9pbnQuaAotaW5kZXggOWY0NTk2ZWNk MS4uODU1NGNhZDNiYSAxMDA2NDQKK2luZGV4IDQyZTQxMzAxOGEuLjk3ODA3NGNiYzggMTAwNjQ0 CiAtLS0gYS9nZGIvdHJhY2Vwb2ludC5oCiArKysgYi9nZGIvdHJhY2Vwb2ludC5oCi1AQCAtMjU1 LDcgKzI1NSw3IEBAIHB1YmxpYzoKK0BAIC0yNjUsNyArMjY1LDcgQEAgcHVibGljOgogICAgdm9p ZCBhZGRfcmVnaXN0ZXIgKHVuc2lnbmVkIGludCByZWdubyk7CiAgICB2b2lkIGFkZF9tZW1yYW5n ZSAoc3RydWN0IGdkYmFyY2ggKmdkYmFyY2gsCiAgCQkgICAgIGludCB0eXBlLCBiZmRfc2lnbmVk X3ZtYSBiYXNlLApAQCAtMzIxMCwxMCArMzI4OSwxMCBAQCBpbmRleCAwMzVkZWY1NDY2Li42N2Jk N2NmMDNhIDEwMDY0NAogICAgZm9yIChpID0gMDsgaSA8IGxlbjsgaSsrKQogICAgICB7CiBkaWZm IC0tZ2l0IGEvZ2RiL3ZhbG9wcy5jIGIvZ2RiL3ZhbG9wcy5jCi1pbmRleCA3YWFjZDE3ZDcwLi5m ZGNiN2U0OWU2IDEwMDY0NAoraW5kZXggY2RjNWM4MDE0Yy4uOTZiOTIyZGJlZiAxMDA2NDQKIC0t LSBhL2dkYi92YWxvcHMuYwogKysrIGIvZ2RiL3ZhbG9wcy5jCi1AQCAtODAsNyArODAsNyBAQCBv bG9hZF9jbGFzc2lmaWNhdGlvbiBjbGFzc2lmeV9vbG9hZF9tYXRjaCAoc3RydWN0IGJhZG5lc3Nf dmVjdG9yICosCitAQCAtODEsNyArODEsNyBAQCBvbG9hZF9jbGFzc2lmaWNhdGlvbiBjbGFzc2lm eV9vbG9hZF9tYXRjaCAoc3RydWN0IGJhZG5lc3NfdmVjdG9yICosCiAgCQkJCQkgICBpbnQsIGlu dCk7CiAgCiAgc3RhdGljIHN0cnVjdCB2YWx1ZSAqdmFsdWVfc3RydWN0X2VsdF9mb3JfcmVmZXJl bmNlIChzdHJ1Y3QgdHlwZSAqLApAQCAtMzIyMiw3ICszMzAxLDcgQEAgaW5kZXggN2FhY2QxN2Q3 MC4uZmRjYjdlNDllNiAxMDA2NDQKICAJCQkJCQkgICAgIGNvbnN0IGNoYXIgKiwKICAJCQkJCQkg ICAgIHN0cnVjdCB0eXBlICosCiAgCQkJCQkJICAgICBpbnQsIGVudW0gbm9zaWRlKTsKLUBAIC0x ODIsNyArMTgyLDcgQEAgZmluZF9mdW5jdGlvbl9pbl9pbmZlcmlvciAoY29uc3QgY2hhciAqbmFt ZSwgc3RydWN0IG9iamZpbGUgKipvYmpmX3ApCitAQCAtMTgzLDcgKzE4Myw3IEBAIGZpbmRfZnVu Y3Rpb25faW5faW5mZXJpb3IgKGNvbnN0IGNoYXIgKm5hbWUsIHN0cnVjdCBvYmpmaWxlICoqb2Jq Zl9wKQogICAgIHNwYWNlLiAgKi8KICAKICBzdHJ1Y3QgdmFsdWUgKgpAQCAtMzIzMSw3ICszMzEw LDcgQEAgaW5kZXggN2FhY2QxN2Q3MC4uZmRjYjdlNDllNiAxMDA2NDQKICB7CiAgICBzdHJ1Y3Qg b2JqZmlsZSAqb2JqZjsKICAgIHN0cnVjdCB2YWx1ZSAqdmFsID0gZmluZF9mdW5jdGlvbl9pbl9p bmZlcmlvciAoIm1hbGxvYyIsICZvYmpmKTsKLUBAIC0zOTcsMTIgKzM5NywxMiBAQCB2YWx1ZV9j YXN0IChzdHJ1Y3QgdHlwZSAqdHlwZSwgc3RydWN0IHZhbHVlICphcmcyKQorQEAgLTM5OCwxMiAr Mzk4LDEyIEBAIHZhbHVlX2Nhc3QgKHN0cnVjdCB0eXBlICp0eXBlLCBzdHJ1Y3QgdmFsdWUgKmFy ZzIpCiAgICBpZiAoY29kZTEgPT0gVFlQRV9DT0RFX0FSUkFZKQogICAgICB7CiAgICAgICAgc3Ry dWN0IHR5cGUgKmVsZW1lbnRfdHlwZSA9IFRZUEVfVEFSR0VUX1RZUEUgKHR5cGUpOwpAQCAtMzI0 Niw3ICszMzI1LDcgQEAgaW5kZXggN2FhY2QxN2Q3MC4uZmRjYjdlNDllNiAxMDA2NDQKICAJICBM T05HRVNUIGxvd19ib3VuZCwgaGlnaF9ib3VuZCwgbmV3X2xlbmd0aDsKICAKICAJICBpZiAoZ2V0 X2Rpc2NyZXRlX2JvdW5kcyAocmFuZ2VfdHlwZSwgJmxvd19ib3VuZCwgJmhpZ2hfYm91bmQpIDwg MCkKLUBAIC0xMDU0LDcgKzEwNTQsNyBAQCB2YWx1ZV9hc3NpZ24gKHN0cnVjdCB2YWx1ZSAqdG92 YWwsIHN0cnVjdCB2YWx1ZSAqZnJvbXZhbCkKK0BAIC0xMDU1LDcgKzEwNTUsNyBAQCB2YWx1ZV9h c3NpZ24gKHN0cnVjdCB2YWx1ZSAqdG92YWwsIHN0cnVjdCB2YWx1ZSAqZnJvbXZhbCkKICAgICAg ICB7CiAgCWNvbnN0IGdkYl9ieXRlICpkZXN0X2J1ZmZlcjsKICAJQ09SRV9BRERSIGNoYW5nZWRf YWRkcjsKQEAgLTMyNTUsNyArMzMzNCw3IEBAIGluZGV4IDdhYWNkMTdkNzAuLmZkY2I3ZTQ5ZTYg MTAwNjQ0CiAgICAgICAgICBnZGJfYnl0ZSBidWZmZXJbc2l6ZW9mIChMT05HRVNUKV07CiAgCiAg CWlmICh2YWx1ZV9iaXRzaXplICh0b3ZhbCkpCi1AQCAtMzMyNSw3ICszMzI1LDcgQEAgY29tcGFy ZV9wYXJhbWV0ZXJzIChzdHJ1Y3QgdHlwZSAqdDEsIHN0cnVjdCB0eXBlICp0MiwgaW50IHNraXBf YXJ0aWZpY2lhbCkKK0BAIC0zMzU3LDcgKzMzNTcsNyBAQCBjb21wYXJlX3BhcmFtZXRlcnMgKHN0 cnVjdCB0eXBlICp0MSwgc3RydWN0IHR5cGUgKnQyLCBpbnQgc2tpcF9hcnRpZmljaWFsKQogICAg IHRoZSBmb3JtICJET01BSU46Ok5BTUUiLiAgKi8KICAKICBzdGF0aWMgc3RydWN0IHZhbHVlICoK QEAgLTMyNjQsNyArMzM0Myw3IEBAIGluZGV4IDdhYWNkMTdkNzAuLmZkY2I3ZTQ5ZTYgMTAwNjQ0 CiAgCQkJCXN0cnVjdCB0eXBlICpjdXJ0eXBlLCBjb25zdCBjaGFyICpuYW1lLAogIAkJCQlzdHJ1 Y3QgdHlwZSAqaW50eXBlLCAKICAJCQkJaW50IHdhbnRfYWRkcmVzcywKLUBAIC0zMzU5LDcgKzMz NTksNyBAQCB2YWx1ZV9zdHJ1Y3RfZWx0X2Zvcl9yZWZlcmVuY2UgKHN0cnVjdCB0eXBlICpkb21h aW4sIGludCBvZmZzZXQsCitAQCAtMzM5MSw3ICszMzkxLDcgQEAgdmFsdWVfc3RydWN0X2VsdF9m b3JfcmVmZXJlbmNlIChzdHJ1Y3QgdHlwZSAqZG9tYWluLCBpbnQgb2Zmc2V0LAogIAkgIGlmICh3 YW50X2FkZHJlc3MpCiAgCSAgICByZXR1cm4gdmFsdWVfZnJvbV9sb25nZXN0CiAgCSAgICAgIChs b29rdXBfbWVtYmVycHRyX3R5cGUgKFRZUEVfRklFTERfVFlQRSAodCwgaSksIGRvbWFpbiksCkBA IC0zMjczLDcgKzMzNTIsNyBAQCBpbmRleCA3YWFjZDE3ZDcwLi5mZGNiN2U0OWU2IDEwMDY0NAog IAkgIGVsc2UgaWYgKG5vc2lkZSAhPSBFVkFMX05PUk1BTCkKICAJICAgIHJldHVybiBhbGxvY2F0 ZV92YWx1ZSAoVFlQRV9GSUVMRF9UWVBFICh0LCBpKSk7CiAgCSAgZWxzZQotQEAgLTM1MzIsNyAr MzUzMiw3IEBAIHZhbHVlX3N0cnVjdF9lbHRfZm9yX3JlZmVyZW5jZSAoc3RydWN0IHR5cGUgKmRv bWFpbiwgaW50IG9mZnNldCwKK0BAIC0zNTY0LDcgKzM1NjQsNyBAQCB2YWx1ZV9zdHJ1Y3RfZWx0 X2Zvcl9yZWZlcmVuY2UgKHN0cnVjdCB0eXBlICpkb21haW4sIGludCBvZmZzZXQsCiAgICBmb3Ig KGkgPSBUWVBFX05fQkFTRUNMQVNTRVMgKHQpIC0gMTsgaSA+PSAwOyBpLS0pCiAgICAgIHsKICAg ICAgICBzdHJ1Y3QgdmFsdWUgKnY7CkBAIC0zMjgyLDcgKzMzNjEsNyBAQCBpbmRleCA3YWFjZDE3 ZDcwLi5mZGNiN2U0OWU2IDEwMDY0NAogIAogICAgICAgIGlmIChCQVNFVFlQRV9WSUFfVklSVFVB TCAodCwgaSkpCiAgCWJhc2Vfb2Zmc2V0ID0gMDsKLUBAIC0zNjgxLDcgKzM2ODEsNyBAQCB2YWx1 ZV9ydHRpX2luZGlyZWN0X3R5cGUgKHN0cnVjdCB2YWx1ZSAqdiwgaW50ICpmdWxsLAorQEAgLTM3 MTMsNyArMzcxMyw3IEBAIHZhbHVlX3J0dGlfaW5kaXJlY3RfdHlwZSAoc3RydWN0IHZhbHVlICp2 LCBpbnQgKmZ1bGwsCiAgc3RydWN0IHZhbHVlICoKICB2YWx1ZV9mdWxsX29iamVjdCAoc3RydWN0 IHZhbHVlICphcmdwLCAKICAJCSAgIHN0cnVjdCB0eXBlICpydHlwZSwgCkBAIC0zMjkyLDEwICsz MzcxLDEwIEBAIGluZGV4IDdhYWNkMTdkNzAuLmZkY2I3ZTQ5ZTYgMTAwNjQ0CiAgewogICAgc3Ry dWN0IHR5cGUgKnJlYWxfdHlwZTsKIGRpZmYgLS1naXQgYS9nZGIvdmFscHJpbnQuYyBiL2dkYi92 YWxwcmludC5jCi1pbmRleCBkMDFkMDJmYzA5Li5lMmQ4N2MwNWJjIDEwMDY0NAoraW5kZXggMjUz N2Q3N2MxOS4uYmU0YmEwNWM5MSAxMDA2NDQKIC0tLSBhL2dkYi92YWxwcmludC5jCiArKysgYi9n ZGIvdmFscHJpbnQuYwotQEAgLTg4Miw3ICs4ODIsNyBAQCBnZW5lcmljX3ZhbF9wcmludF9jb21w bGV4IChzdHJ1Y3QgdHlwZSAqdHlwZSwKK0BAIC04NzksNyArODc5LDcgQEAgZ2VuZXJpY192YWxf cHJpbnRfY29tcGxleCAoc3RydWN0IHR5cGUgKnR5cGUsCiAgCiAgdm9pZAogIGdlbmVyaWNfdmFs X3ByaW50IChzdHJ1Y3QgdHlwZSAqdHlwZSwKQEAgLTMzMDQsNyArMzM4Myw3IEBAIGluZGV4IGQw MWQwMmZjMDkuLmUyZDg3YzA1YmMgMTAwNjQ0CiAgCQkgICBzdHJ1Y3QgdWlfZmlsZSAqc3RyZWFt LCBpbnQgcmVjdXJzZSwKICAJCSAgIHN0cnVjdCB2YWx1ZSAqb3JpZ2luYWxfdmFsdWUsCiAgCQkg ICBjb25zdCBzdHJ1Y3QgdmFsdWVfcHJpbnRfb3B0aW9ucyAqb3B0aW9ucywKLUBAIC0xNzc2LDcg KzE3NzYsNyBAQCBwcmludF9kZWNpbWFsX2NoYXJzIChzdHJ1Y3QgdWlfZmlsZSAqc3RyZWFtLCBj b25zdCBnZGJfYnl0ZSAqdmFsYWRkciwKK0BAIC0xNzczLDcgKzE3NzMsNyBAQCBwcmludF9kZWNp bWFsX2NoYXJzIChzdHJ1Y3QgdWlfZmlsZSAqc3RyZWFtLCBjb25zdCBnZGJfYnl0ZSAqdmFsYWRk ciwKICAKICB2b2lkCiAgcHJpbnRfaGV4X2NoYXJzIChzdHJ1Y3QgdWlfZmlsZSAqc3RyZWFtLCBj b25zdCBnZGJfYnl0ZSAqdmFsYWRkciwKQEAgLTMzMTMsNyArMzM5Miw3IEBAIGluZGV4IGQwMWQw MmZjMDkuLmUyZDg3YzA1YmMgMTAwNjQ0CiAgCQkgYm9vbCB6ZXJvX3BhZCkKICB7CiAgICBjb25z dCBnZGJfYnl0ZSAqcDsKLUBAIC0xOTI5LDE3ICsxOTI5LDE3IEBAIHZhbF9wcmludF9hcnJheV9l bGVtZW50cyAoc3RydWN0IHR5cGUgKnR5cGUsCitAQCAtMTkyNiwxNyArMTkyNiwxNyBAQCB2YWxf cHJpbnRfYXJyYXlfZWxlbWVudHMgKHN0cnVjdCB0eXBlICp0eXBlLAogIAkJCSAgaW50IHJlY3Vy c2UsCiAgCQkJICBzdHJ1Y3QgdmFsdWUgKnZhbCwKICAJCQkgIGNvbnN0IHN0cnVjdCB2YWx1ZV9w cmludF9vcHRpb25zICpvcHRpb25zLApAQCAtMzMzNiw3ICszNDE1LDcgQEAgaW5kZXggZDAxZDAy ZmMwOS4uZTJkODdjMDViYyAxMDA2NDQKICAgIExPTkdFU1QgbG93X2JvdW5kLCBoaWdoX2JvdW5k OwogICAgTE9OR0VTVCBsb3dfcG9zLCBoaWdoX3BvczsKICAKLUBAIC0yMDI5LDcgKzIwMjksNyBA QCB2YWxfcHJpbnRfYXJyYXlfZWxlbWVudHMgKHN0cnVjdCB0eXBlICp0eXBlLAorQEAgLTIwMjYs NyArMjAyNiw3IEBAIHZhbF9wcmludF9hcnJheV9lbGVtZW50cyAoc3RydWN0IHR5cGUgKnR5cGUs CiAgCQkgICAgIGFkZHJlc3MsIHN0cmVhbSwgcmVjdXJzZSArIDEsIHZhbCwgb3B0aW9ucywKICAJ CSAgICAgY3VycmVudF9sYW5ndWFnZSk7CiAgCSAgYW5ub3RhdGVfZWx0X3JlcCAocmVwcyk7CkBA IC0zMzQ1LDcgKzM0MjQsNyBAQCBpbmRleCBkMDFkMDJmYzA5Li5lMmQ4N2MwNWJjIDEwMDY0NAog IAkgIGFubm90YXRlX2VsdF9yZXBfZW5kICgpOwogIAogIAkgIGkgPSByZXAxIC0gMTsKLUBAIC0y Njc1LDcgKzI2NzUsNyBAQCBwcmludF9jb252ZXJ0ZWRfY2hhcnNfdG9fb2JzdGFjayAoc3RydWN0 IG9ic3RhY2sgKm9ic3RhY2ssCitAQCAtMjY3Miw3ICsyNjcyLDcgQEAgcHJpbnRfY29udmVydGVk X2NoYXJzX3RvX29ic3RhY2sgKHN0cnVjdCBvYnN0YWNrICpvYnN0YWNrLAogIAogIHZvaWQKICBn ZW5lcmljX3ByaW50c3RyIChzdHJ1Y3QgdWlfZmlsZSAqc3RyZWFtLCBzdHJ1Y3QgdHlwZSAqdHlw ZSwgCkBAIC0zMzU1LDcgKzM0MzQsNyBAQCBpbmRleCBkMDFkMDJmYzA5Li5lMmQ4N2MwNWJjIDEw MDY0NAogIAkJICBpbnQgcXVvdGVfY2hhciwgaW50IGNfc3R5bGVfdGVybWluYXRvciwKICAJCSAg Y29uc3Qgc3RydWN0IHZhbHVlX3ByaW50X29wdGlvbnMgKm9wdGlvbnMpCiBkaWZmIC0tZ2l0IGEv Z2RiL3ZhbHByaW50LmggYi9nZGIvdmFscHJpbnQuaAotaW5kZXggZjAwNWMzMWY4Ny4uNmZmYjU4 YzA0ZSAxMDA2NDQKK2luZGV4IDFmNjIwMzliZTUuLjAwZTNjYzU3MTQgMTAwNjQ0CiAtLS0gYS9n ZGIvdmFscHJpbnQuaAogKysrIGIvZ2RiL3ZhbHByaW50LmgKIEBAIC0xMTksNyArMTE5LDcgQEAg ZXh0ZXJuIHZvaWQgdmFsX3ByaW50X2FycmF5X2VsZW1lbnRzIChzdHJ1Y3QgdHlwZSAqLCBMT05H RVNULApAQCAtMzM5NSwxMCArMzQ3NCwxMCBAQCBpbmRleCBmMDA1YzMxZjg3Li42ZmZiNThjMDRl IDEwMDY0NAogIAkJCSAgICAgIGludCBxdW90ZV9jaGFyLCBpbnQgY19zdHlsZV90ZXJtaW5hdG9y LAogIAkJCSAgICAgIGNvbnN0IHN0cnVjdCB2YWx1ZV9wcmludF9vcHRpb25zICpvcHRpb25zKTsK IGRpZmYgLS1naXQgYS9nZGIvdmFsdWUuYyBiL2dkYi92YWx1ZS5jCi1pbmRleCA1NThkMGJiZDdh Li5iNjQwNmZlZGM5IDEwMDY0NAoraW5kZXggOThjMDYwYzY1Zi4uNTY5MjgxZGJiZCAxMDA2NDQK IC0tLSBhL2dkYi92YWx1ZS5jCiArKysgYi9nZGIvdmFsdWUuYwotQEAgLTM2Myw3ICszNjMsOCBA QCB2YWx1ZV9ieXRlc19hdmFpbGFibGUgKGNvbnN0IHN0cnVjdCB2YWx1ZSAqdmFsdWUsCitAQCAt Mzg0LDcgKzM4NCw4IEBAIHZhbHVlX2J5dGVzX2F2YWlsYWJsZSAoY29uc3Qgc3RydWN0IHZhbHVl ICp2YWx1ZSwKICB9CiAgCiAgaW50CkBAIC0zNDA4LDcgKzM0ODcsNyBAQCBpbmRleCA1NThkMGJi ZDdhLi5iNjQwNmZlZGM5IDEwMDY0NAogIHsKICAgIGdkYl9hc3NlcnQgKCF2YWx1ZS0+bGF6eSk7 CiAgCi1AQCAtODA5LDggKzgxMCw4IEBAIGZpbmRfZmlyc3RfcmFuZ2Vfb3ZlcmxhcF9hbmRfbWF0 Y2ggKHN0cnVjdCByYW5nZXNfYW5kX2lkeCAqcnAxLAorQEAgLTgzMiw4ICs4MzMsOCBAQCBmaW5k X2ZpcnN0X3JhbmdlX292ZXJsYXBfYW5kX21hdGNoIChzdHJ1Y3QgcmFuZ2VzX2FuZF9pZHggKnJw MSwKICAgICBSZXR1cm4gdHJ1ZSBpZiB0aGUgYXZhaWxhYmxlIGJpdHMgbWF0Y2guICAqLwogIAog IHN0YXRpYyBib29sCkBAIC0zNDE5LDcgKzM0OTgsNyBAQCBpbmRleCA1NThkMGJiZDdhLi5iNjQw NmZlZGM5IDEwMDY0NAogIAkJCWludCBsZW5ndGgpCiAgewogICAgLyogRWFjaCBhcnJheSBlbGVt ZW50IGNvcnJlc3BvbmRzIHRvIGEgcmFuZ2VzIHNvdXJjZSAodW5hdmFpbGFibGUsCi1AQCAtMTQ0 NSw3ICsxNDQ2LDggQEAgdmFsdWVfb3B0aW1pemVkX291dCAoc3RydWN0IHZhbHVlICp2YWx1ZSkK K0BAIC0xNDI0LDcgKzE0MjUsOCBAQCB2YWx1ZV9vcHRpbWl6ZWRfb3V0IChzdHJ1Y3QgdmFsdWUg KnZhbHVlKQogICAgIHRoZSBmb2xsb3dpbmcgTEVOR1RIIGJ5dGVzLiAgKi8KICAKICB2b2lkCkBA IC0zNDMwLDEwICszNTA5LDEwIEBAIGluZGV4IDU1OGQwYmJkN2EuLmI2NDA2ZmVkYzkgMTAwNjQ0 CiAgICBtYXJrX3ZhbHVlX2JpdHNfb3B0aW1pemVkX291dCAodmFsdWUsCiAgCQkJCSBvZmZzZXQg KiBUQVJHRVRfQ0hBUl9CSVQsCiBkaWZmIC0tZ2l0IGEvZ2RiL3ZhbHVlLmggYi9nZGIvdmFsdWUu aAotaW5kZXggMDNjYTA2NDQ4Zi4uOWM3MzQ2NGNmMCAxMDA2NDQKK2luZGV4IGU4MzhmZDU4MGUu Ljc3NmU4MzNmZmYgMTAwNjQ0CiAtLS0gYS9nZGIvdmFsdWUuaAogKysrIGIvZ2RiL3ZhbHVlLmgK LUBAIC0yNDUsNyArMjQ1LDcgQEAgc3RydWN0IGx2YWxfZnVuY3MKK0BAIC0yNzQsNyArMjc0LDcg QEAgc3RydWN0IGx2YWxfZnVuY3MKICAgIC8qIElmIG5vbi1OVUxMLCB0aGlzIGlzIHVzZWQgdG8g ZGV0ZXJtaW5lIHdoZXRoZXIgdGhlIGluZGljYXRlZCBiaXRzCiAgICAgICBvZiBWQUxVRSBhcmUg YSBzeW50aGV0aWMgcG9pbnRlci4gICovCiAgICBpbnQgKCpjaGVja19zeW50aGV0aWNfcG9pbnRl cikgKGNvbnN0IHN0cnVjdCB2YWx1ZSAqdmFsdWUsCkBAIC0zNDQyLDcgKzM1MjEsNyBAQCBpbmRl eCAwM2NhMDY0NDhmLi45YzczNDY0Y2YwIDEwMDY0NAogIAogICAgLyogUmV0dXJuIGEgZHVwbGlj YXRlIG9mIFZBTFVFJ3MgY2xvc3VyZSwgZm9yIHVzZSBpbiBhIG5ldyB2YWx1ZS4KICAgICAgIFRo aXMgbWF5IHNpbXBseSByZXR1cm4gdGhlIHNhbWUgY2xvc3VyZSwgaWYgVkFMVUUncyBpcwotQEAg LTM3Niw3ICszNzYsOCBAQCBleHRlcm4gaW50IHZhbHVlX29wdGltaXplZF9vdXQgKHN0cnVjdCB2 YWx1ZSAqdmFsdWUpOworQEAgLTQwNSw3ICs0MDUsOCBAQCBleHRlcm4gaW50IHZhbHVlX29wdGlt aXplZF9vdXQgKHN0cnVjdCB2YWx1ZSAqdmFsdWUpOwogICAgIG90aGVyd2lzZS4gICovCiAgCiAg ZXh0ZXJuIGludCB2YWx1ZV9iaXRzX2FueV9vcHRpbWl6ZWRfb3V0IChjb25zdCBzdHJ1Y3QgdmFs dWUgKnZhbHVlLApAQCAtMzQ1Miw3ICszNTMxLDcgQEAgaW5kZXggMDNjYTA2NDQ4Zi4uOWM3MzQ2 NGNmMCAxMDA2NDQKICAKICAvKiBMaWtlIHZhbHVlX29wdGltaXplZF9vdXQsIGJ1dCByZXR1cm4g dHJ1ZSBpZmYgdGhlIHdob2xlIHZhbHVlIGlzCiAgICAgb3B0aW1pemVkIG91dC4gICovCi1AQCAt Mzg2LDcgKzM4Nyw3IEBAIGV4dGVybiBpbnQgdmFsdWVfZW50aXJlbHlfb3B0aW1pemVkX291dCAo c3RydWN0IHZhbHVlICp2YWx1ZSk7CitAQCAtNDE1LDcgKzQxNiw3IEBAIGV4dGVybiBpbnQgdmFs dWVfZW50aXJlbHlfb3B0aW1pemVkX291dCAoc3RydWN0IHZhbHVlICp2YWx1ZSk7CiAgICAgTEVO R1RIIGJ5dGVzIGFzIG9wdGltaXplZCBvdXQuICAqLwogIAogIGV4dGVybiB2b2lkIG1hcmtfdmFs dWVfYnl0ZXNfb3B0aW1pemVkX291dCAoc3RydWN0IHZhbHVlICp2YWx1ZSwKQEAgLTM0NjEsNyAr MzU0MCw3IEBAIGluZGV4IDAzY2EwNjQ0OGYuLjljNzM0NjRjZjAgMTAwNjQ0CiAgCiAgLyogTWFy ayBWQUxVRSdzIGNvbnRlbnQgYml0cyBzdGFydGluZyBhdCBPRkZTRVQgYW5kIGV4dGVuZGluZyBm b3IKICAgICBMRU5HVEggYml0cyBhcyBvcHRpbWl6ZWQgb3V0LiAgKi8KLUBAIC04MjAsMTIgKzgy MSwxMSBAQCBleHRlcm4gc3RydWN0IHZhbHVlICp2YWx1ZV9wcmltaXRpdmVfZmllbGQgKHN0cnVj dCB2YWx1ZSAqYXJnMSwgTE9OR0VTVCBvZmZzZXQsCitAQCAtODQ5LDEyICs4NTAsMTEgQEAgZXh0 ZXJuIHN0cnVjdCB2YWx1ZSAqdmFsdWVfcHJpbWl0aXZlX2ZpZWxkIChzdHJ1Y3QgdmFsdWUgKmFy ZzEsIExPTkdFU1Qgb2Zmc2V0LAogIAkJCQkJICAgIGludCBmaWVsZG5vLAogIAkJCQkJICAgIHN0 cnVjdCB0eXBlICphcmdfdHlwZSk7CiAgCkBAIC0zNDc1LDcgKzM1NTQsNyBAQCBpbmRleCAwM2Nh MDY0NDhmLi45YzczNDY0Y2YwIDEwMDY0NAogIAogIGV4dGVybiBzdHJ1Y3QgdmFsdWUgKnZhbHVl X2Nhc3RfcG9pbnRlcnMgKHN0cnVjdCB0eXBlICosIHN0cnVjdCB2YWx1ZSAqLCBpbnQpOwogIAot QEAgLTExMzYsMTAgKzExMzYsMTEgQEAgZXh0ZXJuIHN0cnVjdCB2YWx1ZSAqdmFsdWVfbGl0ZXJh bF9jb21wbGV4IChzdHJ1Y3QgdmFsdWUgKiwgc3RydWN0IHZhbHVlICosCitAQCAtMTE0NywxMCAr MTE0NywxMSBAQCBleHRlcm4gc3RydWN0IHZhbHVlICp2YWx1ZV9saXRlcmFsX2NvbXBsZXggKHN0 cnVjdCB2YWx1ZSAqLCBzdHJ1Y3QgdmFsdWUgKiwKICBleHRlcm4gc3RydWN0IHZhbHVlICpmaW5k X2Z1bmN0aW9uX2luX2luZmVyaW9yIChjb25zdCBjaGFyICosCiAgCQkJCQkJc3RydWN0IG9iamZp bGUgKiopOwogIApAQCAtMzQ5MCwxNSArMzU2OSwzNyBAQCBpbmRleCAwM2NhMDY0NDhmLi45Yzcz NDY0Y2YwIDEwMDY0NAogIC8qIFVzZXIgZnVuY3Rpb24gaGFuZGxlci4gICovCiAgCiBkaWZmIC0t Z2l0IGEvZ2RiL3g4Ni1uYXQuYyBiL2dkYi94ODYtbmF0LmMKLWluZGV4IGIxMjZjNDdjOTQuLjgy NWI0ODdhOWEgMTAwNjQ0CitpbmRleCBjZmQyOTNjMTdmLi44ODg2ZGYyZDRkIDEwMDY0NAogLS0t IGEvZ2RiL3g4Ni1uYXQuYwogKysrIGIvZ2RiL3g4Ni1uYXQuYwotQEAgLTE3NCw3ICsxNzQsNyBA QCB4ODZfcmVtb3ZlX3dhdGNocG9pbnQgKHN0cnVjdCB0YXJnZXRfb3BzICpzZWxmLCBDT1JFX0FE RFIgYWRkciwgaW50IGxlbiwKK0BAIC0xNzMsNyArMTczLDcgQEAgeDg2X3JlbW92ZV93YXRjaHBv aW50IChDT1JFX0FERFIgYWRkciwgaW50IGxlbiwKKyAgICBhZGRyZXNzIEFERFIgYW5kIHdob3Nl IGxlbmd0aCBpcyBMRU4gYnl0ZXMuICAqLwogIAotIHN0YXRpYyBpbnQKLSB4ODZfcmVnaW9uX29r X2Zvcl93YXRjaHBvaW50IChzdHJ1Y3QgdGFyZ2V0X29wcyAqc2VsZiwKLS0JCQkgICAgICBDT1JF X0FERFIgYWRkciwgaW50IGxlbikKLSsJCQkgICAgICBDT1JFX0FERFIgYWRkciwgTE9OR0VTVCBs ZW4pCisgaW50CisteDg2X3JlZ2lvbl9va19mb3JfaHdfd2F0Y2hwb2ludCAoQ09SRV9BRERSIGFk ZHIsIGludCBsZW4pCisreDg2X3JlZ2lvbl9va19mb3JfaHdfd2F0Y2hwb2ludCAoQ09SRV9BRERS IGFkZHIsIExPTkdFU1QgbGVuKQogIHsKICAgIHN0cnVjdCB4ODZfZGVidWdfcmVnX3N0YXRlICpz dGF0ZQogICAgICA9IHg4Nl9kZWJ1Z19yZWdfc3RhdGUgKHB0aWRfZ2V0X3BpZCAoaW5mZXJpb3Jf cHRpZCkpOworZGlmZiAtLWdpdCBhL2dkYi94ODYtbmF0LmggYi9nZGIveDg2LW5hdC5oCitpbmRl eCBjYzI3ZmE0M2I0Li5iYWIxNWRlZjdiIDEwMDY0NAorLS0tIGEvZ2RiL3g4Ni1uYXQuaAorKysr IGIvZ2RiL3g4Ni1uYXQuaAorQEAgLTQ5LDcgKzQ5LDcgQEAgZXh0ZXJuIHZvaWQgeDg2X2Zvcmdl dF9wcm9jZXNzIChwaWRfdCBwaWQpOworICAgIGRlZmluaXRpb25zLiAgKi8KKyAKKyBleHRlcm4g aW50IHg4Nl9jYW5fdXNlX2h3X2JyZWFrcG9pbnQgKGVudW0gYnB0eXBlIHR5cGUsIGludCBjbnQs IGludCBvdGhlcnR5cGUpOworLWV4dGVybiBpbnQgeDg2X3JlZ2lvbl9va19mb3JfaHdfd2F0Y2hw b2ludCAoQ09SRV9BRERSIGFkZHIsIGludCBsZW4pOworK2V4dGVybiBpbnQgeDg2X3JlZ2lvbl9v a19mb3JfaHdfd2F0Y2hwb2ludCAoQ09SRV9BRERSIGFkZHIsIExPTkdFU1QgbGVuKTsKKyBleHRl cm4gaW50IHg4Nl9zdG9wcGVkX2J5X3dhdGNocG9pbnQgKCk7CisgZXh0ZXJuIGludCB4ODZfc3Rv cHBlZF9kYXRhX2FkZHJlc3MgKENPUkVfQUREUiAqYWRkcl9wKTsKKyBleHRlcm4gaW50IHg4Nl9p bnNlcnRfd2F0Y2hwb2ludCAoQ09SRV9BRERSIGFkZHIsIGludCBsZW4sCitAQCAtODIsNyArODIs NyBAQCBzdHJ1Y3QgeDg2X25hdF90YXJnZXQgOiBwdWJsaWMgQmFzZVRhcmdldAorICAgaW50IGNh bl91c2VfaHdfYnJlYWtwb2ludCAoZW51bSBicHR5cGUgdHlwZSwgaW50IGNudCwgaW50IG90aGVy dHlwZSkgb3ZlcnJpZGUKKyAgIHsgcmV0dXJuIHg4Nl9jYW5fdXNlX2h3X2JyZWFrcG9pbnQgKHR5 cGUsIGNudCwgb3RoZXJ0eXBlKTsgfQorIAorLSAgaW50IHJlZ2lvbl9va19mb3JfaHdfd2F0Y2hw b2ludCAoQ09SRV9BRERSIGFkZHIsIGludCBsZW4pIG92ZXJyaWRlCisrICBpbnQgcmVnaW9uX29r X2Zvcl9od193YXRjaHBvaW50IChDT1JFX0FERFIgYWRkciwgTE9OR0VTVCBsZW4pIG92ZXJyaWRl CisgICB7IHJldHVybiB4ODZfcmVnaW9uX29rX2Zvcl9od193YXRjaHBvaW50IChhZGRyLCBsZW4p OyB9CisgCisgICBpbnQgaW5zZXJ0X3dhdGNocG9pbnQgKENPUkVfQUREUiBhZGRyLCBpbnQgbGVu LAoKZGlmZiAtLWdpdCBhL2dkYi1yaGJ6Nzk1NDI0LWJpdHBvcy0yMW9mMjUucGF0Y2ggYi9nZGIt cmhiejc5NTQyNC1iaXRwb3MtMjFvZjI1LnBhdGNoCmluZGV4IDdlMDQwYzYuLjg0ZjQwZjggMTAw NjQ0Ci0tLSBhL2dkYi1yaGJ6Nzk1NDI0LWJpdHBvcy0yMW9mMjUucGF0Y2gKKysrIGIvZ2RiLXJo Yno3OTU0MjQtYml0cG9zLTIxb2YyNS5wYXRjaApAQCAtNjIsMTAgKzYyLDEwIEBAIENvbnRlbnQt VHJhbnNmZXItRW5jb2Rpbmc6IDdiaXQKIENvbnRlbnQtRGlzcG9zaXRpb246IGF0dGFjaG1lbnQ7 IGZpbGVuYW1lPWJpdHBvcy1lbnN1cmUtc2l6ZV90LnBhdGNoCiAKIGRpZmYgLS1naXQgYS9nZGIv YWxwaGEtdGRlcC5jIGIvZ2RiL2FscGhhLXRkZXAuYwotaW5kZXggNTJhNDZkOTZlYS4uZWE1M2I5 ZWUxMCAxMDA2NDQKK2luZGV4IDc4NDIyZmFhNmMuLjliNzQ5NTU5YTEgMTAwNjQ0CiAtLS0gYS9n ZGIvYWxwaGEtdGRlcC5jCiArKysgYi9nZGIvYWxwaGEtdGRlcC5jCi1AQCAtNDE1LDYgKzQxNSwx MyBAQCBhbHBoYV9wdXNoX2R1bW15X2NhbGwgKHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoLCBzdHJ1 Y3QgdmFsdWUgKmZ1bmN0aW9uLAorQEAgLTQxMyw2ICs0MTMsMTMgQEAgYWxwaGFfcHVzaF9kdW1t eV9jYWxsIChzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCwgc3RydWN0IHZhbHVlICpmdW5jdGlvbiwK ICAgICAgYWNjdW11bGF0ZV9zaXplID0gMDsKICAgIGVsc2UKICAgICAgYWNjdW11bGF0ZV9zaXpl IC09IHNpemVvZihhcmdfcmVnX2J1ZmZlcik7CkBAIC04MCw3ICs4MCw3IEBAIGluZGV4IDUyYTQ2 ZDk2ZWEuLmVhNTNiOWVlMTAgMTAwNjQ0CiAgCiAgICAvKiBLZWVwIHNwIGFsaWduZWQgdG8gYSBt dWx0aXBsZSBvZiAxNiBhcyB0aGUgQUJJIHJlcXVpcmVzLiAgKi8KIGRpZmYgLS1naXQgYS9nZGIv Y3AtdmFscHJpbnQuYyBiL2dkYi9jcC12YWxwcmludC5jCi1pbmRleCBkYjNmZjMzOGQxLi40ZDA2 NjgwMjM5IDEwMDY0NAoraW5kZXggMjVmMTUxMjg1Ny4uODIzYWM4ZmJkNiAxMDA2NDQKIC0tLSBh L2dkYi9jcC12YWxwcmludC5jCiArKysgYi9nZGIvY3AtdmFscHJpbnQuYwogQEAgLTUyOSw2ICs1 MjksNyBAQCBjcF9wcmludF92YWx1ZSAoc3RydWN0IHR5cGUgKnR5cGUsIHN0cnVjdCB0eXBlICpy ZWFsX3R5cGUsCkBAIC05MiwxMCArOTIsMTAgQEAgaW5kZXggZGIzZmYzMzhkMS4uNGQwNjY4MDIz OSAxMDA2NDQKICAKICAJCSAgaWYgKHRhcmdldF9yZWFkX21lbW9yeSAoYWRkcmVzcyArIGJvZmZz ZXQsIGJ1Zi5kYXRhICgpLAogZGlmZiAtLWdpdCBhL2dkYi9kZWZzLmggYi9nZGIvZGVmcy5oCi1p bmRleCA0ZmIyMTI5YjMwLi4wYzE1NmQ1NmMzIDEwMDY0NAoraW5kZXggZGMzOGEyODhjNS4uY2U1 ZmVlM2JhMyAxMDA2NDQKIC0tLSBhL2dkYi9kZWZzLmgKICsrKyBiL2dkYi9kZWZzLmgKLUBAIC03 MDUsNCArNzA1LDYgQEAgREVGX0VOVU1fRkxBR1NfVFlQRSAoZW51bSB1c2VyX3NlbGVjdGVkX3do YXRfZmxhZywgdXNlcl9zZWxlY3RlZF93aGF0KTsKK0BAIC02NzQsNCArNjc0LDYgQEAgREVGX0VO VU1fRkxBR1NfVFlQRSAoZW51bSB1c2VyX3NlbGVjdGVkX3doYXRfZmxhZywgdXNlcl9zZWxlY3Rl ZF93aGF0KTsKICAKICAjaW5jbHVkZSAidXRpbHMuaCIKICAKQEAgLTExNSwxMCArMTE1LDEwIEBA IGluZGV4IGU1YzFiMDcwNDAuLjA2ZmIzYjc3YzkgMTAwNjQ0CiAgCiAgCSAgICAgIGJhc2VfdmFs YWRkciA9IGJ1Zi5kYXRhICgpOwogZGlmZiAtLWdpdCBhL2dkYi91dGlscy5jIGIvZ2RiL3V0aWxz LmMKLWluZGV4IDAwNjZiZmNjNGIuLjZmMGFiYzk4YTIgMTAwNjQ0CitpbmRleCA3ODEzZGYxNDM2 Li5jODE2ZTJmODk3IDEwMDY0NAogLS0tIGEvZ2RiL3V0aWxzLmMKICsrKyBiL2dkYi91dGlscy5j Ci1AQCAtMjgzNiw2ICsyODM2LDE4IEBAIHN0cmluZ190b19jb3JlX2FkZHIgKGNvbnN0IGNoYXIg Km15X3N0cmluZykKK0BAIC0yODE2LDYgKzI4MTYsMTcgQEAgc3RyaW5nX3RvX2NvcmVfYWRkciAo Y29uc3QgY2hhciAqbXlfc3RyaW5nKQogICAgcmV0dXJuIGFkZHI7CiAgfQogIApAQCAtMTMzLDE1 ICsxMzMsMTQgQEAgaW5kZXggMDA2NmJmY2M0Yi4uNmYwYWJjOThhMiAxMDA2NDQKICsJICAgICAi bWF4aW11bSBhbGxvd2VkICVzIGJ5dGVzLiIpLCBwdWxvbmdlc3QgKG51bSksCiArCSAgIHB1bG9u Z2VzdCAoU0laRV9NQVggLyA4KSk7CiArfQotKwotIGdkYjo6dW5pcXVlX3htYWxsb2NfcHRyPGNo YXI+Ci0gZ2RiX3JlYWxwYXRoIChjb25zdCBjaGFyICpmaWxlbmFtZSkKLSB7CisgI2lmIEdEQl9T RUxGX1RFU1QKKyAKKyBzdGF0aWMgdm9pZAogZGlmZiAtLWdpdCBhL2dkYi92YWxvcHMuYyBiL2dk Yi92YWxvcHMuYwotaW5kZXggZmRjYjdlNDllNi4uZGRjNTNmMTMxZSAxMDA2NDQKK2luZGV4IDk2 YjkyMmRiZWYuLmE3ZjliZTVmNGUgMTAwNjQ0CiAtLS0gYS9nZGIvdmFsb3BzLmMKICsrKyBiL2dk Yi92YWxvcHMuYwotQEAgLTIwODcsNiArMjA4Nyw3IEBAIHNlYXJjaF9zdHJ1Y3RfbWV0aG9kIChj b25zdCBjaGFyICpuYW1lLCBzdHJ1Y3QgdmFsdWUgKiphcmcxcCwKK0BAIC0yMDg4LDYgKzIwODgs NyBAQCBzZWFyY2hfc3RydWN0X21ldGhvZCAoY29uc3QgY2hhciAqbmFtZSwgc3RydWN0IHZhbHVl ICoqYXJnMXAsCiAgCSAgICB7CiAgCSAgICAgIENPUkVfQUREUiBhZGRyZXNzOwogIApAQCAtMTUw LDE4ICsxNDksMTggQEAgaW5kZXggZmRjYjdlNDllNi4uZGRjNTNmMTMxZSAxMDA2NDQKICAJICAg ICAgYWRkcmVzcyA9IHZhbHVlX2FkZHJlc3MgKCphcmcxcCk7CiAgCiBkaWZmIC0tZ2l0IGEvZ2Ri L3ZhbHVlLmMgYi9nZGIvdmFsdWUuYwotaW5kZXggYjY0MDZmZWRjOS4uYWM3ZDA3YTdiNSAxMDA2 NDQKK2luZGV4IDU2OTI4MWRiYmQuLjE5NjRjZjc3MWMgMTAwNjQ0CiAtLS0gYS9nZGIvdmFsdWUu YwogKysrIGIvZ2RiL3ZhbHVlLmMKLUBAIC05MjYsNiArOTI2LDcgQEAgYWxsb2NhdGVfdmFsdWVf bGF6eSAoc3RydWN0IHR5cGUgKnR5cGUpCitAQCAtOTM0LDYgKzkzNCw3IEBAIGFsbG9jYXRlX3Zh bHVlX2xhenkgKHN0cnVjdCB0eXBlICp0eXBlKQogICAgICAgZGVzY3JpcHRpb24gY29ycmVjdGx5 LiAgKi8KICAgIGNoZWNrX3R5cGVkZWYgKHR5cGUpOwogIAogKyAgdWxvbmdlc3RfZml0c19ob3N0 X29yX2Vycm9yIChUWVBFX0xFTkdUSCAodHlwZSkpOwotICAgdmFsID0gWENORVcgKHN0cnVjdCB2 YWx1ZSk7Ci0gICB2YWwtPmNvbnRlbnRzID0gTlVMTDsKLSAgIHZhbC0+bmV4dCA9IGFsbF92YWx1 ZXM7Ci1AQCAtMTAyMyw2ICsxMDI0LDggQEAgY2hlY2tfdHlwZV9sZW5ndGhfYmVmb3JlX2FsbG9j IChjb25zdCBzdHJ1Y3QgdHlwZSAqdHlwZSkKKyAgIHZhbCA9IG5ldyBzdHJ1Y3QgdmFsdWUgKHR5 cGUpOworIAorICAgLyogVmFsdWVzIHN0YXJ0IG91dCBvbiB0aGUgYWxsX3ZhbHVlcyBjaGFpbi4g ICovCitAQCAtMTAxNiw2ICsxMDE3LDggQEAgY2hlY2tfdHlwZV9sZW5ndGhfYmVmb3JlX2FsbG9j IChjb25zdCBzdHJ1Y3QgdHlwZSAqdHlwZSkKICBzdGF0aWMgdm9pZAogIGFsbG9jYXRlX3ZhbHVl X2NvbnRlbnRzIChzdHJ1Y3QgdmFsdWUgKnZhbCkKICB7CkBAIC0xNzAsMTQgKzE2OSwxNCBAQCBp bmRleCBiNjQwNmZlZGM5Li5hYzdkMDdhN2I1IDEwMDY0NAogICAgaWYgKCF2YWwtPmNvbnRlbnRz KQogICAgICB7CiAgICAgICAgY2hlY2tfdHlwZV9sZW5ndGhfYmVmb3JlX2FsbG9jICh2YWwtPmVu Y2xvc2luZ190eXBlKTsKLUBAIC0zMDE1LDYgKzMwMTgsNyBAQCBzZXRfdmFsdWVfZW5jbG9zaW5n X3R5cGUgKHN0cnVjdCB2YWx1ZSAqdmFsLCBzdHJ1Y3QgdHlwZSAqbmV3X2VuY2xfdHlwZSkKK0BA IC0yODc3LDYgKzI4ODAsNyBAQCBzZXRfdmFsdWVfZW5jbG9zaW5nX3R5cGUgKHN0cnVjdCB2YWx1 ZSAqdmFsLCBzdHJ1Y3QgdHlwZSAqbmV3X2VuY2xfdHlwZSkKICAgIGlmIChUWVBFX0xFTkdUSCAo bmV3X2VuY2xfdHlwZSkgPiBUWVBFX0xFTkdUSCAodmFsdWVfZW5jbG9zaW5nX3R5cGUgKHZhbCkp KQogICAgICB7CiAgICAgICAgY2hlY2tfdHlwZV9sZW5ndGhfYmVmb3JlX2FsbG9jIChuZXdfZW5j bF90eXBlKTsKICsgICAgICB1bG9uZ2VzdF9maXRzX2hvc3Rfb3JfZXJyb3IgKFRZUEVfTEVOR1RI IChuZXdfZW5jbF90eXBlKSk7CiAgICAgICAgdmFsLT5jb250ZW50cwotIAk9IChnZGJfYnl0ZSAq KSB4cmVhbGxvYyAodmFsLT5jb250ZW50cywgVFlQRV9MRU5HVEggKG5ld19lbmNsX3R5cGUpKTsK LSAgICAgfQorIAkucmVzZXQgKChnZGJfYnl0ZSAqKSB4cmVhbGxvYyAodmFsLT5jb250ZW50cy5y ZWxlYXNlICgpLAorIAkJCQkgICAgICAgVFlQRV9MRU5HVEggKG5ld19lbmNsX3R5cGUpKSk7CiBk aWZmIC0tZ2l0IGEvZ2RiL3ZheC10ZGVwLmMgYi9nZGIvdmF4LXRkZXAuYwogaW5kZXggNGMxYWIy ZTczZS4uYmQ2OWZkMmY0OCAxMDA2NDQKIC0tLSBhL2dkYi92YXgtdGRlcC5jCgpkaWZmIC0tZ2l0 IGEvZ2RiLXJoYno3OTU0MjQtYml0cG9zLTIyb2YyNS5wYXRjaCBiL2dkYi1yaGJ6Nzk1NDI0LWJp dHBvcy0yMm9mMjUucGF0Y2gKaW5kZXggNDlmNGQzOS4uMWY0ZDk4MiAxMDA2NDQKLS0tIGEvZ2Ri LXJoYno3OTU0MjQtYml0cG9zLTIyb2YyNS5wYXRjaAorKysgYi9nZGItcmhiejc5NTQyNC1iaXRw b3MtMjJvZjI1LnBhdGNoCkBAIC0xMDYsMzYgKzEwNiw3MiBAQCBDb250ZW50LVRyYW5zZmVyLUVu Y29kaW5nOiA3Yml0CiBDb250ZW50LURpc3Bvc2l0aW9uOiBhdHRhY2htZW50OyBmaWxlbmFtZT1i aXRwb3Mtd3AucGF0Y2gKIAogZGlmZiAtLWdpdCBhL2dkYi9hYXJjaDY0LWxpbnV4LW5hdC5jIGIv Z2RiL2FhcmNoNjQtbGludXgtbmF0LmMKLWluZGV4IDA4ZTZmNGQ0ZmQuLmYwOGJmMDM5ZTQgMTAw NjQ0CitpbmRleCBkZDY5ZjUwNzg1Li5hOGUyNjIxZWNhIDEwMDY0NAogLS0tIGEvZ2RiL2FhcmNo NjQtbGludXgtbmF0LmMKICsrKyBiL2dkYi9hYXJjaDY0LWxpbnV4LW5hdC5jCi1AQCAtNzY3LDcg Kzc2Nyw3IEBAIGFhcmNoNjRfbGludXhfc3RvcHBlZF9ieV93YXRjaHBvaW50IChzdHJ1Y3QgdGFy Z2V0X29wcyAqb3BzKQotIHN0YXRpYyBpbnQKLSBhYXJjaDY0X2xpbnV4X3dhdGNocG9pbnRfYWRk cl93aXRoaW5fcmFuZ2UgKHN0cnVjdCB0YXJnZXRfb3BzICp0YXJnZXQsCi0gCQkJCQkgICAgQ09S RV9BRERSIGFkZHIsCi0tCQkJCQkgICAgQ09SRV9BRERSIHN0YXJ0LCBpbnQgbGVuZ3RoKQotKwkJ CQkJICAgIENPUkVfQUREUiBzdGFydCwgTE9OR0VTVCBsZW5ndGgpCitAQCAtNjIsMTQgKzYyLDE0 IEBAIHB1YmxpYzoKKyAgIGludCBjYW5fdXNlX2h3X2JyZWFrcG9pbnQgKGVudW0gYnB0eXBlLCBp bnQsIGludCkgb3ZlcnJpZGU7CisgICBpbnQgaW5zZXJ0X2h3X2JyZWFrcG9pbnQgKHN0cnVjdCBn ZGJhcmNoICosIHN0cnVjdCBicF90YXJnZXRfaW5mbyAqKSBvdmVycmlkZTsKKyAgIGludCByZW1v dmVfaHdfYnJlYWtwb2ludCAoc3RydWN0IGdkYmFyY2ggKiwgc3RydWN0IGJwX3RhcmdldF9pbmZv ICopIG92ZXJyaWRlOworLSAgaW50IHJlZ2lvbl9va19mb3JfaHdfd2F0Y2hwb2ludCAoQ09SRV9B RERSLCBpbnQpIG92ZXJyaWRlOworKyAgaW50IHJlZ2lvbl9va19mb3JfaHdfd2F0Y2hwb2ludCAo Q09SRV9BRERSLCBMT05HRVNUKSBvdmVycmlkZTsKKyAgIGludCBpbnNlcnRfd2F0Y2hwb2ludCAo Q09SRV9BRERSLCBpbnQsIGVudW0gdGFyZ2V0X2h3X2JwX3R5cGUsCisgCQkJIHN0cnVjdCBleHBy ZXNzaW9uICopIG92ZXJyaWRlOworICAgaW50IHJlbW92ZV93YXRjaHBvaW50IChDT1JFX0FERFIs IGludCwgZW51bSB0YXJnZXRfaHdfYnBfdHlwZSwKKyAJCQkgc3RydWN0IGV4cHJlc3Npb24gKikg b3ZlcnJpZGU7CisgICBib29sIHN0b3BwZWRfYnlfd2F0Y2hwb2ludCAoKSBvdmVycmlkZTsKKyAg IGJvb2wgc3RvcHBlZF9kYXRhX2FkZHJlc3MgKENPUkVfQUREUiAqKSBvdmVycmlkZTsKKy0gIGJv b2wgd2F0Y2hwb2ludF9hZGRyX3dpdGhpbl9yYW5nZSAoQ09SRV9BRERSLCBDT1JFX0FERFIsIGlu dCkgb3ZlcnJpZGU7CisrICBib29sIHdhdGNocG9pbnRfYWRkcl93aXRoaW5fcmFuZ2UgKENPUkVf QUREUiwgQ09SRV9BRERSLCBMT05HRVNUKSBvdmVycmlkZTsKKyAKKyAgIGludCBjYW5fZG9fc2lu Z2xlX3N0ZXAgKCkgb3ZlcnJpZGU7CisgCitAQCAtODIyLDcgKzgyMiw4IEBAIGFhcmNoNjRfbGlu dXhfbmF0X3RhcmdldDo6c3RvcHBlZF9ieV93YXRjaHBvaW50ICgpCisgCisgYm9vbAorIGFhcmNo NjRfbGludXhfbmF0X3RhcmdldDo6d2F0Y2hwb2ludF9hZGRyX3dpdGhpbl9yYW5nZSAoQ09SRV9B RERSIGFkZHIsCistCQkJCQkJCUNPUkVfQUREUiBzdGFydCwgaW50IGxlbmd0aCkKKysJCQkJCQkJ Q09SRV9BRERSIHN0YXJ0LAorKwkJCQkJCQlMT05HRVNUIGxlbmd0aCkKICB7CiAgICByZXR1cm4g c3RhcnQgPD0gYWRkciAmJiBzdGFydCArIGxlbmd0aCAtIDEgPj0gYWRkcjsKICB9CiBkaWZmIC0t Z2l0IGEvZ2RiL2FybS1saW51eC1uYXQuYyBiL2dkYi9hcm0tbGludXgtbmF0LmMKLWluZGV4IDNi N2FhNDBkYjguLjQ4ZGZlMjJjZTEgMTAwNjQ0CitpbmRleCA4ZTJhYmZiNzBjLi42ZTYzMTgwMTNm IDEwMDY0NAogLS0tIGEvZ2RiL2FybS1saW51eC1uYXQuYwogKysrIGIvZ2RiL2FybS1saW51eC1u YXQuYwotQEAgLTExNzcsNyArMTE3Nyw3IEBAIGFybV9saW51eF9zdG9wcGVkX2J5X3dhdGNocG9p bnQgKHN0cnVjdCB0YXJnZXRfb3BzICpvcHMpCi0gc3RhdGljIGludAotIGFybV9saW51eF93YXRj aHBvaW50X2FkZHJfd2l0aGluX3JhbmdlIChzdHJ1Y3QgdGFyZ2V0X29wcyAqdGFyZ2V0LAotIAkJ CQkJQ09SRV9BRERSIGFkZHIsCi0tCQkJCQlDT1JFX0FERFIgc3RhcnQsIGludCBsZW5ndGgpCi0r CQkJCQlDT1JFX0FERFIgc3RhcnQsIExPTkdFU1QgbGVuZ3RoKQorQEAgLTgwLDcgKzgwLDcgQEAg cHVibGljOgorIAorICAgaW50IHJlbW92ZV9od19icmVha3BvaW50IChzdHJ1Y3QgZ2RiYXJjaCAq LCBzdHJ1Y3QgYnBfdGFyZ2V0X2luZm8gKikgb3ZlcnJpZGU7CisgCistICBpbnQgcmVnaW9uX29r X2Zvcl9od193YXRjaHBvaW50IChDT1JFX0FERFIsIGludCkgb3ZlcnJpZGU7CisrICBpbnQgcmVn aW9uX29rX2Zvcl9od193YXRjaHBvaW50IChDT1JFX0FERFIsIExPTkdFU1QpIG92ZXJyaWRlOwor IAorICAgaW50IGluc2VydF93YXRjaHBvaW50IChDT1JFX0FERFIsIGludCwgZW51bSB0YXJnZXRf aHdfYnBfdHlwZSwKKyAJCQkgc3RydWN0IGV4cHJlc3Npb24gKikgb3ZlcnJpZGU7CitAQCAtOTEs NyArOTEsNyBAQCBwdWJsaWM6CisgCisgICBib29sIHN0b3BwZWRfZGF0YV9hZGRyZXNzIChDT1JF X0FERFIgKikgb3ZlcnJpZGU7CisgCistICBib29sIHdhdGNocG9pbnRfYWRkcl93aXRoaW5fcmFu Z2UgKENPUkVfQUREUiwgQ09SRV9BRERSLCBpbnQpIG92ZXJyaWRlOworKyAgYm9vbCB3YXRjaHBv aW50X2FkZHJfd2l0aGluX3JhbmdlIChDT1JFX0FERFIsIENPUkVfQUREUiwgTE9OR0VTVCkgb3Zl cnJpZGU7CisgCisgICBjb25zdCBzdHJ1Y3QgdGFyZ2V0X2Rlc2MgKnJlYWRfZGVzY3JpcHRpb24g KCkgb3ZlcnJpZGU7CisgCitAQCAtMTIxMyw3ICsxMjEzLDcgQEAgYXJtX2xpbnV4X25hdF90YXJn ZXQ6OnN0b3BwZWRfYnlfd2F0Y2hwb2ludCAoKQorIGJvb2wKKyBhcm1fbGludXhfbmF0X3Rhcmdl dDo6d2F0Y2hwb2ludF9hZGRyX3dpdGhpbl9yYW5nZSAoQ09SRV9BRERSIGFkZHIsCisgCQkJCQkJ ICAgIENPUkVfQUREUiBzdGFydCwKKy0JCQkJCQkgICAgaW50IGxlbmd0aCkKKysJCQkJCQkgICAg TE9OR0VTVCBsZW5ndGgpCiAgewogICAgcmV0dXJuIHN0YXJ0IDw9IGFkZHIgJiYgc3RhcnQgKyBs ZW5ndGggLSAxID49IGFkZHI7CiAgfQogZGlmZiAtLWdpdCBhL2dkYi9uYXQvYWFyY2g2NC1saW51 eC1ody1wb2ludC5jIGIvZ2RiL25hdC9hYXJjaDY0LWxpbnV4LWh3LXBvaW50LmMKLWluZGV4IGNl MjZmMjhmYWQuLmU5ZWJjNWZiYTggMTAwNjQ0CitpbmRleCBhMzkzMWVhNmE5Li4wNmRmYjgzZjdm IDEwMDY0NAogLS0tIGEvZ2RiL25hdC9hYXJjaDY0LWxpbnV4LWh3LXBvaW50LmMKICsrKyBiL2dk Yi9uYXQvYWFyY2g2NC1saW51eC1ody1wb2ludC5jCi1AQCAtMTExLDcgKzExMSw3IEBAIGFhcmNo NjRfcG9pbnRfZW5jb2RlX2N0cmxfcmVnIChlbnVtIHRhcmdldF9od19icF90eXBlIHR5cGUsIGlu dCBsZW4pCitAQCAtMTM3LDcgKzEzNyw3IEBAIGFhcmNoNjRfcG9pbnRfZW5jb2RlX2N0cmxfcmVn IChlbnVtIHRhcmdldF9od19icF90eXBlIHR5cGUsIGludCBvZmZzZXQsIGludCBsZW4pCiAgICAg UmV0dXJuIDAgZm9yIGFueSBub24tY29tcGxpYW50IEFERFIgYW5kL29yIExFTjsgcmV0dXJuIDEg b3RoZXJ3aXNlLiAgKi8KICAKICBzdGF0aWMgaW50CkBAIC0xNDQsMjAgKzE4MCwyMCBAQCBpbmRl eCBjZTI2ZjI4ZmFkLi5lOWViYzVmYmE4IDEwMDY0NAogIHsKICAgIHVuc2lnbmVkIGludCBhbGln bm1lbnQgPSAwOwogIAotQEAgLTE4MCw5ICsxODAsMTAgQEAgYWFyY2g2NF9wb2ludF9pc19hbGln bmVkIChpbnQgaXNfd2F0Y2hwb2ludCwgQ09SRV9BRERSIGFkZHIsIGludCBsZW4pCi0gICAgbGlt aXRhdGlvbnMgY2FuIGJlIGxhcmdlbHkgcmVsYXhlZCB3aXRoIHNvbWUgZnVydGhlciB3b3JrLiAg Ki8KK0BAIC0yMTIsOSArMjEyLDEwIEBAIGFhcmNoNjRfcG9pbnRfaXNfYWxpZ25lZCAoaW50IGlz X3dhdGNocG9pbnQsIENPUkVfQUREUiBhZGRyLCBpbnQgbGVuKQorICAgIGFuIGFkZHJlc3Mgd2l0 aGluIHRoZSBsYXR0ZXIuICovCiAgCiAgc3RhdGljIHZvaWQKIC1hYXJjaDY0X2FsaWduX3dhdGNo cG9pbnQgKENPUkVfQUREUiBhZGRyLCBpbnQgbGVuLCBDT1JFX0FERFIgKmFsaWduZWRfYWRkcl9w LAogK2FhcmNoNjRfYWxpZ25fd2F0Y2hwb2ludCAoQ09SRV9BRERSIGFkZHIsIExPTkdFU1QgbGVu LAogKwkJCSAgQ09SRV9BRERSICphbGlnbmVkX2FkZHJfcCwKLSAJCQkgIGludCAqYWxpZ25lZF9s ZW5fcCwgQ09SRV9BRERSICpuZXh0X2FkZHJfcCwKLS0JCQkgIGludCAqbmV4dF9sZW5fcCkKLSsJ CQkgIExPTkdFU1QgKm5leHRfbGVuX3ApCisgCQkJICBpbnQgKmFsaWduZWRfb2Zmc2V0X3AsIGlu dCAqYWxpZ25lZF9sZW5fcCwKKy0JCQkgIENPUkVfQUREUiAqbmV4dF9hZGRyX3AsIGludCAqbmV4 dF9sZW5fcCwKKysJCQkgIENPUkVfQUREUiAqbmV4dF9hZGRyX3AsIExPTkdFU1QgKm5leHRfbGVu X3AsCisgCQkJICBDT1JFX0FERFIgKm5leHRfYWRkcl9vcmlnX3ApCiAgewogICAgaW50IGFsaWdu ZWRfbGVuOwotICAgdW5zaWduZWQgaW50IG9mZnNldDsKLUBAIC01MDEsNyArNTAyLDcgQEAgYWFy Y2g2NF9oYW5kbGVfYWxpZ25lZF93YXRjaHBvaW50IChlbnVtIHRhcmdldF9od19icF90eXBlIHR5 cGUsCitAQCAtNjExLDcgKzYxMiw3IEBAIGFhcmNoNjRfaGFuZGxlX2FsaWduZWRfd2F0Y2hwb2lu dCAoZW51bSB0YXJnZXRfaHdfYnBfdHlwZSB0eXBlLAogIAogIHN0YXRpYyBpbnQKICBhYXJjaDY0 X2hhbmRsZV91bmFsaWduZWRfd2F0Y2hwb2ludCAoZW51bSB0YXJnZXRfaHdfYnBfdHlwZSB0eXBl LApAQCAtMTY1LDIwICsyMDEsMjMgQEAgaW5kZXggY2UyNmYyOGZhZC4uZTllYmM1ZmJhOCAxMDA2 NDQKICsJCQkJICAgICBDT1JFX0FERFIgYWRkciwgTE9OR0VTVCBsZW4sIGludCBpc19pbnNlcnQs CiAgCQkJCSAgICAgc3RydWN0IGFhcmNoNjRfZGVidWdfcmVnX3N0YXRlICpzdGF0ZSkKICB7Ci0g ICB3aGlsZSAobGVuID4gMCkKLUBAIC01MjQsOSArNTI1LDkgQEAgYWFyY2g2NF9oYW5kbGVfdW5h bGlnbmVkX3dhdGNocG9pbnQgKGVudW0gdGFyZ2V0X2h3X2JwX3R5cGUgdHlwZSwKLSAJCSAgICAg ICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIKLSAJCSAgICAgICJhbGlnbmVkX2FkZHI6 ICVzLCBhbGlnbmVkX2xlbjogJWRcbiIKKyAgIENPUkVfQUREUiBhZGRyX29yaWcgPSBhZGRyOwor QEAgLTY0MSwxMiArNjQyLDEyIEBAIGFhcmNoNjRfaGFuZGxlX3VuYWxpZ25lZF93YXRjaHBvaW50 IChlbnVtIHRhcmdldF9od19icF90eXBlIHR5cGUsCiAgCQkgICAgICAiICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAiCi0tCQkgICAgICAibmV4dF9hZGRyOiAlcywgICAgbmV4dF9sZW46 ICVkXG4iLAotKwkJICAgICAgIm5leHRfYWRkcjogJXMsICAgIG5leHRfbGVuOiAlc1xuIiwKKyAJ CSAgICAgICJhZGRyX29yaWc6ICVzXG4iCisgCQkgICAgICAiICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAiCistCQkgICAgICAibmV4dF9hZGRyOiAlcywgICAgbmV4dF9sZW46ICVkXG4i CisrCQkgICAgICAibmV4dF9hZGRyOiAlcywgICAgbmV4dF9sZW46ICVzXG4iCisgCQkgICAgICAi ICAgICAgICAgICAgICAgICAgICAgICAgICAgIgorIAkJICAgICAgImFkZHJfb3JpZ19uZXh0OiAl c1xuIiwKICAJCSAgICAgIGlzX2luc2VydCwgY29yZV9hZGRyX3RvX3N0cmluZ19ueiAoYWxpZ25l ZF9hZGRyKSwKLS0JCSAgICAgIGFsaWduZWRfbGVuLCBjb3JlX2FkZHJfdG9fc3RyaW5nX256IChh ZGRyKSwgbGVuKTsKLSsJCSAgICAgIGFsaWduZWRfbGVuLCBjb3JlX2FkZHJfdG9fc3RyaW5nX256 IChhZGRyKSwgcGxvbmdlc3QgKGxlbikpOworIAkJICAgICAgYWxpZ25lZF9sZW4sIGNvcmVfYWRk cl90b19zdHJpbmdfbnogKGFkZHJfb3JpZyksCistCQkgICAgICBjb3JlX2FkZHJfdG9fc3RyaW5n X256IChhZGRyKSwgbGVuLAorKwkJICAgICAgY29yZV9hZGRyX3RvX3N0cmluZ19ueiAoYWRkciks IHBsb25nZXN0IChsZW4pLAorIAkJICAgICAgY29yZV9hZGRyX3RvX3N0cmluZ19ueiAoYWRkcl9v cmlnX25leHQpKTsKICAKLSAgICAgICBpZiAocmV0ICE9IDApCi0gCXJldHVybiByZXQ7Ci1AQCAt NTM3LDcgKzUzOCw3IEBAIGFhcmNoNjRfaGFuZGxlX3VuYWxpZ25lZF93YXRjaHBvaW50IChlbnVt IHRhcmdldF9od19icF90eXBlIHR5cGUsCisgICAgICAgYWRkcl9vcmlnID0gYWRkcl9vcmlnX25l eHQ7CitAQCAtNjYwLDcgKzY2MSw3IEBAIGFhcmNoNjRfaGFuZGxlX3VuYWxpZ25lZF93YXRjaHBv aW50IChlbnVtIHRhcmdldF9od19icF90eXBlIHR5cGUsCiAgCiAgaW50CiAgYWFyY2g2NF9oYW5k bGVfd2F0Y2hwb2ludCAoZW51bSB0YXJnZXRfaHdfYnBfdHlwZSB0eXBlLCBDT1JFX0FERFIgYWRk ciwKQEAgLTE4Nyw3ICsyMjYsNyBAQCBpbmRleCBjZTI2ZjI4ZmFkLi5lOWViYzVmYmE4IDEwMDY0 NAogIAkJCSAgIHN0cnVjdCBhYXJjaDY0X2RlYnVnX3JlZ19zdGF0ZSAqc3RhdGUpCiAgewogICAg aWYgKGFhcmNoNjRfcG9pbnRfaXNfYWxpZ25lZCAoMSAvKiBpc193YXRjaHBvaW50ICovICwgYWRk ciwgbGVuKSkKLUBAIC01ODgsMTQgKzU4OSwxNCBAQCBhYXJjaDY0X2xpbnV4X3NldF9kZWJ1Z19y ZWdzIChjb25zdCBzdHJ1Y3QgYWFyY2g2NF9kZWJ1Z19yZWdfc3RhdGUgKnN0YXRlLAorQEAgLTcy MiwxNCArNzIzLDE0IEBAIGFhcmNoNjRfbGludXhfc2V0X2RlYnVnX3JlZ3MgKHN0cnVjdCBhYXJj aDY0X2RlYnVnX3JlZ19zdGF0ZSAqc3RhdGUsCiAgdm9pZAogIGFhcmNoNjRfc2hvd19kZWJ1Z19y ZWdfc3RhdGUgKHN0cnVjdCBhYXJjaDY0X2RlYnVnX3JlZ19zdGF0ZSAqc3RhdGUsCiAgCQkJICAg ICAgY29uc3QgY2hhciAqZnVuYywgQ09SRV9BRERSIGFkZHIsCkBAIC0yMDUsMTEgKzI0NCwyMCBA QCBpbmRleCBjZTI2ZjI4ZmFkLi5lOWViYzVmYmE4IDEwMDY0NAogIAkJICB0eXBlID09IGh3X3dy aXRlID8gImh3LXdyaXRlLXdhdGNocG9pbnQiCiAgCQkgIDogKHR5cGUgPT0gaHdfcmVhZCA/ICJo dy1yZWFkLXdhdGNocG9pbnQiCiAgCQkgICAgIDogKHR5cGUgPT0gaHdfYWNjZXNzID8gImh3LWFj Y2Vzcy13YXRjaHBvaW50IgorQEAgLTgxMiw3ICs4MTMsNyBAQCBhYXJjaDY0X2xpbnV4X2dldF9k ZWJ1Z19yZWdfY2FwYWNpdHkgKGludCB0aWQpCisgICAgQUREUiBhbmQgd2hvc2UgbGVuZ3RoIGlz IExFTiBpbiBieXRlcy4gICovCisgCisgaW50CistYWFyY2g2NF9saW51eF9yZWdpb25fb2tfZm9y X3dhdGNocG9pbnQgKENPUkVfQUREUiBhZGRyLCBpbnQgbGVuKQorK2FhcmNoNjRfbGludXhfcmVn aW9uX29rX2Zvcl93YXRjaHBvaW50IChDT1JFX0FERFIgYWRkciwgTE9OR0VTVCBsZW4pCisgewor ICAgQ09SRV9BRERSIGFsaWduZWRfYWRkcjsKKyAKIGRpZmYgLS1naXQgYS9nZGIvbmF0L2FhcmNo NjQtbGludXgtaHctcG9pbnQuaCBiL2dkYi9uYXQvYWFyY2g2NC1saW51eC1ody1wb2ludC5oCi1p bmRleCA3YzQyYjk2ZDFiLi5lMWQ0ZmM4ZGJjIDEwMDY0NAoraW5kZXggMTk0MGIwNmE4OS4uNzk1 MDRhNDY0MCAxMDA2NDQKIC0tLSBhL2dkYi9uYXQvYWFyY2g2NC1saW51eC1ody1wb2ludC5oCiAr KysgYi9nZGIvbmF0L2FhcmNoNjQtbGludXgtaHctcG9pbnQuaAotQEAgLTE3Miw3ICsxNzIsNyBA QCBpbnQgYWFyY2g2NF9oYW5kbGVfYnJlYWtwb2ludCAoZW51bSB0YXJnZXRfaHdfYnBfdHlwZSB0 eXBlLCBDT1JFX0FERFIgYWRkciwKK0BAIC0xNzYsNyArMTc2LDcgQEAgaW50IGFhcmNoNjRfaGFu ZGxlX2JyZWFrcG9pbnQgKGVudW0gdGFyZ2V0X2h3X2JwX3R5cGUgdHlwZSwgQ09SRV9BRERSIGFk ZHIsCiAgCQkJICAgICAgIGludCBsZW4sIGludCBpc19pbnNlcnQsCiAgCQkJICAgICAgIHN0cnVj dCBhYXJjaDY0X2RlYnVnX3JlZ19zdGF0ZSAqc3RhdGUpOwogIGludCBhYXJjaDY0X2hhbmRsZV93 YXRjaHBvaW50IChlbnVtIHRhcmdldF9od19icF90eXBlIHR5cGUsIENPUkVfQUREUiBhZGRyLApA QCAtMjE3LDggKzI2NSw4IEBAIGluZGV4IDdjNDJiOTZkMWIuLmUxZDRmYzhkYmMgMTAwNjQ0CiAr CQkJICAgICAgIExPTkdFU1QgbGVuLCBpbnQgaXNfaW5zZXJ0LAogIAkJCSAgICAgICBzdHJ1Y3Qg YWFyY2g2NF9kZWJ1Z19yZWdfc3RhdGUgKnN0YXRlKTsKICAKLSB2b2lkIGFhcmNoNjRfbGludXhf c2V0X2RlYnVnX3JlZ3MgKGNvbnN0IHN0cnVjdCBhYXJjaDY0X2RlYnVnX3JlZ19zdGF0ZSAqc3Rh dGUsCi1AQCAtMTgwLDcgKzE4MCw3IEBAIHZvaWQgYWFyY2g2NF9saW51eF9zZXRfZGVidWdfcmVn cyAoY29uc3Qgc3RydWN0IGFhcmNoNjRfZGVidWdfcmVnX3N0YXRlICpzdGF0ZSwKKyB2b2lkIGFh cmNoNjRfbGludXhfc2V0X2RlYnVnX3JlZ3MgKHN0cnVjdCBhYXJjaDY0X2RlYnVnX3JlZ19zdGF0 ZSAqc3RhdGUsCitAQCAtMTg0LDEyICsxODQsMTIgQEAgdm9pZCBhYXJjaDY0X2xpbnV4X3NldF9k ZWJ1Z19yZWdzIChzdHJ1Y3QgYWFyY2g2NF9kZWJ1Z19yZWdfc3RhdGUgKnN0YXRlLAogIAogIHZv aWQgYWFyY2g2NF9zaG93X2RlYnVnX3JlZ19zdGF0ZSAoc3RydWN0IGFhcmNoNjRfZGVidWdfcmVn X3N0YXRlICpzdGF0ZSwKICAJCQkJICAgY29uc3QgY2hhciAqZnVuYywgQ09SRV9BRERSIGFkZHIs CkBAIC0yMjcsMTEgKzI3NSwzOCBAQCBpbmRleCA3YzQyYjk2ZDFiLi5lMWQ0ZmM4ZGJjIDEwMDY0 NAogIAogIHZvaWQgYWFyY2g2NF9saW51eF9nZXRfZGVidWdfcmVnX2NhcGFjaXR5IChpbnQgdGlk KTsKICAKKyBzdHJ1Y3QgYWFyY2g2NF9kZWJ1Z19yZWdfc3RhdGUgKmFhcmNoNjRfZ2V0X2RlYnVn X3JlZ19zdGF0ZSAocGlkX3QgcGlkKTsKKyAKKy1pbnQgYWFyY2g2NF9saW51eF9yZWdpb25fb2tf Zm9yX3dhdGNocG9pbnQgKENPUkVfQUREUiBhZGRyLCBpbnQgbGVuKTsKKytpbnQgYWFyY2g2NF9s aW51eF9yZWdpb25fb2tfZm9yX3dhdGNocG9pbnQgKENPUkVfQUREUiBhZGRyLCBMT05HRVNUIGxl bik7CisgCisgI2VuZGlmIC8qIEFBUkNINjRfTElOVVhfSFdfUE9JTlRfSCAqLwogZGlmZiAtLWdp dCBhL2dkYi9wcGMtbGludXgtbmF0LmMgYi9nZGIvcHBjLWxpbnV4LW5hdC5jCi1pbmRleCA0YTgy NDM0YzBkLi40OWEyN2Q4ZGFhIDEwMDY0NAoraW5kZXggYjcwZjE2ODEwNi4uYTcxMjE5NzYxOCAx MDA2NDQKIC0tLSBhL2dkYi9wcGMtbGludXgtbmF0LmMKICsrKyBiL2dkYi9wcGMtbGludXgtbmF0 LmMKLUBAIC0xNzk4LDExICsxNzk4LDExIEBAIGNhbl91c2Vfd2F0Y2hwb2ludF9jb25kX2FjY2Vs ICh2b2lkKQorQEAgLTI4Miw3ICsyODIsNyBAQCBzdHJ1Y3QgcHBjX2xpbnV4X25hdF90YXJnZXQg ZmluYWwgOiBwdWJsaWMgbGludXhfbmF0X3RhcmdldAorICAgaW50IHJlbW92ZV9od19icmVha3Bv aW50IChzdHJ1Y3QgZ2RiYXJjaCAqLCBzdHJ1Y3QgYnBfdGFyZ2V0X2luZm8gKikKKyAgICAgb3Zl cnJpZGU7CisgCistICBpbnQgcmVnaW9uX29rX2Zvcl9od193YXRjaHBvaW50IChDT1JFX0FERFIs IGludCkgb3ZlcnJpZGU7CisrICBpbnQgcmVnaW9uX29rX2Zvcl9od193YXRjaHBvaW50IChDT1JF X0FERFIsIExPTkdFU1QpIG92ZXJyaWRlOworIAorICAgaW50IGluc2VydF93YXRjaHBvaW50IChD T1JFX0FERFIsIGludCwgZW51bSB0YXJnZXRfaHdfYnBfdHlwZSwKKyAJCQkgc3RydWN0IGV4cHJl c3Npb24gKikgb3ZlcnJpZGU7CitAQCAtMzAwLDkgKzMwMCw5IEBAIHN0cnVjdCBwcGNfbGludXhf bmF0X3RhcmdldCBmaW5hbCA6IHB1YmxpYyBsaW51eF9uYXRfdGFyZ2V0CisgCisgICBib29sIHN0 b3BwZWRfZGF0YV9hZGRyZXNzIChDT1JFX0FERFIgKikgb3ZlcnJpZGU7CisgCistICBib29sIHdh dGNocG9pbnRfYWRkcl93aXRoaW5fcmFuZ2UgKENPUkVfQUREUiwgQ09SRV9BRERSLCBpbnQpIG92 ZXJyaWRlOworKyAgYm9vbCB3YXRjaHBvaW50X2FkZHJfd2l0aGluX3JhbmdlIChDT1JFX0FERFIs IENPUkVfQUREUiwgTE9OR0VTVCkgb3ZlcnJpZGU7CisgCistICBib29sIGNhbl9hY2NlbF93YXRj aHBvaW50X2NvbmRpdGlvbiAoQ09SRV9BRERSLCBpbnQsIGludCwgc3RydWN0IGV4cHJlc3Npb24g KikKKysgIGJvb2wgY2FuX2FjY2VsX3dhdGNocG9pbnRfY29uZGl0aW9uIChDT1JFX0FERFIsIExP TkdFU1QsIGludCwgc3RydWN0IGV4cHJlc3Npb24gKikKKyAgICAgb3ZlcnJpZGU7CisgCisgICBp bnQgbWFza2VkX3dhdGNoX251bV9yZWdpc3RlcnMgKENPUkVfQUREUiwgQ09SRV9BRERSKSBvdmVy cmlkZTsKK0BAIC0xODQ3LDExICsxODQ3LDExIEBAIGNhbl91c2Vfd2F0Y2hwb2ludF9jb25kX2Fj Y2VsICh2b2lkKQogICAgIENPTkRJVElPTl9WQUxVRSB3aWxsIGhvbGQgdGhlIHZhbHVlIHdoaWNo IHNob3VsZCBiZSBwdXQgaW4gdGhlCiAgICAgRFZDIHJlZ2lzdGVyLiAgKi8KICBzdGF0aWMgdm9p ZApAQCAtMjQ2LDcgKzMyMSw3IEBAIGluZGV4IDRhODI0MzRjMGQuLjQ5YTI3ZDhkYWEgMTAwNjQ0 CiAgICBDT1JFX0FERFIgYWRkcl9lbmRfZGF0YSwgYWRkcl9lbmRfZHZjOwogIAogICAgLyogVGhl IERWQyByZWdpc3RlciBjb21wYXJlcyBieXRlcyB3aXRoaW4gZml4ZWQtbGVuZ3RoIHdpbmRvd3Mg d2hpY2gKLUBAIC0xODg5LDcgKzE4ODksNyBAQCBudW1fbWVtb3J5X2FjY2Vzc2VzIChzdHJ1Y3Qg dmFsdWUgKnYpCitAQCAtMTkzOSw3ICsxOTM5LDcgQEAgbnVtX21lbW9yeV9hY2Nlc3NlcyAoY29u c3Qgc3RkOjp2ZWN0b3I8dmFsdWVfcmVmX3B0cj4gJmNoYWluKQogICAgIG9mIHRoZSBjb25zdGFu dC4gICovCiAgc3RhdGljIGludAogIGNoZWNrX2NvbmRpdGlvbiAoQ09SRV9BRERSIHdhdGNoX2Fk ZHIsIHN0cnVjdCBleHByZXNzaW9uICpjb25kLApAQCAtMjU0LDE3ICszMjksMTggQEAgaW5kZXgg NGE4MjQzNGMwZC4uNDlhMjdkOGRhYSAxMDA2NDQKICsJCSBDT1JFX0FERFIgKmRhdGFfdmFsdWUs IExPTkdFU1QgKmxlbikKICB7CiAgICBpbnQgcGMgPSAxLCBudW1fYWNjZXNzZXNfbGVmdCwgbnVt X2FjY2Vzc2VzX3JpZ2h0OwotICAgc3RydWN0IHZhbHVlICpsZWZ0X3ZhbCwgKnJpZ2h0X3ZhbCwg KmxlZnRfY2hhaW4sICpyaWdodF9jaGFpbjsKLUBAIC0xOTU3LDcgKzE5NTcsNyBAQCBjaGVja19j b25kaXRpb24gKENPUkVfQUREUiB3YXRjaF9hZGRyLCBzdHJ1Y3QgZXhwcmVzc2lvbiAqY29uZCwK KyAgIHN0cnVjdCB2YWx1ZSAqbGVmdF92YWwsICpyaWdodF92YWw7CitAQCAtMTk5MCw3ICsxOTkw LDggQEAgY2hlY2tfY29uZGl0aW9uIChDT1JFX0FERFIgd2F0Y2hfYWRkciwgc3RydWN0IGV4cHJl c3Npb24gKmNvbmQsCisgICAgdGhlIGNvbmRpdGlvbiBleHByZXNzaW9uLCB0aHVzIG9ubHkgdHJp Z2dlcmluZyB0aGUgd2F0Y2hwb2ludCB3aGVuIGl0IGlzCiAgICAgdHJ1ZS4gICovCi0gc3RhdGlj IGludAotIHBwY19saW51eF9jYW5fYWNjZWxfd2F0Y2hwb2ludF9jb25kaXRpb24gKHN0cnVjdCB0 YXJnZXRfb3BzICpzZWxmLAotLQkJCQkJICBDT1JFX0FERFIgYWRkciwgaW50IGxlbiwgaW50IHJ3 LAotKwkJCQkJICBDT1JFX0FERFIgYWRkciwgTE9OR0VTVCBsZW4sIGludCBydywKLSAJCQkJCSAg c3RydWN0IGV4cHJlc3Npb24gKmNvbmQpCisgYm9vbAorLXBwY19saW51eF9uYXRfdGFyZ2V0Ojpj YW5fYWNjZWxfd2F0Y2hwb2ludF9jb25kaXRpb24gKENPUkVfQUREUiBhZGRyLCBpbnQgbGVuLAor K3BwY19saW51eF9uYXRfdGFyZ2V0OjpjYW5fYWNjZWxfd2F0Y2hwb2ludF9jb25kaXRpb24gKENP UkVfQUREUiBhZGRyLAorKwkJCQkJCSAgICAgIExPTkdFU1QgbGVuLAorIAkJCQkJCSAgICAgIGlu dCBydywKKyAJCQkJCQkgICAgICBzdHJ1Y3QgZXhwcmVzc2lvbiAqY29uZCkKICB7Ci0gICBDT1JF X0FERFIgZGF0YV92YWx1ZTsKLUBAIC0xOTc0LDcgKzE5NzQsNyBAQCBwcGNfbGludXhfY2FuX2Fj Y2VsX3dhdGNocG9pbnRfY29uZGl0aW9uIChzdHJ1Y3QgdGFyZ2V0X29wcyAqc2VsZiwKK0BAIC0y MDA4LDcgKzIwMDksNyBAQCBwcGNfbGludXhfbmF0X3RhcmdldDo6Y2FuX2FjY2VsX3dhdGNocG9p bnRfY29uZGl0aW9uIChDT1JFX0FERFIgYWRkciwgaW50IGxlbiwKICAKICBzdGF0aWMgdm9pZAog IGNyZWF0ZV93YXRjaHBvaW50X3JlcXVlc3QgKHN0cnVjdCBwcGNfaHdfYnJlYWtwb2ludCAqcCwg Q09SRV9BRERSIGFkZHIsCkBAIC0yNzMsMjAgKzM0OSwyMCBAQCBpbmRleCA0YTgyNDM0YzBkLi40 OWEyN2Q4ZGFhIDEwMDY0NAogIAkJCSAgIHN0cnVjdCBleHByZXNzaW9uICpjb25kLCBpbnQgaW5z ZXJ0KQogIHsKICAgIGlmIChsZW4gPT0gMQotQEAgLTIyNDAsNyArMjI0MCw3IEBAIHBwY19saW51 eF9zdG9wcGVkX2J5X3dhdGNocG9pbnQgKHN0cnVjdCB0YXJnZXRfb3BzICpvcHMpCi0gc3RhdGlj IGludAotIHBwY19saW51eF93YXRjaHBvaW50X2FkZHJfd2l0aGluX3JhbmdlIChzdHJ1Y3QgdGFy Z2V0X29wcyAqdGFyZ2V0LAotIAkJCQkJQ09SRV9BRERSIGFkZHIsCi0tCQkJCQlDT1JFX0FERFIg c3RhcnQsIGludCBsZW5ndGgpCi0rCQkJCQlDT1JFX0FERFIgc3RhcnQsIExPTkdFU1QgbGVuZ3Ro KQorQEAgLTIyNzQsNyArMjI3NSw3IEBAIHBwY19saW51eF9uYXRfdGFyZ2V0OjpzdG9wcGVkX2J5 X3dhdGNocG9pbnQgKCkKKyBib29sCisgcHBjX2xpbnV4X25hdF90YXJnZXQ6OndhdGNocG9pbnRf YWRkcl93aXRoaW5fcmFuZ2UgKENPUkVfQUREUiBhZGRyLAorIAkJCQkJCSAgICBDT1JFX0FERFIg c3RhcnQsCistCQkJCQkJICAgIGludCBsZW5ndGgpCisrCQkJCQkJICAgIExPTkdFU1QgbGVuZ3Ro KQogIHsKICAgIGludCBtYXNrOwogIAogZGlmZiAtLWdpdCBhL2dkYi9wcm9jZnMuYyBiL2dkYi9w cm9jZnMuYwotaW5kZXggODg3ZjEyMDFmZS4uZWRkMWJlNjMyYSAxMDA2NDQKK2luZGV4IGNhN2Nj MjIxZjkuLjcxN2ExMTMwZmUgMTAwNjQ0CiAtLS0gYS9nZGIvcHJvY2ZzLmMKICsrKyBiL2dkYi9w cm9jZnMuYwotQEAgLTE1NjMsNyArMTU2Myw3IEBAIHByb2Nmc19hZGRyZXNzX3RvX2hvc3RfcG9p bnRlciAoQ09SRV9BRERSIGFkZHIpCitAQCAtMTU2MSw3ICsxNTYxLDcgQEAgcHJvY2ZzX2FkZHJl c3NfdG9faG9zdF9wb2ludGVyIChDT1JFX0FERFIgYWRkcikKICB9CiAgCiAgc3RhdGljIGludApA QCAtMjk1LDcgKzM3MSw3IEBAIGluZGV4IDg4N2YxMjAxZmUuLmVkZDFiZTYzMmEgMTAwNjQ0CiAg ewogICAgc3RydWN0IHsKICAgICAgcHJvY2ZzX2N0bF90IGNtZDsKLUBAIC0zMjUwLDcgKzMyNTAs NyBAQCBwcm9jZnNfcGlkX3RvX3N0ciAoc3RydWN0IHRhcmdldF9vcHMgKm9wcywgcHRpZF90IHB0 aWQpCitAQCAtMzIxNCw3ICszMjE0LDcgQEAgcHJvY2ZzX3RhcmdldDo6cGlkX3RvX3N0ciAocHRp ZF90IHB0aWQpCiAgLyogSW5zZXJ0IGEgd2F0Y2hwb2ludC4gICovCiAgCiAgc3RhdGljIGludApA QCAtMzA1LDEwICszODEsMTkgQEAgaW5kZXggODg3ZjEyMDFmZS4uZWRkMWJlNjMyYSAxMDA2NDQK ICB7CiAgICBpbnQgICAgICAgcGZsYWdzID0gMDsKIGRpZmYgLS1naXQgYS9nZGIvcmVtb3RlLmMg Yi9nZGIvcmVtb3RlLmMKLWluZGV4IDk0ZDU1OTQxNzUuLjg2Nzc3ZjFlNWUgMTAwNjQ0CitpbmRl eCBjZTY3ZDc2MTk1Li42MzVjYjI2NmU4IDEwMDY0NAogLS0tIGEvZ2RiL3JlbW90ZS5jCiArKysg Yi9nZGIvcmVtb3RlLmMKLUBAIC05ODk3LDcgKzk4OTcsNyBAQCByZW1vdGVfaW5zZXJ0X3dhdGNo cG9pbnQgKHN0cnVjdCB0YXJnZXRfb3BzICpzZWxmLCBDT1JFX0FERFIgYWRkciwgaW50IGxlbiwK K0BAIC0xMzgsNyArMTM4LDcgQEAgcHVibGljOgorIAorICAgYm9vbCBzdG9wcGVkX2RhdGFfYWRk cmVzcyAoQ09SRV9BRERSICopIG92ZXJyaWRlOworIAorLSAgYm9vbCB3YXRjaHBvaW50X2FkZHJf d2l0aGluX3JhbmdlIChDT1JFX0FERFIsIENPUkVfQUREUiwgaW50KSBvdmVycmlkZTsKKysgIGJv b2wgd2F0Y2hwb2ludF9hZGRyX3dpdGhpbl9yYW5nZSAoQ09SRV9BRERSLCBDT1JFX0FERFIsIExP TkdFU1QpIG92ZXJyaWRlOworIAorICAgaW50IGNhbl91c2VfaHdfYnJlYWtwb2ludCAoZW51bSBi cHR5cGUsIGludCwgaW50KSBvdmVycmlkZTsKKyAKK0BAIC0xMDE0NSw3ICsxMDE0NSw3IEBAIHJl bW90ZV90YXJnZXQ6Omluc2VydF93YXRjaHBvaW50IChDT1JFX0FERFIgYWRkciwgaW50IGxlbiwK ICAgIHAgPSBzdHJjaHIgKHJzLT5idWYsICdcMCcpOwogICAgYWRkciA9IHJlbW90ZV9hZGRyZXNz X21hc2tlZCAoYWRkcik7CiAgICBwICs9IGhleG51bXN0ciAocCwgKFVMT05HRVNUKSBhZGRyKTsK QEAgLTMxNywxNiArNDAyLDE2IEBAIGluZGV4IDk0ZDU1OTQxNzUuLjg2Nzc3ZjFlNWUgMTAwNjQ0 CiAgCiAgICBwdXRwa3QgKHJzLT5idWYpOwogICAgZ2V0cGt0ICgmcnMtPmJ1ZiwgJnJzLT5idWZf c2l6ZSwgMCk7Ci1AQCAtOTkxNyw3ICs5OTE3LDcgQEAgcmVtb3RlX2luc2VydF93YXRjaHBvaW50 IChzdHJ1Y3QgdGFyZ2V0X29wcyAqc2VsZiwgQ09SRV9BRERSIGFkZHIsIGludCBsZW4sCitAQCAt MTAxNjUsNyArMTAxNjUsNyBAQCByZW1vdGVfdGFyZ2V0OjppbnNlcnRfd2F0Y2hwb2ludCAoQ09S RV9BRERSIGFkZHIsIGludCBsZW4sCiAgCi0gc3RhdGljIGludAotIHJlbW90ZV93YXRjaHBvaW50 X2FkZHJfd2l0aGluX3JhbmdlIChzdHJ1Y3QgdGFyZ2V0X29wcyAqdGFyZ2V0LCBDT1JFX0FERFIg YWRkciwKLS0JCQkJICAgICBDT1JFX0FERFIgc3RhcnQsIGludCBsZW5ndGgpCi0rCQkJCSAgICAg Q09SRV9BRERSIHN0YXJ0LCBMT05HRVNUIGxlbmd0aCkKKyBib29sCisgcmVtb3RlX3RhcmdldDo6 d2F0Y2hwb2ludF9hZGRyX3dpdGhpbl9yYW5nZSAoQ09SRV9BRERSIGFkZHIsCistCQkJCQkgICAg IENPUkVfQUREUiBzdGFydCwgaW50IGxlbmd0aCkKKysJCQkJCSAgICAgQ09SRV9BRERSIHN0YXJ0 LCBMT05HRVNUIGxlbmd0aCkKICB7CiAgICBDT1JFX0FERFIgZGlmZiA9IHJlbW90ZV9hZGRyZXNz X21hc2tlZCAoYWRkciAtIHN0YXJ0KTsKICAKLUBAIC05OTQ2LDcgKzk5NDYsNyBAQCByZW1vdGVf cmVtb3ZlX3dhdGNocG9pbnQgKHN0cnVjdCB0YXJnZXRfb3BzICpzZWxmLCBDT1JFX0FERFIgYWRk ciwgaW50IGxlbiwKK0BAIC0xMDE5NCw3ICsxMDE5NCw3IEBAIHJlbW90ZV90YXJnZXQ6OnJlbW92 ZV93YXRjaHBvaW50IChDT1JFX0FERFIgYWRkciwgaW50IGxlbiwKICAgIHAgPSBzdHJjaHIgKHJz LT5idWYsICdcMCcpOwogICAgYWRkciA9IHJlbW90ZV9hZGRyZXNzX21hc2tlZCAoYWRkcik7CiAg ICBwICs9IGhleG51bXN0ciAocCwgKFVMT05HRVNUKSBhZGRyKTsKQEAgLTMzNSw3NCArNDIwLDEx NiBAQCBpbmRleCA5NGQ1NTk0MTc1Li44Njc3N2YxZTVlIDEwMDY0NAogICAgcHV0cGt0IChycy0+ YnVmKTsKICAgIGdldHBrdCAoJnJzLT5idWYsICZycy0+YnVmX3NpemUsIDApOwogIAorZGlmZiAt LWdpdCBhL2dkYi9zMzkwLWxpbnV4LW5hdC5jIGIvZ2RiL3MzOTAtbGludXgtbmF0LmMKK2luZGV4 IGQ3YzY4M2U5NjguLjI0MDNkMDVhMTggMTAwNjQ0CistLS0gYS9nZGIvczM5MC1saW51eC1uYXQu YworKysrIGIvZ2RiL3MzOTAtbGludXgtbmF0LmMKK0BAIC0xMjEsNyArMTIxLDcgQEAgcHVibGlj OgorICAgICBvdmVycmlkZTsKKyAgIGludCByZW1vdmVfaHdfYnJlYWtwb2ludCAoc3RydWN0IGdk YmFyY2ggKiwgc3RydWN0IGJwX3RhcmdldF9pbmZvICopCisgICAgIG92ZXJyaWRlOworLSAgaW50 IHJlZ2lvbl9va19mb3JfaHdfd2F0Y2hwb2ludCAoQ09SRV9BRERSLCBpbnQpIG92ZXJyaWRlOwor KyAgaW50IHJlZ2lvbl9va19mb3JfaHdfd2F0Y2hwb2ludCAoQ09SRV9BRERSLCBMT05HRVNUKSBv dmVycmlkZTsKKyAgIGJvb2wgaGF2ZV9jb250aW51YWJsZV93YXRjaHBvaW50ICgpIG92ZXJyaWRl IHsgcmV0dXJuIHRydWU7IH0KKyAgIGJvb2wgc3RvcHBlZF9ieV93YXRjaHBvaW50ICgpIG92ZXJy aWRlOworICAgaW50IGluc2VydF93YXRjaHBvaW50IChDT1JFX0FERFIsIGludCwgZW51bSB0YXJn ZXRfaHdfYnBfdHlwZSwKIGRpZmYgLS1naXQgYS9nZGIvdGFyZ2V0LWRlbGVnYXRlcy5jIGIvZ2Ri L3RhcmdldC1kZWxlZ2F0ZXMuYwotaW5kZXggMmI0NDljYmYwMS4uZjcyNTIxNWZmZiAxMDA2NDQK K2luZGV4IGVkNjI1ZWQwMzAuLjMxMjlhZTI5NWYgMTAwNjQ0CiAtLS0gYS9nZGIvdGFyZ2V0LWRl bGVnYXRlcy5jCiArKysgYi9nZGIvdGFyZ2V0LWRlbGVnYXRlcy5jCi1AQCAtNzMzLDE0ICs3MzMs MTQgQEAgZGVidWdfc3RvcHBlZF9kYXRhX2FkZHJlc3MgKHN0cnVjdCB0YXJnZXRfb3BzICpzZWxm LCBDT1JFX0FERFIgKmFyZzEpCitAQCAtMzgsOSArMzgsOSBAQCBzdHJ1Y3QgZHVtbXlfdGFyZ2V0 IDogcHVibGljIHRhcmdldF9vcHMKKyAgIGludCBoYXZlX3N0ZXBwYWJsZV93YXRjaHBvaW50ICgp IG92ZXJyaWRlOworICAgYm9vbCBoYXZlX2NvbnRpbnVhYmxlX3dhdGNocG9pbnQgKCkgb3ZlcnJp ZGU7CisgICBib29sIHN0b3BwZWRfZGF0YV9hZGRyZXNzIChDT1JFX0FERFIgKmFyZzApIG92ZXJy aWRlOworLSAgYm9vbCB3YXRjaHBvaW50X2FkZHJfd2l0aGluX3JhbmdlIChDT1JFX0FERFIgYXJn MCwgQ09SRV9BRERSIGFyZzEsIGludCBhcmcyKSBvdmVycmlkZTsKKysgIGJvb2wgd2F0Y2hwb2lu dF9hZGRyX3dpdGhpbl9yYW5nZSAoQ09SRV9BRERSIGFyZzAsIENPUkVfQUREUiBhcmcxLCBMT05H RVNUIGFyZzIpIG92ZXJyaWRlOworICAgaW50IHJlZ2lvbl9va19mb3JfaHdfd2F0Y2hwb2ludCAo Q09SRV9BRERSIGFyZzAsIExPTkdFU1QgYXJnMSkgb3ZlcnJpZGU7CistICBib29sIGNhbl9hY2Nl bF93YXRjaHBvaW50X2NvbmRpdGlvbiAoQ09SRV9BRERSIGFyZzAsIGludCBhcmcxLCBpbnQgYXJn Miwgc3RydWN0IGV4cHJlc3Npb24gKmFyZzMpIG92ZXJyaWRlOworKyAgYm9vbCBjYW5fYWNjZWxf d2F0Y2hwb2ludF9jb25kaXRpb24gKENPUkVfQUREUiBhcmcwLCBMT05HRVNUIGFyZzEsIGludCBh cmcyLCBzdHJ1Y3QgZXhwcmVzc2lvbiAqYXJnMykgb3ZlcnJpZGU7CisgICBpbnQgbWFza2VkX3dh dGNoX251bV9yZWdpc3RlcnMgKENPUkVfQUREUiBhcmcwLCBDT1JFX0FERFIgYXJnMSkgb3ZlcnJp ZGU7CisgICBpbnQgY2FuX2RvX3NpbmdsZV9zdGVwICgpIG92ZXJyaWRlOworICAgYm9vbCBzdXBw b3J0c190ZXJtaW5hbF9vdXJzICgpIG92ZXJyaWRlOworQEAgLTIwNiw5ICsyMDYsOSBAQCBzdHJ1 Y3QgZGVidWdfdGFyZ2V0IDogcHVibGljIHRhcmdldF9vcHMKKyAgIGludCBoYXZlX3N0ZXBwYWJs ZV93YXRjaHBvaW50ICgpIG92ZXJyaWRlOworICAgYm9vbCBoYXZlX2NvbnRpbnVhYmxlX3dhdGNo cG9pbnQgKCkgb3ZlcnJpZGU7CisgICBib29sIHN0b3BwZWRfZGF0YV9hZGRyZXNzIChDT1JFX0FE RFIgKmFyZzApIG92ZXJyaWRlOworLSAgYm9vbCB3YXRjaHBvaW50X2FkZHJfd2l0aGluX3Jhbmdl IChDT1JFX0FERFIgYXJnMCwgQ09SRV9BRERSIGFyZzEsIGludCBhcmcyKSBvdmVycmlkZTsKKysg IGJvb2wgd2F0Y2hwb2ludF9hZGRyX3dpdGhpbl9yYW5nZSAoQ09SRV9BRERSIGFyZzAsIENPUkVf QUREUiBhcmcxLCBMT05HRVNUIGFyZzIpIG92ZXJyaWRlOworICAgaW50IHJlZ2lvbl9va19mb3Jf aHdfd2F0Y2hwb2ludCAoQ09SRV9BRERSIGFyZzAsIExPTkdFU1QgYXJnMSkgb3ZlcnJpZGU7Cist ICBib29sIGNhbl9hY2NlbF93YXRjaHBvaW50X2NvbmRpdGlvbiAoQ09SRV9BRERSIGFyZzAsIGlu dCBhcmcxLCBpbnQgYXJnMiwgc3RydWN0IGV4cHJlc3Npb24gKmFyZzMpIG92ZXJyaWRlOworKyAg Ym9vbCBjYW5fYWNjZWxfd2F0Y2hwb2ludF9jb25kaXRpb24gKENPUkVfQUREUiBhcmcwLCBMT05H RVNUIGFyZzEsIGludCBhcmcyLCBzdHJ1Y3QgZXhwcmVzc2lvbiAqYXJnMykgb3ZlcnJpZGU7Cisg ICBpbnQgbWFza2VkX3dhdGNoX251bV9yZWdpc3RlcnMgKENPUkVfQUREUiBhcmcwLCBDT1JFX0FE RFIgYXJnMSkgb3ZlcnJpZGU7CisgICBpbnQgY2FuX2RvX3NpbmdsZV9zdGVwICgpIG92ZXJyaWRl OworICAgYm9vbCBzdXBwb3J0c190ZXJtaW5hbF9vdXJzICgpIG92ZXJyaWRlOworQEAgLTEwNjgs MTkgKzEwNjgsMTkgQEAgZGVidWdfdGFyZ2V0OjpzdG9wcGVkX2RhdGFfYWRkcmVzcyAoQ09SRV9B RERSICphcmcwKQogIH0KICAKLSBzdGF0aWMgaW50Ci0tZGVsZWdhdGVfd2F0Y2hwb2ludF9hZGRy X3dpdGhpbl9yYW5nZSAoc3RydWN0IHRhcmdldF9vcHMgKnNlbGYsIENPUkVfQUREUiBhcmcxLCBD T1JFX0FERFIgYXJnMiwgaW50IGFyZzMpCi0rZGVsZWdhdGVfd2F0Y2hwb2ludF9hZGRyX3dpdGhp bl9yYW5nZSAoc3RydWN0IHRhcmdldF9vcHMgKnNlbGYsIENPUkVfQUREUiBhcmcxLCBDT1JFX0FE RFIgYXJnMiwgTE9OR0VTVCBhcmczKQorIGJvb2wKKy10YXJnZXRfb3BzOjp3YXRjaHBvaW50X2Fk ZHJfd2l0aGluX3JhbmdlIChDT1JFX0FERFIgYXJnMCwgQ09SRV9BRERSIGFyZzEsIGludCBhcmcy KQorK3RhcmdldF9vcHM6OndhdGNocG9pbnRfYWRkcl93aXRoaW5fcmFuZ2UgKENPUkVfQUREUiBh cmcwLCBDT1JFX0FERFIgYXJnMSwgTE9OR0VTVCBhcmcyKQogIHsKLSAgIHNlbGYgPSBzZWxmLT5i ZW5lYXRoOwotICAgcmV0dXJuIHNlbGYtPnRvX3dhdGNocG9pbnRfYWRkcl93aXRoaW5fcmFuZ2Ug KHNlbGYsIGFyZzEsIGFyZzIsIGFyZzMpOworICAgcmV0dXJuIHRoaXMtPmJlbmVhdGgtPndhdGNo cG9pbnRfYWRkcl93aXRoaW5fcmFuZ2UgKGFyZzAsIGFyZzEsIGFyZzIpOwogIH0KICAKLSBzdGF0 aWMgaW50Ci0tZGVidWdfd2F0Y2hwb2ludF9hZGRyX3dpdGhpbl9yYW5nZSAoc3RydWN0IHRhcmdl dF9vcHMgKnNlbGYsIENPUkVfQUREUiBhcmcxLCBDT1JFX0FERFIgYXJnMiwgaW50IGFyZzMpCi0r ZGVidWdfd2F0Y2hwb2ludF9hZGRyX3dpdGhpbl9yYW5nZSAoc3RydWN0IHRhcmdldF9vcHMgKnNl bGYsIENPUkVfQUREUiBhcmcxLCBDT1JFX0FERFIgYXJnMiwgTE9OR0VTVCBhcmczKQorIGJvb2wK Ky1kdW1teV90YXJnZXQ6OndhdGNocG9pbnRfYWRkcl93aXRoaW5fcmFuZ2UgKENPUkVfQUREUiBh cmcwLCBDT1JFX0FERFIgYXJnMSwgaW50IGFyZzIpCisrZHVtbXlfdGFyZ2V0Ojp3YXRjaHBvaW50 X2FkZHJfd2l0aGluX3JhbmdlIChDT1JFX0FERFIgYXJnMCwgQ09SRV9BRERSIGFyZzEsIExPTkdF U1QgYXJnMikKICB7Ci0gICBpbnQgcmVzdWx0OwotICAgZnByaW50Zl91bmZpbHRlcmVkIChnZGJf c3RkbG9nLCAiLT4gJXMtPnRvX3dhdGNocG9pbnRfYWRkcl93aXRoaW5fcmFuZ2UgKC4uLilcbiIs IGRlYnVnX3RhcmdldC50b19zaG9ydG5hbWUpOwotQEAgLTc1Miw3ICs3NTIsNyBAQCBkZWJ1Z193 YXRjaHBvaW50X2FkZHJfd2l0aGluX3JhbmdlIChzdHJ1Y3QgdGFyZ2V0X29wcyAqc2VsZiwgQ09S RV9BRERSIGFyZzEsIENPUgorICAgcmV0dXJuIGRlZmF1bHRfd2F0Y2hwb2ludF9hZGRyX3dpdGhp bl9yYW5nZSAodGhpcywgYXJnMCwgYXJnMSwgYXJnMik7CisgfQorIAorIGJvb2wKKy1kZWJ1Z190 YXJnZXQ6OndhdGNocG9pbnRfYWRkcl93aXRoaW5fcmFuZ2UgKENPUkVfQUREUiBhcmcwLCBDT1JF X0FERFIgYXJnMSwgaW50IGFyZzIpCisrZGVidWdfdGFyZ2V0Ojp3YXRjaHBvaW50X2FkZHJfd2l0 aGluX3JhbmdlIChDT1JFX0FERFIgYXJnMCwgQ09SRV9BRERSIGFyZzEsIExPTkdFU1QgYXJnMikK KyB7CisgICBib29sIHJlc3VsdDsKKyAgIGZwcmludGZfdW5maWx0ZXJlZCAoZ2RiX3N0ZGxvZywg Ii0+ICVzLT53YXRjaHBvaW50X2FkZHJfd2l0aGluX3JhbmdlICguLi4pXG4iLCB0aGlzLT5iZW5l YXRoLT5zaG9ydG5hbWUgKCkpOworQEAgLTEwOTAsNyArMTA5MCw3IEBAIGRlYnVnX3RhcmdldDo6 d2F0Y2hwb2ludF9hZGRyX3dpdGhpbl9yYW5nZSAoQ09SRV9BRERSIGFyZzAsIENPUkVfQUREUiBh cmcxLCBpbnQKICAgIGZwdXRzX3VuZmlsdGVyZWQgKCIsICIsIGdkYl9zdGRsb2cpOwotICAgdGFy Z2V0X2RlYnVnX3ByaW50X0NPUkVfQUREUiAoYXJnMik7CisgICB0YXJnZXRfZGVidWdfcHJpbnRf Q09SRV9BRERSIChhcmcxKTsKICAgIGZwdXRzX3VuZmlsdGVyZWQgKCIsICIsIGdkYl9zdGRsb2cp OwotLSAgdGFyZ2V0X2RlYnVnX3ByaW50X2ludCAoYXJnMyk7Ci0rICB0YXJnZXRfZGVidWdfcHJp bnRfTE9OR0VTVCAoYXJnMyk7CistICB0YXJnZXRfZGVidWdfcHJpbnRfaW50IChhcmcyKTsKKysg IHRhcmdldF9kZWJ1Z19wcmludF9MT05HRVNUIChhcmcyKTsKICAgIGZwdXRzX3VuZmlsdGVyZWQg KCIpID0gIiwgZ2RiX3N0ZGxvZyk7Ci0gICB0YXJnZXRfZGVidWdfcHJpbnRfaW50IChyZXN1bHQp OworICAgdGFyZ2V0X2RlYnVnX3ByaW50X2Jvb2wgKHJlc3VsdCk7CiAgICBmcHV0c191bmZpbHRl cmVkICgiXG4iLCBnZGJfc3RkbG9nKTsKLUBAIC03ODUsMjAgKzc4NSwyMCBAQCBkZWJ1Z19yZWdp b25fb2tfZm9yX2h3X3dhdGNocG9pbnQgKHN0cnVjdCB0YXJnZXRfb3BzICpzZWxmLCBDT1JFX0FE RFIgYXJnMSwgTE9ORworQEAgLTExMjYsMTkgKzExMjYsMTkgQEAgZGVidWdfdGFyZ2V0OjpyZWdp b25fb2tfZm9yX2h3X3dhdGNocG9pbnQgKENPUkVfQUREUiBhcmcwLCBMT05HRVNUIGFyZzEpCiAg fQogIAotIHN0YXRpYyBpbnQKLS1kZWxlZ2F0ZV9jYW5fYWNjZWxfd2F0Y2hwb2ludF9jb25kaXRp b24gKHN0cnVjdCB0YXJnZXRfb3BzICpzZWxmLCBDT1JFX0FERFIgYXJnMSwgaW50IGFyZzIsIGlu dCBhcmczLCBzdHJ1Y3QgZXhwcmVzc2lvbiAqYXJnNCkKLStkZWxlZ2F0ZV9jYW5fYWNjZWxfd2F0 Y2hwb2ludF9jb25kaXRpb24gKHN0cnVjdCB0YXJnZXRfb3BzICpzZWxmLCBDT1JFX0FERFIgYXJn MSwgTE9OR0VTVCBhcmcyLCBpbnQgYXJnMywgc3RydWN0IGV4cHJlc3Npb24gKmFyZzQpCisgYm9v bAorLXRhcmdldF9vcHM6OmNhbl9hY2NlbF93YXRjaHBvaW50X2NvbmRpdGlvbiAoQ09SRV9BRERS IGFyZzAsIGludCBhcmcxLCBpbnQgYXJnMiwgc3RydWN0IGV4cHJlc3Npb24gKmFyZzMpCisrdGFy Z2V0X29wczo6Y2FuX2FjY2VsX3dhdGNocG9pbnRfY29uZGl0aW9uIChDT1JFX0FERFIgYXJnMCwg TE9OR0VTVCBhcmcxLCBpbnQgYXJnMiwgc3RydWN0IGV4cHJlc3Npb24gKmFyZzMpCiAgewotICAg c2VsZiA9IHNlbGYtPmJlbmVhdGg7Ci0gICByZXR1cm4gc2VsZi0+dG9fY2FuX2FjY2VsX3dhdGNo cG9pbnRfY29uZGl0aW9uIChzZWxmLCBhcmcxLCBhcmcyLCBhcmczLCBhcmc0KTsKKyAgIHJldHVy biB0aGlzLT5iZW5lYXRoLT5jYW5fYWNjZWxfd2F0Y2hwb2ludF9jb25kaXRpb24gKGFyZzAsIGFy ZzEsIGFyZzIsIGFyZzMpOwogIH0KICAKLSBzdGF0aWMgaW50Ci0tdGRlZmF1bHRfY2FuX2FjY2Vs X3dhdGNocG9pbnRfY29uZGl0aW9uIChzdHJ1Y3QgdGFyZ2V0X29wcyAqc2VsZiwgQ09SRV9BRERS IGFyZzEsIGludCBhcmcyLCBpbnQgYXJnMywgc3RydWN0IGV4cHJlc3Npb24gKmFyZzQpCi0rdGRl ZmF1bHRfY2FuX2FjY2VsX3dhdGNocG9pbnRfY29uZGl0aW9uIChzdHJ1Y3QgdGFyZ2V0X29wcyAq c2VsZiwgQ09SRV9BRERSIGFyZzEsIExPTkdFU1QgYXJnMiwgaW50IGFyZzMsIHN0cnVjdCBleHBy ZXNzaW9uICphcmc0KQorIGJvb2wKKy1kdW1teV90YXJnZXQ6OmNhbl9hY2NlbF93YXRjaHBvaW50 X2NvbmRpdGlvbiAoQ09SRV9BRERSIGFyZzAsIGludCBhcmcxLCBpbnQgYXJnMiwgc3RydWN0IGV4 cHJlc3Npb24gKmFyZzMpCisrZHVtbXlfdGFyZ2V0OjpjYW5fYWNjZWxfd2F0Y2hwb2ludF9jb25k aXRpb24gKENPUkVfQUREUiBhcmcwLCBMT05HRVNUIGFyZzEsIGludCBhcmcyLCBzdHJ1Y3QgZXhw cmVzc2lvbiAqYXJnMykKICB7Ci0gICByZXR1cm4gMDsKKyAgIHJldHVybiBmYWxzZTsKICB9CiAg Ci0gc3RhdGljIGludAotLWRlYnVnX2Nhbl9hY2NlbF93YXRjaHBvaW50X2NvbmRpdGlvbiAoc3Ry dWN0IHRhcmdldF9vcHMgKnNlbGYsIENPUkVfQUREUiBhcmcxLCBpbnQgYXJnMiwgaW50IGFyZzMs IHN0cnVjdCBleHByZXNzaW9uICphcmc0KQotK2RlYnVnX2Nhbl9hY2NlbF93YXRjaHBvaW50X2Nv bmRpdGlvbiAoc3RydWN0IHRhcmdldF9vcHMgKnNlbGYsIENPUkVfQUREUiBhcmcxLCBMT05HRVNU IGFyZzIsIGludCBhcmczLCBzdHJ1Y3QgZXhwcmVzc2lvbiAqYXJnNCkKKyBib29sCistZGVidWdf dGFyZ2V0OjpjYW5fYWNjZWxfd2F0Y2hwb2ludF9jb25kaXRpb24gKENPUkVfQUREUiBhcmcwLCBp bnQgYXJnMSwgaW50IGFyZzIsIHN0cnVjdCBleHByZXNzaW9uICphcmczKQorK2RlYnVnX3Rhcmdl dDo6Y2FuX2FjY2VsX3dhdGNocG9pbnRfY29uZGl0aW9uIChDT1JFX0FERFIgYXJnMCwgTE9OR0VT VCBhcmcxLCBpbnQgYXJnMiwgc3RydWN0IGV4cHJlc3Npb24gKmFyZzMpCiAgewotICAgaW50IHJl c3VsdDsKLSAgIGZwcmludGZfdW5maWx0ZXJlZCAoZ2RiX3N0ZGxvZywgIi0+ICVzLT50b19jYW5f YWNjZWxfd2F0Y2hwb2ludF9jb25kaXRpb24gKC4uLilcbiIsIGRlYnVnX3RhcmdldC50b19zaG9y dG5hbWUpOwotQEAgLTgwOCw3ICs4MDgsNyBAQCBkZWJ1Z19jYW5fYWNjZWxfd2F0Y2hwb2ludF9j b25kaXRpb24gKHN0cnVjdCB0YXJnZXRfb3BzICpzZWxmLCBDT1JFX0FERFIgYXJnMSwgaQotICAg ZnB1dHNfdW5maWx0ZXJlZCAoIiwgIiwgZ2RiX3N0ZGxvZyk7Ci0gICB0YXJnZXRfZGVidWdfcHJp bnRfQ09SRV9BRERSIChhcmcxKTsKKyAgIGJvb2wgcmVzdWx0OworICAgZnByaW50Zl91bmZpbHRl cmVkIChnZGJfc3RkbG9nLCAiLT4gJXMtPmNhbl9hY2NlbF93YXRjaHBvaW50X2NvbmRpdGlvbiAo Li4uKVxuIiwgdGhpcy0+YmVuZWF0aC0+c2hvcnRuYW1lICgpKTsKK0BAIC0xMTQ2LDcgKzExNDYs NyBAQCBkZWJ1Z190YXJnZXQ6OmNhbl9hY2NlbF93YXRjaHBvaW50X2NvbmRpdGlvbiAoQ09SRV9B RERSIGFyZzAsIGludCBhcmcxLCBpbnQgYXJnMgorICAgZnByaW50Zl91bmZpbHRlcmVkIChnZGJf c3RkbG9nLCAiPC0gJXMtPmNhbl9hY2NlbF93YXRjaHBvaW50X2NvbmRpdGlvbiAoIiwgdGhpcy0+ YmVuZWF0aC0+c2hvcnRuYW1lICgpKTsKKyAgIHRhcmdldF9kZWJ1Z19wcmludF9DT1JFX0FERFIg KGFyZzApOwogICAgZnB1dHNfdW5maWx0ZXJlZCAoIiwgIiwgZ2RiX3N0ZGxvZyk7Ci0tICB0YXJn ZXRfZGVidWdfcHJpbnRfaW50IChhcmcyKTsKLSsgIHRhcmdldF9kZWJ1Z19wcmludF9MT05HRVNU IChhcmcyKTsKKy0gIHRhcmdldF9kZWJ1Z19wcmludF9pbnQgKGFyZzEpOworKyAgdGFyZ2V0X2Rl YnVnX3ByaW50X0xPTkdFU1QgKGFyZzEpOwogICAgZnB1dHNfdW5maWx0ZXJlZCAoIiwgIiwgZ2Ri X3N0ZGxvZyk7Ci0gICB0YXJnZXRfZGVidWdfcHJpbnRfaW50IChhcmczKTsKKyAgIHRhcmdldF9k ZWJ1Z19wcmludF9pbnQgKGFyZzIpOwogICAgZnB1dHNfdW5maWx0ZXJlZCAoIiwgIiwgZ2RiX3N0 ZGxvZyk7CiBkaWZmIC0tZ2l0IGEvZ2RiL3RhcmdldC5jIGIvZ2RiL3RhcmdldC5jCi1pbmRleCBh MWFjNmQwNjk3Li5lYjA1MzhjYjgyIDEwMDY0NAoraW5kZXggN2QwZGEzMmVjNi4uNDZkMTIwYjlk MiAxMDA2NDQKIC0tLSBhL2dkYi90YXJnZXQuYwogKysrIGIvZ2RiL3RhcmdldC5jCi1AQCAtNTMs NyArNTMsNyBAQCBzdGF0aWMgdm9pZCBnZW5lcmljX3Rsc19lcnJvciAodm9pZCkgQVRUUklCVVRF X05PUkVUVVJOOworQEAgLTU2LDcgKzU2LDcgQEAgc3RhdGljIHZvaWQgZ2VuZXJpY190bHNfZXJy b3IgKHZvaWQpIEFUVFJJQlVURV9OT1JFVFVSTjsKICBzdGF0aWMgdm9pZCBkZWZhdWx0X3Rlcm1p bmFsX2luZm8gKHN0cnVjdCB0YXJnZXRfb3BzICosIGNvbnN0IGNoYXIgKiwgaW50KTsKICAKICBz dGF0aWMgaW50IGRlZmF1bHRfd2F0Y2hwb2ludF9hZGRyX3dpdGhpbl9yYW5nZSAoc3RydWN0IHRh cmdldF9vcHMgKiwKQEAgLTQxMSw3ICs1MzgsNyBAQCBpbmRleCBhMWFjNmQwNjk3Li5lYjA1Mzhj YjgyIDEwMDY0NAogIAogIHN0YXRpYyBpbnQgZGVmYXVsdF9yZWdpb25fb2tfZm9yX2h3X3dhdGNo cG9pbnQgKHN0cnVjdCB0YXJnZXRfb3BzICosCiAgCQkJCQkJQ09SRV9BRERSLCBMT05HRVNUKTsK LUBAIC0zMTIwLDcgKzMxMjAsNyBAQCBkZWZhdWx0X3JlZ2lvbl9va19mb3JfaHdfd2F0Y2hwb2lu dCAoc3RydWN0IHRhcmdldF9vcHMgKnNlbGYsCitAQCAtMzIwNSw3ICszMjA1LDcgQEAgZGVmYXVs dF9yZWdpb25fb2tfZm9yX2h3X3dhdGNocG9pbnQgKHN0cnVjdCB0YXJnZXRfb3BzICpzZWxmLAog IHN0YXRpYyBpbnQKICBkZWZhdWx0X3dhdGNocG9pbnRfYWRkcl93aXRoaW5fcmFuZ2UgKHN0cnVj dCB0YXJnZXRfb3BzICp0YXJnZXQsCiAgCQkJCSAgICAgIENPUkVfQUREUiBhZGRyLApAQCAtNDIx LDI0ICs1NDgsMjQgQEAgaW5kZXggYTFhYzZkMDY5Ny4uZWIwNTM4Y2I4MiAxMDA2NDQKICAgIHJl dHVybiBhZGRyID49IHN0YXJ0ICYmIGFkZHIgPCBzdGFydCArIGxlbmd0aDsKICB9CiBkaWZmIC0t Z2l0IGEvZ2RiL3RhcmdldC5oIGIvZ2RiL3RhcmdldC5oCi1pbmRleCA3YTcwYzNmNmRhLi4zNWVl ZTkxYTgzIDEwMDY0NAoraW5kZXggYWFlZDM1ZjY5MC4uYjE5NDNhNmQwYSAxMDA2NDQKIC0tLSBh L2dkYi90YXJnZXQuaAogKysrIGIvZ2RiL3RhcmdldC5oCi1AQCAtNTM1LDcgKzUzNSw3IEBAIHN0 cnVjdCB0YXJnZXRfb3BzCi0gICAgIGludCAoKnRvX3N0b3BwZWRfZGF0YV9hZGRyZXNzKSAoc3Ry dWN0IHRhcmdldF9vcHMgKiwgQ09SRV9BRERSICopCi0gICAgICAgVEFSR0VUX0RFRkFVTFRfUkVU VVJOICgwKTsKLSAgICAgaW50ICgqdG9fd2F0Y2hwb2ludF9hZGRyX3dpdGhpbl9yYW5nZSkgKHN0 cnVjdCB0YXJnZXRfb3BzICosCi0tCQkJCQkgICAgQ09SRV9BRERSLCBDT1JFX0FERFIsIGludCkK LSsJCQkJCSAgICBDT1JFX0FERFIsIENPUkVfQUREUiwgTE9OR0VTVCkKK0BAIC01NTIsNyArNTUy LDcgQEAgc3RydWN0IHRhcmdldF9vcHMKKyAgICAgICBUQVJHRVRfREVGQVVMVF9SRVRVUk4gKGZh bHNlKTsKKyAgICAgdmlydHVhbCBib29sIHN0b3BwZWRfZGF0YV9hZGRyZXNzIChDT1JFX0FERFIg KikKKyAgICAgICBUQVJHRVRfREVGQVVMVF9SRVRVUk4gKGZhbHNlKTsKKy0gICAgdmlydHVhbCBi b29sIHdhdGNocG9pbnRfYWRkcl93aXRoaW5fcmFuZ2UgKENPUkVfQUREUiwgQ09SRV9BRERSLCBp bnQpCisrICAgIHZpcnR1YWwgYm9vbCB3YXRjaHBvaW50X2FkZHJfd2l0aGluX3JhbmdlIChDT1JF X0FERFIsIENPUkVfQUREUiwgTE9OR0VTVCkKICAgICAgICBUQVJHRVRfREVGQVVMVF9GVU5DIChk ZWZhdWx0X3dhdGNocG9pbnRfYWRkcl93aXRoaW5fcmFuZ2UpOwogIAogICAgICAvKiBEb2N1bWVu dGF0aW9uIG9mIHRoaXMgcm91dGluZSBpcyBwcm92aWRlZCB3aXRoIHRoZSBjb3JyZXNwb25kaW5n Ci1AQCAtNTQ1LDcgKzU0NSw3IEBAIHN0cnVjdCB0YXJnZXRfb3BzCitAQCAtNTYwLDcgKzU2MCw3 IEBAIHN0cnVjdCB0YXJnZXRfb3BzCisgICAgIHZpcnR1YWwgaW50IHJlZ2lvbl9va19mb3JfaHdf d2F0Y2hwb2ludCAoQ09SRV9BRERSLCBMT05HRVNUKQogICAgICAgIFRBUkdFVF9ERUZBVUxUX0ZV TkMgKGRlZmF1bHRfcmVnaW9uX29rX2Zvcl9od193YXRjaHBvaW50KTsKICAKLSAgICAgaW50ICgq dG9fY2FuX2FjY2VsX3dhdGNocG9pbnRfY29uZGl0aW9uKSAoc3RydWN0IHRhcmdldF9vcHMgKiwK LS0JCQkJCSAgICAgIENPUkVfQUREUiwgaW50LCBpbnQsCi0rCQkJCQkgICAgICBDT1JFX0FERFIs IExPTkdFU1QsIGludCwKLSAJCQkJCSAgICAgIHN0cnVjdCBleHByZXNzaW9uICopCi0gICAgICAg VEFSR0VUX0RFRkFVTFRfUkVUVVJOICgwKTsKLSAgICAgaW50ICgqdG9fbWFza2VkX3dhdGNoX251 bV9yZWdpc3RlcnMpIChzdHJ1Y3QgdGFyZ2V0X29wcyAqLAorLSAgICB2aXJ0dWFsIGJvb2wgY2Fu X2FjY2VsX3dhdGNocG9pbnRfY29uZGl0aW9uIChDT1JFX0FERFIsIGludCwgaW50LAorKyAgICB2 aXJ0dWFsIGJvb2wgY2FuX2FjY2VsX3dhdGNocG9pbnRfY29uZGl0aW9uIChDT1JFX0FERFIsIExP TkdFU1QsIGludCwKKyAJCQkJCQkgc3RydWN0IGV4cHJlc3Npb24gKikKKyAgICAgICBUQVJHRVRf REVGQVVMVF9SRVRVUk4gKGZhbHNlKTsKKyAgICAgdmlydHVhbCBpbnQgbWFza2VkX3dhdGNoX251 bV9yZWdpc3RlcnMgKENPUkVfQUREUiwgQ09SRV9BRERSKQoKZGlmZiAtLWdpdCBhL2dkYi1yaGJ6 Nzk1NDI0LWJpdHBvcy0yM29mMjUucGF0Y2ggYi9nZGItcmhiejc5NTQyNC1iaXRwb3MtMjNvZjI1 LnBhdGNoCmluZGV4IGU0MmY5MTIuLjRiZDIwMTAgMTAwNjQ0Ci0tLSBhL2dkYi1yaGJ6Nzk1NDI0 LWJpdHBvcy0yM29mMjUucGF0Y2gKKysrIGIvZ2RiLXJoYno3OTU0MjQtYml0cG9zLTIzb2YyNS5w YXRjaApAQCAtMTQ3LDEwICsxNDcsMTAgQEAgQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogN2Jp dAogQ29udGVudC1EaXNwb3NpdGlvbjogYXR0YWNobWVudDsgZmlsZW5hbWU9Yml0cG9zLXRkZXAu cGF0Y2gKIAogZGlmZiAtLWdpdCBhL2dkYi9hbHBoYS10ZGVwLmMgYi9nZGIvYWxwaGEtdGRlcC5j Ci1pbmRleCBlYTUzYjllZTEwLi4zNGRmYjY2MWY4IDEwMDY0NAoraW5kZXggOWI3NDk1NTlhMS4u NDg1ZGI0NGFlOSAxMDA2NDQKIC0tLSBhL2dkYi9hbHBoYS10ZGVwLmMKICsrKyBiL2dkYi9hbHBo YS10ZGVwLmMKLUBAIC0zMDEsMTcgKzMwMSwxNyBAQCBhbHBoYV9wdXNoX2R1bW15X2NhbGwgKHN0 cnVjdCBnZGJhcmNoICpnZGJhcmNoLCBzdHJ1Y3QgdmFsdWUgKmZ1bmN0aW9uLAorQEAgLTI5OSwx NyArMjk5LDE3IEBAIGFscGhhX3B1c2hfZHVtbXlfY2FsbCAoc3RydWN0IGdkYmFyY2ggKmdkYmFy Y2gsIHN0cnVjdCB2YWx1ZSAqZnVuY3Rpb24sCiAgewogICAgZW51bSBiZmRfZW5kaWFuIGJ5dGVf b3JkZXIgPSBnZGJhcmNoX2J5dGVfb3JkZXIgKGdkYmFyY2gpOwogICAgaW50IGk7CkBAIC0xNzIs NyArMTcyLDcgQEAgaW5kZXggZWE1M2I5ZWUxMC4uMzRkZmI2NjFmOCAxMDA2NDQKICAgIENPUkVf QUREUiBmdW5jX2FkZHIgPSBmaW5kX2Z1bmN0aW9uX2FkZHIgKGZ1bmN0aW9uLCBOVUxMKTsKICAK ICAgIC8qIFRoZSBBQkkgcGxhY2VzIHRoZSBhZGRyZXNzIG9mIHRoZSBjYWxsZWQgZnVuY3Rpb24g aW4gVDEyLiAgKi8KLUBAIC00MzEsOCArNDMxLDggQEAgYWxwaGFfcHVzaF9kdW1teV9jYWxsIChz dHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCwgc3RydWN0IHZhbHVlICpmdW5jdGlvbiwKK0BAIC00Mjks OCArNDI5LDggQEAgYWxwaGFfcHVzaF9kdW1teV9jYWxsIChzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJj aCwgc3RydWN0IHZhbHVlICpmdW5jdGlvbiwKICAgIGZvciAoaSA9IG5hcmdzOyBtX2FyZy0tLCAt LWkgPj0gMDspCiAgICAgIHsKICAgICAgICBjb25zdCBnZGJfYnl0ZSAqY29udGVudHMgPSBtX2Fy Zy0+Y29udGVudHM7CkBAIC0xODMsNyArMTgzLDcgQEAgaW5kZXggZWE1M2I5ZWUxMC4uMzRkZmI2 NjFmOCAxMDA2NDQKICAKICAgICAgICAvKiBDb3B5IHRoZSBieXRlcyBkZXN0aW5lZCBmb3IgcmVn aXN0ZXJzIGludG8gYXJnX3JlZ19idWZmZXIuICAqLwogICAgICAgIGlmIChvZmZzZXQgPCBzaXpl b2YoYXJnX3JlZ19idWZmZXIpKQotQEAgLTQ0NCw3ICs0NDQsNyBAQCBhbHBoYV9wdXNoX2R1bW15 X2NhbGwgKHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoLCBzdHJ1Y3QgdmFsdWUgKmZ1bmN0aW9uLAor QEAgLTQ0Miw3ICs0NDIsNyBAQCBhbHBoYV9wdXNoX2R1bW15X2NhbGwgKHN0cnVjdCBnZGJhcmNo ICpnZGJhcmNoLCBzdHJ1Y3QgdmFsdWUgKmZ1bmN0aW9uLAogIAkgICAgfQogIAkgIGVsc2UKICAJ ICAgIHsKQEAgLTE5MywxMCArMTkzLDEwIEBAIGluZGV4IGVhNTNiOWVlMTAuLjM0ZGZiNjYxZjgg MTAwNjQ0CiAgCSAgICAgIG9mZnNldCArPSB0bGVuOwogIAkgICAgICBjb250ZW50cyArPSB0bGVu OwogZGlmZiAtLWdpdCBhL2dkYi9hbWQ2NC10ZGVwLmMgYi9nZGIvYW1kNjQtdGRlcC5jCi1pbmRl eCA2NTE3OTRhNDFmLi5jOTY3OTBhNmFmIDEwMDY0NAoraW5kZXggMzM4YTBmMmM4Ny4uMjQxYWJj ZDZkNSAxMDA2NDQKIC0tLSBhL2dkYi9hbWQ2NC10ZGVwLmMKICsrKyBiL2dkYi9hbWQ2NC10ZGVw LmMKLUBAIC04ODAsOCArODgwLDggQEAgYW1kNjRfcHVzaF9hcmd1bWVudHMgKHN0cnVjdCByZWdj YWNoZSAqcmVnY2FjaGUsIGludCBuYXJncywKK0BAIC04ODIsOCArODgyLDggQEAgYW1kNjRfcHVz aF9hcmd1bWVudHMgKHN0cnVjdCByZWdjYWNoZSAqcmVnY2FjaGUsIGludCBuYXJncywKICAgIH07 CiAgICBzdHJ1Y3QgdmFsdWUgKipzdGFja19hcmdzID0gWEFMTE9DQVZFQyAoc3RydWN0IHZhbHVl ICosIG5hcmdzKTsKICAgIGludCBudW1fc3RhY2tfYXJncyA9IDA7CkBAIC0yMDcsNyArMjA3LDcg QEAgaW5kZXggNjUxNzk0YTQxZi4uYzk2NzkwYTZhZiAxMDA2NDQKICAgIGludCBpbnRlZ2VyX3Jl ZyA9IDA7CiAgICBpbnQgc3NlX3JlZyA9IDA7CiAgICBpbnQgaTsKLUBAIC04OTMsNyArODkzLDcg QEAgYW1kNjRfcHVzaF9hcmd1bWVudHMgKHN0cnVjdCByZWdjYWNoZSAqcmVnY2FjaGUsIGludCBu YXJncywKK0BAIC04OTUsNyArODk1LDcgQEAgYW1kNjRfcHVzaF9hcmd1bWVudHMgKHN0cnVjdCBy ZWdjYWNoZSAqcmVnY2FjaGUsIGludCBuYXJncywKICAgIGZvciAoaSA9IDA7IGkgPCBuYXJnczsg aSsrKQogICAgICB7CiAgICAgICAgc3RydWN0IHR5cGUgKnR5cGUgPSB2YWx1ZV90eXBlIChhcmdz W2ldKTsKQEAgLTIxNiw3ICsyMTYsNyBAQCBpbmRleCA2NTE3OTRhNDFmLi5jOTY3OTBhNmFmIDEw MDY0NAogICAgICAgIGVudW0gYW1kNjRfcmVnX2NsYXNzIHRoZWNsYXNzWzJdOwogICAgICAgIGlu dCBuZWVkZWRfaW50ZWdlcl9yZWdzID0gMDsKICAgICAgICBpbnQgbmVlZGVkX3NzZV9yZWdzID0g MDsKLUBAIC05NTcsNyArOTU3LDcgQEAgYW1kNjRfcHVzaF9hcmd1bWVudHMgKHN0cnVjdCByZWdj YWNoZSAqcmVnY2FjaGUsIGludCBuYXJncywKK0BAIC05NTksNyArOTU5LDcgQEAgYW1kNjRfcHVz aF9hcmd1bWVudHMgKHN0cnVjdCByZWdjYWNoZSAqcmVnY2FjaGUsIGludCBuYXJncywKICAKICAJ ICAgICAgZ2RiX2Fzc2VydCAocmVnbnVtICE9IC0xKTsKICAJICAgICAgbWVtc2V0IChidWYsIDAs IHNpemVvZiBidWYpOwpAQCAtMjM5LDEwICsyMzksMTAgQEAgaW5kZXggMzJlYmVhZDA1ZC4uMmUz ODhmMjQ0MCAxMDA2NDQKICAKICAgIC8qIFNlZSBpZiBvdXIgdmFsdWUgaXMgcmV0dXJuZWQgdGhy b3VnaCBhIHJlZ2lzdGVyLiAgSWYgaXQgaXMsIHRoZW4KIGRpZmYgLS1naXQgYS9nZGIvYXJtLXRk ZXAuYyBiL2dkYi9hcm0tdGRlcC5jCi1pbmRleCBiYzgzMzI2YWU3Li5kMzhkZDQ5MThiIDEwMDY0 NAoraW5kZXggMzgyMDgwYTcxNC4uODg1NTkxY2JmMiAxMDA2NDQKIC0tLSBhL2dkYi9hcm0tdGRl cC5jCiArKysgYi9nZGIvYXJtLXRkZXAuYwotQEAgLTM0NzcsNyArMzQ3Nyw3IEBAIGFybV92ZnBf Y3ByY19yZWdfY2hhciAoZW51bSBhcm1fdmZwX2NwcmNfYmFzZV90eXBlIGIpCitAQCAtMzQ2OCw3 ICszNDY4LDcgQEAgYXJtX3ZmcF9jcHJjX3JlZ19jaGFyIChlbnVtIGFybV92ZnBfY3ByY19iYXNl X3R5cGUgYikKICAgICBhcnJheSkuICBWZWN0b3IgdHlwZXMgYXJlIG5vdCBjdXJyZW50bHkgc3Vw cG9ydGVkLCBtYXRjaGluZyB0aGUKICAgICBnZW5lcmljIEFBUENTIHN1cHBvcnQuICAqLwogIApA QCAtMjUxLDcgKzI1MSw3IEBAIGluZGV4IGJjODMzMjZhZTcuLmQzOGRkNDkxOGIgMTAwNjQ0CiAg YXJtX3ZmcF9jcHJjX3N1Yl9jYW5kaWRhdGUgKHN0cnVjdCB0eXBlICp0LAogIAkJCSAgICBlbnVt IGFybV92ZnBfY3ByY19iYXNlX3R5cGUgKmJhc2VfdHlwZSkKICB7Ci1AQCAtMzU2MCw3ICszNTYw LDcgQEAgYXJtX3ZmcF9jcHJjX3N1Yl9jYW5kaWRhdGUgKHN0cnVjdCB0eXBlICp0LAorQEAgLTM1 NTEsNyArMzU1MSw3IEBAIGFybV92ZnBfY3ByY19zdWJfY2FuZGlkYXRlIChzdHJ1Y3QgdHlwZSAq dCwKICAJICB9CiAgCWVsc2UKICAJICB7CkBAIC0yNjAsNyArMjYwLDcgQEAgaW5kZXggYmM4MzMy NmFlNy4uZDM4ZGQ0OTE4YiAxMDA2NDQKICAJICAgIHVuc2lnbmVkIHVuaXRsZW47CiAgCiAgCSAg ICBjb3VudCA9IGFybV92ZnBfY3ByY19zdWJfY2FuZGlkYXRlIChUWVBFX1RBUkdFVF9UWVBFICh0 KSwKLUBAIC0zNTgzLDEyICszNTgzLDEyIEBAIGFybV92ZnBfY3ByY19zdWJfY2FuZGlkYXRlIChz dHJ1Y3QgdHlwZSAqdCwKK0BAIC0zNTc0LDEyICszNTc0LDEyIEBAIGFybV92ZnBfY3ByY19zdWJf Y2FuZGlkYXRlIChzdHJ1Y3QgdHlwZSAqdCwKICAKICAgICAgY2FzZSBUWVBFX0NPREVfU1RSVUNU OgogICAgICAgIHsKQEAgLTI3NSw3ICsyNzUsNyBAQCBpbmRleCBiYzgzMzI2YWU3Li5kMzhkZDQ5 MThiIDEwMDY0NAogIAogIAkgICAgaWYgKCFmaWVsZF9pc19zdGF0aWMgKCZUWVBFX0ZJRUxEICh0 LCBpKSkpCiAgCSAgICAgIHN1Yl9jb3VudCA9IGFybV92ZnBfY3ByY19zdWJfY2FuZGlkYXRlIChU WVBFX0ZJRUxEX1RZUEUgKHQsIGkpLAotQEAgLTM2MTIsMTMgKzM2MTIsMTUgQEAgYXJtX3ZmcF9j cHJjX3N1Yl9jYW5kaWRhdGUgKHN0cnVjdCB0eXBlICp0LAorQEAgLTM2MDMsMTMgKzM2MDMsMTUg QEAgYXJtX3ZmcF9jcHJjX3N1Yl9jYW5kaWRhdGUgKHN0cnVjdCB0eXBlICp0LAogIAogICAgICBj YXNlIFRZUEVfQ09ERV9VTklPTjoKICAgICAgICB7CkBAIC0yOTQsNyArMjk0LDcgQEAgaW5kZXgg YmM4MzMyNmFlNy4uZDM4ZGQ0OTE4YiAxMDA2NDQKICAJICAgIGlmIChzdWJfY291bnQgPT0gLTEp CiAgCSAgICAgIHJldHVybiAtMTsKICAJICAgIGNvdW50ID0gKGNvdW50ID4gc3ViX2NvdW50ID8g Y291bnQgOiBzdWJfY291bnQpOwotQEAgLTM2NTQsNyArMzY1Niw3IEBAIGFybV92ZnBfY2FsbF9j YW5kaWRhdGUgKHN0cnVjdCB0eXBlICp0LCBlbnVtIGFybV92ZnBfY3ByY19iYXNlX3R5cGUgKmJh c2VfdHlwZSwKK0BAIC0zNjQ1LDcgKzM2NDcsNyBAQCBhcm1fdmZwX2NhbGxfY2FuZGlkYXRlIChz dHJ1Y3QgdHlwZSAqdCwgZW51bSBhcm1fdmZwX2NwcmNfYmFzZV90eXBlICpiYXNlX3R5cGUsCiAg CQkJaW50ICpjb3VudCkKICB7CiAgICBlbnVtIGFybV92ZnBfY3ByY19iYXNlX3R5cGUgYiA9IFZG UF9DUFJDX1VOS05PV047CkBAIC0zMDMsNyArMzAzLDcgQEAgaW5kZXggYmM4MzMyNmFlNy4uZDM4 ZGQ0OTE4YiAxMDA2NDQKICAgIGlmIChjIDw9IDAgfHwgYyA+IDQpCiAgICAgIHJldHVybiAwOwog ICAgKmJhc2VfdHlwZSA9IGI7Ci1AQCAtMzczNSw3ICszNzM3LDcgQEAgYXJtX3B1c2hfZHVtbXlf Y2FsbCAoc3RydWN0IGdkYmFyY2ggKmdkYmFyY2gsIHN0cnVjdCB2YWx1ZSAqZnVuY3Rpb24sCitA QCAtMzcyNiw3ICszNzI4LDcgQEAgYXJtX3B1c2hfZHVtbXlfY2FsbCAoc3RydWN0IGdkYmFyY2gg KmdkYmFyY2gsIHN0cnVjdCB2YWx1ZSAqZnVuY3Rpb24sCiAgCiAgICBmb3IgKGFyZ251bSA9IDA7 IGFyZ251bSA8IG5hcmdzOyBhcmdudW0rKykKICAgICAgewpAQCAtMzEzLDEwICszMTMsMTAgQEAg aW5kZXggYmM4MzMyNmFlNy4uZDM4ZGQ0OTE4YiAxMDA2NDQKICAgICAgICBzdHJ1Y3QgdHlwZSAq dGFyZ2V0X3R5cGU7CiAgICAgICAgZW51bSB0eXBlX2NvZGUgdHlwZWNvZGU7CiBkaWZmIC0tZ2l0 IGEvZ2RiL2F2ci10ZGVwLmMgYi9nZGIvYXZyLXRkZXAuYwotaW5kZXggYWE2NWE3NmUwNy4uZjc0 YjkyNzg1NCAxMDA2NDQKK2luZGV4IDVhYTYxYmEyZDkuLjk2ZGUzMTlkYTUgMTAwNjQ0CiAtLS0g YS9nZGIvYXZyLXRkZXAuYwogKysrIGIvZ2RiL2F2ci10ZGVwLmMKLUBAIC0xMTkxLDEzICsxMTkx LDEzIEBAIGF2cl9kdW1teV9pZCAoc3RydWN0IGdkYmFyY2ggKmdkYmFyY2gsIHN0cnVjdCBmcmFt ZV9pbmZvICp0aGlzX2ZyYW1lKQorQEAgLTExOTIsMTMgKzExOTIsMTMgQEAgYXZyX2R1bW15X2lk IChzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCwgc3RydWN0IGZyYW1lX2luZm8gKnRoaXNfZnJhbWUp CiAgCiAgc3RydWN0IHN0YWNrX2l0ZW0KICB7CkBAIC0zMzIsNyArMzMyLDcgQEAgaW5kZXggYWE2 NWE3NmUwNy4uZjc0YjkyNzg1NCAxMDA2NDQKICB7CiAgICBzdHJ1Y3Qgc3RhY2tfaXRlbSAqc2k7 CiAgICBzaSA9IFhORVcgKHN0cnVjdCBzdGFja19pdGVtKTsKLUBAIC0xMjg1LDEyICsxMjg1LDEy IEBAIGF2cl9wdXNoX2R1bW15X2NhbGwgKHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoLCBzdHJ1Y3Qg dmFsdWUgKmZ1bmN0aW9uLAorQEAgLTEyODYsMTIgKzEyODYsMTIgQEAgYXZyX3B1c2hfZHVtbXlf Y2FsbCAoc3RydWN0IGdkYmFyY2ggKmdkYmFyY2gsIHN0cnVjdCB2YWx1ZSAqZnVuY3Rpb24sCiAg CiAgICBmb3IgKGkgPSAwOyBpIDwgbmFyZ3M7IGkrKykKICAgICAgewpAQCAtMzQ5LDcgKzM0OSw3 IEBAIGluZGV4IGFhNjVhNzZlMDcuLmY3NGI5Mjc4NTQgMTAwNjQ0CiAgICAgICAgLyogQ2FsY3Vs YXRlIHRoZSBwb3RlbnRpYWwgbGFzdCByZWdpc3RlciBuZWVkZWQuCiAgICAgICAgICAgRS5nLiBG b3IgbGVuZ3RoIDIsIHJlZ2lzdGVycyByZWdudW0gYW5kIHJlZ251bS0xIChzYXkgMjUgYW5kIDI0 KQogZGlmZiAtLWdpdCBhL2dkYi9iZmluLXRkZXAuYyBiL2dkYi9iZmluLXRkZXAuYwotaW5kZXgg ZDg3ZmQ0ZDg5Ni4uZjhiMDJkYWYyOSAxMDA2NDQKK2luZGV4IDYzZmJmNjIwOWUuLjg2NDUzMGJm MDUgMTAwNjQ0CiAtLS0gYS9nZGIvYmZpbi10ZGVwLmMKICsrKyBiL2dkYi9iZmluLXRkZXAuYwog QEAgLTUwNCw3ICs1MDQsNyBAQCBiZmluX3B1c2hfZHVtbXlfY2FsbCAoc3RydWN0IGdkYmFyY2gg KmdkYmFyY2gsCkBAIC00MDksNyArNDA5LDcgQEAgaW5kZXggNWZhNzllZjJjZi4uMWM5OTM1Njc0 NiAxMDA2NDQKICAgICAgICAvKiBIb3cgbWF5IHJlZ2lzdGVycyB3b3J0aCBvZiBzdG9yYWdlIGRv IHdlIG5lZWQgZm9yIHRoaXMgYXJndW1lbnQ/ICAqLwogICAgICAgIHJlZ19kZW1hbmQgPSAobGVu IC8gNCkgKyAobGVuICUgNCAhPSAwID8gMSA6IDApOwogZGlmZiAtLWdpdCBhL2dkYi9oODMwMC10 ZGVwLmMgYi9nZGIvaDgzMDAtdGRlcC5jCi1pbmRleCA4MDlhNjQ3OTg0Li42YzcwNTlmZmY0IDEw MDY0NAoraW5kZXggNTVlNzdiNmJiNi4uMTMxN2EwYTNhNyAxMDA2NDQKIC0tLSBhL2dkYi9oODMw MC10ZGVwLmMKICsrKyBiL2dkYi9oODMwMC10ZGVwLmMKIEBAIC02MzcsNyArNjM3LDcgQEAgaDgz MDBfcHVzaF9kdW1teV9jYWxsIChzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCwgc3RydWN0IHZhbHVl ICpmdW5jdGlvbiwKQEAgLTQ0NSwxMCArNDQ1LDEwIEBAIGluZGV4IDgwOWE2NDc5ODQuLjZjNzA1 OWZmZjQgMTAwNjQ0CiAgCSAgICAgIGZvciAob2Zmc2V0ID0gMDsgb2Zmc2V0IDwgcGFkZGVkX2xl bjsgb2Zmc2V0ICs9IHdvcmRzaXplKQogIAkJewogZGlmZiAtLWdpdCBhL2dkYi9ocHBhLXRkZXAu YyBiL2dkYi9ocHBhLXRkZXAuYwotaW5kZXggNTEzZjBlMDM5MS4uMDg3MmQ1ZTgwOSAxMDA2NDQK K2luZGV4IDk2OTJiMzNlMDkuLjNjY2EzZmI2YzEgMTAwNjQ0CiAtLS0gYS9nZGIvaHBwYS10ZGVw LmMKICsrKyBiL2dkYi9ocHBhLXRkZXAuYwotQEAgLTk4OSw3ICs5ODksNyBAQCBocHBhNjRfcHVz aF9kdW1teV9jYWxsIChzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCwgc3RydWN0IHZhbHVlICpmdW5j dGlvbiwKK0BAIC05ODYsNyArOTg2LDcgQEAgaHBwYTY0X3B1c2hfZHVtbXlfY2FsbCAoc3RydWN0 IGdkYmFyY2ggKmdkYmFyY2gsIHN0cnVjdCB2YWx1ZSAqZnVuY3Rpb24sCiAgICAgIHsKICAgICAg ICBzdHJ1Y3QgdmFsdWUgKmFyZyA9IGFyZ3NbaV07CiAgICAgICAgc3RydWN0IHR5cGUgKnR5cGUg PSB2YWx1ZV90eXBlIChhcmcpOwpAQCAtNDU3LDcgKzQ1Nyw3IEBAIGluZGV4IDUxM2YwZTAzOTEu LjA4NzJkNWU4MDkgMTAwNjQ0CiAgICAgICAgY29uc3QgYmZkX2J5dGUgKnZhbGJ1ZjsKICAgICAg ICBiZmRfYnl0ZSBmcHRyYnVmWzhdOwogICAgICAgIGludCByZWdudW07Ci1AQCAtMTE4NCw3ICsx MTg0LDcgQEAgaHBwYTY0X3JldHVybl92YWx1ZSAoc3RydWN0IGdkYmFyY2ggKmdkYmFyY2gsIHN0 cnVjdCB2YWx1ZSAqZnVuY3Rpb24sCitAQCAtMTE4MSw3ICsxMTgxLDcgQEAgaHBwYTY0X3JldHVy bl92YWx1ZSAoc3RydWN0IGdkYmFyY2ggKmdkYmFyY2gsIHN0cnVjdCB2YWx1ZSAqZnVuY3Rpb24s CiAgCQkgICAgIHN0cnVjdCB0eXBlICp0eXBlLCBzdHJ1Y3QgcmVnY2FjaGUgKnJlZ2NhY2hlLAog IAkJICAgICBnZGJfYnl0ZSAqcmVhZGJ1ZiwgY29uc3QgZ2RiX2J5dGUgKndyaXRlYnVmKQogIHsK QEAgLTQ4MCwxMCArNDgwLDEwIEBAIGluZGV4IDdlZTJmNGNmMmEuLmI4MTEyOTZiMGQgMTAwNjQ0 CiAgCiAgICAgICAgaWYgKHN0cnVjdF9yZXR1cm4pCiBkaWZmIC0tZ2l0IGEvZ2RiL2kzODYtdGRl cC5jIGIvZ2RiL2kzODYtdGRlcC5jCi1pbmRleCBhZjQ5NDJhYjJlLi42YjE1ODZhOWUzIDEwMDY0 NAoraW5kZXggZDY3ZTJlNDBjNS4uZGZmZjU1NTQ5MyAxMDA2NDQKIC0tLSBhL2dkYi9pMzg2LXRk ZXAuYwogKysrIGIvZ2RiL2kzODYtdGRlcC5jCi1AQCAtMjY3Nyw3ICsyNjc3LDcgQEAgaTM4Nl9w dXNoX2R1bW15X2NhbGwgKHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoLCBzdHJ1Y3QgdmFsdWUgKmZ1 bmN0aW9uLAorQEAgLTI2NzgsNyArMjY3OCw3IEBAIGkzODZfcHVzaF9kdW1teV9jYWxsIChzdHJ1 Y3QgZ2RiYXJjaCAqZ2RiYXJjaCwgc3RydWN0IHZhbHVlICpmdW5jdGlvbiwKICAgIGdkYl9ieXRl IGJ1Zls0XTsKICAgIGludCBpOwogICAgaW50IHdyaXRlX3Bhc3M7CkBAIC00OTIsNyArNDkyLDcg QEAgaW5kZXggYWY0OTQyYWIyZS4uNmIxNTg2YTllMyAxMDA2NDQKICAKICAgIC8qIEJORCByZWdp c3RlcnMgY2FuIGJlIGluIGFyYml0cmFyeSB2YWx1ZXMgYXQgdGhlIG1vbWVudCBvZiB0aGUKICAg ICAgIGluZmVyaW9yIGNhbGwuICBUaGlzIGNhbiBjYXVzZSBib3VuZGFyeSB2aW9sYXRpb25zIHRo YXQgYXJlIG5vdAotQEAgLTI2OTIsNyArMjY5Miw3IEBAIGkzODZfcHVzaF9kdW1teV9jYWxsIChz dHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCwgc3RydWN0IHZhbHVlICpmdW5jdGlvbiwKK0BAIC0yNjkz LDcgKzI2OTMsNyBAQCBpMzg2X3B1c2hfZHVtbXlfY2FsbCAoc3RydWN0IGdkYmFyY2ggKmdkYmFy Y2gsIHN0cnVjdCB2YWx1ZSAqZnVuY3Rpb24sCiAgCiAgICBmb3IgKHdyaXRlX3Bhc3MgPSAwOyB3 cml0ZV9wYXNzIDwgMjsgd3JpdGVfcGFzcysrKQogICAgICB7CkBAIC01MDEsNyArNTAxLDcgQEAg aW5kZXggYWY0OTQyYWIyZS4uNmIxNTg2YTllMyAxMDA2NDQKICAKICAgICAgICBpZiAoc3RydWN0 X3JldHVybikKICAJewotQEAgLTI3MDksNyArMjcwOSw3IEBAIGkzODZfcHVzaF9kdW1teV9jYWxs IChzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCwgc3RydWN0IHZhbHVlICpmdW5jdGlvbiwKK0BAIC0y NzEwLDcgKzI3MTAsNyBAQCBpMzg2X3B1c2hfZHVtbXlfY2FsbCAoc3RydWN0IGdkYmFyY2ggKmdk YmFyY2gsIHN0cnVjdCB2YWx1ZSAqZnVuY3Rpb24sCiAgCiAgICAgICAgZm9yIChpID0gMDsgaSA8 IG5hcmdzOyBpKyspCiAgCXsKQEAgLTUxMCw3ICs1MTAsNyBAQCBpbmRleCBhZjQ5NDJhYjJlLi42 YjE1ODZhOWUzIDEwMDY0NAogIAogIAkgIGlmICh3cml0ZV9wYXNzKQogIAkgICAgewotQEAgLTI5 MTYsNyArMjkxNiw3IEBAIGkzODZfcmVnX3N0cnVjdF9yZXR1cm5fcCAoc3RydWN0IGdkYmFyY2gg KmdkYmFyY2gsIHN0cnVjdCB0eXBlICp0eXBlKQorQEAgLTI5MTcsNyArMjkxNyw3IEBAIGkzODZf cmVnX3N0cnVjdF9yZXR1cm5fcCAoc3RydWN0IGdkYmFyY2ggKmdkYmFyY2gsIHN0cnVjdCB0eXBl ICp0eXBlKQogIHsKICAgIHN0cnVjdCBnZGJhcmNoX3RkZXAgKnRkZXAgPSBnZGJhcmNoX3RkZXAg KGdkYmFyY2gpOwogICAgZW51bSB0eXBlX2NvZGUgY29kZSA9IFRZUEVfQ09ERSAodHlwZSk7CkBA IC01MTksNyArNTE5LDcgQEAgaW5kZXggYWY0OTQyYWIyZS4uNmIxNTg2YTllMyAxMDA2NDQKICAK ICAgIGdkYl9hc3NlcnQgKGNvZGUgPT0gVFlQRV9DT0RFX1NUUlVDVAogICAgICAgICAgICAgICAg fHwgY29kZSA9PSBUWVBFX0NPREVfVU5JT04KLUBAIC0zNzM4LDcgKzM3MzgsNyBAQCBzdGF0aWMg aW50CitAQCAtMzcyNyw3ICszNzI3LDcgQEAgc3RhdGljIGludAogIGkzODZfY29udmVydF9yZWdp c3Rlcl9wIChzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCwKICAJCQkgaW50IHJlZ251bSwgc3RydWN0 IHR5cGUgKnR5cGUpCiAgewpAQCAtNTI4LDcgKzUyOCw3IEBAIGluZGV4IGFmNDk0MmFiMmUuLjZi MTU4NmE5ZTMgMTAwNjQ0CiAgCiAgICAvKiBWYWx1ZXMgbWF5IGJlIHNwcmVhZCBhY3Jvc3MgbXVs dGlwbGUgcmVnaXN0ZXJzLiAgTW9zdCBkZWJ1Z2dpbmcKICAgICAgIGZvcm1hdHMgYXJlbid0IGV4 cHJlc3NpdmUgZW5vdWdoIHRvIHNwZWNpZnkgdGhlIGxvY2F0aW9ucywgc28KLUBAIC0zNzcxLDcg KzM3NzEsNyBAQCBpMzg2X3JlZ2lzdGVyX3RvX3ZhbHVlIChzdHJ1Y3QgZnJhbWVfaW5mbyAqZnJh bWUsIGludCByZWdudW0sCitAQCAtMzc2MCw3ICszNzYwLDcgQEAgaTM4Nl9yZWdpc3Rlcl90b192 YWx1ZSAoc3RydWN0IGZyYW1lX2luZm8gKmZyYW1lLCBpbnQgcmVnbnVtLAogIAkJCWludCAqb3B0 aW1pemVkcCwgaW50ICp1bmF2YWlsYWJsZXApCiAgewogICAgc3RydWN0IGdkYmFyY2ggKmdkYmFy Y2ggPSBnZXRfZnJhbWVfYXJjaCAoZnJhbWUpOwpAQCAtNTM3LDcgKzUzNyw3IEBAIGluZGV4IGFm NDk0MmFiMmUuLjZiMTU4NmE5ZTMgMTAwNjQ0CiAgCiAgICBpZiAoaTM4Nl9mcF9yZWdudW1fcCAo Z2RiYXJjaCwgcmVnbnVtKSkKICAgICAgcmV0dXJuIGkzODdfcmVnaXN0ZXJfdG9fdmFsdWUgKGZy YW1lLCByZWdudW0sIHR5cGUsIHRvLAotQEAgLTM4MDcsNyArMzgwNyw3IEBAIHN0YXRpYyB2b2lk CitAQCAtMzc5Niw3ICszNzk2LDcgQEAgc3RhdGljIHZvaWQKICBpMzg2X3ZhbHVlX3RvX3JlZ2lz dGVyIChzdHJ1Y3QgZnJhbWVfaW5mbyAqZnJhbWUsIGludCByZWdudW0sCiAgCQkJc3RydWN0IHR5 cGUgKnR5cGUsIGNvbnN0IGdkYl9ieXRlICpmcm9tKQogIHsKQEAgLTU2MywxMCArNTYzLDEwIEBA IGluZGV4IGY4ZTJmMjM0ZTAuLmI3MDNjMmNhZTQgMTAwNjQ0CiAgICBDT1JFX0FERFIgc3RydWN0 X3B0cjsKICAKIGRpZmYgLS1naXQgYS9nZGIvbTMyci10ZGVwLmMgYi9nZGIvbTMyci10ZGVwLmMK LWluZGV4IDBmZTY3NTQ0MTIuLjlhMjc3NDA2OTEgMTAwNjQ0CitpbmRleCBmZDc5ZjNmNGNkLi45 NDFjODk3MDcwIDEwMDY0NAogLS0tIGEvZ2RiL20zMnItdGRlcC5jCiArKysgYi9nZGIvbTMyci10 ZGVwLmMKLUBAIC02NzksNyArNjc5LDcgQEAgbTMycl9wdXNoX2R1bW15X2NhbGwgKHN0cnVjdCBn ZGJhcmNoICpnZGJhcmNoLCBzdHJ1Y3QgdmFsdWUgKmZ1bmN0aW9uLAorQEAgLTY3MSw3ICs2NzEs NyBAQCBtMzJyX3B1c2hfZHVtbXlfY2FsbCAoc3RydWN0IGdkYmFyY2ggKmdkYmFyY2gsIHN0cnVj dCB2YWx1ZSAqZnVuY3Rpb24sCiAgICBDT1JFX0FERFIgcmVndmFsOwogICAgZ2RiX2J5dGUgKnZh bDsKICAgIGdkYl9ieXRlIHZhbGJ1ZltNMzJSX0FSR19SRUdJU1RFUl9TSVpFXTsKQEAgLTYwMSw0 MiArNjAxLDExIEBAIGluZGV4IGI5ZmE1ZTZkNGMuLjIzMjBlNjFhNjkgMTAwNjQ0CiAgCiAgICAg ICAgLyogTm9uLXNjYWxhcnMgYmlnZ2VyIHRoYW4gNCBieXRlcyBhcmUgbGVmdCBhbGlnbmVkLCBv dGhlcnMgYXJlCiAgCSByaWdodCBhbGlnbmVkLiAgKi8KLWRpZmYgLS1naXQgYS9nZGIvbTg4ay10 ZGVwLmMgYi9nZGIvbTg4ay10ZGVwLmMKLWluZGV4IDZhNTAxMjY1NDguLjVhM2E2N2EwNmEgMTAw NjQ0Ci0tLS0gYS9nZGIvbTg4ay10ZGVwLmMKLSsrKyBiL2dkYi9tODhrLXRkZXAuYwotQEAgLTI1 NCwxMyArMjU0LDEzIEBAIG04OGtfc3RvcmVfYXJndW1lbnRzIChzdHJ1Y3QgcmVnY2FjaGUgKnJl Z2NhY2hlLCBpbnQgbmFyZ3MsCi0gewotICAgc3RydWN0IGdkYmFyY2ggKmdkYmFyY2ggPSByZWdj YWNoZS0+YXJjaCAoKTsKLSAgIGludCBudW1fcmVnaXN0ZXJfd29yZHMgPSAwOwotLSAgaW50IG51 bV9zdGFja193b3JkcyA9IDA7Ci0rICBMT05HRVNUIG51bV9zdGFja193b3JkcyA9IDA7Ci0gICBp bnQgaTsKLSAKLSAgIGZvciAoaSA9IDA7IGkgPCBuYXJnczsgaSsrKQotICAgICB7Ci0gICAgICAg c3RydWN0IHR5cGUgKnR5cGUgPSB2YWx1ZV90eXBlIChhcmdzW2ldKTsKLS0gICAgICBpbnQgbGVu ID0gVFlQRV9MRU5HVEggKHR5cGUpOwotKyAgICAgIExPTkdFU1QgbGVuID0gVFlQRV9MRU5HVEgg KHR5cGUpOwotIAotICAgICAgIGlmIChtODhrX2ludGVncmFsX29yX3BvaW50ZXJfcCAodHlwZSkg JiYgbGVuIDwgNCkKLSAJewotQEAgLTMwMiw4ICszMDIsOCBAQCBtODhrX3N0b3JlX2FyZ3VtZW50 cyAoc3RydWN0IHJlZ2NhY2hlICpyZWdjYWNoZSwgaW50IG5hcmdzLAotICAgICB7Ci0gICAgICAg Y29uc3QgYmZkX2J5dGUgKnZhbGJ1ZiA9IHZhbHVlX2NvbnRlbnRzIChhcmdzW2ldKTsKLSAgICAg ICBzdHJ1Y3QgdHlwZSAqdHlwZSA9IHZhbHVlX3R5cGUgKGFyZ3NbaV0pOwotLSAgICAgIGludCBs ZW4gPSBUWVBFX0xFTkdUSCAodHlwZSk7Ci0tICAgICAgaW50IHN0YWNrX3dvcmQgPSBudW1fc3Rh Y2tfd29yZHM7Ci0rICAgICAgTE9OR0VTVCBsZW4gPSBUWVBFX0xFTkdUSCAodHlwZSk7Ci0rICAg ICAgTE9OR0VTVCBzdGFja193b3JkID0gbnVtX3N0YWNrX3dvcmRzOwotIAotICAgICAgIGlmICht ODhrX2luX3JlZ2lzdGVyX3AgKHR5cGUpKQotIAl7CiBkaWZmIC0tZ2l0IGEvZ2RiL21lcC10ZGVw LmMgYi9nZGIvbWVwLXRkZXAuYwotaW5kZXggZWNmZDRmMzZkYi4uMGNjNDU3NDQyNSAxMDA2NDQK K2luZGV4IDBlOGMzZjk3ZTIuLmY2MGE0OWI5MGIgMTAwNjQ0CiAtLS0gYS9nZGIvbWVwLXRkZXAu YwogKysrIGIvZ2RiL21lcC10ZGVwLmMKLUBAIC0yMjUzLDcgKzIyNTMsNyBAQCBwdXNoX2xhcmdl X2FyZ3VtZW50cyAoQ09SRV9BRERSIHNwLCBpbnQgYXJnYywgc3RydWN0IHZhbHVlICoqYXJndiwK K0BAIC0yMjQxLDcgKzIyNDEsNyBAQCBwdXNoX2xhcmdlX2FyZ3VtZW50cyAoQ09SRV9BRERSIHNw LCBpbnQgYXJnYywgc3RydWN0IHZhbHVlICoqYXJndiwKICAKICAgIGZvciAoaSA9IDA7IGkgPCBh cmdjOyBpKyspCiAgICAgIHsKQEAgLTY0Niw3ICs2MTUsNyBAQCBpbmRleCBlY2ZkNGYzNmRiLi4w Y2M0NTc0NDI1IDEwMDY0NAogICAgICAgIGlmIChhcmdfbGVuID4gTUVQX0dQUl9TSVpFKQogICAg ICAgICAgewogZGlmZiAtLWdpdCBhL2dkYi9taXBzLXRkZXAuYyBiL2dkYi9taXBzLXRkZXAuYwot aW5kZXggOTgxOTU5YWQ0Yi4uOTU3MmY5MmY2NSAxMDA2NDQKK2luZGV4IGNjNjdjZDNiZGQuLjI5 ODA2MDQ5NjggMTAwNjQ0CiAtLS0gYS9nZGIvbWlwcy10ZGVwLmMKICsrKyBiL2dkYi9taXBzLXRk ZXAuYwogQEAgLTQ3Nyw3ICs0NzcsNyBAQCBzdGF0aWMgdm9pZApAQCAtNzk1LDEwICs3NjQsMTAg QEAgaW5kZXggOTgxOTU5YWQ0Yi4uOTU3MmY5MmY2NSAxMDA2NDQKICAgICAgICB2YWwgPSB2YWx1 ZV9jb250ZW50cyAoYXJnKTsKICAKIGRpZmYgLS1naXQgYS9nZGIvbW4xMDMwMC10ZGVwLmMgYi9n ZGIvbW4xMDMwMC10ZGVwLmMKLWluZGV4IDkzYzAyZDY3YjQuLjE3Y2U1MzZhOTAgMTAwNjQ0Citp bmRleCBlMTJlMDFkZjAzLi45M2NjNzhlYjUxIDEwMDY0NAogLS0tIGEvZ2RiL21uMTAzMDAtdGRl cC5jCiArKysgYi9nZGIvbW4xMDMwMC10ZGVwLmMKLUBAIC0xMjEyLDcgKzEyMTIsNyBAQCBtbjEw MzAwX3B1c2hfZHVtbXlfY2FsbCAoc3RydWN0IGdkYmFyY2ggKmdkYmFyY2gsCitAQCAtMTE5OCw3 ICsxMTk4LDcgQEAgbW4xMDMwMF9wdXNoX2R1bW15X2NhbGwgKHN0cnVjdCBnZGJhcmNoICpnZGJh cmNoLAogICAgZW51bSBiZmRfZW5kaWFuIGJ5dGVfb3JkZXIgPSBnZGJhcmNoX2J5dGVfb3JkZXIg KGdkYmFyY2gpOwogICAgY29uc3QgaW50IHB1c2hfc2l6ZSA9IHJlZ2lzdGVyX3NpemUgKGdkYmFy Y2gsIEVfUENfUkVHTlVNKTsKICAgIGludCByZWdzX3VzZWQ7CkBAIC04MDcsMjIgKzc3Niw2IEBA IGluZGV4IDkzYzAyZDY3YjQuLjE3Y2U1MzZhOTAgMTAwNjQ0CiAgICBpbnQgc3RhY2tfb2Zmc2V0 ID0gMDsKICAgIGludCBhcmdudW07CiAgICBjb25zdCBnZGJfYnl0ZSAqdmFsOwotZGlmZiAtLWdp dCBhL2dkYi9tdC10ZGVwLmMgYi9nZGIvbXQtdGRlcC5jCi1pbmRleCBhNGFkMGM2NWYxLi45NTMw MDJhN2M2IDEwMDY0NAotLS0tIGEvZ2RiL210LXRkZXAuYwotKysrIGIvZ2RiL210LXRkZXAuYwot QEAgLTc4OSw5ICs3ODksOSBAQCBtdF9wdXNoX2R1bW15X2NhbGwgKHN0cnVjdCBnZGJhcmNoICpn ZGJhcmNoLCBzdHJ1Y3QgdmFsdWUgKmZ1bmN0aW9uLAotICAgZ2RiX2J5dGUgYnVmW01UX01BWF9T VFJVQ1RfU0laRV07Ci0gICBpbnQgYXJncmVnID0gTVRfMVNUX0FSR1JFRzsKLSAgIGludCBzcGxp dF9wYXJhbV9sZW4gPSAwOwotLSAgaW50IHN0YWNrX2Rlc3QgPSBzcDsKLSsgIExPTkdFU1Qgc3Rh Y2tfZGVzdCA9IHNwOwotICAgaW50IHNsYWNrbGVuOwotLSAgaW50IHR5cGVsZW47Ci0rICBMT05H RVNUIHR5cGVsZW47Ci0gICBpbnQgaSwgajsKLSAKLSAgIC8qIEZpcnN0IGhhbmRsZSBob3dldmVy IG1hbnkgYXJncyB3ZSBjYW4gZml0IGludG8gTVRfMVNUX0FSR1JFRyB0aHJ1CiBkaWZmIC0tZ2l0 IGEvZ2RiL3BwYy1zeXN2LXRkZXAuYyBiL2dkYi9wcGMtc3lzdi10ZGVwLmMKIGluZGV4IGE2YmE1 ZDBmZmQuLjE4NGI3ZDYyNjEgMTAwNjQ0CiAtLS0gYS9nZGIvcHBjLXN5c3YtdGRlcC5jCkBAIC05 MTgsMTAgKzg3MSwxMCBAQCBpbmRleCBhNmJhNWQwZmZkLi4xODRiN2Q2MjYxIDEwMDY0NAogICAg ICAgIGlmICh3cml0ZWJ1ZiAhPSBOVUxMKQogIAlyZWdjYWNoZV9jb29rZWRfd3JpdGVfcGFydCAo cmVnY2FjaGUsIHJlZ251bSwKIGRpZmYgLS1naXQgYS9nZGIvcmw3OC10ZGVwLmMgYi9nZGIvcmw3 OC10ZGVwLmMKLWluZGV4IDNkYjcyYTFlOTYuLjBmNDE3MmQ1NTMgMTAwNjQ0CitpbmRleCBhZjZh MDg5NjA4Li5iZTEwZjBhM2MwIDEwMDY0NAogLS0tIGEvZ2RiL3JsNzgtdGRlcC5jCiArKysgYi9n ZGIvcmw3OC10ZGVwLmMKLUBAIC0xMzQ3LDggKzEzNDcsOCBAQCBybDc4X3B1c2hfZHVtbXlfY2Fs bCAoc3RydWN0IGdkYmFyY2ggKmdkYmFyY2gsIHN0cnVjdCB2YWx1ZSAqZnVuY3Rpb24sCitAQCAt MTM0Niw4ICsxMzQ2LDggQEAgcmw3OF9wdXNoX2R1bW15X2NhbGwgKHN0cnVjdCBnZGJhcmNoICpn ZGJhcmNoLCBzdHJ1Y3QgdmFsdWUgKmZ1bmN0aW9uLAogICAgZm9yIChpID0gbmFyZ3MgLSAxOyBp ID49IDA7IGktLSkKICAgICAgewogICAgICAgIHN0cnVjdCB0eXBlICp2YWx1ZV90eXBlID0gdmFs dWVfZW5jbG9zaW5nX3R5cGUgKGFyZ3NbaV0pOwpAQCAtOTMzLDcgKzg4Niw3IEBAIGluZGV4IDNk YjcyYTFlOTYuLjBmNDE3MmQ1NTMgMTAwNjQ0CiAgICAgICAgc3AgLT0gY29udGFpbmVyX2xlbjsK ICAgICAgICB3cml0ZV9tZW1vcnkgKHJsNzhfbWFrZV9kYXRhX2FkZHJlc3MgKHNwKSwKIGRpZmYg LS1naXQgYS9nZGIvcnM2MDAwLWFpeC10ZGVwLmMgYi9nZGIvcnM2MDAwLWFpeC10ZGVwLmMKLWlu ZGV4IDM4Yzg2ZDRjZDguLmY2ZDQ4MTY0MDEgMTAwNjQ0CitpbmRleCBlM2UwODZjMjEwLi43NmY1 NTNiZWJmIDEwMDY0NAogLS0tIGEvZ2RiL3JzNjAwMC1haXgtdGRlcC5jCiArKysgYi9nZGIvcnM2 MDAwLWFpeC10ZGVwLmMKIEBAIC0xODcsOSArMTg3LDkgQEAgcnM2MDAwX3B1c2hfZHVtbXlfY2Fs bCAoc3RydWN0IGdkYmFyY2ggKmdkYmFyY2gsIHN0cnVjdCB2YWx1ZSAqZnVuY3Rpb24sCkBAIC05 NTcsMzcgKzkxMCw2IEBAIGluZGV4IDM4Yzg2ZDRjZDguLmY2ZDQ4MTY0MDEgMTAwNjQ0CiAgCiAg ICAgICAgaWYgKGFyZ2J5dGVzKQogIAl7Ci1kaWZmIC0tZ2l0IGEvZ2RiL3MzOTAtbGludXgtdGRl cC5jIGIvZ2RiL3MzOTAtbGludXgtdGRlcC5jCi1pbmRleCBiZGRlNWMzNGM4Li45NzViMDcyYjM5 IDEwMDY0NAotLS0tIGEvZ2RiL3MzOTAtbGludXgtdGRlcC5jCi0rKysgYi9nZGIvczM5MC1saW51 eC10ZGVwLmMKLUBAIC0zMTMyLDcgKzMxMzIsNyBAQCBzMzkwX2Z1bmN0aW9uX2FyZ192ZWN0b3Ig KHN0cnVjdCB0eXBlICp0eXBlKQotIC8qIERldGVybWluZSB3aGV0aGVyIE4gaXMgYSBwb3dlciBv ZiB0d28uICAqLwotIAotIHN0YXRpYyBpbnQKLS1pc19wb3dlcl9vZl90d28gKHVuc2lnbmVkIGlu dCBuKQotK2lzX3Bvd2VyX29mX3R3byAoVUxPTkdFU1QgbikKLSB7Ci0gICByZXR1cm4gbiAmJiAo KG4gJiAobiAtIDEpKSA9PSAwKTsKLSB9Ci1AQCAtMzE4OSw3ICszMTg5LDcgQEAgczM5MF9oYW5k bGVfYXJnIChzdHJ1Y3QgczM5MF9hcmdfc3RhdGUgKmFzLCBzdHJ1Y3QgdmFsdWUgKmFyZywKLSAJ CSBlbnVtIGJmZF9lbmRpYW4gYnl0ZV9vcmRlciwgaW50IGlzX3VubmFtZWQpCi0gewotICAgc3Ry dWN0IHR5cGUgKnR5cGUgPSBjaGVja190eXBlZGVmICh2YWx1ZV90eXBlIChhcmcpKTsKLS0gIHVu c2lnbmVkIGludCBsZW5ndGggPSBUWVBFX0xFTkdUSCAodHlwZSk7Ci0rICBMT05HRVNUIGxlbmd0 aCA9IFRZUEVfTEVOR1RIICh0eXBlKTsKLSAgIGludCB3cml0ZV9tb2RlID0gYXMtPnJlZ2NhY2hl ICE9IE5VTEw7Ci0gCi0gICBpZiAoczM5MF9mdW5jdGlvbl9hcmdfZmxvYXQgKHR5cGUpKQotQEAg LTM0NTIsNyArMzQ1Miw3IEBAIHMzOTBfcmVnaXN0ZXJfcmV0dXJuX3ZhbHVlIChzdHJ1Y3QgZ2Ri YXJjaCAqZ2RiYXJjaCwgc3RydWN0IHR5cGUgKnR5cGUsCi0gewotICAgZW51bSBiZmRfZW5kaWFu IGJ5dGVfb3JkZXIgPSBnZGJhcmNoX2J5dGVfb3JkZXIgKGdkYmFyY2gpOwotICAgaW50IHdvcmRf c2l6ZSA9IGdkYmFyY2hfcHRyX2JpdCAoZ2RiYXJjaCkgLyA4OwotLSAgaW50IGxlbmd0aCA9IFRZ UEVfTEVOR1RIICh0eXBlKTsKLSsgIExPTkdFU1QgbGVuZ3RoID0gVFlQRV9MRU5HVEggKHR5cGUp OwotICAgaW50IGNvZGUgPSBUWVBFX0NPREUgKHR5cGUpOwotIAotICAgaWYgKGNvZGUgPT0gVFlQ RV9DT0RFX0ZMVCB8fCBjb2RlID09IFRZUEVfQ09ERV9ERUNGTE9BVCkKIGRpZmYgLS1naXQgYS9n ZGIvc2NvcmUtdGRlcC5jIGIvZ2RiL3Njb3JlLXRkZXAuYwogaW5kZXggYTE2NzkzMjMyNy4uNDY3 NGViNzkwMCAxMDA2NDQKIC0tLSBhL2dkYi9zY29yZS10ZGVwLmMKQEAgLTEwMDIsMTAgKzkyNCwx MCBAQCBpbmRleCBhMTY3OTMyMzI3Li40Njc0ZWI3OTAwIDEwMDY0NAogICAgQ09SRV9BRERSIGFk ZHIgPSAwOwogIAogZGlmZiAtLWdpdCBhL2dkYi9zaC10ZGVwLmMgYi9nZGIvc2gtdGRlcC5jCi1p bmRleCBmYmM1YzlmMWQwLi4xZjYwNTJmYTk3IDEwMDY0NAoraW5kZXggZWRmN2U5NGIyZS4uM2Fi MTBlODQwMSAxMDA2NDQKIC0tLSBhL2dkYi9zaC10ZGVwLmMKICsrKyBiL2dkYi9zaC10ZGVwLmMK LUBAIC04MTMsNyArODEzLDcgQEAgc2hfc2tpcF9wcm9sb2d1ZSAoc3RydWN0IGdkYmFyY2ggKmdk YmFyY2gsIENPUkVfQUREUiBwYykKK0BAIC04MTIsNyArODEyLDcgQEAgc2hfc2tpcF9wcm9sb2d1 ZSAoc3RydWN0IGdkYmFyY2ggKmdkYmFyY2gsIENPUkVfQUREUiBwYykKICBzdGF0aWMgaW50CiAg c2hfdXNlX3N0cnVjdF9jb252ZW50aW9uIChpbnQgcmVuZXNhc19hYmksIHN0cnVjdCB0eXBlICp0 eXBlKQogIHsKQEAgLTEwMTQsNyArOTM2LDcgQEAgaW5kZXggZmJjNWM5ZjFkMC4uMWY2MDUyZmE5 NyAxMDA2NDQKICAgIGludCBuZWxlbSA9IFRZUEVfTkZJRUxEUyAodHlwZSk7CiAgCiAgICAvKiBU aGUgUmVuZXNhcyBBQkkgcmV0dXJucyBhZ2dyZWdhdGUgdHlwZXMgYWx3YXlzIG9uIHN0YWNrLiAg Ki8KLUBAIC05MTUsNyArOTE1LDcgQEAgc2hfZnJhbWVfYWxpZ24gKHN0cnVjdCBnZGJhcmNoICpp Z25vcmUsIENPUkVfQUREUiBzcCkKK0BAIC05MTQsNyArOTE0LDcgQEAgc2hfZnJhbWVfYWxpZ24g KHN0cnVjdCBnZGJhcmNoICppZ25vcmUsIENPUkVfQUREUiBzcCkKICAKICAvKiBIZWxwZXIgZnVu Y3Rpb24gdG8ganVzdGlmeSB2YWx1ZSBpbiByZWdpc3RlciBhY2NvcmRpbmcgdG8gZW5kaWFuZXNz LiAgKi8KICBzdGF0aWMgY29uc3QgZ2RiX2J5dGUgKgpAQCAtMTAyMyw3ICs5NDUsNyBAQCBpbmRl eCBmYmM1YzlmMWQwLi4xZjYwNTJmYTk3IDEwMDY0NAogIHsKICAgIHN0YXRpYyBnZGJfYnl0ZSB2 YWxidWZbNF07CiAgCi1AQCAtMTA3NSw3ICsxMDc1LDggQEAgc2hfcHVzaF9kdW1teV9jYWxsX2Zw dSAoc3RydWN0IGdkYmFyY2ggKmdkYmFyY2gsCitAQCAtMTA3NCw3ICsxMDc0LDggQEAgc2hfcHVz aF9kdW1teV9jYWxsX2ZwdSAoc3RydWN0IGdkYmFyY2ggKmdkYmFyY2gsCiAgICBzdHJ1Y3QgdHlw ZSAqdHlwZTsKICAgIENPUkVfQUREUiByZWd2YWw7CiAgICBjb25zdCBnZGJfYnl0ZSAqdmFsOwpA QCAtMTAzMyw3ICs5NTUsNyBAQCBpbmRleCBmYmM1YzlmMWQwLi4xZjYwNTJmYTk3IDEwMDY0NAog ICAgaW50IHBhc3Nfb25fc3RhY2sgPSAwOwogICAgaW50IHRyZWF0X2FzX2ZsdDsKICAgIGludCBs YXN0X3JlZ19hcmcgPSBJTlRfTUFYOwotQEAgLTEyMTYsNyArMTIxNyw4IEBAIHNoX3B1c2hfZHVt bXlfY2FsbF9ub2ZwdSAoc3RydWN0IGdkYmFyY2ggKmdkYmFyY2gsCitAQCAtMTIxNSw3ICsxMjE2 LDggQEAgc2hfcHVzaF9kdW1teV9jYWxsX25vZnB1IChzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCwK ICAgIHN0cnVjdCB0eXBlICp0eXBlOwogICAgQ09SRV9BRERSIHJlZ3ZhbDsKICAgIGNvbnN0IGdk Yl9ieXRlICp2YWw7CkBAIC0xMDQzLDMwICs5NjUsOCBAQCBpbmRleCBmYmM1YzlmMWQwLi4xZjYw NTJmYTk3IDEwMDY0NAogICAgaW50IHBhc3Nfb25fc3RhY2sgPSAwOwogICAgaW50IGxhc3RfcmVn X2FyZyA9IElOVF9NQVg7CiAgCi1kaWZmIC0tZ2l0IGEvZ2RiL3NoNjQtdGRlcC5jIGIvZ2RiL3No NjQtdGRlcC5jCi1pbmRleCBhZDUzM2M5ZDc5Li43NzAwZTY4NDAyIDEwMDY0NAotLS0tIGEvZ2Ri L3NoNjQtdGRlcC5jCi0rKysgYi9nZGIvc2g2NC10ZGVwLmMKLUBAIC0xMDc5LDcgKzEwNzksNyBA QCBzaDY0X3B1c2hfZHVtbXlfY2FsbCAoc3RydWN0IGdkYmFyY2ggKmdkYmFyY2gsCi0gCQkgICAg ICBDT1JFX0FERFIgc3RydWN0X2FkZHIpCi0gewotICAgZW51bSBiZmRfZW5kaWFuIGJ5dGVfb3Jk ZXIgPSBnZGJhcmNoX2J5dGVfb3JkZXIgKGdkYmFyY2gpOwotLSAgaW50IHN0YWNrX29mZnNldCwg c3RhY2tfYWxsb2M7Ci0rICBMT05HRVNUIHN0YWNrX29mZnNldCwgc3RhY2tfYWxsb2M7Ci0gICBp bnQgaW50X2FyZ3JlZzsKLSAgIGludCBmbG9hdF9hcmdfaW5kZXggPSAwOwotICAgaW50IGRvdWJs ZV9hcmdfaW5kZXggPSAwOwotQEAgLTEwODgsNyArMTA4OCw3IEBAIHNoNjRfcHVzaF9kdW1teV9j YWxsIChzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCwKLSAgIENPUkVfQUREUiByZWd2YWw7Ci0gICBj b25zdCBnZGJfYnl0ZSAqdmFsOwotICAgZ2RiX2J5dGUgdmFsYnVmWzhdOwotLSAgaW50IGxlbjsK LSsgIExPTkdFU1QgbGVuOwotICAgaW50IGFyZ3JlZ19zaXplOwotICAgaW50IGZwX2FyZ3NbMTJd OwotIAogZGlmZiAtLWdpdCBhL2dkYi9zcGFyYzY0LXRkZXAuYyBiL2dkYi9zcGFyYzY0LXRkZXAu YwotaW5kZXggNzQwMGMyNGZjNS4uMzlkYjIyOTQ3YyAxMDA2NDQKK2luZGV4IDlmZDZhNjYxOTku LjU2YjcyZWE1MDUgMTAwNjQ0CiAtLS0gYS9nZGIvc3BhcmM2NC10ZGVwLmMKICsrKyBiL2dkYi9z cGFyYzY0LXRkZXAuYwogQEAgLTEyMDUsNyArMTIwNSw3IEBAIHNwYXJjNjRfMTZfYnl0ZV9hbGln bl9wIChzdHJ1Y3QgdHlwZSAqdHlwZSkKQEAgLTExMjQsMTAgKzEwMjQsMTAgQEAgaW5kZXggNzQw MGMyNGZjNS4uMzlkYjIyOTQ3YyAxMDA2NDQKICAgICAgICBnZGJfYnl0ZSBidWZbMTZdOwogIAog ZGlmZiAtLWdpdCBhL2dkYi9zcHUtdGRlcC5jIGIvZ2RiL3NwdS10ZGVwLmMKLWluZGV4IGI4MmJi MGViYzMuLmY4N2U2ZjU3ZTEgMTAwNjQ0CitpbmRleCAyNTY3YzI0MGQ0Li40NmI2ZDYyNDNlIDEw MDY0NAogLS0tIGEvZ2RiL3NwdS10ZGVwLmMKICsrKyBiL2dkYi9zcHUtdGRlcC5jCi1AQCAtMTQz MCw3ICsxNDMwLDcgQEAgc3B1X3B1c2hfZHVtbXlfY2FsbCAoc3RydWN0IGdkYmFyY2ggKmdkYmFy Y2gsIHN0cnVjdCB2YWx1ZSAqZnVuY3Rpb24sCitAQCAtMTQzMSw3ICsxNDMxLDcgQEAgc3B1X3B1 c2hfZHVtbXlfY2FsbCAoc3RydWN0IGdkYmFyY2ggKmdkYmFyY2gsIHN0cnVjdCB2YWx1ZSAqZnVu Y3Rpb24sCiAgICAgICAgc3RydWN0IHZhbHVlICphcmcgPSBhcmdzW2ldOwogICAgICAgIHN0cnVj dCB0eXBlICp0eXBlID0gY2hlY2tfdHlwZWRlZiAodmFsdWVfdHlwZSAoYXJnKSk7CiAgICAgICAg Y29uc3QgZ2RiX2J5dGUgKmNvbnRlbnRzID0gdmFsdWVfY29udGVudHMgKGFyZyk7CkBAIC0xMTM2 LDcgKzEwMzYsNyBAQCBpbmRleCBiODJiYjBlYmMzLi5mODdlNmY1N2UxIDEwMDY0NAogIAogICAg ICAgIC8qIElmIHRoZSBhcmd1bWVudCBkb2Vzbid0IHdob2xseSBmaXQgaW50byByZWdpc3RlcnMs IGl0IGFuZAogIAkgYWxsIHN1YnNlcXVlbnQgYXJndW1lbnRzIGdvIHRvIHRoZSBzdGFjay4gICov Ci1AQCAtMTQ2Miw3ICsxNDYyLDcgQEAgc3B1X3B1c2hfZHVtbXlfY2FsbCAoc3RydWN0IGdkYmFy Y2ggKmdkYmFyY2gsIHN0cnVjdCB2YWx1ZSAqZnVuY3Rpb24sCitAQCAtMTQ2Myw3ICsxNDYzLDcg QEAgc3B1X3B1c2hfZHVtbXlfY2FsbCAoc3RydWN0IGdkYmFyY2ggKmdkYmFyY2gsIHN0cnVjdCB2 YWx1ZSAqZnVuY3Rpb24sCiAgCXsKICAJICBzdHJ1Y3QgdmFsdWUgKmFyZyA9IGFyZ3NbaV07CiAg CSAgc3RydWN0IHR5cGUgKnR5cGUgPSBjaGVja190eXBlZGVmICh2YWx1ZV90eXBlIChhcmcpKTsK QEAgLTEyNjAsMTAgKzExNjAsMTAgQEAgaW5kZXggMzE2NTBhYzNhOS4uOTFiMDg4MjUxYyAxMDA2 NDQKICAgIGdkYl9ieXRlIGJ1Zlt4c3Rvcm15MTZfcGNfc2l6ZV07CiAgCiBkaWZmIC0tZ2l0IGEv Z2RiL3h0ZW5zYS10ZGVwLmMgYi9nZGIveHRlbnNhLXRkZXAuYwotaW5kZXggZTA5NTkyYTk0ZS4u OTUxMzNhNTg3MSAxMDA2NDQKK2luZGV4IDAxZjk2MTY1ZGMuLjA2NjA4MWMzZjkgMTAwNjQ0CiAt LS0gYS9nZGIveHRlbnNhLXRkZXAuYwogKysrIGIvZ2RiL3h0ZW5zYS10ZGVwLmMKLUBAIC0xNjI4 LDggKzE2MjgsNyBAQCB4dGVuc2Ffc3RvcmVfcmV0dXJuX3ZhbHVlIChzdHJ1Y3QgdHlwZSAqdHlw ZSwKK0BAIC0xNjI3LDggKzE2MjcsNyBAQCB4dGVuc2Ffc3RvcmVfcmV0dXJuX3ZhbHVlIChzdHJ1 Y3QgdHlwZSAqdHlwZSwKICAKICAgICAgICBpZiAobGVuID4gKGNhbGxzaXplID4gOCA/IDggOiAx NikpCiAgCWludGVybmFsX2Vycm9yIChfX0ZJTEVfXywgX19MSU5FX18sCkBAIC0xMjczLDcgKzEx NzMsNyBAQCBpbmRleCBlMDk1OTJhOTRlLi45NTEzM2E1ODcxIDEwMDY0NAogICAgICAgIGFyZWcg PSBhcnJlZ19udW1iZXIgKGdkYmFyY2gsCiAgCQkJICAgZ2RiYXJjaF90ZGVwIChnZGJhcmNoKS0+ YTBfYmFzZSArIDIgKyBjYWxsc2l6ZSwgd2IpOwogIAotQEAgLTE3MDMsMTggKzE3MDIsMTggQEAg eHRlbnNhX3B1c2hfZHVtbXlfY2FsbCAoc3RydWN0IGdkYmFyY2ggKmdkYmFyY2gsCitAQCAtMTcw MiwxOCArMTcwMSwxOCBAQCB4dGVuc2FfcHVzaF9kdW1teV9jYWxsIChzdHJ1Y3QgZ2RiYXJjaCAq Z2RiYXJjaCwKICB7CiAgICBlbnVtIGJmZF9lbmRpYW4gYnl0ZV9vcmRlciA9IGdkYmFyY2hfYnl0 ZV9vcmRlciAoZ2RiYXJjaCk7CiAgICBpbnQgaTsKQEAgLTEyOTUsNyArMTE5NSw3IEBAIGluZGV4 IGUwOTU5MmE5NGUuLjk1MTMzYTU4NzEgMTAwNjQ0CiAgICAgICAgaW50IHJlZ25vOwkJLyogcmVn bm8gaWYgaW4gcmVnaXN0ZXIuICAqLwogICAgICB9IHU7CiAgICB9OwotQEAgLTE3MzgsOSArMTcz NywxMCBAQCB4dGVuc2FfcHVzaF9kdW1teV9jYWxsIChzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCwK K0BAIC0xNzM3LDkgKzE3MzYsMTAgQEAgeHRlbnNhX3B1c2hfZHVtbXlfY2FsbCAoc3RydWN0IGdk YmFyY2ggKmdkYmFyY2gsCiAgICAgICAgICB7CiAgCSAgc3RydWN0IHZhbHVlICphcmcgPSBhcmdz W2ldOwogIAkgIHN0cnVjdCB0eXBlICphcmdfdHlwZSA9IGNoZWNrX3R5cGVkZWYgKHZhbHVlX3R5 cGUgKGFyZykpOwpAQCAtMTMwOSw3ICsxMjA5LDcgQEAgaW5kZXggZTA5NTkyYTk0ZS4uOTUxMzNh NTg3MSAxMDA2NDQKICAJICBzd2l0Y2ggKFRZUEVfQ09ERSAoYXJnX3R5cGUpKQogIAkgICAgewog IAkgICAgY2FzZSBUWVBFX0NPREVfSU5UOgotQEAgLTE4MTAsOCArMTgxMCw4IEBAIHh0ZW5zYV9w dXNoX2R1bW15X2NhbGwgKHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoLAorQEAgLTE4MDksOCArMTgw OSw4IEBAIHh0ZW5zYV9wdXNoX2R1bW15X2NhbGwgKHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoLAog IAkgIGluZm8tPmFsaWduID0gVFlQRV9MRU5HVEggKGJ1aWx0aW5fdHlwZSAoZ2RiYXJjaCktPmJ1 aWx0aW5fbG9uZyk7CiAgCSAgYnJlYWs7CiAgCX0KQEAgLTEzMTksNyArMTIxOSw3IEBAIGluZGV4 IGUwOTU5MmE5NGUuLjk1MTMzYTU4NzEgMTAwNjQ0CiAgCiAgICAgICAgLyogQWxpZ24gc2l6ZSBh bmQgb25zdGFja19zaXplLiAgKi8KICAgICAgICBzaXplID0gKHNpemUgKyBpbmZvLT5hbGlnbiAt IDEpICYgfihpbmZvLT5hbGlnbiAtIDEpOwotQEAgLTE4NTYsNyArMTg1Niw3IEBAIHh0ZW5zYV9w dXNoX2R1bW15X2NhbGwgKHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoLAorQEAgLTE4NTUsNyArMTg1 NSw3IEBAIHh0ZW5zYV9wdXNoX2R1bW15X2NhbGwgKHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoLAog IAogICAgICAgIGlmIChpbmZvLT5vbnN0YWNrKQogIAl7CkBAIC0xMzI4LDcgKzEyMjgsNyBAQCBp bmRleCBlMDk1OTJhOTRlLi45NTEzM2E1ODcxIDEwMDY0NAogIAkgIENPUkVfQUREUiBvZmZzZXQg PSBzcCArIGluZm8tPnUub2Zmc2V0OwogIAogIAkgIC8qIE9kZC1zaXplZCBzdHJ1Y3RzIGFyZSBh bGlnbmVkIHRvIHRoZSBsb3dlciBzaWRlIG9mIGEgbWVtb3J5Ci1AQCAtMTg3Miw3ICsxODcyLDcg QEAgeHRlbnNhX3B1c2hfZHVtbXlfY2FsbCAoc3RydWN0IGdkYmFyY2ggKmdkYmFyY2gsCitAQCAt MTg3MSw3ICsxODcxLDcgQEAgeHRlbnNhX3B1c2hfZHVtbXlfY2FsbCAoc3RydWN0IGdkYmFyY2gg KmdkYmFyY2gsCiAgCX0KICAgICAgICBlbHNlCiAgCXsKCmRpZmYgLS1naXQgYS9nZGItdmxhLWlu dGVsLWZvcnRyYW4tc3RyaWRlcy5wYXRjaCBiL2dkYi12bGEtaW50ZWwtZm9ydHJhbi1zdHJpZGVz LnBhdGNoCmluZGV4IGQwMWJmZWMuLjBmNWNiY2YgMTAwNjQ0Ci0tLSBhL2dkYi12bGEtaW50ZWwt Zm9ydHJhbi1zdHJpZGVzLnBhdGNoCisrKyBiL2dkYi12bGEtaW50ZWwtZm9ydHJhbi1zdHJpZGVz LnBhdGNoCkBAIC0zNywxMCArMzcsMTAgQEAgZGJmZDcxNDBiZjRjMDUwMGQxZjVkMTkyYmU3ODFm ODNmNzhmNzkyMgogIDIzIGZpbGVzIGNoYW5nZWQsIDEyNDIgaW5zZXJ0aW9ucygrKSwgMTgzIGRl bGV0aW9ucygtKQogCiBkaWZmIC0tZ2l0IGEvZ2RiL2R3YXJmMmxvYy5jIGIvZ2RiL2R3YXJmMmxv Yy5jCi1pbmRleCA1MWYxMzNmMWI1Li41MTA1YzhkMjNhIDEwMDY0NAoraW5kZXggNmVjYzVhOWJl Ni4uZmE5ZmYzMDcyMSAxMDA2NDQKIC0tLSBhL2dkYi9kd2FyZjJsb2MuYwogKysrIGIvZ2RiL2R3 YXJmMmxvYy5jCi1AQCAtMjYwMSwxMSArMjYwMSwxNCBAQCBkd2FyZjJfbG9jZXhwcl9iYXRvbl9l dmFsIChjb25zdCBzdHJ1Y3QgZHdhcmYyX2xvY2V4cHJfYmF0b24gKmRsYmF0b24sCitAQCAtMjYw MCwxMSArMjYwMCwxNCBAQCBkd2FyZjJfbG9jZXhwcl9iYXRvbl9ldmFsIChjb25zdCBzdHJ1Y3Qg ZHdhcmYyX2xvY2V4cHJfYmF0b24gKmRsYmF0b24sCiAgLyogU2VlIGR3YXJmMmxvYy5oLiAgKi8K ICAKICBpbnQKQEAgLTU3LDcgKzU3LDcgQEAgaW5kZXggNTFmMTMzZjFiNS4uNTEwNWM4ZDIzYSAx MDA2NDQKICAgIGlmIChwcm9wID09IE5VTEwpCiAgICAgIHJldHVybiAwOwogIAotQEAgLTI2Mjks NyArMjYzMiw3IEBAIGR3YXJmMl9ldmFsdWF0ZV9wcm9wZXJ0eSAoY29uc3Qgc3RydWN0IGR5bmFt aWNfcHJvcCAqcHJvcCwKK0BAIC0yNjI4LDcgKzI2MzEsNyBAQCBkd2FyZjJfZXZhbHVhdGVfcHJv cGVydHkgKGNvbnN0IHN0cnVjdCBkeW5hbWljX3Byb3AgKnByb3AsCiAgCiAgCQkqdmFsdWUgPSB2 YWx1ZV9hc19hZGRyZXNzICh2YWwpOwogIAkgICAgICB9CkBAIC02Niw3ICs2Niw3IEBAIGluZGV4 IDUxZjEzM2YxYjUuLjUxMDVjOGQyM2EgMTAwNjQ0CiAgCSAgfQogICAgICAgIH0KICAgICAgICBi cmVhazsKLUBAIC0yNjUxLDcgKzI2NTQsNyBAQCBkd2FyZjJfZXZhbHVhdGVfcHJvcGVydHkgKGNv bnN0IHN0cnVjdCBkeW5hbWljX3Byb3AgKnByb3AsCitAQCAtMjY1MCw3ICsyNjUzLDcgQEAgZHdh cmYyX2V2YWx1YXRlX3Byb3BlcnR5IChjb25zdCBzdHJ1Y3QgZHluYW1pY19wcm9wICpwcm9wLAog IAkgICAgaWYgKCF2YWx1ZV9vcHRpbWl6ZWRfb3V0ICh2YWwpKQogIAkgICAgICB7CiAgCQkqdmFs dWUgPSB2YWx1ZV9hc19hZGRyZXNzICh2YWwpOwpAQCAtNzUsNyArNzUsNyBAQCBpbmRleCA1MWYx MzNmMWI1Li41MTA1YzhkMjNhIDEwMDY0NAogIAkgICAgICB9CiAgCSAgfQogICAgICAgIH0KLUBA IC0yNjU5LDggKzI2NjIsOCBAQCBkd2FyZjJfZXZhbHVhdGVfcHJvcGVydHkgKGNvbnN0IHN0cnVj dCBkeW5hbWljX3Byb3AgKnByb3AsCitAQCAtMjY1OCw4ICsyNjYxLDggQEAgZHdhcmYyX2V2YWx1 YXRlX3Byb3BlcnR5IChjb25zdCBzdHJ1Y3QgZHluYW1pY19wcm9wICpwcm9wLAogIAogICAgICBj YXNlIFBST1BfQ09OU1Q6CiAgICAgICAgKnZhbHVlID0gcHJvcC0+ZGF0YS5jb25zdF92YWw7CkBA IC04Niw3ICs4Niw3IEBAIGluZGV4IDUxZjEzM2YxYjUuLjUxMDVjOGQyM2EgMTAwNjQ0CiAgICAg IGNhc2UgUFJPUF9BRERSX09GRlNFVDoKICAgICAgICB7CiAgCXN0cnVjdCBkd2FyZjJfcHJvcGVy dHlfYmF0b24gKmJhdG9uCi1AQCAtMjY4MSwxMSArMjY4NCwzOCBAQCBkd2FyZjJfZXZhbHVhdGVf cHJvcGVydHkgKGNvbnN0IHN0cnVjdCBkeW5hbWljX3Byb3AgKnByb3AsCitAQCAtMjY4MCwxMSAr MjY4MywzOCBAQCBkd2FyZjJfZXZhbHVhdGVfcHJvcGVydHkgKGNvbnN0IHN0cnVjdCBkeW5hbWlj X3Byb3AgKnByb3AsCiAgCSAgdmFsID0gdmFsdWVfYXQgKGJhdG9uLT5vZmZzZXRfaW5mby50eXBl LAogIAkJCSAgcGluZm8tPmFkZHIgKyBiYXRvbi0+b2Zmc2V0X2luZm8ub2Zmc2V0KTsKICAJKnZh bHVlID0gdmFsdWVfYXNfYWRkcmVzcyAodmFsKTsKQEAgLTE0NSwxMCArMTQ1LDEwIEBAIGluZGV4 IGY4MmU3YjJkMTEuLjc0ZjA1OTczNTkgMTAwNjQ0CiAgICAgcHJvcGVydHkgdG8gQyBjb2RlLgog IAogZGlmZiAtLWdpdCBhL2dkYi9kd2FyZjJyZWFkLmMgYi9nZGIvZHdhcmYycmVhZC5jCi1pbmRl eCA1OGRhMGZjMWY5Li44ZmMxZjdlYzQ1IDEwMDY0NAoraW5kZXggNDljZTgzZmYyMC4uYTI4ZDBh MDI5ZSAxMDA2NDQKIC0tLSBhL2dkYi9kd2FyZjJyZWFkLmMKICsrKyBiL2dkYi9kd2FyZjJyZWFk LmMKLUBAIC0xNzU1MSw3ICsxNzU1MSw3IEBAIHJlYWRfc3VicmFuZ2VfdHlwZSAoc3RydWN0IGRp ZV9pbmZvICpkaWUsIHN0cnVjdCBkd2FyZjJfY3UgKmN1KQorQEAgLTE3NjM1LDcgKzE3NjM1LDcg QEAgcmVhZF9zdWJyYW5nZV90eXBlIChzdHJ1Y3QgZGllX2luZm8gKmRpZSwgc3RydWN0IGR3YXJm Ml9jdSAqY3UpCiAgICBzdHJ1Y3QgdHlwZSAqYmFzZV90eXBlLCAqb3JpZ19iYXNlX3R5cGU7CiAg ICBzdHJ1Y3QgdHlwZSAqcmFuZ2VfdHlwZTsKICAgIHN0cnVjdCBhdHRyaWJ1dGUgKmF0dHI7CkBA IC0xNTcsNyArMTU3LDcgQEAgaW5kZXggNThkYTBmYzFmOS4uOGZjMWY3ZWM0NSAxMDA2NDQKICAg IGludCBsb3dfZGVmYXVsdF9pc192YWxpZDsKICAgIGludCBoaWdoX2JvdW5kX2lzX2NvdW50ID0g MDsKICAgIGNvbnN0IGNoYXIgKm5hbWU7Ci1AQCAtMTc1NzEsNyArMTc1NzEsOSBAQCByZWFkX3N1 YnJhbmdlX3R5cGUgKHN0cnVjdCBkaWVfaW5mbyAqZGllLCBzdHJ1Y3QgZHdhcmYyX2N1ICpjdSkK K0BAIC0xNzY1NSw3ICsxNzY1NSw5IEBAIHJlYWRfc3VicmFuZ2VfdHlwZSAoc3RydWN0IGRpZV9p bmZvICpkaWUsIHN0cnVjdCBkd2FyZjJfY3UgKmN1KQogIAogICAgbG93LmtpbmQgPSBQUk9QX0NP TlNUOwogICAgaGlnaC5raW5kID0gUFJPUF9DT05TVDsKQEAgLTE2Nyw3ICsxNjcsNyBAQCBpbmRl eCA1OGRhMGZjMWY5Li44ZmMxZjdlYzQ1IDEwMDY0NAogIAogICAgLyogU2V0IExPV19ERUZBVUxU X0lTX1ZBTElEIGlmIGN1cnJlbnQgbGFuZ3VhZ2UgYW5kIERXQVJGIHZlcnNpb24gYWxsb3cKICAg ICAgIG9taXR0aW5nIERXX0FUX2xvd2VyX2JvdW5kLiAgKi8KLUBAIC0xNzYwNCw2ICsxNzYwNiwx MyBAQCByZWFkX3N1YnJhbmdlX3R5cGUgKHN0cnVjdCBkaWVfaW5mbyAqZGllLCBzdHJ1Y3QgZHdh cmYyX2N1ICpjdSkKK0BAIC0xNzY4OCw2ICsxNzY5MCwxNCBAQCByZWFkX3N1YnJhbmdlX3R5cGUg KHN0cnVjdCBkaWVfaW5mbyAqZGllLCBzdHJ1Y3QgZHdhcmYyX2N1ICpjdSkKICAgICAgICBicmVh azsKICAgICAgfQogIApAQCAtMTc1LDEzICsxNzUsMTQgQEAgaW5kZXggNThkYTBmYzFmOS4uOGZj MWY3ZWM0NSAxMDA2NDQKICsgIGlmIChhdHRyKQogKyAgICBpZiAoIWF0dHJfdG9fZHluYW1pY19w cm9wIChhdHRyLCBkaWUsIGN1LCAmc3RyaWRlKSkKICsgICAgICAgIGNvbXBsYWludCAoJnN5bWZp bGVfY29tcGxhaW50cywgXygiTWlzc2luZyBEV19BVF9ieXRlX3N0cmlkZSAiCi0rICAgICAgICAg ICAgICAgICAgIi0gRElFIGF0IDB4JXggW2luIG1vZHVsZSAlc10iKSwKLSsgICAgICAgICAgICAg dG9fdW5kZXJseWluZyAoZGllLT5zZWN0X29mZiksIG9iamZpbGVfbmFtZSAoY3UtPm9iamZpbGUp KTsKKysgICAgICAgICAgICAgICAgICAiLSBESUUgYXQgMHglcyBbaW4gbW9kdWxlICVzXSIpLAor KwkJICAgc2VjdF9vZmZzZXRfc3RyIChkaWUtPnNlY3Rfb2ZmKSwKKysJCSAgIG9iamZpbGVfbmFt ZSAoY3UtPnBlcl9jdS0+ZHdhcmYyX3Blcl9vYmpmaWxlLT5vYmpmaWxlKSk7CiArCiAgICBhdHRy ID0gZHdhcmYyX2F0dHIgKGRpZSwgRFdfQVRfbG93ZXJfYm91bmQsIGN1KTsKICAgIGlmIChhdHRy KQogICAgICBhdHRyX3RvX2R5bmFtaWNfcHJvcCAoYXR0ciwgZGllLCBjdSwgJmxvdyk7Ci1AQCAt MTc2ODAsNyArMTc2ODksNyBAQCByZWFkX3N1YnJhbmdlX3R5cGUgKHN0cnVjdCBkaWVfaW5mbyAq ZGllLCBzdHJ1Y3QgZHdhcmYyX2N1ICpjdSkKK0BAIC0xNzc2NSw3ICsxNzc3NSw3IEBAIHJlYWRf c3VicmFuZ2VfdHlwZSAoc3RydWN0IGRpZV9pbmZvICpkaWUsIHN0cnVjdCBkd2FyZjJfY3UgKmN1 KQogICAgICAgICYmICFUWVBFX1VOU0lHTkVEIChiYXNlX3R5cGUpICYmIChoaWdoLmRhdGEuY29u c3RfdmFsICYgbmVnYXRpdmVfbWFzaykpCiAgICAgIGhpZ2guZGF0YS5jb25zdF92YWwgfD0gbmVn YXRpdmVfbWFzazsKICAKQEAgLTE5MSwxMCArMTkyLDEwIEBAIGluZGV4IDU4ZGEwZmMxZjkuLjhm YzFmN2VjNDUgMTAwNjQ0CiAgICBpZiAoaGlnaF9ib3VuZF9pc19jb3VudCkKICAgICAgVFlQRV9S QU5HRV9EQVRBIChyYW5nZV90eXBlKS0+ZmxhZ191cHBlcl9ib3VuZF9pc19jb3VudCA9IDE7CiBk aWZmIC0tZ2l0IGEvZ2RiL2V2YWwuYyBiL2dkYi9ldmFsLmMKLWluZGV4IDZmNzRjNDFiOWYuLmQ5 YmNhMjc5MWQgMTAwNjQ0CitpbmRleCA1YmQ2ZTJjYmZlLi41MGRkZTNlZDRmIDEwMDY0NAogLS0t IGEvZ2RiL2V2YWwuYwogKysrIGIvZ2RiL2V2YWwuYwotQEAgLTM4NCwyOSArMzg0LDMyNSBAQCBp bml0X2FycmF5X2VsZW1lbnQgKHN0cnVjdCB2YWx1ZSAqYXJyYXksIHN0cnVjdCB2YWx1ZSAqZWxl bWVudCwKK0BAIC0zNzcsMjkgKzM3NywzMjUgQEAgaW5pdF9hcnJheV9lbGVtZW50IChzdHJ1Y3Qg dmFsdWUgKmFycmF5LCBzdHJ1Y3QgdmFsdWUgKmVsZW1lbnQsCiAgICByZXR1cm4gaW5kZXg7CiAg fQogIApAQCAtNTM4LDcgKzUzOSw3IEBAIGluZGV4IDZmNzRjNDFiOWYuLmQ5YmNhMjc5MWQgMTAw NjQ0CiAgfQogIAogIAotQEAgLTE5MjgsMTkgKzIyMjQsOCBAQCBldmFsdWF0ZV9zdWJleHBfc3Rh bmRhcmQgKHN0cnVjdCB0eXBlICpleHBlY3RfdHlwZSwKK0BAIC0xOTI2LDE5ICsyMjIyLDggQEAg ZXZhbHVhdGVfc3ViZXhwX3N0YW5kYXJkIChzdHJ1Y3QgdHlwZSAqZXhwZWN0X3R5cGUsCiAgICAg ICAgc3dpdGNoIChjb2RlKQogIAl7CiAgCWNhc2UgVFlQRV9DT0RFX0FSUkFZOgpAQCAtNTU5LDcg KzU2MCw3IEBAIGluZGV4IDZmNzRjNDFiOWYuLmQ5YmNhMjc5MWQgMTAwNjQ0CiAgCiAgCWNhc2Ug VFlQRV9DT0RFX1BUUjoKICAJY2FzZSBUWVBFX0NPREVfRlVOQzoKLUBAIC0yMzM2LDQ5ICsyNjIx LDYgQEAgZXZhbHVhdGVfc3ViZXhwX3N0YW5kYXJkIChzdHJ1Y3QgdHlwZSAqZXhwZWN0X3R5cGUs CitAQCAtMjMzNCw0OSArMjYxOSw2IEBAIGV2YWx1YXRlX3N1YmV4cF9zdGFuZGFyZCAoc3RydWN0 IHR5cGUgKmV4cGVjdF90eXBlLAogIAl9CiAgICAgICAgcmV0dXJuIChhcmcxKTsKICAKQEAgLTYw OSw3ICs2MTAsNyBAQCBpbmRleCA2Zjc0YzQxYjlmLi5kOWJjYTI3OTFkIDEwMDY0NAogICAgICBj YXNlIEJJTk9QX0xPR0lDQUxfQU5EOgogICAgICAgIGFyZzEgPSBldmFsdWF0ZV9zdWJleHAgKE5V TExfVFlQRSwgZXhwLCBwb3MsIG5vc2lkZSk7CiAgICAgICAgaWYgKG5vc2lkZSA9PSBFVkFMX1NL SVApCi1AQCAtMzI4Miw2ICszNTI0LDkgQEAgY2FsY19mNzdfYXJyYXlfZGltcyAoc3RydWN0IHR5 cGUgKmFycmF5X3R5cGUpCitAQCAtMzI5Myw2ICszNTM1LDkgQEAgY2FsY19mNzdfYXJyYXlfZGlt cyAoc3RydWN0IHR5cGUgKmFycmF5X3R5cGUpCiAgICBpbnQgbmRpbWVuID0gMTsKICAgIHN0cnVj dCB0eXBlICp0bXBfdHlwZTsKICAKQEAgLTYyMCwxNSArNjIxLDIyIEBAIGluZGV4IDZmNzRjNDFi OWYuLmQ5YmNhMjc5MWQgMTAwNjQ0CiAgICAgIGVycm9yIChfKCJDYW4ndCBnZXQgZGltZW5zaW9u cyBmb3IgYSBub24tYXJyYXkgdHlwZSIpKTsKICAKIGRpZmYgLS1naXQgYS9nZGIvZXhwcHJpbnQu YyBiL2dkYi9leHBwcmludC5jCi1pbmRleCBhYzVhZTBmZWExLi40MWJiMzU3YTI3IDEwMDY0NAor aW5kZXggNzBkMzU1ZDM2OS4uMWRmYzc5NDNkYSAxMDA2NDQKIC0tLSBhL2dkYi9leHBwcmludC5j CiArKysgYi9nZGIvZXhwcHJpbnQuYwotQEAgLTU4MSwxMiArNTgxLDEwIEBAIHByaW50X3N1YmV4 cF9zdGFuZGFyZCAoc3RydWN0IGV4cHJlc3Npb24gKmV4cCwgaW50ICpwb3MsCitAQCAtNTc4LDE3 ICs1NzgsMTQgQEAgcHJpbnRfc3ViZXhwX3N0YW5kYXJkIChzdHJ1Y3QgZXhwcmVzc2lvbiAqZXhw LCBpbnQgKnBvcywKKyAJICBsb25nZXN0X3RvX2ludCAoZXhwLT5lbHRzW3BjICsgMV0ubG9uZ2Nv bnN0KTsKICAJKnBvcyArPSAyOwogIAorLQlpZiAocmFuZ2VfdHlwZSA9PSBOT05FX0JPVU5EX0RF RkFVTFRfRVhDTFVTSVZFCistCSAgICB8fCByYW5nZV90eXBlID09IExPV19CT1VORF9ERUZBVUxU X0VYQ0xVU0lWRSkKKysJaWYgKChyYW5nZV90eXBlICYgU1VCQVJSQVlfSElHSF9CT1VORF9FWENM VVNJVkUpCisrCSAgICA9PSBTVUJBUlJBWV9ISUdIX0JPVU5EX0VYQ0xVU0lWRSkKKyAJICBmcHV0 c19maWx0ZXJlZCAoIkVYQ0xVU0lWRV8iLCBzdHJlYW0pOwogIAlmcHV0c19maWx0ZXJlZCAoIlJB TkdFKCIsIHN0cmVhbSk7CiAtCWlmIChyYW5nZV90eXBlID09IEhJR0hfQk9VTkRfREVGQVVMVAot LQkgICAgfHwgcmFuZ2VfdHlwZSA9PSBOT05FX0JPVU5EX0RFRkFVTFQpCistCSAgICB8fCByYW5n ZV90eXBlID09IE5PTkVfQk9VTkRfREVGQVVMVAorLQkgICAgfHwgcmFuZ2VfdHlwZSA9PSBOT05F X0JPVU5EX0RFRkFVTFRfRVhDTFVTSVZFKQogKwlpZiAoKHJhbmdlX3R5cGUgJiBTVUJBUlJBWV9M T1dfQk9VTkQpID09IFNVQkFSUkFZX0xPV19CT1VORCkKICAJICBwcmludF9zdWJleHAgKGV4cCwg cG9zLCBzdHJlYW0sIFBSRUNfQUJPVkVfQ09NTUEpOwogIAlmcHV0c19maWx0ZXJlZCAoIi4uIiwg c3RyZWFtKTsKQEAgLTYzOCw3ICs2NDYsNyBAQCBpbmRleCBhYzVhZTBmZWExLi40MWJiMzU3YTI3 IDEwMDY0NAogIAkgIHByaW50X3N1YmV4cCAoZXhwLCBwb3MsIHN0cmVhbSwgUFJFQ19BQk9WRV9D T01NQSk7CiAgCWZwdXRzX2ZpbHRlcmVkICgiKSIsIHN0cmVhbSk7CiAgCXJldHVybjsKLUBAIC0x MDk0LDE2ICsxMDkyLDE2IEBAIGR1bXBfc3ViZXhwX2JvZHlfc3RhbmRhcmQgKHN0cnVjdCBleHBy ZXNzaW9uICpleHAsCitAQCAtMTA5OCwyMiArMTA5NSwyNCBAQCBkdW1wX3N1YmV4cF9ib2R5X3N0 YW5kYXJkIChzdHJ1Y3QgZXhwcmVzc2lvbiAqZXhwLAogIAogIAlzd2l0Y2ggKHJhbmdlX3R5cGUp CiAgCSAgewpAQCAtNjUwLDE2ICs2NTgsMjggQEAgaW5kZXggYWM1YWUwZmVhMS4uNDFiYjM1N2Ey NyAxMDA2NDQKICsJICBjYXNlIFNVQkFSUkFZX0hJR0hfQk9VTkQ6CiAgCSAgICBmcHV0c19maWx0 ZXJlZCAoIlJhbmdlICcuLkVYUCciLCBzdHJlYW0pOwogIAkgICAgYnJlYWs7CistCSAgY2FzZSBM T1dfQk9VTkRfREVGQVVMVF9FWENMVVNJVkU6CistCSAgICBmcHV0c19maWx0ZXJlZCAoIkV4Y2x1 c2l2ZVJhbmdlICcuLkVYUCciLCBzdHJlYW0pOworLQkgICAgYnJlYWs7CiAtCSAgY2FzZSBISUdI X0JPVU5EX0RFRkFVTFQ6CiArCSAgY2FzZSBTVUJBUlJBWV9MT1dfQk9VTkQ6CiAgCSAgICBmcHV0 c19maWx0ZXJlZCAoIlJhbmdlICdFWFAuLiciLCBzdHJlYW0pOwogIAkgICAgYnJlYWs7CiAtCSAg Y2FzZSBOT05FX0JPVU5EX0RFRkFVTFQ6CisrCSAgY2FzZSAoU1VCQVJSQVlfTE9XX0JPVU5ECisr CQl8IFNVQkFSUkFZX0hJR0hfQk9VTkQKKysJCXwgU1VCQVJSQVlfSElHSF9CT1VORF9FWENMVVNJ VkUpOgorKwkgICAgZnB1dHNfZmlsdGVyZWQgKCJFeGNsdXNpdmVSYW5nZSAnLi5FWFAnIiwgc3Ry ZWFtKTsKKysJICAgIGJyZWFrOwogKwkgIGNhc2UgKFNVQkFSUkFZX0xPV19CT1VORCB8IFNVQkFS UkFZX0hJR0hfQk9VTkQpOgogIAkgICAgZnB1dHNfZmlsdGVyZWQgKCJSYW5nZSAnRVhQLi5FWFAn Iiwgc3RyZWFtKTsKICAJICAgIGJyZWFrOworLQkgIGNhc2UgTk9ORV9CT1VORF9ERUZBVUxUX0VY Q0xVU0lWRToKKysJICBjYXNlIChTVUJBUlJBWV9ISUdIX0JPVU5EIHwgU1VCQVJSQVlfSElHSF9C T1VORF9FWENMVVNJVkUpOgorIAkgICAgZnB1dHNfZmlsdGVyZWQgKCJFeGNsdXNpdmVSYW5nZSAn RVhQLi5FWFAnIiwgc3RyZWFtKTsKKyAJICAgIGJyZWFrOwogIAkgIGRlZmF1bHQ6Ci1AQCAtMTEx MSwxMSArMTEwOSw5IEBAIGR1bXBfc3ViZXhwX2JvZHlfc3RhbmRhcmQgKHN0cnVjdCBleHByZXNz aW9uICpleHAsCitAQCAtMTEyMSwxMSArMTEyMCw5IEBAIGR1bXBfc3ViZXhwX2JvZHlfc3RhbmRh cmQgKHN0cnVjdCBleHByZXNzaW9uICpleHAsCiAgCSAgICBicmVhazsKICAJICB9CiAgCkBAIC02 NzQsMzggKzY5NCw2MCBAQCBpbmRleCBhYzVhZTBmZWExLi40MWJiMzU3YTI3IDEwMDY0NAogICAg ICAgIH0KICAgICAgICBicmVhazsKIGRpZmYgLS1naXQgYS9nZGIvZXhwcmVzc2lvbi5oIGIvZ2Ri L2V4cHJlc3Npb24uaAotaW5kZXggYTc4M2VhNWZlZi4uYmUyNDc5MmViNiAxMDA2NDQKK2luZGV4 IDlmMjZiYjhkNjAuLjJjYzBkMmMxZTMgMTAwNjQ0CiAtLS0gYS9nZGIvZXhwcmVzc2lvbi5oCiAr KysgYi9nZGIvZXhwcmVzc2lvbi5oCi1AQCAtMTUzLDE3ICsxNTMsMTcgQEAgZXh0ZXJuIHZvaWQg ZHVtcF9yYXdfZXhwcmVzc2lvbiAoc3RydWN0IGV4cHJlc3Npb24gKiwKK0BAIC0xNDgsMjggKzE0 OCwyNyBAQCBleHRlcm4gdm9pZCBkdW1wX3Jhd19leHByZXNzaW9uIChzdHJ1Y3QgZXhwcmVzc2lv biAqLAogIAkJCQkgc3RydWN0IHVpX2ZpbGUgKiwgY29uc3QgY2hhciAqKTsKICBleHRlcm4gdm9p ZCBkdW1wX3ByZWZpeF9leHByZXNzaW9uIChzdHJ1Y3QgZXhwcmVzc2lvbiAqLCBzdHJ1Y3QgdWlf ZmlsZSAqKTsKICAKIC0vKiBJbiBhbiBPUF9SQU5HRSBleHByZXNzaW9uLCBlaXRoZXIgYm91bmQg Y291bGQgYmUgZW1wdHksIGluZGljYXRpbmcKIC0gICB0aGF0IGl0cyB2YWx1ZSBpcyBieSBkZWZh dWx0IHRoYXQgb2YgdGhlIGNvcnJlc3BvbmRpbmcgYm91bmQgb2YgdGhlCi0tICAgYXJyYXkgb3Ig c3RyaW5nLiAgU28gd2UgaGF2ZSBmb3VyIHNvcnRzIG9mIHN1YnJhbmdlLiAgVGhpcwotLSAgIGVu dW1lcmF0aW9uIHR5cGUgaXMgdG8gaWRlbnRpZnkgdGhpcy4gICovCi0tICAgCi0rLyogSW4gYW4g T1BfUkFOR0UgZXhwcmVzc2lvbiwgZWl0aGVyIGJvdW5kIGNhbiBiZSBwcm92aWRlZCBieSB0aGUg dXNlciwgb3Igbm90LgotKyAgIEluIGFkZGl0aW9uIHRvIHRoaXMsIHRoZSB1c2VyIGNhbiBhbHNv IHNwZWNpZnkgYSBzdHJpZGUgdmFsdWUgdG8gaW5kaWNhdGVkCi0rICAgb25seSBjZXJ0YWluIGVs ZW1lbnRzIG9mIHRoZSBhcnJheS4gIFRoaXMgZW51bWVyYXRpb24gdHlwZSBpcyB0byBpZGVudGlm eQotKyAgIHRoaXMuICAqLwotKworLSAgIGFycmF5IG9yIHN0cmluZy4gIEFsc28sIHRoZSB1cHBl ciBlbmQgb2YgdGhlIHJhbmdlIGNhbiBiZSBleGNsdXNpdmUKKy0gICBvciBpbmNsdXNpdmUuICBT byB3ZSBoYXZlIHNpeCBzb3J0cyBvZiBzdWJyYW5nZS4gIFRoaXMgZW51bWVyYXRpb24KKy0gICB0 eXBlIGlzIHRvIGlkZW50aWZ5IHRoaXMuICAqLworKy8qIEluIGFuIE9QX1JBTkdFIGV4cHJlc3Np b24sIGVpdGhlciBib3VuZCBjYW4gYmUgcHJvdmlkZWQgYnkgdGhlCisrICAgdXNlciwgb3Igbm90 LiAgSW4gYWRkaXRpb24gdG8gdGhpcywgdGhlIHVzZXIgY2FuIGFsc28gc3BlY2lmeSBhCisrICAg c3RyaWRlIHZhbHVlIHRvIGluZGljYXRlZCBvbmx5IGNlcnRhaW4gZWxlbWVudHMgb2YgdGhlIGFy cmF5LgorKyAgIEFsc28sIHRoZSB1cHBlciBlbmQgb2YgdGhlIHJhbmdlIGNhbiBiZSBleGNsdXNp dmUgb3IgaW5jbHVzaXZlLgorKyAgIFRoaXMgZW51bWVyYXRpb24gdHlwZSBpcyB0byBpZGVudGlm eSB0aGlzLiAgKi8KKyAKICBlbnVtIHJhbmdlX3R5cGUKLSAgIHsKLS0gICAgQk9USF9CT1VORF9E RUZBVUxULAkJLyogIig6KSIgICovCi0tICAgIExPV19CT1VORF9ERUZBVUxULAkJLyogIig6aGln aCkiICAqLwotLSAgICBISUdIX0JPVU5EX0RFRkFVTFQsCQkvKiAiKGxvdzopIiAgKi8KLS0gICAg Tk9ORV9CT1VORF9ERUZBVUxUCQkvKiAiKGxvdzpoaWdoKSIgICovCisteworLSAgLyogTmVpdGhl ciB0aGUgbG93IG5vciB0aGUgaGlnaCBib3VuZCB3YXMgZ2l2ZW4gLS0gc28gdGhpcyByZWZlcnMg dG8KKy0gICAgIHRoZSBlbnRpcmUgYXZhaWxhYmxlIHJhbmdlLiAgKi8KKy0gIEJPVEhfQk9VTkRf REVGQVVMVCwKKy0gIC8qIFRoZSBsb3cgYm91bmQgd2FzIG5vdCBnaXZlbiBhbmQgdGhlIGhpZ2gg Ym91bmQgaXMgaW5jbHVzaXZlLiAgKi8KKy0gIExPV19CT1VORF9ERUZBVUxULAorLSAgLyogVGhl IGhpZ2ggYm91bmQgd2FzIG5vdCBnaXZlbiBhbmQgdGhlIGxvdyBib3VuZCBpbiBpbmNsdXNpdmUu ICAqLworLSAgSElHSF9CT1VORF9ERUZBVUxULAorLSAgLyogQm90aCBib3VuZHMgd2VyZSBnaXZl biBhbmQgYm90aCBhcmUgaW5jbHVzaXZlLiAgKi8KKy0gIE5PTkVfQk9VTkRfREVGQVVMVCwKKy0g IC8qIFRoZSBsb3cgYm91bmQgd2FzIG5vdCBnaXZlbiBhbmQgdGhlIGhpZ2ggYm91bmQgaXMgZXhj bHVzaXZlLiAgKi8KKy0gIE5PTkVfQk9VTkRfREVGQVVMVF9FWENMVVNJVkUsCistICAvKiBCb3Ro IGJvdW5kcyB3ZXJlIGdpdmVuLiAgVGhlIGxvdyBib3VuZCBpcyBpbmNsdXNpdmUgYW5kIHRoZSBo aWdoCistICAgICBib3VuZCBpcyBleGNsdXNpdmUuICAqLworLSAgTE9XX0JPVU5EX0RFRkFVTFRf RVhDTFVTSVZFLAorLX07CisrICB7CiArICAgIFNVQkFSUkFZX05PTkVfQk9VTkQgPSAweDAsCQkv KiAiKCA6ICkiICAqLwogKyAgICBTVUJBUlJBWV9MT1dfQk9VTkQgPSAweDEsCQkvKiAiKGxvdzop IiAgKi8KICsgICAgU1VCQVJSQVlfSElHSF9CT1VORCA9IDB4MiwJCS8qICIoOmhpZ2gpIiAgKi8K LSsgICAgU1VCQVJSQVlfU1RSSURFID0gMHg0CQkvKiAiKDo6c3RyaWRlKSIgICovCi0gICB9Owor KyAgICBTVUJBUlJBWV9TVFJJREUgPSAweDQsCQkvKiAiKDo6c3RyaWRlKSIgICovCisrICAgIC8q IFRoZSBsb3cgYm91bmQgd2FzIG5vdCBnaXZlbiBhbmQgdGhlIGhpZ2ggYm91bmQgaXMgZXhjbHVz aXZlLgorKyAgICAgICBJbiB0aGlzIGNhc2Ugd2UgYWx3YXlzIHVzZSAoU1VCQVJSQVlfSElHSF9C T1VORCB8CisrICAgICAgIFNVQkFSUkFZX0hJR0hfQk9VTkRfRVhDTFVTSVZFKS4gICovCisrICAg IFNVQkFSUkFZX0hJR0hfQk9VTkRfRVhDTFVTSVZFID0gMHg4LAorKyAgICAvKiBCb3RoIGJvdW5k cyB3ZXJlIGdpdmVuLiAgVGhlIGxvdyBib3VuZCBpcyBpbmNsdXNpdmUgYW5kIHRoZSBoaWdoCisr ICAgICAgIGJvdW5kIGlzIGV4Y2x1c2l2ZS4gIEluIHRoaXMgY2FzZSwgd2UgdXNlIChTVUJBUlJB WV9MT1dfQk9VTkQgfAorKyAgICAgICBTVUJBUlJBWV9ISUdIX0JPVU5EIHwgU1VCQVJSQVlfSElH SF9CT1VORF9FWENMVVNJVkUpLiAgKi8KKysgICAgLy8gU1VCQVJSQVlfTE9XX0JPVU5EX0VYQ0xV U0lWRSA9IChTVUJBUlJBWV9MT1dfQk9VTkQKKysgICAgLy8gCQkJCSAgICB8IFNVQkFSUkFZX0hJ R0hfQk9VTkRfRVhDTFVTSVZFKSwKKysgIH07CiAgCiAgI2VuZGlmIC8qICFkZWZpbmVkIChFWFBS RVNTSU9OX0gpICovCiBkaWZmIC0tZ2l0IGEvZ2RiL2YtZXhwLnkgYi9nZGIvZi1leHAueQotaW5k ZXggNjQ5NWUwM2NjNS4uY2Q4OWJiN2NhMiAxMDA2NDQKK2luZGV4IGUzOWY2ODQxN2MuLjdkMDNl NTRhMTggMTAwNjQ0CiAtLS0gYS9nZGIvZi1leHAueQogKysrIGIvZ2RiL2YtZXhwLnkKIEBAIC0y NTcsMzEgKzI1Nyw2MyBAQCBhcmdsaXN0IDoJc3VicmFuZ2UKQEAgLTc5OCw3ICs4NDAsNyBAQCBp bmRleCA5MDNmMmFmNjM4Li5iNDA2N2E4NDYwIDEwMDY0NAogICAgICAgIGZvciAoaSA9IGxvd2Vy Ym91bmQ7CiAgCSAgIChpIDwgdXBwZXJib3VuZCArIDEgJiYgKCplbHRzKSA8IG9wdGlvbnMtPnBy aW50X21heCk7CiBkaWZmIC0tZ2l0IGEvZ2RiL2dkYnR5cGVzLmMgYi9nZGIvZ2RidHlwZXMuYwot aW5kZXggNDNmZTU2ZTQ4Ny4uYTcyZTJiM2UwYSAxMDA2NDQKK2luZGV4IDZkNzAwMDYwODEuLjY0 NzExZThjZmIgMTAwNjQ0CiAtLS0gYS9nZGIvZ2RidHlwZXMuYwogKysrIGIvZ2RiL2dkYnR5cGVz LmMKIEBAIC05MDIsNyArOTAyLDggQEAgb3BlcmF0b3I9PSAoY29uc3QgcmFuZ2VfYm91bmRzICZs LCBjb25zdCByYW5nZV9ib3VuZHMgJnIpCkBAIC04NjMsNyArOTA1LDcgQEAgaW5kZXggNDNmZTU2 ZTQ4Ny4uYTcyZTJiM2UwYSAxMDA2NDQKICAgICAgICBlbHNlIGlmIChiaXRfc3RyaWRlID4gMCkK ICAJVFlQRV9MRU5HVEggKHJlc3VsdF90eXBlKSA9CiAgCSAgKGJpdF9zdHJpZGUgKiAoaGlnaF9i b3VuZCAtIGxvd19ib3VuZCArIDEpICsgNykgLyA4OwotQEAgLTE5OTIsMTIgKzIwMDIsMTIgQEAg cmVzb2x2ZV9keW5hbWljX3JhbmdlIChzdHJ1Y3QgdHlwZSAqZHluX3JhbmdlX3R5cGUsCitAQCAt MTk5NiwxMiArMjAwNiwxMiBAQCByZXNvbHZlX2R5bmFtaWNfcmFuZ2UgKHN0cnVjdCB0eXBlICpk eW5fcmFuZ2VfdHlwZSwKICAgIENPUkVfQUREUiB2YWx1ZTsKICAgIHN0cnVjdCB0eXBlICpzdGF0 aWNfcmFuZ2VfdHlwZSwgKnN0YXRpY190YXJnZXRfdHlwZTsKICAgIGNvbnN0IHN0cnVjdCBkeW5h bWljX3Byb3AgKnByb3A7CkBAIC04NzgsNyArOTIwLDcgQEAgaW5kZXggNDNmZTU2ZTQ4Ny4uYTcy ZTJiM2UwYSAxMDA2NDQKICAgICAgewogICAgICAgIGxvd19ib3VuZC5raW5kID0gUFJPUF9DT05T VDsKICAgICAgICBsb3dfYm91bmQuZGF0YS5jb25zdF92YWwgPSB2YWx1ZTsKLUBAIC0yMDA5LDcg KzIwMTksNyBAQCByZXNvbHZlX2R5bmFtaWNfcmFuZ2UgKHN0cnVjdCB0eXBlICpkeW5fcmFuZ2Vf dHlwZSwKK0BAIC0yMDEzLDcgKzIwMjMsNyBAQCByZXNvbHZlX2R5bmFtaWNfcmFuZ2UgKHN0cnVj dCB0eXBlICpkeW5fcmFuZ2VfdHlwZSwKICAgICAgfQogIAogICAgcHJvcCA9ICZUWVBFX1JBTkdF X0RBVEEgKGR5bl9yYW5nZV90eXBlKS0+aGlnaDsKQEAgLTg4Nyw3ICs5MjksNyBAQCBpbmRleCA0 M2ZlNTZlNDg3Li5hNzJlMmIzZTBhIDEwMDY0NAogICAgICB7CiAgICAgICAgaGlnaF9ib3VuZC5r aW5kID0gUFJPUF9DT05TVDsKICAgICAgICBoaWdoX2JvdW5kLmRhdGEuY29uc3RfdmFsID0gdmFs dWU7Ci1AQCAtMjAyNCwxMiArMjAzNCwyMCBAQCByZXNvbHZlX2R5bmFtaWNfcmFuZ2UgKHN0cnVj dCB0eXBlICpkeW5fcmFuZ2VfdHlwZSwKK0BAIC0yMDI4LDEyICsyMDM4LDIwIEBAIHJlc29sdmVf ZHluYW1pY19yYW5nZSAoc3RydWN0IHR5cGUgKmR5bl9yYW5nZV90eXBlLAogICAgICAgIGhpZ2hf Ym91bmQuZGF0YS5jb25zdF92YWwgPSAwOwogICAgICB9CiAgCkBAIC05MTAsMTAgKzk1MiwxMCBA QCBpbmRleCA0M2ZlNTZlNDg3Li5hNzJlMmIzZTBhIDEwMDY0NAogICAgcmV0dXJuIHN0YXRpY19y YW5nZV90eXBlOwogIH0KIGRpZmYgLS1naXQgYS9nZGIvZ2RidHlwZXMuaCBiL2dkYi9nZGJ0eXBl cy5oCi1pbmRleCA5MmNhODVjMjk1Li4xNzkyMzhjZTgyIDEwMDY0NAoraW5kZXggNWY2MTRlNTcz YS4uODc4YzhiMDMwMiAxMDA2NDQKIC0tLSBhL2dkYi9nZGJ0eXBlcy5oCiArKysgYi9nZGIvZ2Ri dHlwZXMuaAotQEAgLTU2MCw2ICs1NjAsMTAgQEAgc3RydWN0IHJhbmdlX2JvdW5kcworQEAgLTYx Miw2ICs2MTIsMTAgQEAgc3RydWN0IHJhbmdlX2JvdW5kcwogIAogICAgc3RydWN0IGR5bmFtaWNf cHJvcCBoaWdoOwogIApAQCAtOTI0LDcgKzk2Niw3IEBAIGluZGV4IDkyY2E4NWMyOTUuLjE3OTIz OGNlODIgMTAwNjQ0CiAgICAvKiBUcnVlIGlmIEhJR0ggcmFuZ2UgYm91bmQgY29udGFpbnMgdGhl IG51bWJlciBvZiBlbGVtZW50cyBpbiB0aGUKICAgICAgIHN1YnJhbmdlLiBUaGlzIGFmZmVjdHMg aG93IHRoZSBmaW5hbCBoaWdodCBib3VuZCBpcyBjb21wdXRlZC4gICovCiAgCi1AQCAtNzMxLDcg KzczNSw2IEBAIHN0cnVjdCBtYWluX3R5cGUKK0BAIC03OTAsNyArNzk0LDYgQEAgc3RydWN0IG1h aW5fdHlwZQogICAgICAvKiAqIFVuaW9uIG1lbWJlciB1c2VkIGZvciByYW5nZSB0eXBlcy4gICov CiAgCiAgICAgIHN0cnVjdCByYW5nZV9ib3VuZHMgKmJvdW5kczsKQEAgLTkzMiw3ICs5NzQsNyBA QCBpbmRleCA5MmNhODVjMjk1Li4xNzkyMzhjZTgyIDEwMDY0NAogICAgfSBmbGRzX2JuZHM7CiAg CiAgICAvKiAqIFNsb3QgdG8gcG9pbnQgdG8gYWRkaXRpb25hbCBsYW5ndWFnZS1zcGVjaWZpYyBm aWVsZHMgb2YgdGhpcwotQEAgLTEyNTMsNiArMTI1NiwxNSBAQCBleHRlcm4gdm9pZCBhbGxvY2F0 ZV9nbmF0X2F1eF90eXBlIChzdHJ1Y3QgdHlwZSAqKTsKK0BAIC0xMzQ0LDYgKzEzNDcsMTUgQEAg ZXh0ZXJuIGJvb2wgc2V0X3R5cGVfYWxpZ24gKHN0cnVjdCB0eXBlICosIFVMT05HRVNUKTsKICAg IFRZUEVfUkFOR0VfREFUQShyYW5nZV90eXBlKS0+aGlnaC5raW5kCiAgI2RlZmluZSBUWVBFX0xP V19CT1VORF9LSU5EKHJhbmdlX3R5cGUpIFwKICAgIFRZUEVfUkFOR0VfREFUQShyYW5nZV90eXBl KS0+bG93LmtpbmQKQEAgLTk0OCw3ICs5OTAsNyBAQCBpbmRleCA5MmNhODVjMjk1Li4xNzkyMzhj ZTgyIDEwMDY0NAogIAogIC8qIFByb3BlcnR5IGFjY2Vzc29ycyBmb3IgdGhlIHR5cGUgZGF0YSBs b2NhdGlvbi4gICovCiAgI2RlZmluZSBUWVBFX0RBVEFfTE9DQVRJT04odGhpc3R5cGUpIFwKLUBA IC0xMjg3LDYgKzEyOTksOSBAQCBleHRlcm4gdm9pZCBhbGxvY2F0ZV9nbmF0X2F1eF90eXBlIChz dHJ1Y3QgdHlwZSAqKTsKK0BAIC0xMzc4LDYgKzEzOTAsOSBAQCBleHRlcm4gYm9vbCBzZXRfdHlw ZV9hbGlnbiAoc3RydWN0IHR5cGUgKiwgVUxPTkdFU1QpOwogICAgIFRZUEVfSElHSF9CT1VORF9V TkRFRklORUQoVFlQRV9JTkRFWF9UWVBFKGFycmF5dHlwZSkpCiAgI2RlZmluZSBUWVBFX0FSUkFZ X0xPV0VSX0JPVU5EX0lTX1VOREVGSU5FRChhcnJheXR5cGUpIFwKICAgICBUWVBFX0xPV19CT1VO RF9VTkRFRklORUQoVFlQRV9JTkRFWF9UWVBFKGFycmF5dHlwZSkpCkBAIC05NTgsNyArMTAwMCw3 IEBAIGluZGV4IDkyY2E4NWMyOTUuLjE3OTIzOGNlODIgMTAwNjQ0CiAgCiAgI2RlZmluZSBUWVBF X0FSUkFZX1VQUEVSX0JPVU5EX1ZBTFVFKGFycmF5dHlwZSkgXAogICAgIChUWVBFX0hJR0hfQk9V TkQoVFlQRV9JTkRFWF9UWVBFKChhcnJheXR5cGUpKSkpCi1AQCAtMTgxOCw2ICsxODMzLDcgQEAg ZXh0ZXJuIHN0cnVjdCB0eXBlICpjcmVhdGVfYXJyYXlfdHlwZV93aXRoX3N0cmlkZQorQEAgLTE5 MDksNiArMTkyNCw3IEBAIGV4dGVybiBzdHJ1Y3QgdHlwZSAqY3JlYXRlX2FycmF5X3R5cGVfd2l0 aF9zdHJpZGUKICAgICBzdHJ1Y3QgZHluYW1pY19wcm9wICosIHVuc2lnbmVkIGludCk7CiAgCiAg ZXh0ZXJuIHN0cnVjdCB0eXBlICpjcmVhdGVfcmFuZ2VfdHlwZSAoc3RydWN0IHR5cGUgKiwgc3Ry dWN0IHR5cGUgKiwKQEAgLTk2NywxMCArMTAwOSwxMCBAQCBpbmRleCA5MmNhODVjMjk1Li4xNzky MzhjZTgyIDEwMDY0NAogIAkJCQkgICAgICAgY29uc3Qgc3RydWN0IGR5bmFtaWNfcHJvcCAqKTsK ICAKIGRpZmYgLS1naXQgYS9nZGIvcGFyc2UuYyBiL2dkYi9wYXJzZS5jCi1pbmRleCA4YjJiYjIy Yzc2Li5lMWJmM2VkYmUyIDEwMDY0NAoraW5kZXggMTkzYWJlODUzZi4uZWEwZDAyN2JiMCAxMDA2 NDQKIC0tLSBhL2dkYi9wYXJzZS5jCiArKysgYi9nZGIvcGFyc2UuYwotQEAgLTk4NCwyMiArOTg0 LDIwIEBAIG9wZXJhdG9yX2xlbmd0aF9zdGFuZGFyZCAoY29uc3Qgc3RydWN0IGV4cHJlc3Npb24g KmV4cHIsIGludCBlbmRwb3MsCitAQCAtOTg5LDI0ICs5ODksMjAgQEAgb3BlcmF0b3JfbGVuZ3Ro X3N0YW5kYXJkIChjb25zdCBzdHJ1Y3QgZXhwcmVzc2lvbiAqZXhwciwgaW50IGVuZHBvcywKICAK ICAgICAgY2FzZSBPUF9SQU5HRToKICAgICAgICBvcGxlbiA9IDM7CkBAIC05ODEsNiArMTAyMyw3 IEBAIGluZGV4IDhiMmJiMjJjNzYuLmUxYmYzZWRiZTIgMTAwNjQ0CiAtICAgICAgc3dpdGNoIChy YW5nZV90eXBlKQogLQl7CiAtCWNhc2UgTE9XX0JPVU5EX0RFRkFVTFQ6CistCWNhc2UgTE9XX0JP VU5EX0RFRkFVTFRfRVhDTFVTSVZFOgogLQljYXNlIEhJR0hfQk9VTkRfREVGQVVMVDoKIC0JICBh cmdzID0gMTsKIC0JICBicmVhazsKQEAgLTk4OCw2ICsxMDMxLDcgQEAgaW5kZXggOGIyYmIyMmM3 Ni4uZTFiZjNlZGJlMiAxMDA2NDQKIC0JICBhcmdzID0gMDsKIC0JICBicmVhazsKIC0JY2FzZSBO T05FX0JPVU5EX0RFRkFVTFQ6CistCWNhc2UgTk9ORV9CT1VORF9ERUZBVUxUX0VYQ0xVU0lWRToK IC0JICBhcmdzID0gMjsKIC0JICBicmVhazsKIC0JfQpAQCAtMTAwNSwxMCArMTA0OSwxMCBAQCBp bmRleCA4YjJiYjIyYzc2Li5lMWJmM2VkYmUyIDEwMDY0NAogICAgICAgIGJyZWFrOwogIAogZGlm ZiAtLWdpdCBhL2dkYi9ydXN0LWV4cC55IGIvZ2RiL3J1c3QtZXhwLnkKLWluZGV4IDE5OWU4NzY3 MWUuLjM5N2E5MmRmZGIgMTAwNjQ0CitpbmRleCA5ZjIxNDk4ZDRjLi41ZDBmMjRmNGUxIDEwMDY0 NAogLS0tIGEvZ2RiL3J1c3QtZXhwLnkKICsrKyBiL2dkYi9ydXN0LWV4cC55Ci1AQCAtMjQ0OCwy MyArMjQ0OCwxNyBAQCBjb252ZXJ0X2FzdF90b19leHByZXNzaW9uIChzdHJ1Y3QgcGFyc2VyX3N0 YXRlICpzdGF0ZSwKK0BAIC0yNDc3LDI0ICsyNDc3LDI4IEBAIGNvbnZlcnRfYXN0X3RvX2V4cHJl c3Npb24gKHN0cnVjdCBwYXJzZXJfc3RhdGUgKnN0YXRlLAogIAogICAgICBjYXNlIE9QX1JBTkdF OgogICAgICAgIHsKQEAgLTEwMjUsMzMgKzEwNjksNDggQEAgaW5kZXggMTk5ZTg3NjcxZS4uMzk3 YTkyZGZkYiAxMDA2NDQKICAJICB7CiAgCSAgICBjb252ZXJ0X2FzdF90b19leHByZXNzaW9uIChz dGF0ZSwgb3BlcmF0aW9uLT5yaWdodC5vcCwgdG9wKTsKIC0JICAgIGlmIChraW5kID09IEJPVEhf Qk9VTkRfREVGQVVMVCkKLS0JICAgICAga2luZCA9IExPV19CT1VORF9ERUZBVUxUOwotLQkgICAg ZWxzZQotLQkgICAgICB7CistCSAgICAgIGtpbmQgPSAob3BlcmF0aW9uLT5pbmNsdXNpdmUKKy0J CSAgICAgID8gTE9XX0JPVU5EX0RFRkFVTFQgOiBMT1dfQk9VTkRfREVGQVVMVF9FWENMVVNJVkUp OworKwkgICAgaWYgKGtpbmQgPT0gU1VCQVJSQVlfTk9ORV9CT1VORCkKKysJICAgICAgeworKwkJ a2luZCA9IChyYW5nZV90eXBlKSBTVUJBUlJBWV9ISUdIX0JPVU5EOworKwkJaWYgKCFvcGVyYXRp b24tPmluY2x1c2l2ZSkKKysJCSAga2luZCA9IChyYW5nZV90eXBlKSAoa2luZCB8IFNVQkFSUkFZ X0hJR0hfQk9VTkRfRVhDTFVTSVZFKTsKKysJICAgICAgfQorIAkgICAgZWxzZQorIAkgICAgICB7 CiAtCQlnZGJfYXNzZXJ0IChraW5kID09IEhJR0hfQk9VTkRfREVGQVVMVCk7Ci0tCQlraW5kID0g Tk9ORV9CT1VORF9ERUZBVUxUOwotLQkgICAgICB9Ci0rCSAgICBraW5kID0gKHJhbmdlX3R5cGUp IChraW5kIHwgU1VCQVJSQVlfSElHSF9CT1VORCk7CistCQlraW5kID0gKG9wZXJhdGlvbi0+aW5j bHVzaXZlCistCQkJPyBOT05FX0JPVU5EX0RFRkFVTFQgOiBOT05FX0JPVU5EX0RFRkFVTFRfRVhD TFVTSVZFKTsKKysJCWdkYl9hc3NlcnQgKGtpbmQgPT0gU1VCQVJSQVlfTE9XX0JPVU5EKTsKKysJ CWtpbmQgPSAocmFuZ2VfdHlwZSkgKGtpbmQgfCBTVUJBUlJBWV9ISUdIX0JPVU5EKTsKKysJCWlm ICghb3BlcmF0aW9uLT5pbmNsdXNpdmUpCisrCQkgIGtpbmQgPSAocmFuZ2VfdHlwZSkgKGtpbmQg fCBTVUJBUlJBWV9ISUdIX0JPVU5EX0VYQ0xVU0lWRSk7CisgCSAgICAgIH0KICAJICB9Ci0gCXdy aXRlX2V4cF9lbHRfb3Bjb2RlIChzdGF0ZSwgT1BfUkFOR0UpOwotIAl3cml0ZV9leHBfZWx0X2xv bmdjc3QgKHN0YXRlLCBraW5kKTsKKyAJZWxzZQogZGlmZiAtLWdpdCBhL2dkYi9ydXN0LWxhbmcu YyBiL2dkYi9ydXN0LWxhbmcuYwotaW5kZXggZjdiZWMzM2E0Mi4uY2I5MjRlMDg0ZCAxMDA2NDQK K2luZGV4IGVkMDM5NDU5MmYuLjRiZTExMmI3YTMgMTAwNjQ0CiAtLS0gYS9nZGIvcnVzdC1sYW5n LmMKICsrKyBiL2dkYi9ydXN0LWxhbmcuYwotQEAgLTEzNjYsOSArMTM2Niw5IEBAIHJ1c3RfcmFu Z2UgKHN0cnVjdCBleHByZXNzaW9uICpleHAsIGludCAqcG9zLCBlbnVtIG5vc2lkZSBub3NpZGUp CitAQCAtMTEwNiwxMyArMTEwNiwxMSBAQCBydXN0X3JhbmdlIChzdHJ1Y3QgZXhwcmVzc2lvbiAq ZXhwLCBpbnQgKnBvcywgZW51bSBub3NpZGUgbm9zaWRlKQogICAga2luZCA9IChlbnVtIHJhbmdl X3R5cGUpIGxvbmdlc3RfdG9faW50IChleHAtPmVsdHNbKnBvcyArIDFdLmxvbmdjb25zdCk7CiAg ICAqcG9zICs9IDM7CiAgCi0tICBpZiAoa2luZCA9PSBISUdIX0JPVU5EX0RFRkFVTFQgfHwga2lu ZCA9PSBOT05FX0JPVU5EX0RFRkFVTFQpCistICBpZiAoa2luZCA9PSBISUdIX0JPVU5EX0RFRkFV TFQgfHwga2luZCA9PSBOT05FX0JPVU5EX0RFRkFVTFQKKy0gICAgICB8fCBraW5kID09IE5PTkVf Qk9VTkRfREVGQVVMVF9FWENMVVNJVkUpCiArICBpZiAoKGtpbmQgJiBTVUJBUlJBWV9MT1dfQk9V TkQpID09IFNVQkFSUkFZX0xPV19CT1VORCkKICAgICAgbG93ID0gZXZhbHVhdGVfc3ViZXhwIChO VUxMX1RZUEUsIGV4cCwgcG9zLCBub3NpZGUpOwotLSAgaWYgKGtpbmQgPT0gTE9XX0JPVU5EX0RF RkFVTFQgfHwga2luZCA9PSBOT05FX0JPVU5EX0RFRkFVTFQpCistICBpZiAoa2luZCA9PSBMT1df Qk9VTkRfREVGQVVMVCB8fCBraW5kID09IExPV19CT1VORF9ERUZBVUxUX0VYQ0xVU0lWRQorLSAg ICAgIHx8IGtpbmQgPT0gTk9ORV9CT1VORF9ERUZBVUxUIHx8IGtpbmQgPT0gTk9ORV9CT1VORF9E RUZBVUxUX0VYQ0xVU0lWRSkKICsgIGlmICgoa2luZCAmIFNVQkFSUkFZX0hJR0hfQk9VTkQpID09 IFNVQkFSUkFZX0hJR0hfQk9VTkQpCiAgICAgIGhpZ2ggPSBldmFsdWF0ZV9zdWJleHAgKE5VTExf VFlQRSwgZXhwLCBwb3MsIG5vc2lkZSk7CistICBib29sIGluY2x1c2l2ZSA9IChraW5kID09IE5P TkVfQk9VTkRfREVGQVVMVCB8fCBraW5kID09IExPV19CT1VORF9ERUZBVUxUKTsKKysgIGJvb2wg aW5jbHVzaXZlID0gKCEoKGtpbmQgJiBTVUJBUlJBWV9ISUdIX0JPVU5EX0VYQ0xVU0lWRSkgPT0g U1VCQVJSQVlfSElHSF9CT1VORF9FWENMVVNJVkUpKTsKICAKICAgIGlmIChub3NpZGUgPT0gRVZB TF9TS0lQKQotQEAgLTE0NTcsNyArMTQ1Nyw3IEBAIHJ1c3RfY29tcHV0ZV9yYW5nZSAoc3RydWN0 IHR5cGUgKnR5cGUsIHN0cnVjdCB2YWx1ZSAqcmFuZ2UsCisgICAgIHJldHVybiB2YWx1ZV9mcm9t X2xvbmdlc3QgKGJ1aWx0aW5fdHlwZSAoZXhwLT5nZGJhcmNoKS0+YnVpbHRpbl9pbnQsIDEpOwor QEAgLTEyMDEsNyArMTE5OSw3IEBAIHJ1c3RfY29tcHV0ZV9yYW5nZSAoc3RydWN0IHR5cGUgKnR5 cGUsIHN0cnVjdCB2YWx1ZSAqcmFuZ2UsCiAgCiAgICAqbG93ID0gMDsKICAgICpoaWdoID0gMDsK QEAgLTEwNjAsNyArMTExOSw3IEBAIGluZGV4IGY3YmVjMzNhNDIuLmNiOTI0ZTA4NGQgMTAwNjQ0 CiAgCiAgICBpZiAoVFlQRV9ORklFTERTICh0eXBlKSA9PSAwKQogICAgICByZXR1cm47Ci1AQCAt MTQ2NSwxNSArMTQ2NSwxNCBAQCBydXN0X2NvbXB1dGVfcmFuZ2UgKHN0cnVjdCB0eXBlICp0eXBl LCBzdHJ1Y3QgdmFsdWUgKnJhbmdlLAorQEAgLTEyMDksMTUgKzEyMDcsMTQgQEAgcnVzdF9jb21w dXRlX3JhbmdlIChzdHJ1Y3QgdHlwZSAqdHlwZSwgc3RydWN0IHZhbHVlICpyYW5nZSwKICAgIGkg PSAwOwogICAgaWYgKHN0cmNtcCAoVFlQRV9GSUVMRF9OQU1FICh0eXBlLCAwKSwgInN0YXJ0Iikg PT0gMCkKICAgICAgewpAQCAtMTA3Niw5ICsxMTM1LDkgQEAgaW5kZXggZjdiZWMzM2E0Mi4uY2I5 MjRlMDg0ZCAxMDA2NDQKIC0JICAgICAgID8gTE9XX0JPVU5EX0RFRkFVTFQgOiBOT05FX0JPVU5E X0RFRkFVTFQpOwogKyAgICAgICpraW5kID0gKHJhbmdlX3R5cGUpICgqa2luZCB8IFNVQkFSUkFZ X0hJR0hfQk9VTkQpOwogICAgICAgICpoaWdoID0gdmFsdWVfYXNfbG9uZyAodmFsdWVfZmllbGQg KHJhbmdlLCBpKSk7Ci0gICAgIH0KLSB9Ci1AQCAtMTQ4OCw3ICsxNDg3LDcgQEAgcnVzdF9zdWJz Y3JpcHQgKHN0cnVjdCBleHByZXNzaW9uICpleHAsIGludCAqcG9zLCBlbnVtIG5vc2lkZSBub3Np ZGUsCisgCisgICAgICAgaWYgKHJ1c3RfaW5jbHVzaXZlX3JhbmdlX3R5cGVfcCAodHlwZSkpCitA QCAtMTIzNSw3ICsxMjMyLDcgQEAgcnVzdF9zdWJzY3JpcHQgKHN0cnVjdCBleHByZXNzaW9uICpl eHAsIGludCAqcG9zLCBlbnVtIG5vc2lkZSBub3NpZGUsCiAgICBzdHJ1Y3QgdHlwZSAqcmhzdHlw ZTsKICAgIExPTkdFU1QgbG93LCBoaWdoX2JvdW5kOwogICAgLyogSW5pdGlhbGl6ZWQgdG8gYXBw ZWFzZSB0aGUgY29tcGlsZXIuICAqLwpAQCAtMTA4Nyw3ICsxMTQ2LDcgQEAgaW5kZXggZjdiZWMz M2E0Mi4uY2I5MjRlMDg0ZCAxMDA2NDQKICAgIExPTkdFU1QgaGlnaCA9IDA7CiAgICBpbnQgd2Fu dF9zbGljZSA9IDA7CiAgCi1AQCAtMTU4Niw3ICsxNTg1LDcgQEAgcnVzdF9zdWJzY3JpcHQgKHN0 cnVjdCBleHByZXNzaW9uICpleHAsIGludCAqcG9zLCBlbnVtIG5vc2lkZSBub3NpZGUsCitAQCAt MTMzMyw3ICsxMzMwLDcgQEAgcnVzdF9zdWJzY3JpcHQgKHN0cnVjdCBleHByZXNzaW9uICpleHAs IGludCAqcG9zLCBlbnVtIG5vc2lkZSBub3NpZGUsCiAgCWVycm9yIChfKCJDYW5ub3Qgc3Vic2Ny aXB0IG5vbi1hcnJheSB0eXBlIikpOwogIAogICAgICAgIGlmICh3YW50X3NsaWNlCkBAIC0xMDk2 LDcgKzExNTUsNyBAQCBpbmRleCBmN2JlYzMzYTQyLi5jYjkyNGUwODRkIDEwMDY0NAogIAlsb3cg PSBsb3dfYm91bmQ7CiAgICAgICAgaWYgKGxvdyA8IDApCiAgCWVycm9yIChfKCJJbmRleCBsZXNz IHRoYW4gemVybyIpKTsKLUBAIC0xNjA0LDcgKzE2MDMsNyBAQCBydXN0X3N1YnNjcmlwdCAoc3Ry dWN0IGV4cHJlc3Npb24gKmV4cCwgaW50ICpwb3MsIGVudW0gbm9zaWRlIG5vc2lkZSwKK0BAIC0x MzUxLDcgKzEzNDgsNyBAQCBydXN0X3N1YnNjcmlwdCAoc3RydWN0IGV4cHJlc3Npb24gKmV4cCwg aW50ICpwb3MsIGVudW0gbm9zaWRlIG5vc2lkZSwKICAJICBDT1JFX0FERFIgYWRkcjsKICAJICBz dHJ1Y3QgdmFsdWUgKmFkZHJ2YWwsICp0ZW07CiAgCkBAIC0xNzQxLDEwICsxODAwLDEwIEBAIGlu ZGV4IDU4ZTNhMDljMzcuLjAzNWRlZjU0NjYgMTAwNjQ0CiAgICAgICAgaWYgKHR5cGVfbm90X2Fz c29jaWF0ZWQgKGFycmF5X3R5cGUpKQogICAgICAgICAgZXJyb3IgKF8oIm5vIHN1Y2ggdmVjdG9y IGVsZW1lbnQgKHZlY3RvciBub3QgYXNzb2NpYXRlZCkiKSk7CiBkaWZmIC0tZ2l0IGEvZ2RiL3Zh bG9wcy5jIGIvZ2RiL3ZhbG9wcy5jCi1pbmRleCA5NTI1ZGM4NDk5Li40Y2Q0ZmQ5NmFlIDEwMDY0 NAoraW5kZXggNjJhODZjMDZhMy4uNWMzNWQ3YTA5MSAxMDA2NDQKIC0tLSBhL2dkYi92YWxvcHMu YwogKysrIGIvZ2RiL3ZhbG9wcy5jCi1AQCAtMzc3Niw1NiArMzc3NiwxOTUgQEAgdmFsdWVfb2Zf dGhpc19zaWxlbnQgKGNvbnN0IHN0cnVjdCBsYW5ndWFnZV9kZWZuICpsYW5nKQorQEAgLTM4MDgs NTYgKzM4MDgsMTk1IEBAIHZhbHVlX29mX3RoaXNfc2lsZW50IChjb25zdCBzdHJ1Y3QgbGFuZ3Vh Z2VfZGVmbiAqbGFuZykKICAKICBzdHJ1Y3QgdmFsdWUgKgogIHZhbHVlX3NsaWNlIChzdHJ1Y3Qg dmFsdWUgKmFycmF5LCBpbnQgbG93Ym91bmQsIGludCBsZW5ndGgpCkBAIC0xOTcxLDEwICsyMDMw LDEwIEBAIGluZGV4IDk1MjVkYzg0OTkuLjRjZDRmZDk2YWUgMTAwNjQ0CiAgCiAgLyogQ3JlYXRl IGEgdmFsdWUgZm9yIGEgRk9SVFJBTiBjb21wbGV4IG51bWJlci4gIEN1cnJlbnRseSBtb3N0IG9m IHRoZQogZGlmZiAtLWdpdCBhL2dkYi92YWx1ZS5oIGIvZ2RiL3ZhbHVlLmgKLWluZGV4IDdkYzY3 ZGM3MjEuLjAzY2EwNjQ0OGYgMTAwNjQ0CitpbmRleCA0ZDc1Yzk2NmVkLi5lODM4ZmQ1ODBlIDEw MDY0NAogLS0tIGEvZ2RiL3ZhbHVlLmgKICsrKyBiL2dkYi92YWx1ZS5oCi1AQCAtMTEyOCw2ICsx MTI4LDggQEAgZXh0ZXJuIHN0cnVjdCB2YWx1ZSAqdmFyeWluZ190b19zbGljZSAoc3RydWN0IHZh bHVlICopOworQEAgLTExMzksNiArMTEzOSw4IEBAIGV4dGVybiBzdHJ1Y3QgdmFsdWUgKnZhcnlp bmdfdG9fc2xpY2UgKHN0cnVjdCB2YWx1ZSAqKTsKICAKICBleHRlcm4gc3RydWN0IHZhbHVlICp2 YWx1ZV9zbGljZSAoc3RydWN0IHZhbHVlICosIGludCwgaW50KTsKICAKCmRpZmYgLS1naXQgYS9n ZGItdmxhLWludGVsLWZvcnRyYW4tdmxhLXN0cmluZ3MucGF0Y2ggYi9nZGItdmxhLWludGVsLWZv cnRyYW4tdmxhLXN0cmluZ3MucGF0Y2gKaW5kZXggYzMzZDlmOS4uNGQyYTE2YSAxMDA2NDQKLS0t IGEvZ2RiLXZsYS1pbnRlbC1mb3J0cmFuLXZsYS1zdHJpbmdzLnBhdGNoCisrKyBiL2dkYi12bGEt aW50ZWwtZm9ydHJhbi12bGEtc3RyaW5ncy5wYXRjaApAQCAtMzMsMTAgKzMzLDEwIEBAIGdpdCBk aWZmIC0tc3RhdCAtcCBnZGIvbWFzdGVyLi4uZ2RiL3VzZXJzL2JoZWNrZWwvZm9ydHJhbi12bGEt c3RyaW5ncwogIDIwIGZpbGVzIGNoYW5nZWQsIDgyNyBpbnNlcnRpb25zKCspLCAxMTAgZGVsZXRp b25zKC0pCiAKIGRpZmYgLS1naXQgYS9nZGIvTkVXUyBiL2dkYi9ORVdTCi1pbmRleCA2YzlhMmVj ZWZkLi5mNDBlYjZjMzkwIDEwMDY0NAoraW5kZXggY2VmNTU4MDM5ZS4uZmE0YzAzODJkYyAxMDA2 NDQKIC0tLSBhL2dkYi9ORVdTCiArKysgYi9nZGIvTkVXUwotQEAgLTMsNiArMyw4IEBACitAQCAt NTksNiArNTksOCBAQCBTSC01L1NINjQgcnVubmluZyBPcGVuQlNEIAlTSC01L1NINjQgc3VwcG9y dCBpbiBzaCotKi1vcGVuYnNkKgogIAogICoqKiBDaGFuZ2VzIGluIEdEQiA4LjEKICAKQEAgLTc5 LDEwICs3OSwxMCBAQCBpbmRleCBjNGMwOTE4ZTI2Li4zOTA0ZmFiMjYwIDEwMDY0NAogIAkgIHR5 cGVfcHJpbnQgKHZhbHVlX3R5cGUgKHZhbCksICIiLCBzdHJlYW0sIC0xKTsKICAJICBmcHJpbnRm X2ZpbHRlcmVkIChzdHJlYW0sICIpICIpOwogZGlmZiAtLWdpdCBhL2dkYi9kd2FyZjJyZWFkLmMg Yi9nZGIvZHdhcmYycmVhZC5jCi1pbmRleCA4ZmMxZjdlYzQ1Li45OGU3ZDg0MmYwIDEwMDY0NAor aW5kZXggYTI4ZDBhMDI5ZS4uNDAwNmY0YTQ4ZiAxMDA2NDQKIC0tLSBhL2dkYi9kd2FyZjJyZWFk LmMKICsrKyBiL2dkYi9kd2FyZjJyZWFkLmMKLUBAIC0yMDc3LDcgKzIwNzcsOCBAQCBzdGF0aWMg dm9pZCByZWFkX3NpZ25hdHVyZWRfdHlwZSAoc3RydWN0IHNpZ25hdHVyZWRfdHlwZSAqKTsKK0BA IC0xNzg5LDcgKzE3ODksOCBAQCBzdGF0aWMgdm9pZCByZWFkX3NpZ25hdHVyZWRfdHlwZSAoc3Ry dWN0IHNpZ25hdHVyZWRfdHlwZSAqKTsKICAKICBzdGF0aWMgaW50IGF0dHJfdG9fZHluYW1pY19w cm9wIChjb25zdCBzdHJ1Y3QgYXR0cmlidXRlICphdHRyLAogIAkJCQkgc3RydWN0IGRpZV9pbmZv ICpkaWUsIHN0cnVjdCBkd2FyZjJfY3UgKmN1LApAQCAtOTIsNyArOTIsNyBAQCBpbmRleCA4ZmMx ZjdlYzQ1Li45OGU3ZDg0MmYwIDEwMDY0NAogIAogIC8qIG1lbW9yeSBhbGxvY2F0aW9uIGludGVy ZmFjZSAqLwogIAotQEAgLTEzNzQ1LDcgKzEzNzQ2LDcgQEAgcmVhZF9mdW5jX3Njb3BlIChzdHJ1 Y3QgZGllX2luZm8gKmRpZSwgc3RydWN0IGR3YXJmMl9jdSAqY3UpCitAQCAtMTM2ODEsNyArMTM2 ODIsNyBAQCByZWFkX2Z1bmNfc2NvcGUgKHN0cnVjdCBkaWVfaW5mbyAqZGllLCBzdHJ1Y3QgZHdh cmYyX2N1ICpjdSkKICAgICAgewogICAgICAgIG5ld29iai0+c3RhdGljX2xpbmsKICAJPSBYT0JO RVcgKCZvYmpmaWxlLT5vYmpmaWxlX29ic3RhY2ssIHN0cnVjdCBkeW5hbWljX3Byb3ApOwpAQCAt MTAxLDcgKzEwMSw3IEBAIGluZGV4IDhmYzFmN2VjNDUuLjk4ZTdkODQyZjAgMTAwNjQ0CiAgICAg IH0KICAKICAgIGN1LT5saXN0X2luX3Njb3BlID0gJmxvY2FsX3N5bWJvbHM7Ci1AQCAtMTYzMjcs NyArMTYzMjgsOCBAQCByZWFkX2FycmF5X3R5cGUgKHN0cnVjdCBkaWVfaW5mbyAqZGllLCBzdHJ1 Y3QgZHdhcmYyX2N1ICpjdSkKK0BAIC0xNjM4NSw3ICsxNjM4Niw4IEBAIHJlYWRfYXJyYXlfdHlw ZSAoc3RydWN0IGRpZV9pbmZvICpkaWUsIHN0cnVjdCBkd2FyZjJfY3UgKmN1KQogIAogICAgICAg IGJ5dGVfc3RyaWRlX3Byb3AKICAJPSAoc3RydWN0IGR5bmFtaWNfcHJvcCAqKSBhbGxvY2EgKHNp emVvZiAoc3RydWN0IGR5bmFtaWNfcHJvcCkpOwpAQCAtMTExLDcgKzExMSw3IEBAIGluZGV4IDhm YzFmN2VjNDUuLjk4ZTdkODQyZjAgMTAwNjQ0CiAgICAgICAgaWYgKCFzdHJpZGVfb2spCiAgCXsK ICAJICBjb21wbGFpbnQgKCZzeW1maWxlX2NvbXBsYWludHMsCi1AQCAtMTcwNzUsMjkgKzE3MDc3 LDk0IEBAIHJlYWRfdGFnX3N0cmluZ190eXBlIChzdHJ1Y3QgZGllX2luZm8gKmRpZSwgc3RydWN0 IGR3YXJmMl9jdSAqY3UpCitAQCAtMTcxNTYsMjkgKzE3MTU4LDk0IEBAIHJlYWRfdGFnX3N0cmlu Z190eXBlIChzdHJ1Y3QgZGllX2luZm8gKmRpZSwgc3RydWN0IGR3YXJmMl9jdSAqY3UpCiAgICBz dHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCA9IGdldF9vYmpmaWxlX2FyY2ggKG9iamZpbGUpOwogICAg c3RydWN0IHR5cGUgKnR5cGUsICpyYW5nZV90eXBlLCAqaW5kZXhfdHlwZSwgKmNoYXJfdHlwZTsK ICAgIHN0cnVjdCBhdHRyaWJ1dGUgKmF0dHI7CkBAIC0yMTcsNyArMjE3LDcgQEAgaW5kZXggOGZj MWY3ZWM0NS4uOThlN2Q4NDJmMCAxMDA2NDQKICAgIGNoYXJfdHlwZSA9IGxhbmd1YWdlX3N0cmlu Z19jaGFyX3R5cGUgKGN1LT5sYW5ndWFnZV9kZWZuLCBnZGJhcmNoKTsKICAgIHR5cGUgPSBjcmVh dGVfc3RyaW5nX3R5cGUgKE5VTEwsIGNoYXJfdHlwZSwgcmFuZ2VfdHlwZSk7CiAgCi1AQCAtMTc0 NDYsNyArMTc1MTMsOCBAQCByZWFkX2Jhc2VfdHlwZSAoc3RydWN0IGRpZV9pbmZvICpkaWUsIHN0 cnVjdCBkd2FyZjJfY3UgKmN1KQorQEAgLTE3NTI5LDcgKzE3NTk2LDggQEAgcmVhZF9iYXNlX3R5 cGUgKHN0cnVjdCBkaWVfaW5mbyAqZGllLCBzdHJ1Y3QgZHdhcmYyX2N1ICpjdSkKICAKICBzdGF0 aWMgaW50CiAgYXR0cl90b19keW5hbWljX3Byb3AgKGNvbnN0IHN0cnVjdCBhdHRyaWJ1dGUgKmF0 dHIsIHN0cnVjdCBkaWVfaW5mbyAqZGllLApAQCAtMjI2LDggKzIyNiw4IEBAIGluZGV4IDhmYzFm N2VjNDUuLjk4ZTdkODQyZjAgMTAwNjQ0CiArCQkgICAgICBjb25zdCBnZGJfYnl0ZSAqYWRkaXRp b25hbF9kYXRhLCBpbnQgYWRkaXRpb25hbF9kYXRhX3NpemUpCiAgewogICAgc3RydWN0IGR3YXJm Ml9wcm9wZXJ0eV9iYXRvbiAqYmF0b247Ci0gICBzdHJ1Y3Qgb2JzdGFjayAqb2JzdGFjayA9ICZj dS0+b2JqZmlsZS0+b2JqZmlsZV9vYnN0YWNrOwotQEAgLTE3NDU2LDE0ICsxNzUyNCwzMyBAQCBh dHRyX3RvX2R5bmFtaWNfcHJvcCAoY29uc3Qgc3RydWN0IGF0dHJpYnV0ZSAqYXR0ciwgc3RydWN0 IGRpZV9pbmZvICpkaWUsCisgICBzdHJ1Y3Qgb2JzdGFjayAqb2JzdGFjaworQEAgLTE3NTQwLDE0 ICsxNzYwOCwzMyBAQCBhdHRyX3RvX2R5bmFtaWNfcHJvcCAoY29uc3Qgc3RydWN0IGF0dHJpYnV0 ZSAqYXR0ciwgc3RydWN0IGRpZV9pbmZvICpkaWUsCiAgCiAgICBpZiAoYXR0cl9mb3JtX2lzX2Js b2NrIChhdHRyKSkKICAgICAgewpAQCAtMjQzLDcgKzI0Myw3IEBAIGluZGV4IDhmYzFmN2VjNDUu Ljk4ZTdkODQyZjAgMTAwNjQ0CiArCSAgZ2RiX2J5dGUgKmRhdGE7CiArCiArCSAgZGF0YSA9IChn ZGJfYnl0ZSAqKSBvYnN0YWNrX2FsbG9jKAotKwkgICAgICAmY3UtPm9iamZpbGUtPm9iamZpbGVf b2JzdGFjaywKKysJICAgICAgJmN1LT5wZXJfY3UtPmR3YXJmMl9wZXJfb2JqZmlsZS0+b2JqZmls ZS0+b2JqZmlsZV9vYnN0YWNrLAogKwkgICAgICBEV19CTE9DSyAoYXR0ciktPnNpemUgKyBhZGRp dGlvbmFsX2RhdGFfc2l6ZSk7CiArCSAgbWVtY3B5IChkYXRhLCBEV19CTE9DSyAoYXR0ciktPmRh dGEsIERXX0JMT0NLIChhdHRyKS0+c2l6ZSk7CiArCSAgbWVtY3B5IChkYXRhICsgRFdfQkxPQ0sg KGF0dHIpLT5zaXplLCBhZGRpdGlvbmFsX2RhdGEsCkBAIC0yNjUsNyArMjY1LDcgQEAgaW5kZXgg OGZjMWY3ZWM0NS4uOThlN2Q4NDJmMCAxMDA2NDQKICAgICAgfQogICAgZWxzZSBpZiAoYXR0cl9m b3JtX2lzX3JlZiAoYXR0cikpCiAgICAgIHsKLUBAIC0xNzQ5Niw4ICsxNzU4MywyOCBAQCBhdHRy X3RvX2R5bmFtaWNfcHJvcCAoY29uc3Qgc3RydWN0IGF0dHJpYnV0ZSAqYXR0ciwgc3RydWN0IGRp ZV9pbmZvICpkaWUsCitAQCAtMTc1ODAsOCArMTc2NjcsMjggQEAgYXR0cl90b19keW5hbWljX3By b3AgKGNvbnN0IHN0cnVjdCBhdHRyaWJ1dGUgKmF0dHIsIHN0cnVjdCBkaWVfaW5mbyAqZGllLAog IAkJYmF0b24gPSBYT0JORVcgKG9ic3RhY2ssIHN0cnVjdCBkd2FyZjJfcHJvcGVydHlfYmF0b24p OwogIAkJYmF0b24tPnJlZmVyZW5jZWRfdHlwZSA9IGRpZV90eXBlICh0YXJnZXRfZGllLCB0YXJn ZXRfY3UpOwogIAkJYmF0b24tPmxvY2V4cHIucGVyX2N1ID0gY3UtPnBlcl9jdTsKQEAgLTI3Niw3 ICsyNzYsNyBAQCBpbmRleCA4ZmMxZjdlYzQ1Li45OGU3ZDg0MmYwIDEwMDY0NAogKwkJICB7CiAr CQkgICAgZ2RiX2J5dGUgKmRhdGE7CiArCi0rCQkgICAgZGF0YSA9IChnZGJfYnl0ZSAqKSBvYnN0 YWNrX2FsbG9jICgmY3UtPm9iamZpbGUtPm9iamZpbGVfb2JzdGFjaywKKysJCSAgICBkYXRhID0g KGdkYl9ieXRlICopIG9ic3RhY2tfYWxsb2MgKCZjdS0+cGVyX2N1LT5kd2FyZjJfcGVyX29iamZp bGUtPm9iamZpbGUtPm9iamZpbGVfb2JzdGFjaywKICsJCQkgICAgRFdfQkxPQ0sgKHRhcmdldF9h dHRyKS0+c2l6ZSArIGFkZGl0aW9uYWxfZGF0YV9zaXplKTsKICsJCSAgICBtZW1jcHkgKGRhdGEs IERXX0JMT0NLICh0YXJnZXRfYXR0ciktPmRhdGEsCiArCQkJICAgIERXX0JMT0NLICh0YXJnZXRf YXR0ciktPnNpemUpOwpAQCAtMjk2LDE1ICsyOTYsMTYgQEAgaW5kZXggOGZjMWY3ZWM0NS4uOThl N2Q4NDJmMCAxMDA2NDQKICAJCXByb3AtPmRhdGEuYmF0b24gPSBiYXRvbjsKICAJCXByb3AtPmtp bmQgPSBQUk9QX0xPQ0VYUFI7CiAgCQlnZGJfYXNzZXJ0IChwcm9wLT5kYXRhLmJhdG9uICE9IE5V TEwpOwotQEAgLTE3NjA4LDI0ICsxNzcxNSwyNCBAQCByZWFkX3N1YnJhbmdlX3R5cGUgKHN0cnVj dCBkaWVfaW5mbyAqZGllLCBzdHJ1Y3QgZHdhcmYyX2N1ICpjdSkKK0BAIC0xNzY5Miw3ICsxNzc5 OSw3IEBAIHJlYWRfc3VicmFuZ2VfdHlwZSAoc3RydWN0IGRpZV9pbmZvICpkaWUsIHN0cnVjdCBk d2FyZjJfY3UgKmN1KQogIAogICAgYXR0ciA9IGR3YXJmMl9hdHRyIChkaWUsIERXX0FUX2J5dGVf c3RyaWRlLCBjdSk7CiAgICBpZiAoYXR0cikKIC0gICAgaWYgKCFhdHRyX3RvX2R5bmFtaWNfcHJv cCAoYXR0ciwgZGllLCBjdSwgJnN0cmlkZSkpCiArICAgIGlmICghYXR0cl90b19keW5hbWljX3By b3AgKGF0dHIsIGRpZSwgY3UsICZzdHJpZGUsIE5VTEwsIDApKQogICAgICAgICAgY29tcGxhaW50 ICgmc3ltZmlsZV9jb21wbGFpbnRzLCBfKCJNaXNzaW5nIERXX0FUX2J5dGVfc3RyaWRlICIKLSAg ICAgICAgICAgICAgICAgICAiLSBESUUgYXQgMHgleCBbaW4gbW9kdWxlICVzXSIpLAotICAgICAg ICAgICAgICB0b191bmRlcmx5aW5nIChkaWUtPnNlY3Rfb2ZmKSwgb2JqZmlsZV9uYW1lIChjdS0+ b2JqZmlsZSkpOworICAgICAgICAgICAgICAgICAgICItIERJRSBhdCAweCVzIFtpbiBtb2R1bGUg JXNdIiksCisgCQkgICBzZWN0X29mZnNldF9zdHIgKGRpZS0+c2VjdF9vZmYpLAorQEAgLTE3NzAw LDcgKzE3ODA3LDcgQEAgcmVhZF9zdWJyYW5nZV90eXBlIChzdHJ1Y3QgZGllX2luZm8gKmRpZSwg c3RydWN0IGR3YXJmMl9jdSAqY3UpCiAgCiAgICBhdHRyID0gZHdhcmYyX2F0dHIgKGRpZSwgRFdf QVRfbG93ZXJfYm91bmQsIGN1KTsKICAgIGlmIChhdHRyKQpAQCAtMzEyLDggKzMxMyw5IEBAIGlu ZGV4IDhmYzFmN2VjNDUuLjk4ZTdkODQyZjAgMTAwNjQ0CiArICAgIGF0dHJfdG9fZHluYW1pY19w cm9wIChhdHRyLCBkaWUsIGN1LCAmbG93LCBOVUxMLCAwKTsKICAgIGVsc2UgaWYgKCFsb3dfZGVm YXVsdF9pc192YWxpZCkKICAgICAgY29tcGxhaW50ICgmc3ltZmlsZV9jb21wbGFpbnRzLCBfKCJN aXNzaW5nIERXX0FUX2xvd2VyX2JvdW5kICIKLSAJCQkJICAgICAgIi0gRElFIGF0IDB4JXggW2lu IG1vZHVsZSAlc10iKSwKLSAJICAgICAgIHRvX3VuZGVybHlpbmcgKGRpZS0+c2VjdF9vZmYpLCBv YmpmaWxlX25hbWUgKGN1LT5vYmpmaWxlKSk7CisgCQkJCSAgICAgICItIERJRSBhdCAlcyBbaW4g bW9kdWxlICVzXSIpLAorQEAgLTE3NzA4LDEwICsxNzgxNSwxMCBAQCByZWFkX3N1YnJhbmdlX3R5 cGUgKHN0cnVjdCBkaWVfaW5mbyAqZGllLCBzdHJ1Y3QgZHdhcmYyX2N1ICpjdSkKKyAJICAgICAg IG9iamZpbGVfbmFtZSAoY3UtPnBlcl9jdS0+ZHdhcmYyX3Blcl9vYmpmaWxlLT5vYmpmaWxlKSk7 CiAgCiAgICBhdHRyID0gZHdhcmYyX2F0dHIgKGRpZSwgRFdfQVRfdXBwZXJfYm91bmQsIGN1KTsK IC0gIGlmICghYXR0cl90b19keW5hbWljX3Byb3AgKGF0dHIsIGRpZSwgY3UsICZoaWdoKSkKQEAg LTMyNSwzMSArMzI3LDMxIEBAIGluZGV4IDhmYzFmN2VjNDUuLjk4ZTdkODQyZjAgMTAwNjQ0CiAg CXsKICAJICAvKiBJZiBib3VuZHMgYXJlIGNvbnN0YW50IGRvIHRoZSBmaW5hbCBjYWxjdWxhdGlv biBoZXJlLiAgKi8KICAJICBpZiAobG93LmtpbmQgPT0gUFJPUF9DT05TVCAmJiBoaWdoLmtpbmQg PT0gUFJPUF9DT05TVCkKLUBAIC0yNTIyMyw3ICsyNTMzMCw3IEBAIHNldF9kaWVfdHlwZSAoc3Ry dWN0IGRpZV9pbmZvICpkaWUsIHN0cnVjdCB0eXBlICp0eXBlLCBzdHJ1Y3QgZHdhcmYyX2N1ICpj dSkKK0BAIC0yNTI1NSw3ICsyNTM2Miw3IEBAIHNldF9kaWVfdHlwZSAoc3RydWN0IGRpZV9pbmZv ICpkaWUsIHN0cnVjdCB0eXBlICp0eXBlLCBzdHJ1Y3QgZHdhcmYyX2N1ICpjdSkKICAgIGF0dHIg PSBkd2FyZjJfYXR0ciAoZGllLCBEV19BVF9hbGxvY2F0ZWQsIGN1KTsKICAgIGlmIChhdHRyX2Zv cm1faXNfYmxvY2sgKGF0dHIpKQogICAgICB7CiAtICAgICAgaWYgKGF0dHJfdG9fZHluYW1pY19w cm9wIChhdHRyLCBkaWUsIGN1LCAmcHJvcCkpCiArICAgICAgaWYgKGF0dHJfdG9fZHluYW1pY19w cm9wIChhdHRyLCBkaWUsIGN1LCAmcHJvcCwgTlVMTCwgMCkpCi0gICAgICAgICBhZGRfZHluX3By b3AgKERZTl9QUk9QX0FMTE9DQVRFRCwgcHJvcCwgdHlwZSwgb2JqZmlsZSk7CisgICAgICAgICBh ZGRfZHluX3Byb3AgKERZTl9QUk9QX0FMTE9DQVRFRCwgcHJvcCwgdHlwZSk7CiAgICAgIH0KICAg IGVsc2UgaWYgKGF0dHIgIT0gTlVMTCkKLUBAIC0yNTIzOCw3ICsyNTM0NSw3IEBAIHNldF9kaWVf dHlwZSAoc3RydWN0IGRpZV9pbmZvICpkaWUsIHN0cnVjdCB0eXBlICp0eXBlLCBzdHJ1Y3QgZHdh cmYyX2N1ICpjdSkKK0BAIC0yNTI3MCw3ICsyNTM3Nyw3IEBAIHNldF9kaWVfdHlwZSAoc3RydWN0 IGRpZV9pbmZvICpkaWUsIHN0cnVjdCB0eXBlICp0eXBlLCBzdHJ1Y3QgZHdhcmYyX2N1ICpjdSkK ICAgIGF0dHIgPSBkd2FyZjJfYXR0ciAoZGllLCBEV19BVF9hc3NvY2lhdGVkLCBjdSk7CiAgICBp ZiAoYXR0cl9mb3JtX2lzX2Jsb2NrIChhdHRyKSkKICAgICAgewogLSAgICAgIGlmIChhdHRyX3Rv X2R5bmFtaWNfcHJvcCAoYXR0ciwgZGllLCBjdSwgJnByb3ApKQogKyAgICAgIGlmIChhdHRyX3Rv X2R5bmFtaWNfcHJvcCAoYXR0ciwgZGllLCBjdSwgJnByb3AsIE5VTEwsIDApKQotICAgICAgICAg YWRkX2R5bl9wcm9wIChEWU5fUFJPUF9BU1NPQ0lBVEVELCBwcm9wLCB0eXBlLCBvYmpmaWxlKTsK KyAgICAgICAgIGFkZF9keW5fcHJvcCAoRFlOX1BST1BfQVNTT0NJQVRFRCwgcHJvcCwgdHlwZSk7 CiAgICAgIH0KICAgIGVsc2UgaWYgKGF0dHIgIT0gTlVMTCkKLUBAIC0yNTI1MSw3ICsyNTM1OCw3 IEBAIHNldF9kaWVfdHlwZSAoc3RydWN0IGRpZV9pbmZvICpkaWUsIHN0cnVjdCB0eXBlICp0eXBl LCBzdHJ1Y3QgZHdhcmYyX2N1ICpjdSkKK0BAIC0yNTI4Myw3ICsyNTM5MCw3IEBAIHNldF9kaWVf dHlwZSAoc3RydWN0IGRpZV9pbmZvICpkaWUsIHN0cnVjdCB0eXBlICp0eXBlLCBzdHJ1Y3QgZHdh cmYyX2N1ICpjdSkKICAKICAgIC8qIFJlYWQgRFdfQVRfZGF0YV9sb2NhdGlvbiBhbmQgc2V0IGlu IHR5cGUuICAqLwogICAgYXR0ciA9IGR3YXJmMl9hdHRyIChkaWUsIERXX0FUX2RhdGFfbG9jYXRp b24sIGN1KTsKIC0gIGlmIChhdHRyX3RvX2R5bmFtaWNfcHJvcCAoYXR0ciwgZGllLCBjdSwgJnBy b3ApKQogKyAgaWYgKGF0dHJfdG9fZHluYW1pY19wcm9wIChhdHRyLCBkaWUsIGN1LCAmcHJvcCwg TlVMTCwgMCkpCi0gICAgIGFkZF9keW5fcHJvcCAoRFlOX1BST1BfREFUQV9MT0NBVElPTiwgcHJv cCwgdHlwZSwgb2JqZmlsZSk7CisgICAgIGFkZF9keW5fcHJvcCAoRFlOX1BST1BfREFUQV9MT0NB VElPTiwgcHJvcCwgdHlwZSk7CiAgCiAgICBpZiAoZHdhcmYyX3Blcl9vYmpmaWxlLT5kaWVfdHlw ZV9oYXNoID09IE5VTEwpCiBkaWZmIC0tZ2l0IGEvZ2RiL2YtdHlwZXByaW50LmMgYi9nZGIvZi10 eXBlcHJpbnQuYwpAQCAtNTA2LDEwICs1MDgsMTAgQEAgaW5kZXggZjE0ZjE4MTFmNC4uNGY2YTBl ZDA5YSAxMDA2NDQKICAJICAgIH0KICAJICBmcHJpbnRmaV9maWx0ZXJlZCAobGV2ZWwsIHN0cmVh bSwgIkVuZCBUeXBlICIpOwogZGlmZiAtLWdpdCBhL2dkYi9nZGJ0eXBlcy5jIGIvZ2RiL2dkYnR5 cGVzLmMKLWluZGV4IGE3MmUyYjNlMGEuLmNiNTUyNDAyM2YgMTAwNjQ0CitpbmRleCA2NDcxMWU4 Y2ZiLi4yYWE1MjUzMTAwIDEwMDY0NAogLS0tIGEvZ2RiL2dkYnR5cGVzLmMKICsrKyBiL2dkYi9n ZGJ0eXBlcy5jCi1AQCAtMTkxNSw3ICsxOTE1LDggQEAgaXNfZHluYW1pY190eXBlX2ludGVybmFs IChzdHJ1Y3QgdHlwZSAqdHlwZSwgaW50IHRvcF9sZXZlbCkKK0BAIC0xOTE5LDcgKzE5MTksOCBA QCBpc19keW5hbWljX3R5cGVfaW50ZXJuYWwgKHN0cnVjdCB0eXBlICp0eXBlLCBpbnQgdG9wX2xl dmVsKQogICAgdHlwZSA9IGNoZWNrX3R5cGVkZWYgKHR5cGUpOwogIAogICAgLyogV2Ugb25seSB3 YW50IHRvIHJlY29nbml6ZSByZWZlcmVuY2VzIGF0IHRoZSBvdXRlcm1vc3QgbGV2ZWwuICAqLwpA QCAtNTE5LDcgKzUyMSw3IEBAIGluZGV4IGE3MmUyYjNlMGEuLmNiNTUyNDAyM2YgMTAwNjQ0CiAg ICAgIHR5cGUgPSBjaGVja190eXBlZGVmIChUWVBFX1RBUkdFVF9UWVBFICh0eXBlKSk7CiAgCiAg ICAvKiBUeXBlcyB0aGF0IGhhdmUgYSBkeW5hbWljIFRZUEVfREFUQV9MT0NBVElPTiBhcmUgY29u c2lkZXJlZAotQEAgLTE5NDksNiArMTk1MCw3IEBAIGlzX2R5bmFtaWNfdHlwZV9pbnRlcm5hbCAo c3RydWN0IHR5cGUgKnR5cGUsIGludCB0b3BfbGV2ZWwpCitAQCAtMTk1Myw2ICsxOTU0LDcgQEAg aXNfZHluYW1pY190eXBlX2ludGVybmFsIChzdHJ1Y3QgdHlwZSAqdHlwZSwgaW50IHRvcF9sZXZl bCkKICAgICAgICB9CiAgCiAgICAgIGNhc2UgVFlQRV9DT0RFX0FSUkFZOgpAQCAtNTI3LDcgKzUy OSw3IEBAIGluZGV4IGE3MmUyYjNlMGEuLmNiNTUyNDAyM2YgMTAwNjQ0CiAgICAgICAgewogIAln ZGJfYXNzZXJ0IChUWVBFX05GSUVMRFMgKHR5cGUpID09IDEpOwogIAotQEAgLTIwNjcsNyArMjA2 OSw4IEBAIHJlc29sdmVfZHluYW1pY19hcnJheSAoc3RydWN0IHR5cGUgKnR5cGUsCitAQCAtMjA3 MSw3ICsyMDczLDggQEAgcmVzb2x2ZV9keW5hbWljX2FycmF5IChzdHJ1Y3QgdHlwZSAqdHlwZSwK ICAgIHN0cnVjdCBkeW5hbWljX3Byb3AgKnByb3A7CiAgICB1bnNpZ25lZCBpbnQgYml0X3N0cmlk ZSA9IDA7CiAgCkBAIC01MzcsNyArNTM5LDcgQEAgaW5kZXggYTcyZTJiM2UwYS4uY2I1NTI0MDIz ZiAxMDA2NDQKICAKICAgIHR5cGUgPSBjb3B5X3R5cGUgKHR5cGUpOwogIAotQEAgLTIwOTIsMTEg KzIwOTUsMTUgQEAgcmVzb2x2ZV9keW5hbWljX2FycmF5IChzdHJ1Y3QgdHlwZSAqdHlwZSwKK0BA IC0yMDk2LDExICsyMDk5LDE1IEBAIHJlc29sdmVfZHluYW1pY19hcnJheSAoc3RydWN0IHR5cGUg KnR5cGUsCiAgCiAgICBhcnlfZGltID0gY2hlY2tfdHlwZWRlZiAoVFlQRV9UQVJHRVRfVFlQRSAo ZWx0X3R5cGUpKTsKICAKQEAgLTU1NCw3ICs1NTYsNyBAQCBpbmRleCBhNzJlMmIzZTBhLi5jYjU1 MjQwMjNmIDEwMDY0NAogICAgcHJvcCA9IGdldF9keW5fcHJvcCAoRFlOX1BST1BfQllURV9TVFJJ REUsIHR5cGUpOwogICAgaWYgKHByb3AgIT0gTlVMTCkKICAgICAgewotQEAgLTIyNTEsNiArMjI1 OCwyOCBAQCByZXNvbHZlX2R5bmFtaWNfc3RydWN0IChzdHJ1Y3QgdHlwZSAqdHlwZSwKK0BAIC0y MjU1LDYgKzIyNjIsMjggQEAgcmVzb2x2ZV9keW5hbWljX3N0cnVjdCAoc3RydWN0IHR5cGUgKnR5 cGUsCiAgICByZXR1cm4gcmVzb2x2ZWRfdHlwZTsKICB9CiAgCkBAIC01ODMsNyArNTg1LDcgQEAg aW5kZXggYTcyZTJiM2UwYS4uY2I1NTI0MDIzZiAxMDA2NDQKICAvKiBXb3JrZXIgZm9yIHJlc29s dmVkX2R5bmFtaWNfdHlwZS4gICovCiAgCiAgc3RhdGljIHN0cnVjdCB0eXBlICoKLUBAIC0yMjk5 LDcgKzIzMjgsMTIgQEAgcmVzb2x2ZV9keW5hbWljX3R5cGVfaW50ZXJuYWwgKHN0cnVjdCB0eXBl ICp0eXBlLAorQEAgLTIzMDMsNyArMjMzMiwxMiBAQCByZXNvbHZlX2R5bmFtaWNfdHlwZV9pbnRl cm5hbCAoc3RydWN0IHR5cGUgKnR5cGUsCiAgCSAgICBicmVhazsKICAJICB9CiAgCkBAIC0xMjkw LDEwICsxMjkyLDEwIEBAIGluZGV4IGI2ZTc3NzIzNWMuLjE0YjYxMWY3YjUgMTAwNjQ0CiAgCW1p X2dkYl90ZXN0ICI1ODItdmFyLXNob3ctZm9ybWF0IHB2bGEyX25vdF9hc3NvY2lhdGVkIiBcCiAg CSAgICAiNTgyXFxeZG9uZSxmb3JtYXQ9XCJuYXR1cmFsXCIiIFwKIGRpZmYgLS1naXQgYS9nZGIv dHlwZXByaW50LmMgYi9nZGIvdHlwZXByaW50LmMKLWluZGV4IGMwOThhM2Y0MjYuLjMxOWZiYWY5 NGUgMTAwNjQ0CitpbmRleCAyMjJmYzBhMDZiLi4zNzAyMWU4ZDBkIDEwMDY0NAogLS0tIGEvZ2Ri L3R5cGVwcmludC5jCiArKysgYi9nZGIvdHlwZXByaW50LmMKLUBAIC01MzgsNiArNTM4LDI1IEBA IHdoYXRpc19leHAgKGNvbnN0IGNoYXIgKmV4cCwgaW50IHNob3cpCitAQCAtNDY0LDYgKzQ2NCwy NSBAQCB3aGF0aXNfZXhwIChjb25zdCBjaGFyICpleHAsIGludCBzaG93KQogICAgICAgIHByaW50 Zl9maWx0ZXJlZCAoIiAqL1xuIik7ICAgIAogICAgICB9CiAgCkBAIC0xMzE4LDEyICsxMzIwLDEy IEBAIGluZGV4IGMwOThhM2Y0MjYuLjMxOWZiYWY5NGUgMTAwNjQ0CiArCiAgICBMQV9QUklOVF9U WVBFICh0eXBlLCAiIiwgZ2RiX3N0ZG91dCwgc2hvdywgMCwgJmZsYWdzKTsKICAgIHByaW50Zl9m aWx0ZXJlZCAoIlxuIik7Ci0gCisgfQogZGlmZiAtLWdpdCBhL2dkYi92YWxvcHMuYyBiL2dkYi92 YWxvcHMuYwotaW5kZXggNGNkNGZkOTZhZS4uOWIyNTk4MDA5MCAxMDA2NDQKK2luZGV4IDVjMzVk N2EwOTEuLjliNjYwMGI1MzggMTAwNjQ0CiAtLS0gYS9nZGIvdmFsb3BzLmMKICsrKyBiL2dkYi92 YWxvcHMuYwotQEAgLTE1NjQsNiArMTU2NCwxOSBAQCB2YWx1ZV9pbmQgKHN0cnVjdCB2YWx1ZSAq YXJnMSkKK0BAIC0xNTY1LDYgKzE1NjUsMTkgQEAgdmFsdWVfaW5kIChzdHJ1Y3QgdmFsdWUgKmFy ZzEpCiAgICBpZiAoVFlQRV9DT0RFIChiYXNlX3R5cGUpID09IFRZUEVfQ09ERV9QVFIpCiAgICAg IHsKICAgICAgICBzdHJ1Y3QgdHlwZSAqZW5jX3R5cGU7CkBAIC0xMzQzLDcgKzEzNDUsNyBAQCBp bmRleCA0Y2Q0ZmQ5NmFlLi45YjI1OTgwMDkwIDEwMDY0NAogIAogICAgICAgIC8qIFdlIG1heSBi ZSBwb2ludGluZyB0byBzb21ldGhpbmcgZW1iZWRkZWQgaW4gYSBsYXJnZXIgb2JqZWN0LgogICAg ICAgICAgIEdldCB0aGUgcmVhbCB0eXBlIG9mIHRoZSBlbmNsb3Npbmcgb2JqZWN0LiAgKi8KLUBA IC0xNTc5LDggKzE1OTIsNyBAQCB2YWx1ZV9pbmQgKHN0cnVjdCB2YWx1ZSAqYXJnMSkKK0BAIC0x NTgwLDggKzE1OTMsNyBAQCB2YWx1ZV9pbmQgKHN0cnVjdCB2YWx1ZSAqYXJnMSkKICAgICAgICBl bHNlCiAgCS8qIFJldHJpZXZlIHRoZSBlbmNsb3Npbmcgb2JqZWN0IHBvaW50ZWQgdG8uICAqLwog IAlhcmcyID0gdmFsdWVfYXRfbGF6eSAoZW5jX3R5cGUsIApAQCAtMTM1NCwxMCArMTM1NiwxMCBA QCBpbmRleCA0Y2Q0ZmQ5NmFlLi45YjI1OTgwMDkwIDEwMDY0NAogICAgICAgIGVuY190eXBlID0g dmFsdWVfdHlwZSAoYXJnMik7CiAgICAgICAgcmV0dXJuIHJlYWRqdXN0X2luZGlyZWN0X3ZhbHVl X3R5cGUgKGFyZzIsIGVuY190eXBlLCBiYXNlX3R5cGUsIGFyZzEpOwogZGlmZiAtLWdpdCBhL2dk Yi92YWxwcmludC5jIGIvZ2RiL3ZhbHByaW50LmMKLWluZGV4IGIxOTEyM2YyM2UuLmQwMWQwMmZj MDkgMTAwNjQ0CitpbmRleCBiZWQyY2VjZjJjLi4yNTM3ZDc3YzE5IDEwMDY0NAogLS0tIGEvZ2Ri L3ZhbHByaW50LmMKICsrKyBiL2dkYi92YWxwcmludC5jCi1AQCAtMTExMSwxMiArMTExMSw2IEBA IHZhbHVlX2NoZWNrX3ByaW50YWJsZSAoc3RydWN0IHZhbHVlICp2YWwsIHN0cnVjdCB1aV9maWxl ICpzdHJlYW0sCitAQCAtMTEwOCwxMiArMTEwOCw2IEBAIHZhbHVlX2NoZWNrX3ByaW50YWJsZSAo c3RydWN0IHZhbHVlICp2YWwsIHN0cnVjdCB1aV9maWxlICpzdHJlYW0sCiAgICAgICAgcmV0dXJu IDA7CiAgICAgIH0KICAKCmRpZmYgLS1naXQgYS9nZGItdmxhLWludGVsLXN0cmluZ2J0LWZpeC5w YXRjaCBiL2dkYi12bGEtaW50ZWwtc3RyaW5nYnQtZml4LnBhdGNoCmluZGV4IDE5MzExNTQuLjc4 ZTFkODcgMTAwNjQ0Ci0tLSBhL2dkYi12bGEtaW50ZWwtc3RyaW5nYnQtZml4LnBhdGNoCisrKyBi L2dkYi12bGEtaW50ZWwtc3RyaW5nYnQtZml4LnBhdGNoCkBAIC0zMSw3ICszMSw3IEBAIFRoYW5r cywKIEphbgogCiBkaWZmIC0tZ2l0IGEvZ2RiL2R3YXJmMmxvYy5jIGIvZ2RiL2R3YXJmMmxvYy5j Ci1pbmRleCA1MTA1YzhkMjNhLi41NDg2ZTRkYzEyIDEwMDY0NAoraW5kZXggZmE5ZmYzMDcyMS4u Y2ZjYTFjMjc1MSAxMDA2NDQKIC0tLSBhL2dkYi9kd2FyZjJsb2MuYwogKysrIGIvZ2RiL2R3YXJm MmxvYy5jCiBAQCAtNDIsNiArNDIsNyBAQAoKZGlmZiAtLWdpdCBhL2dkYi5zcGVjIGIvZ2RiLnNw ZWMKaW5kZXggZTI1ODAwMS4uOGEwYzBiYiAxMDA2NDQKLS0tIGEvZ2RiLnNwZWMKKysrIGIvZ2Ri LnNwZWMKQEAgLTE4LDIyICsxOCwyMiBAQAogTmFtZTogJXs/c2NsX3ByZWZpeH1nZGIKIAogIyBG cmVlemUgaXQgd2hlbiBHREIgZ2V0cyBicmFuY2hlZAotJWdsb2JhbCBzbmFwc3JjICAgIDIwMTgw MTA5CislZ2xvYmFsIHNuYXBzcmMgICAgMjAxODA1MjIKICMgU2VlIHRpbWVzdGFtcCBvZiBzb3Vy Y2UgZ251bGliIGluc3RhbGxlZCBpbnRvIGdkYi9nbnVsaWIvIC4KICVnbG9iYWwgc25hcGdudWxp YiAyMDE2MTExNQogJWdsb2JhbCB0YXJuYW1lIGdkYi0le3ZlcnNpb259Ci1WZXJzaW9uOiA4LjEK K1ZlcnNpb246IDguMS41MC4le3NuYXBzcmN9CiAKICMgVGhlIHJlbGVhc2UgYWx3YXlzIGNvbnRh aW5zIGEgbGVhZGluZyByZXNlcnZlZCBudW1iZXIsIHN0YXJ0IGl0IGF0IDEuCiAjIGB1cHN0cmVh bScgaXMgbm90IGEgcGFydCBvZiBgbmFtZScgdG8gc3RheSBmdWxseSBycG0gZGVwZW5kZW5jaWVz IGNvbXBhdGlibGUgZm9yIHRoZSB0ZXN0aW5nLgotUmVsZWFzZTogMTQlez9kaXN0fQorUmVsZWFz ZTogMTUlez9kaXN0fQogCiBMaWNlbnNlOiBHUEx2MysgYW5kIEdQTHYzKyB3aXRoIGV4Y2VwdGlv bnMgYW5kIEdQTHYyKyBhbmQgR1BMdjIrIHdpdGggZXhjZXB0aW9ucyBhbmQgR1BMKyBhbmQgTEdQ THYyKyBhbmQgTEdQTHYzKyBhbmQgQlNEIGFuZCBQdWJsaWMgRG9tYWluIGFuZCBHRkRMCiBHcm91 cDogRGV2ZWxvcG1lbnQvRGVidWdnZXJzCiAjIERvIG5vdCBwcm92aWRlIFVSTCBmb3Igc25hcHNo b3RzIGFzIHRoZSBmaWxlIGxhc3RzIHRoZXJlIG9ubHkgZm9yIDIgZGF5cy4KICMgZnRwOi8vc291 cmNld2FyZS5vcmcvcHViL2dkYi9yZWxlYXNlcy9GSVhNRXt0YXJuYW1lfS50YXIueHoKLSNTb3Vy Y2U6ICUge3Rhcm5hbWV9LnRhci54egotU291cmNlOiBmdHA6Ly9zb3VyY2V3YXJlLm9yZy9wdWIv Z2RiL3JlbGVhc2VzLyV7dGFybmFtZX0udGFyLnh6CitTb3VyY2U6ICV7dGFybmFtZX0udGFyLnh6 CisjU291cmNlOiBmdHA6Ly9zb3VyY2V3YXJlLm9yZy9wdWIvZ2RiL3JlbGVhc2VzLyV7dGFybmFt ZX0udGFyLnh6CiBCdWlsZHJvb3Q6ICUobWt0ZW1wIC11ZCAle190bXBwYXRofS8le25hbWV9LSV7 dmVyc2lvbn0tJXtyZWxlYXNlfS1YWFhYWFgpCiBVUkw6IGh0dHA6Ly9nbnUub3JnL3NvZnR3YXJl L2dkYi8KIApAQCAtMTAyNiw2ICsxMDI2LDkgQEAgdGhlbgogZmkKIAogJWNoYW5nZWxvZworKiBX ZWQgTWF5IDMwIDIwMTggU2VyZ2lvIER1cmlnYW4gSnVuaW9yIDxzZXJnaW9kakByZWRoYXQuY29t PiAtIDguMS41MC4yMDE4MDUyMi0xNS5mYzI4CistIFJlYmFzZSB0byBGU0YgR0RCIDguMS41MC4y MDE4MDUyMiAoOC4ycHJlKS4KKwogKiBNb24gQXByICAyIDIwMTggSmFuIEtyYXRvY2h2aWwgPGph bi5rcmF0b2NodmlsQHJlZGhhdC5jb20+IC0gOC4xLTE0LmZjMjgKIC0gUmV2ZXJ0ICdGaXggUERG IGJ1aWxkIG9uIFJhd2hpZGUvRi0yOScsIHJtIC1yZiB0ZXhpbmZvLyAoZnJvbSBSSCBCWiAxNTYy NTgwKS4KIAoKZGlmZiAtLWdpdCBhL3NvdXJjZXMgYi9zb3VyY2VzCmluZGV4IDVjYjBlN2EuLjM3 NzQ4YzIgMTAwNjQ0Ci0tLSBhL3NvdXJjZXMKKysrIGIvc291cmNlcwpAQCAtMSwzICsxLDMgQEAK IFNIQTUxMiAoZ2RiLWxpYnN0ZGMrKy12My1weXRob24tNy4xLjEtMjAxNzA1MjYudGFyLnh6KSA9 IDNkNTQwYjk5NTgxZmZhNGNmMjgxMGJlYzk3OWM5YTAxYTFmOGNlNzgyYjdjOGVmYjQ2YjQwZGQy NDIxZDYwY2RiMGU1MmI1M2M1NDc3YzNlODZhNTc5NTdhMmExNDQ4OWY1YzI5ZGM1Mzg2ODczOGEx ZWY3OWU3OWNmNzZkMGExCiBTSEE1MTIgKHYxLjYuMS50YXIuZ3opID0gYzdjOWM4YmE3ODAyMWZm ZjNmZGUxMmEyMTZmNTcyOWM2MDMxMTE0ZTVhNzI3ZjQ5YjdmZjFhMzFjNTNiNWRkYmEyNGQxYjNh ZWUyNTJkODI3OGVjZDFmYWZlNzhhNDRlZDA1OWMxMmI5ZWIyOWVjYTMzMDkzZTA3MjA2NzM0NjgK LVNIQTUxMiAoZ2RiLTguMS50YXIueHopID0gZmZkODJmNDE1ZDc2NTJkNjJkYWQxNzE2YzMwNzgz NmY1OTQyMTdhMzYzNDI5NjA5YmViN2Q3MDIzOWU4YmYwNmI3M2IzOTMzNDViMGUwMDA3OTYyMjhl NTY2ODFlZDc2NTZhYzNjOGJlMDVlOTFkNmQ2NTJhYjBkNWIxZGMzNTcKK1NIQTUxMiAoZ2RiLTgu MS41MC4yMDE4MDUyMi50YXIueHopID0gMjdhNmIxMDZjYzFmMjFhNzRhY2YzMWJlNDVkNjIzMTE1 YTE4ODE4YTlmNTAwOGFjNzc0OGRiZTc0NTY4NWY0MWYwNTVmZThhY2Y3MzZlZTVmMGQ2NzE2ZDQ3 YjJhNDMwNzE5N2RiODg5OWEzYTRlMjIwYmVkNzJiMWUxMjZkOTcK