From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-1.0 required=5.0 tests=ALL_TRUSTED autolearn=ham autolearn_force=no version=3.4.2 Received: (qmail 31726 invoked from network); 1 May 2020 11:50:56 -0000 Received: from localhost (HELO inbox.vuxu.org) (::1) by localhost with ESMTPUTF8; 1 May 2020 11:50:56 -0000 Content-Type: multipart/mixed; boundary="===============6627091273588041078==" MIME-Version: 1.0 Subject: =?utf8?q?Re=3A_=5BPR_PATCH=5D_=5BUpdated=5D_WIP=3A_pipewire=3A_update_to_0=2E3=2E4?= To: ml@inbox.vuxu.org From: sirn Reply-to: ml@inbox.vuxu.org In-Reply-To: References: Date: Fri, 01 May 2020 13:50:52 +0200 List-Id: Message-ID: <20200501115052.s-b8HmEBqyYTKRo9b7RjLP-ROyJB0gNFx_Bhlk51gxI@z> GitHub notification mails are now in MIME to allow UTF8. --===============6627091273588041078== Content-Type: text/plain; charset="utf8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 VGhlcmUgaXMgYW4gdXBkYXRlZCBwdWxsIHJlcXVlc3QgYnkgc2lybiBhZ2FpbnN0IG1hc3RlciBv biB0aGUgdm9pZC1wYWNrYWdlcyByZXBvc2l0b3J5CgpodHRwczovL2dpdGh1Yi5jb20vc2lybi92 b2lkLXBhY2thZ2VzIHBpcGV3aXJlLXVwZGF0ZQpodHRwczovL2dpdGh1Yi5jb20vdm9pZC1saW51 eC92b2lkLXBhY2thZ2VzL3B1bGwvMjA0MTMKCldJUDogcGlwZXdpcmU6IHVwZGF0ZSB0byAwLjMu NApUaGlzIFBSIHVwZGF0ZXMgYHBpcGV3aXJlYCB0byAwLjMuNCBhbmQgYWxzbyB1cGRhdGluZy9w YXRjaGluZyBhbGwgcGFja2FnZXMgdGhhdCBkZXBlbmRzIG9uIGl0LiANCg0KKiBgeGRnLWRlc2t0 b3AtcG9ydGFsYCBpbmNsdWRlcyBhIHBhdGNoIGJhY2twb3J0ZWQgZnJvbSAxLjcuMCB0byBhbGxv dyAxLjYuMCB0byBidWlsZCBhZ2FpbnN0IHBpcGV3aXJlLTAuMyAoMS43LnggaXMgcHJlcmVsZWFz ZSkNCiogYHhkZy1kZXNrdG9wLXBvcnRhbC1rZGVgIGFscmVhZHkgaW5jbHVkZXMgUGlwZXdpcmUg MC4zIHN1cHBvcnQgYW5kIG9ubHkgcmVxdWlyZXMgcmV2YnVtcC4NCiogYG11dHRlcmAgaW5jbHVk ZXMgYSBwYXRjaCBiYWNrcG9ydGVkIGZyb20gMy4zNSB0byBhbGxvdyAzLjM0IHRvIGJ1aWxkIGFn YWluc3QgcGlwZXdpcmUtMC4zICh1cGdyYWRpbmcgdG8gPj0zLjM1IGFsc28gcmVxdWlyZXMgdXBn cmFkaW5nIEdOT01FKS4KCkEgcGF0Y2ggZmlsZSBmcm9tIGh0dHBzOi8vZ2l0aHViLmNvbS92b2lk LWxpbnV4L3ZvaWQtcGFja2FnZXMvcHVsbC8yMDQxMy5wYXRjaCBpcyBhdHRhY2hlZA== --===============6627091273588041078== Content-Type: text/x-diff MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="github-pr-pipewire-update-20413.patch" RnJvbSBlMTU4ZTUyNjVjYTUyNGQzZWUxNjZmODZmNDFlZjIxZTUyMjM4YzY0IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBLcmlkc2FkYSBUaGFuYWJ1bHBvbmcgPHNpcm5Ab2dzaXRlLm5l dD4KRGF0ZTogU2F0LCAyOCBNYXIgMjAyMCAxNjoyMzo1MiArMDkwMApTdWJqZWN0OiBbUEFUQ0gg MS80XSBwaXBld2lyZTogdXBkYXRlIHRvIDAuMy40CgotLS0KIGNvbW1vbi9zaGxpYnMgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAyICstCiBzcmNwa2dzL2Fsc2EtcGlwZXdpcmUg ICAgICAgICAgICAgICAgICAgICAgICAgfCAgMSArCiBzcmNwa2dzL2xpYmphY2stcGlwZXdpcmUg ICAgICAgICAgICAgICAgICAgICAgfCAgMSArCiBzcmNwa2dzL2xpYnB1bHNlYXVkaW8tcGlwZXdp cmUgICAgICAgICAgICAgICAgfCAgMSArCiAuLi4vcGF0Y2hlcy8wMS1maXgtZm9ybWF0LXdhcm5p bmcucGF0Y2ggICAgICAgfCAzNyArKysrKysrKysrCiAuLi4vcGF0Y2hlcy8wMi1maXgtc3BhX2xv Z19mdW5jLW11c2wucGF0Y2ggICAgfCAyNSArKysrKysrCiBzcmNwa2dzL3BpcGV3aXJlL3RlbXBs YXRlICAgICAgICAgICAgICAgICAgICAgfCA3MSArKysrKysrKysrKysrKy0tLS0tCiA3IGZpbGVz IGNoYW5nZWQsIDEyMCBpbnNlcnRpb25zKCspLCAxOCBkZWxldGlvbnMoLSkKIGNyZWF0ZSBtb2Rl IDEyMDAwMCBzcmNwa2dzL2Fsc2EtcGlwZXdpcmUKIGNyZWF0ZSBtb2RlIDEyMDAwMCBzcmNwa2dz L2xpYmphY2stcGlwZXdpcmUKIGNyZWF0ZSBtb2RlIDEyMDAwMCBzcmNwa2dzL2xpYnB1bHNlYXVk aW8tcGlwZXdpcmUKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL3BpcGV3aXJlL3BhdGNoZXMv MDEtZml4LWZvcm1hdC13YXJuaW5nLnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9w aXBld2lyZS9wYXRjaGVzLzAyLWZpeC1zcGFfbG9nX2Z1bmMtbXVzbC5wYXRjaAoKZGlmZiAtLWdp dCBhL2NvbW1vbi9zaGxpYnMgYi9jb21tb24vc2hsaWJzCmluZGV4IGEyMDg0MDdiMzU5Li4wNzI3 OWE3YmM3MiAxMDA2NDQKLS0tIGEvY29tbW9uL3NobGlicworKysgYi9jb21tb24vc2hsaWJzCkBA IC0zMTk5LDcgKzMxOTksNyBAQCBsaWJhcmNhbl9zaG1pZl9leHQuc28uMC4xMSBhcmNhbi0wLjUu NC4zXzEKIGxpYmFyY2FuX3NobWlmX3NlcnZlci5zby4wLjExIGFyY2FuLTAuNS40LjNfMQogbGli YXJjYW5fdHVpLnNvLjAuMTEgYXJjYW4tMC41LjQuM18xCiBsaWJsd2lwdjYuc28uMiBsd2lwdjYt MS41YV8xCi1saWJwaXBld2lyZS0wLjIuc28uMSBsaWJwaXBld2lyZS0wLjIuMl8xCitsaWJwaXBl d2lyZS0wLjMuc28uMCBsaWJwaXBld2lyZS0wLjMuNF8xCiBsaWJ2b2xrLnNvLjIuMi4xIHZvbGst Mi4yLjFfMQogbGliZ251cmFkaW8tcnVudGltZS5zby4zLjguMCBnbnVyYWRpby0zLjguMC4wXzEK IGxpYmdudXJhZGlvLXBtdC5zby4zLjguMCBnbnVyYWRpby0zLjguMC4wXzEKZGlmZiAtLWdpdCBh L3NyY3BrZ3MvYWxzYS1waXBld2lyZSBiL3NyY3BrZ3MvYWxzYS1waXBld2lyZQpuZXcgZmlsZSBt b2RlIDEyMDAwMAppbmRleCAwMDAwMDAwMDAwMC4uYzljOTdjZjY3MDcKLS0tIC9kZXYvbnVsbAor KysgYi9zcmNwa2dzL2Fsc2EtcGlwZXdpcmUKQEAgLTAsMCArMSBAQAorcGlwZXdpcmUKXCBObyBu ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9zcmNwa2dzL2xpYmphY2stcGlwZXdp cmUgYi9zcmNwa2dzL2xpYmphY2stcGlwZXdpcmUKbmV3IGZpbGUgbW9kZSAxMjAwMDAKaW5kZXgg MDAwMDAwMDAwMDAuLmM5Yzk3Y2Y2NzA3Ci0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9saWJq YWNrLXBpcGV3aXJlCkBAIC0wLDAgKzEgQEAKK3BpcGV3aXJlClwgTm8gbmV3bGluZSBhdCBlbmQg b2YgZmlsZQpkaWZmIC0tZ2l0IGEvc3JjcGtncy9saWJwdWxzZWF1ZGlvLXBpcGV3aXJlIGIvc3Jj cGtncy9saWJwdWxzZWF1ZGlvLXBpcGV3aXJlCm5ldyBmaWxlIG1vZGUgMTIwMDAwCmluZGV4IDAw MDAwMDAwMDAwLi5jOWM5N2NmNjcwNwotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvbGlicHVs c2VhdWRpby1waXBld2lyZQpAQCAtMCwwICsxIEBACitwaXBld2lyZQpcIE5vIG5ld2xpbmUgYXQg ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcGlwZXdpcmUvcGF0Y2hlcy8wMS1maXgt Zm9ybWF0LXdhcm5pbmcucGF0Y2ggYi9zcmNwa2dzL3BpcGV3aXJlL3BhdGNoZXMvMDEtZml4LWZv cm1hdC13YXJuaW5nLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw Li5iNGU4NzQ4MzkwZQotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvcGlwZXdpcmUvcGF0Y2hl cy8wMS1maXgtZm9ybWF0LXdhcm5pbmcucGF0Y2gKQEAgLTAsMCArMSwzNyBAQAorRnJvbSA5Nzlh ODFhNzBkNDY4ZDY0ODI3NzM1MjFiODlhYWY2N2NlNzliOTIxIE1vbiBTZXAgMTcgMDA6MDA6MDAg MjAwMQorRnJvbTogV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CitEYXRlOiBGcmks IDEgTWF5IDIwMjAgMTE6MDU6MzggKzAyMDAKK1N1YmplY3Q6IFtQQVRDSF0gbWVzb246IGFkZCAt V2Zvcm1hdAorTUlNRS1WZXJzaW9uOiAxLjAKK0NvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hh cnNldD1VVEYtOAorQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdAorCitjYzE6IHdhcm5p bmc6IOKAmC1XZm9ybWF0LXNlY3VyaXR54oCZIGlnbm9yZWQgd2l0aG91dCDigJgtV2Zvcm1hdOKA mSBbLVdmb3JtYXQtc2VjdXJpdHldCisKK0ZpeGVzICMyMzQKKy0tLQorIG1lc29uLmJ1aWxkIHwg MiArKworIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKykKKworZGlmZiAtLWdpdCBhL21l c29uLmJ1aWxkIGIvbWVzb24uYnVpbGQKK2luZGV4IDc0MTQyNTg3Li4xNjMxZTc2MyAxMDA2NDQK Ky0tLSBtZXNvbi5idWlsZAorKysrIG1lc29uLmJ1aWxkCitAQCAtNTEsNiArNTEsNyBAQCBpZiBj Yy5nZXRfaWQoKSA9PSAnZ2NjJworIAkJCSctV3NpZ24tY29tcGFyZScsCisgCQkJJy1XaW1wbGlj aXQtZmFsbHRocm91Z2gnLAorIAkJCSctV3BvaW50ZXItYXJpdGgnLAorKwkJCSctV2Zvcm1hdCcs CisgCQkJJy1XZm9ybWF0LXNlY3VyaXR5JywKKyAJCQknLVdlcnJvcj1zdWdnZXN0LWF0dHJpYnV0 ZT1mb3JtYXQnLAorIAkJCSctV21pc3NpbmctYnJhY2VzJywKK0BAIC02OCw2ICs2OSw3IEBAIGlm IGNjLmdldF9pZCgpID09ICdnY2MnCisgCQkJJy1Xc2lnbi1jb21wYXJlJywKKyAJCQknLVdpbXBs aWNpdC1mYWxsdGhyb3VnaCcsCisgCQkJJy1XcG9pbnRlci1hcml0aCcsCisrCQkJJy1XZm9ybWF0 JywKKyAJCQknLVdmb3JtYXQtc2VjdXJpdHknLAorIAkJCSctV2Vycm9yPXN1Z2dlc3QtYXR0cmli dXRlPWZvcm1hdCcsCisgCQkJJy1XbWlzc2luZy1icmFjZXMnLAorLS0KKzIuMjYuMgpkaWZmIC0t Z2l0IGEvc3JjcGtncy9waXBld2lyZS9wYXRjaGVzLzAyLWZpeC1zcGFfbG9nX2Z1bmMtbXVzbC5w YXRjaCBiL3NyY3BrZ3MvcGlwZXdpcmUvcGF0Y2hlcy8wMi1maXgtc3BhX2xvZ19mdW5jLW11c2wu cGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLmI4MTY5NzVhNmVi Ci0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9waXBld2lyZS9wYXRjaGVzLzAyLWZpeC1zcGFf bG9nX2Z1bmMtbXVzbC5wYXRjaApAQCAtMCwwICsxLDI1IEBACitGcm9tIGU4M2JmOGEzM2Y3MjAw NTBjN2YxZWM1ZjAwNTMwZmFmZDVhZjU2OTggTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9t OiBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KK0RhdGU6IEZyaSwgMSBNYXkgMjAy MCAxMToxODoyOCArMDIwMAorU3ViamVjdDogW1BBVENIXSBsb2c6IHVzZSBwcmludGYgYXR0cmli dXRlIGZvciBsb2cgZmFsbGJhY2sKKworRml4ZXMgIzIzMworLS0tCisgc3BhL2luY2x1ZGUvc3Bh L3N1cHBvcnQvbG9nLmggfCAyICstCisgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAx IGRlbGV0aW9uKC0pCisKK2RpZmYgLS1naXQgYS9zcGEvaW5jbHVkZS9zcGEvc3VwcG9ydC9sb2cu aCBiL3NwYS9pbmNsdWRlL3NwYS9zdXBwb3J0L2xvZy5oCitpbmRleCBjOTdjYzhlNS4uNTFiM2U3 NDEgMTAwNjQ0CistLS0gc3BhL2luY2x1ZGUvc3BhL3N1cHBvcnQvbG9nLmgKKysrKyBzcGEvaW5j bHVkZS9zcGEvc3VwcG9ydC9sb2cuaAorQEAgLTEzOSw3ICsxMzksNyBAQCBzdHJ1Y3Qgc3BhX2xv Z19tZXRob2RzIHsKKyAjZWxzZQorCisgI2RlZmluZSBTUEFfTE9HX0ZVTkMobmFtZSxsZXYpCQkJ CQkJCVwKKy1zdGF0aWMgaW5saW5lIHZvaWQgc3BhX2xvZ18jI25hbWUgKHN0cnVjdCBzcGFfbG9n ICpsLCBjb25zdCBjaGFyICpmb3JtYXQsIC4uLikgIFwKKytzdGF0aWMgaW5saW5lIFNQQV9QUklO VEZfRlVOQygyLDMpIHZvaWQgc3BhX2xvZ18jI25hbWUgKHN0cnVjdCBzcGFfbG9nICpsLCBjb25z dCBjaGFyICpmb3JtYXQsIC4uLikgIFwKKyB7CQkJCQkJCQkJCVwKKyAJaWYgKFNQQV9VTkxJS0VM WShzcGFfbG9nX2xldmVsX2VuYWJsZWQobCwgbGV2KSkpIHsJCQlcCisgCQl2YV9saXN0IHZhcmFy Z3M7CQkJCQkJXAorLS0KKzIuMjYuMgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9waXBld2lyZS90ZW1w bGF0ZSBiL3NyY3BrZ3MvcGlwZXdpcmUvdGVtcGxhdGUKaW5kZXggN2Y2NDZkYWQxMWQuLjc2M2I3 ZjliMzY1IDEwMDY0NAotLS0gYS9zcmNwa2dzL3BpcGV3aXJlL3RlbXBsYXRlCisrKyBiL3NyY3Br Z3MvcGlwZXdpcmUvdGVtcGxhdGUKQEAgLTEsMjYgKzEsMzcgQEAKICMgVGVtcGxhdGUgZmlsZSBm b3IgJ3BpcGV3aXJlJwogcGtnbmFtZT1waXBld2lyZQotdmVyc2lvbj0wLjIuNwordmVyc2lvbj0w LjMuNAogcmV2aXNpb249MQogYnVpbGRfc3R5bGU9bWVzb24KLWNvbmZpZ3VyZV9hcmdzPSItRG1h bj10cnVlIC1EZ3N0cmVhbWVyPWVuYWJsZWQgLURkb2NzPXRydWUgLURzeXN0ZW1kPWZhbHNlIgor Y29uZmlndXJlX2FyZ3M9Ii1EbWFuPXRydWUgLURnc3RyZWFtZXI9dHJ1ZSAtRGRvY3M9dHJ1ZSAt RHN5c3RlbWQ9ZmFsc2UKKyAtRGJsdWV6NT10cnVlIC1EZmZtcGVnPXRydWUgLURwaXBld2lyZS1h bHNhPXRydWUgLURwaXBld2lyZS1qYWNrPXRydWUKKyAtRHBpcGV3aXJlLXB1bHNlYXVkaW89dHJ1 ZSIKIGhvc3RtYWtlZGVwZW5kcz0iZG94eWdlbiBncmFwaHZpeiBwa2ctY29uZmlnIHhtbHRvbWFu IgogbWFrZWRlcGVuZHM9IlNETDItZGV2ZWwgZmZtcGVnLWRldmVsIGdzdC1wbHVnaW5zLWJhc2Ux LWRldmVsIGphY2stZGV2ZWwKLSBzYmMtZGV2ZWwgdjRsLXV0aWxzLWRldmVsIGxpYnZhLWRldmVs IgorIHNiYy1kZXZlbCB2NGwtdXRpbHMtZGV2ZWwgbGlidmEtZGV2ZWwgbGliYmx1ZXRvb3RoLWRl dmVsIgogc2hvcnRfZGVzYz0iU2VydmVyIGFuZCB1c2VyIHNwYWNlIEFQSSB0byBkZWFsIHdpdGgg bXVsdGltZWRpYSBwaXBlbGluZXMiCi1tYWludGFpbmVyPSJPcnBoYW5lZCA8b3JwaGFuQHZvaWRs aW51eC5vcmc+IgotI05leHQgcmVsZWFzZSB3aWxsIHByb2JhYmx5IGNoYW5nZSB0byBNSVQsIGN1 cnJlbnRseSBsaXN0ZWQgaW4gbWFzdGVyCi1saWNlbnNlPSJMR1BMLTIuMS1vbmx5LCBHUEwtMi4w LW9ubHkgIgorbWFpbnRhaW5lcj0iS3JpZHNhZGEgVGhhbmFidWxwb25nIDxzaXJuQG9nc2l0ZS5u ZXQ+IgorbGljZW5zZT0iTUlUIgogaG9tZXBhZ2U9Imh0dHBzOi8vcGlwZXdpcmUub3JnLyIKLWNo YW5nZWxvZz0iaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL1BpcGVXaXJlL3BpcGV3 aXJlL21hc3Rlci9ORVdTIgotZGlzdGZpbGVzPSJodHRwczovL2dpdGh1Yi5jb20vUGlwZVdpcmUv cGlwZXdpcmUvYXJjaGl2ZS8ke3ZlcnNpb259LnRhci5neiIKLWNoZWNrc3VtPWJmYWEwZjZhZTZj MDc5MWUyZTBiNTkyMzRkMzk5NzUzYmYyNGYxYjMzZGJmNTg3NjgyMzYzYTg0NjNkZDhkZjEKK2No YW5nZWxvZz0iaHR0cHM6Ly9naXRsYWIuZnJlZWRlc2t0b3Aub3JnL3BpcGV3aXJlL3BpcGV3aXJl Ly0vcmF3L21hc3Rlci9ORVdTIgorZGlzdGZpbGVzPSJodHRwczovL2dpdGxhYi5mcmVlZGVza3Rv cC5vcmcvcGlwZXdpcmUvcGlwZXdpcmUvLS9hcmNoaXZlLyR7dmVyc2lvbn0vcGlwZXdpcmUtJHt2 ZXJzaW9ufS50YXIuZ3oiCitjaGVja3N1bT02YTFjOWM2NzE1MTRjODRiMzhjZTk2ZDUxODIzMzU0 NzAyYmM0ZDVkYmFiYTEyZDUwMWZhYTA0NDhmODkyNTE1CiBjb25mX2ZpbGVzPSIvZXRjL3BpcGV3 aXJlL3BpcGV3aXJlLmNvbmYiCiAKK2lmIFsgIiRYQlBTX1RBUkdFVF9OT19BVE9NSUM4IiBdOyB0 aGVuCisJbWFrZWRlcGVuZHMrPSIgbGliYXRvbWljLWRldmVsIgorCUxERkxBR1MrPSIgLWxhdG9t aWMiCitmaQorCitwb3N0X2luc3RhbGwoKSB7CisJdmxpY2Vuc2UgTElDRU5TRQorfQorCiBsaWJw aXBld2lyZV9wYWNrYWdlKCkgewogCXNob3J0X2Rlc2MrPSIgLSBwaXBld2lyZSBsaWJyYXJ5Igog CXBrZ19pbnN0YWxsKCkgewotCQl2bW92ZSAidXNyL2xpYi9saWJwaXBld2lyZS0wLjIuc28uKiIK KwkJdm1vdmUgInVzci9saWIvbGlicGlwZXdpcmUtMC4zLnNvLioiCisJCXZtb3ZlICJ1c3IvbGli L3BpcGV3aXJlLTAuMy8qLnNvIgogCX0KIH0KIApAQCAtMjgsMjUgKzM5LDI1IEBAIHBpcGV3aXJl LWRldmVsX3BhY2thZ2UoKSB7CiAJZGVwZW5kcz0ibGlicGlwZXdpcmUtJHt2ZXJzaW9ufV8ke3Jl dmlzaW9ufSIKIAlzaG9ydF9kZXNjKz0iIC0gcGlwZXdpcmUgYW5kIGxpYnNwYSBkZXZlbG9wbWVu dCBmaWxlcyIKIAlwa2dfaW5zdGFsbCgpIHsKLQkJdm1vdmUgdXNyL2luY2x1ZGUvcGlwZXdpcmUK LQkJdm1vdmUgdXNyL2luY2x1ZGUvc3BhCi0JCXZtb3ZlIHVzci9saWIvcGtnY29uZmlnL2xpYnBp cGV3aXJlLTAuMi5wYwotCQl2bW92ZSB1c3IvbGliL3BrZ2NvbmZpZy9saWJzcGEtMC4xLnBjCi0J CXZtb3ZlIHVzci9saWIvbGlicGlwZXdpcmUtMC4yLnNvCisJCXZtb3ZlIHVzci9pbmNsdWRlL3Bp cGV3aXJlLTAuMworCQl2bW92ZSB1c3IvaW5jbHVkZS9zcGEtMC4yCisJCXZtb3ZlIHVzci9saWIv cGtnY29uZmlnL2xpYnBpcGV3aXJlLTAuMy5wYworCQl2bW92ZSB1c3IvbGliL3BrZ2NvbmZpZy9s aWJzcGEtMC4yLnBjCisJCXZtb3ZlIHVzci9saWIvbGlicGlwZXdpcmUtMC4zLnNvCiAJfQogfQog CiBsaWJzcGEtZmZtcGVnX3BhY2thZ2UoKSB7CiAJc2hvcnRfZGVzYys9IiAtIGZmbXBlZyBwbHVn aW5zIgogCXBrZ19pbnN0YWxsKCkgewotCQl2bW92ZSB1c3IvbGliL3NwYS9mZm1wZWcKKwkJdm1v dmUgdXNyL2xpYi9zcGEtMC4yL2ZmbXBlZwogCX0KIH0KIAogbGlic3BhLWJsdWV0b290aF9wYWNr YWdlKCkgewogCXNob3J0X2Rlc2MrPSIgLSBibHVldG9vdGggcGx1Z2lucyIKIAlwa2dfaW5zdGFs bCgpIHsKLQkJdm1vdmUgdXNyL2xpYi9zcGEvYmx1ZXo1CisJCXZtb3ZlIHVzci9saWIvc3BhLTAu Mi9ibHVlejUKIAl9CiB9CiAKQEAgLTU3LDYgKzY4LDMyIEBAIGdzdHJlYW1lcjEtcGlwZXdpcmVf cGFja2FnZSgpIHsKIAl9CiB9CiAKK2xpYnB1bHNlYXVkaW8tcGlwZXdpcmVfcGFja2FnZSgpIHsK KwlkZXBlbmRzPSJsaWJwaXBld2lyZS0ke3ZlcnNpb259XyR7cmV2aXNpb259IgorCXNob3J0X2Rl c2MrPSIgLSBQdWxzZUF1ZGlvIGNsaWVudCBsaWJyYXJ5IgorCXBrZ19pbnN0YWxsKCkgeworCQl2 bW92ZSB1c3IvbGliL3BpcGV3aXJlLTAuMy9wdWxzZQorCQl2bW92ZSB1c3IvYmluL3B3LXB1bHNl CisJfQorfQorCithbHNhLXBpcGV3aXJlX3BhY2thZ2UoKSB7CisJZGVwZW5kcz0ibGlicGlwZXdp cmUtJHt2ZXJzaW9ufV8ke3JldmlzaW9ufSIKKwlzaG9ydF9kZXNjKz0iIC0gQUxTQSBjbGllbnQg bGlicmFyeSIKKwlwa2dfaW5zdGFsbCgpIHsKKwkJdm1vdmUgdXNyL2xpYi9hbHNhLWxpYgorCX0K K30KKworbGliamFjay1waXBld2lyZV9wYWNrYWdlKCkgeworCWRlcGVuZHM9ImxpYnBpcGV3aXJl LSR7dmVyc2lvbn1fJHtyZXZpc2lvbn0iCisJc2hvcnRfZGVzYys9IiAtIEpBQ0sgY2xpZW50IGxp YnJhcnkiCisJcGtnX2luc3RhbGwoKSB7CisJCXZtb3ZlIHVzci9saWIvcGlwZXdpcmUtMC4zL2ph Y2sKKwkJdm1vdmUgdXNyL2Jpbi9wdy1qYWNrCisJfQorfQorCiBwaXBld2lyZS1kb2NfcGFja2Fn ZSgpIHsKIAlhcmNocz1ub2FyY2gKIAlzaG9ydF9kZXNjKz0iIC0gZG9jdW1lbnRhdGlvbiIKCkZy b20gYThmMDk1NmVhMmNmODc0NGIzNGZmNzM4OTVjZTkwZDBjZDVlZDc5ZSBNb24gU2VwIDE3IDAw OjAwOjAwIDIwMDEKRnJvbTogS3JpZHNhZGEgVGhhbmFidWxwb25nIDxzaXJuQG9nc2l0ZS5uZXQ+ CkRhdGU6IFNhdCwgMjggTWFyIDIwMjAgMTY6MjQ6NDYgKzA5MDAKU3ViamVjdDogW1BBVENIIDIv NF0geGRnLWRlc2t0b3AtcG9ydGFsLWtkZTogcmVidWlsZCBmb3IgcGlwZXdpcmUtMC4zCgotLS0K IHNyY3BrZ3MveGRnLWRlc2t0b3AtcG9ydGFsLWtkZS90ZW1wbGF0ZSB8IDIgKy0KIDEgZmlsZSBj aGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL3NyY3Br Z3MveGRnLWRlc2t0b3AtcG9ydGFsLWtkZS90ZW1wbGF0ZSBiL3NyY3BrZ3MveGRnLWRlc2t0b3At cG9ydGFsLWtkZS90ZW1wbGF0ZQppbmRleCBmMjYwNTdkMzIzYS4uOTUxOWFiYzE5ZjYgMTAwNjQ0 Ci0tLSBhL3NyY3BrZ3MveGRnLWRlc2t0b3AtcG9ydGFsLWtkZS90ZW1wbGF0ZQorKysgYi9zcmNw a2dzL3hkZy1kZXNrdG9wLXBvcnRhbC1rZGUvdGVtcGxhdGUKQEAgLTEsNyArMSw3IEBACiAjIFRl bXBsYXRlIGZpbGUgZm9yICd4ZGctZGVza3RvcC1wb3J0YWwta2RlJwogcGtnbmFtZT14ZGctZGVz a3RvcC1wb3J0YWwta2RlCiB2ZXJzaW9uPTUuMTguNC4xCi1yZXZpc2lvbj0xCityZXZpc2lvbj0y CiBidWlsZF9zdHlsZT1jbWFrZQogaG9zdG1ha2VkZXBlbmRzPSJleHRyYS1jbWFrZS1tb2R1bGVz IHF0NS1xbWFrZSBxdDUtaG9zdC10b29scyBrY29yZWFkZG9ucyBnZXR0ZXh0IgogbWFrZWRlcGVu ZHM9ImdsaWItZGV2ZWwga2lvLWRldmVsIGt3YXlsYW5kLWRldmVsIGxpYmVwb3h5LWRldmVsIHBp cGV3aXJlLWRldmVsCgpGcm9tIGE2OTBmYWViZDBlOGZiNDUzZjZiZTIyZmRmMTgxNzM1ZWJlNzAx MzIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IEtyaWRzYWRhIFRoYW5hYnVscG9uZyA8 c2lybkBvZ3NpdGUubmV0PgpEYXRlOiBTYXQsIDI4IE1hciAyMDIwIDE2OjI0OjI2ICswOTAwClN1 YmplY3Q6IFtQQVRDSCAzLzRdIHhkZy1kZXNrdG9wLXBvcnRhbDogcmVidWlsZCBmb3IgcGlwZXdp cmUtMC4zCgotLS0KIC4uLi9wYXRjaGVzL3BpcGV3aXJlLTAuMy5wYXRjaCAgICAgICAgICAgICAg ICB8IDU1MSArKysrKysrKysrKysrKysrKysKIHNyY3BrZ3MveGRnLWRlc2t0b3AtcG9ydGFsL3Rl bXBsYXRlICAgICAgICAgICB8ICAgOCArLQogMiBmaWxlcyBjaGFuZ2VkLCA1NTcgaW5zZXJ0aW9u cygrKSwgMiBkZWxldGlvbnMoLSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL3hkZy1kZXNr dG9wLXBvcnRhbC9wYXRjaGVzL3BpcGV3aXJlLTAuMy5wYXRjaAoKZGlmZiAtLWdpdCBhL3NyY3Br Z3MveGRnLWRlc2t0b3AtcG9ydGFsL3BhdGNoZXMvcGlwZXdpcmUtMC4zLnBhdGNoIGIvc3JjcGtn cy94ZGctZGVza3RvcC1wb3J0YWwvcGF0Y2hlcy9waXBld2lyZS0wLjMucGF0Y2gKbmV3IGZpbGUg bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLjk0ZWJlMDgzNTk4Ci0tLSAvZGV2L251bGwK KysrIGIvc3JjcGtncy94ZGctZGVza3RvcC1wb3J0YWwvcGF0Y2hlcy9waXBld2lyZS0wLjMucGF0 Y2gKQEAgLTAsMCArMSw1NTEgQEAKK0Zyb20gYTM4OTAxZTVlN2Y4MzVlZmU3YjdhMDZjNTU3OTBj OGMyMGJjOTFhMiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IFdpbSBUYXltYW5zIDx3 dGF5bWFuc0ByZWRoYXQuY29tPgorRGF0ZTogVHVlLCAxNCBKYW4gMjAyMCAwOTozNzowOSArMDEw MAorU3ViamVjdDogW1BBVENIXSBQaXBlV2lyZTogdXBkYXRlIHRvIDAuMyBBUEkKKworLS0tCisg Y29uZmlndXJlLmFjICAgICAgfCAgIDIgKy0KKyBzcmMvY2FtZXJhLmMgICAgICB8ICAyNCArKysr LS0tLQorIHNyYy9waXBld2lyZS5jICAgIHwgMTQxICsrKysrKysrKysrKystLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0KKyBzcmMvcGlwZXdpcmUuaCAgICB8ICAxMCArKy0tCisgc3Jj L3NjcmVlbi1jYXN0LmMgfCAgOTggKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyA1 IGZpbGVzIGNoYW5nZWQsIDcyIGluc2VydGlvbnMoKyksIDIwMyBkZWxldGlvbnMoLSkKKworZGlm ZiAtLWdpdCBjb25maWd1cmUuYWMgY29uZmlndXJlLmFjCitpbmRleCA4OTkwMmZhLi42MmQ3OTYw IDEwMDY0NAorLS0tIGNvbmZpZ3VyZS5hYworKysrIGNvbmZpZ3VyZS5hYworQEAgLTk3LDcgKzk3 LDcgQEAgQUNfQVJHX0VOQUJMRShwaXBld2lyZSwKKyAJICAgICAgW0FTX0hFTFBfU1RSSU5HKFst LWVuYWJsZS1waXBld2lyZV0sW0VuYWJsZSBQaXBlV2lyZSBzdXBwb3J0LiBOZWVkZWQgZm9yIHNj cmVlbiBjYXN0IHBvcnRhbF0pXSwKKyAJICAgICAgZW5hYmxlX3BpcGV3aXJlPSRlbmFibGV2YWws IGVuYWJsZV9waXBld2lyZT15ZXMpCisgaWYgdGVzdCB4JGVuYWJsZV9waXBld2lyZSA9IHh5ZXMg OyB0aGVuCistCVBLR19DSEVDS19NT0RVTEVTKFBJUEVXSVJFLCBbbGlicGlwZXdpcmUtMC4yID49 IDAuMi42XSkKKysJUEtHX0NIRUNLX01PRFVMRVMoUElQRVdJUkUsIFtsaWJwaXBld2lyZS0wLjMg Pj0gMC4yLjkwXSkKKyAJQUNfREVGSU5FKFtIQVZFX1BJUEVXSVJFXSxbMV0sIFtEZWZpbmUgdG8g ZW5hYmxlIFBpcGVXaXJlIHN1cHBvcnRdKQorIGZpCisgQU1fQ09ORElUSU9OQUwoW0hBVkVfUElQ RVdJUkVdLFt0ZXN0ICIkZW5hYmxlX3BpcGV3aXJlIiA9ICJ5ZXMiXSkKK2RpZmYgLS1naXQgc3Jj L2NhbWVyYS5jIHNyYy9jYW1lcmEuYworaW5kZXggYzJiMzkyYy4uMjBmZTNhYSAxMDA2NDQKKy0t LSBzcmMvY2FtZXJhLmMKKysrKyBzcmMvY2FtZXJhLmMKK0BAIC0xNDEsNyArMTQxLDcgQEAgb3Bl bl9waXBld2lyZV9jYW1lcmFfcmVtb3RlIChjb25zdCBjaGFyICphcHBfaWQsCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBHRXJyb3IgKiplcnJvcikKKyB7CisgICBQaXBlV2lyZVJlbW90 ZSAqcmVtb3RlOworLSAgc3RydWN0IHNwYV9kaWN0X2l0ZW0gcGVybWlzc2lvbl9pdGVtc1sxXTsK KysgIHN0cnVjdCBwd19wZXJtaXNzaW9uIHBlcm1pc3Npb25faXRlbXNbMl07CisgICBzdHJ1Y3Qg cHdfcHJvcGVydGllcyAqcGlwZXdpcmVfcHJvcGVydGllczsKKyAKKyAgIHBpcGV3aXJlX3Byb3Bl cnRpZXMgPQorQEAgLTE1OCwxMiArMTU4LDEyIEBAIG9wZW5fcGlwZXdpcmVfY2FtZXJhX3JlbW90 ZSAoY29uc3QgY2hhciAqYXBwX2lkLAorICAgICogSGlkZSBhbGwgZXhpc3RpbmcgYW5kIGZ1dHVy ZSBub2RlcyBieSBkZWZhdWx0LiBQaXBlV2lyZSB3aWxsIHVzZSB0aGUKKyAgICAqIHBlcm1pc3Np b24gc3RvcmUgdG8gc2V0IHVwIHBlcm1pc3Npb25zLgorICAgICovCistICBwZXJtaXNzaW9uX2l0 ZW1zWzBdLmtleSA9IFBXX0NPUkVfUFJPWFlfUEVSTUlTU0lPTlNfREVGQVVMVDsKKy0gIHBlcm1p c3Npb25faXRlbXNbMF0udmFsdWUgPSAiLS0tIjsKKysgIHBlcm1pc3Npb25faXRlbXNbMF0gPSBQ V19QRVJNSVNTSU9OX0lOSVQgKFBXX0lEX0NPUkUsIFBXX1BFUk1fUldYKTsKKysgIHBlcm1pc3Np b25faXRlbXNbMV0gPSBQV19QRVJNSVNTSU9OX0lOSVQgKFBXX0lEX0FOWSwgMCk7CisgCistICBw d19jb3JlX3Byb3h5X3Blcm1pc3Npb25zIChwd19yZW1vdGVfZ2V0X2NvcmVfcHJveHkgKHJlbW90 ZS0+cmVtb3RlKSwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICZTUEFfRElDVF9JTklU IChwZXJtaXNzaW9uX2l0ZW1zLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIEdfTl9FTEVNRU5UUyAocGVybWlzc2lvbl9pdGVtcykpKTsKKysgIHB3X2NsaWVu dF91cGRhdGVfcGVybWlzc2lvbnMgKHB3X2NvcmVfZ2V0X2NsaWVudChyZW1vdGUtPmNvcmUpLAor KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR19OX0VMRU1FTlRTIChwZXJtaXNzaW9u X2l0ZW1zKSwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBlcm1pc3Npb25faXRl bXMpOworIAorICAgcGlwZXdpcmVfcmVtb3RlX3JvdW5kdHJpcCAocmVtb3RlKTsKKyAKK0BAIC0y MTksNyArMjE5LDcgQEAgaGFuZGxlX29wZW5fcGlwZXdpcmVfcmVtb3RlIChYZHBDYW1lcmEgKm9i amVjdCwKKyAgICAgfQorIAorICAgb3V0X2ZkX2xpc3QgPSBnX3VuaXhfZmRfbGlzdF9uZXcgKCk7 CistICBmZCA9IHB3X3JlbW90ZV9zdGVhbF9mZCAocmVtb3RlLT5yZW1vdGUpOworKyAgZmQgPSBw d19jb3JlX3N0ZWFsX2ZkIChyZW1vdGUtPmNvcmUpOworICAgZmRfaWQgPSBnX3VuaXhfZmRfbGlz dF9hcHBlbmQgKG91dF9mZF9saXN0LCBmZCwgJmVycm9yKTsKKyAgIGNsb3NlIChmZCk7CisgICBw aXBld2lyZV9yZW1vdGVfZGVzdHJveSAocmVtb3RlKTsKK0BAIC0yNTAsMjkgKzI1MCwyOCBAQCBj YW1lcmFfaWZhY2VfaW5pdCAoWGRwQ2FtZXJhSWZhY2UgKmlmYWNlKQorIHN0YXRpYyB2b2lkCisg Z2xvYmFsX2FkZGVkX2NiIChQaXBlV2lyZVJlbW90ZSAqcmVtb3RlLAorICAgICAgICAgICAgICAg ICAgdWludDMyX3QgaWQsCistICAgICAgICAgICAgICAgICB1aW50MzJfdCB0eXBlLAorKyAgICAg ICAgICAgICAgICAgY29uc3QgY2hhciAqdHlwZSwKKyAgICAgICAgICAgICAgICAgIGNvbnN0IHN0 cnVjdCBzcGFfZGljdCAqcHJvcHMsCisgICAgICAgICAgICAgICAgICBncG9pbnRlciB1c2VyX2Rh dGEpCisgeworICAgQ2FtZXJhICpjYW1lcmEgPSB1c2VyX2RhdGE7CistICBzdHJ1Y3QgcHdfdHlw ZSAqY29yZV90eXBlID0gcHdfY29yZV9nZXRfdHlwZSAocmVtb3RlLT5jb3JlKTsKKyAgIGNvbnN0 IHN0cnVjdCBzcGFfZGljdF9pdGVtICptZWRpYV9jbGFzczsKKyAgIGNvbnN0IHN0cnVjdCBzcGFf ZGljdF9pdGVtICptZWRpYV9yb2xlOworIAorLSAgaWYgKHR5cGUgIT0gY29yZV90eXBlLT5ub2Rl KQorKyAgaWYgKHN0cmNtcCh0eXBlLCBQV19UWVBFX0lOVEVSRkFDRV9Ob2RlKSAhPSAwKQorICAg ICByZXR1cm47CisgCisgICBpZiAoIXByb3BzKQorICAgICByZXR1cm47CisgCistICBtZWRpYV9j bGFzcyA9IHNwYV9kaWN0X2xvb2t1cF9pdGVtIChwcm9wcywgIm1lZGlhLmNsYXNzIik7CisrICBt ZWRpYV9jbGFzcyA9IHNwYV9kaWN0X2xvb2t1cF9pdGVtIChwcm9wcywgUFdfS0VZX01FRElBX0NM QVNTKTsKKyAgIGlmICghbWVkaWFfY2xhc3MpCisgICAgIHJldHVybjsKKyAKKyAgIGlmIChnX3N0 cmNtcDAgKG1lZGlhX2NsYXNzLT52YWx1ZSwgIlZpZGVvL1NvdXJjZSIpICE9IDApCisgICAgIHJl dHVybjsKKyAKKy0gIG1lZGlhX3JvbGUgPSBzcGFfZGljdF9sb29rdXBfaXRlbSAocHJvcHMsICJt ZWRpYS5yb2xlIik7CisrICBtZWRpYV9yb2xlID0gc3BhX2RpY3RfbG9va3VwX2l0ZW0gKHByb3Bz LCBQV19LRVlfTUVESUFfUk9MRSk7CisgICBpZiAoIW1lZGlhX3JvbGUpCisgICAgIHJldHVybjsK KyAKK0BAIC0zNDIsNiArMzQxLDcgQEAgY3JlYXRlX3BpcGV3aXJlX3JlbW90ZSAoQ2FtZXJhICpj YW1lcmEsCisgICAgIH0KKyAKKyAgIHBpcGV3aXJlX3Byb3BlcnRpZXMgPSBwd19wcm9wZXJ0aWVz X25ldyAoInBpcGV3aXJlLmFjY2Vzcy5wb3J0YWwuaXNfcG9ydGFsIiwgInRydWUiLAorKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicG9ydGFsLm1vbml0b3IiLCAi Q2FtZXJhIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTlVM TCk7CisgICBjYW1lcmEtPnBpcGV3aXJlX3JlbW90ZSA9IHBpcGV3aXJlX3JlbW90ZV9uZXdfc3lu YyAocGlwZXdpcmVfcHJvcGVydGllcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBnbG9iYWxfYWRkZWRfY2IsCitkaWZmIC0tZ2l0IHNyYy9w aXBld2lyZS5jIHNyYy9waXBld2lyZS5jCitpbmRleCA3OTNhMzc4Li4xNjJjZDU1IDEwMDY0NAor LS0tIHNyYy9waXBld2lyZS5jCisrKysgc3JjL3BpcGV3aXJlLmMKK0BAIC0yMSw2ICsyMSw3IEBA CisgI2luY2x1ZGUgPGVycm5vLmg+CisgI2luY2x1ZGUgPGdsaWIuaD4KKyAjaW5jbHVkZSA8cGlw ZXdpcmUvcGlwZXdpcmUuaD4KKysjaW5jbHVkZSA8c3BhL3V0aWxzL3Jlc3VsdC5oPgorIAorICNp bmNsdWRlICJwaXBld2lyZS5oIgorIAorQEAgLTM2LDI3ICszNywyNSBAQCBzdGF0aWMgZ2Jvb2xl YW4gaXNfcGlwZXdpcmVfaW5pdGlhbGl6ZWQgPSBGQUxTRTsKKyBzdGF0aWMgdm9pZAorIHJlZ2lz dHJ5X2V2ZW50X2dsb2JhbCAodm9pZCAqdXNlcl9kYXRhLAorICAgICAgICAgICAgICAgICAgICAg ICAgdWludDMyX3QgaWQsCistICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBwYXJlbnRf aWQsCisgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBwZXJtaXNzaW9ucywKKy0gICAg ICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHR5cGUsCisrICAgICAgICAgICAgICAgICAgICAg ICBjb25zdCBjaGFyICp0eXBlLAorICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgdmVy c2lvbiwKKyAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBzcGFfZGljdCAqcHJv cHMpCisgeworICAgUGlwZVdpcmVSZW1vdGUgKnJlbW90ZSA9IHVzZXJfZGF0YTsKKy0gIHN0cnVj dCBwd190eXBlICpjb3JlX3R5cGUgPSBwd19jb3JlX2dldF90eXBlIChyZW1vdGUtPmNvcmUpOwor ICAgY29uc3Qgc3RydWN0IHNwYV9kaWN0X2l0ZW0gKmZhY3Rvcnlfb2JqZWN0X3R5cGU7CisgICBQ aXBlV2lyZUdsb2JhbCAqZ2xvYmFsOworIAorICAgZ2xvYmFsID0gZ19uZXcwIChQaXBlV2lyZUds b2JhbCwgMSk7CisgICAqZ2xvYmFsID0gKFBpcGVXaXJlR2xvYmFsKSB7CistICAgIC5wYXJlbnRf aWQgPSBwYXJlbnRfaWQsCisrICAgIC5wYXJlbnRfaWQgPSBpZCwKKyAgIH07CisgCisgICBnX2hh c2hfdGFibGVfaW5zZXJ0IChyZW1vdGUtPmdsb2JhbHMsIEdJTlRfVE9fUE9JTlRFUiAoaWQpLCBn bG9iYWwpOworICAgaWYgKHJlbW90ZS0+Z2xvYmFsX2FkZGVkX2NiKQorICAgICByZW1vdGUtPmds b2JhbF9hZGRlZF9jYiAocmVtb3RlLCBpZCwgdHlwZSwgcHJvcHMsIHJlbW90ZS0+dXNlcl9kYXRh KTsKKyAKKy0gIGlmICh0eXBlICE9IGNvcmVfdHlwZS0+ZmFjdG9yeSkKKysgIGlmIChzdHJjbXAo dHlwZSwgUFdfVFlQRV9JTlRFUkZBQ0VfRmFjdG9yeSkgIT0gMCkKKyAgICAgcmV0dXJuOworIAor ICAgZmFjdG9yeV9vYmplY3RfdHlwZSA9IHNwYV9kaWN0X2xvb2t1cF9pdGVtIChwcm9wcywgImZh Y3RvcnkudHlwZS5uYW1lIik7CitAQCAtODEsOCArODAsOCBAQCByZWdpc3RyeV9ldmVudF9nbG9i YWxfcmVtb3ZlICh2b2lkICp1c2VyX2RhdGEsCisgICBnX2hhc2hfdGFibGVfcmVtb3ZlIChyZW1v dGUtPmdsb2JhbHMsIEdJTlRfVE9fUE9JTlRFUiAoaWQpKTsKKyB9CisgCistc3RhdGljIGNvbnN0 IHN0cnVjdCBwd19yZWdpc3RyeV9wcm94eV9ldmVudHMgcmVnaXN0cnlfZXZlbnRzID0geworLSAg UFdfVkVSU0lPTl9SRUdJU1RSWV9QUk9YWV9FVkVOVFMsCisrc3RhdGljIGNvbnN0IHN0cnVjdCBw d19yZWdpc3RyeV9ldmVudHMgcmVnaXN0cnlfZXZlbnRzID0geworKyAgUFdfVkVSU0lPTl9SRUdJ U1RSWV9FVkVOVFMsCisgICAuZ2xvYmFsID0gcmVnaXN0cnlfZXZlbnRfZ2xvYmFsLAorICAgLmds b2JhbF9yZW1vdmUgPSByZWdpc3RyeV9ldmVudF9nbG9iYWxfcmVtb3ZlLAorIH07CitAQCAtOTAs NyArODksNyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IHB3X3JlZ2lzdHJ5X3Byb3h5X2V2ZW50cyBy ZWdpc3RyeV9ldmVudHMgPSB7Cisgdm9pZAorIHBpcGV3aXJlX3JlbW90ZV9yb3VuZHRyaXAgKFBp cGVXaXJlUmVtb3RlICpyZW1vdGUpCisgeworLSAgcHdfY29yZV9wcm94eV9zeW5jIChyZW1vdGUt PmNvcmVfcHJveHksICsrcmVtb3RlLT5zeW5jX3NlcSk7CisrICByZW1vdGUtPnN5bmNfc2VxID0g cHdfY29yZV9zeW5jIChyZW1vdGUtPmNvcmUsIFBXX0lEX0NPUkUsIHJlbW90ZS0+c3luY19zZXEp OworICAgcHdfbWFpbl9sb29wX3J1biAocmVtb3RlLT5sb29wKTsKKyB9CisgCitAQCAtOTgsMTYg Kzk3LDEzIEBAIHN0YXRpYyBnYm9vbGVhbgorIGRpc2NvdmVyX25vZGVfZmFjdG9yeV9zeW5jIChQ aXBlV2lyZVJlbW90ZSAqcmVtb3RlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHRXJy b3IgKiplcnJvcikKKyB7CistICBzdHJ1Y3QgcHdfdHlwZSAqY29yZV90eXBlID0gcHdfY29yZV9n ZXRfdHlwZSAocmVtb3RlLT5jb3JlKTsKKy0gIHN0cnVjdCBwd19yZWdpc3RyeV9wcm94eSAqcmVn aXN0cnlfcHJveHk7CisrICBzdHJ1Y3QgcHdfcmVnaXN0cnkgKnJlZ2lzdHJ5OworIAorLSAgcmVn aXN0cnlfcHJveHkgPSBwd19jb3JlX3Byb3h5X2dldF9yZWdpc3RyeSAocmVtb3RlLT5jb3JlX3By b3h5LAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29y ZV90eXBlLT5yZWdpc3RyeSwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIFBXX1ZFUlNJT05fUkVHSVNUUlksIDApOworLSAgcHdfcmVnaXN0cnlfcHJveHlf YWRkX2xpc3RlbmVyIChyZWdpc3RyeV9wcm94eSwKKy0gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgJnJlbW90ZS0+cmVnaXN0cnlfbGlzdGVuZXIsCistICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICZyZWdpc3RyeV9ldmVudHMsCistICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHJlbW90ZSk7CisrICByZWdpc3RyeSA9IHB3X2NvcmVfZ2V0X3JlZ2lzdHJ5 IChyZW1vdGUtPmNvcmUsIFBXX1ZFUlNJT05fUkVHSVNUUlksIDApOworKyAgcHdfcmVnaXN0cnlf YWRkX2xpc3RlbmVyIChyZWdpc3RyeSwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnJl bW90ZS0+cmVnaXN0cnlfbGlzdGVuZXIsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICZy ZWdpc3RyeV9ldmVudHMsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlbW90ZSk7Cisg CisgICBwaXBld2lyZV9yZW1vdGVfcm91bmR0cmlwIChyZW1vdGUpOworIAorQEAgLTEyMiw1OSAr MTE4LDM1IEBAIGRpc2NvdmVyX25vZGVfZmFjdG9yeV9zeW5jIChQaXBlV2lyZVJlbW90ZSAqcmVt b3RlLAorIH0KKyAKKyBzdGF0aWMgdm9pZAorLW9uX3N0YXRlX2NoYW5nZWQgKHZvaWQgKnVzZXJf ZGF0YSwKKy0gICAgICAgICAgICAgICAgICBlbnVtIHB3X3JlbW90ZV9zdGF0ZSBvbGQsCistICAg ICAgICAgICAgICAgICAgZW51bSBwd19yZW1vdGVfc3RhdGUgc3RhdGUsCistICAgICAgICAgICAg ICAgICAgY29uc3QgY2hhciAqZXJyb3IpCisrY29yZV9ldmVudF9lcnJvciAodm9pZCAgICAgICAq dXNlcl9kYXRhLAorKyAgICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgIGlkLAorKwkJICBpbnQg ICAgICAgICBzZXEsCisrCQkgIGludCAgICAgICAgIHJlcywKKysJCSAgY29uc3QgY2hhciAqbWVz c2FnZSkKKyB7CisgICBQaXBlV2lyZVJlbW90ZSAqcmVtb3RlID0gdXNlcl9kYXRhOworIAorLSAg c3dpdGNoIChzdGF0ZSkKKysgIGlmIChpZCA9PSBQV19JRF9DT1JFKQorICAgICB7CistICAgIGNh c2UgUFdfUkVNT1RFX1NUQVRFX0VSUk9SOgorLSAgICAgIGlmICghcmVtb3RlLT5lcnJvcikKKy0g ICAgICAgIHsKKy0gICAgICAgICAgZ19zZXRfZXJyb3IgKCZyZW1vdGUtPmVycm9yLCBHX0lPX0VS Uk9SLCBHX0lPX0VSUk9SX0ZBSUxFRCwKKy0gICAgICAgICAgICAgICAgICAgICAgICIlcyIsIGVy cm9yKTsKKy0gICAgICAgIH0KKysgICAgICBnX3NldF9lcnJvciAoJnJlbW90ZS0+ZXJyb3IsIEdf SU9fRVJST1IsIEdfSU9fRVJST1JfRkFJTEVELAorKyAgICAgICAgICAgICAgICAgIiVzIiwgbWVz c2FnZSk7CisgICAgICAgcHdfbWFpbl9sb29wX3F1aXQgKHJlbW90ZS0+bG9vcCk7CistICAgICAg YnJlYWs7CistICAgIGNhc2UgUFdfUkVNT1RFX1NUQVRFX1VOQ09OTkVDVEVEOgorLSAgICAgIGlm ICghcmVtb3RlLT5lcnJvcikKKy0gICAgICAgIHsKKy0gICAgICAgICAgZ19zZXRfZXJyb3IgKCZy ZW1vdGUtPmVycm9yLCBHX0lPX0VSUk9SLCBHX0lPX0VSUk9SX0ZBSUxFRCwKKy0gICAgICAgICAg ICAgICAgICAgICAgICJEaXNjb25uZWN0ZWQiKTsKKy0gICAgICAgIH0KKy0gICAgICBwd19tYWlu X2xvb3BfcXVpdCAocmVtb3RlLT5sb29wKTsKKy0gICAgICBicmVhazsKKy0gICAgY2FzZSBQV19S RU1PVEVfU1RBVEVfQ09OTkVDVElORzoKKy0gICAgICBicmVhazsKKy0gICAgY2FzZSBQV19SRU1P VEVfU1RBVEVfQ09OTkVDVEVEOgorLSAgICAgIHB3X21haW5fbG9vcF9xdWl0IChyZW1vdGUtPmxv b3ApOworLSAgICAgIGJyZWFrOworLSAgICBkZWZhdWx0OgorLSAgICAgIGdfd2FybmluZyAoIlVu a25vd24gUGlwZVdpcmUgc3RhdGUiKTsKKy0gICAgICBicmVhazsKKyAgICAgfQorIH0KKyAKKy1z dGF0aWMgY29uc3Qgc3RydWN0IHB3X3JlbW90ZV9ldmVudHMgcmVtb3RlX2V2ZW50cyA9IHsKKy0g IFBXX1ZFUlNJT05fUkVNT1RFX0VWRU5UUywKKy0gIC5zdGF0ZV9jaGFuZ2VkID0gb25fc3RhdGVf Y2hhbmdlZCwKKy19OworLQorIHN0YXRpYyB2b2lkCisgY29yZV9ldmVudF9kb25lICh2b2lkICp1 c2VyX2RhdGEsCistICAgICAgICAgICAgICAgICB1aW50MzJfdCBzZXEpCisrICAgICAgICAgICAg ICAgICB1aW50MzJfdCBpZCwgaW50IHNlcSkKKyB7CisgICBQaXBlV2lyZVJlbW90ZSAqcmVtb3Rl ID0gdXNlcl9kYXRhOworIAorLSAgaWYgKHJlbW90ZS0+c3luY19zZXEgPT0gc2VxKQorKyAgaWYg KGlkID09IFBXX0lEX0NPUkUgJiYgcmVtb3RlLT5zeW5jX3NlcSA9PSBzZXEpCisgICAgIHB3X21h aW5fbG9vcF9xdWl0IChyZW1vdGUtPmxvb3ApOworIH0KKyAKKy1zdGF0aWMgY29uc3Qgc3RydWN0 IHB3X2NvcmVfcHJveHlfZXZlbnRzIGNvcmVfZXZlbnRzID0geworLSAgUFdfVkVSU0lPTl9DT1JF X1BST1hZX0VWRU5UUywKKytzdGF0aWMgY29uc3Qgc3RydWN0IHB3X2NvcmVfZXZlbnRzIGNvcmVf ZXZlbnRzID0geworKyAgUFdfVkVSU0lPTl9DT1JFX0VWRU5UUywKKysgIC5lcnJvciA9IGNvcmVf ZXZlbnRfZXJyb3IsCisgICAuZG9uZSA9IGNvcmVfZXZlbnRfZG9uZSwKKyB9OworIAorQEAgLTIz Nyw4ICsyMDksOCBAQCB2b2lkCisgcGlwZXdpcmVfcmVtb3RlX2Rlc3Ryb3kgKFBpcGVXaXJlUmVt b3RlICpyZW1vdGUpCisgeworICAgZ19jbGVhcl9wb2ludGVyICgmcmVtb3RlLT5nbG9iYWxzLCBn X2hhc2hfdGFibGVfZGVzdHJveSk7CistICBnX2NsZWFyX3BvaW50ZXIgKCZyZW1vdGUtPnJlbW90 ZSwgcHdfcmVtb3RlX2Rlc3Ryb3kpOworLSAgZ19jbGVhcl9wb2ludGVyICgmcmVtb3RlLT5jb3Jl LCBwd19jb3JlX2Rlc3Ryb3kpOworKyAgZ19jbGVhcl9wb2ludGVyICgmcmVtb3RlLT5jb3JlLCBw d19jb3JlX2Rpc2Nvbm5lY3QpOworKyAgZ19jbGVhcl9wb2ludGVyICgmcmVtb3RlLT5jb250ZXh0 LCBwd19jb250ZXh0X2Rlc3Ryb3kpOworICAgZ19jbGVhcl9wb2ludGVyICgmcmVtb3RlLT5sb29w LCBwd19tYWluX2xvb3BfZGVzdHJveSk7CisgICBnX2NsZWFyX2Vycm9yICgmcmVtb3RlLT5lcnJv cik7CisgCitAQCAtMzA3LDY4ICsyNzksMzEgQEAgcGlwZXdpcmVfcmVtb3RlX25ld19zeW5jIChz dHJ1Y3QgcHdfcHJvcGVydGllcyAqcGlwZXdpcmVfcHJvcGVydGllcywKKyAgICAgICByZXR1cm4g TlVMTDsKKyAgICAgfQorIAorLSAgcmVtb3RlLT5jb3JlID0gcHdfY29yZV9uZXcgKHB3X21haW5f bG9vcF9nZXRfbG9vcCAocmVtb3RlLT5sb29wKSwgTlVMTCk7CistICBpZiAoIXJlbW90ZS0+Y29y ZSkKKysgIHJlbW90ZS0+Y29udGV4dCA9IHB3X2NvbnRleHRfbmV3IChwd19tYWluX2xvb3BfZ2V0 X2xvb3AgKHJlbW90ZS0+bG9vcCksIE5VTEwsIDApOworKyAgaWYgKCFyZW1vdGUtPmNvbnRleHQp CisgICAgIHsKKyAgICAgICBwaXBld2lyZV9yZW1vdGVfZGVzdHJveSAocmVtb3RlKTsKKyAgICAg ICBwd19wcm9wZXJ0aWVzX2ZyZWUgKHBpcGV3aXJlX3Byb3BlcnRpZXMpOworICAgICAgIGdfc2V0 X2Vycm9yIChlcnJvciwgR19JT19FUlJPUiwgR19JT19FUlJPUl9GQUlMRUQsCistICAgICAgICAg ICAgICAgICAgICJDb3VsZG4ndCBjcmVhdGUgUGlwZVdpcmUgY29yZSIpOworKyAgICAgICAgICAg ICAgICAgICAiQ291bGRuJ3QgY3JlYXRlIFBpcGVXaXJlIGNvbnRleHQiKTsKKyAgICAgICByZXR1 cm4gTlVMTDsKKyAgICAgfQorIAorLSAgcmVtb3RlLT5yZW1vdGUgPSBwd19yZW1vdGVfbmV3IChy ZW1vdGUtPmNvcmUsIHBpcGV3aXJlX3Byb3BlcnRpZXMsIDApOworLSAgaWYgKCFyZW1vdGUtPnJl bW90ZSkKKysgIHJlbW90ZS0+Y29yZSA9IHB3X2NvbnRleHRfY29ubmVjdCAocmVtb3RlLT5jb250 ZXh0LCBwaXBld2lyZV9wcm9wZXJ0aWVzLCAwKTsKKysgIGlmICghcmVtb3RlLT5jb3JlKQorICAg ICB7CisgICAgICAgcGlwZXdpcmVfcmVtb3RlX2Rlc3Ryb3kgKHJlbW90ZSk7CisgICAgICAgZ19z ZXRfZXJyb3IgKGVycm9yLCBHX0lPX0VSUk9SLCBHX0lPX0VSUk9SX0ZBSUxFRCwKKy0gICAgICAg ICAgICAgICAgICAgIkNvdWxkbid0IGNyZWF0ZSBQaXBlV2lyZSByZW1vdGUiKTsKKysgICAgICAg ICAgICAgICAgICAgIkNvdWxkbid0IGNvbm5lY3QgdG8gUGlwZVdpcmUiKTsKKyAgICAgICByZXR1 cm4gTlVMTDsKKyAgICAgfQorIAorICAgcmVtb3RlLT5nbG9iYWxzID0gZ19oYXNoX3RhYmxlX25l d19mdWxsIChOVUxMLCBOVUxMLCBOVUxMLCBnX2ZyZWUpOworIAorLSAgcHdfcmVtb3RlX2FkZF9s aXN0ZW5lciAocmVtb3RlLT5yZW1vdGUsCistICAgICAgICAgICAgICAgICAgICAgICAgICAmcmVt b3RlLT5yZW1vdGVfbGlzdGVuZXIsCistICAgICAgICAgICAgICAgICAgICAgICAgICAmcmVtb3Rl X2V2ZW50cywKKy0gICAgICAgICAgICAgICAgICAgICAgICAgIHJlbW90ZSk7CistCistICBpZiAo cHdfcmVtb3RlX2Nvbm5lY3QgKHJlbW90ZS0+cmVtb3RlKSAhPSAwKQorLSAgICB7CistICAgICAg cGlwZXdpcmVfcmVtb3RlX2Rlc3Ryb3kgKHJlbW90ZSk7CistICAgICAgZ19zZXRfZXJyb3IgKGVy cm9yLCBHX0lPX0VSUk9SLCBHX0lPX0VSUk9SX0ZBSUxFRCwKKy0gICAgICAgICAgICAgICAgICAg IkNvdWxkbid0IGNvbm5lY3QgUGlwZVdpcmUgcmVtb3RlIik7CistICAgICAgcmV0dXJuIE5VTEw7 CistICAgIH0KKy0KKy0gIHB3X21haW5fbG9vcF9ydW4gKHJlbW90ZS0+bG9vcCk7CistCistICBz d2l0Y2ggKHB3X3JlbW90ZV9nZXRfc3RhdGUgKHJlbW90ZS0+cmVtb3RlLCBOVUxMKSkKKy0gICAg eworLSAgICBjYXNlIFBXX1JFTU9URV9TVEFURV9FUlJPUjoKKy0gICAgY2FzZSBQV19SRU1PVEVf U1RBVEVfVU5DT05ORUNURUQ6CistICAgICAgKmVycm9yID0gZ19zdGVhbF9wb2ludGVyICgmcmVt b3RlLT5lcnJvcik7CistICAgICAgcGlwZXdpcmVfcmVtb3RlX2Rlc3Ryb3kgKHJlbW90ZSk7Cist ICAgICAgcmV0dXJuIE5VTEw7CistICAgIGNhc2UgUFdfUkVNT1RFX1NUQVRFX0NPTk5FQ1RJTkc6 CistICAgICAgZ19zZXRfZXJyb3IgKGVycm9yLCBHX0lPX0VSUk9SLCBHX0lPX0VSUk9SX0ZBSUxF RCwKKy0gICAgICAgICAgICAgICAgICAgIlBpcGVXaXJlIGxvb3Agc3RvcHBlZCB1bmV4cGVjdGVk bHkiKTsKKy0gICAgICBwaXBld2lyZV9yZW1vdGVfZGVzdHJveSAocmVtb3RlKTsKKy0gICAgICBy ZXR1cm4gTlVMTDsKKy0gICAgY2FzZSBQV19SRU1PVEVfU1RBVEVfQ09OTkVDVEVEOgorLSAgICAg IGJyZWFrOworLSAgICBkZWZhdWx0OgorLSAgICAgIGdfc2V0X2Vycm9yIChlcnJvciwgR19JT19F UlJPUiwgR19JT19FUlJPUl9GQUlMRUQsCistICAgICAgICAgICAgICAgICAgICJVbmV4cGVjdGVk IFBpcGVXaXJlIHN0YXRlIik7CistICAgICAgcGlwZXdpcmVfcmVtb3RlX2Rlc3Ryb3kgKHJlbW90 ZSk7CistICAgICAgcmV0dXJuIE5VTEw7CistICAgIH0KKy0KKy0gIHJlbW90ZS0+Y29yZV9wcm94 eSA9IHB3X3JlbW90ZV9nZXRfY29yZV9wcm94eSAocmVtb3RlLT5yZW1vdGUpOworLSAgcHdfY29y ZV9wcm94eV9hZGRfbGlzdGVuZXIgKHJlbW90ZS0+Y29yZV9wcm94eSwKKy0gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAmcmVtb3RlLT5jb3JlX2xpc3RlbmVyLAorLSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICZjb3JlX2V2ZW50cywKKy0gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICByZW1vdGUpOworKyAgcHdfY29yZV9hZGRfbGlzdGVuZXIgKHJlbW90ZS0+Y29yZSwKKysg ICAgICAgICAgICAgICAgICAgICAgICAmcmVtb3RlLT5jb3JlX2xpc3RlbmVyLAorKyAgICAgICAg ICAgICAgICAgICAgICAgICZjb3JlX2V2ZW50cywKKysgICAgICAgICAgICAgICAgICAgICAgICBy ZW1vdGUpOworIAorICAgaWYgKCFkaXNjb3Zlcl9ub2RlX2ZhY3Rvcnlfc3luYyAocmVtb3RlLCBl cnJvcikpCisgICAgIHsKK2RpZmYgLS1naXQgc3JjL3BpcGV3aXJlLmggc3JjL3BpcGV3aXJlLmgK K2luZGV4IDBmMWJmNTQuLmJmNDhkNWUgMTAwNjQ0CistLS0gc3JjL3BpcGV3aXJlLmgKKysrKyBz cmMvcGlwZXdpcmUuaAorQEAgLTMyLDcgKzMyLDcgQEAgdHlwZWRlZiBzdHJ1Y3QgX1BpcGVXaXJl R2xvYmFsCisgCisgdHlwZWRlZiB2b2lkICgqIFBpcGVXaXJlR2xvYmFsQWRkZWRDYWxsYmFjaykg KFBpcGVXaXJlUmVtb3RlICpyZW1vdGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHVpbnQzMl90IGlkLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCB0eXBlLAorKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICp0eXBlLAorICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3Qgc3BhX2RpY3Qg KnByb3BzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBn cG9pbnRlciB1c2VyX2RhdGEpOworIAorQEAgLTQzLDEzICs0MywxMSBAQCB0eXBlZGVmIHZvaWQg KCogUGlwZVdpcmVHbG9iYWxSZW1vdmVkQ2FsbGJhY2spIChQaXBlV2lyZVJlbW90ZSAqcmVtb3Rl LAorIHN0cnVjdCBfUGlwZVdpcmVSZW1vdGUKKyB7CisgICBzdHJ1Y3QgcHdfbWFpbl9sb29wICps b29wOworKyAgc3RydWN0IHB3X2NvbnRleHQgKmNvbnRleHQ7CisgICBzdHJ1Y3QgcHdfY29yZSAq Y29yZTsKKy0gIHN0cnVjdCBwd19yZW1vdGUgKnJlbW90ZTsKKy0gIHN0cnVjdCBzcGFfaG9vayBy ZW1vdGVfbGlzdGVuZXI7CistCistICBzdHJ1Y3QgcHdfY29yZV9wcm94eSAqY29yZV9wcm94eTsK KyAgIHN0cnVjdCBzcGFfaG9vayBjb3JlX2xpc3RlbmVyOworLSAgdWludDMyX3Qgc3luY19zZXE7 CisrCisrICBpbnQgc3luY19zZXE7CisgCisgICBzdHJ1Y3Qgc3BhX2hvb2sgcmVnaXN0cnlfbGlz dGVuZXI7CisgCitkaWZmIC0tZ2l0IHNyYy9zY3JlZW4tY2FzdC5jIHNyYy9zY3JlZW4tY2FzdC5j CitpbmRleCA3ODgxZGRjLi4xNjc3MDUwIDEwMDY0NAorLS0tIHNyYy9zY3JlZW4tY2FzdC5jCisr Kysgc3JjL3NjcmVlbi1jYXN0LmMKK0BAIC0zMSwxMCArMzEsMTAgQEAKKyAjaW5jbHVkZSAieGRw LWltcGwtZGJ1cy5oIgorICNpbmNsdWRlICJ4ZHAtdXRpbHMuaCIKKyAKKy0jZGVmaW5lIFBFUk1J U1NJT05fSVRFTShpdGVtX2tleSwgaXRlbV92YWx1ZSkgXAorLSAgKChzdHJ1Y3Qgc3BhX2RpY3Rf aXRlbSkgeyBcCistICAgIC5rZXkgPSBpdGVtX2tleSwgXAorLSAgICAudmFsdWUgPSBpdGVtX3Zh bHVlIFwKKysjZGVmaW5lIFBFUk1JU1NJT05fSVRFTShpdGVtX2lkLCBpdGVtX3Blcm1pc3Npb25z KSBcCisrICAoKHN0cnVjdCBwd19wZXJtaXNzaW9uKSB7IFwKKysgICAgLmlkID0gaXRlbV9pZCwg XAorKyAgICAucGVybWlzc2lvbnMgPSBpdGVtX3Blcm1pc3Npb25zIFwKKyAgIH0pCisgCisgdHlw ZWRlZiBzdHJ1Y3QgX1NjcmVlbkNhc3QgU2NyZWVuQ2FzdDsKK0BAIC01MTcsNDIgKzUxNyw5IEBA IHNjcmVlbl9jYXN0X3N0cmVhbV9nZXRfcGlwZXdpcmVfbm9kZV9pZCAoU2NyZWVuQ2FzdFN0cmVh bSAqc3RyZWFtKQorICAgcmV0dXJuIHN0cmVhbS0+aWQ7CisgfQorIAorLXN0YXRpYyB2b2lkCist YXBwZW5kX3BhcmVudF9wZXJtaXNzaW9ucyAoUGlwZVdpcmVSZW1vdGUgKnJlbW90ZSwKKy0gICAg ICAgICAgICAgICAgICAgICAgICAgICBHQXJyYXkgKnBlcm1pc3Npb25faXRlbXMsCistICAgICAg ICAgICAgICAgICAgICAgICAgICAgR0xpc3QgKipzdHJpbmdfc3Rhc2gsCistICAgICAgICAgICAg ICAgICAgICAgICAgICAgUGlwZVdpcmVHbG9iYWwgKmdsb2JhbCwKKy0gICAgICAgICAgICAgICAg ICAgICAgICAgICBjb25zdCBjaGFyICpwZXJtaXNzaW9uKQorLXsKKy0gIFBpcGVXaXJlR2xvYmFs ICpwYXJlbnQ7CistICBjaGFyICpwYXJlbnRfcGVybWlzc2lvbl92YWx1ZTsKKy0KKy0gIGlmIChn bG9iYWwtPnBhcmVudF9pZCA9PSAwKQorLSAgICByZXR1cm47CistCistICBwYXJlbnQgPSBnX2hh c2hfdGFibGVfbG9va3VwIChyZW1vdGUtPmdsb2JhbHMsIEdJTlRfVE9fUE9JTlRFUiAoZ2xvYmFs LT5wYXJlbnRfaWQpKTsKKy0KKy0gIGlmIChwYXJlbnQtPnBlcm1pc3Npb25fc2V0KQorLSAgICBy ZXR1cm47CistICBwYXJlbnQtPnBlcm1pc3Npb25fc2V0ID0gVFJVRTsKKy0KKy0gIGFwcGVuZF9w YXJlbnRfcGVybWlzc2lvbnMgKHJlbW90ZSwgcGVybWlzc2lvbl9pdGVtcywgc3RyaW5nX3N0YXNo LAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFyZW50LCBwZXJtaXNzaW9uKTsKKy0K Ky0gIHBhcmVudF9wZXJtaXNzaW9uX3ZhbHVlID0gZ19zdHJkdXBfcHJpbnRmICgiJXU6JXMiLAor LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdsb2JhbC0+cGFy ZW50X2lkLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBl cm1pc3Npb24pOworLSAgKnN0cmluZ19zdGFzaCA9IGdfbGlzdF9wcmVwZW5kICgqc3RyaW5nX3N0 YXNoLCBwYXJlbnRfcGVybWlzc2lvbl92YWx1ZSk7CistCistICBnX2FycmF5X2FwcGVuZF92YWwg KHBlcm1pc3Npb25faXRlbXMsCistICAgICAgICAgICAgICAgICAgICAgIFBFUk1JU1NJT05fSVRF TSAoUFdfQ09SRV9QUk9YWV9QRVJNSVNTSU9OU19HTE9CQUwsCistICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgcGFyZW50X3Blcm1pc3Npb25fdmFsdWUpKTsKKy19CistCisg c3RhdGljIHZvaWQKKyBhcHBlbmRfc3RyZWFtX3Blcm1pc3Npb25zIChQaXBlV2lyZVJlbW90ZSAq cmVtb3RlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdBcnJheSAqcGVybWlzc2lvbl9p dGVtcywKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICBHTGlzdCAqKnN0cmluZ19zdGFzaCwK KyAgICAgICAgICAgICAgICAgICAgICAgICAgICBHTGlzdCAqc3RyZWFtcykKKyB7CisgICBHTGlz dCAqbDsKK0BAIC01NjEsMjEgKzUyOCwxMCBAQCBhcHBlbmRfc3RyZWFtX3Blcm1pc3Npb25zIChQ aXBlV2lyZVJlbW90ZSAqcmVtb3RlLAorICAgICB7CisgICAgICAgU2NyZWVuQ2FzdFN0cmVhbSAq c3RyZWFtID0gbC0+ZGF0YTsKKyAgICAgICB1aW50MzJfdCBzdHJlYW1faWQ7CistICAgICAgUGlw ZVdpcmVHbG9iYWwgKnN0cmVhbV9nbG9iYWw7CistICAgICAgY2hhciAqc3RyZWFtX3Blcm1pc3Np b25fdmFsdWU7CisgCisgICAgICAgc3RyZWFtX2lkID0gc2NyZWVuX2Nhc3Rfc3RyZWFtX2dldF9w aXBld2lyZV9ub2RlX2lkIChzdHJlYW0pOworLSAgICAgIHN0cmVhbV9nbG9iYWwgPSBnX2hhc2hf dGFibGVfbG9va3VwIChyZW1vdGUtPmdsb2JhbHMsCistICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIEdJTlRfVE9fUE9JTlRFUiAoc3RyZWFtX2lkKSk7CistCistICAg ICAgYXBwZW5kX3BhcmVudF9wZXJtaXNzaW9ucyAocmVtb3RlLCBwZXJtaXNzaW9uX2l0ZW1zLCBz dHJpbmdfc3Rhc2gsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RyZWFtX2ds b2JhbCwgInItLSIpOworLQorLSAgICAgIHN0cmVhbV9wZXJtaXNzaW9uX3ZhbHVlID0gZ19zdHJk dXBfcHJpbnRmICgiJXU6cnd4Iiwgc3RyZWFtX2lkKTsKKy0gICAgICAqc3RyaW5nX3N0YXNoID0g Z19saXN0X3ByZXBlbmQgKCpzdHJpbmdfc3Rhc2gsIHN0cmVhbV9wZXJtaXNzaW9uX3ZhbHVlKTsK KyAgICAgICBnX2FycmF5X2FwcGVuZF92YWwgKHBlcm1pc3Npb25faXRlbXMsCistICAgICAgICAg ICAgICAgICAgICAgICAgICBQRVJNSVNTSU9OX0lURU0gKFBXX0NPUkVfUFJPWFlfUEVSTUlTU0lP TlNfR0xPQkFMLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBz dHJlYW1fcGVybWlzc2lvbl92YWx1ZSkpOworKyAgICAgICAgICAgICAgICAgICAgICAgICAgUEVS TUlTU0lPTl9JVEVNIChzdHJlYW1faWQsIFBXX1BFUk1fUldYKSk7CisgICAgIH0KKyB9CisgCitA QCAtNTg3LDkgKzU0Myw2IEBAIG9wZW5fcGlwZXdpcmVfc2NyZWVuX2Nhc3RfcmVtb3RlIChjb25z dCBjaGFyICphcHBfaWQsCisgICBzdHJ1Y3QgcHdfcHJvcGVydGllcyAqcGlwZXdpcmVfcHJvcGVy dGllczsKKyAgIFBpcGVXaXJlUmVtb3RlICpyZW1vdGU7CisgICBnX2F1dG9wdHIoR0FycmF5KSBw ZXJtaXNzaW9uX2l0ZW1zID0gTlVMTDsKKy0gIGNoYXIgKm5vZGVfZmFjdG9yeV9wZXJtaXNzaW9u X3N0cmluZzsKKy0gIEdMaXN0ICpzdHJpbmdfc3Rhc2ggPSBOVUxMOworLSAgc3RydWN0IHNwYV9k aWN0ICpwZXJtaXNzaW9uX2RpY3Q7CisgICBQaXBlV2lyZUdsb2JhbCAqbm9kZV9nbG9iYWw7Cisg CisgICBwaXBld2lyZV9wcm9wZXJ0aWVzID0gcHdfcHJvcGVydGllc19uZXcgKCJwaXBld2lyZS5h Y2Nlc3MucG9ydGFsLmFwcF9pZCIsIGFwcF9pZCwKK0BAIC02MDMsNDggKzU1NiwzMSBAQCBvcGVu X3BpcGV3aXJlX3NjcmVlbl9jYXN0X3JlbW90ZSAoY29uc3QgY2hhciAqYXBwX2lkLAorIAorICAg cGVybWlzc2lvbl9pdGVtcyA9IGdfYXJyYXlfbmV3IChGQUxTRSwgVFJVRSwgc2l6ZW9mIChzdHJ1 Y3Qgc3BhX2RpY3RfaXRlbSkpOworIAorLSAgLyoKKy0gICAqIEhpZGUgYWxsIGV4aXN0aW5nIGFu ZCBmdXR1cmUgbm9kZXMgKGV4Y2VwdCB0aGUgb25lcyB3ZSBleHBsaWNpdGx5IGxpc3QgYmVsb3cu CistICAgKi8KKy0gIGdfYXJyYXlfYXBwZW5kX3ZhbCAocGVybWlzc2lvbl9pdGVtcywKKy0gICAg ICAgICAgICAgICAgICAgICAgUEVSTUlTU0lPTl9JVEVNIChQV19DT1JFX1BST1hZX1BFUk1JU1NJ T05TX0VYSVNUSU5HLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIt LS0iKSk7CistICBnX2FycmF5X2FwcGVuZF92YWwgKHBlcm1pc3Npb25faXRlbXMsCistICAgICAg ICAgICAgICAgICAgICAgIFBFUk1JU1NJT05fSVRFTSAoUFdfQ09SRV9QUk9YWV9QRVJNSVNTSU9O U19ERUZBVUxULAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICItLS0i KSk7CistCisgICAvKgorICAgICogUGlwZVdpcmU6SW50ZXJmYWNlOkNvcmUKKyAgICAqIE5lZWRz IHJ3eCB0byBiZSBhYmxlIGNyZWF0ZSB0aGUgc2luayBub2RlIHVzaW5nIHRoZSBjcmVhdGUtb2Jq ZWN0IG1ldGhvZAorICAgICovCisgICBnX2FycmF5X2FwcGVuZF92YWwgKHBlcm1pc3Npb25faXRl bXMsCistICAgICAgICAgICAgICAgICAgICAgIFBFUk1JU1NJT05fSVRFTSAoUFdfQ09SRV9QUk9Y WV9QRVJNSVNTSU9OU19HTE9CQUwsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIjA6cnd4IikpOworKyAgICAgICAgICAgICAgICAgICAgICBQRVJNSVNTSU9OX0lURU0g KFBXX0lEX0NPUkUsIFBXX1BFUk1fUldYKSk7CisgCisgICAvKgorICAgICogUGlwZVdpcmU6SW50 ZXJmYWNlOk5vZGVGYWN0b3J5CisgICAgKiBOZWVkcyByLS0gc28gaXQgY2FuIGJlIHBhc3NlZCB0 byBjcmVhdGUtb2JqZWN0IHdoZW4gY3JlYXRpbmcgdGhlIHNpbmsgbm9kZS4KKyAgICAqLworLSAg bm9kZV9mYWN0b3J5X3Blcm1pc3Npb25fc3RyaW5nID0gZ19zdHJkdXBfcHJpbnRmICgiJWQ6ci0t IiwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg cmVtb3RlLT5ub2RlX2ZhY3RvcnlfaWQpOworLSAgc3RyaW5nX3N0YXNoID0gZ19saXN0X3ByZXBl bmQgKHN0cmluZ19zdGFzaCwgbm9kZV9mYWN0b3J5X3Blcm1pc3Npb25fc3RyaW5nKTsKKyAgIGdf YXJyYXlfYXBwZW5kX3ZhbCAocGVybWlzc2lvbl9pdGVtcywKKy0gICAgICAgICAgICAgICAgICAg ICAgUEVSTUlTU0lPTl9JVEVNIChQV19DT1JFX1BST1hZX1BFUk1JU1NJT05TX0dMT0JBTCwKKy0g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBub2RlX2ZhY3RvcnlfcGVybWlz c2lvbl9zdHJpbmcpKTsKKy0gIG5vZGVfZ2xvYmFsID0gZ19oYXNoX3RhYmxlX2xvb2t1cCAocmVt b3RlLT5nbG9iYWxzLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHSU5U X1RPX1BPSU5URVIgKHJlbW90ZS0+bm9kZV9mYWN0b3J5X2lkKSk7CistICBhcHBlbmRfcGFyZW50 X3Blcm1pc3Npb25zIChyZW1vdGUsIHBlcm1pc3Npb25faXRlbXMsICZzdHJpbmdfc3Rhc2gsCist ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBub2RlX2dsb2JhbCwgInItLSIpOworKyAgICAg ICAgICAgICAgICAgICAgICBQRVJNSVNTSU9OX0lURU0gKHJlbW90ZS0+bm9kZV9mYWN0b3J5X2lk LCBQV19QRVJNX1IpKTsKKyAKKy0gIGFwcGVuZF9zdHJlYW1fcGVybWlzc2lvbnMgKHJlbW90ZSwg cGVybWlzc2lvbl9pdGVtcywgJnN0cmluZ19zdGFzaCwgc3RyZWFtcyk7CisrICBhcHBlbmRfc3Ry ZWFtX3Blcm1pc3Npb25zIChyZW1vdGUsIHBlcm1pc3Npb25faXRlbXMsIHN0cmVhbXMpOworIAor LSAgcGVybWlzc2lvbl9kaWN0ID0KKy0gICAgJlNQQV9ESUNUX0lOSVQgKChzdHJ1Y3Qgc3BhX2Rp Y3RfaXRlbSAqKSBwZXJtaXNzaW9uX2l0ZW1zLT5kYXRhLAorLSAgICAgICAgICAgICAgICAgICAg cGVybWlzc2lvbl9pdGVtcy0+bGVuKTsKKy0gIHB3X2NvcmVfcHJveHlfcGVybWlzc2lvbnMgKHB3 X3JlbW90ZV9nZXRfY29yZV9wcm94eSAocmVtb3RlLT5yZW1vdGUpLAorLSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgcGVybWlzc2lvbl9kaWN0KTsKKysgIC8qCisrICAgKiBIaWRlIGFsbCBl eGlzdGluZyBhbmQgZnV0dXJlIG5vZGVzIChleGNlcHQgdGhlIG9uZXMgd2UgZXhwbGljaXRseSBs aXN0IGFib3ZlKS4KKysgICAqLworKyAgZ19hcnJheV9hcHBlbmRfdmFsIChwZXJtaXNzaW9uX2l0 ZW1zLAorKyAgICAgICAgICAgICAgICAgICAgICBQRVJNSVNTSU9OX0lURU0gKFBXX0lEX0FOWSwg MCkpOworIAorLSAgZ19saXN0X2ZyZWVfZnVsbCAoc3RyaW5nX3N0YXNoLCBnX2ZyZWUpOworKyAg cHdfY2xpZW50X3VwZGF0ZV9wZXJtaXNzaW9ucyAocHdfY29yZV9nZXRfY2xpZW50KHJlbW90ZS0+ Y29yZSksCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwZXJtaXNzaW9uX2l0ZW1z LT5sZW4sCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY29uc3Qgc3RydWN0IHB3 X3Blcm1pc3Npb24gKilwZXJtaXNzaW9uX2l0ZW1zLT5kYXRhKTsKKyAKKyAgIHBpcGV3aXJlX3Jl bW90ZV9yb3VuZHRyaXAgKHJlbW90ZSk7CisgCitAQCAtOTQzLDcgKzg3OSw3IEBAIGhhbmRsZV9v cGVuX3BpcGV3aXJlX3JlbW90ZSAoWGRwU2NyZWVuQ2FzdCAqb2JqZWN0LAorICAgICB9CisgCisg ICBvdXRfZmRfbGlzdCA9IGdfdW5peF9mZF9saXN0X25ldyAoKTsKKy0gIGZkID0gcHdfcmVtb3Rl X3N0ZWFsX2ZkIChyZW1vdGUtPnJlbW90ZSk7CisrICBmZCA9IHB3X2NvcmVfc3RlYWxfZmQgKHJl bW90ZS0+Y29yZSk7CisgICBmZF9pZCA9IGdfdW5peF9mZF9saXN0X2FwcGVuZCAob3V0X2ZkX2xp c3QsIGZkLCAmZXJyb3IpOworICAgY2xvc2UgKGZkKTsKKyAgIHBpcGV3aXJlX3JlbW90ZV9kZXN0 cm95IChyZW1vdGUpOwpkaWZmIC0tZ2l0IGEvc3JjcGtncy94ZGctZGVza3RvcC1wb3J0YWwvdGVt cGxhdGUgYi9zcmNwa2dzL3hkZy1kZXNrdG9wLXBvcnRhbC90ZW1wbGF0ZQppbmRleCBlYjhhNDYw MmY1ZC4uMTEzNmI2YTZlMGUgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MveGRnLWRlc2t0b3AtcG9ydGFs L3RlbXBsYXRlCisrKyBiL3NyY3BrZ3MveGRnLWRlc2t0b3AtcG9ydGFsL3RlbXBsYXRlCkBAIC0x LDEwICsxLDEwIEBACiAjIFRlbXBsYXRlIGZpbGUgZm9yICd4ZGctZGVza3RvcC1wb3J0YWwnCiBw a2duYW1lPXhkZy1kZXNrdG9wLXBvcnRhbAogdmVyc2lvbj0xLjYuMAotcmV2aXNpb249MQorcmV2 aXNpb249MgogYnVpbGRfc3R5bGU9Z251LWNvbmZpZ3VyZQogY29uZmlndXJlX2FyZ3M9Ii0tZW5h YmxlLXBpcGV3aXJlIC0tZW5hYmxlLWdlb2NsdWUgLS1kaXNhYmxlLWxpYnBvcnRhbCIKLWhvc3Rt YWtlZGVwZW5kcz0icGtnLWNvbmZpZyBnbGliLWRldmVsIgoraG9zdG1ha2VkZXBlbmRzPSJhdXRv bWFrZSBsaWJ0b29sIGdldHRleHQtZGV2ZWwgcGtnLWNvbmZpZyBnbGliLWRldmVsIgogbWFrZWRl cGVuZHM9ImZsYXRwYWstZGV2ZWwgZnVzZS1kZXZlbCBwaXBld2lyZS1kZXZlbCBnZW9jbHVlMi1k ZXZlbCIKIHNob3J0X2Rlc2M9IlBvcnRhbCBmcm9udGVuZCBzZXJ2aWNlIGZvciBGbGF0cGFrIgog bWFpbnRhaW5lcj0iRHVuY2FlbiA8ZHVuY2FlbkB2b2lkbGludXgub3JnPiIKQEAgLTEzLDYgKzEz LDEwIEBAIGhvbWVwYWdlPSJodHRwczovL2dpdGh1Yi5jb20vZmxhdHBhay94ZGctZGVza3RvcC1w b3J0YWwiCiBkaXN0ZmlsZXM9Imh0dHBzOi8vZ2l0aHViLmNvbS9mbGF0cGFrLyR7cGtnbmFtZX0v cmVsZWFzZXMvZG93bmxvYWQvJHt2ZXJzaW9ufS8ke3BrZ25hbWV9LSR7dmVyc2lvbn0udGFyLnh6 IgogY2hlY2tzdW09ODgzYzljOWE5MjVlNDhhZjU0ODEyYjUzNDdmNTQ2ZGQ3NzZlYzJlMjcwNzZh ODNkNWE4MTI2YWY2YmFmYjlkYQogCitwcmVfY29uZmlndXJlKCkgeworCWF1dG9yZWNvbmYgLXZm aQorfQorCiBwb3N0X2luc3RhbGwoKSB7CiAJcm0gLXJmICIke0RFU1RESVJ9L3Vzci9saWIvc3lz dGVtZCIKIH0KCkZyb20gNmNkMTE0ZDIyYzYwZTk5ZmI0MDZjMDU0YzFlZTMwMDk2NTc2NWRmYSBN b24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogS3JpZHNhZGEgVGhhbmFidWxwb25nIDxzaXJu QG9nc2l0ZS5uZXQ+CkRhdGU6IFRodSwgMzAgQXByIDIwMjAgMDY6MTc6MTcgKzA5MDAKU3ViamVj dDogW1BBVENIIDQvNF0gbXV0dGVyOiByZWJ1aWxkIGZvciBwaXBld2lyZS0wLjMKCi0tLQogc3Jj cGtncy9tdXR0ZXIvcGF0Y2hlcy9waXBld2lyZS0wLjMucGF0Y2ggfCA1MjEgKysrKysrKysrKysr KysrKysrKysrKwogc3JjcGtncy9tdXR0ZXIvdGVtcGxhdGUgICAgICAgICAgICAgICAgICAgfCAg IDIgKy0KIDIgZmlsZXMgY2hhbmdlZCwgNTIyIGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkK IGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL211dHRlci9wYXRjaGVzL3BpcGV3aXJlLTAuMy5w YXRjaAoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvbXV0dGVyL3BhdGNoZXMvcGlwZXdpcmUtMC4zLnBh dGNoIGIvc3JjcGtncy9tdXR0ZXIvcGF0Y2hlcy9waXBld2lyZS0wLjMucGF0Y2gKbmV3IGZpbGUg bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLmViZmY2NWZiYTg1Ci0tLSAvZGV2L251bGwK KysrIGIvc3JjcGtncy9tdXR0ZXIvcGF0Y2hlcy9waXBld2lyZS0wLjMucGF0Y2gKQEAgLTAsMCAr MSw1MjEgQEAKK0J1aWxkIG11dHRlciBhZ2FpbnN0IHBpcGV3aXJlLTAuMywgYmFzZWQgb24gYSBw YXRjaCBhdDoKK2h0dHBzOi8vZ2l0bGFiLmdub21lLm9yZy9HTk9NRS9tdXR0ZXIvLS9tZXJnZV9y ZXF1ZXN0cy8xMDYyCistLS0gbWVzb24uYnVpbGQKKysrKyBtZXNvbi5idWlsZAorQEAgLTUwLDcg KzUwLDcgQEAgbGliaW5wdXRfcmVxID0gJz49IDEuNycKKyBnYm1fcmVxID0gJz49IDEwLjMnCisK KyAjIHNjcmVlbiBjYXN0IHZlcnNpb24gcmVxdWlyZW1lbnRzCistbGlicGlwZXdpcmVfcmVxID0g Jz49IDAuMi41JworK2xpYnBpcGV3aXJlX3JlcSA9ICc+PSAwLjMuMCcKKworIGdub21lID0gaW1w b3J0KCdnbm9tZScpCisgcGtnID0gaW1wb3J0KCdwa2djb25maWcnKQorQEAgLTI0MSw3ICsyNDEs NyBAQCBlbmRpZgorCisgaGF2ZV9yZW1vdGVfZGVza3RvcCA9IGdldF9vcHRpb24oJ3JlbW90ZV9k ZXNrdG9wJykKKyBpZiBoYXZlX3JlbW90ZV9kZXNrdG9wCistICBsaWJwaXBld2lyZV9kZXAgPSBk ZXBlbmRlbmN5KCdsaWJwaXBld2lyZS0wLjInLCB2ZXJzaW9uOiBsaWJwaXBld2lyZV9yZXEpCisr ICBsaWJwaXBld2lyZV9kZXAgPSBkZXBlbmRlbmN5KCdsaWJwaXBld2lyZS0wLjMnLCB2ZXJzaW9u OiBsaWJwaXBld2lyZV9yZXEpCisgZW5kaWYKKworIGhhdmVfaW50cm9zcGVjdGlvbiA9IGdldF9v cHRpb24oJ2ludHJvc3BlY3Rpb24nKQorZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kcy9tZXRhLXNj cmVlbi1jYXN0LXN0cmVhbS1zcmMuYyBiL3NyYy9iYWNrZW5kcy9tZXRhLXNjcmVlbi1jYXN0LXN0 cmVhbS1zcmMuYworaW5kZXggODJjNWNiYTQzNi4uYmExY2U5NGE3ZSAxMDA2NDQKKy0tLSBzcmMv YmFja2VuZHMvbWV0YS1zY3JlZW4tY2FzdC1zdHJlYW0tc3JjLmMKKysrKyBzcmMvYmFja2VuZHMv bWV0YS1zY3JlZW4tY2FzdC1zdHJlYW0tc3JjLmMKK0BAIC0yOSw2ICsyOSw3IEBACisgI2luY2x1 ZGUgPHNwYS9wYXJhbS9wcm9wcy5oPgorICNpbmNsdWRlIDxzcGEvcGFyYW0vZm9ybWF0LXV0aWxz Lmg+CisgI2luY2x1ZGUgPHNwYS9wYXJhbS92aWRlby9mb3JtYXQtdXRpbHMuaD4KKysjaW5jbHVk ZSA8c3BhL3V0aWxzL3Jlc3VsdC5oPgorICNpbmNsdWRlIDxzdGRpbnQuaD4KKyAjaW5jbHVkZSA8 c3lzL21tYW4uaD4KKworQEAgLTYyLDE1ICs2Myw2IEBAIGVudW0KKworIHN0YXRpYyBndWludCBz aWduYWxzW05fU0lHTkFMU107CisKKy10eXBlZGVmIHN0cnVjdCBfTWV0YVNwYVR5cGUKKy17Cist ICBzdHJ1Y3Qgc3BhX3R5cGVfbWVkaWFfdHlwZSBtZWRpYV90eXBlOworLSAgc3RydWN0IHNwYV90 eXBlX21lZGlhX3N1YnR5cGUgbWVkaWFfc3VidHlwZTsKKy0gIHN0cnVjdCBzcGFfdHlwZV9mb3Jt YXRfdmlkZW8gZm9ybWF0X3ZpZGVvOworLSAgc3RydWN0IHNwYV90eXBlX3ZpZGVvX2Zvcm1hdCB2 aWRlb19mb3JtYXQ7CistICB1aW50MzJfdCBtZXRhX2N1cnNvcjsKKy19IE1ldGFTcGFUeXBlOwor LQorIHR5cGVkZWYgc3RydWN0IF9NZXRhUGlwZVdpcmVTb3VyY2UKKyB7CisgICBHU291cmNlIGJh c2U7CitAQCAtODIsMTkgKzc0LDE5IEBAIHR5cGVkZWYgc3RydWN0IF9NZXRhU2NyZWVuQ2FzdFN0 cmVhbVNyY1ByaXZhdGUKKyB7CisgICBNZXRhU2NyZWVuQ2FzdFN0cmVhbSAqc3RyZWFtOworCisr ICBzdHJ1Y3QgcHdfY29udGV4dCAqcGlwZXdpcmVfY29udGV4dDsKKyAgIHN0cnVjdCBwd19jb3Jl ICpwaXBld2lyZV9jb3JlOworLSAgc3RydWN0IHB3X3JlbW90ZSAqcGlwZXdpcmVfcmVtb3RlOwor LSAgc3RydWN0IHB3X3R5cGUgKnBpcGV3aXJlX3R5cGU7CisgICBNZXRhUGlwZVdpcmVTb3VyY2Ug KnBpcGV3aXJlX3NvdXJjZTsKKy0gIHN0cnVjdCBzcGFfaG9vayBwaXBld2lyZV9yZW1vdGVfbGlz dGVuZXI7CisrICBzdHJ1Y3Qgc3BhX2hvb2sgcGlwZXdpcmVfY29yZV9saXN0ZW5lcjsKKworICAg Z2Jvb2xlYW4gaXNfZW5hYmxlZDsKKworICAgc3RydWN0IHB3X3N0cmVhbSAqcGlwZXdpcmVfc3Ry ZWFtOworICAgc3RydWN0IHNwYV9ob29rIHBpcGV3aXJlX3N0cmVhbV9saXN0ZW5lcjsKKysgIHVp bnQzMl90IG5vZGVfaWQ7CisKKy0gIE1ldGFTcGFUeXBlIHNwYV90eXBlOworICAgc3RydWN0IHNw YV92aWRlb19pbmZvX3JhdyB2aWRlb19mb3JtYXQ7CisrICBpbnQgdmlkZW9fc3RyaWRlOworCisg ICB1aW50NjRfdCBsYXN0X2ZyYW1lX3RpbWVzdGFtcF91czsKKworQEAgLTExMiw4ICsxMDQsNiBA QCBHX0RFRklORV9UWVBFX1dJVEhfQ09ERSAoTWV0YVNjcmVlbkNhc3RTdHJlYW1TcmMsCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWV0YV9zY3JlZW5f Y2FzdF9zdHJlYW1fc3JjX2luaXRfaW5pdGFibGVfaWZhY2UpCisgICAgICAgICAgICAgICAgICAg ICAgICAgIEdfQUREX1BSSVZBVEUgKE1ldGFTY3JlZW5DYXN0U3RyZWFtU3JjKSkKKworLSNkZWZp bmUgUFJPUF9SQU5HRShtaW4sIG1heCkgMiwgKG1pbiksIChtYXgpCistCisgc3RhdGljIHZvaWQK KyBtZXRhX3NjcmVlbl9jYXN0X3N0cmVhbV9zcmNfZ2V0X3NwZWNzIChNZXRhU2NyZWVuQ2FzdFN0 cmVhbVNyYyAqc3JjLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu dCAgICAgICAgICAgICAgICAgICAgICp3aWR0aCwKK0BAIC0yODYsOSArMjc2LDYgQEAgbWV0YV9z Y3JlZW5fY2FzdF9zdHJlYW1fc3JjX3NldF9lbXB0eV9jdXJzb3Jfc3ByaXRlX21ldGFkYXRhIChN ZXRhU2NyZWVuQ2FzdFN0cmUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGludCAgICAgICAgICAgICAgICAgICAgICB4LAorICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgaW50ICAgICAgICAgICAgICAgICAgICAgIHkpCisgeworLSAgTWV0YVNjcmVlbkNhc3RTdHJl YW1TcmNQcml2YXRlICpwcml2ID0KKy0gICAgbWV0YV9zY3JlZW5fY2FzdF9zdHJlYW1fc3JjX2dl dF9pbnN0YW5jZV9wcml2YXRlIChzcmMpOworLSAgTWV0YVNwYVR5cGUgKnNwYV90eXBlID0gJnBy aXYtPnNwYV90eXBlOworICAgc3RydWN0IHNwYV9tZXRhX2JpdG1hcCAqc3BhX21ldGFfYml0bWFw OworCisgICBzcGFfbWV0YV9jdXJzb3ItPmlkID0gMTsKK0BAIC0zMDAsNyArMjg3LDcgQEAgbWV0 YV9zY3JlZW5fY2FzdF9zdHJlYW1fc3JjX3NldF9lbXB0eV9jdXJzb3Jfc3ByaXRlX21ldGFkYXRh IChNZXRhU2NyZWVuQ2FzdFN0cmUKKyAgIHNwYV9tZXRhX2JpdG1hcCA9IFNQQV9NRU1CRVIgKHNw YV9tZXRhX2N1cnNvciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNwYV9tZXRh X2N1cnNvci0+Yml0bWFwX29mZnNldCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHN0cnVjdCBzcGFfbWV0YV9iaXRtYXApOworLSAgc3BhX21ldGFfYml0bWFwLT5mb3JtYXQgPSBz cGFfdHlwZS0+dmlkZW9fZm9ybWF0LlJHQkE7CisrICBzcGFfbWV0YV9iaXRtYXAtPmZvcm1hdCA9 IFNQQV9WSURFT19GT1JNQVRfUkdCQTsKKyAgIHNwYV9tZXRhX2JpdG1hcC0+b2Zmc2V0ID0gc2l6 ZW9mIChzdHJ1Y3Qgc3BhX21ldGFfYml0bWFwKTsKKworICAgc3BhX21ldGFfY3Vyc29yLT5ob3Rz cG90LnggPSAwOworQEAgLTMxNyw5ICszMDQsNiBAQCBtZXRhX3NjcmVlbl9jYXN0X3N0cmVhbV9z cmNfc2V0X2N1cnNvcl9zcHJpdGVfbWV0YWRhdGEgKE1ldGFTY3JlZW5DYXN0U3RyZWFtU3JjCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp bnQgICAgICAgICAgICAgICAgICAgICAgeSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsb2F0ICAgICAgICAgICAgICAgICAgICBzY2Fs ZSkKKyB7CistICBNZXRhU2NyZWVuQ2FzdFN0cmVhbVNyY1ByaXZhdGUgKnByaXYgPQorLSAgICBt ZXRhX3NjcmVlbl9jYXN0X3N0cmVhbV9zcmNfZ2V0X2luc3RhbmNlX3ByaXZhdGUgKHNyYyk7Cist ICBNZXRhU3BhVHlwZSAqc3BhX3R5cGUgPSAmcHJpdi0+c3BhX3R5cGU7CisgICBDb2dsVGV4dHVy ZSAqY3Vyc29yX3RleHR1cmU7CisgICBzdHJ1Y3Qgc3BhX21ldGFfYml0bWFwICpzcGFfbWV0YV9i aXRtYXA7CisgICBpbnQgaG90c3BvdF94LCBob3RzcG90X3k7CitAQCAtMzQ2LDcgKzMzMCw3IEBA IG1ldGFfc2NyZWVuX2Nhc3Rfc3RyZWFtX3NyY19zZXRfY3Vyc29yX3Nwcml0ZV9tZXRhZGF0YSAo TWV0YVNjcmVlbkNhc3RTdHJlYW1TcmMKKyAgIHNwYV9tZXRhX2JpdG1hcCA9IFNQQV9NRU1CRVIg KHNwYV9tZXRhX2N1cnNvciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNwYV9t ZXRhX2N1cnNvci0+Yml0bWFwX29mZnNldCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHN0cnVjdCBzcGFfbWV0YV9iaXRtYXApOworLSAgc3BhX21ldGFfYml0bWFwLT5mb3JtYXQg PSBzcGFfdHlwZS0+dmlkZW9fZm9ybWF0LlJHQkE7CisrICBzcGFfbWV0YV9iaXRtYXAtPmZvcm1h dCA9IFNQQV9WSURFT19GT1JNQVRfUkdCQTsKKyAgIHNwYV9tZXRhX2JpdG1hcC0+b2Zmc2V0ID0g c2l6ZW9mIChzdHJ1Y3Qgc3BhX21ldGFfYml0bWFwKTsKKworICAgbWV0YV9jdXJzb3Jfc3ByaXRl X2dldF9ob3RzcG90IChjdXJzb3Jfc3ByaXRlLCAmaG90c3BvdF94LCAmaG90c3BvdF95KTsKK0BA IC0zODIsMTIgKzM2NiwxMCBAQCBzdGF0aWMgdm9pZAorIGFkZF9jdXJzb3JfbWV0YWRhdGEgKE1l dGFTY3JlZW5DYXN0U3RyZWFtU3JjICpzcmMsCisgICAgICAgICAgICAgICAgICAgICAgc3RydWN0 IHNwYV9idWZmZXIgICAgICAgKnNwYV9idWZmZXIpCisgeworLSAgTWV0YVNjcmVlbkNhc3RTdHJl YW1TcmNQcml2YXRlICpwcml2ID0KKy0gICAgbWV0YV9zY3JlZW5fY2FzdF9zdHJlYW1fc3JjX2dl dF9pbnN0YW5jZV9wcml2YXRlIChzcmMpOworLSAgTWV0YVNwYVR5cGUgKnNwYV90eXBlID0gJnBy aXYtPnNwYV90eXBlOworICAgc3RydWN0IHNwYV9tZXRhX2N1cnNvciAqc3BhX21ldGFfY3Vyc29y OworCistICBzcGFfbWV0YV9jdXJzb3IgPSBzcGFfYnVmZmVyX2ZpbmRfbWV0YSAoc3BhX2J1ZmZl ciwgc3BhX3R5cGUtPm1ldGFfY3Vyc29yKTsKKysgIHNwYV9tZXRhX2N1cnNvciA9IHNwYV9idWZm ZXJfZmluZF9tZXRhX2RhdGEgKHNwYV9idWZmZXIsIFNQQV9NRVRBX0N1cnNvciwKKysgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVvZiAoKnNwYV9tZXRh X2N1cnNvcikpOworICAgaWYgKHNwYV9tZXRhX2N1cnNvcikKKyAgICAgbWV0YV9zY3JlZW5fY2Fz dF9zdHJlYW1fc3JjX3NldF9jdXJzb3JfbWV0YWRhdGEgKHNyYywgc3BhX21ldGFfY3Vyc29yKTsK KyB9CitAQCAtNDQ3LDE0ICs0MjksMTQgQEAgbWV0YV9zY3JlZW5fY2FzdF9zdHJlYW1fc3JjX21h eWJlX3JlY29yZF9mcmFtZSAoTWV0YVNjcmVlbkNhc3RTdHJlYW1TcmMgKnNyYykKKyAgICAgewor ICAgICAgIGRhdGEgPSBzcGFfYnVmZmVyLT5kYXRhc1swXS5kYXRhOworICAgICB9CistICBlbHNl IGlmIChzcGFfYnVmZmVyLT5kYXRhc1swXS50eXBlID09IHByaXYtPnBpcGV3aXJlX3R5cGUtPmRh dGEuTWVtRmQpCisrICBlbHNlIGlmIChzcGFfYnVmZmVyLT5kYXRhc1swXS50eXBlID09IFNQQV9E QVRBX01lbUZkKQorICAgICB7CisgICAgICAgbWFwID0gbW1hcCAoTlVMTCwgc3BhX2J1ZmZlci0+ ZGF0YXNbMF0ubWF4c2l6ZSArIHNwYV9idWZmZXItPmRhdGFzWzBdLm1hcG9mZnNldCwKKyAgICAg ICAgICAgICAgICAgICBQUk9UX1JFQUQgfCBQUk9UX1dSSVRFLCBNQVBfU0hBUkVELAorICAgICAg ICAgICAgICAgICAgIHNwYV9idWZmZXItPmRhdGFzWzBdLmZkLCAwKTsKKyAgICAgICBpZiAobWFw ID09IE1BUF9GQUlMRUQpCisgICAgICAgICB7CistICAgICAgICAgIGdfd2FybmluZyAoIkZhaWxl ZCB0byBtbWFwIHBpcGV3aXJlIHN0cmVhbSBidWZmZXI6ICVzXG4iLAorKyAgICAgICAgICBnX3dh cm5pbmcgKCJGYWlsZWQgdG8gbW1hcCBwaXBld2lyZSBzdHJlYW0gYnVmZmVyOiAlcyIsCisgICAg ICAgICAgICAgICAgICAgICAgc3RyZXJyb3IgKGVycm5vKSk7CisgICAgICAgICAgIHJldHVybjsK KyAgICAgICAgIH0KK0BAIC00NjksMjggKzQ1MSwzMCBAQCBtZXRhX3NjcmVlbl9jYXN0X3N0cmVh bV9zcmNfbWF5YmVfcmVjb3JkX2ZyYW1lIChNZXRhU2NyZWVuQ2FzdFN0cmVhbVNyYyAqc3JjKQor CisgICBpZiAobWV0YV9zY3JlZW5fY2FzdF9zdHJlYW1fc3JjX3JlY29yZF9mcmFtZSAoc3JjLCBk YXRhKSkKKyAgICAgeworLSAgICAgIHN0cnVjdCBzcGFfbWV0YV92aWRlb19jcm9wICpzcGFfbWV0 YV92aWRlb19jcm9wOworKyAgICAgIHN0cnVjdCBzcGFfbWV0YV9yZWdpb24gKnNwYV9tZXRhX3Zp ZGVvX2Nyb3A7CisKKyAgICAgICBzcGFfYnVmZmVyLT5kYXRhc1swXS5jaHVuay0+c2l6ZSA9IHNw YV9idWZmZXItPmRhdGFzWzBdLm1heHNpemU7CisrICAgICAgc3BhX2J1ZmZlci0+ZGF0YXNbMF0u Y2h1bmstPnN0cmlkZSA9IHByaXYtPnZpZGVvX3N0cmlkZTsKKworICAgICAgIC8qIFVwZGF0ZSBW aWRlb0Nyb3AgaWYgbmVlZGVkICovCisgICAgICAgc3BhX21ldGFfdmlkZW9fY3JvcCA9CistICAg ICAgICBzcGFfYnVmZmVyX2ZpbmRfbWV0YSAoc3BhX2J1ZmZlciwgcHJpdi0+cGlwZXdpcmVfdHlw ZS0+bWV0YS5WaWRlb0Nyb3ApOworKyAgICAgICAgc3BhX2J1ZmZlcl9maW5kX21ldGFfZGF0YSAo c3BhX2J1ZmZlciwgU1BBX01FVEFfVmlkZW9Dcm9wLAorKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgc2l6ZW9mICgqc3BhX21ldGFfdmlkZW9fY3JvcCkpOworICAgICAgIGlmIChz cGFfbWV0YV92aWRlb19jcm9wKQorICAgICAgICAgeworICAgICAgICAgICBpZiAobWV0YV9zY3Jl ZW5fY2FzdF9zdHJlYW1fc3JjX2dldF92aWRlb2Nyb3AgKHNyYywgJmNyb3BfcmVjdCkpCisgICAg ICAgICAgICAgeworLSAgICAgICAgICAgICAgc3BhX21ldGFfdmlkZW9fY3JvcC0+eCA9IGNyb3Bf cmVjdC54OworLSAgICAgICAgICAgICAgc3BhX21ldGFfdmlkZW9fY3JvcC0+eSA9IGNyb3BfcmVj dC55OworLSAgICAgICAgICAgICAgc3BhX21ldGFfdmlkZW9fY3JvcC0+d2lkdGggPSBjcm9wX3Jl Y3Qud2lkdGg7CistICAgICAgICAgICAgICBzcGFfbWV0YV92aWRlb19jcm9wLT5oZWlnaHQgPSBj cm9wX3JlY3QuaGVpZ2h0OworKyAgICAgICAgICAgICAgc3BhX21ldGFfdmlkZW9fY3JvcC0+cmVn aW9uLnBvc2l0aW9uLnggPSBjcm9wX3JlY3QueDsKKysgICAgICAgICAgICAgIHNwYV9tZXRhX3Zp ZGVvX2Nyb3AtPnJlZ2lvbi5wb3NpdGlvbi55ID0gY3JvcF9yZWN0Lnk7CisrICAgICAgICAgICAg ICBzcGFfbWV0YV92aWRlb19jcm9wLT5yZWdpb24uc2l6ZS53aWR0aCA9IGNyb3BfcmVjdC53aWR0 aDsKKysgICAgICAgICAgICAgIHNwYV9tZXRhX3ZpZGVvX2Nyb3AtPnJlZ2lvbi5zaXplLmhlaWdo dCA9IGNyb3BfcmVjdC5oZWlnaHQ7CisgICAgICAgICAgICAgfQorICAgICAgICAgICBlbHNlCisg ICAgICAgICAgICAgeworLSAgICAgICAgICAgICAgc3BhX21ldGFfdmlkZW9fY3JvcC0+eCA9IDA7 CistICAgICAgICAgICAgICBzcGFfbWV0YV92aWRlb19jcm9wLT55ID0gMDsKKy0gICAgICAgICAg ICAgIHNwYV9tZXRhX3ZpZGVvX2Nyb3AtPndpZHRoID0gcHJpdi0+c3RyZWFtX3dpZHRoOworLSAg ICAgICAgICAgICAgc3BhX21ldGFfdmlkZW9fY3JvcC0+aGVpZ2h0ID0gcHJpdi0+c3RyZWFtX2hl aWdodDsKKysgICAgICAgICAgICAgIHNwYV9tZXRhX3ZpZGVvX2Nyb3AtPnJlZ2lvbi5wb3NpdGlv bi54ID0gMDsKKysgICAgICAgICAgICAgIHNwYV9tZXRhX3ZpZGVvX2Nyb3AtPnJlZ2lvbi5wb3Np dGlvbi55ID0gMDsKKysgICAgICAgICAgICAgIHNwYV9tZXRhX3ZpZGVvX2Nyb3AtPnJlZ2lvbi5z aXplLndpZHRoID0gcHJpdi0+c3RyZWFtX3dpZHRoOworKyAgICAgICAgICAgICAgc3BhX21ldGFf dmlkZW9fY3JvcC0+cmVnaW9uLnNpemUuaGVpZ2h0ID0gcHJpdi0+c3RyZWFtX2hlaWdodDsKKyAg ICAgICAgICAgICB9CisgICAgICAgICB9CisgICAgIH0KK0BAIC01NTUsNyArNTM5LDYgQEAgb25f c3RyZWFtX3N0YXRlX2NoYW5nZWQgKHZvaWQgICAgICAgICAgICAgICAgICpkYXRhLAorICAgTWV0 YVNjcmVlbkNhc3RTdHJlYW1TcmMgKnNyYyA9IGRhdGE7CisgICBNZXRhU2NyZWVuQ2FzdFN0cmVh bVNyY1ByaXZhdGUgKnByaXYgPQorICAgICBtZXRhX3NjcmVlbl9jYXN0X3N0cmVhbV9zcmNfZ2V0 X2luc3RhbmNlX3ByaXZhdGUgKHNyYyk7CistICB1aW50MzJfdCBub2RlX2lkOworCisgICBzd2l0 Y2ggKHN0YXRlKQorICAgICB7CitAQCAtNTYzLDE0ICs1NDYsMTIgQEAgb25fc3RyZWFtX3N0YXRl X2NoYW5nZWQgKHZvaWQgICAgICAgICAgICAgICAgICpkYXRhLAorICAgICAgIGdfd2FybmluZyAo InBpcGV3aXJlIHN0cmVhbSBlcnJvcjogJXMiLCBlcnJvcl9tZXNzYWdlKTsKKyAgICAgICBtZXRh X3NjcmVlbl9jYXN0X3N0cmVhbV9zcmNfbm90aWZ5X2Nsb3NlZCAoc3JjKTsKKyAgICAgICBicmVh azsKKy0gICAgY2FzZSBQV19TVFJFQU1fU1RBVEVfQ09ORklHVVJFOgorLSAgICAgIG5vZGVfaWQg PSBwd19zdHJlYW1fZ2V0X25vZGVfaWQgKHByaXYtPnBpcGV3aXJlX3N0cmVhbSk7CistICAgICAg Z19zaWduYWxfZW1pdCAoc3JjLCBzaWduYWxzW1JFQURZXSwgMCwgKHVuc2lnbmVkIGludCkgbm9k ZV9pZCk7CistICAgICAgYnJlYWs7CistICAgIGNhc2UgUFdfU1RSRUFNX1NUQVRFX1VOQ09OTkVD VEVEOgorLSAgICBjYXNlIFBXX1NUUkVBTV9TVEFURV9DT05ORUNUSU5HOgorLSAgICBjYXNlIFBX X1NUUkVBTV9TVEFURV9SRUFEWToKKyAgICAgY2FzZSBQV19TVFJFQU1fU1RBVEVfUEFVU0VEOgor KyAgICAgIGlmIChwcml2LT5ub2RlX2lkID09IFNQQV9JRF9JTlZBTElEICYmIHByaXYtPnBpcGV3 aXJlX3N0cmVhbSkKKysgICAgICAgIHsKKysgICAgICAgICAgcHJpdi0+bm9kZV9pZCA9IHB3X3N0 cmVhbV9nZXRfbm9kZV9pZCAocHJpdi0+cGlwZXdpcmVfc3RyZWFtKTsKKysgICAgICAgICAgZ19z aWduYWxfZW1pdCAoc3JjLCBzaWduYWxzW1JFQURZXSwgMCwgKHVuc2lnbmVkIGludCkgcHJpdi0+ bm9kZV9pZCk7CisrICAgICAgICB9CisgICAgICAgaWYgKG1ldGFfc2NyZWVuX2Nhc3Rfc3RyZWFt X3NyY19pc19lbmFibGVkIChzcmMpKQorICAgICAgICAgbWV0YV9zY3JlZW5fY2FzdF9zdHJlYW1f c3JjX2Rpc2FibGUgKHNyYyk7CisgICAgICAgYnJlYWs7CitAQCAtNTc4LDY4ICs1NTksNjkgQEAg b25fc3RyZWFtX3N0YXRlX2NoYW5nZWQgKHZvaWQgICAgICAgICAgICAgICAgICpkYXRhLAorICAg ICAgIGlmICghbWV0YV9zY3JlZW5fY2FzdF9zdHJlYW1fc3JjX2lzX2VuYWJsZWQgKHNyYykpCisg ICAgICAgICBtZXRhX3NjcmVlbl9jYXN0X3N0cmVhbV9zcmNfZW5hYmxlIChzcmMpOworICAgICAg IGJyZWFrOworKyAgICBjYXNlIFBXX1NUUkVBTV9TVEFURV9VTkNPTk5FQ1RFRDoKKysgICAgY2Fz ZSBQV19TVFJFQU1fU1RBVEVfQ09OTkVDVElORzoKKysgICAgICBicmVhazsKKyAgICAgfQorIH0K KworIHN0YXRpYyB2b2lkCistb25fc3RyZWFtX2Zvcm1hdF9jaGFuZ2VkICh2b2lkICAgICAgICAg ICAgICAgICAqZGF0YSwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBz cGFfcG9kICpmb3JtYXQpCisrb25fc3RyZWFtX3BhcmFtX2NoYW5nZWQgKHZvaWQgICAgICAgICAg ICAgICAgICpkYXRhLAorKyAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAg ICAgICAgaWQsCisrICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBzcGFfcG9k ICpmb3JtYXQpCisgeworICAgTWV0YVNjcmVlbkNhc3RTdHJlYW1TcmMgKnNyYyA9IGRhdGE7Cisg ICBNZXRhU2NyZWVuQ2FzdFN0cmVhbVNyY1ByaXZhdGUgKnByaXYgPQorICAgICBtZXRhX3NjcmVl bl9jYXN0X3N0cmVhbV9zcmNfZ2V0X2luc3RhbmNlX3ByaXZhdGUgKHNyYyk7CistICBzdHJ1Y3Qg cHdfdHlwZSAqcGlwZXdpcmVfdHlwZSA9IHByaXYtPnBpcGV3aXJlX3R5cGU7CisgICB1aW50OF90 IHBhcmFtc19idWZmZXJbMTAyNF07CisgICBpbnQzMl90IHdpZHRoLCBoZWlnaHQsIHN0cmlkZSwg c2l6ZTsKKyAgIHN0cnVjdCBzcGFfcG9kX2J1aWxkZXIgcG9kX2J1aWxkZXI7CisgICBjb25zdCBz dHJ1Y3Qgc3BhX3BvZCAqcGFyYW1zWzNdOworICAgY29uc3QgaW50IGJwcCA9IDQ7CisKKy0gIGlm ICghZm9ybWF0KQorLSAgICB7CistICAgICAgcHdfc3RyZWFtX2ZpbmlzaF9mb3JtYXQgKHByaXYt PnBpcGV3aXJlX3N0cmVhbSwgMCwgTlVMTCwgMCk7CistICAgICAgcmV0dXJuOworLSAgICB9Cisr ICBpZiAoIWZvcm1hdCB8fCBpZCAhPSBTUEFfUEFSQU1fRm9ybWF0KQorKyAgICByZXR1cm47CisK KyAgIHNwYV9mb3JtYXRfdmlkZW9fcmF3X3BhcnNlIChmb3JtYXQsCistICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgJnByaXYtPnZpZGVvX2Zvcm1hdCwKKy0gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAmcHJpdi0+c3BhX3R5cGUuZm9ybWF0X3ZpZGVvKTsKKysgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAmcHJpdi0+dmlkZW9fZm9ybWF0KTsKKworICAgd2lkdGggPSBwcml2 LT52aWRlb19mb3JtYXQuc2l6ZS53aWR0aDsKKyAgIGhlaWdodCA9IHByaXYtPnZpZGVvX2Zvcm1h dC5zaXplLmhlaWdodDsKKyAgIHN0cmlkZSA9IFNQQV9ST1VORF9VUF9OICh3aWR0aCAqIGJwcCwg NCk7CisgICBzaXplID0gaGVpZ2h0ICogc3RyaWRlOworCisrICBwcml2LT52aWRlb19zdHJpZGUg PSBzdHJpZGU7CisrCisgICBwb2RfYnVpbGRlciA9IFNQQV9QT0RfQlVJTERFUl9JTklUIChwYXJh bXNfYnVmZmVyLCBzaXplb2YgKHBhcmFtc19idWZmZXIpKTsKKworLSAgcGFyYW1zWzBdID0gc3Bh X3BvZF9idWlsZGVyX29iamVjdCAoCisrICBwYXJhbXNbMF0gPSBzcGFfcG9kX2J1aWxkZXJfYWRk X29iamVjdCAoCisgICAgICZwb2RfYnVpbGRlciwKKy0gICAgcGlwZXdpcmVfdHlwZS0+cGFyYW0u aWRCdWZmZXJzLCBwaXBld2lyZV90eXBlLT5wYXJhbV9idWZmZXJzLkJ1ZmZlcnMsCistICAgICI6 IiwgcGlwZXdpcmVfdHlwZS0+cGFyYW1fYnVmZmVycy5zaXplLCAiaSIsIHNpemUsCistICAgICI6 IiwgcGlwZXdpcmVfdHlwZS0+cGFyYW1fYnVmZmVycy5zdHJpZGUsICJpIiwgc3RyaWRlLAorLSAg ICAiOiIsIHBpcGV3aXJlX3R5cGUtPnBhcmFtX2J1ZmZlcnMuYnVmZmVycywgImlydSIsIDE2LCBQ Uk9QX1JBTkdFICgyLCAxNiksCistICAgICI6IiwgcGlwZXdpcmVfdHlwZS0+cGFyYW1fYnVmZmVy cy5hbGlnbiwgImkiLCAxNik7CistCistICBwYXJhbXNbMV0gPSBzcGFfcG9kX2J1aWxkZXJfb2Jq ZWN0ICgKKysgICAgU1BBX1RZUEVfT0JKRUNUX1BhcmFtQnVmZmVycywgU1BBX1BBUkFNX0J1ZmZl cnMsCisrICAgIFNQQV9QQVJBTV9CVUZGRVJTX2J1ZmZlcnMsIFNQQV9QT0RfQ0hPSUNFX1JBTkdF X0ludCAoMTYsIDIsIDE2KSwKKysgICAgU1BBX1BBUkFNX0JVRkZFUlNfYmxvY2tzLCBTUEFfUE9E X0ludCAoMSksCisrICAgIFNQQV9QQVJBTV9CVUZGRVJTX3NpemUsIFNQQV9QT0RfSW50IChzaXpl KSwKKysgICAgU1BBX1BBUkFNX0JVRkZFUlNfc3RyaWRlLCBTUEFfUE9EX0ludCAoc3RyaWRlKSwK KysgICAgU1BBX1BBUkFNX0JVRkZFUlNfYWxpZ24sIFNQQV9QT0RfSW50ICgxNikpOworKworKyAg cGFyYW1zWzFdID0gc3BhX3BvZF9idWlsZGVyX2FkZF9vYmplY3QgKAorICAgICAmcG9kX2J1aWxk ZXIsCistICAgIHBpcGV3aXJlX3R5cGUtPnBhcmFtLmlkTWV0YSwgcGlwZXdpcmVfdHlwZS0+cGFy YW1fbWV0YS5NZXRhLAorLSAgICAiOiIsIHBpcGV3aXJlX3R5cGUtPnBhcmFtX21ldGEudHlwZSwg IkkiLCBwaXBld2lyZV90eXBlLT5tZXRhLlZpZGVvQ3JvcCwKKy0gICAgIjoiLCBwaXBld2lyZV90 eXBlLT5wYXJhbV9tZXRhLnNpemUsICJpIiwgc2l6ZW9mIChzdHJ1Y3Qgc3BhX21ldGFfdmlkZW9f Y3JvcCkpOworKyAgICBTUEFfVFlQRV9PQkpFQ1RfUGFyYW1NZXRhLCBTUEFfUEFSQU1fTWV0YSwK KysgICAgU1BBX1BBUkFNX01FVEFfdHlwZSwgU1BBX1BPRF9JZCAoU1BBX01FVEFfVmlkZW9Dcm9w KSwKKysgICAgU1BBX1BBUkFNX01FVEFfc2l6ZSwgU1BBX1BPRF9JbnQgKHNpemVvZiAoc3RydWN0 IHNwYV9tZXRhX3JlZ2lvbikpKTsKKworLSAgcGFyYW1zWzJdID0gc3BhX3BvZF9idWlsZGVyX29i amVjdCAoCisrICBwYXJhbXNbMl0gPSBzcGFfcG9kX2J1aWxkZXJfYWRkX29iamVjdCAoCisgICAg ICZwb2RfYnVpbGRlciwKKy0gICAgcGlwZXdpcmVfdHlwZS0+cGFyYW0uaWRNZXRhLCBwaXBld2ly ZV90eXBlLT5wYXJhbV9tZXRhLk1ldGEsCistICAgICI6IiwgcGlwZXdpcmVfdHlwZS0+cGFyYW1f bWV0YS50eXBlLCAiSSIsIHByaXYtPnNwYV90eXBlLm1ldGFfY3Vyc29yLAorLSAgICAiOiIsIHBp cGV3aXJlX3R5cGUtPnBhcmFtX21ldGEuc2l6ZSwgImkiLCBDVVJTT1JfTUVUQV9TSVpFICg2NCwg NjQpKTsKKysgICAgU1BBX1RZUEVfT0JKRUNUX1BhcmFtTWV0YSwgU1BBX1BBUkFNX01ldGEsCisr ICAgIFNQQV9QQVJBTV9NRVRBX3R5cGUsIFNQQV9QT0RfSWQgKFNQQV9NRVRBX0N1cnNvciksCisr ICAgIFNQQV9QQVJBTV9NRVRBX3NpemUsIFNQQV9QT0RfSW50IChDVVJTT1JfTUVUQV9TSVpFICg2 NCwgNjQpKSk7CisKKy0gIHB3X3N0cmVhbV9maW5pc2hfZm9ybWF0IChwcml2LT5waXBld2lyZV9z dHJlYW0sIDAsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFyYW1zLCBHX05fRUxFTUVO VFMgKHBhcmFtcykpOworKyAgcHdfc3RyZWFtX3VwZGF0ZV9wYXJhbXMgKHByaXYtPnBpcGV3aXJl X3N0cmVhbSwgcGFyYW1zLCBHX05fRUxFTUVOVFMgKHBhcmFtcykpOworIH0KKworIHN0YXRpYyBj b25zdCBzdHJ1Y3QgcHdfc3RyZWFtX2V2ZW50cyBzdHJlYW1fZXZlbnRzID0geworICAgUFdfVkVS U0lPTl9TVFJFQU1fRVZFTlRTLAorICAgLnN0YXRlX2NoYW5nZWQgPSBvbl9zdHJlYW1fc3RhdGVf Y2hhbmdlZCwKKy0gIC5mb3JtYXRfY2hhbmdlZCA9IG9uX3N0cmVhbV9mb3JtYXRfY2hhbmdlZCwK KysgIC5wYXJhbV9jaGFuZ2VkID0gb25fc3RyZWFtX3BhcmFtX2NoYW5nZWQsCisgfTsKKworIHN0 YXRpYyBzdHJ1Y3QgcHdfc3RyZWFtICoKK0BAIC02NTIsOCArNjM0LDYgQEAgY3JlYXRlX3BpcGV3 aXJlX3N0cmVhbSAoTWV0YVNjcmVlbkNhc3RTdHJlYW1TcmMgICpzcmMsCisgICB1aW50OF90IGJ1 ZmZlclsxMDI0XTsKKyAgIHN0cnVjdCBzcGFfcG9kX2J1aWxkZXIgcG9kX2J1aWxkZXIgPQorICAg ICBTUEFfUE9EX0JVSUxERVJfSU5JVCAoYnVmZmVyLCBzaXplb2YgKGJ1ZmZlcikpOworLSAgTWV0 YVNwYVR5cGUgKnNwYV90eXBlID0gJnByaXYtPnNwYV90eXBlOworLSAgc3RydWN0IHB3X3R5cGUg KnBpcGV3aXJlX3R5cGUgPSBwcml2LT5waXBld2lyZV90eXBlOworICAgZmxvYXQgZnJhbWVfcmF0 ZTsKKyAgIE1ldGFGcmFjdGlvbiBmcmFtZV9yYXRlX2ZyYWN0aW9uOworICAgc3RydWN0IHNwYV9m cmFjdGlvbiBtYXhfZnJhbWVyYXRlOworQEAgLTY2MSw3ICs2NDEsOSBAQCBjcmVhdGVfcGlwZXdp cmVfc3RyZWFtIChNZXRhU2NyZWVuQ2FzdFN0cmVhbVNyYyAgKnNyYywKKyAgIGNvbnN0IHN0cnVj dCBzcGFfcG9kICpwYXJhbXNbMV07CisgICBpbnQgcmVzdWx0OworCistICBwaXBld2lyZV9zdHJl YW0gPSBwd19zdHJlYW1fbmV3IChwcml2LT5waXBld2lyZV9yZW1vdGUsCisrICBwcml2LT5ub2Rl X2lkID0gU1BBX0lEX0lOVkFMSUQ7CisrCisrICBwaXBld2lyZV9zdHJlYW0gPSBwd19zdHJlYW1f bmV3IChwcml2LT5waXBld2lyZV9jb3JlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIm1ldGEtc2NyZWVuLWNhc3Qtc3JjIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIE5VTEwpOworICAgaWYgKCFwaXBld2lyZV9zdHJlYW0pCitAQCAtNjgyLDE3ICs2 NjQsMTcgQEAgY3JlYXRlX3BpcGV3aXJlX3N0cmVhbSAoTWV0YVNjcmVlbkNhc3RTdHJlYW1TcmMg ICpzcmMsCisgICBtYXhfZnJhbWVyYXRlID0gU1BBX0ZSQUNUSU9OIChmcmFtZV9yYXRlX2ZyYWN0 aW9uLm51bSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZyYW1lX3JhdGVfZnJh Y3Rpb24uZGVub20pOworCistICBwYXJhbXNbMF0gPSBzcGFfcG9kX2J1aWxkZXJfb2JqZWN0ICgK KysgIHBhcmFtc1swXSA9IHNwYV9wb2RfYnVpbGRlcl9hZGRfb2JqZWN0ICgKKyAgICAgJnBvZF9i dWlsZGVyLAorLSAgICBwaXBld2lyZV90eXBlLT5wYXJhbS5pZEVudW1Gb3JtYXQsIHBpcGV3aXJl X3R5cGUtPnNwYV9mb3JtYXQsCistICAgICJJIiwgc3BhX3R5cGUtPm1lZGlhX3R5cGUudmlkZW8s CistICAgICJJIiwgc3BhX3R5cGUtPm1lZGlhX3N1YnR5cGUucmF3LAorLSAgICAiOiIsIHNwYV90 eXBlLT5mb3JtYXRfdmlkZW8uZm9ybWF0LCAiSSIsIHNwYV90eXBlLT52aWRlb19mb3JtYXQuQkdS eCwKKy0gICAgIjoiLCBzcGFfdHlwZS0+Zm9ybWF0X3ZpZGVvLnNpemUsICJSIiwgJlNQQV9SRUNU QU5HTEUgKHByaXYtPnN0cmVhbV93aWR0aCwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByaXYtPnN0cmVhbV9oZWlnaHQpLAorLSAg ICAiOiIsIHNwYV90eXBlLT5mb3JtYXRfdmlkZW8uZnJhbWVyYXRlLCAiRiIsICZTUEFfRlJBQ1RJ T04gKDAsIDEpLAorLSAgICAiOiIsIHNwYV90eXBlLT5mb3JtYXRfdmlkZW8ubWF4X2ZyYW1lcmF0 ZSwgIkZydSIsICZtYXhfZnJhbWVyYXRlLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIFBST1BfUkFOR0UgKCZtaW5fZnJhbWVyYXRlLAorKyAg ICBTUEFfVFlQRV9PQkpFQ1RfRm9ybWF0LCBTUEFfUEFSQU1fRW51bUZvcm1hdCwKKysgICAgU1BB X0ZPUk1BVF9tZWRpYVR5cGUsIFNQQV9QT0RfSWQgKFNQQV9NRURJQV9UWVBFX3ZpZGVvKSwKKysg ICAgU1BBX0ZPUk1BVF9tZWRpYVN1YnR5cGUsIFNQQV9QT0RfSWQgKFNQQV9NRURJQV9TVUJUWVBF X3JhdyksCisrICAgIFNQQV9GT1JNQVRfVklERU9fZm9ybWF0LCBTUEFfUE9EX0lkIChTUEFfVklE RU9fRk9STUFUX0JHUngpLAorKyAgICBTUEFfRk9STUFUX1ZJREVPX3NpemUsIFNQQV9QT0RfUmVj dGFuZ2xlICgmU1BBX1JFQ1RBTkdMRSAocHJpdi0+c3RyZWFtX3dpZHRoLAorKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJpdi0+ c3RyZWFtX2hlaWdodCkpLAorKyAgICBTUEFfRk9STUFUX1ZJREVPX2ZyYW1lcmF0ZSwgU1BBX1BP RF9GcmFjdGlvbiAoJlNQQV9GUkFDVElPTiAoMCwgMSkpLAorKyAgICBTUEFfRk9STUFUX1ZJREVP X21heEZyYW1lcmF0ZSwgU1BBX1BPRF9DSE9JQ0VfUkFOR0VfRnJhY3Rpb24gKCZtYXhfZnJhbWVy YXRlLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICZtaW5fZnJhbWVyYXRlLAorICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZtYXhfZnJhbWVyYXRl KSk7CisKKyAgIHB3X3N0cmVhbV9hZGRfbGlzdGVuZXIgKHBpcGV3aXJlX3N0cmVhbSwKK0BAIC03 MDIsNyArNjg0LDcgQEAgY3JlYXRlX3BpcGV3aXJlX3N0cmVhbSAoTWV0YVNjcmVlbkNhc3RTdHJl YW1TcmMgICpzcmMsCisKKyAgIHJlc3VsdCA9IHB3X3N0cmVhbV9jb25uZWN0IChwaXBld2lyZV9z dHJlYW0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUFdfRElSRUNUSU9OX09VVFBV VCwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOVUxMLAorKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIFNQQV9JRF9JTlZBTElELAorICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIChQV19TVFJFQU1fRkxBR19EUklWRVIgfAorICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBQV19TVFJFQU1fRkxBR19NQVBfQlVGRkVSUyksCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgcGFyYW1zLCBHX05fRUxFTUVOVFMgKHBhcmFtcykpOworQEAgLTcxNyw0MCAr Njk5LDE4IEBAIGNyZWF0ZV9waXBld2lyZV9zdHJlYW0gKE1ldGFTY3JlZW5DYXN0U3RyZWFtU3Jj ICAqc3JjLAorIH0KKworIHN0YXRpYyB2b2lkCistb25fc3RhdGVfY2hhbmdlZCAodm9pZCAgICAg ICAgICAgICAgICAgKmRhdGEsCistICAgICAgICAgICAgICAgICAgZW51bSBwd19yZW1vdGVfc3Rh dGUgIG9sZCwKKy0gICAgICAgICAgICAgICAgICBlbnVtIHB3X3JlbW90ZV9zdGF0ZSAgc3RhdGUs CistICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAgICAgICAgICAgKmVycm9yX21lc3NhZ2Up Cisrb25fY29yZV9lcnJvciAodm9pZCAgICAgICAqZGF0YSwKKysgICAgICAgICAgICAgICB1aW50 MzJfdCAgICBpZCwKKysJICAgICAgIGludCAgICAgICAgIHNlcSwKKysJICAgICAgIGludCAgICAg ICAgIHJlcywKKysJICAgICAgIGNvbnN0IGNoYXIgKm1lc3NhZ2UpCisgeworICAgTWV0YVNjcmVl bkNhc3RTdHJlYW1TcmMgKnNyYyA9IGRhdGE7CistICBNZXRhU2NyZWVuQ2FzdFN0cmVhbVNyY1By aXZhdGUgKnByaXYgPQorLSAgICBtZXRhX3NjcmVlbl9jYXN0X3N0cmVhbV9zcmNfZ2V0X2luc3Rh bmNlX3ByaXZhdGUgKHNyYyk7CistICBzdHJ1Y3QgcHdfc3RyZWFtICpwaXBld2lyZV9zdHJlYW07 CistICBHRXJyb3IgKmVycm9yID0gTlVMTDsKKworLSAgc3dpdGNoIChzdGF0ZSkKKy0gICAgewor LSAgICBjYXNlIFBXX1JFTU9URV9TVEFURV9FUlJPUjoKKy0gICAgICBnX3dhcm5pbmcgKCJwaXBl d2lyZSByZW1vdGUgZXJyb3I6ICVzXG4iLCBlcnJvcl9tZXNzYWdlKTsKKy0gICAgICBtZXRhX3Nj cmVlbl9jYXN0X3N0cmVhbV9zcmNfbm90aWZ5X2Nsb3NlZCAoc3JjKTsKKy0gICAgICBicmVhazsK Ky0gICAgY2FzZSBQV19SRU1PVEVfU1RBVEVfQ09OTkVDVEVEOgorLSAgICAgIHBpcGV3aXJlX3N0 cmVhbSA9IGNyZWF0ZV9waXBld2lyZV9zdHJlYW0gKHNyYywgJmVycm9yKTsKKy0gICAgICBpZiAo IXBpcGV3aXJlX3N0cmVhbSkKKy0gICAgICAgIHsKKy0gICAgICAgICAgZ193YXJuaW5nICgiQ291 bGQgbm90IGNyZWF0ZSBwaXBld2lyZSBzdHJlYW06ICVzIiwgZXJyb3ItPm1lc3NhZ2UpOworLSAg ICAgICAgICBnX2Vycm9yX2ZyZWUgKGVycm9yKTsKKy0gICAgICAgICAgbWV0YV9zY3JlZW5fY2Fz dF9zdHJlYW1fc3JjX25vdGlmeV9jbG9zZWQgKHNyYyk7CistICAgICAgICB9CistICAgICAgZWxz ZQorLSAgICAgICAgeworLSAgICAgICAgICBwcml2LT5waXBld2lyZV9zdHJlYW0gPSBwaXBld2ly ZV9zdHJlYW07CistICAgICAgICB9CistICAgICAgYnJlYWs7CistICAgIGNhc2UgUFdfUkVNT1RF X1NUQVRFX1VOQ09OTkVDVEVEOgorLSAgICBjYXNlIFBXX1JFTU9URV9TVEFURV9DT05ORUNUSU5H OgorLSAgICAgIGJyZWFrOworLSAgICB9CisrICBnX3dhcm5pbmcgKCJwaXBld2lyZSByZW1vdGUg ZXJyb3I6IGlkOiV1ICVzIiwgaWQsIG1lc3NhZ2UpOworKworKyAgaWYgKGlkID09IFBXX0lEX0NP UkUgJiYgcmVzID09IC1FUElQRSkKKysgICAgbWV0YV9zY3JlZW5fY2FzdF9zdHJlYW1fc3JjX25v dGlmeV9jbG9zZWQgKHNyYyk7CisgfQorCisgc3RhdGljIGdib29sZWFuCitAQCAtNzkzLDE3ICs3 NTMsNiBAQCBzdGF0aWMgR1NvdXJjZUZ1bmNzIHBpcGV3aXJlX3NvdXJjZV9mdW5jcyA9CisgICBw aXBld2lyZV9sb29wX3NvdXJjZV9maW5hbGl6ZQorIH07CisKKy1zdGF0aWMgdm9pZAorLWluaXRf c3BhX3R5cGUgKE1ldGFTcGFUeXBlICAgICAgICAgKnR5cGUsCistICAgICAgICAgICAgICAgc3Ry dWN0IHNwYV90eXBlX21hcCAqbWFwKQorLXsKKy0gIHNwYV90eXBlX21lZGlhX3R5cGVfbWFwICht YXAsICZ0eXBlLT5tZWRpYV90eXBlKTsKKy0gIHNwYV90eXBlX21lZGlhX3N1YnR5cGVfbWFwICht YXAsICZ0eXBlLT5tZWRpYV9zdWJ0eXBlKTsKKy0gIHNwYV90eXBlX2Zvcm1hdF92aWRlb19tYXAg KG1hcCwgJnR5cGUtPmZvcm1hdF92aWRlbyk7CistICBzcGFfdHlwZV92aWRlb19mb3JtYXRfbWFw IChtYXAsICZ0eXBlLT52aWRlb19mb3JtYXQpOworLSAgdHlwZS0+bWV0YV9jdXJzb3IgPSBzcGFf dHlwZV9tYXBfZ2V0X2lkKG1hcCwgU1BBX1RZUEVfTUVUQV9fQ3Vyc29yKTsKKy19CistCisgc3Rh dGljIE1ldGFQaXBlV2lyZVNvdXJjZSAqCisgY3JlYXRlX3BpcGV3aXJlX3NvdXJjZSAodm9pZCkK KyB7CitAQCAtODI5LDkgKzc3OCw5IEBAIGNyZWF0ZV9waXBld2lyZV9zb3VyY2UgKHZvaWQpCisg ICByZXR1cm4gcGlwZXdpcmVfc291cmNlOworIH0KKworLXN0YXRpYyBjb25zdCBzdHJ1Y3QgcHdf cmVtb3RlX2V2ZW50cyByZW1vdGVfZXZlbnRzID0geworLSAgUFdfVkVSU0lPTl9SRU1PVEVfRVZF TlRTLAorLSAgLnN0YXRlX2NoYW5nZWQgPSBvbl9zdGF0ZV9jaGFuZ2VkLAorK3N0YXRpYyBjb25z dCBzdHJ1Y3QgcHdfY29yZV9ldmVudHMgY29yZV9ldmVudHMgPSB7CisrICBQV19WRVJTSU9OX0NP UkVfRVZFTlRTLAorKyAgLmVycm9yID0gb25fY29yZV9lcnJvciwKKyB9OworCisgc3RhdGljIGdi b29sZWFuCitAQCAtODUxLDM3ICs4MDAsMzEgQEAgbWV0YV9zY3JlZW5fY2FzdF9zdHJlYW1fc3Jj X2luaXRhYmxlX2luaXQgKEdJbml0YWJsZSAgICAgKmluaXRhYmxlLAorICAgICAgIHJldHVybiBG QUxTRTsKKyAgICAgfQorCistICBwcml2LT5waXBld2lyZV9jb3JlID0gcHdfY29yZV9uZXcgKHBy aXYtPnBpcGV3aXJlX3NvdXJjZS0+cGlwZXdpcmVfbG9vcCwKKy0gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgTlVMTCk7CistICBpZiAoIXByaXYtPnBpcGV3aXJlX2NvcmUpCisr ICBwcml2LT5waXBld2lyZV9jb250ZXh0ID0gcHdfY29udGV4dF9uZXcgKHByaXYtPnBpcGV3aXJl X3NvdXJjZS0+cGlwZXdpcmVfbG9vcCwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgTlVMTCwgMCk7CisrICBpZiAoIXByaXYtPnBpcGV3aXJlX2NvbnRleHQpCisg ICAgIHsKKyAgICAgICBnX3NldF9lcnJvciAoZXJyb3IsIEdfSU9fRVJST1IsIEdfSU9fRVJST1Jf RkFJTEVELAorLSAgICAgICAgICAgICAgICAgICAiRmFpbGVkIHRvIGNyZWF0ZSBwaXBld2lyZSBj b3JlIik7CisrICAgICAgICAgICAgICAgICAgICJGYWlsZWQgdG8gY3JlYXRlIHBpcGV3aXJlIGNv bnRleHQiKTsKKyAgICAgICByZXR1cm4gRkFMU0U7CisgICAgIH0KKworLSAgcHJpdi0+cGlwZXdp cmVfcmVtb3RlID0gcHdfcmVtb3RlX25ldyAocHJpdi0+cGlwZXdpcmVfY29yZSwgTlVMTCwgMCk7 CistICBpZiAoIXByaXYtPnBpcGV3aXJlX3JlbW90ZSkKKysgIHByaXYtPnBpcGV3aXJlX2NvcmUg PSBwd19jb250ZXh0X2Nvbm5lY3QgKHByaXYtPnBpcGV3aXJlX2NvbnRleHQsIE5VTEwsIDApOwor KyAgaWYgKCFwcml2LT5waXBld2lyZV9jb3JlKQorICAgICB7CisgICAgICAgZ19zZXRfZXJyb3Ig KGVycm9yLCBHX0lPX0VSUk9SLCBHX0lPX0VSUk9SX0ZBSUxFRCwKKy0gICAgICAgICAgICAgICAg ICAgIkNvdWxkbid0IGNyZWF0IHBpcGV3aXJlIHJlbW90ZSIpOworKyAgICAgICAgICAgICAgICAg ICAiQ291bGRuJ3QgY29ubmVjdCBwaXBld2lyZSBjb250ZXh0Iik7CisgICAgICAgcmV0dXJuIEZB TFNFOworICAgICB9CisKKy0gIHB3X3JlbW90ZV9hZGRfbGlzdGVuZXIgKHByaXYtPnBpcGV3aXJl X3JlbW90ZSwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICZwcml2LT5waXBld2lyZV9yZW1v dGVfbGlzdGVuZXIsCistICAgICAgICAgICAgICAgICAgICAgICAgICAmcmVtb3RlX2V2ZW50cywK Ky0gICAgICAgICAgICAgICAgICAgICAgICAgIHNyYyk7CisrICBwd19jb3JlX2FkZF9saXN0ZW5l ciAocHJpdi0+cGlwZXdpcmVfY29yZSwKKysgICAgICAgICAgICAgICAgICAgICAgICAmcHJpdi0+ cGlwZXdpcmVfY29yZV9saXN0ZW5lciwKKysgICAgICAgICAgICAgICAgICAgICAgICAmY29yZV9l dmVudHMsCisrICAgICAgICAgICAgICAgICAgICAgICAgc3JjKTsKKworLSAgcHJpdi0+cGlwZXdp cmVfdHlwZSA9IHB3X2NvcmVfZ2V0X3R5cGUgKHByaXYtPnBpcGV3aXJlX2NvcmUpOworLSAgaW5p dF9zcGFfdHlwZSAoJnByaXYtPnNwYV90eXBlLCBwcml2LT5waXBld2lyZV90eXBlLT5tYXApOwor LQorLSAgaWYgKHB3X3JlbW90ZV9jb25uZWN0IChwcml2LT5waXBld2lyZV9yZW1vdGUpICE9IDAp CistICAgIHsKKy0gICAgICBnX3NldF9lcnJvciAoZXJyb3IsIEdfSU9fRVJST1IsIEdfSU9fRVJS T1JfRkFJTEVELAorLSAgICAgICAgICAgICAgICAgICAiQ291bGRuJ3QgY29ubmVjdCBwaXBld2ly ZSByZW1vdGUiKTsKKy0gICAgICByZXR1cm4gRkFMU0U7CistICAgIH0KKysgIHByaXYtPnBpcGV3 aXJlX3N0cmVhbSA9IGNyZWF0ZV9waXBld2lyZV9zdHJlYW0gKHNyYywgZXJyb3IpOworKyAgaWYg KCFwcml2LT5waXBld2lyZV9zdHJlYW0pCisrICAgIHJldHVybiBGQUxTRTsKKworICAgcmV0dXJu IFRSVUU7CisgfQorQEAgLTkxMiw4ICs4NTUsOCBAQCBtZXRhX3NjcmVlbl9jYXN0X3N0cmVhbV9z cmNfZmluYWxpemUgKEdPYmplY3QgKm9iamVjdCkKKyAgICAgbWV0YV9zY3JlZW5fY2FzdF9zdHJl YW1fc3JjX2Rpc2FibGUgKHNyYyk7CisKKyAgIGdfY2xlYXJfcG9pbnRlciAoJnByaXYtPnBpcGV3 aXJlX3N0cmVhbSwgcHdfc3RyZWFtX2Rlc3Ryb3kpOworLSAgZ19jbGVhcl9wb2ludGVyICgmcHJp di0+cGlwZXdpcmVfcmVtb3RlLCBwd19yZW1vdGVfZGVzdHJveSk7CistICBnX2NsZWFyX3BvaW50 ZXIgKCZwcml2LT5waXBld2lyZV9jb3JlLCBwd19jb3JlX2Rlc3Ryb3kpOworKyAgZ19jbGVhcl9w b2ludGVyICgmcHJpdi0+cGlwZXdpcmVfY29yZSwgcHdfY29yZV9kaXNjb25uZWN0KTsKKysgIGdf Y2xlYXJfcG9pbnRlciAoJnByaXYtPnBpcGV3aXJlX2NvbnRleHQsIHB3X2NvbnRleHRfZGVzdHJv eSk7CisgICBnX3NvdXJjZV9kZXN0cm95ICgmcHJpdi0+cGlwZXdpcmVfc291cmNlLT5iYXNlKTsK KworICAgR19PQkpFQ1RfQ0xBU1MgKG1ldGFfc2NyZWVuX2Nhc3Rfc3RyZWFtX3NyY19wYXJlbnRf Y2xhc3MpLT5maW5hbGl6ZSAob2JqZWN0KTsKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvbXV0dGVyL3Rl bXBsYXRlIGIvc3JjcGtncy9tdXR0ZXIvdGVtcGxhdGUKaW5kZXggNGUwYmQzMmI2N2QuLjgwNmEz YmVmOWYwIDEwMDY0NAotLS0gYS9zcmNwa2dzL211dHRlci90ZW1wbGF0ZQorKysgYi9zcmNwa2dz L211dHRlci90ZW1wbGF0ZQpAQCAtMSw3ICsxLDcgQEAKICMgVGVtcGxhdGUgZmlsZSBmb3IgJ211 dHRlcicKIHBrZ25hbWU9bXV0dGVyCiB2ZXJzaW9uPTMuMzQuMQotcmV2aXNpb249MgorcmV2aXNp b249MwogYnVpbGRfaGVscGVyPSJnaXIiCiBidWlsZF9zdHlsZT1tZXNvbgogY29uZmlndXJlX2Fy Z3M9Ii1EZWdsX2RldmljZT10cnVlIC1EdWRldj10cnVlIC1EbmF0aXZlX2JhY2tlbmQ9dHJ1ZQo= --===============6627091273588041078==--