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] gdb-17.2-rebase-f44: Rebase to FSF GDB 8.1.50.20180522 (8.2pre). Date: Sat, 27 Jun 2026 23:58:37 GMT Message-ID: <178260471783.1.17720709538872295747.rpms-gdb-2bcd68d7bfcc@fedoraproject.org> List-ID: X-Git-Repo: rpms/gdb X-Git-Branch: gdb-17.2-rebase-f44 X-Git-Rev: 2bcd68d7bfcc949e2a6defdb6f04ea17dc998db2 QSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KClJlcG8gICA6IHJwbXMvZ2RiCkJyYW5jaCA6 IGdkYi0xNy4yLXJlYmFzZS1mNDQKQ29tbWl0IDogMmJjZDY4ZDdiZmNjOTQ5ZTJhNmRlZmRiNmYw NGVhMTdkYzk5OGRiMgpBdXRob3IgOiBTZXJnaW8gRHVyaWdhbiBKdW5pb3IgPHNlcmdpb2RqQHJl ZGhhdC5jb20+CkRhdGUgICA6IDIwMTgtMDUtMzFUMTQ6NDc6NTYtMDQ6MDAKU3RhdHMgIDogKzE1 MTQvLTMxMzAgaW4gNjIgZmlsZShzKQpVUkwgICAgOiBodHRwczovL3NyYy5mZWRvcmFwcm9qZWN0 Lm9yZy9ycG1zL2dkYi9jLzJiY2Q2OGQ3YmZjYzk0OWUyYTZkZWZkYjZmMDRlYTE3ZGM5OThkYjI/ YnJhbmNoPWdkYi0xNy4yLXJlYmFzZS1mNDQKCkxvZzoKUmViYXNlIHRvIEZTRiBHREIgOC4xLjUw LjIwMTgwNTIyICg4LjJwcmUpLgoKLS0tCmRpZmYgLS1naXQgYS8uZ2l0aWdub3JlIGIvLmdpdGln bm9yZQppbmRleCA3NWM1MjAxLi45Njk4NWM1IDEwMDY0NAotLS0gYS8uZ2l0aWdub3JlCisrKyBi Ly5naXRpZ25vcmUKQEAgLTEsMyArMSw0IEBACiAvZ2RiLWxpYnN0ZGMrKy12My1weXRob24tNy4x LjEtMjAxNzA1MjYudGFyLnh6CiAvdjEuNi4xLnRhci5negogL2dkYi04LjEudGFyLnh6CisvZ2Ri LTguMS41MC4yMDE4MDUyMi50YXIueHoKCmRpZmYgLS1naXQgYS9fZ2RiLnNwZWMuUGF0Y2guaW5j bHVkZSBiL19nZGIuc3BlYy5QYXRjaC5pbmNsdWRlCmluZGV4IDc4ZDVlYzUuLjNlZTVmYTQgMTAw NjQ0Ci0tLSBhL19nZGIuc3BlYy5QYXRjaC5pbmNsdWRlCisrKyBiL19nZGIuc3BlYy5QYXRjaC5p bmNsdWRlCkBAIC0xMTUsMTk3ICsxMTUsMTg5IEBAIFBhdGNoMDI4OiBnZGItNi42LWJ6MjMwMDAw LXBvd2VyNi1kaXNhc3NlbWJseS10ZXN0LnBhdGNoCiAjPWZlZG9yYXRlc3QKIFBhdGNoMDI5OiBn ZGItNi42LWJ6MjI5NTE3LWdjb3JlLXdpdGhvdXQtdGVybWluYWwucGF0Y2gKIAotIyBOb3RpZnkg dXNlciBvZiBhIGNoaWxkIGZvcmtlZCBwcm9jZXNzIGJlaW5nIGRldGFjaGVkIChCWiAyMzUxOTcp LgotIz1wdXNoK2phbjogVGhpcyBpcyBtb3JlIGFib3V0IGRpc2N1c3Npb24gaWYvd2hhdCBzaG91 bGQgYmUgcHJpbnRlZC4KLVBhdGNoMDMwOiBnZGItNi42LWJ6MjM1MTk3LWZvcmstZGV0YWNoLWlu Zm8ucGF0Y2gKLQogIyBBdm9pZCB0b28gbG9uZyB0aW1lb3V0cyBvbiBmYWlsaW5nIGNhc2VzIG9m ICJhbm5vdGExLmV4cCBhbm5vdGEzLmV4cCIuCiAjPWZlZG9yYXRlc3QKLVBhdGNoMDMxOiBnZGIt Ni42LXRlc3RzdWl0ZS10aW1lb3V0cy5wYXRjaAorUGF0Y2gwMzA6IGdkYi02LjYtdGVzdHN1aXRl LXRpbWVvdXRzLnBhdGNoCiAKICMgU3VwcG9ydCBmb3Igc3RlcHBpbmcgb3ZlciBQUEMgYXRvbWlj IGluc3RydWN0aW9uIHNlcXVlbmNlcyAoQlogMjM3NTcyKS4KICM9ZmVkb3JhdGVzdAotUGF0Y2gw MzI6IGdkYi02LjYtYnoyMzc1NzItcHBjLWF0b21pYy1zZXF1ZW5jZS10ZXN0LnBhdGNoCitQYXRj aDAzMTogZ2RiLTYuNi1iejIzNzU3Mi1wcGMtYXRvbWljLXNlcXVlbmNlLXRlc3QucGF0Y2gKIAog IyBNYWtlIHVwc3RyZWFtIGBzZXQgc2NoZWR1bGVyLWxvY2tpbmcgc3RlcCcgYXMgZGVmYXVsdC4K ICM9cHVzaCtqYW46IEhvdyBtdWNoIGlzIHNjaGVkdWxlci1sb2NraW5nIHJlbGV2YW50IGFmdGVy IG5vbi1zdG9wPwotUGF0Y2gwMzM6IGdkYi02LjYtc2NoZWR1bGVyX2xvY2tpbmctc3RlcC1pcy1k ZWZhdWx0LnBhdGNoCitQYXRjaDAzMjogZ2RiLTYuNi1zY2hlZHVsZXJfbG9ja2luZy1zdGVwLWlz LWRlZmF1bHQucGF0Y2gKIAogIyBUZXN0IGtlcm5lbCBWRFNPIGRlY29kaW5nIHdoaWxlIGF0dGFj aGluZyB0byBhbiBpMzg2IHByb2Nlc3MuCiAjPWZlZG9yYXRlc3QKLVBhdGNoMDM0OiBnZGItNi4z LWF0dGFjaC1zZWUtdmRzby10ZXN0LnBhdGNoCitQYXRjaDAzMzogZ2RiLTYuMy1hdHRhY2gtc2Vl LXZkc28tdGVzdC5wYXRjaAogCiAjIFRlc3QgbGVmdG92ZXIgem9tYmllIHByb2Nlc3MgKEJaIDI0 Mzg0NSkuCiAjPWZlZG9yYXRlc3QKLVBhdGNoMDM1OiBnZGItNi41LWJ6MjQzODQ1LXN0YWxlLXRl c3Rpbmctem9tYmllLXRlc3QucGF0Y2gKK1BhdGNoMDM0OiBnZGItNi41LWJ6MjQzODQ1LXN0YWxl LXRlc3Rpbmctem9tYmllLXRlc3QucGF0Y2gKIAogIyBOZXcgbG9jYXRpbmcgb2YgdGhlIG1hdGNo aW5nIGJpbmFyaWVzIGZyb20gdGhlIHB1cmUgY29yZSBmaWxlIChidWlsZC1pZCkuCiAjPXB1c2gr amFuCi1QYXRjaDAzNjogZ2RiLTYuNi1idWlsZGlkLWxvY2F0ZS5wYXRjaAorUGF0Y2gwMzU6IGdk Yi02LjYtYnVpbGRpZC1sb2NhdGUucGF0Y2gKIAogIyBGaXggbG9hZGluZyBvZiBjb3JlIGZpbGVz IHdpdGhvdXQgYnVpbGQtaWRzIGJ1dCB3aXRoIGJ1aWxkLWlkcyBpbiBleGVjdXRhYmxlcy4KICMg TG9hZCBzdHJpY3RseSBidWlsZC1pZC1jaGVja2VkIGNvcmUgZmlsZXMgb25seSBpZiBubyBleGVj dXRhYmxlIGlzIHNwZWNpZmllZAogIyAoSmFuIEtyYXRvY2h2aWwsIFJIIEJaIDEzMzk4NjIpLgog Iz1wdXNoK2phbgotUGF0Y2gwMzc6IGdkYi02LjYtYnVpbGRpZC1sb2NhdGUtc29saWItbWlzc2lu Zy1pZHMucGF0Y2gKK1BhdGNoMDM2OiBnZGItNi42LWJ1aWxkaWQtbG9jYXRlLXNvbGliLW1pc3Np bmctaWRzLnBhdGNoCiAKICM9cHVzaCtqYW4KLVBhdGNoMDM4OiBnZGItNi42LWJ1aWxkaWQtbG9j YXRlLXJwbS5wYXRjaAorUGF0Y2gwMzc6IGdkYi02LjYtYnVpbGRpZC1sb2NhdGUtcnBtLnBhdGNo CiAKICMgRml4IGRpc3BsYXlpbmcgb2YgbnVtZXJpYyBjaGFyIGFycmF5cyBhcyBzdHJpbmdzIChC WiAyMjQxMjgpLgogIz1mZWRvcmF0ZXN0OiBCdXQgaXQgaXMgZmFpbGluZyBhbnl3YXksIG9uZSBz aG91bGQgY2hlY2sgdGhlIGJlaGF2aW9yIG1vcmUuCi1QYXRjaDAzOTogZ2RiLTYuNy1jaGFyc2ln bi10ZXN0LnBhdGNoCitQYXRjaDAzODogZ2RiLTYuNy1jaGFyc2lnbi10ZXN0LnBhdGNoCiAKICMg VGVzdCBQUEMgaGlkaW5nIG9mIGNhbGwtdm9sYXRpbGUgcGFyYW1ldGVyIHJlZ2lzdGVyLgogIz1m ZWRvcmF0ZXN0Ci1QYXRjaDA0MDogZ2RiLTYuNy1wcGMtY2xvYmJlcmVkLXJlZ2lzdGVycy1PMi10 ZXN0LnBhdGNoCitQYXRjaDAzOTogZ2RiLTYuNy1wcGMtY2xvYmJlcmVkLXJlZ2lzdGVycy1PMi10 ZXN0LnBhdGNoCiAKICMgVGVzdHN1aXRlIGZpeGVzIGZvciBtb3JlIHN0YWJsZS9jb21wYXJhYmxl IHJlc3VsdHMuCiAjPWZlZG9yYXRlc3QKLVBhdGNoMDQxOiBnZGItNi43LXRlc3RzdWl0ZS1zdGFi bGUtcmVzdWx0cy5wYXRjaAorUGF0Y2gwNDA6IGdkYi02LjctdGVzdHN1aXRlLXN0YWJsZS1yZXN1 bHRzLnBhdGNoCiAKICMgVGVzdCBpYTY0IG1lbW9yeSBsZWFrcyBvZiB0aGUgY29kZSB1c2luZyBs aWJ1bndpbmQuCiAjPWZlZG9yYXRlc3QKLVBhdGNoMDQyOiBnZGItNi41LWlhNjQtbGlidW53aW5k LWxlYWstdGVzdC5wYXRjaAorUGF0Y2gwNDE6IGdkYi02LjUtaWE2NC1saWJ1bndpbmQtbGVhay10 ZXN0LnBhdGNoCiAKICMgVGVzdCBoaWRpbmcgdW5leHBlY3RlZCBicmVha3BvaW50cyBvbiBpbnRl bnRpb25hbCBzdGVwIGNvbW1hbmRzLgogIz1mZWRvcmF0ZXN0Ci1QYXRjaDA0MzogZ2RiLTYuNS1t aXNzZWQtdHJhcC1vbi1zdGVwLXRlc3QucGF0Y2gKK1BhdGNoMDQyOiBnZGItNi41LW1pc3NlZC10 cmFwLW9uLXN0ZXAtdGVzdC5wYXRjaAogCiAjIFRlc3QgZ2NvcmUgbWVtb3J5IGFuZCB0aW1lIHJl cXVpcmVtZW50cyBmb3IgbGFyZ2UgaW5mZXJpb3JzLgogIz1mZWRvcmF0ZXN0Ci1QYXRjaDA0NDog Z2RiLTYuNS1nY29yZS1idWZmZXItbGltaXQtdGVzdC5wYXRjaAorUGF0Y2gwNDM6IGdkYi02LjUt Z2NvcmUtYnVmZmVyLWxpbWl0LXRlc3QucGF0Y2gKIAogIyBUZXN0IEdDT1JFIGZvciBzaG1pZCAw IHNoYXJlZCBtZW1vcnkgbWFwcGluZ3MuCiAjPWZlZG9yYXRlc3Q6IEJ1dCBpdCBpcyBicm9rZW4g YW55d2F5LCBzb21ldGltZXMgdGhlIGNhc2UgYmVpbmcgdGVzdGVkIGlzIG5vdCByZXByb2R1Y2li bGUuCi1QYXRjaDA0NTogZ2RiLTYuMy1tYXBwaW5nLXplcm8taW5vZGUtdGVzdC5wYXRjaAorUGF0 Y2gwNDQ6IGdkYi02LjMtbWFwcGluZy16ZXJvLWlub2RlLXRlc3QucGF0Y2gKIAogIyBUZXN0IGEg Y3Jhc2ggb24gYGZvY3VzIGNtZCcsIGBmb2N1cyBwcmV2JyBjb21tYW5kcy4KICM9ZmVkb3JhdGVz dAotUGF0Y2gwNDY6IGdkYi02LjMtZm9jdXMtY21kLXByZXYtdGVzdC5wYXRjaAorUGF0Y2gwNDU6 IGdkYi02LjMtZm9jdXMtY21kLXByZXYtdGVzdC5wYXRjaAogCiAjIFRlc3QgdmFyaW91cyBmb3Jt cyBvZiB0aHJlYWRzIHRyYWNraW5nIGFjcm9zcyBleGVjKCkgKEJaIDQ0Mjc2NSkuCiAjPWZlZG9y YXRlc3QKLVBhdGNoMDQ3OiBnZGItNi44LWJ6NDQyNzY1LXRocmVhZGVkLWV4ZWMtdGVzdC5wYXRj aAorUGF0Y2gwNDY6IGdkYi02LjgtYno0NDI3NjUtdGhyZWFkZWQtZXhlYy10ZXN0LnBhdGNoCiAK ICMgU2lsZW5jZSBtZW1jcHkgY2hlY2sgd2hpY2ggcmV0dXJucyBmYWxzZSBwb3NpdGl2ZSAoc3Bh cmM2NCkKICM9cHVzaDogQnV0IGl0IGlzIGp1c3QgYSBHQ0Mgd29ya2Fyb3VuZCwgbG9vayB1cCB0 aGUgZXhpc3RpbmcgR0NDIFBSIGZvciBpdC4KLVBhdGNoMDQ4OiBnZGItNi44LXNwYXJjNjQtc2ls ZW5jZS1tZW1jcHktY2hlY2sucGF0Y2gKK1BhdGNoMDQ3OiBnZGItNi44LXNwYXJjNjQtc2lsZW5j ZS1tZW1jcHktY2hlY2sucGF0Y2gKIAogIyBUZXN0IGEgY3Jhc2ggb24gbGlicmFyaWVzIG1pc3Np bmcgdGhlIC50ZXh0IHNlY3Rpb24uCiAjPWZlZG9yYXRlc3QKLVBhdGNoMDQ5OiBnZGItNi41LXNl Y3Rpb24tbnVtLWZpeHVwLXRlc3QucGF0Y2gKK1BhdGNoMDQ4OiBnZGItNi41LXNlY3Rpb24tbnVt LWZpeHVwLXRlc3QucGF0Y2gKIAogIyBGaXggcmVnaXN0ZXIgYXNzaWdubWVudHMgd2l0aCBubyBH REIgc3RhY2sgZnJhbWVzIChCWiA0MzYwMzcpLgogIz1wdXNoK2phbjogVGhpcyBmaXggaXMgaW5j b3JyZWN0LgotUGF0Y2gwNTA6IGdkYi02LjgtYno0MzYwMzctcmVnLW5vLWxvbmdlci1hY3RpdmUu cGF0Y2gKK1BhdGNoMDQ5OiBnZGItNi44LWJ6NDM2MDM3LXJlZy1uby1sb25nZXItYWN0aXZlLnBh dGNoCiAKICMgVGVzdCB0aGUgd2F0Y2hwb2ludHMgY29uZGl0aW9uYWxzIHdvcmtzLgogIz1mZWRv cmF0ZXN0Ci1QYXRjaDA1MTogZ2RiLTYuOC13YXRjaHBvaW50LWNvbmRpdGlvbmFscy10ZXN0LnBh dGNoCitQYXRjaDA1MDogZ2RiLTYuOC13YXRjaHBvaW50LWNvbmRpdGlvbmFscy10ZXN0LnBhdGNo CiAKICMgRml4IHJlc29sdmluZyBvZiB2YXJpYWJsZXMgYXQgbG9jYXRpb25zIGxpc3RzIGluIHBy ZWxpbmtlZCBsaWJzIChCWiA0NjY5MDEpLgogIz1mZWRvcmF0ZXN0Ci1QYXRjaDA1MjogZ2RiLTYu OC1iejQ2NjkwMS1iYWNrdHJhY2UtZnVsbC1wcmVsaW5rZWQucGF0Y2gKK1BhdGNoMDUxOiBnZGIt Ni44LWJ6NDY2OTAxLWJhY2t0cmFjZS1mdWxsLXByZWxpbmtlZC5wYXRjaAogCiAjIE5ldyB0ZXN0 IGZvciBzdGVwLXJlc3VtZSBicmVha3BvaW50IHBsYWNlZCBpbiBtdWx0aXBsZSB0aHJlYWRzIGF0 IG9uY2UuCiAjPWZlZG9yYXRlc3QKLVBhdGNoMDUzOiBnZGItc2ltdWx0YW5lb3VzLXN0ZXAtcmVz dW1lLWJyZWFrcG9pbnQtdGVzdC5wYXRjaAorUGF0Y2gwNTI6IGdkYi1zaW11bHRhbmVvdXMtc3Rl cC1yZXN1bWUtYnJlYWtwb2ludC10ZXN0LnBhdGNoCiAKICMgRml4IEdOVS9MaW51eCBjb3JlIG9w ZW46IENhbid0IHJlYWQgcGF0aG5hbWUgZm9yIGxvYWQgbWFwOiBJbnB1dC9vdXRwdXQgZXJyb3Iu CiAjIEZpeCByZWdyZXNzaW9uIG9mIHVuZGlzcGxheWVkIG1pc3Npbmcgc2hhcmVkIGxpYnJhcmll cyBjYXVzZWQgYnkgYSBmaXggZm9yLgogIz1mZWRvcmF0ZXN0OiBJdCBzaG91bGQgYmUgaW4gZ2xp YmM6IGxpYmMtYWxwaGE6IDwyMDA5MTAwNDE2MTcwNi5HQTI3NDUwQC4qPgotUGF0Y2gwNTQ6IGdk Yi1jb3JlLW9wZW4tdmRzby13YXJuaW5nLnBhdGNoCitQYXRjaDA1MzogZ2RiLWNvcmUtb3Blbi12 ZHNvLXdhcm5pbmcucGF0Y2gKIAogIyBGaXggc3lzY2FsbCByZXN0YXJ0cyBmb3IgYW1kNjQtPmkz ODYgYmlhcmNoLgogIz1wdXNoK2phbgotUGF0Y2gwNTU6IGdkYi14ODZfNjQtaTM4Ni1zeXNjYWxs LXJlc3RhcnQucGF0Y2gKK1BhdGNoMDU0OiBnZGIteDg2XzY0LWkzODYtc3lzY2FsbC1yZXN0YXJ0 LnBhdGNoCiAKICMgRml4IHN0ZXBwaW5nIHdpdGggT01QIHBhcmFsbGVsIEZvcnRyYW4gc2VjdGlv bnMgKEJaIDUzMzE3NikuCiAjPXB1c2gramFuOiBJdCByZXF1aXJlcyBzb21lIGJldHRlciBEV0FS RiBhbm5vdGF0aW9ucy4KLVBhdGNoMDU2OiBnZGItYno1MzMxNzYtZm9ydHJhbi1vbXAtc3RlcC5w YXRjaAorUGF0Y2gwNTU6IGdkYi1iejUzMzE3Ni1mb3J0cmFuLW9tcC1zdGVwLnBhdGNoCiAKICMg Rml4IHJlZ3Jlc3Npb24gYnkgcHl0aG9uIG9uIGlhNjQgZHVlIHRvIHN0YWxlIGN1cnJlbnQgZnJh bWUuCiAjPXB1c2gramFuCi1QYXRjaDA1NzogZ2RiLWZvbGxvdy1jaGlsZC1zdGFsZS1wYXJlbnQu cGF0Y2gKK1BhdGNoMDU2OiBnZGItZm9sbG93LWNoaWxkLXN0YWxlLXBhcmVudC5wYXRjaAogCiAj IFdvcmthcm91bmQgY2NhY2hlIG1ha2luZyBsaW5lbm8gbm9uLXplcm8gZm9yIGNvbW1hbmQtbGlu ZSBkZWZpbml0aW9ucy4KICM9ZmVkb3JhdGVzdDogY2NhY2hlIGlzIHJhcmVseSB1c2VkIGFuZCBp dCBpcyBldmVuIGZpeGVkIG5vdy4KLVBhdGNoMDU4OiBnZGItY2NhY2hlLXdvcmthcm91bmQucGF0 Y2gKK1BhdGNoMDU3OiBnZGItY2NhY2hlLXdvcmthcm91bmQucGF0Y2gKIAogIz1wdXNoK2phbjog TWF5IGdldCBvYnNvbGV0ZWQgYnkgVG9tJ3MgdW5yZWxvY2F0ZWQgb2JqZmlsZXMgcGF0Y2guCi1Q YXRjaDA1OTogZ2RiLWFyY2hlci1waWUtYWRkb25zLnBhdGNoCitQYXRjaDA1ODogZ2RiLWFyY2hl ci1waWUtYWRkb25zLnBhdGNoCiAKICM9cHVzaCtqYW46IEJyZWFrcG9pbnRzIGRpc2FibGluZyBt YXRjaGluZyBzaG91bGQgbm90IGJlIGJhc2VkIG9uIGFkZHJlc3MuCi1QYXRjaDA2MDogZ2RiLWFy Y2hlci1waWUtYWRkb25zLWtlZXAtZGlzYWJsZWQucGF0Y2gKK1BhdGNoMDU5OiBnZGItYXJjaGVy LXBpZS1hZGRvbnMta2VlcC1kaXNhYmxlZC5wYXRjaAogCiAjIFRlc3RjYXNlIGZvciAiRG8gbm90 IG1ha2UgdXAgbGluZSBpbmZvcm1hdGlvbiIgZml4IGJ5IERhbmllbCBKYWNvYm93aXR6LgogIz1m ZWRvcmF0ZXN0Ci1QYXRjaDA2MTogZ2RiLWxpbmVuby1tYWtldXAtdGVzdC5wYXRjaAorUGF0Y2gw NjA6IGdkYi1saW5lbm8tbWFrZXVwLXRlc3QucGF0Y2gKIAogIyBUZXN0IHBvd2VyNyBwcGMgZGlz YXNzZW1ibHkuCiAjPWZlZG9yYXRlc3QKLVBhdGNoMDYyOiBnZGItcHBjLXBvd2VyNy10ZXN0LnBh dGNoCitQYXRjaDA2MTogZ2RiLXBwYy1wb3dlcjctdGVzdC5wYXRjaAogCiAjIEZpeCBpMzg2K3g4 Nl82NCByd2F0Y2grYXdhdGNoIGJlZm9yZSBydW4sIHJlZ3Jlc3Npb24gYWdhaW5zdCA2LjggKEJa IDU0MTg2NikuCiAjIEZpeCBpMzg2IHJ3YXRjaCthd2F0Y2ggYmVmb3JlIHJ1biAoQlogNjg4Nzg4 LCBvbiB0b3Agb2YgQlogNTQxODY2KS4KICM9cHVzaCtqYW46IEl0IHNob3VsZCBiZSBmaXhlZCBw cm9wZXJseSBpbnN0ZWFkLgotUGF0Y2gwNjM6IGdkYi1iejU0MTg2Ni1yd2F0Y2gtYmVmb3JlLXJ1 bi5wYXRjaAorUGF0Y2gwNjI6IGdkYi1iejU0MTg2Ni1yd2F0Y2gtYmVmb3JlLXJ1bi5wYXRjaAog CiAjIFdvcmthcm91bmQgbm9uLXN0b3AgbW9yaWJ1bmQgbG9jYXRpb25zIGV4cGxvaXRlZCBieSBr ZXJuZWwgdXRyYWNlIChCWiA1OTA2MjMpLgogIz1wdXNoK2phbjogQ3VycmVudGx5IGl0IGlzIHN0 aWxsIG5vdCBmdWxseSBzYWZlLgotUGF0Y2gwNjQ6IGdkYi1tb3JpYnVuZC11dHJhY2Utd29ya2Fy b3VuZC5wYXRjaAorUGF0Y2gwNjM6IGdkYi1tb3JpYnVuZC11dHJhY2Utd29ya2Fyb3VuZC5wYXRj aAogCiAjIEZpeCBmb2xsb3ctZXhlYyBmb3IgQysrIHByb2dyYW1zIChidWdyZXBvcnRlZCBieSBN YXJ0aW4gU3RyYW5za3kpLgogIz1mZWRvcmF0ZXN0Ci1QYXRjaDA2NTogZ2RiLWFyY2hlci1uZXh0 LW92ZXItdGhyb3ctY3h4LWV4ZWMucGF0Y2gKK1BhdGNoMDY0OiBnZGItYXJjaGVyLW5leHQtb3Zl ci10aHJvdy1jeHgtZXhlYy5wYXRjaAogCiAjIEJhY2twb3J0IERXQVJGLTQgc3VwcG9ydCAoQlog NjAxODg3LCBUb20gVHJvbWV5KS4KICM9ZmVkb3JhdGVzdAotUGF0Y2gwNjY6IGdkYi1iejYwMTg4 Ny1kd2FyZjQtcmgtdGVzdC5wYXRjaAorUGF0Y2gwNjU6IGdkYi1iejYwMTg4Ny1kd2FyZjQtcmgt dGVzdC5wYXRjaAogCiAjPXB1c2gramFuCi1QYXRjaDA2NzogZ2RiLTYuNi1idWlsZGlkLWxvY2F0 ZS1jb3JlLWFzLWFyZy5wYXRjaAorUGF0Y2gwNjY6IGdkYi02LjYtYnVpbGRpZC1sb2NhdGUtY29y ZS1hcy1hcmcucGF0Y2gKIAogIyBXb3JrYXJvdW5kIGxpYnJwbSBCWiA2NDMwMzEgZHVlIHRvIGl0 cyB1bmV4cGVjdGVkIGV4aXQoKSBjYWxscyAoQlogNjQyODc5KS4KICM9cHVzaCtqYW4KLVBhdGNo MDY4OiBnZGItNi42LWJ1aWxkaWQtbG9jYXRlLXJwbS1saWJycG0td29ya2Fyb3VuZC5wYXRjaAor UGF0Y2gwNjc6IGdkYi02LjYtYnVpbGRpZC1sb2NhdGUtcnBtLWxpYnJwbS13b3JrYXJvdW5kLnBh dGNoCiAKICMgW2RlbGF5ZWQtc3ltZmlsZV0gVGVzdCBhIGJhY2t0cmFjZSByZWdyZXNzaW9uIG9u IENGSXMgd2l0aG91dCBESUUgKEJaIDYxNDYwNCkuCiAjPWZlZG9yYXRlc3QKLVBhdGNoMDY5OiBn ZGItdGVzdC1idC1jZmktd2l0aG91dC1kaWUucGF0Y2gKLQotIyBQcm92aWRlIC91c3IvYmluL2dk Yi1hZGQtaW5kZXggZm9yIHJwbS1idWlsZCAoVG9tIFRyb21leSkuCi0jPXB1c2g6IFJlLWNoZWNr IGFnYWluc3QgdGhlIHVwc3RyZWFtIHZlcnNpb24uCi1QYXRjaDA3MDogZ2RiLWdkYi1hZGQtaW5k ZXgtc2NyaXB0LnBhdGNoCitQYXRjaDA2ODogZ2RiLXRlc3QtYnQtY2ZpLXdpdGhvdXQtZGllLnBh dGNoCiAKICMgT3V0IG9mIG1lbW9yeSBpcyBqdXN0IGFuIGVycm9yLCBub3QgZmF0YWwgKHVuaW5p dGlhbGl6ZWQgVkxTIHZhcnMsIEJaIDU2ODI0OCkuCiAjPXB1c2gramFuOiBJbmZlcmlvciBvYmpl Y3RzIHNob3VsZCBiZSByZWFkIGluIHBhcnRzLCB0aGVuIHRoaXMgcGF0Y2ggZ2V0cyBvYnNvbGV0 ZWQuCi1QYXRjaDA3MTogZ2RiLWJ6NTY4MjQ4LW9vbS1pcy1lcnJvci5wYXRjaAorUGF0Y2gwNjk6 IGdkYi1iejU2ODI0OC1vb20taXMtZXJyb3IucGF0Y2gKIAogIyBWZXJpZnkgR0RCIFB5dGhvbiBi dWlsdC1pbiBmdW5jdGlvbiBnZGIuc29saWJfYWRkcmVzcyBleGlzdHMgKEJaICMgNjM0MTA4KS4K ICM9ZmVkb3JhdGVzdAotUGF0Y2gwNzI6IGdkYi1iejYzNDEwOC1zb2xpYl9hZGRyZXNzLnBhdGNo CitQYXRjaDA3MDogZ2RiLWJ6NjM0MTA4LXNvbGliX2FkZHJlc3MucGF0Y2gKIAogIyBOZXcgdGVz dCBnZGIuYXJjaC94ODZfNjQtcGlkMC1jb3JlLmV4cCBmb3Iga2VybmVsIFBJRCAwIGNvcmVzIChC WiA2MTE0MzUpLgogIz1mZWRvcmF0ZXN0Ci1QYXRjaDA3MzogZ2RiLXRlc3QtcGlkMC1jb3JlLnBh dGNoCitQYXRjaDA3MTogZ2RiLXRlc3QtcGlkMC1jb3JlLnBhdGNoCiAKICMgW2FyY2hlci10cm9t ZXktZGVsYXllZC1zeW1maWxlXSBOZXcgdGVzdCBnZGIuZHdhcmYyL2R3Mi1hcmFuZ2VzLmV4cC4K ICM9ZmVkb3JhdGVzdAotUGF0Y2gwNzQ6IGdkYi10ZXN0LWR3Mi1hcmFuZ2VzLnBhdGNoCitQYXRj aDA3MjogZ2RiLXRlc3QtZHcyLWFyYW5nZXMucGF0Y2gKIAogIyBbYXJjaGVyLWtlaXRocy1leHBy LWN1bXVsYXRpdmUrdXBzdHJlYW1dIEltcG9ydCBDKysgdGVzdGNhc2VzLgogIz1mZWRvcmF0ZXN0 Ci1QYXRjaDA3NTogZ2RiLXRlc3QtZXhwci1jdW11bGF0aXZlLWFyY2hlci5wYXRjaAorUGF0Y2gw NzM6IGdkYi10ZXN0LWV4cHItY3VtdWxhdGl2ZS1hcmNoZXIucGF0Y2gKIAogIyBGaXggcmVncmVz c2lvbnMgb24gQysrIG5hbWVzIHJlc29sdmluZyAoUFIgMTE3MzQsIFBSIDEyMjczLCBLZWl0aCBT ZWl0eikuCiAjPWZlZG9yYXRlc3QKLVBhdGNoMDc2OiBnZGItcGh5c25hbWUtcHIxMTczNC10ZXN0 LnBhdGNoCitQYXRjaDA3NDogZ2RiLXBoeXNuYW1lLXByMTE3MzQtdGVzdC5wYXRjaAogCiAjIEZp eCByZWdyZXNzaW9ucyBvbiBDKysgbmFtZXMgcmVzb2x2aW5nIChQUiAxMTczNCwgUFIgMTIyNzMs IEtlaXRoIFNlaXR6KS4KICM9ZmVkb3JhdGVzdAotUGF0Y2gwNzc6IGdkYi1waHlzbmFtZS1wcjEy MjczLXRlc3QucGF0Y2gKK1BhdGNoMDc1OiBnZGItcGh5c25hbWUtcHIxMjI3My10ZXN0LnBhdGNo CiAKICMgVG9vbGNoYWluIG9uIHNwYXJjIGlzIHNsaWdodGx5IGJyb2tlbiBhbmQgZGVidWdpbmZv IGZpbGVzIGFyZSBnZW5lcmF0ZWQKICMgd2l0aCBub24gNjRiaXQgYWxpZ25lZCB0YWJsZXMvb2Zm c2V0cy4KQEAgLTMxOSwyMTQgKzMxMSwyMDAgQEAgUGF0Y2gwNzc6IGdkYi1waHlzbmFtZS1wcjEy MjczLXRlc3QucGF0Y2gKICMgV2hpbGUgd2UgZmlndXJlIG91dCB3aGF0J3Mgd3JvbmcgaW4gdGhl IHRvb2xjaGFpbiBhbmQgZG8gYSBmdWxsIGFyY2hpdmUKICMgcmVidWlsZCB0byBmaXggaXQsIHdl IG5lZWQgdG8gYmUgYWJsZSB0byB1c2UgZ2RiIDopCiAjPXB1c2gKLVBhdGNoMDc4OiBnZGItNy4y LjUwLXNwYXJjLWFkZC13b3JrYXJvdW5kLXRvLWJyb2tlbi1kZWJ1Zy1maWxlcy5wYXRjaAorUGF0 Y2gwNzY6IGdkYi03LjIuNTAtc3BhcmMtYWRkLXdvcmthcm91bmQtdG8tYnJva2VuLWRlYnVnLWZp bGVzLnBhdGNoCiAKICMgVGVzdCBHREIgb3Bjb2Rlcy8gZGlzYXNzZW1ibHkgb2YgSW50ZWwgSXZ5 IEJyaWRnZSBpbnN0cnVjdGlvbnMgKEJaIDY5Njg5MCkuCiAjPWZlZG9yYXRlc3QKLVBhdGNoMDc5 OiBnZGItdGVzdC1pdnktYnJpZGdlLnBhdGNoCitQYXRjaDA3NzogZ2RiLXRlc3QtaXZ5LWJyaWRn ZS5wYXRjaAogCiAjIEhhY2sgZm9yIHByb3BlciBQSUUgcnVuIG9mIHRoZSB0ZXN0c3VpdGUuCiAj PWZlZG9yYXRlc3QKLVBhdGNoMDgwOiBnZGItcnVudGVzdC1waWUtb3ZlcnJpZGUucGF0Y2gKK1Bh dGNoMDc4OiBnZGItcnVudGVzdC1waWUtb3ZlcnJpZGUucGF0Y2gKIAogIyBQcmludCByZWFzb25z IGZvciBmYWlsZWQgYXR0YWNoL3NwYXduIGluY2wuIFNFTGludXggZGVueV9wdHJhY2UgKEJaIDc4 Njg3OCkuCiAjPXB1c2gramFuCi1QYXRjaDA4MTogZ2RiLWF0dGFjaC1mYWlsLXJlYXNvbnMtNW9m NS5wYXRjaAorUGF0Y2gwNzk6IGdkYi1hdHRhY2gtZmFpbC1yZWFzb25zLTVvZjUucGF0Y2gKIAog IyBXb3JrYXJvdW5kIGNyYXNoZXMgZnJvbSBzdGFsZSBmcmFtZV9pbmZvIHBvaW50ZXIgKEJaIDgw NDI1NikuCiAjPXB1c2gramFuCi1QYXRjaDA4MjogZ2RiLXN0YWxlLWZyYW1lX2luZm8ucGF0Y2gK K1BhdGNoMDgwOiBnZGItc3RhbGUtZnJhbWVfaW5mby5wYXRjaAogCiAjIFdvcmthcm91bmQgUFIg bGliYy8xNDE2NiBmb3IgaW5mZXJpb3IgY2FsbHMgb2Ygc3Ryc3RyLgogIz1mZWRvcmE6IENvbXBh dGliaWxpdHkgd2l0aCBSSEVMcyAodW5jaGVja2VkIHdoaWNoIG9uZXMpLgotUGF0Y2gwODM6IGdk Yi1nbGliYy1zdHJzdHItd29ya2Fyb3VuZC5wYXRjaAorUGF0Y2gwODE6IGdkYi1nbGliYy1zdHJz dHItd29ya2Fyb3VuZC5wYXRjaAogCiAjIEluY2x1ZGUgdGVzdGNhc2UgZm9yIGBVbmFibGUgdG8g c2VlIGEgdmFyaWFibGUgaW5zaWRlIGEgbW9kdWxlIChYTEYpJyAoQlogODIzNzg5KS4KICM9ZmVk b3JhdGVzdAotUGF0Y2gwODQ6IGdkYi1yaGVsNS45LXRlc3RjYXNlLXhsZi12YXItaW5zaWRlLW1v ZC5wYXRjaAorUGF0Y2gwODI6IGdkYi1yaGVsNS45LXRlc3RjYXNlLXhsZi12YXItaW5zaWRlLW1v ZC5wYXRjaAogCiAjIFRlc3RjYXNlIGZvciBgU2V0dGluZyBzb2xpYi1hYnNvbHV0ZS1wcmVmaXgg YnJlYWtzIHZEU08nIChCWiA4MTgzNDMpLgogIz1mZWRvcmF0ZXN0Ci1QYXRjaDA4NTogZ2RiLXJo YnotODE4MzQzLXNldC1zb2xpYi1hYnNvbHV0ZS1wcmVmaXgtdGVzdGNhc2UucGF0Y2gKK1BhdGNo MDgzOiBnZGItcmhiei04MTgzNDMtc2V0LXNvbGliLWFic29sdXRlLXByZWZpeC10ZXN0Y2FzZS5w YXRjaAogCiAjIEZpeCBgR0RCIGNhbm5vdCBhY2Nlc3Mgc3RydWN0IG1lbWJlciB3aG9zZSBvZmZz ZXQgaXMgbGFyZ2VyIHRoYW4gMjU2TUInCiAjIChSSCBCWiA3OTU0MjQpLgogIz1wdXNoCi1QYXRj aDA4NjogZ2RiLXJoYno3OTU0MjQtYml0cG9zLTIwb2YyNS5wYXRjaAorUGF0Y2gwODQ6IGdkYi1y aGJ6Nzk1NDI0LWJpdHBvcy0yMG9mMjUucGF0Y2gKIAogIyBGaXggYEdEQiBjYW5ub3QgYWNjZXNz IHN0cnVjdCBtZW1iZXIgd2hvc2Ugb2Zmc2V0IGlzIGxhcmdlciB0aGFuIDI1Nk1CJwogIyAoUkgg QlogNzk1NDI0KS4KICM9cHVzaAotUGF0Y2gwODc6IGdkYi1yaGJ6Nzk1NDI0LWJpdHBvcy0yMW9m MjUucGF0Y2gKK1BhdGNoMDg1OiBnZGItcmhiejc5NTQyNC1iaXRwb3MtMjFvZjI1LnBhdGNoCiAK ICMgRml4IGBHREIgY2Fubm90IGFjY2VzcyBzdHJ1Y3QgbWVtYmVyIHdob3NlIG9mZnNldCBpcyBs YXJnZXIgdGhhbiAyNTZNQicKICMgKFJIIEJaIDc5NTQyNCkuCiAjPXB1c2gKLVBhdGNoMDg4OiBn ZGItcmhiejc5NTQyNC1iaXRwb3MtMjJvZjI1LnBhdGNoCitQYXRjaDA4NjogZ2RiLXJoYno3OTU0 MjQtYml0cG9zLTIyb2YyNS5wYXRjaAogCiAjIEZpeCBgR0RCIGNhbm5vdCBhY2Nlc3Mgc3RydWN0 IG1lbWJlciB3aG9zZSBvZmZzZXQgaXMgbGFyZ2VyIHRoYW4gMjU2TUInCiAjIChSSCBCWiA3OTU0 MjQpLgogIz1wdXNoCi1QYXRjaDA4OTogZ2RiLXJoYno3OTU0MjQtYml0cG9zLTIzb2YyNS5wYXRj aAorUGF0Y2gwODc6IGdkYi1yaGJ6Nzk1NDI0LWJpdHBvcy0yM29mMjUucGF0Y2gKIAogIyBGaXgg YEdEQiBjYW5ub3QgYWNjZXNzIHN0cnVjdCBtZW1iZXIgd2hvc2Ugb2Zmc2V0IGlzIGxhcmdlciB0 aGFuIDI1Nk1CJwogIyAoUkggQlogNzk1NDI0KS4KICM9cHVzaAotUGF0Y2gwOTA6IGdkYi1yaGJ6 Nzk1NDI0LWJpdHBvcy0yNW9mMjUucGF0Y2gKK1BhdGNoMDg4OiBnZGItcmhiejc5NTQyNC1iaXRw b3MtMjVvZjI1LnBhdGNoCiAKICMgRml4IGBHREIgY2Fubm90IGFjY2VzcyBzdHJ1Y3QgbWVtYmVy IHdob3NlIG9mZnNldCBpcyBsYXJnZXIgdGhhbiAyNTZNQicKICMgKFJIIEJaIDc5NTQyNCkuCiAj PXB1c2gKLVBhdGNoMDkxOiBnZGItcmhiejc5NTQyNC1iaXRwb3MtMjVvZjI1LXRlc3QucGF0Y2gK K1BhdGNoMDg5OiBnZGItcmhiejc5NTQyNC1iaXRwb3MtMjVvZjI1LXRlc3QucGF0Y2gKIAogIyBG aXggYEdEQiBjYW5ub3QgYWNjZXNzIHN0cnVjdCBtZW1iZXIgd2hvc2Ugb2Zmc2V0IGlzIGxhcmdl ciB0aGFuIDI1Nk1CJwogIyAoUkggQlogNzk1NDI0KS4KICM9cHVzaAotUGF0Y2gwOTI6IGdkYi1y aGJ6Nzk1NDI0LWJpdHBvcy1sYXp5dmFsdWUucGF0Y2gKK1BhdGNoMDkwOiBnZGItcmhiejc5NTQy NC1iaXRwb3MtbGF6eXZhbHVlLnBhdGNoCiAKICMgSW1wb3J0IHJlZ3Jlc3Npb24gdGVzdCBmb3Ig YGdkYi9maW5kdmFyLmM6NDE3OiBpbnRlcm5hbC1lcnJvcjoKICMgcmVhZF92YXJfdmFsdWU6IEFz c2VydGlvbiBgZnJhbWUnIGZhaWxlZC4nIChSSCBCWiA5NDc1NjQpIGZyb20gUkhFTCA2LjUuCiAj PWZlZG9yYXRlc3QKLVBhdGNoMDkzOiBnZGItcmhiejk0NzU2NC1maW5kdmFyLWFzc2VydGlvbi1m cmFtZS1mYWlsZWQtdGVzdGNhc2UucGF0Y2gKK1BhdGNoMDkxOiBnZGItcmhiejk0NzU2NC1maW5k dmFyLWFzc2VydGlvbi1mcmFtZS1mYWlsZWQtdGVzdGNhc2UucGF0Y2gKIAogIyBGaXggY3Jhc2gg b2YgLXJlYWRub3cgL3Vzci9saWIvZGVidWcvdXNyL2Jpbi9nbmF0YmluZC5kZWJ1ZyAoQlogMTA2 OTIxMSkuCiAjPXB1c2gramFuCi1QYXRjaDA5NDogZ2RiLWduYXQtZHdhcmYtY3Jhc2gtM29mMy5w YXRjaAorUGF0Y2gwOTI6IGdkYi1nbmF0LWR3YXJmLWNyYXNoLTNvZjMucGF0Y2gKIAogIyBGaXgg J21lbW9yeSBsZWFrIGluIGluZnB5X3JlYWRfbWVtb3J5KCknIChSSCBCWiAxMDA3NjE0KQogIz1m ZWRvcmF0ZXN0Ci1QYXRjaDA5NTogZ2RiLXJoYnoxMDA3NjE0LW1lbWxlYWstaW5mcHlfcmVhZF9t ZW1vcnktdGVzdC5wYXRjaAorUGF0Y2gwOTM6IGdkYi1yaGJ6MTAwNzYxNC1tZW1sZWFrLWluZnB5 X3JlYWRfbWVtb3J5LXRlc3QucGF0Y2gKIAogIyBGaXggJ2dkYiBnaXZlcyBoaWdobHkgbWlzbGVh ZGluZyBlcnJvciB3aGVuIGRlYnVnaW5mbyBwa2cgaXMgcHJlc2VudCwKICMgYnV0IG5vdCBjb3Jy ZXNwb25kaW5nIGJpbmFyeSBwa2cnIChSSCBCWiA5ODExNTQpLgogIz1wdXNoK2phbgotUGF0Y2gw OTY6IGdkYi02LjYtYnVpbGRpZC1sb2NhdGUtbWlzbGVhZGluZy13YXJuaW5nLW1pc3NpbmctZGVi dWdpbmZvLXJoYno5ODExNTQucGF0Y2gKK1BhdGNoMDk0OiBnZGItNi42LWJ1aWxkaWQtbG9jYXRl LW1pc2xlYWRpbmctd2FybmluZy1taXNzaW5nLWRlYnVnaW5mby1yaGJ6OTgxMTU0LnBhdGNoCiAK ICM9ZmVkb3JhdGVzdAotUGF0Y2gwOTc6IGdkYi1hcmNoZXItdmxhLXRlc3RzLnBhdGNoCitQYXRj aDA5NTogZ2RiLWFyY2hlci12bGEtdGVzdHMucGF0Y2gKIAogIz1mZWRvcmF0ZXN0Ci1QYXRjaDA5 ODogZ2RiLXZsYS1pbnRlbC10ZXN0cy5wYXRjaAorUGF0Y2gwOTY6IGdkYi12bGEtaW50ZWwtdGVz dHMucGF0Y2gKIAogIyBDb250aW51ZSBiYWNrdHJhY2UgZXZlbiBpZiBhIGZyYW1lIGZpbHRlciB0 aHJvd3MgYW4gZXhjZXB0aW9uIChQaGlsIE11bGRvb24pLgogIz1wdXNoCi1QYXRjaDA5OTogZ2Ri LWJ0cm9idXN0LnBhdGNoCitQYXRjaDA5NzogZ2RiLWJ0cm9idXN0LnBhdGNoCiAKICMgRGlzcGxh eSBGb3J0cmFuIHN0cmluZ3MgaW4gYmFja3RyYWNlcy4KICM9ZmVkb3JhdGVzdAotUGF0Y2gxMDA6 IGdkYi1mb3J0cmFuLWZyYW1lLXN0cmluZy5wYXRjaAorUGF0Y2gwOTg6IGdkYi1mb3J0cmFuLWZy YW1lLXN0cmluZy5wYXRjaAogCiAjIEZpeCBQeXRob24gR0lMIHdpdGggZ2RiLmV4ZWN1dGUoImNv bnRpbnVlIikgKFBoaWwgTXVsZG9vbiwgQlogMTExNjk1NykuCiAjPXB1c2gKLVBhdGNoMTAxOiBn ZGItcHl0aG9uLWdpbC5wYXRjaAorUGF0Y2gwOTk6IGdkYi1weXRob24tZ2lsLnBhdGNoCiAKICMg VGVzdGNhc2UgZm9yICdbU0FQXSBSZWN1cnNpdmUgZGxvcGVuIGNhdXNlcyBTQVAgSEFOQSBpbnN0 YWxsZXIgdG8KICMgY3Jhc2guJyAoUkggQlogMTE1NjE5MikuCiAjPWZlZG9yYXRlc3QKLVBhdGNo MTAyOiBnZGItcmhiejExNTYxOTItcmVjdXJzaXZlLWRsb3Blbi10ZXN0LnBhdGNoCitQYXRjaDEw MDogZ2RiLXJoYnoxMTU2MTkyLXJlY3Vyc2l2ZS1kbG9wZW4tdGVzdC5wYXRjaAogCiAjIEZpeCBq aXQtcmVhZGVyLmggZm9yIG11bHRpLWxpYi4KICM9cHVzaCtqYW4KLVBhdGNoMTAzOiBnZGItaml0 LXJlYWRlci1tdWx0aWxpYi5wYXRjaAorUGF0Y2gxMDE6IGdkYi1qaXQtcmVhZGVyLW11bHRpbGli LnBhdGNoCiAKICMgRml4ICdgY2F0Y2ggc3lzY2FsbCcgZG9lc24ndCB3b3JrIGZvciBwYXJlbnQg YWZ0ZXIgYGZvcmsnIGlzIGNhbGxlZCcKICMgKFBoaWxpcHBlIFdhcm9xdWllcnMsIFJIIEJaIDEx NDkyMDUpLgogIz1mZWRvcmF0ZXN0Ci1QYXRjaDEwNDogZ2RiLXJoYnoxMTQ5MjA1LWNhdGNoLXN5 c2NhbGwtYWZ0ZXItZm9yay10ZXN0LnBhdGNoCitQYXRjaDEwMjogZ2RiLXJoYnoxMTQ5MjA1LWNh dGNoLXN5c2NhbGwtYWZ0ZXItZm9yay10ZXN0LnBhdGNoCiAKICMgRml4ICdiYWNrcG9ydCBHREIg Ny40IGZpeCB0byBSSEVMIDYuNiBHREInIFtPcmlnaW5hbCBTb3VyY2V3YXJlIGJ1ZwogIyBkZXNj cmlwdGlvbjogJ0MrKyAoYW5kIG9iamMpOiBJbnRlcm5hbCBlcnJvciBvbiB1bnF1YWxpZmllZCBu YW1lCiAjIHJlLXNldCcsIFBSIDExNjU3XSAoUkggQlogMTE4NjQ3NikuCiAjPWZlZG9yYXRlc3QK LVBhdGNoMTA1OiBnZGItcmhiejExODY0NzYtaW50ZXJuYWwtZXJyb3ItdW5xdWFsaWZpZWQtbmFt ZS1yZS1zZXQtdGVzdC5wYXRjaAorUGF0Y2gxMDM6IGdkYi1yaGJ6MTE4NjQ3Ni1pbnRlcm5hbC1l cnJvci11bnF1YWxpZmllZC1uYW1lLXJlLXNldC10ZXN0LnBhdGNoCiAKICMgVGVzdCAnaW5mbyB0 eXBlLXByaW50ZXJzJyBQeXRob24gZXJyb3IgKFJIIEJaIDEzNTA0MzYpLgogIz1mZWRvcmF0ZXN0 Ci1QYXRjaDEwNjogZ2RiLXJoYnoxMzUwNDM2LXR5cGUtcHJpbnRlcnMtZXJyb3IucGF0Y2gKK1Bh dGNoMTA0OiBnZGItcmhiejEzNTA0MzYtdHlwZS1wcmludGVycy1lcnJvci5wYXRjaAogCiAjIEZp eCAnW3BwYzY0XSBhbmQgW3MzOTB4XSB3cm9uZyBwcm9sb2d1ZSBza2lwIG9uIC1PMiAtZyBjb2Rl JyAoSmFuCiAjIEtyYXRvY2h2aWwsIFJIIEJaIDEwODQ0MDQpLgogIz1mZWRvcmF0ZXN0Ci1QYXRj aDEwNzogZ2RiLXJoYnoxMDg0NDA0LXBwYzY0LXMzOTB4LXdyb25nLXByb2xvZ3VlLXNraXAtTzIt Zy0zb2YzLnBhdGNoCitQYXRjaDEwNTogZ2RiLXJoYnoxMDg0NDA0LXBwYzY0LXMzOTB4LXdyb25n LXByb2xvZ3VlLXNraXAtTzItZy0zb2YzLnBhdGNoCiAKICMgTmV2ZXIga2lsbCBQSUQgb246IGdk YiBleGVjIFBJRCAoSmFuIEtyYXRvY2h2aWwsIFJIIEJaIDEyMTk3NDcpLgogIz1wdXNoK2phbgot UGF0Y2gxMDg6IGdkYi1iejEyMTk3NDctYXR0YWNoLWtpbGxzLnBhdGNoCitQYXRjaDEwNjogZ2Ri LWJ6MTIxOTc0Ny1hdHRhY2gta2lsbHMucGF0Y2gKIAogIyBGb3JjZSBsaWJuY3Vyc2VzdyBvdmVy IGxpYm5jdXJzZXMgdG8gbWF0Y2ggdGhlIGluY2x1ZGVzIChSSCBCWiAxMjcwNTM0KS4KICM9cHVz aCtqYW4KLVBhdGNoMTA5OiBnZGItZmVkb3JhLWxpYm5jdXJzZXN3LnBhdGNoCitQYXRjaDEwNzog Z2RiLWZlZG9yYS1saWJuY3Vyc2Vzdy5wYXRjaAogCiAjIFRlc3QgY2xmbHVzaG9wdCBpbnN0cnVj dGlvbiBkZWNvZGUgKGZvciBSSCBCWiAxMjYyNDcxKS4KICM9ZmVkb3JhdGVzdAotUGF0Y2gxMTA6 IGdkYi1vcGNvZGVzLWNsZmx1c2hvcHQtdGVzdC5wYXRjaAorUGF0Y2gxMDg6IGdkYi1vcGNvZGVz LWNsZmx1c2hvcHQtdGVzdC5wYXRjaAogCiAjIFtyaGVsNl0gRFRTIGJhY2t3YXJkIFB5dGhvbiBj b21wYXRpYmlsaXR5IEFQSSAoQlogMTAyMDAwNCwgUGhpbCBNdWxkb29uKS4KICM9ZmVkb3JhCi1Q YXRjaDExMTogZ2RiLWR0cy1yaGVsNi1weXRob24tY29tcGF0LnBhdGNoCitQYXRjaDEwOTogZ2Ri LWR0cy1yaGVsNi1weXRob24tY29tcGF0LnBhdGNoCiAKICMgW1NDTF0gU2tpcCBkZXByZWNhdGVk IC5nZGJfaW5kZXggd2FybmluZyBmb3IgUmVkIEhhdCBidWlsdCBmaWxlcyAoQlogOTUzNTg1KS4K ICM9cHVzaCtqYW4KLVBhdGNoMTEyOiBnZGItNi42LWJ1aWxkaWQtbG9jYXRlLXJwbS1zY2wucGF0 Y2gKK1BhdGNoMTEwOiBnZGItNi42LWJ1aWxkaWQtbG9jYXRlLXJwbS1zY2wucGF0Y2gKIAogIyBX b3JrIGFyb3VuZCByZWFkbGluZS02LjIgaW5jb21wYXRpYmlsaXR5IG5vdCBhc2tpbmcgZm9yIC0t bW9yZS0tIChCWiA3MDExMzEpLgogIz1mZWRvcmEKLVBhdGNoMTEzOiBnZGItcmVhZGxpbmU2Mi1h c2stbW9yZS1yaC5wYXRjaAotCi0jIFtSSEVMNSxSSEVMNl0gRml4IGF0dGFjaGluZyB0byBzdG9w cGVkIHByb2Nlc3Nlcy4KLSMgW1JIRUw1XSBXb3JrYXJvdW5kIGtlcm5lbCBmb3IgZGV0YWNoaW5n IFNJR1NUT1BwZWQgcHJvY2Vzc2VzIChCWiA4MDkzODIpLgotIz1mZWRvcmEKLVBhdGNoMTE0OiBn ZGItNi44LWF0dGFjaC1zaWduYWxsZWQtZGV0YWNoLXN0b3BwZWQucGF0Y2gKK1BhdGNoMTExOiBn ZGItcmVhZGxpbmU2Mi1hc2stbW9yZS1yaC5wYXRjaAogCiAjIE1ha2UgdGhlIEdEQiBxdWl0IHBy b2Nlc3Npbmcgbm9uLWFib3J0YWJsZSB0byBjbGVhbnVwIGV2ZXJ5dGhpbmcgcHJvcGVybHkuCiAj PWZlZG9yYTogSXQgd2FzIHVzZWZ1bCBvbmx5IGFmdGVyIGdkYi02LjgtYXR0YWNoLXNpZ25hbGxl ZC1kZXRhY2gtc3RvcHBlZC5wYXRjaCAuCi1QYXRjaDExNTogZ2RiLTYuOC1xdWl0LW5ldmVyLWFi b3J0cy5wYXRjaAorUGF0Y2gxMTI6IGdkYi02LjgtcXVpdC1uZXZlci1hYm9ydHMucGF0Y2gKIAog IyBbYWFyY2g2NF0gRml4IGhhcmR3YXJlIHdhdGNocG9pbnRzIChSSCBCWiAxMjYxNTY0KS4KICM9 ZmVkb3JhdGVzdAotUGF0Y2gxMTY6IGdkYi1yaGJ6MTI2MTU2NC1hYXJjaDY0LWh3LXdhdGNocG9p bnQtdGVzdC5wYXRjaAorUGF0Y2gxMTM6IGdkYi1yaGJ6MTI2MTU2NC1hYXJjaDY0LWh3LXdhdGNo cG9pbnQtdGVzdC5wYXRjaAogCiAjIEFkZCBtZXNzYWdlcyBzdWdnZXN0aW5nIG1vcmUgcmVjZW50 IFJIRUwgZ2Ric2VydmVyIChSSCBCWiAxMzIxMTE0KS4KICM9ZmVkb3JhCi1QYXRjaDExNzogZ2Ri LWNvbnRhaW5lci1yaC1wa2cucGF0Y2gKK1BhdGNoMTE0OiBnZGItY29udGFpbmVyLXJoLXBrZy5w YXRjaAogCiAjIE5ldyB0ZXN0IGZvciBQeXRob24gIkNhbm5vdCBsb2NhdGUgb2JqZWN0IGZpbGUg Zm9yIGJsb2NrIiAoZm9yIFJIIEJaIDEzMjU3OTUpLgogIz1mZWRvcmF0ZXN0Ci1QYXRjaDExODog Z2RiLXJoYnoxMzI1Nzk1LWZyYW1lZmlsdGVycy10ZXN0LnBhdGNoCitQYXRjaDExNTogZ2RiLXJo YnoxMzI1Nzk1LWZyYW1lZmlsdGVycy10ZXN0LnBhdGNoCiAKICMgW2R0cytlbDddIFt4ODYqXSBC dW5kbGUgbGludXhfcGVyZi5oIGZvciBsaWJpcHQgKFJIIEJaIDEyNTY1MTMpLgogIz1mZWRvcmEK LVBhdGNoMTE5OiBnZGItbGludXhfcGVyZi1idW5kbGUucGF0Y2gKK1BhdGNoMTE2OiBnZGItbGlu dXhfcGVyZi1idW5kbGUucGF0Y2gKIAogIyBGaXggZ2RiLWhlYWRsZXNzIC91c3IvYmluLyBleGVj dXRhYmxlcyAoQlogMTM5MDI1MSkuCiAjPWZlZG9yYQotUGF0Y2gxMjA6IGdkYi1saWJleGVjLWFk ZC1pbmRleC5wYXRjaAorUGF0Y2gxMTc6IGdkYi1saWJleGVjLWFkZC1pbmRleC5wYXRjaAogCiAj IE5ldyB0ZXN0Y2FzZSBmb3I6IEZpeCA8dGFiPi1jb21wbGV0aW9uIGNyYXNoIChHYXJ5IEJlbnNv biwgUkggQlogMTM5ODM4NykuCiAjPWZlZG9yYXRlc3QKLVBhdGNoMTIxOiBnZGItcmhiejEzOTgz ODctdGFiLWNyYXNoLXRlc3QucGF0Y2gKK1BhdGNoMTE4OiBnZGItcmhiejEzOTgzODctdGFiLWNy YXNoLXRlc3QucGF0Y2gKIAogIyBbdGVzdHN1aXRlXSBGaXggZmFsc2Ugc2VsZnRlc3QuZXhwIEZB SUwgZnJvbSBzeXN0ZW0gcmVhZGxpbmUtNi4zKyAoUGF0cmljayBQYWxrYSkuCiAjPWZlZG9yYXRl c3QKLVBhdGNoMTIyOiBnZGItdGVzdHN1aXRlLXJlYWRsaW5lNjMtc2lnaW50LnBhdGNoCitQYXRj aDExOTogZ2RiLXRlc3RzdWl0ZS1yZWFkbGluZTYzLXNpZ2ludC5wYXRjaAogCiAjIFB5dGhvbiBw YXRjaGVzIG9mOiBodHRwOi8vc291cmNld2FyZS5vcmcvZ2RiL3dpa2kvUHJvamVjdEFyY2hlcgog Iz1wdXNoCi1QYXRjaDEyMzogZ2RiLWFyY2hlci5wYXRjaAorUGF0Y2gxMjA6IGdkYi1hcmNoZXIu cGF0Y2gKIAogIyBSZXZlcnQgdXBzdHJlYW0gY29tbWl0IDQ2OTQxMmRkOWNjYzRkZTU4NzRmZDMy OTliMTA1ODMzZjM2YjM0Y2QKLVBhdGNoMTI0OiBnZGItdmxhLWludGVsLWZpeC1wcmludC1jaGFy LWFycmF5LnBhdGNoCi0KLSMgRml4IC1EX0dMSUJDWFhfREVCVUcgZ2RiLWFkZC1pbmRleCByZWdy ZXNzaW9uIChSSCBCWiAxNTQwNTU5KS4KLVBhdGNoMTI1OiBnZGItcmhiejE1NDA1NTktZ2RiYWRk aW5kZXgtZ2xpYmNkZWJ1Zy1yZWdyZXNzaW9uLnBhdGNoCi0KLSMgRml4IHBwYzY0IHN0d3V4IGVu Y29kaW5nIGFzIGZvdW5kIGJ5IGdjYy04LjAgLVdlcnJvcj10YXV0b2xvZ2ljYWwtY29tcGFyZS4K LVBhdGNoMTI2OiBnZGItcHBjNjQtc3R3dXgtdGF1dG9sb2dpY2FsLWNvbXBhcmUucGF0Y2gKK1Bh dGNoMTIxOiBnZGItdmxhLWludGVsLWZpeC1wcmludC1jaGFyLWFycmF5LnBhdGNoCiAKICMgW3Mz OTB4XSBCYWNrcG9ydCBhcmNoMTIgaW5zdHJ1Y3Rpb25zIGRlY29kaW5nIChSSCBCWiAxNTUzMTA0 KS4KICMgPWZlZG9yYXRlc3QKLVBhdGNoMTI3OiBnZGItcmhiejE1NTMxMDQtczM5MHgtYXJjaDEy LXRlc3QucGF0Y2gKLQotIyBbYWFyY2g2NF0gRml4IG1pc3NlZCB1bmFsaWduZWQgaGFyZHdhcmUg d2F0Y2hwb2ludHMgKFJIIEJaIDEzNDc5OTMpLgotUGF0Y2gxMjg6IGdkYi1yaGJ6MTM0Nzk5My1h YXJjaDY0LWh3LXdhdGNocG9pbnQucGF0Y2gKK1BhdGNoMTIyOiBnZGItcmhiejE1NTMxMDQtczM5 MHgtYXJjaDEyLXRlc3QucGF0Y2gKIAoKZGlmZiAtLWdpdCBhL19nZGIuc3BlYy5wYXRjaC5pbmNs dWRlIGIvX2dkYi5zcGVjLnBhdGNoLmluY2x1ZGUKaW5kZXggYWE0ZmIxOS4uMTMxY2Y5MyAxMDA2 NDQKLS0tIGEvX2dkYi5zcGVjLnBhdGNoLmluY2x1ZGUKKysrIGIvX2dkYi5zcGVjLnBhdGNoLmlu Y2x1ZGUKQEAgLTEyMCw5ICsxMjAsMyBAQAogJXBhdGNoMTIwIC1wMQogJXBhdGNoMTIxIC1wMQog JXBhdGNoMTIyIC1wMQotJXBhdGNoMTIzIC1wMQotJXBhdGNoMTI0IC1wMQotJXBhdGNoMTI1IC1w MQotJXBhdGNoMTI2IC1wMQotJXBhdGNoMTI3IC1wMQotJXBhdGNoMTI4IC1wMQoKZGlmZiAtLWdp dCBhL19naXRfdXBzdHJlYW1fY29tbWl0IGIvX2dpdF91cHN0cmVhbV9jb21taXQKaW5kZXggYjk4 NjNlMC4uZTg1M2QyNSAxMDA2NDQKLS0tIGEvX2dpdF91cHN0cmVhbV9jb21taXQKKysrIGIvX2dp dF91cHN0cmVhbV9jb21taXQKQEAgLTEgKzEgQEAKLWI3NTVkYjNjOTgxMzdiYWFmZjhhMTU0ZDkz NmQzMjZkOWE5YzcyYTcKKzc1ZDc0Y2NhY2UwNWY2MTY2YTQ1ZGJhYTM1MmFiZjc1Mzg5MWQzYmUK CmRpZmYgLS1naXQgYS9fcGF0Y2hfb3JkZXIgYi9fcGF0Y2hfb3JkZXIKaW5kZXggODY2YmNjNC4u YWFlYzcwNCAxMDA2NDQKLS0tIGEvX3BhdGNoX29yZGVyCisrKyBiL19wYXRjaF9vcmRlcgpAQCAt MjcsNyArMjcsNiBAQCBnZGItNi4zLWJ6MTQwNTMyLXBwYy11bndpbmRpbmctdGVzdC5wYXRjaAog Z2RiLTYuMy1iejIwMjY4OS1leGVjLWZyb20tcHRocmVhZC10ZXN0LnBhdGNoCiBnZGItNi42LWJ6 MjMwMDAwLXBvd2VyNi1kaXNhc3NlbWJseS10ZXN0LnBhdGNoCiBnZGItNi42LWJ6MjI5NTE3LWdj b3JlLXdpdGhvdXQtdGVybWluYWwucGF0Y2gKLWdkYi02LjYtYnoyMzUxOTctZm9yay1kZXRhY2gt aW5mby5wYXRjaAogZ2RiLTYuNi10ZXN0c3VpdGUtdGltZW91dHMucGF0Y2gKIGdkYi02LjYtYnoy Mzc1NzItcHBjLWF0b21pYy1zZXF1ZW5jZS10ZXN0LnBhdGNoCiBnZGItNi42LXNjaGVkdWxlcl9s b2NraW5nLXN0ZXAtaXMtZGVmYXVsdC5wYXRjaApAQCAtNjcsNyArNjYsNiBAQCBnZGItYno2MDE4 ODctZHdhcmY0LXJoLXRlc3QucGF0Y2gKIGdkYi02LjYtYnVpbGRpZC1sb2NhdGUtY29yZS1hcy1h cmcucGF0Y2gKIGdkYi02LjYtYnVpbGRpZC1sb2NhdGUtcnBtLWxpYnJwbS13b3JrYXJvdW5kLnBh dGNoCiBnZGItdGVzdC1idC1jZmktd2l0aG91dC1kaWUucGF0Y2gKLWdkYi1nZGItYWRkLWluZGV4 LXNjcmlwdC5wYXRjaAogZ2RiLWJ6NTY4MjQ4LW9vbS1pcy1lcnJvci5wYXRjaAogZ2RiLWJ6NjM0 MTA4LXNvbGliX2FkZHJlc3MucGF0Y2gKIGdkYi10ZXN0LXBpZDAtY29yZS5wYXRjaApAQCAtMTEx LDcgKzEwOSw2IEBAIGdkYi1vcGNvZGVzLWNsZmx1c2hvcHQtdGVzdC5wYXRjaAogZ2RiLWR0cy1y aGVsNi1weXRob24tY29tcGF0LnBhdGNoCiBnZGItNi42LWJ1aWxkaWQtbG9jYXRlLXJwbS1zY2wu cGF0Y2gKIGdkYi1yZWFkbGluZTYyLWFzay1tb3JlLXJoLnBhdGNoCi1nZGItNi44LWF0dGFjaC1z aWduYWxsZWQtZGV0YWNoLXN0b3BwZWQucGF0Y2gKIGdkYi02LjgtcXVpdC1uZXZlci1hYm9ydHMu cGF0Y2gKIGdkYi1yaGJ6MTI2MTU2NC1hYXJjaDY0LWh3LXdhdGNocG9pbnQtdGVzdC5wYXRjaAog Z2RiLWNvbnRhaW5lci1yaC1wa2cucGF0Y2gKQEAgLTEyMiw3ICsxMTksNCBAQCBnZGItcmhiejEz OTgzODctdGFiLWNyYXNoLXRlc3QucGF0Y2gKIGdkYi10ZXN0c3VpdGUtcmVhZGxpbmU2My1zaWdp bnQucGF0Y2gKIGdkYi1hcmNoZXIucGF0Y2gKIGdkYi12bGEtaW50ZWwtZml4LXByaW50LWNoYXIt YXJyYXkucGF0Y2gKLWdkYi1yaGJ6MTU0MDU1OS1nZGJhZGRpbmRleC1nbGliY2RlYnVnLXJlZ3Jl c3Npb24ucGF0Y2gKLWdkYi1wcGM2NC1zdHd1eC10YXV0b2xvZ2ljYWwtY29tcGFyZS5wYXRjaAog Z2RiLXJoYnoxNTUzMTA0LXMzOTB4LWFyY2gxMi10ZXN0LnBhdGNoCi1nZGItcmhiejEzNDc5OTMt YWFyY2g2NC1ody13YXRjaHBvaW50LnBhdGNoCgpkaWZmIC0tZ2l0IGEvZ2RiLTYuMy1nc3RhY2st MjAwNTA0MTEucGF0Y2ggYi9nZGItNi4zLWdzdGFjay0yMDA1MDQxMS5wYXRjaAppbmRleCA5NWM3 MmQ5Li40NDliN2RiIDEwMDY0NAotLS0gYS9nZGItNi4zLWdzdGFjay0yMDA1MDQxMS5wYXRjaAor KysgYi9nZGItNi4zLWdzdGFjay0yMDA1MDQxMS5wYXRjaApAQCAtMTYsMTAgKzE2LDEwIEBAIEZp bGVOYW1lOiBnZGItNi4zLWdzdGFjay0yMDA1MDQxMS5wYXRjaAogCSogZ3N0YWNrLnNoLCBnc3Rh Y2suMTogTmV3IGZpbGVzLgogCiBkaWZmIC0tZ2l0IGEvZ2RiL01ha2VmaWxlLmluIGIvZ2RiL01h a2VmaWxlLmluCi1pbmRleCAxN2I3MWM2ZTdjLi5lNzdkNmE1YzAzIDEwMDY0NAoraW5kZXggMDlh MmFkMmNhMy4uMWVhN2EzNmM2OSAxMDA2NDQKIC0tLSBhL2dkYi9NYWtlZmlsZS5pbgogKysrIGIv Z2RiL01ha2VmaWxlLmluCi1AQCAtMTc0NCw3ICsxNzQ0LDcgQEAgaW5mbyBpbnN0YWxsLWluZm8g Y2xlYW4taW5mbyBkdmkgcGRmIGluc3RhbGwtcGRmIGh0bWwgaW5zdGFsbC1odG1sOiBmb3JjZQor QEAgLTE3MjcsNyArMTcyNyw3IEBAIGluZm8gaW5zdGFsbC1pbmZvIGNsZWFuLWluZm8gZHZpIHBk ZiBpbnN0YWxsLXBkZiBodG1sIGluc3RhbGwtaHRtbDogZm9yY2UKICBpbnN0YWxsOiBhbGwKICAJ QCQoTUFLRSkgJChGTEFHU19UT19QQVNTKSBpbnN0YWxsLW9ubHkKICAKQEAgLTI4LDcgKzI4LDcg QEAgaW5kZXggMTdiNzFjNmU3Yy4uZTc3ZDZhNWMwMyAxMDA2NDQKICAJdHJhbnNmb3JtZWRfbmFt ZT1gdD0nJChwcm9ncmFtX3RyYW5zZm9ybV9uYW1lKSc7IFwKICAJCQkgIGVjaG8gZ2RiIHwgc2Vk IC1lICIkJHQiYCA7IFwKICAJCWlmIHRlc3QgIngkJHRyYW5zZm9ybWVkX25hbWUiID0geDsgdGhl biBcCi1AQCAtMTc4NCw3ICsxNzg0LDI1IEBAIGluc3RhbGwtZ3VpbGU6CitAQCAtMTc3Niw3ICsx Nzc2LDI1IEBAIGluc3RhbGwtZ3VpbGU6CiAgaW5zdGFsbC1weXRob246CiAgCSQoU0hFTEwpICQo c3JjZGlyKS8uLi9ta2luc3RhbGxkaXJzICQoREVTVERJUikkKEdEQl9EQVRBRElSKS9weXRob24v Z2RiCiAgCkBAIC01NSw3ICs1NSw3IEBAIGluZGV4IDE3YjcxYzZlN2MuLmU3N2Q2YTVjMDMgMTAw NjQ0CiAgCXRyYW5zZm9ybWVkX25hbWU9YHQ9JyQocHJvZ3JhbV90cmFuc2Zvcm1fbmFtZSknOyBc CiAgCQkJICBlY2hvIGdkYiB8IHNlZCAtZSAkJHRgIDsgXAogIAkJaWYgdGVzdCAieCQkdHJhbnNm b3JtZWRfbmFtZSIgPSB4OyB0aGVuIFwKLUBAIC0xODA3LDYgKzE4MjUsMTggQEAgdW5pbnN0YWxs OiBmb3JjZSAkKENPTkZJR19VTklOU1RBTEwpCitAQCAtMTc5OSw2ICsxODE3LDE4IEBAIHVuaW5z dGFsbDogZm9yY2UgJChDT05GSUdfVU5JTlNUQUxMKQogIAlmaQogIAlAJChNQUtFKSBETz11bmlu c3RhbGwgIkRPRElSUz0kKFNVQkRJUlMpIiAkKEZMQUdTX1RPX1BBU1MpIHN1YmRpcl9kbwogIAoK ZGlmZiAtLWdpdCBhL2dkYi02LjMtcHBjNjRkaXNwbGF5c3ltYm9sLTIwMDQxMTI0LnBhdGNoIGIv Z2RiLTYuMy1wcGM2NGRpc3BsYXlzeW1ib2wtMjAwNDExMjQucGF0Y2gKaW5kZXggYjM5ZmI4Yy4u N2U1YTRmZCAxMDA2NDQKLS0tIGEvZ2RiLTYuMy1wcGM2NGRpc3BsYXlzeW1ib2wtMjAwNDExMjQu cGF0Y2gKKysrIGIvZ2RiLTYuMy1wcGM2NGRpc3BsYXlzeW1ib2wtMjAwNDExMjQucGF0Y2gKQEAg LTE1LDEwICsxNSwxMCBAQCBGaWxlTmFtZTogZ2RiLTYuMy1wcGM2NGRpc3BsYXlzeW1ib2wtMjAw NDExMjQucGF0Y2gKIAlhZGRyZXNzLgogCiBkaWZmIC0tZ2l0IGEvZ2RiL3ByaW50Y21kLmMgYi9n ZGIvcHJpbnRjbWQuYwotaW5kZXggNjI1NmYzNWJhYS4uYzUyZTM5ZjdmYyAxMDA2NDQKK2luZGV4 IDBkZmVhMzQ3NTMuLjgyZmUxZGI5YTcgMTAwNjQ0CiAtLS0gYS9nZGIvcHJpbnRjbWQuYwogKysr IGIvZ2RiL3ByaW50Y21kLmMKLUBAIC02MDIsNiArNjAyLDE0IEBAIGJ1aWxkX2FkZHJlc3Nfc3lt Ym9saWMgKHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoLAorQEAgLTYwMCw2ICs2MDAsMTQgQEAgYnVp bGRfYWRkcmVzc19zeW1ib2xpYyAoc3RydWN0IGdkYmFyY2ggKmdkYmFyY2gsCiAgCSAgYWRkciA9 IG92ZXJsYXlfbWFwcGVkX2FkZHJlc3MgKGFkZHIsIHNlY3Rpb24pOwogIAl9CiAgICAgIH0KCmRp ZmYgLS1naXQgYS9nZGItNi4zLXBwYzY0c3lzY2FsbC0yMDA0MDYyMi5wYXRjaCBiL2dkYi02LjMt cHBjNjRzeXNjYWxsLTIwMDQwNjIyLnBhdGNoCmluZGV4IDhmZWFhMGMuLjFiZGM0YjggMTAwNjQ0 Ci0tLSBhL2dkYi02LjMtcHBjNjRzeXNjYWxsLTIwMDQwNjIyLnBhdGNoCisrKyBiL2dkYi02LjMt cHBjNjRzeXNjYWxsLTIwMDQwNjIyLnBhdGNoCkBAIC0xNyw3ICsxNyw3IEBAIEZpbGVOYW1lOiBn ZGItNi4zLXBwYzY0c3lzY2FsbC0yMDA0MDYyMi5wYXRjaAogCSJmdW5jX3N0YXJ0Ii4KIAogZGlm ZiAtLWdpdCBhL2dkYi9yczYwMDAtdGRlcC5jIGIvZ2RiL3JzNjAwMC10ZGVwLmMKLWluZGV4IGU1 YTI2NWRiY2IuLjIzZDBkYjNiOGYgMTAwNjQ0CitpbmRleCBjNWI0OWM1ZjQ2Li40ZDFhMjQxY2Rm IDEwMDY0NAogLS0tIGEvZ2RiL3JzNjAwMC10ZGVwLmMKICsrKyBiL2dkYi9yczYwMDAtdGRlcC5j CiBAQCAtMTM0LDYgKzEzNCw3IEBAIHN0YXRpYyBjb25zdCBjaGFyICpwb3dlcnBjX3ZlY3Rvcl9h Ymlfc3RyaW5nID0gImF1dG8iOwpAQCAtMjgsNyArMjgsNyBAQCBpbmRleCBlNWEyNjVkYmNiLi4y M2QwZGIzYjhmIDEwMDY0NAogICAgICBpbnQgb2Zmc2V0OwkJCS8qIHRvdGFsIHNpemUgb2YgZnJh bWUgLS0tIHRoZSBkaXN0YW5jZQogIAkJCQkgICBieSB3aGljaCB3ZSBkZWNyZW1lbnQgc3AgdG8g YWxsb2NhdGUKICAJCQkJICAgdGhlIGZyYW1lICovCi1AQCAtMTU3Nyw3ICsxNTc4LDYgQEAgc3Rh dGljIENPUkVfQUREUgorQEAgLTE2MTAsNyArMTYxMSw2IEBAIHN0YXRpYyBDT1JFX0FERFIKICBz a2lwX3Byb2xvZ3VlIChzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCwgQ09SRV9BRERSIHBjLCBDT1JF X0FERFIgbGltX3BjLAogIAkgICAgICAgc3RydWN0IHJzNjAwMF9mcmFtZWRhdGEgKmZkYXRhKQog IHsKQEAgLTM2LDcgKzM2LDcgQEAgaW5kZXggZTVhMjY1ZGJjYi4uMjNkMGRiM2I4ZiAxMDA2NDQK ICAgIENPUkVfQUREUiBsYXN0X3Byb2xvZ3VlX3BjID0gcGM7CiAgICBDT1JFX0FERFIgbGlfZm91 bmRfcGMgPSAwOwogICAgZ2RiX2J5dGUgYnVmWzRdOwotQEAgLTE1OTUsMTIgKzE1OTUsMTQgQEAg c2tpcF9wcm9sb2d1ZSAoc3RydWN0IGdkYmFyY2ggKmdkYmFyY2gsIENPUkVfQUREUiBwYywgQ09S RV9BRERSIGxpbV9wYywKK0BAIC0xNjI5LDEyICsxNjI5LDE0IEBAIHNraXBfcHJvbG9ndWUgKHN0 cnVjdCBnZGJhcmNoICpnZGJhcmNoLCBDT1JFX0FERFIgcGMsIENPUkVfQUREUiBsaW1fcGMsCiAg ICBpbnQgbWluaW1hbF90b2NfbG9hZGVkID0gMDsKICAgIGludCBwcmV2X2luc25fd2FzX3Byb2xv Z3VlX2luc24gPSAxOwogICAgaW50IG51bV9za2lwX25vbl9wcm9sb2d1ZV9pbnNucyA9IDA7CkBA IC01MSw3ICs1MSw3IEBAIGluZGV4IGU1YTI2NWRiY2IuLjIzZDBkYjNiOGYgMTAwNjQ0CiAgICBm ZGF0YS0+c2F2ZWRfZ3ByID0gLTE7CiAgICBmZGF0YS0+c2F2ZWRfZnByID0gLTE7CiAgICBmZGF0 YS0+c2F2ZWRfdnIgPSAtMTsKLUBAIC0xNjM0LDYgKzE2MzYsNTUgQEAgc2tpcF9wcm9sb2d1ZSAo c3RydWN0IGdkYmFyY2ggKmdkYmFyY2gsIENPUkVfQUREUiBwYywgQ09SRV9BRERSIGxpbV9wYywK K0BAIC0xNjY4LDYgKzE2NzAsNTUgQEAgc2tpcF9wcm9sb2d1ZSAoc3RydWN0IGdkYmFyY2ggKmdk YmFyY2gsIENPUkVfQUREUiBwYywgQ09SRV9BRERSIGxpbV9wYywKICAJYnJlYWs7CiAgICAgICAg b3AgPSBleHRyYWN0X3Vuc2lnbmVkX2ludGVnZXIgKGJ1ZiwgNCwgYnl0ZV9vcmRlcik7CiAgCkBA IC0xMDcsNyArMTA3LDcgQEAgaW5kZXggZTVhMjY1ZGJjYi4uMjNkMGRiM2I4ZiAxMDA2NDQKICAg ICAgICBpZiAoKG9wICYgMHhmYzFmZmZmZikgPT0gMHg3YzA4MDJhNikKICAJewkJCS8qIG1mbHIg UnggKi8KICAJICAvKiBTaW5jZSBzaGFyZWQgbGlicmFyeSAvIFBJQyBjb2RlLCB3aGljaCBuZWVk cyB0byBnZXQgaXRzCi1AQCAtMTgyNSw5ICsxODc2LDkgQEAgc2tpcF9wcm9sb2d1ZSAoc3RydWN0 IGdkYmFyY2ggKmdkYmFyY2gsIENPUkVfQUREUiBwYywgQ09SRV9BRERSIGxpbV9wYywKK0BAIC0x ODU3LDkgKzE5MDgsOSBAQCBza2lwX3Byb2xvZ3VlIChzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCwg Q09SRV9BRERSIHBjLCBDT1JFX0FERFIgbGltX3BjLAogIAkgICAgIHdlIGhhdmUgbm8gbGluZSB0 YWJsZSBpbmZvcm1hdGlvbiBvciB0aGUgbGluZSBpbmZvIHRlbGxzCiAgCSAgICAgdXMgdGhhdCB0 aGUgc3Vicm91dGluZSBjYWxsIGlzIG5vdCBwYXJ0IG9mIHRoZSBsaW5lCiAgCSAgICAgYXNzb2Np YXRlZCB3aXRoIHRoZSBwcm9sb2d1ZS4gICovCgpkaWZmIC0tZ2l0IGEvZ2RiLTYuMy1yZWFkbmV2 ZXItMjAwNTA5MDcucGF0Y2ggYi9nZGItNi4zLXJlYWRuZXZlci0yMDA1MDkwNy5wYXRjaAppbmRl eCAzZDNhOTlmLi5iYjdjNDA4IDEwMDY0NAotLS0gYS9nZGItNi4zLXJlYWRuZXZlci0yMDA1MDkw Ny5wYXRjaAorKysgYi9nZGItNi4zLXJlYWRuZXZlci0yMDA1MDkwNy5wYXRjaApAQCAtMjQsMTUg KzI0LDE1IEBAIEZpbGVOYW1lOiBnZGItNi4zLXJlYWRuZXZlci0yMDA1MDkwNy5wYXRjaAogUHVz aGVkIHVwc3RyZWFtOiBodHRwczovL3NvdXJjZXdhcmUub3JnL21sL2dkYi1jdnMvMjAxNy0xMi9t c2cwMDAwNy5odG1sCiAKIGRpZmYgLS1naXQgYS9nZGIvZ2NvcmUuaW4gYi9nZGIvZ2NvcmUuaW4K LWluZGV4IGI3ZjU3Y2QzNDEuLmM3ZTBkZWM1NzQgMTAwNjQ0CitpbmRleCAyMzNjMDBkMzY2Li4w MDllNDE4MWRkIDEwMDY0NAogLS0tIGEvZ2RiL2djb3JlLmluCiArKysgYi9nZGIvZ2NvcmUuaW4K LUBAIC05Nyw3ICs5Nyw3IEBAIGZvciBwaWQgaW4gJCoKK0BAIC05Nyw3ICs5Nyw3IEBAIGZvciBw aWQgaW4gIiRAIgogIGRvCiAgCSMgYDwvZGV2L251bGwnIHRvIGF2b2lkIHRvdWNoaW5nIGludGVy YWN0aXZlIHRlcm1pbmFsIGlmIGl0IGlzCiAgCSMgYXZhaWxhYmxlIGJ1dCBub3QgYWNjZXNzaWJs ZSBhcyBHREIgd291bGQgZ2V0IHN0b3BwZWQgb24gU0lHVFRJTi4KLS0JJGJpbmFyeV9wYXRoL0BH REJfVFJBTlNGT1JNX05BTUVAIDwvZGV2L251bGwgLS1ueCAtLWJhdGNoIFwKLSsJJGJpbmFyeV9w YXRoL0BHREJfVFJBTlNGT1JNX05BTUVAIDwvZGV2L251bGwgLS1ueCAtLWJhdGNoIC0tcmVhZG5l dmVyIFwKKy0JIiRiaW5hcnlfcGF0aC9AR0RCX1RSQU5TRk9STV9OQU1FQCIgPC9kZXYvbnVsbCAt LW54IC0tYmF0Y2ggXAorKwkiJGJpbmFyeV9wYXRoL0BHREJfVFJBTlNGT1JNX05BTUVAIiA8L2Rl di9udWxsIC0tbnggLS1iYXRjaCAtLXJlYWRuZXZlciBcCiAgCSAgICAtZXggInNldCBwYWdpbmF0 aW9uIG9mZiIgLWV4ICJzZXQgaGVpZ2h0IDAiIC1leCAic2V0IHdpZHRoIDAiIFwKICAJICAgICIk e2R1bXBfYWxsX2NtZHNbQF19IiBcCiAgCSAgICAtZXggImF0dGFjaCAkcGlkIiAtZXggImdjb3Jl ICRuYW1lLiRwaWQiIC1leCBkZXRhY2ggLWV4IHF1aXQKCmRpZmYgLS1naXQgYS9nZGItNi4zLXRl c3Qtc2VsZi0yMDA1MDExMC5wYXRjaCBiL2dkYi02LjMtdGVzdC1zZWxmLTIwMDUwMTEwLnBhdGNo CmluZGV4IDQxZGZmNDAuLjg4MTdiYjkgMTAwNjQ0Ci0tLSBhL2dkYi02LjMtdGVzdC1zZWxmLTIw MDUwMTEwLnBhdGNoCisrKyBiL2dkYi02LjMtdGVzdC1zZWxmLTIwMDUwMTEwLnBhdGNoCkBAIC0x Nyw3ICsxNyw3IEBAIEZpbGVOYW1lOiBnZGItNi4zLXRlc3Qtc2VsZi0yMDA1MDExMC5wYXRjaAog ICAgICAgICAqIGdkYi5nZGIvb2JzZXJ2ZXIuZXhwOiBEaXR0by4KIAogZGlmZiAtLWdpdCBhL2dk Yi90ZXN0c3VpdGUvbGliL3NlbGZ0ZXN0LXN1cHBvcnQuZXhwIGIvZ2RiL3Rlc3RzdWl0ZS9saWIv c2VsZnRlc3Qtc3VwcG9ydC5leHAKLWluZGV4IDg5ZTJlM2Y0ZWYuLmVhMDI3YTZmN2QgMTAwNjQ0 CitpbmRleCBmNzE2OWUwOTU1Li4zYzA2MTU0MTkyIDEwMDY0NAogLS0tIGEvZ2RiL3Rlc3RzdWl0 ZS9saWIvc2VsZnRlc3Qtc3VwcG9ydC5leHAKICsrKyBiL2dkYi90ZXN0c3VpdGUvbGliL3NlbGZ0 ZXN0LXN1cHBvcnQuZXhwCiBAQCAtMTU2LDE4ICsxNTYsMTggQEAgcHJvYyBkb19zZWxmX3Rlc3Rz IHtmdW5jdGlvbiBib2R5fSB7CgpkaWZmIC0tZ2l0IGEvZ2RiLTYuNS1iejEwOTkyMS1EV19BVF9k ZWNsX2ZpbGUtdGVzdC5wYXRjaCBiL2dkYi02LjUtYnoxMDk5MjEtRFdfQVRfZGVjbF9maWxlLXRl c3QucGF0Y2gKaW5kZXggM2QzYTU1Zi4uZWJhMWY5NiAxMDA2NDQKLS0tIGEvZ2RiLTYuNS1iejEw OTkyMS1EV19BVF9kZWNsX2ZpbGUtdGVzdC5wYXRjaAorKysgYi9nZGItNi41LWJ6MTA5OTIxLURX X0FUX2RlY2xfZmlsZS10ZXN0LnBhdGNoCkBAIC0xMDgsNyArMTA4LDcgQEAgbmV3IGZpbGUgbW9k ZSAxMDA2NDQKICtnZGJfdGVzdCAibGlzdCBpbnRlZ2VyIiAiaW50IGludGVnZXI7XHIiCiArZ2Ri X3Rlc3QgInB0eXBlIGludGVnZXIiICJ0eXBlID0gaW50XHIiCiArIyBQYXRoIHZhcmllcyBkZXBl bmRpbmcgb24gdGhlIGJ1aWxkIGxvY2F0aW9uLgotK2dkYl90ZXN0ICJpbmZvIHZhcmlhYmxlcyBp bnRlZ2VyIiAiXHJcbkZpbGUgXFteXHJcblxdKi9nZGIuZHdhcmYyL2R3Mi1pbmNsdWRlZC5oOlxy XG5pbnQgaW50ZWdlcjtcciIKKytnZGJfdGVzdCAiaW5mbyB2YXJpYWJsZXMgaW50ZWdlciIgIlxy XG5GaWxlIFxbXlxyXG5cXSovZ2RiLmR3YXJmMi9kdzItaW5jbHVkZWQuaDpcclxuJHtkZWNpbWFs fTouKmludCBpbnRlZ2VyO1xyIgogZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2RiLmR3YXJm Mi9kdzItaW5jbHVkZWQuaCBiL2dkYi90ZXN0c3VpdGUvZ2RiLmR3YXJmMi9kdzItaW5jbHVkZWQu aAogbmV3IGZpbGUgbW9kZSAxMDA2NDQKIC0tLSAvZGV2L251bGwKCmRpZmYgLS1naXQgYS9nZGIt Ni41LWJ6MTg1MzM3LXJlc29sdmUtdGxzLXdpdGhvdXQtZGVidWdpbmZvLXYyLnBhdGNoIGIvZ2Ri LTYuNS1iejE4NTMzNy1yZXNvbHZlLXRscy13aXRob3V0LWRlYnVnaW5mby12Mi5wYXRjaAppbmRl eCA4OTQxZGFiLi45MDI3ZDVlIDEwMDY0NAotLS0gYS9nZGItNi41LWJ6MTg1MzM3LXJlc29sdmUt dGxzLXdpdGhvdXQtZGVidWdpbmZvLXYyLnBhdGNoCisrKyBiL2dkYi02LjUtYnoxODUzMzctcmVz b2x2ZS10bHMtd2l0aG91dC1kZWJ1Z2luZm8tdjIucGF0Y2gKQEAgLTQ0LDEwICs0NCwxMCBAQCBn bGliYy1kZWJ1Z2luZm8tMi43LTIueDg2XzY0OiAvdXNyL2xpYi9kZWJ1Zy9saWI2NC9saWJjLnNv LjYuZGVidWc6CiAgIDw4MWE4PiAgICAgRFdfQVRfTUlQU19saW5rYWdlX25hbWU6IChpbmRpcmVj dCBzdHJpbmcsIG9mZnNldDogMHgyODA4KTogKl9fR0lfX19lcnJub19sb2NhdGlvbgogCiBkaWZm IC0tZ2l0IGEvZ2RiL3ByaW50Y21kLmMgYi9nZGIvcHJpbnRjbWQuYwotaW5kZXggYzUyZTM5Zjdm Yy4uYWQ4MGIxYmViZiAxMDA2NDQKK2luZGV4IDgyZmUxZGI5YTcuLmM5MjEwMjJhNTkgMTAwNjQ0 CiAtLS0gYS9nZGIvcHJpbnRjbWQuYwogKysrIGIvZ2RiL3ByaW50Y21kLmMKLUBAIC0xMjEwLDYg KzEyMTAsMTAgQEAgcHJpbnRfY29tbWFuZF8xIChjb25zdCBjaGFyICpleHAsIGludCB2b2lkcHJp bnQpCitAQCAtMTIwMyw2ICsxMjAzLDEwIEBAIHByaW50X2NvbW1hbmRfMSAoY29uc3QgY2hhciAq ZXhwLCBpbnQgdm9pZHByaW50KQogIAogICAgaWYgKGV4cCAmJiAqZXhwKQogICAgICB7CgpkaWZm IC0tZ2l0IGEvZ2RiLTYuNS1iejIwMzY2MS1lbWl0LXJlbG9jcy5wYXRjaCBiL2dkYi02LjUtYnoy MDM2NjEtZW1pdC1yZWxvY3MucGF0Y2gKaW5kZXggZGYwMjQwMS4uZGQyZGI1MiAxMDA2NDQKLS0t IGEvZ2RiLTYuNS1iejIwMzY2MS1lbWl0LXJlbG9jcy5wYXRjaAorKysgYi9nZGItNi41LWJ6MjAz NjYxLWVtaXQtcmVsb2NzLnBhdGNoCkBAIC05LDEwICs5LDEwIEBAIEZpbGVOYW1lOiBnZGItNi41 LWJ6MjAzNjYxLWVtaXQtcmVsb2NzLnBhdGNoCiA7Oz1wdXNoK2phbjogVGhlcmUgd2FzIHNvbWUg bWFpbCB0aHJlYWQgYWJvdXQgaXQsIHRoaXMgcGF0Y2ggbWF5IGJlIGEgaGFjay4KIAogZGlmZiAt LWdpdCBhL2dkYi9zeW1maWxlLmMgYi9nZGIvc3ltZmlsZS5jCi1pbmRleCBmN2Y3NWIwNWQzLi43 Y2RhNjE1ZTc0IDEwMDY0NAoraW5kZXggN2JjMDNmYmI4Zi4uNjYxMTI1ZGVjNSAxMDA2NDQKIC0t LSBhL2dkYi9zeW1maWxlLmMKICsrKyBiL2dkYi9zeW1maWxlLmMKLUBAIC0zNjI5LDYgKzM2Mjks MTIgQEAgZGVmYXVsdF9zeW1maWxlX3JlbG9jYXRlIChzdHJ1Y3Qgb2JqZmlsZSAqb2JqZmlsZSwg YXNlY3Rpb24gKnNlY3RwLAorQEAgLTM0OTIsNiArMzQ5MiwxMiBAQCBkZWZhdWx0X3N5bWZpbGVf cmVsb2NhdGUgKHN0cnVjdCBvYmpmaWxlICpvYmpmaWxlLCBhc2VjdGlvbiAqc2VjdHAsCiAgICAg ICBEV08gZmlsZS4gICovCiAgICBiZmQgKmFiZmQgPSBzZWN0cC0+b3duZXI7CiAgCgpkaWZmIC0t Z2l0IGEvZ2RiLTYuNS1iejIxNjcxMS1jbG9uZS1pcy1vdXRlcm1vc3QucGF0Y2ggYi9nZGItNi41 LWJ6MjE2NzExLWNsb25lLWlzLW91dGVybW9zdC5wYXRjaAppbmRleCBmMjM4MDIyLi5kOThjZGNi IDEwMDY0NAotLS0gYS9nZGItNi41LWJ6MjE2NzExLWNsb25lLWlzLW91dGVybW9zdC5wYXRjaAor KysgYi9nZGItNi41LWJ6MjE2NzExLWNsb25lLWlzLW91dGVybW9zdC5wYXRjaApAQCAtMTI4LDEw ICsxMjgsMTAgQEAgaW5kZXggMmJkM2QzMWI3NS4uMjYyM2JhZTQyZCAxMDA2NDQKICAgIHNldF9n ZGJhcmNoX3dyaXRlX3BjIChnZGJhcmNoLCBhbWQ2NF9saW51eF93cml0ZV9wYyk7CiAgCiBkaWZm IC0tZ2l0IGEvZ2RiL2FtZDY0LXRkZXAuYyBiL2dkYi9hbWQ2NC10ZGVwLmMKLWluZGV4IDdiMjg1 MWYwYTYuLjdjNzA3OTJiM2YgMTAwNjQ0CitpbmRleCBkNTU1NDY1YzJmLi4xODY2OTBhZjMwIDEw MDY0NAogLS0tIGEvZ2RiL2FtZDY0LXRkZXAuYwogKysrIGIvZ2RiL2FtZDY0LXRkZXAuYwotQEAg LTI1OTUsNiArMjU5NSw3IEBAIGFtZDY0X2ZyYW1lX3Vud2luZF9zdG9wX3JlYXNvbiAoc3RydWN0 IGZyYW1lX2luZm8gKnRoaXNfZnJhbWUsCitAQCAtMjU5Nyw2ICsyNTk3LDcgQEAgYW1kNjRfZnJh bWVfdW53aW5kX3N0b3BfcmVhc29uIChzdHJ1Y3QgZnJhbWVfaW5mbyAqdGhpc19mcmFtZSwKICB7 CiAgICBzdHJ1Y3QgYW1kNjRfZnJhbWVfY2FjaGUgKmNhY2hlID0KICAgICAgYW1kNjRfZnJhbWVf Y2FjaGUgKHRoaXNfZnJhbWUsIHRoaXNfY2FjaGUpOwpAQCAtMTM5LDcgKzEzOSw3IEBAIGluZGV4 IDdiMjg1MWYwYTYuLjdjNzA3OTJiM2YgMTAwNjQ0CiAgCiAgICBpZiAoIWNhY2hlLT5iYXNlX3Ap CiAgICAgIHJldHVybiBVTldJTkRfVU5BVkFJTEFCTEU7Ci1AQCAtMjYwMyw2ICsyNjA0LDEwIEBA IGFtZDY0X2ZyYW1lX3Vud2luZF9zdG9wX3JlYXNvbiAoc3RydWN0IGZyYW1lX2luZm8gKnRoaXNf ZnJhbWUsCitAQCAtMjYwNSw2ICsyNjA2LDEwIEBAIGFtZDY0X2ZyYW1lX3Vud2luZF9zdG9wX3Jl YXNvbiAoc3RydWN0IGZyYW1lX2luZm8gKnRoaXNfZnJhbWUsCiAgICBpZiAoY2FjaGUtPmJhc2Ug PT0gMCkKICAgICAgcmV0dXJuIFVOV0lORF9PVVRFUk1PU1Q7CiAgCkBAIC0xNTAsNyArMTUwLDcg QEAgaW5kZXggN2IyODUxZjBhNi4uN2M3MDc5MmIzZiAxMDA2NDQKICAgIHJldHVybiBVTldJTkRf Tk9fUkVBU09OOwogIH0KICAKLUBAIC0yNzM3LDYgKzI3NDIsNyBAQCBhbWQ2NF9zaWd0cmFtcF9m cmFtZV90aGlzX2lkIChzdHJ1Y3QgZnJhbWVfaW5mbyAqdGhpc19mcmFtZSwKK0BAIC0yNzM5LDYg KzI3NDQsNyBAQCBhbWQ2NF9zaWd0cmFtcF9mcmFtZV90aGlzX2lkIChzdHJ1Y3QgZnJhbWVfaW5m byAqdGhpc19mcmFtZSwKICB7CiAgICBzdHJ1Y3QgYW1kNjRfZnJhbWVfY2FjaGUgKmNhY2hlID0K ICAgICAgYW1kNjRfc2lndHJhbXBfZnJhbWVfY2FjaGUgKHRoaXNfZnJhbWUsIHRoaXNfY2FjaGUp OwpAQCAtMTU4LDcgKzE1OCw3IEBAIGluZGV4IDdiMjg1MWYwYTYuLjdjNzA3OTJiM2YgMTAwNjQ0 CiAgCiAgICBpZiAoIWNhY2hlLT5iYXNlX3ApCiAgICAgICgqdGhpc19pZCkgPSBmcmFtZV9pZF9i dWlsZF91bmF2YWlsYWJsZV9zdGFjayAoZ2V0X2ZyYW1lX3BjICh0aGlzX2ZyYW1lKSk7Ci1AQCAt Mjc0NSw2ICsyNzUxLDExIEBAIGFtZDY0X3NpZ3RyYW1wX2ZyYW1lX3RoaXNfaWQgKHN0cnVjdCBm cmFtZV9pbmZvICp0aGlzX2ZyYW1lLAorQEAgLTI3NDcsNiArMjc1MywxMSBAQCBhbWQ2NF9zaWd0 cmFtcF9mcmFtZV90aGlzX2lkIChzdHJ1Y3QgZnJhbWVfaW5mbyAqdGhpc19mcmFtZSwKICAgICAg ICAvKiBUaGlzIG1hcmtzIHRoZSBvdXRlcm1vc3QgZnJhbWUuICAqLwogICAgICAgIHJldHVybjsK ICAgICAgfQpAQCAtMTcxLDEwICsxNzEsMTAgQEAgaW5kZXggN2IyODUxZjBhNi4uN2M3MDc5MmIz ZiAxMDA2NDQKICAgICAgKCp0aGlzX2lkKSA9IGZyYW1lX2lkX2J1aWxkIChjYWNoZS0+YmFzZSAr IDE2LCBnZXRfZnJhbWVfcGMgKHRoaXNfZnJhbWUpKTsKICB9CiBkaWZmIC0tZ2l0IGEvZ2RiL2kz ODYtdGRlcC5jIGIvZ2RiL2kzODYtdGRlcC5jCi1pbmRleCA5Y2UzMjllYjIwLi5kMWI0NjFiNTM4 IDEwMDY0NAoraW5kZXggNjQ2ZjMwNWVkYy4uYTBlODcyYzAxZiAxMDA2NDQKIC0tLSBhL2dkYi9p Mzg2LXRkZXAuYwogKysrIGIvZ2RiL2kzODYtdGRlcC5jCi1AQCAtODQwMSw2ICs4NDAxLDkgQEAg aTM4Nl9nZGJhcmNoX2luaXQgKHN0cnVjdCBnZGJhcmNoX2luZm8gaW5mbywgc3RydWN0IGdkYmFy Y2hfbGlzdCAqYXJjaGVzKQorQEAgLTg0MjgsNiArODQyOCw5IEBAIGkzODZfZ2RiYXJjaF9pbml0 IChzdHJ1Y3QgZ2RiYXJjaF9pbmZvIGluZm8sIHN0cnVjdCBnZGJhcmNoX2xpc3QgKmFyY2hlcykK ICAKICAgIHRkZXAtPnhzYXZlX3hjcjBfb2Zmc2V0ID0gLTE7CiAgCkBAIC0xODMsOSArMTgzLDkg QEAgaW5kZXggOWNlMzI5ZWIyMC4uZDFiNDYxYjUzOCAxMDA2NDQKICsKICAgIHRkZXAtPnJlY29y ZF9yZWdtYXAgPSBpMzg2X3JlY29yZF9yZWdtYXA7CiAgCi0gICBzZXRfZ2RiYXJjaF9sb25nX2xv bmdfYWxpZ25fYml0IChnZGJhcmNoLCAzMik7CisgICBzZXRfZ2RiYXJjaF90eXBlX2FsaWduIChn ZGJhcmNoLCBpMzg2X3R5cGVfYWxpZ24pOwogZGlmZiAtLWdpdCBhL2dkYi9pMzg2LXRkZXAuaCBi L2dkYi9pMzg2LXRkZXAuaAotaW5kZXggYTcxYzEwM2E4OC4uNWVlMzM2YjhjYiAxMDA2NDQKK2lu ZGV4IDgxYTkzZjExYWYuLjQ2MWFlMDYyNTggMTAwNjQ0CiAtLS0gYS9nZGIvaTM4Ni10ZGVwLmgK ICsrKyBiL2dkYi9pMzg2LXRkZXAuaAogQEAgLTI1MSw2ICsyNTEsOSBAQCBzdHJ1Y3QgZ2RiYXJj aF90ZGVwCgpkaWZmIC0tZ2l0IGEvZ2RiLTYuNS1iejIxODM3OS1zb2xpYi10cmFtcG9saW5lLWxv b2t1cC1sb2NrLWZpeC5wYXRjaCBiL2dkYi02LjUtYnoyMTgzNzktc29saWItdHJhbXBvbGluZS1s b29rdXAtbG9jay1maXgucGF0Y2gKaW5kZXggNzVlYWM3YS4uZmM1Y2E5YSAxMDA2NDQKLS0tIGEv Z2RiLTYuNS1iejIxODM3OS1zb2xpYi10cmFtcG9saW5lLWxvb2t1cC1sb2NrLWZpeC5wYXRjaAor KysgYi9nZGItNi41LWJ6MjE4Mzc5LXNvbGliLXRyYW1wb2xpbmUtbG9va3VwLWxvY2stZml4LnBh dGNoCkBAIC0xMSwxMCArMTEsMTAgQEAgRmlsZU5hbWU6IGdkYi02LjUtYnoyMTgzNzktc29saWIt dHJhbXBvbGluZS1sb29rdXAtbG9jay1maXgucGF0Y2gKIGh0dHBzOi8vYnVnemlsbGEucmVkaGF0 LmNvbS9idWd6aWxsYS9zaG93X2J1Zy5jZ2k/aWQ9MjE4Mzc5CiAKIGRpZmYgLS1naXQgYS9nZGIv c3ltdGFiLmMgYi9nZGIvc3ltdGFiLmMKLWluZGV4IDgxZjRmYzllYzUuLmE3ZTg0MzFjZmUgMTAw NjQ0CitpbmRleCBlMWYwMzNkMWQ4Li4xZDllMGI5MTgwIDEwMDY0NAogLS0tIGEvZ2RiL3N5bXRh Yi5jCiArKysgYi9nZGIvc3ltdGFiLmMKLUBAIC0zMTY2LDYgKzMxNjYsMTMgQEAgZmluZF9wY19z ZWN0X2xpbmUgKENPUkVfQUREUiBwYywgc3RydWN0IG9ial9zZWN0aW9uICpzZWN0aW9uLCBpbnQg bm90Y3VycmVudCkKK0BAIC0zMTY1LDYgKzMxNjUsMTMgQEAgZmluZF9wY19zZWN0X2xpbmUgKENP UkVfQUREUiBwYywgc3RydWN0IG9ial9zZWN0aW9uICpzZWN0aW9uLCBpbnQgbm90Y3VycmVudCkK ICAJICAgICBTWU1CT0xfTElOS0FHRV9OQU1FIChtc3ltYm9sKSk7ICovCiAgCSAgOwogIAkvKiBm YWxsIHRocm91Z2ggKi8KCmRpZmYgLS1naXQgYS9nZGItNi42LWJ1aWxkaWQtbG9jYXRlLWNvcmUt YXMtYXJnLnBhdGNoIGIvZ2RiLTYuNi1idWlsZGlkLWxvY2F0ZS1jb3JlLWFzLWFyZy5wYXRjaApp bmRleCA3ZTExMjc5Li5iOWM4Nzg4IDEwMDY0NAotLS0gYS9nZGItNi42LWJ1aWxkaWQtbG9jYXRl LWNvcmUtYXMtYXJnLnBhdGNoCisrKyBiL2dkYi02LjYtYnVpbGRpZC1sb2NhdGUtY29yZS1hcy1h cmcucGF0Y2gKQEAgLTc4LDE4ICs3OCwxOCBAQCBpbmRleCAxNWM4NWUyOGFiLi45ZmUyMzc1YmNl IDEwMDY0NAogICAgTlJfRVJST1JTCiAgfTsKIGRpZmYgLS1naXQgYS9nZGIvZXhlYy5jIGIvZ2Ri L2V4ZWMuYwotaW5kZXggYzhjMzJlY2MyNy4uYjMyOWUyYjgzNCAxMDA2NDQKK2luZGV4IDMwMjNm ZjdlNWEuLjgzMDhlYzNkNmYgMTAwNjQ0CiAtLS0gYS9nZGIvZXhlYy5jCiArKysgYi9nZGIvZXhl Yy5jCi1AQCAtMzUsNiArMzUsNyBAQAotICNpbmNsdWRlICJwcm9nc3BhY2UuaCIKK0BAIC0zNiw2 ICszNiw3IEBACiAgI2luY2x1ZGUgImdkYl9iZmQuaCIKICAjaW5jbHVkZSAiZ2NvcmUuaCIKKyAj aW5jbHVkZSAic291cmNlLmgiCiArI2luY2x1ZGUgImV4Y2VwdGlvbnMuaCIKICAKICAjaW5jbHVk ZSA8ZmNudGwuaD4KICAjaW5jbHVkZSAicmVhZGxpbmUvcmVhZGxpbmUuaCIKLUBAIC0zNDYsMTIg KzM0NywyNyBAQCBleGVjX2ZpbGVfYXR0YWNoIChjb25zdCBjaGFyICpmaWxlbmFtZSwgaW50IGZy b21fdHR5KQorQEAgLTM1NywxMiArMzU4LDI3IEBAIGV4ZWNfZmlsZV9hdHRhY2ggKGNvbnN0IGNo YXIgKmZpbGVuYW1lLCBpbnQgZnJvbV90dHkpCiAgCiAgICAgICAgaWYgKCFiZmRfY2hlY2tfZm9y bWF0X21hdGNoZXMgKGV4ZWNfYmZkLCBiZmRfb2JqZWN0LCAmbWF0Y2hpbmcpKQogIAl7CkBAIC0x MjEsMTAgKzEyMSwxMCBAQCBpbmRleCBjOGMzMmVjYzI3Li5iMzI5ZTJiODM0IDEwMDY0NAogIAog ICAgICAgIGlmIChidWlsZF9zZWN0aW9uX3RhYmxlIChleGVjX2JmZCwgJnNlY3Rpb25zLCAmc2Vj dGlvbnNfZW5kKSkKIGRpZmYgLS1naXQgYS9nZGIvbWFpbi5jIGIvZ2RiL21haW4uYwotaW5kZXgg M2M5ODc4N2VkYi4uMTdkMzVmNGE4YSAxMDA2NDQKK2luZGV4IDE4OTI2NmY5MGUuLjRjYWVmZTIw MTEgMTAwNjQ0CiAtLS0gYS9nZGIvbWFpbi5jCiArKysgYi9nZGIvbWFpbi5jCi1AQCAtNDQ2LDYg KzQ0NiwzNyBAQCBzdHJ1Y3QgY21kYXJnCitAQCAtNDQ3LDYgKzQ0NywzNyBAQCBzdHJ1Y3QgY21k YXJnCiAgICBjaGFyICpzdHJpbmc7CiAgfTsKICAKQEAgLTE2Miw3ICsxNjIsNyBAQCBpbmRleCAz Yzk4Nzg3ZWRiLi4xN2QzNWY0YThhIDEwMDY0NAogIHN0YXRpYyB2b2lkCiAgY2FwdHVyZWRfbWFp bl8xIChzdHJ1Y3QgY2FwdHVyZWRfbWFpbl9hcmdzICpjb250ZXh0KQogIHsKLUBAIC04ODIsNiAr OTEzLDggQEAgY2FwdHVyZWRfbWFpbl8xIChzdHJ1Y3QgY2FwdHVyZWRfbWFpbl9hcmdzICpjb250 ZXh0KQorQEAgLTg4Myw2ICs5MTQsOCBAQCBjYXB0dXJlZF9tYWluXzEgKHN0cnVjdCBjYXB0dXJl ZF9tYWluX2FyZ3MgKmNvbnRleHQpCiAgCXsKICAJICBzeW1hcmcgPSBhcmd2W29wdGluZF07CiAg CSAgZXhlY2FyZyA9IGFyZ3Zbb3B0aW5kXTsKQEAgLTE3MSw3ICsxNzEsNyBAQCBpbmRleCAzYzk4 Nzg3ZWRiLi4xN2QzNWY0YThhIDEwMDY0NAogIAkgIG9wdGluZCsrOwogIAl9CiAgCi1AQCAtMTAz MiwxMSArMTA2NSwyNSBAQCBjYXB0dXJlZF9tYWluXzEgKHN0cnVjdCBjYXB0dXJlZF9tYWluX2Fy Z3MgKmNvbnRleHQpCitAQCAtMTAzMywxMSArMTA2NiwyNSBAQCBjYXB0dXJlZF9tYWluXzEgKHN0 cnVjdCBjYXB0dXJlZF9tYWluX2FyZ3MgKmNvbnRleHQpCiAgICAgICAgJiYgc3ltYXJnICE9IE5V TEwKICAgICAgICAmJiBzdHJjbXAgKGV4ZWNhcmcsIHN5bWFyZykgPT0gMCkKICAgICAgewoKZGlm ZiAtLWdpdCBhL2dkYi02LjYtYnVpbGRpZC1sb2NhdGUtbWlzbGVhZGluZy13YXJuaW5nLW1pc3Np bmctZGVidWdpbmZvLXJoYno5ODExNTQucGF0Y2ggYi9nZGItNi42LWJ1aWxkaWQtbG9jYXRlLW1p c2xlYWRpbmctd2FybmluZy1taXNzaW5nLWRlYnVnaW5mby1yaGJ6OTgxMTU0LnBhdGNoCmluZGV4 IDMzZDA2ZjQuLjU0M2EzYmEgMTAwNjQ0Ci0tLSBhL2dkYi02LjYtYnVpbGRpZC1sb2NhdGUtbWlz bGVhZGluZy13YXJuaW5nLW1pc3NpbmctZGVidWdpbmZvLXJoYno5ODExNTQucGF0Y2gKKysrIGIv Z2RiLTYuNi1idWlsZGlkLWxvY2F0ZS1taXNsZWFkaW5nLXdhcm5pbmctbWlzc2luZy1kZWJ1Z2lu Zm8tcmhiejk4MTE1NC5wYXRjaApAQCAtMjgsMTAgKzI4LDEwIEBAIENvbW1lbnRzIGJ5IFNlcmdp byBEdXJpZ2FuIEp1bmlvciA8c2VyZ2lvZGpAcmVkaGF0LmNvbT46CiAgIHZhbGlkIGFuZCBkb2Vz bid0IHByaW50IHRoZSBuZWNlc3Nhcnkgd2FybmluZyAoIlRyeTogeXVtIGluc3RhbGwgLi4uIiku CiAKIGRpZmYgLS1naXQgYS9nZGIvYnVpbGQtaWQuYyBiL2dkYi9idWlsZC1pZC5jCi1pbmRleCA0 MDlhNWI4YzU0Li5lMmMxZTgxMjY2IDEwMDY0NAoraW5kZXggNGUxNDc3ZTk1MC4uNWFmOWQ2Njg5 OSAxMDA2NDQKIC0tLSBhL2dkYi9idWlsZC1pZC5jCiArKysgYi9nZGIvYnVpbGQtaWQuYwotQEAg LTU5Miw3ICs1OTIsMTAgQEAgYnVpbGRfaWRfdG9fZGVidWdfYmZkIChzaXplX3QgYnVpbGRfaWRf bGVuLCBjb25zdCBiZmRfYnl0ZSAqYnVpbGRfaWQsCitAQCAtNTgxLDcgKzU4MSwxMCBAQCBidWls ZF9pZF90b19kZWJ1Z19iZmQgKHNpemVfdCBidWlsZF9pZF9sZW4sIGNvbnN0IGJmZF9ieXRlICpi dWlsZF9pZCwKICAJICBkb19jbGVhbnVwcyAoaW5uZXIpOwogIAogIAkgIGlmIChhYmZkID09IE5V TEwpCgpkaWZmIC0tZ2l0IGEvZ2RiLTYuNi1idWlsZGlkLWxvY2F0ZS1ycG0tbGlicnBtLXdvcmth cm91bmQucGF0Y2ggYi9nZGItNi42LWJ1aWxkaWQtbG9jYXRlLXJwbS1saWJycG0td29ya2Fyb3Vu ZC5wYXRjaAppbmRleCAwNjYzMDVlLi44OWRkMzVkIDEwMDY0NAotLS0gYS9nZGItNi42LWJ1aWxk aWQtbG9jYXRlLXJwbS1saWJycG0td29ya2Fyb3VuZC5wYXRjaAorKysgYi9nZGItNi42LWJ1aWxk aWQtbG9jYXRlLXJwbS1saWJycG0td29ya2Fyb3VuZC5wYXRjaApAQCAtOSwxMCArOSwxMCBAQCBG aWxlTmFtZTogZ2RiLTYuNi1idWlsZGlkLWxvY2F0ZS1ycG0tbGlicnBtLXdvcmthcm91bmQucGF0 Y2gKIDs7PXB1c2gramFuCiAKIGRpZmYgLS1naXQgYS9nZGIvYnVpbGQtaWQuYyBiL2dkYi9idWls ZC1pZC5jCi1pbmRleCBkNjBjZjYyMmRjLi40MDlhNWI4YzU0IDEwMDY0NAoraW5kZXggMzllNzQx Y2Y1OC4uNGUxNDc3ZTk1MCAxMDA2NDQKIC0tLSBhL2dkYi9idWlsZC1pZC5jCiArKysgYi9nZGIv YnVpbGQtaWQuYwotQEAgLTY3OCw2ICs2NzgsMTkgQEAgYnVpbGRfaWRfdG9fZmlsZW5hbWUgKGNv bnN0IHN0cnVjdCBiZmRfYnVpbGRfaWQgKmJ1aWxkX2lkLCBjaGFyICoqbGlua19yZXR1cm4pCitA QCAtNjUyLDYgKzY1MiwxOSBAQCBidWlsZF9pZF90b19maWxlbmFtZSAoY29uc3Qgc3RydWN0IGJm ZF9idWlsZF9pZCAqYnVpbGRfaWQsIGNoYXIgKipsaW5rX3JldHVybikKICAjaW5jbHVkZSA8ZGxm Y24uaD4KICAjZW5kaWYKICAKCmRpZmYgLS1naXQgYS9nZGItNi42LWJ1aWxkaWQtbG9jYXRlLXJw bS1zY2wucGF0Y2ggYi9nZGItNi42LWJ1aWxkaWQtbG9jYXRlLXJwbS1zY2wucGF0Y2gKaW5kZXgg YzI1ZWUxYi4uZGM2ZGE1ZiAxMDA2NDQKLS0tIGEvZ2RiLTYuNi1idWlsZGlkLWxvY2F0ZS1ycG0t c2NsLnBhdGNoCisrKyBiL2dkYi02LjYtYnVpbGRpZC1sb2NhdGUtcnBtLXNjbC5wYXRjaApAQCAt MTIsMTAgKzEyLDEwIEBAIHdhcm5pbmc6IFNraXBwaW5nIGRlcHJlY2F0ZWQgLmdkYl9pbmRleCBz ZWN0aW9uCiBodHRwczovL2J1Z3ppbGxhLnJlZGhhdC5jb20vc2hvd19idWcuY2dpP2lkPTk1MzU4 NQogCiBkaWZmIC0tZ2l0IGEvZ2RiL2J1aWxkLWlkLmMgYi9nZGIvYnVpbGQtaWQuYwotaW5kZXgg ZTJjMWU4MTI2Ni4uMWI3NTUzMGY5MSAxMDA2NDQKK2luZGV4IDVhZjlkNjY4OTkuLjJmZjkzMTkx YzcgMTAwNjQ0CiAtLS0gYS9nZGIvYnVpbGQtaWQuYwogKysrIGIvZ2RiL2J1aWxkLWlkLmMKLUBA IC03MTUsNyArNzE1LDExIEBAIHN0YXRpYyBpbnQgbWlzc2luZ19ycG1fbGlzdF9lbnRyaWVzOwor QEAgLTY4OSw3ICs2ODksMTEgQEAgc3RhdGljIGludCBtaXNzaW5nX3JwbV9saXN0X2VudHJpZXM7 CiAgLyogUmV0dXJucyB0aGUgY291bnQgb2YgbmV3bHkgYWRkZWQgcnBtcy4gICovCiAgCiAgc3Rh dGljIGludApAQCAtMjcsNyArMjcsNyBAQCBpbmRleCBlMmMxZTgxMjY2Li4xYjc1NTMwZjkxIDEw MDY0NAogIHsKICAgIHN0YXRpYyBpbnQgcnBtX2luaXRfZG9uZSA9IDA7CiAgICBycG10cyB0czsK LUBAIC04MjIsNyArODI2LDExIEBAIG1pc3NpbmdfcnBtX2VubGlzdCAoY29uc3QgY2hhciAqZmls ZW5hbWUpCitAQCAtNzk2LDcgKzgwMCwxMSBAQCBtaXNzaW5nX3JwbV9lbmxpc3QgKGNvbnN0IGNo YXIgKmZpbGVuYW1lKQogICAgbWkgPSBycG10c0luaXRJdGVyYXRvcl9wICh0cywgUlBNVEFHX0JB U0VOQU1FUywgZmlsZW5hbWUsIDApOwogICAgaWYgKG1pICE9IE5VTEwpCiAgICAgIHsKQEAgLTM5 LDcgKzM5LDcgQEAgaW5kZXggZTJjMWU4MTI2Ni4uMWI3NTUzMGY5MSAxMDA2NDQKICAJewogIAkg IEhlYWRlciBoOwogIAkgIGNoYXIgKmRlYnVnaW5mbywgKipzbG90LCAqcywgKnMyOwotQEAgLTk0 MCw2ICs5NDgsMzcgQEAgbWlzc2luZ19ycG1fZW5saXN0IChjb25zdCBjaGFyICpmaWxlbmFtZSkK K0BAIC05MTQsNiArOTIyLDM3IEBAIG1pc3NpbmdfcnBtX2VubGlzdCAoY29uc3QgY2hhciAqZmls ZW5hbWUpCiAgCSAgICB4ZnJlZSAoZGVidWdpbmZvKTsKICAJICBjb3VudCsrOwogIAl9CkBAIC03 Nyw3ICs3Nyw3IEBAIGluZGV4IGUyYzFlODEyNjYuLjFiNzU1MzBmOTEgMTAwNjQ0CiAgCiAgICAg ICAgcnBtZGJGcmVlSXRlcmF0b3JfcCAobWkpOwogICAgICB9Ci1AQCAtOTUwLDYgKzk4OSwyMSBA QCBtaXNzaW5nX3JwbV9lbmxpc3QgKGNvbnN0IGNoYXIgKmZpbGVuYW1lKQorQEAgLTkyNCw2ICs5 NjMsMjEgQEAgbWlzc2luZ19ycG1fZW5saXN0IChjb25zdCBjaGFyICpmaWxlbmFtZSkKICB9CiAg CiAgc3RhdGljIGludApAQCAtMTAwLDEwICsxMDAsMTAgQEAgaW5kZXggZTJjMWU4MTI2Ni4uMWI3 NTUzMGY5MSAxMDA2NDQKICB7CiAgICByZXR1cm4gc3RyY29sbCAoKmFwLCAqYnApOwogZGlmZiAt LWdpdCBhL2dkYi9kd2FyZjJyZWFkLmMgYi9nZGIvZHdhcmYycmVhZC5jCi1pbmRleCAyYzk3MmQ1 ZTc0Li42NDMyOWFmNzFlIDEwMDY0NAoraW5kZXggMzI4YTA3ZGY4Mi4uNDVjMjI0NTBiMSAxMDA2 NDQKIC0tLSBhL2dkYi9kd2FyZjJyZWFkLmMKICsrKyBiL2dkYi9kd2FyZjJyZWFkLmMKLUBAIC0z NzI1LDYgKzM3MjUsMTYgQEAgcmVhZF9pbmRleF9mcm9tX3NlY3Rpb24gKHN0cnVjdCBvYmpmaWxl ICpvYmpmaWxlLAorQEAgLTM0NzgsNiArMzQ3OCwxNiBAQCByZWFkX2luZGV4X2Zyb21fc2VjdGlv biAoc3RydWN0IG9iamZpbGUgKm9iamZpbGUsCiAgICAgICAic2V0IHVzZS1kZXByZWNhdGVkLWlu ZGV4LXNlY3Rpb25zIG9uIi4gICovCiAgICBpZiAodmVyc2lvbiA8IDYgJiYgIWRlcHJlY2F0ZWRf b2spCiAgICAgIHsKQEAgLTEyMCw3ICsxMjAsNyBAQCBpbmRleCAyYzk3MmQ1ZTc0Li42NDMyOWFm NzFlIDEwMDY0NAogICAgICAgIHN0YXRpYyBpbnQgd2FybmluZ19wcmludGVkID0gMDsKICAgICAg ICBpZiAoIXdhcm5pbmdfcHJpbnRlZCkKICAJewotQEAgLTM3MzYsNiArMzc0NiwxMCBAQCB0byB1 c2UgdGhlIHNlY3Rpb24gYW55d2F5LiIpLAorQEAgLTM0ODksNiArMzQ5OSwxMCBAQCB0byB1c2Ug dGhlIHNlY3Rpb24gYW55d2F5LiIpLAogIAkgIHdhcm5pbmdfcHJpbnRlZCA9IDE7CiAgCX0KICAg ICAgICByZXR1cm4gMDsKCmRpZmYgLS1naXQgYS9nZGItNi42LWJ1aWxkaWQtbG9jYXRlLXJwbS5w YXRjaCBiL2dkYi02LjYtYnVpbGRpZC1sb2NhdGUtcnBtLnBhdGNoCmluZGV4IDY4MGM3NzMuLmRh OGY4MWQgMTAwNjQ0Ci0tLSBhL2dkYi02LjYtYnVpbGRpZC1sb2NhdGUtcnBtLnBhdGNoCisrKyBi L2dkYi02LjYtYnVpbGRpZC1sb2NhdGUtcnBtLnBhdGNoCkBAIC0yMzQsNyArMjM0LDcgQEAgaW5k ZXggZTBkMzhlYTI2Ny4uZGE1YWMzMTNlMyAxMDA2NDQKICAKICAjIENvcHlyaWdodCAoQykgMjAw MSwgMjAwMywgMjAwNSwgMjAxMSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KIGRpZmYg LS1naXQgYS9nZGIvYnVpbGQtaWQuYyBiL2dkYi9idWlsZC1pZC5jCi1pbmRleCA1NzQwNjI4Mzg2 Li5kNjBjZjYyMmRjIDEwMDY0NAoraW5kZXggN2I5Y2JjYTE0ZS4uMzllNzQxY2Y1OCAxMDA2NDQK IC0tLSBhL2dkYi9idWlsZC1pZC5jCiArKysgYi9nZGIvYnVpbGQtaWQuYwogQEAgLTM1LDYgKzM1 LDggQEAKQEAgLTI0Niw3ICsyNDYsNyBAQCBpbmRleCA1NzQwNjI4Mzg2Li5kNjBjZjYyMmRjIDEw MDY0NAogIAogICNkZWZpbmUgQlVJTERfSURfVkVSQk9TRV9OT05FIDAKICAjZGVmaW5lIEJVSUxE X0lEX1ZFUkJPU0VfRklMRU5BTUVTIDEKLUBAIC02NjYsOCArNjY4LDM2NiBAQCBidWlsZF9pZF90 b19maWxlbmFtZSAoY29uc3Qgc3RydWN0IGJmZF9idWlsZF9pZCAqYnVpbGRfaWQsIGNoYXIgKips aW5rX3JldHVybikKK0BAIC02NDAsOCArNjQyLDM2NiBAQCBidWlsZF9pZF90b19maWxlbmFtZSAo Y29uc3Qgc3RydWN0IGJmZF9idWlsZF9pZCAqYnVpbGRfaWQsIGNoYXIgKipsaW5rX3JldHVybikK ICAgIHJldHVybiByZXN1bHQ7CiAgfQogIApAQCAtNjE0LDcgKzYxNCw3IEBAIGluZGV4IDU3NDA2 MjgzODYuLmQ2MGNmNjIyZGMgMTAwNjQ0CiAgICAgYXZvaWRhbmNlLiAgKi8KICAKICBzdHJ1Y3Qg bWlzc2luZ19maWxlcGFpcgotQEAgLTcyMSwxMSArMTA4MSwxNyBAQCBtaXNzaW5nX2ZpbGVwYWly X2NoYW5nZSAodm9pZCkKK0BAIC02OTUsMTEgKzEwNTUsMTcgQEAgbWlzc2luZ19maWxlcGFpcl9j aGFuZ2UgKHZvaWQpCiAgICAgICAgLyogQWxsIHRoZWlyIG1lbW9yeSBjYW1lIGp1c3QgZnJvbSBt aXNzaW5nX2ZpbGVwYWlyX09CU1RBQ0suICAqLwogICAgICAgIG1pc3NpbmdfZmlsZXBhaXJfaGFz aCA9IE5VTEw7CiAgICAgIH0KQEAgLTYzMiw3ICs2MzIsNyBAQCBpbmRleCA1NzQwNjI4Mzg2Li5k NjBjZjYyMmRjIDEwMDY0NAogICAgbWlzc2luZ19maWxlcGFpcl9jaGFuZ2UgKCk7CiAgfQogIAot QEAgLTc5MiwxNCArMTE1OCwzOSBAQCBkZWJ1Z19wcmludF9taXNzaW5nIChjb25zdCBjaGFyICpi aW5hcnksIGNvbnN0IGNoYXIgKmRlYnVnKQorQEAgLTc2NiwxNCArMTEzMiwzOSBAQCBkZWJ1Z19w cmludF9taXNzaW5nIChjb25zdCBjaGFyICpiaW5hcnksIGNvbnN0IGNoYXIgKmRlYnVnKQogIAog ICAgKnNsb3QgPSBtaXNzaW5nX2ZpbGVwYWlyOwogIApAQCAtNjgwLDcgKzY4MCw3IEBAIGluZGV4 IDU3NDA2MjgzODYuLmQ2MGNmNjIyZGMgMTAwNjQ0CiAgCiAgLyogU2VlIGJ1aWxkLWlkLmguICAq LwogZGlmZiAtLWdpdCBhL2dkYi9jb25maWcuaW4gYi9nZGIvY29uZmlnLmluCi1pbmRleCAxZDEx YTk3MDgwLi5lZGQ3MDI4Zjc2IDEwMDY0NAoraW5kZXggYWE0NmYwNzQxMC4uNDA0ZTBiYmRkYyAx MDA2NDQKIC0tLSBhL2dkYi9jb25maWcuaW4KICsrKyBiL2dkYi9jb25maWcuaW4KIEBAIC0zMyw2 ICszMyw5IEBACkBAIC02OTMsNyArNjkzLDcgQEAgaW5kZXggMWQxMWE5NzA4MC4uZWRkNzAyOGY3 NiAxMDA2NDQKICAvKiBEZWZpbmUgdG8gMSBpZiB0cmFuc2xhdGlvbiBvZiBwcm9ncmFtIG1lc3Nh Z2VzIHRvIHRoZSB1c2VyJ3MgbmF0aXZlCiAgICAgbGFuZ3VhZ2UgaXMgcmVxdWVzdGVkLiAqLwog ICN1bmRlZiBFTkFCTEVfTkxTCi1AQCAtMjY0LDYgKzI2Nyw5IEBACitAQCAtMjcwLDYgKzI3Myw5 IEBACiAgLyogRGVmaW5lIGlmIFB5dGhvbiAyLjcgaXMgYmVpbmcgdXNlZC4gKi8KICAjdW5kZWYg SEFWRV9MSUJQWVRIT04yXzcKICAKQEAgLTcwNCw3ICs3MDQsNyBAQCBpbmRleCAxZDExYTk3MDgw Li5lZGQ3MDI4Zjc2IDEwMDY0NAogICN1bmRlZiBIQVZFX0xJQlVOV0lORF9JQTY0X0gKICAKIGRp ZmYgLS1naXQgYS9nZGIvY29uZmlndXJlIGIvZ2RiL2NvbmZpZ3VyZQotaW5kZXggMDkyODkzZDc1 Ny4uMWNlY2RiYzNiNSAxMDA3NTUKK2luZGV4IDQxODZmN2UxNjAuLjMwYTZlODZmZjggMTAwNzU1 CiAtLS0gYS9nZGIvY29uZmlndXJlCiArKysgYi9nZGIvY29uZmlndXJlCiBAQCAtNzE2LDYgKzcx NiwxMSBAQCBQS0dWRVJTSU9OCkBAIC03NjIsNyArNzYyLDcgQEAgaW5kZXggMDkyODkzZDc1Ny4u MWNlY2RiYzNiNSAxMDA3NTUKICAgIFlBQ0MgICAgICAgIFRoZSBgWWV0IEFub3RoZXIgQyBDb21w aWxlcicgaW1wbGVtZW50YXRpb24gdG8gdXNlLiBEZWZhdWx0cyB0bwogICAgICAgICAgICAgICAg dGhlIGZpcnN0IHByb2dyYW0gZm91bmQgb3V0IG9mOiBgYmlzb24gLXknLCBgYnlhY2MnLCBgeWFj YycuCiAgICBZRkxBR1MgICAgICBUaGUgbGlzdCBvZiBhcmd1bWVudHMgdGhhdCB3aWxsIGJlIHBh c3NlZCBieSBkZWZhdWx0IHRvICRZQUNDLgotQEAgLTY0ODYsNiArNjUwNiw0OTQgQEAgX0FDRU9G CitAQCAtNjQ5Miw2ICs2NTEyLDQ5NCBAQCBfQUNFT0YKICB7ICRhc19lY2hvICIkYXNfbWU6JHth c19saW5lbm8tJExJTkVOT306IHJlc3VsdDogJHdpdGhfYXV0b19sb2FkX3NhZmVfcGF0aCIgPiY1 CiAgJGFzX2VjaG8gIiR3aXRoX2F1dG9fbG9hZF9zYWZlX3BhdGgiID4mNjsgfQogIApAQCAtMTI1 OCw3ICsxMjU4LDcgQEAgaW5kZXggMDkyODkzZDc1Ny4uMWNlY2RiYzNiNSAxMDA3NTUKICAKICBz dWJkaXJzPSIkc3ViZGlycyB0ZXN0c3VpdGUiCiBkaWZmIC0tZ2l0IGEvZ2RiL2NvbmZpZ3VyZS5h YyBiL2dkYi9jb25maWd1cmUuYWMKLWluZGV4IGQ0MTMzZWE3MWUuLmUyMzJjMWFkY2IgMTAwNjQ0 CitpbmRleCBlMWY2MzBjZDM4Li4zOWE3NzdmNjQ3IDEwMDY0NAogLS0tIGEvZ2RiL2NvbmZpZ3Vy ZS5hYwogKysrIGIvZ2RiL2NvbmZpZ3VyZS5hYwogQEAgLTE2Nyw2ICsxNjcsMTk5IEBAIEFDX0RF RklORV9ESVIoQVVUT19MT0FEX1NBRkVfUEFUSCwgZXNjYXBlX2RpciwKQEAgLTE0NjIsMTAgKzE0 NjIsMTAgQEAgaW5kZXggZDQxMzNlYTcxZS4uZTIzMmMxYWRjYiAxMDA2NDQKICAKICAjIENoZWNr IHdoZXRoZXIgdG8gc3VwcG9ydCBhbHRlcm5hdGl2ZSB0YXJnZXQgY29uZmlndXJhdGlvbnMKIGRp ZmYgLS1naXQgYS9nZGIvY29yZWxvdy5jIGIvZ2RiL2NvcmVsb3cuYwotaW5kZXggYzViNjQyZGI4 MS4uNmUwMjdjMTJlMiAxMDA2NDQKK2luZGV4IDc2OTQ1OTUwYjkuLjQ0ODExMjgxNTYgMTAwNjQ0 CiAtLS0gYS9nZGIvY29yZWxvdy5jCiArKysgYi9nZGIvY29yZWxvdy5jCi1AQCAtMzA5LDcgKzMw OSw3IEBAIGJ1aWxkX2lkX2xvY2F0ZV9leGVjIChpbnQgZnJvbV90dHkpCitAQCAtMzY4LDcgKzM2 OCw3IEBAIGJ1aWxkX2lkX2xvY2F0ZV9leGVjIChpbnQgZnJvbV90dHkpCiAgICAgICAgICBzeW1m aWxlX29iamZpbGUtPmZsYWdzIHw9IE9CSkZfQlVJTERfSURfQ09SRV9MT0FERUQ7CiAgICAgIH0K ICAgIGVsc2UKQEAgLTE0NzUsNyArMTQ3NSw3IEBAIGluZGV4IGM1YjY0MmRiODEuLjZlMDI3YzEy ZTIgMTAwNjQ0CiAgICBkb19jbGVhbnVwcyAoYmFja190byk7CiAgCiBkaWZmIC0tZ2l0IGEvZ2Ri L2V2ZW50LXRvcC5jIGIvZ2RiL2V2ZW50LXRvcC5jCi1pbmRleCAwYzE1MjhlNWViLi4wZDY2OGYz NWUwIDEwMDY0NAoraW5kZXggNTg1MjA4OWYwOS4uZDkzNzliNDJjNSAxMDA2NDQKIC0tLSBhL2dk Yi9ldmVudC10b3AuYwogKysrIGIvZ2RiL2V2ZW50LXRvcC5jCiBAQCAtNDAsNiArNDAsNyBAQApA QCAtMTUwOCwxMCArMTUwOCwxMCBAQCBpbmRleCAwYzE1MjhlNWViLi4wZDY2OGYzNWUwIDEwMDY0 NAogIH0KICAKIGRpZmYgLS1naXQgYS9nZGIvc3ltZmlsZS5oIGIvZ2RiL3N5bWZpbGUuaAotaW5k ZXggMGQ1MWY0NmQ3OC4uODJjNzY0MzFlMSAxMDA2NDQKK2luZGV4IGRiZDAzNzBjZjkuLmFkY2Yx ZmRhYWUgMTAwNjQ0CiAtLS0gYS9nZGIvc3ltZmlsZS5oCiArKysgYi9nZGIvc3ltZmlsZS5oCi1A QCAtNTQ2LDYgKzU0Niw4IEBAIHZvaWQgbWFwX3N5bWJvbF9maWxlbmFtZXMgKHN5bWJvbF9maWxl bmFtZV9mdHlwZSAqZnVuLCB2b2lkICpkYXRhLAorQEAgLTUzOCw2ICs1MzgsOCBAQCB2b2lkIG1h cF9zeW1ib2xfZmlsZW5hbWVzIChzeW1ib2xfZmlsZW5hbWVfZnR5cGUgKmZ1biwgdm9pZCAqZGF0 YSwKICAvKiBidWlsZC1pZCBzdXBwb3J0LiAgKi8KICBleHRlcm4gc3RydWN0IGJmZF9idWlsZF9p ZCAqYnVpbGRfaWRfYWRkcl9nZXQgKENPUkVfQUREUiBhZGRyKTsKICBleHRlcm4gdm9pZCBkZWJ1 Z19wcmludF9taXNzaW5nIChjb25zdCBjaGFyICpiaW5hcnksIGNvbnN0IGNoYXIgKmRlYnVnKTsK CmRpZmYgLS1naXQgYS9nZGItNi42LWJ1aWxkaWQtbG9jYXRlLXNvbGliLW1pc3NpbmctaWRzLnBh dGNoIGIvZ2RiLTYuNi1idWlsZGlkLWxvY2F0ZS1zb2xpYi1taXNzaW5nLWlkcy5wYXRjaAppbmRl eCA3OGFhOTNjLi40MGI0MDcxIDEwMDY0NAotLS0gYS9nZGItNi42LWJ1aWxkaWQtbG9jYXRlLXNv bGliLW1pc3NpbmctaWRzLnBhdGNoCisrKyBiL2dkYi02LjYtYnVpbGRpZC1sb2NhdGUtc29saWIt bWlzc2luZy1pZHMucGF0Y2gKQEAgLTE0LDIyICsxNCwyMiBAQCBnZGIgcmV0dXJucyBhbiBpbmNv cnJlY3QgYmFjayB0cmFjZSB3aGVuIGFwcGx5aW5nIGEgZGVidWdpbmZvCiBodHRwczovL2J1Z3pp bGxhLnJlZGhhdC5jb20vc2hvd19idWcuY2dpP2lkPTEzMzk4NjIKIAogZGlmZiAtLWdpdCBhL2dk Yi9zb2xpYi1zdnI0LmMgYi9nZGIvc29saWItc3ZyNC5jCi1pbmRleCBhMzM5OWFkOGY3Li5kN2Vl YjYzNTBkIDEwMDY0NAoraW5kZXggYWE5NWJjMWNlNi4uOWE3ZWYxMDk2MyAxMDA2NDQKIC0tLSBh L2dkYi9zb2xpYi1zdnI0LmMKICsrKyBiL2dkYi9zb2xpYi1zdnI0LmMKLUBAIC0xMzg3LDE0ICsx Mzg3LDI3IEBAIHN2cjRfcmVhZF9zb19saXN0IChDT1JFX0FERFIgbG0sIENPUkVfQUREUiBwcmV2 X2xtLAorQEAgLTEzNTgsMTQgKzEzNTgsMjcgQEAgc3ZyNF9yZWFkX3NvX2xpc3QgKENPUkVfQURE UiBsbSwgQ09SRV9BRERSIHByZXZfbG0sCiAgCX0KICAKICAgICAgICB7CiAtCXN0cnVjdCBiZmRf YnVpbGRfaWQgKmJ1aWxkX2lkOwogKwlzdHJ1Y3QgYmZkX2J1aWxkX2lkICpidWlsZF9pZCA9IE5V TEw7CiAgCi0gCXN0cm5jcHkgKG5ld29iai0+c29fb3JpZ2luYWxfbmFtZSwgYnVmZmVyLCBTT19O QU1FX01BWF9QQVRIX1NJWkUgLSAxKTsKKyAJc3RybmNweSAobmV3b2JqLT5zb19vcmlnaW5hbF9u YW1lLCBidWZmZXIuZ2V0ICgpLCBTT19OQU1FX01BWF9QQVRIX1NJWkUgLSAxKTsKICAJbmV3b2Jq LT5zb19vcmlnaW5hbF9uYW1lW1NPX05BTUVfTUFYX1BBVEhfU0laRSAtIDFdID0gJ1wwJzsKICAJ LyogTWF5IGdldCBvdmVyd3JpdHRlbiBiZWxvdy4gICovCiAgCXN0cmNweSAobmV3b2JqLT5zb19u YW1lLCBuZXdvYmotPnNvX29yaWdpbmFsX25hbWUpOwogIAotLQlidWlsZF9pZCA9IGJ1aWxkX2lk X2FkZHJfZ2V0IChuZXdvYmotPmxtX2luZm8tPmxfbGQpOworLQlidWlsZF9pZCA9IGJ1aWxkX2lk X2FkZHJfZ2V0ICgoKGxtX2luZm9fc3ZyNCAqKSBuZXdvYmotPmxtX2luZm8pLT5sX2xkKTsKICsJ LyogSW4gdGhlIGNhc2UgdGhlIG1haW4gZXhlY3V0YWJsZSB3YXMgZm91bmQgYWNjb3JkaW5nIHRv IGl0cyBidWlsZC1pZAogKwkgICAoZnJvbSBhIGNvcmUgZmlsZSkgcHJldmVudCBsb2FkaW5nIGEg ZGlmZmVyZW50IGJ1aWxkIG9mIGEgbGlicmFyeQogKwkgICB3aXRoIGFjY2lkZW50YWxseSB0aGUg c2FtZSBTT19OQU1FLgpAQCAtNDcsNyArNDcsNyBAQCBpbmRleCBhMzM5OWFkOGY3Li5kN2VlYjYz NTBkIDEwMDY0NAogIAlpZiAoYnVpbGRfaWQgIT0gTlVMTCkKICAJICB7CiAgCSAgICBjaGFyICpu YW1lLCAqYnVpbGRfaWRfZmlsZW5hbWU7Ci1AQCAtMTQwOSwyMyArMTQyMiw3IEBAIHN2cjRfcmVh ZF9zb19saXN0IChDT1JFX0FERFIgbG0sIENPUkVfQUREUiBwcmV2X2xtLAorQEAgLTEzODAsMjMg KzEzOTMsNyBAQCBzdnI0X3JlYWRfc29fbGlzdCAoQ09SRV9BRERSIGxtLCBDT1JFX0FERFIgcHJl dl9sbSwKICAJCXhmcmVlIChuYW1lKTsKICAJICAgICAgfQogIAkgICAgZWxzZQoKZGlmZiAtLWdp dCBhL2dkYi02LjYtYnVpbGRpZC1sb2NhdGUucGF0Y2ggYi9nZGItNi42LWJ1aWxkaWQtbG9jYXRl LnBhdGNoCmluZGV4IGNiMDIzMTIuLmMyYjQyMDkgMTAwNjQ0Ci0tLSBhL2dkYi02LjYtYnVpbGRp ZC1sb2NhdGUucGF0Y2gKKysrIGIvZ2RiLTYuNi1idWlsZGlkLWxvY2F0ZS5wYXRjaApAQCAtOSw3 ICs5LDcgQEAgRmlsZU5hbWU6IGdkYi02LjYtYnVpbGRpZC1sb2NhdGUucGF0Y2gKIDs7PXB1c2gr amFuCiAKIGRpZmYgLS1naXQgYS9nZGIvYnVpbGQtaWQuYyBiL2dkYi9idWlsZC1pZC5jCi1pbmRl eCA5NDVkYTRmM2NmLi41NzQwNjI4Mzg2IDEwMDY0NAoraW5kZXggYzhlYWNiZDFlOC4uN2I5Y2Jj YTE0ZSAxMDA2NDQKIC0tLSBhL2dkYi9idWlsZC1pZC5jCiArKysgYi9nZGIvYnVpbGQtaWQuYwog QEAgLTI2LDExICsyNiw2NyBAQApAQCAtMTksNyArMTksNyBAQCBpbmRleCA5NDVkYTRmM2NmLi41 NzQwNjI4Mzg2IDEwMDY0NAogKyNpbmNsdWRlICJsaWJiZmQuaCIKICsjaW5jbHVkZSAiZ2RiY29y ZS5oIgogKyNpbmNsdWRlICJnZGJjbWQuaCIKLSsjaW5jbHVkZSAib2JzZXJ2ZXIuaCIKKysjaW5j bHVkZSAib2JzZXJ2YWJsZS5oIgogKyNpbmNsdWRlICJlbGYvZXh0ZXJuYWwuaCIKICsjaW5jbHVk ZSAiZWxmL2ludGVybmFsLmgiCiArI2luY2x1ZGUgImVsZi9jb21tb24uaCIKQEAgLTQzOSw3ICs0 MzksNyBAQCBpbmRleCA5NDVkYTRmM2NmLi41NzQwNjI4Mzg2IDEwMDY0NAogIAogICAgaWYgKGZv dW5kID09IE5VTEwpCiAgICAgIHdhcm5pbmcgKF8oIkZpbGUgXCIlc1wiIGhhcyBubyBidWlsZC1p ZCwgZmlsZSBza2lwcGVkIiksCi1AQCAtNjUsMjMgKzQ2Myw1NCBAQCBidWlsZF9pZF92ZXJpZnkg KGJmZCAqYWJmZCwgc2l6ZV90IGNoZWNrX2xlbiwgY29uc3QgYmZkX2J5dGUgKmNoZWNrKQorQEAg LTY1LDExICs0NjMsNTAgQEAgYnVpbGRfaWRfdmVyaWZ5IChiZmQgKmFiZmQsIHNpemVfdCBjaGVj a19sZW4sIGNvbnN0IGJmZF9ieXRlICpjaGVjaykKICAgIHJldHVybiByZXR2YWw7CiAgfQogIApA QCAtNDg0LDg0ICs0ODQsODAgQEAgaW5kZXggOTQ1ZGE0ZjNjZi4uNTc0MDYyODM4NiAxMDA2NDQK ICtidWlsZF9pZF90b19kZWJ1Z19iZmQgKHNpemVfdCBidWlsZF9pZF9sZW4sIGNvbnN0IGJmZF9i eXRlICpidWlsZF9pZCwKICsJCSAgICAgICBjaGFyICoqbGlua19yZXR1cm4sIGludCBhZGRfZGVi dWdfc3VmZml4KQogIHsKLS0gIGNoYXIgKmxpbmssICpkZWJ1Z2RpcjsKLSsgIGNoYXIgKmxpbmss ICpkZWJ1Z2RpciwgKmxpbmtfYWxsID0gTlVMTDsKLSAgIFZFQyAoY2hhcl9wdHIpICpkZWJ1Z2Rp cl92ZWM7Ci0gICBzdHJ1Y3QgY2xlYW51cCAqYmFja190bzsKLSAgIGludCBpeDsKKysgIGNoYXIg KmRlYnVnZGlyOworKyAgc3RkOjpzdHJpbmcgbGluaywgbGlua19hbGw7CisrICBzdHJ1Y3QgY2xl YW51cCAqYmFja190bzsKKysgIGludCBpeDsKICAgIGdkYl9iZmRfcmVmX3B0ciBhYmZkOwotLSAg aW50IGFsbG9jX2xlbjsKLSAKLSAgIC8qIERFQlVHX0ZJTEVfRElSRUNUT1JZLy5idWlsZC1pZC9h Yi9jZGVmICovCi0tICBhbGxvY19sZW4gPSAoc3RybGVuIChkZWJ1Z19maWxlX2RpcmVjdG9yeSkK LS0JICAgICAgICsgKHNpemVvZiAiLy5idWlsZC1pZC8iIC0gMSkgKyAxCi0tCSAgICAgICArIDIg KiBidWlsZF9pZF9sZW4gKyAoc2l6ZW9mICIuZGVidWciIC0gMSkgKyAxKTsKLS0gIGxpbmsgPSAo Y2hhciAqKSBhbGxvY2EgKGFsbG9jX2xlbik7Ci0rICBsaW5rID0gKGNoYXIgKikgeG1hbGxvYyAo c3RybGVuIChkZWJ1Z19maWxlX2RpcmVjdG9yeSkgKyAyICogYnVpbGRfaWRfbGVuICsgNTApOwog IAogICAgLyogS2VlcCBiYWNrd2FyZCBjb21wYXRpYmlsaXR5IHNvIHRoYXQgREVCVUdfRklMRV9E SVJFQ1RPUlkgYmVpbmcgIiIgd2lsbAotICAgICAgY2F1c2UgIi8uYnVpbGQtaWQvLi4uIiBsb29r dXBzLiAgKi8KLUBAIC05NCw5ICs1MjMsMTIgQEAgYnVpbGRfaWRfdG9fZGVidWdfYmZkIChzaXpl X3QgYnVpbGRfaWRfbGVuLCBjb25zdCBiZmRfYnl0ZSAqYnVpbGRfaWQpCi0gICAgICAgc2l6ZV90 IGRlYnVnZGlyX2xlbiA9IHN0cmxlbiAoZGVidWdkaXIpOworQEAgLTgyLDYzICs1MTksMjk2IEBA IGJ1aWxkX2lkX3RvX2RlYnVnX2JmZCAoc2l6ZV90IGJ1aWxkX2lkX2xlbiwgY29uc3QgYmZkX2J5 dGUgKmJ1aWxkX2lkKQorICAgICB7CiAgICAgICAgY29uc3QgZ2RiX2J5dGUgKmRhdGEgPSBidWls ZF9pZDsKICAgICAgICBzaXplX3Qgc2l6ZSA9IGJ1aWxkX2lkX2xlbjsKLS0gICAgICBjaGFyICpz OwotICAgICAgIGNoYXIgKmZpbGVuYW1lID0gTlVMTDsKLSAgICAgICBzdHJ1Y3QgY2xlYW51cCAq aW5uZXI7CisrICAgICAgY2hhciAqZmlsZW5hbWUgPSBOVUxMOworKyAgICAgIHN0cnVjdCBjbGVh bnVwICppbm5lcjsKICsgICAgICB1bnNpZ25lZCBzZXFubzsKICsgICAgICBzdHJ1Y3Qgc3RhdCBz dGF0YnVmX3RyYXNoOwotKyAgICAgIC8qIEluaXRpYWxpemUgaXQganVzdCB0byBhdm9pZCBhIEdD QyBmYWxzZSB3YXJuaW5nLiAgKi8KLSsgICAgICBjaGFyICpzLCAqbGluazAgPSBOVUxMLCAqbGlu azBfcmVzb2x2ZWQ7CisrICAgICAgc3RkOjpzdHJpbmcgbGluazA7CiAgCi0gICAgICAgbWVtY3B5 IChsaW5rLCBkZWJ1Z2RpciwgZGVidWdkaXJfbGVuKTsKLSAgICAgICBzID0gJmxpbmtbZGVidWdk aXJfbGVuXTsKLUBAIC0xMTAsNTIgKzU0MiwyOTkgQEAgYnVpbGRfaWRfdG9fZGVidWdfYmZkIChz aXplX3QgYnVpbGRfaWRfbGVuLCBjb25zdCBiZmRfYnl0ZSAqYnVpbGRfaWQpCi0gCSpzKysgPSAn Lyc7CistICAgICAgc3RkOjpzdHJpbmcgbGluayA9IGRlYnVnZGlyLmdldCAoKTsKKysgICAgICBs aW5rID0gZGVidWdkaXIuZ2V0ICgpOworICAgICAgIGxpbmsgKz0gIi8uYnVpbGQtaWQvIjsKKyAK KyAgICAgICBpZiAoc2l6ZSA+IDApCisgCXsKKyAJICBzaXplLS07CistCSAgc3RyaW5nX2FwcGVu ZGYgKGxpbmssICIlMDJ4LyIsICh1bnNpZ25lZCkgKmRhdGErKyk7CisrCSAgc3RyaW5nX2FwcGVu ZGYgKGxpbmssICIlMDJ4IiwgKHVuc2lnbmVkKSAqZGF0YSsrKTsKKyAJfQorLQorKyAgICAgIGlm IChzaXplID4gMCkKKysJbGluayArPSAiLyI7CiAgICAgICAgd2hpbGUgKHNpemUtLSA+IDApCi0g CXMgKz0gc3ByaW50ZiAocywgIiUwMngiLCAodW5zaWduZWQpICpkYXRhKyspOwotLSAgICAgIHN0 cmNweSAocywgIi5kZWJ1ZyIpOworIAlzdHJpbmdfYXBwZW5kZiAobGluaywgIiUwMngiLCAodW5z aWduZWQpICpkYXRhKyspOwogIAorLSAgICAgIGxpbmsgKz0gIi5kZWJ1ZyI7CistCiAgICAgICAg aWYgKHNlcGFyYXRlX2RlYnVnX2ZpbGVfZGVidWcpCi0gCXByaW50Zl91bmZpbHRlcmVkIChfKCIg IFRyeWluZyAlc1xuIiksIGxpbmspOworIAlwcmludGZfdW5maWx0ZXJlZCAoXygiICBUcnlpbmcg JXNcbiIpLCBsaW5rLmNfc3RyICgpKTsKICAKIC0gICAgICAvKiBscmVhbHBhdGgoKSBpcyBleHBl bnNpdmUgZXZlbiBmb3IgdGhlIHVzdWFsbHkgbm9uLWV4aXN0ZW50IGZpbGVzLiAgKi8KLS0gICAg ICBpZiAoYWNjZXNzIChsaW5rLCBGX09LKSA9PSAwKQotLQlmaWxlbmFtZSA9IGxyZWFscGF0aCAo bGluayk7CistICAgICAgZ2RiOjp1bmlxdWVfeG1hbGxvY19wdHI8Y2hhcj4gZmlsZW5hbWU7Cist ICAgICAgaWYgKGFjY2VzcyAobGluay5jX3N0ciAoKSwgRl9PSykgPT0gMCkKKy0JZmlsZW5hbWUu cmVzZXQgKGxyZWFscGF0aCAobGluay5jX3N0ciAoKSkpOworLQorLSAgICAgIGlmIChmaWxlbmFt ZSA9PSBOVUxMKQorLQljb250aW51ZTsKICsgICAgICBmb3IgKHNlcW5vID0gMDs7IHNlcW5vKysp CiArCXsKLSsJICBjaGFyICpzMjsKLSsKICsJICBpZiAoc2Vxbm8pCiArCSAgICB7CiArCSAgICAg IC8qIFRoZXJlIGNhbiBiZSBtdWx0aXBsZSBidWlsZC1pZCBzeW1saW5rcyBwb2ludGluZyB0byBy ZWFsIGZpbGVzCiArCQkgd2l0aCB0aGUgc2FtZSBidWlsZC1pZCAoc3VjaCBhcyBoYXJkIGxpbmtz KS4gIFNvbWUgb2YgdGhlIHJlYWwKICsJCSBmaWxlcyBtYXkgbm90IGJlIGluc3RhbGxlZC4gICov CiArCi0rCSAgICAgIHMyID0gcyArIHNwcmludGYgKHMsICIuJXUiLCBzZXFubyk7CisrCSAgICAg IHN0cmluZ19hcHBlbmRmIChsaW5rLCAiLiV1Iiwgc2Vxbm8pOwogKwkgICAgfQotKwkgIGVsc2UK LSsJICAgIHMyID0gczsKICsKICsJICBpZiAoYWRkX2RlYnVnX3N1ZmZpeCkKLSsJICAgIHN0cmNw eSAoczIsICIuZGVidWciKTsKLSsJICBlbHNlCi0rCSAgICAqczIgPSAwOworKwkgICAgbGluayAr PSAiLmRlYnVnIjsKICsKICsJICBpZiAoIXNlcW5vKQogKwkgICAgewogKwkgICAgICAvKiBJZiBu b25lIG9mIHRoZSByZWFsIGZpbGVzIGlzIGZvdW5kIHJlcG9ydCBhcyBtaXNzaW5nIGZpbGUKICsJ CSBhbHdheXMgdGhlIG5vbi0uJXUtc3VmZml4ZWQgZmlsZS4gICovCi0rCSAgICAgIGxpbmswID0g eHN0cmR1cCAobGluayk7CisrCSAgICAgIGxpbmswID0gbGluazsKICsJICAgIH0KICsKICsJICAv KiBgYWNjZXNzJyBhdXRvbWF0aWNhbGx5IGRlcmVmZXJlbmNlcyBMSU5LLiAgKi8KLSsJICBpZiAo bHN0YXQgKGxpbmssICZzdGF0YnVmX3RyYXNoKSAhPSAwKQorKwkgIGlmIChsc3RhdCAobGluay5j X3N0ciAoKSwgJnN0YXRidWZfdHJhc2gpICE9IDApCiArCSAgICB7CiArCSAgICAgIC8qIFN0b3Ag aW5jcmVhc2luZyBTRVFOTy4gICovCiArCSAgICAgIGJyZWFrOwogKwkgICAgfQogKwotKwkgIGZp bGVuYW1lID0gbHJlYWxwYXRoIChsaW5rKTsKKysJICBmaWxlbmFtZSA9IGxyZWFscGF0aCAobGlu ay5jX3N0ciAoKSk7CiArCSAgaWYgKGZpbGVuYW1lID09IE5VTEwpCiArCSAgICBjb250aW51ZTsK ICsKQEAgLTU4MSw2NSArNTc3LDQ2IEBAIGluZGV4IDk0NWRhNGYzY2YuLjU3NDA2MjgzODYgMTAw NjQ0CiArCSAgZmlsZW5hbWUgPSBOVUxMOwogKwl9CiAgCi0tICAgICAgaWYgKGZpbGVuYW1lID09 IE5VTEwpCi0tCWNvbnRpbnVlOworLSAgICAgIC8qIFdlIGV4cGVjdCB0byBiZSBzaWxlbnQgb24g dGhlIG5vbi1leGlzdGluZyBmaWxlcy4gICovCistICAgICAgYWJmZCA9IGdkYl9iZmRfb3BlbiAo ZmlsZW5hbWUuZ2V0ICgpLCBnbnV0YXJnZXQsIC0xKTsKICsgICAgICBpZiAoZmlsZW5hbWUgIT0g TlVMTCkKICsJewogKwkgIC8qIExJTktfQUxMIGlzIG5vdCB1c2VkIGJlbG93IGluIHRoaXMgbm9u LU5VTEwgRklMRU5BTUUgY2FzZS4gICovCi0rCSAgeGZyZWUgKGxpbmswKTsKICsJICBicmVhazsK ICsJfQogIAotLSAgICAgIC8qIFdlIGV4cGVjdCB0byBiZSBzaWxlbnQgb24gdGhlIG5vbi1leGlz dGluZyBmaWxlcy4gICovCi0tICAgICAgaW5uZXIgPSBtYWtlX2NsZWFudXAgKHhmcmVlLCBmaWxl bmFtZSk7Ci0tICAgICAgYWJmZCA9IGdkYl9iZmRfb3BlbiAoZmlsZW5hbWUsIGdudXRhcmdldCwg LTEpOwotLSAgICAgIGRvX2NsZWFudXBzIChpbm5lcik7CistICAgICAgaWYgKGFiZmQgPT0gTlVM TCkKKy0JY29udGludWU7CiArICAgICAgLyogSWYgdGhlIHN5bWxpbmsgaGFzIHRhcmdldCByZXF1 ZXN0IHRvIGluc3RhbGwgdGhlIHRhcmdldC4KICsgICAgICAgICBCQVNFLWRlYnVnaW5mby5ycG0g Y29udGFpbnMgdGhlIHN5bWxpbmsgYnV0IEJBU0UucnBtIG1heSBiZSBtaXNzaW5nLgogKyAgICAg ICAgIGh0dHBzOi8vYnVnemlsbGEucmVkaGF0LmNvbS9zaG93X2J1Zy5jZ2k/aWQ9OTgxMTU0ICAq LwotKyAgICAgIGxpbmswX3Jlc29sdmVkID0gbGlua19yZXNvbHZlIChsaW5rMCwgMCk7Ci0rICAg ICAgeGZyZWUgKGxpbmswKTsKKysgICAgICBzdGQ6OnN0cmluZyBsaW5rMF9yZXNvbHZlZCAobGlu a19yZXNvbHZlIChsaW5rMC5jX3N0ciAoKSwgMCkpOwogIAotLSAgICAgIGlmIChhYmZkID09IE5V TEwpCi0tCWNvbnRpbnVlOwotKyAgICAgIGlmIChsaW5rX2FsbCA9PSBOVUxMKQorLSAgICAgIGlm IChidWlsZF9pZF92ZXJpZnkgKGFiZmQuZ2V0KCksIGJ1aWxkX2lkX2xlbiwgYnVpbGRfaWQpKQor LQlicmVhazsKKysgICAgICBpZiAobGlua19hbGwuZW1wdHkgKCkpCiArCWxpbmtfYWxsID0gbGlu azBfcmVzb2x2ZWQ7CiArICAgICAgZWxzZQogKwl7Ci0rCSAgc2l6ZV90IGxlbl9vcmlnID0gc3Ry bGVuIChsaW5rX2FsbCk7Ci0gCi0tICAgICAgaWYgKGJ1aWxkX2lkX3ZlcmlmeSAoYWJmZC5nZXQo KSwgYnVpbGRfaWRfbGVuLCBidWlsZF9pZCkpCi0tCWJyZWFrOwotKwkgIGxpbmtfYWxsID0gKGNo YXIgKikgeHJlYWxsb2MgKGxpbmtfYWxsLAotKwkJCQkJbGVuX29yaWcgKyAxICsgc3RybGVuIChs aW5rMF9yZXNvbHZlZCkgKyAxKTsKLSAKLS0gICAgICBhYmZkLnJlbGVhc2UgKCk7CiArCSAgLyog VXNlIHdoaXRlc3BhY2UgaW5zdGVhZCBvZiBESVJOQU1FX1NFUEFSQVRPUiB0byBiZSBjb21wYXRp YmxlIHdpdGgKICsJICAgICBpdHMgcG9zc2libGUgdXNlIGFzIGFuIGFyZ3VtZW50IGZvciBpbnN0 YWxsYXRpb24gY29tbWFuZC4gICovCi0rCSAgbGlua19hbGxbbGVuX29yaWddID0gJyAnOwotKwot KwkgIHN0cmNweSAoJmxpbmtfYWxsW2xlbl9vcmlnICsgMV0sIGxpbmswX3Jlc29sdmVkKTsKLSsJ ICB4ZnJlZSAobGluazBfcmVzb2x2ZWQpOworKwkgIGxpbmtfYWxsICs9ICIgIiArIGxpbmswX3Jl c29sdmVkOwogKwl9CiArICAgIH0KLSsKKyAKKy0gICAgICBhYmZkLnJlbGVhc2UgKCk7CiArICBp ZiAobGlua19yZXR1cm4gIT0gTlVMTCkKICsgICAgewogKyAgICAgIGlmIChhYmZkICE9IE5VTEwp CiArCXsKLSsJICAqbGlua19yZXR1cm4gPSBsaW5rOwotKwkgIGxpbmsgPSBOVUxMOworKwkgICps aW5rX3JldHVybiA9IHhzdHJkdXAgKGxpbmsuY19zdHIgKCkpOwogKwl9CiArICAgICAgZWxzZQog Kwl7Ci0rCSAgKmxpbmtfcmV0dXJuID0gbGlua19hbGw7Ci0rCSAgbGlua19hbGwgPSBOVUxMOwor KwkgICpsaW5rX3JldHVybiA9IHhzdHJkdXAgKGxpbmtfYWxsLmNfc3RyICgpKTsKICsJfQogICAg ICB9Ci0rICB4ZnJlZSAobGluayk7Ci0rICB4ZnJlZSAobGlua19hbGwpOwogIAotICAgZG9fY2xl YW51cHMgKGJhY2tfdG8pOwogICAgcmV0dXJuIGFiZmQ7CiAgfQogIApAQCAtNzk2LDcgKzc3Myw3 IEBAIGluZGV4IDk0NWRhNGYzY2YuLjU3NDA2MjgzODYgMTAwNjQ0CiArCiAgLyogU2VlIGJ1aWxk LWlkLmguICAqLwogIAotIGNoYXIgKgorIHN0ZDo6c3RyaW5nCiAtZmluZF9zZXBhcmF0ZV9kZWJ1 Z19maWxlX2J5X2J1aWxkaWQgKHN0cnVjdCBvYmpmaWxlICpvYmpmaWxlKQogK2ZpbmRfc2VwYXJh dGVfZGVidWdfZmlsZV9ieV9idWlsZGlkIChzdHJ1Y3Qgb2JqZmlsZSAqb2JqZmlsZSwKICsJCQln ZGI6OnVuaXF1ZV94bWFsbG9jX3B0cjxjaGFyPiAqYnVpbGRfaWRfZmlsZW5hbWVfcmV0dXJuKQpA QCAtODMzLDkgKzgxMCw5IEBAIGluZGV4IDk0NWRhNGYzY2YuLjU3NDA2MjgzODYgMTAwNjQ0CiAg ICAgICAgLyogUHJldmVudCBsb29waW5nIG9uIGEgc3RyaXBwZWQgLmRlYnVnIGZpbGUuICAqLwog ICAgICAgIGlmIChhYmZkICE9IE5VTEwKICAJICAmJiBmaWxlbmFtZV9jbXAgKGJmZF9nZXRfZmls ZW5hbWUgKGFiZmQuZ2V0ICgpKSwKLUBAIC0xNjcsMyArODQ2LDIxIEBAIGZpbmRfc2VwYXJhdGVf ZGVidWdfZmlsZV9ieV9idWlsZGlkIChzdHJ1Y3Qgb2JqZmlsZSAqb2JqZmlsZSkKLSAgICAgfQot ICAgcmV0dXJuIE5VTEw7CitAQCAtMTUxLDMgKzgyMSwyMSBAQCBmaW5kX3NlcGFyYXRlX2RlYnVn X2ZpbGVfYnlfYnVpbGRpZCAoc3RydWN0IG9iamZpbGUgKm9iamZpbGUpCisgCisgICByZXR1cm4g c3RkOjpzdHJpbmcgKCk7CiAgfQogKwogK2V4dGVybiB2b2lkIF9pbml0aWFsaXplX2J1aWxkX2lk ICh2b2lkKTsKQEAgLTg1MywxMCArODMwLDEwIEBAIGluZGV4IDk0NWRhNGYzY2YuLjU3NDA2Mjgz ODYgMTAwNjQ0CiArCQkJICAgIHNob3dfYnVpbGRfaWRfdmVyYm9zZSwKICsJCQkgICAgJnNldGxp c3QsICZzaG93bGlzdCk7CiArCi0rICBvYnNlcnZlcl9hdHRhY2hfZXhlY3V0YWJsZV9jaGFuZ2Vk IChkZWJ1Z19wcmludF9leGVjdXRhYmxlX2NoYW5nZWQpOworKyAgZ2RiOjpvYnNlcnZlcnM6OmV4 ZWN1dGFibGVfY2hhbmdlZC5hdHRhY2ggKGRlYnVnX3ByaW50X2V4ZWN1dGFibGVfY2hhbmdlZCk7 CiArfQogZGlmZiAtLWdpdCBhL2dkYi9idWlsZC1pZC5oIGIvZ2RiL2J1aWxkLWlkLmgKLWluZGV4 IDBmMTNjN2Q0Y2YuLjJkMTA1ZGJhODggMTAwNjQ0CitpbmRleCAxNWZiNjA5NDA5Li4xZjYyZGIw MjM5IDEwMDY0NAogLS0tIGEvZ2RiL2J1aWxkLWlkLmgKICsrKyBiL2dkYi9idWlsZC1pZC5oCiBA QCAtMjIsOSArMjIsMTAgQEAKQEAgLTg3Miw3ICs4NDksNyBAQCBpbmRleCAwZjEzYzdkNGNmLi4y ZDEwNWRiYTg4IDEwMDY0NAogIAogIC8qIFJldHVybiB0cnVlIGlmIEFCRkQgaGFzIE5UX0dOVV9C VUlMRF9JRCBtYXRjaGluZyB0aGUgQ0hFQ0sgdmFsdWUuCiAgICAgT3RoZXJ3aXNlLCBpc3N1ZSBh IHdhcm5pbmcgYW5kIHJldHVybiBmYWxzZS4gICovCi1AQCAtMzgsMTMgKzM5LDE5IEBAIGV4dGVy biBpbnQgYnVpbGRfaWRfdmVyaWZ5IChiZmQgKmFiZmQsCitAQCAtMzgsMTMgKzM5LDE4IEBAIGV4 dGVybiBpbnQgYnVpbGRfaWRfdmVyaWZ5IChiZmQgKmFiZmQsCiAgICAgdGhlIGNhbGxlci4gICov CiAgCiAgZXh0ZXJuIGdkYl9iZmRfcmVmX3B0ciBidWlsZF9pZF90b19kZWJ1Z19iZmQgKHNpemVf dCBidWlsZF9pZF9sZW4sCkBAIC04ODUsMzAgKzg2MiwzMSBAQCBpbmRleCAwZjEzYzdkNGNmLi4y ZDEwNWRiYTg4IDEwMDY0NAogKwkJCQkgICBjaGFyICoqbGlua19yZXR1cm4pOwogIAogIC8qIEZp bmQgdGhlIHNlcGFyYXRlIGRlYnVnIGZpbGUgZm9yIE9CSkZJTEUsIGJ5IHVzaW5nIHRoZSBidWls ZC1pZAotICAgIGFzc29jaWF0ZWQgd2l0aCBPQkpGSUxFJ3MgQkZELiAgSWYgc3VjY2Vzc2Z1bCwg cmV0dXJucyBhIG1hbGxvYydkCi0gICAgZmlsZSBuYW1lIGZvciB0aGUgc2VwYXJhdGUgZGVidWcg ZmlsZS4gIFRoZSBjYWxsZXIgbXVzdCBmcmVlIHRoaXMuCi0gICAgT3RoZXJ3aXNlLCByZXR1cm5z IE5VTEwuICAqLworICAgIGFzc29jaWF0ZWQgd2l0aCBPQkpGSUxFJ3MgQkZELiAgSWYgc3VjY2Vz c2Z1bCwgcmV0dXJucyB0aGUgZmlsZSBuYW1lIGZvciB0aGUKKyAgICBzZXBhcmF0ZSBkZWJ1ZyBm aWxlLCBvdGhlcndpc2UsIHJldHVybiBhbiBlbXB0eSBzdHJpbmcuICAqLwogIAotLWV4dGVybiBj aGFyICpmaW5kX3NlcGFyYXRlX2RlYnVnX2ZpbGVfYnlfYnVpbGRpZCAoc3RydWN0IG9iamZpbGUg Km9iamZpbGUpOwotK2V4dGVybiBjaGFyICpmaW5kX3NlcGFyYXRlX2RlYnVnX2ZpbGVfYnlfYnVp bGRpZCAoc3RydWN0IG9iamZpbGUgKm9iamZpbGUsCistZXh0ZXJuIHN0ZDo6c3RyaW5nIGZpbmRf c2VwYXJhdGVfZGVidWdfZmlsZV9ieV9idWlsZGlkCistICAoc3RydWN0IG9iamZpbGUgKm9iamZp bGUpOworK2V4dGVybiBzdGQ6OnN0cmluZyBmaW5kX3NlcGFyYXRlX2RlYnVnX2ZpbGVfYnlfYnVp bGRpZCAoc3RydWN0IG9iamZpbGUgKm9iamZpbGUsCiArCQkgICAgICAgZ2RiOjp1bmlxdWVfeG1h bGxvY19wdHI8Y2hhcj4gKmJ1aWxkX2lkX2ZpbGVuYW1lX3JldHVybik7CiAgCiAgI2VuZGlmIC8q IEJVSUxEX0lEX0ggKi8KIGRpZmYgLS1naXQgYS9nZGIvY29mZnJlYWQuYyBiL2dkYi9jb2ZmcmVh ZC5jCi1pbmRleCBmYmJiYjY4ZjcxLi45Njk4ZWMyMTkxIDEwMDY0NAoraW5kZXggZjI0ZWMwNzEz YS4uNWMxYzNlNjFlYSAxMDA2NDQKIC0tLSBhL2dkYi9jb2ZmcmVhZC5jCiArKysgYi9nZGIvY29m ZnJlYWQuYwotQEAgLTczNSw3ICs3MzUsNyBAQCBjb2ZmX3N5bWZpbGVfcmVhZCAoc3RydWN0IG9i amZpbGUgKm9iamZpbGUsIHN5bWZpbGVfYWRkX2ZsYWdzIHN5bWZpbGVfZmxhZ3MpCitAQCAtNzMz LDcgKzczMyw4IEBAIGNvZmZfc3ltZmlsZV9yZWFkIChzdHJ1Y3Qgb2JqZmlsZSAqb2JqZmlsZSwg c3ltZmlsZV9hZGRfZmxhZ3Mgc3ltZmlsZV9mbGFncykKKyAgIC8qIFRyeSB0byBhZGQgc2VwYXJh dGUgZGVidWcgZmlsZSBpZiBubyBzeW1ib2xzIHRhYmxlIGZvdW5kLiAgICovCisgICBpZiAoIW9i amZpbGVfaGFzX3BhcnRpYWxfc3ltYm9scyAob2JqZmlsZSkpCiAgICAgIHsKLSAgICAgICBjaGFy ICpkZWJ1Z2ZpbGU7Ci0gCi0tICAgICAgZGVidWdmaWxlID0gZmluZF9zZXBhcmF0ZV9kZWJ1Z19m aWxlX2J5X2J1aWxkaWQgKG9iamZpbGUpOwotKyAgICAgIGRlYnVnZmlsZSA9IGZpbmRfc2VwYXJh dGVfZGVidWdfZmlsZV9ieV9idWlsZGlkIChvYmpmaWxlLCBOVUxMKTsKKy0gICAgICBzdGQ6OnN0 cmluZyBkZWJ1Z2ZpbGUgPSBmaW5kX3NlcGFyYXRlX2RlYnVnX2ZpbGVfYnlfYnVpbGRpZCAob2Jq ZmlsZSk7CisrICAgICAgc3RkOjpzdHJpbmcgZGVidWdmaWxlID0gZmluZF9zZXBhcmF0ZV9kZWJ1 Z19maWxlX2J5X2J1aWxkaWQgKG9iamZpbGUsCisrCQkJCQkJCQkgICBOVUxMKTsKICAKLSAgICAg ICBpZiAoZGVidWdmaWxlID09IE5VTEwpCisgICAgICAgaWYgKGRlYnVnZmlsZS5lbXB0eSAoKSkK ICAJZGVidWdmaWxlID0gZmluZF9zZXBhcmF0ZV9kZWJ1Z19maWxlX2J5X2RlYnVnbGluayAob2Jq ZmlsZSk7CiBkaWZmIC0tZ2l0IGEvZ2RiL2NvcmVsb3cuYyBiL2dkYi9jb3JlbG93LmMKLWluZGV4 IDNhNTI1NmNiMTcuLmM1YjY0MmRiODEgMTAwNjQ0CitpbmRleCBjNjE3NTI3OWRhLi43Njk0NTk1 MGI5IDEwMDY0NAogLS0tIGEvZ2RiL2NvcmVsb3cuYwogKysrIGIvZ2RiL2NvcmVsb3cuYwogQEAg LTQ1LDYgKzQ1LDEwIEBACkBAIC05MjIsNyArOTAwLDcgQEAgaW5kZXggM2E1MjU2Y2IxNy4uYzVi NjQyZGI4MSAxMDA2NDQKICAKICAjaWZuZGVmIE9fTEFSR0VGSUxFCiAgI2RlZmluZSBPX0xBUkdF RklMRSAwCi1AQCAtMjY0LDYgKzI2OCw1NCBAQCBhZGRfdG9fdGhyZWFkX2xpc3QgKGJmZCAqYWJm ZCwgYXNlY3Rpb24gKmFzZWN0LCB2b2lkICpyZWdfc2VjdF9hcmcpCitAQCAtMzIzLDYgKzMyNyw1 NCBAQCBhZGRfdG9fdGhyZWFkX2xpc3QgKGJmZCAqYWJmZCwgYXNlY3Rpb24gKmFzZWN0LCB2b2lk ICpyZWdfc2VjdF9hcmcpCiAgICAgIGluZmVyaW9yX3B0aWQgPSBwdGlkOwkJCS8qIFllcywgbWFr ZSBpdCBjdXJyZW50LiAgKi8KICB9CiAgCkBAIC05NDAsNyArOTE4LDcgQEAgaW5kZXggM2E1MjU2 Y2IxNy4uYzViNjQyZGI4MSAxMDA2NDQKICsgIGlmIChleGVjX2JmZCAhPSBOVUxMIHx8IHN5bWZp bGVfb2JqZmlsZSAhPSBOVUxMKQogKyAgICByZXR1cm47CiArCi0rICBpZiAodGFyZ2V0X2F1eHZf c2VhcmNoICgmY3VycmVudF90YXJnZXQsIEFUX0VOVFJZLCAmYXRfZW50cnkpIDw9IDApCisrICBp ZiAodGFyZ2V0X2F1eHZfc2VhcmNoICh0YXJnZXRfc3RhY2ssIEFUX0VOVFJZLCAmYXRfZW50cnkp IDw9IDApCiArICAgIHJldHVybjsKICsKICsgIGJ1aWxkX2lkID0gYnVpbGRfaWRfYWRkcl9nZXQg KGF0X2VudHJ5KTsKQEAgLTk3NCwxMCArOTUyLDEwIEBAIGluZGV4IDNhNTI1NmNiMTcuLmM1YjY0 MmRiODEgMTAwNjQ0CiArICAvKiBObyBhdXRvbWF0aWMgU09MSUJfQUREIGFzIHRoZSBsaWJyYXJp ZXMgd291bGQgZ2V0IHJlYWQgdHdpY2UuICAqLwogK30KICsKLSAvKiBUaGlzIHJvdXRpbmUgb3Bl bnMgYW5kIHNldHMgdXAgdGhlIGNvcmUgZmlsZSBiZmQuICAqLworIC8qIElzc3VlIGEgbWVzc2Fn ZSBzYXlpbmcgd2UgaGF2ZSBubyBjb3JlIHRvIGRlYnVnLCBpZiBGUk9NX1RUWS4gICovCiAgCiAg c3RhdGljIHZvaWQKLUBAIC0zOTEsNiArNDQzLDE0IEBAIGNvcmVfb3BlbiAoY29uc3QgY2hhciAq YXJnLCBpbnQgZnJvbV90dHkpCitAQCAtNDY2LDYgKzUxOCwxNCBAQCBjb3JlX3RhcmdldF9vcGVu IChjb25zdCBjaGFyICphcmcsIGludCBmcm9tX3R0eSkKICAJc3dpdGNoX3RvX3RocmVhZCAodGhy ZWFkLT5wdGlkKTsKICAgICAgfQogIApAQCAtOTg5LDEzICs5NjcsMTMgQEAgaW5kZXggM2E1MjU2 Y2IxNy4uYzViNjQyZGI4MSAxMDA2NDQKICsgIGlmIChidWlsZF9pZF9jb3JlX2xvYWRzICE9IDAp CiArICAgIGJ1aWxkX2lkX2xvY2F0ZV9leGVjIChmcm9tX3R0eSk7CiArCi0gICBwb3N0X2NyZWF0 ZV9pbmZlcmlvciAoJmNvcmVfb3BzLCBmcm9tX3R0eSk7CisgICBwb3N0X2NyZWF0ZV9pbmZlcmlv ciAodGFyZ2V0LCBmcm9tX3R0eSk7CiAgCiAgICAvKiBOb3cgZ28gdGhyb3VnaCB0aGUgdGFyZ2V0 IHN0YWNrIGxvb2tpbmcgZm9yIHRocmVhZHMgc2luY2UgdGhlcmUKLUBAIC0xMDQwLDQgKzExMDAs MTEgQEAgX2luaXRpYWxpemVfY29yZWxvdyAodm9pZCkKLSAgIGluaXRfY29yZV9vcHMgKCk7Ci0g Ci0gICBhZGRfdGFyZ2V0X3dpdGhfY29tcGxldGVyICgmY29yZV9vcHMsIGZpbGVuYW1lX2NvbXBs ZXRlcik7CitAQCAtMTA2OCw0ICsxMTI4LDExIEBAIHZvaWQKKyBfaW5pdGlhbGl6ZV9jb3JlbG93 ICh2b2lkKQorIHsKKyAgIGFkZF90YXJnZXQgKGNvcmVfdGFyZ2V0X2luZm8sIGNvcmVfdGFyZ2V0 X29wZW4sIGZpbGVuYW1lX2NvbXBsZXRlcik7CiArCiArICBhZGRfc2V0c2hvd19ib29sZWFuX2Nt ZCAoImJ1aWxkLWlkLWNvcmUtbG9hZHMiLCBjbGFzc19maWxlcywKICsJCQkgICAmYnVpbGRfaWRf Y29yZV9sb2FkcywgXygiXApAQCAtMTAwNSwxMCArOTgzLDEwIEBAIGluZGV4IDNhNTI1NmNiMTcu LmM1YjY0MmRiODEgMTAwNjQ0CiArCQkJICAgJnNldGxpc3QsICZzaG93bGlzdCk7CiAgfQogZGlm ZiAtLWdpdCBhL2dkYi9kb2MvZ2RiLnRleGluZm8gYi9nZGIvZG9jL2dkYi50ZXhpbmZvCi1pbmRl eCA4YmRhZmIwYmE0Li4yZjJjYmQzZGVhIDEwMDY0NAoraW5kZXggMjhmMDgzZjk2ZS4uNDAzZjVj YTY1OCAxMDA2NDQKIC0tLSBhL2dkYi9kb2MvZ2RiLnRleGluZm8KICsrKyBiL2dkYi9kb2MvZ2Ri LnRleGluZm8KLUBAIC0xOTQ0Nyw2ICsxOTQ0NywyNyBAQCBpbmZvcm1hdGlvbiBmaWxlcy4KK0BA IC0xOTU1OCw2ICsxOTU1OCwyNyBAQCBpbmZvcm1hdGlvbiBmaWxlcy4KICAKICBAZW5kIHRhYmxl CiAgCkBAIC0xMDM3LDEwICsxMDE1LDEwIEBAIGluZGV4IDhiZGFmYjBiYTQuLjJmMmNiZDNkZWEg MTAwNjQ0CiAgQGNpbmRleCBkZWJ1ZyBsaW5rIHNlY3Rpb25zCiAgQSBkZWJ1ZyBsaW5rIGlzIGEg c3BlY2lhbCBzZWN0aW9uIG9mIHRoZSBleGVjdXRhYmxlIGZpbGUgbmFtZWQKIGRpZmYgLS1naXQg YS9nZGIvZHdhcmYycmVhZC5jIGIvZ2RiL2R3YXJmMnJlYWQuYwotaW5kZXggOThlN2Q4NDJmMC4u YzhkYjk1NWYyZiAxMDA2NDQKK2luZGV4IDQwMDZmNGE0OGYuLjI2Njc0MGY3NGMgMTAwNjQ0CiAt LS0gYS9nZGIvZHdhcmYycmVhZC5jCiArKysgYi9nZGIvZHdhcmYycmVhZC5jCi1AQCAtMjkwNyw3 ICsyOTA3LDcgQEAgZHdhcmYyX2dldF9kd3pfZmlsZSAodm9pZCkKK0BAIC0yNjkwLDcgKzI2OTAs NyBAQCBkd2FyZjJfZ2V0X2R3el9maWxlIChzdHJ1Y3QgZHdhcmYyX3Blcl9vYmpmaWxlICpkd2Fy ZjJfcGVyX29iamZpbGUpCiAgICAgIH0KICAKICAgIGlmIChkd3pfYmZkID09IE5VTEwpCkBAIC0x MDUwLDIyICsxMDI4LDIyIEBAIGluZGV4IDk4ZTdkODQyZjAuLmM4ZGI5NTVmMmYgMTAwNjQ0CiAg ICBpZiAoZHd6X2JmZCA9PSBOVUxMKQogICAgICBlcnJvciAoXygiY291bGQgbm90IGZpbmQgJy5n bnVfZGVidWdhbHRsaW5rJyBmaWxlIGZvciAlcyIpLAogZGlmZiAtLWdpdCBhL2dkYi9lbGZyZWFk LmMgYi9nZGIvZWxmcmVhZC5jCi1pbmRleCAxMDNiMjE0NGMzLi5mYjMyZTAzYWY1IDEwMDY0NAor aW5kZXggYjRiNGExYjI0Yy4uMDgyNGUzN2JmMSAxMDA2NDQKIC0tLSBhL2dkYi9lbGZyZWFkLmMK ICsrKyBiL2dkYi9lbGZyZWFkLmMKLUBAIC0xMjU5LDggKzEyNTksOSBAQCBlbGZfc3ltZmlsZV9y ZWFkIChzdHJ1Y3Qgb2JqZmlsZSAqb2JqZmlsZSwgc3ltZmlsZV9hZGRfZmxhZ3Mgc3ltZmlsZV9m bGFncykKK0BAIC0xMjkwLDcgKzEyOTAsOSBAQCBlbGZfc3ltZmlsZV9yZWFkIChzdHJ1Y3Qgb2Jq ZmlsZSAqb2JqZmlsZSwgc3ltZmlsZV9hZGRfZmxhZ3Mgc3ltZmlsZV9mbGFncykKICAJICAgJiYg b2JqZmlsZS0+c2VwYXJhdGVfZGVidWdfb2JqZmlsZSA9PSBOVUxMCiAgCSAgICYmIG9iamZpbGUt PnNlcGFyYXRlX2RlYnVnX29iamZpbGVfYmFja2xpbmsgPT0gTlVMTCkKICAgICAgeworLSAgICAg IHN0ZDo6c3RyaW5nIGRlYnVnZmlsZSA9IGZpbmRfc2VwYXJhdGVfZGVidWdfZmlsZV9ieV9idWls ZGlkIChvYmpmaWxlKTsKICsgICAgICBnZGI6OnVuaXF1ZV94bWFsbG9jX3B0cjxjaGFyPiBidWls ZF9pZF9maWxlbmFtZTsKLSAgICAgICBnZGI6OnVuaXF1ZV94bWFsbG9jX3B0cjxjaGFyPiBkZWJ1 Z2ZpbGUKLS0JKGZpbmRfc2VwYXJhdGVfZGVidWdfZmlsZV9ieV9idWlsZGlkIChvYmpmaWxlKSk7 Ci0rCShmaW5kX3NlcGFyYXRlX2RlYnVnX2ZpbGVfYnlfYnVpbGRpZCAob2JqZmlsZSwgJmJ1aWxk X2lkX2ZpbGVuYW1lKSk7CisrICAgICAgc3RkOjpzdHJpbmcgZGVidWdmaWxlCisrCT0gZmluZF9z ZXBhcmF0ZV9kZWJ1Z19maWxlX2J5X2J1aWxkaWQgKG9iamZpbGUsICZidWlsZF9pZF9maWxlbmFt ZSk7CiAgCi0gICAgICAgaWYgKGRlYnVnZmlsZSA9PSBOVUxMKQotIAlkZWJ1Z2ZpbGUucmVzZXQg KGZpbmRfc2VwYXJhdGVfZGVidWdfZmlsZV9ieV9kZWJ1Z2xpbmsgKG9iamZpbGUpKTsKLUBAIC0x MjcyLDYgKzEyNzMsMTAgQEAgZWxmX3N5bWZpbGVfcmVhZCAoc3RydWN0IG9iamZpbGUgKm9iamZp bGUsIHN5bWZpbGVfYWRkX2ZsYWdzIHN5bWZpbGVfZmxhZ3MpCi0gCSAgc3ltYm9sX2ZpbGVfYWRk X3NlcGFyYXRlIChhYmZkLmdldCAoKSwgZGVidWdmaWxlLmdldCAoKSwKKyAgICAgICBpZiAoZGVi dWdmaWxlLmVtcHR5ICgpKQorIAlkZWJ1Z2ZpbGUgPSBmaW5kX3NlcGFyYXRlX2RlYnVnX2ZpbGVf YnlfZGVidWdsaW5rIChvYmpmaWxlKTsKK0BAIC0xMzAyLDYgKzEzMDQsMTAgQEAgZWxmX3N5bWZp bGVfcmVhZCAoc3RydWN0IG9iamZpbGUgKm9iamZpbGUsIHN5bWZpbGVfYWRkX2ZsYWdzIHN5bWZp bGVfZmxhZ3MpCisgCSAgc3ltYm9sX2ZpbGVfYWRkX3NlcGFyYXRlIChhYmZkLmdldCAoKSwgZGVi dWdmaWxlLmNfc3RyICgpLAogIAkJCQkgICAgc3ltZmlsZV9mbGFncywgb2JqZmlsZSk7CiAgCX0K ICsgICAgICAvKiBDaGVjayBpZiBhbnkgc2VwYXJhdGUgZGVidWcgaW5mbyBoYXMgYmVlbiBleHRy YWN0ZWQgb3V0LiAgKi8KQEAgLTExMTMsNyArMTA5MSw3IEBAIGluZGV4IGMyYjQwZmY1MzUuLjEx MmNiZjY1NjAgMTAwNjQ0CiAgCWNvbnRpbnVlOwogICAgICAgIGlmIChvYmpmcHlfYnVpbGRfaWRf bWF0Y2hlcyAob2JmZF9idWlsZF9pZCwgYnVpbGRfaWQpKQogZGlmZiAtLWdpdCBhL2dkYi9zb2xp Yi1zdnI0LmMgYi9nZGIvc29saWItc3ZyNC5jCi1pbmRleCA0OTczY2MyZjI1Li5hMzM5OWFkOGY3 IDEwMDY0NAoraW5kZXggZjk5MzZiMzZkZS4uYWE5NWJjMWNlNiAxMDA2NDQKIC0tLSBhL2dkYi9z b2xpYi1zdnI0LmMKICsrKyBiL2dkYi9zb2xpYi1zdnI0LmMKIEBAIC00NSw2ICs0NSw3IEBACkBA IC0xMTI0LDIyICsxMTAyLDIyIEBAIGluZGV4IDQ5NzNjYzJmMjUuLmEzMzk5YWQ4ZjcgMTAwNjQ0 CiAgCiAgc3RhdGljIHN0cnVjdCBsaW5rX21hcF9vZmZzZXRzICpzdnI0X2ZldGNoX2xpbmtfbWFw X29mZnNldHMgKHZvaWQpOwogIHN0YXRpYyBpbnQgc3ZyNF9oYXZlX2xpbmtfbWFwX29mZnNldHMg KHZvaWQpOwotQEAgLTEzODUsOSArMTM4Niw1MiBAQCBzdnI0X3JlYWRfc29fbGlzdCAoQ09SRV9B RERSIGxtLCBDT1JFX0FERFIgcHJldl9sbSwKK0BAIC0xMzU2LDkgKzEzNTcsNTEgQEAgc3ZyNF9y ZWFkX3NvX2xpc3QgKENPUkVfQUREUiBsbSwgQ09SRV9BRERSIHByZXZfbG0sCiAgCSAgY29udGlu dWU7CiAgCX0KICAKLS0gICAgICBzdHJuY3B5IChuZXdvYmotPnNvX25hbWUsIGJ1ZmZlciwgU09f TkFNRV9NQVhfUEFUSF9TSVpFIC0gMSk7CistICAgICAgc3RybmNweSAobmV3b2JqLT5zb19uYW1l LCBidWZmZXIuZ2V0ICgpLCBTT19OQU1FX01BWF9QQVRIX1NJWkUgLSAxKTsKIC0gICAgICBuZXdv YmotPnNvX25hbWVbU09fTkFNRV9NQVhfUEFUSF9TSVpFIC0gMV0gPSAnXDAnOwogLSAgICAgIHN0 cmNweSAobmV3b2JqLT5zb19vcmlnaW5hbF9uYW1lLCBuZXdvYmotPnNvX25hbWUpOwogKyAgICAg IHsKICsJc3RydWN0IGJmZF9idWlsZF9pZCAqYnVpbGRfaWQ7CiArCi0rCXN0cm5jcHkgKG5ld29i ai0+c29fb3JpZ2luYWxfbmFtZSwgYnVmZmVyLCBTT19OQU1FX01BWF9QQVRIX1NJWkUgLSAxKTsK KysJc3RybmNweSAobmV3b2JqLT5zb19vcmlnaW5hbF9uYW1lLCBidWZmZXIuZ2V0ICgpLCBTT19O QU1FX01BWF9QQVRIX1NJWkUgLSAxKTsKICsJbmV3b2JqLT5zb19vcmlnaW5hbF9uYW1lW1NPX05B TUVfTUFYX1BBVEhfU0laRSAtIDFdID0gJ1wwJzsKICsJLyogTWF5IGdldCBvdmVyd3JpdHRlbiBi ZWxvdy4gICovCiArCXN0cmNweSAobmV3b2JqLT5zb19uYW1lLCBuZXdvYmotPnNvX29yaWdpbmFs X25hbWUpOwogKwotKwlidWlsZF9pZCA9IGJ1aWxkX2lkX2FkZHJfZ2V0IChuZXdvYmotPmxtX2lu Zm8tPmxfbGQpOworKwlidWlsZF9pZCA9IGJ1aWxkX2lkX2FkZHJfZ2V0ICgoKGxtX2luZm9fc3Zy NCAqKSBuZXdvYmotPmxtX2luZm8pLT5sX2xkKTsKICsJaWYgKGJ1aWxkX2lkICE9IE5VTEwpCiAr CSAgewogKwkgICAgY2hhciAqbmFtZSwgKmJ1aWxkX2lkX2ZpbGVuYW1lOwpAQCAtMTE3NiwxNSAr MTE1NCwxNCBAQCBpbmRleCA0OTczY2MyZjI1Li5hMzM5OWFkOGY3IDEwMDY0NAogKwkgICAgeGZy ZWUgKGJ1aWxkX2lkKTsKICsJICB9CiArICAgICAgfQotKwotICAgICAgIHhmcmVlIChidWZmZXIp OwogIAogICAgICAgIC8qIElmIHRoaXMgZW50cnkgaGFzIG5vIG5hbWUsIG9yIGl0cyBuYW1lIG1h dGNoZXMgdGhlIG5hbWUKKyAJIGZvciB0aGUgbWFpbiBleGVjdXRhYmxlLCBkb24ndCBpbmNsdWRl IGl0IGluIHRoZSBsaXN0LiAgKi8KIGRpZmYgLS1naXQgYS9nZGIvc3ltZmlsZS5oIGIvZ2RiL3N5 bWZpbGUuaAotaW5kZXggN2MzZmQ4MjQwYS4uMGQ1MWY0NmQ3OCAxMDA2NDQKK2luZGV4IGQ5MTg1 MDkyZWUuLmRiZDAzNzBjZjkgMTAwNjQ0CiAtLS0gYS9nZGIvc3ltZmlsZS5oCiArKysgYi9nZGIv c3ltZmlsZS5oCi1AQCAtNTQzLDYgKzU0MywxMCBAQCB2b2lkIGV4cGFuZF9zeW10YWJzX21hdGNo aW5nCitAQCAtNTM1LDYgKzUzNSwxMCBAQCB2b2lkIGV4cGFuZF9zeW10YWJzX21hdGNoaW5nCiAg dm9pZCBtYXBfc3ltYm9sX2ZpbGVuYW1lcyAoc3ltYm9sX2ZpbGVuYW1lX2Z0eXBlICpmdW4sIHZv aWQgKmRhdGEsCiAgCQkJICAgaW50IG5lZWRfZnVsbG5hbWUpOwogIApAQCAtMTI0Niw3ICsxMjIz LDcgQEAgaW5kZXggYTZkYzE0ZTNjOS4uNTRhMTBkZjE1NSAxMDA2NDQKICAgICAgYXBwZW5kIG9w dGlvbnMgIiAtZXggXCJiICRicGxpbmVcIiIKICAgICAgYXBwZW5kIG9wdGlvbnMgIiAtZXggXCJy dW5cIiIKIGRpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRlL2xpYi9nZGIuZXhwIGIvZ2RiL3Rlc3Rz dWl0ZS9saWIvZ2RiLmV4cAotaW5kZXggNzcwMmQ5YzIzOC4uYTE2NWJmMDkzOCAxMDA2NDQKK2lu ZGV4IDBmMDVkMDQzZjIuLmJlY2RhNmEwMDEgMTAwNjQ0CiAtLS0gYS9nZGIvdGVzdHN1aXRlL2xp Yi9nZGIuZXhwCiArKysgYi9nZGIvdGVzdHN1aXRlL2xpYi9nZGIuZXhwCiBAQCAtMTY5NCw2ICsx Njk0LDE2IEBAIHByb2MgZGVmYXVsdF9nZGJfc3RhcnQgeyB9IHsKQEAgLTEyNjcsNyArMTI0NCw3 IEBAIGluZGV4IDc3MDJkOWMyMzguLmExNjViZjA5MzggMTAwNjQ0CiAgfQogIAogZGlmZiAtLWdp dCBhL2dkYi90ZXN0c3VpdGUvbGliL21pLXN1cHBvcnQuZXhwIGIvZ2RiL3Rlc3RzdWl0ZS9saWIv bWktc3VwcG9ydC5leHAKLWluZGV4IDI4NDZkYTc0ZTQuLjAwNGMzZTZjMWMgMTAwNjQ0CitpbmRl eCA4NTFlNDkwZjRkLi40NjljYTU5MmFiIDEwMDY0NAogLS0tIGEvZ2RiL3Rlc3RzdWl0ZS9saWIv bWktc3VwcG9ydC5leHAKICsrKyBiL2dkYi90ZXN0c3VpdGUvbGliL21pLXN1cHBvcnQuZXhwCiBA QCAtMzA5LDYgKzMwOSwxNiBAQCBwcm9jIGRlZmF1bHRfbWlfZ2RiX3N0YXJ0IHsgYXJncyB9IHsK CmRpZmYgLS1naXQgYS9nZGItNi42LWJ6MjM1MTk3LWZvcmstZGV0YWNoLWluZm8ucGF0Y2ggYi9n ZGItNi42LWJ6MjM1MTk3LWZvcmstZGV0YWNoLWluZm8ucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUg MTAwNjQ0CmluZGV4IGI5ODU2NTQuLjAwMDAwMDAKLS0tIGEvZ2RiLTYuNi1iejIzNTE5Ny1mb3Jr LWRldGFjaC1pbmZvLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMTUzICswLDAgQEAKLUZyb20g RkVET1JBX1BBVENIRVMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBKYW4gS3JhdG9j aHZpbCA8amFuLmtyYXRvY2h2aWxAcmVkaGF0LmNvbT4KLURhdGU6IEZyaSwgMjcgT2N0IDIwMTcg MjE6MDc6NTAgKzAyMDAKLVN1YmplY3Q6IGdkYi02LjYtYnoyMzUxOTctZm9yay1kZXRhY2gtaW5m by5wYXRjaAotCi1GaWxlTmFtZTogZ2RiLTYuNi1iejIzNTE5Ny1mb3JrLWRldGFjaC1pbmZvLnBh dGNoCi0KLTs7IE5vdGlmeSB1c2VyIG9mIGEgY2hpbGQgZm9ya2VkIHByb2Nlc3MgYmVpbmcgZGV0 YWNoZWQgKEJaIDIzNTE5NykuCi07Oz1wdXNoK2phbjogVGhpcyBpcyBtb3JlIGFib3V0IGRpc2N1 c3Npb24gaWYvd2hhdCBzaG91bGQgYmUgcHJpbnRlZC4KLQotMjAwOC0wMy0wMSAgSmFuIEtyYXRv Y2h2aWwgIDxqYW4ua3JhdG9jaHZpbEByZWRoYXQuY29tPgotCi0JUG9ydCB0byBHREItNi44cHJl LgotCVJlbW92ZSB0aGUgYFsnIGNoYXJhY3RlciBmcm9tIHRoZSBHREItNi44IGRlZmF1bHQgbWVz c2FnZS4KLQotZGlmZiAtLWdpdCBhL2dkYi9pbmZydW4uYyBiL2dkYi9pbmZydW4uYwotaW5kZXgg ZTFkMTEyMzRlMC4uMjM0Mzk5NzliNSAxMDA2NDQKLS0tLSBhL2dkYi9pbmZydW4uYwotKysrIGIv Z2RiL2luZnJ1bi5jCi1AQCAtNDYxLDcgKzQ2MSw3IEBAIGhvbGRpbmcgdGhlIGNoaWxkIHN0b3Bw ZWQuICBUcnkgXCJzZXQgZGV0YWNoLW9uLWZvcmtcIiBvciBcCi0gCSAgICAgIHJlbW92ZV9icmVh a3BvaW50c19waWQgKHB0aWRfZ2V0X3BpZCAoaW5mZXJpb3JfcHRpZCkpOwotIAkgICAgfQotIAot LQkgIGlmIChpbmZvX3ZlcmJvc2UgfHwgZGVidWdfaW5mcnVuKQotKwkgIGlmICgxIC8qIEZlZG9y YSBCdWcgMjM1MTk3ICovIHx8IGluZm9fdmVyYm9zZSB8fCBkZWJ1Z19pbmZydW4pCi0gCSAgICB7 Ci0gCSAgICAgIC8qIEVuc3VyZSB0aGF0IHdlIGhhdmUgYSBwcm9jZXNzIHB0aWQuICAqLwotIAkg ICAgICBwdGlkX3QgcHJvY2Vzc19wdGlkID0gcGlkX3RvX3B0aWQgKHB0aWRfZ2V0X3BpZCAoY2hp bGRfcHRpZCkpOwotZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvY2F0Y2gtc3lz Y2FsbC5leHAgYi9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2NhdGNoLXN5c2NhbGwuZXhwCi1pbmRl eCAyYThiZjI3ZTVjLi4yMGZhMDQxMTU1IDEwMDY0NAotLS0tIGEvZ2RiL3Rlc3RzdWl0ZS9nZGIu YmFzZS9jYXRjaC1zeXNjYWxsLmV4cAotKysrIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9jYXRj aC1zeXNjYWxsLmV4cAotQEAgLTE3OSw3ICsxNzksNyBAQCBwcm9jIGNoZWNrX2Zvcl9wcm9ncmFt X2VuZCB7fSB7Ci0gICAgICMgRGVsZXRpbmcgdGhlIGNhdGNocG9pbnRzCi0gICAgIGRlbGV0ZV9i cmVha3BvaW50cwotIAotLSAgICBnZGJfY29udGludWVfdG9fZW5kCi0rICAgIGdkYl9jb250aW51 ZV90b19lbmQgIiIgY29udGludWUgMQotIH0KLSAKLSBwcm9jIHRlc3RfY2F0Y2hfc3lzY2FsbF93 aXRob3V0X2FyZ3Mge30gewotQEAgLTI1MCw3ICsyNTAsNyBAQCBwcm9jIHRlc3RfY2F0Y2hfc3lz Y2FsbF93aXRoX3dyb25nX2FyZ3Mge30gewotIAkjIElmIGl0IGRvZXNuJ3QsIGV2ZXJ5dGhpbmcg aXMgcmlnaHQgKHNpbmNlIHdlIGRvbid0IGhhdmUKLSAJIyBhIHN5c2NhbGwgbmFtZWQgIm1sb2Nr IiBpbiBpdCkuICBPdGhlcndpc2UsIHRoaXMgaXMgYSBmYWlsdXJlLgotIAlzZXQgdGhpc3Rlc3Qg ImNhdGNoIHN5c2NhbGwgd2l0aCB1bnVzZWQgc3lzY2FsbCAoJHN5c2NhbGxfbmFtZSkiCi0tCWdk Yl9jb250aW51ZV90b19lbmQgJHRoaXN0ZXN0Ci0rCWdkYl9jb250aW51ZV90b19lbmQgJHRoaXN0 ZXN0IGNvbnRpbnVlIDEKLSAgICAgfQotIH0KLSAKLWRpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRl L2dkYi5iYXNlL2ZvcmstZGV0YWNoLmMgYi9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2ZvcmstZGV0 YWNoLmMKLW5ldyBmaWxlIG1vZGUgMTAwNjQ0Ci0tLS0gL2Rldi9udWxsCi0rKysgYi9nZGIvdGVz dHN1aXRlL2dkYi5iYXNlL2ZvcmstZGV0YWNoLmMKLUBAIC0wLDAgKzEsNTcgQEAKLSsvKiBUaGlz IHRlc3RjYXNlIGlzIHBhcnQgb2YgR0RCLCB0aGUgR05VIGRlYnVnZ2VyLgotKwotKyAgIENvcHly aWdodCAyMDA3IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgotKwotKyAgIFRoaXMgcHJv Z3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9k aWZ5Ci0rICAgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGlj ZW5zZSBhcyBwdWJsaXNoZWQgYnkKLSsgICB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBl aXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgotKyAgIChhdCB5b3VyIG9wdGlvbikg YW55IGxhdGVyIHZlcnNpb24uCi0rCi0rICAgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGlu IHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCi0rICAgYnV0IFdJVEhPVVQgQU5ZIFdB UlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKLSsgICBNRVJDSEFO VEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCi0r ICAgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLSsgCi0rICAg WW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGlj IExpY2Vuc2UKLSsgICBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0 aGUgRnJlZSBTb2Z0d2FyZQotKyAgIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSAt IFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3LCBVU0EuCi0rCi0rICAgUGxlYXNlIGVt YWlsIGFueSBidWdzLCBjb21tZW50cywgYW5kL29yIGFkZGl0aW9ucyB0byB0aGlzIGZpbGUgdG86 Ci0rICAgYnVnLWdkYkBwcmVwLmFpLm1pdC5lZHUgICovCi0rCi0rI2luY2x1ZGUgPHN5cy90eXBl cy5oPgotKyNpbmNsdWRlIDxzeXMvd2FpdC5oPgotKyNpbmNsdWRlIDx1bmlzdGQuaD4KLSsjaW5j bHVkZSA8YXNzZXJ0Lmg+Ci0rI2luY2x1ZGUgPHN0ZGxpYi5oPgotKwotK3N0YXRpYyB2b2lkIGZ1 bmMgKHZvaWQpCi0rewotK30KLSsKLStpbnQgbWFpbiAodm9pZCkKLSt7Ci0rICBwaWRfdCBjaGls ZDsKLSsKLSsgIGNoaWxkID0gZm9yayAoKTsKLSsgIHN3aXRjaCAoY2hpbGQpCi0rICAgIHsKLSsg ICAgICBjYXNlIC0xOgotKwlhYm9ydCAoKTsKLSsgICAgICBjYXNlIDA6Ci0rCWZ1bmMgKCk7Ci0r CWJyZWFrOwotKyAgICAgIGRlZmF1bHQ6Ci0rICAgICAgICB7Ci0rLyogV2UgZG8gbm90IHRlc3Qg dGhlIHN3aXRjaGluZyB0byB0aGUgb3RoZXIgZm9yayBieSBHREIgYGZvcmsgMScuICAqLwotKyNp ZiAwCi0rCSAgcGlkX3QgZ290OwotKwotKwkgIGdvdCA9IHdhaXRwaWQgKGNoaWxkLCBOVUxMLCAw KTsKLSsJICBhc3NlcnQgKGdvdCA9PSBjaGlsZCk7Ci0rI2VuZGlmCi0rCSAgYnJlYWs7Ci0rCX0K LSsgICAgfQotKyAgcmV0dXJuIDA7Ci0rfQotZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2Ri LmJhc2UvZm9yay1kZXRhY2guZXhwIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9mb3JrLWRldGFj aC5leHAKLW5ldyBmaWxlIG1vZGUgMTAwNjQ0Ci0tLS0gL2Rldi9udWxsCi0rKysgYi9nZGIvdGVz dHN1aXRlL2dkYi5iYXNlL2ZvcmstZGV0YWNoLmV4cAotQEAgLTAsMCArMSwzNiBAQAotKyMgQ29w eXJpZ2h0IDIwMDcgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCi0rCi0rIyBUaGlzIHBy b2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1v ZGlmeQotKyMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGlj ZW5zZSBhcyBwdWJsaXNoZWQgYnkKLSsjIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVp dGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCi0rIyAoYXQgeW91ciBvcHRpb24pIGFu eSBsYXRlciB2ZXJzaW9uLgotKyMgCi0rIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4g dGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSsjIGJ1dCBXSVRIT1VUIEFOWSBXQVJS QU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0rIyBNRVJDSEFOVEFC SUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCi0rIyBH TlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgotKyMgCi0rIyBZb3Ug c2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGlj ZW5zZQotKyMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZy ZWUgU29mdHdhcmUKLSsjIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSAtIFN1aXRl IDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3LCBVU0EuCi0rCi0rc2V0IHRlc3RmaWxlIGZvcmst ZGV0YWNoCi0rc2V0IHNyY2ZpbGUgJHt0ZXN0ZmlsZX0uYwotK3NldCBiaW5maWxlIFtzdGFuZGFy ZF9vdXRwdXRfZmlsZSAke3Rlc3RmaWxlfV0KLStpZiAgeyBbZ2RiX2NvbXBpbGUgIiR7c3JjZGly fS8ke3N1YmRpcn0vJHtzcmNmaWxlfSIgIiR7YmluZmlsZX0iIGV4ZWN1dGFibGUge2RlYnVnfV0g IT0gIiIgfSB7Ci0rICAgIHVudGVzdGVkICJDb3VsZG4ndCBjb21waWxlIHRlc3QgcHJvZ3JhbSIK LSsgICAgcmV0dXJuIC0xCi0rfQotKwotKyMgR2V0IHRoaW5ncyBzdGFydGVkLgotKwotK2dkYl9l eGl0Ci0rZ2RiX3N0YXJ0Ci0rZ2RiX3JlaW5pdGlhbGl6ZV9kaXIgJHNyY2Rpci8kc3ViZGlyCi0r Z2RiX2xvYWQgJHtiaW5maWxlfQotKwotK2dkYl9ydW5fY21kCi0rIyBgU3RhcnRpbmcgcHJvZ3Jh bTogLionIHByZWZpeCBpcyBhdmFpbGFibGUgc2luY2UgZ2RiLTYuNy4KLStnZGJfdGVzdCAiIiBc Ci0rICAgICAgICAgIkRldGFjaGluZyBhZnRlciBmb3JrIGZyb20gY2hpbGQgcHJvY2Vzcy4qXFxc W0luZmVyaW9yIC4qIGV4aXRlZCBub3JtYWxseVxcXF0iIFwKLSsgICAgICAgICAiSW5mbyBtZXNz YWdlIGNhdWdodCIKCmRpZmYgLS1naXQgYS9nZGItNi42LXNjaGVkdWxlcl9sb2NraW5nLXN0ZXAt aXMtZGVmYXVsdC5wYXRjaCBiL2dkYi02LjYtc2NoZWR1bGVyX2xvY2tpbmctc3RlcC1pcy1kZWZh dWx0LnBhdGNoCmluZGV4IGMwY2RjODkuLjQ3ZDczZDAgMTAwNjQ0Ci0tLSBhL2dkYi02LjYtc2No ZWR1bGVyX2xvY2tpbmctc3RlcC1pcy1kZWZhdWx0LnBhdGNoCisrKyBiL2dkYi02LjYtc2NoZWR1 bGVyX2xvY2tpbmctc3RlcC1pcy1kZWZhdWx0LnBhdGNoCkBAIC05LDcgKzksNyBAQCBGaWxlTmFt ZTogZ2RiLTYuNi1zY2hlZHVsZXJfbG9ja2luZy1zdGVwLWlzLWRlZmF1bHQucGF0Y2gKIDs7PXB1 c2gramFuOiBIb3cgbXVjaCBpcyBzY2hlZHVsZXItbG9ja2luZyByZWxldmFudCBhZnRlciBub24t c3RvcD8KIAogZGlmZiAtLWdpdCBhL2dkYi9pbmZydW4uYyBiL2dkYi9pbmZydW4uYwotaW5kZXgg MjM0Mzk5NzliNS4uMWQwZjczMTk1NCAxMDA2NDQKK2luZGV4IGRmMTk0NzhlZjMuLjc4ZmZjMTBi MjMgMTAwNjQ0CiAtLS0gYS9nZGIvaW5mcnVuLmMKICsrKyBiL2dkYi9pbmZydW4uYwogQEAgLTIy MDIsNyArMjIwMiw3IEBAIHN0YXRpYyBjb25zdCBjaGFyICpjb25zdCBzY2hlZHVsZXJfZW51bXNb XSA9IHsKCmRpZmYgLS1naXQgYS9nZGItNi44LWF0dGFjaC1zaWduYWxsZWQtZGV0YWNoLXN0b3Bw ZWQucGF0Y2ggYi9nZGItNi44LWF0dGFjaC1zaWduYWxsZWQtZGV0YWNoLXN0b3BwZWQucGF0Y2gK ZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGJlNzVhMWYuLjAwMDAwMDAKLS0tIGEvZ2Ri LTYuOC1hdHRhY2gtc2lnbmFsbGVkLWRldGFjaC1zdG9wcGVkLnBhdGNoCisrKyAvZGV2L251bGwK QEAgLTEsMTkxICswLDAgQEAKLUZyb20gRkVET1JBX1BBVENIRVMgTW9uIFNlcCAxNyAwMDowMDow MCAyMDAxCi1Gcm9tOiBGZWRvcmEgR0RCIHBhdGNoZXMgPGludmFsaWRAZW1haWwuY29tPgotRGF0 ZTogRnJpLCAyNyBPY3QgMjAxNyAyMTowNzo1MCArMDIwMAotU3ViamVjdDogZ2RiLTYuOC1hdHRh Y2gtc2lnbmFsbGVkLWRldGFjaC1zdG9wcGVkLnBhdGNoCi0KLUZpbGVOYW1lOiBnZGItNi44LWF0 dGFjaC1zaWduYWxsZWQtZGV0YWNoLXN0b3BwZWQucGF0Y2gKLQotOzsgW1JIRUw1LFJIRUw2XSBG aXggYXR0YWNoaW5nIHRvIHN0b3BwZWQgcHJvY2Vzc2VzLgotOzsgW1JIRUw1XSBXb3JrYXJvdW5k IGtlcm5lbCBmb3IgZGV0YWNoaW5nIFNJR1NUT1BwZWQgcHJvY2Vzc2VzIChCWiA4MDkzODIpLgot Ozs9ZmVkb3JhCi0KLWRpZmYgLS1naXQgYS9nZGIvaW5mcnVuLmMgYi9nZGIvaW5mcnVuLmMKLWlu ZGV4IGI0NjhkMDJmZDYuLjE2NTYxZGQxMTkgMTAwNjQ0Ci0tLS0gYS9nZGIvaW5mcnVuLmMKLSsr KyBiL2dkYi9pbmZydW4uYwotQEAgLTYwNiw2ICs2MDYsMTMgQEAgaG9sZGluZyB0aGUgY2hpbGQg c3RvcHBlZC4gIFRyeSBcInNldCBkZXRhY2gtb24tZm9ya1wiIG9yIFwKLSAJCQkJdGFyZ2V0X3Bp ZF90b19zdHIgKHByb2Nlc3NfcHRpZCkpOwotIAkgICAgfQotIAotKyNpZmRlZiBORUVEX0RFVEFD SF9TSUdTVE9QCi0rCSAgLyogV2Ugc2hvdWxkIGNoZWNrIFBJRF9XQVNfU1RPUFBFRCBhbmQgZGV0 YWNoIGl0IHN0b3BwZWQgYWNjb3JkaW5nbHkuCi0rCSAgICAgSW4gdGhpcyBwb2ludCBvZiBjb2Rl IGl0IGNhbm5vdCBiZSAxIGFzIHdlIHdvdWxkIG5vdCBnZXQgRk9SSwotKwkgICAgIGV4ZWN1dGVk IHdpdGhvdXQgQ09OVElOVUUgZmlyc3Qgd2hpY2ggcmVzZXRzIFBJRF9XQVNfU1RPUFBFRC4KLSsJ ICAgICBXZSB3b3VsZCBoYXZlIHRvIGZpcnN0IFRBUkdFVF9TVE9QIGFuZCBXQUlUUElEIGl0IGFz IHdpdGggcnVubmluZwotKwkgICAgIGluZmVyaW9yIFBUUkFDRV9ERVRBQ0gsIFNJR1NUT1Agd2ls bCBpZ25vcmUgdGhlIHNpZ25hbC4gICovCi0rI2VuZGlmCi0gCSAgdGFyZ2V0X2RldGFjaCAoTlVM TCwgMCk7Ci0gCX0KLSAKLWRpZmYgLS1naXQgYS9nZGIvbGludXgtbmF0LmMgYi9nZGIvbGludXgt bmF0LmMKLWluZGV4IDE1NzBhMmJjYjYuLmExMDFmYmJlMzMgMTAwNjQ0Ci0tLS0gYS9nZGIvbGlu dXgtbmF0LmMKLSsrKyBiL2dkYi9saW51eC1uYXQuYwotQEAgLTE5NCw2ICsxOTQsMTEgQEAgZW51 bSB0cmlib29sIGhhdmVfcHRyYWNlX2dldHJlZ3NldCA9IFRSSUJPT0xfVU5LTk9XTjsKLSBzdGF0 aWMgc3RydWN0IHRhcmdldF9vcHMgKmxpbnV4X29wczsKLSBzdGF0aWMgc3RydWN0IHRhcmdldF9v cHMgbGludXhfb3BzX3NhdmVkOwotIAotKyNpZmRlZiBORUVEX0RFVEFDSF9TSUdTVE9QCi0rLyog UElEIG9mIHRoZSBpbmZlcmlvciBzdG9wcGVkIGJ5IFNJR1NUT1AgYmVmb3JlIGF0dGFjaGluZyAo b3IgemVybykuICAqLwotK3N0YXRpYyBwaWRfdCBwaWRfd2FzX3N0b3BwZWQ7Ci0rCi0rI2VuZGlm Ci0gLyogVGhlIG1ldGhvZCB0byBjYWxsLCBpZiBhbnksIHdoZW4gYSBuZXcgdGhyZWFkIGlzIGF0 dGFjaGVkLiAgKi8KLSBzdGF0aWMgdm9pZCAoKmxpbnV4X25hdF9uZXdfdGhyZWFkKSAoc3RydWN0 IGx3cF9pbmZvICopOwotIAotQEAgLTEwNjUsNiArMTA3MCw5IEBAIGxpbnV4X25hdF9wb3N0X2F0 dGFjaF93YWl0IChwdGlkX3QgcHRpZCwgaW50ICpzaWduYWxsZWQpCi0gICAgICAgaWYgKGRlYnVn X2xpbnV4X25hdCkKLSAJZnByaW50Zl91bmZpbHRlcmVkIChnZGJfc3RkbG9nLAotIAkJCSAgICAi TE5QQVc6IEF0dGFjaGluZyB0byBhIHN0b3BwZWQgcHJvY2Vzc1xuIik7Ci0rI2lmZGVmIE5FRURf REVUQUNIX1NJR1NUT1AKLSsgICAgICBwaWRfd2FzX3N0b3BwZWQgPSBwdGlkX2dldF9waWQgKHB0 aWQpOwotKyNlbmRpZgotIAotICAgICAgIC8qIFRoZSBwcm9jZXNzIGlzIGRlZmluaXRlbHkgc3Rv cHBlZC4gIEl0IGlzIGluIGEgam9iIGNvbnRyb2wKLSAJIHN0b3AsIHVubGVzcyB0aGUga2VybmVs IHByZWRhdGVzIHRoZSBUQVNLX1NUT1BQRUQgLwotQEAgLTE0MjAsNiArMTQyOCwyNSBAQCBnZXRf ZGV0YWNoX3NpZ25hbCAoc3RydWN0IGx3cF9pbmZvICpscCkKLSAgICAgICByZXR1cm4gZ2RiX3Np Z25hbF90b19ob3N0IChzaWdubyk7Ci0gICAgIH0KLSAKLSsjaWZkZWYgTkVFRF9ERVRBQ0hfU0lH U1RPUAotKyAgLyogV29ya2Fyb3VuZCBSSEVMLTUga2VybmVsIHdoaWNoIGhhcyB1bnJlbGlhYmxl IFBUUkFDRV9ERVRBQ0gsIFNJR1NUT1AgKHRoYXQKLSsgICAgIG1hbnkgVElEcyBhcmUgbGVmdCB1 bnN0b3BwZWQpLiAgU2VlIFJIIEJ1ZyA0OTY3MzIuICAqLwotKyAgaWYgKHB0aWRfZ2V0X3BpZCAo bHAtPnB0aWQpID09IHBpZF93YXNfc3RvcHBlZCkKLSsgICAgewotKyAgICAgIGludCBlcnI7Ci0r Ci0rICAgICAgZXJybm8gPSAwOwotKyAgICAgIGVyciA9IGtpbGxfbHdwIChwdGlkX2dldF9sd3Ag KGxwLT5wdGlkKSwgU0lHU1RPUCk7Ci0rICAgICAgaWYgKGRlYnVnX2xpbnV4X25hdCkKLSsJewot KwkgIGZwcmludGZfdW5maWx0ZXJlZCAoZ2RiX3N0ZGxvZywKLSsJCQkgICAgICAiU0M6ICBsd3Ag a2lsbCAlZCAlc1xuIiwKLSsJCQkgICAgICBlcnIsCi0rCQkJICAgICAgZXJybm8gPyBzYWZlX3N0 cmVycm9yIChlcnJubykgOiAiRVJSTk8tT0siKTsKLSsJfQotKyAgICB9Ci0rCi0rI2VuZGlmCi0g ICByZXR1cm4gMDsKLSB9Ci0gCi1AQCAtMTU3OCw2ICsxNjA1LDEwIEBAIGxpbnV4X25hdF9kZXRh Y2ggKHN0cnVjdCB0YXJnZXRfb3BzICpvcHMsIGNvbnN0IGNoYXIgKmFyZ3MsIGludCBmcm9tX3R0 eSkKLSAgICAgICBkZXRhY2hfb25lX2x3cCAobWFpbl9sd3AsICZzaWdubyk7Ci0gCi0gICAgICAg aW5mX3B0cmFjZV9kZXRhY2hfc3VjY2VzcyAob3BzKTsKLSsKLSsjaWZkZWYgTkVFRF9ERVRBQ0hf U0lHU1RPUAotKyAgICAgIHBpZF93YXNfc3RvcHBlZCA9IDA7Ci0rI2VuZGlmCi0gICAgIH0KLSB9 Ci0gCi1AQCAtMTgzOCw2ICsxODY5LDE2IEBAIGxpbnV4X25hdF9yZXN1bWUgKHN0cnVjdCB0YXJn ZXRfb3BzICpvcHMsCi0gICAgICAgcmV0dXJuOwotICAgICB9Ci0gCi0rI2lmZGVmIE5FRURfREVU QUNIX1NJR1NUT1AKLSsgIC8qIEF0IHRoaXMgcG9pbnQsIHdlIGFyZSBnb2luZyB0byByZXN1bWUg dGhlIGluZmVyaW9yIGFuZCBpZiB3ZQotKyAgICAgaGF2ZSBhdHRhY2hlZCB0byBhIHN0b3BwZWQg cHJvY2Vzcywgd2Ugbm8gbG9uZ2VyIHNob3VsZCBsZWF2ZQotKyAgICAgaXQgYXMgc3RvcHBlZCBp ZiB0aGUgdXNlciBkZXRhY2hlcy4gIFBUSUQgdmFyaWFibGUgaGFzIFBJRCBzZXQgdG8gTFdQCi0r ICAgICB3aGlsZSB3ZSBuZWVkIHRvIGNoZWNrIHRoZSByZWFsIFBJRCBoZXJlLiAgKi8KLSsKLSsg IGlmICghc3RlcCAmJiBscCAmJiBwaWRfd2FzX3N0b3BwZWQgPT0gcHRpZF9nZXRfcGlkIChscC0+ cHRpZCkpCi0rICAgIHBpZF93YXNfc3RvcHBlZCA9IDA7Ci0rCi0rI2VuZGlmCi0gICBpZiAocmVz dW1lX21hbnkpCi0gICAgIGl0ZXJhdGVfb3Zlcl9sd3BzIChwdGlkLCBsaW51eF9uYXRfcmVzdW1l X2NhbGxiYWNrLCBscCk7Ci0gCi1AQCAtMzgzMCw2ICszODcxLDEwIEBAIGxpbnV4X25hdF9tb3Vy bl9pbmZlcmlvciAoc3RydWN0IHRhcmdldF9vcHMgKm9wcykKLSAKLSAgIC8qIExldCB0aGUgYXJj aC1zcGVjaWZpYyBuYXRpdmUgY29kZSBrbm93IHRoaXMgcHJvY2VzcyBpcyBnb25lLiAgKi8KLSAg IGxpbnV4X25hdF9mb3JnZXRfcHJvY2VzcyAocGlkKTsKLSsjaWZkZWYgTkVFRF9ERVRBQ0hfU0lH U1RPUAotKwotKyAgcGlkX3dhc19zdG9wcGVkID0gMDsKLSsjZW5kaWYKLSB9Ci0gCi0gLyogQ29u dmVydCBhIG5hdGl2ZS9ob3N0IHNpZ2luZm8gb2JqZWN0LCBpbnRvL2Zyb20gdGhlIHNpZ2luZm8g aW4gdGhlCi1kaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIudGhyZWFkcy9hdHRhY2gtc3Rv cHBlZC5leHAgYi9nZGIvdGVzdHN1aXRlL2dkYi50aHJlYWRzL2F0dGFjaC1zdG9wcGVkLmV4cAot aW5kZXggNmM4YzhiZjEwZS4uYzk1M2E5YzYwZCAxMDA2NDQKLS0tLSBhL2dkYi90ZXN0c3VpdGUv Z2RiLnRocmVhZHMvYXR0YWNoLXN0b3BwZWQuZXhwCi0rKysgYi9nZGIvdGVzdHN1aXRlL2dkYi50 aHJlYWRzL2F0dGFjaC1zdG9wcGVkLmV4cAotQEAgLTU2LDcgKzU2LDY1IEBAIHByb2MgY29yZWZ1 bmMgeyB0aHJlYWR0eXBlIH0gewotICAgICBnZGJfcmVpbml0aWFsaXplX2RpciAkc3JjZGlyLyRz dWJkaXIKLSAgICAgZ2RiX2xvYWQgJHtiaW5maWxlfQotIAotLSAgICAjIFZlcmlmeSB0aGF0IHdl IGNhbiBhdHRhY2ggdG8gdGhlIHN0b3BwZWQgcHJvY2Vzcy4KLSsgICAgIyBWZXJpZnkgdGhhdCB3 ZSBjYW4gYXR0YWNoIHRvIHRoZSBwcm9jZXNzIGJ5IGZpcnN0IGdpdmluZyBpdHMKLSsgICAgIyBl eGVjdXRhYmxlIG5hbWUgdmlhIHRoZSBmaWxlIGNvbW1hbmQsIGFuZCB1c2luZyBhdHRhY2ggd2l0 aCB0aGUKLSsgICAgIyBwcm9jZXNzIElELgotKwotKyAgICBzZXQgdGVzdCAiJHRocmVhZHR5cGU6 IHNldCBmaWxlLCBiZWZvcmUgYXR0YWNoMSB0byBzdG9wcGVkIHByb2Nlc3MiCi0rICAgIGdkYl90 ZXN0X211bHRpcGxlICJmaWxlICRiaW5maWxlIiAiJHRlc3QiIHsKLSsgICAgICAgLXJlICJMb2Fk IG5ldyBzeW1ib2wgdGFibGUgZnJvbS4qeSBvciBuLiAkIiB7Ci0rCSAgICBnZGJfdGVzdCAieSIg IlJlYWRpbmcgc3ltYm9scyBmcm9tICRlc2NhcGVkYmluZmlsZVwuXC5cLipkb25lLiIgXAotKwkJ ICAgICIkdGVzdCAocmUtcmVhZCkiCi0rCX0KLSsJLXJlICJSZWFkaW5nIHN5bWJvbHMgZnJvbSAk ZXNjYXBlZGJpbmZpbGVcLlwuXC4qZG9uZS4qJGdkYl9wcm9tcHQgJCIgewotKwkgICAgcGFzcyAi JHRlc3QiCi0rCX0KLSsgICAgfQotKwotKyAgICBzZXQgdGVzdCAiJHRocmVhZHR5cGU6IGF0dGFj aDEgdG8gc3RvcHBlZCwgYWZ0ZXIgc2V0dGluZyBmaWxlIgotKyAgICBnZGJfdGVzdF9tdWx0aXBs ZSAiYXR0YWNoICR0ZXN0cGlkIiAiJHRlc3QiIHsKLSsJLXJlICJBdHRhY2hpbmcgdG8gcHJvZ3Jh bS4qYD8kZXNjYXBlZGJpbmZpbGUnPywgcHJvY2VzcyAkdGVzdHBpZC4qJGdkYl9wcm9tcHQgJCIg ewotKwkgICAgcGFzcyAiJHRlc3QiCi0rCX0KLSsgICAgfQotKwotKyAgICAjICIuKnNsZWVwLipj bG9uZS4qIiB3b3VsZCBmYWlsIG9uIHMzOTB4IGFzIGJ0IHN0b3BzIGF0IFNUQVJUX1RIUkVBRCB0 aGVyZS4KLSsgICAgaWYge1tzdHJpbmcgZXF1YWwgJHRocmVhZHR5cGUgdGhyZWFkZWRdfSB7Ci0r CWdkYl90ZXN0ICJ0aHJlYWQgYXBwbHkgYWxsIGJ0IiAiLipzbGVlcC4qc3RhcnRfdGhyZWFkLioi ICIkdGhyZWFkdHlwZTogYXR0YWNoMSB0byBzdG9wcGVkIGJ0IgotKyAgICB9IGVsc2UgewotKwln ZGJfdGVzdCAiYnQiICIuKnNsZWVwLiptYWluLioiICIkdGhyZWFkdHlwZTogYXR0YWNoMSB0byBz dG9wcGVkIGJ0IgotKyAgICB9Ci0rCi0rICAgICMgRXhpdCBhbmQgZGV0YWNoIHRoZSBwcm9jZXNz LgotKyAgICAgICAKLSsgICAgZ2RiX2V4aXQKLSsKLSsgICAgIyBBdm9pZCBzb21lIHJhY2U6Ci0r ICAgIHNsZWVwIDIKLSsKLSsgICAgaWYgW2NhdGNoIHtvcGVuIC9wcm9jLyR7dGVzdHBpZH0vc3Rh dHVzIHJ9IGZpbGVpZF0gewotKwlzZXQgbGluZTIgIk5PVEZPVU5EIgotKyAgICB9IGVsc2Ugewot KwlnZXRzICRmaWxlaWQgbGluZTE7Ci0rCWdldHMgJGZpbGVpZCBsaW5lMjsKLSsJY2xvc2UgJGZp bGVpZDsKLSsgICAgfQotKwotKyAgICBzZXQgdGVzdCAiJHRocmVhZHR5cGU6IGF0dGFjaDEsIGV4 aXQgbGVhdmVzIHByb2Nlc3Mgc3RvcHBlZCIKLSsgICAgaWYge1tzdHJpbmcgbWF0Y2ggIiooc3Rv cHBlZCkqIiAkbGluZTJdfSB7Ci0rICAgICAgcGFzcyAkdGVzdAotKyAgICB9IGVsc2UgewotKyAg ICAgIGZhaWwgJHRlc3QKLSsgICAgfQotKwotKyAgICAjIEF0IHRoaXMgcG9pbnQsIHRoZSBwcm9j ZXNzIHNob3VsZCBzdGlsbCBiZSBzdG9wcGVkCi0rCi0rICAgIGdkYl9zdGFydAotKyAgICBnZGJf cmVpbml0aWFsaXplX2RpciAkc3JjZGlyLyRzdWJkaXIKLSsgICAgZ2RiX2xvYWQgJHtiaW5maWxl fQotKwotKyAgICAjIFZlcmlmeSB0aGF0IHdlIGNhbiBhdHRhY2ggdG8gdGhlIHByb2Nlc3MganVz dCBieSBnaXZpbmcgdGhlCi0rICAgICMgcHJvY2VzcyBJRC4KLSAgICAgICAgCi0gICAgIHNldCB0 ZXN0ICIkdGhyZWFkdHlwZTogYXR0YWNoMiB0byBzdG9wcGVkLCBhZnRlciBzZXR0aW5nIGZpbGUi Ci0gICAgIGdkYl90ZXN0X211bHRpcGxlICJhdHRhY2ggJHRlc3RwaWQiICIkdGVzdCIgewoKZGlm ZiAtLWdpdCBhL2dkYi02LjgtYno0MzYwMzctcmVnLW5vLWxvbmdlci1hY3RpdmUucGF0Y2ggYi9n ZGItNi44LWJ6NDM2MDM3LXJlZy1uby1sb25nZXItYWN0aXZlLnBhdGNoCmluZGV4IDAxZWRkMTYu LjkzMjYzMTQgMTAwNjQ0Ci0tLSBhL2dkYi02LjgtYno0MzYwMzctcmVnLW5vLWxvbmdlci1hY3Rp dmUucGF0Y2gKKysrIGIvZ2RiLTYuOC1iejQzNjAzNy1yZWctbm8tbG9uZ2VyLWFjdGl2ZS5wYXRj aApAQCAtOSwxMCArOSwxMCBAQCBGaWxlTmFtZTogZ2RiLTYuOC1iejQzNjAzNy1yZWctbm8tbG9u Z2VyLWFjdGl2ZS5wYXRjaAogOzs9cHVzaCtqYW46IFRoaXMgZml4IGlzIGluY29ycmVjdC4KIAog ZGlmZiAtLWdpdCBhL2dkYi92YWxvcHMuYyBiL2dkYi92YWxvcHMuYwotaW5kZXggOWIyNTk4MDA5 MC4uN2FhY2QxN2Q3MCAxMDA2NDQKK2luZGV4IDliNjYwMGI1MzguLmNkYzVjODAxNGMgMTAwNjQ0 CiAtLS0gYS9nZGIvdmFsb3BzLmMKICsrKyBiL2dkYi92YWxvcHMuYwotQEAgLTExMDMsNiArMTEw Myw4IEBAIHZhbHVlX2Fzc2lnbiAoc3RydWN0IHZhbHVlICp0b3ZhbCwgc3RydWN0IHZhbHVlICpm cm9tdmFsKQorQEAgLTExMDQsNiArMTEwNCw4IEBAIHZhbHVlX2Fzc2lnbiAoc3RydWN0IHZhbHVl ICp0b3ZhbCwgc3RydWN0IHZhbHVlICpmcm9tdmFsKQogIAlzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJj aDsKICAJaW50IHZhbHVlX3JlZzsKICAKQEAgLTIxLDcgKzIxLDcgQEAgaW5kZXggOWIyNTk4MDA5 MC4uN2FhY2QxN2Q3MCAxMDA2NDQKICAJLyogRmlndXJlIG91dCB3aGljaCBmcmFtZSB0aGlzIGlz IGluIGN1cnJlbnRseS4KICAJCiAgCSAgIFdlIHVzZSBWQUxVRV9GUkFNRV9JRCBmb3Igb2J0YWlu aW5nIHRoZSB2YWx1ZSdzIGZyYW1lIGlkIGluc3RlYWQgb2YKLUBAIC0xMTEyLDggKzExMTQsMTQg QEAgdmFsdWVfYXNzaWduIChzdHJ1Y3QgdmFsdWUgKnRvdmFsLCBzdHJ1Y3QgdmFsdWUgKmZyb212 YWwpCitAQCAtMTExMyw4ICsxMTE1LDE0IEBAIHZhbHVlX2Fzc2lnbiAoc3RydWN0IHZhbHVlICp0 b3ZhbCwgc3RydWN0IHZhbHVlICpmcm9tdmFsKQogIAkgICBmcmFtZS4gICovCiAgCWZyYW1lID0g ZnJhbWVfZmluZF9ieV9pZCAoVkFMVUVfRlJBTUVfSUQgKHRvdmFsKSk7CiAgCgpkaWZmIC0tZ2l0 IGEvZ2RiLTYuOC1xdWl0LW5ldmVyLWFib3J0cy5wYXRjaCBiL2dkYi02LjgtcXVpdC1uZXZlci1h Ym9ydHMucGF0Y2gKaW5kZXggOGZiZTZmMC4uNjQ3Y2E0MCAxMDA2NDQKLS0tIGEvZ2RiLTYuOC1x dWl0LW5ldmVyLWFib3J0cy5wYXRjaAorKysgYi9nZGItNi44LXF1aXQtbmV2ZXItYWJvcnRzLnBh dGNoCkBAIC0xNiw3ICsxNiw3IEBAIHNob3VsZCBoYXZlIGJlZW4gZGV0YWNoZWQgd2l0aCBTSUdT VE9QIChhcyB0aGV5IGFyZSBhY2NpZGVudGFsbHkgbGVmdCBydW5uaW5nCiBvbiB0aGUgZGVidWdn ZXIgdGVybWluYXRpb24pLgogCiBkaWZmIC0tZ2l0IGEvZ2RiL2RlZnMuaCBiL2dkYi9kZWZzLmgK LWluZGV4IDBjMTU2ZDU2YzMuLjlhN2Y0ZDUyYjAgMTAwNjQ0CitpbmRleCBjZTVmZWUzYmEzLi44 YjE2YWNhMmEwIDEwMDY0NAogLS0tIGEvZ2RiL2RlZnMuaAogKysrIGIvZ2RiL2RlZnMuaAogQEAg LTE2OCw2ICsxNjgsMTAgQEAgZXh0ZXJuIHZvaWQgZGVmYXVsdF9xdWl0X2hhbmRsZXIgKHZvaWQp OwpAQCAtMzEsMTAgKzMxLDEwIEBAIGluZGV4IDBjMTU2ZDU2YzMuLjlhN2Y0ZDUyYjAgMTAwNjQ0 CiAgCiAgLyogSGVscGVyIGZvciB0aGUgUVVJVCBtYWNyby4gICovCiBkaWZmIC0tZ2l0IGEvZ2Ri L2V4dGVuc2lvbi5jIGIvZ2RiL2V4dGVuc2lvbi5jCi1pbmRleCBhMWVlMzUxMGE2Li4yMjlkNzAy MjcwIDEwMDY0NAoraW5kZXggZTVjMDE0NjY3YS4uMWM1NGYwMzI3MiAxMDA2NDQKIC0tLSBhL2dk Yi9leHRlbnNpb24uYwogKysrIGIvZ2RiL2V4dGVuc2lvbi5jCi1AQCAtODMwLDYgKzgzMCwxMSBA QCBjaGVja19xdWl0X2ZsYWcgKHZvaWQpCitAQCAtODIwLDYgKzgyMCwxMSBAQCBjaGVja19xdWl0 X2ZsYWcgKHZvaWQpCiAgICBpbnQgaSwgcmVzdWx0ID0gMDsKICAgIGNvbnN0IHN0cnVjdCBleHRl bnNpb25fbGFuZ3VhZ2VfZGVmbiAqZXh0bGFuZzsKICAKQEAgLTQ3LDExICs0NywxMSBAQCBpbmRl eCBhMWVlMzUxMGE2Li4yMjlkNzAyMjcwIDEwMDY0NAogICAgICB7CiAgICAgICAgaWYgKGV4dGxh bmctPm9wcy0+Y2hlY2tfcXVpdF9mbGFnICE9IE5VTEwpCiBkaWZmIC0tZ2l0IGEvZ2RiL3RvcC5j IGIvZ2RiL3RvcC5jCi1pbmRleCA0NzQ5Y2Y1NjFkLi5lMjY2NWM4ZTIyIDEwMDY0NAoraW5kZXgg MDdiMzg2ZGFjYi4uZTZjNTk1NTA1ZiAxMDA2NDQKIC0tLSBhL2dkYi90b3AuYwogKysrIGIvZ2Ri L3RvcC5jCi1AQCAtMTU4MCw3ICsxNTgwLDEzIEBAIHF1aXRfZm9yY2UgKGludCAqZXhpdF9hcmcs IGludCBmcm9tX3R0eSkKLSAgIHF0LmFyZ3MgPSBOVUxMOworQEAgLTE2MDQsNyArMTYwNCwxMyBA QCBxdWl0X2ZvcmNlIChpbnQgKmV4aXRfYXJnLCBpbnQgZnJvbV90dHkpCisgCiAgICBxdC5mcm9t X3R0eSA9IGZyb21fdHR5OwogIAogKyNpZm5kZWYgTkVFRF9ERVRBQ0hfU0lHU1RPUApAQCAtNjUs MTAgKzY1LDEwIEBAIGluZGV4IDQ3NDljZjU2MWQuLmUyNjY1YzhlMjIgMTAwNjQ0CiAgICAvKiBH ZXQgb3V0IG9mIHRmaW5kIG1vZGUsIGFuZCBraWxsIG9yIGRldGFjaCBhbGwgaW5mZXJpb3JzLiAg Ki8KICAgIFRSWQogZGlmZiAtLWdpdCBhL2dkYi91dGlscy5jIGIvZ2RiL3V0aWxzLmMKLWluZGV4 IDZmMGFiYzk4YTIuLjU4YzAzODBkMTcgMTAwNjQ0CitpbmRleCBjODE2ZTJmODk3Li5kYjFjNTM0 NTYwIDEwMDY0NAogLS0tIGEvZ2RiL3V0aWxzLmMKICsrKyBiL2dkYi91dGlscy5jCi1AQCAtMTA3 LDYgKzEwNywxMyBAQCBzdGF0aWMgc3RkOjpjaHJvbm86OnN0ZWFkeV9jbG9jazo6ZHVyYXRpb24g cHJvbXB0X2Zvcl9jb250aW51ZV93YWl0X3RpbWU7CitAQCAtMTA4LDYgKzEwOCwxMyBAQCBzdGF0 aWMgc3RkOjpjaHJvbm86OnN0ZWFkeV9jbG9jazo6ZHVyYXRpb24gcHJvbXB0X2Zvcl9jb250aW51 ZV93YWl0X3RpbWU7CiAgCiAgc3RhdGljIGludCBkZWJ1Z190aW1lc3RhbXAgPSAwOwogIAoKZGlm ZiAtLWdpdCBhL2dkYi02Ljgtc3BhcmM2NC1zaWxlbmNlLW1lbWNweS1jaGVjay5wYXRjaCBiL2dk Yi02Ljgtc3BhcmM2NC1zaWxlbmNlLW1lbWNweS1jaGVjay5wYXRjaAppbmRleCBiZWY0NjlmLi4w N2NmM2ZkIDEwMDY0NAotLS0gYS9nZGItNi44LXNwYXJjNjQtc2lsZW5jZS1tZW1jcHktY2hlY2su cGF0Y2gKKysrIGIvZ2RiLTYuOC1zcGFyYzY0LXNpbGVuY2UtbWVtY3B5LWNoZWNrLnBhdGNoCkBA IC05LDEwICs5LDEwIEBAIEZpbGVOYW1lOiBnZGItNi44LXNwYXJjNjQtc2lsZW5jZS1tZW1jcHkt Y2hlY2sucGF0Y2gKIDs7PXB1c2g6IEJ1dCBpdCBpcyBqdXN0IGEgR0NDIHdvcmthcm91bmQsIGxv b2sgdXAgdGhlIGV4aXN0aW5nIEdDQyBQUiBmb3IgaXQuCiAKIGRpZmYgLS1naXQgYS9nZGIvc3Bh cmMtdGRlcC5jIGIvZ2RiL3NwYXJjLXRkZXAuYwotaW5kZXggMTJmZDViOWU2NC4uZTMwNGJhOGRi YyAxMDA2NDQKK2luZGV4IDczMDAwODBkOGQuLjk4NjBlMTI3MjkgMTAwNjQ0CiAtLS0gYS9nZGIv c3BhcmMtdGRlcC5jCiArKysgYi9nZGIvc3BhcmMtdGRlcC5jCi1AQCAtMTQ0NCw2ICsxNDQ0LDcg QEAgc3BhcmMzMl9zdG9yZV9yZXR1cm5fdmFsdWUgKHN0cnVjdCB0eXBlICp0eXBlLCBzdHJ1Y3Qg cmVnY2FjaGUgKnJlZ2NhY2hlLAorQEAgLTE0NjIsNiArMTQ2Miw3IEBAIHNwYXJjMzJfc3RvcmVf cmV0dXJuX3ZhbHVlIChzdHJ1Y3QgdHlwZSAqdHlwZSwgc3RydWN0IHJlZ2NhY2hlICpyZWdjYWNo ZSwKICAgIGlmIChzcGFyY19mbG9hdGluZ19wICh0eXBlKSB8fCBzcGFyY19jb21wbGV4X2Zsb2F0 aW5nX3AgKHR5cGUpKQogICAgICB7CiAgICAgICAgLyogRmxvYXRpbmcgcmV0dXJuIHZhbHVlcy4g ICovCgpkaWZmIC0tZ2l0IGEvZ2RiLTcuMi41MC1zcGFyYy1hZGQtd29ya2Fyb3VuZC10by1icm9r ZW4tZGVidWctZmlsZXMucGF0Y2ggYi9nZGItNy4yLjUwLXNwYXJjLWFkZC13b3JrYXJvdW5kLXRv LWJyb2tlbi1kZWJ1Zy1maWxlcy5wYXRjaAppbmRleCBkOTgxYmMxLi5jYWVmYjcyIDEwMDY0NAot LS0gYS9nZGItNy4yLjUwLXNwYXJjLWFkZC13b3JrYXJvdW5kLXRvLWJyb2tlbi1kZWJ1Zy1maWxl cy5wYXRjaAorKysgYi9nZGItNy4yLjUwLXNwYXJjLWFkZC13b3JrYXJvdW5kLXRvLWJyb2tlbi1k ZWJ1Zy1maWxlcy5wYXRjaApAQCAtMTksNyArMTksNyBAQCBGaWxlTmFtZTogZ2RiLTcuMi41MC1z cGFyYy1hZGQtd29ya2Fyb3VuZC10by1icm9rZW4tZGVidWctZmlsZXMucGF0Y2gKIDs7PXB1c2gK IAogZGlmZiAtLWdpdCBhL2dkYi9nZGJfYmZkLmMgYi9nZGIvZ2RiX2JmZC5jCi1pbmRleCA4MGRk ZDQyN2FmLi4zZTRkM2U0NDQ0IDEwMDY0NAoraW5kZXggOGZlZGViNDM4ZC4uMDU3ZjVlMWFlOSAx MDA2NDQKIC0tLSBhL2dkYi9nZGJfYmZkLmMKICsrKyBiL2dkYi9nZGJfYmZkLmMKIEBAIC0yNCwx MiArMjQsMTQgQEAKCmRpZmYgLS1naXQgYS9nZGItYXJjaGVyLXBpZS1hZGRvbnMta2VlcC1kaXNh YmxlZC5wYXRjaCBiL2dkYi1hcmNoZXItcGllLWFkZG9ucy1rZWVwLWRpc2FibGVkLnBhdGNoCmlu ZGV4IGU3NWQ1MGQuLmMyOWNiNjggMTAwNjQ0Ci0tLSBhL2dkYi1hcmNoZXItcGllLWFkZG9ucy1r ZWVwLWRpc2FibGVkLnBhdGNoCisrKyBiL2dkYi1hcmNoZXItcGllLWFkZG9ucy1rZWVwLWRpc2Fi bGVkLnBhdGNoCkBAIC04LDEwICs4LDEwIEBAIEZpbGVOYW1lOiBnZGItYXJjaGVyLXBpZS1hZGRv bnMta2VlcC1kaXNhYmxlZC5wYXRjaAogOzs9cHVzaCtqYW46IEJyZWFrcG9pbnRzIGRpc2FibGlu ZyBtYXRjaGluZyBzaG91bGQgbm90IGJlIGJhc2VkIG9uIGFkZHJlc3MuCiAKIGRpZmYgLS1naXQg YS9nZGIvYnJlYWtwb2ludC5jIGIvZ2RiL2JyZWFrcG9pbnQuYwotaW5kZXggMmI1ZWViYmJlZS4u ODE0ODAyYTBhMSAxMDA2NDQKK2luZGV4IDcyMWFmZDJjMDQuLmEwNGIxMTgzYjcgMTAwNjQ0CiAt LS0gYS9nZGIvYnJlYWtwb2ludC5jCiArKysgYi9nZGIvYnJlYWtwb2ludC5jCi1AQCAtMTU1OTAs NiArMTU1OTAsNTAgQEAgaW5pdGlhbGl6ZV9icmVha3BvaW50X29wcyAodm9pZCkKK0BAIC0xNTUx MSw2ICsxNTUxMSw1MCBAQCBpbml0aWFsaXplX2JyZWFrcG9pbnRfb3BzICh2b2lkKQogIAogIHN0 YXRpYyBzdHJ1Y3QgY21kX2xpc3RfZWxlbWVudCAqZW5hYmxlYnJlYWtsaXN0ID0gTlVMTDsKICAK QEAgLTYzLDEwICs2MywxMCBAQCBpbmRleCAyYjVlZWJiYmVlLi44MTQ4MDJhMGExIDEwMDY0NAog IF9pbml0aWFsaXplX2JyZWFrcG9pbnQgKHZvaWQpCiAgewogZGlmZiAtLWdpdCBhL2dkYi9icmVh a3BvaW50LmggYi9nZGIvYnJlYWtwb2ludC5oCi1pbmRleCA4YmI4MWQ4ZDE3Li4zZmRkYmFhNzEz IDEwMDY0NAoraW5kZXggNDIyMzE1OGZiYy4uNDA3Y2M1MzFkYiAxMDA2NDQKIC0tLSBhL2dkYi9i cmVha3BvaW50LmgKICsrKyBiL2dkYi9icmVha3BvaW50LmgKLUBAIC0xNjU2LDYgKzE2NTYsOSBA QCBleHRlcm4gY29uc3QgY2hhciAqZXBfcGFyc2Vfb3B0aW9uYWxfaWZfY2xhdXNlIChjb25zdCBj aGFyICoqYXJnKTsKK0BAIC0xNjgzLDYgKzE2ODMsOSBAQCBleHRlcm4gY29uc3QgY2hhciAqZXBf cGFyc2Vfb3B0aW9uYWxfaWZfY2xhdXNlIChjb25zdCBjaGFyICoqYXJnKTsKICAgICBVSU9VVCBp ZmYgZGVidWdnaW5nIG11bHRpcGxlIHRocmVhZHMuICAqLwogIGV4dGVybiB2b2lkIG1heWJlX3By aW50X3RocmVhZF9oaXRfYnJlYWtwb2ludCAoc3RydWN0IHVpX291dCAqdWlvdXQpOwogIApAQCAt NzcsMTAgKzc3LDEwIEBAIGluZGV4IDhiYjgxZDhkMTcuLjNmZGRiYWE3MTMgMTAwNjQ0CiAgZXh0 ZXJuIHZvaWQgcHJpbnRfYnJlYWtwb2ludCAoYnJlYWtwb2ludCAqYnApOwogIAogZGlmZiAtLWdp dCBhL2dkYi9vYmpmaWxlcy5jIGIvZ2RiL29iamZpbGVzLmMKLWluZGV4IDdhZGFlZjExOWQuLjJm MDYxYjQ3ZjcgMTAwNjQ0CitpbmRleCBmNTdmNGY1OGIwLi5kMzFjMGQ2ZjU2IDEwMDY0NAogLS0t IGEvZ2RiL29iamZpbGVzLmMKICsrKyBiL2dkYi9vYmpmaWxlcy5jCi1AQCAtODc5LDYgKzg3OSwx MSBAQCBvYmpmaWxlX3JlbG9jYXRlMSAoc3RydWN0IG9iamZpbGUgKm9iamZpbGUsCitAQCAtODc1 LDYgKzg3NSwxMSBAQCBvYmpmaWxlX3JlbG9jYXRlMSAoc3RydWN0IG9iamZpbGUgKm9iamZpbGUs CiAgCQkJCW9ial9zZWN0aW9uX2FkZHIgKHMpKTsKICAgICAgfQogIAoKZGlmZiAtLWdpdCBhL2dk Yi1hcmNoZXItcGllLWFkZG9ucy5wYXRjaCBiL2dkYi1hcmNoZXItcGllLWFkZG9ucy5wYXRjaApp bmRleCBmNDY5YjZlLi41OTBmZGI4IDEwMDY0NAotLS0gYS9nZGItYXJjaGVyLXBpZS1hZGRvbnMu cGF0Y2gKKysrIGIvZ2RiLWFyY2hlci1waWUtYWRkb25zLnBhdGNoCkBAIC04LDEwICs4LDEwIEBA IEZpbGVOYW1lOiBnZGItYXJjaGVyLXBpZS1hZGRvbnMucGF0Y2gKIDs7PXB1c2gramFuOiBNYXkg Z2V0IG9ic29sZXRlZCBieSBUb20ncyB1bnJlbG9jYXRlZCBvYmpmaWxlcyBwYXRjaC4KIAogZGlm ZiAtLWdpdCBhL2dkYi9nZGJ0eXBlcy5oIGIvZ2RiL2dkYnR5cGVzLmgKLWluZGV4IDE3OTIzOGNl ODIuLjU1OTcwMzgzNTcgMTAwNjQ0CitpbmRleCA4NzhjOGIwMzAyLi5jZjEzNDYxNjFkIDEwMDY0 NAogLS0tIGEvZ2RiL2dkYnR5cGVzLmgKICsrKyBiL2dkYi9nZGJ0eXBlcy5oCi1AQCAtNDUzLDYg KzQ1Myw3IEBAIGVudW0gZmllbGRfbG9jX2tpbmQKK0BAIC01MDUsNiArNTA1LDcgQEAgZW51bSBm aWVsZF9sb2Nfa2luZAogICAgewogICAgICBGSUVMRF9MT0NfS0lORF9CSVRQT1MsCS8qKjwgYml0 cG9zICovCiAgICAgIEZJRUxEX0xPQ19LSU5EX0VOVU1WQUwsCS8qKjwgZW51bXZhbCAqLwpAQCAt MTksNyArMTksNyBAQCBpbmRleCAxNzkyMzhjZTgyLi41NTk3MDM4MzU3IDEwMDY0NAogICAgICBG SUVMRF9MT0NfS0lORF9QSFlTQUREUiwJLyoqPCBwaHlzYWRkciAqLwogICAgICBGSUVMRF9MT0Nf S0lORF9QSFlTTkFNRSwJLyoqPCBwaHlzbmFtZSAqLwogICAgICBGSUVMRF9MT0NfS0lORF9EV0FS Rl9CTE9DSwkvKio8IGR3YXJmX2Jsb2NrICovCi1AQCAtNTA0LDYgKzUwNSw3IEBAIHVuaW9uIGZp ZWxkX2xvY2F0aW9uCitAQCAtNTU2LDYgKzU1Nyw3IEBAIHVuaW9uIGZpZWxkX2xvY2F0aW9uCiAg ICAgICBmaWVsZC4gIE90aGVyd2lzZSwgcGh5c25hbWUgaXMgdGhlIG1hbmdsZWQgbGFiZWwgb2Yg dGhlCiAgICAgICBzdGF0aWMgZmllbGQuICAqLwogIApAQCAtMjcsNyArMjcsNyBAQCBpbmRleCAx NzkyMzhjZTgyLi41NTk3MDM4MzU3IDEwMDY0NAogICAgQ09SRV9BRERSIHBoeXNhZGRyOwogICAg Y29uc3QgY2hhciAqcGh5c25hbWU7CiAgCi1AQCAtMTM2Miw2ICsxMzY0LDcgQEAgZXh0ZXJuIHZv aWQgc2V0X3R5cGVfdnB0cl9iYXNldHlwZSAoc3RydWN0IHR5cGUgKiwgc3RydWN0IHR5cGUgKik7 CitAQCAtMTQ1Myw2ICsxNDU1LDcgQEAgZXh0ZXJuIHZvaWQgc2V0X3R5cGVfdnB0cl9iYXNldHlw ZSAoc3RydWN0IHR5cGUgKiwgc3RydWN0IHR5cGUgKik7CiAgI2RlZmluZSBGSUVMRF9FTlVNVkFM X0xWQUwodGhpc2ZsZCkgKCh0aGlzZmxkKS5sb2MuZW51bXZhbCkKICAjZGVmaW5lIEZJRUxEX0VO VU1WQUwodGhpc2ZsZCkgKEZJRUxEX0VOVU1WQUxfTFZBTCAodGhpc2ZsZCkgKyAwKQogICNkZWZp bmUgRklFTERfU1RBVElDX1BIWVNOQU1FKHRoaXNmbGQpICgodGhpc2ZsZCkubG9jLnBoeXNuYW1l KQpAQCAtMzUsNyArMzUsNyBAQCBpbmRleCAxNzkyMzhjZTgyLi41NTk3MDM4MzU3IDEwMDY0NAog ICNkZWZpbmUgRklFTERfU1RBVElDX1BIWVNBRERSKHRoaXNmbGQpICgodGhpc2ZsZCkubG9jLnBo eXNhZGRyKQogICNkZWZpbmUgRklFTERfRFdBUkZfQkxPQ0sodGhpc2ZsZCkgKCh0aGlzZmxkKS5s b2MuZHdhcmZfYmxvY2spCiAgI2RlZmluZSBTRVRfRklFTERfQklUUE9TKHRoaXNmbGQsIGJpdHBv cykJCQlcCi1AQCAtMTM3Myw2ICsxMzc2LDcgQEAgZXh0ZXJuIHZvaWQgc2V0X3R5cGVfdnB0cl9i YXNldHlwZSAoc3RydWN0IHR5cGUgKiwgc3RydWN0IHR5cGUgKik7CitAQCAtMTQ2NCw2ICsxNDY3 LDcgQEAgZXh0ZXJuIHZvaWQgc2V0X3R5cGVfdnB0cl9iYXNldHlwZSAoc3RydWN0IHR5cGUgKiwg c3RydWN0IHR5cGUgKik7CiAgI2RlZmluZSBTRVRfRklFTERfUEhZU05BTUUodGhpc2ZsZCwgbmFt ZSkJCQlcCiAgICAoRklFTERfTE9DX0tJTkQgKHRoaXNmbGQpID0gRklFTERfTE9DX0tJTkRfUEhZ U05BTUUsCQlcCiAgICAgRklFTERfU1RBVElDX1BIWVNOQU1FICh0aGlzZmxkKSA9IChuYW1lKSkK QEAgLTQzLDcgKzQzLDcgQEAgaW5kZXggMTc5MjM4Y2U4Mi4uNTU5NzAzODM1NyAxMDA2NDQKICAj ZGVmaW5lIFNFVF9GSUVMRF9QSFlTQUREUih0aGlzZmxkLCBhZGRyKQkJCVwKICAgIChGSUVMRF9M T0NfS0lORCAodGhpc2ZsZCkgPSBGSUVMRF9MT0NfS0lORF9QSFlTQUREUiwJCVwKICAgICBGSUVM RF9TVEFUSUNfUEhZU0FERFIgKHRoaXNmbGQpID0gKGFkZHIpKQotQEAgLTEzODksNiArMTM5Myw3 IEBAIGV4dGVybiB2b2lkIHNldF90eXBlX3ZwdHJfYmFzZXR5cGUgKHN0cnVjdCB0eXBlICosIHN0 cnVjdCB0eXBlICopOworQEAgLTE0ODAsNiArMTQ4NCw3IEBAIGV4dGVybiB2b2lkIHNldF90eXBl X3ZwdHJfYmFzZXR5cGUgKHN0cnVjdCB0eXBlICosIHN0cnVjdCB0eXBlICopOwogICNkZWZpbmUg VFlQRV9GSUVMRF9CSVRQT1ModGhpc3R5cGUsIG4pIEZJRUxEX0JJVFBPUyAoVFlQRV9GSUVMRCAo dGhpc3R5cGUsIG4pKQogICNkZWZpbmUgVFlQRV9GSUVMRF9FTlVNVkFMKHRoaXN0eXBlLCBuKSBG SUVMRF9FTlVNVkFMIChUWVBFX0ZJRUxEICh0aGlzdHlwZSwgbikpCiAgI2RlZmluZSBUWVBFX0ZJ RUxEX1NUQVRJQ19QSFlTTkFNRSh0aGlzdHlwZSwgbikgRklFTERfU1RBVElDX1BIWVNOQU1FIChU WVBFX0ZJRUxEICh0aGlzdHlwZSwgbikpCkBAIC01MiwxMCArNTIsMTAgQEAgaW5kZXggMTc5MjM4 Y2U4Mi4uNTU5NzAzODM1NyAxMDA2NDQKICAjZGVmaW5lIFRZUEVfRklFTERfRFdBUkZfQkxPQ0so dGhpc3R5cGUsIG4pIEZJRUxEX0RXQVJGX0JMT0NLIChUWVBFX0ZJRUxEICh0aGlzdHlwZSwgbikp CiAgI2RlZmluZSBUWVBFX0ZJRUxEX0FSVElGSUNJQUwodGhpc3R5cGUsIG4pIEZJRUxEX0FSVElG SUNJQUwoVFlQRV9GSUVMRCh0aGlzdHlwZSxuKSkKIGRpZmYgLS1naXQgYS9nZGIvdmFsdWUuYyBi L2dkYi92YWx1ZS5jCi1pbmRleCBkNGI0NjczZjY2Li41NThkMGJiZDdhIDEwMDY0NAoraW5kZXgg YWE2Y2E0M2I0MS4uOThjMDYwYzY1ZiAxMDA2NDQKIC0tLSBhL2dkYi92YWx1ZS5jCiArKysgYi9n ZGIvdmFsdWUuYwotQEAgLTI5NjYsNyArMjk2Niw4IEBAIHZhbHVlX3N0YXRpY19maWVsZCAoc3Ry dWN0IHR5cGUgKnR5cGUsIGludCBmaWVsZG5vKQorQEAgLTI4MzAsNyArMjgzMCw4IEBAIHZhbHVl X3N0YXRpY19maWVsZCAoc3RydWN0IHR5cGUgKnR5cGUsIGludCBmaWVsZG5vKQogICAgICB7CiAg ICAgIGNhc2UgRklFTERfTE9DX0tJTkRfUEhZU0FERFI6CiAgICAgICAgcmV0dmFsID0gdmFsdWVf YXRfbGF6eSAoVFlQRV9GSUVMRF9UWVBFICh0eXBlLCBmaWVsZG5vKSwKCmRpZmYgLS1naXQgYS9n ZGItYXJjaGVyLXZsYS10ZXN0cy5wYXRjaCBiL2dkYi1hcmNoZXItdmxhLXRlc3RzLnBhdGNoCmlu ZGV4IDY0Mjc2MDQuLjdjM2E2NGMgMTAwNjQ0Ci0tLSBhL2dkYi1hcmNoZXItdmxhLXRlc3RzLnBh dGNoCisrKyBiL2dkYi1hcmNoZXItdmxhLXRlc3RzLnBhdGNoCkBAIC0zNjkyLDcgKzM2OTIsNyBA QCBuZXcgZmlsZSBtb2RlIDEwMDY0NAogKyAgd3JpdGVsbihzKTsgeyBzZXQgYnJlYWtwb2ludCAy IGhlcmUgfQogK2VuZC4KIGRpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRlL2xpYi9nZGIuZXhwIGIv Z2RiL3Rlc3RzdWl0ZS9saWIvZ2RiLmV4cAotaW5kZXggYTE2NWJmMDkzOC4uYTEzYWFmNzg2OSAx MDA2NDQKK2luZGV4IGJlY2RhNmEwMDEuLjA2N2JlNzBjN2EgMTAwNjQ0CiAtLS0gYS9nZGIvdGVz dHN1aXRlL2xpYi9nZGIuZXhwCiArKysgYi9nZGIvdGVzdHN1aXRlL2xpYi9nZGIuZXhwCiBAQCAt MTY5LDYgKzE2OSwxMSBAQCBwcm9jIGdkYl91bmxvYWQge30gewoKZGlmZiAtLWdpdCBhL2dkYi1h cmNoZXIucGF0Y2ggYi9nZGItYXJjaGVyLnBhdGNoCmluZGV4IGU2Y2EyZjIuLmM5MmQxYWQgMTAw NjQ0Ci0tLSBhL2dkYi1hcmNoZXIucGF0Y2gKKysrIGIvZ2RiLWFyY2hlci5wYXRjaApAQCAtMTcs MTAgKzE3LDEwIEBAIGNvbW1pdCA3MThhMTYxOGIyZjY5MWE3ZjQwNzIxM2JiNTBmMTAwYWM1OWY5 MWMzCiB0cm9tZXkvcHl0aG9uCiAKIGRpZmYgLS1naXQgYS9nZGIvTWFrZWZpbGUuaW4gYi9nZGIv TWFrZWZpbGUuaW4KLWluZGV4IDMxNDJhZDZhZjEuLjI4ZDg2NjQyMzYgMTAwNjQ0CitpbmRleCAx ZWE3YTM2YzY5Li5iNzY3Y2FhNzM1IDEwMDY0NAogLS0tIGEvZ2RiL01ha2VmaWxlLmluCiArKysg Yi9nZGIvTWFrZWZpbGUuaW4KLUBAIC0yMTEwLDYgKzIxMTAsMTIgQEAgc3RhbXAtaDogJChzcmNk aXIpL2NvbmZpZy5pbiBjb25maWcuc3RhdHVzCitAQCAtMjA5NCw2ICsyMDk0LDEyIEBAIHN0YW1w LWg6ICQoc3JjZGlyKS9jb25maWcuaW4gY29uZmlnLnN0YXR1cwogIAkgIENPTkZJR19MSU5LUz0g XAogIAkgICQoU0hFTEwpIGNvbmZpZy5zdGF0dXMKICAKQEAgLTU2LDcgKzU2LDcgQEAgaW5kZXgg NWM3YzBiNGMyZS4uMjAxNDYwN2U5ZSAxMDA2NDQKICAJZ2RiL3ByaW50ZXIvYm91bmRfcmVnaXN0 ZXJzLnB5CiAgCiBkaWZmIC0tZ2l0IGEvZ2RiL2RvYy9nZGIudGV4aW5mbyBiL2dkYi9kb2MvZ2Ri LnRleGluZm8KLWluZGV4IDdiOTlhZTE1NTEuLmRlYTE3ZmQ1YTcgMTAwNjQ0CitpbmRleCA0MDNm NWNhNjU4Li40Nzg4ZGQ5ZjBkIDEwMDY0NAogLS0tIGEvZ2RiL2RvYy9nZGIudGV4aW5mbwogKysr IGIvZ2RiL2RvYy9nZGIudGV4aW5mbwogQEAgLTEyNDUsNiArMTI0NSwxNiBAQCBmb3IgcmVtb3Rl IGRlYnVnZ2luZy4KQEAgLTc3LDcgKzc3LDcgQEAgaW5kZXggN2I5OWFlMTU1MS4uZGVhMTdmZDVh NyAxMDA2NDQKICBAaXRlbSAtdHVpCiAgQGNpbmRleCBAY29kZXstLXR1aX0KIGRpZmYgLS1naXQg YS9nZGIvZG9jL3B5dGhvbi50ZXhpIGIvZ2RiL2RvYy9weXRob24udGV4aQotaW5kZXggY2NmMDEx ZTM1ZS4uNDYxZTkwMGY3NyAxMDA2NDQKK2luZGV4IGZiMDc0ZmFmNDMuLjhkOGZiZmVhYTkgMTAw NjQ0CiAtLS0gYS9nZGIvZG9jL3B5dGhvbi50ZXhpCiArKysgYi9nZGIvZG9jL3B5dGhvbi50ZXhp CiBAQCAtODgsOCArODgsNiBAQCBjb250YWluaW5nIEBjb2Rle2VuZH0uICBGb3IgZXhhbXBsZToK QEAgLTExMCw3ICsxMTAsNyBAQCBpbmRleCAwNWEzOGIyNjcwLi45ODAxZmRmZjY3IDEwMDY0NAog ICAgc2V0IHZhcmlhYmxlICRnZGJfaW5pdF9kb25lID0gMQogIAogZGlmZiAtLWdpdCBhL2dkYi9t YWluLmMgYi9nZGIvbWFpbi5jCi1pbmRleCBiMDc5ZTc5YzkzLi5iMTUwYWY0ZTcwIDEwMDY0NAor aW5kZXggODRlNjEyNmFkNC4uODBkODRlYTI0NiAxMDA2NDQKIC0tLSBhL2dkYi9tYWluLmMKICsr KyBiL2dkYi9tYWluLmMKIEBAIC0zMyw2ICszMyw3IEBACkBAIC0xMjEsNyArMTIxLDcgQEAgaW5k ZXggYjA3OWU3OWM5My4uYjE1MGFmNGU3MCAxMDA2NDQKICAjaW5jbHVkZSAic291cmNlLmgiCiAg I2luY2x1ZGUgImNsaS9jbGktY21kcy5oIgogICNpbmNsdWRlICJvYmpmaWxlcy5oIgotQEAgLTQ3 OCw3ICs0NzksNyBAQCBleGVjX29yX2NvcmVfZmlsZV9hdHRhY2ggKGNvbnN0IGNoYXIgKmZpbGVu YW1lLCBpbnQgZnJvbV90dHkpCitAQCAtNDc5LDcgKzQ4MCw3IEBAIGV4ZWNfb3JfY29yZV9maWxl X2F0dGFjaCAoY29uc3QgY2hhciAqZmlsZW5hbWUsIGludCBmcm9tX3R0eSkKICB9CiAgCiAgc3Rh dGljIHZvaWQKQEAgLTEzMCw3ICsxMzAsNyBAQCBpbmRleCBiMDc5ZTc5YzkzLi5iMTUwYWY0ZTcw IDEwMDY0NAogIHsKICAgIGludCBhcmdjID0gY29udGV4dC0+YXJnYzsKICAgIGNoYXIgKiphcmd2 ID0gY29udGV4dC0+YXJndjsKLUBAIC02OTQsMTAgKzY5NSwxNCBAQCBjYXB0dXJlZF9tYWluXzEg KHN0cnVjdCBjYXB0dXJlZF9tYWluX2FyZ3MgKmNvbnRleHQpCitAQCAtNjk1LDEwICs2OTYsMTQg QEAgY2FwdHVyZWRfbWFpbl8xIChzdHJ1Y3QgY2FwdHVyZWRfbWFpbl9hcmdzICpjb250ZXh0KQog ICAgICAgIHsiYXJncyIsIG5vX2FyZ3VtZW50LCAmc2V0X2FyZ3MsIDF9LAogICAgICAgIHsibCIs IHJlcXVpcmVkX2FyZ3VtZW50LCAwLCAnbCd9LAogICAgICAgIHsicmV0dXJuLWNoaWxkLXJlc3Vs dCIsIG5vX2FyZ3VtZW50LCAmcmV0dXJuX2NoaWxkX3Jlc3VsdCwgMX0sCkBAIC0xNDYsNyArMTQ2 LDcgQEAgaW5kZXggYjA3OWU3OWM5My4uYjE1MGFmNGU3MCAxMDA2NDQKICAgICAgICB7CiAgCWlu dCBvcHRpb25faW5kZXg7CiAgCi1AQCAtNzE1LDYgKzcyMCw5IEBAIGNhcHR1cmVkX21haW5fMSAo c3RydWN0IGNhcHR1cmVkX21haW5fYXJncyAqY29udGV4dCkKK0BAIC03MTYsNiArNzIxLDkgQEAg Y2FwdHVyZWRfbWFpbl8xIChzdHJ1Y3QgY2FwdHVyZWRfbWFpbl9hcmdzICpjb250ZXh0KQogIAkg IGNhc2UgMDoKICAJICAgIC8qIExvbmcgb3B0aW9uIHRoYXQganVzdCBzZXRzIGEgZmxhZy4gICov CiAgCSAgICBicmVhazsKQEAgLTE1Niw3ICsxNTYsNyBAQCBpbmRleCBiMDc5ZTc5YzkzLi5iMTUw YWY0ZTcwIDEwMDY0NAogIAkgIGNhc2UgT1BUX1NFOgogIAkgICAgc3ltYXJnID0gb3B0YXJnOwog IAkgICAgZXhlY2FyZyA9IG9wdGFyZzsKLUBAIC04ODksNyArODk3LDMxIEBAIGNhcHR1cmVkX21h aW5fMSAoc3RydWN0IGNhcHR1cmVkX21haW5fYXJncyAqY29udGV4dCkKK0BAIC04OTAsNyArODk4 LDMxIEBAIGNhcHR1cmVkX21haW5fMSAoc3RydWN0IGNhcHR1cmVkX21haW5fYXJncyAqY29udGV4 dCkKICAKICAgIC8qIE5vdyB0aGF0IGdkYl9pbml0IGhhcyBjcmVhdGVkIHRoZSBpbml0aWFsIGlu ZmVyaW9yLCB3ZSdyZSBpbgogICAgICAgcG9zaXRpb24gdG8gc2V0IGFyZ3MgZm9yIHRoYXQgaW5m ZXJpb3IuICAqLwpAQCAtMTg5LDcgKzE4OSw3IEBAIGluZGV4IGIwNzllNzljOTMuLmIxNTBhZjRl NzAgMTAwNjQ0CiAgICAgIHsKICAgICAgICAvKiBUaGUgcmVtYWluaW5nIG9wdGlvbnMgYXJlIHRo ZSBjb21tYW5kLWxpbmUgb3B0aW9ucyBmb3IgdGhlCiAgCSBpbmZlcmlvci4gIFRoZSBmaXJzdCBv bmUgaXMgdGhlIHN5bS9leGVjIGZpbGUsIGFuZCB0aGUgcmVzdAotQEAgLTExNzksNyArMTIxMSw4 IEBAIGNhcHR1cmVkX21haW5fMSAoc3RydWN0IGNhcHR1cmVkX21haW5fYXJncyAqY29udGV4dCkK K0BAIC0xMTgwLDcgKzEyMTIsOCBAQCBjYXB0dXJlZF9tYWluXzEgKHN0cnVjdCBjYXB0dXJlZF9t YWluX2FyZ3MgKmNvbnRleHQpCiAgCiAgICAvKiBSZWFkIGluIHRoZSBvbGQgaGlzdG9yeSBhZnRl ciBhbGwgdGhlIGNvbW1hbmQgZmlsZXMgaGF2ZSBiZWVuCiAgICAgICByZWFkLiAgKi8KQEAgLTE5 OSw3ICsxOTksNyBAQCBpbmRleCBiMDc5ZTc5YzkzLi5iMTUwYWY0ZTcwIDEwMDY0NAogIAogICAg aWYgKGJhdGNoX2ZsYWcpCiAgICAgIHsKLUBAIC0xMTkyLDI0ICsxMjI1LDM3IEBAIHN0YXRpYyB2 b2lkCitAQCAtMTE5MywyNCArMTIyNiwzNyBAQCBzdGF0aWMgdm9pZAogIGNhcHR1cmVkX21haW4g KHZvaWQgKmRhdGEpCiAgewogICAgc3RydWN0IGNhcHR1cmVkX21haW5fYXJncyAqY29udGV4dCA9 IChzdHJ1Y3QgY2FwdHVyZWRfbWFpbl9hcmdzICopIGRhdGE7CkBAIC0yNTAsNyArMjUwLDcgQEAg aW5kZXggYjA3OWU3OWM5My4uYjE1MGFmNGU3MCAxMDA2NDQKICAgICAgfQogICAgLyogTm8gZXhp dCAtLSBleGl0IGlzIHRocm91Z2ggcXVpdF9jb21tYW5kLiAgKi8KICB9Ci1AQCAtMTI1Miw2ICsx Mjk4LDEyIEBAIHByaW50X2dkYl9oZWxwIChzdHJ1Y3QgdWlfZmlsZSAqc3RyZWFtKQorQEAgLTEy NTMsNiArMTI5OSwxMiBAQCBwcmludF9nZGJfaGVscCAoc3RydWN0IHVpX2ZpbGUgKnN0cmVhbSkK ICAgIGZwdXRzX3VuZmlsdGVyZWQgKF8oIlwKICBUaGlzIGlzIHRoZSBHTlUgZGVidWdnZXIuICBV c2FnZTpcblxuXAogICAgICBnZGIgW29wdGlvbnNdIFtleGVjdXRhYmxlLWZpbGUgW2NvcmUtZmls ZSBvciBwcm9jZXNzLWlkXV1cblwKQEAgLTI2Myw3ICsyNjMsNyBAQCBpbmRleCBiMDc5ZTc5Yzkz Li5iMTUwYWY0ZTcwIDEwMDY0NAogICAgICBnZGIgW29wdGlvbnNdIC0tYXJncyBleGVjdXRhYmxl LWZpbGUgW2luZmVyaW9yLWFyZ3VtZW50cyAuLi5dXG5cblwKICAiKSwgc3RyZWFtKTsKICAgIGZw dXRzX3VuZmlsdGVyZWQgKF8oIlwKLUBAIC0xMjk3LDYgKzEzNDksMTMgQEAgT3V0cHV0IGFuZCB1 c2VyIGludGVyZmFjZSBjb250cm9sOlxuXG5cCitAQCAtMTI5OCw2ICsxMzUwLDEzIEBAIE91dHB1 dCBhbmQgdXNlciBpbnRlcmZhY2UgY29udHJvbDpcblxuXAogICNlbmRpZgogICAgZnB1dHNfdW5m aWx0ZXJlZCAoXygiXAogICAgLS1kYnggICAgICAgICAgICAgIERCWCBjb21wYXRpYmlsaXR5IG1v ZGUuXG5cCkBAIC00NTgsMTAgKzQ1OCwxMCBAQCBuZXcgZmlsZSBtb2RlIDEwMDY0NAogKwogK0lu U2NvcGUgKCkKIGRpZmYgLS1naXQgYS9nZGIvcHl0aG9uL3B5dGhvbi1pbnRlcm5hbC5oIGIvZ2Ri L3B5dGhvbi9weXRob24taW50ZXJuYWwuaAotaW5kZXggODliYmM2OTg3Yi4uNjlkYmI2OWMwNiAx MDA2NDQKK2luZGV4IGI4ZTJkOTA0OWQuLmRlYjg3YzZhNzEgMTAwNjQ0CiAtLS0gYS9nZGIvcHl0 aG9uL3B5dGhvbi1pbnRlcm5hbC5oCiArKysgYi9nZGIvcHl0aG9uL3B5dGhvbi1pbnRlcm5hbC5o Ci1AQCAtNjU3LDYgKzY1Nyw5IEBAIGNsYXNzIGdkYnB5X2VudGVyX3Zhcm9iaiA6IHB1YmxpYyBn ZGJweV9lbnRlcgorQEAgLTY0MSw2ICs2NDEsOSBAQCBjbGFzcyBnZGJweV9lbnRlcl92YXJvYmog OiBwdWJsaWMgZ2RicHlfZW50ZXIKICAKICB9OwogIApAQCAtNDcyLDcgKzQ3Miw3IEBAIGluZGV4 IDg5YmJjNjk4N2IuLjY5ZGJiNjljMDYgMTAwNjQ0CiAgZXh0ZXJuIGNvbnN0IHN0cnVjdCBsYW5n dWFnZV9kZWZuICpweXRob25fbGFuZ3VhZ2U7CiAgCiBkaWZmIC0tZ2l0IGEvZ2RiL3B5dGhvbi9w eXRob24uYyBiL2dkYi9weXRob24vcHl0aG9uLmMKLWluZGV4IDYxMGRkYTgyOGMuLmRlNWZmYmQ3 MGIgMTAwNjQ0CitpbmRleCA0MjMzYjM3ZmE4Li5jYzRiNzEwZGY3IDEwMDY0NAogLS0tIGEvZ2Ri L3B5dGhvbi9weXRob24uYwogKysrIGIvZ2RiL3B5dGhvbi9weXRob24uYwogQEAgLTk1LDYgKzk1 LDggQEAgY29uc3Qgc3RydWN0IGV4dGVuc2lvbl9sYW5ndWFnZV9kZWZuIGV4dGVuc2lvbl9sYW5n dWFnZV9weXRob24gPQpAQCAtNDg0LDcgKzQ4NCw3IEBAIGluZGV4IDYxMGRkYTgyOGMuLmRlNWZm YmQ3MGIgMTAwNjQ0CiAgI2luY2x1ZGUgInRhcmdldC5oIgogICNpbmNsdWRlICJnZGJ0aHJlYWQu aCIKICAjaW5jbHVkZSAiaW50ZXJwcy5oIgotQEAgLTI0Miw2ICsyNDQsMjkgQEAgZ2RicHlfZW50 ZXI6On5nZGJweV9lbnRlciAoKQorQEAgLTIzNyw2ICsyMzksMjkgQEAgZ2RicHlfZW50ZXI6On5n ZGJweV9lbnRlciAoKQogICAgcmVzdG9yZV9hY3RpdmVfZXh0X2xhbmcgKG1fcHJldmlvdXNfYWN0 aXZlKTsKICB9CiAgCkBAIC01MTQsNyArNTE0LDcgQEAgaW5kZXggNjEwZGRhODI4Yy4uZGU1ZmZi ZDcwYiAxMDA2NDQKICAvKiBTZXQgdGhlIHF1aXQgZmxhZy4gICovCiAgCiAgc3RhdGljIHZvaWQK LUBAIC0xMzU2LDYgKzEzODEsOTIgQEAgZ2RicHlfcHJpbnRfc3RhY2sgKHZvaWQpCitAQCAtMTM2 Nyw2ICsxMzkyLDkyIEBAIGdkYnB5X3ByaW50X3N0YWNrICh2b2lkKQogIAogIC8qIFJldHVybiB0 aGUgY3VycmVudCBQcm9nc3BhY2UuCiAgICAgVGhlcmUgYWx3YXlzIGlzIG9uZS4gICovCkBAIC02 MDcsNyArNjA3LDcgQEAgaW5kZXggNjEwZGRhODI4Yy4uZGU1ZmZiZDcwYiAxMDA2NDQKICAKICBz dGF0aWMgUHlPYmplY3QgKgogIGdkYnB5X2dldF9jdXJyZW50X3Byb2dzcGFjZSAoUHlPYmplY3Qg KnVudXNlZDEsIFB5T2JqZWN0ICp1bnVzZWQyKQotQEAgLTIwMzQsNiArMjE0NSw4IEBAIFB5TWV0 aG9kRGVmIHB5dGhvbl9HZGJNZXRob2RzW10gPQorQEAgLTIwNDUsNiArMjE1Niw4IEBAIFB5TWV0 aG9kRGVmIHB5dGhvbl9HZGJNZXRob2RzW10gPQogIEV2YWx1YXRlIGNvbW1hbmQsIGEgc3RyaW5n LCBhcyBhIGdkYiBDTEkgY29tbWFuZC4gIE9wdGlvbmFsbHkgcmV0dXJuc1xuXAogIGEgUHl0aG9u IFN0cmluZyBjb250YWluaW5nIHRoZSBvdXRwdXQgb2YgdGhlIGNvbW1hbmQgaWYgdG9fc3RyaW5n IGlzXG5cCiAgc2V0IHRvIFRydWUuIiB9LApAQCAtNjY5LDEwICs2NjksMTAgQEAgaW5kZXggZWI4 MmE3Nzc2Zi4uMzA2OWE1YzZkNyAxMDA2NDQKICAjIFRlc3QgZWl0aGVyIEMgb3IgQysrIHZhbHVl cy4gCiAgCiBkaWZmIC0tZ2l0IGEvZ2RiL3Zhcm9iai5jIGIvZ2RiL3Zhcm9iai5jCi1pbmRleCAw MWRhYmVmMzdjLi5jMTk4NzMxZDBiIDEwMDY0NAoraW5kZXggYTBkZjQ4NWFlOS4uYWI4MjQ4YTc4 MSAxMDA2NDQKIC0tLSBhL2dkYi92YXJvYmouYwogKysrIGIvZ2RiL3Zhcm9iai5jCi1AQCAtMjE3 LDYgKzIxNywxNCBAQCBpc19yb290X3AgKGNvbnN0IHN0cnVjdCB2YXJvYmogKnZhcikKK0BAIC0y MTgsNiArMjE4LDE0IEBAIGlzX3Jvb3RfcCAoY29uc3Qgc3RydWN0IHZhcm9iaiAqdmFyKQogIH0K ICAKICAjaWZkZWYgSEFWRV9QWVRIT04KQEAgLTY4OCwxMCArNjg4LDEwIEBAIGluZGV4IDAxZGFi ZWYzN2MuLmMxOTg3MzFkMGIgMTAwNjQ0CiAgLyogU2VlIHB5dGhvbi1pbnRlcm5hbC5oLiAgKi8K ICBnZGJweV9lbnRlcl92YXJvYmo6OmdkYnB5X2VudGVyX3Zhcm9iaiAoY29uc3Qgc3RydWN0IHZh cm9iaiAqdmFyKQogZGlmZiAtLWdpdCBhL2dkYi92YXJvYmouaCBiL2dkYi92YXJvYmouaAotaW5k ZXggNmU4MGQxYjg5ZS4uNjc3NTQ3OTk2ZiAxMDA2NDQKK2luZGV4IDNhYmEwY2RhNjcuLjQyZGZh ZDgzZjggMTAwNjQ0CiAtLS0gYS9nZGIvdmFyb2JqLmgKICsrKyBiL2dkYi92YXJvYmouaAotQEAg LTMyNyw2ICszMjcsOCBAQCBleHRlcm4gYm9vbCB2YXJvYmpfaGFzX21vcmUgKGNvbnN0IHN0cnVj dCB2YXJvYmogKnZhciwgaW50IHRvKTsKK0BAIC0zMjgsNiArMzI4LDggQEAgZXh0ZXJuIGJvb2wg dmFyb2JqX2hhc19tb3JlIChjb25zdCBzdHJ1Y3QgdmFyb2JqICp2YXIsIGludCB0byk7CiAgCiAg ZXh0ZXJuIGJvb2wgdmFyb2JqX2lzX2R5bmFtaWNfcCAoY29uc3Qgc3RydWN0IHZhcm9iaiAqdmFy KTsKICAKCmRpZmYgLS1naXQgYS9nZGItYXR0YWNoLWZhaWwtcmVhc29ucy01b2Y1LnBhdGNoIGIv Z2RiLWF0dGFjaC1mYWlsLXJlYXNvbnMtNW9mNS5wYXRjaAppbmRleCA4ZTVkZmE2Li40NDNiYWE0 IDEwMDY0NAotLS0gYS9nZGItYXR0YWNoLWZhaWwtcmVhc29ucy01b2Y1LnBhdGNoCisrKyBiL2dk Yi1hdHRhY2gtZmFpbC1yZWFzb25zLTVvZjUucGF0Y2gKQEAgLTQ1LDEwICs0NSwxMCBAQCBnZGIv Z2Ric2VydmVyLwogCWRpcmVjdCBwdHJhY2UuCiAKIGRpZmYgLS1naXQgYS9nZGIvY29uZmlnLmlu IGIvZ2RiL2NvbmZpZy5pbgotaW5kZXggZWRkNzAyOGY3Ni4uNGRlM2U4NDJkMSAxMDA2NDQKK2lu ZGV4IDQwNGUwYmJkZGMuLjk3ZDJmN2Y1MTggMTAwNjQ0CiAtLS0gYS9nZGIvY29uZmlnLmluCiAr KysgYi9nZGIvY29uZmlnLmluCi1AQCAtMjcwLDYgKzI3MCw5IEBACitAQCAtMjc2LDYgKzI3Niw5 IEBACiAgLyogRGVmaW5lIGlmIGxpYnJwbSBsaWJyYXJ5IGlzIGJlaW5nIHVzZWQuICovCiAgI3Vu ZGVmIEhBVkVfTElCUlBNCiAgCkBAIC01OCw3ICs1OCw3IEBAIGluZGV4IGVkZDcwMjhmNzYuLjRk ZTNlODQyZDEgMTAwNjQ0CiAgLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIDxsaWJ1bndp bmQtaWE2NC5oPiBoZWFkZXIgZmlsZS4gKi8KICAjdW5kZWYgSEFWRV9MSUJVTldJTkRfSUE2NF9I CiAgCi1AQCAtMzkzLDYgKzM5Niw5IEBACitAQCAtMzk5LDYgKzQwMiw5IEBACiAgLyogRGVmaW5l IHRvIDEgaWYgeW91IGhhdmUgdGhlIGBzY21fbmV3X3Ntb2InIGZ1bmN0aW9uLiAqLwogICN1bmRl ZiBIQVZFX1NDTV9ORVdfU01PQgogIApAQCAtNjksMTAgKzY5LDEwIEBAIGluZGV4IGVkZDcwMjhm NzYuLjRkZTNlODQyZDEgMTAwNjQ0CiAgI3VuZGVmIEhBVkVfU0VUTE9DQUxFCiAgCiBkaWZmIC0t Z2l0IGEvZ2RiL2NvbmZpZ3VyZSBiL2dkYi9jb25maWd1cmUKLWluZGV4IDFjZWNkYmMzYjUuLjkw NGNjNDUzYWQgMTAwNzU1CitpbmRleCAzMGE2ZTg2ZmY4Li4zYjYwNGZlYjExIDEwMDc1NQogLS0t IGEvZ2RiL2NvbmZpZ3VyZQogKysrIGIvZ2RiL2NvbmZpZ3VyZQotQEAgLTE1NjgxLDYgKzE1Njgx LDY0IEBAIGNhdCA+PmNvbmZkZWZzLmggPDxfQUNFT0YKK0BAIC0xNTc0Nyw2ICsxNTc0Nyw2NCBA QCBjYXQgPj5jb25mZGVmcy5oIDw8X0FDRU9GCiAgX0FDRU9GCiAgCiAgCkBAIC0xMzgsMTAgKzEz OCwxMCBAQCBpbmRleCAxY2VjZGJjM2I1Li45MDRjYzQ1M2FkIDEwMDc1NQogICMgU3VwcG9ydCBm b3IgLS13aXRoLXN5c3Jvb3QgaXMgYSBjb3B5IG9mIEdEQl9BQ19XSVRIX0RJUiwKICAjIGV4Y2Vw dCB0aGF0IHRoZSBhcmd1bWVudCB0byAtLXdpdGgtc3lzcm9vdCBpcyBvcHRpb25hbC4KIGRpZmYg LS1naXQgYS9nZGIvY29uZmlndXJlLmFjIGIvZ2RiL2NvbmZpZ3VyZS5hYwotaW5kZXggZTIzMmMx YWRjYi4uMTU1Nzc2MGVkOCAxMDA2NDQKK2luZGV4IDM5YTc3N2Y2NDcuLmM3MDdlN2IxNTIgMTAw NjQ0CiAtLS0gYS9nZGIvY29uZmlndXJlLmFjCiArKysgYi9nZGIvY29uZmlndXJlLmFjCi1AQCAt MjA0Myw2ICsyMDQzLDEwIEBAIGNhc2UgJGhvc3Rfb3MgaW4KK0BAIC0yMDQ4LDYgKzIwNDgsMTAg QEAgY2FzZSAkaG9zdF9vcyBpbgogIGVzYWMKICBBQ19ERUZJTkVfVU5RVU9URUQoR0RCSU5JVCwi JGdkYmluaXQiLFtUaGUgLmdkYmluaXQgZmlsZW5hbWUuXSkKICAKQEAgLTE3NywxMCArMTc3LDEw IEBAIGluZGV4IGRkYTdjMWYxNTAuLmIyYTM0YjkyY2UgMTAwNjQ0CiAgI3VuZGVmIEhBVkVfU0VU TlMKICAKIGRpZmYgLS1naXQgYS9nZGIvZ2Ric2VydmVyL2NvbmZpZ3VyZSBiL2dkYi9nZGJzZXJ2 ZXIvY29uZmlndXJlCi1pbmRleCAzNDBjYTdhMTllLi42ZDdjOWIyMzI2IDEwMDc1NQoraW5kZXgg YjJlMmU4Zjk1NS4uMzI2OWJiZTU1MyAxMDA3NTUKIC0tLSBhL2dkYi9nZGJzZXJ2ZXIvY29uZmln dXJlCiArKysgYi9nZGIvZ2Ric2VydmVyL2NvbmZpZ3VyZQotQEAgLTg0NTUsNiArODQ1NSw2NCBA QCBpZiAkd2FudF9pcGEgOyB0aGVuCitAQCAtODQ2NSw2ICs4NDY1LDY0IEBAIGlmICR3YW50X2lw YSA7IHRoZW4KICAgICBmaQogIGZpCiAgCkBAIC0yNDYsNyArMjQ2LDcgQEAgaW5kZXggMzQwY2E3 YTE5ZS4uNmQ3YzliMjMyNiAxMDA3NTUKICAKICAKIGRpZmYgLS1naXQgYS9nZGIvZ2Ric2VydmVy L2NvbmZpZ3VyZS5hYyBiL2dkYi9nZGJzZXJ2ZXIvY29uZmlndXJlLmFjCi1pbmRleCA2NzI3OTU5 ZTYxLi43YzBmNTA4Mjc1IDEwMDY0NAoraW5kZXggOTk4MDE2ODFmZi4uNTZmMjg3OTdjYSAxMDA2 NDQKIC0tLSBhL2dkYi9nZGJzZXJ2ZXIvY29uZmlndXJlLmFjCiArKysgYi9nZGIvZ2Ric2VydmVy L2NvbmZpZ3VyZS5hYwogQEAgLTQ4OCw2ICs0ODgsMTAgQEAgaWYgJHdhbnRfaXBhIDsgdGhlbgpA QCAtMjYxLDI1ICsyNjEsMjAgQEAgaW5kZXggNjcyNzk1OWU2MS4uN2MwZjUwODI3NSAxMDA2NDQK ICBBQ19TVUJTVChHREJTRVJWRVJfTElCUykKICBBQ19TVUJTVChzcnZfeG1sYnVpbHRpbikKIGRp ZmYgLS1naXQgYS9nZGIvZ2Ric2VydmVyL2xpbnV4LWxvdy5jIGIvZ2RiL2dkYnNlcnZlci9saW51 eC1sb3cuYwotaW5kZXggY2ZiMmI1NmEwOC4uMGZhYWM4MDYyNSAxMDA2NDQKK2luZGV4IGU2NDk0 OTUwNGQuLjZiY2FmMzcwMGYgMTAwNjQ0CiAtLS0gYS9nZGIvZ2Ric2VydmVyL2xpbnV4LWxvdy5j CiArKysgYi9nZGIvZ2Ric2VydmVyL2xpbnV4LWxvdy5jCi1AQCAtOTYzLDcgKzk2MywyMSBAQCBs aW51eF9wdHJhY2VfZnVuICgpCitAQCAtOTY2LDcgKzk2NiwxNiBAQCBsaW51eF9wdHJhY2VfZnVu ICgpCiAgewogICAgaWYgKHB0cmFjZSAoUFRSQUNFX1RSQUNFTUUsIDAsIChQVFJBQ0VfVFlQRV9B UkczKSAwLAogIAkgICAgICAoUFRSQUNFX1RZUEVfQVJHNCkgMCkgPCAwKQogLSAgICB0cmFjZV9z dGFydF9lcnJvcl93aXRoX25hbWUgKCJwdHJhY2UiKTsKICsgICAgewogKyAgICAgIGludCBzYXZl X2Vycm5vID0gZXJybm87Ci0rICAgICAgc3RydWN0IGJ1ZmZlciBidWZmZXI7CiArCi0rICAgICAg YnVmZmVyX2luaXQgKCZidWZmZXIpOwotKyAgICAgIGxpbnV4X3B0cmFjZV9jcmVhdGVfd2Fybmlu Z3MgKCZidWZmZXIpOwotKyAgICAgIGJ1ZmZlcl9ncm93X3N0cjAgKCZidWZmZXIsICIiKTsKKysg ICAgICBzdGQ6OnN0cmluZyBtc2cgKGxpbnV4X3B0cmFjZV9jcmVhdGVfd2FybmluZ3MgKCkpOwog KwotKyAgICAgIHN0ZDo6c3RyaW5nIG1zZwotKwk9IHN0cmluZ19wcmludGYgKF8oIiVzQ2Fubm90 IHRyYWNlIGNyZWF0ZWQgcHJvY2VzcyIpLAotKwkJCSBidWZmZXJfZmluaXNoICgmYnVmZmVyKSk7 CisrICAgICAgbXNnICs9IF8oIkNhbm5vdCB0cmFjZSBjcmVhdGVkIHByb2Nlc3MiKTsKICsKICsg ICAgICBlcnJubyA9IHNhdmVfZXJybm87CiArICAgICAgdHJhY2Vfc3RhcnRfZXJyb3Jfd2l0aF9u YW1lIChtc2cuY19zdHIgKCkpOwpAQCAtMjg4LDQ1ICsyODMsMzMgQEAgaW5kZXggY2ZiMmI1NmEw OC4uMGZhYWM4MDYyNSAxMDA2NDQKICAgIGlmIChzZXRwZ2lkICgwLCAwKSA8IDApCiAgICAgIHRy YWNlX3N0YXJ0X2Vycm9yX3dpdGhfbmFtZSAoInNldHBnaWQiKTsKIGRpZmYgLS1naXQgYS9nZGIv bGludXgtbmF0LmMgYi9nZGIvbGludXgtbmF0LmMKLWluZGV4IGM0MWVhMzkxYTAuLjE1NzBhMmJj YjYgMTAwNjQ0CitpbmRleCA0NDViNTlmYTRhLi4wNTM0NDMxNmE3IDEwMDY0NAogLS0tIGEvZ2Ri L2xpbnV4LW5hdC5jCiArKysgYi9nZGIvbGludXgtbmF0LmMKLUBAIC0xMTI3LDcgKzExMjcsMjkg QEAgbGludXhfbmF0X2NyZWF0ZV9pbmZlcmlvciAoc3RydWN0IHRhcmdldF9vcHMgKm9wcywKK0BA IC0xMDg4LDcgKzEwODgsMTcgQEAgbGludXhfbmF0X3RhcmdldDo6Y3JlYXRlX2luZmVyaW9yIChj b25zdCBjaGFyICpleGVjX2ZpbGUsCiAgICAvKiBNYWtlIHN1cmUgd2UgcmVwb3J0IGFsbCBzaWdu YWxzIGR1cmluZyBzdGFydHVwLiAgKi8KLSAgIGxpbnV4X25hdF9wYXNzX3NpZ25hbHMgKG9wcywg MCwgTlVMTCk7CisgICBwYXNzX3NpZ25hbHMgKDAsIE5VTEwpOwogIAotLSAgbGludXhfb3BzLT50 b19jcmVhdGVfaW5mZXJpb3IgKG9wcywgZXhlY19maWxlLCBhbGxhcmdzLCBlbnYsIGZyb21fdHR5 KTsKLSsgIHZvbGF0aWxlIHN0cnVjdCBnZGJfZXhjZXB0aW9uIGV4OworLSAgaW5mX3B0cmFjZV90 YXJnZXQ6OmNyZWF0ZV9pbmZlcmlvciAoZXhlY19maWxlLCBhbGxhcmdzLCBlbnYsIGZyb21fdHR5 KTsKICsgIFRSWQogKyAgICB7Ci0rICAgICAgbGludXhfb3BzLT50b19jcmVhdGVfaW5mZXJpb3Ig KG9wcywgZXhlY19maWxlLCBhbGxhcmdzLCBlbnYsIGZyb21fdHR5KTsKKysgICAgICBpbmZfcHRy YWNlX3RhcmdldDo6Y3JlYXRlX2luZmVyaW9yIChleGVjX2ZpbGUsIGFsbGFyZ3MsIGVudiwgZnJv bV90dHkpOwogKyAgICB9CiArICBDQVRDSCAoZXgsIFJFVFVSTl9NQVNLX0VSUk9SKQogKyAgICB7 Ci0rICAgICAgc3RydWN0IGJ1ZmZlciBidWZmZXI7Ci0rICAgICAgY2hhciAqbWVzc2FnZSwgKmJ1 ZmZlcl9zOworKyAgICAgIHN0ZDo6c3RyaW5nIHJlc3VsdCA9ICBsaW51eF9wdHJhY2VfY3JlYXRl X3dhcm5pbmdzICgpOwogKwotKyAgICAgIG1lc3NhZ2UgPSB4c3RyZHVwIChleC5tZXNzYWdlKTsK LSsgICAgICBtYWtlX2NsZWFudXAgKHhmcmVlLCBtZXNzYWdlKTsKLSsKLSsgICAgICBidWZmZXJf aW5pdCAoJmJ1ZmZlcik7Ci0rICAgICAgbGludXhfcHRyYWNlX2NyZWF0ZV93YXJuaW5ncyAoJmJ1 ZmZlcik7Ci0rCi0rICAgICAgYnVmZmVyX2dyb3dfc3RyMCAoJmJ1ZmZlciwgIiIpOwotKyAgICAg IGJ1ZmZlcl9zID0gYnVmZmVyX2ZpbmlzaCAoJmJ1ZmZlcik7Ci0rICAgICAgbWFrZV9jbGVhbnVw ICh4ZnJlZSwgYnVmZmVyX3MpOwotKwotKyAgICAgIHRocm93X2Vycm9yIChleC5lcnJvciwgIiVz JXMiLCBidWZmZXJfcywgbWVzc2FnZSk7CisrICAgICAgdGhyb3dfZXJyb3IgKGV4LmVycm9yLCAi JXMlcyIsIHJlc3VsdC5jX3N0ciAoKSwgZXgubWVzc2FnZSk7CiArICAgIH0KICsgIEVORF9DQVRD SAogIH0KICAKICAvKiBDYWxsYmFjayBmb3IgbGludXhfcHJvY19hdHRhY2hfdGdpZF90aHJlYWRz LiAgQXR0YWNoIHRvIFBUSUQgaWYgbm90CiBkaWZmIC0tZ2l0IGEvZ2RiL25hdC9saW51eC1wdHJh Y2UuYyBiL2dkYi9uYXQvbGludXgtcHRyYWNlLmMKLWluZGV4IGFjNmJhNzIzOTAuLmJlNTFlMjQ0 OWIgMTAwNjQ0CitpbmRleCAxZjIxZWYwM2EzLi41M2M5YTBkZTE3IDEwMDY0NAogLS0tIGEvZ2Ri L25hdC9saW51eC1wdHJhY2UuYwogKysrIGIvZ2RiL25hdC9saW51eC1wdHJhY2UuYwotQEAgLTI3 LDYgKzI3LDEwIEBACitAQCAtMjUsNiArMjUsMTAgQEAKICAjaW5jbHVkZSA8c3lzL3Byb2Nmcy5o PgogICNlbmRpZgogIApAQCAtMzM3LDQ3ICszMjAsNTAgQEAgaW5kZXggYWM2YmE3MjM5MC4uYmU1 MWUyNDQ5YiAxMDA2NDQKICAvKiBTdG9yZXMgdGhlIHB0cmFjZSBvcHRpb25zIHN1cHBvcnRlZCBi eSB0aGUgcnVubmluZyBrZXJuZWwuCiAgICAgQSB2YWx1ZSBvZiAtMSBtZWFucyB3ZSBkaWQgbm90 IGNoZWNrIGZvciBmZWF0dXJlcyB5ZXQuICBBIHZhbHVlCiAgICAgb2YgMCBtZWFucyB0aGVyZSBh cmUgbm8gc3VwcG9ydGVkIGZlYXR1cmVzLiAgKi8KLUBAIC01MSw2ICs1NSw4IEBAIGxpbnV4X3B0 cmFjZV9hdHRhY2hfZmFpbF9yZWFzb24gKHBpZF90IHBpZCwgc3RydWN0IGJ1ZmZlciAqYnVmZmVy KQotICAgICBidWZmZXJfeG1sX3ByaW50ZiAoYnVmZmVyLCBfKCJwcm9jZXNzICVkIGlzIGEgem9t YmllICIKLSAJCQkJICItIHRoZSBwcm9jZXNzIGhhcyBhbHJlYWR5IHRlcm1pbmF0ZWQiKSwKLSAJ CSAgICAgICAoaW50KSBwaWQpOworQEAgLTUwLDYgKzU0LDggQEAgbGludXhfcHRyYWNlX2F0dGFj aF9mYWlsX3JlYXNvbiAocGlkX3QgcGlkKQorIAkJICAgICAgInRlcm1pbmF0ZWQiKSwKKyAJCSAg ICAoaW50KSBwaWQpOworIAorKyAgcmVzdWx0ICs9IGxpbnV4X3B0cmFjZV9jcmVhdGVfd2Fybmlu Z3MgKCk7CiArCi0rICBsaW51eF9wdHJhY2VfY3JlYXRlX3dhcm5pbmdzIChidWZmZXIpOworICAg cmV0dXJuIHJlc3VsdDsKICB9CiAgCi0gLyogU2VlIGxpbnV4LXB0cmFjZS5oLiAgKi8KLUBAIC01 OTQsNiArNjAwLDIyIEBAIGxpbnV4X3B0cmFjZV9pbml0X3dhcm5pbmdzICh2b2lkKQorQEAgLTU4 Myw2ICs1ODksMjUgQEAgbGludXhfcHRyYWNlX2luaXRfd2FybmluZ3MgKHZvaWQpCiAgICBsaW51 eF9wdHJhY2VfdGVzdF9yZXRfdG9fbnggKCk7CiAgfQogIAogKy8qIFByaW50IGFsbCBwb3NzaWJs ZSByZWFzb25zIHdlIGNvdWxkIGZhaWwgdG8gY3JlYXRlIGEgdHJhY2VkIHByb2Nlc3MuICAqLwog KwotK3ZvaWQKLStsaW51eF9wdHJhY2VfY3JlYXRlX3dhcm5pbmdzIChzdHJ1Y3QgYnVmZmVyICpi dWZmZXIpCisrc3RkOjpzdHJpbmcKKytsaW51eF9wdHJhY2VfY3JlYXRlX3dhcm5pbmdzICgpCiAr eworKyAgc3RkOjpzdHJpbmcgcmVzdWx0OworKwogKyNpZmRlZiBIQVZFX0xJQlNFTElOVVgKICsg IC8qIC0xIGlzIHJldHVybmVkIGZvciBlcnJvcnMsIDAgaWYgaXQgaGFzIG5vIGVmZmVjdCwgMSBp ZiBQVFJBQ0VfQVRUQUNIIGlzCiArICAgICBmb3JiaWRkZW4uICAqLwogKyAgaWYgKHNlY3VyaXR5 X2dldF9ib29sZWFuX2FjdGl2ZSAoImRlbnlfcHRyYWNlIikgPT0gMSkKLSsgICAgYnVmZmVyX3ht bF9wcmludGYgKGJ1ZmZlciwKLSsJCSAgICAgICBfKCJ0aGUgU0VMaW51eCBib29sZWFuICdkZW55 X3B0cmFjZScgaXMgZW5hYmxlZCwgIgotKwkJCSAieW91IGNhbiBkaXNhYmxlIHRoaXMgcHJvY2Vz cyBhdHRhY2ggcHJvdGVjdGlvbiBieTogIgotKwkJCSAiKGdkYikgc2hlbGwgc3VkbyBzZXRzZWJv b2wgZGVueV9wdHJhY2U9MCIpKTsKKysgICAgc3RyaW5nX2FwcGVuZGYgKHJlc3VsdCwKKysJCSAg ICBfKCJ0aGUgU0VMaW51eCBib29sZWFuICdkZW55X3B0cmFjZScgaXMgZW5hYmxlZCwgIgorKwkJ ICAgICAgInlvdSBjYW4gZGlzYWJsZSB0aGlzIHByb2Nlc3MgYXR0YWNoIHByb3RlY3Rpb24gYnk6 ICIKKysJCSAgICAgICIoZ2RiKSBzaGVsbCBzdWRvIHNldHNlYm9vbCBkZW55X3B0cmFjZT0wXG4i KSk7CiArI2VuZGlmIC8qIEhBVkVfTElCU0VMSU5VWCAqLworKyAgcmV0dXJuIHJlc3VsdDsKICt9 CiArCiAgLyogRXh0cmFjdCBleHRlbmRlZCBwdHJhY2UgZXZlbnQgZnJvbSB3YWl0IHN0YXR1cy4g ICovCiAgCiAgaW50CiBkaWZmIC0tZ2l0IGEvZ2RiL25hdC9saW51eC1wdHJhY2UuaCBiL2dkYi9u YXQvbGludXgtcHRyYWNlLmgKLWluZGV4IDFmOTYwZWQxMzIuLjg0OTEyZjkwOWMgMTAwNjQ0Citp bmRleCBkYzE4MGZiZjgyLi4zMmUzZDMzYmM4IDEwMDY0NAogLS0tIGEvZ2RiL25hdC9saW51eC1w dHJhY2UuaAogKysrIGIvZ2RiL25hdC9saW51eC1wdHJhY2UuaAotQEAgLTE5MCw2ICsxOTAsNyBA QCBleHRlcm4gdm9pZCBsaW51eF9wdHJhY2VfYXR0YWNoX2ZhaWxfcmVhc29uIChwaWRfdCBwaWQs IHN0cnVjdCBidWZmZXIgKmJ1ZmZlcik7Ci0gZXh0ZXJuIGNoYXIgKmxpbnV4X3B0cmFjZV9hdHRh Y2hfZmFpbF9yZWFzb25fc3RyaW5nIChwdGlkX3QgcHRpZCwgaW50IGVycik7CitAQCAtMTg5LDYg KzE4OSw3IEBAIGV4dGVybiBzdGQ6OnN0cmluZyBsaW51eF9wdHJhY2VfYXR0YWNoX2ZhaWxfcmVh c29uIChwaWRfdCBwaWQpOworIGV4dGVybiBzdGQ6OnN0cmluZyBsaW51eF9wdHJhY2VfYXR0YWNo X2ZhaWxfcmVhc29uX3N0cmluZyAocHRpZF90IHB0aWQsIGludCBlcnIpOwogIAogIGV4dGVybiB2 b2lkIGxpbnV4X3B0cmFjZV9pbml0X3dhcm5pbmdzICh2b2lkKTsKLStleHRlcm4gdm9pZCBsaW51 eF9wdHJhY2VfY3JlYXRlX3dhcm5pbmdzIChzdHJ1Y3QgYnVmZmVyICpidWZmZXIpOworK2V4dGVy biBzdGQ6OnN0cmluZyBsaW51eF9wdHJhY2VfY3JlYXRlX3dhcm5pbmdzICgpOwogIGV4dGVybiB2 b2lkIGxpbnV4X2NoZWNrX3B0cmFjZV9mZWF0dXJlcyAodm9pZCk7CiAgZXh0ZXJuIHZvaWQgbGlu dXhfZW5hYmxlX2V2ZW50X3JlcG9ydGluZyAocGlkX3QgcGlkLCBpbnQgYXR0YWNoZWQpOwogIGV4 dGVybiB2b2lkIGxpbnV4X2Rpc2FibGVfZXZlbnRfcmVwb3J0aW5nIChwaWRfdCBwaWQpOwoKZGlm ZiAtLWdpdCBhL2dkYi1idHJvYnVzdC5wYXRjaCBiL2dkYi1idHJvYnVzdC5wYXRjaAppbmRleCA5 OTgzZTk5Li4yYjEwNDRkIDEwMDY0NAotLS0gYS9nZGItYnRyb2J1c3QucGF0Y2gKKysrIGIvZ2Ri LWJ0cm9idXN0LnBhdGNoCkBAIC0xNCwxMCArMTQsMTAgQEAgcHJpbnRlZCwgYnV0IGEgZGVmYXVs dCBiYWNrdHJhY2Ugd2lsbCBvY2N1ciBpbiB0aGlzIGNhc2UuCiAtLQogCiBkaWZmIC0tZ2l0IGEv Z2RiL3B5dGhvbi9weS1mcmFtZWZpbHRlci5jIGIvZ2RiL3B5dGhvbi9weS1mcmFtZWZpbHRlci5j Ci1pbmRleCBlODg3ODQ5YzM2Li5hOGU0ZjQ5ZWI1IDEwMDY0NAoraW5kZXggNGVkZWZkNDhmOS4u YWY1ZmNhZTY1NCAxMDA2NDQKIC0tLSBhL2dkYi9weXRob24vcHktZnJhbWVmaWx0ZXIuYwogKysr IGIvZ2RiL3B5dGhvbi9weS1mcmFtZWZpbHRlci5jCi1AQCAtMTM4OCw2ICsxMzg4LDcgQEAgZ2Ri cHlfYXBwbHlfZnJhbWVfZmlsdGVyIChjb25zdCBzdHJ1Y3QgZXh0ZW5zaW9uX2xhbmd1YWdlX2Rl Zm4gKmV4dGxhbmcsCitAQCAtMTE1MSw2ICsxMTUxLDcgQEAgZ2RicHlfYXBwbHlfZnJhbWVfZmls dGVyIChjb25zdCBzdHJ1Y3QgZXh0ZW5zaW9uX2xhbmd1YWdlX2RlZm4gKmV4dGxhbmcsCiAgCQkJ CSAgICAgICBodGFiX2VxX3BvaW50ZXIsCiAgCQkJCSAgICAgICBOVUxMKSk7CiAgCkBAIC0yNSwx OSArMjUsMjMgQEAgaW5kZXggZTg4Nzg0OWMzNi4uYThlNGY0OWViNSAxMDA2NDQKICAgIHdoaWxl ICh0cnVlKQogICAgICB7CiAgICAgICAgZ2RicHlfcmVmPD4gaXRlbSAoUHlJdGVyX05leHQgKGl0 ZXJhYmxlLmdldCAoKSkpOwotQEAgLTEzOTcsNyArMTM5OCw3IEBAIGdkYnB5X2FwcGx5X2ZyYW1l X2ZpbHRlciAoY29uc3Qgc3RydWN0IGV4dGVuc2lvbl9sYW5ndWFnZV9kZWZuICpleHRsYW5nLAor QEAgLTExNTksOCArMTE2MCw4IEBAIGdkYnB5X2FwcGx5X2ZyYW1lX2ZpbHRlciAoY29uc3Qgc3Ry dWN0IGV4dGVuc2lvbl9sYW5ndWFnZV9kZWZuICpleHRsYW5nLAorIAl7CiAgCSAgaWYgKFB5RXJy X09jY3VycmVkICgpKQogIAkgICAgewotIAkgICAgICBnZGJweV9wcmludF9zdGFjayAoKTsKKy0J ICAgICAgdGhyb3dfcXVpdF9vcl9wcmludF9leGNlcHRpb24gKCk7CiAtCSAgICAgIHJldHVybiBF WFRfTEFOR19CVF9FUlJPUjsKKysJICAgICAgZ2RicHlfcHJpbnRfc3RhY2sgKCk7CiArCSAgICAg IHJldHVybiBjb3VudF9wcmludGVkID4gMCA/IEVYVF9MQU5HX0JUX0VSUk9SIDogRVhUX0xBTkdf QlRfTk9fRklMVEVSUzsKICAJICAgIH0KICAJICBicmVhazsKICAJfQotQEAgLTE0MDksNiArMTQx MCw3IEBAIGdkYnB5X2FwcGx5X2ZyYW1lX2ZpbHRlciAoY29uc3Qgc3RydWN0IGV4dGVuc2lvbl9s YW5ndWFnZV9kZWZuICpleHRsYW5nLAorQEAgLTExOTMsNyArMTE5NCw4IEBAIGdkYnB5X2FwcGx5 X2ZyYW1lX2ZpbHRlciAoY29uc3Qgc3RydWN0IGV4dGVuc2lvbl9sYW5ndWFnZV9kZWZuICpleHRs YW5nLAorICAgICAgIC8qIERvIG5vdCBleGl0IG9uIGVycm9yIHByaW50aW5nIGEgc2luZ2xlIGZy YW1lLiAgUHJpbnQgdGhlCiAgCSBlcnJvciBhbmQgY29udGludWUgd2l0aCBvdGhlciBmcmFtZXMu ICAqLwogICAgICAgIGlmIChzdWNjZXNzID09IEVYVF9MQU5HX0JUX0VSUk9SKQotIAlnZGJweV9w cmludF9zdGFjayAoKTsKKy0JdGhyb3dfcXVpdF9vcl9wcmludF9leGNlcHRpb24gKCk7CisrCWdk YnB5X3ByaW50X3N0YWNrICgpOwogKyAgICAgIGNvdW50X3ByaW50ZWQrKzsKICAgICAgfQogIAoK ZGlmZiAtLWdpdCBhL2dkYi1iejEyMTk3NDctYXR0YWNoLWtpbGxzLnBhdGNoIGIvZ2RiLWJ6MTIx OTc0Ny1hdHRhY2gta2lsbHMucGF0Y2gKaW5kZXggODQ2ZjQ5MC4uNjZhMGIzYiAxMDA2NDQKLS0t IGEvZ2RiLWJ6MTIxOTc0Ny1hdHRhY2gta2lsbHMucGF0Y2gKKysrIGIvZ2RiLWJ6MTIxOTc0Ny1h dHRhY2gta2lsbHMucGF0Y2gKQEAgLTgwLDEwICs4MCwxMCBAQCBnZGIvdGVzdHN1aXRlL0NoYW5n ZUxvZwogCSogZ2RiLmJhc2UvYXR0YWNoLWtpbGxzLmV4cDogTmV3LgogCiBkaWZmIC0tZ2l0IGEv Z2RiL21haW4uYyBiL2dkYi9tYWluLmMKLWluZGV4IDE3ZDM1ZjRhOGEuLmIwNzllNzljOTMgMTAw NjQ0CitpbmRleCA0Y2FlZmUyMDExLi44NGU2MTI2YWQ0IDEwMDY0NAogLS0tIGEvZ2RiL21haW4u YwogKysrIGIvZ2RiL21haW4uYwotQEAgLTExMTQsNyArMTExNCwxMCBAQCBjYXB0dXJlZF9tYWlu XzEgKHN0cnVjdCBjYXB0dXJlZF9tYWluX2FyZ3MgKmNvbnRleHQpCitAQCAtMTExNSw3ICsxMTE1 LDEwIEBAIGNhcHR1cmVkX21haW5fMSAoc3RydWN0IGNhcHR1cmVkX21haW5fYXJncyAqY29udGV4 dCkKICAgICAgICBpZiAoaXNkaWdpdCAocGlkX29yX2NvcmVfYXJnWzBdKSkKICAJewogIAkgIGlm IChjYXRjaF9jb21tYW5kX2Vycm9ycyAoYXR0YWNoX2NvbW1hbmQsIHBpZF9vcl9jb3JlX2FyZywK CmRpZmYgLS1naXQgYS9nZGItYno1MzMxNzYtZm9ydHJhbi1vbXAtc3RlcC5wYXRjaCBiL2dkYi1i ejUzMzE3Ni1mb3J0cmFuLW9tcC1zdGVwLnBhdGNoCmluZGV4IDIwNjRiYWYuLjg2NDc5Y2QgMTAw NjQ0Ci0tLSBhL2dkYi1iejUzMzE3Ni1mb3J0cmFuLW9tcC1zdGVwLnBhdGNoCisrKyBiL2dkYi1i ejUzMzE3Ni1mb3J0cmFuLW9tcC1zdGVwLnBhdGNoCkBAIC0zMCwxMCArMzAsMTAgQEAgdGhyZWFk cyBuZWVkIHRvIGdldCBzeW5jaHJvbml6ZWQgYXQgc29tZSBwb2ludC4gIFRoaXMgaXMgYSBtb3Jl IGdlbmVyYWwKIGRlYnVnZ2luZyBwcm9ibGVtIG9mIEdPTVAgb3V0c2lkZSBvZiB0aGUgc2NvcGUg b2YgdGhpcyBCdWcuCiAKIGRpZmYgLS1naXQgYS9nZGIvaW5mcnVuLmMgYi9nZGIvaW5mcnVuLmMK LWluZGV4IDFkMGY3MzE5NTQuLmRjZjAyMmJkNTAgMTAwNjQ0CitpbmRleCA3OGZmYzEwYjIzLi40 NDNlMjEyM2YwIDEwMDY0NAogLS0tIGEvZ2RiL2luZnJ1bi5jCiArKysgYi9nZGIvaW5mcnVuLmMK LUBAIC02NjkwLDYgKzY2OTAsMTYgQEAgcHJvY2Vzc19ldmVudF9zdG9wX3Rlc3QgKHN0cnVjdCBl eGVjdXRpb25fY29udHJvbF9zdGF0ZSAqZWNzKQorQEAgLTY2OTksNiArNjY5OSwxNiBAQCBwcm9j ZXNzX2V2ZW50X3N0b3BfdGVzdCAoc3RydWN0IGV4ZWN1dGlvbl9jb250cm9sX3N0YXRlICplY3Mp CiAgCiAgICAgICAgaWYgKGVjcy0+ZXZlbnRfdGhyZWFkLT5jb250cm9sLnN0ZXBfb3Zlcl9jYWxs cyA9PSBTVEVQX09WRVJfQUxMKQogIAl7CkBAIC01MCw3ICs1MCw3IEBAIGluZGV4IDFkMGY3MzE5 NTQuLmRjZjAyMmJkNTAgMTAwNjQ0CiAgCSAgLyogV2UncmUgZG9pbmcgYSAibmV4dCIuCiAgCiAg CSAgICAgTm9ybWFsIChmb3J3YXJkKSBleGVjdXRpb246IHNldCBhIGJyZWFrcG9pbnQgYXQgdGhl Ci1AQCAtNjcyMyw2ICs2NzMzLDcgQEAgcHJvY2Vzc19ldmVudF9zdG9wX3Rlc3QgKHN0cnVjdCBl eGVjdXRpb25fY29udHJvbF9zdGF0ZSAqZWNzKQorQEAgLTY3MzIsNiArNjc0Miw3IEBAIHByb2Nl c3NfZXZlbnRfc3RvcF90ZXN0IChzdHJ1Y3QgZXhlY3V0aW9uX2NvbnRyb2xfc3RhdGUgKmVjcykK ICAKICAJICBrZWVwX2dvaW5nIChlY3MpOwogIAkgIHJldHVybjsKCmRpZmYgLS1naXQgYS9nZGIt Yno1NDE4NjYtcndhdGNoLWJlZm9yZS1ydW4ucGF0Y2ggYi9nZGItYno1NDE4NjYtcndhdGNoLWJl Zm9yZS1ydW4ucGF0Y2gKaW5kZXggZTkyYTc3NS4uZTc0MGM3MSAxMDA2NDQKLS0tIGEvZ2RiLWJ6 NTQxODY2LXJ3YXRjaC1iZWZvcmUtcnVuLnBhdGNoCisrKyBiL2dkYi1iejU0MTg2Ni1yd2F0Y2gt YmVmb3JlLXJ1bi5wYXRjaApAQCAtMTAsMTAgKzEwLDEwIEBAIEZpbGVOYW1lOiBnZGItYno1NDE4 NjYtcndhdGNoLWJlZm9yZS1ydW4ucGF0Y2gKIDs7PXB1c2gramFuOiBJdCBzaG91bGQgYmUgZml4 ZWQgcHJvcGVybHkgaW5zdGVhZC4KIAogZGlmZiAtLWdpdCBhL2dkYi9icmVha3BvaW50LmMgYi9n ZGIvYnJlYWtwb2ludC5jCi1pbmRleCA4MTQ4MDJhMGExLi41YTk5ZGU3NWUxIDEwMDY0NAoraW5k ZXggYTA0YjExODNiNy4uMzA1YmIzZjZjMCAxMDA2NDQKIC0tLSBhL2dkYi9icmVha3BvaW50LmMK ICsrKyBiL2dkYi9icmVha3BvaW50LmMKLUBAIC04ODY0LDcgKzg4NjQsNyBAQCBpbml0X2JyZWFr cG9pbnRfc2FsIChzdHJ1Y3QgYnJlYWtwb2ludCAqYiwgc3RydWN0IGdkYmFyY2ggKmdkYmFyY2gs CitAQCAtODgwOCw3ICs4ODA4LDcgQEAgaW5pdF9icmVha3BvaW50X3NhbCAoc3RydWN0IGJyZWFr cG9pbnQgKmIsIHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoLAogIAkJICAgICBpbnQgZW5hYmxlZCwg aW50IGludGVybmFsLCB1bnNpZ25lZCBmbGFncywKICAJCSAgICAgaW50IGRpc3BsYXlfY2Fub25p Y2FsKQogIHsKQEAgLTIyLDcgKzIyLDcgQEAgaW5kZXggODE0ODAyYTBhMS4uNWE5OWRlNzVlMSAx MDA2NDQKICAKICAgIGlmICh0eXBlID09IGJwX2hhcmR3YXJlX2JyZWFrcG9pbnQpCiAgICAgIHsK LUBAIC0xNDQyNSw3ICsxNDQyNSw3IEBAIGVuYWJsZV9icmVha3BvaW50X2Rpc3AgKHN0cnVjdCBi cmVha3BvaW50ICpicHQsIGVudW0gYnBkaXNwIGRpc3Bvc2l0aW9uLAorQEAgLTE0MzQ1LDcgKzE0 MzQ1LDcgQEAgZW5hYmxlX2JyZWFrcG9pbnRfZGlzcCAoc3RydWN0IGJyZWFrcG9pbnQgKmJwdCwg ZW51bSBicGRpc3AgZGlzcG9zaXRpb24sCiAgCiAgICBpZiAoYnB0LT50eXBlID09IGJwX2hhcmR3 YXJlX2JyZWFrcG9pbnQpCiAgICAgIHsKQEAgLTk4LDcgKzk4LDcgQEAgbmV3IGZpbGUgbW9kZSAx MDA2NDQKICsKICsjZW5kaWYgLyogTk1fTElOVVg2NF9IICovCiBkaWZmIC0tZ2l0IGEvZ2RiL2Nv bmZpZ3VyZS5uYXQgYi9nZGIvY29uZmlndXJlLm5hdAotaW5kZXggOGUxNDg5MjcyMi4uNmRiYjA3 MjA1NCAxMDA2NDQKK2luZGV4IDZiMGY0NGZlZGUuLmRkMGM2M2MyNTYgMTAwNjQ0CiAtLS0gYS9n ZGIvY29uZmlndXJlLm5hdAogKysrIGIvZ2RiL2NvbmZpZ3VyZS5uYXQKIEBAIC0yMzcsNiArMjM3 LDcgQEAgY2FzZSAke2dkYl9ob3N0fSBpbgpAQCAtMTE4LDE2ICsxMTgsMTYgQEAgaW5kZXggOGUx NDg5MjcyMi4uNmRiYjA3MjA1NCAxMDA2NDQKICAJCWFtZDY0LW5hdC5vIGFtZDY0LWxpbnV4LW5h dC5vIHg4Ni1saW51eC1uYXQubyBsaW51eC1idHJhY2UubyBcCiAgCQl4ODYtbGludXgubyB4ODYt bGludXgtZHJlZ3MubyBhbWQ2NC1saW51eC1zaWdpbmZvLm8iCiBkaWZmIC0tZ2l0IGEvZ2RiL3Rh cmdldC5oIGIvZ2RiL3RhcmdldC5oCi1pbmRleCA0NzgxZmJjNTljLi5lM2EyODgyZmU1IDEwMDY0 NAoraW5kZXggZTJkMWU2MWNkYy4uNmUxMzgwOTM5NyAxMDA2NDQKIC0tLSBhL2dkYi90YXJnZXQu aAogKysrIGIvZ2RiL3RhcmdldC5oCi1AQCAtMTkxNSw5ICsxOTE1LDExIEBAIGV4dGVybiBzdHJ1 Y3QgdGhyZWFkX2luZm8gKnRhcmdldF90aHJlYWRfaGFuZGxlX3RvX3RocmVhZF9pbmZvCitAQCAt MTkwOCw5ICsxOTA4LDExIEBAIGV4dGVybiBzdHJ1Y3QgdGhyZWFkX2luZm8gKnRhcmdldF90aHJl YWRfaGFuZGxlX3RvX3RocmVhZF9pbmZvCiAgICAgb25lLiAgT1RIRVJUWVBFIGlzIHRoZSBudW1i ZXIgb2Ygd2F0Y2hwb2ludHMgb2Ygb3RoZXIgdHlwZXMgdGhhbgogICAgIHRoaXMgb25lIHVzZWQg c28gZmFyLiAgKi8KICAKICsjaWZuZGVmIHRhcmdldF9jYW5fdXNlX2hhcmR3YXJlX3dhdGNocG9p bnQKICAjZGVmaW5lIHRhcmdldF9jYW5fdXNlX2hhcmR3YXJlX3dhdGNocG9pbnQoVFlQRSxDTlQs T1RIRVJUWVBFKSBcCi0gICgqY3VycmVudF90YXJnZXQudG9fY2FuX3VzZV9od19icmVha3BvaW50 KSAoJmN1cnJlbnRfdGFyZ2V0LCAgXAorICAodGFyZ2V0X3N0YWNrLT5jYW5fdXNlX2h3X2JyZWFr cG9pbnQpICggXAogIAkJCQkJICAgICBUWVBFLCBDTlQsIE9USEVSVFlQRSkKICsjZW5kaWYKICAK CmRpZmYgLS1naXQgYS9nZGItYno1NjgyNDgtb29tLWlzLWVycm9yLnBhdGNoIGIvZ2RiLWJ6NTY4 MjQ4LW9vbS1pcy1lcnJvci5wYXRjaAppbmRleCBlMGQ1ZjJmLi4xNjFkNjIxIDEwMDY0NAotLS0g YS9nZGItYno1NjgyNDgtb29tLWlzLWVycm9yLnBhdGNoCisrKyBiL2dkYi1iejU2ODI0OC1vb20t aXMtZXJyb3IucGF0Y2gKQEAgLTUzLDEwICs1MywxMCBAQCBnZGIvCiAJKiB1dGlscy5jIChub21l bSk6IENoYW5nZSBpbnRlcm5hbF9lcnJvciB0byBlcnJvci4KIAogZGlmZiAtLWdpdCBhL2dkYi91 dGlscy5jIGIvZ2RiL3V0aWxzLmMKLWluZGV4IGM1MzE3NDhmZTQuLjAwNjZiZmNjNGIgMTAwNjQ0 CitpbmRleCA5YzViZjY4ZTVhLi43ODEzZGYxNDM2IDEwMDY0NAogLS0tIGEvZ2RiL3V0aWxzLmMK ICsrKyBiL2dkYi91dGlscy5jCi1AQCAtNzc0LDEzICs3NzQsMTEgQEAgbWFsbG9jX2ZhaWx1cmUg KGxvbmcgc2l6ZSkKK0BAIC03NDYsMTMgKzc0NiwxMSBAQCBtYWxsb2NfZmFpbHVyZSAobG9uZyBz aXplKQogIHsKICAgIGlmIChzaXplID4gMCkKICAgICAgewoKZGlmZiAtLWdpdCBhL2dkYi1jb250 YWluZXItcmgtcGtnLnBhdGNoIGIvZ2RiLWNvbnRhaW5lci1yaC1wa2cucGF0Y2gKaW5kZXggMmY3 ZmVkYy4uOTllZmUwMCAxMDA2NDQKLS0tIGEvZ2RiLWNvbnRhaW5lci1yaC1wa2cucGF0Y2gKKysr IGIvZ2RiLWNvbnRhaW5lci1yaC1wa2cucGF0Y2gKQEAgLTksMTAgKzksMTAgQEAgRmlsZU5hbWU6 IGdkYi1jb250YWluZXItcmgtcGtnLnBhdGNoCiA7Oz1mZWRvcmEKIAogZGlmZiAtLWdpdCBhL2dk Yi9yZW1vdGUuYyBiL2dkYi9yZW1vdGUuYwotaW5kZXggODY3NzdmMWU1ZS4uZmMwMDNjMDczNiAx MDA2NDQKK2luZGV4IDYzNWNiMjY2ZTguLmE2ODNkZjRhODMgMTAwNjQ0CiAtLS0gYS9nZGIvcmVt b3RlLmMKICsrKyBiL2dkYi9yZW1vdGUuYwotQEAgLTEzNDM3LDcgKzEzNDM3LDE3IEBAIHJlbW90 ZV9waWRfdG9fZXhlY19maWxlIChzdHJ1Y3QgdGFyZ2V0X29wcyAqc2VsZiwgaW50IHBpZCkKK0BA IC0xMzY2Nyw3ICsxMzY2NywxNyBAQCByZW1vdGVfdGFyZ2V0OjpwaWRfdG9fZXhlY19maWxlIChp bnQgcGlkKQogICAgY2hhciAqYW5uZXggPSBOVUxMOwogIAogICAgaWYgKHBhY2tldF9zdXBwb3J0 IChQQUNLRVRfcVhmZXJfZXhlY19maWxlKSAhPSBQQUNLRVRfRU5BQkxFKQoKZGlmZiAtLWdpdCBh L2dkYi1mZWRvcmEtbGlibmN1cnNlc3cucGF0Y2ggYi9nZGItZmVkb3JhLWxpYm5jdXJzZXN3LnBh dGNoCmluZGV4IGJjMWM4ZDAuLjFiZDE5NWIgMTAwNjQ0Ci0tLSBhL2dkYi1mZWRvcmEtbGlibmN1 cnNlc3cucGF0Y2gKKysrIGIvZ2RiLWZlZG9yYS1saWJuY3Vyc2Vzdy5wYXRjaApAQCAtMTIsMTAg KzEyLDEwIEBAIEZlZG9yYTogRm9yY2UgbGlibmN1cnNlc3cgb3ZlciBsaWJuY3Vyc2VzIHRvIG1h dGNoIHRoZSBpbmNsdWRlcy4KIGh0dHBzOi8vYnVnemlsbGEucmVkaGF0LmNvbS9zaG93X2J1Zy5j Z2k/aWQ9MTI3MDUzNAogCiBkaWZmIC0tZ2l0IGEvZ2RiL2NvbmZpZ3VyZSBiL2dkYi9jb25maWd1 cmUKLWluZGV4IDZmYjViNWI1MDkuLmRiODQ5NTcyYjUgMTAwNzU1CitpbmRleCA5ZjIzNmFlMjZh Li5hMmQ0ODBjMWU1IDEwMDc1NQogLS0tIGEvZ2RiL2NvbmZpZ3VyZQogKysrIGIvZ2RiL2NvbmZp Z3VyZQotQEAgLTkyMzgsNiArOTIzOCw3IEBAIGlmIHRlc3QgeCIkcHJlZmVyX2N1cnNlcyIgPSB4 eWVzOyB0aGVuCitAQCAtOTMwNCw2ICs5MzA0LDcgQEAgaWYgdGVzdCB4IiRwcmVmZXJfY3Vyc2Vz IiA9IHh5ZXM7IHRoZW4KICAgICMgc2VhcmNoIC91c3IvbG9jYWwvaW5jbHVkZSwgaWYgbmN1cnNl cyBpcyBpbnN0YWxsZWQgaW4gL3Vzci9sb2NhbC4gIEEKICAgICMgZGVmYXVsdCBpbnN0YWxsYXRp b24gb2YgbmN1cnNlcyBvbiBhbHBoYSotZGVjLW9zZiogd2lsbCBsZWFkIHRvIHN1Y2gKICAgICMg YSBzaXR1YXRpb24uCkBAIC0yMyw3ICsyMyw3IEBAIGluZGV4IDZmYjViNWI1MDkuLmRiODQ5NTcy YjUgMTAwNzU1CiAgICB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGNo ZWNraW5nIGZvciBsaWJyYXJ5IGNvbnRhaW5pbmcgd2FkZHN0ciIgPiY1CiAgJGFzX2VjaG9fbiAi Y2hlY2tpbmcgZm9yIGxpYnJhcnkgY29udGFpbmluZyB3YWRkc3RyLi4uICIgPiY2OyB9CiAgaWYg dGVzdCAiJHthY19jdl9zZWFyY2hfd2FkZHN0citzZXR9IiA9IHNldDsgdGhlbiA6Ci1AQCAtOTI2 Miw3ICs5MjYzLDcgQEAgcmV0dXJuIHdhZGRzdHIgKCk7CitAQCAtOTMyOCw3ICs5MzI5LDcgQEAg cmV0dXJuIHdhZGRzdHIgKCk7CiAgICByZXR1cm4gMDsKICB9CiAgX0FDRU9GCkBAIC0zMiw3ICsz Miw3IEBAIGluZGV4IDZmYjViNWI1MDkuLmRiODQ5NTcyYjUgMTAwNzU1CiAgICBpZiB0ZXN0IC16 ICIkYWNfbGliIjsgdGhlbgogICAgICBhY19yZXM9Im5vbmUgcmVxdWlyZWQiCiAgICBlbHNlCi1A QCAtOTMzNiw2ICs5MzM3LDcgQEAgY2FzZSAkaG9zdF9vcyBpbgorQEAgLTk0MDIsNiArOTQwMyw3 IEBAIGNhc2UgJGhvc3Rfb3MgaW4KICBlc2FjCiAgCiAgIyBUaGVzZSBhcmUgdGhlIGxpYnJhcmll cyBjaGVja2VkIGJ5IFJlYWRsaW5lLgpAQCAtNDAsNyArNDAsNyBAQCBpbmRleCA2ZmI1YjViNTA5 Li5kYjg0OTU3MmI1IDEwMDc1NQogIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElO RU5PfTogY2hlY2tpbmcgZm9yIGxpYnJhcnkgY29udGFpbmluZyB0Z2V0ZW50IiA+JjUKICAkYXNf ZWNob19uICJjaGVja2luZyBmb3IgbGlicmFyeSBjb250YWluaW5nIHRnZXRlbnQuLi4gIiA+JjY7 IH0KICBpZiB0ZXN0ICIke2FjX2N2X3NlYXJjaF90Z2V0ZW50K3NldH0iID0gc2V0OyB0aGVuIDoK LUBAIC05MzYwLDcgKzkzNjIsNyBAQCByZXR1cm4gdGdldGVudCAoKTsKK0BAIC05NDI2LDcgKzk0 MjgsNyBAQCByZXR1cm4gdGdldGVudCAoKTsKICAgIHJldHVybiAwOwogIH0KICBfQUNFT0YKQEAg LTUwLDEwICs1MCwxMCBAQCBpbmRleCA2ZmI1YjViNTA5Li5kYjg0OTU3MmI1IDEwMDc1NQogICAg ICBhY19yZXM9Im5vbmUgcmVxdWlyZWQiCiAgICBlbHNlCiBkaWZmIC0tZ2l0IGEvZ2RiL2NvbmZp Z3VyZS5hYyBiL2dkYi9jb25maWd1cmUuYWMKLWluZGV4IGQ4OTFjN2JjY2MuLjQ0MTJlMjU0NTAg MTAwNjQ0CitpbmRleCBkYzBhY2QwMzViLi41N2ViY2FlYjA4IDEwMDY0NAogLS0tIGEvZ2RiL2Nv bmZpZ3VyZS5hYwogKysrIGIvZ2RiL2NvbmZpZ3VyZS5hYwotQEAgLTc1NSw3ICs3NTUsOCBAQCBp ZiB0ZXN0IHgiJHByZWZlcl9jdXJzZXMiID0geHllczsgdGhlbgorQEAgLTc2MCw3ICs3NjAsOCBA QCBpZiB0ZXN0IHgiJHByZWZlcl9jdXJzZXMiID0geHllczsgdGhlbgogICAgIyBzZWFyY2ggL3Vz ci9sb2NhbC9pbmNsdWRlLCBpZiBuY3Vyc2VzIGlzIGluc3RhbGxlZCBpbiAvdXNyL2xvY2FsLiAg QQogICAgIyBkZWZhdWx0IGluc3RhbGxhdGlvbiBvZiBuY3Vyc2VzIG9uIGFscGhhKi1kZWMtb3Nm KiB3aWxsIGxlYWQgdG8gc3VjaAogICAgIyBhIHNpdHVhdGlvbi4KQEAgLTYzLDcgKzYzLDcgQEAg aW5kZXggZDg5MWM3YmNjYy4uNDQxMmUyNTQ1MCAxMDA2NDQKICAKICAgIGlmIHRlc3QgIiRhY19j dl9zZWFyY2hfd2FkZHN0ciIgIT0gbm87IHRoZW4KICAgICAgY3Vyc2VzX2ZvdW5kPXllcwotQEAg LTc5Nyw3ICs3OTgsOCBAQCBjYXNlICRob3N0X29zIGluCitAQCAtODAyLDcgKzgwMyw4IEBAIGNh c2UgJGhvc3Rfb3MgaW4KICBlc2FjCiAgCiAgIyBUaGVzZSBhcmUgdGhlIGxpYnJhcmllcyBjaGVj a2VkIGJ5IFJlYWRsaW5lLgoKZGlmZiAtLWdpdCBhL2dkYi1mb2xsb3ctY2hpbGQtc3RhbGUtcGFy ZW50LnBhdGNoIGIvZ2RiLWZvbGxvdy1jaGlsZC1zdGFsZS1wYXJlbnQucGF0Y2gKaW5kZXggZmE5 NTExMy4uMDliNDA0MiAxMDA2NDQKLS0tIGEvZ2RiLWZvbGxvdy1jaGlsZC1zdGFsZS1wYXJlbnQu cGF0Y2gKKysrIGIvZ2RiLWZvbGxvdy1jaGlsZC1zdGFsZS1wYXJlbnQucGF0Y2gKQEAgLTI0LDEw ICsyNCwxMCBAQCB1bndpbmRlcnMgdHJ5IHRvIGFjY2VzcyBpdCwgYnJlYWtpbmc6CiAgICtGQUlM OiBnZGIudGhyZWFkcy93YXRjaHBvaW50LWZvcmsuZXhwOiBjaGlsZDogc2luZ2xldGhyZWFkZWQ6 IGZpbmlzaAogCiBkaWZmIC0tZ2l0IGEvZ2RiL2luZnJ1bi5jIGIvZ2RiL2luZnJ1bi5jCi1pbmRl eCBkY2YwMjJiZDUwLi5iNDY4ZDAyZmQ2IDEwMDY0NAoraW5kZXggNDQzZTIxMjNmMC4uMTZlZTFj MmUzMSAxMDA2NDQKIC0tLSBhL2dkYi9pbmZydW4uYwogKysrIGIvZ2RiL2luZnJ1bi5jCi1AQCAt NzQ5LDYgKzc0OSw5IEBAIGZvbGxvd19mb3JrICh2b2lkKQorQEAgLTc1Miw2ICs3NTIsOSBAQCBm b2xsb3dfZm9yayAodm9pZCkKICAJICB9CiAgCWVsc2UKICAJICB7CgpkaWZmIC0tZ2l0IGEvZ2Ri LWdkYi1hZGQtaW5kZXgtc2NyaXB0LnBhdGNoIGIvZ2RiLWdkYi1hZGQtaW5kZXgtc2NyaXB0LnBh dGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzZDNkYTkyLi4wMDAwMDAwCi0tLSBh L2dkYi1nZGItYWRkLWluZGV4LXNjcmlwdC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDE3MSAr MCwwIEBACi1Gcm9tIEZFRE9SQV9QQVRDSEVTIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJv bTogRmVkb3JhIEdEQiBwYXRjaGVzIDxpbnZhbGlkQGVtYWlsLmNvbT4KLURhdGU6IEZyaSwgMjcg T2N0IDIwMTcgMjE6MDc6NTAgKzAyMDAKLVN1YmplY3Q6IFJGQzogYWRkIERXQVJGIGluZGV4IHN1 cHBvcnQKLQotRmlsZU5hbWU6IGdkYi1nZGItYWRkLWluZGV4LXNjcmlwdC5wYXRjaAotCi07OyBQ cm92aWRlIC91c3IvYmluL2dkYi1hZGQtaW5kZXggZm9yIHJwbS1idWlsZCAoVG9tIFRyb21leSku Ci07Oz1wdXNoOiBSZS1jaGVjayBhZ2FpbnN0IHRoZSB1cHN0cmVhbSB2ZXJzaW9uLgotCi1odHRw Oi8vc291cmNld2FyZS5vcmcvbWwvZ2RiLXBhdGNoZXMvMjAxMC0wNy9tc2cwMDE4NC5odG1sCi0K LUphbiBLcmF0b2NodmlsOiBGaXhlZCAkZCAtPiAkZGlyLgotSmFuIEtyYXRvY2h2aWw6IFJlbW92 ZSAvZGV2L251bGwgcmVkaXJlY3Rpb24uCi0KLT4+Pj4+ICJUb20iID09IFRvbSBUcm9tZXkgPHRy b21leUByZWRoYXQuY29tPiB3cml0ZXM6Ci0KLVRvbT4gVGhpcyBwYXRjaCBzZXJpZXMgYWRkcyBz dXBwb3J0IGZvciBhIERXQVJGIGluZGV4IHRvIGdkYi4KLQotUm9sYW5kIHN1Z2dlc3RlZCB3ZSB3 cmFwIHVwIHRoZSBpbmRleC1jcmVhdGlvbiBjb2RlIGludG8gYSBoZWxwZXIKLXNjcmlwdC4KLQot SSdtIG5vdCBzdXJlIGlmIHRoaXMgaXMgc29tZXRoaW5nIHBlb3BsZSB3b3VsZCB3YW50IGluIGdk YiBwcm9wZXIsIGJ1dCBJCi1maWd1cmVkIEkgd291bGQgc2VuZCBpdCBoZXJlIGp1c3QgaW4gY2Fz ZS4KLQotVG9tCi0KLTIwMTAtMDctMDkgIFRvbSBUcm9tZXkgIDx0cm9tZXlAcmVkaGF0LmNvbT4K LQotCSogTWFrZWZpbGUuaW4gKGluc3RhbGwtb25seSk6IEluc3RhbGwgZ2RiLWFkZC1pbmRleC4K LQkqIGdkYi1hZGQtaW5kZXg6IE5ldyBmaWxlLgotCi0yMDEwLTA3LTA5ICBUb20gVHJvbWV5ICA8 dHJvbWV5QHJlZGhhdC5jb20+Ci0KLQkqIGdkYi50ZXhpbmZvIChJbmRleCBGaWxlcyk6IE1lbnRp b24gZ2RiLWFkZC1pbmRleC4KLQotPkZyb20gMzA3MTRmZTcxOWU2MWJhZWEwM2QwZGM1NzkzZWIw ZDU2NGZhZWJiNyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IFRvbSBUcm9tZXkgPHRy b21leUByZWRoYXQuY29tPgotRGF0ZTogRnJpLCA5IEp1bCAyMDEwIDExOjE3OjU0IC0wNjAwCi1T dWJqZWN0OiBbUEFUQ0ggNC80XSBhZGQgZ2RiLWFkZC1pbmRleAotU3ViamVjdDogW1BBVENIIDQv NF0gYWRkIGdkYi1hZGQtaW5kZXgKLQotZGlmZiAtLWdpdCBhL2dkYi9NYWtlZmlsZS5pbiBiL2dk Yi9NYWtlZmlsZS5pbgotaW5kZXggZTc3ZDZhNWMwMy4uMzE0MmFkNmFmMSAxMDA2NDQKLS0tLSBh L2dkYi9NYWtlZmlsZS5pbgotKysrIGIvZ2RiL01ha2VmaWxlLmluCi1AQCAtMTc3MCw2ICsxNzcw LDE1IEBAIGluc3RhbGwtb25seTogaW5zdGFsbC1nc3RhY2sgJChDT05GSUdfSU5TVEFMTCkKLSAJ CSAgJChJTlNUQUxMX1NDUklQVCkgZ2NvcmUgXAotIAkJCSAgJChERVNURElSKSQoYmluZGlyKS8k JHRyYW5zZm9ybWVkX25hbWU7IFwKLSAJZmkKLSsJdHJhbnNmb3JtZWRfbmFtZT1gdD0nJChwcm9n cmFtX3RyYW5zZm9ybV9uYW1lKSc7IFwKLSsJCQkgIGVjaG8gZ2RiLWFkZC1pbmRleCB8IHNlZCAt ZSAiJCR0ImAgOyBcCi0rCQlpZiB0ZXN0ICJ4JCR0cmFuc2Zvcm1lZF9uYW1lIiA9IHg7IHRoZW4g XAotKwkJICB0cmFuc2Zvcm1lZF9uYW1lPWdkYi1hZGQtaW5kZXggOyBcCi0rCQllbHNlIFwKLSsJ CSAgdHJ1ZSA7IFwKLSsJCWZpIDsgXAotKwkJJChJTlNUQUxMX1BST0dSQU0pICQoc3JjZGlyKS9j b250cmliL2dkYi1hZGQtaW5kZXguc2ggXAotKwkJCSQoREVTVERJUikkKGJpbmRpcikvJCR0cmFu c2Zvcm1lZF9uYW1lJChFWEVFWFQpCi0gCUAkKE1BS0UpIERPPWluc3RhbGwgIkRPRElSUz0kKFNV QkRJUlMpIiAkKEZMQUdTX1RPX1BBU1MpIHN1YmRpcl9kbwotIAotIGluc3RhbGwtc3RyaXA6Ci1k aWZmIC0tZ2l0IGEvZ2RiL2RvYy9NYWtlZmlsZS5pbiBiL2dkYi9kb2MvTWFrZWZpbGUuaW4KLWlu ZGV4IGVhZmFkZWU4OTkuLjAzMjNiYzRlY2IgMTAwNjQ0Ci0tLS0gYS9nZGIvZG9jL01ha2VmaWxl LmluCi0rKysgYi9nZGIvZG9jL01ha2VmaWxlLmluCi1AQCAtMTc0LDcgKzE3NCw3IEBAIFBPRDJN QU41ID0gcG9kMm1hbiAtLWNlbnRlcj0iR05VIERldmVsb3BtZW50IFRvb2xzIiBcCi0gCQkgICAt LXJlbGVhc2U9ImdkYi1gc2VkIHEgdmVyc2lvbi5zdWJzdGAiIC0tc2VjdGlvbj01Ci0gCi0gIyBM aXN0IG9mIG1hbiBwYWdlcyBnZW5lcmF0ZWQgZnJvbSBnZGIudGV4aQotLU1BTjFTID0gZ2RiLjEg Z2Ric2VydmVyLjEgZ2NvcmUuMQotK01BTjFTID0gZ2RiLjEgZ2Ric2VydmVyLjEgZ2NvcmUuMSBn ZGItYWRkLWluZGV4LjEKLSBNQU41UyA9IGdkYmluaXQuNQotIE1BTlMgPSAkKE1BTjFTKSAkKE1B TjVTKQotIAotQEAgLTYzMyw2ICs2MzMsMTMgQEAgZ2NvcmUuMTogJChHREJfRE9DX0ZJTEVTKQot IAkJbXYgLWYgJEAuVCQkJCQgJEApIHx8IChybSAtZiAkQC5UJCQkJCAmJiBleGl0IDEpCi0gCXJt IC1mIGdjb3JlLnBvZAotIAotK2dkYi1hZGQtaW5kZXguMTogJChHREJfRE9DX0ZJTEVTKQotKwl0 b3VjaCAkQAotKwktJChURVhJMlBPRCkgJChNQU5DT05GKSAtRGdkYi1hZGQtaW5kZXggPCAkKHNy Y2RpcikvZ2RiLnRleGluZm8gPiBnZGItYWRkLWluZGV4LnBvZAotKwktKCQoUE9EMk1BTjEpIGdk Yi1hZGQtaW5kZXgucG9kIHwgc2VkIC1lICcvXi5pZiBuIC5uYS9kJyA+ICRALlQkJCQkICYmIFwK LSsJCW12IC1mICRALlQkJCQkICRAKSB8fCAocm0gLWYgJEAuVCQkJCQgJiYgZXhpdCAxKQotKwly bSAtZiBnZGItYWRkLWluZGV4LnBvZAotKwotIGdkYmluaXQuNTogJChHREJfRE9DX0ZJTEVTKQot IAl0b3VjaCAkQAotIAktJChURVhJMlBPRCkgJChNQU5DT05GKSAtRGdkYmluaXQgPCAkKHNyY2Rp cikvZ2RiLnRleGluZm8gPiBnZGJpbml0LnBvZAotZGlmZiAtLWdpdCBhL2dkYi9kb2MvZ2RiLnRl eGluZm8gYi9nZGIvZG9jL2dkYi50ZXhpbmZvCi1pbmRleCAyZjJjYmQzZGVhLi43Yjk5YWUxNTUx IDEwMDY0NAotLS0tIGEvZ2RiL2RvYy9nZGIudGV4aW5mbwotKysrIGIvZ2RiL2RvYy9nZGIudGV4 aW5mbwotQEAgLTE5Nzk2LDYgKzE5Nzk2LDE0IEBAIFRoZXJlIGFyZSBjdXJyZW50bHkgc29tZSBs aW1pdGF0aW9uIG9uIGluZGljZXMuICBUaGV5IG9ubHkgd29yayB3aGVuCi0gZm9yIERXQVJGIGRl YnVnZ2luZyBpbmZvcm1hdGlvbiwgbm90IHN0YWJzLiAgQW5kLCB0aGV5IGRvIG5vdAotIGN1cnJl bnRseSB3b3JrIGZvciBwcm9ncmFtcyB1c2luZyBBZGEuCi0gCi0rQHZhbHVle0dEQk59IGNvbWVz IHdpdGggYSBwcm9ncmFtLCBAY29tbWFuZHtnZGItYWRkLWluZGV4fSwgd2hpY2ggY2FuCi0rYmUg dXNlZCB0byBhZGQgdGhlIGluZGV4IHRvIGEgc3ltYm9sIGZpbGUuICBJdCB0YWtlcyB0aGUgc3lt Ym9sIGZpbGUKLSthcyBpdHMgb25seSBhcmd1bWVudDoKLSsKLStAc21hbGxleGFtcGxlCi0rJCBn ZGItYWRkLWluZGV4IHN5bWZpbGUKLStAZW5kIHNtYWxsZXhhbXBsZQotKwotIEBub2RlIFN5bWJv bCBFcnJvcnMKLSBAc2VjdGlvbiBFcnJvcnMgUmVhZGluZyBTeW1ib2wgRmlsZXMKLSAKLUBAIC00 Mjc1OSw2ICs0Mjc2Nyw3IEBAIHN3aXRjaCAoZGllLT50YWcpCi0gKiBnZGJzZXJ2ZXIgbWFuOjog ICAgICAgICAgICAgICBSZW1vdGUgU2VydmVyIGZvciB0aGUgR05VIERlYnVnZ2VyIG1hbiBwYWdl Ci0gKiBnY29yZSBtYW46OiAgICAgICAgICAgICAgICAgICBHZW5lcmF0ZSBhIGNvcmUgZmlsZSBv ZiBhIHJ1bm5pbmcgcHJvZ3JhbQotICogZ2RiaW5pdCBtYW46OiAgICAgICAgICAgICAgICAgZ2Ri aW5pdCBzY3JpcHRzCi0rKiBnZGItYWRkLWluZGV4IG1hbjo6ICAgICAgICAgICBBZGQgaW5kZXgg ZmlsZXMgdG8gc3BlZWQgdXAgR0RCCi0gQGVuZCBtZW51Ci0gCi0gQG5vZGUgZ2RiIG1hbgotQEAg LTQzNDM1LDYgKzQzNDQ0LDU0IEBAIFJpY2hhcmQgTS4gU3RhbGxtYW4gYW5kIFJvbGFuZCBILiBQ ZXNjaCwgSnVseSAxOTkxLgotIEBlbmQgaWZzZXQKLSBAYyBtYW4gZW5kCi0gCi0rQG5vZGUgZ2Ri LWFkZC1pbmRleCBtYW4KLStAaGVhZGluZyBnZGItYWRkLWluZGV4Ci0rCi0rQGMgbWFuIHRpdGxl IGdkYi1hZGQtaW5kZXggQWRkIGluZGV4IGZpbGVzIHRvIHNwZWVkIHVwIEdEQgotKwotK0BjIG1h biBiZWdpbiBTWU5PUFNJUyBnZGItYWRkLWluZGV4Ci0rZ2RiLWFkZC1pbmRleCBAdmFye2ZpbGVu YW1lfQotK0BjIG1hbiBlbmQKLSsKLStAYyBtYW4gYmVnaW4gREVTQ1JJUFRJT04gZ2RiLWFkZC1p bmRleAotK1doZW4gR0RCIGZpbmRzIGEgc3ltYm9sIGZpbGUsIGl0IHNjYW5zIHRoZSBzeW1ib2xz IGluIHRoZSBmaWxlIGluIG9yZGVyCi0rdG8gY29uc3RydWN0IGFuIGludGVybmFsIHN5bWJvbCB0 YWJsZS4gIFRoaXMgbGV0cyBtb3N0IEdEQiBvcGVyYXRpb25zCi0rd29yayBxdWlja2x5LS1hdCB0 aGUgY29zdCBvZiBhIGRlbGF5IGVhcmx5IG9uLiAgRm9yIGxhcmdlIHByb2dyYW1zLAotK3RoaXMg ZGVsYXkgY2FuIGJlIHF1aXRlIGxlbmd0aHksIHNvIEdEQiBwcm92aWRlcyBhIHdheSB0byBidWls ZCBhbgotK2luZGV4LCB3aGljaCBzcGVlZHMgdXAgc3RhcnR1cC4KLSsKLStUbyBkZXRlcm1pbmUg d2hldGhlciBhIGZpbGUgY29udGFpbnMgc3VjaCBhbiBpbmRleCwgdXNlIHRoZSBjb21tYW5kCi0r QGNvbW1hbmR7cmVhZGVsZiAtUyBmaWxlbmFtZX06IHRoZSBpbmRleCBpcyBzdG9yZWQgaW4gYSBz ZWN0aW9uIG5hbWVkCi0rQGNvZGV7LmdkYl9pbmRleH0uICBOb3RlIHRoYXQgdGhlIGluZGV4IGlz IG5ldmVyIGdlbmVyYXRlZCBmb3IgZmlsZXMgdGhhdCBkbwotK25vdCBjb250YWluIERXQVJGIGRl YnVnIGluZm9ybWF0aW9uIChzZWN0aW9ucyBuYW1lZCBAY29kZXsuZGVidWdfKn0pLgotKwotK1Nl ZSBtb3JlIGluCi0rQGlmc2V0IG1hbgotK3RoZSBAdmFsdWV7R0RCTn0gbWFudWFsIGluIG5vZGUg QGNvZGV7SW5kZXggRmlsZXN9Ci0rLS0gc2hlbGwgY29tbWFuZCBAY29kZXtpbmZvIC1mIGdkYiAt biAnSW5kZXggRmlsZXMnfS4KLStAZW5kIGlmc2V0Ci0rQGlmY2xlYXIgbWFuCi0rQHJlZntJbmRl eCBGaWxlc30uCi0rQGVuZCBpZmNsZWFyCi0rQGMgbWFuIGVuZAotKwotK0BjIG1hbiBiZWdpbiBT RUVBTFNPIGdkYi1hZGQtaW5kZXgKLStAaWZzZXQgbWFuCi0rVGhlIGZ1bGwgZG9jdW1lbnRhdGlv biBmb3IgQHZhbHVle0dEQk59IGlzIG1haW50YWluZWQgYXMgYSBUZXhpbmZvIG1hbnVhbC4KLStJ ZiB0aGUgQGNvZGV7aW5mb30gYW5kIEBjb2Rle2dkYn0gcHJvZ3JhbXMgYW5kIEB2YWx1ZXtHREJO fSdzIFRleGluZm8KLStkb2N1bWVudGF0aW9uIGFyZSBwcm9wZXJseSBpbnN0YWxsZWQgYXQgeW91 ciBzaXRlLCB0aGUgY29tbWFuZAotKwotK0BzbWFsbGV4YW1wbGUKLStpbmZvIGdkYgotK0BlbmQg c21hbGxleGFtcGxlCi0rCi0rc2hvdWxkIGdpdmUgeW91IGFjY2VzcyB0byB0aGUgY29tcGxldGUg bWFudWFsLgotKwotK0BjaXRle1VzaW5nIEdEQjogQSBHdWlkZSB0byB0aGUgR05VIFNvdXJjZS1M ZXZlbCBEZWJ1Z2dlcn0sCi0rUmljaGFyZCBNLiBTdGFsbG1hbiBhbmQgUm9sYW5kIEguIFBlc2No LCBKdWx5IDE5OTEuCi0rQGVuZCBpZnNldAotK0BjIG1hbiBlbmQKLSsKLSBAaW5jbHVkZSBncGwu dGV4aQotIAotIEBub2RlIEdOVSBGcmVlIERvY3VtZW50YXRpb24gTGljZW5zZQoKZGlmZiAtLWdp dCBhL2dkYi1nbGliYy1zdHJzdHItd29ya2Fyb3VuZC5wYXRjaCBiL2dkYi1nbGliYy1zdHJzdHIt d29ya2Fyb3VuZC5wYXRjaAppbmRleCBjYTYxMTdhLi5kZWM2MjQ1IDEwMDY0NAotLS0gYS9nZGIt Z2xpYmMtc3Ryc3RyLXdvcmthcm91bmQucGF0Y2gKKysrIGIvZ2RiLWdsaWJjLXN0cnN0ci13b3Jr YXJvdW5kLnBhdGNoCkBAIC05LDEwICs5LDEwIEBAIEZpbGVOYW1lOiBnZGItZ2xpYmMtc3Ryc3Ry LXdvcmthcm91bmQucGF0Y2gKIDs7PWZlZG9yYTogQ29tcGF0aWJpbGl0eSB3aXRoIFJIRUxzICh1 bmNoZWNrZWQgd2hpY2ggb25lcykuCiAKIGRpZmYgLS1naXQgYS9nZGIvZHdhcmYycmVhZC5jIGIv Z2RiL2R3YXJmMnJlYWQuYwotaW5kZXggYzhkYjk1NWYyZi4uNmViZTAwZjU0MiAxMDA2NDQKK2lu ZGV4IDI2Njc0MGY3NGMuLmQ2OWYxNTRhZjMgMTAwNjQ0CiAtLS0gYS9nZGIvZHdhcmYycmVhZC5j CiArKysgYi9nZGIvZHdhcmYycmVhZC5jCi1AQCAtMjEzMjgsNiArMjEzMjgsMjYgQEAgbmV3X3N5 bWJvbF9mdWxsIChzdHJ1Y3QgZGllX2luZm8gKmRpZSwgc3RydWN0IHR5cGUgKnR5cGUsIHN0cnVj dCBkd2FyZjJfY3UgKmN1LAorQEAgLTIxMzc2LDYgKzIxMzc2LDI2IEBAIG5ld19zeW1ib2wgKHN0 cnVjdCBkaWVfaW5mbyAqZGllLCBzdHJ1Y3QgdHlwZSAqdHlwZSwgc3RydWN0IGR3YXJmMl9jdSAq Y3UsCiAgICAgICAgLyogQ2FjaGUgdGhpcyBzeW1ib2wncyBuYW1lIGFuZCB0aGUgbmFtZSdzIGRl bWFuZ2xlZCBmb3JtIChpZiBhbnkpLiAgKi8KICAgICAgICBTWU1CT0xfU0VUX0xBTkdVQUdFIChz eW0sIGN1LT5sYW5ndWFnZSwgJm9iamZpbGUtPm9iamZpbGVfb2JzdGFjayk7CiAgICAgICAgbGlu a2FnZW5hbWUgPSBkd2FyZjJfcGh5c25hbWUgKG5hbWUsIGRpZSwgY3UpOwoKZGlmZiAtLWdpdCBh L2dkYi1nbmF0LWR3YXJmLWNyYXNoLTNvZjMucGF0Y2ggYi9nZGItZ25hdC1kd2FyZi1jcmFzaC0z b2YzLnBhdGNoCmluZGV4IGY3NWQxNDQuLjU3NjNhNmMgMTAwNjQ0Ci0tLSBhL2dkYi1nbmF0LWR3 YXJmLWNyYXNoLTNvZjMucGF0Y2gKKysrIGIvZ2RiLWduYXQtZHdhcmYtY3Jhc2gtM29mMy5wYXRj aApAQCAtNDIsMjEgKzQyLDIwMiBAQCBnZGIvCiAJKiBkd2FyZjJyZWFkLmMgKHByb2Nlc3NfZGll KTogQ2hhbmdlIGdkYl9hc3NlcnQgdG8gY29tcGxhaW50LgogCiBkaWZmIC0tZ2l0IGEvZ2RiL2R3 YXJmMnJlYWQuYyBiL2dkYi9kd2FyZjJyZWFkLmMKLWluZGV4IGZiYWEwYWY2NGYuLjJjOTcyZDVl NzQgMTAwNjQ0CitpbmRleCA0MjBjM2U2YmQ1Li4zMjhhMDdkZjgyIDEwMDY0NAogLS0tIGEvZ2Ri L2R3YXJmMnJlYWQuYwogKysrIGIvZ2RiL2R3YXJmMnJlYWQuYwotQEAgLTEwNjEyLDYgKzEwNjEy LDE0IEBAIHByaXZhdGU6CitAQCAtMTA1MTYsNiArMTA1MTYsMTQgQEAgcHJpdmF0ZToKICBzdGF0 aWMgdm9pZAogIHByb2Nlc3NfZGllIChzdHJ1Y3QgZGllX2luZm8gKmRpZSwgc3RydWN0IGR3YXJm Ml9jdSAqY3UpCiAgewogKyAgaWYgKGRpZS0+aW5fcHJvY2VzcykKICsgICAgewogKyAgICAgIGNv bXBsYWludCAoJnN5bWZpbGVfY29tcGxhaW50cywKLSsJCSBfKCJESUUgYXQgMHgleCBhdHRlbXB0 ZWQgdG8gYmUgcHJvY2Vzc2VkIHR3aWNlIiksCi0rCQkgdG9fdW5kZXJseWluZyAoZGllLT5zZWN0 X29mZikpOworKwkJIF8oIkRJRSBhdCAweCVzIGF0dGVtcHRlZCB0byBiZSBwcm9jZXNzZWQgdHdp Y2UiKSwKKysJCSBzZWN0X29mZnNldF9zdHIgKGRpZS0+c2VjdF9vZmYpKTsKICsgICAgICByZXR1 cm47CiArICAgIH0KICsKICAgIHByb2Nlc3NfZGllX3Njb3BlIHNjb3BlIChkaWUsIGN1KTsKICAK ICAgIHN3aXRjaCAoZGllLT50YWcpCitkaWZmIC0tZ2l0IGEvZ2RiL2luZnJ1bi5jIGIvZ2RiL2lu ZnJ1bi5jCitpbmRleCAxNmVlMWMyZTMxLi44MmI5Y2VkYzkwIDEwMDY0NAorLS0tIGEvZ2RiL2lu ZnJ1bi5jCisrKysgYi9nZGIvaW5mcnVuLmMKK0BAIC02MDksNiArNjA5LDEzIEBAIGhvbGRpbmcg dGhlIGNoaWxkIHN0b3BwZWQuICBUcnkgXCJzZXQgZGV0YWNoLW9uLWZvcmtcIiBvciBcCisgCQkJ CXRhcmdldF9waWRfdG9fc3RyIChwcm9jZXNzX3B0aWQpKTsKKyAJICAgIH0KKyAKKysjaWZkZWYg TkVFRF9ERVRBQ0hfU0lHU1RPUAorKwkgIC8qIFdlIHNob3VsZCBjaGVjayBQSURfV0FTX1NUT1BQ RUQgYW5kIGRldGFjaCBpdCBzdG9wcGVkIGFjY29yZGluZ2x5LgorKwkgICAgIEluIHRoaXMgcG9p bnQgb2YgY29kZSBpdCBjYW5ub3QgYmUgMSBhcyB3ZSB3b3VsZCBub3QgZ2V0IEZPUksKKysJICAg ICBleGVjdXRlZCB3aXRob3V0IENPTlRJTlVFIGZpcnN0IHdoaWNoIHJlc2V0cyBQSURfV0FTX1NU T1BQRUQuCisrCSAgICAgV2Ugd291bGQgaGF2ZSB0byBmaXJzdCBUQVJHRVRfU1RPUCBhbmQgV0FJ VFBJRCBpdCBhcyB3aXRoIHJ1bm5pbmcKKysJICAgICBpbmZlcmlvciBQVFJBQ0VfREVUQUNILCBT SUdTVE9QIHdpbGwgaWdub3JlIHRoZSBzaWduYWwuICAqLworKyNlbmRpZgorIAkgIHRhcmdldF9k ZXRhY2ggKHBhcmVudF9pbmYsIDApOworIAl9CisgCitkaWZmIC0tZ2l0IGEvZ2RiL2xpbnV4LW5h dC5jIGIvZ2RiL2xpbnV4LW5hdC5jCitpbmRleCAwNTM0NDMxNmE3Li4zMGE5NGI0N2M5IDEwMDY0 NAorLS0tIGEvZ2RiL2xpbnV4LW5hdC5jCisrKysgYi9nZGIvbGludXgtbmF0LmMKK0BAIC0xOTEs NiArMTkxLDEyIEBAIHN0cnVjdCBsaW51eF9uYXRfdGFyZ2V0ICpsaW51eF90YXJnZXQ7CisgLyog RG9lcyB0aGUgY3VycmVudCBob3N0IHN1cHBvcnQgUFRSQUNFX0dFVFJFR1NFVD8gICovCisgZW51 bSB0cmlib29sIGhhdmVfcHRyYWNlX2dldHJlZ3NldCA9IFRSSUJPT0xfVU5LTk9XTjsKKyAKKysj aWZkZWYgTkVFRF9ERVRBQ0hfU0lHU1RPUAorKy8qIFBJRCBvZiB0aGUgaW5mZXJpb3Igc3RvcHBl ZCBieSBTSUdTVE9QIGJlZm9yZSBhdHRhY2hpbmcgKG9yIHplcm8pLiAgKi8KKytzdGF0aWMgcGlk X3QgcGlkX3dhc19zdG9wcGVkOworKworKyNlbmRpZgorKworIC8qIFRoZSBzYXZlZCB0b19jbG9z ZSBtZXRob2QsIGluaGVyaXRlZCBmcm9tIGluZi1wdHJhY2UuYy4KKyAgICBDYWxsZWQgYnkgb3Vy IHRvX2Nsb3NlLiAgKi8KKyBzdGF0aWMgdm9pZCAoKnN1cGVyX2Nsb3NlKSAoc3RydWN0IHRhcmdl dF9vcHMgKik7CitAQCAtMTAyNiw2ICsxMDMyLDkgQEAgbGludXhfbmF0X3Bvc3RfYXR0YWNoX3dh aXQgKHB0aWRfdCBwdGlkLCBpbnQgKnNpZ25hbGxlZCkKKyAgICAgICBpZiAoZGVidWdfbGludXhf bmF0KQorIAlmcHJpbnRmX3VuZmlsdGVyZWQgKGdkYl9zdGRsb2csCisgCQkJICAgICJMTlBBVzog QXR0YWNoaW5nIHRvIGEgc3RvcHBlZCBwcm9jZXNzXG4iKTsKKysjaWZkZWYgTkVFRF9ERVRBQ0hf U0lHU1RPUAorKyAgICAgIHBpZF93YXNfc3RvcHBlZCA9IHB0aWRfZ2V0X3BpZCAocHRpZCk7Cisr I2VuZGlmCisgCisgICAgICAgLyogVGhlIHByb2Nlc3MgaXMgZGVmaW5pdGVseSBzdG9wcGVkLiAg SXQgaXMgaW4gYSBqb2IgY29udHJvbAorIAkgc3RvcCwgdW5sZXNzIHRoZSBrZXJuZWwgcHJlZGF0 ZXMgdGhlIFRBU0tfU1RPUFBFRCAvCitAQCAtMTM1OSw2ICsxMzY4LDI1IEBAIGdldF9kZXRhY2hf c2lnbmFsIChzdHJ1Y3QgbHdwX2luZm8gKmxwKQorICAgICAgIHJldHVybiBnZGJfc2lnbmFsX3Rv X2hvc3QgKHNpZ25vKTsKKyAgICAgfQorIAorKyNpZmRlZiBORUVEX0RFVEFDSF9TSUdTVE9QCisr ICAvKiBXb3JrYXJvdW5kIFJIRUwtNSBrZXJuZWwgd2hpY2ggaGFzIHVucmVsaWFibGUgUFRSQUNF X0RFVEFDSCwgU0lHU1RPUCAodGhhdAorKyAgICAgbWFueSBUSURzIGFyZSBsZWZ0IHVuc3RvcHBl ZCkuICBTZWUgUkggQnVnIDQ5NjczMi4gICovCisrICBpZiAocHRpZF9nZXRfcGlkIChscC0+cHRp ZCkgPT0gcGlkX3dhc19zdG9wcGVkKQorKyAgICB7CisrICAgICAgaW50IGVycjsKKysKKysgICAg ICBlcnJubyA9IDA7CisrICAgICAgZXJyID0ga2lsbF9sd3AgKHB0aWRfZ2V0X2x3cCAobHAtPnB0 aWQpLCBTSUdTVE9QKTsKKysgICAgICBpZiAoZGVidWdfbGludXhfbmF0KQorKwl7CisrCSAgZnBy aW50Zl91bmZpbHRlcmVkIChnZGJfc3RkbG9nLAorKwkJCSAgICAgICJTQzogIGx3cCBraWxsICVk ICVzXG4iLAorKwkJCSAgICAgIGVyciwKKysJCQkgICAgICBlcnJubyA/IHNhZmVfc3RyZXJyb3Ig KGVycm5vKSA6ICJFUlJOTy1PSyIpOworKwl9CisrICAgIH0KKysKKysjZW5kaWYKKyAgIHJldHVy biAwOworIH0KKyAKK0BAIC0xNTA3LDYgKzE1MzUsMTAgQEAgbGludXhfbmF0X3RhcmdldDo6ZGV0 YWNoIChpbmZlcmlvciAqaW5mLCBpbnQgZnJvbV90dHkpCisgICAgICAgZGV0YWNoX29uZV9sd3Ag KG1haW5fbHdwLCAmc2lnbm8pOworIAorICAgICAgIGRldGFjaF9zdWNjZXNzIChpbmYpOworKwor KyNpZmRlZiBORUVEX0RFVEFDSF9TSUdTVE9QCisrICAgICAgcGlkX3dhc19zdG9wcGVkID0gMDsK KysjZW5kaWYKKyAgICAgfQorIH0KKyAKK0BAIC0xNzY1LDYgKzE3OTcsMTYgQEAgbGludXhfbmF0 X3RhcmdldDo6cmVzdW1lIChwdGlkX3QgcHRpZCwgaW50IHN0ZXAsIGVudW0gZ2RiX3NpZ25hbCBz aWdubykKKyAgICAgICByZXR1cm47CisgICAgIH0KKyAKKysjaWZkZWYgTkVFRF9ERVRBQ0hfU0lH U1RPUAorKyAgLyogQXQgdGhpcyBwb2ludCwgd2UgYXJlIGdvaW5nIHRvIHJlc3VtZSB0aGUgaW5m ZXJpb3IgYW5kIGlmIHdlCisrICAgICBoYXZlIGF0dGFjaGVkIHRvIGEgc3RvcHBlZCBwcm9jZXNz LCB3ZSBubyBsb25nZXIgc2hvdWxkIGxlYXZlCisrICAgICBpdCBhcyBzdG9wcGVkIGlmIHRoZSB1 c2VyIGRldGFjaGVzLiAgUFRJRCB2YXJpYWJsZSBoYXMgUElEIHNldCB0byBMV1AKKysgICAgIHdo aWxlIHdlIG5lZWQgdG8gY2hlY2sgdGhlIHJlYWwgUElEIGhlcmUuICAqLworKworKyAgaWYgKCFz dGVwICYmIGxwICYmIHBpZF93YXNfc3RvcHBlZCA9PSBwdGlkX2dldF9waWQgKGxwLT5wdGlkKSkK KysgICAgcGlkX3dhc19zdG9wcGVkID0gMDsKKysKKysjZW5kaWYKKyAgIGlmIChyZXN1bWVfbWFu eSkKKyAgICAgaXRlcmF0ZV9vdmVyX2x3cHMgKHB0aWQsIGxpbnV4X25hdF9yZXN1bWVfY2FsbGJh Y2ssIGxwKTsKKyAKK0BAIC0zNzU0LDYgKzM3OTYsMTAgQEAgbGludXhfbmF0X3RhcmdldDo6bW91 cm5faW5mZXJpb3IgKCkKKyAKKyAgIC8qIExldCB0aGUgYXJjaC1zcGVjaWZpYyBuYXRpdmUgY29k ZSBrbm93IHRoaXMgcHJvY2VzcyBpcyBnb25lLiAgKi8KKyAgIGxpbnV4X3RhcmdldC0+bG93X2Zv cmdldF9wcm9jZXNzIChwaWQpOworKyNpZmRlZiBORUVEX0RFVEFDSF9TSUdTVE9QCisrCisrICBw aWRfd2FzX3N0b3BwZWQgPSAwOworKyNlbmRpZgorIH0KKyAKKyAvKiBDb252ZXJ0IGEgbmF0aXZl L2hvc3Qgc2lnaW5mbyBvYmplY3QsIGludG8vZnJvbSB0aGUgc2lnaW5mbyBpbiB0aGUKK2RpZmYg LS1naXQgYS9nZGIvdGVzdHN1aXRlL2dkYi50aHJlYWRzL2F0dGFjaC1zdG9wcGVkLmV4cCBiL2dk Yi90ZXN0c3VpdGUvZ2RiLnRocmVhZHMvYXR0YWNoLXN0b3BwZWQuZXhwCitpbmRleCBhMzkxNmM2 MzU0Li45ZjAwNGI0MTc5IDEwMDY0NAorLS0tIGEvZ2RiL3Rlc3RzdWl0ZS9nZGIudGhyZWFkcy9h dHRhY2gtc3RvcHBlZC5leHAKKysrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLnRocmVhZHMvYXR0YWNo LXN0b3BwZWQuZXhwCitAQCAtNTYsNyArNTYsNjUgQEAgcHJvYyBjb3JlZnVuYyB7IHRocmVhZHR5 cGUgfSB7CisgICAgIGdkYl9yZWluaXRpYWxpemVfZGlyICRzcmNkaXIvJHN1YmRpcgorICAgICBn ZGJfbG9hZCAke2JpbmZpbGV9CisgCistICAgICMgVmVyaWZ5IHRoYXQgd2UgY2FuIGF0dGFjaCB0 byB0aGUgc3RvcHBlZCBwcm9jZXNzLgorKyAgICAjIFZlcmlmeSB0aGF0IHdlIGNhbiBhdHRhY2gg dG8gdGhlIHByb2Nlc3MgYnkgZmlyc3QgZ2l2aW5nIGl0cworKyAgICAjIGV4ZWN1dGFibGUgbmFt ZSB2aWEgdGhlIGZpbGUgY29tbWFuZCwgYW5kIHVzaW5nIGF0dGFjaCB3aXRoIHRoZQorKyAgICAj IHByb2Nlc3MgSUQuCisrCisrICAgIHNldCB0ZXN0ICIkdGhyZWFkdHlwZTogc2V0IGZpbGUsIGJl Zm9yZSBhdHRhY2gxIHRvIHN0b3BwZWQgcHJvY2VzcyIKKysgICAgZ2RiX3Rlc3RfbXVsdGlwbGUg ImZpbGUgJGJpbmZpbGUiICIkdGVzdCIgeworKyAgICAgICAtcmUgIkxvYWQgbmV3IHN5bWJvbCB0 YWJsZSBmcm9tLip5IG9yIG4uICQiIHsKKysJICAgIGdkYl90ZXN0ICJ5IiAiUmVhZGluZyBzeW1i b2xzIGZyb20gJGVzY2FwZWRiaW5maWxlXC5cLlwuKmRvbmUuIiBcCisrCQkgICAgIiR0ZXN0IChy ZS1yZWFkKSIKKysJfQorKwktcmUgIlJlYWRpbmcgc3ltYm9scyBmcm9tICRlc2NhcGVkYmluZmls ZVwuXC5cLipkb25lLiokZ2RiX3Byb21wdCAkIiB7CisrCSAgICBwYXNzICIkdGVzdCIKKysJfQor KyAgICB9CisrCisrICAgIHNldCB0ZXN0ICIkdGhyZWFkdHlwZTogYXR0YWNoMSB0byBzdG9wcGVk LCBhZnRlciBzZXR0aW5nIGZpbGUiCisrICAgIGdkYl90ZXN0X211bHRpcGxlICJhdHRhY2ggJHRl c3RwaWQiICIkdGVzdCIgeworKwktcmUgIkF0dGFjaGluZyB0byBwcm9ncmFtLipgPyRlc2NhcGVk YmluZmlsZSc/LCBwcm9jZXNzICR0ZXN0cGlkLiokZ2RiX3Byb21wdCAkIiB7CisrCSAgICBwYXNz ICIkdGVzdCIKKysJfQorKyAgICB9CisrCisrICAgICMgIi4qc2xlZXAuKmNsb25lLioiIHdvdWxk IGZhaWwgb24gczM5MHggYXMgYnQgc3RvcHMgYXQgU1RBUlRfVEhSRUFEIHRoZXJlLgorKyAgICBp ZiB7W3N0cmluZyBlcXVhbCAkdGhyZWFkdHlwZSB0aHJlYWRlZF19IHsKKysJZ2RiX3Rlc3QgInRo cmVhZCBhcHBseSBhbGwgYnQiICIuKnNsZWVwLipzdGFydF90aHJlYWQuKiIgIiR0aHJlYWR0eXBl OiBhdHRhY2gxIHRvIHN0b3BwZWQgYnQiCisrICAgIH0gZWxzZSB7CisrCWdkYl90ZXN0ICJidCIg Ii4qc2xlZXAuKm1haW4uKiIgIiR0aHJlYWR0eXBlOiBhdHRhY2gxIHRvIHN0b3BwZWQgYnQiCisr ICAgIH0KKysKKysgICAgIyBFeGl0IGFuZCBkZXRhY2ggdGhlIHByb2Nlc3MuCisrICAgICAgIAor KyAgICBnZGJfZXhpdAorKworKyAgICAjIEF2b2lkIHNvbWUgcmFjZToKKysgICAgc2xlZXAgMgor KworKyAgICBpZiBbY2F0Y2gge29wZW4gL3Byb2MvJHt0ZXN0cGlkfS9zdGF0dXMgcn0gZmlsZWlk XSB7CisrCXNldCBsaW5lMiAiTk9URk9VTkQiCisrICAgIH0gZWxzZSB7CisrCWdldHMgJGZpbGVp ZCBsaW5lMTsKKysJZ2V0cyAkZmlsZWlkIGxpbmUyOworKwljbG9zZSAkZmlsZWlkOworKyAgICB9 CisrCisrICAgIHNldCB0ZXN0ICIkdGhyZWFkdHlwZTogYXR0YWNoMSwgZXhpdCBsZWF2ZXMgcHJv Y2VzcyBzdG9wcGVkIgorKyAgICBpZiB7W3N0cmluZyBtYXRjaCAiKihzdG9wcGVkKSoiICRsaW5l Ml19IHsKKysgICAgICBwYXNzICR0ZXN0CisrICAgIH0gZWxzZSB7CisrICAgICAgZmFpbCAkdGVz dAorKyAgICB9CisrCisrICAgICMgQXQgdGhpcyBwb2ludCwgdGhlIHByb2Nlc3Mgc2hvdWxkIHN0 aWxsIGJlIHN0b3BwZWQKKysKKysgICAgZ2RiX3N0YXJ0CisrICAgIGdkYl9yZWluaXRpYWxpemVf ZGlyICRzcmNkaXIvJHN1YmRpcgorKyAgICBnZGJfbG9hZCAke2JpbmZpbGV9CisrCisrICAgICMg VmVyaWZ5IHRoYXQgd2UgY2FuIGF0dGFjaCB0byB0aGUgcHJvY2VzcyBqdXN0IGJ5IGdpdmluZyB0 aGUKKysgICAgIyBwcm9jZXNzIElELgorICAgICAgICAKKyAgICAgc2V0IHRlc3QgIiR0aHJlYWR0 eXBlOiBhdHRhY2gyIHRvIHN0b3BwZWQsIGFmdGVyIHNldHRpbmcgZmlsZSIKKyAgICAgZ2RiX3Rl c3RfbXVsdGlwbGUgImF0dGFjaCAkdGVzdHBpZCIgIiR0ZXN0IiB7CgpkaWZmIC0tZ2l0IGEvZ2Ri LWppdC1yZWFkZXItbXVsdGlsaWIucGF0Y2ggYi9nZGItaml0LXJlYWRlci1tdWx0aWxpYi5wYXRj aAppbmRleCBmOWNjZmQxLi42YWM5NTg5IDEwMDY0NAotLS0gYS9nZGItaml0LXJlYWRlci1tdWx0 aWxpYi5wYXRjaAorKysgYi9nZGItaml0LXJlYWRlci1tdWx0aWxpYi5wYXRjaApAQCAtOSwxMCAr OSwxMCBAQCBGaWxlTmFtZTogZ2RiLWppdC1yZWFkZXItbXVsdGlsaWIucGF0Y2gKIDs7PXB1c2gr amFuCiAKIGRpZmYgLS1naXQgYS9nZGIvY29uZmlndXJlIGIvZ2RiL2NvbmZpZ3VyZQotaW5kZXgg OTA0Y2M0NTNhZC4uNmZiNWI1YjUwOSAxMDA3NTUKK2luZGV4IDNiNjA0ZmViMTEuLjlmMjM2YWUy NmEgMTAwNzU1CiAtLS0gYS9nZGIvY29uZmlndXJlCiArKysgYi9nZGIvY29uZmlndXJlCi1AQCAt OTUyOCwxMCArOTUyOCwxMiBAQCBfQUNFT0YKK0BAIC05NTk0LDEwICs5NTk0LDEyIEBAIF9BQ0VP RgogIAogIAogIApAQCAtMjksMTAgKzI5LDEwIEBAIGluZGV4IDkwNGNjNDUzYWQuLjZmYjViNWI1 MDkgMTAwNzU1CiAgICBUQVJHRVRfUFRSPSJ1bnNpZ25lZCBfX2ludDEyOCIKICBlbHNlCiBkaWZm IC0tZ2l0IGEvZ2RiL2NvbmZpZ3VyZS5hYyBiL2dkYi9jb25maWd1cmUuYWMKLWluZGV4IDE1NTc3 NjBlZDguLmQ4OTFjN2JjY2MgMTAwNjQ0CitpbmRleCBjNzA3ZTdiMTUyLi5kYzBhY2QwMzViIDEw MDY0NAogLS0tIGEvZ2RiL2NvbmZpZ3VyZS5hYwogKysrIGIvZ2RiL2NvbmZpZ3VyZS5hYwotQEAg LTgzMiwxMCArODMyLDEyIEBAIEFDX0NIRUNLX1NJWkVPRih1bnNpZ25lZCBsb25nIGxvbmcpCitA QCAtODM3LDEwICs4MzcsMTIgQEAgQUNfQ0hFQ0tfU0laRU9GKHVuc2lnbmVkIGxvbmcgbG9uZykK ICBBQ19DSEVDS19TSVpFT0YodW5zaWduZWQgbG9uZykKICBBQ19DSEVDS19TSVpFT0YodW5zaWdu ZWQgX19pbnQxMjgpCiAgCgpkaWZmIC0tZ2l0IGEvZ2RiLWxpbnV4X3BlcmYtYnVuZGxlLnBhdGNo IGIvZ2RiLWxpbnV4X3BlcmYtYnVuZGxlLnBhdGNoCmluZGV4IGIxYWI4NWIuLmUxODk0N2IgMTAw NjQ0Ci0tLSBhL2dkYi1saW51eF9wZXJmLWJ1bmRsZS5wYXRjaAorKysgYi9nZGItbGludXhfcGVy Zi1idW5kbGUucGF0Y2gKQEAgLTksMTAgKzksMTAgQEAgRmlsZU5hbWU6IGdkYi1saW51eF9wZXJm LWJ1bmRsZS5wYXRjaAogOzs9ZmVkb3JhCiAKIGRpZmYgLS1naXQgYS9nZGIvY29uZmlndXJlIGIv Z2RiL2NvbmZpZ3VyZQotaW5kZXggZGI4NDk1NzJiNS4uNzcyMGMwMGY0YiAxMDA3NTUKK2luZGV4 IGEyZDQ4MGMxZTUuLjRmMTAyYzNlZGUgMTAwNzU1CiAtLS0gYS9nZGIvY29uZmlndXJlCiArKysg Yi9nZGIvY29uZmlndXJlCi1AQCAtMTE5MDcsNyArMTE5MDcsNyBAQCBlbHNlCitAQCAtMTE5NzMs NyArMTE5NzMsNyBAQCBlbHNlCiAgCiAgI2luY2x1ZGUgPGxpbnV4L3BlcmZfZXZlbnQuaD4KICAj aWZuZGVmIFBFUkZfQVRUUl9TSVpFX1ZFUjUKQEAgLTIyLDEwICsyMiwxMCBAQCBpbmRleCBkYjg0 OTU3MmI1Li43NzIwYzAwZjRiIDEwMDc1NQogIAogIF9BQ0VPRgogZGlmZiAtLWdpdCBhL2dkYi9j b25maWd1cmUuYWMgYi9nZGIvY29uZmlndXJlLmFjCi1pbmRleCA0NDEyZTI1NDUwLi5lNjRiMGU4 MDZmIDEwMDY0NAoraW5kZXggNTdlYmNhZWIwOC4uMTg0MGY5MTY1MSAxMDA2NDQKIC0tLSBhL2dk Yi9jb25maWd1cmUuYWMKICsrKyBiL2dkYi9jb25maWd1cmUuYWMKLUBAIC0xNDY2LDcgKzE0NjYs NyBAQCBlbHNlCitAQCAtMTQ3MSw3ICsxNDcxLDcgQEAgZWxzZQogICAgQUNfUFJFUFJPQ19JRkVM U0UoQUNfTEFOR19TT1VSQ0UoW1sKICAjaW5jbHVkZSA8bGludXgvcGVyZl9ldmVudC5oPgogICNp Zm5kZWYgUEVSRl9BVFRSX1NJWkVfVkVSNQpAQCAtNTksNyArNTksNyBAQCBpbmRleCBiOTc1MDBl NTc5Li4xNTE1NDUxMDVjIDEwMDY0NAogICAgYXJncy5hcmdjID0gYXJnYzsKICAgIGFyZ3MuYXJn diA9IGFyZ3Y7CiBkaWZmIC0tZ2l0IGEvZ2RiL25hdC9saW51eC1idHJhY2UuaCBiL2dkYi9uYXQv bGludXgtYnRyYWNlLmgKLWluZGV4IDMxYThkOWU2N2IuLjcyZmFmMjNjNWYgMTAwNjQ0CitpbmRl eCAxMTgwMzAxOTBkLi5iYTRlNjE4YjExIDEwMDY0NAogLS0tIGEvZ2RiL25hdC9saW51eC1idHJh Y2UuaAogKysrIGIvZ2RiL25hdC9saW51eC1idHJhY2UuaAogQEAgLTI4LDYgKzI4LDE3NyBAQAoK ZGlmZiAtLWdpdCBhL2dkYi1tb3JpYnVuZC11dHJhY2Utd29ya2Fyb3VuZC5wYXRjaCBiL2dkYi1t b3JpYnVuZC11dHJhY2Utd29ya2Fyb3VuZC5wYXRjaAppbmRleCAzMzMxZjRkLi5hOTk5NjE5IDEw MDY0NAotLS0gYS9nZGItbW9yaWJ1bmQtdXRyYWNlLXdvcmthcm91bmQucGF0Y2gKKysrIGIvZ2Ri LW1vcmlidW5kLXV0cmFjZS13b3JrYXJvdW5kLnBhdGNoCkBAIC0xNCwxMCArMTQsMTAgQEAgaHR0 cDovL3NvdXJjZXMucmVkaGF0LmNvbS9idWd6aWxsYS9zaG93X2J1Zy5jZ2k/aWQ9MTE1OTMKIEJ1 ZyBpbiBGU0YgR0RCIGV4cGxvaXRlZCBieSB0aGUgcHRyYWNlLW9uLXV0cmFjZSBpbnRlcmFjdGlv bi4KIAogZGlmZiAtLWdpdCBhL2dkYi9icmVha3BvaW50LmMgYi9nZGIvYnJlYWtwb2ludC5jCi1p bmRleCA1YTk5ZGU3NWUxLi42YTBjMTViMjM5IDEwMDY0NAoraW5kZXggMzA1YmIzZjZjMC4uMDEw NmNlOGRkNSAxMDA2NDQKIC0tLSBhL2dkYi9icmVha3BvaW50LmMKICsrKyBiL2dkYi9icmVha3Bv aW50LmMKLUBAIC0xMjA4OSw2ICsxMjA4OSw4IEBAIHVwZGF0ZV9nbG9iYWxfbG9jYXRpb25fbGlz dCAoZW51bSB1Z2xsX2luc2VydF9tb2RlIGluc2VydF9tb2RlKQorQEAgLTEyMDE3LDYgKzEyMDE3 LDggQEAgdXBkYXRlX2dsb2JhbF9sb2NhdGlvbl9saXN0IChlbnVtIHVnbGxfaW5zZXJ0X21vZGUg aW5zZXJ0X21vZGUpCiAgCQkgdHJhcHMgd2UgY2FuIG5vIGxvbmdlciBleHBsYWluLiAgKi8KICAK ICAJICAgICAgb2xkX2xvYy0+ZXZlbnRzX3RpbGxfcmV0aXJlbWVudCA9IDMgKiAodGhyZWFkX2Nv dW50ICgpICsgMSk7CgpkaWZmIC0tZ2l0IGEvZ2RiLXBwYzY0LXN0d3V4LXRhdXRvbG9naWNhbC1j b21wYXJlLnBhdGNoIGIvZ2RiLXBwYzY0LXN0d3V4LXRhdXRvbG9naWNhbC1jb21wYXJlLnBhdGNo CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0MzI1ZTE3Li4wMDAwMDAwCi0tLSBhL2dk Yi1wcGM2NC1zdHd1eC10YXV0b2xvZ2ljYWwtY29tcGFyZS5wYXRjaAorKysgL2Rldi9udWxsCkBA IC0xLDUwICswLDAgQEAKLUZyb20gRkVET1JBX1BBVENIRVMgTW9uIFNlcCAxNyAwMDowMDowMCAy MDAxCi1Gcm9tOiBKYW4gS3JhdG9jaHZpbCA8amFuLmtyYXRvY2h2aWxAcmVkaGF0LmNvbT4KLURh dGU6IFN1biwgNCBGZWIgMjAxOCAyMTo0MjoxOCArMDEwMAotU3ViamVjdDogZ2RiLXBwYzY0LXN0 d3V4LXRhdXRvbG9naWNhbC1jb21wYXJlLnBhdGNoCi0KLUZpbGVOYW1lOiBnZGItcHBjNjQtc3R3 dXgtdGF1dG9sb2dpY2FsLWNvbXBhcmUucGF0Y2gKLQotOzsgRml4IHBwYzY0IHN0d3V4IGVuY29k aW5nIGFzIGZvdW5kIGJ5IGdjYy04LjAgLVdlcnJvcj10YXV0b2xvZ2ljYWwtY29tcGFyZS4KLQot W3BhdGNoXSBwcGM2NDogRml4IHN0d3V4IGVuY29kaW5nCi1odHRwczovL3NvdXJjZXdhcmUub3Jn L21sL2dkYi1wYXRjaGVzLzIwMTgtMDIvbXNnMDAwNTguaHRtbAotCi13aXRoIGdjYy04LjAuMS0w LjkuZmMyOC54ODZfNjQgSSBnZXQ6Ci0KLS4uLy4uL2dkYi9yczYwMDAtdGRlcC5jOiBJbiBmdW5j dGlvbiAnQ09SRV9BRERSIHNraXBfcHJvbG9ndWUoZ2RiYXJjaCosIENPUkVfQUREUiwgQ09SRV9B RERSLCByczYwMDBfZnJhbWVkYXRhKiknOgotLi4vLi4vZ2RiL3JzNjAwMC10ZGVwLmM6MTkxMToz NDogZXJyb3I6IGJpdHdpc2UgY29tcGFyaXNvbiBhbHdheXMgZXZhbHVhdGVzIHRvIGZhbHNlIFst V2Vycm9yPXRhdXRvbG9naWNhbC1jb21wYXJlXQotICAgICAgIGVsc2UgaWYgKChvcCAmIDB4ZmMx ZjAxNmEpID09IDB4N2MwMTAxNmUpCi0gICAgICAgICAgICAgICAgfn5+fn5+fn5+fn5+fn5+fn5+ Xn5+fn5+fn5+fn5+fgotCi1UaGUgY29kZSBpcyB0aGVyZSBzaW5jZToKLQljb21taXQgOThmMDhk M2Q5YjY5YjM0NGJiOGIwY2QyYTRiZGExY2Y0ZDk2NmUyMAotCUF1dGhvcjogS2V2aW4gQnVldHRu ZXIgPGtldmluYkByZWRoYXQuY29tPgotCURhdGU6ICAgVGh1IE1heSAyOSAxOTo0NzoxNCAyMDAz ICswMDAwCi0JCSAgICBGcm9tIEppbWkgWCA8amltaXhAd2F0c29uLmlibS5jb20+OgotCQkgICAg KiByczYwMDAtdGRlcC5jIChza2lwX3Byb2xvZ3VlKTogSW1wcm92ZSBzdXBwb3J0IGZvciA2NC1i aXQgY29kZS4KLVNvIEkgZG8gbm90IHRoaW5rIHdlIGNhbiBmaW5kIHRoZSBvcmlnaW5hbCBhdXRo b3IuCi0KLWh0dHBzOi8vd3d3LmlibS5jb20vc3VwcG9ydC9rbm93bGVkZ2VjZW50ZXIvZW4vc3N3 X2FpeF83Mi9jb20uaWJtLmFpeC5hbGFuZ3JlZi9pZGFsYW5ncmVmX3N0d3V4X3N0dXhfaW5zdHJz Lmh0bQotc2F5cwotCWJpdCAyMSAtIDMwID0gMTgzCi0JVGhvc2UgYXJlIGJpdHMgMS4uMTAgaW4g bm9ybWFsIGJpdCBvcmRlcjogMTgzPDwxID0gMHgxNmUKLQotZ2RiL0NoYW5nZUxvZwotMjAxOC0w Mi0wNCAgSmFuIEtyYXRvY2h2aWwgIDxqYW4ua3JhdG9jaHZpbEByZWRoYXQuY29tPgotCi0JKiBy czYwMDAtdGRlcC5jIChza2lwX3Byb2xvZ3VlKTogRml4IHN0d3V4IGVuY29kaW5nLgotCi1kaWZm IC0tZ2l0IGEvZ2RiL3JzNjAwMC10ZGVwLmMgYi9nZGIvcnM2MDAwLXRkZXAuYwotaW5kZXggMjNk MGRiM2I4Zi4uNTI3NWZmNWI5MSAxMDA2NDQKLS0tLSBhL2dkYi9yczYwMDAtdGRlcC5jCi0rKysg Yi9nZGIvcnM2MDAwLXRkZXAuYwotQEAgLTE5MDgsNyArMTkwOCw3IEBAIHNraXBfcHJvbG9ndWUg KHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoLCBDT1JFX0FERFIgcGMsIENPUkVfQUREUiBsaW1fcGMs Ci0gCSAgb2Zmc2V0ID0gZmRhdGEtPm9mZnNldDsKLSAJICBjb250aW51ZTsKLSAJfQotLSAgICAg IGVsc2UgaWYgKChvcCAmIDB4ZmMxZjAxNmEpID09IDB4N2MwMTAxNmUpCi0rICAgICAgZWxzZSBp ZiAoKG9wICYgMHhmYzFmMDE2ZSkgPT0gMHg3YzAxMDE2ZSkKLSAJewkJCS8qIHN0d3V4IHJYLHIx LHJZICovCi0gCSAgLyogTm8gd2F5IHRvIGZpZ3VyZSBvdXQgd2hhdCByMSBpcyBnb2luZyB0byBi ZS4gICovCi0gCSAgZmRhdGEtPmZyYW1lbGVzcyA9IDA7CgpkaWZmIC0tZ2l0IGEvZ2RiLXB5dGhv bi1naWwucGF0Y2ggYi9nZGItcHl0aG9uLWdpbC5wYXRjaAppbmRleCA3MmU5MzAyLi45YmEyYjA5 IDEwMDY0NAotLS0gYS9nZGItcHl0aG9uLWdpbC5wYXRjaAorKysgYi9nZGItcHl0aG9uLWdpbC5w YXRjaApAQCAtOSw3ICs5LDcgQEAgRmlsZU5hbWU6IGdkYi1weXRob24tZ2lsLnBhdGNoCiA7Oz1w dXNoCiAKIGRpZmYgLS1naXQgYS9nZGIvZG9jL3B5dGhvbi50ZXhpIGIvZ2RiL2RvYy9weXRob24u dGV4aQotaW5kZXggZWJkNDhmZmZlNy4uY2NmMDExZTM1ZSAxMDA2NDQKK2luZGV4IDQxODJiNjBj YTMuLmZiMDc0ZmFmNDMgMTAwNjQ0CiAtLS0gYS9nZGIvZG9jL3B5dGhvbi50ZXhpCiArKysgYi9n ZGIvZG9jL3B5dGhvbi50ZXhpCiBAQCAtMjMyLDYgKzIzMiwxNCBAQCByZXR1cm5lZCBhcyBhIHN0 cmluZy4gIFRoZSBkZWZhdWx0IGlzIEBjb2Rle0ZhbHNlfSwgaW4gd2hpY2ggY2FzZSB0aGUKQEAg LTI4LDcgKzI4LDcgQEAgaW5kZXggZWJkNDhmZmZlNy4uY2NmMDExZTM1ZSAxMDA2NDQKICAKICBA ZmluZGV4IGdkYi5icmVha3BvaW50cwogZGlmZiAtLWdpdCBhL2dkYi9weXRob24vcHl0aG9uLWlu dGVybmFsLmggYi9nZGIvcHl0aG9uL3B5dGhvbi1pbnRlcm5hbC5oCi1pbmRleCBjMTEwNTg4Zjc2 Li44OWJiYzY5ODdiIDEwMDY0NAoraW5kZXggMjY0MDBmNGZiYS4uYjhlMmQ5MDQ5ZCAxMDA2NDQK IC0tLSBhL2dkYi9weXRob24vcHl0aG9uLWludGVybmFsLmgKICsrKyBiL2dkYi9weXRob24vcHl0 aG9uLWludGVybmFsLmgKIEBAIC0xNDgsNiArMTQ4LDggQEAgdHlwZWRlZiBpbnQgUHlfc3NpemVf dDsKQEAgLTQxLDEwICs0MSwxMCBAQCBpbmRleCBjMTEwNTg4Zjc2Li44OWJiYzY5ODdiIDEwMDY0 NAogICNlbmRpZgogIAogZGlmZiAtLWdpdCBhL2dkYi9weXRob24vcHl0aG9uLmMgYi9nZGIvcHl0 aG9uL3B5dGhvbi5jCi1pbmRleCA0ODQ0Yzg2YzU0Li42MTBkZGE4MjhjIDEwMDY0NAoraW5kZXgg ZGIzNzMzMWRjNC4uNDIzM2IzN2ZhOCAxMDA2NDQKIC0tLSBhL2dkYi9weXRob24vcHl0aG9uLmMK ICsrKyBiL2dkYi9weXRob24vcHl0aG9uLmMKLUBAIC01NTQsMTIgKzU1NCwxNiBAQCBleGVjdXRl X2dkYl9jb21tYW5kIChQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MsIFB5T2JqZWN0ICpr dykKK0BAIC01NTYsMTIgKzU1NiwxNiBAQCBleGVjdXRlX2dkYl9jb21tYW5kIChQeU9iamVjdCAq c2VsZiwgUHlPYmplY3QgKmFyZ3MsIFB5T2JqZWN0ICprdykKICB7CiAgICBjb25zdCBjaGFyICph cmc7CiAgICBQeU9iamVjdCAqZnJvbV90dHlfb2JqID0gTlVMTCwgKnRvX3N0cmluZ19vYmogPSBO VUxMOwpAQCAtNjUsNyArNjUsNyBAQCBpbmRleCA0ODQ0Yzg2YzU0Li42MTBkZGE4MjhjIDEwMDY0 NAogICAgICByZXR1cm4gTlVMTDsKICAKICAgIGZyb21fdHR5ID0gMDsKLUBAIC01ODAsMTIgKzU4 NCwyOCBAQCBleGVjdXRlX2dkYl9jb21tYW5kIChQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFy Z3MsIFB5T2JqZWN0ICprdykKK0BAIC01ODIsNiArNTg2LDE1IEBAIGV4ZWN1dGVfZ2RiX2NvbW1h bmQgKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncywgUHlPYmplY3QgKmt3KQogICAgICAg IHRvX3N0cmluZyA9IGNtcDsKICAgICAgfQogIApAQCAtODEsOCArODEsOSBAQCBpbmRleCA0ODQ0 Yzg2YzU0Li42MTBkZGE4MjhjIDEwMDY0NAogICAgc3RkOjpzdHJpbmcgdG9fc3RyaW5nX3JlczsK ICAKICAgIFRSWQotICAgICB7Ci0gICAgICAgc3RydWN0IGludGVycCAqaW50ZXJwOworQEAgLTYw Miw2ICs2MTUsMTMgQEAgZXhlY3V0ZV9nZGJfY29tbWFuZCAoUHlPYmplY3QgKnNlbGYsIFB5T2Jq ZWN0ICphcmdzLCBQeU9iamVjdCAqa3cpCisgCisgICAgICAgY291bnRlZF9jb21tYW5kX2xpbmUg bGluZXMgPSByZWFkX2NvbW1hbmRfbGluZXNfMSAocmVhZGVyLCAxLCBudWxscHRyKTsKICAKICsg ICAgICAvKiBJbiB0aGUgY2FzZSBvZiBsb25nIHJ1bm5pbmcgR0RCIGNvbW1hbmRzLCBhbGxvdyB0 aGUgdXNlciB0bwogKwkgcmVsZWFzZSB0aGUgUHl0aG9uIEdJTCBhY3F1aXJlZCBieSBQeXRob24u ICBSZXN0b3JlIHRoZSBHSUwKQEAgLTk0LDEwICs5NSwxMCBAQCBpbmRleCA0ODQ0Yzg2YzU0Li42 MTBkZGE4MjhjIDEwMDY0NAogICAgICAgIHNjb3BlZF9yZXN0b3JlIHNhdmVfYXN5bmMgPSBtYWtl X3Njb3BlZF9yZXN0b3JlICgmY3VycmVudF91aS0+YXN5bmMsIDApOwogIAogICAgICAgIHNjb3Bl ZF9yZXN0b3JlIHNhdmVfdWlvdXQgPSBtYWtlX3Njb3BlZF9yZXN0b3JlICgmY3VycmVudF91aW91 dCk7Ci1AQCAtNjAwLDEwICs2MjAsMjIgQEAgZXhlY3V0ZV9nZGJfY29tbWFuZCAoUHlPYmplY3Qg KnNlbGYsIFB5T2JqZWN0ICphcmdzLCBQeU9iamVjdCAqa3cpCi0gCXRvX3N0cmluZ19yZXMgPSBl eGVjdXRlX2NvbW1hbmRfdG9fc3RyaW5nIChhcmcsIGZyb21fdHR5KTsKK0BAIC02MTcsMTAgKzYz NywyMiBAQCBleGVjdXRlX2dkYl9jb21tYW5kIChQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFy Z3MsIFB5T2JqZWN0ICprdykKKyAJCQkJCQkJICAgIGZyb21fdHR5KTsKICAgICAgICBlbHNlCi0g CWV4ZWN1dGVfY29tbWFuZCAoYXJnLCBmcm9tX3R0eSk7CisgCWV4ZWN1dGVfY29udHJvbF9jb21t YW5kcyAobGluZXMuZ2V0ICgpLCBmcm9tX3R0eSk7CiArCiArICAgICAgLyogUmVhY3F1aXJlIHRo ZSBHSUwgaWYgaXQgd2FzIHJlbGVhc2VkIGVhcmxpZXIuICAqLwogKyAgICAgIGlmIChyZWxlYXNl X2dpbCkKCmRpZmYgLS1naXQgYS9nZGItcmVhZGxpbmU2Mi1hc2stbW9yZS1yaC5wYXRjaCBiL2dk Yi1yZWFkbGluZTYyLWFzay1tb3JlLXJoLnBhdGNoCmluZGV4IGNhZjNkMzMuLmExZjdlOTcgMTAw NjQ0Ci0tLSBhL2dkYi1yZWFkbGluZTYyLWFzay1tb3JlLXJoLnBhdGNoCisrKyBiL2dkYi1yZWFk bGluZTYyLWFzay1tb3JlLXJoLnBhdGNoCkBAIC05LDcgKzksNyBAQCBGaWxlTmFtZTogZ2RiLXJl YWRsaW5lNjItYXNrLW1vcmUtcmgucGF0Y2gKIDs7PWZlZG9yYQogCiBkaWZmIC0tZ2l0IGEvZ2Ri L2V2ZW50LXRvcC5jIGIvZ2RiL2V2ZW50LXRvcC5jCi1pbmRleCAwZDY2OGYzNWUwLi40YWEyNjEy NWY5IDEwMDY0NAoraW5kZXggZDkzNzliNDJjNS4uNDRkOWE4YzRlNiAxMDA2NDQKIC0tLSBhL2dk Yi9ldmVudC10b3AuYwogKysrIGIvZ2RiL2V2ZW50LXRvcC5jCiBAQCAtMTE4Myw2ICsxMTgzLDEz IEBAIGdkYl9zZXR1cF9yZWFkbGluZSAoaW50IGVkaXRpbmcpCgpkaWZmIC0tZ2l0IGEvZ2RiLXJo YnoxMzQ3OTkzLWFhcmNoNjQtaHctd2F0Y2hwb2ludC5wYXRjaCBiL2dkYi1yaGJ6MTM0Nzk5My1h YXJjaDY0LWh3LXdhdGNocG9pbnQucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4 IGI3NmE0MDMuLjAwMDAwMDAKLS0tIGEvZ2RiLXJoYnoxMzQ3OTkzLWFhcmNoNjQtaHctd2F0Y2hw b2ludC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDEyMjkgKzAsMCBAQAotRnJvbSBGRURPUkFf UEFUQ0hFUyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IFNlcmdpbyBEdXJpZ2FuIEp1 bmlvciA8c2VyZ2lvZGpAcmVkaGF0LmNvbT4KLURhdGU6IFRodSwgMTcgTWF5IDIwMTggMTU6MDk6 MDIgLTA0MDAKLVN1YmplY3Q6IEZpeCBtaXNzZWQgdW5hbGlnbmVkIGhhcmR3YXJlIHdhdGNocG9p bnRzIChSSCBCWiAxMzQ3OTkzKS4KLQotRmlsZU5hbWU6IGdkYi1yaGJ6MTM0Nzk5My1hYXJjaDY0 LWh3LXdhdGNocG9pbnQucGF0Y2gKLQotOzsgW2FhcmNoNjRdIEZpeCBtaXNzZWQgdW5hbGlnbmVk IGhhcmR3YXJlIHdhdGNocG9pbnRzIChSSCBCWiAxMzQ3OTkzKS4KLQotY29tbWl0IGEzYjYwZTQ1 ODg2MDYzNTRiOTM1MDhhMDAwOGE1Y2EwNGI2OGZhZDgKLUF1dGhvcjogSmFuIEtyYXRvY2h2aWwg PGphbi5rcmF0b2NodmlsQHJlZGhhdC5jb20+Ci1EYXRlOiAgIEZyaSBNYXkgNCAyMjoyMjowNCAy MDE4ICswMjAwCi0KLWFhcmNoNjQ6IFBSIDE5ODA2OiB3YXRjaHBvaW50czogZmFsc2UgbmVnYXRp dmVzICsgUFIgMjAyMDcgY29udGlndW91cyBvbmVzCi0KLVNvbWUgdW5hbGlnbmVkIHdhdGNocG9p bnRzIHdlcmUgY3VycmVudGx5IG1pc3NlZC4KLQotT24gb2xkIGtlcm5lbHMgYXMgc3BlY2lmaWVk IGluCi0Ja2VybmVsIFJGRTogYWFyY2g2NDogcHRyYWNlOiBCQVM6IFN1cHBvcnQgYW55IGNvbnRp Z3VvdXMgcmFuZ2UgKGVkaXQpCi0JaHR0cHM6Ly9zb3VyY2V3YXJlLm9yZy9idWd6aWxsYS9zaG93 X2J1Zy5jZ2k/aWQ9MjAyMDcKLWFmdGVyIHRoaXMgcGF0Y2ggc29tZSBvdGhlciB1bmFsaWduZWQg d2F0Y2hwb2ludHMgd2lsbCBnZXQgcmVwb3J0ZWQgYXMgZmFsc2UKLXBvc2l0aXZlcy4KLQotV2l0 aCBuZXcga2VybmVscyBhbGwgdGhlIHdhdGNocG9pbnRzIHNob3VsZCB3b3JrIGV4YWN0bHkuCi0K LVRoZXJlIG1heSBiZSBhIHJlZ3Jlc2lvbiB0aGF0IGl0IG5vdyBsZXNzIG1lcmdlcyB3YXRjaHBv aW50cyBzbyB0aGF0IHdpdGgKLW11bHRpcGxlIG92ZXJsYXBwaW5nIHdhdGNocG9pbnRzIGl0IG1h eSBydW4gb3V0IG9mIHRoZSA0IGhhcmR3YXJlIHdhdGNocG9pbnQKLXJlZ2lzdGVycy4gIEJ1dCBh cyBkaXNjdXNzZWQgaW4gdGhlIG9yaWdpbmFsIHRocmVhZCBHREIgbmVlZHMgc29tZSBnZW5lcmlj Ci13YXRjaHBvaW50cyBtZXJnaW5nIGZyYW1ld29yayB0byBiZSB1c2VkIGJ5IGFsbCB0aGUgdGFy Z2V0IHNwZWNpZmljIGNvZGUuCi1FdmVuIGN1cnJlbnQgRlNGIEdEQiBjb2RlIGRvZXMgbm90IG1l cmdlIGl0IHBlcmZlY3RseS4gIEFsc28gd2l0aCB0aGUgbW9yZQotcHJlY2lzZSB3YXRjaHBvaW50 cyBvbmUgY2FuIHRlY2huaWNhbGx5IG1lcmdlIHRoZW0gbGVzcy4gIEFuZCBJIGRvIG5vdCB0aGlu awotaXQgbWF0dGVycyB0b28gbXVjaCB0byBpbXByb3ZlIG1lcmdlYWJpbGl0eSBvbmx5IGZvciBv bGQga2VybmVscy4KLVN0aWxsIGV2ZW4gb24gbmV3IGtlcm5lbHMgc29tZSBiZXR0ZXIgbWVyZ2lu ZyBsb2dpYyB3b3VsZCBtYWtlIHNlbnNlLgotCi1UaGVyZSByZW1haW5zIG9uZSBpc3N1ZToKLQlr ZXJuZWwtNC4xNS4xNC0zMDAuZmMyNy5hcm12N2hsCi0JRkFJTDogZ2RiLmJhc2Uvd2F0Y2hwb2lu dC11bmFsaWduZWQuZXhwOiBjb250aW51ZQotCUZBSUw6IGdkYi5iYXNlL3dhdGNocG9pbnQtdW5h bGlnbmVkLmV4cDogY29udGludWUKLQkoZ2RiKSBjb250aW51ZQotCUNvbnRpbnVpbmcuCi0JVW5l eHBlY3RlZCBlcnJvciBzZXR0aW5nIHdhdGNocG9pbnQ6IEludmFsaWQgYXJndW1lbnQuCi0JKGdk YikgRkFJTDogZ2RiLmJhc2Uvd2F0Y2hwb2ludC11bmFsaWduZWQuZXhwOiBjb250aW51ZQotQnV0 IHRoYXQgbG9va3MgYXMgYSBrZXJuZWwgYnVnIHRvIG1lLgotKDEpIEl0IGlzIG5vdCBhIHJlZ3Jl c3Npb24gYnkgdGhpcyBwYXRjaC4KLSgyKSBJdCBpcyB1bnJlbGF0ZWQgdG8gdGhpcyBwYXRjaC4K LQotZ2RiL0NoYW5nZUxvZwotMjAxOC0wNS0wNCAgSmFuIEtyYXRvY2h2aWwgIDxqYW4ua3JhdG9j aHZpbEByZWRoYXQuY29tPgotCSAgICBQZWRybyBBbHZlcyA8cGFsdmVzQHJlZGhhdC5jb20+Ci0K LQlQUiBicmVha3BvaW50cy8xOTgwNiBhbmQgc3VwcG9ydCBmb3IgUFIgZXh0ZXJuYWwvMjAyMDcu Ci0JKiBORVdTOiBNZW50aW9uIEFhcmNoNjQgd2F0Y2hwb2ludCBpbXByb3ZlbWVudHMuCi0JKiBh YXJjaDY0LWxpbnV4LW5hdC5jIChhYXJjaDY0X2xpbnV4X3N0b3BwZWRfZGF0YV9hZGRyZXNzKTog Rml4IG1pc3NlZAotCXdhdGNocG9pbnRzIGFuZCBQUiBleHRlcm5hbC8yMDIwNyB3YXRjaHBvaW50 cy4KLQkqIG5hdC9hYXJjaDY0LWxpbnV4LWh3LXBvaW50LmMKLQkoa2VybmVsX3N1cHBvcnRzX2Fu eV9jb250aWd1b3VzX3JhbmdlKTogTmV3LgotCShhYXJjaDY0X3dhdGNocG9pbnRfb2Zmc2V0KTog TmV3LgotCShhYXJjaDY0X3dhdGNocG9pbnRfbGVuZ3RoKTogU3VwcG9ydCBQUiBleHRlcm5hbC8y MDIwNyB3YXRjaHBvaW50cy4KLQkoYWFyY2g2NF9wb2ludF9lbmNvZGVfY3RybF9yZWcpOiBOZXcg cGFyYW1ldGVyIG9mZnNldCwgbmV3IGFzc2VydHMuCi0JKGFhcmNoNjRfcG9pbnRfaXNfYWxpZ25l ZCk6IFN1cHBvcnQgUFIgZXh0ZXJuYWwvMjAyMDcgd2F0Y2hwb2ludHMuCi0JKGFhcmNoNjRfYWxp Z25fd2F0Y2hwb2ludCk6IE5ldyBwYXJhbWV0ZXJzIGFsaWduZWRfb2Zmc2V0X3AgYW5kCi0JbmV4 dF9hZGRyX29yaWdfcC4gIFN1cHBvcnQgUFIgZXh0ZXJuYWwvMjAyMDcgd2F0Y2hwb2ludHMuCi0J KGFhcmNoNjRfZG93bmdyYWRlX3JlZ3MpOiBOZXcuCi0JKGFhcmNoNjRfZHJfc3RhdGVfaW5zZXJ0 X29uZV9wb2ludCk6IE5ldyBwYXJhbWV0ZXJzIG9mZnNldCBhbmQKLQlhZGRyX29yaWcuCi0JKGFh cmNoNjRfZHJfc3RhdGVfcmVtb3ZlX29uZV9wb2ludCk6IExpa2V3aXNlLgotCShhYXJjaDY0X2hh bmRsZV9icmVha3BvaW50KTogVXBkYXRlIGNhbGxlci4KLQkoYWFyY2g2NF9oYW5kbGVfYWxpZ25l ZF93YXRjaHBvaW50KTogTGlrZXdpc2UuCi0JKGFhcmNoNjRfaGFuZGxlX3VuYWxpZ25lZF93YXRj aHBvaW50KTogU3VwcG9ydCBhZGRyX29yaWcgYW5kCi0JYWxpZ25lZF9vZmZzZXQuCi0JKGFhcmNo NjRfbGludXhfc2V0X2RlYnVnX3JlZ3MpOiBSZW1vdmUgY29uc3QgZnJvbSBzdGF0ZS4gIENhbGwK LQlhYXJjaDY0X2Rvd25ncmFkZV9yZWdzLgotCShhYXJjaDY0X3Nob3dfZGVidWdfcmVnX3N0YXRl KTogUHJpbnQgYWxzbyBkcl9hZGRyX29yaWdfd3AuCi0JKiBuYXQvYWFyY2g2NC1saW51eC1ody1w b2ludC5oIChEUl9DT05UUk9MX0xFTkdUSCk6IFJlbmFtZSB0byAuLi4KLQkoRFJfQ09OVFJPTF9N QVNLKTogLi4uIHRoaXMuCi0JKHN0cnVjdCBhYXJjaDY0X2RlYnVnX3JlZ19zdGF0ZSk6IE5ldyBm aWVsZCBkcl9hZGRyX29yaWdfd3AuCi0JKHVuc2lnbmVkIGludCBhYXJjaDY0X3dhdGNocG9pbnRf b2Zmc2V0KTogTmV3IHByb3RvdHlwZS4KLQkoYWFyY2g2NF9saW51eF9zZXRfZGVidWdfcmVncyk6 IFJlbW92ZSBjb25zdCBmcm9tIHN0YXRlLgotCSogdXRpbHMuYyAoYWxpZ25fdXAsIGFsaWduX2Rv d24pOiBNb3ZlIHRvIC4uLgotCSogY29tbW9uL2NvbW1vbi11dGlscy5jIChhbGlnbl91cCwgYWxp Z25fZG93bik6IC4uLiBoZXJlLgotCSogdXRpbHMuaCAoYWxpZ25fdXAsIGFsaWduX2Rvd24pOiBN b3ZlIHRvIC4uLgotCSogY29tbW9uL2NvbW1vbi11dGlscy5oIChhbGlnbl91cCwgYWxpZ25fZG93 bik6IC4uLiBoZXJlLgotCi1nZGIvZ2Ric2VydmVyL0NoYW5nZUxvZwotMjAxOC0wNS0wNCAgSmFu IEtyYXRvY2h2aWwgIDxqYW4ua3JhdG9jaHZpbEByZWRoYXQuY29tPgotCSAgICBQZWRybyBBbHZl cyA8cGFsdmVzQHJlZGhhdC5jb20+Ci0KLQkqIGxpbnV4LWFhcmNoNjQtbG93LmMgKGFhcmNoNjRf c3RvcHBlZF9kYXRhX2FkZHJlc3MpOgotCUxpa2V3aXNlLgotCi1nZGIvdGVzdHN1aXRlL0NoYW5n ZUxvZwotMjAxOC0wNS0wNCAgSmFuIEtyYXRvY2h2aWwgIDxqYW4ua3JhdG9jaHZpbEByZWRoYXQu Y29tPgotCSAgICBQZWRybyBBbHZlcyA8cGFsdmVzQHJlZGhhdC5jb20+Ci0KLQlQUiBicmVha3Bv aW50cy8xOTgwNiBhbmQgc3VwcG9ydCBmb3IgUFIgZXh0ZXJuYWwvMjAyMDcuCi0JKiBnZGIuYmFz ZS93YXRjaHBvaW50LXVuYWxpZ25lZC5jOiBOZXcgZmlsZS4KLQkqIGdkYi5iYXNlL3dhdGNocG9p bnQtdW5hbGlnbmVkLmV4cDogTmV3IGZpbGUuCi0KLWRpZmYgLS1naXQgYS9nZGIvTkVXUyBiL2dk Yi9ORVdTCi1pbmRleCBmNDBlYjZjMzkwLi5iN2EzYmMyNjM1IDEwMDY0NAotLS0tIGEvZ2RiL05F V1MKLSsrKyBiL2dkYi9ORVdTCi1AQCAtMSw2ICsxLDE4IEBACi0gCQlXaGF0IGhhcyBjaGFuZ2Vk IGluIEdEQj8KLSAJICAgICAoT3JnYW5pemVkIHJlbGVhc2UgYnkgcmVsZWFzZSkKLSAKLSsqKiog Q2hhbmdlcyBzaW5jZSBHREIgOC4xCi0rCi0rKiBBYXJjaDY0L0xpbnV4IGhhcmR3YXJlIHdhdGNo cG9pbnRzIGltcHJvdmVtZW50cwotKwotKyAgSGFyZHdhcmUgd2F0Y2hwb2ludHMgb24gdW5hbGln bmVkIGFkZHJlc3NlcyBhcmUgbm93IHByb3Blcmx5Ci0rICBzdXBwb3J0ZWQgd2hlbiBydW5uaW5n IExpbnV4IGtlcm5lbCA0LjEwIG9yIGhpZ2hlcjogcmVhZCBhbmQgYWNjZXNzCi0rICB3YXRjaHBv aW50cyBhcmUgbm8gbG9uZ2VyIHNwdXJpb3VzbHkgbWlzc2VkLCBhbmQgYWxsIHdhdGNocG9pbnRz Ci0rICBsZW5ndGhzIGJldHdlZW4gMSBhbmQgOCBieXRlcyBhcmUgc3VwcG9ydGVkLiAgT24gb2xk ZXIga2VybmVscywKLSsgIHdhdGNocG9pbnRzIHNldCBvbiB1bmFsaWduZWQgYWRkcmVzc2VzIGFy ZSBubyBsb25nZXIgbWlzc2VkLCB3aXRoCi0rICB0aGUgdHJhZGVvZmYgdGhhdCB0aGVyZSBpcyBh IHBvc3NpYmlsaXR5IG9mIGZhbHNlIGhpdHMgYmVpbmcKLSsgIHJlcG9ydGVkLgotKwotICoqKiBD aGFuZ2VzIGluIEdEQiA4LjEKLSAKLSAqIEZvcnRyYW46IFN1cHBvcnQgcG9pbnRlcnMgdG8gZHlu YW1pYyB0eXBlcy4KLWRpZmYgLS1naXQgYS9nZGIvYWFyY2g2NC1saW51eC1uYXQuYyBiL2dkYi9h YXJjaDY0LWxpbnV4LW5hdC5jCi1pbmRleCBmMDhiZjAzOWU0Li5hYTNiOWE3ODAwIDEwMDY0NAot LS0tIGEvZ2RiL2FhcmNoNjQtbGludXgtbmF0LmMKLSsrKyBiL2dkYi9hYXJjaDY0LWxpbnV4LW5h dC5jCi1AQCAtNzM1LDE3ICs3MzUsMzkgQEAgYWFyY2g2NF9saW51eF9zdG9wcGVkX2RhdGFfYWRk cmVzcyAoc3RydWN0IHRhcmdldF9vcHMgKnRhcmdldCwKLSAgIHN0YXRlID0gYWFyY2g2NF9nZXRf ZGVidWdfcmVnX3N0YXRlIChwdGlkX2dldF9waWQgKGluZmVyaW9yX3B0aWQpKTsKLSAgIGZvciAo aSA9IGFhcmNoNjRfbnVtX3dwX3JlZ3MgLSAxOyBpID49IDA7IC0taSkKLSAgICAgewotKyAgICAg IGNvbnN0IHVuc2lnbmVkIGludCBvZmZzZXQKLSsJPSBhYXJjaDY0X3dhdGNocG9pbnRfb2Zmc2V0 IChzdGF0ZS0+ZHJfY3RybF93cFtpXSk7Ci0gICAgICAgY29uc3QgdW5zaWduZWQgaW50IGxlbiA9 IGFhcmNoNjRfd2F0Y2hwb2ludF9sZW5ndGggKHN0YXRlLT5kcl9jdHJsX3dwW2ldKTsKLSAgICAg ICBjb25zdCBDT1JFX0FERFIgYWRkcl90cmFwID0gKENPUkVfQUREUikgc2lnaW5mby5zaV9hZGRy OwotLSAgICAgIGNvbnN0IENPUkVfQUREUiBhZGRyX3dhdGNoID0gc3RhdGUtPmRyX2FkZHJfd3Bb aV07Ci0rICAgICAgY29uc3QgQ09SRV9BRERSIGFkZHJfd2F0Y2ggPSBzdGF0ZS0+ZHJfYWRkcl93 cFtpXSArIG9mZnNldDsKLSsgICAgICBjb25zdCBDT1JFX0FERFIgYWRkcl93YXRjaF9hbGlnbmVk ID0gYWxpZ25fZG93biAoc3RhdGUtPmRyX2FkZHJfd3BbaV0sIDgpOwotKyAgICAgIGNvbnN0IENP UkVfQUREUiBhZGRyX29yaWcgPSBzdGF0ZS0+ZHJfYWRkcl9vcmlnX3dwW2ldOwotIAotICAgICAg IGlmIChzdGF0ZS0+ZHJfcmVmX2NvdW50X3dwW2ldCi0gCSAgJiYgRFJfQ09OVFJPTF9FTkFCTEVE IChzdGF0ZS0+ZHJfY3RybF93cFtpXSkKLS0JICAmJiBhZGRyX3RyYXAgPj0gYWRkcl93YXRjaAot KwkgICYmIGFkZHJfdHJhcCA+PSBhZGRyX3dhdGNoX2FsaWduZWQKLSAJICAmJiBhZGRyX3RyYXAg PCBhZGRyX3dhdGNoICsgbGVuKQotIAl7Ci0tCSAgKmFkZHJfcCA9IGFkZHJfdHJhcDsKLS0JICBy ZXR1cm4gMTsKLSsJICAvKiBBRERSX1RSQVAgcmVwb3J0cyB0aGUgZmlyc3QgYWRkcmVzcyBvZiB0 aGUgbWVtb3J5IHJhbmdlCi0rCSAgICAgYWNjZXNzZWQgYnkgdGhlIENQVSwgcmVnYXJkbGVzcyBv ZiB3aGF0IHdhcyB0aGUgbWVtb3J5Ci0rCSAgICAgcmFuZ2Ugd2F0Y2hlZC4gIFRodXMsIGEgbGFy Z2UgQ1BVIGFjY2VzcyB0aGF0IHN0cmFkZGxlcwotKwkgICAgIHRoZSBBRERSX1dBVENILi5BRERS X1dBVENIK0xFTiByYW5nZSBtYXkgcmVzdWx0IGluIGFuCi0rCSAgICAgQUREUl9UUkFQIHRoYXQg aXMgbG93ZXIgdGhhbiB0aGUKLSsJICAgICBBRERSX1dBVENILi5BRERSX1dBVENIK0xFTiByYW5n ZS4gIEUuZy46Ci0rCi0rCSAgICAgYWRkcjogfCAgIDQgICB8ICAgNSAgIHwgICA2ICAgfCAgIDcg ICB8ICAgOCAgIHwKLSsJCQkJICAgfC0tLS0gcmFuZ2Ugd2F0Y2hlZCAtLS0tfAotKwkJICAgfC0t LS0tLS0tLS0tIHJhbmdlIGFjY2Vzc2VkIC0tLS0tLS0tLS0tLXwKLSsKLSsJICAgICBJbiB0aGlz IGNhc2UsIEFERFJfVFJBUCB3aWxsIGJlIDQuCi0rCi0rCSAgICAgVG8gbWF0Y2ggYSB3YXRjaHBv aW50IGtub3duIHRvIEdEQiBjb3JlLCB3ZSBtdXN0IG5ldmVyCi0rCSAgICAgcmVwb3J0ICpBRERS X1Agb3V0c2lkZSBvZiBhbnkgQUREUl9XQVRDSC4uQUREUl9XQVRDSCtMRU4KLSsJICAgICByYW5n ZS4gIEFERFJfV0FUQ0ggPD0gQUREUl9UUkFQIDwgQUREUl9PUklHIGlzIGEgZmFsc2UKLSsJICAg ICBwb3NpdGl2ZSBvbiBrZXJuZWxzIG9sZGVyIHRoYW4gNC4xMC4gIFNlZSBQUgotKwkgICAgIGV4 dGVybmFsLzIwMjA3LiAgKi8KLSsJICAqYWRkcl9wID0gYWRkcl9vcmlnOwotKwkgIHJldHVybiB0 cnVlOwotIAl9Ci0gICAgIH0KLSAKLWRpZmYgLS1naXQgYS9nZGIvY29tbW9uL2NvbW1vbi11dGls cy5jIGIvZ2RiL2NvbW1vbi9jb21tb24tdXRpbHMuYwotaW5kZXggYWUyZGQ5ZGIyYi4uMjRiMzkz NmYzZCAxMDA2NDQKLS0tLSBhL2dkYi9jb21tb24vY29tbW9uLXV0aWxzLmMKLSsrKyBiL2dkYi9j b21tb24vY29tbW9uLXV0aWxzLmMKLUBAIC00MDgsMyArNDA4LDIzIEBAIHN0cmluZ2lmeV9hcmd2 IChjb25zdCBzdGQ6OnZlY3RvcjxjaGFyICo+ICZhcmdzKQotIAotICAgcmV0dXJuIHJldDsKLSB9 Ci0rCi0rLyogU2VlIGNvbW1vbi9jb21tb24tdXRpbHMuaC4gICovCi0rCi0rVUxPTkdFU1QKLSth bGlnbl91cCAoVUxPTkdFU1QgdiwgaW50IG4pCi0rewotKyAgLyogQ2hlY2sgdGhhdCBOIGlzIHJl YWxseSBhIHBvd2VyIG9mIHR3by4gICovCi0rICBnZGJfYXNzZXJ0IChuICYmIChuICYgKG4tMSkp ID09IDApOwotKyAgcmV0dXJuICh2ICsgbiAtIDEpICYgLW47Ci0rfQotKwotKy8qIFNlZSBjb21t b24vY29tbW9uLXV0aWxzLmguICAqLwotKwotK1VMT05HRVNUCi0rYWxpZ25fZG93biAoVUxPTkdF U1QgdiwgaW50IG4pCi0rewotKyAgLyogQ2hlY2sgdGhhdCBOIGlzIHJlYWxseSBhIHBvd2VyIG9m IHR3by4gICovCi0rICBnZGJfYXNzZXJ0IChuICYmIChuICYgKG4tMSkpID09IDApOwotKyAgcmV0 dXJuICh2ICYgLW4pOwotK30KLWRpZmYgLS1naXQgYS9nZGIvY29tbW9uL2NvbW1vbi11dGlscy5o IGIvZ2RiL2NvbW1vbi9jb21tb24tdXRpbHMuaAotaW5kZXggMjMyMDMxOGRlNy4uYTk2MTUxNGZk NiAxMDA2NDQKLS0tLSBhL2dkYi9jb21tb24vY29tbW9uLXV0aWxzLmgKLSsrKyBiL2dkYi9jb21t b24vY29tbW9uLXV0aWxzLmgKLUBAIC0xNDYsNCArMTQ2LDM2IEBAIGluX2luY2x1c2l2ZV9yYW5n ZSAoVCB2YWx1ZSwgVCBsb3csIFQgaGlnaCkKLSAgIHJldHVybiB2YWx1ZSA+PSBsb3cgJiYgdmFs dWUgPD0gaGlnaDsKLSB9Ci0gCi0rLyogRW5zdXJlIHRoYXQgViBpcyBhbGlnbmVkIHRvIGFuIE4g Ynl0ZSBib3VuZGFyeSAoQidzIGFzc3VtZWQgdG8gYmUgYQotKyAgIHBvd2VyIG9mIDIpLiAgUm91 bmQgdXAvZG93biB3aGVuIG5lY2Vzc2FyeS4gIEV4YW1wbGVzIG9mIGNvcnJlY3QKLSsgICB1c2Ug aW5jbHVkZToKLSsKLSsgICAgYWRkciA9IGFsaWduX3VwIChhZGRyLCA4KTsgLS0gVkFMVUUgbmVl ZHMgOCBieXRlIGFsaWdubWVudAotKyAgICB3cml0ZV9tZW1vcnkgKGFkZHIsIHZhbHVlLCBsZW4p OwotKyAgICBhZGRyICs9IGxlbjsKLSsKLSsgICBhbmQ6Ci0rCi0rICAgIHNwID0gYWxpZ25fZG93 biAoc3AgLSBsZW4sIDE2KTsgLS0gS2VlcCBTUCAxNiBieXRlIGFsaWduZWQKLSsgICAgd3JpdGVf bWVtb3J5IChzcCwgdmFsdWUsIGxlbik7Ci0rCi0rICAgTm90ZSB0aGF0IHVzZXMgc3VjaCBhczoK LSsKLSsgICAgd3JpdGVfbWVtb3J5IChhZGRyLCB2YWx1ZSwgbGVuKTsKLSsgICAgYWRkciArPSBh bGlnbl91cCAobGVuLCA4KTsKLSsKLSsgICBhbmQ6Ci0rCi0rICAgIHNwIC09IGFsaWduX3VwIChs ZW4sIDgpOwotKyAgICB3cml0ZV9tZW1vcnkgKHNwLCB2YWx1ZSwgbGVuKTsKLSsKLSsgICBhcmUg dHlwaWNhbGx5IG5vdCBjb3JyZWN0IGFzIHRoZXkgZG9uJ3QgZW5zdXJlIHRoYXQgdGhlIGFkZHJl c3MgKFNQCi0rICAgb3IgQUREUikgaXMgY29ycmVjdGx5IGFsaWduZWQgKHJlbHlpbmcgb24gcHJl dmlvdXMgYWxpZ25tZW50IHRvCi0rICAga2VlcCB0aGluZ3MgcmlnaHQpLiAgVGhpcyBpcyBhbHNv IHdoeSB0aGUgbWV0aG9kcyBhcmUgY2FsbGVkCi0rICAgImFsaWduXy4uLiIgaW5zdGVhZCBvZiAi cm91bmRfLi4uIiBhcyB0aGUgbGF0dGVyIHJlYWRzIGJldHRlciB3aXRoCi0rICAgdGhpcyBpbmNv cnJlY3QgY29kaW5nIHN0eWxlLiAgKi8KLSsKLStleHRlcm4gVUxPTkdFU1QgYWxpZ25fdXAgKFVM T05HRVNUIHYsIGludCBuKTsKLStleHRlcm4gVUxPTkdFU1QgYWxpZ25fZG93biAoVUxPTkdFU1Qg diwgaW50IG4pOwotKwotICNlbmRpZgotZGlmZiAtLWdpdCBhL2dkYi9nZGJzZXJ2ZXIvbGludXgt YWFyY2g2NC1sb3cuYyBiL2dkYi9nZGJzZXJ2ZXIvbGludXgtYWFyY2g2NC1sb3cuYwotaW5kZXgg ZWNjYWM0ZGExMy4uN2VhMjRjMjM2MyAxMDA2NDQKLS0tLSBhL2dkYi9nZGJzZXJ2ZXIvbGludXgt YWFyY2g2NC1sb3cuYwotKysrIGIvZ2RiL2dkYnNlcnZlci9saW51eC1hYXJjaDY0LWxvdy5jCi1A QCAtMzYwLDE0ICszNjAsMzkgQEAgYWFyY2g2NF9zdG9wcGVkX2RhdGFfYWRkcmVzcyAodm9pZCkK LSAgIHN0YXRlID0gYWFyY2g2NF9nZXRfZGVidWdfcmVnX3N0YXRlIChwaWRfb2YgKGN1cnJlbnRf dGhyZWFkKSk7Ci0gICBmb3IgKGkgPSBhYXJjaDY0X251bV93cF9yZWdzIC0gMTsgaSA+PSAwOyAt LWkpCi0gICAgIHsKLSsgICAgICBjb25zdCB1bnNpZ25lZCBpbnQgb2Zmc2V0Ci0rCT0gYWFyY2g2 NF93YXRjaHBvaW50X29mZnNldCAoc3RhdGUtPmRyX2N0cmxfd3BbaV0pOwotICAgICAgIGNvbnN0 IHVuc2lnbmVkIGludCBsZW4gPSBhYXJjaDY0X3dhdGNocG9pbnRfbGVuZ3RoIChzdGF0ZS0+ZHJf Y3RybF93cFtpXSk7Ci0gICAgICAgY29uc3QgQ09SRV9BRERSIGFkZHJfdHJhcCA9IChDT1JFX0FE RFIpIHNpZ2luZm8uc2lfYWRkcjsKLS0gICAgICBjb25zdCBDT1JFX0FERFIgYWRkcl93YXRjaCA9 IHN0YXRlLT5kcl9hZGRyX3dwW2ldOwotKyAgICAgIGNvbnN0IENPUkVfQUREUiBhZGRyX3dhdGNo ID0gc3RhdGUtPmRyX2FkZHJfd3BbaV0gKyBvZmZzZXQ7Ci0rICAgICAgY29uc3QgQ09SRV9BRERS IGFkZHJfd2F0Y2hfYWxpZ25lZCA9IGFsaWduX2Rvd24gKHN0YXRlLT5kcl9hZGRyX3dwW2ldLCA4 KTsKLSsgICAgICBjb25zdCBDT1JFX0FERFIgYWRkcl9vcmlnID0gc3RhdGUtPmRyX2FkZHJfb3Jp Z193cFtpXTsKLSsKLSAgICAgICBpZiAoc3RhdGUtPmRyX3JlZl9jb3VudF93cFtpXQotIAkgICYm IERSX0NPTlRST0xfRU5BQkxFRCAoc3RhdGUtPmRyX2N0cmxfd3BbaV0pCi0tCSAgJiYgYWRkcl90 cmFwID49IGFkZHJfd2F0Y2gKLSsJICAmJiBhZGRyX3RyYXAgPj0gYWRkcl93YXRjaF9hbGlnbmVk Ci0gCSAgJiYgYWRkcl90cmFwIDwgYWRkcl93YXRjaCArIGxlbikKLS0JcmV0dXJuIGFkZHJfdHJh cDsKLSsJewotKwkgIC8qIEFERFJfVFJBUCByZXBvcnRzIHRoZSBmaXJzdCBhZGRyZXNzIG9mIHRo ZSBtZW1vcnkgcmFuZ2UKLSsJICAgICBhY2Nlc3NlZCBieSB0aGUgQ1BVLCByZWdhcmRsZXNzIG9m IHdoYXQgd2FzIHRoZSBtZW1vcnkKLSsJICAgICByYW5nZSB3YXRjaGVkLiAgVGh1cywgYSBsYXJn ZSBDUFUgYWNjZXNzIHRoYXQgc3RyYWRkbGVzCi0rCSAgICAgdGhlIEFERFJfV0FUQ0guLkFERFJf V0FUQ0grTEVOIHJhbmdlIG1heSByZXN1bHQgaW4gYW4KLSsJICAgICBBRERSX1RSQVAgdGhhdCBp cyBsb3dlciB0aGFuIHRoZQotKwkgICAgIEFERFJfV0FUQ0guLkFERFJfV0FUQ0grTEVOIHJhbmdl LiAgRS5nLjoKLSsKLSsJICAgICBhZGRyOiB8ICAgNCAgIHwgICA1ICAgfCAgIDYgICB8ICAgNyAg IHwgICA4ICAgfAotKwkJCQkgICB8LS0tLSByYW5nZSB3YXRjaGVkIC0tLS18Ci0rCQkgICB8LS0t LS0tLS0tLS0gcmFuZ2UgYWNjZXNzZWQgLS0tLS0tLS0tLS0tfAotKwotKwkgICAgIEluIHRoaXMg Y2FzZSwgQUREUl9UUkFQIHdpbGwgYmUgNC4KLSsKLSsJICAgICBUbyBtYXRjaCBhIHdhdGNocG9p bnQga25vd24gdG8gR0RCIGNvcmUsIHdlIG11c3QgbmV2ZXIKLSsJICAgICByZXBvcnQgKkFERFJf UCBvdXRzaWRlIG9mIGFueSBBRERSX1dBVENILi5BRERSX1dBVENIK0xFTgotKwkgICAgIHJhbmdl LiAgQUREUl9XQVRDSCA8PSBBRERSX1RSQVAgPCBBRERSX09SSUcgaXMgYSBmYWxzZQotKwkgICAg IHBvc2l0aXZlIG9uIGtlcm5lbHMgb2xkZXIgdGhhbiA0LjEwLiAgU2VlIFBSCi0rCSAgICAgZXh0 ZXJuYWwvMjAyMDcuICAqLwotKwkgIHJldHVybiBhZGRyX29yaWc7Ci0rCX0KLSAgICAgfQotIAot ICAgcmV0dXJuIChDT1JFX0FERFIpIDA7Ci1kaWZmIC0tZ2l0IGEvZ2RiL25hdC9hYXJjaDY0LWxp bnV4LWh3LXBvaW50LmMgYi9nZGIvbmF0L2FhcmNoNjQtbGludXgtaHctcG9pbnQuYwotaW5kZXgg ZTllYmM1ZmJhOC4uMTBjYmYzZTRkZiAxMDA2NDQKLS0tLSBhL2dkYi9uYXQvYWFyY2g2NC1saW51 eC1ody1wb2ludC5jCi0rKysgYi9nZGIvbmF0L2FhcmNoNjQtbGludXgtaHctcG9pbnQuYwotQEAg LTM0LDI5ICszNCw1MiBAQAotIGludCBhYXJjaDY0X251bV9icF9yZWdzOwotIGludCBhYXJjaDY0 X251bV93cF9yZWdzOwotIAotKy8qIFRydWUgaWYgdGhpcyBrZXJuZWwgZG9lcyBub3QgaGF2ZSB0 aGUgYnVnIGRlc2NyaWJlZCBieSBQUgotKyAgIGV4dGVybmFsLzIwMjA3IChMaW51eCA+PSA0LjEw KS4gIEEgZml4ZWQga2VybmVsIHN1cHBvcnRzIGFueQotKyAgIGNvbnRpZ3VvdXMgcmFuZ2Ugb2Yg Yml0cyBpbiA4LWJpdCBieXRlIERSX0NPTlRST0xfTUFTSy4gIEEgYnVnZ3kKLSsgICBrZXJuZWwg c3VwcG9ydHMgb25seSAweDAxLCAweDAzLCAweDBmIGFuZCAweGZmLiAgV2Ugc3RhcnQgYnkKLSsg ICBhc3N1bWluZyB0aGUgYnVnIGlzIGZpeGVkLCBhbmQgdGhlbiBkZXRlY3QgdGhlIGJ1ZyBhdAot KyAgIFBUUkFDRV9TRVRSRUdTRVQgdGltZS4gICovCi0rc3RhdGljIGJvb2wga2VybmVsX3N1cHBv cnRzX2FueV9jb250aWd1b3VzX3JhbmdlID0gdHJ1ZTsKLSsKLSsvKiBSZXR1cm4gc3RhcnRpbmcg Ynl0ZSAwLi43IGluY2wuIG9mIGEgd2F0Y2hwb2ludCBlbmNvZGVkIGJ5IENUUkwuICAqLwotKwot K3Vuc2lnbmVkIGludAotK2FhcmNoNjRfd2F0Y2hwb2ludF9vZmZzZXQgKHVuc2lnbmVkIGludCBj dHJsKQotK3sKLSsgIHVpbnQ4X3QgbWFzayA9IERSX0NPTlRST0xfTUFTSyAoY3RybCk7Ci0rICB1 bnNpZ25lZCByZXR2YWw7Ci0rCi0rICAvKiBTaGlmdCBvdXQgYm90dG9tIHplcm9zLiAgKi8KLSsg IGZvciAocmV0dmFsID0gMDsgbWFzayAmJiAobWFzayAmIDEpID09IDA7ICsrcmV0dmFsKQotKyAg ICBtYXNrID4+PSAxOwotKwotKyAgcmV0dXJuIHJldHZhbDsKLSt9Ci0rCi0gLyogVXRpbGl0eSBm dW5jdGlvbiB0aGF0IHJldHVybnMgdGhlIGxlbmd0aCBpbiBieXRlcyBvZiBhIHdhdGNocG9pbnQK LSAgICBhY2NvcmRpbmcgdG8gdGhlIGNvbnRlbnQgb2YgYSBoYXJkd2FyZSBkZWJ1ZyBjb250cm9s IHJlZ2lzdGVyIENUUkwuCi0tICAgTm90ZSB0aGF0IHRoZSBrZXJuZWwgY3VycmVudGx5IG9ubHkg c3VwcG9ydHMgdGhlIGZvbGxvd2luZyBCeXRlCi0tICAgQWRkcmVzcyBTZWxlY3QgKEJBUykgdmFs dWVzOiAweDEsIDB4MywgMHhmIGFuZCAweGZmLCB3aGljaCBtZWFucwotLSAgIHRoYXQgZm9yIGEg aGFyZHdhcmUgd2F0Y2hwb2ludCwgaXRzIHZhbGlkIGxlbmd0aCBjYW4gb25seSBiZSAxCi0tICAg Ynl0ZSwgMiBieXRlcywgNCBieXRlcyBvciA4IGJ5dGVzLiAgKi8KLSsgICBBbnkgY29udGlndW91 cyByYW5nZSBvZiBieXRlcyBpbiBDVFJMIGlzIHN1cHBvcnRlZC4gIFRoZSByZXR1cm5lZAotKyAg IHZhbHVlIGNhbiBiZSBiZXR3ZWVuIDAuLjggKGluY2x1c2l2ZSkuICAqLwotIAotIHVuc2lnbmVk IGludAotIGFhcmNoNjRfd2F0Y2hwb2ludF9sZW5ndGggKHVuc2lnbmVkIGludCBjdHJsKQotIHsK LS0gIHN3aXRjaCAoRFJfQ09OVFJPTF9MRU5HVEggKGN0cmwpKQotLSAgICB7Ci0tICAgIGNhc2Ug MHgwMToKLS0gICAgICByZXR1cm4gMTsKLS0gICAgY2FzZSAweDAzOgotLSAgICAgIHJldHVybiAy OwotLSAgICBjYXNlIDB4MGY6Ci0tICAgICAgcmV0dXJuIDQ7Ci0tICAgIGNhc2UgMHhmZjoKLS0g ICAgICByZXR1cm4gODsKLS0gICAgZGVmYXVsdDoKLS0gICAgICByZXR1cm4gMDsKLS0gICAgfQot KyAgdWludDhfdCBtYXNrID0gRFJfQ09OVFJPTF9NQVNLIChjdHJsKTsKLSsgIHVuc2lnbmVkIHJl dHZhbDsKLSsKLSsgIC8qIFNoaWZ0IG91dCBib3R0b20gemVyb3MuICAqLwotKyAgbWFzayA+Pj0g YWFyY2g2NF93YXRjaHBvaW50X29mZnNldCAoY3RybCk7Ci0rCi0rICAvKiBDb3VudCBib3R0b20g b25lcy4gICovCi0rICBmb3IgKHJldHZhbCA9IDA7IChtYXNrICYgMSkgIT0gMDsgKytyZXR2YWwp Ci0rICAgIG1hc2sgPj49IDE7Ci0rCi0rICBpZiAobWFzayAhPSAwKQotKyAgICBlcnJvciAoXygi VW5leHBlY3RlZCBoYXJkd2FyZSB3YXRjaHBvaW50IGxlbmd0aCByZWdpc3RlciB2YWx1ZSAweCV4 IiksCi0rCSAgIERSX0NPTlRST0xfTUFTSyAoY3RybCkpOwotKwotKyAgcmV0dXJuIHJldHZhbDsK LSB9Ci0gCi0gLyogR2l2ZW4gdGhlIGhhcmR3YXJlIGJyZWFrcG9pbnQgb3Igd2F0Y2hwb2ludCB0 eXBlIFRZUEUgYW5kIGl0cwotQEAgLTY0LDEwICs4NywxMyBAQCBhYXJjaDY0X3dhdGNocG9pbnRf bGVuZ3RoICh1bnNpZ25lZCBpbnQgY3RybCkKLSAgICBicmVha3BvaW50L3dhdGNocG9pbnQgY29u dHJvbCByZWdpc3Rlci4gICovCi0gCi0gc3RhdGljIHVuc2lnbmVkIGludAotLWFhcmNoNjRfcG9p bnRfZW5jb2RlX2N0cmxfcmVnIChlbnVtIHRhcmdldF9od19icF90eXBlIHR5cGUsIGludCBsZW4p Ci0rYWFyY2g2NF9wb2ludF9lbmNvZGVfY3RybF9yZWcgKGVudW0gdGFyZ2V0X2h3X2JwX3R5cGUg dHlwZSwgaW50IG9mZnNldCwgaW50IGxlbikKLSB7Ci0gICB1bnNpZ25lZCBpbnQgY3RybCwgdHR5 cGU7Ci0gCi0rICBnZGJfYXNzZXJ0IChvZmZzZXQgPT0gMCB8fCBrZXJuZWxfc3VwcG9ydHNfYW55 X2NvbnRpZ3VvdXNfcmFuZ2UpOwotKyAgZ2RiX2Fzc2VydCAob2Zmc2V0ICsgbGVuIDw9IEFBUkNI NjRfSFdQX01BWF9MRU5fUEVSX1JFRyk7Ci0rCi0gICAvKiB0eXBlICovCi0gICBzd2l0Y2ggKHR5 cGUpCi0gICAgIHsKLUBAIC04OSw4ICsxMTUsOCBAQCBhYXJjaDY0X3BvaW50X2VuY29kZV9jdHJs X3JlZyAoZW51bSB0YXJnZXRfaHdfYnBfdHlwZSB0eXBlLCBpbnQgbGVuKQotIAotICAgY3RybCA9 IHR0eXBlIDw8IDM7Ci0gCi0tICAvKiBsZW5ndGggYml0bWFzayAqLwotLSAgY3RybCB8PSAoKDEg PDwgbGVuKSAtIDEpIDw8IDU7Ci0rICAvKiBvZmZzZXQgYW5kIGxlbmd0aCBiaXRtYXNrICovCi0r ICBjdHJsIHw9ICgoMSA8PCBsZW4pIC0gMSkgPDwgKDUgKyBvZmZzZXQpOwotICAgLyogZW5hYmxl ZCBhdCBlbDAgKi8KLSAgIGN0cmwgfD0gKDIgPDwgMSkgfCAxOwotIAotQEAgLTEzNCw1OSArMTYw LDY1IEBAIGFhcmNoNjRfcG9pbnRfaXNfYWxpZ25lZCAoaW50IGlzX3dhdGNocG9pbnQsIENPUkVf QUREUiBhZGRyLCBMT05HRVNUIGxlbikKLSAgIGlmIChhZGRyICYgKGFsaWdubWVudCAtIDEpKQot ICAgICByZXR1cm4gMDsKLSAKLS0gIGlmIChsZW4gIT0gOCAmJiBsZW4gIT0gNCAmJiBsZW4gIT0g MiAmJiBsZW4gIT0gMSkKLSsgIGlmICgoIWtlcm5lbF9zdXBwb3J0c19hbnlfY29udGlndW91c19y YW5nZQotKyAgICAgICAmJiBsZW4gIT0gOCAmJiBsZW4gIT0gNCAmJiBsZW4gIT0gMiAmJiBsZW4g IT0gMSkKLSsgICAgICB8fCAoa2VybmVsX3N1cHBvcnRzX2FueV9jb250aWd1b3VzX3JhbmdlCi0r CSAgJiYgKGxlbiA8IDEgfHwgbGVuID4gOCkpKQotICAgICByZXR1cm4gMDsKLSAKLSAgIHJldHVy biAxOwotIH0KLSAKLSAvKiBHaXZlbiB0aGUgKHBvdGVudGlhbGx5IHVuYWxpZ25lZCkgd2F0Y2hw b2ludCBhZGRyZXNzIGluIEFERFIgYW5kCi0tICAgbGVuZ3RoIGluIExFTiwgcmV0dXJuIHRoZSBh bGlnbmVkIGFkZHJlc3MgYW5kIGFsaWduZWQgbGVuZ3RoIGluCi0tICAgKkFMSUdORURfQUREUl9Q IGFuZCAqQUxJR05FRF9MRU5fUCwgcmVzcGVjdGl2ZWx5LiAgVGhlIHJldHVybmVkCi0tICAgYWxp Z25lZCBhZGRyZXNzIGFuZCBsZW5ndGggd2lsbCBiZSB2YWxpZCB2YWx1ZXMgdG8gd3JpdGUgdG8g dGhlCi0tICAgaGFyZHdhcmUgd2F0Y2hwb2ludCB2YWx1ZSBhbmQgY29udHJvbCByZWdpc3RlcnMu Ci0rICAgbGVuZ3RoIGluIExFTiwgcmV0dXJuIHRoZSBhbGlnbmVkIGFkZHJlc3MsIG9mZnNldCBm cm9tIHRoYXQgYmFzZQotKyAgIGFkZHJlc3MsIGFuZCBhbGlnbmVkIGxlbmd0aCBpbiAqQUxJR05F RF9BRERSX1AsICpBTElHTkVEX09GRlNFVF9QCi0rICAgYW5kICpBTElHTkVEX0xFTl9QLCByZXNw ZWN0aXZlbHkuICBUaGUgcmV0dXJuZWQgdmFsdWVzIHdpbGwgYmUKLSsgICB2YWxpZCB2YWx1ZXMg dG8gd3JpdGUgdG8gdGhlIGhhcmR3YXJlIHdhdGNocG9pbnQgdmFsdWUgYW5kIGNvbnRyb2wKLSsg ICByZWdpc3RlcnMuCi0gCi0gICAgVGhlIGdpdmVuIHdhdGNocG9pbnQgbWF5IGdldCB0cnVuY2F0 ZWQgaWYgbW9yZSB0aGFuIG9uZSBoYXJkd2FyZQotICAgIHJlZ2lzdGVyIGlzIG5lZWRlZCB0byBj b3ZlciB0aGUgd2F0Y2hlZCByZWdpb24uICAqTkVYVF9BRERSX1AKLSAgICBhbmQgKk5FWFRfTEVO X1AsIGlmIG5vbi1OVUxMLCB3aWxsIHJldHVybiB0aGUgYWRkcmVzcyBhbmQgbGVuZ3RoCi0gICAg b2YgdGhlIHJlbWFpbmluZyBwYXJ0IG9mIHRoZSB3YXRjaHBvaW50ICh3aGljaCBjYW4gYmUgcHJv Y2Vzc2VkCi0tICAgYnkgY2FsbGluZyB0aGlzIHJvdXRpbmUgYWdhaW4gdG8gZ2VuZXJhdGUgYW5v dGhlciBhbGlnbmVkIGFkZHJlc3MKLS0gICBhbmQgbGVuZ3RoIHBhaXIuCi0rICAgYnkgY2FsbGlu ZyB0aGlzIHJvdXRpbmUgYWdhaW4gdG8gZ2VuZXJhdGUgYW5vdGhlciBhbGlnbmVkIGFkZHJlc3Ms Ci0rICAgb2Zmc2V0IGFuZCBsZW5ndGggdHVwbGUuCi0gCi0gICAgRXNzZW50aWFsbHksIHVuYWxp Z25lZCB3YXRjaHBvaW50IGlzIGFjaGlldmVkIGJ5IG1pbmltYWxseQotICAgIGVubGFyZ2luZyB0 aGUgd2F0Y2hlZCBhcmVhIHRvIG1lZXQgdGhlIGFsaWdubWVudCByZXF1aXJlbWVudCwgYW5kCi0g ICAgaWYgbmVjZXNzYXJ5LCBzcGxpdHRpbmcgdGhlIHdhdGNocG9pbnQgb3ZlciBzZXZlcmFsIGhh cmR3YXJlCi0tICAgd2F0Y2hwb2ludCByZWdpc3RlcnMuICBUaGUgdHJhZGUtb2ZmIGlzIHRoYXQg dGhlcmUgd2lsbCBiZQotLSAgIGZhbHNlLXBvc2l0aXZlIGhpdHMgZm9yIHRoZSByZWFkLXR5cGUg b3IgdGhlIGFjY2Vzcy10eXBlIGhhcmR3YXJlCi0tICAgd2F0Y2hwb2ludHM7IGZvciB0aGUgd3Jp dGUgdHlwZSwgd2hpY2ggaXMgbW9yZSBjb21tb25seSB1c2VkLCB0aGVyZQotLSAgIHdpbGwgYmUg bm8gc3VjaCBpc3N1ZXMsIGFzIHRoZSBoaWdoZXItbGV2ZWwgYnJlYWtwb2ludCBtYW5hZ2VtZW50 Ci0tICAgaW4gZ2RiIGFsd2F5cyBleGFtaW5lcyB0aGUgZXhhY3Qgd2F0Y2hlZCByZWdpb24gZm9y IGFueSBjb250ZW50Ci0tICAgY2hhbmdlLCBhbmQgdHJhbnNwYXJlbnRseSByZXN1bWVzIGEgdGhy ZWFkIGZyb20gYSB3YXRjaHBvaW50IHRyYXAKLS0gICBpZiB0aGVyZSBpcyBubyBjaGFuZ2UgdG8g dGhlIHdhdGNoZWQgcmVnaW9uLgotKyAgIHdhdGNocG9pbnQgcmVnaXN0ZXJzLgotKwotKyAgIE9u IGtlcm5lbHMgdGhhdCBwcmVkYXRlIHRoZSBzdXBwb3J0IGZvciBCeXRlIEFkZHJlc3MgU2VsZWN0 IChCQVMpCi0rICAgaW4gdGhlIGhhcmR3YXJlIHdhdGNocG9pbnQgY29udHJvbCByZWdpc3Rlciwg dGhlIG9mZnNldCBmcm9tIHRoZQotKyAgIGJhc2UgYWRkcmVzcyBpcyBhbHdheXMgemVybywgYW5k IHNvIGluIHRoYXQgY2FzZSB0aGUgdHJhZGUtb2ZmIGlzCi0rICAgdGhhdCB0aGVyZSB3aWxsIGJl IGZhbHNlLXBvc2l0aXZlIGhpdHMgZm9yIHRoZSByZWFkLXR5cGUgb3IgdGhlCi0rICAgYWNjZXNz LXR5cGUgaGFyZHdhcmUgd2F0Y2hwb2ludHM7IGZvciB0aGUgd3JpdGUgdHlwZSwgd2hpY2ggaXMg bW9yZQotKyAgIGNvbW1vbmx5IHVzZWQsIHRoZXJlIHdpbGwgYmUgbm8gc3VjaCBpc3N1ZXMsIGFz IHRoZSBoaWdoZXItbGV2ZWwKLSsgICBicmVha3BvaW50IG1hbmFnZW1lbnQgaW4gZ2RiIGFsd2F5 cyBleGFtaW5lcyB0aGUgZXhhY3Qgd2F0Y2hlZAotKyAgIHJlZ2lvbiBmb3IgYW55IGNvbnRlbnQg Y2hhbmdlLCBhbmQgdHJhbnNwYXJlbnRseSByZXN1bWVzIGEgdGhyZWFkCi0rICAgZnJvbSBhIHdh dGNocG9pbnQgdHJhcCBpZiB0aGVyZSBpcyBubyBjaGFuZ2UgdG8gdGhlIHdhdGNoZWQgcmVnaW9u LgotIAotICAgIEFub3RoZXIgbGltaXRhdGlvbiBpcyB0aGF0IGJlY2F1c2UgdGhlIHdhdGNoZWQg cmVnaW9uIGlzIGVubGFyZ2VkLAotLSAgIHRoZSB3YXRjaHBvaW50IGZhdWx0IGFkZHJlc3MgcmV0 dXJuZWQgYnkKLSsgICB0aGUgd2F0Y2hwb2ludCBmYXVsdCBhZGRyZXNzIGRpc2NvdmVyZWQgYnkK LSAgICBhYXJjaDY0X3N0b3BwZWRfZGF0YV9hZGRyZXNzIG1heSBiZSBvdXRzaWRlIG9mIHRoZSBv cmlnaW5hbCB3YXRjaGVkCi0gICAgcmVnaW9uLCBlc3BlY2lhbGx5IHdoZW4gdGhlIHRyaWdnZXJp bmcgaW5zdHJ1Y3Rpb24gaXMgYWNjZXNzaW5nIGEKLSAgICBsYXJnZXIgcmVnaW9uLiAgV2hlbiB0 aGUgZmF1bHQgYWRkcmVzcyBpcyBub3Qgd2l0aGluIGFueSBrbm93bgotICAgIHJhbmdlLCB3YXRj aHBvaW50c190cmlnZ2VyZWQgaW4gZ2RiIHdpbGwgZ2V0IGNvbmZ1c2VkLCBhcyB0aGUKLSAgICBo aWdoZXItbGV2ZWwgd2F0Y2hwb2ludCBtYW5hZ2VtZW50IGlzIG9ubHkgYXdhcmUgb2Ygb3JpZ2lu YWwKLSAgICB3YXRjaGVkIHJlZ2lvbnMsIGFuZCB3aWxsIHRoaW5rIHRoYXQgc29tZSB1bmtub3du IHdhdGNocG9pbnQgaGFzCi0tICAgYmVlbiB0cmlnZ2VyZWQuICBJbiBzdWNoIGEgY2FzZSwgZ2Ri IG1heSBzdG9wIHdpdGhvdXQgZGlzcGxheWluZwotLSAgIGFueSBkZXRhaWxlZCBpbmZvcm1hdGlv bi4KLS0KLS0gICBPbmNlIHRoZSBrZXJuZWwgcHJvdmlkZXMgdGhlIGZ1bGwgc3VwcG9ydCBmb3Ig Qnl0ZSBBZGRyZXNzIFNlbGVjdAotLSAgIChCQVMpIGluIHRoZSBoYXJkd2FyZSB3YXRjaHBvaW50 IGNvbnRyb2wgcmVnaXN0ZXIsIHRoZXNlCi0tICAgbGltaXRhdGlvbnMgY2FuIGJlIGxhcmdlbHkg cmVsYXhlZCB3aXRoIHNvbWUgZnVydGhlciB3b3JrLiAgKi8KLSsgICBiZWVuIHRyaWdnZXJlZC4g IFRvIHByZXZlbnQgc3VjaCBhIGNhc2UsCi0rICAgYWFyY2g2NF9zdG9wcGVkX2RhdGFfYWRkcmVz cyBpbXBsZW1lbnRhdGlvbnMgaW4gZ2RiIGFuZCBnZGJzZXJ2ZXIKLSsgICB0cnkgdG8gbWF0Y2gg dGhlIHRyYXBwZWQgYWRkcmVzcyB3aXRoIGEgd2F0Y2hlZCByZWdpb24sIGFuZCByZXR1cm4KLSsg ICBhbiBhZGRyZXNzIHdpdGhpbiB0aGUgbGF0dGVyLiAqLwotIAotIHN0YXRpYyB2b2lkCi0tYWFy Y2g2NF9hbGlnbl93YXRjaHBvaW50IChDT1JFX0FERFIgYWRkciwgTE9OR0VTVCBsZW4sCi0tCQkJ ICBDT1JFX0FERFIgKmFsaWduZWRfYWRkcl9wLAotLQkJCSAgaW50ICphbGlnbmVkX2xlbl9wLCBD T1JFX0FERFIgKm5leHRfYWRkcl9wLAotLQkJCSAgTE9OR0VTVCAqbmV4dF9sZW5fcCkKLSthYXJj aDY0X2FsaWduX3dhdGNocG9pbnQgKENPUkVfQUREUiBhZGRyLCBpbnQgbGVuLCBDT1JFX0FERFIg KmFsaWduZWRfYWRkcl9wLAotKwkJCSAgaW50ICphbGlnbmVkX29mZnNldF9wLCBpbnQgKmFsaWdu ZWRfbGVuX3AsCi0rCQkJICBDT1JFX0FERFIgKm5leHRfYWRkcl9wLCBpbnQgKm5leHRfbGVuX3As Ci0rCQkJICBDT1JFX0FERFIgKm5leHRfYWRkcl9vcmlnX3ApCi0gewotICAgaW50IGFsaWduZWRf bGVuOwotLSAgdW5zaWduZWQgaW50IG9mZnNldDsKLSsgIHVuc2lnbmVkIGludCBvZmZzZXQsIGFs aWduZWRfb2Zmc2V0OwotICAgQ09SRV9BRERSIGFsaWduZWRfYWRkcjsKLSAgIGNvbnN0IHVuc2ln bmVkIGludCBhbGlnbm1lbnQgPSBBQVJDSDY0X0hXUF9BTElHTk1FTlQ7Ci0gICBjb25zdCB1bnNp Z25lZCBpbnQgbWF4X3dwX2xlbiA9IEFBUkNINjRfSFdQX01BWF9MRU5fUEVSX1JFRzsKLUBAIC0x OTcsMTAgKzIyOSwxMiBAQCBhYXJjaDY0X2FsaWduX3dhdGNocG9pbnQgKENPUkVfQUREUiBhZGRy LCBMT05HRVNUIGxlbiwKLSAgIGlmIChsZW4gPD0gMCkKLSAgICAgcmV0dXJuOwotIAotLSAgLyog QWRkcmVzcyB0byBiZSBwdXQgaW50byB0aGUgaGFyZHdhcmUgd2F0Y2hwb2ludCB2YWx1ZSByZWdp c3RlcgotLSAgICAgbXVzdCBiZSBhbGlnbmVkLiAgKi8KLSsgIC8qIFRoZSBhZGRyZXNzIHB1dCBp bnRvIHRoZSBoYXJkd2FyZSB3YXRjaHBvaW50IHZhbHVlIHJlZ2lzdGVyIG11c3QKLSsgICAgIGJl IGFsaWduZWQuICAqLwotICAgb2Zmc2V0ID0gYWRkciAmIChhbGlnbm1lbnQgLSAxKTsKLSAgIGFs aWduZWRfYWRkciA9IGFkZHIgLSBvZmZzZXQ7Ci0rICBhbGlnbmVkX29mZnNldAotKyAgICA9IGtl cm5lbF9zdXBwb3J0c19hbnlfY29udGlndW91c19yYW5nZSA/IGFkZHIgJiAoYWxpZ25tZW50IC0g MSkgOiAwOwotIAotICAgZ2RiX2Fzc2VydCAob2Zmc2V0ID49IDAgJiYgb2Zmc2V0IDwgYWxpZ25t ZW50KTsKLSAgIGdkYl9hc3NlcnQgKGFsaWduZWRfYWRkciA+PSAwICYmIGFsaWduZWRfYWRkciA8 PSBhZGRyKTsKLUBAIC0yMDgsOSArMjQyLDEwIEBAIGFhcmNoNjRfYWxpZ25fd2F0Y2hwb2ludCAo Q09SRV9BRERSIGFkZHIsIExPTkdFU1QgbGVuLAotIAotICAgaWYgKG9mZnNldCArIGxlbiA+PSBt YXhfd3BfbGVuKQotICAgICB7Ci0tICAgICAgLyogTmVlZCBtb3JlIHRoYW4gb25lIHdhdGNocG9p bnQgcmVnaXN0ZXJzOyB0cnVuY2F0ZSBpdCBhdCB0aGUKLSsgICAgICAvKiBOZWVkIG1vcmUgdGhh biBvbmUgd2F0Y2hwb2ludCByZWdpc3RlcjsgdHJ1bmNhdGUgYXQgdGhlCi0gCSBhbGlnbm1lbnQg Ym91bmRhcnkuICAqLwotLSAgICAgIGFsaWduZWRfbGVuID0gbWF4X3dwX2xlbjsKLSsgICAgICBh bGlnbmVkX2xlbgotKwk9IG1heF93cF9sZW4gLSAoa2VybmVsX3N1cHBvcnRzX2FueV9jb250aWd1 b3VzX3JhbmdlID8gb2Zmc2V0IDogMCk7Ci0gICAgICAgbGVuIC09IChtYXhfd3BfbGVuIC0gb2Zm c2V0KTsKLSAgICAgICBhZGRyICs9IChtYXhfd3BfbGVuIC0gb2Zmc2V0KTsKLSAgICAgICBnZGJf YXNzZXJ0ICgoYWRkciAmIChhbGlnbm1lbnQgLSAxKSkgPT0gMCk7Ci1AQCAtMjIzLDE5ICsyNTgs MjQgQEAgYWFyY2g2NF9hbGlnbl93YXRjaHBvaW50IChDT1JFX0FERFIgYWRkciwgTE9OR0VTVCBs ZW4sCi0gCWFsaWduZWRfbGVuX2FycmF5W0FBUkNINjRfSFdQX01BWF9MRU5fUEVSX1JFR10gPQot IAl7IDEsIDIsIDQsIDQsIDgsIDgsIDgsIDggfTsKLSAKLS0gICAgICBhbGlnbmVkX2xlbiA9IGFs aWduZWRfbGVuX2FycmF5W29mZnNldCArIGxlbiAtIDFdOwotKyAgICAgIGFsaWduZWRfbGVuID0g KGtlcm5lbF9zdXBwb3J0c19hbnlfY29udGlndW91c19yYW5nZQotKwkJICAgICA/IGxlbiA6IGFs aWduZWRfbGVuX2FycmF5W29mZnNldCArIGxlbiAtIDFdKTsKLSAgICAgICBhZGRyICs9IGxlbjsK LSAgICAgICBsZW4gPSAwOwotICAgICB9Ci0gCi0gICBpZiAoYWxpZ25lZF9hZGRyX3ApCi0gICAg ICphbGlnbmVkX2FkZHJfcCA9IGFsaWduZWRfYWRkcjsKLSsgIGlmIChhbGlnbmVkX29mZnNldF9w KQotKyAgICAqYWxpZ25lZF9vZmZzZXRfcCA9IGFsaWduZWRfb2Zmc2V0OwotICAgaWYgKGFsaWdu ZWRfbGVuX3ApCi0gICAgICphbGlnbmVkX2xlbl9wID0gYWxpZ25lZF9sZW47Ci0gICBpZiAobmV4 dF9hZGRyX3ApCi0gICAgICpuZXh0X2FkZHJfcCA9IGFkZHI7Ci0gICBpZiAobmV4dF9sZW5fcCkK LSAgICAgKm5leHRfbGVuX3AgPSBsZW47Ci0rICBpZiAobmV4dF9hZGRyX29yaWdfcCkKLSsgICAg Km5leHRfYWRkcl9vcmlnX3AgPSBhbGlnbl9kb3duICgqbmV4dF9hZGRyX29yaWdfcCArIGFsaWdu bWVudCwgYWxpZ25tZW50KTsKLSB9Ci0gCi0gc3RydWN0IGFhcmNoNjRfZHJfdXBkYXRlX2NhbGxi YWNrX3BhcmFtCi1AQCAtMzI1LDE3ICszNjUsNzMgQEAgYWFyY2g2NF9ub3RpZnlfZGVidWdfcmVn X2NoYW5nZSAoY29uc3Qgc3RydWN0IGFhcmNoNjRfZGVidWdfcmVnX3N0YXRlICpzdGF0ZSwKLSAg IGl0ZXJhdGVfb3Zlcl9sd3BzIChwaWRfcHRpZCwgZGVidWdfcmVnX2NoYW5nZV9jYWxsYmFjaywg KHZvaWQgKikgJnBhcmFtKTsKLSB9Ci0gCi0rLyogUmVjb25maWd1cmUgU1RBVEUgdG8gYmUgY29t cGF0aWJsZSB3aXRoIExpbnV4IGtlcm5lbHMgd2l0aCB0aGUgUFIKLSsgICBleHRlcm5hbC8yMDIw NyBidWcuICBUaGlzIGlzIGNhbGxlZCB3aGVuCi0rICAgS0VSTkVMX1NVUFBPUlRTX0FOWV9DT05U SUdVT1VTX1JBTkdFIHRyYW5zaXRpb25zIHRvIGZhbHNlLiAgTm90ZSB3ZQotKyAgIGRvbid0IHRy eSB0byBzdXBwb3J0IGNvbWJpbmluZyB3YXRjaHBvaW50cyB3aXRoIG1hdGNoaW5nIChhbmQgdGh1 cwotKyAgIHNoYXJlZCkgbWFza3MsIGFzIGl0J3MgdG9vIGxhdGUgd2hlbiB3ZSBnZXQgaGVyZS4g IE9uIGJ1Z2d5Ci0rICAga2VybmVscywgR0RCIHdpbGwgdHJ5IHRvIGZpcnN0IHNldHVwIHRoZSBw ZXJmZWN0IG1hdGNoaW5nIHJhbmdlcywKLSsgICB3aGljaCB3aWxsIHJ1biBvdXQgb2YgcmVnaXN0 ZXJzIGJlZm9yZSB0aGlzIGZ1bmN0aW9uIGNhbiBtZXJnZQotKyAgIHRoZW0uICBJdCBkb2Vzbid0 IGxvb2sgbGlrZSB3b3J0aCB0aGUgZWZmb3J0IHRvIGltcHJvdmUgdGhhdCwgZ2l2ZW4KLSsgICBl dmVudHVhbGx5IGJ1Z2d5IGtlcm5lbHMgd2lsbCBiZSBwaGFzZWQgb3V0LiAgKi8KLSsKLStzdGF0 aWMgdm9pZAotK2FhcmNoNjRfZG93bmdyYWRlX3JlZ3MgKHN0cnVjdCBhYXJjaDY0X2RlYnVnX3Jl Z19zdGF0ZSAqc3RhdGUpCi0rewotKyAgZm9yIChpbnQgaSA9IDA7IGkgPCBhYXJjaDY0X251bV93 cF9yZWdzOyArK2kpCi0rICAgIGlmICgoc3RhdGUtPmRyX2N0cmxfd3BbaV0gJiAxKSAhPSAwKQot KyAgICAgIHsKLSsJZ2RiX2Fzc2VydCAoc3RhdGUtPmRyX3JlZl9jb3VudF93cFtpXSAhPSAwKTsK LSsJdWludDhfdCBtYXNrX29yaWcgPSAoc3RhdGUtPmRyX2N0cmxfd3BbaV0gPj4gNSkgJiAweGZm OwotKwlnZGJfYXNzZXJ0IChtYXNrX29yaWcgIT0gMCk7Ci0rCXN0YXRpYyBjb25zdCB1aW50OF90 IG9sZF92YWxpZFtdID0geyAweDAxLCAweDAzLCAweDBmLCAweGZmIH07Ci0rCXVpbnQ4X3QgbWFz ayA9IDA7Ci0rCWZvciAoY29uc3QgdWludDhfdCBvbGRfbWFzayA6IG9sZF92YWxpZCkKLSsJICBp ZiAobWFza19vcmlnIDw9IG9sZF9tYXNrKQotKwkgICAgewotKwkgICAgICBtYXNrID0gb2xkX21h c2s7Ci0rCSAgICAgIGJyZWFrOwotKwkgICAgfQotKwlnZGJfYXNzZXJ0IChtYXNrICE9IDApOwot KwotKwkvKiBObyB1cGRhdGUgbmVlZGVkIGZvciB0aGlzIHdhdGNocG9pbnQ/ICAqLwotKwlpZiAo bWFzayA9PSBtYXNrX29yaWcpCi0rCSAgY29udGludWU7Ci0rCXN0YXRlLT5kcl9jdHJsX3dwW2ld IHw9IG1hc2sgPDwgNTsKLSsJc3RhdGUtPmRyX2FkZHJfd3BbaV0KLSsJICA9IGFsaWduX2Rvd24g KHN0YXRlLT5kcl9hZGRyX3dwW2ldLCBBQVJDSDY0X0hXUF9BTElHTk1FTlQpOwotKwotKwkvKiBU cnkgdG8gbWF0Y2ggZHVwbGljYXRlIGVudHJpZXMuICAqLwotKwlmb3IgKGludCBqID0gMDsgaiA8 IGk7ICsraikKLSsJICBpZiAoKHN0YXRlLT5kcl9jdHJsX3dwW2pdICYgMSkgIT0gMAotKwkgICAg ICAmJiBzdGF0ZS0+ZHJfYWRkcl93cFtqXSA9PSBzdGF0ZS0+ZHJfYWRkcl93cFtpXQotKwkgICAg ICAmJiBzdGF0ZS0+ZHJfYWRkcl9vcmlnX3dwW2pdID09IHN0YXRlLT5kcl9hZGRyX29yaWdfd3Bb aV0KLSsJICAgICAgJiYgc3RhdGUtPmRyX2N0cmxfd3Bbal0gPT0gc3RhdGUtPmRyX2N0cmxfd3Bb aV0pCi0rCSAgICB7Ci0rCSAgICAgIHN0YXRlLT5kcl9yZWZfY291bnRfd3Bbal0gKz0gc3RhdGUt PmRyX3JlZl9jb3VudF93cFtpXTsKLSsJICAgICAgc3RhdGUtPmRyX3JlZl9jb3VudF93cFtpXSA9 IDA7Ci0rCSAgICAgIHN0YXRlLT5kcl9hZGRyX3dwW2ldID0gMDsKLSsJICAgICAgc3RhdGUtPmRy X2FkZHJfb3JpZ193cFtpXSA9IDA7Ci0rCSAgICAgIHN0YXRlLT5kcl9jdHJsX3dwW2ldICY9IH4x OwotKwkgICAgICBicmVhazsKLSsJICAgIH0KLSsKLSsJYWFyY2g2NF9ub3RpZnlfZGVidWdfcmVn X2NoYW5nZSAoc3RhdGUsIDEgLyogaXNfd2F0Y2hwb2ludCAqLywgaSk7Ci0rICAgICAgfQotK30K LSsKLSAvKiBSZWNvcmQgdGhlIGluc2VydGlvbiBvZiBvbmUgYnJlYWtwb2ludC93YXRjaHBvaW50 LCBhcyByZXByZXNlbnRlZAotICAgIGJ5IEFERFIgYW5kIENUUkwsIGluIHRoZSBwcm9jZXNzJyBh cmNoLXNwZWNpZmljIGRhdGEgYXJlYSAqU1RBVEUuICAqLwotIAotIHN0YXRpYyBpbnQKLSBhYXJj aDY0X2RyX3N0YXRlX2luc2VydF9vbmVfcG9pbnQgKHN0cnVjdCBhYXJjaDY0X2RlYnVnX3JlZ19z dGF0ZSAqc3RhdGUsCi0gCQkJCSAgIGVudW0gdGFyZ2V0X2h3X2JwX3R5cGUgdHlwZSwKLS0JCQkJ ICAgQ09SRV9BRERSIGFkZHIsIGludCBsZW4pCi0rCQkJCSAgIENPUkVfQUREUiBhZGRyLCBpbnQg b2Zmc2V0LCBpbnQgbGVuLAotKwkJCQkgICBDT1JFX0FERFIgYWRkcl9vcmlnKQotIHsKLSAgIGlu dCBpLCBpZHgsIG51bV9yZWdzLCBpc193YXRjaHBvaW50OwotICAgdW5zaWduZWQgaW50IGN0cmws ICpkcl9jdHJsX3AsICpkcl9yZWZfY291bnQ7Ci0tICBDT1JFX0FERFIgKmRyX2FkZHJfcDsKLSsg IENPUkVfQUREUiAqZHJfYWRkcl9wLCAqZHJfYWRkcl9vcmlnX3A7Ci0gCi0gICAvKiBTZXQgdXAg c3RhdGUgcG9pbnRlcnMuICAqLwotICAgaXNfd2F0Y2hwb2ludCA9ICh0eXBlICE9IGh3X2V4ZWN1 dGUpOwotQEAgLTM0NCw2ICs0NDAsNyBAQCBhYXJjaDY0X2RyX3N0YXRlX2luc2VydF9vbmVfcG9p bnQgKHN0cnVjdCBhYXJjaDY0X2RlYnVnX3JlZ19zdGF0ZSAqc3RhdGUsCi0gICAgIHsKLSAgICAg ICBudW1fcmVncyA9IGFhcmNoNjRfbnVtX3dwX3JlZ3M7Ci0gICAgICAgZHJfYWRkcl9wID0gc3Rh dGUtPmRyX2FkZHJfd3A7Ci0rICAgICAgZHJfYWRkcl9vcmlnX3AgPSBzdGF0ZS0+ZHJfYWRkcl9v cmlnX3dwOwotICAgICAgIGRyX2N0cmxfcCA9IHN0YXRlLT5kcl9jdHJsX3dwOwotICAgICAgIGRy X3JlZl9jb3VudCA9IHN0YXRlLT5kcl9yZWZfY291bnRfd3A7Ci0gICAgIH0KLUBAIC0zNTEsMTEg KzQ0OCwxMiBAQCBhYXJjaDY0X2RyX3N0YXRlX2luc2VydF9vbmVfcG9pbnQgKHN0cnVjdCBhYXJj aDY0X2RlYnVnX3JlZ19zdGF0ZSAqc3RhdGUsCi0gICAgIHsKLSAgICAgICBudW1fcmVncyA9IGFh cmNoNjRfbnVtX2JwX3JlZ3M7Ci0gICAgICAgZHJfYWRkcl9wID0gc3RhdGUtPmRyX2FkZHJfYnA7 Ci0rICAgICAgZHJfYWRkcl9vcmlnX3AgPSBudWxscHRyOwotICAgICAgIGRyX2N0cmxfcCA9IHN0 YXRlLT5kcl9jdHJsX2JwOwotICAgICAgIGRyX3JlZl9jb3VudCA9IHN0YXRlLT5kcl9yZWZfY291 bnRfYnA7Ci0gICAgIH0KLSAKLS0gIGN0cmwgPSBhYXJjaDY0X3BvaW50X2VuY29kZV9jdHJsX3Jl ZyAodHlwZSwgbGVuKTsKLSsgIGN0cmwgPSBhYXJjaDY0X3BvaW50X2VuY29kZV9jdHJsX3JlZyAo dHlwZSwgb2Zmc2V0LCBsZW4pOwotIAotICAgLyogRmluZCBhbiBleGlzdGluZyBvciBmcmVlIHJl Z2lzdGVyIGluIG91ciBjYWNoZS4gICovCi0gICBpZHggPSAtMTsKLUBAIC0zNjcsNyArNDY1LDkg QEAgYWFyY2g2NF9kcl9zdGF0ZV9pbnNlcnRfb25lX3BvaW50IChzdHJ1Y3QgYWFyY2g2NF9kZWJ1 Z19yZWdfc3RhdGUgKnN0YXRlLAotIAkgIGlkeCA9IGk7Ci0gCSAgLyogbm8gYnJlYWs7IGNvbnRp bnVlIGh1bnRpbmcgZm9yIGFuIGV4aXNpbmcgb25lLiAgKi8KLSAJfQotLSAgICAgIGVsc2UgaWYg KGRyX2FkZHJfcFtpXSA9PSBhZGRyICYmIGRyX2N0cmxfcFtpXSA9PSBjdHJsKQotKyAgICAgIGVs c2UgaWYgKGRyX2FkZHJfcFtpXSA9PSBhZGRyCi0rCSAgICAgICAmJiAoZHJfYWRkcl9vcmlnX3Ag PT0gbnVsbHB0ciB8fCBkcl9hZGRyX29yaWdfcFtpXSA9PSBhZGRyX29yaWcpCi0rCSAgICAgICAm JiBkcl9jdHJsX3BbaV0gPT0gY3RybCkKLSAJewotIAkgIGdkYl9hc3NlcnQgKGRyX3JlZl9jb3Vu dFtpXSAhPSAwKTsKLSAJICBpZHggPSBpOwotQEAgLTM4NCw2ICs0ODQsOCBAQCBhYXJjaDY0X2Ry X3N0YXRlX2luc2VydF9vbmVfcG9pbnQgKHN0cnVjdCBhYXJjaDY0X2RlYnVnX3JlZ19zdGF0ZSAq c3RhdGUsCi0gICAgIHsKLSAgICAgICAvKiBuZXcgZW50cnkgKi8KLSAgICAgICBkcl9hZGRyX3Bb aWR4XSA9IGFkZHI7Ci0rICAgICAgaWYgKGRyX2FkZHJfb3JpZ19wICE9IG51bGxwdHIpCi0rCWRy X2FkZHJfb3JpZ19wW2lkeF0gPSBhZGRyX29yaWc7Ci0gICAgICAgZHJfY3RybF9wW2lkeF0gPSBj dHJsOwotICAgICAgIGRyX3JlZl9jb3VudFtpZHhdID0gMTsKLSAgICAgICAvKiBOb3RpZnkgdGhl IGNoYW5nZS4gICovCi1AQCAtNDA0LDExICs1MDYsMTIgQEAgYWFyY2g2NF9kcl9zdGF0ZV9pbnNl cnRfb25lX3BvaW50IChzdHJ1Y3QgYWFyY2g2NF9kZWJ1Z19yZWdfc3RhdGUgKnN0YXRlLAotIHN0 YXRpYyBpbnQKLSBhYXJjaDY0X2RyX3N0YXRlX3JlbW92ZV9vbmVfcG9pbnQgKHN0cnVjdCBhYXJj aDY0X2RlYnVnX3JlZ19zdGF0ZSAqc3RhdGUsCi0gCQkJCSAgIGVudW0gdGFyZ2V0X2h3X2JwX3R5 cGUgdHlwZSwKLS0JCQkJICAgQ09SRV9BRERSIGFkZHIsIGludCBsZW4pCi0rCQkJCSAgIENPUkVf QUREUiBhZGRyLCBpbnQgb2Zmc2V0LCBpbnQgbGVuLAotKwkJCQkgICBDT1JFX0FERFIgYWRkcl9v cmlnKQotIHsKLSAgIGludCBpLCBudW1fcmVncywgaXNfd2F0Y2hwb2ludDsKLSAgIHVuc2lnbmVk IGludCBjdHJsLCAqZHJfY3RybF9wLCAqZHJfcmVmX2NvdW50OwotLSAgQ09SRV9BRERSICpkcl9h ZGRyX3A7Ci0rICBDT1JFX0FERFIgKmRyX2FkZHJfcCwgKmRyX2FkZHJfb3JpZ19wOwotIAotICAg LyogU2V0IHVwIHN0YXRlIHBvaW50ZXJzLiAgKi8KLSAgIGlzX3dhdGNocG9pbnQgPSAodHlwZSAh PSBod19leGVjdXRlKTsKLUBAIC00MTYsNiArNTE5LDcgQEAgYWFyY2g2NF9kcl9zdGF0ZV9yZW1v dmVfb25lX3BvaW50IChzdHJ1Y3QgYWFyY2g2NF9kZWJ1Z19yZWdfc3RhdGUgKnN0YXRlLAotICAg ICB7Ci0gICAgICAgbnVtX3JlZ3MgPSBhYXJjaDY0X251bV93cF9yZWdzOwotICAgICAgIGRyX2Fk ZHJfcCA9IHN0YXRlLT5kcl9hZGRyX3dwOwotKyAgICAgIGRyX2FkZHJfb3JpZ19wID0gc3RhdGUt PmRyX2FkZHJfb3JpZ193cDsKLSAgICAgICBkcl9jdHJsX3AgPSBzdGF0ZS0+ZHJfY3RybF93cDsK LSAgICAgICBkcl9yZWZfY291bnQgPSBzdGF0ZS0+ZHJfcmVmX2NvdW50X3dwOwotICAgICB9Ci1A QCAtNDIzLDE1ICs1MjcsMTggQEAgYWFyY2g2NF9kcl9zdGF0ZV9yZW1vdmVfb25lX3BvaW50IChz dHJ1Y3QgYWFyY2g2NF9kZWJ1Z19yZWdfc3RhdGUgKnN0YXRlLAotICAgICB7Ci0gICAgICAgbnVt X3JlZ3MgPSBhYXJjaDY0X251bV9icF9yZWdzOwotICAgICAgIGRyX2FkZHJfcCA9IHN0YXRlLT5k cl9hZGRyX2JwOwotKyAgICAgIGRyX2FkZHJfb3JpZ19wID0gbnVsbHB0cjsKLSAgICAgICBkcl9j dHJsX3AgPSBzdGF0ZS0+ZHJfY3RybF9icDsKLSAgICAgICBkcl9yZWZfY291bnQgPSBzdGF0ZS0+ ZHJfcmVmX2NvdW50X2JwOwotICAgICB9Ci0gCi0tICBjdHJsID0gYWFyY2g2NF9wb2ludF9lbmNv ZGVfY3RybF9yZWcgKHR5cGUsIGxlbik7Ci0rICBjdHJsID0gYWFyY2g2NF9wb2ludF9lbmNvZGVf Y3RybF9yZWcgKHR5cGUsIG9mZnNldCwgbGVuKTsKLSAKLSAgIC8qIEZpbmQgdGhlIGVudHJ5IHRo YXQgbWF0Y2hlcyB0aGUgQUREUiBhbmQgQ1RSTC4gICovCi0gICBmb3IgKGkgPSAwOyBpIDwgbnVt X3JlZ3M7ICsraSkKLS0gICAgaWYgKGRyX2FkZHJfcFtpXSA9PSBhZGRyICYmIGRyX2N0cmxfcFtp XSA9PSBjdHJsKQotKyAgICBpZiAoZHJfYWRkcl9wW2ldID09IGFkZHIKLSsJJiYgKGRyX2FkZHJf b3JpZ19wID09IG51bGxwdHIgfHwgZHJfYWRkcl9vcmlnX3BbaV0gPT0gYWRkcl9vcmlnKQotKwkm JiBkcl9jdHJsX3BbaV0gPT0gY3RybCkKLSAgICAgICB7Ci0gCWdkYl9hc3NlcnQgKGRyX3JlZl9j b3VudFtpXSAhPSAwKTsKLSAJYnJlYWs7Ci1AQCAtNDQ3LDYgKzU1NCw4IEBAIGFhcmNoNjRfZHJf c3RhdGVfcmVtb3ZlX29uZV9wb2ludCAoc3RydWN0IGFhcmNoNjRfZGVidWdfcmVnX3N0YXRlICpz dGF0ZSwKLSAgICAgICAvKiBDbGVhciB0aGUgZW5hYmxlIGJpdC4gICovCi0gICAgICAgY3RybCAm PSB+MTsKLSAgICAgICBkcl9hZGRyX3BbaV0gPSAwOwotKyAgICAgIGlmIChkcl9hZGRyX29yaWdf cCAhPSBudWxscHRyKQotKwlkcl9hZGRyX29yaWdfcFtpXSA9IDA7Ci0gICAgICAgZHJfY3RybF9w W2ldID0gY3RybDsKLSAgICAgICAvKiBOb3RpZnkgdGhlIGNoYW5nZS4gICovCi0gICAgICAgYWFy Y2g2NF9ub3RpZnlfZGVidWdfcmVnX2NoYW5nZSAoc3RhdGUsIGlzX3dhdGNocG9pbnQsIGkpOwot QEAgLTQ3MywxMCArNTgyLDEwIEBAIGFhcmNoNjRfaGFuZGxlX2JyZWFrcG9pbnQgKGVudW0gdGFy Z2V0X2h3X2JwX3R5cGUgdHlwZSwgQ09SRV9BRERSIGFkZHIsCi0gICAgICAgaWYgKCFhYXJjaDY0 X3BvaW50X2lzX2FsaWduZWQgKDAgLyogaXNfd2F0Y2hwb2ludCAqLyAsIGFkZHIsIGxlbikpCi0g CXJldHVybiAtMTsKLSAKLS0gICAgICByZXR1cm4gYWFyY2g2NF9kcl9zdGF0ZV9pbnNlcnRfb25l X3BvaW50IChzdGF0ZSwgdHlwZSwgYWRkciwgbGVuKTsKLSsgICAgICByZXR1cm4gYWFyY2g2NF9k cl9zdGF0ZV9pbnNlcnRfb25lX3BvaW50IChzdGF0ZSwgdHlwZSwgYWRkciwgMCwgbGVuLCAtMSk7 Ci0gICAgIH0KLSAgIGVsc2UKLS0gICAgcmV0dXJuIGFhcmNoNjRfZHJfc3RhdGVfcmVtb3ZlX29u ZV9wb2ludCAoc3RhdGUsIHR5cGUsIGFkZHIsIGxlbik7Ci0rICAgIHJldHVybiBhYXJjaDY0X2Ry X3N0YXRlX3JlbW92ZV9vbmVfcG9pbnQgKHN0YXRlLCB0eXBlLCBhZGRyLCAwLCBsZW4sIC0xKTsK LSB9Ci0gCi0gLyogVGhpcyBpcyBlc3NlbnRpYWxseSB0aGUgc2FtZSBhcyBhYXJjaDY0X2hhbmRs ZV9icmVha3BvaW50LCBhcGFydAotQEAgLTQ4OCw5ICs1OTcsOSBAQCBhYXJjaDY0X2hhbmRsZV9h bGlnbmVkX3dhdGNocG9pbnQgKGVudW0gdGFyZ2V0X2h3X2JwX3R5cGUgdHlwZSwKLSAJCQkJICAg c3RydWN0IGFhcmNoNjRfZGVidWdfcmVnX3N0YXRlICpzdGF0ZSkKLSB7Ci0gICBpZiAoaXNfaW5z ZXJ0KQotLSAgICByZXR1cm4gYWFyY2g2NF9kcl9zdGF0ZV9pbnNlcnRfb25lX3BvaW50IChzdGF0 ZSwgdHlwZSwgYWRkciwgbGVuKTsKLSsgICAgcmV0dXJuIGFhcmNoNjRfZHJfc3RhdGVfaW5zZXJ0 X29uZV9wb2ludCAoc3RhdGUsIHR5cGUsIGFkZHIsIDAsIGxlbiwgYWRkcik7Ci0gICBlbHNlCi0t ICAgIHJldHVybiBhYXJjaDY0X2RyX3N0YXRlX3JlbW92ZV9vbmVfcG9pbnQgKHN0YXRlLCB0eXBl LCBhZGRyLCBsZW4pOwotKyAgICByZXR1cm4gYWFyY2g2NF9kcl9zdGF0ZV9yZW1vdmVfb25lX3Bv aW50IChzdGF0ZSwgdHlwZSwgYWRkciwgMCwgbGVuLCBhZGRyKTsKLSB9Ci0gCi0gLyogSW5zZXJ0 L3JlbW92ZSB1bmFsaWduZWQgd2F0Y2hwb2ludCBieSBjYWxsaW5nCi1AQCAtNTAyLDMyICs2MTEs NDUgQEAgYWFyY2g2NF9oYW5kbGVfYWxpZ25lZF93YXRjaHBvaW50IChlbnVtIHRhcmdldF9od19i cF90eXBlIHR5cGUsCi0gCi0gc3RhdGljIGludAotIGFhcmNoNjRfaGFuZGxlX3VuYWxpZ25lZF93 YXRjaHBvaW50IChlbnVtIHRhcmdldF9od19icF90eXBlIHR5cGUsCi0tCQkJCSAgICAgQ09SRV9B RERSIGFkZHIsIExPTkdFU1QgbGVuLCBpbnQgaXNfaW5zZXJ0LAotKwkJCQkgICAgIENPUkVfQURE UiBhZGRyLCBpbnQgbGVuLCBpbnQgaXNfaW5zZXJ0LAotIAkJCQkgICAgIHN0cnVjdCBhYXJjaDY0 X2RlYnVnX3JlZ19zdGF0ZSAqc3RhdGUpCi0gewotKyAgQ09SRV9BRERSIGFkZHJfb3JpZyA9IGFk ZHI7Ci0rCi0gICB3aGlsZSAobGVuID4gMCkKLSAgICAgewotICAgICAgIENPUkVfQUREUiBhbGln bmVkX2FkZHI7Ci0tICAgICAgaW50IGFsaWduZWRfbGVuLCByZXQ7Ci0rICAgICAgaW50IGFsaWdu ZWRfb2Zmc2V0LCBhbGlnbmVkX2xlbiwgcmV0OwotKyAgICAgIENPUkVfQUREUiBhZGRyX29yaWdf bmV4dCA9IGFkZHJfb3JpZzsKLSAKLS0gICAgICBhYXJjaDY0X2FsaWduX3dhdGNocG9pbnQgKGFk ZHIsIGxlbiwgJmFsaWduZWRfYWRkciwgJmFsaWduZWRfbGVuLAotLQkJCQkmYWRkciwgJmxlbik7 Ci0rICAgICAgYWFyY2g2NF9hbGlnbl93YXRjaHBvaW50IChhZGRyLCBsZW4sICZhbGlnbmVkX2Fk ZHIsICZhbGlnbmVkX29mZnNldCwKLSsJCQkJJmFsaWduZWRfbGVuLCAmYWRkciwgJmxlbiwgJmFk ZHJfb3JpZ19uZXh0KTsKLSAKLSAgICAgICBpZiAoaXNfaW5zZXJ0KQotIAlyZXQgPSBhYXJjaDY0 X2RyX3N0YXRlX2luc2VydF9vbmVfcG9pbnQgKHN0YXRlLCB0eXBlLCBhbGlnbmVkX2FkZHIsCi0t CQkJCQkJIGFsaWduZWRfbGVuKTsKLSsJCQkJCQkgYWxpZ25lZF9vZmZzZXQsCi0rCQkJCQkJIGFs aWduZWRfbGVuLCBhZGRyX29yaWcpOwotICAgICAgIGVsc2UKLSAJcmV0ID0gYWFyY2g2NF9kcl9z dGF0ZV9yZW1vdmVfb25lX3BvaW50IChzdGF0ZSwgdHlwZSwgYWxpZ25lZF9hZGRyLAotLQkJCQkJ CSBhbGlnbmVkX2xlbik7Ci0rCQkJCQkJIGFsaWduZWRfb2Zmc2V0LAotKwkJCQkJCSBhbGlnbmVk X2xlbiwgYWRkcl9vcmlnKTsKLSAKLSAgICAgICBpZiAoc2hvd19kZWJ1Z19yZWdzKQotIAlkZWJ1 Z19wcmludGYgKCJoYW5kbGVfdW5hbGlnbmVkX3dhdGNocG9pbnQ6IGlzX2luc2VydDogJWRcbiIK LSAJCSAgICAgICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIKLSAJCSAgICAgICJhbGln bmVkX2FkZHI6ICVzLCBhbGlnbmVkX2xlbjogJWRcbiIKLSAJCSAgICAgICIgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICIKLS0JCSAgICAgICJuZXh0X2FkZHI6ICVzLCAgICBuZXh0X2xl bjogJXNcbiIsCi0rCQkgICAgICAiYWRkcl9vcmlnOiAlc1xuIgotKwkJICAgICAgIiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIgotKwkJICAgICAgIm5leHRfYWRkcjogJXMsICAgIG5l eHRfbGVuOiAlZFxuIgotKwkJICAgICAgIiAgICAgICAgICAgICAgICAgICAgICAgICAgICIKLSsJ CSAgICAgICJhZGRyX29yaWdfbmV4dDogJXNcbiIsCi0gCQkgICAgICBpc19pbnNlcnQsIGNvcmVf YWRkcl90b19zdHJpbmdfbnogKGFsaWduZWRfYWRkciksCi0tCQkgICAgICBhbGlnbmVkX2xlbiwg Y29yZV9hZGRyX3RvX3N0cmluZ19ueiAoYWRkciksIHBsb25nZXN0IChsZW4pKTsKLSsJCSAgICAg IGFsaWduZWRfbGVuLCBjb3JlX2FkZHJfdG9fc3RyaW5nX256IChhZGRyX29yaWcpLAotKwkJICAg ICAgY29yZV9hZGRyX3RvX3N0cmluZ19ueiAoYWRkciksIGxlbiwKLSsJCSAgICAgIGNvcmVfYWRk cl90b19zdHJpbmdfbnogKGFkZHJfb3JpZ19uZXh0KSk7Ci0rCi0rICAgICAgYWRkcl9vcmlnID0g YWRkcl9vcmlnX25leHQ7Ci0gCi0gICAgICAgaWYgKHJldCAhPSAwKQotIAlyZXR1cm4gcmV0Owot QEAgLTU1Myw3ICs2NzUsNyBAQCBhYXJjaDY0X2hhbmRsZV93YXRjaHBvaW50IChlbnVtIHRhcmdl dF9od19icF90eXBlIHR5cGUsIENPUkVfQUREUiBhZGRyLAotICAgIHJlZ2lzdGVycyB3aXRoIGRh dGEgZnJvbSAqU1RBVEUuICAqLwotIAotIHZvaWQKLS1hYXJjaDY0X2xpbnV4X3NldF9kZWJ1Z19y ZWdzIChjb25zdCBzdHJ1Y3QgYWFyY2g2NF9kZWJ1Z19yZWdfc3RhdGUgKnN0YXRlLAotK2FhcmNo NjRfbGludXhfc2V0X2RlYnVnX3JlZ3MgKHN0cnVjdCBhYXJjaDY0X2RlYnVnX3JlZ19zdGF0ZSAq c3RhdGUsCi0gCQkJICAgICAgaW50IHRpZCwgaW50IHdhdGNocG9pbnQpCi0gewotICAgaW50IGks IGNvdW50OwotQEAgLTU4MSw3ICs3MDMsMTggQEAgYWFyY2g2NF9saW51eF9zZXRfZGVidWdfcmVn cyAoY29uc3Qgc3RydWN0IGFhcmNoNjRfZGVidWdfcmVnX3N0YXRlICpzdGF0ZSwKLSAgIGlmIChw dHJhY2UgKFBUUkFDRV9TRVRSRUdTRVQsIHRpZCwKLSAJICAgICAgd2F0Y2hwb2ludCA/IE5UX0FS TV9IV19XQVRDSCA6IE5UX0FSTV9IV19CUkVBSywKLSAJICAgICAgKHZvaWQgKikgJmlvdikpCi0t ICAgIGVycm9yIChfKCJVbmV4cGVjdGVkIGVycm9yIHNldHRpbmcgaGFyZHdhcmUgZGVidWcgcmVn aXN0ZXJzIikpOwotKyAgICB7Ci0rICAgICAgLyogSGFuZGxlIExpbnV4IGtlcm5lbHMgd2l0aCB0 aGUgUFIgZXh0ZXJuYWwvMjAyMDcgYnVnLiAgKi8KLSsgICAgICBpZiAod2F0Y2hwb2ludCAmJiBl cnJubyA9PSBFSU5WQUwKLSsJICAmJiBrZXJuZWxfc3VwcG9ydHNfYW55X2NvbnRpZ3VvdXNfcmFu Z2UpCi0rCXsKLSsJICBrZXJuZWxfc3VwcG9ydHNfYW55X2NvbnRpZ3VvdXNfcmFuZ2UgPSBmYWxz ZTsKLSsJICBhYXJjaDY0X2Rvd25ncmFkZV9yZWdzIChzdGF0ZSk7Ci0rCSAgYWFyY2g2NF9saW51 eF9zZXRfZGVidWdfcmVncyAoc3RhdGUsIHRpZCwgd2F0Y2hwb2ludCk7Ci0rCSAgcmV0dXJuOwot Kwl9Ci0rICAgICAgZXJyb3IgKF8oIlVuZXhwZWN0ZWQgZXJyb3Igc2V0dGluZyBoYXJkd2FyZSBk ZWJ1ZyByZWdpc3RlcnMiKSk7Ci0rICAgIH0KLSB9Ci0gCi0gLyogUHJpbnQgdGhlIHZhbHVlcyBv ZiB0aGUgY2FjaGVkIGJyZWFrcG9pbnQvd2F0Y2hwb2ludCByZWdpc3RlcnMuICAqLwotQEAgLTYx Miw4ICs3NDUsOSBAQCBhYXJjaDY0X3Nob3dfZGVidWdfcmVnX3N0YXRlIChzdHJ1Y3QgYWFyY2g2 NF9kZWJ1Z19yZWdfc3RhdGUgKnN0YXRlLAotIAotICAgZGVidWdfcHJpbnRmICgiXHRXQVRDSFBP SU5UczpcbiIpOwotICAgZm9yIChpID0gMDsgaSA8IGFhcmNoNjRfbnVtX3dwX3JlZ3M7IGkrKykK LS0gICAgZGVidWdfcHJpbnRmICgiXHRXUCVkOiBhZGRyPSVzLCBjdHJsPTB4JTA4eCwgcmVmLmNv dW50PSVkXG4iLAotKyAgICBkZWJ1Z19wcmludGYgKCJcdFdQJWQ6IGFkZHI9JXMgKG9yaWc9JXMp LCBjdHJsPTB4JTA4eCwgcmVmLmNvdW50PSVkXG4iLAotIAkJICBpLCBjb3JlX2FkZHJfdG9fc3Ry aW5nX256IChzdGF0ZS0+ZHJfYWRkcl93cFtpXSksCi0rCQkgIGNvcmVfYWRkcl90b19zdHJpbmdf bnogKHN0YXRlLT5kcl9hZGRyX29yaWdfd3BbaV0pLAotIAkJICBzdGF0ZS0+ZHJfY3RybF93cFtp XSwgc3RhdGUtPmRyX3JlZl9jb3VudF93cFtpXSk7Ci0gfQotIAotZGlmZiAtLWdpdCBhL2dkYi9u YXQvYWFyY2g2NC1saW51eC1ody1wb2ludC5oIGIvZ2RiL25hdC9hYXJjaDY0LWxpbnV4LWh3LXBv aW50LmgKLWluZGV4IGUxZDRmYzhkYmMuLmI1YmE2NDE1YzAgMTAwNjQ0Ci0tLS0gYS9nZGIvbmF0 L2FhcmNoNjQtbGludXgtaHctcG9pbnQuaAotKysrIGIvZ2RiL25hdC9hYXJjaDY0LWxpbnV4LWh3 LXBvaW50LmgKLUBAIC03NywxMyArNzcsMTMgQEAKLSAKLSAgICAzMSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgMTMgICAgICAgICAgNSAgICAgIDMgICAgICAxICAgICAwCi0gICAgKy0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0tKy0tLS0tLSstLS0t KwotLSAgIHwgICAgICAgICBSRVNFUlZFRCAoU0JaKSAgICAgICAgIHwgIExFTkdUSCAgfCBUWVBF IHwgUFJJViB8IEVOIHwKLSsgICB8ICAgICAgICAgUkVTRVJWRUQgKFNCWikgICAgICAgICB8ICAg TUFTSyAgIHwgVFlQRSB8IFBSSVYgfCBFTiB8Ci0gICAgKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0tKy0tLS0tLSstLS0tKwotIAotICAgIFRoZSBUWVBF IGZpZWxkIGlzIGlnbm9yZWQgZm9yIGJyZWFrcG9pbnRzLiAgKi8KLSAKLSAjZGVmaW5lIERSX0NP TlRST0xfRU5BQkxFRChjdHJsKQkoKChjdHJsKSAmIDB4MSkgPT0gMSkKLS0jZGVmaW5lIERSX0NP TlRST0xfTEVOR1RIKGN0cmwpCQkoKChjdHJsKSA+PiA1KSAmIDB4ZmYpCi0rI2RlZmluZSBEUl9D T05UUk9MX01BU0soY3RybCkJCSgoKGN0cmwpID4+IDUpICYgMHhmZikKLSAKLSAvKiBFYWNoIGJp dCBvZiBhIHZhcmlhYmxlIG9mIHRoaXMgdHlwZSBpcyB1c2VkIHRvIGluZGljYXRlIHdoZXRoZXIg YQotICAgIGhhcmR3YXJlIGJyZWFrcG9pbnQgb3Igd2F0Y2hwb2ludCBzZXR0aW5nIGhhcyBiZWVu IGNoYW5nZWQgc2luY2UKLUBAIC0xNDcsNyArMTQ3LDEwIEBAIHN0cnVjdCBhYXJjaDY0X2RlYnVn X3JlZ19zdGF0ZQotICAgdW5zaWduZWQgaW50IGRyX3JlZl9jb3VudF9icFtBQVJDSDY0X0hCUF9N QVhfTlVNXTsKLSAKLSAgIC8qIGhhcmR3YXJlIHdhdGNocG9pbnQgKi8KLSsgIC8qIEFkZHJlc3Mg YWxpZ25lZCBkb3duIHRvIEFBUkNINjRfSFdQX0FMSUdOTUVOVC4gICovCi0gICBDT1JFX0FERFIg ZHJfYWRkcl93cFtBQVJDSDY0X0hXUF9NQVhfTlVNXTsKLSsgIC8qIEFkZHJlc3MgYXMgZW50ZXJl ZCBieSB1c2VyIHdpdGhvdXQgYW55IGZvcmNlZCBhbGlnbm1lbnQuICAqLwotKyAgQ09SRV9BRERS IGRyX2FkZHJfb3JpZ193cFtBQVJDSDY0X0hXUF9NQVhfTlVNXTsKLSAgIHVuc2lnbmVkIGludCBk cl9jdHJsX3dwW0FBUkNINjRfSFdQX01BWF9OVU1dOwotICAgdW5zaWduZWQgaW50IGRyX3JlZl9j b3VudF93cFtBQVJDSDY0X0hXUF9NQVhfTlVNXTsKLSB9OwotQEAgLTE2Niw2ICsxNjksNyBAQCBz dHJ1Y3QgYXJjaF9sd3BfaW5mbwotIGV4dGVybiBpbnQgYWFyY2g2NF9udW1fYnBfcmVnczsKLSBl eHRlcm4gaW50IGFhcmNoNjRfbnVtX3dwX3JlZ3M7Ci0gCi0rdW5zaWduZWQgaW50IGFhcmNoNjRf d2F0Y2hwb2ludF9vZmZzZXQgKHVuc2lnbmVkIGludCBjdHJsKTsKLSB1bnNpZ25lZCBpbnQgYWFy Y2g2NF93YXRjaHBvaW50X2xlbmd0aCAodW5zaWduZWQgaW50IGN0cmwpOwotIAotIGludCBhYXJj aDY0X2hhbmRsZV9icmVha3BvaW50IChlbnVtIHRhcmdldF9od19icF90eXBlIHR5cGUsIENPUkVf QUREUiBhZGRyLAotQEAgLTE3NSw3ICsxNzksNyBAQCBpbnQgYWFyY2g2NF9oYW5kbGVfd2F0Y2hw b2ludCAoZW51bSB0YXJnZXRfaHdfYnBfdHlwZSB0eXBlLCBDT1JFX0FERFIgYWRkciwKLSAJCQkg ICAgICAgTE9OR0VTVCBsZW4sIGludCBpc19pbnNlcnQsCi0gCQkJICAgICAgIHN0cnVjdCBhYXJj aDY0X2RlYnVnX3JlZ19zdGF0ZSAqc3RhdGUpOwotIAotLXZvaWQgYWFyY2g2NF9saW51eF9zZXRf ZGVidWdfcmVncyAoY29uc3Qgc3RydWN0IGFhcmNoNjRfZGVidWdfcmVnX3N0YXRlICpzdGF0ZSwK LSt2b2lkIGFhcmNoNjRfbGludXhfc2V0X2RlYnVnX3JlZ3MgKHN0cnVjdCBhYXJjaDY0X2RlYnVn X3JlZ19zdGF0ZSAqc3RhdGUsCi0gCQkJCSAgIGludCB0aWQsIGludCB3YXRjaHBvaW50KTsKLSAK LSB2b2lkIGFhcmNoNjRfc2hvd19kZWJ1Z19yZWdfc3RhdGUgKHN0cnVjdCBhYXJjaDY0X2RlYnVn X3JlZ19zdGF0ZSAqc3RhdGUsCi1kaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS93 YXRjaHBvaW50LXVuYWxpZ25lZC5jIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS93YXRjaHBvaW50 LXVuYWxpZ25lZC5jCi1uZXcgZmlsZSBtb2RlIDEwMDY0NAotLS0tIC9kZXYvbnVsbAotKysrIGIv Z2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS93YXRjaHBvaW50LXVuYWxpZ25lZC5jCi1AQCAtMCwwICsx LDk2IEBACi0rLyogVGhpcyB0ZXN0Y2FzZSBpcyBwYXJ0IG9mIEdEQiwgdGhlIEdOVSBkZWJ1Z2dl ci4KLSsKLSsgICBDb3B5cmlnaHQgMjAxNy0yMDE4IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwg SW5jLgotKwotKyAgIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlz dHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5Ci0rICAgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBH TlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKLSsgICB0aGUgRnJlZSBT b2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvcgot KyAgIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCi0rCi0rICAgVGhpcyBwcm9n cmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCi0r ICAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2Fy cmFudHkgb2YKLSsgICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS IFBVUlBPU0UuICBTZWUgdGhlCi0rICAgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1v cmUgZGV0YWlscy4KLSsKLSsgICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRo ZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQotKyAgIGFsb25nIHdpdGggdGhpcyBwcm9ncmFt LiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LiAgKi8KLSsKLSsj aW5jbHVkZSA8c3RkaW50Lmg+Ci0rI2luY2x1ZGUgPGFzc2VydC5oPgotKwotK3N0YXRpYyBpbnQg YWdhaW47Ci0rCi0rc3RhdGljIHZvbGF0aWxlIHN0cnVjdAotK3sKLSsgIHVpbnQ2NF90IGFsaWdu bWVudDsKLSsgIHVuaW9uCi0rICAgIHsKLSsgICAgICB1aW50NjRfdCBzaXplOFsxXTsKLSsgICAg ICB1aW50MzJfdCBzaXplNFsyXTsKLSsgICAgICB1aW50MTZfdCBzaXplMls0XTsKLSsgICAgICB1 aW50OF90IHNpemUxWzhdOwotKyAgICAgIHVpbnQ2NF90IHNpemU4dHdpY2VbMl07Ci0rICAgIH0K LSsgIHU7Ci0rfSBkYXRhOwotKwotK3N0YXRpYyBpbnQgc2l6ZSA9IDA7Ci0rc3RhdGljIGludCBv ZmZzZXQ7Ci0rCi0rc3RhdGljIHZvaWQKLSt3cml0ZV9zaXplOHR3aWNlICh2b2lkKQotK3sKLSsg IHN0YXRpYyBjb25zdCB1aW50NjRfdCBmaXJzdCA9IDE7Ci0rICBzdGF0aWMgY29uc3QgdWludDY0 X3Qgc2Vjb25kID0gMjsKLSsKLSsjaWZkZWYgX19hYXJjaDY0X18KLSsgIGFzbSB2b2xhdGlsZSAo InN0cCAlMSwgJTIsIFslMF0iCi0rCQk6IC8qIG91dHB1dCAqLwotKwkJOiAiciIgKGRhdGEudS5z aXplOHR3aWNlKSwgInIiIChmaXJzdCksICJyIiAoc2Vjb25kKSAvKiBpbnB1dCAqLwotKwkJOiAi bWVtb3J5IiAvKiBjbG9iYmVyICovKTsKLSsjZWxzZQotKyAgZGF0YS51LnNpemU4dHdpY2VbMF0g PSBmaXJzdDsKLSsgIGRhdGEudS5zaXplOHR3aWNlWzFdID0gc2Vjb25kOwotKyNlbmRpZgotK30K LSsKLStpbnQKLSttYWluICh2b2lkKQotK3sKLSsgIHZvbGF0aWxlIHVpbnQ2NF90IGxvY2FsOwot KwotKyAgYXNzZXJ0IChzaXplb2YgKGRhdGEpID09IDggKyAyICogOCk7Ci0rCi0rICB3cml0ZV9z aXplOHR3aWNlICgpOwotKwotKyAgd2hpbGUgKHNpemUpCi0rICAgIHsKLSsgICAgICBzd2l0Y2gg KHNpemUpCi0rCXsKLSsvKiBfX3MzOTB4X18gYWxzbyBkZWZpbmVzIF9fczM5MF9fICovCi0rI2lm ZGVmIF9fczM5MF9fCi0rIyBkZWZpbmUgQUNDRVNTKHZhcikgdmFyID0gfnZhcgotKyNlbHNlCi0r IyBkZWZpbmUgQUNDRVNTKHZhcikgbG9jYWwgPSB2YXIKLSsjZW5kaWYKLSsJY2FzZSA4OgotKwkg IEFDQ0VTUyAoZGF0YS51LnNpemU4W29mZnNldF0pOwotKwkgIGJyZWFrOwotKwljYXNlIDQ6Ci0r CSAgQUNDRVNTIChkYXRhLnUuc2l6ZTRbb2Zmc2V0XSk7Ci0rCSAgYnJlYWs7Ci0rCWNhc2UgMjoK LSsJICBBQ0NFU1MgKGRhdGEudS5zaXplMltvZmZzZXRdKTsKLSsJICBicmVhazsKLSsJY2FzZSAx OgotKwkgIEFDQ0VTUyAoZGF0YS51LnNpemUxW29mZnNldF0pOwotKwkgIGJyZWFrOwotKyN1bmRl ZiBBQ0NFU1MKLSsJZGVmYXVsdDoKLSsJICBhc3NlcnQgKDApOwotKwl9Ci0rICAgICAgc2l6ZSA9 IDA7Ci0rICAgICAgc2l6ZSA9IHNpemU7IC8qIHN0YXJ0X2FnYWluICovCi0rICAgIH0KLSsgIHJl dHVybiAwOyAvKiBmaW5hbF9yZXR1cm4gKi8KLSt9Ci1kaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0 ZS9nZGIuYmFzZS93YXRjaHBvaW50LXVuYWxpZ25lZC5leHAgYi9nZGIvdGVzdHN1aXRlL2dkYi5i YXNlL3dhdGNocG9pbnQtdW5hbGlnbmVkLmV4cAotbmV3IGZpbGUgbW9kZSAxMDA2NDQKLS0tLSAv ZGV2L251bGwKLSsrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2Uvd2F0Y2hwb2ludC11bmFsaWdu ZWQuZXhwCi1AQCAtMCwwICsxLDE4NCBAQAotKyMgQ29weXJpZ2h0IDIwMTctMjAxOCBGcmVlIFNv ZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KLSsjCi0rIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0 d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQotKyMgaXQgdW5kZXIg dGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQg YnkKLSsjIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDMgb2Yg dGhlIExpY2Vuc2UsIG9yCi0rIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgot KyMKLSsjIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdp bGwgYmUgdXNlZnVsLAotKyMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4g dGhlIGltcGxpZWQgd2FycmFudHkgb2YKLSsjIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZP UiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKLSsjIEdOVSBHZW5lcmFsIFB1YmxpYyBM aWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0rIwotKyMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVk IGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKLSsjIGFsb25nIHdpdGgg dGhpcyBwcm9ncmFtLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+ LgotKyMKLSsjIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBnZGIgdGVzdHN1aXRlLgotKwotKyMg VGVzdCBpbnNlcnRpbmcgcmVhZCB3YXRjaHBvaW50cyBvbiB1bmFsaWduZWQgYWRkcmVzc2VzLgot KwotK3N0YW5kYXJkX3Rlc3RmaWxlCi0raWYgeyBbcHJlcGFyZV9mb3JfdGVzdGluZyAke3Rlc3Rm aWxlfS5leHAgJHt0ZXN0ZmlsZX0gJHtzcmNmaWxlfV0gfSB7Ci0rICAgIHJldHVybiAtMQotK30K LSsKLStpZiAhW3J1bnRvX21haW5dIHsKLSsgICAgdW50ZXN0ZWQgImNvdWxkIG5vdCBydW4gdG8g bWFpbiIKLSsgICAgcmV0dXJuIC0xCi0rfQotKwotK2dkYl9icmVha3BvaW50IFtnZGJfZ2V0X2xp bmVfbnVtYmVyICJzdGFydF9hZ2FpbiJdICJCcmVha3BvaW50ICRkZWNpbWFsIGF0ICRoZXgiICJz dGFydF9hZ2FpbiIKLSsKLStzZXQgc2l6ZXMgezEgMiA0IDh9Ci0rYXJyYXkgc2V0IGFsaWduZWRl bmQgezEgMSAgMiAyICAzIDQgIDQgNCAgNSA4ICA2IDggIDcgOCAgOCA4fQotKwotK3NldCByd2F0 Y2ggInJ3YXRjaCIKLStzZXQgcndhdGNoX2V4cCAiSGFyZHdhcmUgcmVhZCB3YXRjaHBvaW50Igot K2lmIHtbaXN0YXJnZXQgInMzOTAqLSotKiJdfSB7Ci0rICAgICMgVGFyZ2V0IGRvZXMgbm90IHN1 cHBvcnQgdGhpcyB0eXBlIG9mIGhhcmR3YXJlIHdhdGNocG9pbnQuIgotKyAgICBzZXQgcndhdGNo ICJ3YXRjaCIKLSsgICAgc2V0IHJ3YXRjaF9leHAgIkhhcmR3YXJlIHdhdGNocG9pbnQiCi0rfQot KwotK2ZvcmVhY2ggd3BzaXplICRzaXplcyB7Ci0rICAgIGZvciB7c2V0IHdwb2Zmc2V0IDB9IHsk d3BvZmZzZXQgPCA4IC8gJHdwc2l6ZX0ge2luY3Igd3BvZmZzZXR9IHsKLSsJc2V0IHdwc3RhcnQg W2V4cHIgJHdwb2Zmc2V0ICogJHdwc2l6ZV0KLSsJc2V0IHdwZW5kIFtleHByICgkd3BvZmZzZXQg KyAxKSAqICR3cHNpemVdCi0rCXNldCB3cGVuZGFsaWduZWQgJGFsaWduZWRlbmQoJHdwZW5kKQot Kwlmb3JlYWNoIHJkc2l6ZSAkc2l6ZXMgewotKwkgICAgZm9yIHtzZXQgcmRvZmZzZXQgMH0geyRy ZG9mZnNldCA8IDggLyAkcmRzaXplfSB7aW5jciByZG9mZnNldH0gewotKwkJc2V0IHJkc3RhcnQg W2V4cHIgJHJkb2Zmc2V0ICogJHJkc2l6ZV0KLSsJCXNldCByZGVuZCBbZXhwciAoJHJkb2Zmc2V0 ICsgMSkgKiAkcmRzaXplXQotKwkJc2V0IGV4cGVjdF9oaXQgW2V4cHIgbWF4ICgkd3BzdGFydCwg JHJkc3RhcnQpIDwgbWluICgkd3BlbmQsICRyZGVuZCldCi0rCQlzZXQgdGVzdCAiJHJ3YXRjaCBk YXRhLnUuc2l6ZSR3cHNpemVcWyR3cG9mZnNldFxdIgotKwkJc2V0IHdwbnVtICIiCi0rCQlnZGJf dGVzdF9tdWx0aXBsZSAkdGVzdCAkdGVzdCB7Ci0rCQkgICAgLXJlICIkcndhdGNoX2V4cCAoXFsw LTlcXSspOiAuKlxyXG4kZ2RiX3Byb21wdCAkIiB7Ci0rCQkJc2V0IHdwbnVtICRleHBlY3Rfb3V0 KDEsc3RyaW5nKQotKwkJICAgIH0KLSsJCSAgICAtcmUgIkV4cHJlc3Npb24gY2Fubm90IGJlIGlt cGxlbWVudGVkIHdpdGggcmVhZC9hY2Nlc3Mgd2F0Y2hwb2ludC5cclxuJGdkYl9wcm9tcHQgJCIg ewotKwkJCWlmIHskd3BzaXplID09IDggJiYgW2lzdGFyZ2V0ICJhcm0qLSotKiJdfSB7Ci0rCQkJ ICAgIHVudGVzdGVkICR0ZXN0Ci0rCQkJICAgIGNvbnRpbnVlCi0rCQkJfQotKwkJCWZhaWwgJHRl c3QKLSsJCSAgICB9Ci0rCQl9Ci0rCQlnZGJfdGVzdF9ub19vdXRwdXQgInNldCB2YXJpYWJsZSBz aXplID0gJHJkc2l6ZSIgIiIKLSsJCWdkYl90ZXN0X25vX291dHB1dCAic2V0IHZhcmlhYmxlIG9m ZnNldCA9ICRyZG9mZnNldCIgIiIKLSsJCXNldCB0ZXN0ICJjb250aW51ZSIKLSsJCXNldCBnb3Rf aGl0IDAKLSsJCWdkYl90ZXN0X211bHRpcGxlICR0ZXN0ICR0ZXN0IHsKLSsJCSAgICAtcmUgIiRy d2F0Y2hfZXhwICR3cG51bTouKmFsdWUgPSAuKlxyXG4kZ2RiX3Byb21wdCAkIiB7Ci0rCQkJc2V0 IGdvdF9oaXQgMQotKwkJCXNlbmRfZ2RiICJjb250aW51ZVxuIgotKwkJCWV4cF9jb250aW51ZQot KwkJICAgIH0KLSsJCSAgICAtcmUgIiBzdGFydF9hZ2FpbiAuKlxyXG4kZ2RiX3Byb21wdCAkIiB7 Ci0rCQkgICAgfQotKwkJfQotKwkJZ2RiX3Rlc3Rfbm9fb3V0cHV0ICJkZWxldGUgJHdwbnVtIiAi IgotKwkJc2V0IHRlc3QgIndwKHNpemU9JHdwc2l6ZSBvZmZzZXQ9JHdwb2Zmc2V0KSByZChzaXpl PSRyZHNpemUgb2Zmc2V0PSRyZG9mZnNldCkgZXhwZWN0PSRleHBlY3RfaGl0IgotKwkJaWYgeyRl eHBlY3RfaGl0ID09ICRnb3RfaGl0fSB7Ci0rCQkgICAgcGFzcyAkdGVzdAotKwkJfSBlbHNlIHsK LSsJCSAgICAjIFdlIGRvIG5vdCBrbm93IGlmIHdlIHJ1biBvbiBhIGZpeGVkIExpbnV4IGtlcm5l bAotKwkJICAgICMgb3Igbm90LiAgUmVwb3J0IFhGQUlMIG9ubHkgaW4gdGhlIEZBSUwgY2FzZS4K LSsJCSAgICBpZiB7JGV4cGVjdF9oaXQgPT0gMCAmJiAkcmRzdGFydCA8ICR3cGVuZGFsaWduZWR9 IHsKLSsJCQlzZXR1cF94ZmFpbCBleHRlcm5hbC8yMDIwNyAiYWFyY2g2NCotKi1saW51eCoiCi0r CQkgICAgfQotKwkJICAgIGlmIHshJGV4cGVjdF9oaXQgJiYgW2V4cHIgbWF4ICgkd3BzdGFydCAv IDgsICRyZHN0YXJ0IC8gOCkgPCBtaW4gKCgkd3BlbmQgKyA3KSAvIDgsICgkcmRlbmQgKyA3KSAv IDgpXX0gewotKwkJCXNldHVwX3hmYWlsIGJyZWFrcG9pbnRzLzIzMTMxICJwb3dlcnBjKi0qLSoi Ci0rCQkgICAgfQotKwkJICAgIGZhaWwgJHRlc3QKLSsJCX0KLSsJICAgIH0KLSsJfQotKyAgICB9 Ci0rfQotKwotK2ZvcmVhY2ggd3Bjb3VudCB7NCA3fSB7Ci0rICAgIGFycmF5IHNldCB3cG9mZnNl dF90b193cG51bSB7fQotKyAgICBmb3Ige3NldCB3cG9mZnNldCAxfSB7JHdwb2Zmc2V0IDw9ICR3 cGNvdW50fSB7aW5jciB3cG9mZnNldH0gewotKwlzZXQgdGVzdCAiJHJ3YXRjaCBkYXRhLnUuc2l6 ZTFcWyR3cG9mZnNldFxdIgotKwlzZXQgd3BudW0gIiIKLSsJZ2RiX3Rlc3RfbXVsdGlwbGUgJHRl c3QgJHRlc3QgewotKwkgICAgLXJlICIkcndhdGNoX2V4cCAoXFswLTlcXSspOiAuKlxyXG4kZ2Ri X3Byb21wdCAkIiB7Ci0rCQlzZXQgd3BvZmZzZXRfdG9fd3BudW0oJHdwb2Zmc2V0KSAkZXhwZWN0 X291dCgxLHN0cmluZykKLSsJICAgIH0KLSsJICAgIC1yZSAiVGhlcmUgYXJlIG5vdCBlbm91Z2gg YXZhaWxhYmxlIGhhcmR3YXJlIHJlc291cmNlcyBmb3IgdGhpcyB3YXRjaHBvaW50LlxyXG4kZ2Ri X3Byb21wdCAkIiB7Ci0rCQlpZiB7JHdwb2Zmc2V0ID4gMX0gewotKwkJICAgIHNldHVwX3hmYWls IGJyZWFrcG9pbnRzLzIzMTMxICJwb3dlcnBjKi0qLSoiCi0rCQkgICAgc2V0dXBfeGZhaWwgYnJl YWtwb2ludHMvMjMxMzEgImFybSotKi0qIgotKwkJfQotKwkJZmFpbCAkdGVzdAotKwkJc2V0IHdw b2Zmc2V0X3RvX3dwbnVtKCR3cG9mZnNldCkgMAotKwkgICAgfQotKwl9Ci0rICAgIH0KLSsgICAg Z2RiX3Rlc3Rfbm9fb3V0cHV0ICJzZXQgdmFyaWFibGUgc2l6ZSA9IDEiICIiCi0rICAgIGdkYl90 ZXN0X25vX291dHB1dCAic2V0IHZhcmlhYmxlIG9mZnNldCA9IDEiICIiCi0rICAgIHNldCB0ZXN0 ICJjb250aW51ZSIKLSsgICAgc2V0IGdvdF9oaXQgMAotKyAgICBnZGJfdGVzdF9tdWx0aXBsZSAk dGVzdCAkdGVzdCB7Ci0rCS1yZSAiXHJcbkNvdWxkIG5vdCBpbnNlcnQgaGFyZHdhcmUgd2F0Y2hw b2ludCAuKlxyXG4kZ2RiX3Byb21wdCAkIiB7Ci0rCX0KLSsJLXJlICIkcndhdGNoX2V4cCAkd3Bv ZmZzZXRfdG9fd3BudW0oMSk6LiphbHVlID0gLipcclxuJGdkYl9wcm9tcHQgJCIgewotKwkgICAg c2V0IGdvdF9oaXQgMQotKwkgICAgc2VuZF9nZGIgImNvbnRpbnVlXG4iCi0rCSAgICBleHBfY29u dGludWUKLSsJfQotKwktcmUgIiBzdGFydF9hZ2FpbiAuKlxyXG4kZ2RiX3Byb21wdCAkIiB7Ci0r CX0KLSsgICAgfQotKyAgICBmb3Ige3NldCB3cG9mZnNldCAxfSB7JHdwb2Zmc2V0IDw9ICR3cGNv dW50fSB7aW5jciB3cG9mZnNldH0gewotKwlpZiB7JHdwb2Zmc2V0X3RvX3dwbnVtKCR3cG9mZnNl dCl9IHsKLSsJICAgIGdkYl90ZXN0X25vX291dHB1dCAiZGVsZXRlICR3cG9mZnNldF90b193cG51 bSgkd3BvZmZzZXQpIiAiIgotKwl9Ci0rICAgIH0KLSsgICAgc2V0IHRlc3QgIndwY291bnQoJHdw Y291bnQpIgotKyAgICBpZiB7ISR3cG9mZnNldF90b193cG51bShbZXhwciAkd3Bjb3VudCAtIDFd KX0gewotKwl1bnRlc3RlZCAkdGVzdAotKwljb250aW51ZQotKyAgICB9Ci0rICAgIGlmIHskd3Bj b3VudCA+IDR9IHsKLSsJaWYgeyFbaXN0YXJnZXQgInMzOTAqLSotKiJdfSB7Ci0rCSAgICBzZXR1 cF9rZmFpbCB0ZGVwLzIyMzg5ICotKi0qCi0rCX0KLSsgICAgfQotKyAgICBnZGJfYXNzZXJ0ICRn b3RfaGl0ICR0ZXN0Ci0rfQotKwotK2lmICFbcnVudG9fbWFpbl0gewotKyAgICByZXR1cm4gLTEK LSt9Ci0rZ2RiX2JyZWFrcG9pbnQgW2dkYl9nZXRfbGluZV9udW1iZXIgImZpbmFsX3JldHVybiJd ICJCcmVha3BvaW50ICRkZWNpbWFsIGF0ICRoZXgiICJmaW5hbF9yZXR1cm4iCi0rc2V0IHRlc3Qg e3dhdGNoIGRhdGEudS5zaXplOHR3aWNlWzFdfQotK3NldCB3cG51bSAiIgotK2dkYl90ZXN0X211 bHRpcGxlICR0ZXN0ICR0ZXN0IHsKLSsgICAgLXJlICJIYXJkd2FyZSB3YXRjaHBvaW50IChcWzAt OVxdKyk6IC4qXHJcbiRnZGJfcHJvbXB0ICQiIHsKLSsJc2V0IHdwbnVtICRleHBlY3Rfb3V0KDEs c3RyaW5nKQotKyAgICB9Ci0rICAgIC1yZSAiV2F0Y2hwb2ludCAoXFswLTlcXSspOiAuKlxyXG4k Z2RiX3Byb21wdCAkIiB7Ci0rCWlmIHtbaXN0YXJnZXQgImFybSotKi0qIl19IHsKLSsJICAgIHVu dGVzdGVkICR0ZXN0Ci0rCSAgICBzZXQgd3BudW0gMAotKwl9Ci0rICAgIH0KLSt9Ci0raWYgeyR3 cG51bX0gewotKyAgICBzZXQgdGVzdCAiY29udGludWUiCi0rICAgIHNldCBnb3RfaGl0IDAKLSsg ICAgZ2RiX3Rlc3RfbXVsdGlwbGUgJHRlc3QgJHRlc3QgewotKwktcmUgIlxyXG5Db3VsZCBub3Qg aW5zZXJ0IGhhcmR3YXJlIHdhdGNocG9pbnQgLipcclxuJGdkYl9wcm9tcHQgJCIgewotKwl9Ci0r CS1yZSAiSGFyZHdhcmUgd2F0Y2hwb2ludCAkd3BudW06LipOZXcgdmFsdWUgPSAuKlxyXG4kZ2Ri X3Byb21wdCAkIiB7Ci0rCSAgICBzZXQgZ290X2hpdCAxCi0rCSAgICBzZW5kX2dkYiAiY29udGlu dWVcbiIKLSsJICAgIGV4cF9jb250aW51ZQotKwl9Ci0rCS1yZSAiIGZpbmFsX3JldHVybiAuKlxy XG4kZ2RiX3Byb21wdCAkIiB7Ci0rCX0KLSsgICAgfQotKyAgICBnZGJfYXNzZXJ0ICRnb3RfaGl0 ICJzaXplOHR3aWNlIHdyaXRlIgotK30KLWRpZmYgLS1naXQgYS9nZGIvdXRpbHMuYyBiL2dkYi91 dGlscy5jCi1pbmRleCA1OGMwMzgwZDE3Li4yNmVjOWYxZWU4IDEwMDY0NAotLS0tIGEvZ2RiL3V0 aWxzLmMKLSsrKyBiL2dkYi91dGlscy5jCi1AQCAtMzAxMCwyMiArMzAxMCw2IEBAIGdkYl9hYnNw YXRoIChjb25zdCBjaGFyICpwYXRoKQotIAkgICAgIHBhdGgsIChjaGFyICopIE5VTEwpKTsKLSB9 Ci0gCi0tVUxPTkdFU1QKLS1hbGlnbl91cCAoVUxPTkdFU1QgdiwgaW50IG4pCi0tewotLSAgLyog Q2hlY2sgdGhhdCBOIGlzIHJlYWxseSBhIHBvd2VyIG9mIHR3by4gICovCi0tICBnZGJfYXNzZXJ0 IChuICYmIChuICYgKG4tMSkpID09IDApOwotLSAgcmV0dXJuICh2ICsgbiAtIDEpICYgLW47Ci0t fQotLQotLVVMT05HRVNUCi0tYWxpZ25fZG93biAoVUxPTkdFU1QgdiwgaW50IG4pCi0tewotLSAg LyogQ2hlY2sgdGhhdCBOIGlzIHJlYWxseSBhIHBvd2VyIG9mIHR3by4gICovCi0tICBnZGJfYXNz ZXJ0IChuICYmIChuICYgKG4tMSkpID09IDApOwotLSAgcmV0dXJuICh2ICYgLW4pOwotLX0KLS0K LSAvKiBBbGxvY2F0aW9uIGZ1bmN0aW9uIGZvciB0aGUgbGliaWJlcnR5IGhhc2ggdGFibGUgd2hp Y2ggdXNlcyBhbgotICAgIG9ic3RhY2suICBUaGUgb2JzdGFjayBpcyBwYXNzZWQgYXMgREFUQS4g ICovCi0gCi1kaWZmIC0tZ2l0IGEvZ2RiL3V0aWxzLmggYi9nZGIvdXRpbHMuaAotaW5kZXggYjIz NDc2MjkyOS4uZDAxZDI4M2JhYSAxMDA2NDQKLS0tLSBhL2dkYi91dGlscy5oCi0rKysgYi9nZGIv dXRpbHMuaAotQEAgLTQ5OCwzOCArNDk4LDYgQEAgZXh0ZXJuIHBpZF90IHdhaXRfdG9fZGllX3dp dGhfdGltZW91dCAocGlkX3QgcGlkLCBpbnQgKnN0YXR1cywgaW50IHRpbWVvdXQpOwotIAotIGV4 dGVybiBpbnQgbXlyZWFkIChpbnQsIGNoYXIgKiwgaW50KTsKLSAKLS0vKiBFbnN1cmUgdGhhdCBW IGlzIGFsaWduZWQgdG8gYW4gTiBieXRlIGJvdW5kYXJ5IChCJ3MgYXNzdW1lZCB0byBiZSBhCi0t ICAgcG93ZXIgb2YgMikuICBSb3VuZCB1cC9kb3duIHdoZW4gbmVjZXNzYXJ5LiAgRXhhbXBsZXMg b2YgY29ycmVjdAotLSAgIHVzZSBpbmNsdWRlOgotLQotLSAgIGFkZHIgPSBhbGlnbl91cCAoYWRk ciwgOCk7IC0tIFZBTFVFIG5lZWRzIDggYnl0ZSBhbGlnbm1lbnQKLS0gICB3cml0ZV9tZW1vcnkg KGFkZHIsIHZhbHVlLCBsZW4pOwotLSAgIGFkZHIgKz0gbGVuOwotLQotLSAgIGFuZDoKLS0KLS0g ICBzcCA9IGFsaWduX2Rvd24gKHNwIC0gbGVuLCAxNik7IC0tIEtlZXAgU1AgMTYgYnl0ZSBhbGln bmVkCi0tICAgd3JpdGVfbWVtb3J5IChzcCwgdmFsdWUsIGxlbik7Ci0tCi0tICAgTm90ZSB0aGF0 IHVzZXMgc3VjaCBhczoKLS0KLS0gICB3cml0ZV9tZW1vcnkgKGFkZHIsIHZhbHVlLCBsZW4pOwot LSAgIGFkZHIgKz0gYWxpZ25fdXAgKGxlbiwgOCk7Ci0tCi0tICAgYW5kOgotLQotLSAgIHNwIC09 IGFsaWduX3VwIChsZW4sIDgpOwotLSAgIHdyaXRlX21lbW9yeSAoc3AsIHZhbHVlLCBsZW4pOwot LQotLSAgIGFyZSB0eXBpY2FsbHkgbm90IGNvcnJlY3QgYXMgdGhleSBkb24ndCBlbnN1cmUgdGhh dCB0aGUgYWRkcmVzcyAoU1AKLS0gICBvciBBRERSKSBpcyBjb3JyZWN0bHkgYWxpZ25lZCAocmVs eWluZyBvbiBwcmV2aW91cyBhbGlnbm1lbnQgdG8KLS0gICBrZWVwIHRoaW5ncyByaWdodCkuICBU aGlzIGlzIGFsc28gd2h5IHRoZSBtZXRob2RzIGFyZSBjYWxsZWQKLS0gICAiYWxpZ25fLi4uIiBp bnN0ZWFkIG9mICJyb3VuZF8uLi4iIGFzIHRoZSBsYXR0ZXIgcmVhZHMgYmV0dGVyIHdpdGgKLS0g ICB0aGlzIGluY29ycmVjdCBjb2Rpbmcgc3R5bGUuICAqLwotLQotLWV4dGVybiBVTE9OR0VTVCBh bGlnbl91cCAoVUxPTkdFU1QgdiwgaW50IG4pOwotLWV4dGVybiBVTE9OR0VTVCBhbGlnbl9kb3du IChVTE9OR0VTVCB2LCBpbnQgbik7Ci0tCi0gLyogUmVzb3VyY2UgbGltaXRzIHVzZWQgYnkgZ2V0 cmxpbWl0IGFuZCBzZXRybGltaXQuICAqLwotIAotIGVudW0gcmVzb3VyY2VfbGltaXRfa2luZAoK ZGlmZiAtLWdpdCBhL2dkYi1yaGJ6MTU0MDU1OS1nZGJhZGRpbmRleC1nbGliY2RlYnVnLXJlZ3Jl c3Npb24ucGF0Y2ggYi9nZGItcmhiejE1NDA1NTktZ2RiYWRkaW5kZXgtZ2xpYmNkZWJ1Zy1yZWdy ZXNzaW9uLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyZjcxODk0Li4wMDAw MDAwCi0tLSBhL2dkYi1yaGJ6MTU0MDU1OS1nZGJhZGRpbmRleC1nbGliY2RlYnVnLXJlZ3Jlc3Np b24ucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwxMjkgKzAsMCBAQAotRnJvbSBGRURPUkFfUEFU Q0hFUyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEphbiBLcmF0b2NodmlsIDxqYW4u a3JhdG9jaHZpbEByZWRoYXQuY29tPgotRGF0ZTogU3VuLCA0IEZlYiAyMDE4IDIwOjU1OjA0ICsw MTAwCi1TdWJqZWN0OiBnZGItcmhiejE1NDA1NTktZ2RiYWRkaW5kZXgtZ2xpYmNkZWJ1Zy1yZWdy ZXNzaW9uLnBhdGNoCi0KLUZpbGVOYW1lOiBnZGItcmhiejE1NDA1NTktZ2RiYWRkaW5kZXgtZ2xp YmNkZWJ1Zy1yZWdyZXNzaW9uLnBhdGNoCi0KLTs7IEZpeCAtRF9HTElCQ1hYX0RFQlVHIGdkYi1h ZGQtaW5kZXggcmVncmVzc2lvbiAoUkggQlogMTU0MDU1OSkuCi0KLWdkYjogT3V0LW9mLWJvdW5k cyB2ZWN0b3IgYWNjZXNzIHdoaWxlIHJ1bm5pbmcgZ2RiLWFkZC1pbmRleAotaHR0cHM6Ly9idWd6 aWxsYS5yZWRoYXQuY29tL3Nob3dfYnVnLmNnaT9pZD0xNTQwNTU5Ci0KLUZlZG9yYSBSYXdoaWRl IHN0YXJ0ZWQgdG8gdXNlIC1EX0dMSUJDWFhfREVCVUcgd2hpY2ggbWFkZSBnZGItYWRkLWluZGV4 Ci1mYWlsaW5nLgotCi0vdXNyL2luY2x1ZGUvYysrLzcvZGVidWcvc2FmZV9pdGVyYXRvci5oOjI3 MDoKLUVycm9yOiBhdHRlbXB0IHRvIGRlcmVmZXJlbmNlIGEgcGFzdC10aGUtZW5kIGl0ZXJhdG9y LgotT2JqZWN0cyBpbnZvbHZlZCBpbiB0aGUgb3BlcmF0aW9uOgotICAgIGl0ZXJhdG9yICJ0aGlz IiBAIDB4MHg3ZmZmZmZmZmNiOTAgewotICAgICAgdHlwZSA9IF9fZ251X2RlYnVnOjpfU2FmZV9p dGVyYXRvcjxfX2dudV9jeHg6Ol9fbm9ybWFsX2l0ZXJhdG9yPHVuc2lnbmVkIGNoYXIqLCBzdGQ6 Ol9fY3h4MTk5ODo6dmVjdG9yPHVuc2lnbmVkIGNoYXIsIGdkYjo6ZGVmYXVsdF9pbml0X2FsbG9j YXRvcjx1bnNpZ25lZCBjaGFyLCBzdGQ6OmFsbG9jYXRvcjx1bnNpZ25lZCBjaGFyPiA+ID4gPiwg c3RkOjpfX2RlYnVnOjp2ZWN0b3I8dW5zaWduZWQgY2hhciwgZ2RiOjpkZWZhdWx0X2luaXRfYWxs b2NhdG9yPHVuc2lnbmVkIGNoYXIsIHN0ZDo6YWxsb2NhdG9yPHVuc2lnbmVkIGNoYXI+ID4gPiA+ IChtdXRhYmxlIGl0ZXJhdG9yKTsKLSAgICAgIHN0YXRlID0gcGFzdC10aGUtZW5kOwotICAgICAg cmVmZXJlbmNlcyBzZXF1ZW5jZSB3aXRoIHR5cGUgJ3N0ZDo6X19kZWJ1Zzo6dmVjdG9yPHVuc2ln bmVkIGNoYXIsIGdkYjo6ZGVmYXVsdF9pbml0X2FsbG9jYXRvcjx1bnNpZ25lZCBjaGFyLCBzdGQ6 OmFsbG9jYXRvcjx1bnNpZ25lZCBjaGFyPiA+ID4nIEAgMHgweDdmZmZmZmZmY2M1MAotICAgIH0K LQotL3Vzci9pbmNsdWRlL2MrKy83L2RlYnVnL3ZlY3Rvcjo0MTc6Ci1FcnJvcjogYXR0ZW1wdCB0 byBzdWJzY3JpcHQgY29udGFpbmVyIHdpdGggb3V0LW9mLWJvdW5kcyBpbmRleCA1NTYsIGJ1dAot Y29udGFpbmVyIG9ubHkgaG9sZHMgNTU2IGVsZW1lbnRzLgotT2JqZWN0cyBpbnZvbHZlZCBpbiB0 aGUgb3BlcmF0aW9uOgotICAgIHNlcXVlbmNlICJ0aGlzIiBAIDB4MHgyZTg3YWY4IHsKLSAgICAg IHR5cGUgPSBzdGQ6Ol9fZGVidWc6OnZlY3RvcjxwYXJ0aWFsX3N5bWJvbCosIHN0ZDo6YWxsb2Nh dG9yPHBhcnRpYWxfc3ltYm9sKj4gPjsKLSAgICB9Ci0KLUkgZG8gbm90IGtub3cgaWYgYW55b25l IHJlZ3Jlc3Npb24tdGVzdHMgR0RCIHdpdGggLURfR0xJQkNYWF9ERUJVRywKLUkgaGF2ZSBqdXN0 IGNoZWNrZWQgLURfR0xJQkNYWF9ERUJVRyBydW4gYWdhaW5zdCBnZGItYWRkLWluZGV4LgotCi1U aGUgdHdvIC1EX0dMSUJDWFhfREVCVUcgcmVncmVzc2lvbnMgd2VyZSBtYWRlIGJ5OgotCi1jb21t aXQgYmM4ZjI0MzBlMDhjYzJhNTIwZGI0OWE0MjY4NmUwNTI5YmU0YTNiYwotQXV0aG9yOiBKYW4g S3JhdG9jaHZpbCA8amFuLmtyYXRvY2h2aWxAcmVkaGF0LmNvbT4KLURhdGU6ICAgTW9uIEp1biAx MiAxNjoyOTo1MyAyMDE3ICswMTAwCi0gICAgQ29kZSBjbGVhbnVwOiBDKytpZnkgLmdkYl9pbmRl eCBwcm9kdWNlcgotCi1jb21taXQgYWY1YmY0YWRhNDhmZjY1YjY2NThiZTFmYWI4ZjljOGY4YWI1 ZjMxOQotQXV0aG9yOiBTaW1vbiBNYXJjaGkgPHNpbW9uLm1hcmNoaUBlcmljc3Nvbi5jb20+Ci1E YXRlOiAgIFNhdCBPY3QgMTQgMDg6MDY6MjkgMjAxNyAtMDQwMAotICAgIFJlcGxhY2UgcHN5bWJv bF9hbGxvY2F0aW9uX2xpc3Qgd2l0aCBzdGQ6OnZlY3RvcgotCi1nZGIvQ2hhbmdlTG9nCi0yMDE4 LTAyLTA0ICBKYW4gS3JhdG9jaHZpbCAgPGphbi5rcmF0b2NodmlsQHJlZGhhdC5jb20+Ci0KLQkq IGR3YXJmMnJlYWQuYyAoZGF0YV9idWY6Omdyb3cpICh3cml0ZV9vbmVfc2lnbmF0dXJlZF90eXBl KQotCShyZWN1cnNpdmVseV93cml0ZV9wc3ltYm9scykgKGRlYnVnX25hbWVzOjpyZWN1cnNpdmVs eV93cml0ZV9wc3ltYm9scykKLQkoZGVidWdfbmFtZXM6OndyaXRlX29uZV9zaWduYXR1cmVkX3R5 cGUpOiBGaXggLURfR0xJQkNYWF9ERUJVRwotCXJlZ3Jlc3Npb24uCi0KLWRpZmYgLS1naXQgYS9n ZGIvZHdhcmYycmVhZC5jIGIvZ2RiL2R3YXJmMnJlYWQuYwotaW5kZXggNjQzMjlhZjcxZS4uM2M5 YjlkYzE4OCAxMDA2NDQKLS0tLSBhL2dkYi9kd2FyZjJyZWFkLmMKLSsrKyBiL2dkYi9kd2FyZjJy ZWFkLmMKLUBAIC0yNTY5Niw3ICsyNTY5Niw3IEBAIHByaXZhdGU6Ci0gICBnZGJfYnl0ZSAqZ3Jv dyAoc2l6ZV90IHNpemUpCi0gICB7Ci0gICAgIG1fdmVjLnJlc2l6ZSAobV92ZWMuc2l6ZSAoKSAr IHNpemUpOwotLSAgICByZXR1cm4gJiptX3ZlYy5lbmQgKCkgLSBzaXplOwotKyAgICByZXR1cm4g JioobV92ZWMuZW5kICgpIC0gc2l6ZSk7Ci0gICB9Ci0gCi0gICBnZGI6OmJ5dGVfdmVjdG9yIG1f dmVjOwotQEAgLTI2MTMwLDEyICsyNjEzMCwxNCBAQCB3cml0ZV9vbmVfc2lnbmF0dXJlZF90eXBl ICh2b2lkICoqc2xvdCwgdm9pZCAqZCkKLSAKLSAgIHdyaXRlX3BzeW1ib2xzIChpbmZvLT5zeW10 YWIsCi0gCQkgIGluZm8tPnBzeW1zX3NlZW4sCi0tCQkgICZpbmZvLT5vYmpmaWxlLT5nbG9iYWxf cHN5bWJvbHNbcHN5bXRhYi0+Z2xvYmFsc19vZmZzZXRdLAotKwkJICAoaW5mby0+b2JqZmlsZS0+ Z2xvYmFsX3BzeW1ib2xzLmRhdGEoKQotKwkJICAgKyBwc3ltdGFiLT5nbG9iYWxzX29mZnNldCks Ci0gCQkgIHBzeW10YWItPm5fZ2xvYmFsX3N5bXMsIGluZm8tPmN1X2luZGV4LAotIAkJICAwKTsK LSAgIHdyaXRlX3BzeW1ib2xzIChpbmZvLT5zeW10YWIsCi0gCQkgIGluZm8tPnBzeW1zX3NlZW4s Ci0tCQkgICZpbmZvLT5vYmpmaWxlLT5zdGF0aWNfcHN5bWJvbHNbcHN5bXRhYi0+c3RhdGljc19v ZmZzZXRdLAotKwkJICAoaW5mby0+b2JqZmlsZS0+c3RhdGljX3BzeW1ib2xzLmRhdGEoKQotKwkJ ICAgKyBwc3ltdGFiLT5zdGF0aWNzX29mZnNldCksCi0gCQkgIHBzeW10YWItPm5fc3RhdGljX3N5 bXMsIGluZm8tPmN1X2luZGV4LAotIAkJICAxKTsKLSAKLUBAIC0yNjE4NSwxMiArMjYxODcsMTIg QEAgcmVjdXJzaXZlbHlfd3JpdGVfcHN5bWJvbHMgKHN0cnVjdCBvYmpmaWxlICpvYmpmaWxlLAot IAotICAgd3JpdGVfcHN5bWJvbHMgKHN5bXRhYiwKLSAJCSAgcHN5bXNfc2VlbiwKLS0JCSAgJm9i amZpbGUtPmdsb2JhbF9wc3ltYm9sc1twc3ltdGFiLT5nbG9iYWxzX29mZnNldF0sCi0rCQkgIG9i amZpbGUtPmdsb2JhbF9wc3ltYm9scy5kYXRhKCkgKyBwc3ltdGFiLT5nbG9iYWxzX29mZnNldCwK LSAJCSAgcHN5bXRhYi0+bl9nbG9iYWxfc3ltcywgY3VfaW5kZXgsCi0gCQkgIDApOwotICAgd3Jp dGVfcHN5bWJvbHMgKHN5bXRhYiwKLSAJCSAgcHN5bXNfc2VlbiwKLS0JCSAgJm9iamZpbGUtPnN0 YXRpY19wc3ltYm9sc1twc3ltdGFiLT5zdGF0aWNzX29mZnNldF0sCi0rCQkgIG9iamZpbGUtPnN0 YXRpY19wc3ltYm9scy5kYXRhKCkgKyBwc3ltdGFiLT5zdGF0aWNzX29mZnNldCwKLSAJCSAgcHN5 bXRhYi0+bl9zdGF0aWNfc3ltcywgY3VfaW5kZXgsCi0gCQkgIDEpOwotIH0KLUBAIC0yNjM3OSwx MCArMjYzODEsMTAgQEAgcHVibGljOgotIAkJCQkgICAgcHN5bXNfc2VlbiwgY3VfaW5kZXgpOwot IAotICAgICB3cml0ZV9wc3ltYm9scyAocHN5bXNfc2VlbiwKLS0JCSAgICAmb2JqZmlsZS0+Z2xv YmFsX3BzeW1ib2xzW3BzeW10YWItPmdsb2JhbHNfb2Zmc2V0XSwKLSsJCSAgICBvYmpmaWxlLT5n bG9iYWxfcHN5bWJvbHMuZGF0YSgpICsgcHN5bXRhYi0+Z2xvYmFsc19vZmZzZXQsCi0gCQkgICAg cHN5bXRhYi0+bl9nbG9iYWxfc3ltcywgY3VfaW5kZXgsIGZhbHNlLCB1bml0X2tpbmQ6OmN1KTsK LSAgICAgd3JpdGVfcHN5bWJvbHMgKHBzeW1zX3NlZW4sCi0tCQkgICAgJm9iamZpbGUtPnN0YXRp Y19wc3ltYm9sc1twc3ltdGFiLT5zdGF0aWNzX29mZnNldF0sCi0rCQkgICAgb2JqZmlsZS0+c3Rh dGljX3BzeW1ib2xzLmRhdGEoKSArIHBzeW10YWItPnN0YXRpY3Nfb2Zmc2V0LAotIAkJICAgIHBz eW10YWItPm5fc3RhdGljX3N5bXMsIGN1X2luZGV4LCB0cnVlLCB1bml0X2tpbmQ6OmN1KTsKLSAg IH0KLSAKLUBAIC0yNjczOCwxMSArMjY3NDAsMTMgQEAgcHJpdmF0ZToKLSAgICAgc3RydWN0IHBh cnRpYWxfc3ltdGFiICpwc3ltdGFiID0gZW50cnktPnBlcl9jdS52LnBzeW10YWI7Ci0gCi0gICAg IHdyaXRlX3BzeW1ib2xzIChpbmZvLT5wc3ltc19zZWVuLAotLQkJICAgICZpbmZvLT5vYmpmaWxl LT5nbG9iYWxfcHN5bWJvbHNbcHN5bXRhYi0+Z2xvYmFsc19vZmZzZXRdLAotKwkJICAgIChpbmZv LT5vYmpmaWxlLT5nbG9iYWxfcHN5bWJvbHMuZGF0YSgpCi0rCQkgICAgICsgcHN5bXRhYi0+Z2xv YmFsc19vZmZzZXQpLAotIAkJICAgIHBzeW10YWItPm5fZ2xvYmFsX3N5bXMsIGluZm8tPmN1X2lu ZGV4LCBmYWxzZSwKLSAJCSAgICB1bml0X2tpbmQ6OnR1KTsKLSAgICAgd3JpdGVfcHN5bWJvbHMg KGluZm8tPnBzeW1zX3NlZW4sCi0tCQkgICAgJmluZm8tPm9iamZpbGUtPnN0YXRpY19wc3ltYm9s c1twc3ltdGFiLT5zdGF0aWNzX29mZnNldF0sCi0rCQkgICAgKGluZm8tPm9iamZpbGUtPnN0YXRp Y19wc3ltYm9scy5kYXRhKCkKLSsJCSAgICAgKyBwc3ltdGFiLT5zdGF0aWNzX29mZnNldCksCi0g CQkgICAgcHN5bXRhYi0+bl9zdGF0aWNfc3ltcywgaW5mby0+Y3VfaW5kZXgsIHRydWUsCi0gCQkg ICAgdW5pdF9raW5kOjp0dSk7Ci0gCgpkaWZmIC0tZ2l0IGEvZ2RiLXJoYno3OTU0MjQtYml0cG9z LTIwb2YyNS5wYXRjaCBiL2dkYi1yaGJ6Nzk1NDI0LWJpdHBvcy0yMG9mMjUucGF0Y2gKaW5kZXgg Y2FlNzJkNi4uOGFhZDJlMiAxMDA2NDQKLS0tIGEvZ2RiLXJoYno3OTU0MjQtYml0cG9zLTIwb2Yy NS5wYXRjaAorKysgYi9nZGItcmhiejc5NTQyNC1iaXRwb3MtMjBvZjI1LnBhdGNoCkBAIC00NzMs MjAgKzQ3MywyMCBAQCBDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA3Yml0CiBDb250ZW50LURp c3Bvc2l0aW9uOiBhdHRhY2htZW50OyBmaWxlbmFtZT1iaXRwb3MtbWFpbi5wYXRjaAogCiBkaWZm IC0tZ2l0IGEvZ2RiL2FhcmNoNjQtbGludXgtbmF0LmMgYi9nZGIvYWFyY2g2NC1saW51eC1uYXQu YwotaW5kZXggOTM4NTY1OWYxNC4uMDhlNmY0ZDRmZCAxMDA2NDQKK2luZGV4IDkwOGI4M2E0OWEu LmRkNjlmNTA3ODUgMTAwNjQ0CiAtLS0gYS9nZGIvYWFyY2g2NC1saW51eC1uYXQuYwogKysrIGIv Z2RiL2FhcmNoNjQtbGludXgtbmF0LmMKLUBAIC03MDgsNyArNzA4LDcgQEAgYWFyY2g2NF9saW51 eF9yZW1vdmVfd2F0Y2hwb2ludCAoc3RydWN0IHRhcmdldF9vcHMgKnNlbGYsCitAQCAtNzQzLDcg Kzc0Myw3IEBAIGFhcmNoNjRfbGludXhfbmF0X3RhcmdldDo6cmVtb3ZlX3dhdGNocG9pbnQgKENP UkVfQUREUiBhZGRyLCBpbnQgbGVuLAorIC8qIEltcGxlbWVudCB0aGUgInJlZ2lvbl9va19mb3Jf aHdfd2F0Y2hwb2ludCIgdGFyZ2V0X29wcyBtZXRob2QuICAqLwogIAotIHN0YXRpYyBpbnQKLSBh YXJjaDY0X2xpbnV4X3JlZ2lvbl9va19mb3JfaHdfd2F0Y2hwb2ludCAoc3RydWN0IHRhcmdldF9v cHMgKnNlbGYsCi0tCQkJCQkgICBDT1JFX0FERFIgYWRkciwgaW50IGxlbikKLSsJCQkJCSAgIENP UkVfQUREUiBhZGRyLCBMT05HRVNUIGxlbikKKyBpbnQKKy1hYXJjaDY0X2xpbnV4X25hdF90YXJn ZXQ6OnJlZ2lvbl9va19mb3JfaHdfd2F0Y2hwb2ludCAoQ09SRV9BRERSIGFkZHIsIGludCBsZW4p CisrYWFyY2g2NF9saW51eF9uYXRfdGFyZ2V0OjpyZWdpb25fb2tfZm9yX2h3X3dhdGNocG9pbnQg KENPUkVfQUREUiBhZGRyLCBMT05HRVNUIGxlbikKICB7CiAgICByZXR1cm4gYWFyY2g2NF9saW51 eF9yZWdpb25fb2tfZm9yX3dhdGNocG9pbnQgKGFkZHIsIGxlbik7CiAgfQogZGlmZiAtLWdpdCBh L2dkYi9hZGEtbGFuZy5jIGIvZ2RiL2FkYS1sYW5nLmMKLWluZGV4IDYzOTUxODQ5NTYuLjhkMjVm ZGI0YzYgMTAwNjQ0CitpbmRleCBlYWYzMDU4NWY1Li4xOTYyZTRmMDdlIDEwMDY0NAogLS0tIGEv Z2RiL2FkYS1sYW5nLmMKICsrKyBiL2dkYi9hZGEtbGFuZy5jCiBAQCAtNzgsNyArNzgsNyBAQCBz dGF0aWMgc3RydWN0IHR5cGUgKmRlc2NfYm91bmRzX3R5cGUgKHN0cnVjdCB0eXBlICopOwpAQCAt NTUwLDkgKzU1MCw5IEBAIGluZGV4IDYzOTUxODQ5NTYuLjhkMjVmZGI0YzYgMTAwNjQ0CiArc3Rh dGljIGludCBmaW5kX3N0cnVjdF9maWVsZCAoY29uc3QgY2hhciAqLCBzdHJ1Y3QgdHlwZSAqLCBM T05HRVNULAogKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCB0eXBlICoqLCBM T05HRVNUICosIGludCAqLCBpbnQgKiwgaW50ICopOwogIAotIHN0YXRpYyBzdHJ1Y3QgdmFsdWUg KmFkYV90b19maXhlZF92YWx1ZV9jcmVhdGUgKHN0cnVjdCB0eXBlICosIENPUkVfQUREUiwKLSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgdmFs dWUgKik7Ci1AQCAtMjM3LDcgKzIzOCw3IEBAIHN0YXRpYyBpbnQgYWRhX2lzX2RpcmVjdF9hcnJh eV90eXBlIChzdHJ1Y3QgdHlwZSAqKTsKKyBzdGF0aWMgaW50IGFkYV9yZXNvbHZlX2Z1bmN0aW9u IChzdHJ1Y3QgYmxvY2tfc3ltYm9sICosIGludCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBzdHJ1Y3QgdmFsdWUgKiosIGludCwgY29uc3QgY2hhciAqLAorQEAgLTIzNCw3ICsy MzUsNyBAQCBzdGF0aWMgaW50IGFkYV9pc19kaXJlY3RfYXJyYXlfdHlwZSAoc3RydWN0IHR5cGUg Kik7CiAgc3RhdGljIHZvaWQgYWRhX2xhbmd1YWdlX2FyY2hfaW5mbyAoc3RydWN0IGdkYmFyY2gg KiwKICAJCQkJICAgIHN0cnVjdCBsYW5ndWFnZV9hcmNoX2luZm8gKik7CiAgCkBAIC01NjEsNyAr NTYxLDcgQEAgaW5kZXggNjM5NTE4NDk1Ni4uOGQyNWZkYjRjNiAxMDA2NDQKICAJCQkJCSAgICAg c3RydWN0IHR5cGUgKik7CiAgCiAgc3RhdGljIHN0cnVjdCB2YWx1ZSAqYXNzaWduX2FnZ3JlZ2F0 ZSAoc3RydWN0IHZhbHVlICosIHN0cnVjdCB2YWx1ZSAqLCAKLUBAIC03MDAsNyArNzAxLDcgQEAg Y29lcmNlX3Vuc3BlY192YWxfdG9fdHlwZSAoc3RydWN0IHZhbHVlICp2YWwsIHN0cnVjdCB0eXBl ICp0eXBlKQorQEAgLTY5Nyw3ICs2OTgsNyBAQCBjb2VyY2VfdW5zcGVjX3ZhbF90b190eXBlIChz dHJ1Y3QgdmFsdWUgKnZhbCwgc3RydWN0IHR5cGUgKnR5cGUpCiAgfQogIAogIHN0YXRpYyBjb25z dCBnZGJfYnl0ZSAqCkBAIC01NzAsNyArNTcwLDcgQEAgaW5kZXggNjM5NTE4NDk1Ni4uOGQyNWZk YjRjNiAxMDA2NDQKICB7CiAgICBpZiAodmFsYWRkciA9PSBOVUxMKQogICAgICByZXR1cm4gTlVM TDsKLUBAIC03MDksNyArNzEwLDcgQEAgY29uZF9vZmZzZXRfaG9zdCAoY29uc3QgZ2RiX2J5dGUg KnZhbGFkZHIsIGxvbmcgb2Zmc2V0KQorQEAgLTcwNiw3ICs3MDcsNyBAQCBjb25kX29mZnNldF9o b3N0IChjb25zdCBnZGJfYnl0ZSAqdmFsYWRkciwgbG9uZyBvZmZzZXQpCiAgfQogIAogIHN0YXRp YyBDT1JFX0FERFIKQEAgLTU3OSw3ICs1NzksNyBAQCBpbmRleCA2Mzk1MTg0OTU2Li44ZDI1ZmRi NGM2IDEwMDY0NAogIHsKICAgIGlmIChhZGRyZXNzID09IDApCiAgICAgIHJldHVybiAwOwotQEAg LTE3NDcsNyArMTc0OCw3IEBAIGRlc2NfYm91bmRzIChzdHJ1Y3QgdmFsdWUgKmFycikKK0BAIC0x NzQzLDcgKzE3NDQsNyBAQCBkZXNjX2JvdW5kcyAoc3RydWN0IHZhbHVlICphcnIpCiAgLyogSWYg VFlQRSBpcyB0aGUgdHlwZSBvZiBhbiBhcnJheS1kZXNjcmlwdG9yIChmYXQgcG9pbnRlciksICB0 aGUgYml0CiAgICAgcG9zaXRpb24gb2YgdGhlIGZpZWxkIGNvbnRhaW5pbmcgdGhlIGFkZHJlc3Mg b2YgdGhlIGJvdW5kcyBkYXRhLiAgKi8KICAKQEAgLTU4OCw3ICs1ODgsNyBAQCBpbmRleCA2Mzk1 MTg0OTU2Li44ZDI1ZmRiNGM2IDEwMDY0NAogIGZhdF9wbnRyX2JvdW5kc19iaXRwb3MgKHN0cnVj dCB0eXBlICp0eXBlKQogIHsKICAgIHJldHVybiBUWVBFX0ZJRUxEX0JJVFBPUyAoZGVzY19iYXNl X3R5cGUgKHR5cGUpLCAxKTsKLUBAIC0xODEzLDcgKzE4MTQsNyBAQCBkZXNjX2RhdGEgKHN0cnVj dCB2YWx1ZSAqYXJyKQorQEAgLTE4MDksNyArMTgxMCw3IEBAIGRlc2NfZGF0YSAoc3RydWN0IHZh bHVlICphcnIpCiAgLyogSWYgVFlQRSBpcyB0aGUgdHlwZSBvZiBhbiBhcnJheS1kZXNjcmlwdG9y IChmYXQgcG9pbnRlciksIHRoZSBiaXQKICAgICBwb3NpdGlvbiBvZiB0aGUgZmllbGQgY29udGFp bmluZyB0aGUgYWRkcmVzcyBvZiB0aGUgZGF0YS4gICovCiAgCkBAIC01OTcsNyArNTk3LDcgQEAg aW5kZXggNjM5NTE4NDk1Ni4uOGQyNWZkYjRjNiAxMDA2NDQKICBmYXRfcG50cl9kYXRhX2JpdHBv cyAoc3RydWN0IHR5cGUgKnR5cGUpCiAgewogICAgcmV0dXJuIFRZUEVfRklFTERfQklUUE9TIChk ZXNjX2Jhc2VfdHlwZSAodHlwZSksIDApOwotQEAgLTE4NDgsNyArMTg0OSw3IEBAIGRlc2Nfb25l X2JvdW5kIChzdHJ1Y3QgdmFsdWUgKmJvdW5kcywgaW50IGksIGludCB3aGljaCkKK0BAIC0xODQ0 LDcgKzE4NDUsNyBAQCBkZXNjX29uZV9ib3VuZCAoc3RydWN0IHZhbHVlICpib3VuZHMsIGludCBp LCBpbnQgd2hpY2gpCiAgICAgb2YgdGhlIEl0aCBsb3dlciBib3VuZCBzdG9yZWQgaW4gaXQsIGlm IFdISUNIIGlzIDAsIGFuZCB0aGUgSXRoIHVwcGVyCiAgICAgYm91bmQsIGlmIFdISUNIIGlzIDEu ICBUaGUgZmlyc3QgYm91bmQgaXMgST0xLiAgKi8KICAKQEAgLTYwNiw3ICs2MDYsNyBAQCBpbmRl eCA2Mzk1MTg0OTU2Li44ZDI1ZmRiNGM2IDEwMDY0NAogIGRlc2NfYm91bmRfYml0cG9zIChzdHJ1 Y3QgdHlwZSAqdHlwZSwgaW50IGksIGludCB3aGljaCkKICB7CiAgICByZXR1cm4gVFlQRV9GSUVM RF9CSVRQT1MgKGRlc2NfYmFzZV90eXBlICh0eXBlKSwgMiAqIGkgKyB3aGljaCAtIDIpOwotQEAg LTIwMzgsNyArMjAzOSw3IEBAIGFkYV90eXBlX29mX2FycmF5IChzdHJ1Y3QgdmFsdWUgKmFyciwg aW50IGJvdW5kcykKK0BAIC0yMDM0LDcgKzIwMzUsNyBAQCBhZGFfdHlwZV9vZl9hcnJheSAoc3Ry dWN0IHZhbHVlICphcnIsIGludCBib3VuZHMpCiAgCSAgICAgICAgIHplcm8sIGFuZCBkb2VzIG5v dCBuZWVkIHRvIGJlIHJlY29tcHV0ZWQuICAqLwogIAkgICAgICBpZiAobG8gPCBoaSkKICAJCXsK QEAgLTYxNSw3ICs2MTUsNyBAQCBpbmRleCA2Mzk1MTg0OTU2Li44ZDI1ZmRiNGM2IDEwMDY0NAog IAkJICAgICAgICAoaGkgLSBsbyArIDEpICogVFlQRV9GSUVMRF9CSVRTSVpFIChlbHRfdHlwZSwg MCk7CiAgCiAgCQkgIFRZUEVfTEVOR1RIIChhcnJheV90eXBlKSA9IChhcnJheV9iaXRzaXplICsg NykgLyA4OwotQEAgLTIxOTgsNyArMjE5OSw3IEBAIGRlY29kZV9wYWNrZWRfYXJyYXlfYml0c2l6 ZSAoc3RydWN0IHR5cGUgKnR5cGUpCitAQCAtMjE5NCw3ICsyMTk1LDcgQEAgZGVjb2RlX3BhY2tl ZF9hcnJheV9iaXRzaXplIChzdHJ1Y3QgdHlwZSAqdHlwZSkKICAgICB0aGUgbGVuZ3RoIGlzIGFy Yml0cmFyeS4gICovCiAgCiAgc3RhdGljIHN0cnVjdCB0eXBlICoKQEAgLTYyNCw3ICs2MjQsNyBA QCBpbmRleCA2Mzk1MTg0OTU2Li44ZDI1ZmRiNGM2IDEwMDY0NAogIHsKICAgIHN0cnVjdCB0eXBl ICpuZXdfZWx0X3R5cGU7CiAgICBzdHJ1Y3QgdHlwZSAqbmV3X3R5cGU7Ci1AQCAtMjI1Miw3ICsy MjUzLDcgQEAgZGVjb2RlX2NvbnN0cmFpbmVkX3BhY2tlZF9hcnJheV90eXBlIChzdHJ1Y3QgdHlw ZSAqdHlwZSkKK0BAIC0yMjQ4LDcgKzIyNDksNyBAQCBkZWNvZGVfY29uc3RyYWluZWRfcGFja2Vk X2FycmF5X3R5cGUgKHN0cnVjdCB0eXBlICp0eXBlKQogICAgY2hhciAqbmFtZTsKICAgIGNvbnN0 IGNoYXIgKnRhaWw7CiAgICBzdHJ1Y3QgdHlwZSAqc2hhZG93X3R5cGU7CkBAIC02MzMsNyArNjMz LDcgQEAgaW5kZXggNjM5NTE4NDk1Ni4uOGQyNWZkYjRjNiAxMDA2NDQKICAKICAgIGlmICghcmF3 X25hbWUpCiAgICAgIHJhd19uYW1lID0gYWRhX3R5cGVfbmFtZSAoZGVzY19iYXNlX3R5cGUgKHR5 cGUpKTsKLUBAIC0yMzIzLDcgKzIzMjQsOCBAQCBkZWNvZGVfY29uc3RyYWluZWRfcGFja2VkX2Fy cmF5IChzdHJ1Y3QgdmFsdWUgKmFycikKK0BAIC0yMzE5LDcgKzIzMjAsOCBAQCBkZWNvZGVfY29u c3RyYWluZWRfcGFja2VkX2FycmF5IChzdHJ1Y3QgdmFsdWUgKmFycikKICAgCSBhcnJheSB3aXRo IG5vIHdyYXBwZXIuICBJbiBvcmRlciB0byBpbnRlcnByZXQgdGhlIHZhbHVlIHRocm91Z2gKICAg CSB0aGUgKGxlZnQtanVzdGlmaWVkKSBwYWNrZWQgYXJyYXkgdHlwZSB3ZSBqdXN0IGJ1aWx0LCB3 ZSBtdXN0CiAgIAkgZmlyc3QgbGVmdC1qdXN0aWZ5IGl0LiAgKi8KQEAgLTY0Myw3ICs2NDMsNyBA QCBpbmRleCA2Mzk1MTg0OTU2Li44ZDI1ZmRiNGM2IDEwMDY0NAogICAgICAgIFVMT05HRVNUIG1v ZDsKICAKICAgICAgICBtb2QgPSBhZGFfbW9kdWx1cyAodmFsdWVfdHlwZSAoYXJyKSkgLSAxOwot QEAgLTI1NTEsNyArMjU1Myw3IEBAIGFkYV91bnBhY2tfZnJvbV9jb250ZW50cyAoY29uc3QgZ2Ri X2J5dGUgKnNyYywgaW50IGJpdF9vZmZzZXQsIGludCBiaXRfc2l6ZSwKK0BAIC0yNTQ3LDcgKzI1 NDksNyBAQCBhZGFfdW5wYWNrX2Zyb21fY29udGVudHMgKGNvbnN0IGdkYl9ieXRlICpzcmMsIGlu dCBiaXRfb2Zmc2V0LCBpbnQgYml0X3NpemUsCiAgCiAgc3RydWN0IHZhbHVlICoKICBhZGFfdmFs dWVfcHJpbWl0aXZlX3BhY2tlZF92YWwgKHN0cnVjdCB2YWx1ZSAqb2JqLCBjb25zdCBnZGJfYnl0 ZSAqdmFsYWRkciwKQEAgLTY1Miw3ICs2NTIsNyBAQCBpbmRleCA2Mzk1MTg0OTU2Li44ZDI1ZmRi NGM2IDEwMDY0NAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IHR5cGUg KnR5cGUpCiAgewogICAgc3RydWN0IHZhbHVlICp2OwotQEAgLTI2MjEsNyArMjYyMyw3IEBAIGFk YV92YWx1ZV9wcmltaXRpdmVfcGFja2VkX3ZhbCAoc3RydWN0IHZhbHVlICpvYmosIGNvbnN0IGdk Yl9ieXRlICp2YWxhZGRyLAorQEAgLTI2MTcsNyArMjYxOSw3IEBAIGFkYV92YWx1ZV9wcmltaXRp dmVfcGFja2VkX3ZhbCAoc3RydWN0IHZhbHVlICpvYmosIGNvbnN0IGdkYl9ieXRlICp2YWxhZGRy LAogIAogICAgaWYgKG9iaiAhPSBOVUxMKQogICAgICB7CkBAIC02NjEsNyArNjYxLDcgQEAgaW5k ZXggNjM5NTE4NDk1Ni4uOGQyNWZkYjRjNiAxMDA2NDQKICAKICAgICAgICBzZXRfdmFsdWVfY29t cG9uZW50X2xvY2F0aW9uICh2LCBvYmopOwogICAgICAgIHNldF92YWx1ZV9iaXRwb3MgKHYsIGJp dF9vZmZzZXQgKyB2YWx1ZV9iaXRwb3MgKG9iaikpOwotQEAgLTI2NjcsNyArMjY2OSw3IEBAIGFk YV92YWx1ZV9wcmltaXRpdmVfcGFja2VkX3ZhbCAoc3RydWN0IHZhbHVlICpvYmosIGNvbnN0IGdk Yl9ieXRlICp2YWxhZGRyLAorQEAgLTI2NjMsNyArMjY2NSw3IEBAIGFkYV92YWx1ZV9wcmltaXRp dmVfcGFja2VkX3ZhbCAoc3RydWN0IHZhbHVlICpvYmosIGNvbnN0IGdkYl9ieXRlICp2YWxhZGRy LAogICAgIG5vdCBvdmVybGFwLiAgKi8KICBzdGF0aWMgdm9pZAogIG1vdmVfYml0cyAoZ2RiX2J5 dGUgKnRhcmdldCwgaW50IHRhcmdfb2Zmc2V0LCBjb25zdCBnZGJfYnl0ZSAqc291cmNlLApAQCAt NjcwLDcgKzY3MCw3IEBAIGluZGV4IDYzOTUxODQ5NTYuLjhkMjVmZGI0YzYgMTAwNjQ0CiAgewog ICAgdW5zaWduZWQgaW50IGFjY3VtLCBtYXNrOwogICAgaW50IGFjY3VtX2JpdHMsIGNodW5rX3Np emU7Ci1AQCAtMjc1Nyw3ICsyNzU5LDcgQEAgYWRhX3ZhbHVlX2Fzc2lnbiAoc3RydWN0IHZhbHVl ICp0b3ZhbCwgc3RydWN0IHZhbHVlICpmcm9tdmFsKQorQEAgLTI3NTMsNyArMjc1NSw3IEBAIGFk YV92YWx1ZV9hc3NpZ24gKHN0cnVjdCB2YWx1ZSAqdG92YWwsIHN0cnVjdCB2YWx1ZSAqZnJvbXZh bCkKICAgICAgewogICAgICAgIGludCBsZW4gPSAodmFsdWVfYml0cG9zICh0b3ZhbCkKICAJCSAr IGJpdHMgKyBIT1NUX0NIQVJfQklUIC0gMSkgLyBIT1NUX0NIQVJfQklUOwpAQCAtNjc5LDcgKzY3 OSw3IEBAIGluZGV4IDYzOTUxODQ5NTYuLjhkMjVmZGI0YzYgMTAwNjQ0CiAgICAgICAgZ2RiX2J5 dGUgKmJ1ZmZlciA9IChnZGJfYnl0ZSAqKSBhbGxvY2EgKGxlbik7CiAgICAgICAgc3RydWN0IHZh bHVlICp2YWw7CiAgICAgICAgQ09SRV9BRERSIHRvX2FkZHIgPSB2YWx1ZV9hZGRyZXNzICh0b3Zh bCk7Ci1AQCAtMjgwOCw3ICsyODEwLDcgQEAgdmFsdWVfYXNzaWduX3RvX2NvbXBvbmVudCAoc3Ry dWN0IHZhbHVlICpjb250YWluZXIsIHN0cnVjdCB2YWx1ZSAqY29tcG9uZW50LAorQEAgLTI4MDQs NyArMjgwNiw3IEBAIHZhbHVlX2Fzc2lnbl90b19jb21wb25lbnQgKHN0cnVjdCB2YWx1ZSAqY29u dGFpbmVyLCBzdHJ1Y3QgdmFsdWUgKmNvbXBvbmVudCwKICAgICAgKExPTkdFU1QpICAodmFsdWVf YWRkcmVzcyAoY29tcG9uZW50KSAtIHZhbHVlX2FkZHJlc3MgKGNvbnRhaW5lcikpOwogICAgaW50 IGJpdF9vZmZzZXRfaW5fY29udGFpbmVyID0KICAgICAgdmFsdWVfYml0cG9zIChjb21wb25lbnQp IC0gdmFsdWVfYml0cG9zIChjb250YWluZXIpOwpAQCAtNjg4LDcgKzY4OCw3IEBAIGluZGV4IDYz OTUxODQ5NTYuLjhkMjVmZGI0YzYgMTAwNjQ0CiAgCiAgICB2YWwgPSB2YWx1ZV9jYXN0ICh2YWx1 ZV90eXBlIChjb21wb25lbnQpLCB2YWwpOwogIAotQEAgLTQ0NzYsNyArNDQ3OCw3IEBAIGVuc3Vy ZV9sdmFsIChzdHJ1Y3QgdmFsdWUgKnZhbCkKK0BAIC00NDY4LDcgKzQ0NzAsNyBAQCBlbnN1cmVf bHZhbCAoc3RydWN0IHZhbHVlICp2YWwpCiAgICBpZiAoVkFMVUVfTFZBTCAodmFsKSA9PSBub3Rf bHZhbAogICAgICAgIHx8IFZBTFVFX0xWQUwgKHZhbCkgPT0gbHZhbF9pbnRlcm5hbHZhcikKICAg ICAgewpAQCAtNjk3LDcgKzY5Nyw3IEBAIGluZGV4IDYzOTUxODQ5NTYuLjhkMjVmZGI0YzYgMTAw NjQ0CiAgICAgICAgY29uc3QgQ09SRV9BRERSIGFkZHIgPQogICAgICAgICAgdmFsdWVfYXNfbG9u ZyAodmFsdWVfYWxsb2NhdGVfc3BhY2VfaW5faW5mZXJpb3IgKGxlbikpOwogIAotQEAgLTQ1NjAs NyArNDU2Miw3IEBAIHN0YXRpYyBDT1JFX0FERFIKK0BAIC00NTUyLDcgKzQ1NTQsNyBAQCBzdGF0 aWMgQ09SRV9BRERSCiAgdmFsdWVfcG9pbnRlciAoc3RydWN0IHZhbHVlICp2YWx1ZSwgc3RydWN0 IHR5cGUgKnR5cGUpCiAgewogICAgc3RydWN0IGdkYmFyY2ggKmdkYmFyY2ggPSBnZXRfdHlwZV9h cmNoICh0eXBlKTsKQEAgLTcwNiw3ICs3MDYsNyBAQCBpbmRleCA2Mzk1MTg0OTU2Li44ZDI1ZmRi NGM2IDEwMDY0NAogICAgZ2RiX2J5dGUgKmJ1ZiA9IChnZGJfYnl0ZSAqKSBhbGxvY2EgKGxlbik7 CiAgICBDT1JFX0FERFIgYWRkcjsKICAKLUBAIC02NzE4LDcgKzY3MjAsNyBAQCB2YWx1ZV90YWdf ZnJvbV9jb250ZW50c19hbmRfYWRkcmVzcyAoc3RydWN0IHR5cGUgKnR5cGUsCitAQCAtNjY4NSw3 ICs2Njg3LDcgQEAgdmFsdWVfdGFnX2Zyb21fY29udGVudHNfYW5kX2FkZHJlc3MgKHN0cnVjdCB0 eXBlICp0eXBlLAogIAkJCQkgICAgIGNvbnN0IGdkYl9ieXRlICp2YWxhZGRyLAogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDT1JFX0FERFIgYWRkcmVzcykKICB7CkBAIC03 MTUsNyArNzE1LDcgQEAgaW5kZXggNjM5NTE4NDk1Ni4uOGQyNWZkYjRjNiAxMDA2NDQKICAgIHN0 cnVjdCB0eXBlICp0YWdfdHlwZTsKICAKICAgIGlmIChmaW5kX3N0cnVjdF9maWVsZCAoIl90YWci LCB0eXBlLCAwLCAmdGFnX3R5cGUsICZ0YWdfYnl0ZV9vZmZzZXQsCi1AQCAtNzIxMSw3ICs3MjEz LDcgQEAgYWRhX2luX3ZhcmlhbnQgKExPTkdFU1QgdmFsLCBzdHJ1Y3QgdHlwZSAqdHlwZSwgaW50 IGZpZWxkX251bSkKK0BAIC03MTc4LDcgKzcxODAsNyBAQCBhZGFfaW5fdmFyaWFudCAoTE9OR0VT VCB2YWwsIHN0cnVjdCB0eXBlICp0eXBlLCBpbnQgZmllbGRfbnVtKQogICAgIG9ubHkgaW4gdGhh dCBpdCBjYW4gaGFuZGxlIHBhY2tlZCB2YWx1ZXMgb2YgYXJiaXRyYXJ5IHR5cGUuICAqLwogIAog IHN0YXRpYyBzdHJ1Y3QgdmFsdWUgKgpAQCAtNzI0LDcgKzcyNCw3IEBAIGluZGV4IDYzOTUxODQ5 NTYuLjhkMjVmZGI0YzYgMTAwNjQ0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0 IHR5cGUgKmFyZ190eXBlKQogIHsKICAgIHN0cnVjdCB0eXBlICp0eXBlOwotQEAgLTcyMjMsNyAr NzIyNSw3IEBAIGFkYV92YWx1ZV9wcmltaXRpdmVfZmllbGQgKHN0cnVjdCB2YWx1ZSAqYXJnMSwg aW50IG9mZnNldCwgaW50IGZpZWxkbm8sCitAQCAtNzE5MCw3ICs3MTkyLDcgQEAgYWRhX3ZhbHVl X3ByaW1pdGl2ZV9maWVsZCAoc3RydWN0IHZhbHVlICphcmcxLCBpbnQgb2Zmc2V0LCBpbnQgZmll bGRubywKICAKICAgIGlmIChUWVBFX0ZJRUxEX0JJVFNJWkUgKGFyZ190eXBlLCBmaWVsZG5vKSAh PSAwKQogICAgICB7CkBAIC03MzMsNyArNzMzLDcgQEAgaW5kZXggNjM5NTE4NDk1Ni4uOGQyNWZk YjRjNiAxMDA2NDQKICAgICAgICBpbnQgYml0X3NpemUgPSBUWVBFX0ZJRUxEX0JJVFNJWkUgKGFy Z190eXBlLCBmaWVsZG5vKTsKICAKICAgICAgICByZXR1cm4gYWRhX3ZhbHVlX3ByaW1pdGl2ZV9w YWNrZWRfdmFsIChhcmcxLCB2YWx1ZV9jb250ZW50cyAoYXJnMSksCi1AQCAtNzMwMCw5ICs3MzAy LDkgQEAgYWRhX3ZhbHVlX3ByaW1pdGl2ZV9maWVsZCAoc3RydWN0IHZhbHVlICphcmcxLCBpbnQg b2Zmc2V0LCBpbnQgZmllbGRubywKK0BAIC03MjY3LDkgKzcyNjksOSBAQCBhZGFfdmFsdWVfcHJp bWl0aXZlX2ZpZWxkIChzdHJ1Y3QgdmFsdWUgKmFyZzEsIGludCBvZmZzZXQsIGludCBmaWVsZG5v LAogICAgIFJldHVybnMgMSBpZiBmb3VuZCwgMCBvdGhlcndpc2UuICAqLwogIAogIHN0YXRpYyBp bnQKQEAgLTc0NSw3ICs3NDUsNyBAQCBpbmRleCA2Mzk1MTg0OTU2Li44ZDI1ZmRiNGM2IDEwMDY0 NAogIAkJICAgaW50ICppbmRleF9wKQogIHsKICAgIGludCBpOwotQEAgLTczMjEsOCArNzMyMyw4 IEBAIGZpbmRfc3RydWN0X2ZpZWxkIChjb25zdCBjaGFyICpuYW1lLCBzdHJ1Y3QgdHlwZSAqdHlw ZSwgaW50IG9mZnNldCwKK0BAIC03Mjg4LDggKzcyOTAsOCBAQCBmaW5kX3N0cnVjdF9maWVsZCAo Y29uc3QgY2hhciAqbmFtZSwgc3RydWN0IHR5cGUgKnR5cGUsIGludCBvZmZzZXQsCiAgCiAgICBm b3IgKGkgPSAwOyBpIDwgVFlQRV9ORklFTERTICh0eXBlKTsgaSArPSAxKQogICAgICB7CkBAIC03 NTYsNyArNzU2LDcgQEAgaW5kZXggNjM5NTE4NDk1Ni4uOGQyNWZkYjRjNiAxMDA2NDQKICAgICAg ICBjb25zdCBjaGFyICp0X2ZpZWxkX25hbWUgPSBUWVBFX0ZJRUxEX05BTUUgKHR5cGUsIGkpOwog IAogICAgICAgIGlmICh0X2ZpZWxkX25hbWUgPT0gTlVMTCkKLUBAIC03NDI0LDcgKzc0MjYsNyBA QCBudW1fdmlzaWJsZV9maWVsZHMgKHN0cnVjdCB0eXBlICp0eXBlKQorQEAgLTczOTEsNyArNzM5 Myw3IEBAIG51bV92aXNpYmxlX2ZpZWxkcyAoc3RydWN0IHR5cGUgKnR5cGUpCiAgICAgbG9uZyBl eHBsYW5hdGlvbiBpbiBmaW5kX3N0cnVjdF9maWVsZCdzIGZ1bmN0aW9uIGRvY3VtZW50YXRpb24u ICAqLwogIAogIHN0YXRpYyBzdHJ1Y3QgdmFsdWUgKgpAQCAtNzY1LDcgKzc2NSw3IEBAIGluZGV4 IDYzOTUxODQ5NTYuLjhkMjVmZGI0YzYgMTAwNjQ0CiAgICAgICAgICAgICAgICAgICAgICAgICAg IHN0cnVjdCB0eXBlICp0eXBlKQogIHsKICAgIGludCBpOwotQEAgLTc0NzIsNyArNzQ3NCw3IEBA IGFkYV9zZWFyY2hfc3RydWN0X2ZpZWxkIChjb25zdCBjaGFyICpuYW1lLCBzdHJ1Y3QgdmFsdWUg KmFyZywgaW50IG9mZnNldCwKK0BAIC03NDM5LDcgKzc0NDEsNyBAQCBhZGFfc2VhcmNoX3N0cnVj dF9maWVsZCAoY29uc3QgY2hhciAqbmFtZSwgc3RydWN0IHZhbHVlICphcmcsIGludCBvZmZzZXQs CiAgICAgICAgICAgIGludCBqOwogICAgICAgICAgICBzdHJ1Y3QgdHlwZSAqZmllbGRfdHlwZSA9 IGFkYV9jaGVja190eXBlZGVmIChUWVBFX0ZJRUxEX1RZUEUgKHR5cGUsCiAgCQkJCQkJCQkJaSkp OwpAQCAtNzc0LDcgKzc3NCw3IEBAIGluZGV4IDYzOTUxODQ5NTYuLjhkMjVmZGI0YzYgMTAwNjQ0 CiAgCiAgICAgICAgICAgIGZvciAoaiA9IDA7IGogPCBUWVBFX05GSUVMRFMgKGZpZWxkX3R5cGUp OyBqICs9IDEpCiAgICAgICAgICAgICAgewotQEAgLTc1MDQsOCArNzUwNiw4IEBAIGFkYV9zZWFy Y2hfc3RydWN0X2ZpZWxkIChjb25zdCBjaGFyICpuYW1lLCBzdHJ1Y3QgdmFsdWUgKmFyZywgaW50 IG9mZnNldCwKK0BAIC03NDcxLDggKzc0NzMsOCBAQCBhZGFfc2VhcmNoX3N0cnVjdF9maWVsZCAo Y29uc3QgY2hhciAqbmFtZSwgc3RydWN0IHZhbHVlICphcmcsIGludCBvZmZzZXQsCiAgICByZXR1 cm4gTlVMTDsKICB9CiAgCkBAIC03ODUsNyArNzg1LDcgQEAgaW5kZXggNjM5NTE4NDk1Ni4uOGQy NWZkYjRjNiAxMDA2NDQKICAKICAKICAvKiBSZXR1cm4gZmllbGQgI0lOREVYIGluIEFSRywgd2hl cmUgdGhlIGluZGV4IGlzIHRoYXQgcmV0dXJuZWQgYnkKLUBAIC03NTE0LDcgKzc1MTYsNyBAQCBz dGF0aWMgc3RydWN0IHZhbHVlICphZGFfaW5kZXhfc3RydWN0X2ZpZWxkXzEgKGludCAqLCBzdHJ1 Y3QgdmFsdWUgKiwKK0BAIC03NDgxLDcgKzc0ODMsNyBAQCBzdGF0aWMgc3RydWN0IHZhbHVlICph ZGFfaW5kZXhfc3RydWN0X2ZpZWxkXzEgKGludCAqLCBzdHJ1Y3QgdmFsdWUgKiwKICAgKiBJZiBm b3VuZCwgcmV0dXJuIHZhbHVlLCBlbHNlIHJldHVybiBOVUxMLiAgKi8KICAKICBzdGF0aWMgc3Ry dWN0IHZhbHVlICoKQEAgLTc5NCw3ICs3OTQsNyBAQCBpbmRleCA2Mzk1MTg0OTU2Li44ZDI1ZmRi NGM2IDEwMDY0NAogIAkJCXN0cnVjdCB0eXBlICp0eXBlKQogIHsKICAgIHJldHVybiBhZGFfaW5k ZXhfc3RydWN0X2ZpZWxkXzEgKCZpbmRleCwgYXJnLCBvZmZzZXQsIHR5cGUpOwotQEAgLTc1MjYs NyArNzUyOCw3IEBAIGFkYV9pbmRleF9zdHJ1Y3RfZmllbGQgKGludCBpbmRleCwgc3RydWN0IHZh bHVlICphcmcsIGludCBvZmZzZXQsCitAQCAtNzQ5Myw3ICs3NDk1LDcgQEAgYWRhX2luZGV4X3N0 cnVjdF9maWVsZCAoaW50IGluZGV4LCBzdHJ1Y3QgdmFsdWUgKmFyZywgaW50IG9mZnNldCwKICAg KiAqSU5ERVhfUC4gICovCiAgCiAgc3RhdGljIHN0cnVjdCB2YWx1ZSAqCkBAIC04MDMsNyArODAz LDcgQEAgaW5kZXggNjM5NTE4NDk1Ni4uOGQyNWZkYjRjNiAxMDA2NDQKICAJCQkgIHN0cnVjdCB0 eXBlICp0eXBlKQogIHsKICAgIGludCBpOwotQEAgLTc2MTYsNyArNzYxOCw4IEBAIGFkYV92YWx1 ZV9zdHJ1Y3RfZWx0IChzdHJ1Y3QgdmFsdWUgKmFyZywgY29uc3QgY2hhciAqbmFtZSwgaW50IG5v X2VycikKK0BAIC03NTgzLDcgKzc1ODUsOCBAQCBhZGFfdmFsdWVfc3RydWN0X2VsdCAoc3RydWN0 IHZhbHVlICphcmcsIGNvbnN0IGNoYXIgKm5hbWUsIGludCBub19lcnIpCiAgICAgIHYgPSBhZGFf c2VhcmNoX3N0cnVjdF9maWVsZCAobmFtZSwgYXJnLCAwLCB0KTsKICAgIGVsc2UKICAgICAgewpA QCAtODEzLDcgKzgxMyw3IEBAIGluZGV4IDYzOTUxODQ5NTYuLjhkMjVmZGI0YzYgMTAwNjQ0CiAg ICAgICAgc3RydWN0IHR5cGUgKmZpZWxkX3R5cGU7CiAgICAgICAgQ09SRV9BRERSIGFkZHJlc3M7 CiAgCi1AQCAtNzk2MCw4ICs3OTYzLDggQEAgYWRhX2NvZXJjZV9yZWYgKHN0cnVjdCB2YWx1ZSAq dmFsMCkKK0BAIC03OTI3LDggKzc5MzAsOCBAQCBhZGFfY29lcmNlX3JlZiAoc3RydWN0IHZhbHVl ICp2YWwwKQogIC8qIFJldHVybiBPRkYgcm91bmRlZCB1cHdhcmQgaWYgbmVjZXNzYXJ5IHRvIGEg bXVsdGlwbGUgb2YKICAgICBBTElHTk1FTlQgKGEgcG93ZXIgb2YgMikuICAqLwogIApAQCAtODI0 LDcgKzgyNCw3IEBAIGluZGV4IDYzOTUxODQ5NTYuLjhkMjVmZGI0YzYgMTAwNjQ0CiAgewogICAg cmV0dXJuIChvZmYgKyBhbGlnbm1lbnQgLSAxKSAmIH4oYWxpZ25tZW50IC0gMSk7CiAgfQotQEAg LTgzNTUsMTAgKzgzNTgsOSBAQCBhZGFfdGVtcGxhdGVfdG9fZml4ZWRfcmVjb3JkX3R5cGVfMSAo c3RydWN0IHR5cGUgKnR5cGUsCitAQCAtODMyMiwxMCArODMyNSw5IEBAIGFkYV90ZW1wbGF0ZV90 b19maXhlZF9yZWNvcmRfdHlwZV8xIChzdHJ1Y3QgdHlwZSAqdHlwZSwKICAgIHN0cnVjdCB2YWx1 ZSAqbWFyayA9IHZhbHVlX21hcmsgKCk7CiAgICBzdHJ1Y3QgdmFsdWUgKmR2YWw7CiAgICBzdHJ1 Y3QgdHlwZSAqcnR5cGU7CkBAIC04MzcsNyArODM3LDcgQEAgaW5kZXggNjM5NTE4NDk1Ni4uOGQy NWZkYjRjNiAxMDA2NDQKICAgIGludCBmOwogIAogICAgLyogQ29tcHV0ZSB0aGUgbnVtYmVyIG9m IGZpZWxkcyBpbiB0aGlzIHJlY29yZCB0eXBlIHRoYXQgYXJlIGdvaW5nCi1AQCAtODQzNiw3ICs4 NDM4LDcgQEAgYWRhX3RlbXBsYXRlX3RvX2ZpeGVkX3JlY29yZF90eXBlXzEgKHN0cnVjdCB0eXBl ICp0eXBlLAorQEAgLTg0MDMsNyArODQwNSw3IEBAIGFkYV90ZW1wbGF0ZV90b19maXhlZF9yZWNv cmRfdHlwZV8xIChzdHJ1Y3QgdHlwZSAqdHlwZSwKICAJICAgICB0aGF0IGZvbGxvdyB0aGlzIG9u ZS4gICovCiAgCSAgaWYgKGFkYV9pc19hbGlnbmVyX3R5cGUgKGZpZWxkX3R5cGUpKQogIAkgICAg ewpAQCAtODQ2LDcgKzg0Niw3IEBAIGluZGV4IDYzOTUxODQ5NTYuLjhkMjVmZGI0YzYgMTAwNjQ0 CiAgCiAgCSAgICAgIGZpZWxkX3ZhbGFkZHIgPSBjb25kX29mZnNldF9ob3N0IChmaWVsZF92YWxh ZGRyLCBmaWVsZF9vZmZzZXQpOwogIAkgICAgICBmaWVsZF9hZGRyZXNzID0gY29uZF9vZmZzZXRf dGFyZ2V0IChmaWVsZF9hZGRyZXNzLCBmaWVsZF9vZmZzZXQpOwotQEAgLTg1NzIsMTEgKzg1NzQs MTEgQEAgYWRhX3RlbXBsYXRlX3RvX2ZpeGVkX3JlY29yZF90eXBlXzEgKHN0cnVjdCB0eXBlICp0 eXBlLAorQEAgLTg1MzksMTEgKzg1NDEsMTEgQEAgYWRhX3RlbXBsYXRlX3RvX2ZpeGVkX3JlY29y ZF90eXBlXzEgKHN0cnVjdCB0eXBlICp0eXBlLAogICAgaWYgKFRZUEVfTEVOR1RIICh0eXBlKSA8 PSAwKQogICAgICB7CiAgICAgICAgaWYgKFRZUEVfTkFNRSAocnR5cGUpKQpAQCAtODYyLDcgKzg2 Miw3IEBAIGluZGV4IDYzOTUxODQ5NTYuLjhkMjVmZGI0YzYgMTAwNjQ0CiAgICAgIH0KICAgIGVs c2UKICAgICAgewotQEAgLTkwNDIsNyArOTA0NCw4IEBAIHRvX2ZpeGVkX2FycmF5X3R5cGUgKHN0 cnVjdCB0eXBlICp0eXBlMCwgc3RydWN0IHZhbHVlICpkdmFsLAorQEAgLTkwMDksNyArOTAxMSw4 IEBAIHRvX2ZpeGVkX2FycmF5X3R5cGUgKHN0cnVjdCB0eXBlICp0eXBlMCwgc3RydWN0IHZhbHVl ICpkdmFsLAogIAkgdHlwZSB3YXMgYSByZWd1bGFyIChub24tcGFja2VkKSBhcnJheSB0eXBlLiAg QXMgYSByZXN1bHQsIHRoZQogIAkgYml0c2l6ZSBvZiB0aGUgYXJyYXkgZWxlbWVudHMgbmVlZHMg dG8gYmUgc2V0IGFnYWluLCBhbmQgdGhlIGFycmF5CiAgCSBsZW5ndGggbmVlZHMgdG8gYmUgcmVj b21wdXRlZCBiYXNlZCBvbiB0aGF0IGJpdHNpemUuICAqLwpAQCAtODczLDcgKzg3Myw3IEBAIGlu ZGV4IDYzOTUxODQ5NTYuLjhkMjVmZGI0YzYgMTAwNjQ0CiAgCiAgICAgICAgVFlQRV9GSUVMRF9C SVRTSVpFIChyZXN1bHQsIDApID0gVFlQRV9GSUVMRF9CSVRTSVpFICh0eXBlMCwgMCk7CiBkaWZm IC0tZ2l0IGEvZ2RiL2FkYS1sYW5nLmggYi9nZGIvYWRhLWxhbmcuaAotaW5kZXggYmFjNmMwNmU0 MC4uNzg0ZTQ5MzVhMyAxMDA2NDQKK2luZGV4IGE0MTkyZmM4YTUuLjVhODRjYThhMzUgMTAwNjQ0 CiAtLS0gYS9nZGIvYWRhLWxhbmcuaAogKysrIGIvZ2RiL2FkYS1sYW5nLmgKIEBAIC0xNzUsNyAr MTc1LDcgQEAgZXh0ZXJuIHZvaWQgYWRhX3ByaW50X3R5cGUgKHN0cnVjdCB0eXBlICosIGNvbnN0 IGNoYXIgKiwgc3RydWN0IHVpX2ZpbGUgKiwgaW50LApAQCAtOTI5LDcgKzkyOSw3IEBAIGluZGV4 IDQ3Y2U4OTdkMDEuLjllZjliM2MyZjkgMTAwNjQ0CiAgICAgICAgY2FzZSBUWVBFX0NPREVfRU5V TToKICAJaWYgKHNob3cgPCAwKQogZGlmZiAtLWdpdCBhL2dkYi9hZGEtdmFscHJpbnQuYyBiL2dk Yi9hZGEtdmFscHJpbnQuYwotaW5kZXggYzVlZmRmMWMxYy4uNTkxMmM2ZDAxNiAxMDA2NDQKK2lu ZGV4IGE0ODY5MTk4YTQuLmRhNWE5MzI3ZTEgMTAwNjQ0CiAtLS0gYS9nZGIvYWRhLXZhbHByaW50 LmMKICsrKyBiL2dkYi9hZGEtdmFscHJpbnQuYwogQEAgLTM0LDExICszNCwxMSBAQApAQCAtOTQ2 LDcgKzk0Niw3IEBAIGluZGV4IGM1ZWZkZjFjMWMuLjU5MTJjNmQwMTYgMTAwNjQ0CiAgCQkJICAg ICAgIGNvbnN0IHN0cnVjdCBsYW5ndWFnZV9kZWZuICopOwogIAwKICAKLUBAIC0yODAsNyArMjgw LDcgQEAgYWRhX2VtaXRfY2hhciAoaW50IGMsIHN0cnVjdCB0eXBlICp0eXBlLCBzdHJ1Y3QgdWlf ZmlsZSAqc3RyZWFtLAorQEAgLTMxNiw3ICszMTYsNyBAQCBhZGFfZW1pdF9jaGFyIChpbnQgYywg c3RydWN0IHR5cGUgKnR5cGUsIHN0cnVjdCB1aV9maWxlICpzdHJlYW0sCiAgICAgb2YgYSBjaGFy YWN0ZXIuICAqLwogIAogIHN0YXRpYyBpbnQKQEAgLTk1NSw3ICs5NTUsNyBAQCBpbmRleCBjNWVm ZGYxYzFjLi41OTEyYzZkMDE2IDEwMDY0NAogIAkgZW51bSBiZmRfZW5kaWFuIGJ5dGVfb3JkZXIp CiAgewogICAgaWYgKHR5cGVfbGVuID09IDEpCi1AQCAtNDQwLDExICs0NDAsMTEgQEAgYWRhX3By aW50X3NjYWxhciAoc3RydWN0IHR5cGUgKnR5cGUsIExPTkdFU1QgdmFsLCBzdHJ1Y3QgdWlfZmls ZSAqc3RyZWFtKQorQEAgLTQ3NiwxMSArNDc2LDExIEBAIGFkYV9wcmludF9zY2FsYXIgKHN0cnVj dCB0eXBlICp0eXBlLCBMT05HRVNUIHZhbCwgc3RydWN0IHVpX2ZpbGUgKnN0cmVhbSkKICAKICBz dGF0aWMgdm9pZAogIHByaW50c3RyIChzdHJ1Y3QgdWlfZmlsZSAqc3RyZWFtLCBzdHJ1Y3QgdHlw ZSAqZWx0dHlwZSwgY29uc3QgZ2RiX2J5dGUgKnN0cmluZywKQEAgLTk2OSw3ICs5NjksNyBAQCBp bmRleCBjNWVmZGYxYzFjLi41OTEyYzZkMDE2IDEwMDY0NAogICAgdW5zaWduZWQgaW50IHRoaW5n c19wcmludGVkID0gMDsKICAgIGludCBpbl9xdW90ZXMgPSAwOwogICAgaW50IG5lZWRfY29tbWEg PSAwOwotQEAgLTQ1OSw5ICs0NTksOSBAQCBwcmludHN0ciAoc3RydWN0IHVpX2ZpbGUgKnN0cmVh bSwgc3RydWN0IHR5cGUgKmVsdHR5cGUsIGNvbnN0IGdkYl9ieXRlICpzdHJpbmcsCitAQCAtNDk1 LDkgKzQ5NSw5IEBAIHByaW50c3RyIChzdHJ1Y3QgdWlfZmlsZSAqc3RyZWFtLCBzdHJ1Y3QgdHlw ZSAqZWx0dHlwZSwgY29uc3QgZ2RiX2J5dGUgKnN0cmluZywKICAgICAgewogICAgICAgIC8qIFBv c2l0aW9uIG9mIHRoZSBjaGFyYWN0ZXIgd2UgYXJlIGV4YW1pbmluZwogICAgICAgICAgIHRvIHNl ZSB3aGV0aGVyIGl0IGlzIHJlcGVhdGVkLiAgKi8KQEAgLTk4MSw3ICs5ODEsNyBAQCBpbmRleCBj NWVmZGYxYzFjLi41OTEyYzZkMDE2IDEwMDY0NAogIAogICAgICAgIFFVSVQ7CiAgCi1AQCAtNDky LDcgKzQ5Miw4IEBAIHByaW50c3RyIChzdHJ1Y3QgdWlfZmlsZSAqc3RyZWFtLCBzdHJ1Y3QgdHlw ZSAqZWx0dHlwZSwgY29uc3QgZ2RiX2J5dGUgKnN0cmluZywKK0BAIC01MjgsNyArNTI4LDggQEAg cHJpbnRzdHIgKHN0cnVjdCB1aV9maWxlICpzdHJlYW0sIHN0cnVjdCB0eXBlICplbHR0eXBlLCBj b25zdCBnZGJfYnl0ZSAqc3RyaW5nLAogIAkgIGFkYV9lbWl0X2NoYXIgKGNoYXJfYXQgKHN0cmlu ZywgaSwgdHlwZV9sZW4sIGJ5dGVfb3JkZXIpLAogIAkJCSBlbHR0eXBlLCBzdHJlYW0sICdcJycs IHR5cGVfbGVuKTsKICAJICBmcHV0c19maWx0ZXJlZCAoIiciLCBzdHJlYW0pOwpAQCAtOTkxLDcg Kzk5MSw3IEBAIGluZGV4IGM1ZWZkZjFjMWMuLjU5MTJjNmQwMTYgMTAwNjQ0CiAgCSAgaSA9IHJl cDEgLSAxOwogIAkgIHRoaW5nc19wcmludGVkICs9IG9wdGlvbnMtPnJlcGVhdF9jb3VudF90aHJl c2hvbGQ7CiAgCSAgbmVlZF9jb21tYSA9IDE7Ci1AQCAtNTIwLDcgKzUyMSw3IEBAIHByaW50c3Ry IChzdHJ1Y3QgdWlfZmlsZSAqc3RyZWFtLCBzdHJ1Y3QgdHlwZSAqZWx0dHlwZSwgY29uc3QgZ2Ri X2J5dGUgKnN0cmluZywKK0BAIC01NTYsNyArNTU3LDcgQEAgcHJpbnRzdHIgKHN0cnVjdCB1aV9m aWxlICpzdHJlYW0sIHN0cnVjdCB0eXBlICplbHR0eXBlLCBjb25zdCBnZGJfYnl0ZSAqc3RyaW5n LAogIAogIHZvaWQKICBhZGFfcHJpbnRzdHIgKHN0cnVjdCB1aV9maWxlICpzdHJlYW0sIHN0cnVj dCB0eXBlICp0eXBlLApAQCAtMTAwMCw3ICsxMDAwLDcgQEAgaW5kZXggYzVlZmRmMWMxYy4uNTkx MmM2ZDAxNiAxMDA2NDQKICAJICAgICAgY29uc3QgY2hhciAqZW5jb2RpbmcsIGludCBmb3JjZV9l bGxpcHNlcywKICAJICAgICAgY29uc3Qgc3RydWN0IHZhbHVlX3ByaW50X29wdGlvbnMgKm9wdGlv bnMpCiAgewotQEAgLTUzMCwxMiArNTMxLDEyIEBAIGFkYV9wcmludHN0ciAoc3RydWN0IHVpX2Zp bGUgKnN0cmVhbSwgc3RydWN0IHR5cGUgKnR5cGUsCitAQCAtNTY2LDEyICs1NjcsMTIgQEAgYWRh X3ByaW50c3RyIChzdHJ1Y3QgdWlfZmlsZSAqc3RyZWFtLCBzdHJ1Y3QgdHlwZSAqdHlwZSwKICAK ICBzdGF0aWMgaW50CiAgcHJpbnRfdmFyaWFudF9wYXJ0IChzdHJ1Y3QgdHlwZSAqdHlwZSwgaW50 IGZpZWxkX251bSwKQEAgLTEwMTUsNyArMTAxNSw3IEBAIGluZGV4IGM1ZWZkZjFjMWMuLjU5MTJj NmQwMTYgMTAwNjQ0CiAgCQkgICAgY29uc3Qgc3RydWN0IGxhbmd1YWdlX2RlZm4gKmxhbmd1YWdl KQogIHsKICAgIHN0cnVjdCB0eXBlICp2YXJfdHlwZSA9IFRZUEVfRklFTERfVFlQRSAodHlwZSwg ZmllbGRfbnVtKTsKLUBAIC01NzEsMTEgKzU3MiwxMSBAQCBwcmludF92YXJpYW50X3BhcnQgKHN0 cnVjdCB0eXBlICp0eXBlLCBpbnQgZmllbGRfbnVtLAorQEAgLTYwNywxMSArNjA4LDExIEBAIHBy aW50X3ZhcmlhbnRfcGFydCAoc3RydWN0IHR5cGUgKnR5cGUsIGludCBmaWVsZF9udW0sCiAgCiAg c3RhdGljIGludAogIHByaW50X2ZpZWxkX3ZhbHVlcyAoc3RydWN0IHR5cGUgKnR5cGUsIGNvbnN0 IGdkYl9ieXRlICp2YWxhZGRyLApAQCAtMTAyOSw3ICsxMDI5LDcgQEAgaW5kZXggYzVlZmRmMWMx Yy4uNTkxMmM2ZDAxNiAxMDA2NDQKICAJCSAgICBjb25zdCBzdHJ1Y3QgbGFuZ3VhZ2VfZGVmbiAq bGFuZ3VhZ2UpCiAgewogICAgaW50IGksIGxlbjsKLUBAIC02NDEsNyArNjQyLDcgQEAgcHJpbnRf ZmllbGRfdmFsdWVzIChzdHJ1Y3QgdHlwZSAqdHlwZSwgY29uc3QgZ2RiX2J5dGUgKnZhbGFkZHIs CitAQCAtNjc3LDcgKzY3OCw3IEBAIHByaW50X2ZpZWxkX3ZhbHVlcyAoc3RydWN0IHR5cGUgKnR5 cGUsIGNvbnN0IGdkYl9ieXRlICp2YWxhZGRyLAogIAkgIGVsc2UKICAJICAgIHsKICAJICAgICAg c3RydWN0IHZhbHVlICp2OwpAQCAtMTAzOCw3ICsxMDM4LDcgQEAgaW5kZXggYzVlZmRmMWMxYy4u NTkxMmM2ZDAxNiAxMDA2NDQKICAJICAgICAgaW50IGJpdF9zaXplID0gVFlQRV9GSUVMRF9CSVRT SVpFICh0eXBlLCBpKTsKICAJICAgICAgc3RydWN0IHZhbHVlX3ByaW50X29wdGlvbnMgb3B0czsK ICAKLUBAIC02ODYsOCArNjg3LDggQEAgYWRhX3ZhbF9wcmludF9zdHJpbmcgKHN0cnVjdCB0eXBl ICp0eXBlLCBjb25zdCBnZGJfYnl0ZSAqdmFsYWRkciwKK0BAIC03MjIsOCArNzIzLDggQEAgYWRh X3ZhbF9wcmludF9zdHJpbmcgKHN0cnVjdCB0eXBlICp0eXBlLCBjb25zdCBnZGJfYnl0ZSAqdmFs YWRkciwKICB7CiAgICBlbnVtIGJmZF9lbmRpYW4gYnl0ZV9vcmRlciA9IGdkYmFyY2hfYnl0ZV9v cmRlciAoZ2V0X3R5cGVfYXJjaCAodHlwZSkpOwogICAgc3RydWN0IHR5cGUgKmVsdHR5cGUgPSBU WVBFX1RBUkdFVF9UWVBFICh0eXBlKTsKQEAgLTEwNDksNyArMTA0OSw3IEBAIGluZGV4IGM1ZWZk ZjFjMWMuLjU5MTJjNmQwMTYgMTAwNjQ0CiAgCiAgICAvKiBXZSBrbm93IHRoYXQgRUxUVFlQRSBj YW5ub3QgcG9zc2libHkgYmUgbnVsbCwgYmVjYXVzZSB3ZSBhc3N1bWUKICAgICAgIHRoYXQgd2Un cmUgY2FsbGVkIG9ubHkgd2hlbiBUWVBFIGlzIGEgc3RyaW5nLWxpa2UgdHlwZS4KLUBAIC03MDYs NyArNzA3LDcgQEAgYWRhX3ZhbF9wcmludF9zdHJpbmcgKHN0cnVjdCB0eXBlICp0eXBlLCBjb25z dCBnZGJfYnl0ZSAqdmFsYWRkciwKK0BAIC03NDIsNyArNzQzLDcgQEAgYWRhX3ZhbF9wcmludF9z dHJpbmcgKHN0cnVjdCB0eXBlICp0eXBlLCBjb25zdCBnZGJfYnl0ZSAqdmFsYWRkciwKICAgICAg IGVsZW1lbnRzIHVwIHRvIGl0LiAgKi8KICAgIGlmIChvcHRpb25zLT5zdG9wX3ByaW50X2F0X251 bGwpCiAgICAgIHsKQEAgLTEwNTgsNyArMTA1OCw3IEBAIGluZGV4IGM1ZWZkZjFjMWMuLjU5MTJj NmQwMTYgMTAwNjQ0CiAgCiAgICAgICAgLyogTG9vayBmb3IgYSBOVUxMIGNoYXIuICAqLwogICAg ICAgIGZvciAodGVtcF9sZW4gPSAwOwotQEAgLTEwNzksNyArMTA4MCw3IEBAIGFkYV92YWxfcHJp bnRfcmVmIChzdHJ1Y3QgdHlwZSAqdHlwZSwgY29uc3QgZ2RiX2J5dGUgKnZhbGFkZHIsCitAQCAt MTExNSw3ICsxMTE2LDcgQEAgYWRhX3ZhbF9wcmludF9yZWYgKHN0cnVjdCB0eXBlICp0eXBlLCBj b25zdCBnZGJfYnl0ZSAqdmFsYWRkciwKICAKICBzdGF0aWMgdm9pZAogIGFkYV92YWxfcHJpbnRf MSAoc3RydWN0IHR5cGUgKnR5cGUsCkBAIC0xMDY3LDcgKzEwNjcsNyBAQCBpbmRleCBjNWVmZGYx YzFjLi41OTEyYzZkMDE2IDEwMDY0NAogIAkJIHN0cnVjdCB1aV9maWxlICpzdHJlYW0sIGludCBy ZWN1cnNlLAogIAkJIHN0cnVjdCB2YWx1ZSAqb3JpZ2luYWxfdmFsdWUsCiAgCQkgY29uc3Qgc3Ry dWN0IHZhbHVlX3ByaW50X29wdGlvbnMgKm9wdGlvbnMsCi1AQCAtMTE2Myw3ICsxMTY0LDcgQEAg YWRhX3ZhbF9wcmludF8xIChzdHJ1Y3QgdHlwZSAqdHlwZSwKK0BAIC0xMTk5LDcgKzEyMDAsNyBA QCBhZGFfdmFsX3ByaW50XzEgKHN0cnVjdCB0eXBlICp0eXBlLAogIAogIHZvaWQKICBhZGFfdmFs X3ByaW50IChzdHJ1Y3QgdHlwZSAqdHlwZSwKQEAgLTEwNzcsMTAgKzEwNzcsMTAgQEAgaW5kZXgg YzVlZmRmMWMxYy4uNTkxMmM2ZDAxNiAxMDA2NDQKICAJICAgICAgIHN0cnVjdCB2YWx1ZSAqdmFs LAogIAkgICAgICAgY29uc3Qgc3RydWN0IHZhbHVlX3ByaW50X29wdGlvbnMgKm9wdGlvbnMpCiBk aWZmIC0tZ2l0IGEvZ2RiL2FtZDY0LXRkZXAuYyBiL2dkYi9hbWQ2NC10ZGVwLmMKLWluZGV4IDdj NzA3OTJiM2YuLjY1MTc5NGE0MWYgMTAwNjQ0CitpbmRleCAxODY2OTBhZjMwLi4zMzhhMGYyYzg3 IDEwMDY0NAogLS0tIGEvZ2RiL2FtZDY0LXRkZXAuYwogKysrIGIvZ2RiL2FtZDY0LXRkZXAuYwot QEAgLTcyNyw3ICs3MjcsNyBAQCBhbWQ2NF9yZXR1cm5fdmFsdWUgKHN0cnVjdCBnZGJhcmNoICpn ZGJhcmNoLCBzdHJ1Y3QgdmFsdWUgKmZ1bmN0aW9uLAorQEAgLTcyOSw3ICs3MjksNyBAQCBhbWQ2 NF9yZXR1cm5fdmFsdWUgKHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoLCBzdHJ1Y3QgdmFsdWUgKmZ1 bmN0aW9uLAogIAkJICAgIGdkYl9ieXRlICpyZWFkYnVmLCBjb25zdCBnZGJfYnl0ZSAqd3JpdGVi dWYpCiAgewogICAgZW51bSBhbWQ2NF9yZWdfY2xhc3MgdGhlY2xhc3NbMl07CkBAIC0xMDg5LDcg KzEwODksNyBAQCBpbmRleCA3YzcwNzkyYjNmLi42NTE3OTRhNDFmIDEwMDY0NAogICAgc3RhdGlj IGludCBpbnRlZ2VyX3JlZ251bVtdID0geyBBTUQ2NF9SQVhfUkVHTlVNLCBBTUQ2NF9SRFhfUkVH TlVNIH07CiAgICBzdGF0aWMgaW50IHNzZV9yZWdudW1bXSA9IHsgQU1ENjRfWE1NMF9SRUdOVU0s IEFNRDY0X1hNTTFfUkVHTlVNIH07CiAgICBpbnQgaW50ZWdlcl9yZWcgPSAwOwotQEAgLTg0Mywx MSArODQzLDEzIEBAIGFtZDY0X3JldHVybl92YWx1ZSAoc3RydWN0IGdkYmFyY2ggKmdkYmFyY2gs IHN0cnVjdCB2YWx1ZSAqZnVuY3Rpb24sCitAQCAtODQ1LDExICs4NDUsMTMgQEAgYW1kNjRfcmV0 dXJuX3ZhbHVlIChzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCwgc3RydWN0IHZhbHVlICpmdW5jdGlv biwKICAKICAgICAgICBnZGJfYXNzZXJ0IChyZWdudW0gIT0gLTEpOwogIApAQCAtMTEwNiw3ICsx MTA2LDcgQEAgaW5kZXggN2M3MDc5MmIzZi4uNjUxNzk0YTQxZiAxMDA2NDQKICAgICAgfQogIAog ZGlmZiAtLWdpdCBhL2dkYi9hbm5vdGF0ZS5jIGIvZ2RiL2Fubm90YXRlLmMKLWluZGV4IDBjNzBm Zjk1NTMuLjZkMTY5YmZkYWUgMTAwNjQ0CitpbmRleCA0OTVhYTJkYmE2Li40NWU0ODZhZTY0IDEw MDY0NAogLS0tIGEvZ2RiL2Fubm90YXRlLmMKICsrKyBiL2dkYi9hbm5vdGF0ZS5jCiBAQCAtNTMx LDIxICs1MzEsMjEgQEAgYW5ub3RhdGVfZnJhbWVfZW5kICh2b2lkKQpAQCAtMTE1MSw3ICsxMTUx LDcgQEAgaW5kZXggMWI5ZDlkZDAzNC4uZDc5Y2NjNTZlZCAxMDA2NDQKICBleHRlcm4gdm9pZCBh bm5vdGF0ZV9lbHQgKHZvaWQpOwogIGV4dGVybiB2b2lkIGFubm90YXRlX2FycmF5X3NlY3Rpb25f ZW5kICh2b2lkKTsKIGRpZmYgLS1naXQgYS9nZGIvYXJjaC11dGlscy5jIGIvZ2RiL2FyY2gtdXRp bHMuYwotaW5kZXggNjkzZDdlM2RjOC4uYjcwMTAxMDAxOSAxMDA2NDQKK2luZGV4IGUzY2NlNDkx ZWUuLmQzMTE3YmRhYTEgMTAwNjQ0CiAtLS0gYS9nZGIvYXJjaC11dGlscy5jCiArKysgYi9nZGIv YXJjaC11dGlscy5jCiBAQCAtMjI4LDcgKzIyOCw3IEBAIGxlZ2FjeV92aXJ0dWFsX2ZyYW1lX3Bv aW50ZXIgKHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoLApAQCAtMTE2NCw3ICsxMTY0LDcgQEAgaW5k ZXggNjkzZDdlM2RjOC4uYjcwMTAxMDAxOSAxMDA2NDQKICAgIGNvbnN0IHN0cnVjdCBmbG9hdGZv cm1hdCAqKmZvcm1hdCA9IE5VTEw7CiAgCiBkaWZmIC0tZ2l0IGEvZ2RiL2FyY2gtdXRpbHMuaCBi L2dkYi9hcmNoLXV0aWxzLmgKLWluZGV4IGI1MWE0ZWMxZWUuLjJkMzQ0ZTdiOTMgMTAwNjQ0Citp bmRleCA3N2VlOWFmMmJmLi5lMGJkNzAxZDVlIDEwMDY0NAogLS0tIGEvZ2RiL2FyY2gtdXRpbHMu aAogKysrIGIvZ2RiL2FyY2gtdXRpbHMuaAogQEAgLTEzMSw3ICsxMzEsNyBAQCBleHRlcm4gZ2Ri YXJjaF92aXJ0dWFsX2ZyYW1lX3BvaW50ZXJfZnR5cGUgbGVnYWN5X3ZpcnR1YWxfZnJhbWVfcG9p bnRlcjsKQEAgLTExNzcsMTUgKzExNzcsMTUgQEAgaW5kZXggYjUxYTRlYzFlZS4uMmQzNDRlN2I5 MyAxMDA2NDQKICBleHRlcm4gQ09SRV9BRERSIGdlbmVyaWNfc2tpcF90cmFtcG9saW5lX2NvZGUg KHN0cnVjdCBmcmFtZV9pbmZvICpmcmFtZSwKICAJCQkJCSAgICAgICBDT1JFX0FERFIgcGMpOwog ZGlmZiAtLWdpdCBhL2dkYi9hcm0tbGludXgtbmF0LmMgYi9nZGIvYXJtLWxpbnV4LW5hdC5jCi1p bmRleCA0ODRiZDRlNGM0Li4zYjdhYTQwZGI4IDEwMDY0NAoraW5kZXggMzAwMzBiNGViMC4uOGUy YWJmYjcwYyAxMDA2NDQKIC0tLSBhL2dkYi9hcm0tbGludXgtbmF0LmMKICsrKyBiL2dkYi9hcm0t bGludXgtbmF0LmMKLUBAIC0xMDY3LDcgKzEwNjcsNyBAQCBhcm1fbGludXhfcmVtb3ZlX2h3X2Jy ZWFrcG9pbnQgKHN0cnVjdCB0YXJnZXRfb3BzICpzZWxmLAorQEAgLTExMDQsNyArMTEwNCw3IEBA IGFybV9saW51eF9uYXRfdGFyZ2V0OjpyZW1vdmVfaHdfYnJlYWtwb2ludCAoc3RydWN0IGdkYmFy Y2ggKmdkYmFyY2gsCisgLyogQXJlIHdlIGFibGUgdG8gdXNlIGEgaGFyZHdhcmUgd2F0Y2hwb2lu dCBmb3IgdGhlIExFTiBieXRlcyBzdGFydGluZyBhdCAKICAgICBBRERSPyAgKi8KLSBzdGF0aWMg aW50Ci0gYXJtX2xpbnV4X3JlZ2lvbl9va19mb3JfaHdfd2F0Y2hwb2ludCAoc3RydWN0IHRhcmdl dF9vcHMgKnNlbGYsCi0tCQkJCSAgICAgICBDT1JFX0FERFIgYWRkciwgaW50IGxlbikKLSsJCQkJ ICAgICAgIENPUkVfQUREUiBhZGRyLCBMT05HRVNUIGxlbikKKyBpbnQKKy1hcm1fbGludXhfbmF0 X3RhcmdldDo6cmVnaW9uX29rX2Zvcl9od193YXRjaHBvaW50IChDT1JFX0FERFIgYWRkciwgaW50 IGxlbikKKythcm1fbGludXhfbmF0X3RhcmdldDo6cmVnaW9uX29rX2Zvcl9od193YXRjaHBvaW50 IChDT1JFX0FERFIgYWRkciwgTE9OR0VTVCBsZW4pCiAgewogICAgY29uc3Qgc3RydWN0IGFybV9s aW51eF9od2JwX2NhcCAqY2FwID0gYXJtX2xpbnV4X2dldF9od2JwX2NhcCAoKTsKICAgIENPUkVf QUREUiBtYXhfd3BfbGVuZ3RoLCBhbGlnbmVkX2FkZHI7CkBAIC0xMzE2LDEwICsxMzE2LDEwIEBA IGluZGV4IDYwNjZiNzcwNzYuLmQxYzlkMzUwMzAgMTAwNjQ0CiAgLyogQXBwZW5kIGEgZ290byBv cCB0byBFWFBSLiAgT1AgaXMgdGhlIGFjdHVhbCBvcCAobXVzdCBiZSBhb3BfZ290byBvcgogICAg IGFvcF9pZl9nb3RvKS4gIFdlIGFzc3VtZSB3ZSBkb24ndCBrbm93IHRoZSB0YXJnZXQgb2Zmc2V0 IHlldCwKIGRpZmYgLS1naXQgYS9nZGIvYnJlYWtwb2ludC5jIGIvZ2RiL2JyZWFrcG9pbnQuYwot aW5kZXggNmEwYzE1YjIzOS4uMDVkN2VkM2VhMSAxMDA2NDQKK2luZGV4IDAxMDZjZThkZDUuLmZl M2EyZDEzNTAgMTAwNjQ0CiAtLS0gYS9nZGIvYnJlYWtwb2ludC5jCiArKysgYi9nZGIvYnJlYWtw b2ludC5jCi1AQCAtMjA2NCw5ICsyMDY0LDkgQEAgc2hvdWxkX2JlX2luc2VydGVkIChzdHJ1Y3Qg YnBfbG9jYXRpb24gKmJsKQorQEAgLTIwNTMsOSArMjA1Myw5IEBAIHNob3VsZF9iZV9pbnNlcnRl ZCAoc3RydWN0IGJwX2xvY2F0aW9uICpibCkKICAJewogIAkgIGZwcmludGZfdW5maWx0ZXJlZCAo Z2RiX3N0ZGxvZywKICAJCQkgICAgICAiaW5mcnVuOiBzdGVwcGluZyBwYXN0IG5vbi1zdGVwcGFi bGUgd2F0Y2hwb2ludC4gIgpAQCAtMTMzMSw3ICsxMzMxLDcgQEAgaW5kZXggNmEwYzE1YjIzOS4u MDVkN2VkM2VhMSAxMDA2NDQKICAJfQogICAgICAgIHJldHVybiAwOwogICAgICB9Ci1AQCAtNjg1 MSw3ICs2ODUxLDcgQEAgYnJlYWtwb2ludF9hZGRyZXNzX21hdGNoIChjb25zdCBhZGRyZXNzX3Nw YWNlICphc3BhY2UxLCBDT1JFX0FERFIgYWRkcjEsCitAQCAtNjgxNCw3ICs2ODE0LDcgQEAgYnJl YWtwb2ludF9hZGRyZXNzX21hdGNoIChjb25zdCBhZGRyZXNzX3NwYWNlICphc3BhY2UxLCBDT1JF X0FERFIgYWRkcjEsCiAgc3RhdGljIGludAogIGJyZWFrcG9pbnRfYWRkcmVzc19tYXRjaF9yYW5n ZSAoY29uc3QgYWRkcmVzc19zcGFjZSAqYXNwYWNlMSwKICAJCQkJQ09SRV9BRERSIGFkZHIxLApA QCAtMTM0MCw3ICsxMzQwLDcgQEAgaW5kZXggNmEwYzE1YjIzOS4uMDVkN2VkM2VhMSAxMDA2NDQK ICAJCQkJQ09SRV9BRERSIGFkZHIyKQogIHsKICAgIHJldHVybiAoKGdkYmFyY2hfaGFzX2dsb2Jh bF9icmVha3BvaW50cyAodGFyZ2V0X2dkYmFyY2ggKCkpCi1AQCAtMTA5NzgsNyArMTA5NzgsNyBA QCBjYW5fdXNlX2hhcmR3YXJlX3dhdGNocG9pbnQgKHN0cnVjdCB2YWx1ZSAqdikKK0BAIC0xMDkw Niw3ICsxMDkwNiw3IEBAIGNhbl91c2VfaGFyZHdhcmVfd2F0Y2hwb2ludCAoY29uc3Qgc3RkOjp2 ZWN0b3I8dmFsdWVfcmVmX3B0cj4gJnZhbHMpCiAgCQkgICAgICAmJiBUWVBFX0NPREUgKHZ0eXBl KSAhPSBUWVBFX0NPREVfQVJSQVkpKQogIAkJewogIAkJICBDT1JFX0FERFIgdmFkZHIgPSB2YWx1 ZV9hZGRyZXNzICh2KTsKQEAgLTEzNTAsMTAgKzEzNTAsMTAgQEAgaW5kZXggNmEwYzE1YjIzOS4u MDVkN2VkM2VhMSAxMDA2NDQKICAKICAJCSAgbGVuID0gKHRhcmdldF9leGFjdF93YXRjaHBvaW50 cwogZGlmZiAtLWdpdCBhL2dkYi9icmVha3BvaW50LmggYi9nZGIvYnJlYWtwb2ludC5oCi1pbmRl eCAzZmRkYmFhNzEzLi4wODQ2M2Q0ZTViIDEwMDY0NAoraW5kZXggNDA3Y2M1MzFkYi4uYmM4MzNl NTdlYiAxMDA2NDQKIC0tLSBhL2dkYi9icmVha3BvaW50LmgKICsrKyBiL2dkYi9icmVha3BvaW50 LmgKLUBAIC0yNTIsNyArMjUyLDcgQEAgc3RydWN0IGJwX3RhcmdldF9pbmZvCitAQCAtMjUxLDcg KzI1MSw3IEBAIHN0cnVjdCBicF90YXJnZXRfaW5mbwogIAogICAgLyogSWYgdGhpcyBpcyBhIHJh bmdlZCBicmVha3BvaW50LCB0aGVuIHRoaXMgZmllbGQgY29udGFpbnMgdGhlCiAgICAgICBsZW5n dGggb2YgdGhlIHJhbmdlIHRoYXQgd2lsbCBiZSB3YXRjaGVkIGZvciBleGVjdXRpb24uICAqLwpA QCAtMTM2Miw3ICsxMzYyLDcgQEAgaW5kZXggM2ZkZGJhYTcxMy4uMDg0NjNkNGU1YiAxMDA2NDQK ICAKICAgIC8qIElmIHRoZSBicmVha3BvaW50IGxpdmVzIGluIG1lbW9yeSBhbmQgcmVhZGluZyB0 aGF0IG1lbW9yeSB3b3VsZAogICAgICAgZ2l2ZSBiYWNrIHRoZSBicmVha3BvaW50LCBpbnN0ZWFk IG9mIHRoZSBvcmlnaW5hbCBjb250ZW50cywgdGhlbgotQEAgLTQyOSw3ICs0MjksNyBAQCBwdWJs aWM6CitAQCAtNDI4LDcgKzQyOCw3IEBAIHB1YmxpYzoKICAgIC8qIEZvciBoYXJkd2FyZSB3YXRj aHBvaW50cywgdGhlIHNpemUgb2YgdGhlIG1lbW9yeSByZWdpb24gYmVpbmcKICAgICAgIHdhdGNo ZWQuICBGb3IgaGFyZHdhcmUgcmFuZ2VkIGJyZWFrcG9pbnRzLCB0aGUgc2l6ZSBvZiB0aGUKICAg ICAgIGJyZWFrcG9pbnQgcmFuZ2UuICAqLwpAQCAtMTM3Miw3ICsxMzcyLDcgQEAgaW5kZXggM2Zk ZGJhYTcxMy4uMDg0NjNkNGU1YiAxMDA2NDQKICAgIC8qIFR5cGUgb2YgaGFyZHdhcmUgd2F0Y2hw b2ludC4gICovCiAgICB0YXJnZXRfaHdfYnBfdHlwZSB3YXRjaHBvaW50X3R5cGUge307CiBkaWZm IC0tZ2l0IGEvZ2RiL2MtbGFuZy5jIGIvZ2RiL2MtbGFuZy5jCi1pbmRleCBhMGI1NTNlNzQxLi4w NjE2MjA4ZDFkIDEwMDY0NAoraW5kZXggMTVlNjMzZjhjOC4uMmJiZmQ5YjcyMSAxMDA2NDQKIC0t LSBhL2dkYi9jLWxhbmcuYwogKysrIGIvZ2RiL2MtbGFuZy5jCiBAQCAtMTg0LDcgKzE4NCw3IEBA IGNfcHJpbnRjaGFyIChpbnQgYywgc3RydWN0IHR5cGUgKnR5cGUsIHN0cnVjdCB1aV9maWxlICpz dHJlYW0pCkBAIC0xNDI1LDEwICsxNDI1LDEwIEBAIGluZGV4IDE4ZGVkY2MxZmEuLjhhZmQzZWU3 ODQgMTAwNjQ0CiAgCQkJaW50IGZvcmNlX2VsbGlwc2VzLAogIAkJCWNvbnN0IHN0cnVjdCB2YWx1 ZV9wcmludF9vcHRpb25zICpvcHRpb25zKTsKIGRpZmYgLS1naXQgYS9nZGIvYy10eXBlcHJpbnQu YyBiL2dkYi9jLXR5cGVwcmludC5jCi1pbmRleCAyZTllZDFiYzI4Li4yNTZiOWMxOWU2IDEwMDY0 NAoraW5kZXggY2I3OTNmMDc3MC4uZmFkNDE4OTFlMiAxMDA2NDQKIC0tLSBhL2dkYi9jLXR5cGVw cmludC5jCiArKysgYi9nZGIvYy10eXBlcHJpbnQuYwotQEAgLTkzMyw3ICs5MzMsOCBAQCBjX3By aW50X3R5cGVfdW5pb25fZmllbGRfb2Zmc2V0IChzdHJ1Y3QgdHlwZSAqdHlwZSwgdW5zaWduZWQg aW50IGZpZWxkX2lkeCwKK0BAIC05MzQsNyArOTM0LDggQEAgY19wcmludF90eXBlX3VuaW9uX2Zp ZWxkX29mZnNldCAoc3RydWN0IHR5cGUgKnR5cGUsIHVuc2lnbmVkIGludCBmaWVsZF9pZHgsCiAg ewogICAgc3RydWN0IHR5cGUgKmZ0eXBlID0gY2hlY2tfdHlwZWRlZiAoVFlQRV9GSUVMRF9UWVBF ICh0eXBlLCBmaWVsZF9pZHgpKTsKICAKQEAgLTE0MzcsOCArMTQzNyw4IEBAIGluZGV4IDJlOWVk MWJjMjguLjI1NmI5YzE5ZTYgMTAwNjQ0CiArCQkgICAgcHVsb25nZXN0IChUWVBFX0xFTkdUSCAo ZnR5cGUpKSk7CiAgfQogIAotIC8qIFByaW50IGluZm9ybWF0aW9uIGFib3V0IGZpZWxkIGF0IGlu ZGV4IEZJRUxEX0lEWCBvZiB0aGUgc3RydWN0IHR5cGUKLUBAIC0xNTA3LDggKzE1MDgsOCBAQCBj X3R5cGVfcHJpbnRfYmFzZV9zdHJ1Y3RfdW5pb24gKHN0cnVjdCB0eXBlICp0eXBlLCBzdHJ1Y3Qg dWlfZmlsZSAqc3RyZWFtLAorIC8qIEhlbHBlciBmdW5jdGlvbiBmb3IgcHR5cGUvbyBpbXBsZW1l bnRhdGlvbiB0aGF0IHByaW50cyBpbmZvcm1hdGlvbgorQEAgLTE1MzAsOCArMTUzMSw4IEBAIGNf dHlwZV9wcmludF9iYXNlX3N0cnVjdF91bmlvbiAoc3RydWN0IHR5cGUgKnR5cGUsIHN0cnVjdCB1 aV9maWxlICpzdHJlYW0sCiAgCSAgICAgIHByaW50X3NwYWNlc19maWx0ZXJlZF93aXRoX3ByaW50 X29wdGlvbnMgKGxldmVsICsgNCwKICAJCQkJCQkJc3RyZWFtLAogIAkJCQkJCQlmbGFncyk7CkBA IC0xNDkyLDcgKzE0OTIsNyBAQCBpbmRleCAzOTA0ZmFiMjYwLi5hM2I4ZTI1NTFiIDEwMDY0NAog IAkgICAgIHN0cnVjdCB2YWx1ZSAqb3JpZ2luYWxfdmFsdWUsCiAgCSAgICAgY29uc3Qgc3RydWN0 IHZhbHVlX3ByaW50X29wdGlvbnMgKm9wdGlvbnMpCiBkaWZmIC0tZ2l0IGEvZ2RiL2NvbXBpbGUv Y29tcGlsZS1jLXN1cHBvcnQuYyBiL2dkYi9jb21waWxlL2NvbXBpbGUtYy1zdXBwb3J0LmMKLWlu ZGV4IDAwNmQzZjgxMWMuLmFjY2Q5YTU0YjIgMTAwNjQ0CitpbmRleCBlNjk0NjQ4Mjg4Li40M2Vk NWEzNzVhIDEwMDY0NAogLS0tIGEvZ2RiL2NvbXBpbGUvY29tcGlsZS1jLXN1cHBvcnQuYwogKysr IGIvZ2RiL2NvbXBpbGUvY29tcGlsZS1jLXN1cHBvcnQuYwogQEAgLTMwNywxMSArMzA3LDExIEBA IGdlbmVyYXRlX3JlZ2lzdGVyX3N0cnVjdCAoc3RydWN0IHVpX2ZpbGUgKnN0cmVhbSwgc3RydWN0 IGdkYmFyY2ggKmdkYmFyY2gsCkBAIC0xNTg1LDcgKzE1ODUsNyBAQCBpbmRleCA4ZjJlNGQ5YTY2 Li44NjQ5MGEyYzQ2IDEwMDY0NAogIAkJCSAgICBzdHJ1Y3QgdHlwZSAqdHlwZSwKICAJCQkgICAg c3RydWN0IHVpX2ZpbGUgKnN0cmVhbSk7CiBkaWZmIC0tZ2l0IGEvZ2RiL2NwLXZhbHByaW50LmMg Yi9nZGIvY3AtdmFscHJpbnQuYwotaW5kZXggNDg2NjUzZjEzZi4uZGIzZmYzMzhkMSAxMDA2NDQK K2luZGV4IGUwMTlhNjA3OTEuLjI1ZjE1MTI4NTcgMTAwNjQ0CiAtLS0gYS9nZGIvY3AtdmFscHJp bnQuYwogKysrIGIvZ2RiL2NwLXZhbHByaW50LmMKIEBAIC0zMzUsNyArMzM1LDcgQEAgY3BfcHJp bnRfdmFsdWVfZmllbGRzIChzdHJ1Y3QgdHlwZSAqdHlwZSwgc3RydWN0IHR5cGUgKnJlYWxfdHlw ZSwKQEAgLTE2MTEsNyArMTYxMSw3IEBAIGluZGV4IDM5MWVhODY2NWIuLmE4ZTcyYWU1MDYgMTAw NjQ0CiAgCQkJIHN0cnVjdCB2YWx1ZSAqdmFsLAogIAkJCSBjb25zdCBzdHJ1Y3QgdmFsdWVfcHJp bnRfb3B0aW9ucyAqb3B0aW9ucyk7CiBkaWZmIC0tZ2l0IGEvZ2RiL2QtdmFscHJpbnQuYyBiL2dk Yi9kLXZhbHByaW50LmMKLWluZGV4IGUyZDg0MzEzNjIuLjUxNDNmNzVjMDYgMTAwNjQ0CitpbmRl eCA1NzlkM2M4YzkxLi45ZGQ0MzBiMmJjIDEwMDY0NAogLS0tIGEvZ2RiL2QtdmFscHJpbnQuYwog KysrIGIvZ2RiL2QtdmFscHJpbnQuYwogQEAgLTczLDcgKzczLDcgQEAgZHluYW1pY19hcnJheV90 eXBlIChzdHJ1Y3QgdHlwZSAqdHlwZSwKQEAgLTE2MjQsNyArMTYyNCw3IEBAIGluZGV4IGUyZDg0 MzEzNjIuLjUxNDNmNzVjMDYgMTAwNjQ0CiAgCSAgICAgc3RydWN0IHZhbHVlICp2YWwsCiAgICAg ICAgICAgICAgIGNvbnN0IHN0cnVjdCB2YWx1ZV9wcmludF9vcHRpb25zICpvcHRpb25zKQogZGlm ZiAtLWdpdCBhL2dkYi9kd2FyZjJsb2MuYyBiL2dkYi9kd2FyZjJsb2MuYwotaW5kZXggNTQ4NmU0 ZGMxMi4uMWZlNDVmNjA2OSAxMDA2NDQKK2luZGV4IGNmY2ExYzI3NTEuLmQ5MWQ2OTE1NWQgMTAw NjQ0CiAtLS0gYS9nZGIvZHdhcmYybG9jLmMKICsrKyBiL2dkYi9kd2FyZjJsb2MuYwogQEAgLTE4 MTcsNyArMTgxNyw3IEBAIHJ3X3BpZWNlZF92YWx1ZSAoc3RydWN0IHZhbHVlICp2LCBzdHJ1Y3Qg dmFsdWUgKmZyb20pCkBAIC0xNjg4LDEwICsxNjg4LDEwIEBAIGluZGV4IDU0ODZlNGRjMTIuLjFm ZTQ1ZjYwNjkgMTAwNjQ0CiAgCiAgCSAgICBpZiAoc3Vib2JqX2J5dGVfb2Zmc2V0ICsgbGVuID4g bWF4KQogZGlmZiAtLWdpdCBhL2dkYi9kd2FyZjJyZWFkLmMgYi9nZGIvZHdhcmYycmVhZC5jCi1p bmRleCA2ZWJlMDBmNTQyLi5mYmFhMGFmNjRmIDEwMDY0NAoraW5kZXggZDY5ZjE1NGFmMy4uNDIw YzNlNmJkNSAxMDA2NDQKIC0tLSBhL2dkYi9kd2FyZjJyZWFkLmMKICsrKyBiL2dkYi9kd2FyZjJy ZWFkLmMKLUBAIC0yMjY4LDEyICsyMjY4LDEyIEBAIGR3YXJmMl9jb21wbGV4X2xvY2F0aW9uX2V4 cHJfY29tcGxhaW50ICh2b2lkKQorQEAgLTIwMjQsMTIgKzIwMjQsMTIgQEAgZHdhcmYyX2NvbXBs ZXhfbG9jYXRpb25fZXhwcl9jb21wbGFpbnQgKHZvaWQpCiAgfQogIAogIHN0YXRpYyB2b2lkCkBA IC0xNzA4LDcgKzE3MDgsNyBAQCBpbmRleCA2ZWJlMDBmNTQyLi5mYmFhMGFmNjRmIDEwMDY0NAog IH0KICAKICBzdGF0aWMgdm9pZAotQEAgLTE1MDg0LDggKzE1MDg0LDggQEAgZHdhcmYyX2FkZF9m aWVsZCAoc3RydWN0IGZpZWxkX2luZm8gKmZpcCwgc3RydWN0IGRpZV9pbmZvICpkaWUsCitAQCAt MTUwMDQsOCArMTUwMDQsOCBAQCBkd2FyZjJfYWRkX2ZpZWxkIChzdHJ1Y3QgZmllbGRfaW5mbyAq ZmlwLCBzdHJ1Y3QgZGllX2luZm8gKmRpZSwKICAJICAgICAgICAgb2JqZWN0LCBhbmQgdGhlbiBz dWJ0cmFjdCBvZmYgdGhlIG51bWJlciBvZiBiaXRzIG9mCiAgCSAgICAgICAgIHRoZSBmaWVsZCBp dHNlbGYuICBUaGUgcmVzdWx0IGlzIHRoZSBiaXQgb2Zmc2V0IG9mCiAgCSAgICAgICAgIHRoZSBM U0Igb2YgdGhlIGZpZWxkLiAgKi8KQEAgLTE3MjAsMTAgKzE3MjAsMTAgQEAgaW5kZXggNmViZTAw ZjU0Mi4uZmJhYTBhZjY0ZiAxMDA2NDQKICAJICAgICAgYXR0ciA9IGR3YXJmMl9hdHRyIChkaWUs IERXX0FUX2J5dGVfc2l6ZSwgY3UpOwogIAkgICAgICBpZiAoYXR0cikKIGRpZmYgLS1naXQgYS9n ZGIvZXZhbC5jIGIvZ2RiL2V2YWwuYwotaW5kZXggZDliY2EyNzkxZC4uYjQyZjE0YTQwNiAxMDA2 NDQKK2luZGV4IDUwZGRlM2VkNGYuLjQ0MjU5Y2Q5NjQgMTAwNjQ0CiAtLS0gYS9nZGIvZXZhbC5j CiArKysgYi9nZGIvZXZhbC5jCi1AQCAtMzAyLDcgKzMwMiw4IEBAIGV2YWx1YXRlX3N0cnVjdF90 dXBsZSAoc3RydWN0IHZhbHVlICpzdHJ1Y3RfdmFsLAorQEAgLTI5NSw3ICsyOTUsOCBAQCBldmFs dWF0ZV9zdHJ1Y3RfdHVwbGUgKHN0cnVjdCB2YWx1ZSAqc3RydWN0X3ZhbCwKICAgIHdoaWxlICgt LW5hcmdzID49IDApCiAgICAgIHsKICAgICAgICBzdHJ1Y3QgdmFsdWUgKnZhbCA9IE5VTEw7CkBA IC0xNzMzLDcgKzE3MzMsNyBAQCBpbmRleCBkOWJjYTI3OTFkLi5iNDJmMTRhNDA2IDEwMDY0NAog ICAgICAgIGJmZF9ieXRlICphZGRyOwogIAogICAgICAgIGZpZWxkbm8rKzsKLUBAIC0zNjMsNyAr MzY0LDcgQEAgaW5pdF9hcnJheV9lbGVtZW50IChzdHJ1Y3QgdmFsdWUgKmFycmF5LCBzdHJ1Y3Qg dmFsdWUgKmVsZW1lbnQsCitAQCAtMzU2LDcgKzM1Nyw3IEBAIGluaXRfYXJyYXlfZWxlbWVudCAo c3RydWN0IHZhbHVlICphcnJheSwgc3RydWN0IHZhbHVlICplbGVtZW50LAogIAkJICAgIGVudW0g bm9zaWRlIG5vc2lkZSwgTE9OR0VTVCBsb3dfYm91bmQsIExPTkdFU1QgaGlnaF9ib3VuZCkKICB7 CiAgICBMT05HRVNUIGluZGV4OwpAQCAtMTc0Miw3ICsxNzQyLDcgQEAgaW5kZXggZDliY2EyNzkx ZC4uYjQyZjE0YTQwNiAxMDA2NDQKICAKICAgIGlmIChleHAtPmVsdHNbKnBvc10ub3Bjb2RlID09 IEJJTk9QX0NPTU1BKQogICAgICB7Ci1AQCAtODA3LDExICs4MDgsMTEgQEAgYmlub3BfcHJvbW90 ZSAoY29uc3Qgc3RydWN0IGxhbmd1YWdlX2RlZm4gKmxhbmd1YWdlLCBzdHJ1Y3QgZ2RiYXJjaCAq Z2RiYXJjaCwKK0BAIC04MDAsMTEgKzgwMSwxMSBAQCBiaW5vcF9wcm9tb3RlIChjb25zdCBzdHJ1 Y3QgbGFuZ3VhZ2VfZGVmbiAqbGFuZ3VhZ2UsIHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoLAogICAg ICAvKiBGSVhNRTogQWxzbyBtaXhlZCBpbnRlZ3JhbC9ib29sZWFucywgd2l0aCByZXN1bHQgYW4g aW50ZWdlci4gICovCiAgICAgIHsKICAgICAgICBjb25zdCBzdHJ1Y3QgYnVpbHRpbl90eXBlICpi dWlsdGluID0gYnVpbHRpbl90eXBlIChnZGJhcmNoKTsKQEAgLTE3NTcsNyArMTc1Nyw3IEBAIGlu ZGV4IGQ5YmNhMjc5MWQuLmI0MmYxNGE0MDYgMTAwNjQ0CiAgICAgICAgaW50IHVuc2lnbmVkX29w ZXJhdGlvbjsKICAKICAgICAgICAvKiBEZXRlcm1pbmUgdHlwZSBsZW5ndGggYW5kIHNpZ25lZG5l c3MgYWZ0ZXIgcHJvbW90aW9uIGZvcgotQEAgLTE1NDgsNyArMTU0OSw3IEBAIGV2YWx1YXRlX3N1 YmV4cF9zdGFuZGFyZCAoc3RydWN0IHR5cGUgKmV4cGVjdF90eXBlLAorQEAgLTE1NDYsNyArMTU0 Nyw3IEBAIGV2YWx1YXRlX3N1YmV4cF9zdGFuZGFyZCAoc3RydWN0IHR5cGUgKmV4cGVjdF90eXBl LAogICAgc3RydWN0IHZhbHVlICoqYXJndmVjOwogICAgaW50IGNvZGU7CiAgICBpbnQgaXg7CkBA IC0xNzY2LDcgKzE3NjYsNyBAQCBpbmRleCBkOWJjYTI3OTFkLi5iNDJmMTRhNDA2IDEwMDY0NAog ICAgc3RydWN0IHR5cGUgKiphcmdfdHlwZXM7CiAgCiAgICBwYyA9ICgqcG9zKSsrOwotQEAgLTE3 MzEsNyArMTczMiw3IEBAIGV2YWx1YXRlX3N1YmV4cF9zdGFuZGFyZCAoc3RydWN0IHR5cGUgKmV4 cGVjdF90eXBlLAorQEAgLTE3MjksNyArMTczMCw3IEBAIGV2YWx1YXRlX3N1YmV4cF9zdGFuZGFy ZCAoc3RydWN0IHR5cGUgKmV4cGVjdF90eXBlLAogIAkgIHN0cnVjdCB0eXBlICpyYW5nZV90eXBl ID0gVFlQRV9JTkRFWF9UWVBFICh0eXBlKTsKICAJICBzdHJ1Y3QgdHlwZSAqZWxlbWVudF90eXBl ID0gVFlQRV9UQVJHRVRfVFlQRSAodHlwZSk7CiAgCSAgc3RydWN0IHZhbHVlICphcnJheSA9IGFs bG9jYXRlX3ZhbHVlIChleHBlY3RfdHlwZSk7CkBAIC0xNzc2LDcgKzE3NzYsNyBAQCBpbmRleCBk OWJjYTI3OTFkLi5iNDJmMTRhNDA2IDEwMDY0NAogIAogIAkgIGlmIChnZXRfZGlzY3JldGVfYm91 bmRzIChyYW5nZV90eXBlLCAmbG93X2JvdW5kLCAmaGlnaF9ib3VuZCkgPCAwKQogZGlmZiAtLWdp dCBhL2dkYi9mLWxhbmcuYyBiL2dkYi9mLWxhbmcuYwotaW5kZXggNzRmNTYyMmI2ZS4uNTVmYjk3 Y2VhYiAxMDA2NDQKK2luZGV4IDgxOTIyZjczZmIuLjlkMTljMTE0ZTIgMTAwNjQ0CiAtLS0gYS9n ZGIvZi1sYW5nLmMKICsrKyBiL2dkYi9mLWxhbmcuYwogQEAgLTEwMSw3ICsxMDEsNyBAQCBmX3By aW50Y2hhciAoaW50IGMsIHN0cnVjdCB0eXBlICp0eXBlLCBzdHJ1Y3QgdWlfZmlsZSAqc3RyZWFt KQpAQCAtMTg2Miw3ICsxODYyLDcgQEAgaW5kZXggYjQwNjdhODQ2MC4uMDc3MmYzNTlmMCAxMDA2 NDQKICAJICAgICBzdHJ1Y3QgdmFsdWUgKm9yaWdpbmFsX3ZhbHVlLAogIAkgICAgIGNvbnN0IHN0 cnVjdCB2YWx1ZV9wcmludF9vcHRpb25zICpvcHRpb25zKQogZGlmZiAtLWdpdCBhL2dkYi9maW5k dmFyLmMgYi9nZGIvZmluZHZhci5jCi1pbmRleCBlZThmNTcxNTlkLi5mYjRkZmVjYTE3IDEwMDY0 NAoraW5kZXggOGFkNWUyNWNiMi4uZmNkMGEwY2RjOSAxMDA2NDQKIC0tLSBhL2dkYi9maW5kdmFy LmMKICsrKyBiL2dkYi9maW5kdmFyLmMKIEBAIC04MjEsNyArODIxLDcgQEAgc3RydWN0IHZhbHVl ICoKQEAgLTE4OTMsMTAgKzE4OTMsMTAgQEAgaW5kZXggZWU4ZjU3MTU5ZC4uZmI0ZGZlY2ExNyAx MDA2NDQKICAgICAgICAvKiBJZiB0aGUgcmVnaXN0ZXIgbGVuZ3RoIGlzIGxhcmdlciB0aGFuIHRo ZSBudW1iZXIgb2YgYnl0ZXMKICAgICAgICAgICByZW1haW5pbmcgdG8gY29weSwgdGhlbiBvbmx5 IGNvcHkgdGhlIGFwcHJvcHJpYXRlIGJ5dGVzLiAgKi8KIGRpZmYgLS1naXQgYS9nZGIvZnJhbWUu YyBiL2dkYi9mcmFtZS5jCi1pbmRleCAxMzg0ZWNjYTRmLi5kYjUyZWI1NzgwIDEwMDY0NAoraW5k ZXggMDdmYTJiYzc3ZC4uYjVhMmM1MGVjOSAxMDA2NDQKIC0tLSBhL2dkYi9mcmFtZS5jCiArKysg Yi9nZGIvZnJhbWUuYwotQEAgLTEzODYsNyArMTM4Niw3IEBAIGRlcHJlY2F0ZWRfZnJhbWVfcmVn aXN0ZXJfcmVhZCAoc3RydWN0IGZyYW1lX2luZm8gKmZyYW1lLCBpbnQgcmVnbnVtLAorQEAgLTEz ODIsNyArMTM4Miw3IEBAIGRlcHJlY2F0ZWRfZnJhbWVfcmVnaXN0ZXJfcmVhZCAoc3RydWN0IGZy YW1lX2luZm8gKmZyYW1lLCBpbnQgcmVnbnVtLAogIAogIGludAogIGdldF9mcmFtZV9yZWdpc3Rl cl9ieXRlcyAoc3RydWN0IGZyYW1lX2luZm8gKmZyYW1lLCBpbnQgcmVnbnVtLApAQCAtMTkwNSw3 ICsxOTA1LDcgQEAgaW5kZXggMTM4NGVjY2E0Zi4uZGI1MmViNTc4MCAxMDA2NDQKICAJCQkgIGlu dCAqb3B0aW1pemVkcCwgaW50ICp1bmF2YWlsYWJsZXApCiAgewogICAgc3RydWN0IGdkYmFyY2gg KmdkYmFyY2ggPSBnZXRfZnJhbWVfYXJjaCAoZnJhbWUpOwotQEAgLTE0MTUsNyArMTQxNSw3IEBA IGdldF9mcmFtZV9yZWdpc3Rlcl9ieXRlcyAoc3RydWN0IGZyYW1lX2luZm8gKmZyYW1lLCBpbnQg cmVnbnVtLAorQEAgLTE0MTEsNyArMTQxMSw3IEBAIGdldF9mcmFtZV9yZWdpc3Rlcl9ieXRlcyAo c3RydWN0IGZyYW1lX2luZm8gKmZyYW1lLCBpbnQgcmVnbnVtLAogICAgICB9CiAgICBpZiAobGVu ID4gbWF4c2l6ZSkKICAgICAgZXJyb3IgKF8oIkJhZCBkZWJ1ZyBpbmZvcm1hdGlvbiBkZXRlY3Rl ZDogIgpAQCAtMTkxNSw3ICsxOTE1LDcgQEAgaW5kZXggMTM4NGVjY2E0Zi4uZGI1MmViNTc4MCAx MDA2NDQKICAgIC8qIENvcHkgdGhlIGRhdGEuICAqLwogICAgd2hpbGUgKGxlbiA+IDApCiBkaWZm IC0tZ2l0IGEvZ2RiL2ZyYW1lLmggYi9nZGIvZnJhbWUuaAotaW5kZXggODI5M2E0OWVjMi4uYTE3 Njg3Mzg2NSAxMDA2NDQKK2luZGV4IGQ1ODAwYjc4YzIuLmVjNzBkOTRiNTggMTAwNjQ0CiAtLS0g YS9nZGIvZnJhbWUuaAogKysrIGIvZ2RiL2ZyYW1lLmgKIEBAIC02MDEsNyArNjAxLDcgQEAgZXh0 ZXJuIHZvaWQgcHV0X2ZyYW1lX3JlZ2lzdGVyIChzdHJ1Y3QgZnJhbWVfaW5mbyAqZnJhbWUsIGlu dCByZWdudW0sCkBAIC0xOTI4LDEwICsxOTI4LDEwIEBAIGluZGV4IDgyOTNhNDllYzIuLmExNzY4 NzM4NjUgMTAwNjQ0CiAgCQkJCSAgICAgaW50ICpvcHRpbWl6ZWRwLCBpbnQgKnVuYXZhaWxhYmxl cCk7CiAgCiBkaWZmIC0tZ2l0IGEvZ2RiL2dkYmFyY2guYyBiL2dkYi9nZGJhcmNoLmMKLWluZGV4 IGZlM2MxMmUyOTUuLmYwY2ZiMDUzYjAgMTAwNjQ0CitpbmRleCBjNDMwZWJlNTJhLi42MTk2YmY4 NTQxIDEwMDY0NAogLS0tIGEvZ2RiL2dkYmFyY2guYwogKysrIGIvZ2RiL2dkYmFyY2guYwotQEAg LTE4MTEsNyArMTgxMSw3IEBAIHNldF9nZGJhcmNoX3djaGFyX3NpZ25lZCAoc3RydWN0IGdkYmFy Y2ggKmdkYmFyY2gsCitAQCAtMTc5NSw3ICsxNzk1LDcgQEAgc2V0X2dkYmFyY2hfd2NoYXJfc2ln bmVkIChzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCwKICB9CiAgCiAgY29uc3Qgc3RydWN0IGZsb2F0 Zm9ybWF0ICoqCkBAIC0xOTQxLDEwICsxOTQxLDEwIEBAIGluZGV4IGZlM2MxMmUyOTUuLmYwY2Zi MDUzYjAgMTAwNjQ0CiAgICBnZGJfYXNzZXJ0IChnZGJhcmNoICE9IE5VTEwpOwogICAgZ2RiX2Fz c2VydCAoZ2RiYXJjaC0+ZmxvYXRmb3JtYXRfZm9yX3R5cGUgIT0gTlVMTCk7CiBkaWZmIC0tZ2l0 IGEvZ2RiL2dkYmFyY2guaCBiL2dkYi9nZGJhcmNoLmgKLWluZGV4IDU2NjRjNGRjNTguLjYyYjgz OTc0YTEgMTAwNjQ0CitpbmRleCAwOWVkY2Q1ZWIyLi5jY2IzY2Y4N2I4IDEwMDY0NAogLS0tIGEv Z2RiL2dkYmFyY2guaAogKysrIGIvZ2RiL2dkYmFyY2guaAotQEAgLTE5OCw4ICsxOTgsOCBAQCBl eHRlcm4gdm9pZCBzZXRfZ2RiYXJjaF93Y2hhcl9zaWduZWQgKHN0cnVjdCBnZGJhcmNoICpnZGJh cmNoLCBpbnQgd2NoYXJfc2lnbmVkKQorQEAgLTE5Myw4ICsxOTMsOCBAQCBleHRlcm4gdm9pZCBz ZXRfZ2RiYXJjaF93Y2hhcl9zaWduZWQgKHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoLCBpbnQgd2No YXJfc2lnbmVkKQogICAgIE5BTUUsIGlmIG5vbi1OVUxMLCBpcyB0aGUgdHlwZSBuYW1lLCB3aGlj aCBtYXkgYmUgdXNlZCB0byBkaXN0aW5ndWlzaAogICAgIGRpZmZlcmVudCB0YXJnZXQgZm9ybWF0 cyBvZiB0aGUgc2FtZSBsZW5ndGguICovCiAgCkBAIC0xOTU2LDEwICsxOTU2LDEwIEBAIGluZGV4 IDU2NjRjNGRjNTguLjYyYjgzOTc0YTEgMTAwNjQ0CiAgCiAgLyogRm9yIG1vc3QgdGFyZ2V0cywg YSBwb2ludGVyIG9uIHRoZSB0YXJnZXQgYW5kIGl0cyByZXByZXNlbnRhdGlvbiBhcyBhbgogZGlm ZiAtLWdpdCBhL2dkYi9nZGJhcmNoLnNoIGIvZ2RiL2dkYmFyY2guc2gKLWluZGV4IGE5MjllMTNi ODEuLmNjMWRlZjZhM2QgMTAwNzU1CitpbmRleCA3MzMwNDMwOTM3Li45MjU4ZTYxODQzIDEwMDc1 NQogLS0tIGEvZ2RiL2dkYmFyY2guc2gKICsrKyBiL2dkYi9nZGJhcmNoLnNoCi1AQCAtMzg4LDcg KzM4OCw3IEBAIHY7aW50O3djaGFyX3NpZ25lZDs7OzE7LTE7MQorQEAgLTM4NSw3ICszODUsNyBA QCB2O2ludDt3Y2hhcl9zaWduZWQ7OzsxOy0xOzEKICAjIFJldHVybnMgdGhlIGZsb2F0aW5nLXBv aW50IGZvcm1hdCB0byBiZSB1c2VkIGZvciB2YWx1ZXMgb2YgbGVuZ3RoIExFTkdUSC4KICAjIE5B TUUsIGlmIG5vbi1OVUxMLCBpcyB0aGUgdHlwZSBuYW1lLCB3aGljaCBtYXkgYmUgdXNlZCB0byBk aXN0aW5ndWlzaAogICMgZGlmZmVyZW50IHRhcmdldCBmb3JtYXRzIG9mIHRoZSBzYW1lIGxlbmd0 aC4KQEAgLTE5NjksMTAgKzE5NjksMTAgQEAgaW5kZXggYTkyOWUxM2I4MS4uY2MxZGVmNmEzZCAx MDA3NTUKICAjIEZvciBtb3N0IHRhcmdldHMsIGEgcG9pbnRlciBvbiB0aGUgdGFyZ2V0IGFuZCBp dHMgcmVwcmVzZW50YXRpb24gYXMgYW4KICAjIGFkZHJlc3MgaW4gR0RCIGhhdmUgdGhlIHNhbWUg c2l6ZSBhbmQgImxvb2sgdGhlIHNhbWUiLiAgRm9yIHN1Y2ggYQogZGlmZiAtLWdpdCBhL2dkYi9n ZGJ0eXBlcy5jIGIvZ2RiL2dkYnR5cGVzLmMKLWluZGV4IGNiNTUyNDAyM2YuLjdjMmFlNzJjZmMg MTAwNjQ0CitpbmRleCAyYWE1MjUzMTAwLi4wNmY0OGQzNjI5IDEwMDY0NAogLS0tIGEvZ2RiL2dk YnR5cGVzLmMKICsrKyBiL2dkYi9nZGJ0eXBlcy5jCi1AQCAtMjkyMCw3ICsyOTIwLDcgQEAgZmxv YXRmb3JtYXRfZnJvbV90eXBlIChjb25zdCBzdHJ1Y3QgdHlwZSAqdHlwZSkKK0BAIC0yOTI1LDcg KzI5MjUsNyBAQCBmbG9hdGZvcm1hdF9mcm9tX3R5cGUgKGNvbnN0IHN0cnVjdCB0eXBlICp0eXBl KQogICAgIGxlYXN0IGFzIGxvbmcgYXMgT0JKRklMRS4gICovCiAgCiAgc3RydWN0IHR5cGUgKgpA QCAtMTk4MSw3ICsxOTgxLDcgQEAgaW5kZXggY2I1NTI0MDIzZi4uN2MyYWU3MmNmYyAxMDA2NDQK ICAJICAgY29uc3QgY2hhciAqbmFtZSkKICB7CiAgICBzdHJ1Y3QgdHlwZSAqdHlwZTsKLUBAIC0z MjUyLDggKzMyNTIsOCBAQCBpc19wdWJsaWNfYW5jZXN0b3IgKHN0cnVjdCB0eXBlICpiYXNlLCBz dHJ1Y3QgdHlwZSAqZGNsYXNzKQorQEAgLTMzNzksOCArMzM3OSw4IEBAIGlzX3B1YmxpY19hbmNl c3RvciAoc3RydWN0IHR5cGUgKmJhc2UsIHN0cnVjdCB0eXBlICpkY2xhc3MpCiAgCiAgc3RhdGlj IGludAogIGlzX3VuaXF1ZV9hbmNlc3Rvcl93b3JrZXIgKHN0cnVjdCB0eXBlICpiYXNlLCBzdHJ1 Y3QgdHlwZSAqZGNsYXNzLApAQCAtMTk5Miw3ICsxOTkyLDcgQEAgaW5kZXggY2I1NTI0MDIzZi4u N2MyYWU3MmNmYyAxMDA2NDQKICAJCQkgICBDT1JFX0FERFIgYWRkcmVzcywgc3RydWN0IHZhbHVl ICp2YWwpCiAgewogICAgaW50IGksIGNvdW50ID0gMDsKLUBAIC0zMjY0LDcgKzMyNjQsNyBAQCBp c191bmlxdWVfYW5jZXN0b3Jfd29ya2VyIChzdHJ1Y3QgdHlwZSAqYmFzZSwgc3RydWN0IHR5cGUg KmRjbGFzcywKK0BAIC0zMzkxLDcgKzMzOTEsNyBAQCBpc191bmlxdWVfYW5jZXN0b3Jfd29ya2Vy IChzdHJ1Y3QgdHlwZSAqYmFzZSwgc3RydWN0IHR5cGUgKmRjbGFzcywKICAgIGZvciAoaSA9IDA7 IGkgPCBUWVBFX05fQkFTRUNMQVNTRVMgKGRjbGFzcykgJiYgY291bnQgPCAyOyArK2kpCiAgICAg IHsKICAgICAgICBzdHJ1Y3QgdHlwZSAqaXRlcjsKQEAgLTIwMDEsNyArMjAwMSw3IEBAIGluZGV4 IGNiNTUyNDAyM2YuLjdjMmFlNzJjZmMgMTAwNjQ0CiAgCiAgICAgICAgaXRlciA9IGNoZWNrX3R5 cGVkZWYgKFRZUEVfQkFTRUNMQVNTIChkY2xhc3MsIGkpKTsKICAKLUBAIC0zMzA1LDcgKzMzMDUs NyBAQCBpc191bmlxdWVfYW5jZXN0b3Jfd29ya2VyIChzdHJ1Y3QgdHlwZSAqYmFzZSwgc3RydWN0 IHR5cGUgKmRjbGFzcywKK0BAIC0zNDMyLDcgKzM0MzIsNyBAQCBpc191bmlxdWVfYW5jZXN0b3Jf d29ya2VyIChzdHJ1Y3QgdHlwZSAqYmFzZSwgc3RydWN0IHR5cGUgKmRjbGFzcywKICBpbnQKICBp c191bmlxdWVfYW5jZXN0b3IgKHN0cnVjdCB0eXBlICpiYXNlLCBzdHJ1Y3QgdmFsdWUgKnZhbCkK ICB7CkBAIC0yMDEwLDcgKzIwMTAsNyBAQCBpbmRleCBjYjU1MjQwMjNmLi43YzJhZTcyY2ZjIDEw MDY0NAogIAogICAgcmV0dXJuIGlzX3VuaXF1ZV9hbmNlc3Rvcl93b3JrZXIgKGJhc2UsIHZhbHVl X3R5cGUgKHZhbCksICZvZmZzZXQsCiAgCQkJCSAgICB2YWx1ZV9jb250ZW50c19mb3JfcHJpbnRp bmcgKHZhbCksCi1AQCAtNDU1MCw3ICs0NTUwLDcgQEAgcmVjdXJzaXZlX2R1bXBfdHlwZSAoc3Ry dWN0IHR5cGUgKnR5cGUsIGludCBzcGFjZXMpCitAQCAtNDY3Nyw3ICs0Njc3LDcgQEAgcmVjdXJz aXZlX2R1bXBfdHlwZSAoc3RydWN0IHR5cGUgKnR5cGUsIGludCBzcGFjZXMpCiAgICAgICAgYnJl YWs7CiAgICAgIH0KICAgIHB1dHNfZmlsdGVyZWQgKCJcbiIpOwpAQCAtMjAxOSw3ICsyMDE5LDcg QEAgaW5kZXggY2I1NTI0MDIzZi4uN2MyYWU3MmNmYyAxMDA2NDQKICAgIGlmIChUWVBFX09CSkZJ TEVfT1dORUQgKHR5cGUpKQogICAgICB7CiAgICAgICAgcHJpbnRmaV9maWx0ZXJlZCAoc3BhY2Vz LCAib2JqZmlsZSAiKTsKLUBAIC00OTkxLDcgKzQ5OTEsNyBAQCBjb3B5X3R5cGUgKGNvbnN0IHN0 cnVjdCB0eXBlICp0eXBlKQorQEAgLTUxMjIsNyArNTEyMiw3IEBAIGNvcHlfdHlwZSAoY29uc3Qg c3RydWN0IHR5cGUgKnR5cGUpCiAgCiAgc3RydWN0IHR5cGUgKgogIGFyY2hfdHlwZSAoc3RydWN0 IGdkYmFyY2ggKmdkYmFyY2gsCkBAIC0yMDI5LDEwICsyMDI5LDEwIEBAIGluZGV4IGNiNTUyNDAy M2YuLjdjMmFlNzJjZmMgMTAwNjQ0CiAgICBzdHJ1Y3QgdHlwZSAqdHlwZTsKICAKIGRpZmYgLS1n aXQgYS9nZGIvZ2RidHlwZXMuaCBiL2dkYi9nZGJ0eXBlcy5oCi1pbmRleCA1NTk3MDM4MzU3Li5m NmUwYzNlOGMxIDEwMDY0NAoraW5kZXggY2YxMzQ2MTYxZC4uMzMwZTE0ZDgzMSAxMDA2NDQKIC0t LSBhL2dkYi9nZGJ0eXBlcy5oCiArKysgYi9nZGIvZ2RidHlwZXMuaAotQEAgLTgwNSw3ICs4MDUs NyBAQCBzdHJ1Y3QgdHlwZQorQEAgLTg3Niw3ICs4NzYsNyBAQCBzdHJ1Y3QgdHlwZQogICAgICAg dHlwZV9sZW5ndGhfdW5pdHMgZnVuY3Rpb24gc2hvdWxkIGJlIHVzZWQgaW4gb3JkZXIgdG8gZ2V0 IHRoZSBsZW5ndGgKICAgICAgIGV4cHJlc3NlZCBpbiB0YXJnZXQgYWRkcmVzc2FibGUgbWVtb3J5 IHVuaXRzLiAgKi8KICAKQEAgLTIwNDEsNyArMjA0MSw3IEBAIGluZGV4IDU1OTcwMzgzNTcuLmY2 ZTBjM2U4YzEgMTAwNjQ0CiAgCiAgICAvKiAqIENvcmUgdHlwZSwgc2hhcmVkIGJ5IGEgZ3JvdXAg b2YgcXVhbGlmaWVkIHR5cGVzLiAgKi8KICAKLUBAIC0xNzA3LDcgKzE3MDcsNyBAQCBleHRlcm4g dW5zaWduZWQgaW50IHR5cGVfbGVuZ3RoX3VuaXRzIChzdHJ1Y3QgdHlwZSAqdHlwZSk7CitAQCAt MTc5OCw3ICsxNzk4LDcgQEAgZXh0ZXJuIHVuc2lnbmVkIGludCB0eXBlX2xlbmd0aF91bml0cyAo c3RydWN0IHR5cGUgKnR5cGUpOwogIAogIC8qICogSGVscGVyIGZ1bmN0aW9uIHRvIGNvbnN0cnVj dCBvYmpmaWxlLW93bmVkIHR5cGVzLiAgKi8KICAKQEAgLTIwNTAsNyArMjA1MCw3IEBAIGluZGV4 IDU1OTcwMzgzNTcuLmY2ZTBjM2U4YzEgMTAwNjQ0CiAgCQkJICAgICAgIGNvbnN0IGNoYXIgKik7 CiAgZXh0ZXJuIHN0cnVjdCB0eXBlICppbml0X2ludGVnZXJfdHlwZSAoc3RydWN0IG9iamZpbGUg KiwgaW50LCBpbnQsCiAgCQkJCSAgICAgICBjb25zdCBjaGFyICopOwotQEAgLTE3MjQsNyArMTcy NCw3IEBAIGV4dGVybiBzdHJ1Y3QgdHlwZSAqaW5pdF9wb2ludGVyX3R5cGUgKHN0cnVjdCBvYmpm aWxlICosIGludCwgY29uc3QgY2hhciAqLAorQEAgLTE4MTUsNyArMTgxNSw3IEBAIGV4dGVybiBz dHJ1Y3QgdHlwZSAqaW5pdF9wb2ludGVyX3R5cGUgKHN0cnVjdCBvYmpmaWxlICosIGludCwgY29u c3QgY2hhciAqLAogIAkJCQkgICAgICAgc3RydWN0IHR5cGUgKik7CiAgCiAgLyogSGVscGVyIGZ1 bmN0aW9ucyB0byBjb25zdHJ1Y3QgYXJjaGl0ZWN0dXJlLW93bmVkIHR5cGVzLiAgKi8KQEAgLTIx MDEsNyArMjEwMSw3IEBAIGluZGV4IDhhNjQxNTdjNTUuLmVmMWY4NTFhOTEgMTAwNjQ0CiAgCQkJ CSAgICBlbWJlZGRlZF9vZmZzZXQsIGFkZHJlc3MsIHZhbCk7CiAgCiBkaWZmIC0tZ2l0IGEvZ2Ri L2dudS12My1hYmkuYyBiL2dkYi9nbnUtdjMtYWJpLmMKLWluZGV4IDA5NjU4NDZjZTYuLmQ0NDNj Mjk0NDMgMTAwNjQ0CitpbmRleCBkZGJlYzEzODkxLi45MzM0ODM3Yzg5IDEwMDY0NAogLS0tIGEv Z2RiL2dudS12My1hYmkuYwogKysrIGIvZ2RiL2dudS12My1hYmkuYwogQEAgLTEwOSw3ICsxMDks NyBAQCBidWlsZF9nZGJfdnRhYmxlX3R5cGUgKHN0cnVjdCBnZGJhcmNoICphcmNoKQpAQCAtMjEy Miw3ICsyMTIyLDcgQEAgaW5kZXggMDk2NTg0NmNlNi4uZDQ0M2MyOTQ0MyAxMDA2NDQKICB2dGFi bGVfYWRkcmVzc19wb2ludF9vZmZzZXQgKHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoKQogIHsKICAg IHN0cnVjdCB0eXBlICp2dGFibGVfdHlwZQotQEAgLTQwOCw3ICs0MDgsNyBAQCBnbnV2M19nZXRf dmlydHVhbF9mbiAoc3RydWN0IGdkYmFyY2ggKmdkYmFyY2gsIHN0cnVjdCB2YWx1ZSAqY29udGFp bmVyLAorQEAgLTQwOSw3ICs0MDksNyBAQCBnbnV2M19nZXRfdmlydHVhbF9mbiAoc3RydWN0IGdk YmFyY2ggKmdkYmFyY2gsIHN0cnVjdCB2YWx1ZSAqY29udGFpbmVyLAogIHN0YXRpYyBzdHJ1Y3Qg dmFsdWUgKgogIGdudXYzX3ZpcnR1YWxfZm5fZmllbGQgKHN0cnVjdCB2YWx1ZSAqKnZhbHVlX3As CiAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IGZuX2ZpZWxkICpmLCBpbnQgaiwKQEAg LTIxMzEsNyArMjEzMSw3IEBAIGluZGV4IDA5NjU4NDZjZTYuLmQ0NDNjMjk0NDMgMTAwNjQ0CiAg ewogICAgc3RydWN0IHR5cGUgKnZhbHVlc190eXBlID0gY2hlY2tfdHlwZWRlZiAodmFsdWVfdHlw ZSAoKnZhbHVlX3ApKTsKICAgIHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoOwotQEAgLTQzOCw3ICs0 MzgsNyBAQCBnbnV2M192aXJ0dWFsX2ZuX2ZpZWxkIChzdHJ1Y3QgdmFsdWUgKip2YWx1ZV9wLAor QEAgLTQzOSw3ICs0MzksNyBAQCBnbnV2M192aXJ0dWFsX2ZuX2ZpZWxkIChzdHJ1Y3QgdmFsdWUg Kip2YWx1ZV9wLAogIAogICAgIC0xIGlzIHJldHVybmVkIG9uIGVycm9yLiAgKi8KICAKQEAgLTIx NDAsNyArMjE0MCw3IEBAIGluZGV4IDA5NjU4NDZjZTYuLmQ0NDNjMjk0NDMgMTAwNjQ0CiAgZ251 djNfYmFzZWNsYXNzX29mZnNldCAoc3RydWN0IHR5cGUgKnR5cGUsIGludCBpbmRleCwKICAJCQlj b25zdCBiZmRfYnl0ZSAqdmFsYWRkciwgTE9OR0VTVCBlbWJlZGRlZF9vZmZzZXQsCiAgCQkJQ09S RV9BRERSIGFkZHJlc3MsIGNvbnN0IHN0cnVjdCB2YWx1ZSAqdmFsKQotQEAgLTQ0Nyw3ICs0NDcs NyBAQCBnbnV2M19iYXNlY2xhc3Nfb2Zmc2V0IChzdHJ1Y3QgdHlwZSAqdHlwZSwgaW50IGluZGV4 LAorQEAgLTQ0OCw3ICs0NDgsNyBAQCBnbnV2M19iYXNlY2xhc3Nfb2Zmc2V0IChzdHJ1Y3QgdHlw ZSAqdHlwZSwgaW50IGluZGV4LAogICAgc3RydWN0IHR5cGUgKnB0cl90eXBlOwogICAgc3RydWN0 IHZhbHVlICp2dGFibGU7CiAgICBzdHJ1Y3QgdmFsdWUgKnZiYXNlX2FycmF5OwpAQCAtMjE0OSw3 ICsyMTQ5LDcgQEAgaW5kZXggMDk2NTg0NmNlNi4uZDQ0M2MyOTQ0MyAxMDA2NDQKICAKICAgIC8q IERldGVybWluZSBhcmNoaXRlY3R1cmUuICAqLwogICAgZ2RiYXJjaCA9IGdldF90eXBlX2FyY2gg KHR5cGUpOwotQEAgLTQ3MCw3ICs0NzAsNyBAQCBnbnV2M19iYXNlY2xhc3Nfb2Zmc2V0IChzdHJ1 Y3QgdHlwZSAqdHlwZSwgaW50IGluZGV4LAorQEAgLTQ3MSw3ICs0NzEsNyBAQCBnbnV2M19iYXNl Y2xhc3Nfb2Zmc2V0IChzdHJ1Y3QgdHlwZSAqdHlwZSwgaW50IGluZGV4LAogICAgY3VyX2Jhc2Vf b2Zmc2V0ID0gY3VyX2Jhc2Vfb2Zmc2V0ICsgdnRhYmxlX2FkZHJlc3NfcG9pbnRfb2Zmc2V0IChn ZGJhcmNoKTsKICAgIGlmICgoLSBjdXJfYmFzZV9vZmZzZXQpICUgVFlQRV9MRU5HVEggKHB0cl90 eXBlKSAhPSAwKQogICAgICBlcnJvciAoXygiTWlzYWxpZ25lZCB2YmFzZSBvZmZzZXQuIikpOwpA QCAtMjE1OCw3ICsyMTU4LDcgQEAgaW5kZXggMDk2NTg0NmNlNi4uZDQ0M2MyOTQ0MyAxMDA2NDQK ICAKICAgIHZ0YWJsZSA9IGdudXYzX2dldF92dGFibGUgKGdkYmFyY2gsIHR5cGUsIGFkZHJlc3Mg KyBlbWJlZGRlZF9vZmZzZXQpOwogICAgZ2RiX2Fzc2VydCAodnRhYmxlICE9IE5VTEwpOwotQEAg LTUxNCw3ICs1MTQsNyBAQCBnbnV2M19maW5kX21ldGhvZF9pbiAoc3RydWN0IHR5cGUgKmRvbWFp biwgQ09SRV9BRERSIHZvZmZzZXQsCitAQCAtNTE1LDcgKzUxNSw3IEBAIGdudXYzX2ZpbmRfbWV0 aG9kX2luIChzdHJ1Y3QgdHlwZSAqZG9tYWluLCBDT1JFX0FERFIgdm9mZnNldCwKICAgICAgIHdl J3JlIG91dCBvZiBsdWNrLiAgKi8KICAgIGZvciAoaSA9IDA7IGkgPCBUWVBFX05fQkFTRUNMQVNT RVMgKGRvbWFpbik7IGkrKykKICAgICAgewpAQCAtMjE5NCwxMCArMjE5NCwxMCBAQCBpbmRleCBl Y2NmOWE4MTgxLi40Y2NhODAyZTU5IDEwMDY0NAogIAkgICAgICBzdHJ1Y3QgdmFsdWUgKnZhbCwK ICAJICAgICAgY29uc3Qgc3RydWN0IHZhbHVlX3ByaW50X29wdGlvbnMgKm9wdGlvbnMpCiBkaWZm IC0tZ2l0IGEvZ2RiL2kzODYtdGRlcC5jIGIvZ2RiL2kzODYtdGRlcC5jCi1pbmRleCBkMWI0NjFi NTM4Li5hZjQ5NDJhYjJlIDEwMDY0NAoraW5kZXggYTBlODcyYzAxZi4uZDY3ZTJlNDBjNSAxMDA2 NDQKIC0tLSBhL2dkYi9pMzg2LXRkZXAuYwogKysrIGIvZ2RiL2kzODYtdGRlcC5jCi1AQCAtODE3 NSw3ICs4MTc1LDcgQEAgaTM4Nl9mYXN0X3RyYWNlcG9pbnRfdmFsaWRfYXQgKHN0cnVjdCBnZGJh cmNoICpnZGJhcmNoLCBDT1JFX0FERFIgYWRkciwKK0BAIC04MTc3LDcgKzgxNzcsNyBAQCBpMzg2 X2Zhc3RfdHJhY2Vwb2ludF92YWxpZF9hdCAoc3RydWN0IGdkYmFyY2ggKmdkYmFyY2gsIENPUkVf QUREUiBhZGRyLAogIAogIGNvbnN0IHN0cnVjdCBmbG9hdGZvcm1hdCAqKgogIGkzODZfZmxvYXRm b3JtYXRfZm9yX3R5cGUgKHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoLApAQCAtMjIwNyw3ICsyMjA3 LDcgQEAgaW5kZXggZDFiNDYxYjUzOC4uYWY0OTQyYWIyZSAxMDA2NDQKICAgIGlmIChsZW4gPT0g MTI4ICYmIG5hbWUpCiAgICAgIGlmIChzdHJjbXAgKG5hbWUsICJfX2Zsb2F0MTI4IikgPT0gMAog ZGlmZiAtLWdpdCBhL2dkYi9sYW5ndWFnZS5jIGIvZ2RiL2xhbmd1YWdlLmMKLWluZGV4IDBkODYw NGI4MjYuLjdkY2E2NjliNDAgMTAwNjQ0CitpbmRleCAyMjE5OWUwYzBkLi41YjdjNDg3MWIyIDEw MDY0NAogLS0tIGEvZ2RiL2xhbmd1YWdlLmMKICsrKyBiL2dkYi9sYW5ndWFnZS5jCiBAQCAtNzcz LDcgKzc3Myw3IEBAIHVua19sYW5nX3ByaW50Y2hhciAoaW50IGMsIHN0cnVjdCB0eXBlICp0eXBl LCBzdHJ1Y3QgdWlfZmlsZSAqc3RyZWFtKQpAQCAtMjIyOSw3ICsyMjI5LDcgQEAgaW5kZXggMGQ4 NjA0YjgyNi4uN2RjYTY2OWI0MCAxMDA2NDQKICAJCSAgICBzdHJ1Y3QgdmFsdWUgKnZhbCwKICAJ CSAgICBjb25zdCBzdHJ1Y3QgdmFsdWVfcHJpbnRfb3B0aW9ucyAqb3B0aW9ucykKIGRpZmYgLS1n aXQgYS9nZGIvbGFuZ3VhZ2UuaCBiL2dkYi9sYW5ndWFnZS5oCi1pbmRleCAwNmI0MmFlYjVjLi45 ZTc5NGYxM2EzIDEwMDY0NAoraW5kZXggMDI5ZGU0YTdhYi4uMmMwMzA4ZmE5MyAxMDA2NDQKIC0t LSBhL2dkYi9sYW5ndWFnZS5oCiArKysgYi9nZGIvbGFuZ3VhZ2UuaAogQEAgLTE4OCw3ICsxODgs NyBAQCBzdHJ1Y3QgbGFuZ3VhZ2VfZGVmbgpAQCAtMjI1MSw3ICsyMjUxLDcgQEAgaW5kZXggMDZi NDJhZWI1Yy4uOWU3OTRmMTNhMyAxMDA2NDQKICAJCQkgIHN0cnVjdCB2YWx1ZSAqdmFsLAogIAkJ CSAgY29uc3Qgc3RydWN0IHZhbHVlX3ByaW50X29wdGlvbnMgKm9wdGlvbnMpOwogZGlmZiAtLWdp dCBhL2dkYi9tMi1sYW5nLmMgYi9nZGIvbTItbGFuZy5jCi1pbmRleCAxMWNjYWIzMGM4Li45MDgx ZDAxOTg3IDEwMDY0NAoraW5kZXggNmU2NDM0Yjg0Ni4uOTU5NWQzNzlmMyAxMDA2NDQKIC0tLSBh L2dkYi9tMi1sYW5nLmMKICsrKyBiL2dkYi9tMi1sYW5nLmMKIEBAIC0xMDMsMTAgKzEwMywxMCBA QCBtMl9wcmludGNoYXIgKGludCBjLCBzdHJ1Y3QgdHlwZSAqdHlwZSwgc3RydWN0IHVpX2ZpbGUg KnN0cmVhbSkKQEAgLTI0NDEsMjAgKzI0NDEsMjAgQEAgaW5kZXggNDYwODhhZGU1My4uMDM4Y2Qy ZjkyYyAxMDA2NDQKICAvKiBSZXR1cm5zIHRydWUgaWYgQUREUiBpcyBpbiBSQU5HRS4gICovCiAg CiBkaWZmIC0tZ2l0IGEvZ2RiL21pcHMtbGludXgtbmF0LmMgYi9nZGIvbWlwcy1saW51eC1uYXQu YwotaW5kZXggNjhmZDFmODNjMy4uZWJiNTlkY2M5MCAxMDA2NDQKK2luZGV4IGE5ZjBiNzkwNzYu LjM2ODg3YjM1Y2IgMTAwNjQ0CiAtLS0gYS9nZGIvbWlwcy1saW51eC1uYXQuYwogKysrIGIvZ2Ri L21pcHMtbGludXgtbmF0LmMKLUBAIC01NzksNyArNTc5LDcgQEAgbWlwc19saW51eF9zdG9wcGVk X2RhdGFfYWRkcmVzcyAoc3RydWN0IHRhcmdldF9vcHMgKnQsIENPUkVfQUREUiAqcGFkZHIpCitA QCAtNjIyLDcgKzYyMiw3IEBAIG1pcHNfbGludXhfbmF0X3RhcmdldDo6c3RvcHBlZF9kYXRhX2Fk ZHJlc3MgKENPUkVfQUREUiAqcGFkZHIpCisgICAgdGhlIHNwZWNpZmllZCByZWdpb24gY2FuIGJl IGNvdmVyZWQgYnkgdGhlIHdhdGNoIHJlZ2lzdGVycy4gICovCiAgCi0gc3RhdGljIGludAotIG1p cHNfbGludXhfcmVnaW9uX29rX2Zvcl9od193YXRjaHBvaW50IChzdHJ1Y3QgdGFyZ2V0X29wcyAq c2VsZiwKLS0JCQkJCUNPUkVfQUREUiBhZGRyLCBpbnQgbGVuKQotKwkJCQkJQ09SRV9BRERSIGFk ZHIsIExPTkdFU1QgbGVuKQorIGludAorLW1pcHNfbGludXhfbmF0X3RhcmdldDo6cmVnaW9uX29r X2Zvcl9od193YXRjaHBvaW50IChDT1JFX0FERFIgYWRkciwgaW50IGxlbikKKyttaXBzX2xpbnV4 X25hdF90YXJnZXQ6OnJlZ2lvbl9va19mb3JfaHdfd2F0Y2hwb2ludCAoQ09SRV9BRERSIGFkZHIs IExPTkdFU1QgbGVuKQogIHsKICAgIHN0cnVjdCBwdF93YXRjaF9yZWdzIGR1bW15X3JlZ3M7CiAg ICBpbnQgaTsKIGRpZmYgLS1naXQgYS9nZGIvbmF0L3g4Ni1kcmVncy5jIGIvZ2RiL25hdC94ODYt ZHJlZ3MuYwotaW5kZXggYzgxNjQ3MzYyOC4uMDVmMzg2ODc1OSAxMDA2NDQKK2luZGV4IDc2MDRh MzYzNDIuLjFlYTRhM2IxMDcgMTAwNjQ0CiAtLS0gYS9nZGIvbmF0L3g4Ni1kcmVncy5jCiArKysg Yi9nZGIvbmF0L3g4Ni1kcmVncy5jCiBAQCAtMzgwLDcgKzM4MCw3IEBAIHg4Nl9yZW1vdmVfYWxp Z25lZF93YXRjaHBvaW50IChzdHJ1Y3QgeDg2X2RlYnVnX3JlZ19zdGF0ZSAqc3RhdGUsCkBAIC0y NDc2LDcgKzI0NzYsNyBAQCBpbmRleCBjODE2NDczNjI4Li4wNWYzODY4NzU5IDEwMDY0NAogICAg aW50IG5yZWdzOwogIAogZGlmZiAtLWdpdCBhL2dkYi9uYXQveDg2LWRyZWdzLmggYi9nZGIvbmF0 L3g4Ni1kcmVncy5oCi1pbmRleCBkZDYyNDJlZGE5Li42NTA4YWY5M2IzIDEwMDY0NAoraW5kZXgg ZTg2ZTgzYWVhMC4uNGNlMWE5NzlhMyAxMDA2NDQKIC0tLSBhL2dkYi9uYXQveDg2LWRyZWdzLmgK ICsrKyBiL2dkYi9uYXQveDg2LWRyZWdzLmgKIEBAIC0xMTYsNyArMTE2LDcgQEAgZXh0ZXJuIGlu dCB4ODZfZHJfcmVtb3ZlX3dhdGNocG9pbnQgKHN0cnVjdCB4ODZfZGVidWdfcmVnX3N0YXRlICpz dGF0ZSwKQEAgLTI0ODksNyArMjQ4OSw3IEBAIGluZGV4IGRkNjI0MmVkYTkuLjY1MDhhZjkzYjMg MTAwNjQ0CiAgLyogSWYgdGhlIGluZmVyaW9yIGhhcyBzb21lIGJyZWFrL3dhdGNocG9pbnQgdGhh dCB0cmlnZ2VyZWQsIHNldCB0aGUKICAgICBhZGRyZXNzIGFzc29jaWF0ZWQgd2l0aCB0aGF0IGJy ZWFrL3dhdGNocG9pbnQgYW5kIHJldHVybiB0cnVlLgogZGlmZiAtLWdpdCBhL2dkYi9vcGVuY2wt bGFuZy5jIGIvZ2RiL29wZW5jbC1sYW5nLmMKLWluZGV4IDI2OGMzYzVjMzcuLjkxZjRkODQxMmEg MTAwNjQ0CitpbmRleCA4YWY2M2Y3NjIwLi42MmI4ZDQ3NzdiIDEwMDY0NAogLS0tIGEvZ2RiL29w ZW5jbC1sYW5nLmMKICsrKyBiL2dkYi9vcGVuY2wtbGFuZy5jCiBAQCAtNzYsMTEgKzc2LDExIEBA IGJ1aWx0aW5fb3BlbmNsX3R5cGUgKHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoKQpAQCAtMjU2MSw3 ICsyNTYxLDcgQEAgaW5kZXggMjY4YzNjNWMzNy4uOTFmNGQ4NDEyYSAxMDA2NDQKICAgICAgICBp ZiAoIXZhbHVlX2JpdHNfc3ludGhldGljX3BvaW50ZXIgKGMtPnZhbCwKICAJCQkJCSBjLT5pbmRp Y2VzW2ldICogZWxzaXplICsgY29tcF9vZmZzZXQsCiBkaWZmIC0tZ2l0IGEvZ2RiL3AtbGFuZy5j IGIvZ2RiL3AtbGFuZy5jCi1pbmRleCAwM2RiMmRmMmU1Li45Yzk4MTBlMjI2IDEwMDY0NAoraW5k ZXggM2ZmN2Y1Njk0Zi4uYjM2ODRkOTNmYSAxMDA2NDQKIC0tLSBhL2dkYi9wLWxhbmcuYwogKysr IGIvZ2RiL3AtbGFuZy5jCiBAQCAtOTMsOCArOTMsOCBAQCBwYXNjYWxfbWFpbl9uYW1lICh2b2lk KQpAQCAtMjY2NSwyMyArMjY2NSwyMyBAQCBpbmRleCA5MzNkYmZiNmM0Li5lNWMxYjA3MDQwIDEw MDY0NAogICAgQ09SRV9BRERSIGFkZHI7CiAgICBpbnQgd2FudF9zcGFjZSA9IDA7CiBkaWZmIC0t Z2l0IGEvZ2RiL3BwYy1saW51eC1uYXQuYyBiL2dkYi9wcGMtbGludXgtbmF0LmMKLWluZGV4IDg0 MThlNGQzNWQuLjRhODI0MzRjMGQgMTAwNjQ0CitpbmRleCAxNDIzMzM5MzM5Li5iNzBmMTY4MTA2 IDEwMDY0NAogLS0tIGEvZ2RiL3BwYy1saW51eC1uYXQuYwogKysrIGIvZ2RiL3BwYy1saW51eC1u YXQuYwotQEAgLTE0NDUsNyArMTQ0NSw3IEBAIHBwY19saW51eF9jYW5fdXNlX2h3X2JyZWFrcG9p bnQgKHN0cnVjdCB0YXJnZXRfb3BzICpzZWxmLAorQEAgLTE0OTYsNyArMTQ5Niw3IEBAIHBwY19s aW51eF9uYXRfdGFyZ2V0OjpjYW5fdXNlX2h3X2JyZWFrcG9pbnQgKGVudW0gYnB0eXBlIHR5cGUs IGludCBjbnQsIGludCBvdCkKKyB9CiAgCi0gc3RhdGljIGludAotIHBwY19saW51eF9yZWdpb25f b2tfZm9yX2h3X3dhdGNocG9pbnQgKHN0cnVjdCB0YXJnZXRfb3BzICpzZWxmLAotLQkJCQkgICAg ICAgQ09SRV9BRERSIGFkZHIsIGludCBsZW4pCi0rCQkJCSAgICAgICBDT1JFX0FERFIgYWRkciwg TE9OR0VTVCBsZW4pCisgaW50CistcHBjX2xpbnV4X25hdF90YXJnZXQ6OnJlZ2lvbl9va19mb3Jf aHdfd2F0Y2hwb2ludCAoQ09SRV9BRERSIGFkZHIsIGludCBsZW4pCisrcHBjX2xpbnV4X25hdF90 YXJnZXQ6OnJlZ2lvbl9va19mb3JfaHdfd2F0Y2hwb2ludCAoQ09SRV9BRERSIGFkZHIsIExPTkdF U1QgbGVuKQogIHsKICAgIC8qIEhhbmRsZSBzdWItOC1ieXRlIHF1YW50aXRpZXMuICAqLwogICAg aWYgKGxlbiA8PSAwKQogZGlmZiAtLWdpdCBhL2dkYi9wcGMtbGludXgtdGRlcC5jIGIvZ2RiL3Bw Yy1saW51eC10ZGVwLmMKLWluZGV4IDI4NmMwMmEyNmQuLjcyNDJjN2Y4OWEgMTAwNjQ0CitpbmRl eCA2ZDNhNjRjNGYwLi4zYWNlNjA5NmRkIDEwMDY0NAogLS0tIGEvZ2RiL3BwYy1saW51eC10ZGVw LmMKICsrKyBiL2dkYi9wcGMtbGludXgtdGRlcC5jCi1AQCAtMTYyMCw3ICsxNjIwLDcgQEAgcHBj X2luaXRfbGludXhfcmVjb3JkX3RkZXAgKHN0cnVjdCBsaW51eF9yZWNvcmRfdGRlcCAqcmVjb3Jk X3RkZXAsCitAQCAtMTYzNyw3ICsxNjM3LDcgQEAgcHBjX2luaXRfbGludXhfcmVjb3JkX3RkZXAg KHN0cnVjdCBsaW51eF9yZWNvcmRfdGRlcCAqcmVjb3JkX3RkZXAsCiAgCiAgY29uc3Qgc3RydWN0 IGZsb2F0Zm9ybWF0ICoqCiAgcHBjX2Zsb2F0Zm9ybWF0X2Zvcl90eXBlIChzdHJ1Y3QgZ2RiYXJj aCAqZ2RiYXJjaCwKQEAgLTI2OTEsMTAgKzI2OTEsMTAgQEAgaW5kZXggMjg2YzAyYTI2ZC4uNzI0 MmM3Zjg5YSAxMDA2NDQKICAgIGlmIChsZW4gPT0gMTI4ICYmIG5hbWUpCiAgICAgIHsKIGRpZmYg LS1naXQgYS9nZGIvcHJpbnRjbWQuYyBiL2dkYi9wcmludGNtZC5jCi1pbmRleCBhZDgwYjFiZWJm Li5hMTI2YTBmOGI5IDEwMDY0NAoraW5kZXggYzkyMTAyMmE1OS4uZjM0YjE1MzVhZiAxMDA2NDQK IC0tLSBhL2dkYi9wcmludGNtZC5jCiArKysgYi9nZGIvcHJpbnRjbWQuYwotQEAgLTI3Nyw3ICsy NzcsNyBAQCBwcmludF9mb3JtYXR0ZWQgKHN0cnVjdCB2YWx1ZSAqdmFsLCBpbnQgc2l6ZSwKK0BA IC0yNzUsNyArMjc1LDcgQEAgcHJpbnRfZm9ybWF0dGVkIChzdHJ1Y3QgdmFsdWUgKnZhbCwgaW50 IHNpemUsCiAgCQkgc3RydWN0IHVpX2ZpbGUgKnN0cmVhbSkKICB7CiAgICBzdHJ1Y3QgdHlwZSAq dHlwZSA9IGNoZWNrX3R5cGVkZWYgKHZhbHVlX3R5cGUgKHZhbCkpOwpAQCAtMjcwMyw3ICsyNzAz LDcgQEAgaW5kZXggYWQ4MGIxYmViZi4uYTEyNmEwZjhiOSAxMDA2NDQKICAKICAgIGlmIChWQUxV RV9MVkFMICh2YWwpID09IGx2YWxfbWVtb3J5KQogICAgICBuZXh0X2FkZHJlc3MgPSB2YWx1ZV9h ZGRyZXNzICh2YWwpICsgbGVuOwotQEAgLTM1Myw3ICszNTMsNyBAQCBwcmludF9zY2FsYXJfZm9y bWF0dGVkIChjb25zdCBnZGJfYnl0ZSAqdmFsYWRkciwgc3RydWN0IHR5cGUgKnR5cGUsCitAQCAt MzUxLDcgKzM1MSw3IEBAIHByaW50X3NjYWxhcl9mb3JtYXR0ZWQgKGNvbnN0IGdkYl9ieXRlICp2 YWxhZGRyLCBzdHJ1Y3QgdHlwZSAqdHlwZSwKICAJCQlpbnQgc2l6ZSwgc3RydWN0IHVpX2ZpbGUg KnN0cmVhbSkKICB7CiAgICBzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCA9IGdldF90eXBlX2FyY2gg KHR5cGUpOwpAQCAtMjcxMywzMiArMjcxMyw0MSBAQCBpbmRleCBhZDgwYjFiZWJmLi5hMTI2YTBm OGI5IDEwMDY0NAogIAogICAgLyogU3RyaW5nIHByaW50aW5nIHNob3VsZCBnbyB0aHJvdWdoIHZh bF9wcmludF9zY2FsYXJfZm9ybWF0dGVkLiAgKi8KIGRpZmYgLS1naXQgYS9nZGIvcHJvY2ZzLmMg Yi9nZGIvcHJvY2ZzLmMKLWluZGV4IGE5MzlkZWRiMDAuLjg4N2YxMjAxZmUgMTAwNjQ0CitpbmRl eCA3MDYxOWYxYzE1Li5jYTdjYzIyMWY5IDEwMDY0NAogLS0tIGEvZ2RiL3Byb2Nmcy5jCiArKysg Yi9nZGIvcHJvY2ZzLmMKLUBAIC0zMzk5LDcgKzMzOTksNyBAQCBwcm9jZnNfcmVtb3ZlX3dhdGNo cG9pbnQgKHN0cnVjdCB0YXJnZXRfb3BzICpzZWxmLAorQEAgLTMzNTgsNyArMzM1OCw3IEBAIHBy b2Nmc190YXJnZXQ6OnJlbW92ZV93YXRjaHBvaW50IChDT1JFX0FERFIgYWRkciwgaW50IGxlbiwK KyB9CiAgCi0gc3RhdGljIGludAotIHByb2Nmc19yZWdpb25fb2tfZm9yX2h3X3dhdGNocG9pbnQg KHN0cnVjdCB0YXJnZXRfb3BzICpzZWxmLAotLQkJCQkgICAgQ09SRV9BRERSIGFkZHIsIGludCBs ZW4pCi0rCQkJCSAgICBDT1JFX0FERFIgYWRkciwgTE9OR0VTVCBsZW4pCisgaW50CistcHJvY2Zz X3RhcmdldDo6cmVnaW9uX29rX2Zvcl9od193YXRjaHBvaW50IChDT1JFX0FERFIgYWRkciwgaW50 IGxlbikKKytwcm9jZnNfdGFyZ2V0OjpyZWdpb25fb2tfZm9yX2h3X3dhdGNocG9pbnQgKENPUkVf QUREUiBhZGRyLCBMT05HRVNUIGxlbikKICB7CiAgICAvKiBUaGUgbWFuIHBhZ2UgZm9yIHByb2Mo NCkgb24gU29sYXJpcyAyLjYgYW5kIHVwIHNheXMgdGhhdCB0aGUKICAgICAgIHN5c3RlbSBjYW4g c3VwcG9ydCAidGhvdXNhbmRzIiBvZiBoYXJkd2FyZSB3YXRjaHBvaW50cywgYnV0IGdpdmVzCiBk aWZmIC0tZ2l0IGEvZ2RiL3JlZ2NhY2hlLmMgYi9nZGIvcmVnY2FjaGUuYwotaW5kZXggZmI2YTkw NGRlYy4uMzY5NDYxNjA2OSAxMDA2NDQKK2luZGV4IDgzYmNiZDIyYTMuLmY4MTA3NTIxMDIgMTAw NjQ0CiAtLS0gYS9nZGIvcmVnY2FjaGUuYwogKysrIGIvZ2RiL3JlZ2NhY2hlLmMKLUBAIC04OTcs NyArODk3LDcgQEAgdHlwZWRlZiB2b2lkIChyZWdjYWNoZV93cml0ZV9mdHlwZSkgKHN0cnVjdCBy ZWdjYWNoZSAqcmVnY2FjaGUsIGludCByZWdudW0sCi0gCQkJCSAgICAgY29uc3Qgdm9pZCAqYnVm KTsKK0BAIC04NDYsNyArODQ2LDcgQEAgcmVnY2FjaGU6OmNvb2tlZF93cml0ZSAoaW50IHJlZ251 bSwgY29uc3QgZ2RiX2J5dGUgKmJ1ZikKKyAgICBvcGVyYXRpb24uICAqLwogIAogIGVudW0gcmVn aXN0ZXJfc3RhdHVzCi0tcmVnY2FjaGU6OnhmZXJfcGFydCAoaW50IHJlZ251bSwgaW50IG9mZnNl dCwgaW50IGxlbiwgdm9pZCAqaW4sCi0rcmVnY2FjaGU6OnhmZXJfcGFydCAoaW50IHJlZ251bSwg TE9OR0VTVCBvZmZzZXQsIExPTkdFU1QgbGVuLCB2b2lkICppbiwKKy1yZWFkYWJsZV9yZWdjYWNo ZTo6cmVhZF9wYXJ0IChpbnQgcmVnbnVtLCBpbnQgb2Zmc2V0LCBpbnQgbGVuLCB2b2lkICppbiwK KytyZWFkYWJsZV9yZWdjYWNoZTo6cmVhZF9wYXJ0IChpbnQgcmVnbnVtLCBMT05HRVNUIG9mZnNl dCwgTE9OR0VTVCBsZW4sIHZvaWQgKmluLAorIAkJCSAgICAgIGJvb2wgaXNfcmF3KQorIHsKKyAg IHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoID0gYXJjaCAoKTsKK0BAIC04NzUsNyArODc1LDcgQEAg cmVhZGFibGVfcmVnY2FjaGU6OnJlYWRfcGFydCAoaW50IHJlZ251bSwgaW50IG9mZnNldCwgaW50 IGxlbiwgdm9pZCAqaW4sCisgfQorIAorIGVudW0gcmVnaXN0ZXJfc3RhdHVzCistcmVnY2FjaGU6 OndyaXRlX3BhcnQgKGludCByZWdudW0sIGludCBvZmZzZXQsIGludCBsZW4sCisrcmVnY2FjaGU6 OndyaXRlX3BhcnQgKGludCByZWdudW0sIExPTkdFU1Qgb2Zmc2V0LCBMT05HRVNUIGxlbiwKICAJ CSAgICAgY29uc3Qgdm9pZCAqb3V0LCBib29sIGlzX3JhdykKICB7CiAgICBzdHJ1Y3QgZ2RiYXJj aCAqZ2RiYXJjaCA9IGFyY2ggKCk7Ci1AQCAtOTQxLDEzICs5NDEsMTMgQEAgcmVnY2FjaGU6Onhm ZXJfcGFydCAoaW50IHJlZ251bSwgaW50IG9mZnNldCwgaW50IGxlbiwgdm9pZCAqaW4sCitAQCAt OTEzLDEzICs5MTMsMTQgQEAgcmVnY2FjaGU6OndyaXRlX3BhcnQgKGludCByZWdudW0sIGludCBv ZmZzZXQsIGludCBsZW4sCiAgCiAgZW51bSByZWdpc3Rlcl9zdGF0dXMKICByZWdjYWNoZV9yYXdf cmVhZF9wYXJ0IChzdHJ1Y3QgcmVnY2FjaGUgKnJlZ2NhY2hlLCBpbnQgcmVnbnVtLApAQCAtMjc0 OSwxMiArMjc1OCwxMyBAQCBpbmRleCBmYjZhOTA0ZGVjLi4zNjk0NjE2MDY5IDEwMDY0NAogIH0K ICAKICBlbnVtIHJlZ2lzdGVyX3N0YXR1cwotLXJlZ2NhY2hlOjpyYXdfcmVhZF9wYXJ0IChpbnQg cmVnbnVtLCBpbnQgb2Zmc2V0LCBpbnQgbGVuLCBnZGJfYnl0ZSAqYnVmKQotK3JlZ2NhY2hlOjpy YXdfcmVhZF9wYXJ0IChpbnQgcmVnbnVtLCBpbnQgb2Zmc2V0LCBMT05HRVNUIGxlbiwgZ2RiX2J5 dGUgKmJ1ZikKKy1yZWFkYWJsZV9yZWdjYWNoZTo6cmF3X3JlYWRfcGFydCAoaW50IHJlZ251bSwg aW50IG9mZnNldCwgaW50IGxlbiwgZ2RiX2J5dGUgKmJ1ZikKKytyZWFkYWJsZV9yZWdjYWNoZTo6 cmF3X3JlYWRfcGFydCAoaW50IHJlZ251bSwgaW50IG9mZnNldCwgTE9OR0VTVCBsZW4sCisrCQkJ CSAgZ2RiX2J5dGUgKmJ1ZikKICB7CiAgICBhc3NlcnRfcmVnbnVtIChyZWdudW0pOwotICAgcmV0 dXJuIHhmZXJfcGFydCAocmVnbnVtLCBvZmZzZXQsIGxlbiwgYnVmLCBOVUxMLCB0cnVlKTsKLUBA IC05NTUsMTMgKzk1NSwxMyBAQCByZWdjYWNoZTo6cmF3X3JlYWRfcGFydCAoaW50IHJlZ251bSwg aW50IG9mZnNldCwgaW50IGxlbiwgZ2RiX2J5dGUgKmJ1ZikKKyAgIHJldHVybiByZWFkX3BhcnQg KHJlZ251bSwgb2Zmc2V0LCBsZW4sIGJ1ZiwgdHJ1ZSk7CitAQCAtOTI3LDEzICs5MjgsMTMgQEAg cmVhZGFibGVfcmVnY2FjaGU6OnJhd19yZWFkX3BhcnQgKGludCByZWdudW0sIGludCBvZmZzZXQs IGludCBsZW4sIGdkYl9ieXRlICpidWYKICAKICB2b2lkCiAgcmVnY2FjaGVfcmF3X3dyaXRlX3Bh cnQgKHN0cnVjdCByZWdjYWNoZSAqcmVnY2FjaGUsIGludCByZWdudW0sCkBAIC0yNzcwLDcgKzI3 ODAsNyBAQCBpbmRleCBmYjZhOTA0ZGVjLi4zNjk0NjE2MDY5IDEwMDY0NAogIAkJCSAgY29uc3Qg Z2RiX2J5dGUgKmJ1ZikKICB7CiAgICBhc3NlcnRfcmVnbnVtIChyZWdudW0pOwotQEAgLTk3MCwx NCArOTcwLDE1IEBAIHJlZ2NhY2hlOjpyYXdfd3JpdGVfcGFydCAoaW50IHJlZ251bSwgaW50IG9m ZnNldCwgaW50IGxlbiwKK0BAIC05NDIsMTQgKzk0MywxNCBAQCByZWdjYWNoZTo6cmF3X3dyaXRl X3BhcnQgKGludCByZWdudW0sIGludCBvZmZzZXQsIGludCBsZW4sCiAgCiAgZW51bSByZWdpc3Rl cl9zdGF0dXMKICByZWdjYWNoZV9jb29rZWRfcmVhZF9wYXJ0IChzdHJ1Y3QgcmVnY2FjaGUgKnJl Z2NhY2hlLCBpbnQgcmVnbnVtLApAQCAtMjc4MiwxMyArMjc5MiwxMiBAQCBpbmRleCBmYjZhOTA0 ZGVjLi4zNjk0NjE2MDY5IDEwMDY0NAogIAogIAogIGVudW0gcmVnaXN0ZXJfc3RhdHVzCi0tcmVn Y2FjaGU6OmNvb2tlZF9yZWFkX3BhcnQgKGludCByZWdudW0sIGludCBvZmZzZXQsIGludCBsZW4s IGdkYl9ieXRlICpidWYpCi0rcmVnY2FjaGU6OmNvb2tlZF9yZWFkX3BhcnQgKGludCByZWdudW0s IExPTkdFU1Qgb2Zmc2V0LCBMT05HRVNUIGxlbiwKLSsJCQkgICAgZ2RiX2J5dGUgKmJ1ZikKKy1y ZWFkYWJsZV9yZWdjYWNoZTo6Y29va2VkX3JlYWRfcGFydCAoaW50IHJlZ251bSwgaW50IG9mZnNl dCwgaW50IGxlbiwKKytyZWFkYWJsZV9yZWdjYWNoZTo6Y29va2VkX3JlYWRfcGFydCAoaW50IHJl Z251bSwgTE9OR0VTVCBvZmZzZXQsIExPTkdFU1QgbGVuLAorIAkJCQkgICAgIGdkYl9ieXRlICpi dWYpCiAgewogICAgZ2RiX2Fzc2VydCAocmVnbnVtID49IDAgJiYgcmVnbnVtIDwgbV9kZXNjci0+ bnJfY29va2VkX3JlZ2lzdGVycyk7Ci0gICByZXR1cm4geGZlcl9wYXJ0IChyZWdudW0sIG9mZnNl dCwgbGVuLCBidWYsIE5VTEwsIGZhbHNlKTsKLUBAIC05ODUsMTMgKzk4NiwxMyBAQCByZWdjYWNo ZTo6Y29va2VkX3JlYWRfcGFydCAoaW50IHJlZ251bSwgaW50IG9mZnNldCwgaW50IGxlbiwgZ2Ri X2J5dGUgKmJ1ZikKK0BAIC05NTgsMTMgKzk1OSwxMyBAQCByZWFkYWJsZV9yZWdjYWNoZTo6Y29v a2VkX3JlYWRfcGFydCAoaW50IHJlZ251bSwgaW50IG9mZnNldCwgaW50IGxlbiwKICAKICB2b2lk CiAgcmVnY2FjaGVfY29va2VkX3dyaXRlX3BhcnQgKHN0cnVjdCByZWdjYWNoZSAqcmVnY2FjaGUs IGludCByZWdudW0sCkBAIC0yODA1LDEwICsyODE0LDEwIEBAIGluZGV4IGZiNmE5MDRkZWMuLjM2 OTQ2MTYwNjkgMTAwNjQ0CiAgewogICAgZ2RiX2Fzc2VydCAocmVnbnVtID49IDAgJiYgcmVnbnVt IDwgbV9kZXNjci0+bnJfY29va2VkX3JlZ2lzdGVycyk7CiBkaWZmIC0tZ2l0IGEvZ2RiL3JlZ2Nh Y2hlLmggYi9nZGIvcmVnY2FjaGUuaAotaW5kZXggOWUzZGE4YzNmYy4uYTgwM2I1ODUxNiAxMDA2 NDQKK2luZGV4IGQ3YmI4YjVjOTMuLjA2Zjg3OGFiMDEgMTAwNjQ0CiAtLS0gYS9nZGIvcmVnY2Fj aGUuaAogKysrIGIvZ2RiL3JlZ2NhY2hlLmgKLUBAIC04Miw5ICs4Miw5IEBAIGV4dGVybiB2b2lk IHJlZ2NhY2hlX3Jhd19zZXRfY2FjaGVkX3ZhbHVlCitAQCAtNzQsOSArNzQsOSBAQCBleHRlcm4g TE9OR0VTVCByZWdjYWNoZV9yYXdfZ2V0X3NpZ25lZCAoc3RydWN0IHJlZ2NhY2hlICpyZWdjYWNo ZSwKICAKICBleHRlcm4gZW51bSByZWdpc3Rlcl9zdGF0dXMKICAgIHJlZ2NhY2hlX3Jhd19yZWFk X3BhcnQgKHN0cnVjdCByZWdjYWNoZSAqcmVnY2FjaGUsIGludCByZWdudW0sCkBAIC0yODIwLDcg KzI4MjksNyBAQCBpbmRleCA5ZTNkYThjM2ZjLi5hODAzYjU4NTE2IDEwMDY0NAogIAogIHZvaWQg cmVnY2FjaGVfaW52YWxpZGF0ZSAoc3RydWN0IHJlZ2NhY2hlICpyZWdjYWNoZSwgaW50IHJlZ251 bSk7CiAgCi1AQCAtMTIxLDEwICsxMjEsMTEgQEAgZXh0ZXJuIHZvaWQgcmVnY2FjaGVfY29va2Vk X3dyaXRlX3Vuc2lnbmVkIChzdHJ1Y3QgcmVnY2FjaGUgKnJlZ2NhY2hlLAorQEAgLTExMywxMCAr MTEzLDExIEBAIGV4dGVybiB2b2lkIHJlZ2NhY2hlX2Nvb2tlZF93cml0ZV91bnNpZ25lZCAoc3Ry dWN0IHJlZ2NhY2hlICpyZWdjYWNoZSwKICAgICB3cml0ZSBzdHlsZSBvcGVyYXRpb25zLiAgKi8K ICAKICBlbnVtIHJlZ2lzdGVyX3N0YXR1cyByZWdjYWNoZV9jb29rZWRfcmVhZF9wYXJ0IChzdHJ1 Y3QgcmVnY2FjaGUgKnJlZ2NhY2hlLApAQCAtMjgzNSw1NSArMjg0NCw5MSBAQCBpbmRleCA5ZTNk YThjM2ZjLi5hODAzYjU4NTE2IDEwMDY0NAogIAogIC8qIFNwZWNpYWwgcm91dGluZXMgdG8gcmVh ZC93cml0ZSB0aGUgUEMuICAqLwogIAotQEAgLTMwMiwxNSArMzAzLDE1IEBAIHB1YmxpYzoKLSAK LSAgIHZvaWQgaW52YWxpZGF0ZSAoaW50IHJlZ251bSk7CitAQCAtMjU5LDggKzI2MCw4IEBAIHB1 YmxpYzoKKyAgIHRlbXBsYXRlPHR5cGVuYW1lIFQsIHR5cGVuYW1lID0gUmVxdWlyZUxvbmdlc3Q8 VD4+CisgICBlbnVtIHJlZ2lzdGVyX3N0YXR1cyByYXdfcmVhZCAoaW50IHJlZ251bSwgVCAqdmFs KTsKICAKIC0gIGVudW0gcmVnaXN0ZXJfc3RhdHVzIHJhd19yZWFkX3BhcnQgKGludCByZWdudW0s IGludCBvZmZzZXQsIGludCBsZW4sCi0rICBlbnVtIHJlZ2lzdGVyX3N0YXR1cyByYXdfcmVhZF9w YXJ0IChpbnQgcmVnbnVtLCBpbnQgb2Zmc2V0LCBMT05HRVNUIGxlbiwKLSAJCQkJICAgICAgZ2Ri X2J5dGUgKmJ1Zik7CistCQkJCSAgICAgIGdkYl9ieXRlICpidWYpOworKyAgZW51bSByZWdpc3Rl cl9zdGF0dXMgcmF3X3JlYWRfcGFydCAoaW50IHJlZ251bSwgaW50IG9mZnNldCwKKysJCQkJICAg ICAgTE9OR0VTVCBsZW4sIGdkYl9ieXRlICpidWYpOwogIAotLSAgdm9pZCByYXdfd3JpdGVfcGFy dCAoaW50IHJlZ251bSwgaW50IG9mZnNldCwgaW50IGxlbiwgY29uc3QgZ2RiX2J5dGUgKmJ1Zik7 Ci0rICB2b2lkIHJhd193cml0ZV9wYXJ0IChpbnQgcmVnbnVtLCBpbnQgb2Zmc2V0LCBMT05HRVNU IGxlbiwgY29uc3QgZ2RiX2J5dGUgKmJ1Zik7CisgICB2aXJ0dWFsIHZvaWQgcmF3X3VwZGF0ZSAo aW50IHJlZ251bSkgPSAwOworIAorQEAgLTI2OCwxNCArMjY5LDE0IEBAIHB1YmxpYzoKKyAgIHRl bXBsYXRlPHR5cGVuYW1lIFQsIHR5cGVuYW1lID0gUmVxdWlyZUxvbmdlc3Q8VD4+CisgICBlbnVt IHJlZ2lzdGVyX3N0YXR1cyBjb29rZWRfcmVhZCAoaW50IHJlZ251bSwgVCAqdmFsKTsKICAKIC0g IGVudW0gcmVnaXN0ZXJfc3RhdHVzIGNvb2tlZF9yZWFkX3BhcnQgKGludCByZWdudW0sIGludCBv ZmZzZXQsIGludCBsZW4sCi0rICBlbnVtIHJlZ2lzdGVyX3N0YXR1cyBjb29rZWRfcmVhZF9wYXJ0 IChpbnQgcmVnbnVtLCBMT05HRVNUIG9mZnNldCwgTE9OR0VTVCBsZW4sCi0gCQkJCQkgZ2RiX2J5 dGUgKmJ1Zik7CistCQkJCQkgZ2RiX2J5dGUgKmJ1Zik7CisrICBlbnVtIHJlZ2lzdGVyX3N0YXR1 cyBjb29rZWRfcmVhZF9wYXJ0IChpbnQgcmVnbnVtLCBMT05HRVNUIG9mZnNldCwKKysJCQkJCSBM T05HRVNUIGxlbiwgZ2RiX2J5dGUgKmJ1Zik7CisgCisgICBzdHJ1Y3QgdmFsdWUgKmNvb2tlZF9y ZWFkX3ZhbHVlIChpbnQgcmVnbnVtKTsKKyAKKyBwcm90ZWN0ZWQ6CistICBlbnVtIHJlZ2lzdGVy X3N0YXR1cyByZWFkX3BhcnQgKGludCByZWdudW0sIGludCBvZmZzZXQsIGludCBsZW4sIHZvaWQg KmluLAorLQkJCQkgIGJvb2wgaXNfcmF3KTsKKysgIGVudW0gcmVnaXN0ZXJfc3RhdHVzIHJlYWRf cGFydCAoaW50IHJlZ251bSwgTE9OR0VTVCBvZmZzZXQsIExPTkdFU1QgbGVuLAorKwkJCQkgIHZv aWQgKmluLCBib29sIGlzX3Jhdyk7CisgfTsKKyAKKyAvKiBCdWZmZXIgb2YgcmVnaXN0ZXJzLCBj YW4gYmUgcmVhZCBhbmQgd3JpdHRlbi4gICovCitAQCAtMzQ1LDkgKzM0NiwxMCBAQCBwdWJsaWM6 CisgICB2b2lkIHJhd19jb2xsZWN0X2ludGVnZXIgKGludCByZWdudW0sIGdkYl9ieXRlICphZGRy LCBpbnQgYWRkcl9sZW4sCisgCQkJICAgIGJvb2wgaXNfc2lnbmVkKSBjb25zdDsKKyAKKy0gIHZv aWQgcmF3X3dyaXRlX3BhcnQgKGludCByZWdudW0sIGludCBvZmZzZXQsIGludCBsZW4sIGNvbnN0 IGdkYl9ieXRlICpidWYpOworKyAgdm9pZCByYXdfd3JpdGVfcGFydCAoaW50IHJlZ251bSwgaW50 IG9mZnNldCwgTE9OR0VTVCBsZW4sCisrCQkgICAgICAgY29uc3QgZ2RiX2J5dGUgKmJ1Zik7CiAg CiAtICB2b2lkIGNvb2tlZF93cml0ZV9wYXJ0IChpbnQgcmVnbnVtLCBpbnQgb2Zmc2V0LCBpbnQg bGVuLAogKyAgdm9pZCBjb29rZWRfd3JpdGVfcGFydCAoaW50IHJlZ251bSwgTE9OR0VTVCBvZmZz ZXQsIExPTkdFU1QgbGVuLAogIAkJCSAgY29uc3QgZ2RiX2J5dGUgKmJ1Zik7CiAgCiAgICB2b2lk IHN1cHBseV9yZWdzZXQgKGNvbnN0IHN0cnVjdCByZWdzZXQgKnJlZ3NldCwKLUBAIC0zNDksOCAr MzUwLDggQEAgcHJpdmF0ZToKLSAKLSAgIHZvaWQgcmVzdG9yZSAoc3RydWN0IHJlZ2NhY2hlICpz cmMpOwotIAotLSAgZW51bSByZWdpc3Rlcl9zdGF0dXMgeGZlcl9wYXJ0IChpbnQgcmVnbnVtLCBp bnQgb2Zmc2V0LCBpbnQgbGVuLCB2b2lkICppbiwKLS0JCQkJICBjb25zdCB2b2lkICpvdXQsIGJv b2wgaXNfcmF3KTsKLSsgIGVudW0gcmVnaXN0ZXJfc3RhdHVzIHhmZXJfcGFydCAoaW50IHJlZ251 bSwgTE9OR0VTVCBvZmZzZXQsIExPTkdFU1QgbGVuLAotKwkJCQkgIHZvaWQgKmluLCBjb25zdCB2 b2lkICpvdXQsIGJvb2wgaXNfcmF3KTsKK0BAIC0zNzcsMTMgKzM3OSwxMiBAQCBwcm90ZWN0ZWQ6 CisgICBzdGF0aWMgc3RkOjpmb3J3YXJkX2xpc3Q8cmVnY2FjaGUgKj4gY3VycmVudF9yZWdjYWNo ZTsKICAKKyBwcml2YXRlOgorLQogICAgdm9pZCB0cmFuc2Zlcl9yZWdzZXQgKGNvbnN0IHN0cnVj dCByZWdzZXQgKnJlZ3NldCwKICAJCQlzdHJ1Y3QgcmVnY2FjaGUgKm91dF9yZWdjYWNoZSwKKyAJ CQlpbnQgcmVnbnVtLCBjb25zdCB2b2lkICppbl9idWYsCisgCQkJdm9pZCAqb3V0X2J1Ziwgc2l6 ZV90IHNpemUpIGNvbnN0OworIAorLSAgZW51bSByZWdpc3Rlcl9zdGF0dXMgd3JpdGVfcGFydCAo aW50IHJlZ251bSwgaW50IG9mZnNldCwgaW50IGxlbiwKKysgIGVudW0gcmVnaXN0ZXJfc3RhdHVz IHdyaXRlX3BhcnQgKGludCByZWdudW0sIExPTkdFU1Qgb2Zmc2V0LCBMT05HRVNUIGxlbiwKKyAJ CQkJICAgY29uc3Qgdm9pZCAqb3V0LCBib29sIGlzX3Jhdyk7CisgCisgCiBkaWZmIC0tZ2l0IGEv Z2RiL3JlbW90ZS5jIGIvZ2RiL3JlbW90ZS5jCi1pbmRleCBhNDI2NTA4NzIzLi45NGQ1NTk0MTc1 IDEwMDY0NAoraW5kZXggNThlZDllNGY0ZC4uY2U2N2Q3NjE5NSAxMDA2NDQKIC0tLSBhL2dkYi9y ZW1vdGUuYwogKysrIGIvZ2RiL3JlbW90ZS5jCi1AQCAtOTk2OSw3ICs5OTY5LDcgQEAgaW50IHJl bW90ZV9od19icmVha3BvaW50X2xpbWl0ID0gLTE7CitAQCAtMTQ2LDcgKzE0Niw3IEBAIHB1Ymxp YzoKICAKLSBzdGF0aWMgaW50Ci0gcmVtb3RlX3JlZ2lvbl9va19mb3JfaHdfd2F0Y2hwb2ludCAo c3RydWN0IHRhcmdldF9vcHMgKnNlbGYsCi0tCQkJCSAgICBDT1JFX0FERFIgYWRkciwgaW50IGxl bikKLSsJCQkJICAgIENPUkVfQUREUiBhZGRyLCBMT05HRVNUIGxlbikKKyAgIGludCByZW1vdmVf aHdfYnJlYWtwb2ludCAoc3RydWN0IGdkYmFyY2ggKiwgc3RydWN0IGJwX3RhcmdldF9pbmZvICop IG92ZXJyaWRlOworIAorLSAgaW50IHJlZ2lvbl9va19mb3JfaHdfd2F0Y2hwb2ludCAoQ09SRV9B RERSLCBpbnQpIG92ZXJyaWRlOworKyAgaW50IHJlZ2lvbl9va19mb3JfaHdfd2F0Y2hwb2ludCAo Q09SRV9BRERSLCBMT05HRVNUKSBvdmVycmlkZTsKKyAKKyAgIGludCBpbnNlcnRfd2F0Y2hwb2lu dCAoQ09SRV9BRERSLCBpbnQsIGVudW0gdGFyZ2V0X2h3X2JwX3R5cGUsCisgCQkJIHN0cnVjdCBl eHByZXNzaW9uICopIG92ZXJyaWRlOworQEAgLTEwMjE2LDcgKzEwMjE2LDcgQEAgaW50IHJlbW90 ZV9od193YXRjaHBvaW50X2xlbmd0aF9saW1pdCA9IC0xOworIGludCByZW1vdGVfaHdfYnJlYWtw b2ludF9saW1pdCA9IC0xOworIAorIGludAorLXJlbW90ZV90YXJnZXQ6OnJlZ2lvbl9va19mb3Jf aHdfd2F0Y2hwb2ludCAoQ09SRV9BRERSIGFkZHIsIGludCBsZW4pCisrcmVtb3RlX3RhcmdldDo6 cmVnaW9uX29rX2Zvcl9od193YXRjaHBvaW50IChDT1JFX0FERFIgYWRkciwgTE9OR0VTVCBsZW4p CiAgewogICAgaWYgKHJlbW90ZV9od193YXRjaHBvaW50X2xlbmd0aF9saW1pdCA9PSAwKQogICAg ICByZXR1cm4gMDsKIGRpZmYgLS1naXQgYS9nZGIvcnVzdC1sYW5nLmMgYi9nZGIvcnVzdC1sYW5n LmMKLWluZGV4IGNiOTI0ZTA4NGQuLmMxOGYyZDBlZDUgMTAwNjQ0CitpbmRleCA0YmUxMTJiN2Ez Li43N2QxNDU1NDlkIDEwMDY0NAogLS0tIGEvZ2RiL3J1c3QtbGFuZy5jCiArKysgYi9nZGIvcnVz dC1sYW5nLmMKLUBAIC00NzIsNyArNDcyLDcgQEAgcnVzdF9wcmludGNoYXIgKGludCBjLCBzdHJ1 Y3QgdHlwZSAqdHlwZSwgc3RydWN0IHVpX2ZpbGUgKnN0cmVhbSkKK0BAIC0yODYsNyArMjg2LDcg QEAgcnVzdF9wcmludGNoYXIgKGludCBjLCBzdHJ1Y3QgdHlwZSAqdHlwZSwgc3RydWN0IHVpX2Zp bGUgKnN0cmVhbSkKICAKICBzdGF0aWMgdm9pZAogIHJ1c3RfcHJpbnRzdHIgKHN0cnVjdCB1aV9m aWxlICpzdHJlYW0sIHN0cnVjdCB0eXBlICp0eXBlLApAQCAtMjg5Miw3ICsyOTM3LDcgQEAgaW5k ZXggY2I5MjRlMDg0ZC4uYzE4ZjJkMGVkNSAxMDA2NDQKICAJICAgICAgIGNvbnN0IGNoYXIgKnVz ZXJfZW5jb2RpbmcsIGludCBmb3JjZV9lbGxpcHNlcywKICAJICAgICAgIGNvbnN0IHN0cnVjdCB2 YWx1ZV9wcmludF9vcHRpb25zICpvcHRpb25zKQogIHsKLUBAIC02MTgsNyArNjE4LDcgQEAgc3Rh dGljIGNvbnN0IHN0cnVjdCBnZW5lcmljX3ZhbF9wcmludF9kZWNvcmF0aW9ucyBydXN0X2RlY29y YXRpb25zID0KK0BAIC00OTUsNyArNDk1LDcgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBnZW5lcmlj X3ZhbF9wcmludF9kZWNvcmF0aW9ucyBydXN0X2RlY29yYXRpb25zID0KICAvKiBsYV92YWxfcHJp bnQgaW1wbGVtZW50YXRpb24gZm9yIFJ1c3QuICAqLwogIAogIHN0YXRpYyB2b2lkCkBAIC0yOTAy LDMzICsyOTQ3LDQzIEBAIGluZGV4IGNiOTI0ZTA4NGQuLmMxOGYyZDBlZDUgMTAwNjQ0CiAgCQlz dHJ1Y3QgdmFsdWUgKnZhbCwKICAJCWNvbnN0IHN0cnVjdCB2YWx1ZV9wcmludF9vcHRpb25zICpv cHRpb25zKQogZGlmZiAtLWdpdCBhL2dkYi9zMzkwLWxpbnV4LW5hdC5jIGIvZ2RiL3MzOTAtbGlu dXgtbmF0LmMKLWluZGV4IDhhM2ZjZmY5YjYuLmE4YjdkNjM5MzggMTAwNjQ0CitpbmRleCAzYzY1 YzVlYWE1Li5kN2M2ODNlOTY4IDEwMDY0NAogLS0tIGEvZ2RiL3MzOTAtbGludXgtbmF0LmMKICsr KyBiL2dkYi9zMzkwLWxpbnV4LW5hdC5jCi1AQCAtOTIxLDcgKzkyMSw3IEBAIHMzOTBfcmVtb3Zl X2h3X2JyZWFrcG9pbnQgKHN0cnVjdCB0YXJnZXRfb3BzICpzZWxmLAorQEAgLTk1Miw3ICs5NTIs OCBAQCBzMzkwX2xpbnV4X25hdF90YXJnZXQ6OnJlbW92ZV9od19icmVha3BvaW50IChzdHJ1Y3Qg Z2RiYXJjaCAqZ2RiYXJjaCwKKyB9CiAgCi0gc3RhdGljIGludAotIHMzOTBfcmVnaW9uX29rX2Zv cl9od193YXRjaHBvaW50IChzdHJ1Y3QgdGFyZ2V0X29wcyAqc2VsZiwKLS0JCQkJICBDT1JFX0FE RFIgYWRkciwgaW50IGNudCkKLSsJCQkJICBDT1JFX0FERFIgYWRkciwgTE9OR0VTVCBjbnQpCisg aW50CistczM5MF9saW51eF9uYXRfdGFyZ2V0OjpyZWdpb25fb2tfZm9yX2h3X3dhdGNocG9pbnQg KENPUkVfQUREUiBhZGRyLCBpbnQgY250KQorK3MzOTBfbGludXhfbmF0X3RhcmdldDo6cmVnaW9u X29rX2Zvcl9od193YXRjaHBvaW50IChDT1JFX0FERFIgYWRkciwKKysJCQkJCQkgICAgTE9OR0VT VCBjbnQpCiAgewogICAgcmV0dXJuIDE7CiAgfQogZGlmZiAtLWdpdCBhL2dkYi9zcHUtbXVsdGlh cmNoLmMgYi9nZGIvc3B1LW11bHRpYXJjaC5jCi1pbmRleCA3MTUyZGRhYmJkLi4xY2ZhNzc4MGFm IDEwMDY0NAoraW5kZXggNWRhNWU0ZTdmYy4uMjlkYjBlOGVhNiAxMDA2NDQKIC0tLSBhL2dkYi9z cHUtbXVsdGlhcmNoLmMKICsrKyBiL2dkYi9zcHUtbXVsdGlhcmNoLmMKLUBAIC0xMjgsNyArMTI4 LDcgQEAgc3B1X3RocmVhZF9hcmNoaXRlY3R1cmUgKHN0cnVjdCB0YXJnZXRfb3BzICpvcHMsIHB0 aWRfdCBwdGlkKQorQEAgLTY2LDcgKzY2LDcgQEAgc3RydWN0IHNwdV9tdWx0aWFyY2hfdGFyZ2V0 IGZpbmFsIDogcHVibGljIHRhcmdldF9vcHMKKyAJCSAgICAgY29uc3QgZ2RiX2J5dGUgKnBhdHRl cm4sIFVMT05HRVNUIHBhdHRlcm5fbGVuLAorIAkJICAgICBDT1JFX0FERFIgKmZvdW5kX2FkZHJw KSBvdmVycmlkZTsKKyAKKy0gIGludCByZWdpb25fb2tfZm9yX2h3X3dhdGNocG9pbnQgKENPUkVf QUREUiwgaW50KSBvdmVycmlkZTsKKysgIGludCByZWdpb25fb2tfZm9yX2h3X3dhdGNocG9pbnQg KENPUkVfQUREUiwgTE9OR0VTVCkgb3ZlcnJpZGU7CisgCisgICBzdHJ1Y3QgZ2RiYXJjaCAqdGhy ZWFkX2FyY2hpdGVjdHVyZSAocHRpZF90KSBvdmVycmlkZTsKKyB9OworQEAgLTE2NCw3ICsxNjQs NyBAQCBzcHVfbXVsdGlhcmNoX3RhcmdldDo6dGhyZWFkX2FyY2hpdGVjdHVyZSAocHRpZF90IHB0 aWQpCiAgLyogT3ZlcnJpZGUgdGhlIHRvX3JlZ2lvbl9va19mb3JfaHdfd2F0Y2hwb2ludCByb3V0 aW5lLiAgKi8KLSBzdGF0aWMgaW50Ci0gc3B1X3JlZ2lvbl9va19mb3JfaHdfd2F0Y2hwb2ludCAo c3RydWN0IHRhcmdldF9vcHMgKnNlbGYsCi0tCQkJCSBDT1JFX0FERFIgYWRkciwgaW50IGxlbikK LSsJCQkJIENPUkVfQUREUiBhZGRyLCBMT05HRVNUIGxlbikKKyAKKyBpbnQKKy1zcHVfbXVsdGlh cmNoX3RhcmdldDo6cmVnaW9uX29rX2Zvcl9od193YXRjaHBvaW50IChDT1JFX0FERFIgYWRkciwg aW50IGxlbikKKytzcHVfbXVsdGlhcmNoX3RhcmdldDo6cmVnaW9uX29rX2Zvcl9od193YXRjaHBv aW50IChDT1JFX0FERFIgYWRkciwgTE9OR0VTVCBsZW4pCiAgewotICAgc3RydWN0IHRhcmdldF9v cHMgKm9wc19iZW5lYXRoID0gZmluZF90YXJnZXRfYmVuZWF0aCAoc2VsZik7CisgICBzdHJ1Y3Qg dGFyZ2V0X29wcyAqb3BzX2JlbmVhdGggPSBmaW5kX3RhcmdldF9iZW5lYXRoICh0aGlzKTsKICAK IGRpZmYgLS1naXQgYS9nZGIvc3RhY2suYyBiL2dkYi9zdGFjay5jCi1pbmRleCA5OTkzYWU2NTRh Li42ZTEzMzZkYTAyIDEwMDY0NAoraW5kZXggNzRjOTI1MzdkYS4uMTBmMjQ2ZWNkMSAxMDA2NDQK IC0tLSBhL2dkYi9zdGFjay5jCiArKysgYi9nZGIvc3RhY2suYwogQEAgLTE5MCw3ICsxOTAsNyBA QCBwcmludF9zdGFja19mcmFtZSAoc3RydWN0IGZyYW1lX2luZm8gKmZyYW1lLCBpbnQgcHJpbnRf bGV2ZWwsCkBAIC0yOTcwLDEwICszMDI1LDEwIEBAIGluZGV4IDk5OTNhZTY1NGEuLjZlMTMzNmRh MDIgMTAwNjQ0CiAgICAgICAgaWYgKGhpZ2hlc3Rfb2Zmc2V0ID09IC0xKQogIAlzdGFydCA9IGdk YmFyY2hfZnJhbWVfYXJnc19za2lwIChnZXRfZnJhbWVfYXJjaCAoZnJhbWUpKTsKIGRpZmYgLS1n aXQgYS9nZGIvc3ltbWlzYy5jIGIvZ2RiL3N5bW1pc2MuYwotaW5kZXggOWFkZGUwNDRjZC4uMmJk MTQ2NGEwMSAxMDA2NDQKK2luZGV4IDkxZGRjNTc4YTguLmFkZGY5Yjg3M2QgMTAwNjQ0CiAtLS0g YS9nZGIvc3ltbWlzYy5jCiArKysgYi9nZGIvc3ltbWlzYy5jCi1AQCAtNTg1LDExICs1ODUsMTEg QEAgcHJpbnRfc3ltYm9sIChzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCwgc3RydWN0IHN5bWJvbCAq c3ltYm9sLAorQEAgLTU4NiwxMSArNTg2LDExIEBAIHByaW50X3N5bWJvbCAoc3RydWN0IGdkYmFy Y2ggKmdkYmFyY2gsIHN0cnVjdCBzeW1ib2wgKnN5bWJvbCwKICAKICAJY2FzZSBMT0NfQ09OU1Rf QllURVM6CiAgCSAgewpAQCAtMjk4OSw0MCArMzA0NCw2NCBAQCBpbmRleCA5YWRkZTA0NGNkLi4y YmQxNDY0YTAxIDEwMDY0NAogIAkgICAgICBmcHJpbnRmX2ZpbHRlcmVkIChvdXRmaWxlLCAiICUw MngiLAogIAkJCQkodW5zaWduZWQpIFNZTUJPTF9WQUxVRV9CWVRFUyAoc3ltYm9sKVtpXSk7CiBk aWZmIC0tZ2l0IGEvZ2RiL3RhcmdldC1kZWxlZ2F0ZXMuYyBiL2dkYi90YXJnZXQtZGVsZWdhdGVz LmMKLWluZGV4IGFhZjExZDgxYjguLjJiNDQ5Y2JmMDEgMTAwNjQ0CitpbmRleCBkYTc0MzQ3MTIy Li5lZDYyNWVkMDMwIDEwMDY0NAogLS0tIGEvZ2RiL3RhcmdldC1kZWxlZ2F0ZXMuYwogKysrIGIv Z2RiL3RhcmdldC1kZWxlZ2F0ZXMuYwotQEAgLTc2MCwxNCArNzYwLDE0IEBAIGRlYnVnX3dhdGNo cG9pbnRfYWRkcl93aXRoaW5fcmFuZ2UgKHN0cnVjdCB0YXJnZXRfb3BzICpzZWxmLCBDT1JFX0FE RFIgYXJnMSwgQ09SCitAQCAtMzksNyArMzksNyBAQCBzdHJ1Y3QgZHVtbXlfdGFyZ2V0IDogcHVi bGljIHRhcmdldF9vcHMKKyAgIGJvb2wgaGF2ZV9jb250aW51YWJsZV93YXRjaHBvaW50ICgpIG92 ZXJyaWRlOworICAgYm9vbCBzdG9wcGVkX2RhdGFfYWRkcmVzcyAoQ09SRV9BRERSICphcmcwKSBv dmVycmlkZTsKKyAgIGJvb2wgd2F0Y2hwb2ludF9hZGRyX3dpdGhpbl9yYW5nZSAoQ09SRV9BRERS IGFyZzAsIENPUkVfQUREUiBhcmcxLCBpbnQgYXJnMikgb3ZlcnJpZGU7CistICBpbnQgcmVnaW9u X29rX2Zvcl9od193YXRjaHBvaW50IChDT1JFX0FERFIgYXJnMCwgaW50IGFyZzEpIG92ZXJyaWRl OworKyAgaW50IHJlZ2lvbl9va19mb3JfaHdfd2F0Y2hwb2ludCAoQ09SRV9BRERSIGFyZzAsIExP TkdFU1QgYXJnMSkgb3ZlcnJpZGU7CisgICBib29sIGNhbl9hY2NlbF93YXRjaHBvaW50X2NvbmRp dGlvbiAoQ09SRV9BRERSIGFyZzAsIGludCBhcmcxLCBpbnQgYXJnMiwgc3RydWN0IGV4cHJlc3Np b24gKmFyZzMpIG92ZXJyaWRlOworICAgaW50IG1hc2tlZF93YXRjaF9udW1fcmVnaXN0ZXJzIChD T1JFX0FERFIgYXJnMCwgQ09SRV9BRERSIGFyZzEpIG92ZXJyaWRlOworICAgaW50IGNhbl9kb19z aW5nbGVfc3RlcCAoKSBvdmVycmlkZTsKK0BAIC0yMDcsNyArMjA3LDcgQEAgc3RydWN0IGRlYnVn X3RhcmdldCA6IHB1YmxpYyB0YXJnZXRfb3BzCisgICBib29sIGhhdmVfY29udGludWFibGVfd2F0 Y2hwb2ludCAoKSBvdmVycmlkZTsKKyAgIGJvb2wgc3RvcHBlZF9kYXRhX2FkZHJlc3MgKENPUkVf QUREUiAqYXJnMCkgb3ZlcnJpZGU7CisgICBib29sIHdhdGNocG9pbnRfYWRkcl93aXRoaW5fcmFu Z2UgKENPUkVfQUREUiBhcmcwLCBDT1JFX0FERFIgYXJnMSwgaW50IGFyZzIpIG92ZXJyaWRlOwor LSAgaW50IHJlZ2lvbl9va19mb3JfaHdfd2F0Y2hwb2ludCAoQ09SRV9BRERSIGFyZzAsIGludCBh cmcxKSBvdmVycmlkZTsKKysgIGludCByZWdpb25fb2tfZm9yX2h3X3dhdGNocG9pbnQgKENPUkVf QUREUiBhcmcwLCBMT05HRVNUIGFyZzEpIG92ZXJyaWRlOworICAgYm9vbCBjYW5fYWNjZWxfd2F0 Y2hwb2ludF9jb25kaXRpb24gKENPUkVfQUREUiBhcmcwLCBpbnQgYXJnMSwgaW50IGFyZzIsIHN0 cnVjdCBleHByZXNzaW9uICphcmczKSBvdmVycmlkZTsKKyAgIGludCBtYXNrZWRfd2F0Y2hfbnVt X3JlZ2lzdGVycyAoQ09SRV9BRERSIGFyZzAsIENPUkVfQUREUiBhcmcxKSBvdmVycmlkZTsKKyAg IGludCBjYW5fZG9fc2luZ2xlX3N0ZXAgKCkgb3ZlcnJpZGU7CitAQCAtMTA5OCwxOSArMTA5OCwx OSBAQCBkZWJ1Z190YXJnZXQ6OndhdGNocG9pbnRfYWRkcl93aXRoaW5fcmFuZ2UgKENPUkVfQURE UiBhcmcwLCBDT1JFX0FERFIgYXJnMSwgaW50CiAgfQogIAotIHN0YXRpYyBpbnQKLS1kZWxlZ2F0 ZV9yZWdpb25fb2tfZm9yX2h3X3dhdGNocG9pbnQgKHN0cnVjdCB0YXJnZXRfb3BzICpzZWxmLCBD T1JFX0FERFIgYXJnMSwgaW50IGFyZzIpCi0rZGVsZWdhdGVfcmVnaW9uX29rX2Zvcl9od193YXRj aHBvaW50IChzdHJ1Y3QgdGFyZ2V0X29wcyAqc2VsZiwgQ09SRV9BRERSIGFyZzEsIExPTkdFU1Qg YXJnMikKKyBpbnQKKy10YXJnZXRfb3BzOjpyZWdpb25fb2tfZm9yX2h3X3dhdGNocG9pbnQgKENP UkVfQUREUiBhcmcwLCBpbnQgYXJnMSkKKyt0YXJnZXRfb3BzOjpyZWdpb25fb2tfZm9yX2h3X3dh dGNocG9pbnQgKENPUkVfQUREUiBhcmcwLCBMT05HRVNUIGFyZzEpCiAgewotICAgc2VsZiA9IHNl bGYtPmJlbmVhdGg7Ci0gICByZXR1cm4gc2VsZi0+dG9fcmVnaW9uX29rX2Zvcl9od193YXRjaHBv aW50IChzZWxmLCBhcmcxLCBhcmcyKTsKKyAgIHJldHVybiB0aGlzLT5iZW5lYXRoLT5yZWdpb25f b2tfZm9yX2h3X3dhdGNocG9pbnQgKGFyZzAsIGFyZzEpOwogIH0KICAKLSBzdGF0aWMgaW50Ci0t ZGVidWdfcmVnaW9uX29rX2Zvcl9od193YXRjaHBvaW50IChzdHJ1Y3QgdGFyZ2V0X29wcyAqc2Vs ZiwgQ09SRV9BRERSIGFyZzEsIGludCBhcmcyKQotK2RlYnVnX3JlZ2lvbl9va19mb3JfaHdfd2F0 Y2hwb2ludCAoc3RydWN0IHRhcmdldF9vcHMgKnNlbGYsIENPUkVfQUREUiBhcmcxLCBMT05HRVNU IGFyZzIpCisgaW50CistZHVtbXlfdGFyZ2V0OjpyZWdpb25fb2tfZm9yX2h3X3dhdGNocG9pbnQg KENPUkVfQUREUiBhcmcwLCBpbnQgYXJnMSkKKytkdW1teV90YXJnZXQ6OnJlZ2lvbl9va19mb3Jf aHdfd2F0Y2hwb2ludCAoQ09SRV9BRERSIGFyZzAsIExPTkdFU1QgYXJnMSkKKyB7CisgICByZXR1 cm4gZGVmYXVsdF9yZWdpb25fb2tfZm9yX2h3X3dhdGNocG9pbnQgKHRoaXMsIGFyZzAsIGFyZzEp OworIH0KKyAKKyBpbnQKKy1kZWJ1Z190YXJnZXQ6OnJlZ2lvbl9va19mb3JfaHdfd2F0Y2hwb2lu dCAoQ09SRV9BRERSIGFyZzAsIGludCBhcmcxKQorK2RlYnVnX3RhcmdldDo6cmVnaW9uX29rX2Zv cl9od193YXRjaHBvaW50IChDT1JFX0FERFIgYXJnMCwgTE9OR0VTVCBhcmcxKQogIHsKICAgIGlu dCByZXN1bHQ7Ci0gICBmcHJpbnRmX3VuZmlsdGVyZWQgKGdkYl9zdGRsb2csICItPiAlcy0+dG9f cmVnaW9uX29rX2Zvcl9od193YXRjaHBvaW50ICguLi4pXG4iLCBkZWJ1Z190YXJnZXQudG9fc2hv cnRuYW1lKTsKLUBAIC03NzcsNyArNzc3LDcgQEAgZGVidWdfcmVnaW9uX29rX2Zvcl9od193YXRj aHBvaW50IChzdHJ1Y3QgdGFyZ2V0X29wcyAqc2VsZiwgQ09SRV9BRERSIGFyZzEsIGludAorICAg ZnByaW50Zl91bmZpbHRlcmVkIChnZGJfc3RkbG9nLCAiLT4gJXMtPnJlZ2lvbl9va19mb3JfaHdf d2F0Y2hwb2ludCAoLi4uKVxuIiwgdGhpcy0+YmVuZWF0aC0+c2hvcnRuYW1lICgpKTsKK0BAIC0x MTE4LDcgKzExMTgsNyBAQCBkZWJ1Z190YXJnZXQ6OnJlZ2lvbl9va19mb3JfaHdfd2F0Y2hwb2lu dCAoQ09SRV9BRERSIGFyZzAsIGludCBhcmcxKQorICAgZnByaW50Zl91bmZpbHRlcmVkIChnZGJf c3RkbG9nLCAiPC0gJXMtPnJlZ2lvbl9va19mb3JfaHdfd2F0Y2hwb2ludCAoIiwgdGhpcy0+YmVu ZWF0aC0+c2hvcnRuYW1lICgpKTsKKyAgIHRhcmdldF9kZWJ1Z19wcmludF9DT1JFX0FERFIgKGFy ZzApOwogICAgZnB1dHNfdW5maWx0ZXJlZCAoIiwgIiwgZ2RiX3N0ZGxvZyk7Ci0gICB0YXJnZXRf ZGVidWdfcHJpbnRfQ09SRV9BRERSIChhcmcxKTsKLSAgIGZwdXRzX3VuZmlsdGVyZWQgKCIsICIs IGdkYl9zdGRsb2cpOwotLSAgdGFyZ2V0X2RlYnVnX3ByaW50X2ludCAoYXJnMik7Ci0rICB0YXJn ZXRfZGVidWdfcHJpbnRfTE9OR0VTVCAoYXJnMik7CistICB0YXJnZXRfZGVidWdfcHJpbnRfaW50 IChhcmcxKTsKKysgIHRhcmdldF9kZWJ1Z19wcmludF9MT05HRVNUIChhcmcxKTsKICAgIGZwdXRz X3VuZmlsdGVyZWQgKCIpID0gIiwgZ2RiX3N0ZGxvZyk7CiAgICB0YXJnZXRfZGVidWdfcHJpbnRf aW50IChyZXN1bHQpOwogICAgZnB1dHNfdW5maWx0ZXJlZCAoIlxuIiwgZ2RiX3N0ZGxvZyk7CiBk aWZmIC0tZ2l0IGEvZ2RiL3RhcmdldC5jIGIvZ2RiL3RhcmdldC5jCi1pbmRleCA3NDhkNWJiN2Ey Li5hMWFjNmQwNjk3IDEwMDY0NAoraW5kZXggZDk2Y2RlYzQxOC4uN2QwZGEzMmVjNiAxMDA2NDQK IC0tLSBhL2dkYi90YXJnZXQuYwogKysrIGIvZ2RiL3RhcmdldC5jCi1AQCAtNTYsNyArNTYsNyBA QCBzdGF0aWMgaW50IGRlZmF1bHRfd2F0Y2hwb2ludF9hZGRyX3dpdGhpbl9yYW5nZSAoc3RydWN0 IHRhcmdldF9vcHMgKiwKK0BAIC01OSw3ICs1OSw3IEBAIHN0YXRpYyBpbnQgZGVmYXVsdF93YXRj aHBvaW50X2FkZHJfd2l0aGluX3JhbmdlIChzdHJ1Y3QgdGFyZ2V0X29wcyAqLAogIAkJCQkJCSBD T1JFX0FERFIsIENPUkVfQUREUiwgaW50KTsKICAKICBzdGF0aWMgaW50IGRlZmF1bHRfcmVnaW9u X29rX2Zvcl9od193YXRjaHBvaW50IChzdHJ1Y3QgdGFyZ2V0X29wcyAqLApAQCAtMzAzMSw3ICsz MTEwLDcgQEAgaW5kZXggNzQ4ZDViYjdhMi4uYTFhYzZkMDY5NyAxMDA2NDQKICAKICBzdGF0aWMg dm9pZCBkZWZhdWx0X3JjbWQgKHN0cnVjdCB0YXJnZXRfb3BzICosIGNvbnN0IGNoYXIgKiwgc3Ry dWN0IHVpX2ZpbGUgKik7CiAgCi1AQCAtMzExMiw3ICszMTEyLDcgQEAgdGFyZ2V0X2ZpbGVpb19y ZWFkX3N0cmFsbG9jIChzdHJ1Y3QgaW5mZXJpb3IgKmluZiwgY29uc3QgY2hhciAqZmlsZW5hbWUp CitAQCAtMzE5Nyw3ICszMTk3LDcgQEAgdGFyZ2V0X2ZpbGVpb19yZWFkX3N0cmFsbG9jIChzdHJ1 Y3QgaW5mZXJpb3IgKmluZiwgY29uc3QgY2hhciAqZmlsZW5hbWUpCiAgCiAgc3RhdGljIGludAog IGRlZmF1bHRfcmVnaW9uX29rX2Zvcl9od193YXRjaHBvaW50IChzdHJ1Y3QgdGFyZ2V0X29wcyAq c2VsZiwKQEAgLTMwNDEsMjMgKzMxMjAsMjMgQEAgaW5kZXggNzQ4ZDViYjdhMi4uYTFhYzZkMDY5 NyAxMDA2NDQKICAgIHJldHVybiAobGVuIDw9IGdkYmFyY2hfcHRyX2JpdCAodGFyZ2V0X2dkYmFy Y2ggKCkpIC8gVEFSR0VUX0NIQVJfQklUKTsKICB9CiBkaWZmIC0tZ2l0IGEvZ2RiL3RhcmdldC5o IGIvZ2RiL3RhcmdldC5oCi1pbmRleCBlM2EyODgyZmU1Li43YTcwYzNmNmRhIDEwMDY0NAoraW5k ZXggNmUxMzgwOTM5Ny4uYWFlZDM1ZjY5MCAxMDA2NDQKIC0tLSBhL2dkYi90YXJnZXQuaAogKysr IGIvZ2RiL3RhcmdldC5oCi1AQCAtNTQxLDcgKzU0MSw3IEBAIHN0cnVjdCB0YXJnZXRfb3BzCitA QCAtNTU3LDcgKzU1Nyw3IEBAIHN0cnVjdCB0YXJnZXRfb3BzCisgCiAgICAgIC8qIERvY3VtZW50 YXRpb24gb2YgdGhpcyByb3V0aW5lIGlzIHByb3ZpZGVkIHdpdGggdGhlIGNvcnJlc3BvbmRpbmcK ICAgICAgICAgdGFyZ2V0XyogbWFjcm8uICAqLwotICAgICBpbnQgKCp0b19yZWdpb25fb2tfZm9y X2h3X3dhdGNocG9pbnQpIChzdHJ1Y3QgdGFyZ2V0X29wcyAqLAotLQkJCQkJICAgQ09SRV9BRERS LCBpbnQpCi0rCQkJCQkgICBDT1JFX0FERFIsIExPTkdFU1QpCistICAgIHZpcnR1YWwgaW50IHJl Z2lvbl9va19mb3JfaHdfd2F0Y2hwb2ludCAoQ09SRV9BRERSLCBpbnQpCisrICAgIHZpcnR1YWwg aW50IHJlZ2lvbl9va19mb3JfaHdfd2F0Y2hwb2ludCAoQ09SRV9BRERSLCBMT05HRVNUKQogICAg ICAgIFRBUkdFVF9ERUZBVUxUX0ZVTkMgKGRlZmF1bHRfcmVnaW9uX29rX2Zvcl9od193YXRjaHBv aW50KTsKICAKLSAgICAgaW50ICgqdG9fY2FuX2FjY2VsX3dhdGNocG9pbnRfY29uZGl0aW9uKSAo c3RydWN0IHRhcmdldF9vcHMgKiwKKyAgICAgdmlydHVhbCBib29sIGNhbl9hY2NlbF93YXRjaHBv aW50X2NvbmRpdGlvbiAoQ09SRV9BRERSLCBpbnQsIGludCwKIGRpZmYgLS1naXQgYS9nZGIvdHJh Y2Vwb2ludC5jIGIvZ2RiL3RyYWNlcG9pbnQuYwotaW5kZXggYjBmODU1YTZmNC4uMjMwMzNmYTlk ZSAxMDA2NDQKK2luZGV4IDM2OWYwNzU4MWYuLmU3YmNhYTI5M2YgMTAwNjQ0CiAtLS0gYS9nZGIv dHJhY2Vwb2ludC5jCiArKysgYi9nZGIvdHJhY2Vwb2ludC5jCi1AQCAtODUyLDEwICs4NTIsMTAg QEAgY29sbGVjdGlvbl9saXN0OjphZGRfcmVnaXN0ZXIgKHVuc2lnbmVkIGludCByZWdubykKK0BA IC04MjksMTAgKzgyOSwxMCBAQCBjb2xsZWN0aW9uX2xpc3Q6OmFkZF9yZWdpc3RlciAodW5zaWdu ZWQgaW50IHJlZ25vKQogIHZvaWQKICBjb2xsZWN0aW9uX2xpc3Q6OmFkZF9tZW1yYW5nZSAoc3Ry dWN0IGdkYmFyY2ggKmdkYmFyY2gsCiAgCQkJICAgICAgIGludCB0eXBlLCBiZmRfc2lnbmVkX3Zt YSBiYXNlLApAQCAtMzA3MCw3ICszMTQ5LDcgQEAgaW5kZXggYjBmODU1YTZmNC4uMjMwMzNmYTlk ZSAxMDA2NDQKICAKICAgIC8qIHR5cGU6IG1lbXJhbmdlX2Fic29sdXRlID09IG1lbW9yeSwgb3Ro ZXIgbiA9PSBiYXNlcmVnICovCiAgICAvKiBiYXNlOiBhZGRyIGlmIG1lbW9yeSwgb2Zmc2V0IGlm IHJlZyByZWxhdGl2ZS4gICovCi1AQCAtODc1LDcgKzg3NSw3IEBAIGNvbGxlY3Rpb25fbGlzdDo6 Y29sbGVjdF9zeW1ib2wgKHN0cnVjdCBzeW1ib2wgKnN5bSwKK0BAIC04NTIsNyArODUyLDcgQEAg Y29sbGVjdGlvbl9saXN0Ojpjb2xsZWN0X3N5bWJvbCAoc3RydWN0IHN5bWJvbCAqc3ltLAogIAkJ CQkgQ09SRV9BRERSIHNjb3BlLAogIAkJCQkgaW50IHRyYWNlX3N0cmluZykKICB7CkBAIC0zMDc5 LDcgKzMxNTgsNyBAQCBpbmRleCBiMGY4NTVhNmY0Li4yMzAzM2ZhOWRlIDEwMDY0NAogICAgdW5z aWduZWQgaW50IHJlZzsKICAgIGJmZF9zaWduZWRfdm1hIG9mZnNldDsKICAgIGludCB0cmVhdF9h c19leHByID0gMDsKLUBAIC04OTYsOCArODk2LDggQEAgY29sbGVjdGlvbl9saXN0Ojpjb2xsZWN0 X3N5bWJvbCAoc3RydWN0IHN5bWJvbCAqc3ltLAorQEAgLTg3Myw4ICs4NzMsOCBAQCBjb2xsZWN0 aW9uX2xpc3Q6OmNvbGxlY3Rfc3ltYm9sIChzdHJ1Y3Qgc3ltYm9sICpzeW0sCiAgICAgICAgb2Zm c2V0ID0gU1lNQk9MX1ZBTFVFX0FERFJFU1MgKHN5bSk7CiAgICAgICAgaWYgKGluZm9fdmVyYm9z ZSkKICAJewpAQCAtMzA5MCw3ICszMTY5LDcgQEAgaW5kZXggYjBmODU1YTZmNC4uMjMwMzNmYTlk ZSAxMDA2NDQKICAJCQkgICBwYWRkcmVzcyAoZ2RiYXJjaCwgb2Zmc2V0KSk7CiAgCX0KICAgICAg ICAvKiBBIHN0cnVjdCBtYXkgYmUgYSBDKysgY2xhc3Mgd2l0aCBzdGF0aWMgZmllbGRzLCBnbyB0 byBnZW5lcmFsCi1AQCAtOTI5LDkgKzkyOSw5IEBAIGNvbGxlY3Rpb25fbGlzdDo6Y29sbGVjdF9z eW1ib2wgKHN0cnVjdCBzeW1ib2wgKnN5bSwKK0BAIC05MDYsOSArOTA2LDkgQEAgY29sbGVjdGlv bl9saXN0Ojpjb2xsZWN0X3N5bWJvbCAoc3RydWN0IHN5bWJvbCAqc3ltLAogICAgICAgIG9mZnNl dCA9IGZyYW1lX29mZnNldCArIFNZTUJPTF9WQUxVRSAoc3ltKTsKICAgICAgICBpZiAoaW5mb192 ZXJib3NlKQogIAl7CkBAIC0zMTAyLDcgKzMxODEsNyBAQCBpbmRleCBiMGY4NTVhNmY0Li4yMzAz M2ZhOWRlIDEwMDY0NAogIAkJCSAgIHBhZGRyZXNzIChnZGJhcmNoLCBvZmZzZXQpLCByZWcpOwog IAl9CiAgICAgICAgYWRkX21lbXJhbmdlIChnZGJhcmNoLCByZWcsIG9mZnNldCwgbGVuKTsKLUBA IC05NDEsOSArOTQxLDkgQEAgY29sbGVjdGlvbl9saXN0Ojpjb2xsZWN0X3N5bWJvbCAoc3RydWN0 IHN5bWJvbCAqc3ltLAorQEAgLTkxOCw5ICs5MTgsOSBAQCBjb2xsZWN0aW9uX2xpc3Q6OmNvbGxl Y3Rfc3ltYm9sIChzdHJ1Y3Qgc3ltYm9sICpzeW0sCiAgICAgICAgb2Zmc2V0ID0gMDsKICAgICAg ICBpZiAoaW5mb192ZXJib3NlKQogIAl7CkBAIC0zMTE0LDcgKzMxOTMsNyBAQCBpbmRleCBiMGY4 NTVhNmY0Li4yMzAzM2ZhOWRlIDEwMDY0NAogIAkJCSAgIHBhZGRyZXNzIChnZGJhcmNoLCBvZmZz ZXQpLCByZWcpOwogIAl9CiAgICAgICAgYWRkX21lbXJhbmdlIChnZGJhcmNoLCByZWcsIG9mZnNl dCwgbGVuKTsKLUBAIC05NTMsOSArOTUzLDkgQEAgY29sbGVjdGlvbl9saXN0Ojpjb2xsZWN0X3N5 bWJvbCAoc3RydWN0IHN5bWJvbCAqc3ltLAorQEAgLTkzMCw5ICs5MzAsOSBAQCBjb2xsZWN0aW9u X2xpc3Q6OmNvbGxlY3Rfc3ltYm9sIChzdHJ1Y3Qgc3ltYm9sICpzeW0sCiAgICAgICAgb2Zmc2V0 ID0gZnJhbWVfb2Zmc2V0ICsgU1lNQk9MX1ZBTFVFIChzeW0pOwogICAgICAgIGlmIChpbmZvX3Zl cmJvc2UpCiAgCXsKQEAgLTMxMjYsNyArMzIwNSw3IEBAIGluZGV4IGIwZjg1NWE2ZjQuLjIzMDMz ZmE5ZGUgMTAwNjQ0CiAgCQkJICAgcGFkZHJlc3MgKGdkYmFyY2gsIG9mZnNldCksIHJlZyk7CiAg CX0KICAgICAgICBhZGRfbWVtcmFuZ2UgKGdkYmFyY2gsIHJlZywgb2Zmc2V0LCBsZW4pOwotQEAg LTI1MDAsNyArMjUwMCw4IEBAIGluZm9fc2NvcGVfY29tbWFuZCAoY29uc3QgY2hhciAqYXJnc19p biwgaW50IGZyb21fdHR5KQorQEAgLTI0NzUsNyArMjQ3NSw4IEBAIGluZm9fc2NvcGVfY29tbWFu ZCAoY29uc3QgY2hhciAqYXJnc19pbiwgaW50IGZyb21fdHR5KQogICAgY29uc3QgY2hhciAqc3lt bmFtZTsKICAgIGNvbnN0IGNoYXIgKnNhdmVfYXJncyA9IGFyZ3NfaW47CiAgICBzdHJ1Y3QgYmxv Y2tfaXRlcmF0b3IgaXRlcjsKQEAgLTMxMzYsNyArMzIxNSw3IEBAIGluZGV4IGIwZjg1NWE2ZjQu LjIzMDMzZmE5ZGUgMTAwNjQ0CiAgICBzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaDsKICAgIGludCBy ZWdubzsKICAgIGNvbnN0IGNoYXIgKmFyZ3MgPSBhcmdzX2luOwotQEAgLTI2NDQsOCArMjY0NSwx MSBAQCBpbmZvX3Njb3BlX2NvbW1hbmQgKGNvbnN0IGNoYXIgKmFyZ3NfaW4sIGludCBmcm9tX3R0 eSkKK0BAIC0yNjE5LDggKzI2MjAsMTEgQEAgaW5mb19zY29wZV9jb21tYW5kIChjb25zdCBjaGFy ICphcmdzX2luLCBpbnQgZnJvbV90dHkpCiAgCQl9CiAgCSAgICB9CiAgCSAgaWYgKFNZTUJPTF9U WVBFIChzeW0pKQpAQCAtMzE1MSwxMCArMzIzMCwxMCBAQCBpbmRleCBiMGY4NTVhNmY0Li4yMzAz M2ZhOWRlIDEwMDY0NAogICAgICAgIGlmIChCTE9DS19GVU5DVElPTiAoYmxvY2spKQogIAlicmVh azsKIGRpZmYgLS1naXQgYS9nZGIvdHJhY2Vwb2ludC5oIGIvZ2RiL3RyYWNlcG9pbnQuaAotaW5k ZXggOWY0NTk2ZWNkMS4uODU1NGNhZDNiYSAxMDA2NDQKK2luZGV4IDQyZTQxMzAxOGEuLjk3ODA3 NGNiYzggMTAwNjQ0CiAtLS0gYS9nZGIvdHJhY2Vwb2ludC5oCiArKysgYi9nZGIvdHJhY2Vwb2lu dC5oCi1AQCAtMjU1LDcgKzI1NSw3IEBAIHB1YmxpYzoKK0BAIC0yNjUsNyArMjY1LDcgQEAgcHVi bGljOgogICAgdm9pZCBhZGRfcmVnaXN0ZXIgKHVuc2lnbmVkIGludCByZWdubyk7CiAgICB2b2lk IGFkZF9tZW1yYW5nZSAoc3RydWN0IGdkYmFyY2ggKmdkYmFyY2gsCiAgCQkgICAgIGludCB0eXBl LCBiZmRfc2lnbmVkX3ZtYSBiYXNlLApAQCAtMzIxMCwxMCArMzI4OSwxMCBAQCBpbmRleCAwMzVk ZWY1NDY2Li42N2JkN2NmMDNhIDEwMDY0NAogICAgZm9yIChpID0gMDsgaSA8IGxlbjsgaSsrKQog ICAgICB7CiBkaWZmIC0tZ2l0IGEvZ2RiL3ZhbG9wcy5jIGIvZ2RiL3ZhbG9wcy5jCi1pbmRleCA3 YWFjZDE3ZDcwLi5mZGNiN2U0OWU2IDEwMDY0NAoraW5kZXggY2RjNWM4MDE0Yy4uOTZiOTIyZGJl ZiAxMDA2NDQKIC0tLSBhL2dkYi92YWxvcHMuYwogKysrIGIvZ2RiL3ZhbG9wcy5jCi1AQCAtODAs NyArODAsNyBAQCBvbG9hZF9jbGFzc2lmaWNhdGlvbiBjbGFzc2lmeV9vbG9hZF9tYXRjaCAoc3Ry dWN0IGJhZG5lc3NfdmVjdG9yICosCitAQCAtODEsNyArODEsNyBAQCBvbG9hZF9jbGFzc2lmaWNh dGlvbiBjbGFzc2lmeV9vbG9hZF9tYXRjaCAoc3RydWN0IGJhZG5lc3NfdmVjdG9yICosCiAgCQkJ CQkgICBpbnQsIGludCk7CiAgCiAgc3RhdGljIHN0cnVjdCB2YWx1ZSAqdmFsdWVfc3RydWN0X2Vs dF9mb3JfcmVmZXJlbmNlIChzdHJ1Y3QgdHlwZSAqLApAQCAtMzIyMiw3ICszMzAxLDcgQEAgaW5k ZXggN2FhY2QxN2Q3MC4uZmRjYjdlNDllNiAxMDA2NDQKICAJCQkJCQkgICAgIGNvbnN0IGNoYXIg KiwKICAJCQkJCQkgICAgIHN0cnVjdCB0eXBlICosCiAgCQkJCQkJICAgICBpbnQsIGVudW0gbm9z aWRlKTsKLUBAIC0xODIsNyArMTgyLDcgQEAgZmluZF9mdW5jdGlvbl9pbl9pbmZlcmlvciAoY29u c3QgY2hhciAqbmFtZSwgc3RydWN0IG9iamZpbGUgKipvYmpmX3ApCitAQCAtMTgzLDcgKzE4Myw3 IEBAIGZpbmRfZnVuY3Rpb25faW5faW5mZXJpb3IgKGNvbnN0IGNoYXIgKm5hbWUsIHN0cnVjdCBv YmpmaWxlICoqb2JqZl9wKQogICAgIHNwYWNlLiAgKi8KICAKICBzdHJ1Y3QgdmFsdWUgKgpAQCAt MzIzMSw3ICszMzEwLDcgQEAgaW5kZXggN2FhY2QxN2Q3MC4uZmRjYjdlNDllNiAxMDA2NDQKICB7 CiAgICBzdHJ1Y3Qgb2JqZmlsZSAqb2JqZjsKICAgIHN0cnVjdCB2YWx1ZSAqdmFsID0gZmluZF9m dW5jdGlvbl9pbl9pbmZlcmlvciAoIm1hbGxvYyIsICZvYmpmKTsKLUBAIC0zOTcsMTIgKzM5Nywx MiBAQCB2YWx1ZV9jYXN0IChzdHJ1Y3QgdHlwZSAqdHlwZSwgc3RydWN0IHZhbHVlICphcmcyKQor QEAgLTM5OCwxMiArMzk4LDEyIEBAIHZhbHVlX2Nhc3QgKHN0cnVjdCB0eXBlICp0eXBlLCBzdHJ1 Y3QgdmFsdWUgKmFyZzIpCiAgICBpZiAoY29kZTEgPT0gVFlQRV9DT0RFX0FSUkFZKQogICAgICB7 CiAgICAgICAgc3RydWN0IHR5cGUgKmVsZW1lbnRfdHlwZSA9IFRZUEVfVEFSR0VUX1RZUEUgKHR5 cGUpOwpAQCAtMzI0Niw3ICszMzI1LDcgQEAgaW5kZXggN2FhY2QxN2Q3MC4uZmRjYjdlNDllNiAx MDA2NDQKICAJICBMT05HRVNUIGxvd19ib3VuZCwgaGlnaF9ib3VuZCwgbmV3X2xlbmd0aDsKICAK ICAJICBpZiAoZ2V0X2Rpc2NyZXRlX2JvdW5kcyAocmFuZ2VfdHlwZSwgJmxvd19ib3VuZCwgJmhp Z2hfYm91bmQpIDwgMCkKLUBAIC0xMDU0LDcgKzEwNTQsNyBAQCB2YWx1ZV9hc3NpZ24gKHN0cnVj dCB2YWx1ZSAqdG92YWwsIHN0cnVjdCB2YWx1ZSAqZnJvbXZhbCkKK0BAIC0xMDU1LDcgKzEwNTUs NyBAQCB2YWx1ZV9hc3NpZ24gKHN0cnVjdCB2YWx1ZSAqdG92YWwsIHN0cnVjdCB2YWx1ZSAqZnJv bXZhbCkKICAgICAgICB7CiAgCWNvbnN0IGdkYl9ieXRlICpkZXN0X2J1ZmZlcjsKICAJQ09SRV9B RERSIGNoYW5nZWRfYWRkcjsKQEAgLTMyNTUsNyArMzMzNCw3IEBAIGluZGV4IDdhYWNkMTdkNzAu LmZkY2I3ZTQ5ZTYgMTAwNjQ0CiAgICAgICAgICBnZGJfYnl0ZSBidWZmZXJbc2l6ZW9mIChMT05H RVNUKV07CiAgCiAgCWlmICh2YWx1ZV9iaXRzaXplICh0b3ZhbCkpCi1AQCAtMzMyNSw3ICszMzI1 LDcgQEAgY29tcGFyZV9wYXJhbWV0ZXJzIChzdHJ1Y3QgdHlwZSAqdDEsIHN0cnVjdCB0eXBlICp0 MiwgaW50IHNraXBfYXJ0aWZpY2lhbCkKK0BAIC0zMzU3LDcgKzMzNTcsNyBAQCBjb21wYXJlX3Bh cmFtZXRlcnMgKHN0cnVjdCB0eXBlICp0MSwgc3RydWN0IHR5cGUgKnQyLCBpbnQgc2tpcF9hcnRp ZmljaWFsKQogICAgIHRoZSBmb3JtICJET01BSU46Ok5BTUUiLiAgKi8KICAKICBzdGF0aWMgc3Ry dWN0IHZhbHVlICoKQEAgLTMyNjQsNyArMzM0Myw3IEBAIGluZGV4IDdhYWNkMTdkNzAuLmZkY2I3 ZTQ5ZTYgMTAwNjQ0CiAgCQkJCXN0cnVjdCB0eXBlICpjdXJ0eXBlLCBjb25zdCBjaGFyICpuYW1l LAogIAkJCQlzdHJ1Y3QgdHlwZSAqaW50eXBlLCAKICAJCQkJaW50IHdhbnRfYWRkcmVzcywKLUBA IC0zMzU5LDcgKzMzNTksNyBAQCB2YWx1ZV9zdHJ1Y3RfZWx0X2Zvcl9yZWZlcmVuY2UgKHN0cnVj dCB0eXBlICpkb21haW4sIGludCBvZmZzZXQsCitAQCAtMzM5MSw3ICszMzkxLDcgQEAgdmFsdWVf c3RydWN0X2VsdF9mb3JfcmVmZXJlbmNlIChzdHJ1Y3QgdHlwZSAqZG9tYWluLCBpbnQgb2Zmc2V0 LAogIAkgIGlmICh3YW50X2FkZHJlc3MpCiAgCSAgICByZXR1cm4gdmFsdWVfZnJvbV9sb25nZXN0 CiAgCSAgICAgIChsb29rdXBfbWVtYmVycHRyX3R5cGUgKFRZUEVfRklFTERfVFlQRSAodCwgaSks IGRvbWFpbiksCkBAIC0zMjczLDcgKzMzNTIsNyBAQCBpbmRleCA3YWFjZDE3ZDcwLi5mZGNiN2U0 OWU2IDEwMDY0NAogIAkgIGVsc2UgaWYgKG5vc2lkZSAhPSBFVkFMX05PUk1BTCkKICAJICAgIHJl dHVybiBhbGxvY2F0ZV92YWx1ZSAoVFlQRV9GSUVMRF9UWVBFICh0LCBpKSk7CiAgCSAgZWxzZQot QEAgLTM1MzIsNyArMzUzMiw3IEBAIHZhbHVlX3N0cnVjdF9lbHRfZm9yX3JlZmVyZW5jZSAoc3Ry dWN0IHR5cGUgKmRvbWFpbiwgaW50IG9mZnNldCwKK0BAIC0zNTY0LDcgKzM1NjQsNyBAQCB2YWx1 ZV9zdHJ1Y3RfZWx0X2Zvcl9yZWZlcmVuY2UgKHN0cnVjdCB0eXBlICpkb21haW4sIGludCBvZmZz ZXQsCiAgICBmb3IgKGkgPSBUWVBFX05fQkFTRUNMQVNTRVMgKHQpIC0gMTsgaSA+PSAwOyBpLS0p CiAgICAgIHsKICAgICAgICBzdHJ1Y3QgdmFsdWUgKnY7CkBAIC0zMjgyLDcgKzMzNjEsNyBAQCBp bmRleCA3YWFjZDE3ZDcwLi5mZGNiN2U0OWU2IDEwMDY0NAogIAogICAgICAgIGlmIChCQVNFVFlQ RV9WSUFfVklSVFVBTCAodCwgaSkpCiAgCWJhc2Vfb2Zmc2V0ID0gMDsKLUBAIC0zNjgxLDcgKzM2 ODEsNyBAQCB2YWx1ZV9ydHRpX2luZGlyZWN0X3R5cGUgKHN0cnVjdCB2YWx1ZSAqdiwgaW50ICpm dWxsLAorQEAgLTM3MTMsNyArMzcxMyw3IEBAIHZhbHVlX3J0dGlfaW5kaXJlY3RfdHlwZSAoc3Ry dWN0IHZhbHVlICp2LCBpbnQgKmZ1bGwsCiAgc3RydWN0IHZhbHVlICoKICB2YWx1ZV9mdWxsX29i amVjdCAoc3RydWN0IHZhbHVlICphcmdwLCAKICAJCSAgIHN0cnVjdCB0eXBlICpydHlwZSwgCkBA IC0zMjkyLDEwICszMzcxLDEwIEBAIGluZGV4IDdhYWNkMTdkNzAuLmZkY2I3ZTQ5ZTYgMTAwNjQ0 CiAgewogICAgc3RydWN0IHR5cGUgKnJlYWxfdHlwZTsKIGRpZmYgLS1naXQgYS9nZGIvdmFscHJp bnQuYyBiL2dkYi92YWxwcmludC5jCi1pbmRleCBkMDFkMDJmYzA5Li5lMmQ4N2MwNWJjIDEwMDY0 NAoraW5kZXggMjUzN2Q3N2MxOS4uYmU0YmEwNWM5MSAxMDA2NDQKIC0tLSBhL2dkYi92YWxwcmlu dC5jCiArKysgYi9nZGIvdmFscHJpbnQuYwotQEAgLTg4Miw3ICs4ODIsNyBAQCBnZW5lcmljX3Zh bF9wcmludF9jb21wbGV4IChzdHJ1Y3QgdHlwZSAqdHlwZSwKK0BAIC04NzksNyArODc5LDcgQEAg Z2VuZXJpY192YWxfcHJpbnRfY29tcGxleCAoc3RydWN0IHR5cGUgKnR5cGUsCiAgCiAgdm9pZAog IGdlbmVyaWNfdmFsX3ByaW50IChzdHJ1Y3QgdHlwZSAqdHlwZSwKQEAgLTMzMDQsNyArMzM4Myw3 IEBAIGluZGV4IGQwMWQwMmZjMDkuLmUyZDg3YzA1YmMgMTAwNjQ0CiAgCQkgICBzdHJ1Y3QgdWlf ZmlsZSAqc3RyZWFtLCBpbnQgcmVjdXJzZSwKICAJCSAgIHN0cnVjdCB2YWx1ZSAqb3JpZ2luYWxf dmFsdWUsCiAgCQkgICBjb25zdCBzdHJ1Y3QgdmFsdWVfcHJpbnRfb3B0aW9ucyAqb3B0aW9ucywK LUBAIC0xNzc2LDcgKzE3NzYsNyBAQCBwcmludF9kZWNpbWFsX2NoYXJzIChzdHJ1Y3QgdWlfZmls ZSAqc3RyZWFtLCBjb25zdCBnZGJfYnl0ZSAqdmFsYWRkciwKK0BAIC0xNzczLDcgKzE3NzMsNyBA QCBwcmludF9kZWNpbWFsX2NoYXJzIChzdHJ1Y3QgdWlfZmlsZSAqc3RyZWFtLCBjb25zdCBnZGJf Ynl0ZSAqdmFsYWRkciwKICAKICB2b2lkCiAgcHJpbnRfaGV4X2NoYXJzIChzdHJ1Y3QgdWlfZmls ZSAqc3RyZWFtLCBjb25zdCBnZGJfYnl0ZSAqdmFsYWRkciwKQEAgLTMzMTMsNyArMzM5Miw3IEBA IGluZGV4IGQwMWQwMmZjMDkuLmUyZDg3YzA1YmMgMTAwNjQ0CiAgCQkgYm9vbCB6ZXJvX3BhZCkK ICB7CiAgICBjb25zdCBnZGJfYnl0ZSAqcDsKLUBAIC0xOTI5LDE3ICsxOTI5LDE3IEBAIHZhbF9w cmludF9hcnJheV9lbGVtZW50cyAoc3RydWN0IHR5cGUgKnR5cGUsCitAQCAtMTkyNiwxNyArMTky NiwxNyBAQCB2YWxfcHJpbnRfYXJyYXlfZWxlbWVudHMgKHN0cnVjdCB0eXBlICp0eXBlLAogIAkJ CSAgaW50IHJlY3Vyc2UsCiAgCQkJICBzdHJ1Y3QgdmFsdWUgKnZhbCwKICAJCQkgIGNvbnN0IHN0 cnVjdCB2YWx1ZV9wcmludF9vcHRpb25zICpvcHRpb25zLApAQCAtMzMzNiw3ICszNDE1LDcgQEAg aW5kZXggZDAxZDAyZmMwOS4uZTJkODdjMDViYyAxMDA2NDQKICAgIExPTkdFU1QgbG93X2JvdW5k LCBoaWdoX2JvdW5kOwogICAgTE9OR0VTVCBsb3dfcG9zLCBoaWdoX3BvczsKICAKLUBAIC0yMDI5 LDcgKzIwMjksNyBAQCB2YWxfcHJpbnRfYXJyYXlfZWxlbWVudHMgKHN0cnVjdCB0eXBlICp0eXBl LAorQEAgLTIwMjYsNyArMjAyNiw3IEBAIHZhbF9wcmludF9hcnJheV9lbGVtZW50cyAoc3RydWN0 IHR5cGUgKnR5cGUsCiAgCQkgICAgIGFkZHJlc3MsIHN0cmVhbSwgcmVjdXJzZSArIDEsIHZhbCwg b3B0aW9ucywKICAJCSAgICAgY3VycmVudF9sYW5ndWFnZSk7CiAgCSAgYW5ub3RhdGVfZWx0X3Jl cCAocmVwcyk7CkBAIC0zMzQ1LDcgKzM0MjQsNyBAQCBpbmRleCBkMDFkMDJmYzA5Li5lMmQ4N2Mw NWJjIDEwMDY0NAogIAkgIGFubm90YXRlX2VsdF9yZXBfZW5kICgpOwogIAogIAkgIGkgPSByZXAx IC0gMTsKLUBAIC0yNjc1LDcgKzI2NzUsNyBAQCBwcmludF9jb252ZXJ0ZWRfY2hhcnNfdG9fb2Jz dGFjayAoc3RydWN0IG9ic3RhY2sgKm9ic3RhY2ssCitAQCAtMjY3Miw3ICsyNjcyLDcgQEAgcHJp bnRfY29udmVydGVkX2NoYXJzX3RvX29ic3RhY2sgKHN0cnVjdCBvYnN0YWNrICpvYnN0YWNrLAog IAogIHZvaWQKICBnZW5lcmljX3ByaW50c3RyIChzdHJ1Y3QgdWlfZmlsZSAqc3RyZWFtLCBzdHJ1 Y3QgdHlwZSAqdHlwZSwgCkBAIC0zMzU1LDcgKzM0MzQsNyBAQCBpbmRleCBkMDFkMDJmYzA5Li5l MmQ4N2MwNWJjIDEwMDY0NAogIAkJICBpbnQgcXVvdGVfY2hhciwgaW50IGNfc3R5bGVfdGVybWlu YXRvciwKICAJCSAgY29uc3Qgc3RydWN0IHZhbHVlX3ByaW50X29wdGlvbnMgKm9wdGlvbnMpCiBk aWZmIC0tZ2l0IGEvZ2RiL3ZhbHByaW50LmggYi9nZGIvdmFscHJpbnQuaAotaW5kZXggZjAwNWMz MWY4Ny4uNmZmYjU4YzA0ZSAxMDA2NDQKK2luZGV4IDFmNjIwMzliZTUuLjAwZTNjYzU3MTQgMTAw NjQ0CiAtLS0gYS9nZGIvdmFscHJpbnQuaAogKysrIGIvZ2RiL3ZhbHByaW50LmgKIEBAIC0xMTks NyArMTE5LDcgQEAgZXh0ZXJuIHZvaWQgdmFsX3ByaW50X2FycmF5X2VsZW1lbnRzIChzdHJ1Y3Qg dHlwZSAqLCBMT05HRVNULApAQCAtMzM5NSwxMCArMzQ3NCwxMCBAQCBpbmRleCBmMDA1YzMxZjg3 Li42ZmZiNThjMDRlIDEwMDY0NAogIAkJCSAgICAgIGludCBxdW90ZV9jaGFyLCBpbnQgY19zdHls ZV90ZXJtaW5hdG9yLAogIAkJCSAgICAgIGNvbnN0IHN0cnVjdCB2YWx1ZV9wcmludF9vcHRpb25z ICpvcHRpb25zKTsKIGRpZmYgLS1naXQgYS9nZGIvdmFsdWUuYyBiL2dkYi92YWx1ZS5jCi1pbmRl eCA1NThkMGJiZDdhLi5iNjQwNmZlZGM5IDEwMDY0NAoraW5kZXggOThjMDYwYzY1Zi4uNTY5Mjgx ZGJiZCAxMDA2NDQKIC0tLSBhL2dkYi92YWx1ZS5jCiArKysgYi9nZGIvdmFsdWUuYwotQEAgLTM2 Myw3ICszNjMsOCBAQCB2YWx1ZV9ieXRlc19hdmFpbGFibGUgKGNvbnN0IHN0cnVjdCB2YWx1ZSAq dmFsdWUsCitAQCAtMzg0LDcgKzM4NCw4IEBAIHZhbHVlX2J5dGVzX2F2YWlsYWJsZSAoY29uc3Qg c3RydWN0IHZhbHVlICp2YWx1ZSwKICB9CiAgCiAgaW50CkBAIC0zNDA4LDcgKzM0ODcsNyBAQCBp bmRleCA1NThkMGJiZDdhLi5iNjQwNmZlZGM5IDEwMDY0NAogIHsKICAgIGdkYl9hc3NlcnQgKCF2 YWx1ZS0+bGF6eSk7CiAgCi1AQCAtODA5LDggKzgxMCw4IEBAIGZpbmRfZmlyc3RfcmFuZ2Vfb3Zl cmxhcF9hbmRfbWF0Y2ggKHN0cnVjdCByYW5nZXNfYW5kX2lkeCAqcnAxLAorQEAgLTgzMiw4ICs4 MzMsOCBAQCBmaW5kX2ZpcnN0X3JhbmdlX292ZXJsYXBfYW5kX21hdGNoIChzdHJ1Y3QgcmFuZ2Vz X2FuZF9pZHggKnJwMSwKICAgICBSZXR1cm4gdHJ1ZSBpZiB0aGUgYXZhaWxhYmxlIGJpdHMgbWF0 Y2guICAqLwogIAogIHN0YXRpYyBib29sCkBAIC0zNDE5LDcgKzM0OTgsNyBAQCBpbmRleCA1NThk MGJiZDdhLi5iNjQwNmZlZGM5IDEwMDY0NAogIAkJCWludCBsZW5ndGgpCiAgewogICAgLyogRWFj aCBhcnJheSBlbGVtZW50IGNvcnJlc3BvbmRzIHRvIGEgcmFuZ2VzIHNvdXJjZSAodW5hdmFpbGFi bGUsCi1AQCAtMTQ0NSw3ICsxNDQ2LDggQEAgdmFsdWVfb3B0aW1pemVkX291dCAoc3RydWN0IHZh bHVlICp2YWx1ZSkKK0BAIC0xNDI0LDcgKzE0MjUsOCBAQCB2YWx1ZV9vcHRpbWl6ZWRfb3V0IChz dHJ1Y3QgdmFsdWUgKnZhbHVlKQogICAgIHRoZSBmb2xsb3dpbmcgTEVOR1RIIGJ5dGVzLiAgKi8K ICAKICB2b2lkCkBAIC0zNDMwLDEwICszNTA5LDEwIEBAIGluZGV4IDU1OGQwYmJkN2EuLmI2NDA2 ZmVkYzkgMTAwNjQ0CiAgICBtYXJrX3ZhbHVlX2JpdHNfb3B0aW1pemVkX291dCAodmFsdWUsCiAg CQkJCSBvZmZzZXQgKiBUQVJHRVRfQ0hBUl9CSVQsCiBkaWZmIC0tZ2l0IGEvZ2RiL3ZhbHVlLmgg Yi9nZGIvdmFsdWUuaAotaW5kZXggMDNjYTA2NDQ4Zi4uOWM3MzQ2NGNmMCAxMDA2NDQKK2luZGV4 IGU4MzhmZDU4MGUuLjc3NmU4MzNmZmYgMTAwNjQ0CiAtLS0gYS9nZGIvdmFsdWUuaAogKysrIGIv Z2RiL3ZhbHVlLmgKLUBAIC0yNDUsNyArMjQ1LDcgQEAgc3RydWN0IGx2YWxfZnVuY3MKK0BAIC0y NzQsNyArMjc0LDcgQEAgc3RydWN0IGx2YWxfZnVuY3MKICAgIC8qIElmIG5vbi1OVUxMLCB0aGlz IGlzIHVzZWQgdG8gZGV0ZXJtaW5lIHdoZXRoZXIgdGhlIGluZGljYXRlZCBiaXRzCiAgICAgICBv ZiBWQUxVRSBhcmUgYSBzeW50aGV0aWMgcG9pbnRlci4gICovCiAgICBpbnQgKCpjaGVja19zeW50 aGV0aWNfcG9pbnRlcikgKGNvbnN0IHN0cnVjdCB2YWx1ZSAqdmFsdWUsCkBAIC0zNDQyLDcgKzM1 MjEsNyBAQCBpbmRleCAwM2NhMDY0NDhmLi45YzczNDY0Y2YwIDEwMDY0NAogIAogICAgLyogUmV0 dXJuIGEgZHVwbGljYXRlIG9mIFZBTFVFJ3MgY2xvc3VyZSwgZm9yIHVzZSBpbiBhIG5ldyB2YWx1 ZS4KICAgICAgIFRoaXMgbWF5IHNpbXBseSByZXR1cm4gdGhlIHNhbWUgY2xvc3VyZSwgaWYgVkFM VUUncyBpcwotQEAgLTM3Niw3ICszNzYsOCBAQCBleHRlcm4gaW50IHZhbHVlX29wdGltaXplZF9v dXQgKHN0cnVjdCB2YWx1ZSAqdmFsdWUpOworQEAgLTQwNSw3ICs0MDUsOCBAQCBleHRlcm4gaW50 IHZhbHVlX29wdGltaXplZF9vdXQgKHN0cnVjdCB2YWx1ZSAqdmFsdWUpOwogICAgIG90aGVyd2lz ZS4gICovCiAgCiAgZXh0ZXJuIGludCB2YWx1ZV9iaXRzX2FueV9vcHRpbWl6ZWRfb3V0IChjb25z dCBzdHJ1Y3QgdmFsdWUgKnZhbHVlLApAQCAtMzQ1Miw3ICszNTMxLDcgQEAgaW5kZXggMDNjYTA2 NDQ4Zi4uOWM3MzQ2NGNmMCAxMDA2NDQKICAKICAvKiBMaWtlIHZhbHVlX29wdGltaXplZF9vdXQs IGJ1dCByZXR1cm4gdHJ1ZSBpZmYgdGhlIHdob2xlIHZhbHVlIGlzCiAgICAgb3B0aW1pemVkIG91 dC4gICovCi1AQCAtMzg2LDcgKzM4Nyw3IEBAIGV4dGVybiBpbnQgdmFsdWVfZW50aXJlbHlfb3B0 aW1pemVkX291dCAoc3RydWN0IHZhbHVlICp2YWx1ZSk7CitAQCAtNDE1LDcgKzQxNiw3IEBAIGV4 dGVybiBpbnQgdmFsdWVfZW50aXJlbHlfb3B0aW1pemVkX291dCAoc3RydWN0IHZhbHVlICp2YWx1 ZSk7CiAgICAgTEVOR1RIIGJ5dGVzIGFzIG9wdGltaXplZCBvdXQuICAqLwogIAogIGV4dGVybiB2 b2lkIG1hcmtfdmFsdWVfYnl0ZXNfb3B0aW1pemVkX291dCAoc3RydWN0IHZhbHVlICp2YWx1ZSwK QEAgLTM0NjEsNyArMzU0MCw3IEBAIGluZGV4IDAzY2EwNjQ0OGYuLjljNzM0NjRjZjAgMTAwNjQ0 CiAgCiAgLyogTWFyayBWQUxVRSdzIGNvbnRlbnQgYml0cyBzdGFydGluZyBhdCBPRkZTRVQgYW5k IGV4dGVuZGluZyBmb3IKICAgICBMRU5HVEggYml0cyBhcyBvcHRpbWl6ZWQgb3V0LiAgKi8KLUBA IC04MjAsMTIgKzgyMSwxMSBAQCBleHRlcm4gc3RydWN0IHZhbHVlICp2YWx1ZV9wcmltaXRpdmVf ZmllbGQgKHN0cnVjdCB2YWx1ZSAqYXJnMSwgTE9OR0VTVCBvZmZzZXQsCitAQCAtODQ5LDEyICs4 NTAsMTEgQEAgZXh0ZXJuIHN0cnVjdCB2YWx1ZSAqdmFsdWVfcHJpbWl0aXZlX2ZpZWxkIChzdHJ1 Y3QgdmFsdWUgKmFyZzEsIExPTkdFU1Qgb2Zmc2V0LAogIAkJCQkJICAgIGludCBmaWVsZG5vLAog IAkJCQkJICAgIHN0cnVjdCB0eXBlICphcmdfdHlwZSk7CiAgCkBAIC0zNDc1LDcgKzM1NTQsNyBA QCBpbmRleCAwM2NhMDY0NDhmLi45YzczNDY0Y2YwIDEwMDY0NAogIAogIGV4dGVybiBzdHJ1Y3Qg dmFsdWUgKnZhbHVlX2Nhc3RfcG9pbnRlcnMgKHN0cnVjdCB0eXBlICosIHN0cnVjdCB2YWx1ZSAq LCBpbnQpOwogIAotQEAgLTExMzYsMTAgKzExMzYsMTEgQEAgZXh0ZXJuIHN0cnVjdCB2YWx1ZSAq dmFsdWVfbGl0ZXJhbF9jb21wbGV4IChzdHJ1Y3QgdmFsdWUgKiwgc3RydWN0IHZhbHVlICosCitA QCAtMTE0NywxMCArMTE0NywxMSBAQCBleHRlcm4gc3RydWN0IHZhbHVlICp2YWx1ZV9saXRlcmFs X2NvbXBsZXggKHN0cnVjdCB2YWx1ZSAqLCBzdHJ1Y3QgdmFsdWUgKiwKICBleHRlcm4gc3RydWN0 IHZhbHVlICpmaW5kX2Z1bmN0aW9uX2luX2luZmVyaW9yIChjb25zdCBjaGFyICosCiAgCQkJCQkJ c3RydWN0IG9iamZpbGUgKiopOwogIApAQCAtMzQ5MCwxNSArMzU2OSwzNyBAQCBpbmRleCAwM2Nh MDY0NDhmLi45YzczNDY0Y2YwIDEwMDY0NAogIC8qIFVzZXIgZnVuY3Rpb24gaGFuZGxlci4gICov CiAgCiBkaWZmIC0tZ2l0IGEvZ2RiL3g4Ni1uYXQuYyBiL2dkYi94ODYtbmF0LmMKLWluZGV4IGIx MjZjNDdjOTQuLjgyNWI0ODdhOWEgMTAwNjQ0CitpbmRleCBjZmQyOTNjMTdmLi44ODg2ZGYyZDRk IDEwMDY0NAogLS0tIGEvZ2RiL3g4Ni1uYXQuYwogKysrIGIvZ2RiL3g4Ni1uYXQuYwotQEAgLTE3 NCw3ICsxNzQsNyBAQCB4ODZfcmVtb3ZlX3dhdGNocG9pbnQgKHN0cnVjdCB0YXJnZXRfb3BzICpz ZWxmLCBDT1JFX0FERFIgYWRkciwgaW50IGxlbiwKK0BAIC0xNzMsNyArMTczLDcgQEAgeDg2X3Jl bW92ZV93YXRjaHBvaW50IChDT1JFX0FERFIgYWRkciwgaW50IGxlbiwKKyAgICBhZGRyZXNzIEFE RFIgYW5kIHdob3NlIGxlbmd0aCBpcyBMRU4gYnl0ZXMuICAqLwogIAotIHN0YXRpYyBpbnQKLSB4 ODZfcmVnaW9uX29rX2Zvcl93YXRjaHBvaW50IChzdHJ1Y3QgdGFyZ2V0X29wcyAqc2VsZiwKLS0J CQkgICAgICBDT1JFX0FERFIgYWRkciwgaW50IGxlbikKLSsJCQkgICAgICBDT1JFX0FERFIgYWRk ciwgTE9OR0VTVCBsZW4pCisgaW50CisteDg2X3JlZ2lvbl9va19mb3JfaHdfd2F0Y2hwb2ludCAo Q09SRV9BRERSIGFkZHIsIGludCBsZW4pCisreDg2X3JlZ2lvbl9va19mb3JfaHdfd2F0Y2hwb2lu dCAoQ09SRV9BRERSIGFkZHIsIExPTkdFU1QgbGVuKQogIHsKICAgIHN0cnVjdCB4ODZfZGVidWdf cmVnX3N0YXRlICpzdGF0ZQogICAgICA9IHg4Nl9kZWJ1Z19yZWdfc3RhdGUgKHB0aWRfZ2V0X3Bp ZCAoaW5mZXJpb3JfcHRpZCkpOworZGlmZiAtLWdpdCBhL2dkYi94ODYtbmF0LmggYi9nZGIveDg2 LW5hdC5oCitpbmRleCBjYzI3ZmE0M2I0Li5iYWIxNWRlZjdiIDEwMDY0NAorLS0tIGEvZ2RiL3g4 Ni1uYXQuaAorKysrIGIvZ2RiL3g4Ni1uYXQuaAorQEAgLTQ5LDcgKzQ5LDcgQEAgZXh0ZXJuIHZv aWQgeDg2X2ZvcmdldF9wcm9jZXNzIChwaWRfdCBwaWQpOworICAgIGRlZmluaXRpb25zLiAgKi8K KyAKKyBleHRlcm4gaW50IHg4Nl9jYW5fdXNlX2h3X2JyZWFrcG9pbnQgKGVudW0gYnB0eXBlIHR5 cGUsIGludCBjbnQsIGludCBvdGhlcnR5cGUpOworLWV4dGVybiBpbnQgeDg2X3JlZ2lvbl9va19m b3JfaHdfd2F0Y2hwb2ludCAoQ09SRV9BRERSIGFkZHIsIGludCBsZW4pOworK2V4dGVybiBpbnQg eDg2X3JlZ2lvbl9va19mb3JfaHdfd2F0Y2hwb2ludCAoQ09SRV9BRERSIGFkZHIsIExPTkdFU1Qg bGVuKTsKKyBleHRlcm4gaW50IHg4Nl9zdG9wcGVkX2J5X3dhdGNocG9pbnQgKCk7CisgZXh0ZXJu IGludCB4ODZfc3RvcHBlZF9kYXRhX2FkZHJlc3MgKENPUkVfQUREUiAqYWRkcl9wKTsKKyBleHRl cm4gaW50IHg4Nl9pbnNlcnRfd2F0Y2hwb2ludCAoQ09SRV9BRERSIGFkZHIsIGludCBsZW4sCitA QCAtODIsNyArODIsNyBAQCBzdHJ1Y3QgeDg2X25hdF90YXJnZXQgOiBwdWJsaWMgQmFzZVRhcmdl dAorICAgaW50IGNhbl91c2VfaHdfYnJlYWtwb2ludCAoZW51bSBicHR5cGUgdHlwZSwgaW50IGNu dCwgaW50IG90aGVydHlwZSkgb3ZlcnJpZGUKKyAgIHsgcmV0dXJuIHg4Nl9jYW5fdXNlX2h3X2Jy ZWFrcG9pbnQgKHR5cGUsIGNudCwgb3RoZXJ0eXBlKTsgfQorIAorLSAgaW50IHJlZ2lvbl9va19m b3JfaHdfd2F0Y2hwb2ludCAoQ09SRV9BRERSIGFkZHIsIGludCBsZW4pIG92ZXJyaWRlCisrICBp bnQgcmVnaW9uX29rX2Zvcl9od193YXRjaHBvaW50IChDT1JFX0FERFIgYWRkciwgTE9OR0VTVCBs ZW4pIG92ZXJyaWRlCisgICB7IHJldHVybiB4ODZfcmVnaW9uX29rX2Zvcl9od193YXRjaHBvaW50 IChhZGRyLCBsZW4pOyB9CisgCisgICBpbnQgaW5zZXJ0X3dhdGNocG9pbnQgKENPUkVfQUREUiBh ZGRyLCBpbnQgbGVuLAoKZGlmZiAtLWdpdCBhL2dkYi1yaGJ6Nzk1NDI0LWJpdHBvcy0yMW9mMjUu cGF0Y2ggYi9nZGItcmhiejc5NTQyNC1iaXRwb3MtMjFvZjI1LnBhdGNoCmluZGV4IDdlMDQwYzYu Ljg0ZjQwZjggMTAwNjQ0Ci0tLSBhL2dkYi1yaGJ6Nzk1NDI0LWJpdHBvcy0yMW9mMjUucGF0Y2gK KysrIGIvZ2RiLXJoYno3OTU0MjQtYml0cG9zLTIxb2YyNS5wYXRjaApAQCAtNjIsMTAgKzYyLDEw IEBAIENvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDdiaXQKIENvbnRlbnQtRGlzcG9zaXRpb246 IGF0dGFjaG1lbnQ7IGZpbGVuYW1lPWJpdHBvcy1lbnN1cmUtc2l6ZV90LnBhdGNoCiAKIGRpZmYg LS1naXQgYS9nZGIvYWxwaGEtdGRlcC5jIGIvZ2RiL2FscGhhLXRkZXAuYwotaW5kZXggNTJhNDZk OTZlYS4uZWE1M2I5ZWUxMCAxMDA2NDQKK2luZGV4IDc4NDIyZmFhNmMuLjliNzQ5NTU5YTEgMTAw NjQ0CiAtLS0gYS9nZGIvYWxwaGEtdGRlcC5jCiArKysgYi9nZGIvYWxwaGEtdGRlcC5jCi1AQCAt NDE1LDYgKzQxNSwxMyBAQCBhbHBoYV9wdXNoX2R1bW15X2NhbGwgKHN0cnVjdCBnZGJhcmNoICpn ZGJhcmNoLCBzdHJ1Y3QgdmFsdWUgKmZ1bmN0aW9uLAorQEAgLTQxMyw2ICs0MTMsMTMgQEAgYWxw aGFfcHVzaF9kdW1teV9jYWxsIChzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCwgc3RydWN0IHZhbHVl ICpmdW5jdGlvbiwKICAgICAgYWNjdW11bGF0ZV9zaXplID0gMDsKICAgIGVsc2UKICAgICAgYWNj dW11bGF0ZV9zaXplIC09IHNpemVvZihhcmdfcmVnX2J1ZmZlcik7CkBAIC04MCw3ICs4MCw3IEBA IGluZGV4IDUyYTQ2ZDk2ZWEuLmVhNTNiOWVlMTAgMTAwNjQ0CiAgCiAgICAvKiBLZWVwIHNwIGFs aWduZWQgdG8gYSBtdWx0aXBsZSBvZiAxNiBhcyB0aGUgQUJJIHJlcXVpcmVzLiAgKi8KIGRpZmYg LS1naXQgYS9nZGIvY3AtdmFscHJpbnQuYyBiL2dkYi9jcC12YWxwcmludC5jCi1pbmRleCBkYjNm ZjMzOGQxLi40ZDA2NjgwMjM5IDEwMDY0NAoraW5kZXggMjVmMTUxMjg1Ny4uODIzYWM4ZmJkNiAx MDA2NDQKIC0tLSBhL2dkYi9jcC12YWxwcmludC5jCiArKysgYi9nZGIvY3AtdmFscHJpbnQuYwog QEAgLTUyOSw2ICs1MjksNyBAQCBjcF9wcmludF92YWx1ZSAoc3RydWN0IHR5cGUgKnR5cGUsIHN0 cnVjdCB0eXBlICpyZWFsX3R5cGUsCkBAIC05MiwxMCArOTIsMTAgQEAgaW5kZXggZGIzZmYzMzhk MS4uNGQwNjY4MDIzOSAxMDA2NDQKICAKICAJCSAgaWYgKHRhcmdldF9yZWFkX21lbW9yeSAoYWRk cmVzcyArIGJvZmZzZXQsIGJ1Zi5kYXRhICgpLAogZGlmZiAtLWdpdCBhL2dkYi9kZWZzLmggYi9n ZGIvZGVmcy5oCi1pbmRleCA0ZmIyMTI5YjMwLi4wYzE1NmQ1NmMzIDEwMDY0NAoraW5kZXggZGMz OGEyODhjNS4uY2U1ZmVlM2JhMyAxMDA2NDQKIC0tLSBhL2dkYi9kZWZzLmgKICsrKyBiL2dkYi9k ZWZzLmgKLUBAIC03MDUsNCArNzA1LDYgQEAgREVGX0VOVU1fRkxBR1NfVFlQRSAoZW51bSB1c2Vy X3NlbGVjdGVkX3doYXRfZmxhZywgdXNlcl9zZWxlY3RlZF93aGF0KTsKK0BAIC02NzQsNCArNjc0 LDYgQEAgREVGX0VOVU1fRkxBR1NfVFlQRSAoZW51bSB1c2VyX3NlbGVjdGVkX3doYXRfZmxhZywg dXNlcl9zZWxlY3RlZF93aGF0KTsKICAKICAjaW5jbHVkZSAidXRpbHMuaCIKICAKQEAgLTExNSwx MCArMTE1LDEwIEBAIGluZGV4IGU1YzFiMDcwNDAuLjA2ZmIzYjc3YzkgMTAwNjQ0CiAgCiAgCSAg ICAgIGJhc2VfdmFsYWRkciA9IGJ1Zi5kYXRhICgpOwogZGlmZiAtLWdpdCBhL2dkYi91dGlscy5j IGIvZ2RiL3V0aWxzLmMKLWluZGV4IDAwNjZiZmNjNGIuLjZmMGFiYzk4YTIgMTAwNjQ0CitpbmRl eCA3ODEzZGYxNDM2Li5jODE2ZTJmODk3IDEwMDY0NAogLS0tIGEvZ2RiL3V0aWxzLmMKICsrKyBi L2dkYi91dGlscy5jCi1AQCAtMjgzNiw2ICsyODM2LDE4IEBAIHN0cmluZ190b19jb3JlX2FkZHIg KGNvbnN0IGNoYXIgKm15X3N0cmluZykKK0BAIC0yODE2LDYgKzI4MTYsMTcgQEAgc3RyaW5nX3Rv X2NvcmVfYWRkciAoY29uc3QgY2hhciAqbXlfc3RyaW5nKQogICAgcmV0dXJuIGFkZHI7CiAgfQog IApAQCAtMTMzLDE1ICsxMzMsMTQgQEAgaW5kZXggMDA2NmJmY2M0Yi4uNmYwYWJjOThhMiAxMDA2 NDQKICsJICAgICAibWF4aW11bSBhbGxvd2VkICVzIGJ5dGVzLiIpLCBwdWxvbmdlc3QgKG51bSks CiArCSAgIHB1bG9uZ2VzdCAoU0laRV9NQVggLyA4KSk7CiArfQotKwotIGdkYjo6dW5pcXVlX3ht YWxsb2NfcHRyPGNoYXI+Ci0gZ2RiX3JlYWxwYXRoIChjb25zdCBjaGFyICpmaWxlbmFtZSkKLSB7 CisgI2lmIEdEQl9TRUxGX1RFU1QKKyAKKyBzdGF0aWMgdm9pZAogZGlmZiAtLWdpdCBhL2dkYi92 YWxvcHMuYyBiL2dkYi92YWxvcHMuYwotaW5kZXggZmRjYjdlNDllNi4uZGRjNTNmMTMxZSAxMDA2 NDQKK2luZGV4IDk2YjkyMmRiZWYuLmE3ZjliZTVmNGUgMTAwNjQ0CiAtLS0gYS9nZGIvdmFsb3Bz LmMKICsrKyBiL2dkYi92YWxvcHMuYwotQEAgLTIwODcsNiArMjA4Nyw3IEBAIHNlYXJjaF9zdHJ1 Y3RfbWV0aG9kIChjb25zdCBjaGFyICpuYW1lLCBzdHJ1Y3QgdmFsdWUgKiphcmcxcCwKK0BAIC0y MDg4LDYgKzIwODgsNyBAQCBzZWFyY2hfc3RydWN0X21ldGhvZCAoY29uc3QgY2hhciAqbmFtZSwg c3RydWN0IHZhbHVlICoqYXJnMXAsCiAgCSAgICB7CiAgCSAgICAgIENPUkVfQUREUiBhZGRyZXNz OwogIApAQCAtMTUwLDE4ICsxNDksMTggQEAgaW5kZXggZmRjYjdlNDllNi4uZGRjNTNmMTMxZSAx MDA2NDQKICAJICAgICAgYWRkcmVzcyA9IHZhbHVlX2FkZHJlc3MgKCphcmcxcCk7CiAgCiBkaWZm IC0tZ2l0IGEvZ2RiL3ZhbHVlLmMgYi9nZGIvdmFsdWUuYwotaW5kZXggYjY0MDZmZWRjOS4uYWM3 ZDA3YTdiNSAxMDA2NDQKK2luZGV4IDU2OTI4MWRiYmQuLjE5NjRjZjc3MWMgMTAwNjQ0CiAtLS0g YS9nZGIvdmFsdWUuYwogKysrIGIvZ2RiL3ZhbHVlLmMKLUBAIC05MjYsNiArOTI2LDcgQEAgYWxs b2NhdGVfdmFsdWVfbGF6eSAoc3RydWN0IHR5cGUgKnR5cGUpCitAQCAtOTM0LDYgKzkzNCw3IEBA IGFsbG9jYXRlX3ZhbHVlX2xhenkgKHN0cnVjdCB0eXBlICp0eXBlKQogICAgICAgZGVzY3JpcHRp b24gY29ycmVjdGx5LiAgKi8KICAgIGNoZWNrX3R5cGVkZWYgKHR5cGUpOwogIAogKyAgdWxvbmdl c3RfZml0c19ob3N0X29yX2Vycm9yIChUWVBFX0xFTkdUSCAodHlwZSkpOwotICAgdmFsID0gWENO RVcgKHN0cnVjdCB2YWx1ZSk7Ci0gICB2YWwtPmNvbnRlbnRzID0gTlVMTDsKLSAgIHZhbC0+bmV4 dCA9IGFsbF92YWx1ZXM7Ci1AQCAtMTAyMyw2ICsxMDI0LDggQEAgY2hlY2tfdHlwZV9sZW5ndGhf YmVmb3JlX2FsbG9jIChjb25zdCBzdHJ1Y3QgdHlwZSAqdHlwZSkKKyAgIHZhbCA9IG5ldyBzdHJ1 Y3QgdmFsdWUgKHR5cGUpOworIAorICAgLyogVmFsdWVzIHN0YXJ0IG91dCBvbiB0aGUgYWxsX3Zh bHVlcyBjaGFpbi4gICovCitAQCAtMTAxNiw2ICsxMDE3LDggQEAgY2hlY2tfdHlwZV9sZW5ndGhf YmVmb3JlX2FsbG9jIChjb25zdCBzdHJ1Y3QgdHlwZSAqdHlwZSkKICBzdGF0aWMgdm9pZAogIGFs bG9jYXRlX3ZhbHVlX2NvbnRlbnRzIChzdHJ1Y3QgdmFsdWUgKnZhbCkKICB7CkBAIC0xNzAsMTQg KzE2OSwxNCBAQCBpbmRleCBiNjQwNmZlZGM5Li5hYzdkMDdhN2I1IDEwMDY0NAogICAgaWYgKCF2 YWwtPmNvbnRlbnRzKQogICAgICB7CiAgICAgICAgY2hlY2tfdHlwZV9sZW5ndGhfYmVmb3JlX2Fs bG9jICh2YWwtPmVuY2xvc2luZ190eXBlKTsKLUBAIC0zMDE1LDYgKzMwMTgsNyBAQCBzZXRfdmFs dWVfZW5jbG9zaW5nX3R5cGUgKHN0cnVjdCB2YWx1ZSAqdmFsLCBzdHJ1Y3QgdHlwZSAqbmV3X2Vu Y2xfdHlwZSkKK0BAIC0yODc3LDYgKzI4ODAsNyBAQCBzZXRfdmFsdWVfZW5jbG9zaW5nX3R5cGUg KHN0cnVjdCB2YWx1ZSAqdmFsLCBzdHJ1Y3QgdHlwZSAqbmV3X2VuY2xfdHlwZSkKICAgIGlmIChU WVBFX0xFTkdUSCAobmV3X2VuY2xfdHlwZSkgPiBUWVBFX0xFTkdUSCAodmFsdWVfZW5jbG9zaW5n X3R5cGUgKHZhbCkpKQogICAgICB7CiAgICAgICAgY2hlY2tfdHlwZV9sZW5ndGhfYmVmb3JlX2Fs bG9jIChuZXdfZW5jbF90eXBlKTsKICsgICAgICB1bG9uZ2VzdF9maXRzX2hvc3Rfb3JfZXJyb3Ig KFRZUEVfTEVOR1RIIChuZXdfZW5jbF90eXBlKSk7CiAgICAgICAgdmFsLT5jb250ZW50cwotIAk9 IChnZGJfYnl0ZSAqKSB4cmVhbGxvYyAodmFsLT5jb250ZW50cywgVFlQRV9MRU5HVEggKG5ld19l bmNsX3R5cGUpKTsKLSAgICAgfQorIAkucmVzZXQgKChnZGJfYnl0ZSAqKSB4cmVhbGxvYyAodmFs LT5jb250ZW50cy5yZWxlYXNlICgpLAorIAkJCQkgICAgICAgVFlQRV9MRU5HVEggKG5ld19lbmNs X3R5cGUpKSk7CiBkaWZmIC0tZ2l0IGEvZ2RiL3ZheC10ZGVwLmMgYi9nZGIvdmF4LXRkZXAuYwog aW5kZXggNGMxYWIyZTczZS4uYmQ2OWZkMmY0OCAxMDA2NDQKIC0tLSBhL2dkYi92YXgtdGRlcC5j CgpkaWZmIC0tZ2l0IGEvZ2RiLXJoYno3OTU0MjQtYml0cG9zLTIyb2YyNS5wYXRjaCBiL2dkYi1y aGJ6Nzk1NDI0LWJpdHBvcy0yMm9mMjUucGF0Y2gKaW5kZXggNDlmNGQzOS4uMWY0ZDk4MiAxMDA2 NDQKLS0tIGEvZ2RiLXJoYno3OTU0MjQtYml0cG9zLTIyb2YyNS5wYXRjaAorKysgYi9nZGItcmhi ejc5NTQyNC1iaXRwb3MtMjJvZjI1LnBhdGNoCkBAIC0xMDYsMzYgKzEwNiw3MiBAQCBDb250ZW50 LVRyYW5zZmVyLUVuY29kaW5nOiA3Yml0CiBDb250ZW50LURpc3Bvc2l0aW9uOiBhdHRhY2htZW50 OyBmaWxlbmFtZT1iaXRwb3Mtd3AucGF0Y2gKIAogZGlmZiAtLWdpdCBhL2dkYi9hYXJjaDY0LWxp bnV4LW5hdC5jIGIvZ2RiL2FhcmNoNjQtbGludXgtbmF0LmMKLWluZGV4IDA4ZTZmNGQ0ZmQuLmYw OGJmMDM5ZTQgMTAwNjQ0CitpbmRleCBkZDY5ZjUwNzg1Li5hOGUyNjIxZWNhIDEwMDY0NAogLS0t IGEvZ2RiL2FhcmNoNjQtbGludXgtbmF0LmMKICsrKyBiL2dkYi9hYXJjaDY0LWxpbnV4LW5hdC5j Ci1AQCAtNzY3LDcgKzc2Nyw3IEBAIGFhcmNoNjRfbGludXhfc3RvcHBlZF9ieV93YXRjaHBvaW50 IChzdHJ1Y3QgdGFyZ2V0X29wcyAqb3BzKQotIHN0YXRpYyBpbnQKLSBhYXJjaDY0X2xpbnV4X3dh dGNocG9pbnRfYWRkcl93aXRoaW5fcmFuZ2UgKHN0cnVjdCB0YXJnZXRfb3BzICp0YXJnZXQsCi0g CQkJCQkgICAgQ09SRV9BRERSIGFkZHIsCi0tCQkJCQkgICAgQ09SRV9BRERSIHN0YXJ0LCBpbnQg bGVuZ3RoKQotKwkJCQkJICAgIENPUkVfQUREUiBzdGFydCwgTE9OR0VTVCBsZW5ndGgpCitAQCAt NjIsMTQgKzYyLDE0IEBAIHB1YmxpYzoKKyAgIGludCBjYW5fdXNlX2h3X2JyZWFrcG9pbnQgKGVu dW0gYnB0eXBlLCBpbnQsIGludCkgb3ZlcnJpZGU7CisgICBpbnQgaW5zZXJ0X2h3X2JyZWFrcG9p bnQgKHN0cnVjdCBnZGJhcmNoICosIHN0cnVjdCBicF90YXJnZXRfaW5mbyAqKSBvdmVycmlkZTsK KyAgIGludCByZW1vdmVfaHdfYnJlYWtwb2ludCAoc3RydWN0IGdkYmFyY2ggKiwgc3RydWN0IGJw X3RhcmdldF9pbmZvICopIG92ZXJyaWRlOworLSAgaW50IHJlZ2lvbl9va19mb3JfaHdfd2F0Y2hw b2ludCAoQ09SRV9BRERSLCBpbnQpIG92ZXJyaWRlOworKyAgaW50IHJlZ2lvbl9va19mb3JfaHdf d2F0Y2hwb2ludCAoQ09SRV9BRERSLCBMT05HRVNUKSBvdmVycmlkZTsKKyAgIGludCBpbnNlcnRf d2F0Y2hwb2ludCAoQ09SRV9BRERSLCBpbnQsIGVudW0gdGFyZ2V0X2h3X2JwX3R5cGUsCisgCQkJ IHN0cnVjdCBleHByZXNzaW9uICopIG92ZXJyaWRlOworICAgaW50IHJlbW92ZV93YXRjaHBvaW50 IChDT1JFX0FERFIsIGludCwgZW51bSB0YXJnZXRfaHdfYnBfdHlwZSwKKyAJCQkgc3RydWN0IGV4 cHJlc3Npb24gKikgb3ZlcnJpZGU7CisgICBib29sIHN0b3BwZWRfYnlfd2F0Y2hwb2ludCAoKSBv dmVycmlkZTsKKyAgIGJvb2wgc3RvcHBlZF9kYXRhX2FkZHJlc3MgKENPUkVfQUREUiAqKSBvdmVy cmlkZTsKKy0gIGJvb2wgd2F0Y2hwb2ludF9hZGRyX3dpdGhpbl9yYW5nZSAoQ09SRV9BRERSLCBD T1JFX0FERFIsIGludCkgb3ZlcnJpZGU7CisrICBib29sIHdhdGNocG9pbnRfYWRkcl93aXRoaW5f cmFuZ2UgKENPUkVfQUREUiwgQ09SRV9BRERSLCBMT05HRVNUKSBvdmVycmlkZTsKKyAKKyAgIGlu dCBjYW5fZG9fc2luZ2xlX3N0ZXAgKCkgb3ZlcnJpZGU7CisgCitAQCAtODIyLDcgKzgyMiw4IEBA IGFhcmNoNjRfbGludXhfbmF0X3RhcmdldDo6c3RvcHBlZF9ieV93YXRjaHBvaW50ICgpCisgCisg Ym9vbAorIGFhcmNoNjRfbGludXhfbmF0X3RhcmdldDo6d2F0Y2hwb2ludF9hZGRyX3dpdGhpbl9y YW5nZSAoQ09SRV9BRERSIGFkZHIsCistCQkJCQkJCUNPUkVfQUREUiBzdGFydCwgaW50IGxlbmd0 aCkKKysJCQkJCQkJQ09SRV9BRERSIHN0YXJ0LAorKwkJCQkJCQlMT05HRVNUIGxlbmd0aCkKICB7 CiAgICByZXR1cm4gc3RhcnQgPD0gYWRkciAmJiBzdGFydCArIGxlbmd0aCAtIDEgPj0gYWRkcjsK ICB9CiBkaWZmIC0tZ2l0IGEvZ2RiL2FybS1saW51eC1uYXQuYyBiL2dkYi9hcm0tbGludXgtbmF0 LmMKLWluZGV4IDNiN2FhNDBkYjguLjQ4ZGZlMjJjZTEgMTAwNjQ0CitpbmRleCA4ZTJhYmZiNzBj Li42ZTYzMTgwMTNmIDEwMDY0NAogLS0tIGEvZ2RiL2FybS1saW51eC1uYXQuYwogKysrIGIvZ2Ri L2FybS1saW51eC1uYXQuYwotQEAgLTExNzcsNyArMTE3Nyw3IEBAIGFybV9saW51eF9zdG9wcGVk X2J5X3dhdGNocG9pbnQgKHN0cnVjdCB0YXJnZXRfb3BzICpvcHMpCi0gc3RhdGljIGludAotIGFy bV9saW51eF93YXRjaHBvaW50X2FkZHJfd2l0aGluX3JhbmdlIChzdHJ1Y3QgdGFyZ2V0X29wcyAq dGFyZ2V0LAotIAkJCQkJQ09SRV9BRERSIGFkZHIsCi0tCQkJCQlDT1JFX0FERFIgc3RhcnQsIGlu dCBsZW5ndGgpCi0rCQkJCQlDT1JFX0FERFIgc3RhcnQsIExPTkdFU1QgbGVuZ3RoKQorQEAgLTgw LDcgKzgwLDcgQEAgcHVibGljOgorIAorICAgaW50IHJlbW92ZV9od19icmVha3BvaW50IChzdHJ1 Y3QgZ2RiYXJjaCAqLCBzdHJ1Y3QgYnBfdGFyZ2V0X2luZm8gKikgb3ZlcnJpZGU7CisgCistICBp bnQgcmVnaW9uX29rX2Zvcl9od193YXRjaHBvaW50IChDT1JFX0FERFIsIGludCkgb3ZlcnJpZGU7 CisrICBpbnQgcmVnaW9uX29rX2Zvcl9od193YXRjaHBvaW50IChDT1JFX0FERFIsIExPTkdFU1Qp IG92ZXJyaWRlOworIAorICAgaW50IGluc2VydF93YXRjaHBvaW50IChDT1JFX0FERFIsIGludCwg ZW51bSB0YXJnZXRfaHdfYnBfdHlwZSwKKyAJCQkgc3RydWN0IGV4cHJlc3Npb24gKikgb3ZlcnJp ZGU7CitAQCAtOTEsNyArOTEsNyBAQCBwdWJsaWM6CisgCisgICBib29sIHN0b3BwZWRfZGF0YV9h ZGRyZXNzIChDT1JFX0FERFIgKikgb3ZlcnJpZGU7CisgCistICBib29sIHdhdGNocG9pbnRfYWRk cl93aXRoaW5fcmFuZ2UgKENPUkVfQUREUiwgQ09SRV9BRERSLCBpbnQpIG92ZXJyaWRlOworKyAg Ym9vbCB3YXRjaHBvaW50X2FkZHJfd2l0aGluX3JhbmdlIChDT1JFX0FERFIsIENPUkVfQUREUiwg TE9OR0VTVCkgb3ZlcnJpZGU7CisgCisgICBjb25zdCBzdHJ1Y3QgdGFyZ2V0X2Rlc2MgKnJlYWRf ZGVzY3JpcHRpb24gKCkgb3ZlcnJpZGU7CisgCitAQCAtMTIxMyw3ICsxMjEzLDcgQEAgYXJtX2xp bnV4X25hdF90YXJnZXQ6OnN0b3BwZWRfYnlfd2F0Y2hwb2ludCAoKQorIGJvb2wKKyBhcm1fbGlu dXhfbmF0X3RhcmdldDo6d2F0Y2hwb2ludF9hZGRyX3dpdGhpbl9yYW5nZSAoQ09SRV9BRERSIGFk ZHIsCisgCQkJCQkJICAgIENPUkVfQUREUiBzdGFydCwKKy0JCQkJCQkgICAgaW50IGxlbmd0aCkK KysJCQkJCQkgICAgTE9OR0VTVCBsZW5ndGgpCiAgewogICAgcmV0dXJuIHN0YXJ0IDw9IGFkZHIg JiYgc3RhcnQgKyBsZW5ndGggLSAxID49IGFkZHI7CiAgfQogZGlmZiAtLWdpdCBhL2dkYi9uYXQv YWFyY2g2NC1saW51eC1ody1wb2ludC5jIGIvZ2RiL25hdC9hYXJjaDY0LWxpbnV4LWh3LXBvaW50 LmMKLWluZGV4IGNlMjZmMjhmYWQuLmU5ZWJjNWZiYTggMTAwNjQ0CitpbmRleCBhMzkzMWVhNmE5 Li4wNmRmYjgzZjdmIDEwMDY0NAogLS0tIGEvZ2RiL25hdC9hYXJjaDY0LWxpbnV4LWh3LXBvaW50 LmMKICsrKyBiL2dkYi9uYXQvYWFyY2g2NC1saW51eC1ody1wb2ludC5jCi1AQCAtMTExLDcgKzEx MSw3IEBAIGFhcmNoNjRfcG9pbnRfZW5jb2RlX2N0cmxfcmVnIChlbnVtIHRhcmdldF9od19icF90 eXBlIHR5cGUsIGludCBsZW4pCitAQCAtMTM3LDcgKzEzNyw3IEBAIGFhcmNoNjRfcG9pbnRfZW5j b2RlX2N0cmxfcmVnIChlbnVtIHRhcmdldF9od19icF90eXBlIHR5cGUsIGludCBvZmZzZXQsIGlu dCBsZW4pCiAgICAgUmV0dXJuIDAgZm9yIGFueSBub24tY29tcGxpYW50IEFERFIgYW5kL29yIExF TjsgcmV0dXJuIDEgb3RoZXJ3aXNlLiAgKi8KICAKICBzdGF0aWMgaW50CkBAIC0xNDQsMjAgKzE4 MCwyMCBAQCBpbmRleCBjZTI2ZjI4ZmFkLi5lOWViYzVmYmE4IDEwMDY0NAogIHsKICAgIHVuc2ln bmVkIGludCBhbGlnbm1lbnQgPSAwOwogIAotQEAgLTE4MCw5ICsxODAsMTAgQEAgYWFyY2g2NF9w b2ludF9pc19hbGlnbmVkIChpbnQgaXNfd2F0Y2hwb2ludCwgQ09SRV9BRERSIGFkZHIsIGludCBs ZW4pCi0gICAgbGltaXRhdGlvbnMgY2FuIGJlIGxhcmdlbHkgcmVsYXhlZCB3aXRoIHNvbWUgZnVy dGhlciB3b3JrLiAgKi8KK0BAIC0yMTIsOSArMjEyLDEwIEBAIGFhcmNoNjRfcG9pbnRfaXNfYWxp Z25lZCAoaW50IGlzX3dhdGNocG9pbnQsIENPUkVfQUREUiBhZGRyLCBpbnQgbGVuKQorICAgIGFu IGFkZHJlc3Mgd2l0aGluIHRoZSBsYXR0ZXIuICovCiAgCiAgc3RhdGljIHZvaWQKIC1hYXJjaDY0 X2FsaWduX3dhdGNocG9pbnQgKENPUkVfQUREUiBhZGRyLCBpbnQgbGVuLCBDT1JFX0FERFIgKmFs aWduZWRfYWRkcl9wLAogK2FhcmNoNjRfYWxpZ25fd2F0Y2hwb2ludCAoQ09SRV9BRERSIGFkZHIs IExPTkdFU1QgbGVuLAogKwkJCSAgQ09SRV9BRERSICphbGlnbmVkX2FkZHJfcCwKLSAJCQkgIGlu dCAqYWxpZ25lZF9sZW5fcCwgQ09SRV9BRERSICpuZXh0X2FkZHJfcCwKLS0JCQkgIGludCAqbmV4 dF9sZW5fcCkKLSsJCQkgIExPTkdFU1QgKm5leHRfbGVuX3ApCisgCQkJICBpbnQgKmFsaWduZWRf b2Zmc2V0X3AsIGludCAqYWxpZ25lZF9sZW5fcCwKKy0JCQkgIENPUkVfQUREUiAqbmV4dF9hZGRy X3AsIGludCAqbmV4dF9sZW5fcCwKKysJCQkgIENPUkVfQUREUiAqbmV4dF9hZGRyX3AsIExPTkdF U1QgKm5leHRfbGVuX3AsCisgCQkJICBDT1JFX0FERFIgKm5leHRfYWRkcl9vcmlnX3ApCiAgewog ICAgaW50IGFsaWduZWRfbGVuOwotICAgdW5zaWduZWQgaW50IG9mZnNldDsKLUBAIC01MDEsNyAr NTAyLDcgQEAgYWFyY2g2NF9oYW5kbGVfYWxpZ25lZF93YXRjaHBvaW50IChlbnVtIHRhcmdldF9o d19icF90eXBlIHR5cGUsCitAQCAtNjExLDcgKzYxMiw3IEBAIGFhcmNoNjRfaGFuZGxlX2FsaWdu ZWRfd2F0Y2hwb2ludCAoZW51bSB0YXJnZXRfaHdfYnBfdHlwZSB0eXBlLAogIAogIHN0YXRpYyBp bnQKICBhYXJjaDY0X2hhbmRsZV91bmFsaWduZWRfd2F0Y2hwb2ludCAoZW51bSB0YXJnZXRfaHdf YnBfdHlwZSB0eXBlLApAQCAtMTY1LDIwICsyMDEsMjMgQEAgaW5kZXggY2UyNmYyOGZhZC4uZTll YmM1ZmJhOCAxMDA2NDQKICsJCQkJICAgICBDT1JFX0FERFIgYWRkciwgTE9OR0VTVCBsZW4sIGlu dCBpc19pbnNlcnQsCiAgCQkJCSAgICAgc3RydWN0IGFhcmNoNjRfZGVidWdfcmVnX3N0YXRlICpz dGF0ZSkKICB7Ci0gICB3aGlsZSAobGVuID4gMCkKLUBAIC01MjQsOSArNTI1LDkgQEAgYWFyY2g2 NF9oYW5kbGVfdW5hbGlnbmVkX3dhdGNocG9pbnQgKGVudW0gdGFyZ2V0X2h3X2JwX3R5cGUgdHlw ZSwKLSAJCSAgICAgICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIKLSAJCSAgICAgICJh bGlnbmVkX2FkZHI6ICVzLCBhbGlnbmVkX2xlbjogJWRcbiIKKyAgIENPUkVfQUREUiBhZGRyX29y aWcgPSBhZGRyOworQEAgLTY0MSwxMiArNjQyLDEyIEBAIGFhcmNoNjRfaGFuZGxlX3VuYWxpZ25l ZF93YXRjaHBvaW50IChlbnVtIHRhcmdldF9od19icF90eXBlIHR5cGUsCiAgCQkgICAgICAiICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiCi0tCQkgICAgICAibmV4dF9hZGRyOiAlcywg ICAgbmV4dF9sZW46ICVkXG4iLAotKwkJICAgICAgIm5leHRfYWRkcjogJXMsICAgIG5leHRfbGVu OiAlc1xuIiwKKyAJCSAgICAgICJhZGRyX29yaWc6ICVzXG4iCisgCQkgICAgICAiICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAiCistCQkgICAgICAibmV4dF9hZGRyOiAlcywgICAgbmV4 dF9sZW46ICVkXG4iCisrCQkgICAgICAibmV4dF9hZGRyOiAlcywgICAgbmV4dF9sZW46ICVzXG4i CisgCQkgICAgICAiICAgICAgICAgICAgICAgICAgICAgICAgICAgIgorIAkJICAgICAgImFkZHJf b3JpZ19uZXh0OiAlc1xuIiwKICAJCSAgICAgIGlzX2luc2VydCwgY29yZV9hZGRyX3RvX3N0cmlu Z19ueiAoYWxpZ25lZF9hZGRyKSwKLS0JCSAgICAgIGFsaWduZWRfbGVuLCBjb3JlX2FkZHJfdG9f c3RyaW5nX256IChhZGRyKSwgbGVuKTsKLSsJCSAgICAgIGFsaWduZWRfbGVuLCBjb3JlX2FkZHJf dG9fc3RyaW5nX256IChhZGRyKSwgcGxvbmdlc3QgKGxlbikpOworIAkJICAgICAgYWxpZ25lZF9s ZW4sIGNvcmVfYWRkcl90b19zdHJpbmdfbnogKGFkZHJfb3JpZyksCistCQkgICAgICBjb3JlX2Fk ZHJfdG9fc3RyaW5nX256IChhZGRyKSwgbGVuLAorKwkJICAgICAgY29yZV9hZGRyX3RvX3N0cmlu Z19ueiAoYWRkciksIHBsb25nZXN0IChsZW4pLAorIAkJICAgICAgY29yZV9hZGRyX3RvX3N0cmlu Z19ueiAoYWRkcl9vcmlnX25leHQpKTsKICAKLSAgICAgICBpZiAocmV0ICE9IDApCi0gCXJldHVy biByZXQ7Ci1AQCAtNTM3LDcgKzUzOCw3IEBAIGFhcmNoNjRfaGFuZGxlX3VuYWxpZ25lZF93YXRj aHBvaW50IChlbnVtIHRhcmdldF9od19icF90eXBlIHR5cGUsCisgICAgICAgYWRkcl9vcmlnID0g YWRkcl9vcmlnX25leHQ7CitAQCAtNjYwLDcgKzY2MSw3IEBAIGFhcmNoNjRfaGFuZGxlX3VuYWxp Z25lZF93YXRjaHBvaW50IChlbnVtIHRhcmdldF9od19icF90eXBlIHR5cGUsCiAgCiAgaW50CiAg YWFyY2g2NF9oYW5kbGVfd2F0Y2hwb2ludCAoZW51bSB0YXJnZXRfaHdfYnBfdHlwZSB0eXBlLCBD T1JFX0FERFIgYWRkciwKQEAgLTE4Nyw3ICsyMjYsNyBAQCBpbmRleCBjZTI2ZjI4ZmFkLi5lOWVi YzVmYmE4IDEwMDY0NAogIAkJCSAgIHN0cnVjdCBhYXJjaDY0X2RlYnVnX3JlZ19zdGF0ZSAqc3Rh dGUpCiAgewogICAgaWYgKGFhcmNoNjRfcG9pbnRfaXNfYWxpZ25lZCAoMSAvKiBpc193YXRjaHBv aW50ICovICwgYWRkciwgbGVuKSkKLUBAIC01ODgsMTQgKzU4OSwxNCBAQCBhYXJjaDY0X2xpbnV4 X3NldF9kZWJ1Z19yZWdzIChjb25zdCBzdHJ1Y3QgYWFyY2g2NF9kZWJ1Z19yZWdfc3RhdGUgKnN0 YXRlLAorQEAgLTcyMiwxNCArNzIzLDE0IEBAIGFhcmNoNjRfbGludXhfc2V0X2RlYnVnX3JlZ3Mg KHN0cnVjdCBhYXJjaDY0X2RlYnVnX3JlZ19zdGF0ZSAqc3RhdGUsCiAgdm9pZAogIGFhcmNoNjRf c2hvd19kZWJ1Z19yZWdfc3RhdGUgKHN0cnVjdCBhYXJjaDY0X2RlYnVnX3JlZ19zdGF0ZSAqc3Rh dGUsCiAgCQkJICAgICAgY29uc3QgY2hhciAqZnVuYywgQ09SRV9BRERSIGFkZHIsCkBAIC0yMDUs MTEgKzI0NCwyMCBAQCBpbmRleCBjZTI2ZjI4ZmFkLi5lOWViYzVmYmE4IDEwMDY0NAogIAkJICB0 eXBlID09IGh3X3dyaXRlID8gImh3LXdyaXRlLXdhdGNocG9pbnQiCiAgCQkgIDogKHR5cGUgPT0g aHdfcmVhZCA/ICJody1yZWFkLXdhdGNocG9pbnQiCiAgCQkgICAgIDogKHR5cGUgPT0gaHdfYWNj ZXNzID8gImh3LWFjY2Vzcy13YXRjaHBvaW50IgorQEAgLTgxMiw3ICs4MTMsNyBAQCBhYXJjaDY0 X2xpbnV4X2dldF9kZWJ1Z19yZWdfY2FwYWNpdHkgKGludCB0aWQpCisgICAgQUREUiBhbmQgd2hv c2UgbGVuZ3RoIGlzIExFTiBpbiBieXRlcy4gICovCisgCisgaW50CistYWFyY2g2NF9saW51eF9y ZWdpb25fb2tfZm9yX3dhdGNocG9pbnQgKENPUkVfQUREUiBhZGRyLCBpbnQgbGVuKQorK2FhcmNo NjRfbGludXhfcmVnaW9uX29rX2Zvcl93YXRjaHBvaW50IChDT1JFX0FERFIgYWRkciwgTE9OR0VT VCBsZW4pCisgeworICAgQ09SRV9BRERSIGFsaWduZWRfYWRkcjsKKyAKIGRpZmYgLS1naXQgYS9n ZGIvbmF0L2FhcmNoNjQtbGludXgtaHctcG9pbnQuaCBiL2dkYi9uYXQvYWFyY2g2NC1saW51eC1o dy1wb2ludC5oCi1pbmRleCA3YzQyYjk2ZDFiLi5lMWQ0ZmM4ZGJjIDEwMDY0NAoraW5kZXggMTk0 MGIwNmE4OS4uNzk1MDRhNDY0MCAxMDA2NDQKIC0tLSBhL2dkYi9uYXQvYWFyY2g2NC1saW51eC1o dy1wb2ludC5oCiArKysgYi9nZGIvbmF0L2FhcmNoNjQtbGludXgtaHctcG9pbnQuaAotQEAgLTE3 Miw3ICsxNzIsNyBAQCBpbnQgYWFyY2g2NF9oYW5kbGVfYnJlYWtwb2ludCAoZW51bSB0YXJnZXRf aHdfYnBfdHlwZSB0eXBlLCBDT1JFX0FERFIgYWRkciwKK0BAIC0xNzYsNyArMTc2LDcgQEAgaW50 IGFhcmNoNjRfaGFuZGxlX2JyZWFrcG9pbnQgKGVudW0gdGFyZ2V0X2h3X2JwX3R5cGUgdHlwZSwg Q09SRV9BRERSIGFkZHIsCiAgCQkJICAgICAgIGludCBsZW4sIGludCBpc19pbnNlcnQsCiAgCQkJ ICAgICAgIHN0cnVjdCBhYXJjaDY0X2RlYnVnX3JlZ19zdGF0ZSAqc3RhdGUpOwogIGludCBhYXJj aDY0X2hhbmRsZV93YXRjaHBvaW50IChlbnVtIHRhcmdldF9od19icF90eXBlIHR5cGUsIENPUkVf QUREUiBhZGRyLApAQCAtMjE3LDggKzI2NSw4IEBAIGluZGV4IDdjNDJiOTZkMWIuLmUxZDRmYzhk YmMgMTAwNjQ0CiArCQkJICAgICAgIExPTkdFU1QgbGVuLCBpbnQgaXNfaW5zZXJ0LAogIAkJCSAg ICAgICBzdHJ1Y3QgYWFyY2g2NF9kZWJ1Z19yZWdfc3RhdGUgKnN0YXRlKTsKICAKLSB2b2lkIGFh cmNoNjRfbGludXhfc2V0X2RlYnVnX3JlZ3MgKGNvbnN0IHN0cnVjdCBhYXJjaDY0X2RlYnVnX3Jl Z19zdGF0ZSAqc3RhdGUsCi1AQCAtMTgwLDcgKzE4MCw3IEBAIHZvaWQgYWFyY2g2NF9saW51eF9z ZXRfZGVidWdfcmVncyAoY29uc3Qgc3RydWN0IGFhcmNoNjRfZGVidWdfcmVnX3N0YXRlICpzdGF0 ZSwKKyB2b2lkIGFhcmNoNjRfbGludXhfc2V0X2RlYnVnX3JlZ3MgKHN0cnVjdCBhYXJjaDY0X2Rl YnVnX3JlZ19zdGF0ZSAqc3RhdGUsCitAQCAtMTg0LDEyICsxODQsMTIgQEAgdm9pZCBhYXJjaDY0 X2xpbnV4X3NldF9kZWJ1Z19yZWdzIChzdHJ1Y3QgYWFyY2g2NF9kZWJ1Z19yZWdfc3RhdGUgKnN0 YXRlLAogIAogIHZvaWQgYWFyY2g2NF9zaG93X2RlYnVnX3JlZ19zdGF0ZSAoc3RydWN0IGFhcmNo NjRfZGVidWdfcmVnX3N0YXRlICpzdGF0ZSwKICAJCQkJICAgY29uc3QgY2hhciAqZnVuYywgQ09S RV9BRERSIGFkZHIsCkBAIC0yMjcsMTEgKzI3NSwzOCBAQCBpbmRleCA3YzQyYjk2ZDFiLi5lMWQ0 ZmM4ZGJjIDEwMDY0NAogIAogIHZvaWQgYWFyY2g2NF9saW51eF9nZXRfZGVidWdfcmVnX2NhcGFj aXR5IChpbnQgdGlkKTsKICAKKyBzdHJ1Y3QgYWFyY2g2NF9kZWJ1Z19yZWdfc3RhdGUgKmFhcmNo NjRfZ2V0X2RlYnVnX3JlZ19zdGF0ZSAocGlkX3QgcGlkKTsKKyAKKy1pbnQgYWFyY2g2NF9saW51 eF9yZWdpb25fb2tfZm9yX3dhdGNocG9pbnQgKENPUkVfQUREUiBhZGRyLCBpbnQgbGVuKTsKKytp bnQgYWFyY2g2NF9saW51eF9yZWdpb25fb2tfZm9yX3dhdGNocG9pbnQgKENPUkVfQUREUiBhZGRy LCBMT05HRVNUIGxlbik7CisgCisgI2VuZGlmIC8qIEFBUkNINjRfTElOVVhfSFdfUE9JTlRfSCAq LwogZGlmZiAtLWdpdCBhL2dkYi9wcGMtbGludXgtbmF0LmMgYi9nZGIvcHBjLWxpbnV4LW5hdC5j Ci1pbmRleCA0YTgyNDM0YzBkLi40OWEyN2Q4ZGFhIDEwMDY0NAoraW5kZXggYjcwZjE2ODEwNi4u YTcxMjE5NzYxOCAxMDA2NDQKIC0tLSBhL2dkYi9wcGMtbGludXgtbmF0LmMKICsrKyBiL2dkYi9w cGMtbGludXgtbmF0LmMKLUBAIC0xNzk4LDExICsxNzk4LDExIEBAIGNhbl91c2Vfd2F0Y2hwb2lu dF9jb25kX2FjY2VsICh2b2lkKQorQEAgLTI4Miw3ICsyODIsNyBAQCBzdHJ1Y3QgcHBjX2xpbnV4 X25hdF90YXJnZXQgZmluYWwgOiBwdWJsaWMgbGludXhfbmF0X3RhcmdldAorICAgaW50IHJlbW92 ZV9od19icmVha3BvaW50IChzdHJ1Y3QgZ2RiYXJjaCAqLCBzdHJ1Y3QgYnBfdGFyZ2V0X2luZm8g KikKKyAgICAgb3ZlcnJpZGU7CisgCistICBpbnQgcmVnaW9uX29rX2Zvcl9od193YXRjaHBvaW50 IChDT1JFX0FERFIsIGludCkgb3ZlcnJpZGU7CisrICBpbnQgcmVnaW9uX29rX2Zvcl9od193YXRj aHBvaW50IChDT1JFX0FERFIsIExPTkdFU1QpIG92ZXJyaWRlOworIAorICAgaW50IGluc2VydF93 YXRjaHBvaW50IChDT1JFX0FERFIsIGludCwgZW51bSB0YXJnZXRfaHdfYnBfdHlwZSwKKyAJCQkg c3RydWN0IGV4cHJlc3Npb24gKikgb3ZlcnJpZGU7CitAQCAtMzAwLDkgKzMwMCw5IEBAIHN0cnVj dCBwcGNfbGludXhfbmF0X3RhcmdldCBmaW5hbCA6IHB1YmxpYyBsaW51eF9uYXRfdGFyZ2V0Cisg CisgICBib29sIHN0b3BwZWRfZGF0YV9hZGRyZXNzIChDT1JFX0FERFIgKikgb3ZlcnJpZGU7Cisg CistICBib29sIHdhdGNocG9pbnRfYWRkcl93aXRoaW5fcmFuZ2UgKENPUkVfQUREUiwgQ09SRV9B RERSLCBpbnQpIG92ZXJyaWRlOworKyAgYm9vbCB3YXRjaHBvaW50X2FkZHJfd2l0aGluX3Jhbmdl IChDT1JFX0FERFIsIENPUkVfQUREUiwgTE9OR0VTVCkgb3ZlcnJpZGU7CisgCistICBib29sIGNh bl9hY2NlbF93YXRjaHBvaW50X2NvbmRpdGlvbiAoQ09SRV9BRERSLCBpbnQsIGludCwgc3RydWN0 IGV4cHJlc3Npb24gKikKKysgIGJvb2wgY2FuX2FjY2VsX3dhdGNocG9pbnRfY29uZGl0aW9uIChD T1JFX0FERFIsIExPTkdFU1QsIGludCwgc3RydWN0IGV4cHJlc3Npb24gKikKKyAgICAgb3ZlcnJp ZGU7CisgCisgICBpbnQgbWFza2VkX3dhdGNoX251bV9yZWdpc3RlcnMgKENPUkVfQUREUiwgQ09S RV9BRERSKSBvdmVycmlkZTsKK0BAIC0xODQ3LDExICsxODQ3LDExIEBAIGNhbl91c2Vfd2F0Y2hw b2ludF9jb25kX2FjY2VsICh2b2lkKQogICAgIENPTkRJVElPTl9WQUxVRSB3aWxsIGhvbGQgdGhl IHZhbHVlIHdoaWNoIHNob3VsZCBiZSBwdXQgaW4gdGhlCiAgICAgRFZDIHJlZ2lzdGVyLiAgKi8K ICBzdGF0aWMgdm9pZApAQCAtMjQ2LDcgKzMyMSw3IEBAIGluZGV4IDRhODI0MzRjMGQuLjQ5YTI3 ZDhkYWEgMTAwNjQ0CiAgICBDT1JFX0FERFIgYWRkcl9lbmRfZGF0YSwgYWRkcl9lbmRfZHZjOwog IAogICAgLyogVGhlIERWQyByZWdpc3RlciBjb21wYXJlcyBieXRlcyB3aXRoaW4gZml4ZWQtbGVu Z3RoIHdpbmRvd3Mgd2hpY2gKLUBAIC0xODg5LDcgKzE4ODksNyBAQCBudW1fbWVtb3J5X2FjY2Vz c2VzIChzdHJ1Y3QgdmFsdWUgKnYpCitAQCAtMTkzOSw3ICsxOTM5LDcgQEAgbnVtX21lbW9yeV9h Y2Nlc3NlcyAoY29uc3Qgc3RkOjp2ZWN0b3I8dmFsdWVfcmVmX3B0cj4gJmNoYWluKQogICAgIG9m IHRoZSBjb25zdGFudC4gICovCiAgc3RhdGljIGludAogIGNoZWNrX2NvbmRpdGlvbiAoQ09SRV9B RERSIHdhdGNoX2FkZHIsIHN0cnVjdCBleHByZXNzaW9uICpjb25kLApAQCAtMjU0LDE3ICszMjks MTggQEAgaW5kZXggNGE4MjQzNGMwZC4uNDlhMjdkOGRhYSAxMDA2NDQKICsJCSBDT1JFX0FERFIg KmRhdGFfdmFsdWUsIExPTkdFU1QgKmxlbikKICB7CiAgICBpbnQgcGMgPSAxLCBudW1fYWNjZXNz ZXNfbGVmdCwgbnVtX2FjY2Vzc2VzX3JpZ2h0OwotICAgc3RydWN0IHZhbHVlICpsZWZ0X3ZhbCwg KnJpZ2h0X3ZhbCwgKmxlZnRfY2hhaW4sICpyaWdodF9jaGFpbjsKLUBAIC0xOTU3LDcgKzE5NTcs NyBAQCBjaGVja19jb25kaXRpb24gKENPUkVfQUREUiB3YXRjaF9hZGRyLCBzdHJ1Y3QgZXhwcmVz c2lvbiAqY29uZCwKKyAgIHN0cnVjdCB2YWx1ZSAqbGVmdF92YWwsICpyaWdodF92YWw7CitAQCAt MTk5MCw3ICsxOTkwLDggQEAgY2hlY2tfY29uZGl0aW9uIChDT1JFX0FERFIgd2F0Y2hfYWRkciwg c3RydWN0IGV4cHJlc3Npb24gKmNvbmQsCisgICAgdGhlIGNvbmRpdGlvbiBleHByZXNzaW9uLCB0 aHVzIG9ubHkgdHJpZ2dlcmluZyB0aGUgd2F0Y2hwb2ludCB3aGVuIGl0IGlzCiAgICAgdHJ1ZS4g ICovCi0gc3RhdGljIGludAotIHBwY19saW51eF9jYW5fYWNjZWxfd2F0Y2hwb2ludF9jb25kaXRp b24gKHN0cnVjdCB0YXJnZXRfb3BzICpzZWxmLAotLQkJCQkJICBDT1JFX0FERFIgYWRkciwgaW50 IGxlbiwgaW50IHJ3LAotKwkJCQkJICBDT1JFX0FERFIgYWRkciwgTE9OR0VTVCBsZW4sIGludCBy dywKLSAJCQkJCSAgc3RydWN0IGV4cHJlc3Npb24gKmNvbmQpCisgYm9vbAorLXBwY19saW51eF9u YXRfdGFyZ2V0OjpjYW5fYWNjZWxfd2F0Y2hwb2ludF9jb25kaXRpb24gKENPUkVfQUREUiBhZGRy LCBpbnQgbGVuLAorK3BwY19saW51eF9uYXRfdGFyZ2V0OjpjYW5fYWNjZWxfd2F0Y2hwb2ludF9j b25kaXRpb24gKENPUkVfQUREUiBhZGRyLAorKwkJCQkJCSAgICAgIExPTkdFU1QgbGVuLAorIAkJ CQkJCSAgICAgIGludCBydywKKyAJCQkJCQkgICAgICBzdHJ1Y3QgZXhwcmVzc2lvbiAqY29uZCkK ICB7Ci0gICBDT1JFX0FERFIgZGF0YV92YWx1ZTsKLUBAIC0xOTc0LDcgKzE5NzQsNyBAQCBwcGNf bGludXhfY2FuX2FjY2VsX3dhdGNocG9pbnRfY29uZGl0aW9uIChzdHJ1Y3QgdGFyZ2V0X29wcyAq c2VsZiwKK0BAIC0yMDA4LDcgKzIwMDksNyBAQCBwcGNfbGludXhfbmF0X3RhcmdldDo6Y2FuX2Fj Y2VsX3dhdGNocG9pbnRfY29uZGl0aW9uIChDT1JFX0FERFIgYWRkciwgaW50IGxlbiwKICAKICBz dGF0aWMgdm9pZAogIGNyZWF0ZV93YXRjaHBvaW50X3JlcXVlc3QgKHN0cnVjdCBwcGNfaHdfYnJl YWtwb2ludCAqcCwgQ09SRV9BRERSIGFkZHIsCkBAIC0yNzMsMjAgKzM0OSwyMCBAQCBpbmRleCA0 YTgyNDM0YzBkLi40OWEyN2Q4ZGFhIDEwMDY0NAogIAkJCSAgIHN0cnVjdCBleHByZXNzaW9uICpj b25kLCBpbnQgaW5zZXJ0KQogIHsKICAgIGlmIChsZW4gPT0gMQotQEAgLTIyNDAsNyArMjI0MCw3 IEBAIHBwY19saW51eF9zdG9wcGVkX2J5X3dhdGNocG9pbnQgKHN0cnVjdCB0YXJnZXRfb3BzICpv cHMpCi0gc3RhdGljIGludAotIHBwY19saW51eF93YXRjaHBvaW50X2FkZHJfd2l0aGluX3Jhbmdl IChzdHJ1Y3QgdGFyZ2V0X29wcyAqdGFyZ2V0LAotIAkJCQkJQ09SRV9BRERSIGFkZHIsCi0tCQkJ CQlDT1JFX0FERFIgc3RhcnQsIGludCBsZW5ndGgpCi0rCQkJCQlDT1JFX0FERFIgc3RhcnQsIExP TkdFU1QgbGVuZ3RoKQorQEAgLTIyNzQsNyArMjI3NSw3IEBAIHBwY19saW51eF9uYXRfdGFyZ2V0 OjpzdG9wcGVkX2J5X3dhdGNocG9pbnQgKCkKKyBib29sCisgcHBjX2xpbnV4X25hdF90YXJnZXQ6 OndhdGNocG9pbnRfYWRkcl93aXRoaW5fcmFuZ2UgKENPUkVfQUREUiBhZGRyLAorIAkJCQkJCSAg ICBDT1JFX0FERFIgc3RhcnQsCistCQkJCQkJICAgIGludCBsZW5ndGgpCisrCQkJCQkJICAgIExP TkdFU1QgbGVuZ3RoKQogIHsKICAgIGludCBtYXNrOwogIAogZGlmZiAtLWdpdCBhL2dkYi9wcm9j ZnMuYyBiL2dkYi9wcm9jZnMuYwotaW5kZXggODg3ZjEyMDFmZS4uZWRkMWJlNjMyYSAxMDA2NDQK K2luZGV4IGNhN2NjMjIxZjkuLjcxN2ExMTMwZmUgMTAwNjQ0CiAtLS0gYS9nZGIvcHJvY2ZzLmMK ICsrKyBiL2dkYi9wcm9jZnMuYwotQEAgLTE1NjMsNyArMTU2Myw3IEBAIHByb2Nmc19hZGRyZXNz X3RvX2hvc3RfcG9pbnRlciAoQ09SRV9BRERSIGFkZHIpCitAQCAtMTU2MSw3ICsxNTYxLDcgQEAg cHJvY2ZzX2FkZHJlc3NfdG9faG9zdF9wb2ludGVyIChDT1JFX0FERFIgYWRkcikKICB9CiAgCiAg c3RhdGljIGludApAQCAtMjk1LDcgKzM3MSw3IEBAIGluZGV4IDg4N2YxMjAxZmUuLmVkZDFiZTYz MmEgMTAwNjQ0CiAgewogICAgc3RydWN0IHsKICAgICAgcHJvY2ZzX2N0bF90IGNtZDsKLUBAIC0z MjUwLDcgKzMyNTAsNyBAQCBwcm9jZnNfcGlkX3RvX3N0ciAoc3RydWN0IHRhcmdldF9vcHMgKm9w cywgcHRpZF90IHB0aWQpCitAQCAtMzIxNCw3ICszMjE0LDcgQEAgcHJvY2ZzX3RhcmdldDo6cGlk X3RvX3N0ciAocHRpZF90IHB0aWQpCiAgLyogSW5zZXJ0IGEgd2F0Y2hwb2ludC4gICovCiAgCiAg c3RhdGljIGludApAQCAtMzA1LDEwICszODEsMTkgQEAgaW5kZXggODg3ZjEyMDFmZS4uZWRkMWJl NjMyYSAxMDA2NDQKICB7CiAgICBpbnQgICAgICAgcGZsYWdzID0gMDsKIGRpZmYgLS1naXQgYS9n ZGIvcmVtb3RlLmMgYi9nZGIvcmVtb3RlLmMKLWluZGV4IDk0ZDU1OTQxNzUuLjg2Nzc3ZjFlNWUg MTAwNjQ0CitpbmRleCBjZTY3ZDc2MTk1Li42MzVjYjI2NmU4IDEwMDY0NAogLS0tIGEvZ2RiL3Jl bW90ZS5jCiArKysgYi9nZGIvcmVtb3RlLmMKLUBAIC05ODk3LDcgKzk4OTcsNyBAQCByZW1vdGVf aW5zZXJ0X3dhdGNocG9pbnQgKHN0cnVjdCB0YXJnZXRfb3BzICpzZWxmLCBDT1JFX0FERFIgYWRk ciwgaW50IGxlbiwKK0BAIC0xMzgsNyArMTM4LDcgQEAgcHVibGljOgorIAorICAgYm9vbCBzdG9w cGVkX2RhdGFfYWRkcmVzcyAoQ09SRV9BRERSICopIG92ZXJyaWRlOworIAorLSAgYm9vbCB3YXRj aHBvaW50X2FkZHJfd2l0aGluX3JhbmdlIChDT1JFX0FERFIsIENPUkVfQUREUiwgaW50KSBvdmVy cmlkZTsKKysgIGJvb2wgd2F0Y2hwb2ludF9hZGRyX3dpdGhpbl9yYW5nZSAoQ09SRV9BRERSLCBD T1JFX0FERFIsIExPTkdFU1QpIG92ZXJyaWRlOworIAorICAgaW50IGNhbl91c2VfaHdfYnJlYWtw b2ludCAoZW51bSBicHR5cGUsIGludCwgaW50KSBvdmVycmlkZTsKKyAKK0BAIC0xMDE0NSw3ICsx MDE0NSw3IEBAIHJlbW90ZV90YXJnZXQ6Omluc2VydF93YXRjaHBvaW50IChDT1JFX0FERFIgYWRk ciwgaW50IGxlbiwKICAgIHAgPSBzdHJjaHIgKHJzLT5idWYsICdcMCcpOwogICAgYWRkciA9IHJl bW90ZV9hZGRyZXNzX21hc2tlZCAoYWRkcik7CiAgICBwICs9IGhleG51bXN0ciAocCwgKFVMT05H RVNUKSBhZGRyKTsKQEAgLTMxNywxNiArNDAyLDE2IEBAIGluZGV4IDk0ZDU1OTQxNzUuLjg2Nzc3 ZjFlNWUgMTAwNjQ0CiAgCiAgICBwdXRwa3QgKHJzLT5idWYpOwogICAgZ2V0cGt0ICgmcnMtPmJ1 ZiwgJnJzLT5idWZfc2l6ZSwgMCk7Ci1AQCAtOTkxNyw3ICs5OTE3LDcgQEAgcmVtb3RlX2luc2Vy dF93YXRjaHBvaW50IChzdHJ1Y3QgdGFyZ2V0X29wcyAqc2VsZiwgQ09SRV9BRERSIGFkZHIsIGlu dCBsZW4sCitAQCAtMTAxNjUsNyArMTAxNjUsNyBAQCByZW1vdGVfdGFyZ2V0OjppbnNlcnRfd2F0 Y2hwb2ludCAoQ09SRV9BRERSIGFkZHIsIGludCBsZW4sCiAgCi0gc3RhdGljIGludAotIHJlbW90 ZV93YXRjaHBvaW50X2FkZHJfd2l0aGluX3JhbmdlIChzdHJ1Y3QgdGFyZ2V0X29wcyAqdGFyZ2V0 LCBDT1JFX0FERFIgYWRkciwKLS0JCQkJICAgICBDT1JFX0FERFIgc3RhcnQsIGludCBsZW5ndGgp Ci0rCQkJCSAgICAgQ09SRV9BRERSIHN0YXJ0LCBMT05HRVNUIGxlbmd0aCkKKyBib29sCisgcmVt b3RlX3RhcmdldDo6d2F0Y2hwb2ludF9hZGRyX3dpdGhpbl9yYW5nZSAoQ09SRV9BRERSIGFkZHIs CistCQkJCQkgICAgIENPUkVfQUREUiBzdGFydCwgaW50IGxlbmd0aCkKKysJCQkJCSAgICAgQ09S RV9BRERSIHN0YXJ0LCBMT05HRVNUIGxlbmd0aCkKICB7CiAgICBDT1JFX0FERFIgZGlmZiA9IHJl bW90ZV9hZGRyZXNzX21hc2tlZCAoYWRkciAtIHN0YXJ0KTsKICAKLUBAIC05OTQ2LDcgKzk5NDYs NyBAQCByZW1vdGVfcmVtb3ZlX3dhdGNocG9pbnQgKHN0cnVjdCB0YXJnZXRfb3BzICpzZWxmLCBD T1JFX0FERFIgYWRkciwgaW50IGxlbiwKK0BAIC0xMDE5NCw3ICsxMDE5NCw3IEBAIHJlbW90ZV90 YXJnZXQ6OnJlbW92ZV93YXRjaHBvaW50IChDT1JFX0FERFIgYWRkciwgaW50IGxlbiwKICAgIHAg PSBzdHJjaHIgKHJzLT5idWYsICdcMCcpOwogICAgYWRkciA9IHJlbW90ZV9hZGRyZXNzX21hc2tl ZCAoYWRkcik7CiAgICBwICs9IGhleG51bXN0ciAocCwgKFVMT05HRVNUKSBhZGRyKTsKQEAgLTMz NSw3NCArNDIwLDExNiBAQCBpbmRleCA5NGQ1NTk0MTc1Li44Njc3N2YxZTVlIDEwMDY0NAogICAg cHV0cGt0IChycy0+YnVmKTsKICAgIGdldHBrdCAoJnJzLT5idWYsICZycy0+YnVmX3NpemUsIDAp OwogIAorZGlmZiAtLWdpdCBhL2dkYi9zMzkwLWxpbnV4LW5hdC5jIGIvZ2RiL3MzOTAtbGludXgt bmF0LmMKK2luZGV4IGQ3YzY4M2U5NjguLjI0MDNkMDVhMTggMTAwNjQ0CistLS0gYS9nZGIvczM5 MC1saW51eC1uYXQuYworKysrIGIvZ2RiL3MzOTAtbGludXgtbmF0LmMKK0BAIC0xMjEsNyArMTIx LDcgQEAgcHVibGljOgorICAgICBvdmVycmlkZTsKKyAgIGludCByZW1vdmVfaHdfYnJlYWtwb2lu dCAoc3RydWN0IGdkYmFyY2ggKiwgc3RydWN0IGJwX3RhcmdldF9pbmZvICopCisgICAgIG92ZXJy aWRlOworLSAgaW50IHJlZ2lvbl9va19mb3JfaHdfd2F0Y2hwb2ludCAoQ09SRV9BRERSLCBpbnQp IG92ZXJyaWRlOworKyAgaW50IHJlZ2lvbl9va19mb3JfaHdfd2F0Y2hwb2ludCAoQ09SRV9BRERS LCBMT05HRVNUKSBvdmVycmlkZTsKKyAgIGJvb2wgaGF2ZV9jb250aW51YWJsZV93YXRjaHBvaW50 ICgpIG92ZXJyaWRlIHsgcmV0dXJuIHRydWU7IH0KKyAgIGJvb2wgc3RvcHBlZF9ieV93YXRjaHBv aW50ICgpIG92ZXJyaWRlOworICAgaW50IGluc2VydF93YXRjaHBvaW50IChDT1JFX0FERFIsIGlu dCwgZW51bSB0YXJnZXRfaHdfYnBfdHlwZSwKIGRpZmYgLS1naXQgYS9nZGIvdGFyZ2V0LWRlbGVn YXRlcy5jIGIvZ2RiL3RhcmdldC1kZWxlZ2F0ZXMuYwotaW5kZXggMmI0NDljYmYwMS4uZjcyNTIx NWZmZiAxMDA2NDQKK2luZGV4IGVkNjI1ZWQwMzAuLjMxMjlhZTI5NWYgMTAwNjQ0CiAtLS0gYS9n ZGIvdGFyZ2V0LWRlbGVnYXRlcy5jCiArKysgYi9nZGIvdGFyZ2V0LWRlbGVnYXRlcy5jCi1AQCAt NzMzLDE0ICs3MzMsMTQgQEAgZGVidWdfc3RvcHBlZF9kYXRhX2FkZHJlc3MgKHN0cnVjdCB0YXJn ZXRfb3BzICpzZWxmLCBDT1JFX0FERFIgKmFyZzEpCitAQCAtMzgsOSArMzgsOSBAQCBzdHJ1Y3Qg ZHVtbXlfdGFyZ2V0IDogcHVibGljIHRhcmdldF9vcHMKKyAgIGludCBoYXZlX3N0ZXBwYWJsZV93 YXRjaHBvaW50ICgpIG92ZXJyaWRlOworICAgYm9vbCBoYXZlX2NvbnRpbnVhYmxlX3dhdGNocG9p bnQgKCkgb3ZlcnJpZGU7CisgICBib29sIHN0b3BwZWRfZGF0YV9hZGRyZXNzIChDT1JFX0FERFIg KmFyZzApIG92ZXJyaWRlOworLSAgYm9vbCB3YXRjaHBvaW50X2FkZHJfd2l0aGluX3JhbmdlIChD T1JFX0FERFIgYXJnMCwgQ09SRV9BRERSIGFyZzEsIGludCBhcmcyKSBvdmVycmlkZTsKKysgIGJv b2wgd2F0Y2hwb2ludF9hZGRyX3dpdGhpbl9yYW5nZSAoQ09SRV9BRERSIGFyZzAsIENPUkVfQURE UiBhcmcxLCBMT05HRVNUIGFyZzIpIG92ZXJyaWRlOworICAgaW50IHJlZ2lvbl9va19mb3JfaHdf d2F0Y2hwb2ludCAoQ09SRV9BRERSIGFyZzAsIExPTkdFU1QgYXJnMSkgb3ZlcnJpZGU7CistICBi b29sIGNhbl9hY2NlbF93YXRjaHBvaW50X2NvbmRpdGlvbiAoQ09SRV9BRERSIGFyZzAsIGludCBh cmcxLCBpbnQgYXJnMiwgc3RydWN0IGV4cHJlc3Npb24gKmFyZzMpIG92ZXJyaWRlOworKyAgYm9v bCBjYW5fYWNjZWxfd2F0Y2hwb2ludF9jb25kaXRpb24gKENPUkVfQUREUiBhcmcwLCBMT05HRVNU IGFyZzEsIGludCBhcmcyLCBzdHJ1Y3QgZXhwcmVzc2lvbiAqYXJnMykgb3ZlcnJpZGU7CisgICBp bnQgbWFza2VkX3dhdGNoX251bV9yZWdpc3RlcnMgKENPUkVfQUREUiBhcmcwLCBDT1JFX0FERFIg YXJnMSkgb3ZlcnJpZGU7CisgICBpbnQgY2FuX2RvX3NpbmdsZV9zdGVwICgpIG92ZXJyaWRlOwor ICAgYm9vbCBzdXBwb3J0c190ZXJtaW5hbF9vdXJzICgpIG92ZXJyaWRlOworQEAgLTIwNiw5ICsy MDYsOSBAQCBzdHJ1Y3QgZGVidWdfdGFyZ2V0IDogcHVibGljIHRhcmdldF9vcHMKKyAgIGludCBo YXZlX3N0ZXBwYWJsZV93YXRjaHBvaW50ICgpIG92ZXJyaWRlOworICAgYm9vbCBoYXZlX2NvbnRp bnVhYmxlX3dhdGNocG9pbnQgKCkgb3ZlcnJpZGU7CisgICBib29sIHN0b3BwZWRfZGF0YV9hZGRy ZXNzIChDT1JFX0FERFIgKmFyZzApIG92ZXJyaWRlOworLSAgYm9vbCB3YXRjaHBvaW50X2FkZHJf d2l0aGluX3JhbmdlIChDT1JFX0FERFIgYXJnMCwgQ09SRV9BRERSIGFyZzEsIGludCBhcmcyKSBv dmVycmlkZTsKKysgIGJvb2wgd2F0Y2hwb2ludF9hZGRyX3dpdGhpbl9yYW5nZSAoQ09SRV9BRERS IGFyZzAsIENPUkVfQUREUiBhcmcxLCBMT05HRVNUIGFyZzIpIG92ZXJyaWRlOworICAgaW50IHJl Z2lvbl9va19mb3JfaHdfd2F0Y2hwb2ludCAoQ09SRV9BRERSIGFyZzAsIExPTkdFU1QgYXJnMSkg b3ZlcnJpZGU7CistICBib29sIGNhbl9hY2NlbF93YXRjaHBvaW50X2NvbmRpdGlvbiAoQ09SRV9B RERSIGFyZzAsIGludCBhcmcxLCBpbnQgYXJnMiwgc3RydWN0IGV4cHJlc3Npb24gKmFyZzMpIG92 ZXJyaWRlOworKyAgYm9vbCBjYW5fYWNjZWxfd2F0Y2hwb2ludF9jb25kaXRpb24gKENPUkVfQURE UiBhcmcwLCBMT05HRVNUIGFyZzEsIGludCBhcmcyLCBzdHJ1Y3QgZXhwcmVzc2lvbiAqYXJnMykg b3ZlcnJpZGU7CisgICBpbnQgbWFza2VkX3dhdGNoX251bV9yZWdpc3RlcnMgKENPUkVfQUREUiBh cmcwLCBDT1JFX0FERFIgYXJnMSkgb3ZlcnJpZGU7CisgICBpbnQgY2FuX2RvX3NpbmdsZV9zdGVw ICgpIG92ZXJyaWRlOworICAgYm9vbCBzdXBwb3J0c190ZXJtaW5hbF9vdXJzICgpIG92ZXJyaWRl OworQEAgLTEwNjgsMTkgKzEwNjgsMTkgQEAgZGVidWdfdGFyZ2V0OjpzdG9wcGVkX2RhdGFfYWRk cmVzcyAoQ09SRV9BRERSICphcmcwKQogIH0KICAKLSBzdGF0aWMgaW50Ci0tZGVsZWdhdGVfd2F0 Y2hwb2ludF9hZGRyX3dpdGhpbl9yYW5nZSAoc3RydWN0IHRhcmdldF9vcHMgKnNlbGYsIENPUkVf QUREUiBhcmcxLCBDT1JFX0FERFIgYXJnMiwgaW50IGFyZzMpCi0rZGVsZWdhdGVfd2F0Y2hwb2lu dF9hZGRyX3dpdGhpbl9yYW5nZSAoc3RydWN0IHRhcmdldF9vcHMgKnNlbGYsIENPUkVfQUREUiBh cmcxLCBDT1JFX0FERFIgYXJnMiwgTE9OR0VTVCBhcmczKQorIGJvb2wKKy10YXJnZXRfb3BzOjp3 YXRjaHBvaW50X2FkZHJfd2l0aGluX3JhbmdlIChDT1JFX0FERFIgYXJnMCwgQ09SRV9BRERSIGFy ZzEsIGludCBhcmcyKQorK3RhcmdldF9vcHM6OndhdGNocG9pbnRfYWRkcl93aXRoaW5fcmFuZ2Ug KENPUkVfQUREUiBhcmcwLCBDT1JFX0FERFIgYXJnMSwgTE9OR0VTVCBhcmcyKQogIHsKLSAgIHNl bGYgPSBzZWxmLT5iZW5lYXRoOwotICAgcmV0dXJuIHNlbGYtPnRvX3dhdGNocG9pbnRfYWRkcl93 aXRoaW5fcmFuZ2UgKHNlbGYsIGFyZzEsIGFyZzIsIGFyZzMpOworICAgcmV0dXJuIHRoaXMtPmJl bmVhdGgtPndhdGNocG9pbnRfYWRkcl93aXRoaW5fcmFuZ2UgKGFyZzAsIGFyZzEsIGFyZzIpOwog IH0KICAKLSBzdGF0aWMgaW50Ci0tZGVidWdfd2F0Y2hwb2ludF9hZGRyX3dpdGhpbl9yYW5nZSAo c3RydWN0IHRhcmdldF9vcHMgKnNlbGYsIENPUkVfQUREUiBhcmcxLCBDT1JFX0FERFIgYXJnMiwg aW50IGFyZzMpCi0rZGVidWdfd2F0Y2hwb2ludF9hZGRyX3dpdGhpbl9yYW5nZSAoc3RydWN0IHRh cmdldF9vcHMgKnNlbGYsIENPUkVfQUREUiBhcmcxLCBDT1JFX0FERFIgYXJnMiwgTE9OR0VTVCBh cmczKQorIGJvb2wKKy1kdW1teV90YXJnZXQ6OndhdGNocG9pbnRfYWRkcl93aXRoaW5fcmFuZ2Ug KENPUkVfQUREUiBhcmcwLCBDT1JFX0FERFIgYXJnMSwgaW50IGFyZzIpCisrZHVtbXlfdGFyZ2V0 Ojp3YXRjaHBvaW50X2FkZHJfd2l0aGluX3JhbmdlIChDT1JFX0FERFIgYXJnMCwgQ09SRV9BRERS IGFyZzEsIExPTkdFU1QgYXJnMikKICB7Ci0gICBpbnQgcmVzdWx0OwotICAgZnByaW50Zl91bmZp bHRlcmVkIChnZGJfc3RkbG9nLCAiLT4gJXMtPnRvX3dhdGNocG9pbnRfYWRkcl93aXRoaW5fcmFu Z2UgKC4uLilcbiIsIGRlYnVnX3RhcmdldC50b19zaG9ydG5hbWUpOwotQEAgLTc1Miw3ICs3NTIs NyBAQCBkZWJ1Z193YXRjaHBvaW50X2FkZHJfd2l0aGluX3JhbmdlIChzdHJ1Y3QgdGFyZ2V0X29w cyAqc2VsZiwgQ09SRV9BRERSIGFyZzEsIENPUgorICAgcmV0dXJuIGRlZmF1bHRfd2F0Y2hwb2lu dF9hZGRyX3dpdGhpbl9yYW5nZSAodGhpcywgYXJnMCwgYXJnMSwgYXJnMik7CisgfQorIAorIGJv b2wKKy1kZWJ1Z190YXJnZXQ6OndhdGNocG9pbnRfYWRkcl93aXRoaW5fcmFuZ2UgKENPUkVfQURE UiBhcmcwLCBDT1JFX0FERFIgYXJnMSwgaW50IGFyZzIpCisrZGVidWdfdGFyZ2V0Ojp3YXRjaHBv aW50X2FkZHJfd2l0aGluX3JhbmdlIChDT1JFX0FERFIgYXJnMCwgQ09SRV9BRERSIGFyZzEsIExP TkdFU1QgYXJnMikKKyB7CisgICBib29sIHJlc3VsdDsKKyAgIGZwcmludGZfdW5maWx0ZXJlZCAo Z2RiX3N0ZGxvZywgIi0+ICVzLT53YXRjaHBvaW50X2FkZHJfd2l0aGluX3JhbmdlICguLi4pXG4i LCB0aGlzLT5iZW5lYXRoLT5zaG9ydG5hbWUgKCkpOworQEAgLTEwOTAsNyArMTA5MCw3IEBAIGRl YnVnX3RhcmdldDo6d2F0Y2hwb2ludF9hZGRyX3dpdGhpbl9yYW5nZSAoQ09SRV9BRERSIGFyZzAs IENPUkVfQUREUiBhcmcxLCBpbnQKICAgIGZwdXRzX3VuZmlsdGVyZWQgKCIsICIsIGdkYl9zdGRs b2cpOwotICAgdGFyZ2V0X2RlYnVnX3ByaW50X0NPUkVfQUREUiAoYXJnMik7CisgICB0YXJnZXRf ZGVidWdfcHJpbnRfQ09SRV9BRERSIChhcmcxKTsKICAgIGZwdXRzX3VuZmlsdGVyZWQgKCIsICIs IGdkYl9zdGRsb2cpOwotLSAgdGFyZ2V0X2RlYnVnX3ByaW50X2ludCAoYXJnMyk7Ci0rICB0YXJn ZXRfZGVidWdfcHJpbnRfTE9OR0VTVCAoYXJnMyk7CistICB0YXJnZXRfZGVidWdfcHJpbnRfaW50 IChhcmcyKTsKKysgIHRhcmdldF9kZWJ1Z19wcmludF9MT05HRVNUIChhcmcyKTsKICAgIGZwdXRz X3VuZmlsdGVyZWQgKCIpID0gIiwgZ2RiX3N0ZGxvZyk7Ci0gICB0YXJnZXRfZGVidWdfcHJpbnRf aW50IChyZXN1bHQpOworICAgdGFyZ2V0X2RlYnVnX3ByaW50X2Jvb2wgKHJlc3VsdCk7CiAgICBm cHV0c191bmZpbHRlcmVkICgiXG4iLCBnZGJfc3RkbG9nKTsKLUBAIC03ODUsMjAgKzc4NSwyMCBA QCBkZWJ1Z19yZWdpb25fb2tfZm9yX2h3X3dhdGNocG9pbnQgKHN0cnVjdCB0YXJnZXRfb3BzICpz ZWxmLCBDT1JFX0FERFIgYXJnMSwgTE9ORworQEAgLTExMjYsMTkgKzExMjYsMTkgQEAgZGVidWdf dGFyZ2V0OjpyZWdpb25fb2tfZm9yX2h3X3dhdGNocG9pbnQgKENPUkVfQUREUiBhcmcwLCBMT05H RVNUIGFyZzEpCiAgfQogIAotIHN0YXRpYyBpbnQKLS1kZWxlZ2F0ZV9jYW5fYWNjZWxfd2F0Y2hw b2ludF9jb25kaXRpb24gKHN0cnVjdCB0YXJnZXRfb3BzICpzZWxmLCBDT1JFX0FERFIgYXJnMSwg aW50IGFyZzIsIGludCBhcmczLCBzdHJ1Y3QgZXhwcmVzc2lvbiAqYXJnNCkKLStkZWxlZ2F0ZV9j YW5fYWNjZWxfd2F0Y2hwb2ludF9jb25kaXRpb24gKHN0cnVjdCB0YXJnZXRfb3BzICpzZWxmLCBD T1JFX0FERFIgYXJnMSwgTE9OR0VTVCBhcmcyLCBpbnQgYXJnMywgc3RydWN0IGV4cHJlc3Npb24g KmFyZzQpCisgYm9vbAorLXRhcmdldF9vcHM6OmNhbl9hY2NlbF93YXRjaHBvaW50X2NvbmRpdGlv biAoQ09SRV9BRERSIGFyZzAsIGludCBhcmcxLCBpbnQgYXJnMiwgc3RydWN0IGV4cHJlc3Npb24g KmFyZzMpCisrdGFyZ2V0X29wczo6Y2FuX2FjY2VsX3dhdGNocG9pbnRfY29uZGl0aW9uIChDT1JF X0FERFIgYXJnMCwgTE9OR0VTVCBhcmcxLCBpbnQgYXJnMiwgc3RydWN0IGV4cHJlc3Npb24gKmFy ZzMpCiAgewotICAgc2VsZiA9IHNlbGYtPmJlbmVhdGg7Ci0gICByZXR1cm4gc2VsZi0+dG9fY2Fu X2FjY2VsX3dhdGNocG9pbnRfY29uZGl0aW9uIChzZWxmLCBhcmcxLCBhcmcyLCBhcmczLCBhcmc0 KTsKKyAgIHJldHVybiB0aGlzLT5iZW5lYXRoLT5jYW5fYWNjZWxfd2F0Y2hwb2ludF9jb25kaXRp b24gKGFyZzAsIGFyZzEsIGFyZzIsIGFyZzMpOwogIH0KICAKLSBzdGF0aWMgaW50Ci0tdGRlZmF1 bHRfY2FuX2FjY2VsX3dhdGNocG9pbnRfY29uZGl0aW9uIChzdHJ1Y3QgdGFyZ2V0X29wcyAqc2Vs ZiwgQ09SRV9BRERSIGFyZzEsIGludCBhcmcyLCBpbnQgYXJnMywgc3RydWN0IGV4cHJlc3Npb24g KmFyZzQpCi0rdGRlZmF1bHRfY2FuX2FjY2VsX3dhdGNocG9pbnRfY29uZGl0aW9uIChzdHJ1Y3Qg dGFyZ2V0X29wcyAqc2VsZiwgQ09SRV9BRERSIGFyZzEsIExPTkdFU1QgYXJnMiwgaW50IGFyZzMs IHN0cnVjdCBleHByZXNzaW9uICphcmc0KQorIGJvb2wKKy1kdW1teV90YXJnZXQ6OmNhbl9hY2Nl bF93YXRjaHBvaW50X2NvbmRpdGlvbiAoQ09SRV9BRERSIGFyZzAsIGludCBhcmcxLCBpbnQgYXJn Miwgc3RydWN0IGV4cHJlc3Npb24gKmFyZzMpCisrZHVtbXlfdGFyZ2V0OjpjYW5fYWNjZWxfd2F0 Y2hwb2ludF9jb25kaXRpb24gKENPUkVfQUREUiBhcmcwLCBMT05HRVNUIGFyZzEsIGludCBhcmcy LCBzdHJ1Y3QgZXhwcmVzc2lvbiAqYXJnMykKICB7Ci0gICByZXR1cm4gMDsKKyAgIHJldHVybiBm YWxzZTsKICB9CiAgCi0gc3RhdGljIGludAotLWRlYnVnX2Nhbl9hY2NlbF93YXRjaHBvaW50X2Nv bmRpdGlvbiAoc3RydWN0IHRhcmdldF9vcHMgKnNlbGYsIENPUkVfQUREUiBhcmcxLCBpbnQgYXJn MiwgaW50IGFyZzMsIHN0cnVjdCBleHByZXNzaW9uICphcmc0KQotK2RlYnVnX2Nhbl9hY2NlbF93 YXRjaHBvaW50X2NvbmRpdGlvbiAoc3RydWN0IHRhcmdldF9vcHMgKnNlbGYsIENPUkVfQUREUiBh cmcxLCBMT05HRVNUIGFyZzIsIGludCBhcmczLCBzdHJ1Y3QgZXhwcmVzc2lvbiAqYXJnNCkKKyBi b29sCistZGVidWdfdGFyZ2V0OjpjYW5fYWNjZWxfd2F0Y2hwb2ludF9jb25kaXRpb24gKENPUkVf QUREUiBhcmcwLCBpbnQgYXJnMSwgaW50IGFyZzIsIHN0cnVjdCBleHByZXNzaW9uICphcmczKQor K2RlYnVnX3RhcmdldDo6Y2FuX2FjY2VsX3dhdGNocG9pbnRfY29uZGl0aW9uIChDT1JFX0FERFIg YXJnMCwgTE9OR0VTVCBhcmcxLCBpbnQgYXJnMiwgc3RydWN0IGV4cHJlc3Npb24gKmFyZzMpCiAg ewotICAgaW50IHJlc3VsdDsKLSAgIGZwcmludGZfdW5maWx0ZXJlZCAoZ2RiX3N0ZGxvZywgIi0+ ICVzLT50b19jYW5fYWNjZWxfd2F0Y2hwb2ludF9jb25kaXRpb24gKC4uLilcbiIsIGRlYnVnX3Rh cmdldC50b19zaG9ydG5hbWUpOwotQEAgLTgwOCw3ICs4MDgsNyBAQCBkZWJ1Z19jYW5fYWNjZWxf d2F0Y2hwb2ludF9jb25kaXRpb24gKHN0cnVjdCB0YXJnZXRfb3BzICpzZWxmLCBDT1JFX0FERFIg YXJnMSwgaQotICAgZnB1dHNfdW5maWx0ZXJlZCAoIiwgIiwgZ2RiX3N0ZGxvZyk7Ci0gICB0YXJn ZXRfZGVidWdfcHJpbnRfQ09SRV9BRERSIChhcmcxKTsKKyAgIGJvb2wgcmVzdWx0OworICAgZnBy aW50Zl91bmZpbHRlcmVkIChnZGJfc3RkbG9nLCAiLT4gJXMtPmNhbl9hY2NlbF93YXRjaHBvaW50 X2NvbmRpdGlvbiAoLi4uKVxuIiwgdGhpcy0+YmVuZWF0aC0+c2hvcnRuYW1lICgpKTsKK0BAIC0x MTQ2LDcgKzExNDYsNyBAQCBkZWJ1Z190YXJnZXQ6OmNhbl9hY2NlbF93YXRjaHBvaW50X2NvbmRp dGlvbiAoQ09SRV9BRERSIGFyZzAsIGludCBhcmcxLCBpbnQgYXJnMgorICAgZnByaW50Zl91bmZp bHRlcmVkIChnZGJfc3RkbG9nLCAiPC0gJXMtPmNhbl9hY2NlbF93YXRjaHBvaW50X2NvbmRpdGlv biAoIiwgdGhpcy0+YmVuZWF0aC0+c2hvcnRuYW1lICgpKTsKKyAgIHRhcmdldF9kZWJ1Z19wcmlu dF9DT1JFX0FERFIgKGFyZzApOwogICAgZnB1dHNfdW5maWx0ZXJlZCAoIiwgIiwgZ2RiX3N0ZGxv Zyk7Ci0tICB0YXJnZXRfZGVidWdfcHJpbnRfaW50IChhcmcyKTsKLSsgIHRhcmdldF9kZWJ1Z19w cmludF9MT05HRVNUIChhcmcyKTsKKy0gIHRhcmdldF9kZWJ1Z19wcmludF9pbnQgKGFyZzEpOwor KyAgdGFyZ2V0X2RlYnVnX3ByaW50X0xPTkdFU1QgKGFyZzEpOwogICAgZnB1dHNfdW5maWx0ZXJl ZCAoIiwgIiwgZ2RiX3N0ZGxvZyk7Ci0gICB0YXJnZXRfZGVidWdfcHJpbnRfaW50IChhcmczKTsK KyAgIHRhcmdldF9kZWJ1Z19wcmludF9pbnQgKGFyZzIpOwogICAgZnB1dHNfdW5maWx0ZXJlZCAo IiwgIiwgZ2RiX3N0ZGxvZyk7CiBkaWZmIC0tZ2l0IGEvZ2RiL3RhcmdldC5jIGIvZ2RiL3Rhcmdl dC5jCi1pbmRleCBhMWFjNmQwNjk3Li5lYjA1MzhjYjgyIDEwMDY0NAoraW5kZXggN2QwZGEzMmVj Ni4uNDZkMTIwYjlkMiAxMDA2NDQKIC0tLSBhL2dkYi90YXJnZXQuYwogKysrIGIvZ2RiL3Rhcmdl dC5jCi1AQCAtNTMsNyArNTMsNyBAQCBzdGF0aWMgdm9pZCBnZW5lcmljX3Rsc19lcnJvciAodm9p ZCkgQVRUUklCVVRFX05PUkVUVVJOOworQEAgLTU2LDcgKzU2LDcgQEAgc3RhdGljIHZvaWQgZ2Vu ZXJpY190bHNfZXJyb3IgKHZvaWQpIEFUVFJJQlVURV9OT1JFVFVSTjsKICBzdGF0aWMgdm9pZCBk ZWZhdWx0X3Rlcm1pbmFsX2luZm8gKHN0cnVjdCB0YXJnZXRfb3BzICosIGNvbnN0IGNoYXIgKiwg aW50KTsKICAKICBzdGF0aWMgaW50IGRlZmF1bHRfd2F0Y2hwb2ludF9hZGRyX3dpdGhpbl9yYW5n ZSAoc3RydWN0IHRhcmdldF9vcHMgKiwKQEAgLTQxMSw3ICs1MzgsNyBAQCBpbmRleCBhMWFjNmQw Njk3Li5lYjA1MzhjYjgyIDEwMDY0NAogIAogIHN0YXRpYyBpbnQgZGVmYXVsdF9yZWdpb25fb2tf Zm9yX2h3X3dhdGNocG9pbnQgKHN0cnVjdCB0YXJnZXRfb3BzICosCiAgCQkJCQkJQ09SRV9BRERS LCBMT05HRVNUKTsKLUBAIC0zMTIwLDcgKzMxMjAsNyBAQCBkZWZhdWx0X3JlZ2lvbl9va19mb3Jf aHdfd2F0Y2hwb2ludCAoc3RydWN0IHRhcmdldF9vcHMgKnNlbGYsCitAQCAtMzIwNSw3ICszMjA1 LDcgQEAgZGVmYXVsdF9yZWdpb25fb2tfZm9yX2h3X3dhdGNocG9pbnQgKHN0cnVjdCB0YXJnZXRf b3BzICpzZWxmLAogIHN0YXRpYyBpbnQKICBkZWZhdWx0X3dhdGNocG9pbnRfYWRkcl93aXRoaW5f cmFuZ2UgKHN0cnVjdCB0YXJnZXRfb3BzICp0YXJnZXQsCiAgCQkJCSAgICAgIENPUkVfQUREUiBh ZGRyLApAQCAtNDIxLDI0ICs1NDgsMjQgQEAgaW5kZXggYTFhYzZkMDY5Ny4uZWIwNTM4Y2I4MiAx MDA2NDQKICAgIHJldHVybiBhZGRyID49IHN0YXJ0ICYmIGFkZHIgPCBzdGFydCArIGxlbmd0aDsK ICB9CiBkaWZmIC0tZ2l0IGEvZ2RiL3RhcmdldC5oIGIvZ2RiL3RhcmdldC5oCi1pbmRleCA3YTcw YzNmNmRhLi4zNWVlZTkxYTgzIDEwMDY0NAoraW5kZXggYWFlZDM1ZjY5MC4uYjE5NDNhNmQwYSAx MDA2NDQKIC0tLSBhL2dkYi90YXJnZXQuaAogKysrIGIvZ2RiL3RhcmdldC5oCi1AQCAtNTM1LDcg KzUzNSw3IEBAIHN0cnVjdCB0YXJnZXRfb3BzCi0gICAgIGludCAoKnRvX3N0b3BwZWRfZGF0YV9h ZGRyZXNzKSAoc3RydWN0IHRhcmdldF9vcHMgKiwgQ09SRV9BRERSICopCi0gICAgICAgVEFSR0VU X0RFRkFVTFRfUkVUVVJOICgwKTsKLSAgICAgaW50ICgqdG9fd2F0Y2hwb2ludF9hZGRyX3dpdGhp bl9yYW5nZSkgKHN0cnVjdCB0YXJnZXRfb3BzICosCi0tCQkJCQkgICAgQ09SRV9BRERSLCBDT1JF X0FERFIsIGludCkKLSsJCQkJCSAgICBDT1JFX0FERFIsIENPUkVfQUREUiwgTE9OR0VTVCkKK0BA IC01NTIsNyArNTUyLDcgQEAgc3RydWN0IHRhcmdldF9vcHMKKyAgICAgICBUQVJHRVRfREVGQVVM VF9SRVRVUk4gKGZhbHNlKTsKKyAgICAgdmlydHVhbCBib29sIHN0b3BwZWRfZGF0YV9hZGRyZXNz IChDT1JFX0FERFIgKikKKyAgICAgICBUQVJHRVRfREVGQVVMVF9SRVRVUk4gKGZhbHNlKTsKKy0g ICAgdmlydHVhbCBib29sIHdhdGNocG9pbnRfYWRkcl93aXRoaW5fcmFuZ2UgKENPUkVfQUREUiwg Q09SRV9BRERSLCBpbnQpCisrICAgIHZpcnR1YWwgYm9vbCB3YXRjaHBvaW50X2FkZHJfd2l0aGlu X3JhbmdlIChDT1JFX0FERFIsIENPUkVfQUREUiwgTE9OR0VTVCkKICAgICAgICBUQVJHRVRfREVG QVVMVF9GVU5DIChkZWZhdWx0X3dhdGNocG9pbnRfYWRkcl93aXRoaW5fcmFuZ2UpOwogIAogICAg ICAvKiBEb2N1bWVudGF0aW9uIG9mIHRoaXMgcm91dGluZSBpcyBwcm92aWRlZCB3aXRoIHRoZSBj b3JyZXNwb25kaW5nCi1AQCAtNTQ1LDcgKzU0NSw3IEBAIHN0cnVjdCB0YXJnZXRfb3BzCitAQCAt NTYwLDcgKzU2MCw3IEBAIHN0cnVjdCB0YXJnZXRfb3BzCisgICAgIHZpcnR1YWwgaW50IHJlZ2lv bl9va19mb3JfaHdfd2F0Y2hwb2ludCAoQ09SRV9BRERSLCBMT05HRVNUKQogICAgICAgIFRBUkdF VF9ERUZBVUxUX0ZVTkMgKGRlZmF1bHRfcmVnaW9uX29rX2Zvcl9od193YXRjaHBvaW50KTsKICAK LSAgICAgaW50ICgqdG9fY2FuX2FjY2VsX3dhdGNocG9pbnRfY29uZGl0aW9uKSAoc3RydWN0IHRh cmdldF9vcHMgKiwKLS0JCQkJCSAgICAgIENPUkVfQUREUiwgaW50LCBpbnQsCi0rCQkJCQkgICAg ICBDT1JFX0FERFIsIExPTkdFU1QsIGludCwKLSAJCQkJCSAgICAgIHN0cnVjdCBleHByZXNzaW9u ICopCi0gICAgICAgVEFSR0VUX0RFRkFVTFRfUkVUVVJOICgwKTsKLSAgICAgaW50ICgqdG9fbWFz a2VkX3dhdGNoX251bV9yZWdpc3RlcnMpIChzdHJ1Y3QgdGFyZ2V0X29wcyAqLAorLSAgICB2aXJ0 dWFsIGJvb2wgY2FuX2FjY2VsX3dhdGNocG9pbnRfY29uZGl0aW9uIChDT1JFX0FERFIsIGludCwg aW50LAorKyAgICB2aXJ0dWFsIGJvb2wgY2FuX2FjY2VsX3dhdGNocG9pbnRfY29uZGl0aW9uIChD T1JFX0FERFIsIExPTkdFU1QsIGludCwKKyAJCQkJCQkgc3RydWN0IGV4cHJlc3Npb24gKikKKyAg ICAgICBUQVJHRVRfREVGQVVMVF9SRVRVUk4gKGZhbHNlKTsKKyAgICAgdmlydHVhbCBpbnQgbWFz a2VkX3dhdGNoX251bV9yZWdpc3RlcnMgKENPUkVfQUREUiwgQ09SRV9BRERSKQoKZGlmZiAtLWdp dCBhL2dkYi1yaGJ6Nzk1NDI0LWJpdHBvcy0yM29mMjUucGF0Y2ggYi9nZGItcmhiejc5NTQyNC1i aXRwb3MtMjNvZjI1LnBhdGNoCmluZGV4IGU0MmY5MTIuLjRiZDIwMTAgMTAwNjQ0Ci0tLSBhL2dk Yi1yaGJ6Nzk1NDI0LWJpdHBvcy0yM29mMjUucGF0Y2gKKysrIGIvZ2RiLXJoYno3OTU0MjQtYml0 cG9zLTIzb2YyNS5wYXRjaApAQCAtMTQ3LDEwICsxNDcsMTAgQEAgQ29udGVudC1UcmFuc2Zlci1F bmNvZGluZzogN2JpdAogQ29udGVudC1EaXNwb3NpdGlvbjogYXR0YWNobWVudDsgZmlsZW5hbWU9 Yml0cG9zLXRkZXAucGF0Y2gKIAogZGlmZiAtLWdpdCBhL2dkYi9hbHBoYS10ZGVwLmMgYi9nZGIv YWxwaGEtdGRlcC5jCi1pbmRleCBlYTUzYjllZTEwLi4zNGRmYjY2MWY4IDEwMDY0NAoraW5kZXgg OWI3NDk1NTlhMS4uNDg1ZGI0NGFlOSAxMDA2NDQKIC0tLSBhL2dkYi9hbHBoYS10ZGVwLmMKICsr KyBiL2dkYi9hbHBoYS10ZGVwLmMKLUBAIC0zMDEsMTcgKzMwMSwxNyBAQCBhbHBoYV9wdXNoX2R1 bW15X2NhbGwgKHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoLCBzdHJ1Y3QgdmFsdWUgKmZ1bmN0aW9u LAorQEAgLTI5OSwxNyArMjk5LDE3IEBAIGFscGhhX3B1c2hfZHVtbXlfY2FsbCAoc3RydWN0IGdk YmFyY2ggKmdkYmFyY2gsIHN0cnVjdCB2YWx1ZSAqZnVuY3Rpb24sCiAgewogICAgZW51bSBiZmRf ZW5kaWFuIGJ5dGVfb3JkZXIgPSBnZGJhcmNoX2J5dGVfb3JkZXIgKGdkYmFyY2gpOwogICAgaW50 IGk7CkBAIC0xNzIsNyArMTcyLDcgQEAgaW5kZXggZWE1M2I5ZWUxMC4uMzRkZmI2NjFmOCAxMDA2 NDQKICAgIENPUkVfQUREUiBmdW5jX2FkZHIgPSBmaW5kX2Z1bmN0aW9uX2FkZHIgKGZ1bmN0aW9u LCBOVUxMKTsKICAKICAgIC8qIFRoZSBBQkkgcGxhY2VzIHRoZSBhZGRyZXNzIG9mIHRoZSBjYWxs ZWQgZnVuY3Rpb24gaW4gVDEyLiAgKi8KLUBAIC00MzEsOCArNDMxLDggQEAgYWxwaGFfcHVzaF9k dW1teV9jYWxsIChzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCwgc3RydWN0IHZhbHVlICpmdW5jdGlv biwKK0BAIC00MjksOCArNDI5LDggQEAgYWxwaGFfcHVzaF9kdW1teV9jYWxsIChzdHJ1Y3QgZ2Ri YXJjaCAqZ2RiYXJjaCwgc3RydWN0IHZhbHVlICpmdW5jdGlvbiwKICAgIGZvciAoaSA9IG5hcmdz OyBtX2FyZy0tLCAtLWkgPj0gMDspCiAgICAgIHsKICAgICAgICBjb25zdCBnZGJfYnl0ZSAqY29u dGVudHMgPSBtX2FyZy0+Y29udGVudHM7CkBAIC0xODMsNyArMTgzLDcgQEAgaW5kZXggZWE1M2I5 ZWUxMC4uMzRkZmI2NjFmOCAxMDA2NDQKICAKICAgICAgICAvKiBDb3B5IHRoZSBieXRlcyBkZXN0 aW5lZCBmb3IgcmVnaXN0ZXJzIGludG8gYXJnX3JlZ19idWZmZXIuICAqLwogICAgICAgIGlmIChv ZmZzZXQgPCBzaXplb2YoYXJnX3JlZ19idWZmZXIpKQotQEAgLTQ0NCw3ICs0NDQsNyBAQCBhbHBo YV9wdXNoX2R1bW15X2NhbGwgKHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoLCBzdHJ1Y3QgdmFsdWUg KmZ1bmN0aW9uLAorQEAgLTQ0Miw3ICs0NDIsNyBAQCBhbHBoYV9wdXNoX2R1bW15X2NhbGwgKHN0 cnVjdCBnZGJhcmNoICpnZGJhcmNoLCBzdHJ1Y3QgdmFsdWUgKmZ1bmN0aW9uLAogIAkgICAgfQog IAkgIGVsc2UKICAJICAgIHsKQEAgLTE5MywxMCArMTkzLDEwIEBAIGluZGV4IGVhNTNiOWVlMTAu LjM0ZGZiNjYxZjggMTAwNjQ0CiAgCSAgICAgIG9mZnNldCArPSB0bGVuOwogIAkgICAgICBjb250 ZW50cyArPSB0bGVuOwogZGlmZiAtLWdpdCBhL2dkYi9hbWQ2NC10ZGVwLmMgYi9nZGIvYW1kNjQt dGRlcC5jCi1pbmRleCA2NTE3OTRhNDFmLi5jOTY3OTBhNmFmIDEwMDY0NAoraW5kZXggMzM4YTBm MmM4Ny4uMjQxYWJjZDZkNSAxMDA2NDQKIC0tLSBhL2dkYi9hbWQ2NC10ZGVwLmMKICsrKyBiL2dk Yi9hbWQ2NC10ZGVwLmMKLUBAIC04ODAsOCArODgwLDggQEAgYW1kNjRfcHVzaF9hcmd1bWVudHMg KHN0cnVjdCByZWdjYWNoZSAqcmVnY2FjaGUsIGludCBuYXJncywKK0BAIC04ODIsOCArODgyLDgg QEAgYW1kNjRfcHVzaF9hcmd1bWVudHMgKHN0cnVjdCByZWdjYWNoZSAqcmVnY2FjaGUsIGludCBu YXJncywKICAgIH07CiAgICBzdHJ1Y3QgdmFsdWUgKipzdGFja19hcmdzID0gWEFMTE9DQVZFQyAo c3RydWN0IHZhbHVlICosIG5hcmdzKTsKICAgIGludCBudW1fc3RhY2tfYXJncyA9IDA7CkBAIC0y MDcsNyArMjA3LDcgQEAgaW5kZXggNjUxNzk0YTQxZi4uYzk2NzkwYTZhZiAxMDA2NDQKICAgIGlu dCBpbnRlZ2VyX3JlZyA9IDA7CiAgICBpbnQgc3NlX3JlZyA9IDA7CiAgICBpbnQgaTsKLUBAIC04 OTMsNyArODkzLDcgQEAgYW1kNjRfcHVzaF9hcmd1bWVudHMgKHN0cnVjdCByZWdjYWNoZSAqcmVn Y2FjaGUsIGludCBuYXJncywKK0BAIC04OTUsNyArODk1LDcgQEAgYW1kNjRfcHVzaF9hcmd1bWVu dHMgKHN0cnVjdCByZWdjYWNoZSAqcmVnY2FjaGUsIGludCBuYXJncywKICAgIGZvciAoaSA9IDA7 IGkgPCBuYXJnczsgaSsrKQogICAgICB7CiAgICAgICAgc3RydWN0IHR5cGUgKnR5cGUgPSB2YWx1 ZV90eXBlIChhcmdzW2ldKTsKQEAgLTIxNiw3ICsyMTYsNyBAQCBpbmRleCA2NTE3OTRhNDFmLi5j OTY3OTBhNmFmIDEwMDY0NAogICAgICAgIGVudW0gYW1kNjRfcmVnX2NsYXNzIHRoZWNsYXNzWzJd OwogICAgICAgIGludCBuZWVkZWRfaW50ZWdlcl9yZWdzID0gMDsKICAgICAgICBpbnQgbmVlZGVk X3NzZV9yZWdzID0gMDsKLUBAIC05NTcsNyArOTU3LDcgQEAgYW1kNjRfcHVzaF9hcmd1bWVudHMg KHN0cnVjdCByZWdjYWNoZSAqcmVnY2FjaGUsIGludCBuYXJncywKK0BAIC05NTksNyArOTU5LDcg QEAgYW1kNjRfcHVzaF9hcmd1bWVudHMgKHN0cnVjdCByZWdjYWNoZSAqcmVnY2FjaGUsIGludCBu YXJncywKICAKICAJICAgICAgZ2RiX2Fzc2VydCAocmVnbnVtICE9IC0xKTsKICAJICAgICAgbWVt c2V0IChidWYsIDAsIHNpemVvZiBidWYpOwpAQCAtMjM5LDEwICsyMzksMTAgQEAgaW5kZXggMzJl YmVhZDA1ZC4uMmUzODhmMjQ0MCAxMDA2NDQKICAKICAgIC8qIFNlZSBpZiBvdXIgdmFsdWUgaXMg cmV0dXJuZWQgdGhyb3VnaCBhIHJlZ2lzdGVyLiAgSWYgaXQgaXMsIHRoZW4KIGRpZmYgLS1naXQg YS9nZGIvYXJtLXRkZXAuYyBiL2dkYi9hcm0tdGRlcC5jCi1pbmRleCBiYzgzMzI2YWU3Li5kMzhk ZDQ5MThiIDEwMDY0NAoraW5kZXggMzgyMDgwYTcxNC4uODg1NTkxY2JmMiAxMDA2NDQKIC0tLSBh L2dkYi9hcm0tdGRlcC5jCiArKysgYi9nZGIvYXJtLXRkZXAuYwotQEAgLTM0NzcsNyArMzQ3Nyw3 IEBAIGFybV92ZnBfY3ByY19yZWdfY2hhciAoZW51bSBhcm1fdmZwX2NwcmNfYmFzZV90eXBlIGIp CitAQCAtMzQ2OCw3ICszNDY4LDcgQEAgYXJtX3ZmcF9jcHJjX3JlZ19jaGFyIChlbnVtIGFybV92 ZnBfY3ByY19iYXNlX3R5cGUgYikKICAgICBhcnJheSkuICBWZWN0b3IgdHlwZXMgYXJlIG5vdCBj dXJyZW50bHkgc3VwcG9ydGVkLCBtYXRjaGluZyB0aGUKICAgICBnZW5lcmljIEFBUENTIHN1cHBv cnQuICAqLwogIApAQCAtMjUxLDcgKzI1MSw3IEBAIGluZGV4IGJjODMzMjZhZTcuLmQzOGRkNDkx OGIgMTAwNjQ0CiAgYXJtX3ZmcF9jcHJjX3N1Yl9jYW5kaWRhdGUgKHN0cnVjdCB0eXBlICp0LAog IAkJCSAgICBlbnVtIGFybV92ZnBfY3ByY19iYXNlX3R5cGUgKmJhc2VfdHlwZSkKICB7Ci1AQCAt MzU2MCw3ICszNTYwLDcgQEAgYXJtX3ZmcF9jcHJjX3N1Yl9jYW5kaWRhdGUgKHN0cnVjdCB0eXBl ICp0LAorQEAgLTM1NTEsNyArMzU1MSw3IEBAIGFybV92ZnBfY3ByY19zdWJfY2FuZGlkYXRlIChz dHJ1Y3QgdHlwZSAqdCwKICAJICB9CiAgCWVsc2UKICAJICB7CkBAIC0yNjAsNyArMjYwLDcgQEAg aW5kZXggYmM4MzMyNmFlNy4uZDM4ZGQ0OTE4YiAxMDA2NDQKICAJICAgIHVuc2lnbmVkIHVuaXRs ZW47CiAgCiAgCSAgICBjb3VudCA9IGFybV92ZnBfY3ByY19zdWJfY2FuZGlkYXRlIChUWVBFX1RB UkdFVF9UWVBFICh0KSwKLUBAIC0zNTgzLDEyICszNTgzLDEyIEBAIGFybV92ZnBfY3ByY19zdWJf Y2FuZGlkYXRlIChzdHJ1Y3QgdHlwZSAqdCwKK0BAIC0zNTc0LDEyICszNTc0LDEyIEBAIGFybV92 ZnBfY3ByY19zdWJfY2FuZGlkYXRlIChzdHJ1Y3QgdHlwZSAqdCwKICAKICAgICAgY2FzZSBUWVBF X0NPREVfU1RSVUNUOgogICAgICAgIHsKQEAgLTI3NSw3ICsyNzUsNyBAQCBpbmRleCBiYzgzMzI2 YWU3Li5kMzhkZDQ5MThiIDEwMDY0NAogIAogIAkgICAgaWYgKCFmaWVsZF9pc19zdGF0aWMgKCZU WVBFX0ZJRUxEICh0LCBpKSkpCiAgCSAgICAgIHN1Yl9jb3VudCA9IGFybV92ZnBfY3ByY19zdWJf Y2FuZGlkYXRlIChUWVBFX0ZJRUxEX1RZUEUgKHQsIGkpLAotQEAgLTM2MTIsMTMgKzM2MTIsMTUg QEAgYXJtX3ZmcF9jcHJjX3N1Yl9jYW5kaWRhdGUgKHN0cnVjdCB0eXBlICp0LAorQEAgLTM2MDMs MTMgKzM2MDMsMTUgQEAgYXJtX3ZmcF9jcHJjX3N1Yl9jYW5kaWRhdGUgKHN0cnVjdCB0eXBlICp0 LAogIAogICAgICBjYXNlIFRZUEVfQ09ERV9VTklPTjoKICAgICAgICB7CkBAIC0yOTQsNyArMjk0 LDcgQEAgaW5kZXggYmM4MzMyNmFlNy4uZDM4ZGQ0OTE4YiAxMDA2NDQKICAJICAgIGlmIChzdWJf Y291bnQgPT0gLTEpCiAgCSAgICAgIHJldHVybiAtMTsKICAJICAgIGNvdW50ID0gKGNvdW50ID4g c3ViX2NvdW50ID8gY291bnQgOiBzdWJfY291bnQpOwotQEAgLTM2NTQsNyArMzY1Niw3IEBAIGFy bV92ZnBfY2FsbF9jYW5kaWRhdGUgKHN0cnVjdCB0eXBlICp0LCBlbnVtIGFybV92ZnBfY3ByY19i YXNlX3R5cGUgKmJhc2VfdHlwZSwKK0BAIC0zNjQ1LDcgKzM2NDcsNyBAQCBhcm1fdmZwX2NhbGxf Y2FuZGlkYXRlIChzdHJ1Y3QgdHlwZSAqdCwgZW51bSBhcm1fdmZwX2NwcmNfYmFzZV90eXBlICpi YXNlX3R5cGUsCiAgCQkJaW50ICpjb3VudCkKICB7CiAgICBlbnVtIGFybV92ZnBfY3ByY19iYXNl X3R5cGUgYiA9IFZGUF9DUFJDX1VOS05PV047CkBAIC0zMDMsNyArMzAzLDcgQEAgaW5kZXggYmM4 MzMyNmFlNy4uZDM4ZGQ0OTE4YiAxMDA2NDQKICAgIGlmIChjIDw9IDAgfHwgYyA+IDQpCiAgICAg IHJldHVybiAwOwogICAgKmJhc2VfdHlwZSA9IGI7Ci1AQCAtMzczNSw3ICszNzM3LDcgQEAgYXJt X3B1c2hfZHVtbXlfY2FsbCAoc3RydWN0IGdkYmFyY2ggKmdkYmFyY2gsIHN0cnVjdCB2YWx1ZSAq ZnVuY3Rpb24sCitAQCAtMzcyNiw3ICszNzI4LDcgQEAgYXJtX3B1c2hfZHVtbXlfY2FsbCAoc3Ry dWN0IGdkYmFyY2ggKmdkYmFyY2gsIHN0cnVjdCB2YWx1ZSAqZnVuY3Rpb24sCiAgCiAgICBmb3Ig KGFyZ251bSA9IDA7IGFyZ251bSA8IG5hcmdzOyBhcmdudW0rKykKICAgICAgewpAQCAtMzEzLDEw ICszMTMsMTAgQEAgaW5kZXggYmM4MzMyNmFlNy4uZDM4ZGQ0OTE4YiAxMDA2NDQKICAgICAgICBz dHJ1Y3QgdHlwZSAqdGFyZ2V0X3R5cGU7CiAgICAgICAgZW51bSB0eXBlX2NvZGUgdHlwZWNvZGU7 CiBkaWZmIC0tZ2l0IGEvZ2RiL2F2ci10ZGVwLmMgYi9nZGIvYXZyLXRkZXAuYwotaW5kZXggYWE2 NWE3NmUwNy4uZjc0YjkyNzg1NCAxMDA2NDQKK2luZGV4IDVhYTYxYmEyZDkuLjk2ZGUzMTlkYTUg MTAwNjQ0CiAtLS0gYS9nZGIvYXZyLXRkZXAuYwogKysrIGIvZ2RiL2F2ci10ZGVwLmMKLUBAIC0x MTkxLDEzICsxMTkxLDEzIEBAIGF2cl9kdW1teV9pZCAoc3RydWN0IGdkYmFyY2ggKmdkYmFyY2gs IHN0cnVjdCBmcmFtZV9pbmZvICp0aGlzX2ZyYW1lKQorQEAgLTExOTIsMTMgKzExOTIsMTMgQEAg YXZyX2R1bW15X2lkIChzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCwgc3RydWN0IGZyYW1lX2luZm8g KnRoaXNfZnJhbWUpCiAgCiAgc3RydWN0IHN0YWNrX2l0ZW0KICB7CkBAIC0zMzIsNyArMzMyLDcg QEAgaW5kZXggYWE2NWE3NmUwNy4uZjc0YjkyNzg1NCAxMDA2NDQKICB7CiAgICBzdHJ1Y3Qgc3Rh Y2tfaXRlbSAqc2k7CiAgICBzaSA9IFhORVcgKHN0cnVjdCBzdGFja19pdGVtKTsKLUBAIC0xMjg1 LDEyICsxMjg1LDEyIEBAIGF2cl9wdXNoX2R1bW15X2NhbGwgKHN0cnVjdCBnZGJhcmNoICpnZGJh cmNoLCBzdHJ1Y3QgdmFsdWUgKmZ1bmN0aW9uLAorQEAgLTEyODYsMTIgKzEyODYsMTIgQEAgYXZy X3B1c2hfZHVtbXlfY2FsbCAoc3RydWN0IGdkYmFyY2ggKmdkYmFyY2gsIHN0cnVjdCB2YWx1ZSAq ZnVuY3Rpb24sCiAgCiAgICBmb3IgKGkgPSAwOyBpIDwgbmFyZ3M7IGkrKykKICAgICAgewpAQCAt MzQ5LDcgKzM0OSw3IEBAIGluZGV4IGFhNjVhNzZlMDcuLmY3NGI5Mjc4NTQgMTAwNjQ0CiAgICAg ICAgLyogQ2FsY3VsYXRlIHRoZSBwb3RlbnRpYWwgbGFzdCByZWdpc3RlciBuZWVkZWQuCiAgICAg ICAgICAgRS5nLiBGb3IgbGVuZ3RoIDIsIHJlZ2lzdGVycyByZWdudW0gYW5kIHJlZ251bS0xIChz YXkgMjUgYW5kIDI0KQogZGlmZiAtLWdpdCBhL2dkYi9iZmluLXRkZXAuYyBiL2dkYi9iZmluLXRk ZXAuYwotaW5kZXggZDg3ZmQ0ZDg5Ni4uZjhiMDJkYWYyOSAxMDA2NDQKK2luZGV4IDYzZmJmNjIw OWUuLjg2NDUzMGJmMDUgMTAwNjQ0CiAtLS0gYS9nZGIvYmZpbi10ZGVwLmMKICsrKyBiL2dkYi9i ZmluLXRkZXAuYwogQEAgLTUwNCw3ICs1MDQsNyBAQCBiZmluX3B1c2hfZHVtbXlfY2FsbCAoc3Ry dWN0IGdkYmFyY2ggKmdkYmFyY2gsCkBAIC00MDksNyArNDA5LDcgQEAgaW5kZXggNWZhNzllZjJj Zi4uMWM5OTM1Njc0NiAxMDA2NDQKICAgICAgICAvKiBIb3cgbWF5IHJlZ2lzdGVycyB3b3J0aCBv ZiBzdG9yYWdlIGRvIHdlIG5lZWQgZm9yIHRoaXMgYXJndW1lbnQ/ICAqLwogICAgICAgIHJlZ19k ZW1hbmQgPSAobGVuIC8gNCkgKyAobGVuICUgNCAhPSAwID8gMSA6IDApOwogZGlmZiAtLWdpdCBh L2dkYi9oODMwMC10ZGVwLmMgYi9nZGIvaDgzMDAtdGRlcC5jCi1pbmRleCA4MDlhNjQ3OTg0Li42 YzcwNTlmZmY0IDEwMDY0NAoraW5kZXggNTVlNzdiNmJiNi4uMTMxN2EwYTNhNyAxMDA2NDQKIC0t LSBhL2dkYi9oODMwMC10ZGVwLmMKICsrKyBiL2dkYi9oODMwMC10ZGVwLmMKIEBAIC02MzcsNyAr NjM3LDcgQEAgaDgzMDBfcHVzaF9kdW1teV9jYWxsIChzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCwg c3RydWN0IHZhbHVlICpmdW5jdGlvbiwKQEAgLTQ0NSwxMCArNDQ1LDEwIEBAIGluZGV4IDgwOWE2 NDc5ODQuLjZjNzA1OWZmZjQgMTAwNjQ0CiAgCSAgICAgIGZvciAob2Zmc2V0ID0gMDsgb2Zmc2V0 IDwgcGFkZGVkX2xlbjsgb2Zmc2V0ICs9IHdvcmRzaXplKQogIAkJewogZGlmZiAtLWdpdCBhL2dk Yi9ocHBhLXRkZXAuYyBiL2dkYi9ocHBhLXRkZXAuYwotaW5kZXggNTEzZjBlMDM5MS4uMDg3MmQ1 ZTgwOSAxMDA2NDQKK2luZGV4IDk2OTJiMzNlMDkuLjNjY2EzZmI2YzEgMTAwNjQ0CiAtLS0gYS9n ZGIvaHBwYS10ZGVwLmMKICsrKyBiL2dkYi9ocHBhLXRkZXAuYwotQEAgLTk4OSw3ICs5ODksNyBA QCBocHBhNjRfcHVzaF9kdW1teV9jYWxsIChzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCwgc3RydWN0 IHZhbHVlICpmdW5jdGlvbiwKK0BAIC05ODYsNyArOTg2LDcgQEAgaHBwYTY0X3B1c2hfZHVtbXlf Y2FsbCAoc3RydWN0IGdkYmFyY2ggKmdkYmFyY2gsIHN0cnVjdCB2YWx1ZSAqZnVuY3Rpb24sCiAg ICAgIHsKICAgICAgICBzdHJ1Y3QgdmFsdWUgKmFyZyA9IGFyZ3NbaV07CiAgICAgICAgc3RydWN0 IHR5cGUgKnR5cGUgPSB2YWx1ZV90eXBlIChhcmcpOwpAQCAtNDU3LDcgKzQ1Nyw3IEBAIGluZGV4 IDUxM2YwZTAzOTEuLjA4NzJkNWU4MDkgMTAwNjQ0CiAgICAgICAgY29uc3QgYmZkX2J5dGUgKnZh bGJ1ZjsKICAgICAgICBiZmRfYnl0ZSBmcHRyYnVmWzhdOwogICAgICAgIGludCByZWdudW07Ci1A QCAtMTE4NCw3ICsxMTg0LDcgQEAgaHBwYTY0X3JldHVybl92YWx1ZSAoc3RydWN0IGdkYmFyY2gg KmdkYmFyY2gsIHN0cnVjdCB2YWx1ZSAqZnVuY3Rpb24sCitAQCAtMTE4MSw3ICsxMTgxLDcgQEAg aHBwYTY0X3JldHVybl92YWx1ZSAoc3RydWN0IGdkYmFyY2ggKmdkYmFyY2gsIHN0cnVjdCB2YWx1 ZSAqZnVuY3Rpb24sCiAgCQkgICAgIHN0cnVjdCB0eXBlICp0eXBlLCBzdHJ1Y3QgcmVnY2FjaGUg KnJlZ2NhY2hlLAogIAkJICAgICBnZGJfYnl0ZSAqcmVhZGJ1ZiwgY29uc3QgZ2RiX2J5dGUgKndy aXRlYnVmKQogIHsKQEAgLTQ4MCwxMCArNDgwLDEwIEBAIGluZGV4IDdlZTJmNGNmMmEuLmI4MTEy OTZiMGQgMTAwNjQ0CiAgCiAgICAgICAgaWYgKHN0cnVjdF9yZXR1cm4pCiBkaWZmIC0tZ2l0IGEv Z2RiL2kzODYtdGRlcC5jIGIvZ2RiL2kzODYtdGRlcC5jCi1pbmRleCBhZjQ5NDJhYjJlLi42YjE1 ODZhOWUzIDEwMDY0NAoraW5kZXggZDY3ZTJlNDBjNS4uZGZmZjU1NTQ5MyAxMDA2NDQKIC0tLSBh L2dkYi9pMzg2LXRkZXAuYwogKysrIGIvZ2RiL2kzODYtdGRlcC5jCi1AQCAtMjY3Nyw3ICsyNjc3 LDcgQEAgaTM4Nl9wdXNoX2R1bW15X2NhbGwgKHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoLCBzdHJ1 Y3QgdmFsdWUgKmZ1bmN0aW9uLAorQEAgLTI2NzgsNyArMjY3OCw3IEBAIGkzODZfcHVzaF9kdW1t eV9jYWxsIChzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCwgc3RydWN0IHZhbHVlICpmdW5jdGlvbiwK ICAgIGdkYl9ieXRlIGJ1Zls0XTsKICAgIGludCBpOwogICAgaW50IHdyaXRlX3Bhc3M7CkBAIC00 OTIsNyArNDkyLDcgQEAgaW5kZXggYWY0OTQyYWIyZS4uNmIxNTg2YTllMyAxMDA2NDQKICAKICAg IC8qIEJORCByZWdpc3RlcnMgY2FuIGJlIGluIGFyYml0cmFyeSB2YWx1ZXMgYXQgdGhlIG1vbWVu dCBvZiB0aGUKICAgICAgIGluZmVyaW9yIGNhbGwuICBUaGlzIGNhbiBjYXVzZSBib3VuZGFyeSB2 aW9sYXRpb25zIHRoYXQgYXJlIG5vdAotQEAgLTI2OTIsNyArMjY5Miw3IEBAIGkzODZfcHVzaF9k dW1teV9jYWxsIChzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCwgc3RydWN0IHZhbHVlICpmdW5jdGlv biwKK0BAIC0yNjkzLDcgKzI2OTMsNyBAQCBpMzg2X3B1c2hfZHVtbXlfY2FsbCAoc3RydWN0IGdk YmFyY2ggKmdkYmFyY2gsIHN0cnVjdCB2YWx1ZSAqZnVuY3Rpb24sCiAgCiAgICBmb3IgKHdyaXRl X3Bhc3MgPSAwOyB3cml0ZV9wYXNzIDwgMjsgd3JpdGVfcGFzcysrKQogICAgICB7CkBAIC01MDEs NyArNTAxLDcgQEAgaW5kZXggYWY0OTQyYWIyZS4uNmIxNTg2YTllMyAxMDA2NDQKICAKICAgICAg ICBpZiAoc3RydWN0X3JldHVybikKICAJewotQEAgLTI3MDksNyArMjcwOSw3IEBAIGkzODZfcHVz aF9kdW1teV9jYWxsIChzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCwgc3RydWN0IHZhbHVlICpmdW5j dGlvbiwKK0BAIC0yNzEwLDcgKzI3MTAsNyBAQCBpMzg2X3B1c2hfZHVtbXlfY2FsbCAoc3RydWN0 IGdkYmFyY2ggKmdkYmFyY2gsIHN0cnVjdCB2YWx1ZSAqZnVuY3Rpb24sCiAgCiAgICAgICAgZm9y IChpID0gMDsgaSA8IG5hcmdzOyBpKyspCiAgCXsKQEAgLTUxMCw3ICs1MTAsNyBAQCBpbmRleCBh ZjQ5NDJhYjJlLi42YjE1ODZhOWUzIDEwMDY0NAogIAogIAkgIGlmICh3cml0ZV9wYXNzKQogIAkg ICAgewotQEAgLTI5MTYsNyArMjkxNiw3IEBAIGkzODZfcmVnX3N0cnVjdF9yZXR1cm5fcCAoc3Ry dWN0IGdkYmFyY2ggKmdkYmFyY2gsIHN0cnVjdCB0eXBlICp0eXBlKQorQEAgLTI5MTcsNyArMjkx Nyw3IEBAIGkzODZfcmVnX3N0cnVjdF9yZXR1cm5fcCAoc3RydWN0IGdkYmFyY2ggKmdkYmFyY2gs IHN0cnVjdCB0eXBlICp0eXBlKQogIHsKICAgIHN0cnVjdCBnZGJhcmNoX3RkZXAgKnRkZXAgPSBn ZGJhcmNoX3RkZXAgKGdkYmFyY2gpOwogICAgZW51bSB0eXBlX2NvZGUgY29kZSA9IFRZUEVfQ09E RSAodHlwZSk7CkBAIC01MTksNyArNTE5LDcgQEAgaW5kZXggYWY0OTQyYWIyZS4uNmIxNTg2YTll MyAxMDA2NDQKICAKICAgIGdkYl9hc3NlcnQgKGNvZGUgPT0gVFlQRV9DT0RFX1NUUlVDVAogICAg ICAgICAgICAgICAgfHwgY29kZSA9PSBUWVBFX0NPREVfVU5JT04KLUBAIC0zNzM4LDcgKzM3Mzgs NyBAQCBzdGF0aWMgaW50CitAQCAtMzcyNyw3ICszNzI3LDcgQEAgc3RhdGljIGludAogIGkzODZf Y29udmVydF9yZWdpc3Rlcl9wIChzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCwKICAJCQkgaW50IHJl Z251bSwgc3RydWN0IHR5cGUgKnR5cGUpCiAgewpAQCAtNTI4LDcgKzUyOCw3IEBAIGluZGV4IGFm NDk0MmFiMmUuLjZiMTU4NmE5ZTMgMTAwNjQ0CiAgCiAgICAvKiBWYWx1ZXMgbWF5IGJlIHNwcmVh ZCBhY3Jvc3MgbXVsdGlwbGUgcmVnaXN0ZXJzLiAgTW9zdCBkZWJ1Z2dpbmcKICAgICAgIGZvcm1h dHMgYXJlbid0IGV4cHJlc3NpdmUgZW5vdWdoIHRvIHNwZWNpZnkgdGhlIGxvY2F0aW9ucywgc28K LUBAIC0zNzcxLDcgKzM3NzEsNyBAQCBpMzg2X3JlZ2lzdGVyX3RvX3ZhbHVlIChzdHJ1Y3QgZnJh bWVfaW5mbyAqZnJhbWUsIGludCByZWdudW0sCitAQCAtMzc2MCw3ICszNzYwLDcgQEAgaTM4Nl9y ZWdpc3Rlcl90b192YWx1ZSAoc3RydWN0IGZyYW1lX2luZm8gKmZyYW1lLCBpbnQgcmVnbnVtLAog IAkJCWludCAqb3B0aW1pemVkcCwgaW50ICp1bmF2YWlsYWJsZXApCiAgewogICAgc3RydWN0IGdk YmFyY2ggKmdkYmFyY2ggPSBnZXRfZnJhbWVfYXJjaCAoZnJhbWUpOwpAQCAtNTM3LDcgKzUzNyw3 IEBAIGluZGV4IGFmNDk0MmFiMmUuLjZiMTU4NmE5ZTMgMTAwNjQ0CiAgCiAgICBpZiAoaTM4Nl9m cF9yZWdudW1fcCAoZ2RiYXJjaCwgcmVnbnVtKSkKICAgICAgcmV0dXJuIGkzODdfcmVnaXN0ZXJf dG9fdmFsdWUgKGZyYW1lLCByZWdudW0sIHR5cGUsIHRvLAotQEAgLTM4MDcsNyArMzgwNyw3IEBA IHN0YXRpYyB2b2lkCitAQCAtMzc5Niw3ICszNzk2LDcgQEAgc3RhdGljIHZvaWQKICBpMzg2X3Zh bHVlX3RvX3JlZ2lzdGVyIChzdHJ1Y3QgZnJhbWVfaW5mbyAqZnJhbWUsIGludCByZWdudW0sCiAg CQkJc3RydWN0IHR5cGUgKnR5cGUsIGNvbnN0IGdkYl9ieXRlICpmcm9tKQogIHsKQEAgLTU2Mywx MCArNTYzLDEwIEBAIGluZGV4IGY4ZTJmMjM0ZTAuLmI3MDNjMmNhZTQgMTAwNjQ0CiAgICBDT1JF X0FERFIgc3RydWN0X3B0cjsKICAKIGRpZmYgLS1naXQgYS9nZGIvbTMyci10ZGVwLmMgYi9nZGIv bTMyci10ZGVwLmMKLWluZGV4IDBmZTY3NTQ0MTIuLjlhMjc3NDA2OTEgMTAwNjQ0CitpbmRleCBm ZDc5ZjNmNGNkLi45NDFjODk3MDcwIDEwMDY0NAogLS0tIGEvZ2RiL20zMnItdGRlcC5jCiArKysg Yi9nZGIvbTMyci10ZGVwLmMKLUBAIC02NzksNyArNjc5LDcgQEAgbTMycl9wdXNoX2R1bW15X2Nh bGwgKHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoLCBzdHJ1Y3QgdmFsdWUgKmZ1bmN0aW9uLAorQEAg LTY3MSw3ICs2NzEsNyBAQCBtMzJyX3B1c2hfZHVtbXlfY2FsbCAoc3RydWN0IGdkYmFyY2ggKmdk YmFyY2gsIHN0cnVjdCB2YWx1ZSAqZnVuY3Rpb24sCiAgICBDT1JFX0FERFIgcmVndmFsOwogICAg Z2RiX2J5dGUgKnZhbDsKICAgIGdkYl9ieXRlIHZhbGJ1ZltNMzJSX0FSR19SRUdJU1RFUl9TSVpF XTsKQEAgLTYwMSw0MiArNjAxLDExIEBAIGluZGV4IGI5ZmE1ZTZkNGMuLjIzMjBlNjFhNjkgMTAw NjQ0CiAgCiAgICAgICAgLyogTm9uLXNjYWxhcnMgYmlnZ2VyIHRoYW4gNCBieXRlcyBhcmUgbGVm dCBhbGlnbmVkLCBvdGhlcnMgYXJlCiAgCSByaWdodCBhbGlnbmVkLiAgKi8KLWRpZmYgLS1naXQg YS9nZGIvbTg4ay10ZGVwLmMgYi9nZGIvbTg4ay10ZGVwLmMKLWluZGV4IDZhNTAxMjY1NDguLjVh M2E2N2EwNmEgMTAwNjQ0Ci0tLS0gYS9nZGIvbTg4ay10ZGVwLmMKLSsrKyBiL2dkYi9tODhrLXRk ZXAuYwotQEAgLTI1NCwxMyArMjU0LDEzIEBAIG04OGtfc3RvcmVfYXJndW1lbnRzIChzdHJ1Y3Qg cmVnY2FjaGUgKnJlZ2NhY2hlLCBpbnQgbmFyZ3MsCi0gewotICAgc3RydWN0IGdkYmFyY2ggKmdk YmFyY2ggPSByZWdjYWNoZS0+YXJjaCAoKTsKLSAgIGludCBudW1fcmVnaXN0ZXJfd29yZHMgPSAw OwotLSAgaW50IG51bV9zdGFja193b3JkcyA9IDA7Ci0rICBMT05HRVNUIG51bV9zdGFja193b3Jk cyA9IDA7Ci0gICBpbnQgaTsKLSAKLSAgIGZvciAoaSA9IDA7IGkgPCBuYXJnczsgaSsrKQotICAg ICB7Ci0gICAgICAgc3RydWN0IHR5cGUgKnR5cGUgPSB2YWx1ZV90eXBlIChhcmdzW2ldKTsKLS0g ICAgICBpbnQgbGVuID0gVFlQRV9MRU5HVEggKHR5cGUpOwotKyAgICAgIExPTkdFU1QgbGVuID0g VFlQRV9MRU5HVEggKHR5cGUpOwotIAotICAgICAgIGlmIChtODhrX2ludGVncmFsX29yX3BvaW50 ZXJfcCAodHlwZSkgJiYgbGVuIDwgNCkKLSAJewotQEAgLTMwMiw4ICszMDIsOCBAQCBtODhrX3N0 b3JlX2FyZ3VtZW50cyAoc3RydWN0IHJlZ2NhY2hlICpyZWdjYWNoZSwgaW50IG5hcmdzLAotICAg ICB7Ci0gICAgICAgY29uc3QgYmZkX2J5dGUgKnZhbGJ1ZiA9IHZhbHVlX2NvbnRlbnRzIChhcmdz W2ldKTsKLSAgICAgICBzdHJ1Y3QgdHlwZSAqdHlwZSA9IHZhbHVlX3R5cGUgKGFyZ3NbaV0pOwot LSAgICAgIGludCBsZW4gPSBUWVBFX0xFTkdUSCAodHlwZSk7Ci0tICAgICAgaW50IHN0YWNrX3dv cmQgPSBudW1fc3RhY2tfd29yZHM7Ci0rICAgICAgTE9OR0VTVCBsZW4gPSBUWVBFX0xFTkdUSCAo dHlwZSk7Ci0rICAgICAgTE9OR0VTVCBzdGFja193b3JkID0gbnVtX3N0YWNrX3dvcmRzOwotIAot ICAgICAgIGlmIChtODhrX2luX3JlZ2lzdGVyX3AgKHR5cGUpKQotIAl7CiBkaWZmIC0tZ2l0IGEv Z2RiL21lcC10ZGVwLmMgYi9nZGIvbWVwLXRkZXAuYwotaW5kZXggZWNmZDRmMzZkYi4uMGNjNDU3 NDQyNSAxMDA2NDQKK2luZGV4IDBlOGMzZjk3ZTIuLmY2MGE0OWI5MGIgMTAwNjQ0CiAtLS0gYS9n ZGIvbWVwLXRkZXAuYwogKysrIGIvZ2RiL21lcC10ZGVwLmMKLUBAIC0yMjUzLDcgKzIyNTMsNyBA QCBwdXNoX2xhcmdlX2FyZ3VtZW50cyAoQ09SRV9BRERSIHNwLCBpbnQgYXJnYywgc3RydWN0IHZh bHVlICoqYXJndiwKK0BAIC0yMjQxLDcgKzIyNDEsNyBAQCBwdXNoX2xhcmdlX2FyZ3VtZW50cyAo Q09SRV9BRERSIHNwLCBpbnQgYXJnYywgc3RydWN0IHZhbHVlICoqYXJndiwKICAKICAgIGZvciAo aSA9IDA7IGkgPCBhcmdjOyBpKyspCiAgICAgIHsKQEAgLTY0Niw3ICs2MTUsNyBAQCBpbmRleCBl Y2ZkNGYzNmRiLi4wY2M0NTc0NDI1IDEwMDY0NAogICAgICAgIGlmIChhcmdfbGVuID4gTUVQX0dQ Ul9TSVpFKQogICAgICAgICAgewogZGlmZiAtLWdpdCBhL2dkYi9taXBzLXRkZXAuYyBiL2dkYi9t aXBzLXRkZXAuYwotaW5kZXggOTgxOTU5YWQ0Yi4uOTU3MmY5MmY2NSAxMDA2NDQKK2luZGV4IGNj NjdjZDNiZGQuLjI5ODA2MDQ5NjggMTAwNjQ0CiAtLS0gYS9nZGIvbWlwcy10ZGVwLmMKICsrKyBi L2dkYi9taXBzLXRkZXAuYwogQEAgLTQ3Nyw3ICs0NzcsNyBAQCBzdGF0aWMgdm9pZApAQCAtNzk1 LDEwICs3NjQsMTAgQEAgaW5kZXggOTgxOTU5YWQ0Yi4uOTU3MmY5MmY2NSAxMDA2NDQKICAgICAg ICB2YWwgPSB2YWx1ZV9jb250ZW50cyAoYXJnKTsKICAKIGRpZmYgLS1naXQgYS9nZGIvbW4xMDMw MC10ZGVwLmMgYi9nZGIvbW4xMDMwMC10ZGVwLmMKLWluZGV4IDkzYzAyZDY3YjQuLjE3Y2U1MzZh OTAgMTAwNjQ0CitpbmRleCBlMTJlMDFkZjAzLi45M2NjNzhlYjUxIDEwMDY0NAogLS0tIGEvZ2Ri L21uMTAzMDAtdGRlcC5jCiArKysgYi9nZGIvbW4xMDMwMC10ZGVwLmMKLUBAIC0xMjEyLDcgKzEy MTIsNyBAQCBtbjEwMzAwX3B1c2hfZHVtbXlfY2FsbCAoc3RydWN0IGdkYmFyY2ggKmdkYmFyY2gs CitAQCAtMTE5OCw3ICsxMTk4LDcgQEAgbW4xMDMwMF9wdXNoX2R1bW15X2NhbGwgKHN0cnVjdCBn ZGJhcmNoICpnZGJhcmNoLAogICAgZW51bSBiZmRfZW5kaWFuIGJ5dGVfb3JkZXIgPSBnZGJhcmNo X2J5dGVfb3JkZXIgKGdkYmFyY2gpOwogICAgY29uc3QgaW50IHB1c2hfc2l6ZSA9IHJlZ2lzdGVy X3NpemUgKGdkYmFyY2gsIEVfUENfUkVHTlVNKTsKICAgIGludCByZWdzX3VzZWQ7CkBAIC04MDcs MjIgKzc3Niw2IEBAIGluZGV4IDkzYzAyZDY3YjQuLjE3Y2U1MzZhOTAgMTAwNjQ0CiAgICBpbnQg c3RhY2tfb2Zmc2V0ID0gMDsKICAgIGludCBhcmdudW07CiAgICBjb25zdCBnZGJfYnl0ZSAqdmFs OwotZGlmZiAtLWdpdCBhL2dkYi9tdC10ZGVwLmMgYi9nZGIvbXQtdGRlcC5jCi1pbmRleCBhNGFk MGM2NWYxLi45NTMwMDJhN2M2IDEwMDY0NAotLS0tIGEvZ2RiL210LXRkZXAuYwotKysrIGIvZ2Ri L210LXRkZXAuYwotQEAgLTc4OSw5ICs3ODksOSBAQCBtdF9wdXNoX2R1bW15X2NhbGwgKHN0cnVj dCBnZGJhcmNoICpnZGJhcmNoLCBzdHJ1Y3QgdmFsdWUgKmZ1bmN0aW9uLAotICAgZ2RiX2J5dGUg YnVmW01UX01BWF9TVFJVQ1RfU0laRV07Ci0gICBpbnQgYXJncmVnID0gTVRfMVNUX0FSR1JFRzsK LSAgIGludCBzcGxpdF9wYXJhbV9sZW4gPSAwOwotLSAgaW50IHN0YWNrX2Rlc3QgPSBzcDsKLSsg IExPTkdFU1Qgc3RhY2tfZGVzdCA9IHNwOwotICAgaW50IHNsYWNrbGVuOwotLSAgaW50IHR5cGVs ZW47Ci0rICBMT05HRVNUIHR5cGVsZW47Ci0gICBpbnQgaSwgajsKLSAKLSAgIC8qIEZpcnN0IGhh bmRsZSBob3dldmVyIG1hbnkgYXJncyB3ZSBjYW4gZml0IGludG8gTVRfMVNUX0FSR1JFRyB0aHJ1 CiBkaWZmIC0tZ2l0IGEvZ2RiL3BwYy1zeXN2LXRkZXAuYyBiL2dkYi9wcGMtc3lzdi10ZGVwLmMK IGluZGV4IGE2YmE1ZDBmZmQuLjE4NGI3ZDYyNjEgMTAwNjQ0CiAtLS0gYS9nZGIvcHBjLXN5c3Yt dGRlcC5jCkBAIC05MTgsMTAgKzg3MSwxMCBAQCBpbmRleCBhNmJhNWQwZmZkLi4xODRiN2Q2MjYx IDEwMDY0NAogICAgICAgIGlmICh3cml0ZWJ1ZiAhPSBOVUxMKQogIAlyZWdjYWNoZV9jb29rZWRf d3JpdGVfcGFydCAocmVnY2FjaGUsIHJlZ251bSwKIGRpZmYgLS1naXQgYS9nZGIvcmw3OC10ZGVw LmMgYi9nZGIvcmw3OC10ZGVwLmMKLWluZGV4IDNkYjcyYTFlOTYuLjBmNDE3MmQ1NTMgMTAwNjQ0 CitpbmRleCBhZjZhMDg5NjA4Li5iZTEwZjBhM2MwIDEwMDY0NAogLS0tIGEvZ2RiL3JsNzgtdGRl cC5jCiArKysgYi9nZGIvcmw3OC10ZGVwLmMKLUBAIC0xMzQ3LDggKzEzNDcsOCBAQCBybDc4X3B1 c2hfZHVtbXlfY2FsbCAoc3RydWN0IGdkYmFyY2ggKmdkYmFyY2gsIHN0cnVjdCB2YWx1ZSAqZnVu Y3Rpb24sCitAQCAtMTM0Niw4ICsxMzQ2LDggQEAgcmw3OF9wdXNoX2R1bW15X2NhbGwgKHN0cnVj dCBnZGJhcmNoICpnZGJhcmNoLCBzdHJ1Y3QgdmFsdWUgKmZ1bmN0aW9uLAogICAgZm9yIChpID0g bmFyZ3MgLSAxOyBpID49IDA7IGktLSkKICAgICAgewogICAgICAgIHN0cnVjdCB0eXBlICp2YWx1 ZV90eXBlID0gdmFsdWVfZW5jbG9zaW5nX3R5cGUgKGFyZ3NbaV0pOwpAQCAtOTMzLDcgKzg4Niw3 IEBAIGluZGV4IDNkYjcyYTFlOTYuLjBmNDE3MmQ1NTMgMTAwNjQ0CiAgICAgICAgc3AgLT0gY29u dGFpbmVyX2xlbjsKICAgICAgICB3cml0ZV9tZW1vcnkgKHJsNzhfbWFrZV9kYXRhX2FkZHJlc3Mg KHNwKSwKIGRpZmYgLS1naXQgYS9nZGIvcnM2MDAwLWFpeC10ZGVwLmMgYi9nZGIvcnM2MDAwLWFp eC10ZGVwLmMKLWluZGV4IDM4Yzg2ZDRjZDguLmY2ZDQ4MTY0MDEgMTAwNjQ0CitpbmRleCBlM2Uw ODZjMjEwLi43NmY1NTNiZWJmIDEwMDY0NAogLS0tIGEvZ2RiL3JzNjAwMC1haXgtdGRlcC5jCiAr KysgYi9nZGIvcnM2MDAwLWFpeC10ZGVwLmMKIEBAIC0xODcsOSArMTg3LDkgQEAgcnM2MDAwX3B1 c2hfZHVtbXlfY2FsbCAoc3RydWN0IGdkYmFyY2ggKmdkYmFyY2gsIHN0cnVjdCB2YWx1ZSAqZnVu Y3Rpb24sCkBAIC05NTcsMzcgKzkxMCw2IEBAIGluZGV4IDM4Yzg2ZDRjZDguLmY2ZDQ4MTY0MDEg MTAwNjQ0CiAgCiAgICAgICAgaWYgKGFyZ2J5dGVzKQogIAl7Ci1kaWZmIC0tZ2l0IGEvZ2RiL3Mz OTAtbGludXgtdGRlcC5jIGIvZ2RiL3MzOTAtbGludXgtdGRlcC5jCi1pbmRleCBiZGRlNWMzNGM4 Li45NzViMDcyYjM5IDEwMDY0NAotLS0tIGEvZ2RiL3MzOTAtbGludXgtdGRlcC5jCi0rKysgYi9n ZGIvczM5MC1saW51eC10ZGVwLmMKLUBAIC0zMTMyLDcgKzMxMzIsNyBAQCBzMzkwX2Z1bmN0aW9u X2FyZ192ZWN0b3IgKHN0cnVjdCB0eXBlICp0eXBlKQotIC8qIERldGVybWluZSB3aGV0aGVyIE4g aXMgYSBwb3dlciBvZiB0d28uICAqLwotIAotIHN0YXRpYyBpbnQKLS1pc19wb3dlcl9vZl90d28g KHVuc2lnbmVkIGludCBuKQotK2lzX3Bvd2VyX29mX3R3byAoVUxPTkdFU1QgbikKLSB7Ci0gICBy ZXR1cm4gbiAmJiAoKG4gJiAobiAtIDEpKSA9PSAwKTsKLSB9Ci1AQCAtMzE4OSw3ICszMTg5LDcg QEAgczM5MF9oYW5kbGVfYXJnIChzdHJ1Y3QgczM5MF9hcmdfc3RhdGUgKmFzLCBzdHJ1Y3QgdmFs dWUgKmFyZywKLSAJCSBlbnVtIGJmZF9lbmRpYW4gYnl0ZV9vcmRlciwgaW50IGlzX3VubmFtZWQp Ci0gewotICAgc3RydWN0IHR5cGUgKnR5cGUgPSBjaGVja190eXBlZGVmICh2YWx1ZV90eXBlIChh cmcpKTsKLS0gIHVuc2lnbmVkIGludCBsZW5ndGggPSBUWVBFX0xFTkdUSCAodHlwZSk7Ci0rICBM T05HRVNUIGxlbmd0aCA9IFRZUEVfTEVOR1RIICh0eXBlKTsKLSAgIGludCB3cml0ZV9tb2RlID0g YXMtPnJlZ2NhY2hlICE9IE5VTEw7Ci0gCi0gICBpZiAoczM5MF9mdW5jdGlvbl9hcmdfZmxvYXQg KHR5cGUpKQotQEAgLTM0NTIsNyArMzQ1Miw3IEBAIHMzOTBfcmVnaXN0ZXJfcmV0dXJuX3ZhbHVl IChzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCwgc3RydWN0IHR5cGUgKnR5cGUsCi0gewotICAgZW51 bSBiZmRfZW5kaWFuIGJ5dGVfb3JkZXIgPSBnZGJhcmNoX2J5dGVfb3JkZXIgKGdkYmFyY2gpOwot ICAgaW50IHdvcmRfc2l6ZSA9IGdkYmFyY2hfcHRyX2JpdCAoZ2RiYXJjaCkgLyA4OwotLSAgaW50 IGxlbmd0aCA9IFRZUEVfTEVOR1RIICh0eXBlKTsKLSsgIExPTkdFU1QgbGVuZ3RoID0gVFlQRV9M RU5HVEggKHR5cGUpOwotICAgaW50IGNvZGUgPSBUWVBFX0NPREUgKHR5cGUpOwotIAotICAgaWYg KGNvZGUgPT0gVFlQRV9DT0RFX0ZMVCB8fCBjb2RlID09IFRZUEVfQ09ERV9ERUNGTE9BVCkKIGRp ZmYgLS1naXQgYS9nZGIvc2NvcmUtdGRlcC5jIGIvZ2RiL3Njb3JlLXRkZXAuYwogaW5kZXggYTE2 NzkzMjMyNy4uNDY3NGViNzkwMCAxMDA2NDQKIC0tLSBhL2dkYi9zY29yZS10ZGVwLmMKQEAgLTEw MDIsMTAgKzkyNCwxMCBAQCBpbmRleCBhMTY3OTMyMzI3Li40Njc0ZWI3OTAwIDEwMDY0NAogICAg Q09SRV9BRERSIGFkZHIgPSAwOwogIAogZGlmZiAtLWdpdCBhL2dkYi9zaC10ZGVwLmMgYi9nZGIv c2gtdGRlcC5jCi1pbmRleCBmYmM1YzlmMWQwLi4xZjYwNTJmYTk3IDEwMDY0NAoraW5kZXggZWRm N2U5NGIyZS4uM2FiMTBlODQwMSAxMDA2NDQKIC0tLSBhL2dkYi9zaC10ZGVwLmMKICsrKyBiL2dk Yi9zaC10ZGVwLmMKLUBAIC04MTMsNyArODEzLDcgQEAgc2hfc2tpcF9wcm9sb2d1ZSAoc3RydWN0 IGdkYmFyY2ggKmdkYmFyY2gsIENPUkVfQUREUiBwYykKK0BAIC04MTIsNyArODEyLDcgQEAgc2hf c2tpcF9wcm9sb2d1ZSAoc3RydWN0IGdkYmFyY2ggKmdkYmFyY2gsIENPUkVfQUREUiBwYykKICBz dGF0aWMgaW50CiAgc2hfdXNlX3N0cnVjdF9jb252ZW50aW9uIChpbnQgcmVuZXNhc19hYmksIHN0 cnVjdCB0eXBlICp0eXBlKQogIHsKQEAgLTEwMTQsNyArOTM2LDcgQEAgaW5kZXggZmJjNWM5ZjFk MC4uMWY2MDUyZmE5NyAxMDA2NDQKICAgIGludCBuZWxlbSA9IFRZUEVfTkZJRUxEUyAodHlwZSk7 CiAgCiAgICAvKiBUaGUgUmVuZXNhcyBBQkkgcmV0dXJucyBhZ2dyZWdhdGUgdHlwZXMgYWx3YXlz IG9uIHN0YWNrLiAgKi8KLUBAIC05MTUsNyArOTE1LDcgQEAgc2hfZnJhbWVfYWxpZ24gKHN0cnVj dCBnZGJhcmNoICppZ25vcmUsIENPUkVfQUREUiBzcCkKK0BAIC05MTQsNyArOTE0LDcgQEAgc2hf ZnJhbWVfYWxpZ24gKHN0cnVjdCBnZGJhcmNoICppZ25vcmUsIENPUkVfQUREUiBzcCkKICAKICAv KiBIZWxwZXIgZnVuY3Rpb24gdG8ganVzdGlmeSB2YWx1ZSBpbiByZWdpc3RlciBhY2NvcmRpbmcg dG8gZW5kaWFuZXNzLiAgKi8KICBzdGF0aWMgY29uc3QgZ2RiX2J5dGUgKgpAQCAtMTAyMyw3ICs5 NDUsNyBAQCBpbmRleCBmYmM1YzlmMWQwLi4xZjYwNTJmYTk3IDEwMDY0NAogIHsKICAgIHN0YXRp YyBnZGJfYnl0ZSB2YWxidWZbNF07CiAgCi1AQCAtMTA3NSw3ICsxMDc1LDggQEAgc2hfcHVzaF9k dW1teV9jYWxsX2ZwdSAoc3RydWN0IGdkYmFyY2ggKmdkYmFyY2gsCitAQCAtMTA3NCw3ICsxMDc0 LDggQEAgc2hfcHVzaF9kdW1teV9jYWxsX2ZwdSAoc3RydWN0IGdkYmFyY2ggKmdkYmFyY2gsCiAg ICBzdHJ1Y3QgdHlwZSAqdHlwZTsKICAgIENPUkVfQUREUiByZWd2YWw7CiAgICBjb25zdCBnZGJf Ynl0ZSAqdmFsOwpAQCAtMTAzMyw3ICs5NTUsNyBAQCBpbmRleCBmYmM1YzlmMWQwLi4xZjYwNTJm YTk3IDEwMDY0NAogICAgaW50IHBhc3Nfb25fc3RhY2sgPSAwOwogICAgaW50IHRyZWF0X2FzX2Zs dDsKICAgIGludCBsYXN0X3JlZ19hcmcgPSBJTlRfTUFYOwotQEAgLTEyMTYsNyArMTIxNyw4IEBA IHNoX3B1c2hfZHVtbXlfY2FsbF9ub2ZwdSAoc3RydWN0IGdkYmFyY2ggKmdkYmFyY2gsCitAQCAt MTIxNSw3ICsxMjE2LDggQEAgc2hfcHVzaF9kdW1teV9jYWxsX25vZnB1IChzdHJ1Y3QgZ2RiYXJj aCAqZ2RiYXJjaCwKICAgIHN0cnVjdCB0eXBlICp0eXBlOwogICAgQ09SRV9BRERSIHJlZ3ZhbDsK ICAgIGNvbnN0IGdkYl9ieXRlICp2YWw7CkBAIC0xMDQzLDMwICs5NjUsOCBAQCBpbmRleCBmYmM1 YzlmMWQwLi4xZjYwNTJmYTk3IDEwMDY0NAogICAgaW50IHBhc3Nfb25fc3RhY2sgPSAwOwogICAg aW50IGxhc3RfcmVnX2FyZyA9IElOVF9NQVg7CiAgCi1kaWZmIC0tZ2l0IGEvZ2RiL3NoNjQtdGRl cC5jIGIvZ2RiL3NoNjQtdGRlcC5jCi1pbmRleCBhZDUzM2M5ZDc5Li43NzAwZTY4NDAyIDEwMDY0 NAotLS0tIGEvZ2RiL3NoNjQtdGRlcC5jCi0rKysgYi9nZGIvc2g2NC10ZGVwLmMKLUBAIC0xMDc5 LDcgKzEwNzksNyBAQCBzaDY0X3B1c2hfZHVtbXlfY2FsbCAoc3RydWN0IGdkYmFyY2ggKmdkYmFy Y2gsCi0gCQkgICAgICBDT1JFX0FERFIgc3RydWN0X2FkZHIpCi0gewotICAgZW51bSBiZmRfZW5k aWFuIGJ5dGVfb3JkZXIgPSBnZGJhcmNoX2J5dGVfb3JkZXIgKGdkYmFyY2gpOwotLSAgaW50IHN0 YWNrX29mZnNldCwgc3RhY2tfYWxsb2M7Ci0rICBMT05HRVNUIHN0YWNrX29mZnNldCwgc3RhY2tf YWxsb2M7Ci0gICBpbnQgaW50X2FyZ3JlZzsKLSAgIGludCBmbG9hdF9hcmdfaW5kZXggPSAwOwot ICAgaW50IGRvdWJsZV9hcmdfaW5kZXggPSAwOwotQEAgLTEwODgsNyArMTA4OCw3IEBAIHNoNjRf cHVzaF9kdW1teV9jYWxsIChzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCwKLSAgIENPUkVfQUREUiBy ZWd2YWw7Ci0gICBjb25zdCBnZGJfYnl0ZSAqdmFsOwotICAgZ2RiX2J5dGUgdmFsYnVmWzhdOwot LSAgaW50IGxlbjsKLSsgIExPTkdFU1QgbGVuOwotICAgaW50IGFyZ3JlZ19zaXplOwotICAgaW50 IGZwX2FyZ3NbMTJdOwotIAogZGlmZiAtLWdpdCBhL2dkYi9zcGFyYzY0LXRkZXAuYyBiL2dkYi9z cGFyYzY0LXRkZXAuYwotaW5kZXggNzQwMGMyNGZjNS4uMzlkYjIyOTQ3YyAxMDA2NDQKK2luZGV4 IDlmZDZhNjYxOTkuLjU2YjcyZWE1MDUgMTAwNjQ0CiAtLS0gYS9nZGIvc3BhcmM2NC10ZGVwLmMK ICsrKyBiL2dkYi9zcGFyYzY0LXRkZXAuYwogQEAgLTEyMDUsNyArMTIwNSw3IEBAIHNwYXJjNjRf MTZfYnl0ZV9hbGlnbl9wIChzdHJ1Y3QgdHlwZSAqdHlwZSkKQEAgLTExMjQsMTAgKzEwMjQsMTAg QEAgaW5kZXggNzQwMGMyNGZjNS4uMzlkYjIyOTQ3YyAxMDA2NDQKICAgICAgICBnZGJfYnl0ZSBi dWZbMTZdOwogIAogZGlmZiAtLWdpdCBhL2dkYi9zcHUtdGRlcC5jIGIvZ2RiL3NwdS10ZGVwLmMK LWluZGV4IGI4MmJiMGViYzMuLmY4N2U2ZjU3ZTEgMTAwNjQ0CitpbmRleCAyNTY3YzI0MGQ0Li40 NmI2ZDYyNDNlIDEwMDY0NAogLS0tIGEvZ2RiL3NwdS10ZGVwLmMKICsrKyBiL2dkYi9zcHUtdGRl cC5jCi1AQCAtMTQzMCw3ICsxNDMwLDcgQEAgc3B1X3B1c2hfZHVtbXlfY2FsbCAoc3RydWN0IGdk YmFyY2ggKmdkYmFyY2gsIHN0cnVjdCB2YWx1ZSAqZnVuY3Rpb24sCitAQCAtMTQzMSw3ICsxNDMx LDcgQEAgc3B1X3B1c2hfZHVtbXlfY2FsbCAoc3RydWN0IGdkYmFyY2ggKmdkYmFyY2gsIHN0cnVj dCB2YWx1ZSAqZnVuY3Rpb24sCiAgICAgICAgc3RydWN0IHZhbHVlICphcmcgPSBhcmdzW2ldOwog ICAgICAgIHN0cnVjdCB0eXBlICp0eXBlID0gY2hlY2tfdHlwZWRlZiAodmFsdWVfdHlwZSAoYXJn KSk7CiAgICAgICAgY29uc3QgZ2RiX2J5dGUgKmNvbnRlbnRzID0gdmFsdWVfY29udGVudHMgKGFy Zyk7CkBAIC0xMTM2LDcgKzEwMzYsNyBAQCBpbmRleCBiODJiYjBlYmMzLi5mODdlNmY1N2UxIDEw MDY0NAogIAogICAgICAgIC8qIElmIHRoZSBhcmd1bWVudCBkb2Vzbid0IHdob2xseSBmaXQgaW50 byByZWdpc3RlcnMsIGl0IGFuZAogIAkgYWxsIHN1YnNlcXVlbnQgYXJndW1lbnRzIGdvIHRvIHRo ZSBzdGFjay4gICovCi1AQCAtMTQ2Miw3ICsxNDYyLDcgQEAgc3B1X3B1c2hfZHVtbXlfY2FsbCAo c3RydWN0IGdkYmFyY2ggKmdkYmFyY2gsIHN0cnVjdCB2YWx1ZSAqZnVuY3Rpb24sCitAQCAtMTQ2 Myw3ICsxNDYzLDcgQEAgc3B1X3B1c2hfZHVtbXlfY2FsbCAoc3RydWN0IGdkYmFyY2ggKmdkYmFy Y2gsIHN0cnVjdCB2YWx1ZSAqZnVuY3Rpb24sCiAgCXsKICAJICBzdHJ1Y3QgdmFsdWUgKmFyZyA9 IGFyZ3NbaV07CiAgCSAgc3RydWN0IHR5cGUgKnR5cGUgPSBjaGVja190eXBlZGVmICh2YWx1ZV90 eXBlIChhcmcpKTsKQEAgLTEyNjAsMTAgKzExNjAsMTAgQEAgaW5kZXggMzE2NTBhYzNhOS4uOTFi MDg4MjUxYyAxMDA2NDQKICAgIGdkYl9ieXRlIGJ1Zlt4c3Rvcm15MTZfcGNfc2l6ZV07CiAgCiBk aWZmIC0tZ2l0IGEvZ2RiL3h0ZW5zYS10ZGVwLmMgYi9nZGIveHRlbnNhLXRkZXAuYwotaW5kZXgg ZTA5NTkyYTk0ZS4uOTUxMzNhNTg3MSAxMDA2NDQKK2luZGV4IDAxZjk2MTY1ZGMuLjA2NjA4MWMz ZjkgMTAwNjQ0CiAtLS0gYS9nZGIveHRlbnNhLXRkZXAuYwogKysrIGIvZ2RiL3h0ZW5zYS10ZGVw LmMKLUBAIC0xNjI4LDggKzE2MjgsNyBAQCB4dGVuc2Ffc3RvcmVfcmV0dXJuX3ZhbHVlIChzdHJ1 Y3QgdHlwZSAqdHlwZSwKK0BAIC0xNjI3LDggKzE2MjcsNyBAQCB4dGVuc2Ffc3RvcmVfcmV0dXJu X3ZhbHVlIChzdHJ1Y3QgdHlwZSAqdHlwZSwKICAKICAgICAgICBpZiAobGVuID4gKGNhbGxzaXpl ID4gOCA/IDggOiAxNikpCiAgCWludGVybmFsX2Vycm9yIChfX0ZJTEVfXywgX19MSU5FX18sCkBA IC0xMjczLDcgKzExNzMsNyBAQCBpbmRleCBlMDk1OTJhOTRlLi45NTEzM2E1ODcxIDEwMDY0NAog ICAgICAgIGFyZWcgPSBhcnJlZ19udW1iZXIgKGdkYmFyY2gsCiAgCQkJICAgZ2RiYXJjaF90ZGVw IChnZGJhcmNoKS0+YTBfYmFzZSArIDIgKyBjYWxsc2l6ZSwgd2IpOwogIAotQEAgLTE3MDMsMTgg KzE3MDIsMTggQEAgeHRlbnNhX3B1c2hfZHVtbXlfY2FsbCAoc3RydWN0IGdkYmFyY2ggKmdkYmFy Y2gsCitAQCAtMTcwMiwxOCArMTcwMSwxOCBAQCB4dGVuc2FfcHVzaF9kdW1teV9jYWxsIChzdHJ1 Y3QgZ2RiYXJjaCAqZ2RiYXJjaCwKICB7CiAgICBlbnVtIGJmZF9lbmRpYW4gYnl0ZV9vcmRlciA9 IGdkYmFyY2hfYnl0ZV9vcmRlciAoZ2RiYXJjaCk7CiAgICBpbnQgaTsKQEAgLTEyOTUsNyArMTE5 NSw3IEBAIGluZGV4IGUwOTU5MmE5NGUuLjk1MTMzYTU4NzEgMTAwNjQ0CiAgICAgICAgaW50IHJl Z25vOwkJLyogcmVnbm8gaWYgaW4gcmVnaXN0ZXIuICAqLwogICAgICB9IHU7CiAgICB9OwotQEAg LTE3MzgsOSArMTczNywxMCBAQCB4dGVuc2FfcHVzaF9kdW1teV9jYWxsIChzdHJ1Y3QgZ2RiYXJj aCAqZ2RiYXJjaCwKK0BAIC0xNzM3LDkgKzE3MzYsMTAgQEAgeHRlbnNhX3B1c2hfZHVtbXlfY2Fs bCAoc3RydWN0IGdkYmFyY2ggKmdkYmFyY2gsCiAgICAgICAgICB7CiAgCSAgc3RydWN0IHZhbHVl ICphcmcgPSBhcmdzW2ldOwogIAkgIHN0cnVjdCB0eXBlICphcmdfdHlwZSA9IGNoZWNrX3R5cGVk ZWYgKHZhbHVlX3R5cGUgKGFyZykpOwpAQCAtMTMwOSw3ICsxMjA5LDcgQEAgaW5kZXggZTA5NTky YTk0ZS4uOTUxMzNhNTg3MSAxMDA2NDQKICAJICBzd2l0Y2ggKFRZUEVfQ09ERSAoYXJnX3R5cGUp KQogIAkgICAgewogIAkgICAgY2FzZSBUWVBFX0NPREVfSU5UOgotQEAgLTE4MTAsOCArMTgxMCw4 IEBAIHh0ZW5zYV9wdXNoX2R1bW15X2NhbGwgKHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoLAorQEAg LTE4MDksOCArMTgwOSw4IEBAIHh0ZW5zYV9wdXNoX2R1bW15X2NhbGwgKHN0cnVjdCBnZGJhcmNo ICpnZGJhcmNoLAogIAkgIGluZm8tPmFsaWduID0gVFlQRV9MRU5HVEggKGJ1aWx0aW5fdHlwZSAo Z2RiYXJjaCktPmJ1aWx0aW5fbG9uZyk7CiAgCSAgYnJlYWs7CiAgCX0KQEAgLTEzMTksNyArMTIx OSw3IEBAIGluZGV4IGUwOTU5MmE5NGUuLjk1MTMzYTU4NzEgMTAwNjQ0CiAgCiAgICAgICAgLyog QWxpZ24gc2l6ZSBhbmQgb25zdGFja19zaXplLiAgKi8KICAgICAgICBzaXplID0gKHNpemUgKyBp bmZvLT5hbGlnbiAtIDEpICYgfihpbmZvLT5hbGlnbiAtIDEpOwotQEAgLTE4NTYsNyArMTg1Niw3 IEBAIHh0ZW5zYV9wdXNoX2R1bW15X2NhbGwgKHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoLAorQEAg LTE4NTUsNyArMTg1NSw3IEBAIHh0ZW5zYV9wdXNoX2R1bW15X2NhbGwgKHN0cnVjdCBnZGJhcmNo ICpnZGJhcmNoLAogIAogICAgICAgIGlmIChpbmZvLT5vbnN0YWNrKQogIAl7CkBAIC0xMzI4LDcg KzEyMjgsNyBAQCBpbmRleCBlMDk1OTJhOTRlLi45NTEzM2E1ODcxIDEwMDY0NAogIAkgIENPUkVf QUREUiBvZmZzZXQgPSBzcCArIGluZm8tPnUub2Zmc2V0OwogIAogIAkgIC8qIE9kZC1zaXplZCBz dHJ1Y3RzIGFyZSBhbGlnbmVkIHRvIHRoZSBsb3dlciBzaWRlIG9mIGEgbWVtb3J5Ci1AQCAtMTg3 Miw3ICsxODcyLDcgQEAgeHRlbnNhX3B1c2hfZHVtbXlfY2FsbCAoc3RydWN0IGdkYmFyY2ggKmdk YmFyY2gsCitAQCAtMTg3MSw3ICsxODcxLDcgQEAgeHRlbnNhX3B1c2hfZHVtbXlfY2FsbCAoc3Ry dWN0IGdkYmFyY2ggKmdkYmFyY2gsCiAgCX0KICAgICAgICBlbHNlCiAgCXsKCmRpZmYgLS1naXQg YS9nZGItdmxhLWludGVsLWZvcnRyYW4tc3RyaWRlcy5wYXRjaCBiL2dkYi12bGEtaW50ZWwtZm9y dHJhbi1zdHJpZGVzLnBhdGNoCmluZGV4IGQwMWJmZWMuLjBmNWNiY2YgMTAwNjQ0Ci0tLSBhL2dk Yi12bGEtaW50ZWwtZm9ydHJhbi1zdHJpZGVzLnBhdGNoCisrKyBiL2dkYi12bGEtaW50ZWwtZm9y dHJhbi1zdHJpZGVzLnBhdGNoCkBAIC0zNywxMCArMzcsMTAgQEAgZGJmZDcxNDBiZjRjMDUwMGQx ZjVkMTkyYmU3ODFmODNmNzhmNzkyMgogIDIzIGZpbGVzIGNoYW5nZWQsIDEyNDIgaW5zZXJ0aW9u cygrKSwgMTgzIGRlbGV0aW9ucygtKQogCiBkaWZmIC0tZ2l0IGEvZ2RiL2R3YXJmMmxvYy5jIGIv Z2RiL2R3YXJmMmxvYy5jCi1pbmRleCA1MWYxMzNmMWI1Li41MTA1YzhkMjNhIDEwMDY0NAoraW5k ZXggNmVjYzVhOWJlNi4uZmE5ZmYzMDcyMSAxMDA2NDQKIC0tLSBhL2dkYi9kd2FyZjJsb2MuYwog KysrIGIvZ2RiL2R3YXJmMmxvYy5jCi1AQCAtMjYwMSwxMSArMjYwMSwxNCBAQCBkd2FyZjJfbG9j ZXhwcl9iYXRvbl9ldmFsIChjb25zdCBzdHJ1Y3QgZHdhcmYyX2xvY2V4cHJfYmF0b24gKmRsYmF0 b24sCitAQCAtMjYwMCwxMSArMjYwMCwxNCBAQCBkd2FyZjJfbG9jZXhwcl9iYXRvbl9ldmFsIChj b25zdCBzdHJ1Y3QgZHdhcmYyX2xvY2V4cHJfYmF0b24gKmRsYmF0b24sCiAgLyogU2VlIGR3YXJm MmxvYy5oLiAgKi8KICAKICBpbnQKQEAgLTU3LDcgKzU3LDcgQEAgaW5kZXggNTFmMTMzZjFiNS4u NTEwNWM4ZDIzYSAxMDA2NDQKICAgIGlmIChwcm9wID09IE5VTEwpCiAgICAgIHJldHVybiAwOwog IAotQEAgLTI2MjksNyArMjYzMiw3IEBAIGR3YXJmMl9ldmFsdWF0ZV9wcm9wZXJ0eSAoY29uc3Qg c3RydWN0IGR5bmFtaWNfcHJvcCAqcHJvcCwKK0BAIC0yNjI4LDcgKzI2MzEsNyBAQCBkd2FyZjJf ZXZhbHVhdGVfcHJvcGVydHkgKGNvbnN0IHN0cnVjdCBkeW5hbWljX3Byb3AgKnByb3AsCiAgCiAg CQkqdmFsdWUgPSB2YWx1ZV9hc19hZGRyZXNzICh2YWwpOwogIAkgICAgICB9CkBAIC02Niw3ICs2 Niw3IEBAIGluZGV4IDUxZjEzM2YxYjUuLjUxMDVjOGQyM2EgMTAwNjQ0CiAgCSAgfQogICAgICAg IH0KICAgICAgICBicmVhazsKLUBAIC0yNjUxLDcgKzI2NTQsNyBAQCBkd2FyZjJfZXZhbHVhdGVf cHJvcGVydHkgKGNvbnN0IHN0cnVjdCBkeW5hbWljX3Byb3AgKnByb3AsCitAQCAtMjY1MCw3ICsy NjUzLDcgQEAgZHdhcmYyX2V2YWx1YXRlX3Byb3BlcnR5IChjb25zdCBzdHJ1Y3QgZHluYW1pY19w cm9wICpwcm9wLAogIAkgICAgaWYgKCF2YWx1ZV9vcHRpbWl6ZWRfb3V0ICh2YWwpKQogIAkgICAg ICB7CiAgCQkqdmFsdWUgPSB2YWx1ZV9hc19hZGRyZXNzICh2YWwpOwpAQCAtNzUsNyArNzUsNyBA QCBpbmRleCA1MWYxMzNmMWI1Li41MTA1YzhkMjNhIDEwMDY0NAogIAkgICAgICB9CiAgCSAgfQog ICAgICAgIH0KLUBAIC0yNjU5LDggKzI2NjIsOCBAQCBkd2FyZjJfZXZhbHVhdGVfcHJvcGVydHkg KGNvbnN0IHN0cnVjdCBkeW5hbWljX3Byb3AgKnByb3AsCitAQCAtMjY1OCw4ICsyNjYxLDggQEAg ZHdhcmYyX2V2YWx1YXRlX3Byb3BlcnR5IChjb25zdCBzdHJ1Y3QgZHluYW1pY19wcm9wICpwcm9w LAogIAogICAgICBjYXNlIFBST1BfQ09OU1Q6CiAgICAgICAgKnZhbHVlID0gcHJvcC0+ZGF0YS5j b25zdF92YWw7CkBAIC04Niw3ICs4Niw3IEBAIGluZGV4IDUxZjEzM2YxYjUuLjUxMDVjOGQyM2Eg MTAwNjQ0CiAgICAgIGNhc2UgUFJPUF9BRERSX09GRlNFVDoKICAgICAgICB7CiAgCXN0cnVjdCBk d2FyZjJfcHJvcGVydHlfYmF0b24gKmJhdG9uCi1AQCAtMjY4MSwxMSArMjY4NCwzOCBAQCBkd2Fy ZjJfZXZhbHVhdGVfcHJvcGVydHkgKGNvbnN0IHN0cnVjdCBkeW5hbWljX3Byb3AgKnByb3AsCitA QCAtMjY4MCwxMSArMjY4MywzOCBAQCBkd2FyZjJfZXZhbHVhdGVfcHJvcGVydHkgKGNvbnN0IHN0 cnVjdCBkeW5hbWljX3Byb3AgKnByb3AsCiAgCSAgdmFsID0gdmFsdWVfYXQgKGJhdG9uLT5vZmZz ZXRfaW5mby50eXBlLAogIAkJCSAgcGluZm8tPmFkZHIgKyBiYXRvbi0+b2Zmc2V0X2luZm8ub2Zm c2V0KTsKICAJKnZhbHVlID0gdmFsdWVfYXNfYWRkcmVzcyAodmFsKTsKQEAgLTE0NSwxMCArMTQ1 LDEwIEBAIGluZGV4IGY4MmU3YjJkMTEuLjc0ZjA1OTczNTkgMTAwNjQ0CiAgICAgcHJvcGVydHkg dG8gQyBjb2RlLgogIAogZGlmZiAtLWdpdCBhL2dkYi9kd2FyZjJyZWFkLmMgYi9nZGIvZHdhcmYy cmVhZC5jCi1pbmRleCA1OGRhMGZjMWY5Li44ZmMxZjdlYzQ1IDEwMDY0NAoraW5kZXggNDljZTgz ZmYyMC4uYTI4ZDBhMDI5ZSAxMDA2NDQKIC0tLSBhL2dkYi9kd2FyZjJyZWFkLmMKICsrKyBiL2dk Yi9kd2FyZjJyZWFkLmMKLUBAIC0xNzU1MSw3ICsxNzU1MSw3IEBAIHJlYWRfc3VicmFuZ2VfdHlw ZSAoc3RydWN0IGRpZV9pbmZvICpkaWUsIHN0cnVjdCBkd2FyZjJfY3UgKmN1KQorQEAgLTE3NjM1 LDcgKzE3NjM1LDcgQEAgcmVhZF9zdWJyYW5nZV90eXBlIChzdHJ1Y3QgZGllX2luZm8gKmRpZSwg c3RydWN0IGR3YXJmMl9jdSAqY3UpCiAgICBzdHJ1Y3QgdHlwZSAqYmFzZV90eXBlLCAqb3JpZ19i YXNlX3R5cGU7CiAgICBzdHJ1Y3QgdHlwZSAqcmFuZ2VfdHlwZTsKICAgIHN0cnVjdCBhdHRyaWJ1 dGUgKmF0dHI7CkBAIC0xNTcsNyArMTU3LDcgQEAgaW5kZXggNThkYTBmYzFmOS4uOGZjMWY3ZWM0 NSAxMDA2NDQKICAgIGludCBsb3dfZGVmYXVsdF9pc192YWxpZDsKICAgIGludCBoaWdoX2JvdW5k X2lzX2NvdW50ID0gMDsKICAgIGNvbnN0IGNoYXIgKm5hbWU7Ci1AQCAtMTc1NzEsNyArMTc1NzEs OSBAQCByZWFkX3N1YnJhbmdlX3R5cGUgKHN0cnVjdCBkaWVfaW5mbyAqZGllLCBzdHJ1Y3QgZHdh cmYyX2N1ICpjdSkKK0BAIC0xNzY1NSw3ICsxNzY1NSw5IEBAIHJlYWRfc3VicmFuZ2VfdHlwZSAo c3RydWN0IGRpZV9pbmZvICpkaWUsIHN0cnVjdCBkd2FyZjJfY3UgKmN1KQogIAogICAgbG93Lmtp bmQgPSBQUk9QX0NPTlNUOwogICAgaGlnaC5raW5kID0gUFJPUF9DT05TVDsKQEAgLTE2Nyw3ICsx NjcsNyBAQCBpbmRleCA1OGRhMGZjMWY5Li44ZmMxZjdlYzQ1IDEwMDY0NAogIAogICAgLyogU2V0 IExPV19ERUZBVUxUX0lTX1ZBTElEIGlmIGN1cnJlbnQgbGFuZ3VhZ2UgYW5kIERXQVJGIHZlcnNp b24gYWxsb3cKICAgICAgIG9taXR0aW5nIERXX0FUX2xvd2VyX2JvdW5kLiAgKi8KLUBAIC0xNzYw NCw2ICsxNzYwNiwxMyBAQCByZWFkX3N1YnJhbmdlX3R5cGUgKHN0cnVjdCBkaWVfaW5mbyAqZGll LCBzdHJ1Y3QgZHdhcmYyX2N1ICpjdSkKK0BAIC0xNzY4OCw2ICsxNzY5MCwxNCBAQCByZWFkX3N1 YnJhbmdlX3R5cGUgKHN0cnVjdCBkaWVfaW5mbyAqZGllLCBzdHJ1Y3QgZHdhcmYyX2N1ICpjdSkK ICAgICAgICBicmVhazsKICAgICAgfQogIApAQCAtMTc1LDEzICsxNzUsMTQgQEAgaW5kZXggNThk YTBmYzFmOS4uOGZjMWY3ZWM0NSAxMDA2NDQKICsgIGlmIChhdHRyKQogKyAgICBpZiAoIWF0dHJf dG9fZHluYW1pY19wcm9wIChhdHRyLCBkaWUsIGN1LCAmc3RyaWRlKSkKICsgICAgICAgIGNvbXBs YWludCAoJnN5bWZpbGVfY29tcGxhaW50cywgXygiTWlzc2luZyBEV19BVF9ieXRlX3N0cmlkZSAi Ci0rICAgICAgICAgICAgICAgICAgIi0gRElFIGF0IDB4JXggW2luIG1vZHVsZSAlc10iKSwKLSsg ICAgICAgICAgICAgdG9fdW5kZXJseWluZyAoZGllLT5zZWN0X29mZiksIG9iamZpbGVfbmFtZSAo Y3UtPm9iamZpbGUpKTsKKysgICAgICAgICAgICAgICAgICAiLSBESUUgYXQgMHglcyBbaW4gbW9k dWxlICVzXSIpLAorKwkJICAgc2VjdF9vZmZzZXRfc3RyIChkaWUtPnNlY3Rfb2ZmKSwKKysJCSAg IG9iamZpbGVfbmFtZSAoY3UtPnBlcl9jdS0+ZHdhcmYyX3Blcl9vYmpmaWxlLT5vYmpmaWxlKSk7 CiArCiAgICBhdHRyID0gZHdhcmYyX2F0dHIgKGRpZSwgRFdfQVRfbG93ZXJfYm91bmQsIGN1KTsK ICAgIGlmIChhdHRyKQogICAgICBhdHRyX3RvX2R5bmFtaWNfcHJvcCAoYXR0ciwgZGllLCBjdSwg Jmxvdyk7Ci1AQCAtMTc2ODAsNyArMTc2ODksNyBAQCByZWFkX3N1YnJhbmdlX3R5cGUgKHN0cnVj dCBkaWVfaW5mbyAqZGllLCBzdHJ1Y3QgZHdhcmYyX2N1ICpjdSkKK0BAIC0xNzc2NSw3ICsxNzc3 NSw3IEBAIHJlYWRfc3VicmFuZ2VfdHlwZSAoc3RydWN0IGRpZV9pbmZvICpkaWUsIHN0cnVjdCBk d2FyZjJfY3UgKmN1KQogICAgICAgICYmICFUWVBFX1VOU0lHTkVEIChiYXNlX3R5cGUpICYmICho aWdoLmRhdGEuY29uc3RfdmFsICYgbmVnYXRpdmVfbWFzaykpCiAgICAgIGhpZ2guZGF0YS5jb25z dF92YWwgfD0gbmVnYXRpdmVfbWFzazsKICAKQEAgLTE5MSwxMCArMTkyLDEwIEBAIGluZGV4IDU4 ZGEwZmMxZjkuLjhmYzFmN2VjNDUgMTAwNjQ0CiAgICBpZiAoaGlnaF9ib3VuZF9pc19jb3VudCkK ICAgICAgVFlQRV9SQU5HRV9EQVRBIChyYW5nZV90eXBlKS0+ZmxhZ191cHBlcl9ib3VuZF9pc19j b3VudCA9IDE7CiBkaWZmIC0tZ2l0IGEvZ2RiL2V2YWwuYyBiL2dkYi9ldmFsLmMKLWluZGV4IDZm NzRjNDFiOWYuLmQ5YmNhMjc5MWQgMTAwNjQ0CitpbmRleCA1YmQ2ZTJjYmZlLi41MGRkZTNlZDRm IDEwMDY0NAogLS0tIGEvZ2RiL2V2YWwuYwogKysrIGIvZ2RiL2V2YWwuYwotQEAgLTM4NCwyOSAr Mzg0LDMyNSBAQCBpbml0X2FycmF5X2VsZW1lbnQgKHN0cnVjdCB2YWx1ZSAqYXJyYXksIHN0cnVj dCB2YWx1ZSAqZWxlbWVudCwKK0BAIC0zNzcsMjkgKzM3NywzMjUgQEAgaW5pdF9hcnJheV9lbGVt ZW50IChzdHJ1Y3QgdmFsdWUgKmFycmF5LCBzdHJ1Y3QgdmFsdWUgKmVsZW1lbnQsCiAgICByZXR1 cm4gaW5kZXg7CiAgfQogIApAQCAtNTM4LDcgKzUzOSw3IEBAIGluZGV4IDZmNzRjNDFiOWYuLmQ5 YmNhMjc5MWQgMTAwNjQ0CiAgfQogIAogIAotQEAgLTE5MjgsMTkgKzIyMjQsOCBAQCBldmFsdWF0 ZV9zdWJleHBfc3RhbmRhcmQgKHN0cnVjdCB0eXBlICpleHBlY3RfdHlwZSwKK0BAIC0xOTI2LDE5 ICsyMjIyLDggQEAgZXZhbHVhdGVfc3ViZXhwX3N0YW5kYXJkIChzdHJ1Y3QgdHlwZSAqZXhwZWN0 X3R5cGUsCiAgICAgICAgc3dpdGNoIChjb2RlKQogIAl7CiAgCWNhc2UgVFlQRV9DT0RFX0FSUkFZ OgpAQCAtNTU5LDcgKzU2MCw3IEBAIGluZGV4IDZmNzRjNDFiOWYuLmQ5YmNhMjc5MWQgMTAwNjQ0 CiAgCiAgCWNhc2UgVFlQRV9DT0RFX1BUUjoKICAJY2FzZSBUWVBFX0NPREVfRlVOQzoKLUBAIC0y MzM2LDQ5ICsyNjIxLDYgQEAgZXZhbHVhdGVfc3ViZXhwX3N0YW5kYXJkIChzdHJ1Y3QgdHlwZSAq ZXhwZWN0X3R5cGUsCitAQCAtMjMzNCw0OSArMjYxOSw2IEBAIGV2YWx1YXRlX3N1YmV4cF9zdGFu ZGFyZCAoc3RydWN0IHR5cGUgKmV4cGVjdF90eXBlLAogIAl9CiAgICAgICAgcmV0dXJuIChhcmcx KTsKICAKQEAgLTYwOSw3ICs2MTAsNyBAQCBpbmRleCA2Zjc0YzQxYjlmLi5kOWJjYTI3OTFkIDEw MDY0NAogICAgICBjYXNlIEJJTk9QX0xPR0lDQUxfQU5EOgogICAgICAgIGFyZzEgPSBldmFsdWF0 ZV9zdWJleHAgKE5VTExfVFlQRSwgZXhwLCBwb3MsIG5vc2lkZSk7CiAgICAgICAgaWYgKG5vc2lk ZSA9PSBFVkFMX1NLSVApCi1AQCAtMzI4Miw2ICszNTI0LDkgQEAgY2FsY19mNzdfYXJyYXlfZGlt cyAoc3RydWN0IHR5cGUgKmFycmF5X3R5cGUpCitAQCAtMzI5Myw2ICszNTM1LDkgQEAgY2FsY19m NzdfYXJyYXlfZGltcyAoc3RydWN0IHR5cGUgKmFycmF5X3R5cGUpCiAgICBpbnQgbmRpbWVuID0g MTsKICAgIHN0cnVjdCB0eXBlICp0bXBfdHlwZTsKICAKQEAgLTYyMCwxNSArNjIxLDIyIEBAIGlu ZGV4IDZmNzRjNDFiOWYuLmQ5YmNhMjc5MWQgMTAwNjQ0CiAgICAgIGVycm9yIChfKCJDYW4ndCBn ZXQgZGltZW5zaW9ucyBmb3IgYSBub24tYXJyYXkgdHlwZSIpKTsKICAKIGRpZmYgLS1naXQgYS9n ZGIvZXhwcHJpbnQuYyBiL2dkYi9leHBwcmludC5jCi1pbmRleCBhYzVhZTBmZWExLi40MWJiMzU3 YTI3IDEwMDY0NAoraW5kZXggNzBkMzU1ZDM2OS4uMWRmYzc5NDNkYSAxMDA2NDQKIC0tLSBhL2dk Yi9leHBwcmludC5jCiArKysgYi9nZGIvZXhwcHJpbnQuYwotQEAgLTU4MSwxMiArNTgxLDEwIEBA IHByaW50X3N1YmV4cF9zdGFuZGFyZCAoc3RydWN0IGV4cHJlc3Npb24gKmV4cCwgaW50ICpwb3Ms CitAQCAtNTc4LDE3ICs1NzgsMTQgQEAgcHJpbnRfc3ViZXhwX3N0YW5kYXJkIChzdHJ1Y3QgZXhw cmVzc2lvbiAqZXhwLCBpbnQgKnBvcywKKyAJICBsb25nZXN0X3RvX2ludCAoZXhwLT5lbHRzW3Bj ICsgMV0ubG9uZ2NvbnN0KTsKICAJKnBvcyArPSAyOwogIAorLQlpZiAocmFuZ2VfdHlwZSA9PSBO T05FX0JPVU5EX0RFRkFVTFRfRVhDTFVTSVZFCistCSAgICB8fCByYW5nZV90eXBlID09IExPV19C T1VORF9ERUZBVUxUX0VYQ0xVU0lWRSkKKysJaWYgKChyYW5nZV90eXBlICYgU1VCQVJSQVlfSElH SF9CT1VORF9FWENMVVNJVkUpCisrCSAgICA9PSBTVUJBUlJBWV9ISUdIX0JPVU5EX0VYQ0xVU0lW RSkKKyAJICBmcHV0c19maWx0ZXJlZCAoIkVYQ0xVU0lWRV8iLCBzdHJlYW0pOwogIAlmcHV0c19m aWx0ZXJlZCAoIlJBTkdFKCIsIHN0cmVhbSk7CiAtCWlmIChyYW5nZV90eXBlID09IEhJR0hfQk9V TkRfREVGQVVMVAotLQkgICAgfHwgcmFuZ2VfdHlwZSA9PSBOT05FX0JPVU5EX0RFRkFVTFQpCist CSAgICB8fCByYW5nZV90eXBlID09IE5PTkVfQk9VTkRfREVGQVVMVAorLQkgICAgfHwgcmFuZ2Vf dHlwZSA9PSBOT05FX0JPVU5EX0RFRkFVTFRfRVhDTFVTSVZFKQogKwlpZiAoKHJhbmdlX3R5cGUg JiBTVUJBUlJBWV9MT1dfQk9VTkQpID09IFNVQkFSUkFZX0xPV19CT1VORCkKICAJICBwcmludF9z dWJleHAgKGV4cCwgcG9zLCBzdHJlYW0sIFBSRUNfQUJPVkVfQ09NTUEpOwogIAlmcHV0c19maWx0 ZXJlZCAoIi4uIiwgc3RyZWFtKTsKQEAgLTYzOCw3ICs2NDYsNyBAQCBpbmRleCBhYzVhZTBmZWEx Li40MWJiMzU3YTI3IDEwMDY0NAogIAkgIHByaW50X3N1YmV4cCAoZXhwLCBwb3MsIHN0cmVhbSwg UFJFQ19BQk9WRV9DT01NQSk7CiAgCWZwdXRzX2ZpbHRlcmVkICgiKSIsIHN0cmVhbSk7CiAgCXJl dHVybjsKLUBAIC0xMDk0LDE2ICsxMDkyLDE2IEBAIGR1bXBfc3ViZXhwX2JvZHlfc3RhbmRhcmQg KHN0cnVjdCBleHByZXNzaW9uICpleHAsCitAQCAtMTA5OCwyMiArMTA5NSwyNCBAQCBkdW1wX3N1 YmV4cF9ib2R5X3N0YW5kYXJkIChzdHJ1Y3QgZXhwcmVzc2lvbiAqZXhwLAogIAogIAlzd2l0Y2gg KHJhbmdlX3R5cGUpCiAgCSAgewpAQCAtNjUwLDE2ICs2NTgsMjggQEAgaW5kZXggYWM1YWUwZmVh MS4uNDFiYjM1N2EyNyAxMDA2NDQKICsJICBjYXNlIFNVQkFSUkFZX0hJR0hfQk9VTkQ6CiAgCSAg ICBmcHV0c19maWx0ZXJlZCAoIlJhbmdlICcuLkVYUCciLCBzdHJlYW0pOwogIAkgICAgYnJlYWs7 CistCSAgY2FzZSBMT1dfQk9VTkRfREVGQVVMVF9FWENMVVNJVkU6CistCSAgICBmcHV0c19maWx0 ZXJlZCAoIkV4Y2x1c2l2ZVJhbmdlICcuLkVYUCciLCBzdHJlYW0pOworLQkgICAgYnJlYWs7CiAt CSAgY2FzZSBISUdIX0JPVU5EX0RFRkFVTFQ6CiArCSAgY2FzZSBTVUJBUlJBWV9MT1dfQk9VTkQ6 CiAgCSAgICBmcHV0c19maWx0ZXJlZCAoIlJhbmdlICdFWFAuLiciLCBzdHJlYW0pOwogIAkgICAg YnJlYWs7CiAtCSAgY2FzZSBOT05FX0JPVU5EX0RFRkFVTFQ6CisrCSAgY2FzZSAoU1VCQVJSQVlf TE9XX0JPVU5ECisrCQl8IFNVQkFSUkFZX0hJR0hfQk9VTkQKKysJCXwgU1VCQVJSQVlfSElHSF9C T1VORF9FWENMVVNJVkUpOgorKwkgICAgZnB1dHNfZmlsdGVyZWQgKCJFeGNsdXNpdmVSYW5nZSAn Li5FWFAnIiwgc3RyZWFtKTsKKysJICAgIGJyZWFrOwogKwkgIGNhc2UgKFNVQkFSUkFZX0xPV19C T1VORCB8IFNVQkFSUkFZX0hJR0hfQk9VTkQpOgogIAkgICAgZnB1dHNfZmlsdGVyZWQgKCJSYW5n ZSAnRVhQLi5FWFAnIiwgc3RyZWFtKTsKICAJICAgIGJyZWFrOworLQkgIGNhc2UgTk9ORV9CT1VO RF9ERUZBVUxUX0VYQ0xVU0lWRToKKysJICBjYXNlIChTVUJBUlJBWV9ISUdIX0JPVU5EIHwgU1VC QVJSQVlfSElHSF9CT1VORF9FWENMVVNJVkUpOgorIAkgICAgZnB1dHNfZmlsdGVyZWQgKCJFeGNs dXNpdmVSYW5nZSAnRVhQLi5FWFAnIiwgc3RyZWFtKTsKKyAJICAgIGJyZWFrOwogIAkgIGRlZmF1 bHQ6Ci1AQCAtMTExMSwxMSArMTEwOSw5IEBAIGR1bXBfc3ViZXhwX2JvZHlfc3RhbmRhcmQgKHN0 cnVjdCBleHByZXNzaW9uICpleHAsCitAQCAtMTEyMSwxMSArMTEyMCw5IEBAIGR1bXBfc3ViZXhw X2JvZHlfc3RhbmRhcmQgKHN0cnVjdCBleHByZXNzaW9uICpleHAsCiAgCSAgICBicmVhazsKICAJ ICB9CiAgCkBAIC02NzQsMzggKzY5NCw2MCBAQCBpbmRleCBhYzVhZTBmZWExLi40MWJiMzU3YTI3 IDEwMDY0NAogICAgICAgIH0KICAgICAgICBicmVhazsKIGRpZmYgLS1naXQgYS9nZGIvZXhwcmVz c2lvbi5oIGIvZ2RiL2V4cHJlc3Npb24uaAotaW5kZXggYTc4M2VhNWZlZi4uYmUyNDc5MmViNiAx MDA2NDQKK2luZGV4IDlmMjZiYjhkNjAuLjJjYzBkMmMxZTMgMTAwNjQ0CiAtLS0gYS9nZGIvZXhw cmVzc2lvbi5oCiArKysgYi9nZGIvZXhwcmVzc2lvbi5oCi1AQCAtMTUzLDE3ICsxNTMsMTcgQEAg ZXh0ZXJuIHZvaWQgZHVtcF9yYXdfZXhwcmVzc2lvbiAoc3RydWN0IGV4cHJlc3Npb24gKiwKK0BA IC0xNDgsMjggKzE0OCwyNyBAQCBleHRlcm4gdm9pZCBkdW1wX3Jhd19leHByZXNzaW9uIChzdHJ1 Y3QgZXhwcmVzc2lvbiAqLAogIAkJCQkgc3RydWN0IHVpX2ZpbGUgKiwgY29uc3QgY2hhciAqKTsK ICBleHRlcm4gdm9pZCBkdW1wX3ByZWZpeF9leHByZXNzaW9uIChzdHJ1Y3QgZXhwcmVzc2lvbiAq LCBzdHJ1Y3QgdWlfZmlsZSAqKTsKICAKIC0vKiBJbiBhbiBPUF9SQU5HRSBleHByZXNzaW9uLCBl aXRoZXIgYm91bmQgY291bGQgYmUgZW1wdHksIGluZGljYXRpbmcKIC0gICB0aGF0IGl0cyB2YWx1 ZSBpcyBieSBkZWZhdWx0IHRoYXQgb2YgdGhlIGNvcnJlc3BvbmRpbmcgYm91bmQgb2YgdGhlCi0t ICAgYXJyYXkgb3Igc3RyaW5nLiAgU28gd2UgaGF2ZSBmb3VyIHNvcnRzIG9mIHN1YnJhbmdlLiAg VGhpcwotLSAgIGVudW1lcmF0aW9uIHR5cGUgaXMgdG8gaWRlbnRpZnkgdGhpcy4gICovCi0tICAg Ci0rLyogSW4gYW4gT1BfUkFOR0UgZXhwcmVzc2lvbiwgZWl0aGVyIGJvdW5kIGNhbiBiZSBwcm92 aWRlZCBieSB0aGUgdXNlciwgb3Igbm90LgotKyAgIEluIGFkZGl0aW9uIHRvIHRoaXMsIHRoZSB1 c2VyIGNhbiBhbHNvIHNwZWNpZnkgYSBzdHJpZGUgdmFsdWUgdG8gaW5kaWNhdGVkCi0rICAgb25s eSBjZXJ0YWluIGVsZW1lbnRzIG9mIHRoZSBhcnJheS4gIFRoaXMgZW51bWVyYXRpb24gdHlwZSBp cyB0byBpZGVudGlmeQotKyAgIHRoaXMuICAqLwotKworLSAgIGFycmF5IG9yIHN0cmluZy4gIEFs c28sIHRoZSB1cHBlciBlbmQgb2YgdGhlIHJhbmdlIGNhbiBiZSBleGNsdXNpdmUKKy0gICBvciBp bmNsdXNpdmUuICBTbyB3ZSBoYXZlIHNpeCBzb3J0cyBvZiBzdWJyYW5nZS4gIFRoaXMgZW51bWVy YXRpb24KKy0gICB0eXBlIGlzIHRvIGlkZW50aWZ5IHRoaXMuICAqLworKy8qIEluIGFuIE9QX1JB TkdFIGV4cHJlc3Npb24sIGVpdGhlciBib3VuZCBjYW4gYmUgcHJvdmlkZWQgYnkgdGhlCisrICAg dXNlciwgb3Igbm90LiAgSW4gYWRkaXRpb24gdG8gdGhpcywgdGhlIHVzZXIgY2FuIGFsc28gc3Bl Y2lmeSBhCisrICAgc3RyaWRlIHZhbHVlIHRvIGluZGljYXRlZCBvbmx5IGNlcnRhaW4gZWxlbWVu dHMgb2YgdGhlIGFycmF5LgorKyAgIEFsc28sIHRoZSB1cHBlciBlbmQgb2YgdGhlIHJhbmdlIGNh biBiZSBleGNsdXNpdmUgb3IgaW5jbHVzaXZlLgorKyAgIFRoaXMgZW51bWVyYXRpb24gdHlwZSBp cyB0byBpZGVudGlmeSB0aGlzLiAgKi8KKyAKICBlbnVtIHJhbmdlX3R5cGUKLSAgIHsKLS0gICAg Qk9USF9CT1VORF9ERUZBVUxULAkJLyogIig6KSIgICovCi0tICAgIExPV19CT1VORF9ERUZBVUxU LAkJLyogIig6aGlnaCkiICAqLwotLSAgICBISUdIX0JPVU5EX0RFRkFVTFQsCQkvKiAiKGxvdzop IiAgKi8KLS0gICAgTk9ORV9CT1VORF9ERUZBVUxUCQkvKiAiKGxvdzpoaWdoKSIgICovCistewor LSAgLyogTmVpdGhlciB0aGUgbG93IG5vciB0aGUgaGlnaCBib3VuZCB3YXMgZ2l2ZW4gLS0gc28g dGhpcyByZWZlcnMgdG8KKy0gICAgIHRoZSBlbnRpcmUgYXZhaWxhYmxlIHJhbmdlLiAgKi8KKy0g IEJPVEhfQk9VTkRfREVGQVVMVCwKKy0gIC8qIFRoZSBsb3cgYm91bmQgd2FzIG5vdCBnaXZlbiBh bmQgdGhlIGhpZ2ggYm91bmQgaXMgaW5jbHVzaXZlLiAgKi8KKy0gIExPV19CT1VORF9ERUZBVUxU LAorLSAgLyogVGhlIGhpZ2ggYm91bmQgd2FzIG5vdCBnaXZlbiBhbmQgdGhlIGxvdyBib3VuZCBp biBpbmNsdXNpdmUuICAqLworLSAgSElHSF9CT1VORF9ERUZBVUxULAorLSAgLyogQm90aCBib3Vu ZHMgd2VyZSBnaXZlbiBhbmQgYm90aCBhcmUgaW5jbHVzaXZlLiAgKi8KKy0gIE5PTkVfQk9VTkRf REVGQVVMVCwKKy0gIC8qIFRoZSBsb3cgYm91bmQgd2FzIG5vdCBnaXZlbiBhbmQgdGhlIGhpZ2gg Ym91bmQgaXMgZXhjbHVzaXZlLiAgKi8KKy0gIE5PTkVfQk9VTkRfREVGQVVMVF9FWENMVVNJVkUs CistICAvKiBCb3RoIGJvdW5kcyB3ZXJlIGdpdmVuLiAgVGhlIGxvdyBib3VuZCBpcyBpbmNsdXNp dmUgYW5kIHRoZSBoaWdoCistICAgICBib3VuZCBpcyBleGNsdXNpdmUuICAqLworLSAgTE9XX0JP VU5EX0RFRkFVTFRfRVhDTFVTSVZFLAorLX07CisrICB7CiArICAgIFNVQkFSUkFZX05PTkVfQk9V TkQgPSAweDAsCQkvKiAiKCA6ICkiICAqLwogKyAgICBTVUJBUlJBWV9MT1dfQk9VTkQgPSAweDEs CQkvKiAiKGxvdzopIiAgKi8KICsgICAgU1VCQVJSQVlfSElHSF9CT1VORCA9IDB4MiwJCS8qICIo OmhpZ2gpIiAgKi8KLSsgICAgU1VCQVJSQVlfU1RSSURFID0gMHg0CQkvKiAiKDo6c3RyaWRlKSIg ICovCi0gICB9OworKyAgICBTVUJBUlJBWV9TVFJJREUgPSAweDQsCQkvKiAiKDo6c3RyaWRlKSIg ICovCisrICAgIC8qIFRoZSBsb3cgYm91bmQgd2FzIG5vdCBnaXZlbiBhbmQgdGhlIGhpZ2ggYm91 bmQgaXMgZXhjbHVzaXZlLgorKyAgICAgICBJbiB0aGlzIGNhc2Ugd2UgYWx3YXlzIHVzZSAoU1VC QVJSQVlfSElHSF9CT1VORCB8CisrICAgICAgIFNVQkFSUkFZX0hJR0hfQk9VTkRfRVhDTFVTSVZF KS4gICovCisrICAgIFNVQkFSUkFZX0hJR0hfQk9VTkRfRVhDTFVTSVZFID0gMHg4LAorKyAgICAv KiBCb3RoIGJvdW5kcyB3ZXJlIGdpdmVuLiAgVGhlIGxvdyBib3VuZCBpcyBpbmNsdXNpdmUgYW5k IHRoZSBoaWdoCisrICAgICAgIGJvdW5kIGlzIGV4Y2x1c2l2ZS4gIEluIHRoaXMgY2FzZSwgd2Ug dXNlIChTVUJBUlJBWV9MT1dfQk9VTkQgfAorKyAgICAgICBTVUJBUlJBWV9ISUdIX0JPVU5EIHwg U1VCQVJSQVlfSElHSF9CT1VORF9FWENMVVNJVkUpLiAgKi8KKysgICAgLy8gU1VCQVJSQVlfTE9X X0JPVU5EX0VYQ0xVU0lWRSA9IChTVUJBUlJBWV9MT1dfQk9VTkQKKysgICAgLy8gCQkJCSAgICB8 IFNVQkFSUkFZX0hJR0hfQk9VTkRfRVhDTFVTSVZFKSwKKysgIH07CiAgCiAgI2VuZGlmIC8qICFk ZWZpbmVkIChFWFBSRVNTSU9OX0gpICovCiBkaWZmIC0tZ2l0IGEvZ2RiL2YtZXhwLnkgYi9nZGIv Zi1leHAueQotaW5kZXggNjQ5NWUwM2NjNS4uY2Q4OWJiN2NhMiAxMDA2NDQKK2luZGV4IGUzOWY2 ODQxN2MuLjdkMDNlNTRhMTggMTAwNjQ0CiAtLS0gYS9nZGIvZi1leHAueQogKysrIGIvZ2RiL2Yt ZXhwLnkKIEBAIC0yNTcsMzEgKzI1Nyw2MyBAQCBhcmdsaXN0IDoJc3VicmFuZ2UKQEAgLTc5OCw3 ICs4NDAsNyBAQCBpbmRleCA5MDNmMmFmNjM4Li5iNDA2N2E4NDYwIDEwMDY0NAogICAgICAgIGZv ciAoaSA9IGxvd2VyYm91bmQ7CiAgCSAgIChpIDwgdXBwZXJib3VuZCArIDEgJiYgKCplbHRzKSA8 IG9wdGlvbnMtPnByaW50X21heCk7CiBkaWZmIC0tZ2l0IGEvZ2RiL2dkYnR5cGVzLmMgYi9nZGIv Z2RidHlwZXMuYwotaW5kZXggNDNmZTU2ZTQ4Ny4uYTcyZTJiM2UwYSAxMDA2NDQKK2luZGV4IDZk NzAwMDYwODEuLjY0NzExZThjZmIgMTAwNjQ0CiAtLS0gYS9nZGIvZ2RidHlwZXMuYwogKysrIGIv Z2RiL2dkYnR5cGVzLmMKIEBAIC05MDIsNyArOTAyLDggQEAgb3BlcmF0b3I9PSAoY29uc3QgcmFu Z2VfYm91bmRzICZsLCBjb25zdCByYW5nZV9ib3VuZHMgJnIpCkBAIC04NjMsNyArOTA1LDcgQEAg aW5kZXggNDNmZTU2ZTQ4Ny4uYTcyZTJiM2UwYSAxMDA2NDQKICAgICAgICBlbHNlIGlmIChiaXRf c3RyaWRlID4gMCkKICAJVFlQRV9MRU5HVEggKHJlc3VsdF90eXBlKSA9CiAgCSAgKGJpdF9zdHJp ZGUgKiAoaGlnaF9ib3VuZCAtIGxvd19ib3VuZCArIDEpICsgNykgLyA4OwotQEAgLTE5OTIsMTIg KzIwMDIsMTIgQEAgcmVzb2x2ZV9keW5hbWljX3JhbmdlIChzdHJ1Y3QgdHlwZSAqZHluX3Jhbmdl X3R5cGUsCitAQCAtMTk5NiwxMiArMjAwNiwxMiBAQCByZXNvbHZlX2R5bmFtaWNfcmFuZ2UgKHN0 cnVjdCB0eXBlICpkeW5fcmFuZ2VfdHlwZSwKICAgIENPUkVfQUREUiB2YWx1ZTsKICAgIHN0cnVj dCB0eXBlICpzdGF0aWNfcmFuZ2VfdHlwZSwgKnN0YXRpY190YXJnZXRfdHlwZTsKICAgIGNvbnN0 IHN0cnVjdCBkeW5hbWljX3Byb3AgKnByb3A7CkBAIC04NzgsNyArOTIwLDcgQEAgaW5kZXggNDNm ZTU2ZTQ4Ny4uYTcyZTJiM2UwYSAxMDA2NDQKICAgICAgewogICAgICAgIGxvd19ib3VuZC5raW5k ID0gUFJPUF9DT05TVDsKICAgICAgICBsb3dfYm91bmQuZGF0YS5jb25zdF92YWwgPSB2YWx1ZTsK LUBAIC0yMDA5LDcgKzIwMTksNyBAQCByZXNvbHZlX2R5bmFtaWNfcmFuZ2UgKHN0cnVjdCB0eXBl ICpkeW5fcmFuZ2VfdHlwZSwKK0BAIC0yMDEzLDcgKzIwMjMsNyBAQCByZXNvbHZlX2R5bmFtaWNf cmFuZ2UgKHN0cnVjdCB0eXBlICpkeW5fcmFuZ2VfdHlwZSwKICAgICAgfQogIAogICAgcHJvcCA9 ICZUWVBFX1JBTkdFX0RBVEEgKGR5bl9yYW5nZV90eXBlKS0+aGlnaDsKQEAgLTg4Nyw3ICs5Mjks NyBAQCBpbmRleCA0M2ZlNTZlNDg3Li5hNzJlMmIzZTBhIDEwMDY0NAogICAgICB7CiAgICAgICAg aGlnaF9ib3VuZC5raW5kID0gUFJPUF9DT05TVDsKICAgICAgICBoaWdoX2JvdW5kLmRhdGEuY29u c3RfdmFsID0gdmFsdWU7Ci1AQCAtMjAyNCwxMiArMjAzNCwyMCBAQCByZXNvbHZlX2R5bmFtaWNf cmFuZ2UgKHN0cnVjdCB0eXBlICpkeW5fcmFuZ2VfdHlwZSwKK0BAIC0yMDI4LDEyICsyMDM4LDIw IEBAIHJlc29sdmVfZHluYW1pY19yYW5nZSAoc3RydWN0IHR5cGUgKmR5bl9yYW5nZV90eXBlLAog ICAgICAgIGhpZ2hfYm91bmQuZGF0YS5jb25zdF92YWwgPSAwOwogICAgICB9CiAgCkBAIC05MTAs MTAgKzk1MiwxMCBAQCBpbmRleCA0M2ZlNTZlNDg3Li5hNzJlMmIzZTBhIDEwMDY0NAogICAgcmV0 dXJuIHN0YXRpY19yYW5nZV90eXBlOwogIH0KIGRpZmYgLS1naXQgYS9nZGIvZ2RidHlwZXMuaCBi L2dkYi9nZGJ0eXBlcy5oCi1pbmRleCA5MmNhODVjMjk1Li4xNzkyMzhjZTgyIDEwMDY0NAoraW5k ZXggNWY2MTRlNTczYS4uODc4YzhiMDMwMiAxMDA2NDQKIC0tLSBhL2dkYi9nZGJ0eXBlcy5oCiAr KysgYi9nZGIvZ2RidHlwZXMuaAotQEAgLTU2MCw2ICs1NjAsMTAgQEAgc3RydWN0IHJhbmdlX2Jv dW5kcworQEAgLTYxMiw2ICs2MTIsMTAgQEAgc3RydWN0IHJhbmdlX2JvdW5kcwogIAogICAgc3Ry dWN0IGR5bmFtaWNfcHJvcCBoaWdoOwogIApAQCAtOTI0LDcgKzk2Niw3IEBAIGluZGV4IDkyY2E4 NWMyOTUuLjE3OTIzOGNlODIgMTAwNjQ0CiAgICAvKiBUcnVlIGlmIEhJR0ggcmFuZ2UgYm91bmQg Y29udGFpbnMgdGhlIG51bWJlciBvZiBlbGVtZW50cyBpbiB0aGUKICAgICAgIHN1YnJhbmdlLiBU aGlzIGFmZmVjdHMgaG93IHRoZSBmaW5hbCBoaWdodCBib3VuZCBpcyBjb21wdXRlZC4gICovCiAg Ci1AQCAtNzMxLDcgKzczNSw2IEBAIHN0cnVjdCBtYWluX3R5cGUKK0BAIC03OTAsNyArNzk0LDYg QEAgc3RydWN0IG1haW5fdHlwZQogICAgICAvKiAqIFVuaW9uIG1lbWJlciB1c2VkIGZvciByYW5n ZSB0eXBlcy4gICovCiAgCiAgICAgIHN0cnVjdCByYW5nZV9ib3VuZHMgKmJvdW5kczsKQEAgLTkz Miw3ICs5NzQsNyBAQCBpbmRleCA5MmNhODVjMjk1Li4xNzkyMzhjZTgyIDEwMDY0NAogICAgfSBm bGRzX2JuZHM7CiAgCiAgICAvKiAqIFNsb3QgdG8gcG9pbnQgdG8gYWRkaXRpb25hbCBsYW5ndWFn ZS1zcGVjaWZpYyBmaWVsZHMgb2YgdGhpcwotQEAgLTEyNTMsNiArMTI1NiwxNSBAQCBleHRlcm4g dm9pZCBhbGxvY2F0ZV9nbmF0X2F1eF90eXBlIChzdHJ1Y3QgdHlwZSAqKTsKK0BAIC0xMzQ0LDYg KzEzNDcsMTUgQEAgZXh0ZXJuIGJvb2wgc2V0X3R5cGVfYWxpZ24gKHN0cnVjdCB0eXBlICosIFVM T05HRVNUKTsKICAgIFRZUEVfUkFOR0VfREFUQShyYW5nZV90eXBlKS0+aGlnaC5raW5kCiAgI2Rl ZmluZSBUWVBFX0xPV19CT1VORF9LSU5EKHJhbmdlX3R5cGUpIFwKICAgIFRZUEVfUkFOR0VfREFU QShyYW5nZV90eXBlKS0+bG93LmtpbmQKQEAgLTk0OCw3ICs5OTAsNyBAQCBpbmRleCA5MmNhODVj Mjk1Li4xNzkyMzhjZTgyIDEwMDY0NAogIAogIC8qIFByb3BlcnR5IGFjY2Vzc29ycyBmb3IgdGhl IHR5cGUgZGF0YSBsb2NhdGlvbi4gICovCiAgI2RlZmluZSBUWVBFX0RBVEFfTE9DQVRJT04odGhp c3R5cGUpIFwKLUBAIC0xMjg3LDYgKzEyOTksOSBAQCBleHRlcm4gdm9pZCBhbGxvY2F0ZV9nbmF0 X2F1eF90eXBlIChzdHJ1Y3QgdHlwZSAqKTsKK0BAIC0xMzc4LDYgKzEzOTAsOSBAQCBleHRlcm4g Ym9vbCBzZXRfdHlwZV9hbGlnbiAoc3RydWN0IHR5cGUgKiwgVUxPTkdFU1QpOwogICAgIFRZUEVf SElHSF9CT1VORF9VTkRFRklORUQoVFlQRV9JTkRFWF9UWVBFKGFycmF5dHlwZSkpCiAgI2RlZmlu ZSBUWVBFX0FSUkFZX0xPV0VSX0JPVU5EX0lTX1VOREVGSU5FRChhcnJheXR5cGUpIFwKICAgICBU WVBFX0xPV19CT1VORF9VTkRFRklORUQoVFlQRV9JTkRFWF9UWVBFKGFycmF5dHlwZSkpCkBAIC05 NTgsNyArMTAwMCw3IEBAIGluZGV4IDkyY2E4NWMyOTUuLjE3OTIzOGNlODIgMTAwNjQ0CiAgCiAg I2RlZmluZSBUWVBFX0FSUkFZX1VQUEVSX0JPVU5EX1ZBTFVFKGFycmF5dHlwZSkgXAogICAgIChU WVBFX0hJR0hfQk9VTkQoVFlQRV9JTkRFWF9UWVBFKChhcnJheXR5cGUpKSkpCi1AQCAtMTgxOCw2 ICsxODMzLDcgQEAgZXh0ZXJuIHN0cnVjdCB0eXBlICpjcmVhdGVfYXJyYXlfdHlwZV93aXRoX3N0 cmlkZQorQEAgLTE5MDksNiArMTkyNCw3IEBAIGV4dGVybiBzdHJ1Y3QgdHlwZSAqY3JlYXRlX2Fy cmF5X3R5cGVfd2l0aF9zdHJpZGUKICAgICBzdHJ1Y3QgZHluYW1pY19wcm9wICosIHVuc2lnbmVk IGludCk7CiAgCiAgZXh0ZXJuIHN0cnVjdCB0eXBlICpjcmVhdGVfcmFuZ2VfdHlwZSAoc3RydWN0 IHR5cGUgKiwgc3RydWN0IHR5cGUgKiwKQEAgLTk2NywxMCArMTAwOSwxMCBAQCBpbmRleCA5MmNh ODVjMjk1Li4xNzkyMzhjZTgyIDEwMDY0NAogIAkJCQkgICAgICAgY29uc3Qgc3RydWN0IGR5bmFt aWNfcHJvcCAqKTsKICAKIGRpZmYgLS1naXQgYS9nZGIvcGFyc2UuYyBiL2dkYi9wYXJzZS5jCi1p bmRleCA4YjJiYjIyYzc2Li5lMWJmM2VkYmUyIDEwMDY0NAoraW5kZXggMTkzYWJlODUzZi4uZWEw ZDAyN2JiMCAxMDA2NDQKIC0tLSBhL2dkYi9wYXJzZS5jCiArKysgYi9nZGIvcGFyc2UuYwotQEAg LTk4NCwyMiArOTg0LDIwIEBAIG9wZXJhdG9yX2xlbmd0aF9zdGFuZGFyZCAoY29uc3Qgc3RydWN0 IGV4cHJlc3Npb24gKmV4cHIsIGludCBlbmRwb3MsCitAQCAtOTg5LDI0ICs5ODksMjAgQEAgb3Bl cmF0b3JfbGVuZ3RoX3N0YW5kYXJkIChjb25zdCBzdHJ1Y3QgZXhwcmVzc2lvbiAqZXhwciwgaW50 IGVuZHBvcywKICAKICAgICAgY2FzZSBPUF9SQU5HRToKICAgICAgICBvcGxlbiA9IDM7CkBAIC05 ODEsNiArMTAyMyw3IEBAIGluZGV4IDhiMmJiMjJjNzYuLmUxYmYzZWRiZTIgMTAwNjQ0CiAtICAg ICAgc3dpdGNoIChyYW5nZV90eXBlKQogLQl7CiAtCWNhc2UgTE9XX0JPVU5EX0RFRkFVTFQ6Cist CWNhc2UgTE9XX0JPVU5EX0RFRkFVTFRfRVhDTFVTSVZFOgogLQljYXNlIEhJR0hfQk9VTkRfREVG QVVMVDoKIC0JICBhcmdzID0gMTsKIC0JICBicmVhazsKQEAgLTk4OCw2ICsxMDMxLDcgQEAgaW5k ZXggOGIyYmIyMmM3Ni4uZTFiZjNlZGJlMiAxMDA2NDQKIC0JICBhcmdzID0gMDsKIC0JICBicmVh azsKIC0JY2FzZSBOT05FX0JPVU5EX0RFRkFVTFQ6CistCWNhc2UgTk9ORV9CT1VORF9ERUZBVUxU X0VYQ0xVU0lWRToKIC0JICBhcmdzID0gMjsKIC0JICBicmVhazsKIC0JfQpAQCAtMTAwNSwxMCAr MTA0OSwxMCBAQCBpbmRleCA4YjJiYjIyYzc2Li5lMWJmM2VkYmUyIDEwMDY0NAogICAgICAgIGJy ZWFrOwogIAogZGlmZiAtLWdpdCBhL2dkYi9ydXN0LWV4cC55IGIvZ2RiL3J1c3QtZXhwLnkKLWlu ZGV4IDE5OWU4NzY3MWUuLjM5N2E5MmRmZGIgMTAwNjQ0CitpbmRleCA5ZjIxNDk4ZDRjLi41ZDBm MjRmNGUxIDEwMDY0NAogLS0tIGEvZ2RiL3J1c3QtZXhwLnkKICsrKyBiL2dkYi9ydXN0LWV4cC55 Ci1AQCAtMjQ0OCwyMyArMjQ0OCwxNyBAQCBjb252ZXJ0X2FzdF90b19leHByZXNzaW9uIChzdHJ1 Y3QgcGFyc2VyX3N0YXRlICpzdGF0ZSwKK0BAIC0yNDc3LDI0ICsyNDc3LDI4IEBAIGNvbnZlcnRf YXN0X3RvX2V4cHJlc3Npb24gKHN0cnVjdCBwYXJzZXJfc3RhdGUgKnN0YXRlLAogIAogICAgICBj YXNlIE9QX1JBTkdFOgogICAgICAgIHsKQEAgLTEwMjUsMzMgKzEwNjksNDggQEAgaW5kZXggMTk5 ZTg3NjcxZS4uMzk3YTkyZGZkYiAxMDA2NDQKICAJICB7CiAgCSAgICBjb252ZXJ0X2FzdF90b19l eHByZXNzaW9uIChzdGF0ZSwgb3BlcmF0aW9uLT5yaWdodC5vcCwgdG9wKTsKIC0JICAgIGlmIChr aW5kID09IEJPVEhfQk9VTkRfREVGQVVMVCkKLS0JICAgICAga2luZCA9IExPV19CT1VORF9ERUZB VUxUOwotLQkgICAgZWxzZQotLQkgICAgICB7CistCSAgICAgIGtpbmQgPSAob3BlcmF0aW9uLT5p bmNsdXNpdmUKKy0JCSAgICAgID8gTE9XX0JPVU5EX0RFRkFVTFQgOiBMT1dfQk9VTkRfREVGQVVM VF9FWENMVVNJVkUpOworKwkgICAgaWYgKGtpbmQgPT0gU1VCQVJSQVlfTk9ORV9CT1VORCkKKysJ ICAgICAgeworKwkJa2luZCA9IChyYW5nZV90eXBlKSBTVUJBUlJBWV9ISUdIX0JPVU5EOworKwkJ aWYgKCFvcGVyYXRpb24tPmluY2x1c2l2ZSkKKysJCSAga2luZCA9IChyYW5nZV90eXBlKSAoa2lu ZCB8IFNVQkFSUkFZX0hJR0hfQk9VTkRfRVhDTFVTSVZFKTsKKysJICAgICAgfQorIAkgICAgZWxz ZQorIAkgICAgICB7CiAtCQlnZGJfYXNzZXJ0IChraW5kID09IEhJR0hfQk9VTkRfREVGQVVMVCk7 Ci0tCQlraW5kID0gTk9ORV9CT1VORF9ERUZBVUxUOwotLQkgICAgICB9Ci0rCSAgICBraW5kID0g KHJhbmdlX3R5cGUpIChraW5kIHwgU1VCQVJSQVlfSElHSF9CT1VORCk7CistCQlraW5kID0gKG9w ZXJhdGlvbi0+aW5jbHVzaXZlCistCQkJPyBOT05FX0JPVU5EX0RFRkFVTFQgOiBOT05FX0JPVU5E X0RFRkFVTFRfRVhDTFVTSVZFKTsKKysJCWdkYl9hc3NlcnQgKGtpbmQgPT0gU1VCQVJSQVlfTE9X X0JPVU5EKTsKKysJCWtpbmQgPSAocmFuZ2VfdHlwZSkgKGtpbmQgfCBTVUJBUlJBWV9ISUdIX0JP VU5EKTsKKysJCWlmICghb3BlcmF0aW9uLT5pbmNsdXNpdmUpCisrCQkgIGtpbmQgPSAocmFuZ2Vf dHlwZSkgKGtpbmQgfCBTVUJBUlJBWV9ISUdIX0JPVU5EX0VYQ0xVU0lWRSk7CisgCSAgICAgIH0K ICAJICB9Ci0gCXdyaXRlX2V4cF9lbHRfb3Bjb2RlIChzdGF0ZSwgT1BfUkFOR0UpOwotIAl3cml0 ZV9leHBfZWx0X2xvbmdjc3QgKHN0YXRlLCBraW5kKTsKKyAJZWxzZQogZGlmZiAtLWdpdCBhL2dk Yi9ydXN0LWxhbmcuYyBiL2dkYi9ydXN0LWxhbmcuYwotaW5kZXggZjdiZWMzM2E0Mi4uY2I5MjRl MDg0ZCAxMDA2NDQKK2luZGV4IGVkMDM5NDU5MmYuLjRiZTExMmI3YTMgMTAwNjQ0CiAtLS0gYS9n ZGIvcnVzdC1sYW5nLmMKICsrKyBiL2dkYi9ydXN0LWxhbmcuYwotQEAgLTEzNjYsOSArMTM2Niw5 IEBAIHJ1c3RfcmFuZ2UgKHN0cnVjdCBleHByZXNzaW9uICpleHAsIGludCAqcG9zLCBlbnVtIG5v c2lkZSBub3NpZGUpCitAQCAtMTEwNiwxMyArMTEwNiwxMSBAQCBydXN0X3JhbmdlIChzdHJ1Y3Qg ZXhwcmVzc2lvbiAqZXhwLCBpbnQgKnBvcywgZW51bSBub3NpZGUgbm9zaWRlKQogICAga2luZCA9 IChlbnVtIHJhbmdlX3R5cGUpIGxvbmdlc3RfdG9faW50IChleHAtPmVsdHNbKnBvcyArIDFdLmxv bmdjb25zdCk7CiAgICAqcG9zICs9IDM7CiAgCi0tICBpZiAoa2luZCA9PSBISUdIX0JPVU5EX0RF RkFVTFQgfHwga2luZCA9PSBOT05FX0JPVU5EX0RFRkFVTFQpCistICBpZiAoa2luZCA9PSBISUdI X0JPVU5EX0RFRkFVTFQgfHwga2luZCA9PSBOT05FX0JPVU5EX0RFRkFVTFQKKy0gICAgICB8fCBr aW5kID09IE5PTkVfQk9VTkRfREVGQVVMVF9FWENMVVNJVkUpCiArICBpZiAoKGtpbmQgJiBTVUJB UlJBWV9MT1dfQk9VTkQpID09IFNVQkFSUkFZX0xPV19CT1VORCkKICAgICAgbG93ID0gZXZhbHVh dGVfc3ViZXhwIChOVUxMX1RZUEUsIGV4cCwgcG9zLCBub3NpZGUpOwotLSAgaWYgKGtpbmQgPT0g TE9XX0JPVU5EX0RFRkFVTFQgfHwga2luZCA9PSBOT05FX0JPVU5EX0RFRkFVTFQpCistICBpZiAo a2luZCA9PSBMT1dfQk9VTkRfREVGQVVMVCB8fCBraW5kID09IExPV19CT1VORF9ERUZBVUxUX0VY Q0xVU0lWRQorLSAgICAgIHx8IGtpbmQgPT0gTk9ORV9CT1VORF9ERUZBVUxUIHx8IGtpbmQgPT0g Tk9ORV9CT1VORF9ERUZBVUxUX0VYQ0xVU0lWRSkKICsgIGlmICgoa2luZCAmIFNVQkFSUkFZX0hJ R0hfQk9VTkQpID09IFNVQkFSUkFZX0hJR0hfQk9VTkQpCiAgICAgIGhpZ2ggPSBldmFsdWF0ZV9z dWJleHAgKE5VTExfVFlQRSwgZXhwLCBwb3MsIG5vc2lkZSk7CistICBib29sIGluY2x1c2l2ZSA9 IChraW5kID09IE5PTkVfQk9VTkRfREVGQVVMVCB8fCBraW5kID09IExPV19CT1VORF9ERUZBVUxU KTsKKysgIGJvb2wgaW5jbHVzaXZlID0gKCEoKGtpbmQgJiBTVUJBUlJBWV9ISUdIX0JPVU5EX0VY Q0xVU0lWRSkgPT0gU1VCQVJSQVlfSElHSF9CT1VORF9FWENMVVNJVkUpKTsKICAKICAgIGlmIChu b3NpZGUgPT0gRVZBTF9TS0lQKQotQEAgLTE0NTcsNyArMTQ1Nyw3IEBAIHJ1c3RfY29tcHV0ZV9y YW5nZSAoc3RydWN0IHR5cGUgKnR5cGUsIHN0cnVjdCB2YWx1ZSAqcmFuZ2UsCisgICAgIHJldHVy biB2YWx1ZV9mcm9tX2xvbmdlc3QgKGJ1aWx0aW5fdHlwZSAoZXhwLT5nZGJhcmNoKS0+YnVpbHRp bl9pbnQsIDEpOworQEAgLTEyMDEsNyArMTE5OSw3IEBAIHJ1c3RfY29tcHV0ZV9yYW5nZSAoc3Ry dWN0IHR5cGUgKnR5cGUsIHN0cnVjdCB2YWx1ZSAqcmFuZ2UsCiAgCiAgICAqbG93ID0gMDsKICAg ICpoaWdoID0gMDsKQEAgLTEwNjAsNyArMTExOSw3IEBAIGluZGV4IGY3YmVjMzNhNDIuLmNiOTI0 ZTA4NGQgMTAwNjQ0CiAgCiAgICBpZiAoVFlQRV9ORklFTERTICh0eXBlKSA9PSAwKQogICAgICBy ZXR1cm47Ci1AQCAtMTQ2NSwxNSArMTQ2NSwxNCBAQCBydXN0X2NvbXB1dGVfcmFuZ2UgKHN0cnVj dCB0eXBlICp0eXBlLCBzdHJ1Y3QgdmFsdWUgKnJhbmdlLAorQEAgLTEyMDksMTUgKzEyMDcsMTQg QEAgcnVzdF9jb21wdXRlX3JhbmdlIChzdHJ1Y3QgdHlwZSAqdHlwZSwgc3RydWN0IHZhbHVlICpy YW5nZSwKICAgIGkgPSAwOwogICAgaWYgKHN0cmNtcCAoVFlQRV9GSUVMRF9OQU1FICh0eXBlLCAw KSwgInN0YXJ0IikgPT0gMCkKICAgICAgewpAQCAtMTA3Niw5ICsxMTM1LDkgQEAgaW5kZXggZjdi ZWMzM2E0Mi4uY2I5MjRlMDg0ZCAxMDA2NDQKIC0JICAgICAgID8gTE9XX0JPVU5EX0RFRkFVTFQg OiBOT05FX0JPVU5EX0RFRkFVTFQpOwogKyAgICAgICpraW5kID0gKHJhbmdlX3R5cGUpICgqa2lu ZCB8IFNVQkFSUkFZX0hJR0hfQk9VTkQpOwogICAgICAgICpoaWdoID0gdmFsdWVfYXNfbG9uZyAo dmFsdWVfZmllbGQgKHJhbmdlLCBpKSk7Ci0gICAgIH0KLSB9Ci1AQCAtMTQ4OCw3ICsxNDg3LDcg QEAgcnVzdF9zdWJzY3JpcHQgKHN0cnVjdCBleHByZXNzaW9uICpleHAsIGludCAqcG9zLCBlbnVt IG5vc2lkZSBub3NpZGUsCisgCisgICAgICAgaWYgKHJ1c3RfaW5jbHVzaXZlX3JhbmdlX3R5cGVf cCAodHlwZSkpCitAQCAtMTIzNSw3ICsxMjMyLDcgQEAgcnVzdF9zdWJzY3JpcHQgKHN0cnVjdCBl eHByZXNzaW9uICpleHAsIGludCAqcG9zLCBlbnVtIG5vc2lkZSBub3NpZGUsCiAgICBzdHJ1Y3Qg dHlwZSAqcmhzdHlwZTsKICAgIExPTkdFU1QgbG93LCBoaWdoX2JvdW5kOwogICAgLyogSW5pdGlh bGl6ZWQgdG8gYXBwZWFzZSB0aGUgY29tcGlsZXIuICAqLwpAQCAtMTA4Nyw3ICsxMTQ2LDcgQEAg aW5kZXggZjdiZWMzM2E0Mi4uY2I5MjRlMDg0ZCAxMDA2NDQKICAgIExPTkdFU1QgaGlnaCA9IDA7 CiAgICBpbnQgd2FudF9zbGljZSA9IDA7CiAgCi1AQCAtMTU4Niw3ICsxNTg1LDcgQEAgcnVzdF9z dWJzY3JpcHQgKHN0cnVjdCBleHByZXNzaW9uICpleHAsIGludCAqcG9zLCBlbnVtIG5vc2lkZSBu b3NpZGUsCitAQCAtMTMzMyw3ICsxMzMwLDcgQEAgcnVzdF9zdWJzY3JpcHQgKHN0cnVjdCBleHBy ZXNzaW9uICpleHAsIGludCAqcG9zLCBlbnVtIG5vc2lkZSBub3NpZGUsCiAgCWVycm9yIChfKCJD YW5ub3Qgc3Vic2NyaXB0IG5vbi1hcnJheSB0eXBlIikpOwogIAogICAgICAgIGlmICh3YW50X3Ns aWNlCkBAIC0xMDk2LDcgKzExNTUsNyBAQCBpbmRleCBmN2JlYzMzYTQyLi5jYjkyNGUwODRkIDEw MDY0NAogIAlsb3cgPSBsb3dfYm91bmQ7CiAgICAgICAgaWYgKGxvdyA8IDApCiAgCWVycm9yIChf KCJJbmRleCBsZXNzIHRoYW4gemVybyIpKTsKLUBAIC0xNjA0LDcgKzE2MDMsNyBAQCBydXN0X3N1 YnNjcmlwdCAoc3RydWN0IGV4cHJlc3Npb24gKmV4cCwgaW50ICpwb3MsIGVudW0gbm9zaWRlIG5v c2lkZSwKK0BAIC0xMzUxLDcgKzEzNDgsNyBAQCBydXN0X3N1YnNjcmlwdCAoc3RydWN0IGV4cHJl c3Npb24gKmV4cCwgaW50ICpwb3MsIGVudW0gbm9zaWRlIG5vc2lkZSwKICAJICBDT1JFX0FERFIg YWRkcjsKICAJICBzdHJ1Y3QgdmFsdWUgKmFkZHJ2YWwsICp0ZW07CiAgCkBAIC0xNzQxLDEwICsx ODAwLDEwIEBAIGluZGV4IDU4ZTNhMDljMzcuLjAzNWRlZjU0NjYgMTAwNjQ0CiAgICAgICAgaWYg KHR5cGVfbm90X2Fzc29jaWF0ZWQgKGFycmF5X3R5cGUpKQogICAgICAgICAgZXJyb3IgKF8oIm5v IHN1Y2ggdmVjdG9yIGVsZW1lbnQgKHZlY3RvciBub3QgYXNzb2NpYXRlZCkiKSk7CiBkaWZmIC0t Z2l0IGEvZ2RiL3ZhbG9wcy5jIGIvZ2RiL3ZhbG9wcy5jCi1pbmRleCA5NTI1ZGM4NDk5Li40Y2Q0 ZmQ5NmFlIDEwMDY0NAoraW5kZXggNjJhODZjMDZhMy4uNWMzNWQ3YTA5MSAxMDA2NDQKIC0tLSBh L2dkYi92YWxvcHMuYwogKysrIGIvZ2RiL3ZhbG9wcy5jCi1AQCAtMzc3Niw1NiArMzc3NiwxOTUg QEAgdmFsdWVfb2ZfdGhpc19zaWxlbnQgKGNvbnN0IHN0cnVjdCBsYW5ndWFnZV9kZWZuICpsYW5n KQorQEAgLTM4MDgsNTYgKzM4MDgsMTk1IEBAIHZhbHVlX29mX3RoaXNfc2lsZW50IChjb25zdCBz dHJ1Y3QgbGFuZ3VhZ2VfZGVmbiAqbGFuZykKICAKICBzdHJ1Y3QgdmFsdWUgKgogIHZhbHVlX3Ns aWNlIChzdHJ1Y3QgdmFsdWUgKmFycmF5LCBpbnQgbG93Ym91bmQsIGludCBsZW5ndGgpCkBAIC0x OTcxLDEwICsyMDMwLDEwIEBAIGluZGV4IDk1MjVkYzg0OTkuLjRjZDRmZDk2YWUgMTAwNjQ0CiAg CiAgLyogQ3JlYXRlIGEgdmFsdWUgZm9yIGEgRk9SVFJBTiBjb21wbGV4IG51bWJlci4gIEN1cnJl bnRseSBtb3N0IG9mIHRoZQogZGlmZiAtLWdpdCBhL2dkYi92YWx1ZS5oIGIvZ2RiL3ZhbHVlLmgK LWluZGV4IDdkYzY3ZGM3MjEuLjAzY2EwNjQ0OGYgMTAwNjQ0CitpbmRleCA0ZDc1Yzk2NmVkLi5l ODM4ZmQ1ODBlIDEwMDY0NAogLS0tIGEvZ2RiL3ZhbHVlLmgKICsrKyBiL2dkYi92YWx1ZS5oCi1A QCAtMTEyOCw2ICsxMTI4LDggQEAgZXh0ZXJuIHN0cnVjdCB2YWx1ZSAqdmFyeWluZ190b19zbGlj ZSAoc3RydWN0IHZhbHVlICopOworQEAgLTExMzksNiArMTEzOSw4IEBAIGV4dGVybiBzdHJ1Y3Qg dmFsdWUgKnZhcnlpbmdfdG9fc2xpY2UgKHN0cnVjdCB2YWx1ZSAqKTsKICAKICBleHRlcm4gc3Ry dWN0IHZhbHVlICp2YWx1ZV9zbGljZSAoc3RydWN0IHZhbHVlICosIGludCwgaW50KTsKICAKCmRp ZmYgLS1naXQgYS9nZGItdmxhLWludGVsLWZvcnRyYW4tdmxhLXN0cmluZ3MucGF0Y2ggYi9nZGIt dmxhLWludGVsLWZvcnRyYW4tdmxhLXN0cmluZ3MucGF0Y2gKaW5kZXggYzMzZDlmOS4uNGQyYTE2 YSAxMDA2NDQKLS0tIGEvZ2RiLXZsYS1pbnRlbC1mb3J0cmFuLXZsYS1zdHJpbmdzLnBhdGNoCisr KyBiL2dkYi12bGEtaW50ZWwtZm9ydHJhbi12bGEtc3RyaW5ncy5wYXRjaApAQCAtMzMsMTAgKzMz LDEwIEBAIGdpdCBkaWZmIC0tc3RhdCAtcCBnZGIvbWFzdGVyLi4uZ2RiL3VzZXJzL2JoZWNrZWwv Zm9ydHJhbi12bGEtc3RyaW5ncwogIDIwIGZpbGVzIGNoYW5nZWQsIDgyNyBpbnNlcnRpb25zKCsp LCAxMTAgZGVsZXRpb25zKC0pCiAKIGRpZmYgLS1naXQgYS9nZGIvTkVXUyBiL2dkYi9ORVdTCi1p bmRleCA2YzlhMmVjZWZkLi5mNDBlYjZjMzkwIDEwMDY0NAoraW5kZXggY2VmNTU4MDM5ZS4uZmE0 YzAzODJkYyAxMDA2NDQKIC0tLSBhL2dkYi9ORVdTCiArKysgYi9nZGIvTkVXUwotQEAgLTMsNiAr Myw4IEBACitAQCAtNTksNiArNTksOCBAQCBTSC01L1NINjQgcnVubmluZyBPcGVuQlNEIAlTSC01 L1NINjQgc3VwcG9ydCBpbiBzaCotKi1vcGVuYnNkKgogIAogICoqKiBDaGFuZ2VzIGluIEdEQiA4 LjEKICAKQEAgLTc5LDEwICs3OSwxMCBAQCBpbmRleCBjNGMwOTE4ZTI2Li4zOTA0ZmFiMjYwIDEw MDY0NAogIAkgIHR5cGVfcHJpbnQgKHZhbHVlX3R5cGUgKHZhbCksICIiLCBzdHJlYW0sIC0xKTsK ICAJICBmcHJpbnRmX2ZpbHRlcmVkIChzdHJlYW0sICIpICIpOwogZGlmZiAtLWdpdCBhL2dkYi9k d2FyZjJyZWFkLmMgYi9nZGIvZHdhcmYycmVhZC5jCi1pbmRleCA4ZmMxZjdlYzQ1Li45OGU3ZDg0 MmYwIDEwMDY0NAoraW5kZXggYTI4ZDBhMDI5ZS4uNDAwNmY0YTQ4ZiAxMDA2NDQKIC0tLSBhL2dk Yi9kd2FyZjJyZWFkLmMKICsrKyBiL2dkYi9kd2FyZjJyZWFkLmMKLUBAIC0yMDc3LDcgKzIwNzcs OCBAQCBzdGF0aWMgdm9pZCByZWFkX3NpZ25hdHVyZWRfdHlwZSAoc3RydWN0IHNpZ25hdHVyZWRf dHlwZSAqKTsKK0BAIC0xNzg5LDcgKzE3ODksOCBAQCBzdGF0aWMgdm9pZCByZWFkX3NpZ25hdHVy ZWRfdHlwZSAoc3RydWN0IHNpZ25hdHVyZWRfdHlwZSAqKTsKICAKICBzdGF0aWMgaW50IGF0dHJf dG9fZHluYW1pY19wcm9wIChjb25zdCBzdHJ1Y3QgYXR0cmlidXRlICphdHRyLAogIAkJCQkgc3Ry dWN0IGRpZV9pbmZvICpkaWUsIHN0cnVjdCBkd2FyZjJfY3UgKmN1LApAQCAtOTIsNyArOTIsNyBA QCBpbmRleCA4ZmMxZjdlYzQ1Li45OGU3ZDg0MmYwIDEwMDY0NAogIAogIC8qIG1lbW9yeSBhbGxv Y2F0aW9uIGludGVyZmFjZSAqLwogIAotQEAgLTEzNzQ1LDcgKzEzNzQ2LDcgQEAgcmVhZF9mdW5j X3Njb3BlIChzdHJ1Y3QgZGllX2luZm8gKmRpZSwgc3RydWN0IGR3YXJmMl9jdSAqY3UpCitAQCAt MTM2ODEsNyArMTM2ODIsNyBAQCByZWFkX2Z1bmNfc2NvcGUgKHN0cnVjdCBkaWVfaW5mbyAqZGll LCBzdHJ1Y3QgZHdhcmYyX2N1ICpjdSkKICAgICAgewogICAgICAgIG5ld29iai0+c3RhdGljX2xp bmsKICAJPSBYT0JORVcgKCZvYmpmaWxlLT5vYmpmaWxlX29ic3RhY2ssIHN0cnVjdCBkeW5hbWlj X3Byb3ApOwpAQCAtMTAxLDcgKzEwMSw3IEBAIGluZGV4IDhmYzFmN2VjNDUuLjk4ZTdkODQyZjAg MTAwNjQ0CiAgICAgIH0KICAKICAgIGN1LT5saXN0X2luX3Njb3BlID0gJmxvY2FsX3N5bWJvbHM7 Ci1AQCAtMTYzMjcsNyArMTYzMjgsOCBAQCByZWFkX2FycmF5X3R5cGUgKHN0cnVjdCBkaWVfaW5m byAqZGllLCBzdHJ1Y3QgZHdhcmYyX2N1ICpjdSkKK0BAIC0xNjM4NSw3ICsxNjM4Niw4IEBAIHJl YWRfYXJyYXlfdHlwZSAoc3RydWN0IGRpZV9pbmZvICpkaWUsIHN0cnVjdCBkd2FyZjJfY3UgKmN1 KQogIAogICAgICAgIGJ5dGVfc3RyaWRlX3Byb3AKICAJPSAoc3RydWN0IGR5bmFtaWNfcHJvcCAq KSBhbGxvY2EgKHNpemVvZiAoc3RydWN0IGR5bmFtaWNfcHJvcCkpOwpAQCAtMTExLDcgKzExMSw3 IEBAIGluZGV4IDhmYzFmN2VjNDUuLjk4ZTdkODQyZjAgMTAwNjQ0CiAgICAgICAgaWYgKCFzdHJp ZGVfb2spCiAgCXsKICAJICBjb21wbGFpbnQgKCZzeW1maWxlX2NvbXBsYWludHMsCi1AQCAtMTcw NzUsMjkgKzE3MDc3LDk0IEBAIHJlYWRfdGFnX3N0cmluZ190eXBlIChzdHJ1Y3QgZGllX2luZm8g KmRpZSwgc3RydWN0IGR3YXJmMl9jdSAqY3UpCitAQCAtMTcxNTYsMjkgKzE3MTU4LDk0IEBAIHJl YWRfdGFnX3N0cmluZ190eXBlIChzdHJ1Y3QgZGllX2luZm8gKmRpZSwgc3RydWN0IGR3YXJmMl9j dSAqY3UpCiAgICBzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCA9IGdldF9vYmpmaWxlX2FyY2ggKG9i amZpbGUpOwogICAgc3RydWN0IHR5cGUgKnR5cGUsICpyYW5nZV90eXBlLCAqaW5kZXhfdHlwZSwg KmNoYXJfdHlwZTsKICAgIHN0cnVjdCBhdHRyaWJ1dGUgKmF0dHI7CkBAIC0yMTcsNyArMjE3LDcg QEAgaW5kZXggOGZjMWY3ZWM0NS4uOThlN2Q4NDJmMCAxMDA2NDQKICAgIGNoYXJfdHlwZSA9IGxh bmd1YWdlX3N0cmluZ19jaGFyX3R5cGUgKGN1LT5sYW5ndWFnZV9kZWZuLCBnZGJhcmNoKTsKICAg IHR5cGUgPSBjcmVhdGVfc3RyaW5nX3R5cGUgKE5VTEwsIGNoYXJfdHlwZSwgcmFuZ2VfdHlwZSk7 CiAgCi1AQCAtMTc0NDYsNyArMTc1MTMsOCBAQCByZWFkX2Jhc2VfdHlwZSAoc3RydWN0IGRpZV9p bmZvICpkaWUsIHN0cnVjdCBkd2FyZjJfY3UgKmN1KQorQEAgLTE3NTI5LDcgKzE3NTk2LDggQEAg cmVhZF9iYXNlX3R5cGUgKHN0cnVjdCBkaWVfaW5mbyAqZGllLCBzdHJ1Y3QgZHdhcmYyX2N1ICpj dSkKICAKICBzdGF0aWMgaW50CiAgYXR0cl90b19keW5hbWljX3Byb3AgKGNvbnN0IHN0cnVjdCBh dHRyaWJ1dGUgKmF0dHIsIHN0cnVjdCBkaWVfaW5mbyAqZGllLApAQCAtMjI2LDggKzIyNiw4IEBA IGluZGV4IDhmYzFmN2VjNDUuLjk4ZTdkODQyZjAgMTAwNjQ0CiArCQkgICAgICBjb25zdCBnZGJf Ynl0ZSAqYWRkaXRpb25hbF9kYXRhLCBpbnQgYWRkaXRpb25hbF9kYXRhX3NpemUpCiAgewogICAg c3RydWN0IGR3YXJmMl9wcm9wZXJ0eV9iYXRvbiAqYmF0b247Ci0gICBzdHJ1Y3Qgb2JzdGFjayAq b2JzdGFjayA9ICZjdS0+b2JqZmlsZS0+b2JqZmlsZV9vYnN0YWNrOwotQEAgLTE3NDU2LDE0ICsx NzUyNCwzMyBAQCBhdHRyX3RvX2R5bmFtaWNfcHJvcCAoY29uc3Qgc3RydWN0IGF0dHJpYnV0ZSAq YXR0ciwgc3RydWN0IGRpZV9pbmZvICpkaWUsCisgICBzdHJ1Y3Qgb2JzdGFjayAqb2JzdGFjawor QEAgLTE3NTQwLDE0ICsxNzYwOCwzMyBAQCBhdHRyX3RvX2R5bmFtaWNfcHJvcCAoY29uc3Qgc3Ry dWN0IGF0dHJpYnV0ZSAqYXR0ciwgc3RydWN0IGRpZV9pbmZvICpkaWUsCiAgCiAgICBpZiAoYXR0 cl9mb3JtX2lzX2Jsb2NrIChhdHRyKSkKICAgICAgewpAQCAtMjQzLDcgKzI0Myw3IEBAIGluZGV4 IDhmYzFmN2VjNDUuLjk4ZTdkODQyZjAgMTAwNjQ0CiArCSAgZ2RiX2J5dGUgKmRhdGE7CiArCiAr CSAgZGF0YSA9IChnZGJfYnl0ZSAqKSBvYnN0YWNrX2FsbG9jKAotKwkgICAgICAmY3UtPm9iamZp bGUtPm9iamZpbGVfb2JzdGFjaywKKysJICAgICAgJmN1LT5wZXJfY3UtPmR3YXJmMl9wZXJfb2Jq ZmlsZS0+b2JqZmlsZS0+b2JqZmlsZV9vYnN0YWNrLAogKwkgICAgICBEV19CTE9DSyAoYXR0cikt PnNpemUgKyBhZGRpdGlvbmFsX2RhdGFfc2l6ZSk7CiArCSAgbWVtY3B5IChkYXRhLCBEV19CTE9D SyAoYXR0ciktPmRhdGEsIERXX0JMT0NLIChhdHRyKS0+c2l6ZSk7CiArCSAgbWVtY3B5IChkYXRh ICsgRFdfQkxPQ0sgKGF0dHIpLT5zaXplLCBhZGRpdGlvbmFsX2RhdGEsCkBAIC0yNjUsNyArMjY1 LDcgQEAgaW5kZXggOGZjMWY3ZWM0NS4uOThlN2Q4NDJmMCAxMDA2NDQKICAgICAgfQogICAgZWxz ZSBpZiAoYXR0cl9mb3JtX2lzX3JlZiAoYXR0cikpCiAgICAgIHsKLUBAIC0xNzQ5Niw4ICsxNzU4 MywyOCBAQCBhdHRyX3RvX2R5bmFtaWNfcHJvcCAoY29uc3Qgc3RydWN0IGF0dHJpYnV0ZSAqYXR0 ciwgc3RydWN0IGRpZV9pbmZvICpkaWUsCitAQCAtMTc1ODAsOCArMTc2NjcsMjggQEAgYXR0cl90 b19keW5hbWljX3Byb3AgKGNvbnN0IHN0cnVjdCBhdHRyaWJ1dGUgKmF0dHIsIHN0cnVjdCBkaWVf aW5mbyAqZGllLAogIAkJYmF0b24gPSBYT0JORVcgKG9ic3RhY2ssIHN0cnVjdCBkd2FyZjJfcHJv cGVydHlfYmF0b24pOwogIAkJYmF0b24tPnJlZmVyZW5jZWRfdHlwZSA9IGRpZV90eXBlICh0YXJn ZXRfZGllLCB0YXJnZXRfY3UpOwogIAkJYmF0b24tPmxvY2V4cHIucGVyX2N1ID0gY3UtPnBlcl9j dTsKQEAgLTI3Niw3ICsyNzYsNyBAQCBpbmRleCA4ZmMxZjdlYzQ1Li45OGU3ZDg0MmYwIDEwMDY0 NAogKwkJICB7CiArCQkgICAgZ2RiX2J5dGUgKmRhdGE7CiArCi0rCQkgICAgZGF0YSA9IChnZGJf Ynl0ZSAqKSBvYnN0YWNrX2FsbG9jICgmY3UtPm9iamZpbGUtPm9iamZpbGVfb2JzdGFjaywKKysJ CSAgICBkYXRhID0gKGdkYl9ieXRlICopIG9ic3RhY2tfYWxsb2MgKCZjdS0+cGVyX2N1LT5kd2Fy ZjJfcGVyX29iamZpbGUtPm9iamZpbGUtPm9iamZpbGVfb2JzdGFjaywKICsJCQkgICAgRFdfQkxP Q0sgKHRhcmdldF9hdHRyKS0+c2l6ZSArIGFkZGl0aW9uYWxfZGF0YV9zaXplKTsKICsJCSAgICBt ZW1jcHkgKGRhdGEsIERXX0JMT0NLICh0YXJnZXRfYXR0ciktPmRhdGEsCiArCQkJICAgIERXX0JM T0NLICh0YXJnZXRfYXR0ciktPnNpemUpOwpAQCAtMjk2LDE1ICsyOTYsMTYgQEAgaW5kZXggOGZj MWY3ZWM0NS4uOThlN2Q4NDJmMCAxMDA2NDQKICAJCXByb3AtPmRhdGEuYmF0b24gPSBiYXRvbjsK ICAJCXByb3AtPmtpbmQgPSBQUk9QX0xPQ0VYUFI7CiAgCQlnZGJfYXNzZXJ0IChwcm9wLT5kYXRh LmJhdG9uICE9IE5VTEwpOwotQEAgLTE3NjA4LDI0ICsxNzcxNSwyNCBAQCByZWFkX3N1YnJhbmdl X3R5cGUgKHN0cnVjdCBkaWVfaW5mbyAqZGllLCBzdHJ1Y3QgZHdhcmYyX2N1ICpjdSkKK0BAIC0x NzY5Miw3ICsxNzc5OSw3IEBAIHJlYWRfc3VicmFuZ2VfdHlwZSAoc3RydWN0IGRpZV9pbmZvICpk aWUsIHN0cnVjdCBkd2FyZjJfY3UgKmN1KQogIAogICAgYXR0ciA9IGR3YXJmMl9hdHRyIChkaWUs IERXX0FUX2J5dGVfc3RyaWRlLCBjdSk7CiAgICBpZiAoYXR0cikKIC0gICAgaWYgKCFhdHRyX3Rv X2R5bmFtaWNfcHJvcCAoYXR0ciwgZGllLCBjdSwgJnN0cmlkZSkpCiArICAgIGlmICghYXR0cl90 b19keW5hbWljX3Byb3AgKGF0dHIsIGRpZSwgY3UsICZzdHJpZGUsIE5VTEwsIDApKQogICAgICAg ICAgY29tcGxhaW50ICgmc3ltZmlsZV9jb21wbGFpbnRzLCBfKCJNaXNzaW5nIERXX0FUX2J5dGVf c3RyaWRlICIKLSAgICAgICAgICAgICAgICAgICAiLSBESUUgYXQgMHgleCBbaW4gbW9kdWxlICVz XSIpLAotICAgICAgICAgICAgICB0b191bmRlcmx5aW5nIChkaWUtPnNlY3Rfb2ZmKSwgb2JqZmls ZV9uYW1lIChjdS0+b2JqZmlsZSkpOworICAgICAgICAgICAgICAgICAgICItIERJRSBhdCAweCVz IFtpbiBtb2R1bGUgJXNdIiksCisgCQkgICBzZWN0X29mZnNldF9zdHIgKGRpZS0+c2VjdF9vZmYp LAorQEAgLTE3NzAwLDcgKzE3ODA3LDcgQEAgcmVhZF9zdWJyYW5nZV90eXBlIChzdHJ1Y3QgZGll X2luZm8gKmRpZSwgc3RydWN0IGR3YXJmMl9jdSAqY3UpCiAgCiAgICBhdHRyID0gZHdhcmYyX2F0 dHIgKGRpZSwgRFdfQVRfbG93ZXJfYm91bmQsIGN1KTsKICAgIGlmIChhdHRyKQpAQCAtMzEyLDgg KzMxMyw5IEBAIGluZGV4IDhmYzFmN2VjNDUuLjk4ZTdkODQyZjAgMTAwNjQ0CiArICAgIGF0dHJf dG9fZHluYW1pY19wcm9wIChhdHRyLCBkaWUsIGN1LCAmbG93LCBOVUxMLCAwKTsKICAgIGVsc2Ug aWYgKCFsb3dfZGVmYXVsdF9pc192YWxpZCkKICAgICAgY29tcGxhaW50ICgmc3ltZmlsZV9jb21w bGFpbnRzLCBfKCJNaXNzaW5nIERXX0FUX2xvd2VyX2JvdW5kICIKLSAJCQkJICAgICAgIi0gRElF IGF0IDB4JXggW2luIG1vZHVsZSAlc10iKSwKLSAJICAgICAgIHRvX3VuZGVybHlpbmcgKGRpZS0+ c2VjdF9vZmYpLCBvYmpmaWxlX25hbWUgKGN1LT5vYmpmaWxlKSk7CisgCQkJCSAgICAgICItIERJ RSBhdCAlcyBbaW4gbW9kdWxlICVzXSIpLAorQEAgLTE3NzA4LDEwICsxNzgxNSwxMCBAQCByZWFk X3N1YnJhbmdlX3R5cGUgKHN0cnVjdCBkaWVfaW5mbyAqZGllLCBzdHJ1Y3QgZHdhcmYyX2N1ICpj dSkKKyAJICAgICAgIG9iamZpbGVfbmFtZSAoY3UtPnBlcl9jdS0+ZHdhcmYyX3Blcl9vYmpmaWxl LT5vYmpmaWxlKSk7CiAgCiAgICBhdHRyID0gZHdhcmYyX2F0dHIgKGRpZSwgRFdfQVRfdXBwZXJf Ym91bmQsIGN1KTsKIC0gIGlmICghYXR0cl90b19keW5hbWljX3Byb3AgKGF0dHIsIGRpZSwgY3Us ICZoaWdoKSkKQEAgLTMyNSwzMSArMzI3LDMxIEBAIGluZGV4IDhmYzFmN2VjNDUuLjk4ZTdkODQy ZjAgMTAwNjQ0CiAgCXsKICAJICAvKiBJZiBib3VuZHMgYXJlIGNvbnN0YW50IGRvIHRoZSBmaW5h bCBjYWxjdWxhdGlvbiBoZXJlLiAgKi8KICAJICBpZiAobG93LmtpbmQgPT0gUFJPUF9DT05TVCAm JiBoaWdoLmtpbmQgPT0gUFJPUF9DT05TVCkKLUBAIC0yNTIyMyw3ICsyNTMzMCw3IEBAIHNldF9k aWVfdHlwZSAoc3RydWN0IGRpZV9pbmZvICpkaWUsIHN0cnVjdCB0eXBlICp0eXBlLCBzdHJ1Y3Qg ZHdhcmYyX2N1ICpjdSkKK0BAIC0yNTI1NSw3ICsyNTM2Miw3IEBAIHNldF9kaWVfdHlwZSAoc3Ry dWN0IGRpZV9pbmZvICpkaWUsIHN0cnVjdCB0eXBlICp0eXBlLCBzdHJ1Y3QgZHdhcmYyX2N1ICpj dSkKICAgIGF0dHIgPSBkd2FyZjJfYXR0ciAoZGllLCBEV19BVF9hbGxvY2F0ZWQsIGN1KTsKICAg IGlmIChhdHRyX2Zvcm1faXNfYmxvY2sgKGF0dHIpKQogICAgICB7CiAtICAgICAgaWYgKGF0dHJf dG9fZHluYW1pY19wcm9wIChhdHRyLCBkaWUsIGN1LCAmcHJvcCkpCiArICAgICAgaWYgKGF0dHJf dG9fZHluYW1pY19wcm9wIChhdHRyLCBkaWUsIGN1LCAmcHJvcCwgTlVMTCwgMCkpCi0gICAgICAg ICBhZGRfZHluX3Byb3AgKERZTl9QUk9QX0FMTE9DQVRFRCwgcHJvcCwgdHlwZSwgb2JqZmlsZSk7 CisgICAgICAgICBhZGRfZHluX3Byb3AgKERZTl9QUk9QX0FMTE9DQVRFRCwgcHJvcCwgdHlwZSk7 CiAgICAgIH0KICAgIGVsc2UgaWYgKGF0dHIgIT0gTlVMTCkKLUBAIC0yNTIzOCw3ICsyNTM0NSw3 IEBAIHNldF9kaWVfdHlwZSAoc3RydWN0IGRpZV9pbmZvICpkaWUsIHN0cnVjdCB0eXBlICp0eXBl LCBzdHJ1Y3QgZHdhcmYyX2N1ICpjdSkKK0BAIC0yNTI3MCw3ICsyNTM3Nyw3IEBAIHNldF9kaWVf dHlwZSAoc3RydWN0IGRpZV9pbmZvICpkaWUsIHN0cnVjdCB0eXBlICp0eXBlLCBzdHJ1Y3QgZHdh cmYyX2N1ICpjdSkKICAgIGF0dHIgPSBkd2FyZjJfYXR0ciAoZGllLCBEV19BVF9hc3NvY2lhdGVk LCBjdSk7CiAgICBpZiAoYXR0cl9mb3JtX2lzX2Jsb2NrIChhdHRyKSkKICAgICAgewogLSAgICAg IGlmIChhdHRyX3RvX2R5bmFtaWNfcHJvcCAoYXR0ciwgZGllLCBjdSwgJnByb3ApKQogKyAgICAg IGlmIChhdHRyX3RvX2R5bmFtaWNfcHJvcCAoYXR0ciwgZGllLCBjdSwgJnByb3AsIE5VTEwsIDAp KQotICAgICAgICAgYWRkX2R5bl9wcm9wIChEWU5fUFJPUF9BU1NPQ0lBVEVELCBwcm9wLCB0eXBl LCBvYmpmaWxlKTsKKyAgICAgICAgIGFkZF9keW5fcHJvcCAoRFlOX1BST1BfQVNTT0NJQVRFRCwg cHJvcCwgdHlwZSk7CiAgICAgIH0KICAgIGVsc2UgaWYgKGF0dHIgIT0gTlVMTCkKLUBAIC0yNTI1 MSw3ICsyNTM1OCw3IEBAIHNldF9kaWVfdHlwZSAoc3RydWN0IGRpZV9pbmZvICpkaWUsIHN0cnVj dCB0eXBlICp0eXBlLCBzdHJ1Y3QgZHdhcmYyX2N1ICpjdSkKK0BAIC0yNTI4Myw3ICsyNTM5MCw3 IEBAIHNldF9kaWVfdHlwZSAoc3RydWN0IGRpZV9pbmZvICpkaWUsIHN0cnVjdCB0eXBlICp0eXBl LCBzdHJ1Y3QgZHdhcmYyX2N1ICpjdSkKICAKICAgIC8qIFJlYWQgRFdfQVRfZGF0YV9sb2NhdGlv biBhbmQgc2V0IGluIHR5cGUuICAqLwogICAgYXR0ciA9IGR3YXJmMl9hdHRyIChkaWUsIERXX0FU X2RhdGFfbG9jYXRpb24sIGN1KTsKIC0gIGlmIChhdHRyX3RvX2R5bmFtaWNfcHJvcCAoYXR0ciwg ZGllLCBjdSwgJnByb3ApKQogKyAgaWYgKGF0dHJfdG9fZHluYW1pY19wcm9wIChhdHRyLCBkaWUs IGN1LCAmcHJvcCwgTlVMTCwgMCkpCi0gICAgIGFkZF9keW5fcHJvcCAoRFlOX1BST1BfREFUQV9M T0NBVElPTiwgcHJvcCwgdHlwZSwgb2JqZmlsZSk7CisgICAgIGFkZF9keW5fcHJvcCAoRFlOX1BS T1BfREFUQV9MT0NBVElPTiwgcHJvcCwgdHlwZSk7CiAgCiAgICBpZiAoZHdhcmYyX3Blcl9vYmpm aWxlLT5kaWVfdHlwZV9oYXNoID09IE5VTEwpCiBkaWZmIC0tZ2l0IGEvZ2RiL2YtdHlwZXByaW50 LmMgYi9nZGIvZi10eXBlcHJpbnQuYwpAQCAtNTA2LDEwICs1MDgsMTAgQEAgaW5kZXggZjE0ZjE4 MTFmNC4uNGY2YTBlZDA5YSAxMDA2NDQKICAJICAgIH0KICAJICBmcHJpbnRmaV9maWx0ZXJlZCAo bGV2ZWwsIHN0cmVhbSwgIkVuZCBUeXBlICIpOwogZGlmZiAtLWdpdCBhL2dkYi9nZGJ0eXBlcy5j IGIvZ2RiL2dkYnR5cGVzLmMKLWluZGV4IGE3MmUyYjNlMGEuLmNiNTUyNDAyM2YgMTAwNjQ0Citp bmRleCA2NDcxMWU4Y2ZiLi4yYWE1MjUzMTAwIDEwMDY0NAogLS0tIGEvZ2RiL2dkYnR5cGVzLmMK ICsrKyBiL2dkYi9nZGJ0eXBlcy5jCi1AQCAtMTkxNSw3ICsxOTE1LDggQEAgaXNfZHluYW1pY190 eXBlX2ludGVybmFsIChzdHJ1Y3QgdHlwZSAqdHlwZSwgaW50IHRvcF9sZXZlbCkKK0BAIC0xOTE5 LDcgKzE5MTksOCBAQCBpc19keW5hbWljX3R5cGVfaW50ZXJuYWwgKHN0cnVjdCB0eXBlICp0eXBl LCBpbnQgdG9wX2xldmVsKQogICAgdHlwZSA9IGNoZWNrX3R5cGVkZWYgKHR5cGUpOwogIAogICAg LyogV2Ugb25seSB3YW50IHRvIHJlY29nbml6ZSByZWZlcmVuY2VzIGF0IHRoZSBvdXRlcm1vc3Qg bGV2ZWwuICAqLwpAQCAtNTE5LDcgKzUyMSw3IEBAIGluZGV4IGE3MmUyYjNlMGEuLmNiNTUyNDAy M2YgMTAwNjQ0CiAgICAgIHR5cGUgPSBjaGVja190eXBlZGVmIChUWVBFX1RBUkdFVF9UWVBFICh0 eXBlKSk7CiAgCiAgICAvKiBUeXBlcyB0aGF0IGhhdmUgYSBkeW5hbWljIFRZUEVfREFUQV9MT0NB VElPTiBhcmUgY29uc2lkZXJlZAotQEAgLTE5NDksNiArMTk1MCw3IEBAIGlzX2R5bmFtaWNfdHlw ZV9pbnRlcm5hbCAoc3RydWN0IHR5cGUgKnR5cGUsIGludCB0b3BfbGV2ZWwpCitAQCAtMTk1Myw2 ICsxOTU0LDcgQEAgaXNfZHluYW1pY190eXBlX2ludGVybmFsIChzdHJ1Y3QgdHlwZSAqdHlwZSwg aW50IHRvcF9sZXZlbCkKICAgICAgICB9CiAgCiAgICAgIGNhc2UgVFlQRV9DT0RFX0FSUkFZOgpA QCAtNTI3LDcgKzUyOSw3IEBAIGluZGV4IGE3MmUyYjNlMGEuLmNiNTUyNDAyM2YgMTAwNjQ0CiAg ICAgICAgewogIAlnZGJfYXNzZXJ0IChUWVBFX05GSUVMRFMgKHR5cGUpID09IDEpOwogIAotQEAg LTIwNjcsNyArMjA2OSw4IEBAIHJlc29sdmVfZHluYW1pY19hcnJheSAoc3RydWN0IHR5cGUgKnR5 cGUsCitAQCAtMjA3MSw3ICsyMDczLDggQEAgcmVzb2x2ZV9keW5hbWljX2FycmF5IChzdHJ1Y3Qg dHlwZSAqdHlwZSwKICAgIHN0cnVjdCBkeW5hbWljX3Byb3AgKnByb3A7CiAgICB1bnNpZ25lZCBp bnQgYml0X3N0cmlkZSA9IDA7CiAgCkBAIC01MzcsNyArNTM5LDcgQEAgaW5kZXggYTcyZTJiM2Uw YS4uY2I1NTI0MDIzZiAxMDA2NDQKICAKICAgIHR5cGUgPSBjb3B5X3R5cGUgKHR5cGUpOwogIAot QEAgLTIwOTIsMTEgKzIwOTUsMTUgQEAgcmVzb2x2ZV9keW5hbWljX2FycmF5IChzdHJ1Y3QgdHlw ZSAqdHlwZSwKK0BAIC0yMDk2LDExICsyMDk5LDE1IEBAIHJlc29sdmVfZHluYW1pY19hcnJheSAo c3RydWN0IHR5cGUgKnR5cGUsCiAgCiAgICBhcnlfZGltID0gY2hlY2tfdHlwZWRlZiAoVFlQRV9U QVJHRVRfVFlQRSAoZWx0X3R5cGUpKTsKICAKQEAgLTU1NCw3ICs1NTYsNyBAQCBpbmRleCBhNzJl MmIzZTBhLi5jYjU1MjQwMjNmIDEwMDY0NAogICAgcHJvcCA9IGdldF9keW5fcHJvcCAoRFlOX1BS T1BfQllURV9TVFJJREUsIHR5cGUpOwogICAgaWYgKHByb3AgIT0gTlVMTCkKICAgICAgewotQEAg LTIyNTEsNiArMjI1OCwyOCBAQCByZXNvbHZlX2R5bmFtaWNfc3RydWN0IChzdHJ1Y3QgdHlwZSAq dHlwZSwKK0BAIC0yMjU1LDYgKzIyNjIsMjggQEAgcmVzb2x2ZV9keW5hbWljX3N0cnVjdCAoc3Ry dWN0IHR5cGUgKnR5cGUsCiAgICByZXR1cm4gcmVzb2x2ZWRfdHlwZTsKICB9CiAgCkBAIC01ODMs NyArNTg1LDcgQEAgaW5kZXggYTcyZTJiM2UwYS4uY2I1NTI0MDIzZiAxMDA2NDQKICAvKiBXb3Jr ZXIgZm9yIHJlc29sdmVkX2R5bmFtaWNfdHlwZS4gICovCiAgCiAgc3RhdGljIHN0cnVjdCB0eXBl ICoKLUBAIC0yMjk5LDcgKzIzMjgsMTIgQEAgcmVzb2x2ZV9keW5hbWljX3R5cGVfaW50ZXJuYWwg KHN0cnVjdCB0eXBlICp0eXBlLAorQEAgLTIzMDMsNyArMjMzMiwxMiBAQCByZXNvbHZlX2R5bmFt aWNfdHlwZV9pbnRlcm5hbCAoc3RydWN0IHR5cGUgKnR5cGUsCiAgCSAgICBicmVhazsKICAJICB9 CiAgCkBAIC0xMjkwLDEwICsxMjkyLDEwIEBAIGluZGV4IGI2ZTc3NzIzNWMuLjE0YjYxMWY3YjUg MTAwNjQ0CiAgCW1pX2dkYl90ZXN0ICI1ODItdmFyLXNob3ctZm9ybWF0IHB2bGEyX25vdF9hc3Nv Y2lhdGVkIiBcCiAgCSAgICAiNTgyXFxeZG9uZSxmb3JtYXQ9XCJuYXR1cmFsXCIiIFwKIGRpZmYg LS1naXQgYS9nZGIvdHlwZXByaW50LmMgYi9nZGIvdHlwZXByaW50LmMKLWluZGV4IGMwOThhM2Y0 MjYuLjMxOWZiYWY5NGUgMTAwNjQ0CitpbmRleCAyMjJmYzBhMDZiLi4zNzAyMWU4ZDBkIDEwMDY0 NAogLS0tIGEvZ2RiL3R5cGVwcmludC5jCiArKysgYi9nZGIvdHlwZXByaW50LmMKLUBAIC01Mzgs NiArNTM4LDI1IEBAIHdoYXRpc19leHAgKGNvbnN0IGNoYXIgKmV4cCwgaW50IHNob3cpCitAQCAt NDY0LDYgKzQ2NCwyNSBAQCB3aGF0aXNfZXhwIChjb25zdCBjaGFyICpleHAsIGludCBzaG93KQog ICAgICAgIHByaW50Zl9maWx0ZXJlZCAoIiAqL1xuIik7ICAgIAogICAgICB9CiAgCkBAIC0xMzE4 LDEyICsxMzIwLDEyIEBAIGluZGV4IGMwOThhM2Y0MjYuLjMxOWZiYWY5NGUgMTAwNjQ0CiArCiAg ICBMQV9QUklOVF9UWVBFICh0eXBlLCAiIiwgZ2RiX3N0ZG91dCwgc2hvdywgMCwgJmZsYWdzKTsK ICAgIHByaW50Zl9maWx0ZXJlZCAoIlxuIik7Ci0gCisgfQogZGlmZiAtLWdpdCBhL2dkYi92YWxv cHMuYyBiL2dkYi92YWxvcHMuYwotaW5kZXggNGNkNGZkOTZhZS4uOWIyNTk4MDA5MCAxMDA2NDQK K2luZGV4IDVjMzVkN2EwOTEuLjliNjYwMGI1MzggMTAwNjQ0CiAtLS0gYS9nZGIvdmFsb3BzLmMK ICsrKyBiL2dkYi92YWxvcHMuYwotQEAgLTE1NjQsNiArMTU2NCwxOSBAQCB2YWx1ZV9pbmQgKHN0 cnVjdCB2YWx1ZSAqYXJnMSkKK0BAIC0xNTY1LDYgKzE1NjUsMTkgQEAgdmFsdWVfaW5kIChzdHJ1 Y3QgdmFsdWUgKmFyZzEpCiAgICBpZiAoVFlQRV9DT0RFIChiYXNlX3R5cGUpID09IFRZUEVfQ09E RV9QVFIpCiAgICAgIHsKICAgICAgICBzdHJ1Y3QgdHlwZSAqZW5jX3R5cGU7CkBAIC0xMzQzLDcg KzEzNDUsNyBAQCBpbmRleCA0Y2Q0ZmQ5NmFlLi45YjI1OTgwMDkwIDEwMDY0NAogIAogICAgICAg IC8qIFdlIG1heSBiZSBwb2ludGluZyB0byBzb21ldGhpbmcgZW1iZWRkZWQgaW4gYSBsYXJnZXIg b2JqZWN0LgogICAgICAgICAgIEdldCB0aGUgcmVhbCB0eXBlIG9mIHRoZSBlbmNsb3Npbmcgb2Jq ZWN0LiAgKi8KLUBAIC0xNTc5LDggKzE1OTIsNyBAQCB2YWx1ZV9pbmQgKHN0cnVjdCB2YWx1ZSAq YXJnMSkKK0BAIC0xNTgwLDggKzE1OTMsNyBAQCB2YWx1ZV9pbmQgKHN0cnVjdCB2YWx1ZSAqYXJn MSkKICAgICAgICBlbHNlCiAgCS8qIFJldHJpZXZlIHRoZSBlbmNsb3Npbmcgb2JqZWN0IHBvaW50 ZWQgdG8uICAqLwogIAlhcmcyID0gdmFsdWVfYXRfbGF6eSAoZW5jX3R5cGUsIApAQCAtMTM1NCwx MCArMTM1NiwxMCBAQCBpbmRleCA0Y2Q0ZmQ5NmFlLi45YjI1OTgwMDkwIDEwMDY0NAogICAgICAg IGVuY190eXBlID0gdmFsdWVfdHlwZSAoYXJnMik7CiAgICAgICAgcmV0dXJuIHJlYWRqdXN0X2lu ZGlyZWN0X3ZhbHVlX3R5cGUgKGFyZzIsIGVuY190eXBlLCBiYXNlX3R5cGUsIGFyZzEpOwogZGlm ZiAtLWdpdCBhL2dkYi92YWxwcmludC5jIGIvZ2RiL3ZhbHByaW50LmMKLWluZGV4IGIxOTEyM2Yy M2UuLmQwMWQwMmZjMDkgMTAwNjQ0CitpbmRleCBiZWQyY2VjZjJjLi4yNTM3ZDc3YzE5IDEwMDY0 NAogLS0tIGEvZ2RiL3ZhbHByaW50LmMKICsrKyBiL2dkYi92YWxwcmludC5jCi1AQCAtMTExMSwx MiArMTExMSw2IEBAIHZhbHVlX2NoZWNrX3ByaW50YWJsZSAoc3RydWN0IHZhbHVlICp2YWwsIHN0 cnVjdCB1aV9maWxlICpzdHJlYW0sCitAQCAtMTEwOCwxMiArMTEwOCw2IEBAIHZhbHVlX2NoZWNr X3ByaW50YWJsZSAoc3RydWN0IHZhbHVlICp2YWwsIHN0cnVjdCB1aV9maWxlICpzdHJlYW0sCiAg ICAgICAgcmV0dXJuIDA7CiAgICAgIH0KICAKCmRpZmYgLS1naXQgYS9nZGItdmxhLWludGVsLXN0 cmluZ2J0LWZpeC5wYXRjaCBiL2dkYi12bGEtaW50ZWwtc3RyaW5nYnQtZml4LnBhdGNoCmluZGV4 IDE5MzExNTQuLjc4ZTFkODcgMTAwNjQ0Ci0tLSBhL2dkYi12bGEtaW50ZWwtc3RyaW5nYnQtZml4 LnBhdGNoCisrKyBiL2dkYi12bGEtaW50ZWwtc3RyaW5nYnQtZml4LnBhdGNoCkBAIC0zMSw3ICsz MSw3IEBAIFRoYW5rcywKIEphbgogCiBkaWZmIC0tZ2l0IGEvZ2RiL2R3YXJmMmxvYy5jIGIvZ2Ri L2R3YXJmMmxvYy5jCi1pbmRleCA1MTA1YzhkMjNhLi41NDg2ZTRkYzEyIDEwMDY0NAoraW5kZXgg ZmE5ZmYzMDcyMS4uY2ZjYTFjMjc1MSAxMDA2NDQKIC0tLSBhL2dkYi9kd2FyZjJsb2MuYwogKysr IGIvZ2RiL2R3YXJmMmxvYy5jCiBAQCAtNDIsNiArNDIsNyBAQAoKZGlmZiAtLWdpdCBhL2dkYi5z cGVjIGIvZ2RiLnNwZWMKaW5kZXggZTI1ODAwMS4uOGEwYzBiYiAxMDA2NDQKLS0tIGEvZ2RiLnNw ZWMKKysrIGIvZ2RiLnNwZWMKQEAgLTE4LDIyICsxOCwyMiBAQAogTmFtZTogJXs/c2NsX3ByZWZp eH1nZGIKIAogIyBGcmVlemUgaXQgd2hlbiBHREIgZ2V0cyBicmFuY2hlZAotJWdsb2JhbCBzbmFw c3JjICAgIDIwMTgwMTA5CislZ2xvYmFsIHNuYXBzcmMgICAgMjAxODA1MjIKICMgU2VlIHRpbWVz dGFtcCBvZiBzb3VyY2UgZ251bGliIGluc3RhbGxlZCBpbnRvIGdkYi9nbnVsaWIvIC4KICVnbG9i YWwgc25hcGdudWxpYiAyMDE2MTExNQogJWdsb2JhbCB0YXJuYW1lIGdkYi0le3ZlcnNpb259Ci1W ZXJzaW9uOiA4LjEKK1ZlcnNpb246IDguMS41MC4le3NuYXBzcmN9CiAKICMgVGhlIHJlbGVhc2Ug YWx3YXlzIGNvbnRhaW5zIGEgbGVhZGluZyByZXNlcnZlZCBudW1iZXIsIHN0YXJ0IGl0IGF0IDEu CiAjIGB1cHN0cmVhbScgaXMgbm90IGEgcGFydCBvZiBgbmFtZScgdG8gc3RheSBmdWxseSBycG0g ZGVwZW5kZW5jaWVzIGNvbXBhdGlibGUgZm9yIHRoZSB0ZXN0aW5nLgotUmVsZWFzZTogMTQlez9k aXN0fQorUmVsZWFzZTogMTUlez9kaXN0fQogCiBMaWNlbnNlOiBHUEx2MysgYW5kIEdQTHYzKyB3 aXRoIGV4Y2VwdGlvbnMgYW5kIEdQTHYyKyBhbmQgR1BMdjIrIHdpdGggZXhjZXB0aW9ucyBhbmQg R1BMKyBhbmQgTEdQTHYyKyBhbmQgTEdQTHYzKyBhbmQgQlNEIGFuZCBQdWJsaWMgRG9tYWluIGFu ZCBHRkRMCiBHcm91cDogRGV2ZWxvcG1lbnQvRGVidWdnZXJzCiAjIERvIG5vdCBwcm92aWRlIFVS TCBmb3Igc25hcHNob3RzIGFzIHRoZSBmaWxlIGxhc3RzIHRoZXJlIG9ubHkgZm9yIDIgZGF5cy4K ICMgZnRwOi8vc291cmNld2FyZS5vcmcvcHViL2dkYi9yZWxlYXNlcy9GSVhNRXt0YXJuYW1lfS50 YXIueHoKLSNTb3VyY2U6ICUge3Rhcm5hbWV9LnRhci54egotU291cmNlOiBmdHA6Ly9zb3VyY2V3 YXJlLm9yZy9wdWIvZ2RiL3JlbGVhc2VzLyV7dGFybmFtZX0udGFyLnh6CitTb3VyY2U6ICV7dGFy bmFtZX0udGFyLnh6CisjU291cmNlOiBmdHA6Ly9zb3VyY2V3YXJlLm9yZy9wdWIvZ2RiL3JlbGVh c2VzLyV7dGFybmFtZX0udGFyLnh6CiBCdWlsZHJvb3Q6ICUobWt0ZW1wIC11ZCAle190bXBwYXRo fS8le25hbWV9LSV7dmVyc2lvbn0tJXtyZWxlYXNlfS1YWFhYWFgpCiBVUkw6IGh0dHA6Ly9nbnUu b3JnL3NvZnR3YXJlL2dkYi8KIApAQCAtMTAyNiw2ICsxMDI2LDkgQEAgdGhlbgogZmkKIAogJWNo YW5nZWxvZworKiBXZWQgTWF5IDMwIDIwMTggU2VyZ2lvIER1cmlnYW4gSnVuaW9yIDxzZXJnaW9k akByZWRoYXQuY29tPiAtIDguMS41MC4yMDE4MDUyMi0xNS5mYzI4CistIFJlYmFzZSB0byBGU0Yg R0RCIDguMS41MC4yMDE4MDUyMiAoOC4ycHJlKS4KKwogKiBNb24gQXByICAyIDIwMTggSmFuIEty YXRvY2h2aWwgPGphbi5rcmF0b2NodmlsQHJlZGhhdC5jb20+IC0gOC4xLTE0LmZjMjgKIC0gUmV2 ZXJ0ICdGaXggUERGIGJ1aWxkIG9uIFJhd2hpZGUvRi0yOScsIHJtIC1yZiB0ZXhpbmZvLyAoZnJv bSBSSCBCWiAxNTYyNTgwKS4KIAoKZGlmZiAtLWdpdCBhL3NvdXJjZXMgYi9zb3VyY2VzCmluZGV4 IDVjYjBlN2EuLjM3NzQ4YzIgMTAwNjQ0Ci0tLSBhL3NvdXJjZXMKKysrIGIvc291cmNlcwpAQCAt MSwzICsxLDMgQEAKIFNIQTUxMiAoZ2RiLWxpYnN0ZGMrKy12My1weXRob24tNy4xLjEtMjAxNzA1 MjYudGFyLnh6KSA9IDNkNTQwYjk5NTgxZmZhNGNmMjgxMGJlYzk3OWM5YTAxYTFmOGNlNzgyYjdj OGVmYjQ2YjQwZGQyNDIxZDYwY2RiMGU1MmI1M2M1NDc3YzNlODZhNTc5NTdhMmExNDQ4OWY1YzI5 ZGM1Mzg2ODczOGExZWY3OWU3OWNmNzZkMGExCiBTSEE1MTIgKHYxLjYuMS50YXIuZ3opID0gYzdj OWM4YmE3ODAyMWZmZjNmZGUxMmEyMTZmNTcyOWM2MDMxMTE0ZTVhNzI3ZjQ5YjdmZjFhMzFjNTNi NWRkYmEyNGQxYjNhZWUyNTJkODI3OGVjZDFmYWZlNzhhNDRlZDA1OWMxMmI5ZWIyOWVjYTMzMDkz ZTA3MjA2NzM0NjgKLVNIQTUxMiAoZ2RiLTguMS50YXIueHopID0gZmZkODJmNDE1ZDc2NTJkNjJk YWQxNzE2YzMwNzgzNmY1OTQyMTdhMzYzNDI5NjA5YmViN2Q3MDIzOWU4YmYwNmI3M2IzOTMzNDVi MGUwMDA3OTYyMjhlNTY2ODFlZDc2NTZhYzNjOGJlMDVlOTFkNmQ2NTJhYjBkNWIxZGMzNTcKK1NI QTUxMiAoZ2RiLTguMS41MC4yMDE4MDUyMi50YXIueHopID0gMjdhNmIxMDZjYzFmMjFhNzRhY2Yz MWJlNDVkNjIzMTE1YTE4ODE4YTlmNTAwOGFjNzc0OGRiZTc0NTY4NWY0MWYwNTVmZThhY2Y3MzZl ZTVmMGQ2NzE2ZDQ3YjJhNDMwNzE5N2RiODg5OWEzYTRlMjIwYmVkNzJiMWUxMjZkOTcK