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] f44: Fix Firefox vulkan direct-export rendering issue Date: Thu, 30 Jul 2026 14:42:11 GMT Message-ID: <178542253183.1.7598559987269584460.rpms-ffmpeg-b59068d371bc@fedoraproject.org> List-ID: X-Git-Repo: rpms/ffmpeg X-Git-Branch: f44 X-Git-Rev: b59068d371bc8503f129fbaf0cc5166d88deba20 ICAgICAgICAgICAgQSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KCiAgICAgICAgICAgIFJl cG8gICA6IHJwbXMvZmZtcGVnCiAgICAgICAgICAgIEJyYW5jaCA6IGY0NAogICAgICAgICAgICBD b21taXQgOiBiNTkwNjhkMzcxYmM4NTAzZjEyOWZiYWYwY2M1MTY2ZDg4ZGViYTIwCiAgICAgICAg ICAgIEF1dGhvciA6IERvbWluaWsgJ1JhdGhhbm4nIE1pZXJ6ZWpld3NraSA8ZG9taW5pa0BncmV5 c2VjdG9yLm5ldD4KICAgICAgICAgICAgRGF0ZSAgIDogMjAyNi0wNy0yOVQyMDoyNTowMyswMjow MAogICAgICAgICAgICBTdGF0cyAgOiArNTQyLy0wIGluIDIgZmlsZShzKQogICAgICAgICAgICBV UkwgICAgOiBodHRwczovL3NyYy5mZWRvcmFwcm9qZWN0Lm9yZy9ycG1zL2ZmbXBlZy9jL2I1OTA2 OGQzNzFiYzg1MDNmMTI5ZmJhZjBjYzUxNjZkODhkZWJhMjA/YnJhbmNoPWY0NAoKICAgICAgICAg ICAgTG9nOgogICAgICAgICAgICBGaXggRmlyZWZveCB2dWxrYW4gZGlyZWN0LWV4cG9ydCByZW5k ZXJpbmcgaXNzdWUKClNlZTogaHR0cHM6Ly9idWd6aWxsYS5tb3ppbGxhLm9yZy9zaG93X2J1Zy5j Z2k/aWQ9MjA0ODU5MQogICAgIGh0dHBzOi8vY29kZS5mZm1wZWcub3JnL0ZGbXBlZy9GRm1wZWcv aXNzdWVzLzIzOTMyCgotLS0KZGlmZiAtLWdpdCBhL2ZmbXBlZy12dWxrYW4tZGlyZWN0LWV4cG9y dC5wYXRjaCBiL2ZmbXBlZy12dWxrYW4tZGlyZWN0LWV4cG9ydC5wYXRjaApuZXcgZmlsZSBtb2Rl IDEwMDY0NAppbmRleCAwMDAwMDAwLi43MWIyNmI4Ci0tLSAvZGV2L251bGwKKysrIGIvZmZtcGVn LXZ1bGthbi1kaXJlY3QtZXhwb3J0LnBhdGNoCkBAIC0wLDAgKzEsNTM5IEBACitGcm9tIDI1ZTE4 N2Y4NDk0OTY2Mzc3YTRiOWQwNzcyNjBjZTdiNTAxYTkxMWMgTW9uIFNlcCAxNyAwMDowMDowMCAy MDAxCitGcm9tOiBUeW11ciBCb2lrbyA8dGJvaWtvQG52aWRpYS5jb20+CitEYXRlOiBUdWUsIDI3 IEphbiAyMDI2IDE4OjE2OjMzICswMTAwCitTdWJqZWN0OiBbUEFUQ0hdIHZ1bGthbjogZml4IERS TSBtYXAsIGRlY29kZSBiYXJyaWVycywgYW5kIHZpZGVvIGZyYW1lIHNldHVwCisgZm9yIG1vZGlm aWVyIG91dHB1dAorCitXaGVuIG1hcHBpbmcgVnVsa2FuIFZpZGVvIGZyYW1lcyB0byBETUEtQlVG LCBzeW5jaHJvbml6ZSB1c2luZyBhbiBleHBvcnRhYmxlCitiaW5hcnkgc2VtYXBob3JlIGFuZCBz eW5jX2ZkIHdoZXJlIHN1cHBvcnRlZC4gU3VibWl0IGEgbGlnaHR3ZWlnaHQgZXhlYyB0aGF0Cit3 YWl0cyBvbiBlYWNoIHBsYW5lJ3MgdGltZWxpbmUgc2VtYXBob3JlIGF0IHRoZSBjdXJyZW50IHZh bHVlLCBzaWduYWxzIGEKK1NZTkNfRkQtZXhwb3J0YWJsZSBiaW5hcnkgc2VtYXBob3JlLCB0aGVu IGV4cG9ydCB3aXRoIHZrR2V0U2VtYXBob3JlRmRLSFIuCitTdG9yZSB0aGF0IGJpbmFyeSBzZW1h cGhvcmUgaW4gQVZWa0ZyYW1lSW50ZXJuYWwgYW5kIHJldXNlIGl0IGFjcm9zcyBtYXBzCitpbnN0 ZWFkIG9mIGNyZWF0aW5nIGFuZCBkZXN0cm95aW5nIGVhY2ggdGltZTogZm9yCitWS19FWFRFUk5B TF9TRU1BUEhPUkVfSEFORExFX1RZUEVfU1lOQ19GRF9CSVQsIGNvcHkgdHJhbnNmZXJlbmNlIG1l YW5zIGEKK3N1Y2Nlc3NmdWwgdmtHZXRTZW1hcGhvcmVGZEtIUiB1bnNpZ25hbHMgdGhlIHNlbWFw aG9yZSBsaWtlIGEgd2FpdCwgc28gaXQgY2FuCitiZSBzaWduYWxlZCBhZ2FpbiBvbiB0aGUgbmV4 dCBtYXAgc3VibWl0LiBJZiBleHBvcnQgaXMgdW5hdmFpbGFibGUsIGZhbGwgYmFjawordG8gdmtX YWl0U2VtYXBob3Jlcy4KKworTW92ZWQgZHJtX3N5bmNfc2VtIGRlc3Ryb3kgdG8gdnVsa2FuX2Zy ZWVfaW50ZXJuYWwKKworRXhwb3J0IGRtYS1idWYgZmRzIHdpdGggR2V0TWVtb3J5RmRLSFIgZm9y IGVhY2ggcG9wdWxhdGVkIGYtPm1lbVtpXSwgaXRlcmF0aW5nCit1cCB0byB0aGUgc3dfZm9ybWF0 IHBsYW5lIGNvdW50IGluc3RlYWQgb2Ygc3RvcHBpbmcgYXQgdGhlIGltYWdlIGNvdW50LCBzbwor bXVsdGktbWVtb3J5IGJpbmRpbmdzIGFyZSBub3Qgc2tpcHBlZC4gRGVzY3JpYmUgRFJNIGxheWVy cyB1c2luZworbWF4KHN3IHBsYW5lcywgaW1hZ2UgY291bnQpIGFuZCBxdWVyeSBzdWJyZXNvdXJj ZSBsYXlvdXQgd2l0aCB0aGUgY29ycmVjdAorYXNwZWN0IGFuZCBpbWFnZSBpbmRleCB3aGVuIG9u ZSBWa0ltYWdlIGJhY2tzIG11bHRpcGxlIHBsYW5lcy4gUmVmZXJlbmNlIHRoZQorc291cmNlIGh3 X2ZyYW1lc19jdHggb24gdGhlIG1hcHBlZCBmcmFtZSBhbmQgY2xvc2UgZG1hLWJ1ZiBmZHMgb24g ZmFpbHVyZSBwYXRocy4KKworRm9yIERNQS1CVUYtY2FwYWJsZSBwb29scywgaG9ub3IgVktfRVhU RVJOQUxfTUVNT1JZX0ZFQVRVUkVfREVESUNBVEVEX09OTFlfQklUCitmcm9tIGZvcm1hdCBleHBv cnQgcXVlcmllcyB3aGVuIGJpbmRpbmcgbWVtb3J5LiBXaXRoIERSTSBtb2RpZmllcnMgYW5kIGEK K3ZpZGVvIHByb2ZpbGUgaW4gY3JlYXRlX3BuZXh0LCBwcmVzZXJ2ZSBjYWxsZXIgdXNhZ2UgYW5k IGltYWdlIGZsYWdzIGluc3RlYWQgb2YKK292ZXJ3cml0aW5nIHRoZW0gZnJvbSBnZW5lcmljIHN1 cHBvcnRlZF91c2FnZSBwcm9iaW5nOyB1c2UgdGhlIG1vZGlmaWVyIGxpc3QKK2NyZWF0ZSBpbmZv IHdoZW4gcHJvYmluZyBleHBvcnQgZmxhZ3MgZm9yIG1vZGlmaWVyIHRpbGluZy4KKworSW5jbHVk ZSBWS19JTUFHRV9VU0FHRV9WSURFT19ERUNPREVfRFBCX0JJVF9LSFIgZnJvbSB0aGUgb3V0cHV0 IGZyYW1lcworY29udGV4dCdzIHVzYWdlIHRvZ2V0aGVyIHdpdGggRFNUIChmaXhlcworVlVJRC1W a1ZpZGVvQmVnaW5Db2RpbmdJbmZvS0hSLXNsb3RJbmRleC0wNzI0NSkgaW5zdGVhZCBvZiBhZGRp bmcgRFBCIHVzYWdlCitvbmx5IHdoZW4gIWlzX2N1cnJlbnQuCisKK0luIGZmX3ZrX2RlY29kZV9h ZGRfc2xpY2UsIHBhc3MgVmtWaWRlb1Byb2ZpbGVMaXN0SW5mb0tIUiAoZnJvbSB0aGUgb3V0cHV0 CitmcmFtZXMgY29udGV4dCdzIGNyZWF0ZV9wbmV4dCkgYXMgdGhlIHBOZXh0IGFyZ3VtZW50IHRv CitmZl92a19nZXRfcG9vbGVkX2J1ZmZlciBpbnN0ZWFkIG9mIHRoZSBmdWxsIGNyZWF0ZV9wbmV4 dCBjaGFpbi4gSW4KK2ZmX3ZrX2ZyYW1lX3BhcmFtcywgc2V0IHRpbGluZyB0byBPUFRJTUFMIG9u bHkgd2hlbiBpdCBpcyBub3QgYWxyZWFkeQorRFJNX0ZPUk1BVF9NT0RJRklFUl9FWFQuIEluIGZm X3ZrX2RlY29kZV9pbml0LCB3aGVuIHRoZSBvdXRwdXQgcG9vbCdzCitjcmVhdGVfcG5leHQgaW5j bHVkZXMgVmtJbWFnZURybUZvcm1hdE1vZGlmaWVyTGlzdENyZWF0ZUluZm9FWFQsIGluaXRpYWxp emUgdGhlCitEUEIgcG9vbCB3aXRoIHRoYXQgbW9kaWZpZXItbGlzdCBwTmV4dCBhbmQgRFJNX0ZP Uk1BVF9NT0RJRklFUl9FWFQgdGlsaW5nOworb3RoZXJ3aXNlIHVzZSBWa1ZpZGVvUHJvZmlsZUxp c3RJbmZvS0hSIGFuZCBPUFRJTUFMIGFzIGJlZm9yZS4gV2hlbgorVktfVklERU9fREVDT0RFX0NB UEFCSUxJVFlfRFBCX0FORF9PVVRQVVRfRElTVElOQ1RfQklUX0tIUiBpcyB1bnNldCwgdGhlIG91 dHB1dAorYW5kIERQQiBwb29scyBjYW5ub3QgdXNlIGRpZmZlcmVudCBsYXlvdXRzIG9yIHRpbGlu Zywgc28gdGhlIERQQiBwb29sIG11c3QKK21hdGNoIHRoZSBvdXRwdXQgcG9vbC4KKworQWxzbyBm aXggYXZfaHdmcmFtZV9tYXAgaW9jdGwgc3luY19mZCBleHBvcnQsIG11bHRpLXBsYW5hciBzZW1h cGhvcmUgaGFuZGxpbmcsCithbmQgcmVsYXRlZCBmYWlsdXJlLXBhdGggY2xlYW51cC4KKworU2ln bmVkLW9mZi1ieTogVHltdXIgQm9pa28gPHRib2lrb0BudmlkaWEuY29tPgorLS0tCisgbGliYXZj b2RlYy92dWxrYW5fZGVjb2RlLmMgICB8ICAzNiArKysrKy0tCisgbGliYXZ1dGlsL2h3Y29udGV4 dF92dWxrYW4uYyB8IDE5NCArKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLQorIDIg ZmlsZXMgY2hhbmdlZCwgMjAxIGluc2VydGlvbnMoKyksIDI5IGRlbGV0aW9ucygtKQorCitkaWZm IC0tZ2l0IGEvbGliYXZjb2RlYy92dWxrYW5fZGVjb2RlLmMgYi9saWJhdmNvZGVjL3Z1bGthbl9k ZWNvZGUuYworaW5kZXggOWFiOGQ0NWFhOS4uYWZjYTYyYjMwNCAxMDA2NDQKKy0tLSBhL2xpYmF2 Y29kZWMvdnVsa2FuX2RlY29kZS5jCisrKysgYi9saWJhdmNvZGVjL3Z1bGthbl9kZWNvZGUuYwor QEAgLTIzMyw3ICsyMzMsOCBAQCBpbnQgZmZfdmtfZGVjb2RlX3ByZXBhcmVfZnJhbWUoRkZWdWxr YW5EZWNvZGVDb250ZXh0ICpkZWMsIEFWRnJhbWUgKnBpYywKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIChBVlZrRnJhbWUgKilwaWMtPmRhdGFbMF0sCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBod2ZjLT5mb3JtYXRbMF0sCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBWS19JTUFHRV9VU0FHRV9WSURFT19ERUNPREVfRFNUX0JJVF9LSFIgfAorLSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCFpc19jdXJyZW50ID8gVktfSU1BR0VfVVNB R0VfVklERU9fREVDT0RFX0RQQl9CSVRfS0hSIDogMCkpOworKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgKGh3ZmMtPnVzYWdlICYgVktfSU1BR0VfVVNBR0VfVklERU9fREVDT0RFX0RQ Ql9CSVRfS0hSKSk7CisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyB0aGUgYWJv dmUgZml4ZXMgVlVJRC1Wa1ZpZGVvQmVnaW5Db2RpbmdJbmZvS0hSLXNsb3RJbmRleC0wNzI0NQor ICAgICAgICAgaWYgKGVyciA8IDApCisgICAgICAgICAgICAgcmV0dXJuIGVycjsKKyAKK0BAIC0z MzUsMTIgKzMzNiwyMSBAQCBpbnQgZmZfdmtfZGVjb2RlX2FkZF9zbGljZShBVkNvZGVjQ29udGV4 dCAqYXZjdHgsIEZGVnVsa2FuRGVjb2RlUGljdHVyZSAqdnAsCisgICAgICAgICAgKiBlYXNpZXIs IGFuZCBnaXZlcyB1cyBhbXBsZSBoZWFkcm9vbS4gKi8KKyAgICAgICAgIGJ1Zl9zaXplID0gMiA8 PCBhdl9sb2cyKGJ1Zl9zaXplKTsKKyAKKysgICAgICAgIC8qIFdoZW4gdGhlIGZyYW1lcyBjb250 ZXh0IHVzZXMgRFJNIG1vZGlmaWVyIHRpbGluZywKKysgICAgICAgICAqIGh3Y3R4LT5jcmVhdGVf cG5leHQgY29udGFpbnMgVmtJbWFnZURybUZvcm1hdE1vZGlmaWVyTGlzdENyZWF0ZUluZm9FWFQs CisrICAgICAgICAgKiB3aGljaCBwZXIgc3BlYyBkb2VzIG5vdCBleHRlbmQgVmtCdWZmZXJDcmVh dGVJbmZvLCBzbyB3ZSBuZWVkIHRvIGZpbmQKKysgICAgICAgICAqIHRoZSBWa1ZpZGVvUHJvZmls ZUxpc3RJbmZvS0hSIHN0cnVjdHVyZSB3aXRoaW4gaXQuICovCisrICAgICAgICB2b2lkICpidWZf cG5leHQgPSBjdHgtPnMuaHdmYy0+Y3JlYXRlX3BuZXh0OworKyAgICAgICAgaWYgKGN0eC0+cy5o d2ZjLT50aWxpbmcgPT0gVktfSU1BR0VfVElMSU5HX0RSTV9GT1JNQVRfTU9ESUZJRVJfRVhUKQor KyAgICAgICAgICAgIGJ1Zl9wbmV4dCA9ICh2b2lkICopZmZfdmtfZmluZF9zdHJ1Y3QoY3R4LT5z Lmh3ZmMtPmNyZWF0ZV9wbmV4dCwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIFZLX1NUUlVDVFVSRV9UWVBFX1ZJREVPX1BST0ZJTEVfTElTVF9JTkZP X0tIUik7CisrCisgICAgICAgICBlcnIgPSBmZl92a19nZXRfcG9vbGVkX2J1ZmZlcigmY3R4LT5z LCAmY3R4LT5idWZfcG9vbCwgJm5ld19yZWYsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBERUNPREVSX0lTX1NEUihhdmN0eC0+Y29kZWNfaWQpID8KKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIChWS19CVUZGRVJfVVNBR0VfU1RPUkFHRV9CVUZG RVJfQklUIHwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBWS19CVUZG RVJfVVNBR0VfU0hBREVSX0RFVklDRV9BRERSRVNTX0JJVCkgOgorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgVktfQlVGRkVSX1VTQUdFX1ZJREVPX0RFQ09ERV9TUkNfQklU X0tIUiwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN0eC0+cy5od2Zj LT5jcmVhdGVfcG5leHQsIGJ1Zl9zaXplLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgYnVmX3BuZXh0LCBidWZfc2l6ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIFZLX01FTU9SWV9QUk9QRVJUWV9IT1NUX1ZJU0lCTEVfQklUIHwKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChERUNPREVSX0lTX1NEUihhdmN0eC0+ Y29kZWNfaWQpID8KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBWS19N RU1PUllfUFJPUEVSVFlfREVWSUNFX0xPQ0FMX0JJVCA6IDB4MCkpOworQEAgLTEyMTcsNyArMTIy Nyw5IEBAIGludCBmZl92a19mcmFtZV9wYXJhbXMoQVZDb2RlY0NvbnRleHQgKmF2Y3R4LCBBVkJ1 ZmZlclJlZiAqaHdfZnJhbWVzX2N0eCkKKyAgICAgICAgIH0KKyAgICAgfQorIAorLSAgICBod2Zj LT50aWxpbmcgPSBWS19JTUFHRV9USUxJTkdfT1BUSU1BTDsKKysgICAgaWYgKGh3ZmMtPnRpbGlu ZyAhPSBWS19JTUFHRV9USUxJTkdfRFJNX0ZPUk1BVF9NT0RJRklFUl9FWFQpCisrICAgICAgICBo d2ZjLT50aWxpbmcgPSBWS19JTUFHRV9USUxJTkdfT1BUSU1BTDsKKysKKyAgICAgaHdmYy0+dXNh Z2UgID0gVktfSU1BR0VfVVNBR0VfVFJBTlNGRVJfU1JDX0JJVCB8CisgICAgICAgICAgICAgICAg ICAgIFZLX0lNQUdFX1VTQUdFX1NUT1JBR0VfQklUICAgICAgfAorICAgICAgICAgICAgICAgICAg ICBWS19JTUFHRV9VU0FHRV9TQU1QTEVEX0JJVDsKK0BAIC0xMzgyLDEwICsxMzk0LDIyIEBAIGlu dCBmZl92a19kZWNvZGVfaW5pdChBVkNvZGVjQ29udGV4dCAqYXZjdHgpCisgICAgICAgICBkcGJf ZnJhbWVzLT5oZWlnaHQgICAgPSBzLT5mcmFtZXMtPmhlaWdodDsKKyAKKyAgICAgICAgIGRwYl9o d2ZjID0gZHBiX2ZyYW1lcy0+aHdjdHg7CistICAgICAgICBkcGJfaHdmYy0+Y3JlYXRlX3BuZXh0 ID0gKHZvaWQgKilmZl92a19maW5kX3N0cnVjdChjdHgtPnMuaHdmYy0+Y3JlYXRlX3BuZXh0LAor LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgVktfU1RSVUNUVVJFX1RZUEVfVklERU9fUFJPRklMRV9MSVNUX0lORk9fS0hSKTsKKysgICAg ICAgIHZvaWQgKnByb2ZpbGVfbGlzdCA9ICh2b2lkICopZmZfdmtfZmluZF9zdHJ1Y3QoY3R4LT5z Lmh3ZmMtPmNyZWF0ZV9wbmV4dCwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgVktfU1RSVUNUVVJFX1RZUEVfVklERU9fUFJPRklMRV9MSVNU X0lORk9fS0hSKTsKKysgICAgICAgIC8qIFJlZmVyZW5jZSAoRFBCKSBpbWFnZXMgdXNlIHRoZSBz YW1lIHRpbGluZyBhbmQgcE5leHQgY2hhaW4gYXMgb3V0cHV0LgorKyAgICAgICAgICogSWYgVktf VklERU9fREVDT0RFX0NBUEFCSUxJVFlfRFBCX0FORF9PVVRQVVRfRElTVElOQ1RfQklUX0tIUiBp cyAwLCB0aGUKKysgICAgICAgICAqIGRyaXZlciBkb2VzIG5vdCBzdXBwb3J0IHNlcGFyYXRlIG91 dHB1dCBhbmQgRFBCIHdpdGggZGlmZmVyZW50IGxheW91dHMvdGlsaW5nLiAqLworKyAgICAgICAg dm9pZCAqZHJtX2NyZWF0ZV9wbmV4dCA9IGZmX3ZrX2ZpbmRfc3RydWN0KGN0eC0+cy5od2ZjLT5j cmVhdGVfcG5leHQsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgVktfU1RSVUNUVVJFX1RZUEVfSU1BR0VfRFJNX0ZPUk1BVF9NT0RJRklFUl9MSVNU X0NSRUFURV9JTkZPX0VYVCk7CisrICAgICAgICBpZiAoZHJtX2NyZWF0ZV9wbmV4dCkgeworKyAg ICAgICAgICAgIGRwYl9od2ZjLT5jcmVhdGVfcG5leHQgPSBkcm1fY3JlYXRlX3BuZXh0OworKyAg ICAgICAgICAgIGRwYl9od2ZjLT50aWxpbmcgICAgICAgPSBWS19JTUFHRV9USUxJTkdfRFJNX0ZP Uk1BVF9NT0RJRklFUl9FWFQ7CisrICAgICAgICAgICAgYXZfYXNzZXJ0MihmZl92a19maW5kX3N0 cnVjdChkcm1fY3JlYXRlX3BuZXh0LCBWS19TVFJVQ1RVUkVfVFlQRV9WSURFT19QUk9GSUxFX0xJ U1RfSU5GT19LSFIpKTsKKysgICAgICAgIH0gZWxzZSB7CisrICAgICAgICAgICAgZHBiX2h3ZmMt PmNyZWF0ZV9wbmV4dCA9IHByb2ZpbGVfbGlzdDsKKysgICAgICAgICAgICBkcGJfaHdmYy0+dGls aW5nICAgICAgID0gVktfSU1BR0VfVElMSU5HX09QVElNQUw7CisrICAgICAgICB9CisgICAgICAg ICBkcGJfaHdmYy0+Zm9ybWF0WzBdICAgID0gcy0+aHdmYy0+Zm9ybWF0WzBdOworLSAgICAgICAg ZHBiX2h3ZmMtPnRpbGluZyAgICAgICA9IFZLX0lNQUdFX1RJTElOR19PUFRJTUFMOworICAgICAg ICAgZHBiX2h3ZmMtPnVzYWdlICAgICAgICA9IFZLX0lNQUdFX1VTQUdFX1ZJREVPX0RFQ09ERV9E UEJfQklUX0tIUjsKKyAKKyAgICAgICAgIGlmIChjdHgtPmNvbW1vbi5sYXllcmVkX2RwYikKK2Rp ZmYgLS1naXQgYS9saWJhdnV0aWwvaHdjb250ZXh0X3Z1bGthbi5jIGIvbGliYXZ1dGlsL2h3Y29u dGV4dF92dWxrYW4uYworaW5kZXggYmRhZGE3OGMyYi4uODg4Y2MzOTUzMCAxMDA2NDQKKy0tLSBh L2xpYmF2dXRpbC9od2NvbnRleHRfdnVsa2FuLmMKKysrKyBiL2xpYmF2dXRpbC9od2NvbnRleHRf dnVsa2FuLmMKK0BAIC0xOTAsMTEgKzE5MCwxOCBAQCB0eXBlZGVmIHN0cnVjdCBWdWxrYW5GcmFt ZXNQcml2IHsKKyAKKyAgICAgLyogUHJvcGVydGllcyBmb3IgRFJNIG1vZGlmaWVyIGZvciBlYWNo IHBsYW5lIGluIHRoZSBpbWFnZSAqLworICAgICBWa0RybUZvcm1hdE1vZGlmaWVyUHJvcGVydGll c0VYVCBkcm1fZm9ybWF0X21vZGlmaWVyX3Byb3BlcnRpZXNbNV07CisrCisrICAgIC8qIFNldCB3 aGVuIHBoeXNpY2FsIGRldmljZSByZXBvcnRzIERFRElDQVRFRF9PTkxZIGZvciBETUEtQlVGIGV4 cG9ydCAodHJ5X2V4cG9ydF9mbGFncykgKi8KKysgICAgaW50IGV4cG9ydF9yZXF1aXJlc19kZWRp Y2F0ZWQ7CisgfSBWdWxrYW5GcmFtZXNQcml2OworIAorIHR5cGVkZWYgc3RydWN0IEFWVmtGcmFt ZUludGVybmFsIHsKKyAgICAgcHRocmVhZF9tdXRleF90IHVwZGF0ZV9tdXRleDsKKyAKKysgICAg LyogQmluYXJ5IHNlbWFwaG9yZSBmb3IgU1lOQ19GRCBleHBvcnQgYXQgRFJNIG1hcCB0aW1lLiBD cmVhdGVkIG9uY2UgbGF6aWx5LAorKyAgICAgKiByZS1zaWduYWxlZCBlYWNoIHRpbWUgdmlhIGEg c3VibWl0IGluIHZ1bGthbl9tYXBfdG9fZHJtLiAqLworKyAgICBWa1NlbWFwaG9yZSBkcm1fc3lu Y19zZW07CisrCisgI2lmIENPTkZJR19DVURBCisgICAgIC8qIEltcG9ydGluZyBleHRlcm5hbCBt ZW1vcnkgaW50byBjdWRhIGlzIHJlYWxseSBleHBlbnNpdmUgc28gd2Uga2VlcCB0aGUKKyAgICAg ICogbWVtb3J5IGltcG9ydGVkIGFsbCB0aGUgdGltZSAqLworQEAgLTIzNjksNyArMjM3Niw3IEBA IHN0YXRpYyBpbnQgYWxsb2NfbWVtKEFWSFdEZXZpY2VDb250ZXh0ICpjdHgsIFZrTWVtb3J5UmVx dWlyZW1lbnRzICpyZXEsCisgICAgIHJldHVybiAwOworIH0KKyAKKy1zdGF0aWMgdm9pZCB2dWxr YW5fZnJlZV9pbnRlcm5hbChBVlZrRnJhbWUgKmYpCisrc3RhdGljIHZvaWQgdnVsa2FuX2ZyZWVf aW50ZXJuYWwoVnVsa2FuRGV2aWNlUHJpdiAqcCwgQVZWa0ZyYW1lICpmKQorIHsKKyAgICAgYXZf dW51c2VkIEFWVmtGcmFtZUludGVybmFsICppbnRlcm5hbCA9IGYtPmludGVybmFsOworIAorQEAg LTI0MDEsNiArMjQwOCwxMCBAQCBzdGF0aWMgdm9pZCB2dWxrYW5fZnJlZV9pbnRlcm5hbChBVlZr RnJhbWUgKmYpCisgICAgIH0KKyAjZW5kaWYKKyAKKysgICAgaWYgKGludGVybmFsLT5kcm1fc3lu Y19zZW0gIT0gVktfTlVMTF9IQU5ETEUpCisrICAgICAgICBwLT52a2N0eC52a2ZuLkRlc3Ryb3lT ZW1hcGhvcmUocC0+cC5hY3RfZGV2LCBpbnRlcm5hbC0+ZHJtX3N5bmNfc2VtLAorKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwLT5wLmFsbG9jKTsKKysKKyAgICAgcHRo cmVhZF9tdXRleF9kZXN0cm95KCZpbnRlcm5hbC0+dXBkYXRlX211dGV4KTsKKyAgICAgYXZfZnJl ZXAoJmYtPmludGVybmFsKTsKKyB9CitAQCAtMjQyOCw3ICsyNDM5LDcgQEAgc3RhdGljIHZvaWQg dnVsa2FuX2ZyYW1lX2ZyZWUoQVZIV0ZyYW1lc0NvbnRleHQgKmh3ZmMsIEFWVmtGcmFtZSAqZikK KyAgICAgICAgIHZrLT5XYWl0U2VtYXBob3Jlcyhod2N0eC0+YWN0X2RldiwgJnNlbV93YWl0LCBV SU5UNjRfTUFYKTsKKyAgICAgfQorIAorLSAgICB2dWxrYW5fZnJlZV9pbnRlcm5hbChmKTsKKysg ICAgdnVsa2FuX2ZyZWVfaW50ZXJuYWwocCwgZik7CisgCisgICAgIGZvciAoaW50IGkgPSAwOyBp IDwgbmJfaW1hZ2VzOyBpKyspIHsKKyAgICAgICAgIHZrLT5EZXN0cm95SW1hZ2UoaHdjdHgtPmFj dF9kZXYsICAgICBmLT5pbWdbaV0sIGh3Y3R4LT5hbGxvYyk7CitAQCAtMjQ3NSw2ICsyNDg2LDEw IEBAIHN0YXRpYyBpbnQgYWxsb2NfYmluZF9tZW0oQVZIV0ZyYW1lc0NvbnRleHQgKmh3ZmMsIEFW VmtGcmFtZSAqZiwKKyAKKyAgICAgICAgIHZrLT5HZXRJbWFnZU1lbW9yeVJlcXVpcmVtZW50czIo aHdjdHgtPmFjdF9kZXYsICZyZXFfZGVzYywgJnJlcSk7CisgCisrICAgICAgICBhdl9sb2coaHdm YywgQVZfTE9HX1RSQUNFLAorKyAgICAgICAgICAgICAgICJwbGFuZSAlZDogZHJpdmVyIHJlcG9y dHMgcHJlZmVyc0RlZGljYXRlZEFsbG9jYXRpb249JWkgcmVxdWlyZXNEZWRpY2F0ZWRBbGxvY2F0 aW9uPSVpXG4iLAorKyAgICAgICAgICAgICAgIGltZ19jbnQsIGRlZF9yZXEucHJlZmVyc0RlZGlj YXRlZEFsbG9jYXRpb24sIGRlZF9yZXEucmVxdWlyZXNEZWRpY2F0ZWRBbGxvY2F0aW9uKTsKKysK KyAgICAgICAgIGlmIChmLT50aWxpbmcgPT0gVktfSU1BR0VfVElMSU5HX0xJTkVBUikKKyAgICAg ICAgICAgICByZXEubWVtb3J5UmVxdWlyZW1lbnRzLnNpemUgPSBGRkFMSUdOKHJlcS5tZW1vcnlS ZXF1aXJlbWVudHMuc2l6ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHAtPnByb3BzLnByb3BlcnRpZXMubGltaXRzLm1pbk1lbW9yeU1hcEFsaWdu bWVudCk7CitAQCAtMjQ4Miw2ICsyNDk3LDggQEAgc3RhdGljIGludCBhbGxvY19iaW5kX21lbShB VkhXRnJhbWVzQ29udGV4dCAqaHdmYywgQVZWa0ZyYW1lICpmLAorICAgICAgICAgLyogSW4gY2Fz ZSB0aGUgaW1wbGVtZW50YXRpb24gcHJlZmVycy9yZXF1aXJlcyBkZWRpY2F0ZWQgYWxsb2NhdGlv biAqLworICAgICAgICAgdXNlX2RlZF9tZW0gPSBkZWRfcmVxLnByZWZlcnNEZWRpY2F0ZWRBbGxv Y2F0aW9uIHwKKyAgICAgICAgICAgICAgICAgICAgICAgZGVkX3JlcS5yZXF1aXJlc0RlZGljYXRl ZEFsbG9jYXRpb247CisrICAgICAgICBpZiAoKChWdWxrYW5GcmFtZXNQcml2ICopaHdmYy0+aHdj dHgpLT5leHBvcnRfcmVxdWlyZXNfZGVkaWNhdGVkKQorKyAgICAgICAgICAgIHVzZV9kZWRfbWVt ID0gMTsKKyAgICAgICAgIGlmICh1c2VfZGVkX21lbSkKKyAgICAgICAgICAgICBkZWRfYWxsb2Mu aW1hZ2UgPSBmLT5pbWdbaW1nX2NudF07CisgCitAQCAtMjg1Myw3ICsyODcwLDggQEAgc3RhdGlj IHZvaWQgdHJ5X2V4cG9ydF9mbGFncyhBVkhXRnJhbWVzQ29udGV4dCAqaHdmYywKKyAgICAgICAg IC50eXBlICAgPSBWS19JTUFHRV9UWVBFXzJELAorICAgICAgICAgLnRpbGluZyA9IGh3Y3R4LT50 aWxpbmcsCisgICAgICAgICAudXNhZ2UgID0gaHdjdHgtPnVzYWdlLAorLSAgICAgICAgLmZsYWdz ICA9IFZLX0lNQUdFX0NSRUFURV9BTElBU19CSVQsCisrICAgICAgICAuZmxhZ3MgID0gKGh3Y3R4 LT50aWxpbmcgPT0gVktfSU1BR0VfVElMSU5HX0RSTV9GT1JNQVRfTU9ESUZJRVJfRVhUICYmIGhh c19tb2RzKSA/CisrICAgICAgICAgICAgICAgICAgKGh3Y3R4LT5pbWdfZmxhZ3MpIDogKFZrSW1h Z2VDcmVhdGVGbGFncykoVktfSU1BR0VfQ1JFQVRFX0FMSUFTX0JJVCksCisgICAgIH07CisgCisg ICAgIG5iX21vZHMgPSBoYXNfbW9kcyA/IGRybV9tb2RfaW5mby0+ZHJtRm9ybWF0TW9kaWZpZXJD b3VudCA6IDE7CitAQCAtMjg2NCw5ICsyODgyLDE3IEBAIHN0YXRpYyB2b2lkIHRyeV9leHBvcnRf ZmxhZ3MoQVZIV0ZyYW1lc0NvbnRleHQgKmh3ZmMsCisgICAgICAgICByZXQgPSB2ay0+R2V0UGh5 c2ljYWxEZXZpY2VJbWFnZUZvcm1hdFByb3BlcnRpZXMyKGRldl9od2N0eC0+cGh5c19kZXYsCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAm cGluZm8sICZwcm9wcyk7CisgCisrICAgICAgICBhdl9sb2coaHdmYywgQVZfTE9HX1ZFUkJPU0Us ICJHZXRQaHlzaWNhbERldmljZUltYWdlRm9ybWF0UHJvcGVydGllczI6IG1vZFslZF09MHglbGx4 IC0+ICVzXG4iLAorKyAgICAgICAgICAgICAgIGksIGhhc19tb2RzID8gKHVuc2lnbmVkIGxvbmcg bG9uZylwaHlfZGV2X21vZF9pbmZvLmRybUZvcm1hdE1vZGlmaWVyIDogMFVMTCwKKysgICAgICAg ICAgICAgICByZXQgPT0gVktfU1VDQ0VTUyA/ICJPSyIgOiAiRkFJTCIpOworICAgICAgICAgaWYg KHJldCA9PSBWS19TVUNDRVNTKSB7CisgICAgICAgICAgICAgKmlleHAgfD0gZXhwOworICAgICAg ICAgICAgICpjb21wX2hhbmRsZV90eXBlcyB8PSBlcHJvcHMuZXh0ZXJuYWxNZW1vcnlQcm9wZXJ0 aWVzLmNvbXBhdGlibGVIYW5kbGVUeXBlczsKKysgICAgICAgICAgICBpZiAoZXhwID09IFZLX0VY VEVSTkFMX01FTU9SWV9IQU5ETEVfVFlQRV9ETUFfQlVGX0JJVF9FWFQpIHsKKysgICAgICAgICAg ICAgICAgVnVsa2FuRnJhbWVzUHJpdiAqZnAgPSBod2ZjLT5od2N0eDsKKysgICAgICAgICAgICAg ICAgZnAtPmV4cG9ydF9yZXF1aXJlc19kZWRpY2F0ZWQgPSAhIShlcHJvcHMuZXh0ZXJuYWxNZW1v cnlQcm9wZXJ0aWVzLmV4dGVybmFsTWVtb3J5RmVhdHVyZXMgJgorKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVktfRVhURVJOQUxfTUVNT1JZX0ZFQVRV UkVfREVESUNBVEVEX09OTFlfQklUKTsKKysgICAgICAgICAgICB9CisgICAgICAgICB9CisgICAg IH0KKyB9CitAQCAtMjg5NCw3ICsyOTIwLDggQEAgc3RhdGljIEFWQnVmZmVyUmVmICp2dWxrYW5f cG9vbF9hbGxvYyh2b2lkICpvcGFxdWUsIHNpemVfdCBzaXplKQorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgPyBWS19FWFRFUk5BTF9NRU1PUllfSEFORExFX1RZUEVfT1BBUVVFX1dJTjMy X0JJVAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBWS19FWFRFUk5BTF9NRU1PUllf SEFORExFX1RZUEVfT1BBUVVFX1dJTjMyX0tNVF9CSVQpOworICNlbHNlCistICAgIGlmIChwLT52 a2N0eC5leHRlbnNpb25zICYgRkZfVktfRVhUX0VYVEVSTkFMX0ZEX01FTU9SWSkKKysgICAgaWYg KChwLT52a2N0eC5leHRlbnNpb25zICYgRkZfVktfRVhUX0VYVEVSTkFMX0ZEX01FTU9SWSkgJiYK KysgICAgICAgIChod2N0eC0+dGlsaW5nICE9IFZLX0lNQUdFX1RJTElOR19EUk1fRk9STUFUX01P RElGSUVSX0VYVCkpCisgICAgICAgICB0cnlfZXhwb3J0X2ZsYWdzKGh3ZmMsICZlaWluZm8uaGFu ZGxlVHlwZXMsICZlLAorICAgICAgICAgICAgICAgICAgICAgICAgICBWS19FWFRFUk5BTF9NRU1P UllfSEFORExFX1RZUEVfT1BBUVVFX0ZEX0JJVCk7CisgCitAQCAtMjkxMyw4ICsyOTQwLDEwIEBA IHN0YXRpYyBBVkJ1ZmZlclJlZiAqdnVsa2FuX3Bvb2xfYWxsb2Modm9pZCAqb3BhcXVlLCBzaXpl X3Qgc2l6ZSkKKyAgICAgZXJyID0gY3JlYXRlX2ZyYW1lKGh3ZmMsICZmLCBod2N0eC0+dGlsaW5n LCBod2N0eC0+dXNhZ2UsIGh3Y3R4LT5pbWdfZmxhZ3MsCisgICAgICAgICAgICAgICAgICAgICAg ICBod2N0eC0+bmJfbGF5ZXJzLAorICAgICAgICAgICAgICAgICAgICAgICAgZWlpbmZvLmhhbmRs ZVR5cGVzID8gJmVpaW5mbyA6IGh3Y3R4LT5jcmVhdGVfcG5leHQpOworLSAgICBpZiAoZXJyKQor KyAgICBpZiAoZXJyKSB7CisrICAgICAgICBhdl9sb2coaHdmYywgQVZfTE9HX0VSUk9SLCAidnVs a2FuX3Bvb2xfYWxsb2MgZmFpbGVkOiBjcmVhdGVfZnJhbWUgZmFpbGVkOiAlZFxuIiwgZXJyKTsK KyAgICAgICAgIHJldHVybiBOVUxMOworKyAgICB9CisgCisgICAgIGVyciA9IGFsbG9jX2JpbmRf bWVtKGh3ZmMsIGYsIGVtaW5mbywgc2l6ZW9mKCplbWluZm8pKTsKKyAgICAgaWYgKGVycikKK0BA IC0yOTQyLDYgKzI5NzEsNyBAQCBzdGF0aWMgQVZCdWZmZXJSZWYgKnZ1bGthbl9wb29sX2FsbG9j KHZvaWQgKm9wYXF1ZSwgc2l6ZV90IHNpemUpCisgICAgIHJldHVybiBhdmJ1ZjsKKyAKKyBmYWls OgorKyAgICBhdl9sb2coaHdmYywgQVZfTE9HX0VSUk9SLCAidnVsa2FuX3Bvb2xfYWxsb2MgZmFp bGVkIHdpdGggZXJyb3IgJWRcbiIsIGVycik7CisgICAgIHZ1bGthbl9mcmFtZV9mcmVlKGh3ZmMs IGYpOworICAgICByZXR1cm4gTlVMTDsKKyB9CitAQCAtMzA0Myw3ICszMDczLDE0IEBAIHN0YXRp YyBpbnQgdnVsa2FuX2ZyYW1lc19pbml0KEFWSFdGcmFtZXNDb250ZXh0ICpod2ZjKQorICAgICB9 CisgCisgICAgIC8qIExvbmUgRFBCIGltYWdlcyBkbyBub3QgbmVlZCBhZGRpdGlvbmFsIGZsYWdz LiAqLworLSAgICBpZiAoIWlzX2xvbmVfZHBiKSB7CisrICAgIC8qIFdpdGggRFJNIG1vZGlmaWVy ICsgdmlkZW8gcHJvZmlsZSB0aGUgY2FsbGVyIGhhcyBhbHJlYWR5IGNob3NlbiBhIHZhbGlkCisr ICAgICAqIHVzYWdlL2ltZ19mbGFncy9jaGFpbjsgZG8gbm90IGFkZCB1c2FnZSBvciBpbWdfZmxh Z3MgKHN1cHBvcnRlZF91c2FnZSBkb2VzCisrICAgICAqIG5vdCBjb25zaWRlciB0aGUgYWN0dWFs IG1vZGlmaWVyIG9yIHZpZGVvIHByb2ZpbGUpLiAqLworKyAgICBpbnQgZHJtX21vZF93aXRoX3Zp ZGVvID0gKGh3Y3R4LT50aWxpbmcgPT0gVktfSU1BR0VfVElMSU5HX0RSTV9GT1JNQVRfTU9ESUZJ RVJfRVhUICYmCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmZfdmtfZmluZF9zdHJ1 Y3QoaHdjdHgtPmNyZWF0ZV9wbmV4dCwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBWS19TVFJVQ1RVUkVfVFlQRV9WSURFT19QUk9GSUxFX0xJU1RfSU5G T19LSFIpKTsKKysKKysgICAgaWYgKCFpc19sb25lX2RwYiAmJiAhZHJtX21vZF93aXRoX3ZpZGVv KSB7CisgICAgICAgICAvKiBJbWFnZSB1c2FnZSBmbGFncyAqLworICAgICAgICAgaHdjdHgtPnVz YWdlIHw9IHN1cHBvcnRlZF91c2FnZSAmIChWS19JTUFHRV9VU0FHRV9UUkFOU0ZFUl9EU1RfQklU IHwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVktfSU1BR0Vf VVNBR0VfVFJBTlNGRVJfU1JDX0JJVCB8CitAQCAtMzk2OCw3ICs0MDA1LDcgQEAgc3RhdGljIGlu dCB2dWxrYW5fZXhwb3J0X3RvX2N1ZGEoQVZIV0ZyYW1lc0NvbnRleHQgKmh3ZmMsCisgICAgIHJl dHVybiAwOworIAorIGZhaWw6CistICAgIHZ1bGthbl9mcmVlX2ludGVybmFsKGRzdF9mKTsKKysg ICAgdnVsa2FuX2ZyZWVfaW50ZXJuYWwocCwgZHN0X2YpOworICAgICByZXR1cm4gZXJyOworIH0K KyAKK0BAIC0zOTc5LDYgKzQwMTYsNyBAQCBzdGF0aWMgaW50IHZ1bGthbl90cmFuc2Zlcl9kYXRh X2Zyb21fY3VkYShBVkhXRnJhbWVzQ29udGV4dCAqaHdmYywKKyAgICAgQ1Vjb250ZXh0IGR1bW15 OworICAgICBBVlZrRnJhbWUgKmRzdF9mOworICAgICBBVlZrRnJhbWVJbnRlcm5hbCAqZHN0X2lu dDsKKysgICAgVnVsa2FuRGV2aWNlUHJpdiAqcCA9IGh3ZmMtPmRldmljZV9jdHgtPmh3Y3R4Owor ICAgICBWdWxrYW5GcmFtZXNQcml2ICpmcCA9IGh3ZmMtPmh3Y3R4OworICAgICBjb25zdCBpbnQg cGxhbmVzID0gYXZfcGl4X2ZtdF9jb3VudF9wbGFuZXMoaHdmYy0+c3dfZm9ybWF0KTsKKyAgICAg Y29uc3QgQVZQaXhGbXREZXNjcmlwdG9yICpkZXNjID0gYXZfcGl4X2ZtdF9kZXNjX2dldChod2Zj LT5zd19mb3JtYXQpOworQEAgLTQwNTcsNyArNDA5NSw3IEBAIHN0YXRpYyBpbnQgdnVsa2FuX3Ry YW5zZmVyX2RhdGFfZnJvbV9jdWRhKEFWSFdGcmFtZXNDb250ZXh0ICpod2ZjLAorIAorIGZhaWw6 CisgICAgIENIRUNLX0NVKGN1LT5jdUN0eFBvcEN1cnJlbnQoJmR1bW15KSk7CistICAgIHZ1bGth bl9mcmVlX2ludGVybmFsKGRzdF9mKTsKKysgICAgdnVsa2FuX2ZyZWVfaW50ZXJuYWwocCwgZHN0 X2YpOworICAgICBhdl9idWZmZXJfdW5yZWYoJmRzdC0+YnVmWzBdKTsKKyAgICAgcmV0dXJuIGVy cjsKKyB9CitAQCAtNDEyNyw2ICs0MTY1LDcyIEBAIHN0YXRpYyBWa0ltYWdlQXNwZWN0RmxhZ3Mg cGxhbmVfaW5kZXhfdG9fYXNwZWN0KGludCBwbGFuZSkgeworICAgICByZXR1cm4gVktfSU1BR0Vf QVNQRUNUX01FTU9SWV9QTEFORV8wX0JJVF9FWFQ7CisgfQorIAorKyNpZmRlZiBETUFfQlVGX0lP Q1RMX0VYUE9SVF9TWU5DX0ZJTEUKKytzdGF0aWMgaW50IHZ1bGthbl9kcm1fZXhwb3J0X3N5bmNf ZmQoQVZIV0ZyYW1lc0NvbnRleHQgKmh3ZmMsIEFWVmtGcmFtZSAqZiwKKysgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgVnVsa2FuRnJhbWVzUHJpdiAqZnAsIGludCBuYl9zZW1z KQorK3sKKysgICAgaW50IHN5bmNfZmQgPSAtMTsKKysgICAgVmtSZXN1bHQgcmV0OworKyAgICBW dWxrYW5EZXZpY2VQcml2ICpwID0gaHdmYy0+ZGV2aWNlX2N0eC0+aHdjdHg7CisrICAgIEFWVnVs a2FuRGV2aWNlQ29udGV4dCAqaHdjdHggPSAmcC0+cDsKKysgICAgRkZWdWxrYW5GdW5jdGlvbnMg KnZrID0gJnAtPnZrY3R4LnZrZm47CisrCisrICAgIGlmIChmLT5pbnRlcm5hbC0+ZHJtX3N5bmNf c2VtID09IFZLX05VTExfSEFORExFKSB7CisrICAgICAgICBWa0V4cG9ydFNlbWFwaG9yZUNyZWF0 ZUluZm8gZXhwX2luZm8gPSB7CisrICAgICAgICAgICAgLnNUeXBlICAgICAgID0gVktfU1RSVUNU VVJFX1RZUEVfRVhQT1JUX1NFTUFQSE9SRV9DUkVBVEVfSU5GTywKKysgICAgICAgICAgICAuaGFu ZGxlVHlwZXMgPSBWS19FWFRFUk5BTF9TRU1BUEhPUkVfSEFORExFX1RZUEVfU1lOQ19GRF9CSVQs CisrICAgICAgICB9OworKyAgICAgICAgVmtTZW1hcGhvcmVUeXBlQ3JlYXRlSW5mbyB0eXBlX2lu Zm8gPSB7CisrICAgICAgICAgICAgLnNUeXBlICAgICAgICAgPSBWS19TVFJVQ1RVUkVfVFlQRV9T RU1BUEhPUkVfVFlQRV9DUkVBVEVfSU5GTywKKysgICAgICAgICAgICAucE5leHQgICAgICAgICA9 ICZleHBfaW5mbywKKysgICAgICAgICAgICAuc2VtYXBob3JlVHlwZSA9IFZLX1NFTUFQSE9SRV9U WVBFX0JJTkFSWSwKKysgICAgICAgIH07CisrICAgICAgICBWa1NlbWFwaG9yZUNyZWF0ZUluZm8g c2VtX2NyZWF0ZSA9IHsKKysgICAgICAgICAgICAuc1R5cGUgPSBWS19TVFJVQ1RVUkVfVFlQRV9T RU1BUEhPUkVfQ1JFQVRFX0lORk8sCisrICAgICAgICAgICAgLnBOZXh0ID0gJnR5cGVfaW5mbywK KysgICAgICAgIH07CisrICAgICAgICByZXQgPSB2ay0+Q3JlYXRlU2VtYXBob3JlKGh3Y3R4LT5h Y3RfZGV2LCAmc2VtX2NyZWF0ZSwgaHdjdHgtPmFsbG9jLAorKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAmZi0+aW50ZXJuYWwtPmRybV9zeW5jX3NlbSk7CisrICAgICAgICBpZiAo cmV0ICE9IFZLX1NVQ0NFU1MpIHsKKysgICAgICAgICAgICBhdl9sb2coaHdjdHgsIEFWX0xPR19F UlJPUiwgIkZhaWxlZCB0byBjcmVhdGUgRFJNIGV4cG9ydCBzZW1hcGhvcmU6ICVzXG4iLAorKyAg ICAgICAgICAgICAgICAgICBmZl92a19yZXQyc3RyKHJldCkpOworKyAgICAgICAgICAgIHJldHVy biBBVkVSUk9SX0VYVEVSTkFMOworKyAgICAgICAgfQorKyAgICB9CisrCisrICAgIC8qIFN1Ym1p dCBhIGxpZ2h0d2VpZ2h0IGV4ZWMgdGhhdCB3YWl0cyBvbiB0aGUgdGltZWxpbmUgc2VtYXBob3Jl CisrICAgICAqICh0cnVlIGxhc3Qgb3BlcmF0aW9uIG9uIHRoZSBmcmFtZSkgYW5kIHNpZ25hbHMg dGhlIGJpbmFyeSBzZW1hcGhvcmUsCisrICAgICAqIHNvIGFueSBWdWxrYW4gZnJhbWUgY2FuIGdl dCBhIFNZTkNfRkQgcmVnYXJkbGVzcyBvZiBvcmlnaW4uICovCisrICAgIEZGVmtFeGVjQ29udGV4 dCAqZXhlYyA9IGZmX3ZrX2V4ZWNfZ2V0KCZwLT52a2N0eCwgJmZwLT5jb21wdXRlX2V4ZWMpOwor KyAgICBpZiAoZmZfdmtfZXhlY19zdGFydCgmcC0+dmtjdHgsIGV4ZWMpID49IDApIHsKKysgICAg ICAgIGZvciAoaW50IGkgPSAwOyBpIDwgbmJfc2VtczsgaSsrKQorKyAgICAgICAgICAgIGZmX3Zr X2V4ZWNfYWRkX2RlcF93YWl0X3NlbSgmcC0+dmtjdHgsIGV4ZWMsIGYtPnNlbVtpXSwKKysgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZi0+c2VtX3ZhbHVlW2ldLAorKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBWS19QSVBFTElORV9TVEFHRV8y X0FMTF9DT01NQU5EU19CSVQpOworKyAgICAgICAgZmZfdmtfZXhlY19hZGRfZGVwX2Jvb2xfc2Vt KCZwLT52a2N0eCwgZXhlYywgJmYtPmludGVybmFsLT5kcm1fc3luY19zZW0sIDEsCisrICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVktfUElQRUxJTkVfU1RBR0VfMl9BTExfQ09N TUFORFNfQklULCAwKTsKKysgICAgICAgIGlmIChmZl92a19leGVjX3N1Ym1pdCgmcC0+dmtjdHgs IGV4ZWMpID49IDApIHsKKysgICAgICAgICAgICBWa1NlbWFwaG9yZUdldEZkSW5mb0tIUiBnZXRf ZmRfaW5mbyA9IHsKKysgICAgICAgICAgICAgICAgLnNUeXBlICAgICAgPSBWS19TVFJVQ1RVUkVf VFlQRV9TRU1BUEhPUkVfR0VUX0ZEX0lORk9fS0hSLAorKyAgICAgICAgICAgICAgICAuc2VtYXBo b3JlICA9IGYtPmludGVybmFsLT5kcm1fc3luY19zZW0sCisrICAgICAgICAgICAgICAgIC5oYW5k bGVUeXBlID0gVktfRVhURVJOQUxfU0VNQVBIT1JFX0hBTkRMRV9UWVBFX1NZTkNfRkRfQklULAor KyAgICAgICAgICAgIH07CisrICAgICAgICAgICAgcmV0ID0gdmstPkdldFNlbWFwaG9yZUZkS0hS KGh3Y3R4LT5hY3RfZGV2LCAmZ2V0X2ZkX2luZm8sICZzeW5jX2ZkKTsKKysgICAgICAgICAgICBp ZiAocmV0ICE9IFZLX1NVQ0NFU1MpIHsKKysgICAgICAgICAgICAgICAgYXZfbG9nKGh3Y3R4LCBB Vl9MT0dfV0FSTklORywKKysgICAgICAgICAgICAgICAgICAgICAgICJGYWlsZWQgdG8gZ2V0IHN5 bmMgZmQgZnJvbSBEUk0gbWFwIGV4cG9ydCBzZW1hcGhvcmU6ICVzXG4iLAorKyAgICAgICAgICAg ICAgICAgICAgICAgZmZfdmtfcmV0MnN0cihyZXQpKTsKKysgICAgICAgICAgICAgICAgc3luY19m ZCA9IC0xOworKyAgICAgICAgICAgIH0KKysgICAgICAgIH0gZWxzZSB7CisrICAgICAgICAgICAg ZmZfdmtfZXhlY19kaXNjYXJkX2RlcHMoJnAtPnZrY3R4LCBleGVjKTsKKysgICAgICAgIH0KKysg ICAgfQorKworKyAgICByZXR1cm4gc3luY19mZDsKKyt9CisrI2VuZGlmCisrCisgc3RhdGljIGlu dCB2dWxrYW5fbWFwX3RvX2RybShBVkhXRnJhbWVzQ29udGV4dCAqaHdmYywgQVZGcmFtZSAqZHN0 LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgQVZGcmFtZSAqc3JjLCBpbnQg ZmxhZ3MpCisgeworQEAgLTQxMzcsMTUgKzQyNDEsMTQgQEAgc3RhdGljIGludCB2dWxrYW5fbWFw X3RvX2RybShBVkhXRnJhbWVzQ29udGV4dCAqaHdmYywgQVZGcmFtZSAqZHN0LAorICAgICBBVlZ1 bGthbkRldmljZUNvbnRleHQgKmh3Y3R4ID0gJnAtPnA7CisgICAgIEZGVnVsa2FuRnVuY3Rpb25z ICp2ayA9ICZwLT52a2N0eC52a2ZuOworICAgICBWdWxrYW5GcmFtZXNQcml2ICpmcCA9IGh3ZmMt Pmh3Y3R4OworKyAgICBjb25zdCBpbnQgcGxhbmVzID0gYXZfcGl4X2ZtdF9jb3VudF9wbGFuZXMo aHdmYy0+c3dfZm9ybWF0KTsKKyAgICAgY29uc3QgaW50IG5iX2ltYWdlcyA9IGZmX3ZrX2NvdW50 X2ltYWdlcyhmKTsKKyAgICAgVmtJbWFnZURybUZvcm1hdE1vZGlmaWVyUHJvcGVydGllc0VYVCBk cm1fbW9kID0geworICAgICAgICAgLnNUeXBlID0gVktfU1RSVUNUVVJFX1RZUEVfSU1BR0VfRFJN X0ZPUk1BVF9NT0RJRklFUl9QUk9QRVJUSUVTX0VYVCwKKyAgICAgfTsKKy0gICAgVmtTZW1hcGhv cmVXYWl0SW5mbyB3YWl0X2luZm8gPSB7CistICAgICAgICAuc1R5cGUgICAgICAgICAgPSBWS19T VFJVQ1RVUkVfVFlQRV9TRU1BUEhPUkVfV0FJVF9JTkZPLAorLSAgICAgICAgLmZsYWdzICAgICAg ICAgID0gMHgwLAorLSAgICAgICAgLnNlbWFwaG9yZUNvdW50ID0gbmJfaW1hZ2VzLAorLSAgICB9 OworKyAgICBjb25zdCBpbnQgbmJfc2VtcyA9IG5iX2ltYWdlczsKKysKKysgICAgaW50IHN5bmNf ZmQgPSAtMTsKKyAKKyAgICAgQVZEUk1GcmFtZURlc2NyaXB0b3IgKmRybV9kZXNjID0gYXZfbWFs bG9jeihzaXplb2YoKmRybV9kZXNjKSk7CisgICAgIGlmICghZHJtX2Rlc2MpCitAQCAtNDE1NSwx MSArNDI1OCwyOCBAQCBzdGF0aWMgaW50IHZ1bGthbl9tYXBfdG9fZHJtKEFWSFdGcmFtZXNDb250 ZXh0ICpod2ZjLCBBVkZyYW1lICpkc3QsCisgICAgIGlmIChlcnIgPCAwKQorICAgICAgICAgZ290 byBlbmQ7CisgCistICAgIC8qIFdhaXQgZm9yIHRoZSBvcGVyYXRpb24gdG8gZmluaXNoIHNvIHdl IGNhbiBjbGVhbmx5IGV4cG9ydCBpdC4gKi8KKy0gICAgd2FpdF9pbmZvLnBTZW1hcGhvcmVzID0g Zi0+c2VtOworLSAgICB3YWl0X2luZm8ucFZhbHVlcyAgICAgPSBmLT5zZW1fdmFsdWU7CisrI2lm ZGVmIERNQV9CVUZfSU9DVExfRVhQT1JUX1NZTkNfRklMRQorKyAgICBpZiAoKHAtPnZrY3R4LmV4 dGVuc2lvbnMgJiBGRl9WS19FWFRfRVhURVJOQUxfRkRfU0VNKSAmJgorKyAgICAgICAgZi0+dGls aW5nID09IFZLX0lNQUdFX1RJTElOR19EUk1fRk9STUFUX01PRElGSUVSX0VYVCAmJgorKyAgICAg ICAgdmstPkdldFNlbWFwaG9yZUZkS0hSICYmIHZrLT5DcmVhdGVTZW1hcGhvcmUpIHsKKysgICAg ICAgIGVyciA9IHZ1bGthbl9kcm1fZXhwb3J0X3N5bmNfZmQoaHdmYywgZiwgZnAsIG5iX3NlbXMp OworKyAgICAgICAgaWYgKGVyciA8IDApCisrICAgICAgICAgICAgZ290byBlbmQ7CisrICAgICAg ICBzeW5jX2ZkID0gZXJyOworKyAgICAgICAgZXJyID0gMDsKKysgICAgfQorKyNlbmRpZgorIAor LSAgICB2ay0+V2FpdFNlbWFwaG9yZXMoaHdjdHgtPmFjdF9kZXYsICZ3YWl0X2luZm8sIFVJTlQ2 NF9NQVgpOworKyAgICBpZiAoc3luY19mZCA8IDApIHsKKysgICAgICAgIFZrU2VtYXBob3JlV2Fp dEluZm8gd2FpdF9pbmZvID0geworKyAgICAgICAgICAgIC5zVHlwZSAgICAgICAgICA9IFZLX1NU UlVDVFVSRV9UWVBFX1NFTUFQSE9SRV9XQUlUX0lORk8sCisrICAgICAgICAgICAgLmZsYWdzICAg ICAgICAgID0gMHgwLAorKyAgICAgICAgICAgIC5zZW1hcGhvcmVDb3VudCA9IG5iX3NlbXMsCisr ICAgICAgICAgICAgLnBTZW1hcGhvcmVzICAgID0gZi0+c2VtLAorKyAgICAgICAgICAgIC5wVmFs dWVzICAgICAgICA9IGYtPnNlbV92YWx1ZSwKKysgICAgICAgIH07CisrICAgICAgICB2ay0+V2Fp dFNlbWFwaG9yZXMoaHdjdHgtPmFjdF9kZXYsICZ3YWl0X2luZm8sIFVJTlQ2NF9NQVgpOworKyAg ICB9CisgCisgICAgIGVyciA9IGZmX2h3ZnJhbWVfbWFwX2NyZWF0ZShzcmMtPmh3X2ZyYW1lc19j dHgsIGRzdCwgc3JjLCAmdnVsa2FuX3VubWFwX3RvX2RybSwgZHJtX2Rlc2MpOworICAgICBpZiAo ZXJyIDwgMCkKK0BAIC00MTczLDcgKzQyOTMsNyBAQCBzdGF0aWMgaW50IHZ1bGthbl9tYXBfdG9f ZHJtKEFWSFdGcmFtZXNDb250ZXh0ICpod2ZjLCBBVkZyYW1lICpkc3QsCisgICAgICAgICBnb3Rv IGVuZDsKKyAgICAgfQorIAorLSAgICBmb3IgKGludCBpID0gMDsgKGkgPCBuYl9pbWFnZXMpICYm IChmLT5tZW1baV0pOyBpKyspIHsKKysgICAgZm9yIChpbnQgaSA9IDA7IChpIDwgcGxhbmVzKSAm JiAoZi0+bWVtW2ldKTsgaSsrKSB7CisgICAgICAgICBWa01lbW9yeUdldEZkSW5mb0tIUiBleHBv cnRfaW5mbyA9IHsKKyAgICAgICAgICAgICAuc1R5cGUgICAgICA9IFZLX1NUUlVDVFVSRV9UWVBF X01FTU9SWV9HRVRfRkRfSU5GT19LSFIsCisgICAgICAgICAgICAgLm1lbW9yeSAgICAgPSBmLT5t ZW1baV0sCitAQCAtNDE4OCwxMiArNDMwOCwzMCBAQCBzdGF0aWMgaW50IHZ1bGthbl9tYXBfdG9f ZHJtKEFWSFdGcmFtZXNDb250ZXh0ICpod2ZjLCBBVkZyYW1lICpkc3QsCisgICAgICAgICAgICAg Z290byBlbmQ7CisgICAgICAgICB9CisgCisrI2lmIEhBVkVfTElOVVhfRE1BX0JVRl9IICYmIGRl ZmluZWQoRE1BX0JVRl9JT0NUTF9JTVBPUlRfU1lOQ19GSUxFKQorKyAgICAgICAgaWYgKHN5bmNf ZmQgPj0gMCkgeworKyAgICAgICAgICAgIGludCBkdXBfZmQgPSBkdXAoc3luY19mZCk7CisrICAg ICAgICAgICAgaWYgKGR1cF9mZCA+PSAwKSB7CisrICAgICAgICAgICAgICAgIHN0cnVjdCBkbWFf YnVmX2ltcG9ydF9zeW5jX2ZpbGUgaW1wb3J0X2luZm8gPSB7CisrICAgICAgICAgICAgICAgICAg ICAuZmxhZ3MgPSBETUFfQlVGX1NZTkNfV1JJVEUsCisrICAgICAgICAgICAgICAgICAgICAuZmQg PSBkdXBfZmQsCisrICAgICAgICAgICAgICAgIH07CisrICAgICAgICAgICAgICAgIGlmIChpb2N0 bChkcm1fZGVzYy0+b2JqZWN0c1tpXS5mZCwgRE1BX0JVRl9JT0NUTF9JTVBPUlRfU1lOQ19GSUxF LCAmaW1wb3J0X2luZm8pIDwgMCkKKysgICAgICAgICAgICAgICAgICAgIGF2X2xvZyhod2ZjLCBB Vl9MT0dfV0FSTklORywgIkRNQV9CVUZfSU9DVExfSU1QT1JUX1NZTkNfRklMRSBmYWlsZWQ6ICVz XG4iLCBhdl9lcnIyc3RyKEFWRVJST1IoZXJybm8pKSk7CisrICAgICAgICAgICAgICAgIGNsb3Nl KGR1cF9mZCk7CisrICAgICAgICAgICAgfSBlbHNlIHsKKysgICAgICAgICAgICAgICAgYXZfbG9n KGh3ZmMsIEFWX0xPR19XQVJOSU5HLCAiZHVwKHN5bmNfZmQpIGZhaWxlZDogJXNcbiIsIGF2X2Vy cjJzdHIoQVZFUlJPUihlcnJubykpKTsKKysgICAgICAgICAgICB9CisrICAgICAgICB9CisrI2Vu ZGlmCisrCisgICAgICAgICBkcm1fZGVzYy0+bmJfb2JqZWN0cysrOworICAgICAgICAgZHJtX2Rl c2MtPm9iamVjdHNbaV0uc2l6ZSA9IGYtPnNpemVbaV07CisgICAgICAgICBkcm1fZGVzYy0+b2Jq ZWN0c1tpXS5mb3JtYXRfbW9kaWZpZXIgPSBkcm1fbW9kLmRybUZvcm1hdE1vZGlmaWVyOworICAg ICB9CisgCistICAgIGRybV9kZXNjLT5uYl9sYXllcnMgPSBuYl9pbWFnZXM7CisrICAgIC8qIE5W MTIgaGFzIDIgcGxhbmVzIGJ1dCAxIGltYWdlL3NlbWFwaG9yZSAqLworKyAgICBkcm1fZGVzYy0+ bmJfbGF5ZXJzID0gRkZNQVgocGxhbmVzLCBuYl9pbWFnZXMpOworICAgICBmb3IgKGludCBpID0g MDsgaSA8IGRybV9kZXNjLT5uYl9sYXllcnM7IGkrKykgeworICAgICAgICAgVmtGb3JtYXQgcGxh bmVfdmtmbXQgPSBhdl92a2ZtdF9mcm9tX3BpeGZtdChod2ZjLT5zd19mb3JtYXQpW2ldOworIAor QEAgLTQyMDgsMTMgKzQzNDYsMTQgQEAgc3RhdGljIGludCB2dWxrYW5fbWFwX3RvX2RybShBVkhX RnJhbWVzQ29udGV4dCAqaHdmYywgQVZGcmFtZSAqZHN0LAorIAorICAgICAgICAgZm9yIChpbnQg aiA9IDA7IGogPCBkcm1fZGVzYy0+bGF5ZXJzW2ldLm5iX3BsYW5lczsgaisrKSB7CisgICAgICAg ICAgICAgVmtTdWJyZXNvdXJjZUxheW91dCBsYXlvdXQ7CisrICAgICAgICAgICAgaW50IGFzcGVj dF9wbGFuZSA9IChuYl9pbWFnZXMgPT0gMSkgPyBpIDogajsKKyAgICAgICAgICAgICBWa0ltYWdl U3VicmVzb3VyY2Ugc3ViID0geworLSAgICAgICAgICAgICAgICAuYXNwZWN0TWFzayA9IHBsYW5l X2luZGV4X3RvX2FzcGVjdChqKSwKKysgICAgICAgICAgICAgICAgLmFzcGVjdE1hc2sgPSBwbGFu ZV9pbmRleF90b19hc3BlY3QoYXNwZWN0X3BsYW5lKSwKKyAgICAgICAgICAgICB9OworIAorICAg ICAgICAgICAgIGRybV9kZXNjLT5sYXllcnNbaV0ucGxhbmVzW2pdLm9iamVjdF9pbmRleCA9IEZG TUlOKGksIGRybV9kZXNjLT5uYl9vYmplY3RzIC0gMSk7CisgCistICAgICAgICAgICAgdmstPkdl dEltYWdlU3VicmVzb3VyY2VMYXlvdXQoaHdjdHgtPmFjdF9kZXYsIGYtPmltZ1tpXSwgJnN1Yiwg JmxheW91dCk7CisrICAgICAgICAgICAgdmstPkdldEltYWdlU3VicmVzb3VyY2VMYXlvdXQoaHdj dHgtPmFjdF9kZXYsIGYtPmltZ1tGRk1JTihpLCBuYl9pbWFnZXMgLSAxKV0sICZzdWIsICZsYXlv dXQpOworICAgICAgICAgICAgIGRybV9kZXNjLT5sYXllcnNbaV0ucGxhbmVzW2pdLm9mZnNldCA9 IGxheW91dC5vZmZzZXQ7CisgICAgICAgICAgICAgZHJtX2Rlc2MtPmxheWVyc1tpXS5wbGFuZXNb al0ucGl0Y2ggID0gbGF5b3V0LnJvd1BpdGNoOworICAgICAgICAgfQorQEAgLTQyMzQsMTMgKzQz NzMsMjEgQEAgc3RhdGljIGludCB2dWxrYW5fbWFwX3RvX2RybShBVkhXRnJhbWVzQ29udGV4dCAq aHdmYywgQVZGcmFtZSAqZHN0LAorICAgICBkc3QtPndpZHRoICAgPSBzcmMtPndpZHRoOworICAg ICBkc3QtPmhlaWdodCAgPSBzcmMtPmhlaWdodDsKKyAgICAgZHN0LT5kYXRhWzBdID0gKHVpbnQ4 X3QgKilkcm1fZGVzYzsKKysgICAgZHN0LT5od19mcmFtZXNfY3R4ID0gYXZfYnVmZmVyX3JlZihz cmMtPmh3X2ZyYW1lc19jdHgpOworKworKyAgICBpZiAoc3luY19mZCA+PSAwKQorKyAgICAgICAg Y2xvc2Uoc3luY19mZCk7CisgCisgICAgIGF2X2xvZyhod2ZjLCBBVl9MT0dfVkVSQk9TRSwgIk1h cHBlZCBBVlZrRnJhbWUgdG8gYSBEUk0gb2JqZWN0IVxuIik7CisgCisgICAgIHJldHVybiAwOwor IAorIGVuZDoKKysgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBkcm1fZGVzYy0+bmJfb2JqZWN0czsg aSsrKQorKyAgICAgICAgY2xvc2UoZHJtX2Rlc2MtPm9iamVjdHNbaV0uZmQpOworICAgICBhdl9m cmVlKGRybV9kZXNjKTsKKysgICAgaWYgKHN5bmNfZmQgPj0gMCkKKysgICAgICAgIGNsb3NlKHN5 bmNfZmQpOworICAgICByZXR1cm4gZXJyOworIH0KKyAKK0BAIC00NzIwLDcgKzQ4NjcsNyBAQCBl bmQ6Cisgc3RhdGljIGludCB2dWxrYW5fdHJhbnNmZXJfZGF0YV90byhBVkhXRnJhbWVzQ29udGV4 dCAqaHdmYywgQVZGcmFtZSAqZHN0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgY29uc3QgQVZGcmFtZSAqc3JjKQorIHsKKy0gICAgYXZfdW51c2VkIFZ1bGthbkRldmljZVBy aXYgKnAgPSBod2ZjLT5kZXZpY2VfY3R4LT5od2N0eDsKKysgICAgVnVsa2FuRGV2aWNlUHJpdiAq cCA9IGh3ZmMtPmRldmljZV9jdHgtPmh3Y3R4OworIAorICAgICBzd2l0Y2ggKHNyYy0+Zm9ybWF0 KSB7CisgI2lmIENPTkZJR19DVURBCitAQCAtNDc1MCw2ICs0ODk3LDcgQEAgc3RhdGljIGludCB2 dWxrYW5fdHJhbnNmZXJfZGF0YV90b19jdWRhKEFWSFdGcmFtZXNDb250ZXh0ICpod2ZjLCBBVkZy YW1lICpkc3QsCisgICAgIENVY29udGV4dCBkdW1teTsKKyAgICAgQVZWa0ZyYW1lICpkc3RfZjsK KyAgICAgQVZWa0ZyYW1lSW50ZXJuYWwgKmRzdF9pbnQ7CisrICAgIFZ1bGthbkRldmljZVByaXYg KnAgPSBod2ZjLT5kZXZpY2VfY3R4LT5od2N0eDsKKyAgICAgVnVsa2FuRnJhbWVzUHJpdiAqZnAg PSBod2ZjLT5od2N0eDsKKyAgICAgY29uc3QgaW50IHBsYW5lcyA9IGF2X3BpeF9mbXRfY291bnRf cGxhbmVzKGh3ZmMtPnN3X2Zvcm1hdCk7CisgICAgIGNvbnN0IEFWUGl4Rm10RGVzY3JpcHRvciAq ZGVzYyA9IGF2X3BpeF9mbXRfZGVzY19nZXQoaHdmYy0+c3dfZm9ybWF0KTsKK0BAIC00ODMwLDcg KzQ5NzgsNyBAQCBzdGF0aWMgaW50IHZ1bGthbl90cmFuc2Zlcl9kYXRhX3RvX2N1ZGEoQVZIV0Zy YW1lc0NvbnRleHQgKmh3ZmMsIEFWRnJhbWUgKmRzdCwKKyAKKyBmYWlsOgorICAgICBDSEVDS19D VShjdS0+Y3VDdHhQb3BDdXJyZW50KCZkdW1teSkpOworLSAgICB2dWxrYW5fZnJlZV9pbnRlcm5h bChkc3RfZik7CisrICAgIHZ1bGthbl9mcmVlX2ludGVybmFsKHAsIGRzdF9mKTsKKyAgICAgYXZf YnVmZmVyX3VucmVmKCZkc3QtPmJ1ZlswXSk7CisgICAgIHJldHVybiBlcnI7CisgfQorLS0gCisy LjI1LjEKKwoKZGlmZiAtLWdpdCBhL2ZmbXBlZy5zcGVjIGIvZmZtcGVnLnNwZWMKaW5kZXggODhk YTNkOC4uNjUzYzE1MSAxMDA2NDQKLS0tIGEvZmZtcGVnLnNwZWMKKysrIGIvZmZtcGVnLnNwZWMK QEAgLTEyOSw2ICsxMjksOSBAQCBQYXRjaDI6ICAgICAgICAgZmZtcGVnLWFsbG93LWZkay1hYWMt ZnJlZS5wYXRjaAogIyBCYWNrcG9ydCBmaXggZm9yIENWRS0yMDI2LTMwOTk4CiBQYXRjaDEwOiAg ICAgICAgaHR0cHM6Ly9naXQuZmZtcGVnLm9yZy9naXR3ZWIvZmZtcGVnLmdpdC9wYXRjaC8xOGI4 M2YyZDBhMGY5YmNiYWZiMDAwMWEyOTExMzI3YzRiOGRmMDU2Iy9mZm1wZWctQ1ZFLTIwMjYtMzA5 OTgucGF0Y2gKIAorIyBBZGQgdXBzdHJlYW0gY29tbWl0IHRvIGFkZHJlc3MgZmlyZWZveCB2dWxr YW4gZGlyZWN0LWV4cG9ydCByZW5kZXJpbmcgaXNzdWUKK1BhdGNoMTE6ICAgICAgICAgaHR0cHM6 Ly9naXQuZmZtcGVnLm9yZy9naXR3ZWIvZmZtcGVnLmdpdC9wYXRjaC8yNWUxODdmODQ5NDk2NjM3 N2E0YjlkMDc3MjYwY2U3YjUwMWE5MTFjIy9mZm1wZWctdnVsa2FuLWRpcmVjdC1leHBvcnQucGF0 Y2gKKwogIyBBZGQgZmlyc3RfZHRzIGdldHRlciB0byBsaWJhdmZvcm1hdCBmb3IgQ2hyb21pdW0K ICMgU2VlOiBodHRwczovL2J1Z3ppbGxhLnJlZGhhdC5jb20vc2hvd19idWcuY2dpP2lkPTIyNDAx MjcKICMgUmVmZXJlbmNlOiBodHRwczovL2NyYnVnLmNvbS8xMzA2NTYwCg==