From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) 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.4 Received: (qmail 10894 invoked from network); 12 May 2020 17:38:27 -0000 Received: from localhost (HELO inbox.vuxu.org) (::1) by localhost with ESMTPUTF8; 12 May 2020 17:38:27 -0000 Content-Type: multipart/mixed; boundary="===============0206871299033795804==" MIME-Version: 1.0 Subject: =?utf8?q?Re=3A_=5BPR_PATCH=5D_=5BUpdated=5D_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: Tue, 12 May 2020 19:38:26 +0200 List-Id: Message-ID: <20200512173826.igV-mpnrTQdpeOlTXFHzBjJ-IUWbJ5XjpYJfTIlAL5Q@z> GitHub notification mails are now in MIME to allow UTF8. --===============0206871299033795804== Content-Type: text/plain; charset="utf8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 VGhlcmUgaXMgYW4gdXBkYXRlZCBwdWxsIHJlcXVlc3QgYnkgc2lybiBhZ2FpbnN0IG1hc3RlciBv biB0aGUgdm9pZC1wYWNrYWdlcyByZXBvc2l0b3J5CgpodHRwczovL2dpdGh1Yi5jb20vc2lybi92 b2lkLXBhY2thZ2VzIHBpcGV3aXJlLXVwZGF0ZQpodHRwczovL2dpdGh1Yi5jb20vdm9pZC1saW51 eC92b2lkLXBhY2thZ2VzL3B1bGwvMjA0MTMKCnBpcGV3aXJlOiB1cGRhdGUgdG8gMC4zLjQKVGhp cyBQUiB1cGRhdGVzIGBwaXBld2lyZWAgdG8gMC4zLjQgYW5kIGFsc28gdXBkYXRpbmcvcGF0Y2hp bmcgYWxsIHBhY2thZ2VzIHRoYXQgZGVwZW5kcyBvbiBpdC4gDQoNCiogYHhkZy1kZXNrdG9wLXBv cnRhbGAgaW5jbHVkZXMgYSBwYXRjaCBiYWNrcG9ydGVkIGZyb20gMS43LjAgdG8gYWxsb3cgMS42 LjAgdG8gYnVpbGQgYWdhaW5zdCBwaXBld2lyZS0wLjMgKDEuNy54IGlzIHByZXJlbGVhc2UpDQoq IGB4ZGctZGVza3RvcC1wb3J0YWwta2RlYCBhbHJlYWR5IGluY2x1ZGVzIFBpcGV3aXJlIDAuMyBz dXBwb3J0IGFuZCBvbmx5IHJlcXVpcmVzIHJldmJ1bXAuDQoqIGBtdXR0ZXJgIGluY2x1ZGVzIGEg cGF0Y2ggYmFja3BvcnRlZCBmcm9tIDMuMzUgdG8gYWxsb3cgMy4zNCB0byBidWlsZCBhZ2FpbnN0 IHBpcGV3aXJlLTAuMyAodXBncmFkaW5nIHRvID49My4zNSBhbHNvIHJlcXVpcmVzIHVwZ3JhZGlu ZyBHTk9NRSkuCgpBIHBhdGNoIGZpbGUgZnJvbSBodHRwczovL2dpdGh1Yi5jb20vdm9pZC1saW51 eC92b2lkLXBhY2thZ2VzL3B1bGwvMjA0MTMucGF0Y2ggaXMgYXR0YWNoZWQ= --===============0206871299033795804== Content-Type: text/x-diff MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="github-pr-pipewire-update-20413.patch" RnJvbSAxZDRhNDZiOWIxMTc3MTM3NzE3MjdlNjMwZDA4MDU2ODAyODFhZjJiIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBLcmlkc2FkYSBUaGFuYWJ1bHBvbmcgPHNpcm5Ab2dzaXRlLm5l dD4KRGF0ZTogU2F0LCAyOCBNYXIgMjAyMCAxNjoyMzo1MiArMDkwMApTdWJqZWN0OiBbUEFUQ0gg MS80XSBwaXBld2lyZTogdXBkYXRlIHRvIDAuMy40CgotLS0KIGNvbW1vbi9zaGxpYnMgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAyICstCiBzcmNwa2dzL2Fsc2EtcGlwZXdpcmUg ICAgICAgICAgICAgICAgICAgICAgICAgfCAgMSArCiBzcmNwa2dzL2xpYmphY2stcGlwZXdpcmUg ICAgICAgICAgICAgICAgICAgICAgfCAgMSArCiBzcmNwa2dzL2xpYnB1bHNlYXVkaW8tcGlwZXdp cmUgICAgICAgICAgICAgICAgfCAgMSArCiAuLi4vcGF0Y2hlcy8wMS1maXgtZm9ybWF0LXdhcm5p bmcucGF0Y2ggICAgICAgfCAzNyArKysrKysrKysrCiAuLi4vcGF0Y2hlcy8wMi1maXgtc3BhX2xv Z19mdW5jLW11c2wucGF0Y2ggICAgfCAyNSArKysrKysrCiAuLi4vcGF0Y2hlcy8wMy1maXgtbmVv bi1jb21waWxhdGlvbi5wYXRjaCAgICAgfCA1OCArKysrKysrKysrKysrKysKIHNyY3BrZ3MvcGlw ZXdpcmUvdGVtcGxhdGUgICAgICAgICAgICAgICAgICAgICB8IDcxICsrKysrKysrKysrKysrLS0t LS0KIDggZmlsZXMgY2hhbmdlZCwgMTc4IGluc2VydGlvbnMoKyksIDE4IGRlbGV0aW9ucygtKQog Y3JlYXRlIG1vZGUgMTIwMDAwIHNyY3BrZ3MvYWxzYS1waXBld2lyZQogY3JlYXRlIG1vZGUgMTIw MDAwIHNyY3BrZ3MvbGliamFjay1waXBld2lyZQogY3JlYXRlIG1vZGUgMTIwMDAwIHNyY3BrZ3Mv bGlicHVsc2VhdWRpby1waXBld2lyZQogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvcGlwZXdp cmUvcGF0Y2hlcy8wMS1maXgtZm9ybWF0LXdhcm5pbmcucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0 NCBzcmNwa2dzL3BpcGV3aXJlL3BhdGNoZXMvMDItZml4LXNwYV9sb2dfZnVuYy1tdXNsLnBhdGNo CiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9waXBld2lyZS9wYXRjaGVzLzAzLWZpeC1uZW9u LWNvbXBpbGF0aW9uLnBhdGNoCgpkaWZmIC0tZ2l0IGEvY29tbW9uL3NobGlicyBiL2NvbW1vbi9z aGxpYnMKaW5kZXggNTgwYTEyZDljODcuLjdiNTBhODNkZDI1IDEwMDY0NAotLS0gYS9jb21tb24v c2hsaWJzCisrKyBiL2NvbW1vbi9zaGxpYnMKQEAgLTMyMDQsNyArMzIwNCw3IEBAIGxpYmFyY2Fu X3NobWlmX2V4dC5zby4wLjExIGFyY2FuLTAuNS40LjNfMQogbGliYXJjYW5fc2htaWZfc2VydmVy LnNvLjAuMTEgYXJjYW4tMC41LjQuM18xCiBsaWJhcmNhbl90dWkuc28uMC4xMSBhcmNhbi0wLjUu NC4zXzEKIGxpYmx3aXB2Ni5zby4yIGx3aXB2Ni0xLjVhXzEKLWxpYnBpcGV3aXJlLTAuMi5zby4x IGxpYnBpcGV3aXJlLTAuMi4yXzEKK2xpYnBpcGV3aXJlLTAuMy5zby4wIGxpYnBpcGV3aXJlLTAu My40XzEKIGxpYnZvbGsuc28uMi4yLjEgdm9say0yLjIuMV8xCiBsaWJnbnVyYWRpby1ydW50aW1l LnNvLjMuOC4wIGdudXJhZGlvLTMuOC4wLjBfMQogbGliZ251cmFkaW8tcG10LnNvLjMuOC4wIGdu dXJhZGlvLTMuOC4wLjBfMQpkaWZmIC0tZ2l0IGEvc3JjcGtncy9hbHNhLXBpcGV3aXJlIGIvc3Jj cGtncy9hbHNhLXBpcGV3aXJlCm5ldyBmaWxlIG1vZGUgMTIwMDAwCmluZGV4IDAwMDAwMDAwMDAw Li5jOWM5N2NmNjcwNwotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvYWxzYS1waXBld2lyZQpA QCAtMCwwICsxIEBACitwaXBld2lyZQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt LWdpdCBhL3NyY3BrZ3MvbGliamFjay1waXBld2lyZSBiL3NyY3BrZ3MvbGliamFjay1waXBld2ly ZQpuZXcgZmlsZSBtb2RlIDEyMDAwMAppbmRleCAwMDAwMDAwMDAwMC4uYzljOTdjZjY3MDcKLS0t IC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL2xpYmphY2stcGlwZXdpcmUKQEAgLTAsMCArMSBAQAor cGlwZXdpcmUKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9zcmNwa2dz L2xpYnB1bHNlYXVkaW8tcGlwZXdpcmUgYi9zcmNwa2dzL2xpYnB1bHNlYXVkaW8tcGlwZXdpcmUK bmV3IGZpbGUgbW9kZSAxMjAwMDAKaW5kZXggMDAwMDAwMDAwMDAuLmM5Yzk3Y2Y2NzA3Ci0tLSAv ZGV2L251bGwKKysrIGIvc3JjcGtncy9saWJwdWxzZWF1ZGlvLXBpcGV3aXJlCkBAIC0wLDAgKzEg QEAKK3BpcGV3aXJlClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvc3Jj cGtncy9waXBld2lyZS9wYXRjaGVzLzAxLWZpeC1mb3JtYXQtd2FybmluZy5wYXRjaCBiL3NyY3Br Z3MvcGlwZXdpcmUvcGF0Y2hlcy8wMS1maXgtZm9ybWF0LXdhcm5pbmcucGF0Y2gKbmV3IGZpbGUg bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLmI0ZTg3NDgzOTBlCi0tLSAvZGV2L251bGwK KysrIGIvc3JjcGtncy9waXBld2lyZS9wYXRjaGVzLzAxLWZpeC1mb3JtYXQtd2FybmluZy5wYXRj aApAQCAtMCwwICsxLDM3IEBACitGcm9tIDk3OWE4MWE3MGQ0NjhkNjQ4Mjc3MzUyMWI4OWFhZjY3 Y2U3OWI5MjEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBXaW0gVGF5bWFucyA8d3Rh eW1hbnNAcmVkaGF0LmNvbT4KK0RhdGU6IEZyaSwgMSBNYXkgMjAyMCAxMTowNTozOCArMDIwMAor U3ViamVjdDogW1BBVENIXSBtZXNvbjogYWRkIC1XZm9ybWF0CitNSU1FLVZlcnNpb246IDEuMAor Q29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04CitDb250ZW50LVRyYW5zZmVy LUVuY29kaW5nOiA4Yml0CisKK2NjMTogd2FybmluZzog4oCYLVdmb3JtYXQtc2VjdXJpdHnigJkg aWdub3JlZCB3aXRob3V0IOKAmC1XZm9ybWF04oCZIFstV2Zvcm1hdC1zZWN1cml0eV0KKworRml4 ZXMgIzIzNAorLS0tCisgbWVzb24uYnVpbGQgfCAyICsrCisgMSBmaWxlIGNoYW5nZWQsIDIgaW5z ZXJ0aW9ucygrKQorCitkaWZmIC0tZ2l0IGEvbWVzb24uYnVpbGQgYi9tZXNvbi5idWlsZAoraW5k ZXggNzQxNDI1ODcuLjE2MzFlNzYzIDEwMDY0NAorLS0tIG1lc29uLmJ1aWxkCisrKysgbWVzb24u YnVpbGQKK0BAIC01MSw2ICs1MSw3IEBAIGlmIGNjLmdldF9pZCgpID09ICdnY2MnCisgCQkJJy1X c2lnbi1jb21wYXJlJywKKyAJCQknLVdpbXBsaWNpdC1mYWxsdGhyb3VnaCcsCisgCQkJJy1XcG9p bnRlci1hcml0aCcsCisrCQkJJy1XZm9ybWF0JywKKyAJCQknLVdmb3JtYXQtc2VjdXJpdHknLAor IAkJCSctV2Vycm9yPXN1Z2dlc3QtYXR0cmlidXRlPWZvcm1hdCcsCisgCQkJJy1XbWlzc2luZy1i cmFjZXMnLAorQEAgLTY4LDYgKzY5LDcgQEAgaWYgY2MuZ2V0X2lkKCkgPT0gJ2djYycKKyAJCQkn LVdzaWduLWNvbXBhcmUnLAorIAkJCSctV2ltcGxpY2l0LWZhbGx0aHJvdWdoJywKKyAJCQknLVdw b2ludGVyLWFyaXRoJywKKysJCQknLVdmb3JtYXQnLAorIAkJCSctV2Zvcm1hdC1zZWN1cml0eScs CisgCQkJJy1XZXJyb3I9c3VnZ2VzdC1hdHRyaWJ1dGU9Zm9ybWF0JywKKyAJCQknLVdtaXNzaW5n LWJyYWNlcycsCistLQorMi4yNi4yCmRpZmYgLS1naXQgYS9zcmNwa2dzL3BpcGV3aXJlL3BhdGNo ZXMvMDItZml4LXNwYV9sb2dfZnVuYy1tdXNsLnBhdGNoIGIvc3JjcGtncy9waXBld2lyZS9wYXRj aGVzLzAyLWZpeC1zcGFfbG9nX2Z1bmMtbXVzbC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NApp bmRleCAwMDAwMDAwMDAwMC4uYjgxNjk3NWE2ZWIKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dz L3BpcGV3aXJlL3BhdGNoZXMvMDItZml4LXNwYV9sb2dfZnVuYy1tdXNsLnBhdGNoCkBAIC0wLDAg KzEsMjUgQEAKK0Zyb20gZTgzYmY4YTMzZjcyMDA1MGM3ZjFlYzVmMDA1MzBmYWZkNWFmNTY5OCBN b24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRo YXQuY29tPgorRGF0ZTogRnJpLCAxIE1heSAyMDIwIDExOjE4OjI4ICswMjAwCitTdWJqZWN0OiBb UEFUQ0hdIGxvZzogdXNlIHByaW50ZiBhdHRyaWJ1dGUgZm9yIGxvZyBmYWxsYmFjaworCitGaXhl cyAjMjMzCistLS0KKyBzcGEvaW5jbHVkZS9zcGEvc3VwcG9ydC9sb2cuaCB8IDIgKy0KKyAxIGZp bGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKKworZGlmZiAtLWdpdCBh L3NwYS9pbmNsdWRlL3NwYS9zdXBwb3J0L2xvZy5oIGIvc3BhL2luY2x1ZGUvc3BhL3N1cHBvcnQv bG9nLmgKK2luZGV4IGM5N2NjOGU1Li41MWIzZTc0MSAxMDA2NDQKKy0tLSBzcGEvaW5jbHVkZS9z cGEvc3VwcG9ydC9sb2cuaAorKysrIHNwYS9pbmNsdWRlL3NwYS9zdXBwb3J0L2xvZy5oCitAQCAt MTM5LDcgKzEzOSw3IEBAIHN0cnVjdCBzcGFfbG9nX21ldGhvZHMgeworICNlbHNlCisKKyAjZGVm aW5lIFNQQV9MT0dfRlVOQyhuYW1lLGxldikJCQkJCQkJXAorLXN0YXRpYyBpbmxpbmUgdm9pZCBz cGFfbG9nXyMjbmFtZSAoc3RydWN0IHNwYV9sb2cgKmwsIGNvbnN0IGNoYXIgKmZvcm1hdCwgLi4u KSAgXAorK3N0YXRpYyBpbmxpbmUgU1BBX1BSSU5URl9GVU5DKDIsMykgdm9pZCBzcGFfbG9nXyMj bmFtZSAoc3RydWN0IHNwYV9sb2cgKmwsIGNvbnN0IGNoYXIgKmZvcm1hdCwgLi4uKSAgXAorIHsJ CQkJCQkJCQkJXAorIAlpZiAoU1BBX1VOTElLRUxZKHNwYV9sb2dfbGV2ZWxfZW5hYmxlZChsLCBs ZXYpKSkgewkJCVwKKyAJCXZhX2xpc3QgdmFyYXJnczsJCQkJCQlcCistLQorMi4yNi4yCmRpZmYg LS1naXQgYS9zcmNwa2dzL3BpcGV3aXJlL3BhdGNoZXMvMDMtZml4LW5lb24tY29tcGlsYXRpb24u cGF0Y2ggYi9zcmNwa2dzL3BpcGV3aXJlL3BhdGNoZXMvMDMtZml4LW5lb24tY29tcGlsYXRpb24u cGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLjI4ZDlmMDViNzU0 Ci0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9waXBld2lyZS9wYXRjaGVzLzAzLWZpeC1uZW9u LWNvbXBpbGF0aW9uLnBhdGNoCkBAIC0wLDAgKzEsNTggQEAKK0Zyb20gMDExOTkyZTc3NGZjYjU4 OTY2ZjU2NzA5OWYwMzk0M2M1N2U2NmMyYiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206 IFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgorRGF0ZTogRnJpLCA4IE1heSAyMDIw IDIyOjEyOjI0ICswMjAwCitTdWJqZWN0OiBbUEFUQ0hdIG1lc29uOiB0cnkgdG8gY29tcGlsZSBh IGxpdHRsZSBORU9OIHByb2dyYW0gdG8gYmUgc3VyZQorCitGaXhlcyAjMjM1CistLS0KKyBtZXNv bi5idWlsZCB8IDM0ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0KKyAxIGZpbGUg Y2hhbmdlZCwgMzAgaW5zZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBh L21lc29uLmJ1aWxkIGIvbWVzb24uYnVpbGQKK2luZGV4IDE3ODY0ZGEwLi41YTQ5YzEyNCAxMDA2 NDQKKy0tLSBtZXNvbi5idWlsZAorKysrIG1lc29uLmJ1aWxkCitAQCAtMTAwLDExICsxMDAsMzcg QEAgaGF2ZV9hdngyID0gY2MuaGFzX2FyZ3VtZW50KGF2eDJfYXJncykKKworIGhhdmVfbmVvbiA9 IGZhbHNlCisgaWYgaG9zdF9tYWNoaW5lLmNwdV9mYW1pbHkoKSA9PSAnYWFyY2g2NCcKKy0gIG5l b25fYXJncyA9IFtdCistICBoYXZlX25lb24gPSB0cnVlCisrICBpZiBjYy5jb21waWxlcygnJycK KysgICAgI2luY2x1ZGUgPGFybV9uZW9uLmg+CisrICAgIGludCBtYWluICgpIHsKKysgICAgICBm bG9hdCAqczsKKysgICAgICBhc20gdm9sYXRpbGUoCisrCSIgICAgICBsZDEgeyB2MC40cyB9LCBb JVtzXV0sICMxNlxuIgorKyAgICAgICAgIiAgICAgIGZjdnR6cyB2MC40cywgdjAuNHMsICMzMVxu IgorKwk6IFtzXSAiK3IiIChzKSA6IDopOworKyAgICB9CisrICAgICcnJywKKysgICAgbmFtZSA6 ICdhYXJjaDY0IE5lb24gU3VwcG9ydCcpCisrICAgICAgbmVvbl9hcmdzID0gW10KKysgICAgICBo YXZlX25lb24gPSB0cnVlCisrCisrICBlbmRpZgorIGVsaWYgY2MuaGFzX2FyZ3VtZW50KCctbWZw dT1uZW9uJykKKy0gIG5lb25fYXJncyA9IFsnLW1mcHU9bmVvbiddCistICBoYXZlX25lb24gPSB0 cnVlCisrICBpZiBjYy5jb21waWxlcygnJycKKysgICAgI2luY2x1ZGUgPGFybV9uZW9uLmg+Cisr ICAgIGludCBtYWluICgpIHsKKysgICAgICBmbG9hdCAqczsKKysgICAgICBhc20gdm9sYXRpbGUo CisrICAgICAgICAiICAgICAgdmxkMS4zMiB7IHEwIH0sIFslW3NdXSFcbiIKKysgICAgICAgICIg ICAgICB2Y3Z0LnMzMi5mMzIgcTAsIHEwLCAjMzFcbiIKKysJOiBbc10gIityIiAocykgOiA6KTsK KysgICAgfQorKyAgICAnJycsCisrICAgIGFyZ3M6ICctbWZwdT1uZW9uJywKKysgICAgbmFtZSA6 ICdhcm0gTmVvbiBTdXBwb3J0JykKKysgICAgICBuZW9uX2FyZ3MgPSBbJy1tZnB1PW5lb24nXQor KyAgICAgIGhhdmVfbmVvbiA9IHRydWUKKysgIGVuZGlmCisgZW5kaWYKKworCistLQorMi4yNi4y CmRpZmYgLS1naXQgYS9zcmNwa2dzL3BpcGV3aXJlL3RlbXBsYXRlIGIvc3JjcGtncy9waXBld2ly ZS90ZW1wbGF0ZQppbmRleCA3ZjY0NmRhZDExZC4uNzYzYjdmOWIzNjUgMTAwNjQ0Ci0tLSBhL3Ny Y3BrZ3MvcGlwZXdpcmUvdGVtcGxhdGUKKysrIGIvc3JjcGtncy9waXBld2lyZS90ZW1wbGF0ZQpA QCAtMSwyNiArMSwzNyBAQAogIyBUZW1wbGF0ZSBmaWxlIGZvciAncGlwZXdpcmUnCiBwa2duYW1l PXBpcGV3aXJlCi12ZXJzaW9uPTAuMi43Cit2ZXJzaW9uPTAuMy40CiByZXZpc2lvbj0xCiBidWls ZF9zdHlsZT1tZXNvbgotY29uZmlndXJlX2FyZ3M9Ii1EbWFuPXRydWUgLURnc3RyZWFtZXI9ZW5h YmxlZCAtRGRvY3M9dHJ1ZSAtRHN5c3RlbWQ9ZmFsc2UiCitjb25maWd1cmVfYXJncz0iLURtYW49 dHJ1ZSAtRGdzdHJlYW1lcj10cnVlIC1EZG9jcz10cnVlIC1Ec3lzdGVtZD1mYWxzZQorIC1EYmx1 ZXo1PXRydWUgLURmZm1wZWc9dHJ1ZSAtRHBpcGV3aXJlLWFsc2E9dHJ1ZSAtRHBpcGV3aXJlLWph Y2s9dHJ1ZQorIC1EcGlwZXdpcmUtcHVsc2VhdWRpbz10cnVlIgogaG9zdG1ha2VkZXBlbmRzPSJk b3h5Z2VuIGdyYXBodml6IHBrZy1jb25maWcgeG1sdG9tYW4iCiBtYWtlZGVwZW5kcz0iU0RMMi1k ZXZlbCBmZm1wZWctZGV2ZWwgZ3N0LXBsdWdpbnMtYmFzZTEtZGV2ZWwgamFjay1kZXZlbAotIHNi Yy1kZXZlbCB2NGwtdXRpbHMtZGV2ZWwgbGlidmEtZGV2ZWwiCisgc2JjLWRldmVsIHY0bC11dGls cy1kZXZlbCBsaWJ2YS1kZXZlbCBsaWJibHVldG9vdGgtZGV2ZWwiCiBzaG9ydF9kZXNjPSJTZXJ2 ZXIgYW5kIHVzZXIgc3BhY2UgQVBJIHRvIGRlYWwgd2l0aCBtdWx0aW1lZGlhIHBpcGVsaW5lcyIK LW1haW50YWluZXI9Ik9ycGhhbmVkIDxvcnBoYW5Adm9pZGxpbnV4Lm9yZz4iCi0jTmV4dCByZWxl YXNlIHdpbGwgcHJvYmFibHkgY2hhbmdlIHRvIE1JVCwgY3VycmVudGx5IGxpc3RlZCBpbiBtYXN0 ZXIKLWxpY2Vuc2U9IkxHUEwtMi4xLW9ubHksIEdQTC0yLjAtb25seSAiCittYWludGFpbmVyPSJL cmlkc2FkYSBUaGFuYWJ1bHBvbmcgPHNpcm5Ab2dzaXRlLm5ldD4iCitsaWNlbnNlPSJNSVQiCiBo b21lcGFnZT0iaHR0cHM6Ly9waXBld2lyZS5vcmcvIgotY2hhbmdlbG9nPSJodHRwczovL3Jhdy5n aXRodWJ1c2VyY29udGVudC5jb20vUGlwZVdpcmUvcGlwZXdpcmUvbWFzdGVyL05FV1MiCi1kaXN0 ZmlsZXM9Imh0dHBzOi8vZ2l0aHViLmNvbS9QaXBlV2lyZS9waXBld2lyZS9hcmNoaXZlLyR7dmVy c2lvbn0udGFyLmd6IgotY2hlY2tzdW09YmZhYTBmNmFlNmMwNzkxZTJlMGI1OTIzNGQzOTk3NTNi ZjI0ZjFiMzNkYmY1ODc2ODIzNjNhODQ2M2RkOGRmMQorY2hhbmdlbG9nPSJodHRwczovL2dpdGxh Yi5mcmVlZGVza3RvcC5vcmcvcGlwZXdpcmUvcGlwZXdpcmUvLS9yYXcvbWFzdGVyL05FV1MiCitk aXN0ZmlsZXM9Imh0dHBzOi8vZ2l0bGFiLmZyZWVkZXNrdG9wLm9yZy9waXBld2lyZS9waXBld2ly ZS8tL2FyY2hpdmUvJHt2ZXJzaW9ufS9waXBld2lyZS0ke3ZlcnNpb259LnRhci5neiIKK2NoZWNr c3VtPTZhMWM5YzY3MTUxNGM4NGIzOGNlOTZkNTE4MjMzNTQ3MDJiYzRkNWRiYWJhMTJkNTAxZmFh MDQ0OGY4OTI1MTUKIGNvbmZfZmlsZXM9Ii9ldGMvcGlwZXdpcmUvcGlwZXdpcmUuY29uZiIKIAor aWYgWyAiJFhCUFNfVEFSR0VUX05PX0FUT01JQzgiIF07IHRoZW4KKwltYWtlZGVwZW5kcys9IiBs aWJhdG9taWMtZGV2ZWwiCisJTERGTEFHUys9IiAtbGF0b21pYyIKK2ZpCisKK3Bvc3RfaW5zdGFs bCgpIHsKKwl2bGljZW5zZSBMSUNFTlNFCit9CisKIGxpYnBpcGV3aXJlX3BhY2thZ2UoKSB7CiAJ c2hvcnRfZGVzYys9IiAtIHBpcGV3aXJlIGxpYnJhcnkiCiAJcGtnX2luc3RhbGwoKSB7Ci0JCXZt b3ZlICJ1c3IvbGliL2xpYnBpcGV3aXJlLTAuMi5zby4qIgorCQl2bW92ZSAidXNyL2xpYi9saWJw aXBld2lyZS0wLjMuc28uKiIKKwkJdm1vdmUgInVzci9saWIvcGlwZXdpcmUtMC4zLyouc28iCiAJ fQogfQogCkBAIC0yOCwyNSArMzksMjUgQEAgcGlwZXdpcmUtZGV2ZWxfcGFja2FnZSgpIHsKIAlk ZXBlbmRzPSJsaWJwaXBld2lyZS0ke3ZlcnNpb259XyR7cmV2aXNpb259IgogCXNob3J0X2Rlc2Mr PSIgLSBwaXBld2lyZSBhbmQgbGlic3BhIGRldmVsb3BtZW50IGZpbGVzIgogCXBrZ19pbnN0YWxs KCkgewotCQl2bW92ZSB1c3IvaW5jbHVkZS9waXBld2lyZQotCQl2bW92ZSB1c3IvaW5jbHVkZS9z cGEKLQkJdm1vdmUgdXNyL2xpYi9wa2djb25maWcvbGlicGlwZXdpcmUtMC4yLnBjCi0JCXZtb3Zl IHVzci9saWIvcGtnY29uZmlnL2xpYnNwYS0wLjEucGMKLQkJdm1vdmUgdXNyL2xpYi9saWJwaXBl d2lyZS0wLjIuc28KKwkJdm1vdmUgdXNyL2luY2x1ZGUvcGlwZXdpcmUtMC4zCisJCXZtb3ZlIHVz ci9pbmNsdWRlL3NwYS0wLjIKKwkJdm1vdmUgdXNyL2xpYi9wa2djb25maWcvbGlicGlwZXdpcmUt MC4zLnBjCisJCXZtb3ZlIHVzci9saWIvcGtnY29uZmlnL2xpYnNwYS0wLjIucGMKKwkJdm1vdmUg dXNyL2xpYi9saWJwaXBld2lyZS0wLjMuc28KIAl9CiB9CiAKIGxpYnNwYS1mZm1wZWdfcGFja2Fn ZSgpIHsKIAlzaG9ydF9kZXNjKz0iIC0gZmZtcGVnIHBsdWdpbnMiCiAJcGtnX2luc3RhbGwoKSB7 Ci0JCXZtb3ZlIHVzci9saWIvc3BhL2ZmbXBlZworCQl2bW92ZSB1c3IvbGliL3NwYS0wLjIvZmZt cGVnCiAJfQogfQogCiBsaWJzcGEtYmx1ZXRvb3RoX3BhY2thZ2UoKSB7CiAJc2hvcnRfZGVzYys9 IiAtIGJsdWV0b290aCBwbHVnaW5zIgogCXBrZ19pbnN0YWxsKCkgewotCQl2bW92ZSB1c3IvbGli L3NwYS9ibHVlejUKKwkJdm1vdmUgdXNyL2xpYi9zcGEtMC4yL2JsdWV6NQogCX0KIH0KIApAQCAt NTcsNiArNjgsMzIgQEAgZ3N0cmVhbWVyMS1waXBld2lyZV9wYWNrYWdlKCkgewogCX0KIH0KIAor bGlicHVsc2VhdWRpby1waXBld2lyZV9wYWNrYWdlKCkgeworCWRlcGVuZHM9ImxpYnBpcGV3aXJl LSR7dmVyc2lvbn1fJHtyZXZpc2lvbn0iCisJc2hvcnRfZGVzYys9IiAtIFB1bHNlQXVkaW8gY2xp ZW50IGxpYnJhcnkiCisJcGtnX2luc3RhbGwoKSB7CisJCXZtb3ZlIHVzci9saWIvcGlwZXdpcmUt MC4zL3B1bHNlCisJCXZtb3ZlIHVzci9iaW4vcHctcHVsc2UKKwl9Cit9CisKK2Fsc2EtcGlwZXdp cmVfcGFja2FnZSgpIHsKKwlkZXBlbmRzPSJsaWJwaXBld2lyZS0ke3ZlcnNpb259XyR7cmV2aXNp b259IgorCXNob3J0X2Rlc2MrPSIgLSBBTFNBIGNsaWVudCBsaWJyYXJ5IgorCXBrZ19pbnN0YWxs KCkgeworCQl2bW92ZSB1c3IvbGliL2Fsc2EtbGliCisJfQorfQorCitsaWJqYWNrLXBpcGV3aXJl X3BhY2thZ2UoKSB7CisJZGVwZW5kcz0ibGlicGlwZXdpcmUtJHt2ZXJzaW9ufV8ke3JldmlzaW9u fSIKKwlzaG9ydF9kZXNjKz0iIC0gSkFDSyBjbGllbnQgbGlicmFyeSIKKwlwa2dfaW5zdGFsbCgp IHsKKwkJdm1vdmUgdXNyL2xpYi9waXBld2lyZS0wLjMvamFjaworCQl2bW92ZSB1c3IvYmluL3B3 LWphY2sKKwl9Cit9CisKIHBpcGV3aXJlLWRvY19wYWNrYWdlKCkgewogCWFyY2hzPW5vYXJjaAog CXNob3J0X2Rlc2MrPSIgLSBkb2N1bWVudGF0aW9uIgoKRnJvbSA3ZWI4MDFkZDE5MzdjZWZkNDcz ZmMyMzI1YWExYTQ4Zjc2NTU4ZGZiIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBLcmlk c2FkYSBUaGFuYWJ1bHBvbmcgPHNpcm5Ab2dzaXRlLm5ldD4KRGF0ZTogU2F0LCAyOCBNYXIgMjAy MCAxNjoyNDo0NiArMDkwMApTdWJqZWN0OiBbUEFUQ0ggMi80XSB4ZGctZGVza3RvcC1wb3J0YWwt a2RlOiByZWJ1aWxkIGZvciBwaXBld2lyZS0wLjMKCi0tLQogc3JjcGtncy94ZGctZGVza3RvcC1w b3J0YWwta2RlL3RlbXBsYXRlIHwgMiArLQogMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCsp LCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy94ZGctZGVza3RvcC1wb3J0YWwt a2RlL3RlbXBsYXRlIGIvc3JjcGtncy94ZGctZGVza3RvcC1wb3J0YWwta2RlL3RlbXBsYXRlCmlu ZGV4IDdhMmFhZjE2Yjk2Li41NzRlMjg1MDRiNyAxMDA2NDQKLS0tIGEvc3JjcGtncy94ZGctZGVz a3RvcC1wb3J0YWwta2RlL3RlbXBsYXRlCisrKyBiL3NyY3BrZ3MveGRnLWRlc2t0b3AtcG9ydGFs LWtkZS90ZW1wbGF0ZQpAQCAtMSw3ICsxLDcgQEAKICMgVGVtcGxhdGUgZmlsZSBmb3IgJ3hkZy1k ZXNrdG9wLXBvcnRhbC1rZGUnCiBwa2duYW1lPXhkZy1kZXNrdG9wLXBvcnRhbC1rZGUKIHZlcnNp b249NS4xOC41Ci1yZXZpc2lvbj0xCityZXZpc2lvbj0yCiBidWlsZF9zdHlsZT1jbWFrZQogaG9z dG1ha2VkZXBlbmRzPSJleHRyYS1jbWFrZS1tb2R1bGVzIHF0NS1xbWFrZSBxdDUtaG9zdC10b29s cyBrY29yZWFkZG9ucyBnZXR0ZXh0IgogbWFrZWRlcGVuZHM9ImdsaWItZGV2ZWwga2lvLWRldmVs IGt3YXlsYW5kLWRldmVsIGxpYmVwb3h5LWRldmVsIHBpcGV3aXJlLWRldmVsCgpGcm9tIGRkMGQ0 YTRlZjk4Y2M5ZGQ0MGExZjE0NmY4M2M1ZGZlYmI2Yjc2OTUgTW9uIFNlcCAxNyAwMDowMDowMCAy MDAxCkZyb206IEtyaWRzYWRhIFRoYW5hYnVscG9uZyA8c2lybkBvZ3NpdGUubmV0PgpEYXRlOiBT YXQsIDI4IE1hciAyMDIwIDE2OjI0OjI2ICswOTAwClN1YmplY3Q6IFtQQVRDSCAzLzRdIHhkZy1k ZXNrdG9wLXBvcnRhbDogcmVidWlsZCBmb3IgcGlwZXdpcmUtMC4zCgotLS0KIC4uLi9wYXRjaGVz L3BpcGV3aXJlLTAuMy5wYXRjaCAgICAgICAgICAgICAgICB8IDU1MSArKysrKysrKysrKysrKysr KysKIHNyY3BrZ3MveGRnLWRlc2t0b3AtcG9ydGFsL3RlbXBsYXRlICAgICAgICAgICB8ICAgOCAr LQogMiBmaWxlcyBjaGFuZ2VkLCA1NTcgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKIGNy ZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL3hkZy1kZXNrdG9wLXBvcnRhbC9wYXRjaGVzL3BpcGV3 aXJlLTAuMy5wYXRjaAoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MveGRnLWRlc2t0b3AtcG9ydGFsL3Bh dGNoZXMvcGlwZXdpcmUtMC4zLnBhdGNoIGIvc3JjcGtncy94ZGctZGVza3RvcC1wb3J0YWwvcGF0 Y2hlcy9waXBld2lyZS0wLjMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw MDAwMDAuLjk0ZWJlMDgzNTk4Ci0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy94ZGctZGVza3Rv cC1wb3J0YWwvcGF0Y2hlcy9waXBld2lyZS0wLjMucGF0Y2gKQEAgLTAsMCArMSw1NTEgQEAKK0Zy b20gYTM4OTAxZTVlN2Y4MzVlZmU3YjdhMDZjNTU3OTBjOGMyMGJjOTFhMiBNb24gU2VwIDE3IDAw OjAwOjAwIDIwMDEKK0Zyb206IFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgorRGF0 ZTogVHVlLCAxNCBKYW4gMjAyMCAwOTozNzowOSArMDEwMAorU3ViamVjdDogW1BBVENIXSBQaXBl V2lyZTogdXBkYXRlIHRvIDAuMyBBUEkKKworLS0tCisgY29uZmlndXJlLmFjICAgICAgfCAgIDIg Ky0KKyBzcmMvY2FtZXJhLmMgICAgICB8ICAyNCArKysrLS0tLQorIHNyYy9waXBld2lyZS5jICAg IHwgMTQxICsrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyBz cmMvcGlwZXdpcmUuaCAgICB8ICAxMCArKy0tCisgc3JjL3NjcmVlbi1jYXN0LmMgfCAgOTggKysr KysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyA1IGZpbGVzIGNoYW5nZWQsIDcyIGluc2Vy dGlvbnMoKyksIDIwMyBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBjb25maWd1cmUuYWMgY29u ZmlndXJlLmFjCitpbmRleCA4OTkwMmZhLi42MmQ3OTYwIDEwMDY0NAorLS0tIGNvbmZpZ3VyZS5h YworKysrIGNvbmZpZ3VyZS5hYworQEAgLTk3LDcgKzk3LDcgQEAgQUNfQVJHX0VOQUJMRShwaXBl d2lyZSwKKyAJICAgICAgW0FTX0hFTFBfU1RSSU5HKFstLWVuYWJsZS1waXBld2lyZV0sW0VuYWJs ZSBQaXBlV2lyZSBzdXBwb3J0LiBOZWVkZWQgZm9yIHNjcmVlbiBjYXN0IHBvcnRhbF0pXSwKKyAJ ICAgICAgZW5hYmxlX3BpcGV3aXJlPSRlbmFibGV2YWwsIGVuYWJsZV9waXBld2lyZT15ZXMpCisg aWYgdGVzdCB4JGVuYWJsZV9waXBld2lyZSA9IHh5ZXMgOyB0aGVuCistCVBLR19DSEVDS19NT0RV TEVTKFBJUEVXSVJFLCBbbGlicGlwZXdpcmUtMC4yID49IDAuMi42XSkKKysJUEtHX0NIRUNLX01P RFVMRVMoUElQRVdJUkUsIFtsaWJwaXBld2lyZS0wLjMgPj0gMC4yLjkwXSkKKyAJQUNfREVGSU5F KFtIQVZFX1BJUEVXSVJFXSxbMV0sIFtEZWZpbmUgdG8gZW5hYmxlIFBpcGVXaXJlIHN1cHBvcnRd KQorIGZpCisgQU1fQ09ORElUSU9OQUwoW0hBVkVfUElQRVdJUkVdLFt0ZXN0ICIkZW5hYmxlX3Bp cGV3aXJlIiA9ICJ5ZXMiXSkKK2RpZmYgLS1naXQgc3JjL2NhbWVyYS5jIHNyYy9jYW1lcmEuYwor aW5kZXggYzJiMzkyYy4uMjBmZTNhYSAxMDA2NDQKKy0tLSBzcmMvY2FtZXJhLmMKKysrKyBzcmMv Y2FtZXJhLmMKK0BAIC0xNDEsNyArMTQxLDcgQEAgb3Blbl9waXBld2lyZV9jYW1lcmFfcmVtb3Rl IChjb25zdCBjaGFyICphcHBfaWQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHRXJy b3IgKiplcnJvcikKKyB7CisgICBQaXBlV2lyZVJlbW90ZSAqcmVtb3RlOworLSAgc3RydWN0IHNw YV9kaWN0X2l0ZW0gcGVybWlzc2lvbl9pdGVtc1sxXTsKKysgIHN0cnVjdCBwd19wZXJtaXNzaW9u IHBlcm1pc3Npb25faXRlbXNbMl07CisgICBzdHJ1Y3QgcHdfcHJvcGVydGllcyAqcGlwZXdpcmVf cHJvcGVydGllczsKKyAKKyAgIHBpcGV3aXJlX3Byb3BlcnRpZXMgPQorQEAgLTE1OCwxMiArMTU4 LDEyIEBAIG9wZW5fcGlwZXdpcmVfY2FtZXJhX3JlbW90ZSAoY29uc3QgY2hhciAqYXBwX2lkLAor ICAgICogSGlkZSBhbGwgZXhpc3RpbmcgYW5kIGZ1dHVyZSBub2RlcyBieSBkZWZhdWx0LiBQaXBl V2lyZSB3aWxsIHVzZSB0aGUKKyAgICAqIHBlcm1pc3Npb24gc3RvcmUgdG8gc2V0IHVwIHBlcm1p c3Npb25zLgorICAgICovCistICBwZXJtaXNzaW9uX2l0ZW1zWzBdLmtleSA9IFBXX0NPUkVfUFJP WFlfUEVSTUlTU0lPTlNfREVGQVVMVDsKKy0gIHBlcm1pc3Npb25faXRlbXNbMF0udmFsdWUgPSAi LS0tIjsKKysgIHBlcm1pc3Npb25faXRlbXNbMF0gPSBQV19QRVJNSVNTSU9OX0lOSVQgKFBXX0lE X0NPUkUsIFBXX1BFUk1fUldYKTsKKysgIHBlcm1pc3Npb25faXRlbXNbMV0gPSBQV19QRVJNSVNT SU9OX0lOSVQgKFBXX0lEX0FOWSwgMCk7CisgCistICBwd19jb3JlX3Byb3h5X3Blcm1pc3Npb25z IChwd19yZW1vdGVfZ2V0X2NvcmVfcHJveHkgKHJlbW90ZS0+cmVtb3RlKSwKKy0gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICZTUEFfRElDVF9JTklUIChwZXJtaXNzaW9uX2l0ZW1zLAorLSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdfTl9FTEVNRU5UUyAo cGVybWlzc2lvbl9pdGVtcykpKTsKKysgIHB3X2NsaWVudF91cGRhdGVfcGVybWlzc2lvbnMgKHB3 X2NvcmVfZ2V0X2NsaWVudChyZW1vdGUtPmNvcmUpLAorKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgR19OX0VMRU1FTlRTIChwZXJtaXNzaW9uX2l0ZW1zKSwKKysgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHBlcm1pc3Npb25faXRlbXMpOworIAorICAgcGlwZXdpcmVfcmVt b3RlX3JvdW5kdHJpcCAocmVtb3RlKTsKKyAKK0BAIC0yMTksNyArMjE5LDcgQEAgaGFuZGxlX29w ZW5fcGlwZXdpcmVfcmVtb3RlIChYZHBDYW1lcmEgKm9iamVjdCwKKyAgICAgfQorIAorICAgb3V0 X2ZkX2xpc3QgPSBnX3VuaXhfZmRfbGlzdF9uZXcgKCk7CistICBmZCA9IHB3X3JlbW90ZV9zdGVh bF9mZCAocmVtb3RlLT5yZW1vdGUpOworKyAgZmQgPSBwd19jb3JlX3N0ZWFsX2ZkIChyZW1vdGUt PmNvcmUpOworICAgZmRfaWQgPSBnX3VuaXhfZmRfbGlzdF9hcHBlbmQgKG91dF9mZF9saXN0LCBm ZCwgJmVycm9yKTsKKyAgIGNsb3NlIChmZCk7CisgICBwaXBld2lyZV9yZW1vdGVfZGVzdHJveSAo cmVtb3RlKTsKK0BAIC0yNTAsMjkgKzI1MCwyOCBAQCBjYW1lcmFfaWZhY2VfaW5pdCAoWGRwQ2Ft ZXJhSWZhY2UgKmlmYWNlKQorIHN0YXRpYyB2b2lkCisgZ2xvYmFsX2FkZGVkX2NiIChQaXBlV2ly ZVJlbW90ZSAqcmVtb3RlLAorICAgICAgICAgICAgICAgICAgdWludDMyX3QgaWQsCistICAgICAg ICAgICAgICAgICB1aW50MzJfdCB0eXBlLAorKyAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAq dHlwZSwKKyAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBzcGFfZGljdCAqcHJvcHMsCisg ICAgICAgICAgICAgICAgICBncG9pbnRlciB1c2VyX2RhdGEpCisgeworICAgQ2FtZXJhICpjYW1l cmEgPSB1c2VyX2RhdGE7CistICBzdHJ1Y3QgcHdfdHlwZSAqY29yZV90eXBlID0gcHdfY29yZV9n ZXRfdHlwZSAocmVtb3RlLT5jb3JlKTsKKyAgIGNvbnN0IHN0cnVjdCBzcGFfZGljdF9pdGVtICpt ZWRpYV9jbGFzczsKKyAgIGNvbnN0IHN0cnVjdCBzcGFfZGljdF9pdGVtICptZWRpYV9yb2xlOwor IAorLSAgaWYgKHR5cGUgIT0gY29yZV90eXBlLT5ub2RlKQorKyAgaWYgKHN0cmNtcCh0eXBlLCBQ V19UWVBFX0lOVEVSRkFDRV9Ob2RlKSAhPSAwKQorICAgICByZXR1cm47CisgCisgICBpZiAoIXBy b3BzKQorICAgICByZXR1cm47CisgCistICBtZWRpYV9jbGFzcyA9IHNwYV9kaWN0X2xvb2t1cF9p dGVtIChwcm9wcywgIm1lZGlhLmNsYXNzIik7CisrICBtZWRpYV9jbGFzcyA9IHNwYV9kaWN0X2xv b2t1cF9pdGVtIChwcm9wcywgUFdfS0VZX01FRElBX0NMQVNTKTsKKyAgIGlmICghbWVkaWFfY2xh c3MpCisgICAgIHJldHVybjsKKyAKKyAgIGlmIChnX3N0cmNtcDAgKG1lZGlhX2NsYXNzLT52YWx1 ZSwgIlZpZGVvL1NvdXJjZSIpICE9IDApCisgICAgIHJldHVybjsKKyAKKy0gIG1lZGlhX3JvbGUg PSBzcGFfZGljdF9sb29rdXBfaXRlbSAocHJvcHMsICJtZWRpYS5yb2xlIik7CisrICBtZWRpYV9y b2xlID0gc3BhX2RpY3RfbG9va3VwX2l0ZW0gKHByb3BzLCBQV19LRVlfTUVESUFfUk9MRSk7Cisg ICBpZiAoIW1lZGlhX3JvbGUpCisgICAgIHJldHVybjsKKyAKK0BAIC0zNDIsNiArMzQxLDcgQEAg Y3JlYXRlX3BpcGV3aXJlX3JlbW90ZSAoQ2FtZXJhICpjYW1lcmEsCisgICAgIH0KKyAKKyAgIHBp cGV3aXJlX3Byb3BlcnRpZXMgPSBwd19wcm9wZXJ0aWVzX25ldyAoInBpcGV3aXJlLmFjY2Vzcy5w b3J0YWwuaXNfcG9ydGFsIiwgInRydWUiLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAicG9ydGFsLm1vbml0b3IiLCAiQ2FtZXJhIiwKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCk7CisgICBjYW1lcmEtPnBpcGV3aXJl X3JlbW90ZSA9IHBpcGV3aXJlX3JlbW90ZV9uZXdfc3luYyAocGlwZXdpcmVfcHJvcGVydGllcywK KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBn bG9iYWxfYWRkZWRfY2IsCitkaWZmIC0tZ2l0IHNyYy9waXBld2lyZS5jIHNyYy9waXBld2lyZS5j CitpbmRleCA3OTNhMzc4Li4xNjJjZDU1IDEwMDY0NAorLS0tIHNyYy9waXBld2lyZS5jCisrKysg c3JjL3BpcGV3aXJlLmMKK0BAIC0yMSw2ICsyMSw3IEBACisgI2luY2x1ZGUgPGVycm5vLmg+Cisg I2luY2x1ZGUgPGdsaWIuaD4KKyAjaW5jbHVkZSA8cGlwZXdpcmUvcGlwZXdpcmUuaD4KKysjaW5j bHVkZSA8c3BhL3V0aWxzL3Jlc3VsdC5oPgorIAorICNpbmNsdWRlICJwaXBld2lyZS5oIgorIAor QEAgLTM2LDI3ICszNywyNSBAQCBzdGF0aWMgZ2Jvb2xlYW4gaXNfcGlwZXdpcmVfaW5pdGlhbGl6 ZWQgPSBGQUxTRTsKKyBzdGF0aWMgdm9pZAorIHJlZ2lzdHJ5X2V2ZW50X2dsb2JhbCAodm9pZCAq dXNlcl9kYXRhLAorICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgaWQsCistICAgICAg ICAgICAgICAgICAgICAgICB1aW50MzJfdCBwYXJlbnRfaWQsCisgICAgICAgICAgICAgICAgICAg ICAgICB1aW50MzJfdCBwZXJtaXNzaW9ucywKKy0gICAgICAgICAgICAgICAgICAgICAgIHVpbnQz Ml90IHR5cGUsCisrICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICp0eXBlLAorICAg ICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgdmVyc2lvbiwKKyAgICAgICAgICAgICAgICAg ICAgICAgIGNvbnN0IHN0cnVjdCBzcGFfZGljdCAqcHJvcHMpCisgeworICAgUGlwZVdpcmVSZW1v dGUgKnJlbW90ZSA9IHVzZXJfZGF0YTsKKy0gIHN0cnVjdCBwd190eXBlICpjb3JlX3R5cGUgPSBw d19jb3JlX2dldF90eXBlIChyZW1vdGUtPmNvcmUpOworICAgY29uc3Qgc3RydWN0IHNwYV9kaWN0 X2l0ZW0gKmZhY3Rvcnlfb2JqZWN0X3R5cGU7CisgICBQaXBlV2lyZUdsb2JhbCAqZ2xvYmFsOwor IAorICAgZ2xvYmFsID0gZ19uZXcwIChQaXBlV2lyZUdsb2JhbCwgMSk7CisgICAqZ2xvYmFsID0g KFBpcGVXaXJlR2xvYmFsKSB7CistICAgIC5wYXJlbnRfaWQgPSBwYXJlbnRfaWQsCisrICAgIC5w YXJlbnRfaWQgPSBpZCwKKyAgIH07CisgCisgICBnX2hhc2hfdGFibGVfaW5zZXJ0IChyZW1vdGUt Pmdsb2JhbHMsIEdJTlRfVE9fUE9JTlRFUiAoaWQpLCBnbG9iYWwpOworICAgaWYgKHJlbW90ZS0+ Z2xvYmFsX2FkZGVkX2NiKQorICAgICByZW1vdGUtPmdsb2JhbF9hZGRlZF9jYiAocmVtb3RlLCBp ZCwgdHlwZSwgcHJvcHMsIHJlbW90ZS0+dXNlcl9kYXRhKTsKKyAKKy0gIGlmICh0eXBlICE9IGNv cmVfdHlwZS0+ZmFjdG9yeSkKKysgIGlmIChzdHJjbXAodHlwZSwgUFdfVFlQRV9JTlRFUkZBQ0Vf RmFjdG9yeSkgIT0gMCkKKyAgICAgcmV0dXJuOworIAorICAgZmFjdG9yeV9vYmplY3RfdHlwZSA9 IHNwYV9kaWN0X2xvb2t1cF9pdGVtIChwcm9wcywgImZhY3RvcnkudHlwZS5uYW1lIik7CitAQCAt ODEsOCArODAsOCBAQCByZWdpc3RyeV9ldmVudF9nbG9iYWxfcmVtb3ZlICh2b2lkICp1c2VyX2Rh dGEsCisgICBnX2hhc2hfdGFibGVfcmVtb3ZlIChyZW1vdGUtPmdsb2JhbHMsIEdJTlRfVE9fUE9J TlRFUiAoaWQpKTsKKyB9CisgCistc3RhdGljIGNvbnN0IHN0cnVjdCBwd19yZWdpc3RyeV9wcm94 eV9ldmVudHMgcmVnaXN0cnlfZXZlbnRzID0geworLSAgUFdfVkVSU0lPTl9SRUdJU1RSWV9QUk9Y WV9FVkVOVFMsCisrc3RhdGljIGNvbnN0IHN0cnVjdCBwd19yZWdpc3RyeV9ldmVudHMgcmVnaXN0 cnlfZXZlbnRzID0geworKyAgUFdfVkVSU0lPTl9SRUdJU1RSWV9FVkVOVFMsCisgICAuZ2xvYmFs ID0gcmVnaXN0cnlfZXZlbnRfZ2xvYmFsLAorICAgLmdsb2JhbF9yZW1vdmUgPSByZWdpc3RyeV9l dmVudF9nbG9iYWxfcmVtb3ZlLAorIH07CitAQCAtOTAsNyArODksNyBAQCBzdGF0aWMgY29uc3Qg c3RydWN0IHB3X3JlZ2lzdHJ5X3Byb3h5X2V2ZW50cyByZWdpc3RyeV9ldmVudHMgPSB7Cisgdm9p ZAorIHBpcGV3aXJlX3JlbW90ZV9yb3VuZHRyaXAgKFBpcGVXaXJlUmVtb3RlICpyZW1vdGUpCisg eworLSAgcHdfY29yZV9wcm94eV9zeW5jIChyZW1vdGUtPmNvcmVfcHJveHksICsrcmVtb3RlLT5z eW5jX3NlcSk7CisrICByZW1vdGUtPnN5bmNfc2VxID0gcHdfY29yZV9zeW5jIChyZW1vdGUtPmNv cmUsIFBXX0lEX0NPUkUsIHJlbW90ZS0+c3luY19zZXEpOworICAgcHdfbWFpbl9sb29wX3J1biAo cmVtb3RlLT5sb29wKTsKKyB9CisgCitAQCAtOTgsMTYgKzk3LDEzIEBAIHN0YXRpYyBnYm9vbGVh bgorIGRpc2NvdmVyX25vZGVfZmFjdG9yeV9zeW5jIChQaXBlV2lyZVJlbW90ZSAqcmVtb3RlLAor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHRXJyb3IgKiplcnJvcikKKyB7CistICBzdHJ1 Y3QgcHdfdHlwZSAqY29yZV90eXBlID0gcHdfY29yZV9nZXRfdHlwZSAocmVtb3RlLT5jb3JlKTsK Ky0gIHN0cnVjdCBwd19yZWdpc3RyeV9wcm94eSAqcmVnaXN0cnlfcHJveHk7CisrICBzdHJ1Y3Qg cHdfcmVnaXN0cnkgKnJlZ2lzdHJ5OworIAorLSAgcmVnaXN0cnlfcHJveHkgPSBwd19jb3JlX3By b3h5X2dldF9yZWdpc3RyeSAocmVtb3RlLT5jb3JlX3Byb3h5LAorLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29yZV90eXBlLT5yZWdpc3RyeSwKKy0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBXX1ZFUlNJT05fUkVH SVNUUlksIDApOworLSAgcHdfcmVnaXN0cnlfcHJveHlfYWRkX2xpc3RlbmVyIChyZWdpc3RyeV9w cm94eSwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnJlbW90ZS0+cmVnaXN0 cnlfbGlzdGVuZXIsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZyZWdpc3Ry eV9ldmVudHMsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlbW90ZSk7Cisr ICByZWdpc3RyeSA9IHB3X2NvcmVfZ2V0X3JlZ2lzdHJ5IChyZW1vdGUtPmNvcmUsIFBXX1ZFUlNJ T05fUkVHSVNUUlksIDApOworKyAgcHdfcmVnaXN0cnlfYWRkX2xpc3RlbmVyIChyZWdpc3RyeSwK KysgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnJlbW90ZS0+cmVnaXN0cnlfbGlzdGVuZXIs CisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICZyZWdpc3RyeV9ldmVudHMsCisrICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHJlbW90ZSk7CisgCisgICBwaXBld2lyZV9yZW1vdGVfcm91 bmR0cmlwIChyZW1vdGUpOworIAorQEAgLTEyMiw1OSArMTE4LDM1IEBAIGRpc2NvdmVyX25vZGVf ZmFjdG9yeV9zeW5jIChQaXBlV2lyZVJlbW90ZSAqcmVtb3RlLAorIH0KKyAKKyBzdGF0aWMgdm9p ZAorLW9uX3N0YXRlX2NoYW5nZWQgKHZvaWQgKnVzZXJfZGF0YSwKKy0gICAgICAgICAgICAgICAg ICBlbnVtIHB3X3JlbW90ZV9zdGF0ZSBvbGQsCistICAgICAgICAgICAgICAgICAgZW51bSBwd19y ZW1vdGVfc3RhdGUgc3RhdGUsCistICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqZXJyb3Ip CisrY29yZV9ldmVudF9lcnJvciAodm9pZCAgICAgICAqdXNlcl9kYXRhLAorKyAgICAgICAgICAg ICAgICAgIHVpbnQzMl90ICAgIGlkLAorKwkJICBpbnQgICAgICAgICBzZXEsCisrCQkgIGludCAg ICAgICAgIHJlcywKKysJCSAgY29uc3QgY2hhciAqbWVzc2FnZSkKKyB7CisgICBQaXBlV2lyZVJl bW90ZSAqcmVtb3RlID0gdXNlcl9kYXRhOworIAorLSAgc3dpdGNoIChzdGF0ZSkKKysgIGlmIChp ZCA9PSBQV19JRF9DT1JFKQorICAgICB7CistICAgIGNhc2UgUFdfUkVNT1RFX1NUQVRFX0VSUk9S OgorLSAgICAgIGlmICghcmVtb3RlLT5lcnJvcikKKy0gICAgICAgIHsKKy0gICAgICAgICAgZ19z ZXRfZXJyb3IgKCZyZW1vdGUtPmVycm9yLCBHX0lPX0VSUk9SLCBHX0lPX0VSUk9SX0ZBSUxFRCwK Ky0gICAgICAgICAgICAgICAgICAgICAgICIlcyIsIGVycm9yKTsKKy0gICAgICAgIH0KKysgICAg ICBnX3NldF9lcnJvciAoJnJlbW90ZS0+ZXJyb3IsIEdfSU9fRVJST1IsIEdfSU9fRVJST1JfRkFJ TEVELAorKyAgICAgICAgICAgICAgICAgIiVzIiwgbWVzc2FnZSk7CisgICAgICAgcHdfbWFpbl9s b29wX3F1aXQgKHJlbW90ZS0+bG9vcCk7CistICAgICAgYnJlYWs7CistICAgIGNhc2UgUFdfUkVN T1RFX1NUQVRFX1VOQ09OTkVDVEVEOgorLSAgICAgIGlmICghcmVtb3RlLT5lcnJvcikKKy0gICAg ICAgIHsKKy0gICAgICAgICAgZ19zZXRfZXJyb3IgKCZyZW1vdGUtPmVycm9yLCBHX0lPX0VSUk9S LCBHX0lPX0VSUk9SX0ZBSUxFRCwKKy0gICAgICAgICAgICAgICAgICAgICAgICJEaXNjb25uZWN0 ZWQiKTsKKy0gICAgICAgIH0KKy0gICAgICBwd19tYWluX2xvb3BfcXVpdCAocmVtb3RlLT5sb29w KTsKKy0gICAgICBicmVhazsKKy0gICAgY2FzZSBQV19SRU1PVEVfU1RBVEVfQ09OTkVDVElORzoK Ky0gICAgICBicmVhazsKKy0gICAgY2FzZSBQV19SRU1PVEVfU1RBVEVfQ09OTkVDVEVEOgorLSAg ICAgIHB3X21haW5fbG9vcF9xdWl0IChyZW1vdGUtPmxvb3ApOworLSAgICAgIGJyZWFrOworLSAg ICBkZWZhdWx0OgorLSAgICAgIGdfd2FybmluZyAoIlVua25vd24gUGlwZVdpcmUgc3RhdGUiKTsK Ky0gICAgICBicmVhazsKKyAgICAgfQorIH0KKyAKKy1zdGF0aWMgY29uc3Qgc3RydWN0IHB3X3Jl bW90ZV9ldmVudHMgcmVtb3RlX2V2ZW50cyA9IHsKKy0gIFBXX1ZFUlNJT05fUkVNT1RFX0VWRU5U UywKKy0gIC5zdGF0ZV9jaGFuZ2VkID0gb25fc3RhdGVfY2hhbmdlZCwKKy19OworLQorIHN0YXRp YyB2b2lkCisgY29yZV9ldmVudF9kb25lICh2b2lkICp1c2VyX2RhdGEsCistICAgICAgICAgICAg ICAgICB1aW50MzJfdCBzZXEpCisrICAgICAgICAgICAgICAgICB1aW50MzJfdCBpZCwgaW50IHNl cSkKKyB7CisgICBQaXBlV2lyZVJlbW90ZSAqcmVtb3RlID0gdXNlcl9kYXRhOworIAorLSAgaWYg KHJlbW90ZS0+c3luY19zZXEgPT0gc2VxKQorKyAgaWYgKGlkID09IFBXX0lEX0NPUkUgJiYgcmVt b3RlLT5zeW5jX3NlcSA9PSBzZXEpCisgICAgIHB3X21haW5fbG9vcF9xdWl0IChyZW1vdGUtPmxv b3ApOworIH0KKyAKKy1zdGF0aWMgY29uc3Qgc3RydWN0IHB3X2NvcmVfcHJveHlfZXZlbnRzIGNv cmVfZXZlbnRzID0geworLSAgUFdfVkVSU0lPTl9DT1JFX1BST1hZX0VWRU5UUywKKytzdGF0aWMg Y29uc3Qgc3RydWN0IHB3X2NvcmVfZXZlbnRzIGNvcmVfZXZlbnRzID0geworKyAgUFdfVkVSU0lP Tl9DT1JFX0VWRU5UUywKKysgIC5lcnJvciA9IGNvcmVfZXZlbnRfZXJyb3IsCisgICAuZG9uZSA9 IGNvcmVfZXZlbnRfZG9uZSwKKyB9OworIAorQEAgLTIzNyw4ICsyMDksOCBAQCB2b2lkCisgcGlw ZXdpcmVfcmVtb3RlX2Rlc3Ryb3kgKFBpcGVXaXJlUmVtb3RlICpyZW1vdGUpCisgeworICAgZ19j bGVhcl9wb2ludGVyICgmcmVtb3RlLT5nbG9iYWxzLCBnX2hhc2hfdGFibGVfZGVzdHJveSk7Cist ICBnX2NsZWFyX3BvaW50ZXIgKCZyZW1vdGUtPnJlbW90ZSwgcHdfcmVtb3RlX2Rlc3Ryb3kpOwor LSAgZ19jbGVhcl9wb2ludGVyICgmcmVtb3RlLT5jb3JlLCBwd19jb3JlX2Rlc3Ryb3kpOworKyAg Z19jbGVhcl9wb2ludGVyICgmcmVtb3RlLT5jb3JlLCBwd19jb3JlX2Rpc2Nvbm5lY3QpOworKyAg Z19jbGVhcl9wb2ludGVyICgmcmVtb3RlLT5jb250ZXh0LCBwd19jb250ZXh0X2Rlc3Ryb3kpOwor ICAgZ19jbGVhcl9wb2ludGVyICgmcmVtb3RlLT5sb29wLCBwd19tYWluX2xvb3BfZGVzdHJveSk7 CisgICBnX2NsZWFyX2Vycm9yICgmcmVtb3RlLT5lcnJvcik7CisgCitAQCAtMzA3LDY4ICsyNzks MzEgQEAgcGlwZXdpcmVfcmVtb3RlX25ld19zeW5jIChzdHJ1Y3QgcHdfcHJvcGVydGllcyAqcGlw ZXdpcmVfcHJvcGVydGllcywKKyAgICAgICByZXR1cm4gTlVMTDsKKyAgICAgfQorIAorLSAgcmVt b3RlLT5jb3JlID0gcHdfY29yZV9uZXcgKHB3X21haW5fbG9vcF9nZXRfbG9vcCAocmVtb3RlLT5s b29wKSwgTlVMTCk7CistICBpZiAoIXJlbW90ZS0+Y29yZSkKKysgIHJlbW90ZS0+Y29udGV4dCA9 IHB3X2NvbnRleHRfbmV3IChwd19tYWluX2xvb3BfZ2V0X2xvb3AgKHJlbW90ZS0+bG9vcCksIE5V TEwsIDApOworKyAgaWYgKCFyZW1vdGUtPmNvbnRleHQpCisgICAgIHsKKyAgICAgICBwaXBld2ly ZV9yZW1vdGVfZGVzdHJveSAocmVtb3RlKTsKKyAgICAgICBwd19wcm9wZXJ0aWVzX2ZyZWUgKHBp cGV3aXJlX3Byb3BlcnRpZXMpOworICAgICAgIGdfc2V0X2Vycm9yIChlcnJvciwgR19JT19FUlJP UiwgR19JT19FUlJPUl9GQUlMRUQsCistICAgICAgICAgICAgICAgICAgICJDb3VsZG4ndCBjcmVh dGUgUGlwZVdpcmUgY29yZSIpOworKyAgICAgICAgICAgICAgICAgICAiQ291bGRuJ3QgY3JlYXRl IFBpcGVXaXJlIGNvbnRleHQiKTsKKyAgICAgICByZXR1cm4gTlVMTDsKKyAgICAgfQorIAorLSAg cmVtb3RlLT5yZW1vdGUgPSBwd19yZW1vdGVfbmV3IChyZW1vdGUtPmNvcmUsIHBpcGV3aXJlX3By b3BlcnRpZXMsIDApOworLSAgaWYgKCFyZW1vdGUtPnJlbW90ZSkKKysgIHJlbW90ZS0+Y29yZSA9 IHB3X2NvbnRleHRfY29ubmVjdCAocmVtb3RlLT5jb250ZXh0LCBwaXBld2lyZV9wcm9wZXJ0aWVz LCAwKTsKKysgIGlmICghcmVtb3RlLT5jb3JlKQorICAgICB7CisgICAgICAgcGlwZXdpcmVfcmVt b3RlX2Rlc3Ryb3kgKHJlbW90ZSk7CisgICAgICAgZ19zZXRfZXJyb3IgKGVycm9yLCBHX0lPX0VS Uk9SLCBHX0lPX0VSUk9SX0ZBSUxFRCwKKy0gICAgICAgICAgICAgICAgICAgIkNvdWxkbid0IGNy ZWF0ZSBQaXBlV2lyZSByZW1vdGUiKTsKKysgICAgICAgICAgICAgICAgICAgIkNvdWxkbid0IGNv bm5lY3QgdG8gUGlwZVdpcmUiKTsKKyAgICAgICByZXR1cm4gTlVMTDsKKyAgICAgfQorIAorICAg cmVtb3RlLT5nbG9iYWxzID0gZ19oYXNoX3RhYmxlX25ld19mdWxsIChOVUxMLCBOVUxMLCBOVUxM LCBnX2ZyZWUpOworIAorLSAgcHdfcmVtb3RlX2FkZF9saXN0ZW5lciAocmVtb3RlLT5yZW1vdGUs CistICAgICAgICAgICAgICAgICAgICAgICAgICAmcmVtb3RlLT5yZW1vdGVfbGlzdGVuZXIsCist ICAgICAgICAgICAgICAgICAgICAgICAgICAmcmVtb3RlX2V2ZW50cywKKy0gICAgICAgICAgICAg ICAgICAgICAgICAgIHJlbW90ZSk7CistCistICBpZiAocHdfcmVtb3RlX2Nvbm5lY3QgKHJlbW90 ZS0+cmVtb3RlKSAhPSAwKQorLSAgICB7CistICAgICAgcGlwZXdpcmVfcmVtb3RlX2Rlc3Ryb3kg KHJlbW90ZSk7CistICAgICAgZ19zZXRfZXJyb3IgKGVycm9yLCBHX0lPX0VSUk9SLCBHX0lPX0VS Uk9SX0ZBSUxFRCwKKy0gICAgICAgICAgICAgICAgICAgIkNvdWxkbid0IGNvbm5lY3QgUGlwZVdp cmUgcmVtb3RlIik7CistICAgICAgcmV0dXJuIE5VTEw7CistICAgIH0KKy0KKy0gIHB3X21haW5f bG9vcF9ydW4gKHJlbW90ZS0+bG9vcCk7CistCistICBzd2l0Y2ggKHB3X3JlbW90ZV9nZXRfc3Rh dGUgKHJlbW90ZS0+cmVtb3RlLCBOVUxMKSkKKy0gICAgeworLSAgICBjYXNlIFBXX1JFTU9URV9T VEFURV9FUlJPUjoKKy0gICAgY2FzZSBQV19SRU1PVEVfU1RBVEVfVU5DT05ORUNURUQ6CistICAg ICAgKmVycm9yID0gZ19zdGVhbF9wb2ludGVyICgmcmVtb3RlLT5lcnJvcik7CistICAgICAgcGlw ZXdpcmVfcmVtb3RlX2Rlc3Ryb3kgKHJlbW90ZSk7CistICAgICAgcmV0dXJuIE5VTEw7CistICAg IGNhc2UgUFdfUkVNT1RFX1NUQVRFX0NPTk5FQ1RJTkc6CistICAgICAgZ19zZXRfZXJyb3IgKGVy cm9yLCBHX0lPX0VSUk9SLCBHX0lPX0VSUk9SX0ZBSUxFRCwKKy0gICAgICAgICAgICAgICAgICAg IlBpcGVXaXJlIGxvb3Agc3RvcHBlZCB1bmV4cGVjdGVkbHkiKTsKKy0gICAgICBwaXBld2lyZV9y ZW1vdGVfZGVzdHJveSAocmVtb3RlKTsKKy0gICAgICByZXR1cm4gTlVMTDsKKy0gICAgY2FzZSBQ V19SRU1PVEVfU1RBVEVfQ09OTkVDVEVEOgorLSAgICAgIGJyZWFrOworLSAgICBkZWZhdWx0Ogor LSAgICAgIGdfc2V0X2Vycm9yIChlcnJvciwgR19JT19FUlJPUiwgR19JT19FUlJPUl9GQUlMRUQs CistICAgICAgICAgICAgICAgICAgICJVbmV4cGVjdGVkIFBpcGVXaXJlIHN0YXRlIik7CistICAg ICAgcGlwZXdpcmVfcmVtb3RlX2Rlc3Ryb3kgKHJlbW90ZSk7CistICAgICAgcmV0dXJuIE5VTEw7 CistICAgIH0KKy0KKy0gIHJlbW90ZS0+Y29yZV9wcm94eSA9IHB3X3JlbW90ZV9nZXRfY29yZV9w cm94eSAocmVtb3RlLT5yZW1vdGUpOworLSAgcHdfY29yZV9wcm94eV9hZGRfbGlzdGVuZXIgKHJl bW90ZS0+Y29yZV9wcm94eSwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcmVtb3Rl LT5jb3JlX2xpc3RlbmVyLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZjb3JlX2V2 ZW50cywKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZW1vdGUpOworKyAgcHdfY29y ZV9hZGRfbGlzdGVuZXIgKHJlbW90ZS0+Y29yZSwKKysgICAgICAgICAgICAgICAgICAgICAgICAm cmVtb3RlLT5jb3JlX2xpc3RlbmVyLAorKyAgICAgICAgICAgICAgICAgICAgICAgICZjb3JlX2V2 ZW50cywKKysgICAgICAgICAgICAgICAgICAgICAgICByZW1vdGUpOworIAorICAgaWYgKCFkaXNj b3Zlcl9ub2RlX2ZhY3Rvcnlfc3luYyAocmVtb3RlLCBlcnJvcikpCisgICAgIHsKK2RpZmYgLS1n aXQgc3JjL3BpcGV3aXJlLmggc3JjL3BpcGV3aXJlLmgKK2luZGV4IDBmMWJmNTQuLmJmNDhkNWUg MTAwNjQ0CistLS0gc3JjL3BpcGV3aXJlLmgKKysrKyBzcmMvcGlwZXdpcmUuaAorQEAgLTMyLDcg KzMyLDcgQEAgdHlwZWRlZiBzdHJ1Y3QgX1BpcGVXaXJlR2xvYmFsCisgCisgdHlwZWRlZiB2b2lk ICgqIFBpcGVXaXJlR2xvYmFsQWRkZWRDYWxsYmFjaykgKFBpcGVXaXJlUmVtb3RlICpyZW1vdGUs CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90 IGlkLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50 MzJfdCB0eXBlLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBjb25zdCBjaGFyICp0eXBlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBjb25zdCBzdHJ1Y3Qgc3BhX2RpY3QgKnByb3BzLAorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBncG9pbnRlciB1c2VyX2RhdGEpOworIAor QEAgLTQzLDEzICs0MywxMSBAQCB0eXBlZGVmIHZvaWQgKCogUGlwZVdpcmVHbG9iYWxSZW1vdmVk Q2FsbGJhY2spIChQaXBlV2lyZVJlbW90ZSAqcmVtb3RlLAorIHN0cnVjdCBfUGlwZVdpcmVSZW1v dGUKKyB7CisgICBzdHJ1Y3QgcHdfbWFpbl9sb29wICpsb29wOworKyAgc3RydWN0IHB3X2NvbnRl eHQgKmNvbnRleHQ7CisgICBzdHJ1Y3QgcHdfY29yZSAqY29yZTsKKy0gIHN0cnVjdCBwd19yZW1v dGUgKnJlbW90ZTsKKy0gIHN0cnVjdCBzcGFfaG9vayByZW1vdGVfbGlzdGVuZXI7CistCistICBz dHJ1Y3QgcHdfY29yZV9wcm94eSAqY29yZV9wcm94eTsKKyAgIHN0cnVjdCBzcGFfaG9vayBjb3Jl X2xpc3RlbmVyOworLSAgdWludDMyX3Qgc3luY19zZXE7CisrCisrICBpbnQgc3luY19zZXE7Cisg CisgICBzdHJ1Y3Qgc3BhX2hvb2sgcmVnaXN0cnlfbGlzdGVuZXI7CisgCitkaWZmIC0tZ2l0IHNy Yy9zY3JlZW4tY2FzdC5jIHNyYy9zY3JlZW4tY2FzdC5jCitpbmRleCA3ODgxZGRjLi4xNjc3MDUw IDEwMDY0NAorLS0tIHNyYy9zY3JlZW4tY2FzdC5jCisrKysgc3JjL3NjcmVlbi1jYXN0LmMKK0BA IC0zMSwxMCArMzEsMTAgQEAKKyAjaW5jbHVkZSAieGRwLWltcGwtZGJ1cy5oIgorICNpbmNsdWRl ICJ4ZHAtdXRpbHMuaCIKKyAKKy0jZGVmaW5lIFBFUk1JU1NJT05fSVRFTShpdGVtX2tleSwgaXRl bV92YWx1ZSkgXAorLSAgKChzdHJ1Y3Qgc3BhX2RpY3RfaXRlbSkgeyBcCistICAgIC5rZXkgPSBp dGVtX2tleSwgXAorLSAgICAudmFsdWUgPSBpdGVtX3ZhbHVlIFwKKysjZGVmaW5lIFBFUk1JU1NJ T05fSVRFTShpdGVtX2lkLCBpdGVtX3Blcm1pc3Npb25zKSBcCisrICAoKHN0cnVjdCBwd19wZXJt aXNzaW9uKSB7IFwKKysgICAgLmlkID0gaXRlbV9pZCwgXAorKyAgICAucGVybWlzc2lvbnMgPSBp dGVtX3Blcm1pc3Npb25zIFwKKyAgIH0pCisgCisgdHlwZWRlZiBzdHJ1Y3QgX1NjcmVlbkNhc3Qg U2NyZWVuQ2FzdDsKK0BAIC01MTcsNDIgKzUxNyw5IEBAIHNjcmVlbl9jYXN0X3N0cmVhbV9nZXRf cGlwZXdpcmVfbm9kZV9pZCAoU2NyZWVuQ2FzdFN0cmVhbSAqc3RyZWFtKQorICAgcmV0dXJuIHN0 cmVhbS0+aWQ7CisgfQorIAorLXN0YXRpYyB2b2lkCistYXBwZW5kX3BhcmVudF9wZXJtaXNzaW9u cyAoUGlwZVdpcmVSZW1vdGUgKnJlbW90ZSwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICBH QXJyYXkgKnBlcm1pc3Npb25faXRlbXMsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgR0xp c3QgKipzdHJpbmdfc3Rhc2gsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgUGlwZVdpcmVH bG9iYWwgKmdsb2JhbCwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICpw ZXJtaXNzaW9uKQorLXsKKy0gIFBpcGVXaXJlR2xvYmFsICpwYXJlbnQ7CistICBjaGFyICpwYXJl bnRfcGVybWlzc2lvbl92YWx1ZTsKKy0KKy0gIGlmIChnbG9iYWwtPnBhcmVudF9pZCA9PSAwKQor LSAgICByZXR1cm47CistCistICBwYXJlbnQgPSBnX2hhc2hfdGFibGVfbG9va3VwIChyZW1vdGUt Pmdsb2JhbHMsIEdJTlRfVE9fUE9JTlRFUiAoZ2xvYmFsLT5wYXJlbnRfaWQpKTsKKy0KKy0gIGlm IChwYXJlbnQtPnBlcm1pc3Npb25fc2V0KQorLSAgICByZXR1cm47CistICBwYXJlbnQtPnBlcm1p c3Npb25fc2V0ID0gVFJVRTsKKy0KKy0gIGFwcGVuZF9wYXJlbnRfcGVybWlzc2lvbnMgKHJlbW90 ZSwgcGVybWlzc2lvbl9pdGVtcywgc3RyaW5nX3N0YXNoLAorLSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgcGFyZW50LCBwZXJtaXNzaW9uKTsKKy0KKy0gIHBhcmVudF9wZXJtaXNzaW9uX3Zh bHVlID0gZ19zdHJkdXBfcHJpbnRmICgiJXU6JXMiLAorLSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIGdsb2JhbC0+cGFyZW50X2lkLAorLSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBlcm1pc3Npb24pOworLSAgKnN0cmluZ19z dGFzaCA9IGdfbGlzdF9wcmVwZW5kICgqc3RyaW5nX3N0YXNoLCBwYXJlbnRfcGVybWlzc2lvbl92 YWx1ZSk7CistCistICBnX2FycmF5X2FwcGVuZF92YWwgKHBlcm1pc3Npb25faXRlbXMsCistICAg ICAgICAgICAgICAgICAgICAgIFBFUk1JU1NJT05fSVRFTSAoUFdfQ09SRV9QUk9YWV9QRVJNSVNT SU9OU19HTE9CQUwsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFy ZW50X3Blcm1pc3Npb25fdmFsdWUpKTsKKy19CistCisgc3RhdGljIHZvaWQKKyBhcHBlbmRfc3Ry ZWFtX3Blcm1pc3Npb25zIChQaXBlV2lyZVJlbW90ZSAqcmVtb3RlLAorICAgICAgICAgICAgICAg ICAgICAgICAgICAgIEdBcnJheSAqcGVybWlzc2lvbl9pdGVtcywKKy0gICAgICAgICAgICAgICAg ICAgICAgICAgICBHTGlzdCAqKnN0cmluZ19zdGFzaCwKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICBHTGlzdCAqc3RyZWFtcykKKyB7CisgICBHTGlzdCAqbDsKK0BAIC01NjEsMjEgKzUyOCwx MCBAQCBhcHBlbmRfc3RyZWFtX3Blcm1pc3Npb25zIChQaXBlV2lyZVJlbW90ZSAqcmVtb3RlLAor ICAgICB7CisgICAgICAgU2NyZWVuQ2FzdFN0cmVhbSAqc3RyZWFtID0gbC0+ZGF0YTsKKyAgICAg ICB1aW50MzJfdCBzdHJlYW1faWQ7CistICAgICAgUGlwZVdpcmVHbG9iYWwgKnN0cmVhbV9nbG9i YWw7CistICAgICAgY2hhciAqc3RyZWFtX3Blcm1pc3Npb25fdmFsdWU7CisgCisgICAgICAgc3Ry ZWFtX2lkID0gc2NyZWVuX2Nhc3Rfc3RyZWFtX2dldF9waXBld2lyZV9ub2RlX2lkIChzdHJlYW0p OworLSAgICAgIHN0cmVhbV9nbG9iYWwgPSBnX2hhc2hfdGFibGVfbG9va3VwIChyZW1vdGUtPmds b2JhbHMsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdJTlRf VE9fUE9JTlRFUiAoc3RyZWFtX2lkKSk7CistCistICAgICAgYXBwZW5kX3BhcmVudF9wZXJtaXNz aW9ucyAocmVtb3RlLCBwZXJtaXNzaW9uX2l0ZW1zLCBzdHJpbmdfc3Rhc2gsCistICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgc3RyZWFtX2dsb2JhbCwgInItLSIpOworLQorLSAgICAg IHN0cmVhbV9wZXJtaXNzaW9uX3ZhbHVlID0gZ19zdHJkdXBfcHJpbnRmICgiJXU6cnd4Iiwgc3Ry ZWFtX2lkKTsKKy0gICAgICAqc3RyaW5nX3N0YXNoID0gZ19saXN0X3ByZXBlbmQgKCpzdHJpbmdf c3Rhc2gsIHN0cmVhbV9wZXJtaXNzaW9uX3ZhbHVlKTsKKyAgICAgICBnX2FycmF5X2FwcGVuZF92 YWwgKHBlcm1pc3Npb25faXRlbXMsCistICAgICAgICAgICAgICAgICAgICAgICAgICBQRVJNSVNT SU9OX0lURU0gKFBXX0NPUkVfUFJPWFlfUEVSTUlTU0lPTlNfR0xPQkFMLAorLSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJlYW1fcGVybWlzc2lvbl92YWx1ZSkp OworKyAgICAgICAgICAgICAgICAgICAgICAgICAgUEVSTUlTU0lPTl9JVEVNIChzdHJlYW1faWQs IFBXX1BFUk1fUldYKSk7CisgICAgIH0KKyB9CisgCitAQCAtNTg3LDkgKzU0Myw2IEBAIG9wZW5f cGlwZXdpcmVfc2NyZWVuX2Nhc3RfcmVtb3RlIChjb25zdCBjaGFyICphcHBfaWQsCisgICBzdHJ1 Y3QgcHdfcHJvcGVydGllcyAqcGlwZXdpcmVfcHJvcGVydGllczsKKyAgIFBpcGVXaXJlUmVtb3Rl ICpyZW1vdGU7CisgICBnX2F1dG9wdHIoR0FycmF5KSBwZXJtaXNzaW9uX2l0ZW1zID0gTlVMTDsK Ky0gIGNoYXIgKm5vZGVfZmFjdG9yeV9wZXJtaXNzaW9uX3N0cmluZzsKKy0gIEdMaXN0ICpzdHJp bmdfc3Rhc2ggPSBOVUxMOworLSAgc3RydWN0IHNwYV9kaWN0ICpwZXJtaXNzaW9uX2RpY3Q7Cisg ICBQaXBlV2lyZUdsb2JhbCAqbm9kZV9nbG9iYWw7CisgCisgICBwaXBld2lyZV9wcm9wZXJ0aWVz ID0gcHdfcHJvcGVydGllc19uZXcgKCJwaXBld2lyZS5hY2Nlc3MucG9ydGFsLmFwcF9pZCIsIGFw cF9pZCwKK0BAIC02MDMsNDggKzU1NiwzMSBAQCBvcGVuX3BpcGV3aXJlX3NjcmVlbl9jYXN0X3Jl bW90ZSAoY29uc3QgY2hhciAqYXBwX2lkLAorIAorICAgcGVybWlzc2lvbl9pdGVtcyA9IGdfYXJy YXlfbmV3IChGQUxTRSwgVFJVRSwgc2l6ZW9mIChzdHJ1Y3Qgc3BhX2RpY3RfaXRlbSkpOworIAor LSAgLyoKKy0gICAqIEhpZGUgYWxsIGV4aXN0aW5nIGFuZCBmdXR1cmUgbm9kZXMgKGV4Y2VwdCB0 aGUgb25lcyB3ZSBleHBsaWNpdGx5IGxpc3QgYmVsb3cuCistICAgKi8KKy0gIGdfYXJyYXlfYXBw ZW5kX3ZhbCAocGVybWlzc2lvbl9pdGVtcywKKy0gICAgICAgICAgICAgICAgICAgICAgUEVSTUlT U0lPTl9JVEVNIChQV19DT1JFX1BST1hZX1BFUk1JU1NJT05TX0VYSVNUSU5HLAorLSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICItLS0iKSk7CistICBnX2FycmF5X2FwcGVu ZF92YWwgKHBlcm1pc3Npb25faXRlbXMsCistICAgICAgICAgICAgICAgICAgICAgIFBFUk1JU1NJ T05fSVRFTSAoUFdfQ09SRV9QUk9YWV9QRVJNSVNTSU9OU19ERUZBVUxULAorLSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICItLS0iKSk7CistCisgICAvKgorICAgICogUGlw ZVdpcmU6SW50ZXJmYWNlOkNvcmUKKyAgICAqIE5lZWRzIHJ3eCB0byBiZSBhYmxlIGNyZWF0ZSB0 aGUgc2luayBub2RlIHVzaW5nIHRoZSBjcmVhdGUtb2JqZWN0IG1ldGhvZAorICAgICovCisgICBn X2FycmF5X2FwcGVuZF92YWwgKHBlcm1pc3Npb25faXRlbXMsCistICAgICAgICAgICAgICAgICAg ICAgIFBFUk1JU1NJT05fSVRFTSAoUFdfQ09SRV9QUk9YWV9QRVJNSVNTSU9OU19HTE9CQUwsCist ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIjA6cnd4IikpOworKyAgICAg ICAgICAgICAgICAgICAgICBQRVJNSVNTSU9OX0lURU0gKFBXX0lEX0NPUkUsIFBXX1BFUk1fUldY KSk7CisgCisgICAvKgorICAgICogUGlwZVdpcmU6SW50ZXJmYWNlOk5vZGVGYWN0b3J5CisgICAg KiBOZWVkcyByLS0gc28gaXQgY2FuIGJlIHBhc3NlZCB0byBjcmVhdGUtb2JqZWN0IHdoZW4gY3Jl YXRpbmcgdGhlIHNpbmsgbm9kZS4KKyAgICAqLworLSAgbm9kZV9mYWN0b3J5X3Blcm1pc3Npb25f c3RyaW5nID0gZ19zdHJkdXBfcHJpbnRmICgiJWQ6ci0tIiwKKy0gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVtb3RlLT5ub2RlX2ZhY3RvcnlfaWQp OworLSAgc3RyaW5nX3N0YXNoID0gZ19saXN0X3ByZXBlbmQgKHN0cmluZ19zdGFzaCwgbm9kZV9m YWN0b3J5X3Blcm1pc3Npb25fc3RyaW5nKTsKKyAgIGdfYXJyYXlfYXBwZW5kX3ZhbCAocGVybWlz c2lvbl9pdGVtcywKKy0gICAgICAgICAgICAgICAgICAgICAgUEVSTUlTU0lPTl9JVEVNIChQV19D T1JFX1BST1hZX1BFUk1JU1NJT05TX0dMT0JBTCwKKy0gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBub2RlX2ZhY3RvcnlfcGVybWlzc2lvbl9zdHJpbmcpKTsKKy0gIG5vZGVf Z2xvYmFsID0gZ19oYXNoX3RhYmxlX2xvb2t1cCAocmVtb3RlLT5nbG9iYWxzLAorLSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHSU5UX1RPX1BPSU5URVIgKHJlbW90ZS0+bm9k ZV9mYWN0b3J5X2lkKSk7CistICBhcHBlbmRfcGFyZW50X3Blcm1pc3Npb25zIChyZW1vdGUsIHBl cm1pc3Npb25faXRlbXMsICZzdHJpbmdfc3Rhc2gsCistICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBub2RlX2dsb2JhbCwgInItLSIpOworKyAgICAgICAgICAgICAgICAgICAgICBQRVJNSVNT SU9OX0lURU0gKHJlbW90ZS0+bm9kZV9mYWN0b3J5X2lkLCBQV19QRVJNX1IpKTsKKyAKKy0gIGFw cGVuZF9zdHJlYW1fcGVybWlzc2lvbnMgKHJlbW90ZSwgcGVybWlzc2lvbl9pdGVtcywgJnN0cmlu Z19zdGFzaCwgc3RyZWFtcyk7CisrICBhcHBlbmRfc3RyZWFtX3Blcm1pc3Npb25zIChyZW1vdGUs IHBlcm1pc3Npb25faXRlbXMsIHN0cmVhbXMpOworIAorLSAgcGVybWlzc2lvbl9kaWN0ID0KKy0g ICAgJlNQQV9ESUNUX0lOSVQgKChzdHJ1Y3Qgc3BhX2RpY3RfaXRlbSAqKSBwZXJtaXNzaW9uX2l0 ZW1zLT5kYXRhLAorLSAgICAgICAgICAgICAgICAgICAgcGVybWlzc2lvbl9pdGVtcy0+bGVuKTsK Ky0gIHB3X2NvcmVfcHJveHlfcGVybWlzc2lvbnMgKHB3X3JlbW90ZV9nZXRfY29yZV9wcm94eSAo cmVtb3RlLT5yZW1vdGUpLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGVybWlzc2lv bl9kaWN0KTsKKysgIC8qCisrICAgKiBIaWRlIGFsbCBleGlzdGluZyBhbmQgZnV0dXJlIG5vZGVz IChleGNlcHQgdGhlIG9uZXMgd2UgZXhwbGljaXRseSBsaXN0IGFib3ZlKS4KKysgICAqLworKyAg Z19hcnJheV9hcHBlbmRfdmFsIChwZXJtaXNzaW9uX2l0ZW1zLAorKyAgICAgICAgICAgICAgICAg ICAgICBQRVJNSVNTSU9OX0lURU0gKFBXX0lEX0FOWSwgMCkpOworIAorLSAgZ19saXN0X2ZyZWVf ZnVsbCAoc3RyaW5nX3N0YXNoLCBnX2ZyZWUpOworKyAgcHdfY2xpZW50X3VwZGF0ZV9wZXJtaXNz aW9ucyAocHdfY29yZV9nZXRfY2xpZW50KHJlbW90ZS0+Y29yZSksCisrICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBwZXJtaXNzaW9uX2l0ZW1zLT5sZW4sCisrICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAoY29uc3Qgc3RydWN0IHB3X3Blcm1pc3Npb24gKilwZXJtaXNzaW9u X2l0ZW1zLT5kYXRhKTsKKyAKKyAgIHBpcGV3aXJlX3JlbW90ZV9yb3VuZHRyaXAgKHJlbW90ZSk7 CisgCitAQCAtOTQzLDcgKzg3OSw3IEBAIGhhbmRsZV9vcGVuX3BpcGV3aXJlX3JlbW90ZSAoWGRw U2NyZWVuQ2FzdCAqb2JqZWN0LAorICAgICB9CisgCisgICBvdXRfZmRfbGlzdCA9IGdfdW5peF9m ZF9saXN0X25ldyAoKTsKKy0gIGZkID0gcHdfcmVtb3RlX3N0ZWFsX2ZkIChyZW1vdGUtPnJlbW90 ZSk7CisrICBmZCA9IHB3X2NvcmVfc3RlYWxfZmQgKHJlbW90ZS0+Y29yZSk7CisgICBmZF9pZCA9 IGdfdW5peF9mZF9saXN0X2FwcGVuZCAob3V0X2ZkX2xpc3QsIGZkLCAmZXJyb3IpOworICAgY2xv c2UgKGZkKTsKKyAgIHBpcGV3aXJlX3JlbW90ZV9kZXN0cm95IChyZW1vdGUpOwpkaWZmIC0tZ2l0 IGEvc3JjcGtncy94ZGctZGVza3RvcC1wb3J0YWwvdGVtcGxhdGUgYi9zcmNwa2dzL3hkZy1kZXNr dG9wLXBvcnRhbC90ZW1wbGF0ZQppbmRleCBlYjhhNDYwMmY1ZC4uMTEzNmI2YTZlMGUgMTAwNjQ0 Ci0tLSBhL3NyY3BrZ3MveGRnLWRlc2t0b3AtcG9ydGFsL3RlbXBsYXRlCisrKyBiL3NyY3BrZ3Mv eGRnLWRlc2t0b3AtcG9ydGFsL3RlbXBsYXRlCkBAIC0xLDEwICsxLDEwIEBACiAjIFRlbXBsYXRl IGZpbGUgZm9yICd4ZGctZGVza3RvcC1wb3J0YWwnCiBwa2duYW1lPXhkZy1kZXNrdG9wLXBvcnRh bAogdmVyc2lvbj0xLjYuMAotcmV2aXNpb249MQorcmV2aXNpb249MgogYnVpbGRfc3R5bGU9Z251 LWNvbmZpZ3VyZQogY29uZmlndXJlX2FyZ3M9Ii0tZW5hYmxlLXBpcGV3aXJlIC0tZW5hYmxlLWdl b2NsdWUgLS1kaXNhYmxlLWxpYnBvcnRhbCIKLWhvc3RtYWtlZGVwZW5kcz0icGtnLWNvbmZpZyBn bGliLWRldmVsIgoraG9zdG1ha2VkZXBlbmRzPSJhdXRvbWFrZSBsaWJ0b29sIGdldHRleHQtZGV2 ZWwgcGtnLWNvbmZpZyBnbGliLWRldmVsIgogbWFrZWRlcGVuZHM9ImZsYXRwYWstZGV2ZWwgZnVz ZS1kZXZlbCBwaXBld2lyZS1kZXZlbCBnZW9jbHVlMi1kZXZlbCIKIHNob3J0X2Rlc2M9IlBvcnRh bCBmcm9udGVuZCBzZXJ2aWNlIGZvciBGbGF0cGFrIgogbWFpbnRhaW5lcj0iRHVuY2FlbiA8ZHVu Y2FlbkB2b2lkbGludXgub3JnPiIKQEAgLTEzLDYgKzEzLDEwIEBAIGhvbWVwYWdlPSJodHRwczov L2dpdGh1Yi5jb20vZmxhdHBhay94ZGctZGVza3RvcC1wb3J0YWwiCiBkaXN0ZmlsZXM9Imh0dHBz Oi8vZ2l0aHViLmNvbS9mbGF0cGFrLyR7cGtnbmFtZX0vcmVsZWFzZXMvZG93bmxvYWQvJHt2ZXJz aW9ufS8ke3BrZ25hbWV9LSR7dmVyc2lvbn0udGFyLnh6IgogY2hlY2tzdW09ODgzYzljOWE5MjVl NDhhZjU0ODEyYjUzNDdmNTQ2ZGQ3NzZlYzJlMjcwNzZhODNkNWE4MTI2YWY2YmFmYjlkYQogCitw cmVfY29uZmlndXJlKCkgeworCWF1dG9yZWNvbmYgLXZmaQorfQorCiBwb3N0X2luc3RhbGwoKSB7 CiAJcm0gLXJmICIke0RFU1RESVJ9L3Vzci9saWIvc3lzdGVtZCIKIH0KCkZyb20gNzk2MTZlYWE4 ZmU4M2I1YTMwZWZmZjUwNDc4OWEzMjkxNjEzNWZlNyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEK RnJvbTogS3JpZHNhZGEgVGhhbmFidWxwb25nIDxzaXJuQG9nc2l0ZS5uZXQ+CkRhdGU6IFRodSwg MzAgQXByIDIwMjAgMDY6MTc6MTcgKzA5MDAKU3ViamVjdDogW1BBVENIIDQvNF0gbXV0dGVyOiBy ZWJ1aWxkIGZvciBwaXBld2lyZS0wLjMKCi0tLQogc3JjcGtncy9tdXR0ZXIvcGF0Y2hlcy9waXBl d2lyZS0wLjMucGF0Y2ggfCA1MjEgKysrKysrKysrKysrKysrKysrKysrKwogc3JjcGtncy9tdXR0 ZXIvdGVtcGxhdGUgICAgICAgICAgICAgICAgICAgfCAgIDIgKy0KIDIgZmlsZXMgY2hhbmdlZCwg NTIyIGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNw a2dzL211dHRlci9wYXRjaGVzL3BpcGV3aXJlLTAuMy5wYXRjaAoKZGlmZiAtLWdpdCBhL3NyY3Br Z3MvbXV0dGVyL3BhdGNoZXMvcGlwZXdpcmUtMC4zLnBhdGNoIGIvc3JjcGtncy9tdXR0ZXIvcGF0 Y2hlcy9waXBld2lyZS0wLjMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw MDAwMDAuLmViZmY2NWZiYTg1Ci0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9tdXR0ZXIvcGF0 Y2hlcy9waXBld2lyZS0wLjMucGF0Y2gKQEAgLTAsMCArMSw1MjEgQEAKK0J1aWxkIG11dHRlciBh Z2FpbnN0IHBpcGV3aXJlLTAuMywgYmFzZWQgb24gYSBwYXRjaCBhdDoKK2h0dHBzOi8vZ2l0bGFi Lmdub21lLm9yZy9HTk9NRS9tdXR0ZXIvLS9tZXJnZV9yZXF1ZXN0cy8xMDYyCistLS0gbWVzb24u YnVpbGQKKysrKyBtZXNvbi5idWlsZAorQEAgLTUwLDcgKzUwLDcgQEAgbGliaW5wdXRfcmVxID0g Jz49IDEuNycKKyBnYm1fcmVxID0gJz49IDEwLjMnCisKKyAjIHNjcmVlbiBjYXN0IHZlcnNpb24g cmVxdWlyZW1lbnRzCistbGlicGlwZXdpcmVfcmVxID0gJz49IDAuMi41JworK2xpYnBpcGV3aXJl X3JlcSA9ICc+PSAwLjMuMCcKKworIGdub21lID0gaW1wb3J0KCdnbm9tZScpCisgcGtnID0gaW1w b3J0KCdwa2djb25maWcnKQorQEAgLTI0MSw3ICsyNDEsNyBAQCBlbmRpZgorCisgaGF2ZV9yZW1v dGVfZGVza3RvcCA9IGdldF9vcHRpb24oJ3JlbW90ZV9kZXNrdG9wJykKKyBpZiBoYXZlX3JlbW90 ZV9kZXNrdG9wCistICBsaWJwaXBld2lyZV9kZXAgPSBkZXBlbmRlbmN5KCdsaWJwaXBld2lyZS0w LjInLCB2ZXJzaW9uOiBsaWJwaXBld2lyZV9yZXEpCisrICBsaWJwaXBld2lyZV9kZXAgPSBkZXBl bmRlbmN5KCdsaWJwaXBld2lyZS0wLjMnLCB2ZXJzaW9uOiBsaWJwaXBld2lyZV9yZXEpCisgZW5k aWYKKworIGhhdmVfaW50cm9zcGVjdGlvbiA9IGdldF9vcHRpb24oJ2ludHJvc3BlY3Rpb24nKQor ZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kcy9tZXRhLXNjcmVlbi1jYXN0LXN0cmVhbS1zcmMuYyBi L3NyYy9iYWNrZW5kcy9tZXRhLXNjcmVlbi1jYXN0LXN0cmVhbS1zcmMuYworaW5kZXggODJjNWNi YTQzNi4uYmExY2U5NGE3ZSAxMDA2NDQKKy0tLSBzcmMvYmFja2VuZHMvbWV0YS1zY3JlZW4tY2Fz dC1zdHJlYW0tc3JjLmMKKysrKyBzcmMvYmFja2VuZHMvbWV0YS1zY3JlZW4tY2FzdC1zdHJlYW0t c3JjLmMKK0BAIC0yOSw2ICsyOSw3IEBACisgI2luY2x1ZGUgPHNwYS9wYXJhbS9wcm9wcy5oPgor ICNpbmNsdWRlIDxzcGEvcGFyYW0vZm9ybWF0LXV0aWxzLmg+CisgI2luY2x1ZGUgPHNwYS9wYXJh bS92aWRlby9mb3JtYXQtdXRpbHMuaD4KKysjaW5jbHVkZSA8c3BhL3V0aWxzL3Jlc3VsdC5oPgor ICNpbmNsdWRlIDxzdGRpbnQuaD4KKyAjaW5jbHVkZSA8c3lzL21tYW4uaD4KKworQEAgLTYyLDE1 ICs2Myw2IEBAIGVudW0KKworIHN0YXRpYyBndWludCBzaWduYWxzW05fU0lHTkFMU107CisKKy10 eXBlZGVmIHN0cnVjdCBfTWV0YVNwYVR5cGUKKy17CistICBzdHJ1Y3Qgc3BhX3R5cGVfbWVkaWFf dHlwZSBtZWRpYV90eXBlOworLSAgc3RydWN0IHNwYV90eXBlX21lZGlhX3N1YnR5cGUgbWVkaWFf c3VidHlwZTsKKy0gIHN0cnVjdCBzcGFfdHlwZV9mb3JtYXRfdmlkZW8gZm9ybWF0X3ZpZGVvOwor LSAgc3RydWN0IHNwYV90eXBlX3ZpZGVvX2Zvcm1hdCB2aWRlb19mb3JtYXQ7CistICB1aW50MzJf dCBtZXRhX2N1cnNvcjsKKy19IE1ldGFTcGFUeXBlOworLQorIHR5cGVkZWYgc3RydWN0IF9NZXRh UGlwZVdpcmVTb3VyY2UKKyB7CisgICBHU291cmNlIGJhc2U7CitAQCAtODIsMTkgKzc0LDE5IEBA IHR5cGVkZWYgc3RydWN0IF9NZXRhU2NyZWVuQ2FzdFN0cmVhbVNyY1ByaXZhdGUKKyB7CisgICBN ZXRhU2NyZWVuQ2FzdFN0cmVhbSAqc3RyZWFtOworCisrICBzdHJ1Y3QgcHdfY29udGV4dCAqcGlw ZXdpcmVfY29udGV4dDsKKyAgIHN0cnVjdCBwd19jb3JlICpwaXBld2lyZV9jb3JlOworLSAgc3Ry dWN0IHB3X3JlbW90ZSAqcGlwZXdpcmVfcmVtb3RlOworLSAgc3RydWN0IHB3X3R5cGUgKnBpcGV3 aXJlX3R5cGU7CisgICBNZXRhUGlwZVdpcmVTb3VyY2UgKnBpcGV3aXJlX3NvdXJjZTsKKy0gIHN0 cnVjdCBzcGFfaG9vayBwaXBld2lyZV9yZW1vdGVfbGlzdGVuZXI7CisrICBzdHJ1Y3Qgc3BhX2hv b2sgcGlwZXdpcmVfY29yZV9saXN0ZW5lcjsKKworICAgZ2Jvb2xlYW4gaXNfZW5hYmxlZDsKKwor ICAgc3RydWN0IHB3X3N0cmVhbSAqcGlwZXdpcmVfc3RyZWFtOworICAgc3RydWN0IHNwYV9ob29r IHBpcGV3aXJlX3N0cmVhbV9saXN0ZW5lcjsKKysgIHVpbnQzMl90IG5vZGVfaWQ7CisKKy0gIE1l dGFTcGFUeXBlIHNwYV90eXBlOworICAgc3RydWN0IHNwYV92aWRlb19pbmZvX3JhdyB2aWRlb19m b3JtYXQ7CisrICBpbnQgdmlkZW9fc3RyaWRlOworCisgICB1aW50NjRfdCBsYXN0X2ZyYW1lX3Rp bWVzdGFtcF91czsKKworQEAgLTExMiw4ICsxMDQsNiBAQCBHX0RFRklORV9UWVBFX1dJVEhfQ09E RSAoTWV0YVNjcmVlbkNhc3RTdHJlYW1TcmMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgbWV0YV9zY3JlZW5fY2FzdF9zdHJlYW1fc3JjX2luaXRfaW5p dGFibGVfaWZhY2UpCisgICAgICAgICAgICAgICAgICAgICAgICAgIEdfQUREX1BSSVZBVEUgKE1l dGFTY3JlZW5DYXN0U3RyZWFtU3JjKSkKKworLSNkZWZpbmUgUFJPUF9SQU5HRShtaW4sIG1heCkg MiwgKG1pbiksIChtYXgpCistCisgc3RhdGljIHZvaWQKKyBtZXRhX3NjcmVlbl9jYXN0X3N0cmVh bV9zcmNfZ2V0X3NwZWNzIChNZXRhU2NyZWVuQ2FzdFN0cmVhbVNyYyAqc3JjLAorICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCAgICAgICAgICAgICAgICAgICAgICp3 aWR0aCwKK0BAIC0yODYsOSArMjc2LDYgQEAgbWV0YV9zY3JlZW5fY2FzdF9zdHJlYW1fc3JjX3Nl dF9lbXB0eV9jdXJzb3Jfc3ByaXRlX21ldGFkYXRhIChNZXRhU2NyZWVuQ2FzdFN0cmUKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IGludCAgICAgICAgICAgICAgICAgICAgICB4LAorICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50ICAgICAgICAgICAgICAgICAg ICAgIHkpCisgeworLSAgTWV0YVNjcmVlbkNhc3RTdHJlYW1TcmNQcml2YXRlICpwcml2ID0KKy0g ICAgbWV0YV9zY3JlZW5fY2FzdF9zdHJlYW1fc3JjX2dldF9pbnN0YW5jZV9wcml2YXRlIChzcmMp OworLSAgTWV0YVNwYVR5cGUgKnNwYV90eXBlID0gJnByaXYtPnNwYV90eXBlOworICAgc3RydWN0 IHNwYV9tZXRhX2JpdG1hcCAqc3BhX21ldGFfYml0bWFwOworCisgICBzcGFfbWV0YV9jdXJzb3It PmlkID0gMTsKK0BAIC0zMDAsNyArMjg3LDcgQEAgbWV0YV9zY3JlZW5fY2FzdF9zdHJlYW1fc3Jj X3NldF9lbXB0eV9jdXJzb3Jfc3ByaXRlX21ldGFkYXRhIChNZXRhU2NyZWVuQ2FzdFN0cmUKKyAg IHNwYV9tZXRhX2JpdG1hcCA9IFNQQV9NRU1CRVIgKHNwYV9tZXRhX2N1cnNvciwKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHNwYV9tZXRhX2N1cnNvci0+Yml0bWFwX29mZnNldCwK KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBzcGFfbWV0YV9iaXRtYXAp OworLSAgc3BhX21ldGFfYml0bWFwLT5mb3JtYXQgPSBzcGFfdHlwZS0+dmlkZW9fZm9ybWF0LlJH QkE7CisrICBzcGFfbWV0YV9iaXRtYXAtPmZvcm1hdCA9IFNQQV9WSURFT19GT1JNQVRfUkdCQTsK KyAgIHNwYV9tZXRhX2JpdG1hcC0+b2Zmc2V0ID0gc2l6ZW9mIChzdHJ1Y3Qgc3BhX21ldGFfYml0 bWFwKTsKKworICAgc3BhX21ldGFfY3Vyc29yLT5ob3RzcG90LnggPSAwOworQEAgLTMxNyw5ICsz MDQsNiBAQCBtZXRhX3NjcmVlbl9jYXN0X3N0cmVhbV9zcmNfc2V0X2N1cnNvcl9zcHJpdGVfbWV0 YWRhdGEgKE1ldGFTY3JlZW5DYXN0U3RyZWFtU3JjCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgICAgICAgICAgICAgICAgICAgICAg eSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIGZsb2F0ICAgICAgICAgICAgICAgICAgICBzY2FsZSkKKyB7CistICBNZXRhU2NyZWVuQ2Fz dFN0cmVhbVNyY1ByaXZhdGUgKnByaXYgPQorLSAgICBtZXRhX3NjcmVlbl9jYXN0X3N0cmVhbV9z cmNfZ2V0X2luc3RhbmNlX3ByaXZhdGUgKHNyYyk7CistICBNZXRhU3BhVHlwZSAqc3BhX3R5cGUg PSAmcHJpdi0+c3BhX3R5cGU7CisgICBDb2dsVGV4dHVyZSAqY3Vyc29yX3RleHR1cmU7CisgICBz dHJ1Y3Qgc3BhX21ldGFfYml0bWFwICpzcGFfbWV0YV9iaXRtYXA7CisgICBpbnQgaG90c3BvdF94 LCBob3RzcG90X3k7CitAQCAtMzQ2LDcgKzMzMCw3IEBAIG1ldGFfc2NyZWVuX2Nhc3Rfc3RyZWFt X3NyY19zZXRfY3Vyc29yX3Nwcml0ZV9tZXRhZGF0YSAoTWV0YVNjcmVlbkNhc3RTdHJlYW1TcmMK KyAgIHNwYV9tZXRhX2JpdG1hcCA9IFNQQV9NRU1CRVIgKHNwYV9tZXRhX2N1cnNvciwKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNwYV9tZXRhX2N1cnNvci0+Yml0bWFwX29mZnNl dCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBzcGFfbWV0YV9iaXRt YXApOworLSAgc3BhX21ldGFfYml0bWFwLT5mb3JtYXQgPSBzcGFfdHlwZS0+dmlkZW9fZm9ybWF0 LlJHQkE7CisrICBzcGFfbWV0YV9iaXRtYXAtPmZvcm1hdCA9IFNQQV9WSURFT19GT1JNQVRfUkdC QTsKKyAgIHNwYV9tZXRhX2JpdG1hcC0+b2Zmc2V0ID0gc2l6ZW9mIChzdHJ1Y3Qgc3BhX21ldGFf Yml0bWFwKTsKKworICAgbWV0YV9jdXJzb3Jfc3ByaXRlX2dldF9ob3RzcG90IChjdXJzb3Jfc3By aXRlLCAmaG90c3BvdF94LCAmaG90c3BvdF95KTsKK0BAIC0zODIsMTIgKzM2NiwxMCBAQCBzdGF0 aWMgdm9pZAorIGFkZF9jdXJzb3JfbWV0YWRhdGEgKE1ldGFTY3JlZW5DYXN0U3RyZWFtU3JjICpz cmMsCisgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IHNwYV9idWZmZXIgICAgICAgKnNwYV9i dWZmZXIpCisgeworLSAgTWV0YVNjcmVlbkNhc3RTdHJlYW1TcmNQcml2YXRlICpwcml2ID0KKy0g ICAgbWV0YV9zY3JlZW5fY2FzdF9zdHJlYW1fc3JjX2dldF9pbnN0YW5jZV9wcml2YXRlIChzcmMp OworLSAgTWV0YVNwYVR5cGUgKnNwYV90eXBlID0gJnByaXYtPnNwYV90eXBlOworICAgc3RydWN0 IHNwYV9tZXRhX2N1cnNvciAqc3BhX21ldGFfY3Vyc29yOworCistICBzcGFfbWV0YV9jdXJzb3Ig PSBzcGFfYnVmZmVyX2ZpbmRfbWV0YSAoc3BhX2J1ZmZlciwgc3BhX3R5cGUtPm1ldGFfY3Vyc29y KTsKKysgIHNwYV9tZXRhX2N1cnNvciA9IHNwYV9idWZmZXJfZmluZF9tZXRhX2RhdGEgKHNwYV9i dWZmZXIsIFNQQV9NRVRBX0N1cnNvciwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHNpemVvZiAoKnNwYV9tZXRhX2N1cnNvcikpOworICAgaWYgKHNwYV9t ZXRhX2N1cnNvcikKKyAgICAgbWV0YV9zY3JlZW5fY2FzdF9zdHJlYW1fc3JjX3NldF9jdXJzb3Jf bWV0YWRhdGEgKHNyYywgc3BhX21ldGFfY3Vyc29yKTsKKyB9CitAQCAtNDQ3LDE0ICs0MjksMTQg QEAgbWV0YV9zY3JlZW5fY2FzdF9zdHJlYW1fc3JjX21heWJlX3JlY29yZF9mcmFtZSAoTWV0YVNj cmVlbkNhc3RTdHJlYW1TcmMgKnNyYykKKyAgICAgeworICAgICAgIGRhdGEgPSBzcGFfYnVmZmVy LT5kYXRhc1swXS5kYXRhOworICAgICB9CistICBlbHNlIGlmIChzcGFfYnVmZmVyLT5kYXRhc1sw XS50eXBlID09IHByaXYtPnBpcGV3aXJlX3R5cGUtPmRhdGEuTWVtRmQpCisrICBlbHNlIGlmIChz cGFfYnVmZmVyLT5kYXRhc1swXS50eXBlID09IFNQQV9EQVRBX01lbUZkKQorICAgICB7CisgICAg ICAgbWFwID0gbW1hcCAoTlVMTCwgc3BhX2J1ZmZlci0+ZGF0YXNbMF0ubWF4c2l6ZSArIHNwYV9i dWZmZXItPmRhdGFzWzBdLm1hcG9mZnNldCwKKyAgICAgICAgICAgICAgICAgICBQUk9UX1JFQUQg fCBQUk9UX1dSSVRFLCBNQVBfU0hBUkVELAorICAgICAgICAgICAgICAgICAgIHNwYV9idWZmZXIt PmRhdGFzWzBdLmZkLCAwKTsKKyAgICAgICBpZiAobWFwID09IE1BUF9GQUlMRUQpCisgICAgICAg ICB7CistICAgICAgICAgIGdfd2FybmluZyAoIkZhaWxlZCB0byBtbWFwIHBpcGV3aXJlIHN0cmVh bSBidWZmZXI6ICVzXG4iLAorKyAgICAgICAgICBnX3dhcm5pbmcgKCJGYWlsZWQgdG8gbW1hcCBw aXBld2lyZSBzdHJlYW0gYnVmZmVyOiAlcyIsCisgICAgICAgICAgICAgICAgICAgICAgc3RyZXJy b3IgKGVycm5vKSk7CisgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgIH0KK0BAIC00NjksMjgg KzQ1MSwzMCBAQCBtZXRhX3NjcmVlbl9jYXN0X3N0cmVhbV9zcmNfbWF5YmVfcmVjb3JkX2ZyYW1l IChNZXRhU2NyZWVuQ2FzdFN0cmVhbVNyYyAqc3JjKQorCisgICBpZiAobWV0YV9zY3JlZW5fY2Fz dF9zdHJlYW1fc3JjX3JlY29yZF9mcmFtZSAoc3JjLCBkYXRhKSkKKyAgICAgeworLSAgICAgIHN0 cnVjdCBzcGFfbWV0YV92aWRlb19jcm9wICpzcGFfbWV0YV92aWRlb19jcm9wOworKyAgICAgIHN0 cnVjdCBzcGFfbWV0YV9yZWdpb24gKnNwYV9tZXRhX3ZpZGVvX2Nyb3A7CisKKyAgICAgICBzcGFf YnVmZmVyLT5kYXRhc1swXS5jaHVuay0+c2l6ZSA9IHNwYV9idWZmZXItPmRhdGFzWzBdLm1heHNp emU7CisrICAgICAgc3BhX2J1ZmZlci0+ZGF0YXNbMF0uY2h1bmstPnN0cmlkZSA9IHByaXYtPnZp ZGVvX3N0cmlkZTsKKworICAgICAgIC8qIFVwZGF0ZSBWaWRlb0Nyb3AgaWYgbmVlZGVkICovCisg ICAgICAgc3BhX21ldGFfdmlkZW9fY3JvcCA9CistICAgICAgICBzcGFfYnVmZmVyX2ZpbmRfbWV0 YSAoc3BhX2J1ZmZlciwgcHJpdi0+cGlwZXdpcmVfdHlwZS0+bWV0YS5WaWRlb0Nyb3ApOworKyAg ICAgICAgc3BhX2J1ZmZlcl9maW5kX21ldGFfZGF0YSAoc3BhX2J1ZmZlciwgU1BBX01FVEFfVmlk ZW9Dcm9wLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZW9mICgqc3Bh X21ldGFfdmlkZW9fY3JvcCkpOworICAgICAgIGlmIChzcGFfbWV0YV92aWRlb19jcm9wKQorICAg ICAgICAgeworICAgICAgICAgICBpZiAobWV0YV9zY3JlZW5fY2FzdF9zdHJlYW1fc3JjX2dldF92 aWRlb2Nyb3AgKHNyYywgJmNyb3BfcmVjdCkpCisgICAgICAgICAgICAgeworLSAgICAgICAgICAg ICAgc3BhX21ldGFfdmlkZW9fY3JvcC0+eCA9IGNyb3BfcmVjdC54OworLSAgICAgICAgICAgICAg c3BhX21ldGFfdmlkZW9fY3JvcC0+eSA9IGNyb3BfcmVjdC55OworLSAgICAgICAgICAgICAgc3Bh X21ldGFfdmlkZW9fY3JvcC0+d2lkdGggPSBjcm9wX3JlY3Qud2lkdGg7CistICAgICAgICAgICAg ICBzcGFfbWV0YV92aWRlb19jcm9wLT5oZWlnaHQgPSBjcm9wX3JlY3QuaGVpZ2h0OworKyAgICAg ICAgICAgICAgc3BhX21ldGFfdmlkZW9fY3JvcC0+cmVnaW9uLnBvc2l0aW9uLnggPSBjcm9wX3Jl Y3QueDsKKysgICAgICAgICAgICAgIHNwYV9tZXRhX3ZpZGVvX2Nyb3AtPnJlZ2lvbi5wb3NpdGlv bi55ID0gY3JvcF9yZWN0Lnk7CisrICAgICAgICAgICAgICBzcGFfbWV0YV92aWRlb19jcm9wLT5y ZWdpb24uc2l6ZS53aWR0aCA9IGNyb3BfcmVjdC53aWR0aDsKKysgICAgICAgICAgICAgIHNwYV9t ZXRhX3ZpZGVvX2Nyb3AtPnJlZ2lvbi5zaXplLmhlaWdodCA9IGNyb3BfcmVjdC5oZWlnaHQ7Cisg ICAgICAgICAgICAgfQorICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgeworLSAgICAgICAg ICAgICAgc3BhX21ldGFfdmlkZW9fY3JvcC0+eCA9IDA7CistICAgICAgICAgICAgICBzcGFfbWV0 YV92aWRlb19jcm9wLT55ID0gMDsKKy0gICAgICAgICAgICAgIHNwYV9tZXRhX3ZpZGVvX2Nyb3At PndpZHRoID0gcHJpdi0+c3RyZWFtX3dpZHRoOworLSAgICAgICAgICAgICAgc3BhX21ldGFfdmlk ZW9fY3JvcC0+aGVpZ2h0ID0gcHJpdi0+c3RyZWFtX2hlaWdodDsKKysgICAgICAgICAgICAgIHNw YV9tZXRhX3ZpZGVvX2Nyb3AtPnJlZ2lvbi5wb3NpdGlvbi54ID0gMDsKKysgICAgICAgICAgICAg IHNwYV9tZXRhX3ZpZGVvX2Nyb3AtPnJlZ2lvbi5wb3NpdGlvbi55ID0gMDsKKysgICAgICAgICAg ICAgIHNwYV9tZXRhX3ZpZGVvX2Nyb3AtPnJlZ2lvbi5zaXplLndpZHRoID0gcHJpdi0+c3RyZWFt X3dpZHRoOworKyAgICAgICAgICAgICAgc3BhX21ldGFfdmlkZW9fY3JvcC0+cmVnaW9uLnNpemUu aGVpZ2h0ID0gcHJpdi0+c3RyZWFtX2hlaWdodDsKKyAgICAgICAgICAgICB9CisgICAgICAgICB9 CisgICAgIH0KK0BAIC01NTUsNyArNTM5LDYgQEAgb25fc3RyZWFtX3N0YXRlX2NoYW5nZWQgKHZv aWQgICAgICAgICAgICAgICAgICpkYXRhLAorICAgTWV0YVNjcmVlbkNhc3RTdHJlYW1TcmMgKnNy YyA9IGRhdGE7CisgICBNZXRhU2NyZWVuQ2FzdFN0cmVhbVNyY1ByaXZhdGUgKnByaXYgPQorICAg ICBtZXRhX3NjcmVlbl9jYXN0X3N0cmVhbV9zcmNfZ2V0X2luc3RhbmNlX3ByaXZhdGUgKHNyYyk7 CistICB1aW50MzJfdCBub2RlX2lkOworCisgICBzd2l0Y2ggKHN0YXRlKQorICAgICB7CitAQCAt NTYzLDE0ICs1NDYsMTIgQEAgb25fc3RyZWFtX3N0YXRlX2NoYW5nZWQgKHZvaWQgICAgICAgICAg ICAgICAgICpkYXRhLAorICAgICAgIGdfd2FybmluZyAoInBpcGV3aXJlIHN0cmVhbSBlcnJvcjog JXMiLCBlcnJvcl9tZXNzYWdlKTsKKyAgICAgICBtZXRhX3NjcmVlbl9jYXN0X3N0cmVhbV9zcmNf bm90aWZ5X2Nsb3NlZCAoc3JjKTsKKyAgICAgICBicmVhazsKKy0gICAgY2FzZSBQV19TVFJFQU1f U1RBVEVfQ09ORklHVVJFOgorLSAgICAgIG5vZGVfaWQgPSBwd19zdHJlYW1fZ2V0X25vZGVfaWQg KHByaXYtPnBpcGV3aXJlX3N0cmVhbSk7CistICAgICAgZ19zaWduYWxfZW1pdCAoc3JjLCBzaWdu YWxzW1JFQURZXSwgMCwgKHVuc2lnbmVkIGludCkgbm9kZV9pZCk7CistICAgICAgYnJlYWs7Cist ICAgIGNhc2UgUFdfU1RSRUFNX1NUQVRFX1VOQ09OTkVDVEVEOgorLSAgICBjYXNlIFBXX1NUUkVB TV9TVEFURV9DT05ORUNUSU5HOgorLSAgICBjYXNlIFBXX1NUUkVBTV9TVEFURV9SRUFEWToKKyAg ICAgY2FzZSBQV19TVFJFQU1fU1RBVEVfUEFVU0VEOgorKyAgICAgIGlmIChwcml2LT5ub2RlX2lk ID09IFNQQV9JRF9JTlZBTElEICYmIHByaXYtPnBpcGV3aXJlX3N0cmVhbSkKKysgICAgICAgIHsK KysgICAgICAgICAgcHJpdi0+bm9kZV9pZCA9IHB3X3N0cmVhbV9nZXRfbm9kZV9pZCAocHJpdi0+ cGlwZXdpcmVfc3RyZWFtKTsKKysgICAgICAgICAgZ19zaWduYWxfZW1pdCAoc3JjLCBzaWduYWxz W1JFQURZXSwgMCwgKHVuc2lnbmVkIGludCkgcHJpdi0+bm9kZV9pZCk7CisrICAgICAgICB9Cisg ICAgICAgaWYgKG1ldGFfc2NyZWVuX2Nhc3Rfc3RyZWFtX3NyY19pc19lbmFibGVkIChzcmMpKQor ICAgICAgICAgbWV0YV9zY3JlZW5fY2FzdF9zdHJlYW1fc3JjX2Rpc2FibGUgKHNyYyk7CisgICAg ICAgYnJlYWs7CitAQCAtNTc4LDY4ICs1NTksNjkgQEAgb25fc3RyZWFtX3N0YXRlX2NoYW5nZWQg KHZvaWQgICAgICAgICAgICAgICAgICpkYXRhLAorICAgICAgIGlmICghbWV0YV9zY3JlZW5fY2Fz dF9zdHJlYW1fc3JjX2lzX2VuYWJsZWQgKHNyYykpCisgICAgICAgICBtZXRhX3NjcmVlbl9jYXN0 X3N0cmVhbV9zcmNfZW5hYmxlIChzcmMpOworICAgICAgIGJyZWFrOworKyAgICBjYXNlIFBXX1NU UkVBTV9TVEFURV9VTkNPTk5FQ1RFRDoKKysgICAgY2FzZSBQV19TVFJFQU1fU1RBVEVfQ09OTkVD VElORzoKKysgICAgICBicmVhazsKKyAgICAgfQorIH0KKworIHN0YXRpYyB2b2lkCistb25fc3Ry ZWFtX2Zvcm1hdF9jaGFuZ2VkICh2b2lkICAgICAgICAgICAgICAgICAqZGF0YSwKKy0gICAgICAg ICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBzcGFfcG9kICpmb3JtYXQpCisrb25fc3Ry ZWFtX3BhcmFtX2NoYW5nZWQgKHZvaWQgICAgICAgICAgICAgICAgICpkYXRhLAorKyAgICAgICAg ICAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgaWQsCisrICAgICAgICAgICAg ICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBzcGFfcG9kICpmb3JtYXQpCisgeworICAgTWV0YVNj cmVlbkNhc3RTdHJlYW1TcmMgKnNyYyA9IGRhdGE7CisgICBNZXRhU2NyZWVuQ2FzdFN0cmVhbVNy Y1ByaXZhdGUgKnByaXYgPQorICAgICBtZXRhX3NjcmVlbl9jYXN0X3N0cmVhbV9zcmNfZ2V0X2lu c3RhbmNlX3ByaXZhdGUgKHNyYyk7CistICBzdHJ1Y3QgcHdfdHlwZSAqcGlwZXdpcmVfdHlwZSA9 IHByaXYtPnBpcGV3aXJlX3R5cGU7CisgICB1aW50OF90IHBhcmFtc19idWZmZXJbMTAyNF07Cisg ICBpbnQzMl90IHdpZHRoLCBoZWlnaHQsIHN0cmlkZSwgc2l6ZTsKKyAgIHN0cnVjdCBzcGFfcG9k X2J1aWxkZXIgcG9kX2J1aWxkZXI7CisgICBjb25zdCBzdHJ1Y3Qgc3BhX3BvZCAqcGFyYW1zWzNd OworICAgY29uc3QgaW50IGJwcCA9IDQ7CisKKy0gIGlmICghZm9ybWF0KQorLSAgICB7CistICAg ICAgcHdfc3RyZWFtX2ZpbmlzaF9mb3JtYXQgKHByaXYtPnBpcGV3aXJlX3N0cmVhbSwgMCwgTlVM TCwgMCk7CistICAgICAgcmV0dXJuOworLSAgICB9CisrICBpZiAoIWZvcm1hdCB8fCBpZCAhPSBT UEFfUEFSQU1fRm9ybWF0KQorKyAgICByZXR1cm47CisKKyAgIHNwYV9mb3JtYXRfdmlkZW9fcmF3 X3BhcnNlIChmb3JtYXQsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnByaXYtPnZp ZGVvX2Zvcm1hdCwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcHJpdi0+c3BhX3R5 cGUuZm9ybWF0X3ZpZGVvKTsKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcHJpdi0+ dmlkZW9fZm9ybWF0KTsKKworICAgd2lkdGggPSBwcml2LT52aWRlb19mb3JtYXQuc2l6ZS53aWR0 aDsKKyAgIGhlaWdodCA9IHByaXYtPnZpZGVvX2Zvcm1hdC5zaXplLmhlaWdodDsKKyAgIHN0cmlk ZSA9IFNQQV9ST1VORF9VUF9OICh3aWR0aCAqIGJwcCwgNCk7CisgICBzaXplID0gaGVpZ2h0ICog c3RyaWRlOworCisrICBwcml2LT52aWRlb19zdHJpZGUgPSBzdHJpZGU7CisrCisgICBwb2RfYnVp bGRlciA9IFNQQV9QT0RfQlVJTERFUl9JTklUIChwYXJhbXNfYnVmZmVyLCBzaXplb2YgKHBhcmFt c19idWZmZXIpKTsKKworLSAgcGFyYW1zWzBdID0gc3BhX3BvZF9idWlsZGVyX29iamVjdCAoCisr ICBwYXJhbXNbMF0gPSBzcGFfcG9kX2J1aWxkZXJfYWRkX29iamVjdCAoCisgICAgICZwb2RfYnVp bGRlciwKKy0gICAgcGlwZXdpcmVfdHlwZS0+cGFyYW0uaWRCdWZmZXJzLCBwaXBld2lyZV90eXBl LT5wYXJhbV9idWZmZXJzLkJ1ZmZlcnMsCistICAgICI6IiwgcGlwZXdpcmVfdHlwZS0+cGFyYW1f YnVmZmVycy5zaXplLCAiaSIsIHNpemUsCistICAgICI6IiwgcGlwZXdpcmVfdHlwZS0+cGFyYW1f YnVmZmVycy5zdHJpZGUsICJpIiwgc3RyaWRlLAorLSAgICAiOiIsIHBpcGV3aXJlX3R5cGUtPnBh cmFtX2J1ZmZlcnMuYnVmZmVycywgImlydSIsIDE2LCBQUk9QX1JBTkdFICgyLCAxNiksCistICAg ICI6IiwgcGlwZXdpcmVfdHlwZS0+cGFyYW1fYnVmZmVycy5hbGlnbiwgImkiLCAxNik7CistCist ICBwYXJhbXNbMV0gPSBzcGFfcG9kX2J1aWxkZXJfb2JqZWN0ICgKKysgICAgU1BBX1RZUEVfT0JK RUNUX1BhcmFtQnVmZmVycywgU1BBX1BBUkFNX0J1ZmZlcnMsCisrICAgIFNQQV9QQVJBTV9CVUZG RVJTX2J1ZmZlcnMsIFNQQV9QT0RfQ0hPSUNFX1JBTkdFX0ludCAoMTYsIDIsIDE2KSwKKysgICAg U1BBX1BBUkFNX0JVRkZFUlNfYmxvY2tzLCBTUEFfUE9EX0ludCAoMSksCisrICAgIFNQQV9QQVJB TV9CVUZGRVJTX3NpemUsIFNQQV9QT0RfSW50IChzaXplKSwKKysgICAgU1BBX1BBUkFNX0JVRkZF UlNfc3RyaWRlLCBTUEFfUE9EX0ludCAoc3RyaWRlKSwKKysgICAgU1BBX1BBUkFNX0JVRkZFUlNf YWxpZ24sIFNQQV9QT0RfSW50ICgxNikpOworKworKyAgcGFyYW1zWzFdID0gc3BhX3BvZF9idWls ZGVyX2FkZF9vYmplY3QgKAorICAgICAmcG9kX2J1aWxkZXIsCistICAgIHBpcGV3aXJlX3R5cGUt PnBhcmFtLmlkTWV0YSwgcGlwZXdpcmVfdHlwZS0+cGFyYW1fbWV0YS5NZXRhLAorLSAgICAiOiIs IHBpcGV3aXJlX3R5cGUtPnBhcmFtX21ldGEudHlwZSwgIkkiLCBwaXBld2lyZV90eXBlLT5tZXRh LlZpZGVvQ3JvcCwKKy0gICAgIjoiLCBwaXBld2lyZV90eXBlLT5wYXJhbV9tZXRhLnNpemUsICJp Iiwgc2l6ZW9mIChzdHJ1Y3Qgc3BhX21ldGFfdmlkZW9fY3JvcCkpOworKyAgICBTUEFfVFlQRV9P QkpFQ1RfUGFyYW1NZXRhLCBTUEFfUEFSQU1fTWV0YSwKKysgICAgU1BBX1BBUkFNX01FVEFfdHlw ZSwgU1BBX1BPRF9JZCAoU1BBX01FVEFfVmlkZW9Dcm9wKSwKKysgICAgU1BBX1BBUkFNX01FVEFf c2l6ZSwgU1BBX1BPRF9JbnQgKHNpemVvZiAoc3RydWN0IHNwYV9tZXRhX3JlZ2lvbikpKTsKKwor LSAgcGFyYW1zWzJdID0gc3BhX3BvZF9idWlsZGVyX29iamVjdCAoCisrICBwYXJhbXNbMl0gPSBz cGFfcG9kX2J1aWxkZXJfYWRkX29iamVjdCAoCisgICAgICZwb2RfYnVpbGRlciwKKy0gICAgcGlw ZXdpcmVfdHlwZS0+cGFyYW0uaWRNZXRhLCBwaXBld2lyZV90eXBlLT5wYXJhbV9tZXRhLk1ldGEs CistICAgICI6IiwgcGlwZXdpcmVfdHlwZS0+cGFyYW1fbWV0YS50eXBlLCAiSSIsIHByaXYtPnNw YV90eXBlLm1ldGFfY3Vyc29yLAorLSAgICAiOiIsIHBpcGV3aXJlX3R5cGUtPnBhcmFtX21ldGEu c2l6ZSwgImkiLCBDVVJTT1JfTUVUQV9TSVpFICg2NCwgNjQpKTsKKysgICAgU1BBX1RZUEVfT0JK RUNUX1BhcmFtTWV0YSwgU1BBX1BBUkFNX01ldGEsCisrICAgIFNQQV9QQVJBTV9NRVRBX3R5cGUs IFNQQV9QT0RfSWQgKFNQQV9NRVRBX0N1cnNvciksCisrICAgIFNQQV9QQVJBTV9NRVRBX3NpemUs IFNQQV9QT0RfSW50IChDVVJTT1JfTUVUQV9TSVpFICg2NCwgNjQpKSk7CisKKy0gIHB3X3N0cmVh bV9maW5pc2hfZm9ybWF0IChwcml2LT5waXBld2lyZV9zdHJlYW0sIDAsCistICAgICAgICAgICAg ICAgICAgICAgICAgICAgcGFyYW1zLCBHX05fRUxFTUVOVFMgKHBhcmFtcykpOworKyAgcHdfc3Ry ZWFtX3VwZGF0ZV9wYXJhbXMgKHByaXYtPnBpcGV3aXJlX3N0cmVhbSwgcGFyYW1zLCBHX05fRUxF TUVOVFMgKHBhcmFtcykpOworIH0KKworIHN0YXRpYyBjb25zdCBzdHJ1Y3QgcHdfc3RyZWFtX2V2 ZW50cyBzdHJlYW1fZXZlbnRzID0geworICAgUFdfVkVSU0lPTl9TVFJFQU1fRVZFTlRTLAorICAg LnN0YXRlX2NoYW5nZWQgPSBvbl9zdHJlYW1fc3RhdGVfY2hhbmdlZCwKKy0gIC5mb3JtYXRfY2hh bmdlZCA9IG9uX3N0cmVhbV9mb3JtYXRfY2hhbmdlZCwKKysgIC5wYXJhbV9jaGFuZ2VkID0gb25f c3RyZWFtX3BhcmFtX2NoYW5nZWQsCisgfTsKKworIHN0YXRpYyBzdHJ1Y3QgcHdfc3RyZWFtICoK K0BAIC02NTIsOCArNjM0LDYgQEAgY3JlYXRlX3BpcGV3aXJlX3N0cmVhbSAoTWV0YVNjcmVlbkNh c3RTdHJlYW1TcmMgICpzcmMsCisgICB1aW50OF90IGJ1ZmZlclsxMDI0XTsKKyAgIHN0cnVjdCBz cGFfcG9kX2J1aWxkZXIgcG9kX2J1aWxkZXIgPQorICAgICBTUEFfUE9EX0JVSUxERVJfSU5JVCAo YnVmZmVyLCBzaXplb2YgKGJ1ZmZlcikpOworLSAgTWV0YVNwYVR5cGUgKnNwYV90eXBlID0gJnBy aXYtPnNwYV90eXBlOworLSAgc3RydWN0IHB3X3R5cGUgKnBpcGV3aXJlX3R5cGUgPSBwcml2LT5w aXBld2lyZV90eXBlOworICAgZmxvYXQgZnJhbWVfcmF0ZTsKKyAgIE1ldGFGcmFjdGlvbiBmcmFt ZV9yYXRlX2ZyYWN0aW9uOworICAgc3RydWN0IHNwYV9mcmFjdGlvbiBtYXhfZnJhbWVyYXRlOwor QEAgLTY2MSw3ICs2NDEsOSBAQCBjcmVhdGVfcGlwZXdpcmVfc3RyZWFtIChNZXRhU2NyZWVuQ2Fz dFN0cmVhbVNyYyAgKnNyYywKKyAgIGNvbnN0IHN0cnVjdCBzcGFfcG9kICpwYXJhbXNbMV07Cisg ICBpbnQgcmVzdWx0OworCistICBwaXBld2lyZV9zdHJlYW0gPSBwd19zdHJlYW1fbmV3IChwcml2 LT5waXBld2lyZV9yZW1vdGUsCisrICBwcml2LT5ub2RlX2lkID0gU1BBX0lEX0lOVkFMSUQ7Cisr CisrICBwaXBld2lyZV9zdHJlYW0gPSBwd19zdHJlYW1fbmV3IChwcml2LT5waXBld2lyZV9jb3Jl LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm1ldGEtc2NyZWVuLWNhc3Qt c3JjIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5VTEwpOworICAgaWYg KCFwaXBld2lyZV9zdHJlYW0pCitAQCAtNjgyLDE3ICs2NjQsMTcgQEAgY3JlYXRlX3BpcGV3aXJl X3N0cmVhbSAoTWV0YVNjcmVlbkNhc3RTdHJlYW1TcmMgICpzcmMsCisgICBtYXhfZnJhbWVyYXRl ID0gU1BBX0ZSQUNUSU9OIChmcmFtZV9yYXRlX2ZyYWN0aW9uLm51bSwKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGZyYW1lX3JhdGVfZnJhY3Rpb24uZGVub20pOworCistICBwYXJh bXNbMF0gPSBzcGFfcG9kX2J1aWxkZXJfb2JqZWN0ICgKKysgIHBhcmFtc1swXSA9IHNwYV9wb2Rf YnVpbGRlcl9hZGRfb2JqZWN0ICgKKyAgICAgJnBvZF9idWlsZGVyLAorLSAgICBwaXBld2lyZV90 eXBlLT5wYXJhbS5pZEVudW1Gb3JtYXQsIHBpcGV3aXJlX3R5cGUtPnNwYV9mb3JtYXQsCistICAg ICJJIiwgc3BhX3R5cGUtPm1lZGlhX3R5cGUudmlkZW8sCistICAgICJJIiwgc3BhX3R5cGUtPm1l ZGlhX3N1YnR5cGUucmF3LAorLSAgICAiOiIsIHNwYV90eXBlLT5mb3JtYXRfdmlkZW8uZm9ybWF0 LCAiSSIsIHNwYV90eXBlLT52aWRlb19mb3JtYXQuQkdSeCwKKy0gICAgIjoiLCBzcGFfdHlwZS0+ Zm9ybWF0X3ZpZGVvLnNpemUsICJSIiwgJlNQQV9SRUNUQU5HTEUgKHByaXYtPnN0cmVhbV93aWR0 aCwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHByaXYtPnN0cmVhbV9oZWlnaHQpLAorLSAgICAiOiIsIHNwYV90eXBlLT5mb3JtYXRf dmlkZW8uZnJhbWVyYXRlLCAiRiIsICZTUEFfRlJBQ1RJT04gKDAsIDEpLAorLSAgICAiOiIsIHNw YV90eXBlLT5mb3JtYXRfdmlkZW8ubWF4X2ZyYW1lcmF0ZSwgIkZydSIsICZtYXhfZnJhbWVyYXRl LAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IFBST1BfUkFOR0UgKCZtaW5fZnJhbWVyYXRlLAorKyAgICBTUEFfVFlQRV9PQkpFQ1RfRm9ybWF0 LCBTUEFfUEFSQU1fRW51bUZvcm1hdCwKKysgICAgU1BBX0ZPUk1BVF9tZWRpYVR5cGUsIFNQQV9Q T0RfSWQgKFNQQV9NRURJQV9UWVBFX3ZpZGVvKSwKKysgICAgU1BBX0ZPUk1BVF9tZWRpYVN1YnR5 cGUsIFNQQV9QT0RfSWQgKFNQQV9NRURJQV9TVUJUWVBFX3JhdyksCisrICAgIFNQQV9GT1JNQVRf VklERU9fZm9ybWF0LCBTUEFfUE9EX0lkIChTUEFfVklERU9fRk9STUFUX0JHUngpLAorKyAgICBT UEFfRk9STUFUX1ZJREVPX3NpemUsIFNQQV9QT0RfUmVjdGFuZ2xlICgmU1BBX1JFQ1RBTkdMRSAo cHJpdi0+c3RyZWFtX3dpZHRoLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJpdi0+c3RyZWFtX2hlaWdodCkpLAorKyAgICBT UEFfRk9STUFUX1ZJREVPX2ZyYW1lcmF0ZSwgU1BBX1BPRF9GcmFjdGlvbiAoJlNQQV9GUkFDVElP TiAoMCwgMSkpLAorKyAgICBTUEFfRk9STUFUX1ZJREVPX21heEZyYW1lcmF0ZSwgU1BBX1BPRF9D SE9JQ0VfUkFOR0VfRnJhY3Rpb24gKCZtYXhfZnJhbWVyYXRlLAorKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZtaW5fZnJh bWVyYXRlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICZtYXhfZnJhbWVyYXRlKSk7CisKKyAgIHB3X3N0cmVhbV9hZGRf bGlzdGVuZXIgKHBpcGV3aXJlX3N0cmVhbSwKK0BAIC03MDIsNyArNjg0LDcgQEAgY3JlYXRlX3Bp cGV3aXJlX3N0cmVhbSAoTWV0YVNjcmVlbkNhc3RTdHJlYW1TcmMgICpzcmMsCisKKyAgIHJlc3Vs dCA9IHB3X3N0cmVhbV9jb25uZWN0IChwaXBld2lyZV9zdHJlYW0sCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgUFdfRElSRUNUSU9OX09VVFBVVCwKKy0gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBOVUxMLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNQQV9JRF9J TlZBTElELAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChQV19TVFJFQU1fRkxBR19E UklWRVIgfAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQV19TVFJFQU1fRkxBR19N QVBfQlVGRkVSUyksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFyYW1zLCBHX05f RUxFTUVOVFMgKHBhcmFtcykpOworQEAgLTcxNyw0MCArNjk5LDE4IEBAIGNyZWF0ZV9waXBld2ly ZV9zdHJlYW0gKE1ldGFTY3JlZW5DYXN0U3RyZWFtU3JjICAqc3JjLAorIH0KKworIHN0YXRpYyB2 b2lkCistb25fc3RhdGVfY2hhbmdlZCAodm9pZCAgICAgICAgICAgICAgICAgKmRhdGEsCistICAg ICAgICAgICAgICAgICAgZW51bSBwd19yZW1vdGVfc3RhdGUgIG9sZCwKKy0gICAgICAgICAgICAg ICAgICBlbnVtIHB3X3JlbW90ZV9zdGF0ZSAgc3RhdGUsCistICAgICAgICAgICAgICAgICAgY29u c3QgY2hhciAgICAgICAgICAgKmVycm9yX21lc3NhZ2UpCisrb25fY29yZV9lcnJvciAodm9pZCAg ICAgICAqZGF0YSwKKysgICAgICAgICAgICAgICB1aW50MzJfdCAgICBpZCwKKysJICAgICAgIGlu dCAgICAgICAgIHNlcSwKKysJICAgICAgIGludCAgICAgICAgIHJlcywKKysJICAgICAgIGNvbnN0 IGNoYXIgKm1lc3NhZ2UpCisgeworICAgTWV0YVNjcmVlbkNhc3RTdHJlYW1TcmMgKnNyYyA9IGRh dGE7CistICBNZXRhU2NyZWVuQ2FzdFN0cmVhbVNyY1ByaXZhdGUgKnByaXYgPQorLSAgICBtZXRh X3NjcmVlbl9jYXN0X3N0cmVhbV9zcmNfZ2V0X2luc3RhbmNlX3ByaXZhdGUgKHNyYyk7CistICBz dHJ1Y3QgcHdfc3RyZWFtICpwaXBld2lyZV9zdHJlYW07CistICBHRXJyb3IgKmVycm9yID0gTlVM TDsKKworLSAgc3dpdGNoIChzdGF0ZSkKKy0gICAgeworLSAgICBjYXNlIFBXX1JFTU9URV9TVEFU RV9FUlJPUjoKKy0gICAgICBnX3dhcm5pbmcgKCJwaXBld2lyZSByZW1vdGUgZXJyb3I6ICVzXG4i LCBlcnJvcl9tZXNzYWdlKTsKKy0gICAgICBtZXRhX3NjcmVlbl9jYXN0X3N0cmVhbV9zcmNfbm90 aWZ5X2Nsb3NlZCAoc3JjKTsKKy0gICAgICBicmVhazsKKy0gICAgY2FzZSBQV19SRU1PVEVfU1RB VEVfQ09OTkVDVEVEOgorLSAgICAgIHBpcGV3aXJlX3N0cmVhbSA9IGNyZWF0ZV9waXBld2lyZV9z dHJlYW0gKHNyYywgJmVycm9yKTsKKy0gICAgICBpZiAoIXBpcGV3aXJlX3N0cmVhbSkKKy0gICAg ICAgIHsKKy0gICAgICAgICAgZ193YXJuaW5nICgiQ291bGQgbm90IGNyZWF0ZSBwaXBld2lyZSBz dHJlYW06ICVzIiwgZXJyb3ItPm1lc3NhZ2UpOworLSAgICAgICAgICBnX2Vycm9yX2ZyZWUgKGVy cm9yKTsKKy0gICAgICAgICAgbWV0YV9zY3JlZW5fY2FzdF9zdHJlYW1fc3JjX25vdGlmeV9jbG9z ZWQgKHNyYyk7CistICAgICAgICB9CistICAgICAgZWxzZQorLSAgICAgICAgeworLSAgICAgICAg ICBwcml2LT5waXBld2lyZV9zdHJlYW0gPSBwaXBld2lyZV9zdHJlYW07CistICAgICAgICB9Cist ICAgICAgYnJlYWs7CistICAgIGNhc2UgUFdfUkVNT1RFX1NUQVRFX1VOQ09OTkVDVEVEOgorLSAg ICBjYXNlIFBXX1JFTU9URV9TVEFURV9DT05ORUNUSU5HOgorLSAgICAgIGJyZWFrOworLSAgICB9 CisrICBnX3dhcm5pbmcgKCJwaXBld2lyZSByZW1vdGUgZXJyb3I6IGlkOiV1ICVzIiwgaWQsIG1l c3NhZ2UpOworKworKyAgaWYgKGlkID09IFBXX0lEX0NPUkUgJiYgcmVzID09IC1FUElQRSkKKysg ICAgbWV0YV9zY3JlZW5fY2FzdF9zdHJlYW1fc3JjX25vdGlmeV9jbG9zZWQgKHNyYyk7CisgfQor Cisgc3RhdGljIGdib29sZWFuCitAQCAtNzkzLDE3ICs3NTMsNiBAQCBzdGF0aWMgR1NvdXJjZUZ1 bmNzIHBpcGV3aXJlX3NvdXJjZV9mdW5jcyA9CisgICBwaXBld2lyZV9sb29wX3NvdXJjZV9maW5h bGl6ZQorIH07CisKKy1zdGF0aWMgdm9pZAorLWluaXRfc3BhX3R5cGUgKE1ldGFTcGFUeXBlICAg ICAgICAgKnR5cGUsCistICAgICAgICAgICAgICAgc3RydWN0IHNwYV90eXBlX21hcCAqbWFwKQor LXsKKy0gIHNwYV90eXBlX21lZGlhX3R5cGVfbWFwIChtYXAsICZ0eXBlLT5tZWRpYV90eXBlKTsK Ky0gIHNwYV90eXBlX21lZGlhX3N1YnR5cGVfbWFwIChtYXAsICZ0eXBlLT5tZWRpYV9zdWJ0eXBl KTsKKy0gIHNwYV90eXBlX2Zvcm1hdF92aWRlb19tYXAgKG1hcCwgJnR5cGUtPmZvcm1hdF92aWRl byk7CistICBzcGFfdHlwZV92aWRlb19mb3JtYXRfbWFwIChtYXAsICZ0eXBlLT52aWRlb19mb3Jt YXQpOworLSAgdHlwZS0+bWV0YV9jdXJzb3IgPSBzcGFfdHlwZV9tYXBfZ2V0X2lkKG1hcCwgU1BB X1RZUEVfTUVUQV9fQ3Vyc29yKTsKKy19CistCisgc3RhdGljIE1ldGFQaXBlV2lyZVNvdXJjZSAq CisgY3JlYXRlX3BpcGV3aXJlX3NvdXJjZSAodm9pZCkKKyB7CitAQCAtODI5LDkgKzc3OCw5IEBA IGNyZWF0ZV9waXBld2lyZV9zb3VyY2UgKHZvaWQpCisgICByZXR1cm4gcGlwZXdpcmVfc291cmNl OworIH0KKworLXN0YXRpYyBjb25zdCBzdHJ1Y3QgcHdfcmVtb3RlX2V2ZW50cyByZW1vdGVfZXZl bnRzID0geworLSAgUFdfVkVSU0lPTl9SRU1PVEVfRVZFTlRTLAorLSAgLnN0YXRlX2NoYW5nZWQg PSBvbl9zdGF0ZV9jaGFuZ2VkLAorK3N0YXRpYyBjb25zdCBzdHJ1Y3QgcHdfY29yZV9ldmVudHMg Y29yZV9ldmVudHMgPSB7CisrICBQV19WRVJTSU9OX0NPUkVfRVZFTlRTLAorKyAgLmVycm9yID0g b25fY29yZV9lcnJvciwKKyB9OworCisgc3RhdGljIGdib29sZWFuCitAQCAtODUxLDM3ICs4MDAs MzEgQEAgbWV0YV9zY3JlZW5fY2FzdF9zdHJlYW1fc3JjX2luaXRhYmxlX2luaXQgKEdJbml0YWJs ZSAgICAgKmluaXRhYmxlLAorICAgICAgIHJldHVybiBGQUxTRTsKKyAgICAgfQorCistICBwcml2 LT5waXBld2lyZV9jb3JlID0gcHdfY29yZV9uZXcgKHByaXYtPnBpcGV3aXJlX3NvdXJjZS0+cGlw ZXdpcmVfbG9vcCwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCk7 CistICBpZiAoIXByaXYtPnBpcGV3aXJlX2NvcmUpCisrICBwcml2LT5waXBld2lyZV9jb250ZXh0 ID0gcHdfY29udGV4dF9uZXcgKHByaXYtPnBpcGV3aXJlX3NvdXJjZS0+cGlwZXdpcmVfbG9vcCwK KysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCwgMCk7Cisr ICBpZiAoIXByaXYtPnBpcGV3aXJlX2NvbnRleHQpCisgICAgIHsKKyAgICAgICBnX3NldF9lcnJv ciAoZXJyb3IsIEdfSU9fRVJST1IsIEdfSU9fRVJST1JfRkFJTEVELAorLSAgICAgICAgICAgICAg ICAgICAiRmFpbGVkIHRvIGNyZWF0ZSBwaXBld2lyZSBjb3JlIik7CisrICAgICAgICAgICAgICAg ICAgICJGYWlsZWQgdG8gY3JlYXRlIHBpcGV3aXJlIGNvbnRleHQiKTsKKyAgICAgICByZXR1cm4g RkFMU0U7CisgICAgIH0KKworLSAgcHJpdi0+cGlwZXdpcmVfcmVtb3RlID0gcHdfcmVtb3RlX25l dyAocHJpdi0+cGlwZXdpcmVfY29yZSwgTlVMTCwgMCk7CistICBpZiAoIXByaXYtPnBpcGV3aXJl X3JlbW90ZSkKKysgIHByaXYtPnBpcGV3aXJlX2NvcmUgPSBwd19jb250ZXh0X2Nvbm5lY3QgKHBy aXYtPnBpcGV3aXJlX2NvbnRleHQsIE5VTEwsIDApOworKyAgaWYgKCFwcml2LT5waXBld2lyZV9j b3JlKQorICAgICB7CisgICAgICAgZ19zZXRfZXJyb3IgKGVycm9yLCBHX0lPX0VSUk9SLCBHX0lP X0VSUk9SX0ZBSUxFRCwKKy0gICAgICAgICAgICAgICAgICAgIkNvdWxkbid0IGNyZWF0IHBpcGV3 aXJlIHJlbW90ZSIpOworKyAgICAgICAgICAgICAgICAgICAiQ291bGRuJ3QgY29ubmVjdCBwaXBl d2lyZSBjb250ZXh0Iik7CisgICAgICAgcmV0dXJuIEZBTFNFOworICAgICB9CisKKy0gIHB3X3Jl bW90ZV9hZGRfbGlzdGVuZXIgKHByaXYtPnBpcGV3aXJlX3JlbW90ZSwKKy0gICAgICAgICAgICAg ICAgICAgICAgICAgICZwcml2LT5waXBld2lyZV9yZW1vdGVfbGlzdGVuZXIsCistICAgICAgICAg ICAgICAgICAgICAgICAgICAmcmVtb3RlX2V2ZW50cywKKy0gICAgICAgICAgICAgICAgICAgICAg ICAgIHNyYyk7CisrICBwd19jb3JlX2FkZF9saXN0ZW5lciAocHJpdi0+cGlwZXdpcmVfY29yZSwK KysgICAgICAgICAgICAgICAgICAgICAgICAmcHJpdi0+cGlwZXdpcmVfY29yZV9saXN0ZW5lciwK KysgICAgICAgICAgICAgICAgICAgICAgICAmY29yZV9ldmVudHMsCisrICAgICAgICAgICAgICAg ICAgICAgICAgc3JjKTsKKworLSAgcHJpdi0+cGlwZXdpcmVfdHlwZSA9IHB3X2NvcmVfZ2V0X3R5 cGUgKHByaXYtPnBpcGV3aXJlX2NvcmUpOworLSAgaW5pdF9zcGFfdHlwZSAoJnByaXYtPnNwYV90 eXBlLCBwcml2LT5waXBld2lyZV90eXBlLT5tYXApOworLQorLSAgaWYgKHB3X3JlbW90ZV9jb25u ZWN0IChwcml2LT5waXBld2lyZV9yZW1vdGUpICE9IDApCistICAgIHsKKy0gICAgICBnX3NldF9l cnJvciAoZXJyb3IsIEdfSU9fRVJST1IsIEdfSU9fRVJST1JfRkFJTEVELAorLSAgICAgICAgICAg ICAgICAgICAiQ291bGRuJ3QgY29ubmVjdCBwaXBld2lyZSByZW1vdGUiKTsKKy0gICAgICByZXR1 cm4gRkFMU0U7CistICAgIH0KKysgIHByaXYtPnBpcGV3aXJlX3N0cmVhbSA9IGNyZWF0ZV9waXBl d2lyZV9zdHJlYW0gKHNyYywgZXJyb3IpOworKyAgaWYgKCFwcml2LT5waXBld2lyZV9zdHJlYW0p CisrICAgIHJldHVybiBGQUxTRTsKKworICAgcmV0dXJuIFRSVUU7CisgfQorQEAgLTkxMiw4ICs4 NTUsOCBAQCBtZXRhX3NjcmVlbl9jYXN0X3N0cmVhbV9zcmNfZmluYWxpemUgKEdPYmplY3QgKm9i amVjdCkKKyAgICAgbWV0YV9zY3JlZW5fY2FzdF9zdHJlYW1fc3JjX2Rpc2FibGUgKHNyYyk7CisK KyAgIGdfY2xlYXJfcG9pbnRlciAoJnByaXYtPnBpcGV3aXJlX3N0cmVhbSwgcHdfc3RyZWFtX2Rl c3Ryb3kpOworLSAgZ19jbGVhcl9wb2ludGVyICgmcHJpdi0+cGlwZXdpcmVfcmVtb3RlLCBwd19y ZW1vdGVfZGVzdHJveSk7CistICBnX2NsZWFyX3BvaW50ZXIgKCZwcml2LT5waXBld2lyZV9jb3Jl LCBwd19jb3JlX2Rlc3Ryb3kpOworKyAgZ19jbGVhcl9wb2ludGVyICgmcHJpdi0+cGlwZXdpcmVf Y29yZSwgcHdfY29yZV9kaXNjb25uZWN0KTsKKysgIGdfY2xlYXJfcG9pbnRlciAoJnByaXYtPnBp cGV3aXJlX2NvbnRleHQsIHB3X2NvbnRleHRfZGVzdHJveSk7CisgICBnX3NvdXJjZV9kZXN0cm95 ICgmcHJpdi0+cGlwZXdpcmVfc291cmNlLT5iYXNlKTsKKworICAgR19PQkpFQ1RfQ0xBU1MgKG1l dGFfc2NyZWVuX2Nhc3Rfc3RyZWFtX3NyY19wYXJlbnRfY2xhc3MpLT5maW5hbGl6ZSAob2JqZWN0 KTsKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvbXV0dGVyL3RlbXBsYXRlIGIvc3JjcGtncy9tdXR0ZXIv dGVtcGxhdGUKaW5kZXggNGUwYmQzMmI2N2QuLjgwNmEzYmVmOWYwIDEwMDY0NAotLS0gYS9zcmNw a2dzL211dHRlci90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL211dHRlci90ZW1wbGF0ZQpAQCAtMSw3 ICsxLDcgQEAKICMgVGVtcGxhdGUgZmlsZSBmb3IgJ211dHRlcicKIHBrZ25hbWU9bXV0dGVyCiB2 ZXJzaW9uPTMuMzQuMQotcmV2aXNpb249MgorcmV2aXNpb249MwogYnVpbGRfaGVscGVyPSJnaXIi CiBidWlsZF9zdHlsZT1tZXNvbgogY29uZmlndXJlX2FyZ3M9Ii1EZWdsX2RldmljZT10cnVlIC1E dWRldj10cnVlIC1EbmF0aXZlX2JhY2tlbmQ9dHJ1ZQo= --===============0206871299033795804==--