From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 From: Dominik 'Rathann' Mierzejewski To: git-commits@fedoraproject.org Subject: [rpms/ffmpeg] rawhide: Fix Firefox vulkan direct-export rendering issue Date: Thu, 30 Jul 2026 13:21:56 GMT Message-ID: <178541771601.1.18187437852910736297.rpms-ffmpeg-b59068d371bc@fedoraproject.org> List-ID: X-Git-Repo: rpms/ffmpeg X-Git-Branch: rawhide X-Git-Rev: b59068d371bc8503f129fbaf0cc5166d88deba20 ICAgICAgICAgICAgQSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KCiAgICAgICAgICAgIFJl cG8gICA6IHJwbXMvZmZtcGVnCiAgICAgICAgICAgIEJyYW5jaCA6IHJhd2hpZGUKICAgICAgICAg ICAgQ29tbWl0IDogYjU5MDY4ZDM3MWJjODUwM2YxMjlmYmFmMGNjNTE2NmQ4OGRlYmEyMAogICAg ICAgICAgICBBdXRob3IgOiBEb21pbmlrICdSYXRoYW5uJyBNaWVyemVqZXdza2kgPGRvbWluaWtA Z3JleXNlY3Rvci5uZXQ+CiAgICAgICAgICAgIERhdGUgICA6IDIwMjYtMDctMjlUMjA6MjU6MDMr MDI6MDAKICAgICAgICAgICAgU3RhdHMgIDogKzU0Mi8tMCBpbiAyIGZpbGUocykKICAgICAgICAg ICAgVVJMICAgIDogaHR0cHM6Ly9zcmMuZmVkb3JhcHJvamVjdC5vcmcvcnBtcy9mZm1wZWcvYy9i NTkwNjhkMzcxYmM4NTAzZjEyOWZiYWYwY2M1MTY2ZDg4ZGViYTIwP2JyYW5jaD1yYXdoaWRlCgog ICAgICAgICAgICBMb2c6CiAgICAgICAgICAgIEZpeCBGaXJlZm94IHZ1bGthbiBkaXJlY3QtZXhw b3J0IHJlbmRlcmluZyBpc3N1ZQoKU2VlOiBodHRwczovL2J1Z3ppbGxhLm1vemlsbGEub3JnL3No b3dfYnVnLmNnaT9pZD0yMDQ4NTkxCiAgICAgaHR0cHM6Ly9jb2RlLmZmbXBlZy5vcmcvRkZtcGVn L0ZGbXBlZy9pc3N1ZXMvMjM5MzIKCi0tLQpkaWZmIC0tZ2l0IGEvZmZtcGVnLXZ1bGthbi1kaXJl Y3QtZXhwb3J0LnBhdGNoIGIvZmZtcGVnLXZ1bGthbi1kaXJlY3QtZXhwb3J0LnBhdGNoCm5ldyBm aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjcxYjI2YjgKLS0tIC9kZXYvbnVsbAorKysg Yi9mZm1wZWctdnVsa2FuLWRpcmVjdC1leHBvcnQucGF0Y2gKQEAgLTAsMCArMSw1MzkgQEAKK0Zy b20gMjVlMTg3Zjg0OTQ5NjYzNzdhNGI5ZDA3NzI2MGNlN2I1MDFhOTExYyBNb24gU2VwIDE3IDAw OjAwOjAwIDIwMDEKK0Zyb206IFR5bXVyIEJvaWtvIDx0Ym9pa29AbnZpZGlhLmNvbT4KK0RhdGU6 IFR1ZSwgMjcgSmFuIDIwMjYgMTg6MTY6MzMgKzAxMDAKK1N1YmplY3Q6IFtQQVRDSF0gdnVsa2Fu OiBmaXggRFJNIG1hcCwgZGVjb2RlIGJhcnJpZXJzLCBhbmQgdmlkZW8gZnJhbWUgc2V0dXAKKyBm b3IgbW9kaWZpZXIgb3V0cHV0CisKK1doZW4gbWFwcGluZyBWdWxrYW4gVmlkZW8gZnJhbWVzIHRv IERNQS1CVUYsIHN5bmNocm9uaXplIHVzaW5nIGFuIGV4cG9ydGFibGUKK2JpbmFyeSBzZW1hcGhv cmUgYW5kIHN5bmNfZmQgd2hlcmUgc3VwcG9ydGVkLiBTdWJtaXQgYSBsaWdodHdlaWdodCBleGVj IHRoYXQKK3dhaXRzIG9uIGVhY2ggcGxhbmUncyB0aW1lbGluZSBzZW1hcGhvcmUgYXQgdGhlIGN1 cnJlbnQgdmFsdWUsIHNpZ25hbHMgYQorU1lOQ19GRC1leHBvcnRhYmxlIGJpbmFyeSBzZW1hcGhv cmUsIHRoZW4gZXhwb3J0IHdpdGggdmtHZXRTZW1hcGhvcmVGZEtIUi4KK1N0b3JlIHRoYXQgYmlu YXJ5IHNlbWFwaG9yZSBpbiBBVlZrRnJhbWVJbnRlcm5hbCBhbmQgcmV1c2UgaXQgYWNyb3NzIG1h cHMKK2luc3RlYWQgb2YgY3JlYXRpbmcgYW5kIGRlc3Ryb3lpbmcgZWFjaCB0aW1lOiBmb3IKK1ZL X0VYVEVSTkFMX1NFTUFQSE9SRV9IQU5ETEVfVFlQRV9TWU5DX0ZEX0JJVCwgY29weSB0cmFuc2Zl cmVuY2UgbWVhbnMgYQorc3VjY2Vzc2Z1bCB2a0dldFNlbWFwaG9yZUZkS0hSIHVuc2lnbmFscyB0 aGUgc2VtYXBob3JlIGxpa2UgYSB3YWl0LCBzbyBpdCBjYW4KK2JlIHNpZ25hbGVkIGFnYWluIG9u IHRoZSBuZXh0IG1hcCBzdWJtaXQuIElmIGV4cG9ydCBpcyB1bmF2YWlsYWJsZSwgZmFsbCBiYWNr Cit0byB2a1dhaXRTZW1hcGhvcmVzLgorCitNb3ZlZCBkcm1fc3luY19zZW0gZGVzdHJveSB0byB2 dWxrYW5fZnJlZV9pbnRlcm5hbAorCitFeHBvcnQgZG1hLWJ1ZiBmZHMgd2l0aCBHZXRNZW1vcnlG ZEtIUiBmb3IgZWFjaCBwb3B1bGF0ZWQgZi0+bWVtW2ldLCBpdGVyYXRpbmcKK3VwIHRvIHRoZSBz d19mb3JtYXQgcGxhbmUgY291bnQgaW5zdGVhZCBvZiBzdG9wcGluZyBhdCB0aGUgaW1hZ2UgY291 bnQsIHNvCittdWx0aS1tZW1vcnkgYmluZGluZ3MgYXJlIG5vdCBza2lwcGVkLiBEZXNjcmliZSBE Uk0gbGF5ZXJzIHVzaW5nCittYXgoc3cgcGxhbmVzLCBpbWFnZSBjb3VudCkgYW5kIHF1ZXJ5IHN1 YnJlc291cmNlIGxheW91dCB3aXRoIHRoZSBjb3JyZWN0Cithc3BlY3QgYW5kIGltYWdlIGluZGV4 IHdoZW4gb25lIFZrSW1hZ2UgYmFja3MgbXVsdGlwbGUgcGxhbmVzLiBSZWZlcmVuY2UgdGhlCitz b3VyY2UgaHdfZnJhbWVzX2N0eCBvbiB0aGUgbWFwcGVkIGZyYW1lIGFuZCBjbG9zZSBkbWEtYnVm IGZkcyBvbiBmYWlsdXJlIHBhdGhzLgorCitGb3IgRE1BLUJVRi1jYXBhYmxlIHBvb2xzLCBob25v ciBWS19FWFRFUk5BTF9NRU1PUllfRkVBVFVSRV9ERURJQ0FURURfT05MWV9CSVQKK2Zyb20gZm9y bWF0IGV4cG9ydCBxdWVyaWVzIHdoZW4gYmluZGluZyBtZW1vcnkuIFdpdGggRFJNIG1vZGlmaWVy cyBhbmQgYQordmlkZW8gcHJvZmlsZSBpbiBjcmVhdGVfcG5leHQsIHByZXNlcnZlIGNhbGxlciB1 c2FnZSBhbmQgaW1hZ2UgZmxhZ3MgaW5zdGVhZCBvZgorb3ZlcndyaXRpbmcgdGhlbSBmcm9tIGdl bmVyaWMgc3VwcG9ydGVkX3VzYWdlIHByb2Jpbmc7IHVzZSB0aGUgbW9kaWZpZXIgbGlzdAorY3Jl YXRlIGluZm8gd2hlbiBwcm9iaW5nIGV4cG9ydCBmbGFncyBmb3IgbW9kaWZpZXIgdGlsaW5nLgor CitJbmNsdWRlIFZLX0lNQUdFX1VTQUdFX1ZJREVPX0RFQ09ERV9EUEJfQklUX0tIUiBmcm9tIHRo ZSBvdXRwdXQgZnJhbWVzCitjb250ZXh0J3MgdXNhZ2UgdG9nZXRoZXIgd2l0aCBEU1QgKGZpeGVz CitWVUlELVZrVmlkZW9CZWdpbkNvZGluZ0luZm9LSFItc2xvdEluZGV4LTA3MjQ1KSBpbnN0ZWFk IG9mIGFkZGluZyBEUEIgdXNhZ2UKK29ubHkgd2hlbiAhaXNfY3VycmVudC4KKworSW4gZmZfdmtf ZGVjb2RlX2FkZF9zbGljZSwgcGFzcyBWa1ZpZGVvUHJvZmlsZUxpc3RJbmZvS0hSIChmcm9tIHRo ZSBvdXRwdXQKK2ZyYW1lcyBjb250ZXh0J3MgY3JlYXRlX3BuZXh0KSBhcyB0aGUgcE5leHQgYXJn dW1lbnQgdG8KK2ZmX3ZrX2dldF9wb29sZWRfYnVmZmVyIGluc3RlYWQgb2YgdGhlIGZ1bGwgY3Jl YXRlX3BuZXh0IGNoYWluLiBJbgorZmZfdmtfZnJhbWVfcGFyYW1zLCBzZXQgdGlsaW5nIHRvIE9Q VElNQUwgb25seSB3aGVuIGl0IGlzIG5vdCBhbHJlYWR5CitEUk1fRk9STUFUX01PRElGSUVSX0VY VC4gSW4gZmZfdmtfZGVjb2RlX2luaXQsIHdoZW4gdGhlIG91dHB1dCBwb29sJ3MKK2NyZWF0ZV9w bmV4dCBpbmNsdWRlcyBWa0ltYWdlRHJtRm9ybWF0TW9kaWZpZXJMaXN0Q3JlYXRlSW5mb0VYVCwg aW5pdGlhbGl6ZSB0aGUKK0RQQiBwb29sIHdpdGggdGhhdCBtb2RpZmllci1saXN0IHBOZXh0IGFu ZCBEUk1fRk9STUFUX01PRElGSUVSX0VYVCB0aWxpbmc7CitvdGhlcndpc2UgdXNlIFZrVmlkZW9Q cm9maWxlTGlzdEluZm9LSFIgYW5kIE9QVElNQUwgYXMgYmVmb3JlLiBXaGVuCitWS19WSURFT19E RUNPREVfQ0FQQUJJTElUWV9EUEJfQU5EX09VVFBVVF9ESVNUSU5DVF9CSVRfS0hSIGlzIHVuc2V0 LCB0aGUgb3V0cHV0CithbmQgRFBCIHBvb2xzIGNhbm5vdCB1c2UgZGlmZmVyZW50IGxheW91dHMg b3IgdGlsaW5nLCBzbyB0aGUgRFBCIHBvb2wgbXVzdAorbWF0Y2ggdGhlIG91dHB1dCBwb29sLgor CitBbHNvIGZpeCBhdl9od2ZyYW1lX21hcCBpb2N0bCBzeW5jX2ZkIGV4cG9ydCwgbXVsdGktcGxh bmFyIHNlbWFwaG9yZSBoYW5kbGluZywKK2FuZCByZWxhdGVkIGZhaWx1cmUtcGF0aCBjbGVhbnVw LgorCitTaWduZWQtb2ZmLWJ5OiBUeW11ciBCb2lrbyA8dGJvaWtvQG52aWRpYS5jb20+CistLS0K KyBsaWJhdmNvZGVjL3Z1bGthbl9kZWNvZGUuYyAgIHwgIDM2ICsrKysrLS0KKyBsaWJhdnV0aWwv aHdjb250ZXh0X3Z1bGthbi5jIHwgMTk0ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0t LS0tCisgMiBmaWxlcyBjaGFuZ2VkLCAyMDEgaW5zZXJ0aW9ucygrKSwgMjkgZGVsZXRpb25zKC0p CisKK2RpZmYgLS1naXQgYS9saWJhdmNvZGVjL3Z1bGthbl9kZWNvZGUuYyBiL2xpYmF2Y29kZWMv dnVsa2FuX2RlY29kZS5jCitpbmRleCA5YWI4ZDQ1YWE5Li5hZmNhNjJiMzA0IDEwMDY0NAorLS0t IGEvbGliYXZjb2RlYy92dWxrYW5fZGVjb2RlLmMKKysrKyBiL2xpYmF2Y29kZWMvdnVsa2FuX2Rl Y29kZS5jCitAQCAtMjMzLDcgKzIzMyw4IEBAIGludCBmZl92a19kZWNvZGVfcHJlcGFyZV9mcmFt ZShGRlZ1bGthbkRlY29kZUNvbnRleHQgKmRlYywgQVZGcmFtZSAqcGljLAorICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgKEFWVmtGcmFtZSAqKXBpYy0+ZGF0YVswXSwKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGh3ZmMtPmZvcm1hdFswXSwKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIFZLX0lNQUdFX1VTQUdFX1ZJREVPX0RFQ09ERV9EU1RfQklUX0tI UiB8CistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoIWlzX2N1cnJlbnQgPyBWS19J TUFHRV9VU0FHRV9WSURFT19ERUNPREVfRFBCX0JJVF9LSFIgOiAwKSk7CisrICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAoaHdmYy0+dXNhZ2UgJiBWS19JTUFHRV9VU0FHRV9WSURFT19E RUNPREVfRFBCX0JJVF9LSFIpKTsKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8v IHRoZSBhYm92ZSBmaXhlcyBWVUlELVZrVmlkZW9CZWdpbkNvZGluZ0luZm9LSFItc2xvdEluZGV4 LTA3MjQ1CisgICAgICAgICBpZiAoZXJyIDwgMCkKKyAgICAgICAgICAgICByZXR1cm4gZXJyOwor IAorQEAgLTMzNSwxMiArMzM2LDIxIEBAIGludCBmZl92a19kZWNvZGVfYWRkX3NsaWNlKEFWQ29k ZWNDb250ZXh0ICphdmN0eCwgRkZWdWxrYW5EZWNvZGVQaWN0dXJlICp2cCwKKyAgICAgICAgICAq IGVhc2llciwgYW5kIGdpdmVzIHVzIGFtcGxlIGhlYWRyb29tLiAqLworICAgICAgICAgYnVmX3Np emUgPSAyIDw8IGF2X2xvZzIoYnVmX3NpemUpOworIAorKyAgICAgICAgLyogV2hlbiB0aGUgZnJh bWVzIGNvbnRleHQgdXNlcyBEUk0gbW9kaWZpZXIgdGlsaW5nLAorKyAgICAgICAgICogaHdjdHgt PmNyZWF0ZV9wbmV4dCBjb250YWlucyBWa0ltYWdlRHJtRm9ybWF0TW9kaWZpZXJMaXN0Q3JlYXRl SW5mb0VYVCwKKysgICAgICAgICAqIHdoaWNoIHBlciBzcGVjIGRvZXMgbm90IGV4dGVuZCBWa0J1 ZmZlckNyZWF0ZUluZm8sIHNvIHdlIG5lZWQgdG8gZmluZAorKyAgICAgICAgICogdGhlIFZrVmlk ZW9Qcm9maWxlTGlzdEluZm9LSFIgc3RydWN0dXJlIHdpdGhpbiBpdC4gKi8KKysgICAgICAgIHZv aWQgKmJ1Zl9wbmV4dCA9IGN0eC0+cy5od2ZjLT5jcmVhdGVfcG5leHQ7CisrICAgICAgICBpZiAo Y3R4LT5zLmh3ZmMtPnRpbGluZyA9PSBWS19JTUFHRV9USUxJTkdfRFJNX0ZPUk1BVF9NT0RJRklF Ul9FWFQpCisrICAgICAgICAgICAgYnVmX3BuZXh0ID0gKHZvaWQgKilmZl92a19maW5kX3N0cnVj dChjdHgtPnMuaHdmYy0+Y3JlYXRlX3BuZXh0LAorKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgVktfU1RSVUNUVVJFX1RZUEVfVklERU9fUFJPRklMRV9M SVNUX0lORk9fS0hSKTsKKysKKyAgICAgICAgIGVyciA9IGZmX3ZrX2dldF9wb29sZWRfYnVmZmVy KCZjdHgtPnMsICZjdHgtPmJ1Zl9wb29sLCAmbmV3X3JlZiwKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIERFQ09ERVJfSVNfU0RSKGF2Y3R4LT5jb2RlY19pZCkgPworICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKFZLX0JVRkZFUl9VU0FHRV9TVE9S QUdFX0JVRkZFUl9CSVQgfAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IFZLX0JVRkZFUl9VU0FHRV9TSEFERVJfREVWSUNFX0FERFJFU1NfQklUKSA6CisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBWS19CVUZGRVJfVVNBR0VfVklERU9fREVDT0RF X1NSQ19CSVRfS0hSLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3R4 LT5zLmh3ZmMtPmNyZWF0ZV9wbmV4dCwgYnVmX3NpemUsCisrICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBidWZfcG5leHQsIGJ1Zl9zaXplLAorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgVktfTUVNT1JZX1BST1BFUlRZX0hPU1RfVklTSUJMRV9CSVQg fAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKERFQ09ERVJfSVNfU0RS KGF2Y3R4LT5jb2RlY19pZCkgPworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIFZLX01FTU9SWV9QUk9QRVJUWV9ERVZJQ0VfTE9DQUxfQklUIDogMHgwKSk7CitAQCAtMTIx Nyw3ICsxMjI3LDkgQEAgaW50IGZmX3ZrX2ZyYW1lX3BhcmFtcyhBVkNvZGVjQ29udGV4dCAqYXZj dHgsIEFWQnVmZmVyUmVmICpod19mcmFtZXNfY3R4KQorICAgICAgICAgfQorICAgICB9CisgCist ICAgIGh3ZmMtPnRpbGluZyA9IFZLX0lNQUdFX1RJTElOR19PUFRJTUFMOworKyAgICBpZiAoaHdm Yy0+dGlsaW5nICE9IFZLX0lNQUdFX1RJTElOR19EUk1fRk9STUFUX01PRElGSUVSX0VYVCkKKysg ICAgICAgIGh3ZmMtPnRpbGluZyA9IFZLX0lNQUdFX1RJTElOR19PUFRJTUFMOworKworICAgICBo d2ZjLT51c2FnZSAgPSBWS19JTUFHRV9VU0FHRV9UUkFOU0ZFUl9TUkNfQklUIHwKKyAgICAgICAg ICAgICAgICAgICAgVktfSU1BR0VfVVNBR0VfU1RPUkFHRV9CSVQgICAgICB8CisgICAgICAgICAg ICAgICAgICAgIFZLX0lNQUdFX1VTQUdFX1NBTVBMRURfQklUOworQEAgLTEzODIsMTAgKzEzOTQs MjIgQEAgaW50IGZmX3ZrX2RlY29kZV9pbml0KEFWQ29kZWNDb250ZXh0ICphdmN0eCkKKyAgICAg ICAgIGRwYl9mcmFtZXMtPmhlaWdodCAgICA9IHMtPmZyYW1lcy0+aGVpZ2h0OworIAorICAgICAg ICAgZHBiX2h3ZmMgPSBkcGJfZnJhbWVzLT5od2N0eDsKKy0gICAgICAgIGRwYl9od2ZjLT5jcmVh dGVfcG5leHQgPSAodm9pZCAqKWZmX3ZrX2ZpbmRfc3RydWN0KGN0eC0+cy5od2ZjLT5jcmVhdGVf cG5leHQsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBWS19TVFJVQ1RVUkVfVFlQRV9WSURFT19QUk9GSUxFX0xJU1RfSU5GT19LSFIp OworKyAgICAgICAgdm9pZCAqcHJvZmlsZV9saXN0ID0gKHZvaWQgKilmZl92a19maW5kX3N0cnVj dChjdHgtPnMuaHdmYy0+Y3JlYXRlX3BuZXh0LAorKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBWS19TVFJVQ1RVUkVfVFlQRV9WSURFT19QUk9G SUxFX0xJU1RfSU5GT19LSFIpOworKyAgICAgICAgLyogUmVmZXJlbmNlIChEUEIpIGltYWdlcyB1 c2UgdGhlIHNhbWUgdGlsaW5nIGFuZCBwTmV4dCBjaGFpbiBhcyBvdXRwdXQuCisrICAgICAgICAg KiBJZiBWS19WSURFT19ERUNPREVfQ0FQQUJJTElUWV9EUEJfQU5EX09VVFBVVF9ESVNUSU5DVF9C SVRfS0hSIGlzIDAsIHRoZQorKyAgICAgICAgICogZHJpdmVyIGRvZXMgbm90IHN1cHBvcnQgc2Vw YXJhdGUgb3V0cHV0IGFuZCBEUEIgd2l0aCBkaWZmZXJlbnQgbGF5b3V0cy90aWxpbmcuICovCisr ICAgICAgICB2b2lkICpkcm1fY3JlYXRlX3BuZXh0ID0gZmZfdmtfZmluZF9zdHJ1Y3QoY3R4LT5z Lmh3ZmMtPmNyZWF0ZV9wbmV4dCwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBWS19TVFJVQ1RVUkVfVFlQRV9JTUFHRV9EUk1fRk9STUFUX01PRElG SUVSX0xJU1RfQ1JFQVRFX0lORk9fRVhUKTsKKysgICAgICAgIGlmIChkcm1fY3JlYXRlX3BuZXh0 KSB7CisrICAgICAgICAgICAgZHBiX2h3ZmMtPmNyZWF0ZV9wbmV4dCA9IGRybV9jcmVhdGVfcG5l eHQ7CisrICAgICAgICAgICAgZHBiX2h3ZmMtPnRpbGluZyAgICAgICA9IFZLX0lNQUdFX1RJTElO R19EUk1fRk9STUFUX01PRElGSUVSX0VYVDsKKysgICAgICAgICAgICBhdl9hc3NlcnQyKGZmX3Zr X2ZpbmRfc3RydWN0KGRybV9jcmVhdGVfcG5leHQsIFZLX1NUUlVDVFVSRV9UWVBFX1ZJREVPX1BS T0ZJTEVfTElTVF9JTkZPX0tIUikpOworKyAgICAgICAgfSBlbHNlIHsKKysgICAgICAgICAgICBk cGJfaHdmYy0+Y3JlYXRlX3BuZXh0ID0gcHJvZmlsZV9saXN0OworKyAgICAgICAgICAgIGRwYl9o d2ZjLT50aWxpbmcgICAgICAgPSBWS19JTUFHRV9USUxJTkdfT1BUSU1BTDsKKysgICAgICAgIH0K KyAgICAgICAgIGRwYl9od2ZjLT5mb3JtYXRbMF0gICAgPSBzLT5od2ZjLT5mb3JtYXRbMF07Cist ICAgICAgICBkcGJfaHdmYy0+dGlsaW5nICAgICAgID0gVktfSU1BR0VfVElMSU5HX09QVElNQUw7 CisgICAgICAgICBkcGJfaHdmYy0+dXNhZ2UgICAgICAgID0gVktfSU1BR0VfVVNBR0VfVklERU9f REVDT0RFX0RQQl9CSVRfS0hSOworIAorICAgICAgICAgaWYgKGN0eC0+Y29tbW9uLmxheWVyZWRf ZHBiKQorZGlmZiAtLWdpdCBhL2xpYmF2dXRpbC9od2NvbnRleHRfdnVsa2FuLmMgYi9saWJhdnV0 aWwvaHdjb250ZXh0X3Z1bGthbi5jCitpbmRleCBiZGFkYTc4YzJiLi44ODhjYzM5NTMwIDEwMDY0 NAorLS0tIGEvbGliYXZ1dGlsL2h3Y29udGV4dF92dWxrYW4uYworKysrIGIvbGliYXZ1dGlsL2h3 Y29udGV4dF92dWxrYW4uYworQEAgLTE5MCwxMSArMTkwLDE4IEBAIHR5cGVkZWYgc3RydWN0IFZ1 bGthbkZyYW1lc1ByaXYgeworIAorICAgICAvKiBQcm9wZXJ0aWVzIGZvciBEUk0gbW9kaWZpZXIg Zm9yIGVhY2ggcGxhbmUgaW4gdGhlIGltYWdlICovCisgICAgIFZrRHJtRm9ybWF0TW9kaWZpZXJQ cm9wZXJ0aWVzRVhUIGRybV9mb3JtYXRfbW9kaWZpZXJfcHJvcGVydGllc1s1XTsKKysKKysgICAg LyogU2V0IHdoZW4gcGh5c2ljYWwgZGV2aWNlIHJlcG9ydHMgREVESUNBVEVEX09OTFkgZm9yIERN QS1CVUYgZXhwb3J0ICh0cnlfZXhwb3J0X2ZsYWdzKSAqLworKyAgICBpbnQgZXhwb3J0X3JlcXVp cmVzX2RlZGljYXRlZDsKKyB9IFZ1bGthbkZyYW1lc1ByaXY7CisgCisgdHlwZWRlZiBzdHJ1Y3Qg QVZWa0ZyYW1lSW50ZXJuYWwgeworICAgICBwdGhyZWFkX211dGV4X3QgdXBkYXRlX211dGV4Owor IAorKyAgICAvKiBCaW5hcnkgc2VtYXBob3JlIGZvciBTWU5DX0ZEIGV4cG9ydCBhdCBEUk0gbWFw IHRpbWUuIENyZWF0ZWQgb25jZSBsYXppbHksCisrICAgICAqIHJlLXNpZ25hbGVkIGVhY2ggdGlt ZSB2aWEgYSBzdWJtaXQgaW4gdnVsa2FuX21hcF90b19kcm0uICovCisrICAgIFZrU2VtYXBob3Jl IGRybV9zeW5jX3NlbTsKKysKKyAjaWYgQ09ORklHX0NVREEKKyAgICAgLyogSW1wb3J0aW5nIGV4 dGVybmFsIG1lbW9yeSBpbnRvIGN1ZGEgaXMgcmVhbGx5IGV4cGVuc2l2ZSBzbyB3ZSBrZWVwIHRo ZQorICAgICAgKiBtZW1vcnkgaW1wb3J0ZWQgYWxsIHRoZSB0aW1lICovCitAQCAtMjM2OSw3ICsy Mzc2LDcgQEAgc3RhdGljIGludCBhbGxvY19tZW0oQVZIV0RldmljZUNvbnRleHQgKmN0eCwgVmtN ZW1vcnlSZXF1aXJlbWVudHMgKnJlcSwKKyAgICAgcmV0dXJuIDA7CisgfQorIAorLXN0YXRpYyB2 b2lkIHZ1bGthbl9mcmVlX2ludGVybmFsKEFWVmtGcmFtZSAqZikKKytzdGF0aWMgdm9pZCB2dWxr YW5fZnJlZV9pbnRlcm5hbChWdWxrYW5EZXZpY2VQcml2ICpwLCBBVlZrRnJhbWUgKmYpCisgewor ICAgICBhdl91bnVzZWQgQVZWa0ZyYW1lSW50ZXJuYWwgKmludGVybmFsID0gZi0+aW50ZXJuYWw7 CisgCitAQCAtMjQwMSw2ICsyNDA4LDEwIEBAIHN0YXRpYyB2b2lkIHZ1bGthbl9mcmVlX2ludGVy bmFsKEFWVmtGcmFtZSAqZikKKyAgICAgfQorICNlbmRpZgorIAorKyAgICBpZiAoaW50ZXJuYWwt PmRybV9zeW5jX3NlbSAhPSBWS19OVUxMX0hBTkRMRSkKKysgICAgICAgIHAtPnZrY3R4LnZrZm4u RGVzdHJveVNlbWFwaG9yZShwLT5wLmFjdF9kZXYsIGludGVybmFsLT5kcm1fc3luY19zZW0sCisr ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHAtPnAuYWxsb2MpOworKwor ICAgICBwdGhyZWFkX211dGV4X2Rlc3Ryb3koJmludGVybmFsLT51cGRhdGVfbXV0ZXgpOworICAg ICBhdl9mcmVlcCgmZi0+aW50ZXJuYWwpOworIH0KK0BAIC0yNDI4LDcgKzI0MzksNyBAQCBzdGF0 aWMgdm9pZCB2dWxrYW5fZnJhbWVfZnJlZShBVkhXRnJhbWVzQ29udGV4dCAqaHdmYywgQVZWa0Zy YW1lICpmKQorICAgICAgICAgdmstPldhaXRTZW1hcGhvcmVzKGh3Y3R4LT5hY3RfZGV2LCAmc2Vt X3dhaXQsIFVJTlQ2NF9NQVgpOworICAgICB9CisgCistICAgIHZ1bGthbl9mcmVlX2ludGVybmFs KGYpOworKyAgICB2dWxrYW5fZnJlZV9pbnRlcm5hbChwLCBmKTsKKyAKKyAgICAgZm9yIChpbnQg aSA9IDA7IGkgPCBuYl9pbWFnZXM7IGkrKykgeworICAgICAgICAgdmstPkRlc3Ryb3lJbWFnZSho d2N0eC0+YWN0X2RldiwgICAgIGYtPmltZ1tpXSwgaHdjdHgtPmFsbG9jKTsKK0BAIC0yNDc1LDYg KzI0ODYsMTAgQEAgc3RhdGljIGludCBhbGxvY19iaW5kX21lbShBVkhXRnJhbWVzQ29udGV4dCAq aHdmYywgQVZWa0ZyYW1lICpmLAorIAorICAgICAgICAgdmstPkdldEltYWdlTWVtb3J5UmVxdWly ZW1lbnRzMihod2N0eC0+YWN0X2RldiwgJnJlcV9kZXNjLCAmcmVxKTsKKyAKKysgICAgICAgIGF2 X2xvZyhod2ZjLCBBVl9MT0dfVFJBQ0UsCisrICAgICAgICAgICAgICAgInBsYW5lICVkOiBkcml2 ZXIgcmVwb3J0cyBwcmVmZXJzRGVkaWNhdGVkQWxsb2NhdGlvbj0laSByZXF1aXJlc0RlZGljYXRl ZEFsbG9jYXRpb249JWlcbiIsCisrICAgICAgICAgICAgICAgaW1nX2NudCwgZGVkX3JlcS5wcmVm ZXJzRGVkaWNhdGVkQWxsb2NhdGlvbiwgZGVkX3JlcS5yZXF1aXJlc0RlZGljYXRlZEFsbG9jYXRp b24pOworKworICAgICAgICAgaWYgKGYtPnRpbGluZyA9PSBWS19JTUFHRV9USUxJTkdfTElORUFS KQorICAgICAgICAgICAgIHJlcS5tZW1vcnlSZXF1aXJlbWVudHMuc2l6ZSA9IEZGQUxJR04ocmVx Lm1lbW9yeVJlcXVpcmVtZW50cy5zaXplLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgcC0+cHJvcHMucHJvcGVydGllcy5saW1pdHMubWluTWVtb3J5 TWFwQWxpZ25tZW50KTsKK0BAIC0yNDgyLDYgKzI0OTcsOCBAQCBzdGF0aWMgaW50IGFsbG9jX2Jp bmRfbWVtKEFWSFdGcmFtZXNDb250ZXh0ICpod2ZjLCBBVlZrRnJhbWUgKmYsCisgICAgICAgICAv KiBJbiBjYXNlIHRoZSBpbXBsZW1lbnRhdGlvbiBwcmVmZXJzL3JlcXVpcmVzIGRlZGljYXRlZCBh bGxvY2F0aW9uICovCisgICAgICAgICB1c2VfZGVkX21lbSA9IGRlZF9yZXEucHJlZmVyc0RlZGlj YXRlZEFsbG9jYXRpb24gfAorICAgICAgICAgICAgICAgICAgICAgICBkZWRfcmVxLnJlcXVpcmVz RGVkaWNhdGVkQWxsb2NhdGlvbjsKKysgICAgICAgIGlmICgoKFZ1bGthbkZyYW1lc1ByaXYgKilo d2ZjLT5od2N0eCktPmV4cG9ydF9yZXF1aXJlc19kZWRpY2F0ZWQpCisrICAgICAgICAgICAgdXNl X2RlZF9tZW0gPSAxOworICAgICAgICAgaWYgKHVzZV9kZWRfbWVtKQorICAgICAgICAgICAgIGRl ZF9hbGxvYy5pbWFnZSA9IGYtPmltZ1tpbWdfY250XTsKKyAKK0BAIC0yODUzLDcgKzI4NzAsOCBA QCBzdGF0aWMgdm9pZCB0cnlfZXhwb3J0X2ZsYWdzKEFWSFdGcmFtZXNDb250ZXh0ICpod2ZjLAor ICAgICAgICAgLnR5cGUgICA9IFZLX0lNQUdFX1RZUEVfMkQsCisgICAgICAgICAudGlsaW5nID0g aHdjdHgtPnRpbGluZywKKyAgICAgICAgIC51c2FnZSAgPSBod2N0eC0+dXNhZ2UsCistICAgICAg ICAuZmxhZ3MgID0gVktfSU1BR0VfQ1JFQVRFX0FMSUFTX0JJVCwKKysgICAgICAgIC5mbGFncyAg PSAoaHdjdHgtPnRpbGluZyA9PSBWS19JTUFHRV9USUxJTkdfRFJNX0ZPUk1BVF9NT0RJRklFUl9F WFQgJiYgaGFzX21vZHMpID8KKysgICAgICAgICAgICAgICAgICAoaHdjdHgtPmltZ19mbGFncykg OiAoVmtJbWFnZUNyZWF0ZUZsYWdzKShWS19JTUFHRV9DUkVBVEVfQUxJQVNfQklUKSwKKyAgICAg fTsKKyAKKyAgICAgbmJfbW9kcyA9IGhhc19tb2RzID8gZHJtX21vZF9pbmZvLT5kcm1Gb3JtYXRN b2RpZmllckNvdW50IDogMTsKK0BAIC0yODY0LDkgKzI4ODIsMTcgQEAgc3RhdGljIHZvaWQgdHJ5 X2V4cG9ydF9mbGFncyhBVkhXRnJhbWVzQ29udGV4dCAqaHdmYywKKyAgICAgICAgIHJldCA9IHZr LT5HZXRQaHlzaWNhbERldmljZUltYWdlRm9ybWF0UHJvcGVydGllczIoZGV2X2h3Y3R4LT5waHlz X2RldiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICZwaW5mbywgJnByb3BzKTsKKyAKKysgICAgICAgIGF2X2xvZyhod2ZjLCBBVl9MT0df VkVSQk9TRSwgIkdldFBoeXNpY2FsRGV2aWNlSW1hZ2VGb3JtYXRQcm9wZXJ0aWVzMjogbW9kWyVk XT0weCVsbHggLT4gJXNcbiIsCisrICAgICAgICAgICAgICAgaSwgaGFzX21vZHMgPyAodW5zaWdu ZWQgbG9uZyBsb25nKXBoeV9kZXZfbW9kX2luZm8uZHJtRm9ybWF0TW9kaWZpZXIgOiAwVUxMLAor KyAgICAgICAgICAgICAgIHJldCA9PSBWS19TVUNDRVNTID8gIk9LIiA6ICJGQUlMIik7CisgICAg ICAgICBpZiAocmV0ID09IFZLX1NVQ0NFU1MpIHsKKyAgICAgICAgICAgICAqaWV4cCB8PSBleHA7 CisgICAgICAgICAgICAgKmNvbXBfaGFuZGxlX3R5cGVzIHw9IGVwcm9wcy5leHRlcm5hbE1lbW9y eVByb3BlcnRpZXMuY29tcGF0aWJsZUhhbmRsZVR5cGVzOworKyAgICAgICAgICAgIGlmIChleHAg PT0gVktfRVhURVJOQUxfTUVNT1JZX0hBTkRMRV9UWVBFX0RNQV9CVUZfQklUX0VYVCkgeworKyAg ICAgICAgICAgICAgICBWdWxrYW5GcmFtZXNQcml2ICpmcCA9IGh3ZmMtPmh3Y3R4OworKyAgICAg ICAgICAgICAgICBmcC0+ZXhwb3J0X3JlcXVpcmVzX2RlZGljYXRlZCA9ICEhKGVwcm9wcy5leHRl cm5hbE1lbW9yeVByb3BlcnRpZXMuZXh0ZXJuYWxNZW1vcnlGZWF0dXJlcyAmCisrICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBWS19FWFRFUk5BTF9NRU1P UllfRkVBVFVSRV9ERURJQ0FURURfT05MWV9CSVQpOworKyAgICAgICAgICAgIH0KKyAgICAgICAg IH0KKyAgICAgfQorIH0KK0BAIC0yODk0LDcgKzI5MjAsOCBAQCBzdGF0aWMgQVZCdWZmZXJSZWYg KnZ1bGthbl9wb29sX2FsbG9jKHZvaWQgKm9wYXF1ZSwgc2l6ZV90IHNpemUpCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICA/IFZLX0VYVEVSTkFMX01FTU9SWV9IQU5ETEVfVFlQRV9PUEFR VUVfV0lOMzJfQklUCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IFZLX0VYVEVSTkFM X01FTU9SWV9IQU5ETEVfVFlQRV9PUEFRVUVfV0lOMzJfS01UX0JJVCk7CisgI2Vsc2UKKy0gICAg aWYgKHAtPnZrY3R4LmV4dGVuc2lvbnMgJiBGRl9WS19FWFRfRVhURVJOQUxfRkRfTUVNT1JZKQor KyAgICBpZiAoKHAtPnZrY3R4LmV4dGVuc2lvbnMgJiBGRl9WS19FWFRfRVhURVJOQUxfRkRfTUVN T1JZKSAmJgorKyAgICAgICAgKGh3Y3R4LT50aWxpbmcgIT0gVktfSU1BR0VfVElMSU5HX0RSTV9G T1JNQVRfTU9ESUZJRVJfRVhUKSkKKyAgICAgICAgIHRyeV9leHBvcnRfZmxhZ3MoaHdmYywgJmVp aW5mby5oYW5kbGVUeXBlcywgJmUsCisgICAgICAgICAgICAgICAgICAgICAgICAgIFZLX0VYVEVS TkFMX01FTU9SWV9IQU5ETEVfVFlQRV9PUEFRVUVfRkRfQklUKTsKKyAKK0BAIC0yOTEzLDggKzI5 NDAsMTAgQEAgc3RhdGljIEFWQnVmZmVyUmVmICp2dWxrYW5fcG9vbF9hbGxvYyh2b2lkICpvcGFx dWUsIHNpemVfdCBzaXplKQorICAgICBlcnIgPSBjcmVhdGVfZnJhbWUoaHdmYywgJmYsIGh3Y3R4 LT50aWxpbmcsIGh3Y3R4LT51c2FnZSwgaHdjdHgtPmltZ19mbGFncywKKyAgICAgICAgICAgICAg ICAgICAgICAgIGh3Y3R4LT5uYl9sYXllcnMsCisgICAgICAgICAgICAgICAgICAgICAgICBlaWlu Zm8uaGFuZGxlVHlwZXMgPyAmZWlpbmZvIDogaHdjdHgtPmNyZWF0ZV9wbmV4dCk7CistICAgIGlm IChlcnIpCisrICAgIGlmIChlcnIpIHsKKysgICAgICAgIGF2X2xvZyhod2ZjLCBBVl9MT0dfRVJS T1IsICJ2dWxrYW5fcG9vbF9hbGxvYyBmYWlsZWQ6IGNyZWF0ZV9mcmFtZSBmYWlsZWQ6ICVkXG4i LCBlcnIpOworICAgICAgICAgcmV0dXJuIE5VTEw7CisrICAgIH0KKyAKKyAgICAgZXJyID0gYWxs b2NfYmluZF9tZW0oaHdmYywgZiwgZW1pbmZvLCBzaXplb2YoKmVtaW5mbykpOworICAgICBpZiAo ZXJyKQorQEAgLTI5NDIsNiArMjk3MSw3IEBAIHN0YXRpYyBBVkJ1ZmZlclJlZiAqdnVsa2FuX3Bv b2xfYWxsb2Modm9pZCAqb3BhcXVlLCBzaXplX3Qgc2l6ZSkKKyAgICAgcmV0dXJuIGF2YnVmOwor IAorIGZhaWw6CisrICAgIGF2X2xvZyhod2ZjLCBBVl9MT0dfRVJST1IsICJ2dWxrYW5fcG9vbF9h bGxvYyBmYWlsZWQgd2l0aCBlcnJvciAlZFxuIiwgZXJyKTsKKyAgICAgdnVsa2FuX2ZyYW1lX2Zy ZWUoaHdmYywgZik7CisgICAgIHJldHVybiBOVUxMOworIH0KK0BAIC0zMDQzLDcgKzMwNzMsMTQg QEAgc3RhdGljIGludCB2dWxrYW5fZnJhbWVzX2luaXQoQVZIV0ZyYW1lc0NvbnRleHQgKmh3ZmMp CisgICAgIH0KKyAKKyAgICAgLyogTG9uZSBEUEIgaW1hZ2VzIGRvIG5vdCBuZWVkIGFkZGl0aW9u YWwgZmxhZ3MuICovCistICAgIGlmICghaXNfbG9uZV9kcGIpIHsKKysgICAgLyogV2l0aCBEUk0g bW9kaWZpZXIgKyB2aWRlbyBwcm9maWxlIHRoZSBjYWxsZXIgaGFzIGFscmVhZHkgY2hvc2VuIGEg dmFsaWQKKysgICAgICogdXNhZ2UvaW1nX2ZsYWdzL2NoYWluOyBkbyBub3QgYWRkIHVzYWdlIG9y IGltZ19mbGFncyAoc3VwcG9ydGVkX3VzYWdlIGRvZXMKKysgICAgICogbm90IGNvbnNpZGVyIHRo ZSBhY3R1YWwgbW9kaWZpZXIgb3IgdmlkZW8gcHJvZmlsZSkuICovCisrICAgIGludCBkcm1fbW9k X3dpdGhfdmlkZW8gPSAoaHdjdHgtPnRpbGluZyA9PSBWS19JTUFHRV9USUxJTkdfRFJNX0ZPUk1B VF9NT0RJRklFUl9FWFQgJiYKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmZl92a19m aW5kX3N0cnVjdChod2N0eC0+Y3JlYXRlX3BuZXh0LAorKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIFZLX1NUUlVDVFVSRV9UWVBFX1ZJREVPX1BST0ZJTEVf TElTVF9JTkZPX0tIUikpOworKworKyAgICBpZiAoIWlzX2xvbmVfZHBiICYmICFkcm1fbW9kX3dp dGhfdmlkZW8pIHsKKyAgICAgICAgIC8qIEltYWdlIHVzYWdlIGZsYWdzICovCisgICAgICAgICBo d2N0eC0+dXNhZ2UgfD0gc3VwcG9ydGVkX3VzYWdlICYgKFZLX0lNQUdFX1VTQUdFX1RSQU5TRkVS X0RTVF9CSVQgfAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBW S19JTUFHRV9VU0FHRV9UUkFOU0ZFUl9TUkNfQklUIHwKK0BAIC0zOTY4LDcgKzQwMDUsNyBAQCBz dGF0aWMgaW50IHZ1bGthbl9leHBvcnRfdG9fY3VkYShBVkhXRnJhbWVzQ29udGV4dCAqaHdmYywK KyAgICAgcmV0dXJuIDA7CisgCisgZmFpbDoKKy0gICAgdnVsa2FuX2ZyZWVfaW50ZXJuYWwoZHN0 X2YpOworKyAgICB2dWxrYW5fZnJlZV9pbnRlcm5hbChwLCBkc3RfZik7CisgICAgIHJldHVybiBl cnI7CisgfQorIAorQEAgLTM5NzksNiArNDAxNiw3IEBAIHN0YXRpYyBpbnQgdnVsa2FuX3RyYW5z ZmVyX2RhdGFfZnJvbV9jdWRhKEFWSFdGcmFtZXNDb250ZXh0ICpod2ZjLAorICAgICBDVWNvbnRl eHQgZHVtbXk7CisgICAgIEFWVmtGcmFtZSAqZHN0X2Y7CisgICAgIEFWVmtGcmFtZUludGVybmFs ICpkc3RfaW50OworKyAgICBWdWxrYW5EZXZpY2VQcml2ICpwID0gaHdmYy0+ZGV2aWNlX2N0eC0+ aHdjdHg7CisgICAgIFZ1bGthbkZyYW1lc1ByaXYgKmZwID0gaHdmYy0+aHdjdHg7CisgICAgIGNv bnN0IGludCBwbGFuZXMgPSBhdl9waXhfZm10X2NvdW50X3BsYW5lcyhod2ZjLT5zd19mb3JtYXQp OworICAgICBjb25zdCBBVlBpeEZtdERlc2NyaXB0b3IgKmRlc2MgPSBhdl9waXhfZm10X2Rlc2Nf Z2V0KGh3ZmMtPnN3X2Zvcm1hdCk7CitAQCAtNDA1Nyw3ICs0MDk1LDcgQEAgc3RhdGljIGludCB2 dWxrYW5fdHJhbnNmZXJfZGF0YV9mcm9tX2N1ZGEoQVZIV0ZyYW1lc0NvbnRleHQgKmh3ZmMsCisg CisgZmFpbDoKKyAgICAgQ0hFQ0tfQ1UoY3UtPmN1Q3R4UG9wQ3VycmVudCgmZHVtbXkpKTsKKy0g ICAgdnVsa2FuX2ZyZWVfaW50ZXJuYWwoZHN0X2YpOworKyAgICB2dWxrYW5fZnJlZV9pbnRlcm5h bChwLCBkc3RfZik7CisgICAgIGF2X2J1ZmZlcl91bnJlZigmZHN0LT5idWZbMF0pOworICAgICBy ZXR1cm4gZXJyOworIH0KK0BAIC00MTI3LDYgKzQxNjUsNzIgQEAgc3RhdGljIFZrSW1hZ2VBc3Bl Y3RGbGFncyBwbGFuZV9pbmRleF90b19hc3BlY3QoaW50IHBsYW5lKSB7CisgICAgIHJldHVybiBW S19JTUFHRV9BU1BFQ1RfTUVNT1JZX1BMQU5FXzBfQklUX0VYVDsKKyB9CisgCisrI2lmZGVmIERN QV9CVUZfSU9DVExfRVhQT1JUX1NZTkNfRklMRQorK3N0YXRpYyBpbnQgdnVsa2FuX2RybV9leHBv cnRfc3luY19mZChBVkhXRnJhbWVzQ29udGV4dCAqaHdmYywgQVZWa0ZyYW1lICpmLAorKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBWdWxrYW5GcmFtZXNQcml2ICpmcCwgaW50 IG5iX3NlbXMpCisreworKyAgICBpbnQgc3luY19mZCA9IC0xOworKyAgICBWa1Jlc3VsdCByZXQ7 CisrICAgIFZ1bGthbkRldmljZVByaXYgKnAgPSBod2ZjLT5kZXZpY2VfY3R4LT5od2N0eDsKKysg ICAgQVZWdWxrYW5EZXZpY2VDb250ZXh0ICpod2N0eCA9ICZwLT5wOworKyAgICBGRlZ1bGthbkZ1 bmN0aW9ucyAqdmsgPSAmcC0+dmtjdHgudmtmbjsKKysKKysgICAgaWYgKGYtPmludGVybmFsLT5k cm1fc3luY19zZW0gPT0gVktfTlVMTF9IQU5ETEUpIHsKKysgICAgICAgIFZrRXhwb3J0U2VtYXBo b3JlQ3JlYXRlSW5mbyBleHBfaW5mbyA9IHsKKysgICAgICAgICAgICAuc1R5cGUgICAgICAgPSBW S19TVFJVQ1RVUkVfVFlQRV9FWFBPUlRfU0VNQVBIT1JFX0NSRUFURV9JTkZPLAorKyAgICAgICAg ICAgIC5oYW5kbGVUeXBlcyA9IFZLX0VYVEVSTkFMX1NFTUFQSE9SRV9IQU5ETEVfVFlQRV9TWU5D X0ZEX0JJVCwKKysgICAgICAgIH07CisrICAgICAgICBWa1NlbWFwaG9yZVR5cGVDcmVhdGVJbmZv IHR5cGVfaW5mbyA9IHsKKysgICAgICAgICAgICAuc1R5cGUgICAgICAgICA9IFZLX1NUUlVDVFVS RV9UWVBFX1NFTUFQSE9SRV9UWVBFX0NSRUFURV9JTkZPLAorKyAgICAgICAgICAgIC5wTmV4dCAg ICAgICAgID0gJmV4cF9pbmZvLAorKyAgICAgICAgICAgIC5zZW1hcGhvcmVUeXBlID0gVktfU0VN QVBIT1JFX1RZUEVfQklOQVJZLAorKyAgICAgICAgfTsKKysgICAgICAgIFZrU2VtYXBob3JlQ3Jl YXRlSW5mbyBzZW1fY3JlYXRlID0geworKyAgICAgICAgICAgIC5zVHlwZSA9IFZLX1NUUlVDVFVS RV9UWVBFX1NFTUFQSE9SRV9DUkVBVEVfSU5GTywKKysgICAgICAgICAgICAucE5leHQgPSAmdHlw ZV9pbmZvLAorKyAgICAgICAgfTsKKysgICAgICAgIHJldCA9IHZrLT5DcmVhdGVTZW1hcGhvcmUo aHdjdHgtPmFjdF9kZXYsICZzZW1fY3JlYXRlLCBod2N0eC0+YWxsb2MsCisrICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICZmLT5pbnRlcm5hbC0+ZHJtX3N5bmNfc2VtKTsKKysgICAg ICAgIGlmIChyZXQgIT0gVktfU1VDQ0VTUykgeworKyAgICAgICAgICAgIGF2X2xvZyhod2N0eCwg QVZfTE9HX0VSUk9SLCAiRmFpbGVkIHRvIGNyZWF0ZSBEUk0gZXhwb3J0IHNlbWFwaG9yZTogJXNc biIsCisrICAgICAgICAgICAgICAgICAgIGZmX3ZrX3JldDJzdHIocmV0KSk7CisrICAgICAgICAg ICAgcmV0dXJuIEFWRVJST1JfRVhURVJOQUw7CisrICAgICAgICB9CisrICAgIH0KKysKKysgICAg LyogU3VibWl0IGEgbGlnaHR3ZWlnaHQgZXhlYyB0aGF0IHdhaXRzIG9uIHRoZSB0aW1lbGluZSBz ZW1hcGhvcmUKKysgICAgICogKHRydWUgbGFzdCBvcGVyYXRpb24gb24gdGhlIGZyYW1lKSBhbmQg c2lnbmFscyB0aGUgYmluYXJ5IHNlbWFwaG9yZSwKKysgICAgICogc28gYW55IFZ1bGthbiBmcmFt ZSBjYW4gZ2V0IGEgU1lOQ19GRCByZWdhcmRsZXNzIG9mIG9yaWdpbi4gKi8KKysgICAgRkZWa0V4 ZWNDb250ZXh0ICpleGVjID0gZmZfdmtfZXhlY19nZXQoJnAtPnZrY3R4LCAmZnAtPmNvbXB1dGVf ZXhlYyk7CisrICAgIGlmIChmZl92a19leGVjX3N0YXJ0KCZwLT52a2N0eCwgZXhlYykgPj0gMCkg eworKyAgICAgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBuYl9zZW1zOyBpKyspCisrICAgICAgICAg ICAgZmZfdmtfZXhlY19hZGRfZGVwX3dhaXRfc2VtKCZwLT52a2N0eCwgZXhlYywgZi0+c2VtW2ld LAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmLT5zZW1fdmFsdWVb aV0sCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZLX1BJUEVMSU5F X1NUQUdFXzJfQUxMX0NPTU1BTkRTX0JJVCk7CisrICAgICAgICBmZl92a19leGVjX2FkZF9kZXBf Ym9vbF9zZW0oJnAtPnZrY3R4LCBleGVjLCAmZi0+aW50ZXJuYWwtPmRybV9zeW5jX3NlbSwgMSwK KysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBWS19QSVBFTElORV9TVEFHRV8y X0FMTF9DT01NQU5EU19CSVQsIDApOworKyAgICAgICAgaWYgKGZmX3ZrX2V4ZWNfc3VibWl0KCZw LT52a2N0eCwgZXhlYykgPj0gMCkgeworKyAgICAgICAgICAgIFZrU2VtYXBob3JlR2V0RmRJbmZv S0hSIGdldF9mZF9pbmZvID0geworKyAgICAgICAgICAgICAgICAuc1R5cGUgICAgICA9IFZLX1NU UlVDVFVSRV9UWVBFX1NFTUFQSE9SRV9HRVRfRkRfSU5GT19LSFIsCisrICAgICAgICAgICAgICAg IC5zZW1hcGhvcmUgID0gZi0+aW50ZXJuYWwtPmRybV9zeW5jX3NlbSwKKysgICAgICAgICAgICAg ICAgLmhhbmRsZVR5cGUgPSBWS19FWFRFUk5BTF9TRU1BUEhPUkVfSEFORExFX1RZUEVfU1lOQ19G RF9CSVQsCisrICAgICAgICAgICAgfTsKKysgICAgICAgICAgICByZXQgPSB2ay0+R2V0U2VtYXBo b3JlRmRLSFIoaHdjdHgtPmFjdF9kZXYsICZnZXRfZmRfaW5mbywgJnN5bmNfZmQpOworKyAgICAg ICAgICAgIGlmIChyZXQgIT0gVktfU1VDQ0VTUykgeworKyAgICAgICAgICAgICAgICBhdl9sb2co aHdjdHgsIEFWX0xPR19XQVJOSU5HLAorKyAgICAgICAgICAgICAgICAgICAgICAgIkZhaWxlZCB0 byBnZXQgc3luYyBmZCBmcm9tIERSTSBtYXAgZXhwb3J0IHNlbWFwaG9yZTogJXNcbiIsCisrICAg ICAgICAgICAgICAgICAgICAgICBmZl92a19yZXQyc3RyKHJldCkpOworKyAgICAgICAgICAgICAg ICBzeW5jX2ZkID0gLTE7CisrICAgICAgICAgICAgfQorKyAgICAgICAgfSBlbHNlIHsKKysgICAg ICAgICAgICBmZl92a19leGVjX2Rpc2NhcmRfZGVwcygmcC0+dmtjdHgsIGV4ZWMpOworKyAgICAg ICAgfQorKyAgICB9CisrCisrICAgIHJldHVybiBzeW5jX2ZkOworK30KKysjZW5kaWYKKysKKyBz dGF0aWMgaW50IHZ1bGthbl9tYXBfdG9fZHJtKEFWSFdGcmFtZXNDb250ZXh0ICpod2ZjLCBBVkZy YW1lICpkc3QsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBBVkZyYW1lICpz cmMsIGludCBmbGFncykKKyB7CitAQCAtNDEzNywxNSArNDI0MSwxNCBAQCBzdGF0aWMgaW50IHZ1 bGthbl9tYXBfdG9fZHJtKEFWSFdGcmFtZXNDb250ZXh0ICpod2ZjLCBBVkZyYW1lICpkc3QsCisg ICAgIEFWVnVsa2FuRGV2aWNlQ29udGV4dCAqaHdjdHggPSAmcC0+cDsKKyAgICAgRkZWdWxrYW5G dW5jdGlvbnMgKnZrID0gJnAtPnZrY3R4LnZrZm47CisgICAgIFZ1bGthbkZyYW1lc1ByaXYgKmZw ID0gaHdmYy0+aHdjdHg7CisrICAgIGNvbnN0IGludCBwbGFuZXMgPSBhdl9waXhfZm10X2NvdW50 X3BsYW5lcyhod2ZjLT5zd19mb3JtYXQpOworICAgICBjb25zdCBpbnQgbmJfaW1hZ2VzID0gZmZf dmtfY291bnRfaW1hZ2VzKGYpOworICAgICBWa0ltYWdlRHJtRm9ybWF0TW9kaWZpZXJQcm9wZXJ0 aWVzRVhUIGRybV9tb2QgPSB7CisgICAgICAgICAuc1R5cGUgPSBWS19TVFJVQ1RVUkVfVFlQRV9J TUFHRV9EUk1fRk9STUFUX01PRElGSUVSX1BST1BFUlRJRVNfRVhULAorICAgICB9OworLSAgICBW a1NlbWFwaG9yZVdhaXRJbmZvIHdhaXRfaW5mbyA9IHsKKy0gICAgICAgIC5zVHlwZSAgICAgICAg ICA9IFZLX1NUUlVDVFVSRV9UWVBFX1NFTUFQSE9SRV9XQUlUX0lORk8sCistICAgICAgICAuZmxh Z3MgICAgICAgICAgPSAweDAsCistICAgICAgICAuc2VtYXBob3JlQ291bnQgPSBuYl9pbWFnZXMs CistICAgIH07CisrICAgIGNvbnN0IGludCBuYl9zZW1zID0gbmJfaW1hZ2VzOworKworKyAgICBp bnQgc3luY19mZCA9IC0xOworIAorICAgICBBVkRSTUZyYW1lRGVzY3JpcHRvciAqZHJtX2Rlc2Mg PSBhdl9tYWxsb2N6KHNpemVvZigqZHJtX2Rlc2MpKTsKKyAgICAgaWYgKCFkcm1fZGVzYykKK0BA IC00MTU1LDExICs0MjU4LDI4IEBAIHN0YXRpYyBpbnQgdnVsa2FuX21hcF90b19kcm0oQVZIV0Zy YW1lc0NvbnRleHQgKmh3ZmMsIEFWRnJhbWUgKmRzdCwKKyAgICAgaWYgKGVyciA8IDApCisgICAg ICAgICBnb3RvIGVuZDsKKyAKKy0gICAgLyogV2FpdCBmb3IgdGhlIG9wZXJhdGlvbiB0byBmaW5p c2ggc28gd2UgY2FuIGNsZWFubHkgZXhwb3J0IGl0LiAqLworLSAgICB3YWl0X2luZm8ucFNlbWFw aG9yZXMgPSBmLT5zZW07CistICAgIHdhaXRfaW5mby5wVmFsdWVzICAgICA9IGYtPnNlbV92YWx1 ZTsKKysjaWZkZWYgRE1BX0JVRl9JT0NUTF9FWFBPUlRfU1lOQ19GSUxFCisrICAgIGlmICgocC0+ dmtjdHguZXh0ZW5zaW9ucyAmIEZGX1ZLX0VYVF9FWFRFUk5BTF9GRF9TRU0pICYmCisrICAgICAg ICBmLT50aWxpbmcgPT0gVktfSU1BR0VfVElMSU5HX0RSTV9GT1JNQVRfTU9ESUZJRVJfRVhUICYm CisrICAgICAgICB2ay0+R2V0U2VtYXBob3JlRmRLSFIgJiYgdmstPkNyZWF0ZVNlbWFwaG9yZSkg eworKyAgICAgICAgZXJyID0gdnVsa2FuX2RybV9leHBvcnRfc3luY19mZChod2ZjLCBmLCBmcCwg bmJfc2Vtcyk7CisrICAgICAgICBpZiAoZXJyIDwgMCkKKysgICAgICAgICAgICBnb3RvIGVuZDsK KysgICAgICAgIHN5bmNfZmQgPSBlcnI7CisrICAgICAgICBlcnIgPSAwOworKyAgICB9CisrI2Vu ZGlmCisgCistICAgIHZrLT5XYWl0U2VtYXBob3Jlcyhod2N0eC0+YWN0X2RldiwgJndhaXRfaW5m bywgVUlOVDY0X01BWCk7CisrICAgIGlmIChzeW5jX2ZkIDwgMCkgeworKyAgICAgICAgVmtTZW1h cGhvcmVXYWl0SW5mbyB3YWl0X2luZm8gPSB7CisrICAgICAgICAgICAgLnNUeXBlICAgICAgICAg ID0gVktfU1RSVUNUVVJFX1RZUEVfU0VNQVBIT1JFX1dBSVRfSU5GTywKKysgICAgICAgICAgICAu ZmxhZ3MgICAgICAgICAgPSAweDAsCisrICAgICAgICAgICAgLnNlbWFwaG9yZUNvdW50ID0gbmJf c2VtcywKKysgICAgICAgICAgICAucFNlbWFwaG9yZXMgICAgPSBmLT5zZW0sCisrICAgICAgICAg ICAgLnBWYWx1ZXMgICAgICAgID0gZi0+c2VtX3ZhbHVlLAorKyAgICAgICAgfTsKKysgICAgICAg IHZrLT5XYWl0U2VtYXBob3Jlcyhod2N0eC0+YWN0X2RldiwgJndhaXRfaW5mbywgVUlOVDY0X01B WCk7CisrICAgIH0KKyAKKyAgICAgZXJyID0gZmZfaHdmcmFtZV9tYXBfY3JlYXRlKHNyYy0+aHdf ZnJhbWVzX2N0eCwgZHN0LCBzcmMsICZ2dWxrYW5fdW5tYXBfdG9fZHJtLCBkcm1fZGVzYyk7Cisg ICAgIGlmIChlcnIgPCAwKQorQEAgLTQxNzMsNyArNDI5Myw3IEBAIHN0YXRpYyBpbnQgdnVsa2Fu X21hcF90b19kcm0oQVZIV0ZyYW1lc0NvbnRleHQgKmh3ZmMsIEFWRnJhbWUgKmRzdCwKKyAgICAg ICAgIGdvdG8gZW5kOworICAgICB9CisgCistICAgIGZvciAoaW50IGkgPSAwOyAoaSA8IG5iX2lt YWdlcykgJiYgKGYtPm1lbVtpXSk7IGkrKykgeworKyAgICBmb3IgKGludCBpID0gMDsgKGkgPCBw bGFuZXMpICYmIChmLT5tZW1baV0pOyBpKyspIHsKKyAgICAgICAgIFZrTWVtb3J5R2V0RmRJbmZv S0hSIGV4cG9ydF9pbmZvID0geworICAgICAgICAgICAgIC5zVHlwZSAgICAgID0gVktfU1RSVUNU VVJFX1RZUEVfTUVNT1JZX0dFVF9GRF9JTkZPX0tIUiwKKyAgICAgICAgICAgICAubWVtb3J5ICAg ICA9IGYtPm1lbVtpXSwKK0BAIC00MTg4LDEyICs0MzA4LDMwIEBAIHN0YXRpYyBpbnQgdnVsa2Fu X21hcF90b19kcm0oQVZIV0ZyYW1lc0NvbnRleHQgKmh3ZmMsIEFWRnJhbWUgKmRzdCwKKyAgICAg ICAgICAgICBnb3RvIGVuZDsKKyAgICAgICAgIH0KKyAKKysjaWYgSEFWRV9MSU5VWF9ETUFfQlVG X0ggJiYgZGVmaW5lZChETUFfQlVGX0lPQ1RMX0lNUE9SVF9TWU5DX0ZJTEUpCisrICAgICAgICBp ZiAoc3luY19mZCA+PSAwKSB7CisrICAgICAgICAgICAgaW50IGR1cF9mZCA9IGR1cChzeW5jX2Zk KTsKKysgICAgICAgICAgICBpZiAoZHVwX2ZkID49IDApIHsKKysgICAgICAgICAgICAgICAgc3Ry dWN0IGRtYV9idWZfaW1wb3J0X3N5bmNfZmlsZSBpbXBvcnRfaW5mbyA9IHsKKysgICAgICAgICAg ICAgICAgICAgIC5mbGFncyA9IERNQV9CVUZfU1lOQ19XUklURSwKKysgICAgICAgICAgICAgICAg ICAgIC5mZCA9IGR1cF9mZCwKKysgICAgICAgICAgICAgICAgfTsKKysgICAgICAgICAgICAgICAg aWYgKGlvY3RsKGRybV9kZXNjLT5vYmplY3RzW2ldLmZkLCBETUFfQlVGX0lPQ1RMX0lNUE9SVF9T WU5DX0ZJTEUsICZpbXBvcnRfaW5mbykgPCAwKQorKyAgICAgICAgICAgICAgICAgICAgYXZfbG9n KGh3ZmMsIEFWX0xPR19XQVJOSU5HLCAiRE1BX0JVRl9JT0NUTF9JTVBPUlRfU1lOQ19GSUxFIGZh aWxlZDogJXNcbiIsIGF2X2VycjJzdHIoQVZFUlJPUihlcnJubykpKTsKKysgICAgICAgICAgICAg ICAgY2xvc2UoZHVwX2ZkKTsKKysgICAgICAgICAgICB9IGVsc2UgeworKyAgICAgICAgICAgICAg ICBhdl9sb2coaHdmYywgQVZfTE9HX1dBUk5JTkcsICJkdXAoc3luY19mZCkgZmFpbGVkOiAlc1xu IiwgYXZfZXJyMnN0cihBVkVSUk9SKGVycm5vKSkpOworKyAgICAgICAgICAgIH0KKysgICAgICAg IH0KKysjZW5kaWYKKysKKyAgICAgICAgIGRybV9kZXNjLT5uYl9vYmplY3RzKys7CisgICAgICAg ICBkcm1fZGVzYy0+b2JqZWN0c1tpXS5zaXplID0gZi0+c2l6ZVtpXTsKKyAgICAgICAgIGRybV9k ZXNjLT5vYmplY3RzW2ldLmZvcm1hdF9tb2RpZmllciA9IGRybV9tb2QuZHJtRm9ybWF0TW9kaWZp ZXI7CisgICAgIH0KKyAKKy0gICAgZHJtX2Rlc2MtPm5iX2xheWVycyA9IG5iX2ltYWdlczsKKysg ICAgLyogTlYxMiBoYXMgMiBwbGFuZXMgYnV0IDEgaW1hZ2Uvc2VtYXBob3JlICovCisrICAgIGRy bV9kZXNjLT5uYl9sYXllcnMgPSBGRk1BWChwbGFuZXMsIG5iX2ltYWdlcyk7CisgICAgIGZvciAo aW50IGkgPSAwOyBpIDwgZHJtX2Rlc2MtPm5iX2xheWVyczsgaSsrKSB7CisgICAgICAgICBWa0Zv cm1hdCBwbGFuZV92a2ZtdCA9IGF2X3ZrZm10X2Zyb21fcGl4Zm10KGh3ZmMtPnN3X2Zvcm1hdClb aV07CisgCitAQCAtNDIwOCwxMyArNDM0NiwxNCBAQCBzdGF0aWMgaW50IHZ1bGthbl9tYXBfdG9f ZHJtKEFWSFdGcmFtZXNDb250ZXh0ICpod2ZjLCBBVkZyYW1lICpkc3QsCisgCisgICAgICAgICBm b3IgKGludCBqID0gMDsgaiA8IGRybV9kZXNjLT5sYXllcnNbaV0ubmJfcGxhbmVzOyBqKyspIHsK KyAgICAgICAgICAgICBWa1N1YnJlc291cmNlTGF5b3V0IGxheW91dDsKKysgICAgICAgICAgICBp bnQgYXNwZWN0X3BsYW5lID0gKG5iX2ltYWdlcyA9PSAxKSA/IGkgOiBqOworICAgICAgICAgICAg IFZrSW1hZ2VTdWJyZXNvdXJjZSBzdWIgPSB7CistICAgICAgICAgICAgICAgIC5hc3BlY3RNYXNr ID0gcGxhbmVfaW5kZXhfdG9fYXNwZWN0KGopLAorKyAgICAgICAgICAgICAgICAuYXNwZWN0TWFz ayA9IHBsYW5lX2luZGV4X3RvX2FzcGVjdChhc3BlY3RfcGxhbmUpLAorICAgICAgICAgICAgIH07 CisgCisgICAgICAgICAgICAgZHJtX2Rlc2MtPmxheWVyc1tpXS5wbGFuZXNbal0ub2JqZWN0X2lu ZGV4ID0gRkZNSU4oaSwgZHJtX2Rlc2MtPm5iX29iamVjdHMgLSAxKTsKKyAKKy0gICAgICAgICAg ICB2ay0+R2V0SW1hZ2VTdWJyZXNvdXJjZUxheW91dChod2N0eC0+YWN0X2RldiwgZi0+aW1nW2ld LCAmc3ViLCAmbGF5b3V0KTsKKysgICAgICAgICAgICB2ay0+R2V0SW1hZ2VTdWJyZXNvdXJjZUxh eW91dChod2N0eC0+YWN0X2RldiwgZi0+aW1nW0ZGTUlOKGksIG5iX2ltYWdlcyAtIDEpXSwgJnN1 YiwgJmxheW91dCk7CisgICAgICAgICAgICAgZHJtX2Rlc2MtPmxheWVyc1tpXS5wbGFuZXNbal0u b2Zmc2V0ID0gbGF5b3V0Lm9mZnNldDsKKyAgICAgICAgICAgICBkcm1fZGVzYy0+bGF5ZXJzW2ld LnBsYW5lc1tqXS5waXRjaCAgPSBsYXlvdXQucm93UGl0Y2g7CisgICAgICAgICB9CitAQCAtNDIz NCwxMyArNDM3MywyMSBAQCBzdGF0aWMgaW50IHZ1bGthbl9tYXBfdG9fZHJtKEFWSFdGcmFtZXND b250ZXh0ICpod2ZjLCBBVkZyYW1lICpkc3QsCisgICAgIGRzdC0+d2lkdGggICA9IHNyYy0+d2lk dGg7CisgICAgIGRzdC0+aGVpZ2h0ICA9IHNyYy0+aGVpZ2h0OworICAgICBkc3QtPmRhdGFbMF0g PSAodWludDhfdCAqKWRybV9kZXNjOworKyAgICBkc3QtPmh3X2ZyYW1lc19jdHggPSBhdl9idWZm ZXJfcmVmKHNyYy0+aHdfZnJhbWVzX2N0eCk7CisrCisrICAgIGlmIChzeW5jX2ZkID49IDApCisr ICAgICAgICBjbG9zZShzeW5jX2ZkKTsKKyAKKyAgICAgYXZfbG9nKGh3ZmMsIEFWX0xPR19WRVJC T1NFLCAiTWFwcGVkIEFWVmtGcmFtZSB0byBhIERSTSBvYmplY3QhXG4iKTsKKyAKKyAgICAgcmV0 dXJuIDA7CisgCisgZW5kOgorKyAgICBmb3IgKGludCBpID0gMDsgaSA8IGRybV9kZXNjLT5uYl9v YmplY3RzOyBpKyspCisrICAgICAgICBjbG9zZShkcm1fZGVzYy0+b2JqZWN0c1tpXS5mZCk7Cisg ICAgIGF2X2ZyZWUoZHJtX2Rlc2MpOworKyAgICBpZiAoc3luY19mZCA+PSAwKQorKyAgICAgICAg Y2xvc2Uoc3luY19mZCk7CisgICAgIHJldHVybiBlcnI7CisgfQorIAorQEAgLTQ3MjAsNyArNDg2 Nyw3IEBAIGVuZDoKKyBzdGF0aWMgaW50IHZ1bGthbl90cmFuc2Zlcl9kYXRhX3RvKEFWSFdGcmFt ZXNDb250ZXh0ICpod2ZjLCBBVkZyYW1lICpkc3QsCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBjb25zdCBBVkZyYW1lICpzcmMpCisgeworLSAgICBhdl91bnVzZWQgVnVsa2Fu RGV2aWNlUHJpdiAqcCA9IGh3ZmMtPmRldmljZV9jdHgtPmh3Y3R4OworKyAgICBWdWxrYW5EZXZp Y2VQcml2ICpwID0gaHdmYy0+ZGV2aWNlX2N0eC0+aHdjdHg7CisgCisgICAgIHN3aXRjaCAoc3Jj LT5mb3JtYXQpIHsKKyAjaWYgQ09ORklHX0NVREEKK0BAIC00NzUwLDYgKzQ4OTcsNyBAQCBzdGF0 aWMgaW50IHZ1bGthbl90cmFuc2Zlcl9kYXRhX3RvX2N1ZGEoQVZIV0ZyYW1lc0NvbnRleHQgKmh3 ZmMsIEFWRnJhbWUgKmRzdCwKKyAgICAgQ1Vjb250ZXh0IGR1bW15OworICAgICBBVlZrRnJhbWUg KmRzdF9mOworICAgICBBVlZrRnJhbWVJbnRlcm5hbCAqZHN0X2ludDsKKysgICAgVnVsa2FuRGV2 aWNlUHJpdiAqcCA9IGh3ZmMtPmRldmljZV9jdHgtPmh3Y3R4OworICAgICBWdWxrYW5GcmFtZXNQ cml2ICpmcCA9IGh3ZmMtPmh3Y3R4OworICAgICBjb25zdCBpbnQgcGxhbmVzID0gYXZfcGl4X2Zt dF9jb3VudF9wbGFuZXMoaHdmYy0+c3dfZm9ybWF0KTsKKyAgICAgY29uc3QgQVZQaXhGbXREZXNj cmlwdG9yICpkZXNjID0gYXZfcGl4X2ZtdF9kZXNjX2dldChod2ZjLT5zd19mb3JtYXQpOworQEAg LTQ4MzAsNyArNDk3OCw3IEBAIHN0YXRpYyBpbnQgdnVsa2FuX3RyYW5zZmVyX2RhdGFfdG9fY3Vk YShBVkhXRnJhbWVzQ29udGV4dCAqaHdmYywgQVZGcmFtZSAqZHN0LAorIAorIGZhaWw6CisgICAg IENIRUNLX0NVKGN1LT5jdUN0eFBvcEN1cnJlbnQoJmR1bW15KSk7CistICAgIHZ1bGthbl9mcmVl X2ludGVybmFsKGRzdF9mKTsKKysgICAgdnVsa2FuX2ZyZWVfaW50ZXJuYWwocCwgZHN0X2YpOwor ICAgICBhdl9idWZmZXJfdW5yZWYoJmRzdC0+YnVmWzBdKTsKKyAgICAgcmV0dXJuIGVycjsKKyB9 CistLSAKKzIuMjUuMQorCgpkaWZmIC0tZ2l0IGEvZmZtcGVnLnNwZWMgYi9mZm1wZWcuc3BlYwpp bmRleCA4OGRhM2Q4Li42NTNjMTUxIDEwMDY0NAotLS0gYS9mZm1wZWcuc3BlYworKysgYi9mZm1w ZWcuc3BlYwpAQCAtMTI5LDYgKzEyOSw5IEBAIFBhdGNoMjogICAgICAgICBmZm1wZWctYWxsb3ct ZmRrLWFhYy1mcmVlLnBhdGNoCiAjIEJhY2twb3J0IGZpeCBmb3IgQ1ZFLTIwMjYtMzA5OTgKIFBh dGNoMTA6ICAgICAgICBodHRwczovL2dpdC5mZm1wZWcub3JnL2dpdHdlYi9mZm1wZWcuZ2l0L3Bh dGNoLzE4YjgzZjJkMGEwZjliY2JhZmIwMDAxYTI5MTEzMjdjNGI4ZGYwNTYjL2ZmbXBlZy1DVkUt MjAyNi0zMDk5OC5wYXRjaAogCisjIEFkZCB1cHN0cmVhbSBjb21taXQgdG8gYWRkcmVzcyBmaXJl Zm94IHZ1bGthbiBkaXJlY3QtZXhwb3J0IHJlbmRlcmluZyBpc3N1ZQorUGF0Y2gxMTogICAgICAg ICBodHRwczovL2dpdC5mZm1wZWcub3JnL2dpdHdlYi9mZm1wZWcuZ2l0L3BhdGNoLzI1ZTE4N2Y4 NDk0OTY2Mzc3YTRiOWQwNzcyNjBjZTdiNTAxYTkxMWMjL2ZmbXBlZy12dWxrYW4tZGlyZWN0LWV4 cG9ydC5wYXRjaAorCiAjIEFkZCBmaXJzdF9kdHMgZ2V0dGVyIHRvIGxpYmF2Zm9ybWF0IGZvciBD aHJvbWl1bQogIyBTZWU6IGh0dHBzOi8vYnVnemlsbGEucmVkaGF0LmNvbS9zaG93X2J1Zy5jZ2k/ aWQ9MjI0MDEyNwogIyBSZWZlcmVuY2U6IGh0dHBzOi8vY3JidWcuY29tLzEzMDY1NjAK