From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tom St Denis Subject: [PATCH] drm/amd/amdgpu: port of DCE v6 to new headers Date: Mon, 14 Nov 2016 09:51:03 -0500 Message-ID: <20161114145103.10275-1-tom.stdenis@amd.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: List-Id: Discussion list for AMD gfx List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: amd-gfx-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Sender: "amd-gfx" To: amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Cc: Tom St Denis UG9ydCBvZiBTSSBEQ0UgdjYgb3ZlciB0byBuZXcgQU1ER1BVIGhlYWRlcnMuICBUZXN0ZWQgb24g YQpUYWhpdGkgd2l0aCBHTk9NRSB0aHJvdWdoIHZhcmlvdXMgaG90IHBsdWdzL3JvdGF0aW9ucy9z aXplcy9mdWxsc2NyZWVuL3dpbmRvd2VkIGFuZApzdGFnaW5nIGRybS94Zjg2LXZpZGVvLWFtZGdw dS4KClNpZ25lZC1vZmYtYnk6IFRvbSBTdCBEZW5pcyA8dG9tLnN0ZGVuaXNAYW1kLmNvbT4KLS0t CiBkcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9kY2VfdjZfMC5jICAgICAgICAgICAgICB8IDQ0 MSArKysrKysrKysrKy0tLS0tLS0tLS0KIGRyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L3NpX2Vu dW1zLmggICAgICAgICAgICAgIHwgMzE5ICsrKysrKysrKy0tLS0tLQogLi4uL2dwdS9kcm0vYW1k L2luY2x1ZGUvYXNpY19yZWcvZGNlL2RjZV82XzBfZC5oICAgfCAgMjEgKwogMyBmaWxlcyBjaGFu Z2VkLCA0NDcgaW5zZXJ0aW9ucygrKSwgMzM0IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2RjZV92Nl8wLmMgYi9kcml2ZXJzL2dwdS9kcm0vYW1k L2FtZGdwdS9kY2VfdjZfMC5jCmluZGV4IGIwZmRjMjkxYmY0My4uOTYwZThmNjQ4NjRkIDEwMDY0 NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9kY2VfdjZfMC5jCisrKyBiL2RyaXZl cnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2RjZV92Nl8wLmMKQEAgLTMwLDggKzMwLDE5IEBACiAjaW5j bHVkZSAiYXRvbWJpb3NfZW5jb2RlcnMuaCIKICNpbmNsdWRlICJhbWRncHVfcGxsLmgiCiAjaW5j bHVkZSAiYW1kZ3B1X2Nvbm5lY3RvcnMuaCIKLSNpbmNsdWRlICJzaS9zaV9yZWcuaCIKLSNpbmNs dWRlICJzaS9zaWQuaCIKKworI2luY2x1ZGUgImJpZi9iaWZfM18wX2QuaCIKKyNpbmNsdWRlICJi aWYvYmlmXzNfMF9zaF9tYXNrLmgiCisjaW5jbHVkZSAib3NzL29zc18xXzBfZC5oIgorI2luY2x1 ZGUgIm9zcy9vc3NfMV8wX3NoX21hc2suaCIKKyNpbmNsdWRlICJnY2EvZ2Z4XzZfMF9kLmgiCisj aW5jbHVkZSAiZ2NhL2dmeF82XzBfc2hfbWFzay5oIgorI2luY2x1ZGUgImdtYy9nbWNfNl8wX2Qu aCIKKyNpbmNsdWRlICJnbWMvZ21jXzZfMF9zaF9tYXNrLmgiCisjaW5jbHVkZSAiZGNlL2RjZV82 XzBfZC5oIgorI2luY2x1ZGUgImRjZS9kY2VfNl8wX3NoX21hc2suaCIKKyNpbmNsdWRlICJnY2Ev Z2Z4XzdfMl9lbnVtLmgiCisjaW5jbHVkZSAic2lfZW51bXMuaCIKIAogc3RhdGljIHZvaWQgZGNl X3Y2XzBfc2V0X2Rpc3BsYXlfZnVuY3Moc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYpOwogc3Rh dGljIHZvaWQgZGNlX3Y2XzBfc2V0X2lycV9mdW5jcyhzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRl dik7CkBAIC00OCwxMiArNTksMTIgQEAgc3RhdGljIGNvbnN0IHUzMiBjcnRjX29mZnNldHNbNl0g PQogCiBzdGF0aWMgY29uc3QgdTMyIGhwZF9vZmZzZXRzW10gPQogewotCURDX0hQRDFfSU5UX1NU QVRVUyAtIERDX0hQRDFfSU5UX1NUQVRVUywKLQlEQ19IUEQyX0lOVF9TVEFUVVMgLSBEQ19IUEQx X0lOVF9TVEFUVVMsCi0JRENfSFBEM19JTlRfU1RBVFVTIC0gRENfSFBEMV9JTlRfU1RBVFVTLAot CURDX0hQRDRfSU5UX1NUQVRVUyAtIERDX0hQRDFfSU5UX1NUQVRVUywKLQlEQ19IUEQ1X0lOVF9T VEFUVVMgLSBEQ19IUEQxX0lOVF9TVEFUVVMsCi0JRENfSFBENl9JTlRfU1RBVFVTIC0gRENfSFBE MV9JTlRfU1RBVFVTLAorCW1tRENfSFBEMV9JTlRfU1RBVFVTIC0gbW1EQ19IUEQxX0lOVF9TVEFU VVMsCisJbW1EQ19IUEQyX0lOVF9TVEFUVVMgLSBtbURDX0hQRDFfSU5UX1NUQVRVUywKKwltbURD X0hQRDNfSU5UX1NUQVRVUyAtIG1tRENfSFBEMV9JTlRfU1RBVFVTLAorCW1tRENfSFBENF9JTlRf U1RBVFVTIC0gbW1EQ19IUEQxX0lOVF9TVEFUVVMsCisJbW1EQ19IUEQ1X0lOVF9TVEFUVVMgLSBt bURDX0hQRDFfSU5UX1NUQVRVUywKKwltbURDX0hQRDZfSU5UX1NUQVRVUyAtIG1tRENfSFBEMV9J TlRfU1RBVFVTLAogfTsKIAogc3RhdGljIGNvbnN0IHVpbnQzMl90IGRpZ19vZmZzZXRzW10gPSB7 CkBAIC03MywzMiArODQsMzIgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCB7CiAJdWludDMyX3QJaHBk OwogCiB9IGludGVycnVwdF9zdGF0dXNfb2Zmc2V0c1s2XSA9IHsgewotCS5yZWcgPSBESVNQX0lO VEVSUlVQVF9TVEFUVVMsCisJLnJlZyA9IG1tRElTUF9JTlRFUlJVUFRfU1RBVFVTLAogCS52Ymxh bmsgPSBESVNQX0lOVEVSUlVQVF9TVEFUVVNfX0xCX0QxX1ZCTEFOS19JTlRFUlJVUFRfTUFTSywK IAkudmxpbmUgPSBESVNQX0lOVEVSUlVQVF9TVEFUVVNfX0xCX0QxX1ZMSU5FX0lOVEVSUlVQVF9N QVNLLAogCS5ocGQgPSBESVNQX0lOVEVSUlVQVF9TVEFUVVNfX0RDX0hQRDFfSU5URVJSVVBUX01B U0sKIH0sIHsKLQkucmVnID0gRElTUF9JTlRFUlJVUFRfU1RBVFVTX0NPTlRJTlVFLAorCS5yZWcg PSBtbURJU1BfSU5URVJSVVBUX1NUQVRVU19DT05USU5VRSwKIAkudmJsYW5rID0gRElTUF9JTlRF UlJVUFRfU1RBVFVTX0NPTlRJTlVFX19MQl9EMl9WQkxBTktfSU5URVJSVVBUX01BU0ssCiAJLnZs aW5lID0gRElTUF9JTlRFUlJVUFRfU1RBVFVTX0NPTlRJTlVFX19MQl9EMl9WTElORV9JTlRFUlJV UFRfTUFTSywKIAkuaHBkID0gRElTUF9JTlRFUlJVUFRfU1RBVFVTX0NPTlRJTlVFX19EQ19IUEQy X0lOVEVSUlVQVF9NQVNLCiB9LCB7Ci0JLnJlZyA9IERJU1BfSU5URVJSVVBUX1NUQVRVU19DT05U SU5VRTIsCisJLnJlZyA9IG1tRElTUF9JTlRFUlJVUFRfU1RBVFVTX0NPTlRJTlVFMiwKIAkudmJs YW5rID0gRElTUF9JTlRFUlJVUFRfU1RBVFVTX0NPTlRJTlVFMl9fTEJfRDNfVkJMQU5LX0lOVEVS UlVQVF9NQVNLLAogCS52bGluZSA9IERJU1BfSU5URVJSVVBUX1NUQVRVU19DT05USU5VRTJfX0xC X0QzX1ZMSU5FX0lOVEVSUlVQVF9NQVNLLAogCS5ocGQgPSBESVNQX0lOVEVSUlVQVF9TVEFUVVNf Q09OVElOVUUyX19EQ19IUEQzX0lOVEVSUlVQVF9NQVNLCiB9LCB7Ci0JLnJlZyA9IERJU1BfSU5U RVJSVVBUX1NUQVRVU19DT05USU5VRTMsCisJLnJlZyA9IG1tRElTUF9JTlRFUlJVUFRfU1RBVFVT X0NPTlRJTlVFMywKIAkudmJsYW5rID0gRElTUF9JTlRFUlJVUFRfU1RBVFVTX0NPTlRJTlVFM19f TEJfRDRfVkJMQU5LX0lOVEVSUlVQVF9NQVNLLAogCS52bGluZSA9IERJU1BfSU5URVJSVVBUX1NU QVRVU19DT05USU5VRTNfX0xCX0Q0X1ZMSU5FX0lOVEVSUlVQVF9NQVNLLAogCS5ocGQgPSBESVNQ X0lOVEVSUlVQVF9TVEFUVVNfQ09OVElOVUUzX19EQ19IUEQ0X0lOVEVSUlVQVF9NQVNLCiB9LCB7 Ci0JLnJlZyA9IERJU1BfSU5URVJSVVBUX1NUQVRVU19DT05USU5VRTQsCisJLnJlZyA9IG1tRElT UF9JTlRFUlJVUFRfU1RBVFVTX0NPTlRJTlVFNCwKIAkudmJsYW5rID0gRElTUF9JTlRFUlJVUFRf U1RBVFVTX0NPTlRJTlVFNF9fTEJfRDVfVkJMQU5LX0lOVEVSUlVQVF9NQVNLLAogCS52bGluZSA9 IERJU1BfSU5URVJSVVBUX1NUQVRVU19DT05USU5VRTRfX0xCX0Q1X1ZMSU5FX0lOVEVSUlVQVF9N QVNLLAogCS5ocGQgPSBESVNQX0lOVEVSUlVQVF9TVEFUVVNfQ09OVElOVUU0X19EQ19IUEQ1X0lO VEVSUlVQVF9NQVNLCiB9LCB7Ci0JLnJlZyA9IERJU1BfSU5URVJSVVBUX1NUQVRVU19DT05USU5V RTUsCisJLnJlZyA9IG1tRElTUF9JTlRFUlJVUFRfU1RBVFVTX0NPTlRJTlVFNSwKIAkudmJsYW5r ID0gRElTUF9JTlRFUlJVUFRfU1RBVFVTX0NPTlRJTlVFNV9fTEJfRDZfVkJMQU5LX0lOVEVSUlVQ VF9NQVNLLAogCS52bGluZSA9IERJU1BfSU5URVJSVVBUX1NUQVRVU19DT05USU5VRTVfX0xCX0Q2 X1ZMSU5FX0lOVEVSUlVQVF9NQVNLLAogCS5ocGQgPSBESVNQX0lOVEVSUlVQVF9TVEFUVVNfQ09O VElOVUU1X19EQ19IUEQ2X0lOVEVSUlVQVF9NQVNLCkBAIC0xMTksNyArMTMwLDcgQEAgc3RhdGlj IHZvaWQgZGNlX3Y2XzBfYXVkaW9fZW5kcHRfd3JlZyhzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRl diwKIAogc3RhdGljIGJvb2wgZGNlX3Y2XzBfaXNfaW5fdmJsYW5rKHN0cnVjdCBhbWRncHVfZGV2 aWNlICphZGV2LCBpbnQgY3J0YykKIHsKLQlpZiAoUlJFRzMyKEVWRVJHUkVFTl9DUlRDX1NUQVRV UyArIGNydGNfb2Zmc2V0c1tjcnRjXSkgJiBFVkVSR1JFRU5fQ1JUQ19WX0JMQU5LKQorCWlmIChS UkVHMzIobW1DUlRDX1NUQVRVUyArIGNydGNfb2Zmc2V0c1tjcnRjXSkgJiBDUlRDX1NUQVRVU19f Q1JUQ19WX0JMQU5LX01BU0spCiAJCXJldHVybiB0cnVlOwogCWVsc2UKIAkJcmV0dXJuIGZhbHNl OwpAQCAtMTI5LDggKzE0MCw4IEBAIHN0YXRpYyBib29sIGRjZV92Nl8wX2lzX2NvdW50ZXJfbW92 aW5nKHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2LCBpbnQgY3J0YykKIHsKIAl1MzIgcG9zMSwg cG9zMjsKIAotCXBvczEgPSBSUkVHMzIoRVZFUkdSRUVOX0NSVENfU1RBVFVTX1BPU0lUSU9OICsg Y3J0Y19vZmZzZXRzW2NydGNdKTsKLQlwb3MyID0gUlJFRzMyKEVWRVJHUkVFTl9DUlRDX1NUQVRV U19QT1NJVElPTiArIGNydGNfb2Zmc2V0c1tjcnRjXSk7CisJcG9zMSA9IFJSRUczMihtbUNSVENf U1RBVFVTX1BPU0lUSU9OICsgY3J0Y19vZmZzZXRzW2NydGNdKTsKKwlwb3MyID0gUlJFRzMyKG1t Q1JUQ19TVEFUVVNfUE9TSVRJT04gKyBjcnRjX29mZnNldHNbY3J0Y10pOwogCiAJaWYgKHBvczEg IT0gcG9zMikKIAkJcmV0dXJuIHRydWU7CkBAIC0xNTIsNyArMTYzLDcgQEAgc3RhdGljIHZvaWQg ZGNlX3Y2XzBfdmJsYW5rX3dhaXQoc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYsIGludCBjcnRj KQogCWlmIChjcnRjID49IGFkZXYtPm1vZGVfaW5mby5udW1fY3J0YykKIAkJcmV0dXJuOwogCi0J aWYgKCEoUlJFRzMyKEVWRVJHUkVFTl9DUlRDX0NPTlRST0wgKyBjcnRjX29mZnNldHNbY3J0Y10p ICYgRVZFUkdSRUVOX0NSVENfTUFTVEVSX0VOKSkKKwlpZiAoIShSUkVHMzIobW1DUlRDX0NPTlRS T0wgKyBjcnRjX29mZnNldHNbY3J0Y10pICYgQ1JUQ19DT05UUk9MX19DUlRDX01BU1RFUl9FTl9N QVNLKSkKIAkJcmV0dXJuOwogCiAJLyogZGVwZW5kaW5nIG9uIHdoZW4gd2UgaGl0IHZibGFuaywg d2UgbWF5IGJlIGNsb3NlIHRvIGFjdGl2ZTsgaWYgc28sCkBAIC0xODAsNyArMTkxLDcgQEAgc3Rh dGljIHUzMiBkY2VfdjZfMF92YmxhbmtfZ2V0X2NvdW50ZXIoc3RydWN0IGFtZGdwdV9kZXZpY2Ug KmFkZXYsIGludCBjcnRjKQogCWlmIChjcnRjID49IGFkZXYtPm1vZGVfaW5mby5udW1fY3J0YykK IAkJcmV0dXJuIDA7CiAJZWxzZQotCQlyZXR1cm4gUlJFRzMyKENSVENfU1RBVFVTX0ZSQU1FX0NP VU5UICsgY3J0Y19vZmZzZXRzW2NydGNdKTsKKwkJcmV0dXJuIFJSRUczMihtbUNSVENfU1RBVFVT X0ZSQU1FX0NPVU5UICsgY3J0Y19vZmZzZXRzW2NydGNdKTsKIH0KIAogc3RhdGljIHZvaWQgZGNl X3Y2XzBfcGFnZWZsaXBfaW50ZXJydXB0X2luaXQoc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYp CkBAIC0yMjAsMTYgKzIzMSwxNiBAQCBzdGF0aWMgdm9pZCBkY2VfdjZfMF9wYWdlX2ZsaXAoc3Ry dWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYsCiAJc3RydWN0IGFtZGdwdV9jcnRjICphbWRncHVfY3J0 YyA9IGFkZXYtPm1vZGVfaW5mby5jcnRjc1tjcnRjX2lkXTsKIAogCS8qIGZsaXAgYXQgaHN5bmMg Zm9yIGFzeW5jLCBkZWZhdWx0IGlzIHZzeW5jICovCi0JV1JFRzMyKEVWRVJHUkVFTl9HUlBIX0ZM SVBfQ09OVFJPTCArIGFtZGdwdV9jcnRjLT5jcnRjX29mZnNldCwgYXN5bmMgPwotCSAgICAgICBF VkVSR1JFRU5fR1JQSF9TVVJGQUNFX1VQREFURV9IX1JFVFJBQ0VfRU4gOiAwKTsKKwlXUkVHMzIo bW1HUlBIX0ZMSVBfQ09OVFJPTCArIGFtZGdwdV9jcnRjLT5jcnRjX29mZnNldCwgYXN5bmMgPwor CSAgICAgICBHUlBIX0ZMSVBfQ09OVFJPTF9fR1JQSF9TVVJGQUNFX1VQREFURV9IX1JFVFJBQ0Vf RU5fTUFTSyA6IDApOwogCS8qIHVwZGF0ZSB0aGUgc2Nhbm91dCBhZGRyZXNzZXMgKi8KLQlXUkVH MzIoRVZFUkdSRUVOX0dSUEhfUFJJTUFSWV9TVVJGQUNFX0FERFJFU1NfSElHSCArIGFtZGdwdV9j cnRjLT5jcnRjX29mZnNldCwKKwlXUkVHMzIobW1HUlBIX1BSSU1BUllfU1VSRkFDRV9BRERSRVNT X0hJR0ggKyBhbWRncHVfY3J0Yy0+Y3J0Y19vZmZzZXQsCiAJICAgICAgIHVwcGVyXzMyX2JpdHMo Y3J0Y19iYXNlKSk7Ci0JV1JFRzMyKEVWRVJHUkVFTl9HUlBIX1BSSU1BUllfU1VSRkFDRV9BRERS RVNTICsgYW1kZ3B1X2NydGMtPmNydGNfb2Zmc2V0LAorCVdSRUczMihtbUdSUEhfUFJJTUFSWV9T VVJGQUNFX0FERFJFU1MgKyBhbWRncHVfY3J0Yy0+Y3J0Y19vZmZzZXQsCiAJICAgICAgICh1MzIp Y3J0Y19iYXNlKTsKIAogCS8qIHBvc3QgdGhlIHdyaXRlICovCi0JUlJFRzMyKEVWRVJHUkVFTl9H UlBIX1BSSU1BUllfU1VSRkFDRV9BRERSRVNTICsgYW1kZ3B1X2NydGMtPmNydGNfb2Zmc2V0KTsK KwlSUkVHMzIobW1HUlBIX1BSSU1BUllfU1VSRkFDRV9BRERSRVNTICsgYW1kZ3B1X2NydGMtPmNy dGNfb2Zmc2V0KTsKIH0KIAogc3RhdGljIGludCBkY2VfdjZfMF9jcnRjX2dldF9zY2Fub3V0cG9z KHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2LCBpbnQgY3J0YywKQEAgLTIzNyw4ICsyNDgsOCBA QCBzdGF0aWMgaW50IGRjZV92Nl8wX2NydGNfZ2V0X3NjYW5vdXRwb3Moc3RydWN0IGFtZGdwdV9k ZXZpY2UgKmFkZXYsIGludCBjcnRjLAogewogCWlmICgoY3J0YyA8IDApIHx8IChjcnRjID49IGFk ZXYtPm1vZGVfaW5mby5udW1fY3J0YykpCiAJCXJldHVybiAtRUlOVkFMOwotCSp2YmwgPSBSUkVH MzIoRVZFUkdSRUVOX0NSVENfVl9CTEFOS19TVEFSVF9FTkQgKyBjcnRjX29mZnNldHNbY3J0Y10p OwotCSpwb3NpdGlvbiA9IFJSRUczMihFVkVSR1JFRU5fQ1JUQ19TVEFUVVNfUE9TSVRJT04gKyBj cnRjX29mZnNldHNbY3J0Y10pOworCSp2YmwgPSBSUkVHMzIobW1DUlRDX1ZfQkxBTktfU1RBUlRf RU5EICsgY3J0Y19vZmZzZXRzW2NydGNdKTsKKwkqcG9zaXRpb24gPSBSUkVHMzIobW1DUlRDX1NU QVRVU19QT1NJVElPTiArIGNydGNfb2Zmc2V0c1tjcnRjXSk7CiAKIAlyZXR1cm4gMDsKIApAQCAt MjYxLDcgKzI3Miw3IEBAIHN0YXRpYyBib29sIGRjZV92Nl8wX2hwZF9zZW5zZShzdHJ1Y3QgYW1k Z3B1X2RldmljZSAqYWRldiwKIAlpZiAoaHBkID49IGFkZXYtPm1vZGVfaW5mby5udW1faHBkKQog CQlyZXR1cm4gY29ubmVjdGVkOwogCi0JaWYgKFJSRUczMihEQ19IUEQxX0lOVF9TVEFUVVMgKyBo cGRfb2Zmc2V0c1tocGRdKSAmIERDX0hQRHhfU0VOU0UpCisJaWYgKFJSRUczMihtbURDX0hQRDFf SU5UX1NUQVRVUyArIGhwZF9vZmZzZXRzW2hwZF0pICYgRENfSFBEMV9JTlRfU1RBVFVTX19EQ19I UEQxX1NFTlNFX01BU0spCiAJCWNvbm5lY3RlZCA9IHRydWU7CiAKIAlyZXR1cm4gY29ubmVjdGVk OwpAQCAtMjg0LDEyICsyOTUsMTIgQEAgc3RhdGljIHZvaWQgZGNlX3Y2XzBfaHBkX3NldF9wb2xh cml0eShzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldiwKIAlpZiAoaHBkID49IGFkZXYtPm1vZGVf aW5mby5udW1faHBkKQogCQlyZXR1cm47CiAKLQl0bXAgPSBSUkVHMzIoRENfSFBEMV9JTlRfQ09O VFJPTCArIGhwZF9vZmZzZXRzW2hwZF0pOworCXRtcCA9IFJSRUczMihtbURDX0hQRDFfSU5UX0NP TlRST0wgKyBocGRfb2Zmc2V0c1tocGRdKTsKIAlpZiAoY29ubmVjdGVkKQotCQl0bXAgJj0gfkRD X0hQRHhfSU5UX1BPTEFSSVRZOworCQl0bXAgJj0gfkRDX0hQRDFfSU5UX0NPTlRST0xfX0RDX0hQ RDFfSU5UX1BPTEFSSVRZX01BU0s7CiAJZWxzZQotCQl0bXAgfD0gRENfSFBEeF9JTlRfUE9MQVJJ VFk7Ci0JV1JFRzMyKERDX0hQRDFfSU5UX0NPTlRST0wgKyBocGRfb2Zmc2V0c1tocGRdLCB0bXAp OworCQl0bXAgfD0gRENfSFBEMV9JTlRfQ09OVFJPTF9fRENfSFBEMV9JTlRfUE9MQVJJVFlfTUFT SzsKKwlXUkVHMzIobW1EQ19IUEQxX0lOVF9DT05UUk9MICsgaHBkX29mZnNldHNbaHBkXSwgdG1w KTsKIH0KIAogLyoqCkBAIC0zMTIsOSArMzIzLDkgQEAgc3RhdGljIHZvaWQgZGNlX3Y2XzBfaHBk X2luaXQoc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYpCiAJCWlmIChhbWRncHVfY29ubmVjdG9y LT5ocGQuaHBkID49IGFkZXYtPm1vZGVfaW5mby5udW1faHBkKQogCQkJY29udGludWU7CiAKLQkJ dG1wID0gUlJFRzMyKERDX0hQRDFfQ09OVFJPTCArIGhwZF9vZmZzZXRzW2FtZGdwdV9jb25uZWN0 b3ItPmhwZC5ocGRdKTsKLQkJdG1wIHw9IERDX0hQRHhfRU47Ci0JCVdSRUczMihEQ19IUEQxX0NP TlRST0wgKyBocGRfb2Zmc2V0c1thbWRncHVfY29ubmVjdG9yLT5ocGQuaHBkXSwgdG1wKTsKKwkJ dG1wID0gUlJFRzMyKG1tRENfSFBEMV9DT05UUk9MICsgaHBkX29mZnNldHNbYW1kZ3B1X2Nvbm5l Y3Rvci0+aHBkLmhwZF0pOworCQl0bXAgfD0gRENfSFBEMV9DT05UUk9MX19EQ19IUEQxX0VOX01B U0s7CisJCVdSRUczMihtbURDX0hQRDFfQ09OVFJPTCArIGhwZF9vZmZzZXRzW2FtZGdwdV9jb25u ZWN0b3ItPmhwZC5ocGRdLCB0bXApOwogCiAJCWlmIChjb25uZWN0b3ItPmNvbm5lY3Rvcl90eXBl ID09IERSTV9NT0RFX0NPTk5FQ1RPUl9lRFAgfHwKIAkJICAgIGNvbm5lY3Rvci0+Y29ubmVjdG9y X3R5cGUgPT0gRFJNX01PREVfQ09OTkVDVE9SX0xWRFMpIHsKQEAgLTMyMyw5ICszMzQsOSBAQCBz dGF0aWMgdm9pZCBkY2VfdjZfMF9ocGRfaW5pdChzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldikK IAkJCSAqIGh0dHBzOi8vYnVnemlsbGEucmVkaGF0LmNvbS9zaG93X2J1Zy5jZ2k/aWQ9NzI2MTQz CiAJCQkgKiBhbHNvIGF2b2lkIGludGVycnVwdCBzdG9ybXMgZHVyaW5nIGRwbXMuCiAJCQkgKi8K LQkJCXRtcCA9IFJSRUczMihEQ19IUEQxX0lOVF9DT05UUk9MICsgaHBkX29mZnNldHNbYW1kZ3B1 X2Nvbm5lY3Rvci0+aHBkLmhwZF0pOwotCQkJdG1wICY9IH5EQ19IUER4X0lOVF9FTjsKLQkJCVdS RUczMihEQ19IUEQxX0lOVF9DT05UUk9MICsgaHBkX29mZnNldHNbYW1kZ3B1X2Nvbm5lY3Rvci0+ aHBkLmhwZF0sIHRtcCk7CisJCQl0bXAgPSBSUkVHMzIobW1EQ19IUEQxX0lOVF9DT05UUk9MICsg aHBkX29mZnNldHNbYW1kZ3B1X2Nvbm5lY3Rvci0+aHBkLmhwZF0pOworCQkJdG1wICY9IH5EQ19I UEQxX0lOVF9DT05UUk9MX19EQ19IUEQxX0lOVF9FTl9NQVNLOworCQkJV1JFRzMyKG1tRENfSFBE MV9JTlRfQ09OVFJPTCArIGhwZF9vZmZzZXRzW2FtZGdwdV9jb25uZWN0b3ItPmhwZC5ocGRdLCB0 bXApOwogCQkJY29udGludWU7CiAJCX0KIApAQCAtMzU1LDkgKzM2Niw5IEBAIHN0YXRpYyB2b2lk IGRjZV92Nl8wX2hwZF9maW5pKHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2KQogCQlpZiAoYW1k Z3B1X2Nvbm5lY3Rvci0+aHBkLmhwZCA+PSBhZGV2LT5tb2RlX2luZm8ubnVtX2hwZCkKIAkJCWNv bnRpbnVlOwogCi0JCXRtcCA9IFJSRUczMihEQ19IUEQxX0NPTlRST0wgKyBocGRfb2Zmc2V0c1th bWRncHVfY29ubmVjdG9yLT5ocGQuaHBkXSk7Ci0JCXRtcCAmPSB+RENfSFBEeF9FTjsKLQkJV1JF RzMyKERDX0hQRDFfQ09OVFJPTCArIGhwZF9vZmZzZXRzW2FtZGdwdV9jb25uZWN0b3ItPmhwZC5o cGRdLCAwKTsKKwkJdG1wID0gUlJFRzMyKG1tRENfSFBEMV9DT05UUk9MICsgaHBkX29mZnNldHNb YW1kZ3B1X2Nvbm5lY3Rvci0+aHBkLmhwZF0pOworCQl0bXAgJj0gfkRDX0hQRDFfQ09OVFJPTF9f RENfSFBEMV9FTl9NQVNLOworCQlXUkVHMzIobW1EQ19IUEQxX0NPTlRST0wgKyBocGRfb2Zmc2V0 c1thbWRncHVfY29ubmVjdG9yLT5ocGQuaHBkXSwgMCk7CiAKIAkJYW1kZ3B1X2lycV9wdXQoYWRl diwgJmFkZXYtPmhwZF9pcnEsIGFtZGdwdV9jb25uZWN0b3ItPmhwZC5ocGQpOwogCX0KQEAgLTM2 NSw3ICszNzYsNyBAQCBzdGF0aWMgdm9pZCBkY2VfdjZfMF9ocGRfZmluaShzdHJ1Y3QgYW1kZ3B1 X2RldmljZSAqYWRldikKIAogc3RhdGljIHUzMiBkY2VfdjZfMF9ocGRfZ2V0X2dwaW9fcmVnKHN0 cnVjdCBhbWRncHVfZGV2aWNlICphZGV2KQogewotCXJldHVybiBTSV9EQ19HUElPX0hQRF9BOwor CXJldHVybiBtbURDX0dQSU9fSFBEX0E7CiB9CiAKIHN0YXRpYyBib29sIGRjZV92Nl8wX2lzX2Rp c3BsYXlfaHVuZyhzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldikKQEAgLTM4MCw3ICszOTEsNyBA QCBzdGF0aWMgdTMyIGV2ZXJncmVlbl9nZXRfdmJsYW5rX2NvdW50ZXIoc3RydWN0IGFtZGdwdV9k ZXZpY2UqIGFkZXYsIGludCBjcnRjKQogCWlmIChjcnRjID49IGFkZXYtPm1vZGVfaW5mby5udW1f Y3J0YykKIAkJcmV0dXJuIDA7CiAJZWxzZQotCQlyZXR1cm4gUlJFRzMyKENSVENfU1RBVFVTX0ZS QU1FX0NPVU5UICsgY3J0Y19vZmZzZXRzW2NydGNdKTsKKwkJcmV0dXJuIFJSRUczMihtbUNSVENf U1RBVFVTX0ZSQU1FX0NPVU5UICsgY3J0Y19vZmZzZXRzW2NydGNdKTsKIH0KIAogc3RhdGljIHZv aWQgZGNlX3Y2XzBfc3RvcF9tY19hY2Nlc3Moc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYsCkBA IC0zODksMjUgKzQwMCwyNSBAQCBzdGF0aWMgdm9pZCBkY2VfdjZfMF9zdG9wX21jX2FjY2Vzcyhz dHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldiwKIAl1MzIgY3J0Y19lbmFibGVkLCB0bXAsIGZyYW1l X2NvdW50OwogCWludCBpLCBqOwogCi0Jc2F2ZS0+dmdhX3JlbmRlcl9jb250cm9sID0gUlJFRzMy KFZHQV9SRU5ERVJfQ09OVFJPTCk7Ci0Jc2F2ZS0+dmdhX2hkcF9jb250cm9sID0gUlJFRzMyKFZH QV9IRFBfQ09OVFJPTCk7CisJc2F2ZS0+dmdhX3JlbmRlcl9jb250cm9sID0gUlJFRzMyKG1tVkdB X1JFTkRFUl9DT05UUk9MKTsKKwlzYXZlLT52Z2FfaGRwX2NvbnRyb2wgPSBSUkVHMzIobW1WR0Ff SERQX0NPTlRST0wpOwogCiAJLyogZGlzYWJsZSBWR0EgcmVuZGVyICovCi0JV1JFRzMyKFZHQV9S RU5ERVJfQ09OVFJPTCwgMCk7CisJV1JFRzMyKG1tVkdBX1JFTkRFUl9DT05UUk9MLCAwKTsKIAog CS8qIGJsYW5rIHRoZSBkaXNwbGF5IGNvbnRyb2xsZXJzICovCiAJZm9yIChpID0gMDsgaSA8IGFk ZXYtPm1vZGVfaW5mby5udW1fY3J0YzsgaSsrKSB7Ci0JCWNydGNfZW5hYmxlZCA9IFJSRUczMihF VkVSR1JFRU5fQ1JUQ19DT05UUk9MICsgY3J0Y19vZmZzZXRzW2ldKSAmIEVWRVJHUkVFTl9DUlRD X01BU1RFUl9FTjsKKwkJY3J0Y19lbmFibGVkID0gUlJFRzMyKG1tQ1JUQ19DT05UUk9MICsgY3J0 Y19vZmZzZXRzW2ldKSAmIENSVENfQ09OVFJPTF9fQ1JUQ19NQVNURVJfRU5fTUFTSzsKIAkJaWYg KGNydGNfZW5hYmxlZCkgewogCQkJc2F2ZS0+Y3J0Y19lbmFibGVkW2ldID0gdHJ1ZTsKLQkJCXRt cCA9IFJSRUczMihFVkVSR1JFRU5fQ1JUQ19CTEFOS19DT05UUk9MICsgY3J0Y19vZmZzZXRzW2ld KTsKKwkJCXRtcCA9IFJSRUczMihtbUNSVENfQkxBTktfQ09OVFJPTCArIGNydGNfb2Zmc2V0c1tp XSk7CiAKLQkJCWlmICghKHRtcCAmIEVWRVJHUkVFTl9DUlRDX0JMQU5LX0RBVEFfRU4pKSB7CisJ CQlpZiAoISh0bXAgJiBDUlRDX0JMQU5LX0NPTlRST0xfX0NSVENfQkxBTktfREFUQV9FTl9NQVNL KSkgewogCQkJCWRjZV92Nl8wX3ZibGFua193YWl0KGFkZXYsIGkpOwotCQkJCVdSRUczMihFVkVS R1JFRU5fQ1JUQ19VUERBVEVfTE9DSyArIGNydGNfb2Zmc2V0c1tpXSwgMSk7Ci0JCQkJdG1wIHw9 IEVWRVJHUkVFTl9DUlRDX0JMQU5LX0RBVEFfRU47Ci0JCQkJV1JFRzMyKEVWRVJHUkVFTl9DUlRD X0JMQU5LX0NPTlRST0wgKyBjcnRjX29mZnNldHNbaV0sIHRtcCk7Ci0JCQkJV1JFRzMyKEVWRVJH UkVFTl9DUlRDX1VQREFURV9MT0NLICsgY3J0Y19vZmZzZXRzW2ldLCAwKTsKKwkJCQlXUkVHMzIo bW1DUlRDX1VQREFURV9MT0NLICsgY3J0Y19vZmZzZXRzW2ldLCAxKTsKKwkJCQl0bXAgfD0gQ1JU Q19CTEFOS19DT05UUk9MX19DUlRDX0JMQU5LX0RBVEFfRU5fTUFTSzsKKwkJCQlXUkVHMzIobW1D UlRDX0JMQU5LX0NPTlRST0wgKyBjcnRjX29mZnNldHNbaV0sIHRtcCk7CisJCQkJV1JFRzMyKG1t Q1JUQ19VUERBVEVfTE9DSyArIGNydGNfb2Zmc2V0c1tpXSwgMCk7CiAJCQl9CiAJCQkvKiB3YWl0 IGZvciB0aGUgbmV4dCBmcmFtZSAqLwogCQkJZnJhbWVfY291bnQgPSBldmVyZ3JlZW5fZ2V0X3Zi bGFua19jb3VudGVyKGFkZXYsIGkpOwpAQCAtNDE4LDExICs0MjksMTEgQEAgc3RhdGljIHZvaWQg ZGNlX3Y2XzBfc3RvcF9tY19hY2Nlc3Moc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYsCiAJCQl9 CiAKIAkJCS8qIFhYWCB0aGlzIGlzIGEgaGFjayB0byBhdm9pZCBzdHJhbmdlIGJlaGF2aW9yIHdp dGggRUZJIG9uIGNlcnRhaW4gc3lzdGVtcyAqLwotCQkJV1JFRzMyKEVWRVJHUkVFTl9DUlRDX1VQ REFURV9MT0NLICsgY3J0Y19vZmZzZXRzW2ldLCAxKTsKLQkJCXRtcCA9IFJSRUczMihFVkVSR1JF RU5fQ1JUQ19DT05UUk9MICsgY3J0Y19vZmZzZXRzW2ldKTsKLQkJCXRtcCAmPSB+RVZFUkdSRUVO X0NSVENfTUFTVEVSX0VOOwotCQkJV1JFRzMyKEVWRVJHUkVFTl9DUlRDX0NPTlRST0wgKyBjcnRj X29mZnNldHNbaV0sIHRtcCk7Ci0JCQlXUkVHMzIoRVZFUkdSRUVOX0NSVENfVVBEQVRFX0xPQ0sg KyBjcnRjX29mZnNldHNbaV0sIDApOworCQkJV1JFRzMyKG1tQ1JUQ19VUERBVEVfTE9DSyArIGNy dGNfb2Zmc2V0c1tpXSwgMSk7CisJCQl0bXAgPSBSUkVHMzIobW1DUlRDX0NPTlRST0wgKyBjcnRj X29mZnNldHNbaV0pOworCQkJdG1wICY9IH5DUlRDX0NPTlRST0xfX0NSVENfTUFTVEVSX0VOX01B U0s7CisJCQlXUkVHMzIobW1DUlRDX0NPTlRST0wgKyBjcnRjX29mZnNldHNbaV0sIHRtcCk7CisJ CQlXUkVHMzIobW1DUlRDX1VQREFURV9MT0NLICsgY3J0Y19vZmZzZXRzW2ldLCAwKTsKIAkJCXNh dmUtPmNydGNfZW5hYmxlZFtpXSA9IGZhbHNlOwogCQkJLyogKioqKiogKi8KIAkJfSBlbHNlIHsK QEAgLTQzOSw0MSArNDUwLDQxIEBAIHN0YXRpYyB2b2lkIGRjZV92Nl8wX3Jlc3VtZV9tY19hY2Nl c3Moc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYsCiAKIAkvKiB1cGRhdGUgY3J0YyBiYXNlIGFk ZHJlc3NlcyAqLwogCWZvciAoaSA9IDA7IGkgPCBhZGV2LT5tb2RlX2luZm8ubnVtX2NydGM7IGkr KykgewotCQlXUkVHMzIoRVZFUkdSRUVOX0dSUEhfUFJJTUFSWV9TVVJGQUNFX0FERFJFU1NfSElH SCArIGNydGNfb2Zmc2V0c1tpXSwKKwkJV1JFRzMyKG1tR1JQSF9QUklNQVJZX1NVUkZBQ0VfQURE UkVTU19ISUdIICsgY3J0Y19vZmZzZXRzW2ldLAogCQkgICAgICAgdXBwZXJfMzJfYml0cyhhZGV2 LT5tYy52cmFtX3N0YXJ0KSk7Ci0JCVdSRUczMihFVkVSR1JFRU5fR1JQSF9TRUNPTkRBUllfU1VS RkFDRV9BRERSRVNTX0hJR0ggKyBjcnRjX29mZnNldHNbaV0sCisJCVdSRUczMihtbUdSUEhfU0VD T05EQVJZX1NVUkZBQ0VfQUREUkVTU19ISUdIICsgY3J0Y19vZmZzZXRzW2ldLAogCQkgICAgICAg dXBwZXJfMzJfYml0cyhhZGV2LT5tYy52cmFtX3N0YXJ0KSk7Ci0JCVdSRUczMihFVkVSR1JFRU5f R1JQSF9QUklNQVJZX1NVUkZBQ0VfQUREUkVTUyArIGNydGNfb2Zmc2V0c1tpXSwKKwkJV1JFRzMy KG1tR1JQSF9QUklNQVJZX1NVUkZBQ0VfQUREUkVTUyArIGNydGNfb2Zmc2V0c1tpXSwKIAkJICAg ICAgICh1MzIpYWRldi0+bWMudnJhbV9zdGFydCk7Ci0JCVdSRUczMihFVkVSR1JFRU5fR1JQSF9T RUNPTkRBUllfU1VSRkFDRV9BRERSRVNTICsgY3J0Y19vZmZzZXRzW2ldLAorCQlXUkVHMzIobW1H UlBIX1NFQ09OREFSWV9TVVJGQUNFX0FERFJFU1MgKyBjcnRjX29mZnNldHNbaV0sCiAJCSAgICAg ICAodTMyKWFkZXYtPm1jLnZyYW1fc3RhcnQpOwogCX0KIAotCVdSRUczMihFVkVSR1JFRU5fVkdB X01FTU9SWV9CQVNFX0FERFJFU1NfSElHSCwgdXBwZXJfMzJfYml0cyhhZGV2LT5tYy52cmFtX3N0 YXJ0KSk7Ci0JV1JFRzMyKEVWRVJHUkVFTl9WR0FfTUVNT1JZX0JBU0VfQUREUkVTUywgKHUzMilh ZGV2LT5tYy52cmFtX3N0YXJ0KTsKKwlXUkVHMzIobW1FVkVSR1JFRU5fVkdBX01FTU9SWV9CQVNF X0FERFJFU1NfSElHSCwgdXBwZXJfMzJfYml0cyhhZGV2LT5tYy52cmFtX3N0YXJ0KSk7CisJV1JF RzMyKG1tRVZFUkdSRUVOX1ZHQV9NRU1PUllfQkFTRV9BRERSRVNTLCAodTMyKWFkZXYtPm1jLnZy YW1fc3RhcnQpOwogCiAJLyogdW5sb2NrIHJlZ3MgYW5kIHdhaXQgZm9yIHVwZGF0ZSAqLwogCWZv ciAoaSA9IDA7IGkgPCBhZGV2LT5tb2RlX2luZm8ubnVtX2NydGM7IGkrKykgewogCQlpZiAoc2F2 ZS0+Y3J0Y19lbmFibGVkW2ldKSB7Ci0JCQl0bXAgPSBSUkVHMzIoRVZFUkdSRUVOX01BU1RFUl9V UERBVEVfTU9ERSArIGNydGNfb2Zmc2V0c1tpXSk7CisJCQl0bXAgPSBSUkVHMzIobW1NQVNURVJf VVBEQVRFX01PREUgKyBjcnRjX29mZnNldHNbaV0pOwogCQkJaWYgKCh0bXAgJiAweDcpICE9IDMp IHsKIAkJCQl0bXAgJj0gfjB4NzsKIAkJCQl0bXAgfD0gMHgzOwotCQkJCVdSRUczMihFVkVSR1JF RU5fTUFTVEVSX1VQREFURV9NT0RFICsgY3J0Y19vZmZzZXRzW2ldLCB0bXApOworCQkJCVdSRUcz MihtbU1BU1RFUl9VUERBVEVfTU9ERSArIGNydGNfb2Zmc2V0c1tpXSwgdG1wKTsKIAkJCX0KLQkJ CXRtcCA9IFJSRUczMihFVkVSR1JFRU5fR1JQSF9VUERBVEUgKyBjcnRjX29mZnNldHNbaV0pOwot CQkJaWYgKHRtcCAmIEVWRVJHUkVFTl9HUlBIX1VQREFURV9MT0NLKSB7Ci0JCQkJdG1wICY9IH5F VkVSR1JFRU5fR1JQSF9VUERBVEVfTE9DSzsKLQkJCQlXUkVHMzIoRVZFUkdSRUVOX0dSUEhfVVBE QVRFICsgY3J0Y19vZmZzZXRzW2ldLCB0bXApOworCQkJdG1wID0gUlJFRzMyKG1tR1JQSF9VUERB VEUgKyBjcnRjX29mZnNldHNbaV0pOworCQkJaWYgKHRtcCAmIEdSUEhfVVBEQVRFX19HUlBIX1VQ REFURV9MT0NLX01BU0spIHsKKwkJCQl0bXAgJj0gfkdSUEhfVVBEQVRFX19HUlBIX1VQREFURV9M T0NLX01BU0s7CisJCQkJV1JFRzMyKG1tR1JQSF9VUERBVEUgKyBjcnRjX29mZnNldHNbaV0sIHRt cCk7CiAJCQl9Ci0JCQl0bXAgPSBSUkVHMzIoRVZFUkdSRUVOX01BU1RFUl9VUERBVEVfTE9DSyAr IGNydGNfb2Zmc2V0c1tpXSk7CisJCQl0bXAgPSBSUkVHMzIobW1NQVNURVJfVVBEQVRFX0xPQ0sg KyBjcnRjX29mZnNldHNbaV0pOwogCQkJaWYgKHRtcCAmIDEpIHsKIAkJCQl0bXAgJj0gfjE7Ci0J CQkJV1JFRzMyKEVWRVJHUkVFTl9NQVNURVJfVVBEQVRFX0xPQ0sgKyBjcnRjX29mZnNldHNbaV0s IHRtcCk7CisJCQkJV1JFRzMyKG1tTUFTVEVSX1VQREFURV9MT0NLICsgY3J0Y19vZmZzZXRzW2ld LCB0bXApOwogCQkJfQogCQkJZm9yIChqID0gMDsgaiA8IGFkZXYtPnVzZWNfdGltZW91dDsgaisr KSB7Ci0JCQkJdG1wID0gUlJFRzMyKEVWRVJHUkVFTl9HUlBIX1VQREFURSArIGNydGNfb2Zmc2V0 c1tpXSk7Ci0JCQkJaWYgKCh0bXAgJiBFVkVSR1JFRU5fR1JQSF9TVVJGQUNFX1VQREFURV9QRU5E SU5HKSA9PSAwKQorCQkJCXRtcCA9IFJSRUczMihtbUdSUEhfVVBEQVRFICsgY3J0Y19vZmZzZXRz W2ldKTsKKwkJCQlpZiAoKHRtcCAmIEdSUEhfVVBEQVRFX19HUlBIX1NVUkZBQ0VfVVBEQVRFX1BF TkRJTkdfTUFTSykgPT0gMCkKIAkJCQkJYnJlYWs7CiAJCQkJdWRlbGF5KDEpOwogCQkJfQpAQCAt NDgxLDkgKzQ5Miw5IEBAIHN0YXRpYyB2b2lkIGRjZV92Nl8wX3Jlc3VtZV9tY19hY2Nlc3Moc3Ry dWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYsCiAJfQogCiAJLyogVW5sb2NrIHZnYSBhY2Nlc3MgKi8K LQlXUkVHMzIoVkdBX0hEUF9DT05UUk9MLCBzYXZlLT52Z2FfaGRwX2NvbnRyb2wpOworCVdSRUcz MihtbVZHQV9IRFBfQ09OVFJPTCwgc2F2ZS0+dmdhX2hkcF9jb250cm9sKTsKIAltZGVsYXkoMSk7 Ci0JV1JFRzMyKFZHQV9SRU5ERVJfQ09OVFJPTCwgc2F2ZS0+dmdhX3JlbmRlcl9jb250cm9sKTsK KwlXUkVHMzIobW1WR0FfUkVOREVSX0NPTlRST0wsIHNhdmUtPnZnYV9yZW5kZXJfY29udHJvbCk7 CiAKIH0KIApAQCAtNDkxLDggKzUwMiw4IEBAIHN0YXRpYyB2b2lkIGRjZV92Nl8wX3NldF92Z2Ff cmVuZGVyX3N0YXRlKHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2LAogCQkJCQkgIGJvb2wgcmVu ZGVyKQogewogCWlmICghcmVuZGVyKQotCQlXUkVHMzIoUl8wMDAzMDBfVkdBX1JFTkRFUl9DT05U Uk9MLAotCQkJUlJFRzMyKFJfMDAwMzAwX1ZHQV9SRU5ERVJfQ09OVFJPTCkgJiBDXzAwMDMwMF9W R0FfVlNUQVRVU19DTlRMKTsKKwkJV1JFRzMyKG1tUl8wMDAzMDBfVkdBX1JFTkRFUl9DT05UUk9M LAorCQkJUlJFRzMyKG1tUl8wMDAzMDBfVkdBX1JFTkRFUl9DT05UUk9MKSAmIENfMDAwMzAwX1ZH QV9WU1RBVFVTX0NOVEwpOwogCiB9CiAKQEAgLTUyNiwxNCArNTM3LDE0IEBAIHZvaWQgZGNlX3Y2 XzBfZGlzYWJsZV9kY2Uoc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYpCiAKIAkJLypEaXNhYmxl IGNydGMqLwogCQlmb3IgKGkgPSAwOyBpIDwgZGNlX3Y2XzBfZ2V0X251bV9jcnRjKGFkZXYpOyBp KyspIHsKLQkJCWNydGNfZW5hYmxlZCA9IFJSRUczMihFVkVSR1JFRU5fQ1JUQ19DT05UUk9MICsg Y3J0Y19vZmZzZXRzW2ldKSAmCi0JCQkJRVZFUkdSRUVOX0NSVENfTUFTVEVSX0VOOworCQkJY3J0 Y19lbmFibGVkID0gUlJFRzMyKG1tQ1JUQ19DT05UUk9MICsgY3J0Y19vZmZzZXRzW2ldKSAmCisJ CQkJQ1JUQ19DT05UUk9MX19DUlRDX01BU1RFUl9FTl9NQVNLOwogCQkJaWYgKGNydGNfZW5hYmxl ZCkgewotCQkJCVdSRUczMihFVkVSR1JFRU5fQ1JUQ19VUERBVEVfTE9DSyArIGNydGNfb2Zmc2V0 c1tpXSwgMSk7Ci0JCQkJdG1wID0gUlJFRzMyKEVWRVJHUkVFTl9DUlRDX0NPTlRST0wgKyBjcnRj X29mZnNldHNbaV0pOwotCQkJCXRtcCAmPSB+RVZFUkdSRUVOX0NSVENfTUFTVEVSX0VOOwotCQkJ CVdSRUczMihFVkVSR1JFRU5fQ1JUQ19DT05UUk9MICsgY3J0Y19vZmZzZXRzW2ldLCB0bXApOwot CQkJCVdSRUczMihFVkVSR1JFRU5fQ1JUQ19VUERBVEVfTE9DSyArIGNydGNfb2Zmc2V0c1tpXSwg MCk7CisJCQkJV1JFRzMyKG1tQ1JUQ19VUERBVEVfTE9DSyArIGNydGNfb2Zmc2V0c1tpXSwgMSk7 CisJCQkJdG1wID0gUlJFRzMyKG1tQ1JUQ19DT05UUk9MICsgY3J0Y19vZmZzZXRzW2ldKTsKKwkJ CQl0bXAgJj0gfkNSVENfQ09OVFJPTF9fQ1JUQ19NQVNURVJfRU5fTUFTSzsKKwkJCQlXUkVHMzIo bW1DUlRDX0NPTlRST0wgKyBjcnRjX29mZnNldHNbaV0sIHRtcCk7CisJCQkJV1JFRzMyKG1tQ1JU Q19VUERBVEVfTE9DSyArIGNydGNfb2Zmc2V0c1tpXSwgMCk7CiAJCQl9CiAJCX0KIAl9CkBAIC01 NjksMTkgKzU4MCwyMyBAQCBzdGF0aWMgdm9pZCBkY2VfdjZfMF9wcm9ncmFtX2ZtdChzdHJ1Y3Qg ZHJtX2VuY29kZXIgKmVuY29kZXIpCiAJY2FzZSA2OgogCQlpZiAoZGl0aGVyID09IEFNREdQVV9G TVRfRElUSEVSX0VOQUJMRSkKIAkJCS8qIFhYWCBzb3J0IG91dCBvcHRpbWFsIGRpdGhlciBzZXR0 aW5ncyAqLwotCQkJdG1wIHw9IChGTVRfRlJBTUVfUkFORE9NX0VOQUJMRSB8IEZNVF9ISUdIUEFT U19SQU5ET01fRU5BQkxFIHwKLQkJCQlGTVRfU1BBVElBTF9ESVRIRVJfRU4pOworCQkJdG1wIHw9 IChGTVRfQklUX0RFUFRIX0NPTlRST0xfX0ZNVF9GUkFNRV9SQU5ET01fRU5BQkxFX01BU0sgfAor CQkJCUZNVF9CSVRfREVQVEhfQ09OVFJPTF9fRk1UX0hJR0hQQVNTX1JBTkRPTV9FTkFCTEVfTUFT SyB8CisJCQkJRk1UX0JJVF9ERVBUSF9DT05UUk9MX19GTVRfU1BBVElBTF9ESVRIRVJfRU5fTUFT Syk7CiAJCWVsc2UKLQkJCXRtcCB8PSBGTVRfVFJVTkNBVEVfRU47CisJCQl0bXAgfD0gRk1UX0JJ VF9ERVBUSF9DT05UUk9MX19GTVRfVFJVTkNBVEVfRU5fTUFTSzsKIAkJYnJlYWs7CiAJY2FzZSA4 OgogCQlpZiAoZGl0aGVyID09IEFNREdQVV9GTVRfRElUSEVSX0VOQUJMRSkKIAkJCS8qIFhYWCBz b3J0IG91dCBvcHRpbWFsIGRpdGhlciBzZXR0aW5ncyAqLwotCQkJdG1wIHw9IChGTVRfRlJBTUVf UkFORE9NX0VOQUJMRSB8IEZNVF9ISUdIUEFTU19SQU5ET01fRU5BQkxFIHwKLQkJCQlGTVRfUkdC X1JBTkRPTV9FTkFCTEUgfAotCQkJCUZNVF9TUEFUSUFMX0RJVEhFUl9FTiB8IEZNVF9TUEFUSUFM X0RJVEhFUl9ERVBUSCk7CisJCQl0bXAgfD0gKEZNVF9CSVRfREVQVEhfQ09OVFJPTF9fRk1UX0ZS QU1FX1JBTkRPTV9FTkFCTEVfTUFTSyB8CisJCQkJRk1UX0JJVF9ERVBUSF9DT05UUk9MX19GTVRf SElHSFBBU1NfUkFORE9NX0VOQUJMRV9NQVNLIHwKKwkJCQlGTVRfQklUX0RFUFRIX0NPTlRST0xf X0ZNVF9SR0JfUkFORE9NX0VOQUJMRV9NQVNLIHwKKwkJCQlGTVRfQklUX0RFUFRIX0NPTlRST0xf X0ZNVF9TUEFUSUFMX0RJVEhFUl9FTl9NQVNLIHwKKwkJCQlGTVRfQklUX0RFUFRIX0NPTlRST0xf X0ZNVF9TUEFUSUFMX0RJVEhFUl9ERVBUSF9NQVNLKTsKIAkJZWxzZQotCQkJdG1wIHw9IChGTVRf VFJVTkNBVEVfRU4gfCBGTVRfVFJVTkNBVEVfREVQVEgpOworCQkJdG1wIHw9IChGTVRfQklUX0RF UFRIX0NPTlRST0xfX0ZNVF9UUlVOQ0FURV9FTl9NQVNLIHwKKwkJCQlGTVRfQklUX0RFUFRIX0NP TlRST0xfX0ZNVF9UUlVOQ0FURV9ERVBUSF9NQVNLKTsKIAkJYnJlYWs7CiAJY2FzZSAxMDoKIAlk ZWZhdWx0OgpAQCAtNTg5LDcgKzYwNCw3IEBAIHN0YXRpYyB2b2lkIGRjZV92Nl8wX3Byb2dyYW1f Zm10KHN0cnVjdCBkcm1fZW5jb2RlciAqZW5jb2RlcikKIAkJYnJlYWs7CiAJfQogCi0JV1JFRzMy KEZNVF9CSVRfREVQVEhfQ09OVFJPTCArIGFtZGdwdV9jcnRjLT5jcnRjX29mZnNldCwgdG1wKTsK KwlXUkVHMzIobW1GTVRfQklUX0RFUFRIX0NPTlRST0wgKyBhbWRncHVfY3J0Yy0+Y3J0Y19vZmZz ZXQsIHRtcCk7CiB9CiAKIC8qKgpAQCAtNjAzLDcgKzYxOCw3IEBAIHN0YXRpYyB2b2lkIGRjZV92 Nl8wX3Byb2dyYW1fZm10KHN0cnVjdCBkcm1fZW5jb2RlciAqZW5jb2RlcikKICAqLwogc3RhdGlj IHUzMiBzaV9nZXRfbnVtYmVyX29mX2RyYW1fY2hhbm5lbHMoc3RydWN0IGFtZGdwdV9kZXZpY2Ug KmFkZXYpCiB7Ci0JdTMyIHRtcCA9IFJSRUczMihNQ19TSEFSRURfQ0hNQVApOworCXUzMiB0bXAg PSBSUkVHMzIobW1NQ19TSEFSRURfQ0hNQVApOwogCiAJc3dpdGNoICgodG1wICYgTUNfU0hBUkVE X0NITUFQX19OT09GQ0hBTl9NQVNLKSA+PiBNQ19TSEFSRURfQ0hNQVBfX05PT0ZDSEFOX19TSElG VCkgewogCWNhc2UgMDoKQEAgLTExMDAsMjggKzExMTUsMjggQEAgc3RhdGljIHZvaWQgZGNlX3Y2 XzBfcHJvZ3JhbV93YXRlcm1hcmtzKHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2LAogCX0KIAog CS8qIHNlbGVjdCB3bSBBICovCi0JYXJiX2NvbnRyb2wzID0gUlJFRzMyKERQR19QSVBFX0FSQklU UkFUSU9OX0NPTlRST0wzICsgYW1kZ3B1X2NydGMtPmNydGNfb2Zmc2V0KTsKKwlhcmJfY29udHJv bDMgPSBSUkVHMzIobW1EUEdfUElQRV9BUkJJVFJBVElPTl9DT05UUk9MMyArIGFtZGdwdV9jcnRj LT5jcnRjX29mZnNldCk7CiAJdG1wID0gYXJiX2NvbnRyb2wzOwogCXRtcCAmPSB+TEFURU5DWV9X QVRFUk1BUktfTUFTSygzKTsKIAl0bXAgfD0gTEFURU5DWV9XQVRFUk1BUktfTUFTSygxKTsKLQlX UkVHMzIoRFBHX1BJUEVfQVJCSVRSQVRJT05fQ09OVFJPTDMgKyBhbWRncHVfY3J0Yy0+Y3J0Y19v ZmZzZXQsIHRtcCk7Ci0JV1JFRzMyKERQR19QSVBFX0xBVEVOQ1lfQ09OVFJPTCArIGFtZGdwdV9j cnRjLT5jcnRjX29mZnNldCwKLQkgICAgICAgKExBVEVOQ1lfTE9XX1dBVEVSTUFSSyhsYXRlbmN5 X3dhdGVybWFya19hKSB8Ci0JCUxBVEVOQ1lfSElHSF9XQVRFUk1BUksobGluZV90aW1lKSkpOwor CVdSRUczMihtbURQR19QSVBFX0FSQklUUkFUSU9OX0NPTlRST0wzICsgYW1kZ3B1X2NydGMtPmNy dGNfb2Zmc2V0LCB0bXApOworCVdSRUczMihtbURQR19QSVBFX1VSR0VOQ1lfQ09OVFJPTCArIGFt ZGdwdV9jcnRjLT5jcnRjX29mZnNldCwKKwkgICAgICAgKChsYXRlbmN5X3dhdGVybWFya19hIDw8 IERQR19QSVBFX1VSR0VOQ1lfQ09OVFJPTF9fVVJHRU5DWV9MT1dfV0FURVJNQVJLX19TSElGVCkg IHwKKwkJKGxpbmVfdGltZSA8PCBEUEdfUElQRV9VUkdFTkNZX0NPTlRST0xfX1VSR0VOQ1lfSElH SF9XQVRFUk1BUktfX1NISUZUKSkpOwogCS8qIHNlbGVjdCB3bSBCICovCi0JdG1wID0gUlJFRzMy KERQR19QSVBFX0FSQklUUkFUSU9OX0NPTlRST0wzICsgYW1kZ3B1X2NydGMtPmNydGNfb2Zmc2V0 KTsKKwl0bXAgPSBSUkVHMzIobW1EUEdfUElQRV9BUkJJVFJBVElPTl9DT05UUk9MMyArIGFtZGdw dV9jcnRjLT5jcnRjX29mZnNldCk7CiAJdG1wICY9IH5MQVRFTkNZX1dBVEVSTUFSS19NQVNLKDMp OwogCXRtcCB8PSBMQVRFTkNZX1dBVEVSTUFSS19NQVNLKDIpOwotCVdSRUczMihEUEdfUElQRV9B UkJJVFJBVElPTl9DT05UUk9MMyArIGFtZGdwdV9jcnRjLT5jcnRjX29mZnNldCwgdG1wKTsKLQlX UkVHMzIoRFBHX1BJUEVfTEFURU5DWV9DT05UUk9MICsgYW1kZ3B1X2NydGMtPmNydGNfb2Zmc2V0 LAotCSAgICAgICAoTEFURU5DWV9MT1dfV0FURVJNQVJLKGxhdGVuY3lfd2F0ZXJtYXJrX2IpIHwK LQkJTEFURU5DWV9ISUdIX1dBVEVSTUFSSyhsaW5lX3RpbWUpKSk7CisJV1JFRzMyKG1tRFBHX1BJ UEVfQVJCSVRSQVRJT05fQ09OVFJPTDMgKyBhbWRncHVfY3J0Yy0+Y3J0Y19vZmZzZXQsIHRtcCk7 CisJV1JFRzMyKG1tRFBHX1BJUEVfVVJHRU5DWV9DT05UUk9MICsgYW1kZ3B1X2NydGMtPmNydGNf b2Zmc2V0LAorCSAgICAgICAoKGxhdGVuY3lfd2F0ZXJtYXJrX2IgPDwgRFBHX1BJUEVfVVJHRU5D WV9DT05UUk9MX19VUkdFTkNZX0xPV19XQVRFUk1BUktfX1NISUZUKSB8CisJCShsaW5lX3RpbWUg PDwgRFBHX1BJUEVfVVJHRU5DWV9DT05UUk9MX19VUkdFTkNZX0hJR0hfV0FURVJNQVJLX19TSElG VCkpKTsKIAkvKiByZXN0b3JlIG9yaWdpbmFsIHNlbGVjdGlvbiAqLwotCVdSRUczMihEUEdfUElQ RV9BUkJJVFJBVElPTl9DT05UUk9MMyArIGFtZGdwdV9jcnRjLT5jcnRjX29mZnNldCwgYXJiX2Nv bnRyb2wzKTsKKwlXUkVHMzIobW1EUEdfUElQRV9BUkJJVFJBVElPTl9DT05UUk9MMyArIGFtZGdw dV9jcnRjLT5jcnRjX29mZnNldCwgYXJiX2NvbnRyb2wzKTsKIAogCS8qIHdyaXRlIHRoZSBwcmlv cml0eSBtYXJrcyAqLwotCVdSRUczMihQUklPUklUWV9BX0NOVCArIGFtZGdwdV9jcnRjLT5jcnRj X29mZnNldCwgcHJpb3JpdHlfYV9jbnQpOwotCVdSRUczMihQUklPUklUWV9CX0NOVCArIGFtZGdw dV9jcnRjLT5jcnRjX29mZnNldCwgcHJpb3JpdHlfYl9jbnQpOworCVdSRUczMihtbVBSSU9SSVRZ X0FfQ05UICsgYW1kZ3B1X2NydGMtPmNydGNfb2Zmc2V0LCBwcmlvcml0eV9hX2NudCk7CisJV1JF RzMyKG1tUFJJT1JJVFlfQl9DTlQgKyBhbWRncHVfY3J0Yy0+Y3J0Y19vZmZzZXQsIHByaW9yaXR5 X2JfY250KTsKIAogCS8qIHNhdmUgdmFsdWVzIGZvciBEUE0gKi8KIAlhbWRncHVfY3J0Yy0+bGlu ZV90aW1lID0gbGluZV90aW1lOwpAQCAtMTEzOSw3ICsxMTU0LDcgQEAgc3RhdGljIHUzMiBkY2Vf djZfMF9saW5lX2J1ZmZlcl9hZGp1c3Qoc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYsCiAJLyoK IAkgKiBMaW5lIEJ1ZmZlciBTZXR1cAogCSAqIFRoZXJlIGFyZSAzIGxpbmUgYnVmZmVycywgZWFj aCBvbmUgc2hhcmVkIGJ5IDIgZGlzcGxheSBjb250cm9sbGVycy4KLQkgKiBEQ19MQl9NRU1PUllf U1BMSVQgY29udHJvbHMgaG93IHRoYXQgbGluZSBidWZmZXIgaXMgc2hhcmVkIGJldHdlZW4KKwkg KiBtbURDX0xCX01FTU9SWV9TUExJVCBjb250cm9scyBob3cgdGhhdCBsaW5lIGJ1ZmZlciBpcyBz aGFyZWQgYmV0d2VlbgogCSAqIHRoZSBkaXNwbGF5IGNvbnRyb2xsZXJzLiAgVGhlIHBhcml0aW9u aW5nIGlzIGRvbmUgdmlhIG9uZSBvZiBmb3VyCiAJICogcHJlc2V0IGFsbG9jYXRpb25zIHNwZWNp ZmllZCBpbiBiaXRzIDIxOjIwOgogCSAqICAwIC0gaGFsZiBsYgpAQCAtMTE2MiwxNCArMTE3Nywx NCBAQCBzdGF0aWMgdTMyIGRjZV92Nl8wX2xpbmVfYnVmZmVyX2FkanVzdChzdHJ1Y3QgYW1kZ3B1 X2RldmljZSAqYWRldiwKIAkJYnVmZmVyX2FsbG9jID0gMDsKIAl9CiAKLQlXUkVHMzIoRENfTEJf TUVNT1JZX1NQTElUICsgYW1kZ3B1X2NydGMtPmNydGNfb2Zmc2V0LAorCVdSRUczMihtbURDX0xC X01FTU9SWV9TUExJVCArIGFtZGdwdV9jcnRjLT5jcnRjX29mZnNldCwKIAkgICAgICAgRENfTEJf TUVNT1JZX0NPTkZJRyh0bXApKTsKIAotCVdSRUczMihQSVBFMF9ETUlGX0JVRkZFUl9DT05UUk9M ICsgcGlwZV9vZmZzZXQsCi0JICAgICAgIERNSUZfQlVGRkVSU19BTExPQ0FURUQoYnVmZmVyX2Fs bG9jKSk7CisJV1JFRzMyKG1tUElQRTBfRE1JRl9CVUZGRVJfQ09OVFJPTCArIHBpcGVfb2Zmc2V0 LAorCSAgICAgICAoYnVmZmVyX2FsbG9jIDw8IFBJUEUwX0RNSUZfQlVGRkVSX0NPTlRST0xfX0RN SUZfQlVGRkVSU19BTExPQ0FURURfX1NISUZUKSk7CiAJZm9yIChpID0gMDsgaSA8IGFkZXYtPnVz ZWNfdGltZW91dDsgaSsrKSB7Ci0JCWlmIChSUkVHMzIoUElQRTBfRE1JRl9CVUZGRVJfQ09OVFJP TCArIHBpcGVfb2Zmc2V0KSAmCi0JCSAgICBETUlGX0JVRkZFUlNfQUxMT0NBVEVEX0NPTVBMRVRF RCkKKwkJaWYgKFJSRUczMihtbVBJUEUwX0RNSUZfQlVGRkVSX0NPTlRST0wgKyBwaXBlX29mZnNl dCkgJgorCQkgICAgUElQRTBfRE1JRl9CVUZGRVJfQ09OVFJPTF9fRE1JRl9CVUZGRVJTX0FMTE9D QVRJT05fQ09NUExFVEVEX01BU0spCiAJCQlicmVhazsKIAkJdWRlbGF5KDEpOwogCX0KQEAgLTE0 MTEsMTIgKzE0MjYsMTIgQEAgc3RhdGljIHZvaWQgZGNlX3Y2XzBfYWZtdF9maW5pKHN0cnVjdCBh bWRncHVfZGV2aWNlICphZGV2KQogCiBzdGF0aWMgY29uc3QgdTMyIHZnYV9jb250cm9sX3JlZ3Nb Nl0gPQogewotCUFWSVZPX0QxVkdBX0NPTlRST0wsCi0JQVZJVk9fRDJWR0FfQ09OVFJPTCwKLQlF VkVSR1JFRU5fRDNWR0FfQ09OVFJPTCwKLQlFVkVSR1JFRU5fRDRWR0FfQ09OVFJPTCwKLQlFVkVS R1JFRU5fRDVWR0FfQ09OVFJPTCwKLQlFVkVSR1JFRU5fRDZWR0FfQ09OVFJPTCwKKwltbUFWSVZP X0QxVkdBX0NPTlRST0wsCisJbW1BVklWT19EMlZHQV9DT05UUk9MLAorCW1tRVZFUkdSRUVOX0Qz VkdBX0NPTlRST0wsCisJbW1FVkVSR1JFRU5fRDRWR0FfQ09OVFJPTCwKKwltbUVWRVJHUkVFTl9E NVZHQV9DT05UUk9MLAorCW1tRVZFUkdSRUVOX0Q2VkdBX0NPTlRST0wsCiB9OwogCiBzdGF0aWMg dm9pZCBkY2VfdjZfMF92Z2FfZW5hYmxlKHN0cnVjdCBkcm1fY3J0YyAqY3J0YywgYm9vbCBlbmFi bGUpCkBAIC0xNDM2LDcgKzE0NTEsNyBAQCBzdGF0aWMgdm9pZCBkY2VfdjZfMF9ncnBoX2VuYWJs ZShzdHJ1Y3QgZHJtX2NydGMgKmNydGMsIGJvb2wgZW5hYmxlKQogCXN0cnVjdCBkcm1fZGV2aWNl ICpkZXYgPSBjcnRjLT5kZXY7CiAJc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYgPSBkZXYtPmRl dl9wcml2YXRlOwogCi0JV1JFRzMyKEVWRVJHUkVFTl9HUlBIX0VOQUJMRSArIGFtZGdwdV9jcnRj LT5jcnRjX29mZnNldCwgZW5hYmxlID8gMSA6IDApOworCVdSRUczMihtbUdSUEhfRU5BQkxFICsg YW1kZ3B1X2NydGMtPmNydGNfb2Zmc2V0LCBlbmFibGUgPyAxIDogMCk7CiB9CiAKIHN0YXRpYyBp bnQgZGNlX3Y2XzBfY3J0Y19kb19zZXRfYmFzZShzdHJ1Y3QgZHJtX2NydGMgKmNydGMsCkBAIC0x NTkwLDU3ICsxNjA1LDU3IEBAIHN0YXRpYyBpbnQgZGNlX3Y2XzBfY3J0Y19kb19zZXRfYmFzZShz dHJ1Y3QgZHJtX2NydGMgKmNydGMsCiAJLyogTWFrZSBzdXJlIHN1cmZhY2UgYWRkcmVzcyBpcyB1 cGRhdGVkIGF0IHZlcnRpY2FsIGJsYW5rIHJhdGhlciB0aGFuCiAJICogaG9yaXpvbnRhbCBibGFu awogCSAqLwotCVdSRUczMihFVkVSR1JFRU5fR1JQSF9GTElQX0NPTlRST0wgKyBhbWRncHVfY3J0 Yy0+Y3J0Y19vZmZzZXQsIDApOworCVdSRUczMihtbUdSUEhfRkxJUF9DT05UUk9MICsgYW1kZ3B1 X2NydGMtPmNydGNfb2Zmc2V0LCAwKTsKIAotCVdSRUczMihFVkVSR1JFRU5fR1JQSF9QUklNQVJZ X1NVUkZBQ0VfQUREUkVTU19ISUdIICsgYW1kZ3B1X2NydGMtPmNydGNfb2Zmc2V0LAorCVdSRUcz MihtbUdSUEhfUFJJTUFSWV9TVVJGQUNFX0FERFJFU1NfSElHSCArIGFtZGdwdV9jcnRjLT5jcnRj X29mZnNldCwKIAkgICAgICAgdXBwZXJfMzJfYml0cyhmYl9sb2NhdGlvbikpOwotCVdSRUczMihF VkVSR1JFRU5fR1JQSF9TRUNPTkRBUllfU1VSRkFDRV9BRERSRVNTX0hJR0ggKyBhbWRncHVfY3J0 Yy0+Y3J0Y19vZmZzZXQsCisJV1JFRzMyKG1tR1JQSF9TRUNPTkRBUllfU1VSRkFDRV9BRERSRVNT X0hJR0ggKyBhbWRncHVfY3J0Yy0+Y3J0Y19vZmZzZXQsCiAJICAgICAgIHVwcGVyXzMyX2JpdHMo ZmJfbG9jYXRpb24pKTsKLQlXUkVHMzIoRVZFUkdSRUVOX0dSUEhfUFJJTUFSWV9TVVJGQUNFX0FE RFJFU1MgKyBhbWRncHVfY3J0Yy0+Y3J0Y19vZmZzZXQsCi0JICAgICAgICh1MzIpZmJfbG9jYXRp b24gJiBFVkVSR1JFRU5fR1JQSF9TVVJGQUNFX0FERFJFU1NfTUFTSyk7Ci0JV1JFRzMyKEVWRVJH UkVFTl9HUlBIX1NFQ09OREFSWV9TVVJGQUNFX0FERFJFU1MgKyBhbWRncHVfY3J0Yy0+Y3J0Y19v ZmZzZXQsCi0JICAgICAgICh1MzIpIGZiX2xvY2F0aW9uICYgRVZFUkdSRUVOX0dSUEhfU1VSRkFD RV9BRERSRVNTX01BU0spOwotCVdSRUczMihFVkVSR1JFRU5fR1JQSF9DT05UUk9MICsgYW1kZ3B1 X2NydGMtPmNydGNfb2Zmc2V0LCBmYl9mb3JtYXQpOwotCVdSRUczMihFVkVSR1JFRU5fR1JQSF9T V0FQX0NPTlRST0wgKyBhbWRncHVfY3J0Yy0+Y3J0Y19vZmZzZXQsIGZiX3N3YXApOworCVdSRUcz MihtbUdSUEhfUFJJTUFSWV9TVVJGQUNFX0FERFJFU1MgKyBhbWRncHVfY3J0Yy0+Y3J0Y19vZmZz ZXQsCisJICAgICAgICh1MzIpZmJfbG9jYXRpb24gJiBHUlBIX1BSSU1BUllfU1VSRkFDRV9BRERS RVNTX19HUlBIX1BSSU1BUllfU1VSRkFDRV9BRERSRVNTX01BU0spOworCVdSRUczMihtbUdSUEhf U0VDT05EQVJZX1NVUkZBQ0VfQUREUkVTUyArIGFtZGdwdV9jcnRjLT5jcnRjX29mZnNldCwKKwkg ICAgICAgKHUzMikgZmJfbG9jYXRpb24gJiBHUlBIX1BSSU1BUllfU1VSRkFDRV9BRERSRVNTX19H UlBIX1BSSU1BUllfU1VSRkFDRV9BRERSRVNTX01BU0spOworCVdSRUczMihtbUdSUEhfQ09OVFJP TCArIGFtZGdwdV9jcnRjLT5jcnRjX29mZnNldCwgZmJfZm9ybWF0KTsKKwlXUkVHMzIobW1HUlBI X1NXQVBfQ05UTCArIGFtZGdwdV9jcnRjLT5jcnRjX29mZnNldCwgZmJfc3dhcCk7CiAKIAkvKgog CSAqIFRoZSBMVVQgb25seSBoYXMgMjU2IHNsb3RzIGZvciBpbmRleGluZyBieSBhIDggYnBjIGZi LiBCeXBhc3MgdGhlIExVVAogCSAqIGZvciA+IDggYnBjIHNjYW5vdXQgdG8gYXZvaWQgdHJ1bmNh dGlvbiBvZiBmYiBpbmRpY2VzIHRvIDggbXNiJ3MsIHRvCiAJICogcmV0YWluIHRoZSBmdWxsIHBy ZWNpc2lvbiB0aHJvdWdob3V0IHRoZSBwaXBlbGluZS4KIAkgKi8KLQlXUkVHMzJfUChFVkVSR1JF RU5fR1JQSF9MVVRfMTBCSVRfQllQQVNTX0NPTlRST0wgKyBhbWRncHVfY3J0Yy0+Y3J0Y19vZmZz ZXQsCi0JCSAoYnlwYXNzX2x1dCA/IEVWRVJHUkVFTl9MVVRfMTBCSVRfQllQQVNTX0VOIDogMCks Ci0JCSB+RVZFUkdSRUVOX0xVVF8xMEJJVF9CWVBBU1NfRU4pOworCVdSRUczMl9QKG1tR1JQSF9M VVRfMTBCSVRfQllQQVNTICsgYW1kZ3B1X2NydGMtPmNydGNfb2Zmc2V0LAorCQkgKGJ5cGFzc19s dXQgPyBHUlBIX0xVVF8xMEJJVF9CWVBBU1NfX0dSUEhfTFVUXzEwQklUX0JZUEFTU19FTl9NQVNL IDogMCksCisJCSB+R1JQSF9MVVRfMTBCSVRfQllQQVNTX19HUlBIX0xVVF8xMEJJVF9CWVBBU1Nf RU5fTUFTSyk7CiAKIAlpZiAoYnlwYXNzX2x1dCkKIAkJRFJNX0RFQlVHX0tNUygiQnlwYXNzaW5n IGhhcmR3YXJlIExVVCBkdWUgdG8gMTAgYml0IGZiIHNjYW5vdXQuXG4iKTsKIAotCVdSRUczMihF VkVSR1JFRU5fR1JQSF9TVVJGQUNFX09GRlNFVF9YICsgYW1kZ3B1X2NydGMtPmNydGNfb2Zmc2V0 LCAwKTsKLQlXUkVHMzIoRVZFUkdSRUVOX0dSUEhfU1VSRkFDRV9PRkZTRVRfWSArIGFtZGdwdV9j cnRjLT5jcnRjX29mZnNldCwgMCk7Ci0JV1JFRzMyKEVWRVJHUkVFTl9HUlBIX1hfU1RBUlQgKyBh bWRncHVfY3J0Yy0+Y3J0Y19vZmZzZXQsIDApOwotCVdSRUczMihFVkVSR1JFRU5fR1JQSF9ZX1NU QVJUICsgYW1kZ3B1X2NydGMtPmNydGNfb2Zmc2V0LCAwKTsKLQlXUkVHMzIoRVZFUkdSRUVOX0dS UEhfWF9FTkQgKyBhbWRncHVfY3J0Yy0+Y3J0Y19vZmZzZXQsIHRhcmdldF9mYi0+d2lkdGgpOwot CVdSRUczMihFVkVSR1JFRU5fR1JQSF9ZX0VORCArIGFtZGdwdV9jcnRjLT5jcnRjX29mZnNldCwg dGFyZ2V0X2ZiLT5oZWlnaHQpOworCVdSRUczMihtbUdSUEhfU1VSRkFDRV9PRkZTRVRfWCArIGFt ZGdwdV9jcnRjLT5jcnRjX29mZnNldCwgMCk7CisJV1JFRzMyKG1tR1JQSF9TVVJGQUNFX09GRlNF VF9ZICsgYW1kZ3B1X2NydGMtPmNydGNfb2Zmc2V0LCAwKTsKKwlXUkVHMzIobW1HUlBIX1hfU1RB UlQgKyBhbWRncHVfY3J0Yy0+Y3J0Y19vZmZzZXQsIDApOworCVdSRUczMihtbUdSUEhfWV9TVEFS VCArIGFtZGdwdV9jcnRjLT5jcnRjX29mZnNldCwgMCk7CisJV1JFRzMyKG1tR1JQSF9YX0VORCAr IGFtZGdwdV9jcnRjLT5jcnRjX29mZnNldCwgdGFyZ2V0X2ZiLT53aWR0aCk7CisJV1JFRzMyKG1t R1JQSF9ZX0VORCArIGFtZGdwdV9jcnRjLT5jcnRjX29mZnNldCwgdGFyZ2V0X2ZiLT5oZWlnaHQp OwogCiAJZmJfcGl0Y2hfcGl4ZWxzID0gdGFyZ2V0X2ZiLT5waXRjaGVzWzBdIC8gKHRhcmdldF9m Yi0+Yml0c19wZXJfcGl4ZWwgLyA4KTsKLQlXUkVHMzIoRVZFUkdSRUVOX0dSUEhfUElUQ0ggKyBh bWRncHVfY3J0Yy0+Y3J0Y19vZmZzZXQsIGZiX3BpdGNoX3BpeGVscyk7CisJV1JFRzMyKG1tR1JQ SF9QSVRDSCArIGFtZGdwdV9jcnRjLT5jcnRjX29mZnNldCwgZmJfcGl0Y2hfcGl4ZWxzKTsKIAog CWRjZV92Nl8wX2dycGhfZW5hYmxlKGNydGMsIHRydWUpOwogCi0JV1JFRzMyKEVWRVJHUkVFTl9E RVNLVE9QX0hFSUdIVCArIGFtZGdwdV9jcnRjLT5jcnRjX29mZnNldCwKKwlXUkVHMzIobW1FVkVS R1JFRU5fREVTS1RPUF9IRUlHSFQgKyBhbWRncHVfY3J0Yy0+Y3J0Y19vZmZzZXQsCiAJCSAgICAg ICB0YXJnZXRfZmItPmhlaWdodCk7CiAJeCAmPSB+MzsKIAl5ICY9IH4xOwotCVdSRUczMihFVkVS R1JFRU5fVklFV1BPUlRfU1RBUlQgKyBhbWRncHVfY3J0Yy0+Y3J0Y19vZmZzZXQsCisJV1JFRzMy KG1tVklFV1BPUlRfU1RBUlQgKyBhbWRncHVfY3J0Yy0+Y3J0Y19vZmZzZXQsCiAJICAgICAgICh4 IDw8IDE2KSB8IHkpOwogCXZpZXdwb3J0X3cgPSBjcnRjLT5tb2RlLmhkaXNwbGF5OwogCXZpZXdw b3J0X2ggPSAoY3J0Yy0+bW9kZS52ZGlzcGxheSArIDEpICYgfjE7CiAKLQlXUkVHMzIoRVZFUkdS RUVOX1ZJRVdQT1JUX1NJWkUgKyBhbWRncHVfY3J0Yy0+Y3J0Y19vZmZzZXQsCisJV1JFRzMyKG1t VklFV1BPUlRfU0laRSArIGFtZGdwdV9jcnRjLT5jcnRjX29mZnNldCwKIAkgICAgICAgKHZpZXdw b3J0X3cgPDwgMTYpIHwgdmlld3BvcnRfaCk7CiAKIAkvKiBzZXQgcGFnZWZsaXAgdG8gaGFwcGVu IG9ubHkgYXQgc3RhcnQgb2YgdmJsYW5rIGludGVydmFsIChmcm9udCBwb3JjaCkgKi8KLQlXUkVH MzIoRVZFUkdSRUVOX01BU1RFUl9VUERBVEVfTU9ERSArIGFtZGdwdV9jcnRjLT5jcnRjX29mZnNl dCwgMyk7CisJV1JFRzMyKG1tTUFTVEVSX1VQREFURV9NT0RFICsgYW1kZ3B1X2NydGMtPmNydGNf b2Zmc2V0LCAzKTsKIAogCWlmICghYXRvbWljICYmIGZiICYmIGZiICE9IGNydGMtPnByaW1hcnkt PmZiKSB7CiAJCWFtZGdwdV9mYiA9IHRvX2FtZGdwdV9mcmFtZWJ1ZmZlcihmYik7CkBAIC0xNjY3 LDEwICsxNjgyLDEwIEBAIHN0YXRpYyB2b2lkIGRjZV92Nl8wX3NldF9pbnRlcmxlYXZlKHN0cnVj dCBkcm1fY3J0YyAqY3J0YywKIAlzdHJ1Y3QgYW1kZ3B1X2NydGMgKmFtZGdwdV9jcnRjID0gdG9f YW1kZ3B1X2NydGMoY3J0Yyk7CiAKIAlpZiAobW9kZS0+ZmxhZ3MgJiBEUk1fTU9ERV9GTEFHX0lO VEVSTEFDRSkKLQkJV1JFRzMyKEVWRVJHUkVFTl9EQVRBX0ZPUk1BVCArIGFtZGdwdV9jcnRjLT5j cnRjX29mZnNldCwKKwkJV1JFRzMyKG1tRVZFUkdSRUVOX0RBVEFfRk9STUFUICsgYW1kZ3B1X2Ny dGMtPmNydGNfb2Zmc2V0LAogCQkgICAgICAgRVZFUkdSRUVOX0lOVEVSTEVBVkVfRU4pOwogCWVs c2UKLQkJV1JFRzMyKEVWRVJHUkVFTl9EQVRBX0ZPUk1BVCArIGFtZGdwdV9jcnRjLT5jcnRjX29m ZnNldCwgMCk7CisJCVdSRUczMihtbUVWRVJHUkVFTl9EQVRBX0ZPUk1BVCArIGFtZGdwdV9jcnRj LT5jcnRjX29mZnNldCwgMCk7CiB9CiAKIHN0YXRpYyB2b2lkIGRjZV92Nl8wX2NydGNfbG9hZF9s dXQoc3RydWN0IGRybV9jcnRjICpjcnRjKQpAQCAtMTY4Myw1NCArMTY5OCw1MiBAQCBzdGF0aWMg dm9pZCBkY2VfdjZfMF9jcnRjX2xvYWRfbHV0KHN0cnVjdCBkcm1fY3J0YyAqY3J0YykKIAogCURS TV9ERUJVR19LTVMoIiVkXG4iLCBhbWRncHVfY3J0Yy0+Y3J0Y19pZCk7CiAKLQlXUkVHMzIoTklf SU5QVVRfQ1NDX0NPTlRST0wgKyBhbWRncHVfY3J0Yy0+Y3J0Y19vZmZzZXQsCi0JICAgICAgIChO SV9JTlBVVF9DU0NfR1JQSF9NT0RFKE5JX0lOUFVUX0NTQ19CWVBBU1MpIHwKLQkJTklfSU5QVVRf Q1NDX09WTF9NT0RFKE5JX0lOUFVUX0NTQ19CWVBBU1MpKSk7Ci0JV1JFRzMyKE5JX1BSRVNDQUxF X0dSUEhfQ09OVFJPTCArIGFtZGdwdV9jcnRjLT5jcnRjX29mZnNldCwKLQkgICAgICAgTklfR1JQ SF9QUkVTQ0FMRV9CWVBBU1MpOwotCVdSRUczMihOSV9QUkVTQ0FMRV9PVkxfQ09OVFJPTCArIGFt ZGdwdV9jcnRjLT5jcnRjX29mZnNldCwKLQkgICAgICAgTklfT1ZMX1BSRVNDQUxFX0JZUEFTUyk7 Ci0JV1JFRzMyKE5JX0lOUFVUX0dBTU1BX0NPTlRST0wgKyBhbWRncHVfY3J0Yy0+Y3J0Y19vZmZz ZXQsCi0JICAgICAgIChOSV9HUlBIX0lOUFVUX0dBTU1BX01PREUoTklfSU5QVVRfR0FNTUFfVVNF X0xVVCkgfAotCQlOSV9PVkxfSU5QVVRfR0FNTUFfTU9ERShOSV9JTlBVVF9HQU1NQV9VU0VfTFVU KSkpOwotCi0KKwlXUkVHMzIobW1JTlBVVF9DU0NfQ09OVFJPTCArIGFtZGdwdV9jcnRjLT5jcnRj X29mZnNldCwKKwkgICAgICAgKCgwIDw8IElOUFVUX0NTQ19DT05UUk9MX19JTlBVVF9DU0NfR1JQ SF9NT0RFX19TSElGVCkgfAorCQkoMCA8PCBJTlBVVF9DU0NfQ09OVFJPTF9fSU5QVVRfQ1NDX09W TF9NT0RFX19TSElGVCkpKTsKKwlXUkVHMzIobW1QUkVTQ0FMRV9HUlBIX0NPTlRST0wgKyBhbWRn cHVfY3J0Yy0+Y3J0Y19vZmZzZXQsCisJICAgICAgIFBSRVNDQUxFX0dSUEhfQ09OVFJPTF9fR1JQ SF9QUkVTQ0FMRV9CWVBBU1NfTUFTSyk7CisJV1JFRzMyKG1tUFJFU0NBTEVfT1ZMX0NPTlRST0wg KyBhbWRncHVfY3J0Yy0+Y3J0Y19vZmZzZXQsCisJICAgICAgIFBSRVNDQUxFX09WTF9DT05UUk9M X19PVkxfUFJFU0NBTEVfQllQQVNTX01BU0spOworCVdSRUczMihtbUlOUFVUX0dBTU1BX0NPTlRS T0wgKyBhbWRncHVfY3J0Yy0+Y3J0Y19vZmZzZXQsCisJICAgICAgICgoMCA8PCBJTlBVVF9HQU1N QV9DT05UUk9MX19HUlBIX0lOUFVUX0dBTU1BX01PREVfX1NISUZUKSB8CisJCSgwIDw8IElOUFVU X0dBTU1BX0NPTlRST0xfX09WTF9JTlBVVF9HQU1NQV9NT0RFX19TSElGVCkpKTsKIAotCVdSRUcz MihFVkVSR1JFRU5fRENfTFVUX0NPTlRST0wgKyBhbWRncHVfY3J0Yy0+Y3J0Y19vZmZzZXQsIDAp OworCVdSRUczMihtbURDX0xVVF9DT05UUk9MICsgYW1kZ3B1X2NydGMtPmNydGNfb2Zmc2V0LCAw KTsKIAotCVdSRUczMihFVkVSR1JFRU5fRENfTFVUX0JMQUNLX09GRlNFVF9CTFVFICsgYW1kZ3B1 X2NydGMtPmNydGNfb2Zmc2V0LCAwKTsKLQlXUkVHMzIoRVZFUkdSRUVOX0RDX0xVVF9CTEFDS19P RkZTRVRfR1JFRU4gKyBhbWRncHVfY3J0Yy0+Y3J0Y19vZmZzZXQsIDApOwotCVdSRUczMihFVkVS R1JFRU5fRENfTFVUX0JMQUNLX09GRlNFVF9SRUQgKyBhbWRncHVfY3J0Yy0+Y3J0Y19vZmZzZXQs IDApOworCVdSRUczMihtbURDX0xVVF9CTEFDS19PRkZTRVRfQkxVRSArIGFtZGdwdV9jcnRjLT5j cnRjX29mZnNldCwgMCk7CisJV1JFRzMyKG1tRENfTFVUX0JMQUNLX09GRlNFVF9HUkVFTiArIGFt ZGdwdV9jcnRjLT5jcnRjX29mZnNldCwgMCk7CisJV1JFRzMyKG1tRENfTFVUX0JMQUNLX09GRlNF VF9SRUQgKyBhbWRncHVfY3J0Yy0+Y3J0Y19vZmZzZXQsIDApOwogCi0JV1JFRzMyKEVWRVJHUkVF Tl9EQ19MVVRfV0hJVEVfT0ZGU0VUX0JMVUUgKyBhbWRncHVfY3J0Yy0+Y3J0Y19vZmZzZXQsIDB4 ZmZmZik7Ci0JV1JFRzMyKEVWRVJHUkVFTl9EQ19MVVRfV0hJVEVfT0ZGU0VUX0dSRUVOICsgYW1k Z3B1X2NydGMtPmNydGNfb2Zmc2V0LCAweGZmZmYpOwotCVdSRUczMihFVkVSR1JFRU5fRENfTFVU X1dISVRFX09GRlNFVF9SRUQgKyBhbWRncHVfY3J0Yy0+Y3J0Y19vZmZzZXQsIDB4ZmZmZik7CisJ V1JFRzMyKG1tRENfTFVUX1dISVRFX09GRlNFVF9CTFVFICsgYW1kZ3B1X2NydGMtPmNydGNfb2Zm c2V0LCAweGZmZmYpOworCVdSRUczMihtbURDX0xVVF9XSElURV9PRkZTRVRfR1JFRU4gKyBhbWRn cHVfY3J0Yy0+Y3J0Y19vZmZzZXQsIDB4ZmZmZik7CisJV1JFRzMyKG1tRENfTFVUX1dISVRFX09G RlNFVF9SRUQgKyBhbWRncHVfY3J0Yy0+Y3J0Y19vZmZzZXQsIDB4ZmZmZik7CiAKLQlXUkVHMzIo RVZFUkdSRUVOX0RDX0xVVF9SV19NT0RFICsgYW1kZ3B1X2NydGMtPmNydGNfb2Zmc2V0LCAwKTsK LQlXUkVHMzIoRVZFUkdSRUVOX0RDX0xVVF9XUklURV9FTl9NQVNLICsgYW1kZ3B1X2NydGMtPmNy dGNfb2Zmc2V0LCAweDAwMDAwMDA3KTsKKwlXUkVHMzIobW1EQ19MVVRfUldfTU9ERSArIGFtZGdw dV9jcnRjLT5jcnRjX29mZnNldCwgMCk7CisJV1JFRzMyKG1tRENfTFVUX1dSSVRFX0VOX01BU0sg KyBhbWRncHVfY3J0Yy0+Y3J0Y19vZmZzZXQsIDB4MDAwMDAwMDcpOwogCi0JV1JFRzMyKEVWRVJH UkVFTl9EQ19MVVRfUldfSU5ERVggKyBhbWRncHVfY3J0Yy0+Y3J0Y19vZmZzZXQsIDApOworCVdS RUczMihtbURDX0xVVF9SV19JTkRFWCArIGFtZGdwdV9jcnRjLT5jcnRjX29mZnNldCwgMCk7CiAJ Zm9yIChpID0gMDsgaSA8IDI1NjsgaSsrKSB7Ci0JCVdSRUczMihFVkVSR1JFRU5fRENfTFVUXzMw X0NPTE9SICsgYW1kZ3B1X2NydGMtPmNydGNfb2Zmc2V0LAorCQlXUkVHMzIobW1EQ19MVVRfMzBf Q09MT1IgKyBhbWRncHVfY3J0Yy0+Y3J0Y19vZmZzZXQsCiAJCSAgICAgICAoYW1kZ3B1X2NydGMt Pmx1dF9yW2ldIDw8IDIwKSB8CiAJCSAgICAgICAoYW1kZ3B1X2NydGMtPmx1dF9nW2ldIDw8IDEw KSB8CiAJCSAgICAgICAoYW1kZ3B1X2NydGMtPmx1dF9iW2ldIDw8IDApKTsKIAl9CiAKLQlXUkVH MzIoTklfREVHQU1NQV9DT05UUk9MICsgYW1kZ3B1X2NydGMtPmNydGNfb2Zmc2V0LAotCSAgICAg ICAoTklfR1JQSF9ERUdBTU1BX01PREUoTklfREVHQU1NQV9CWVBBU1MpIHwKLQkJTklfT1ZMX0RF R0FNTUFfTU9ERShOSV9ERUdBTU1BX0JZUEFTUykgfAotCQlOSV9JQ09OX0RFR0FNTUFfTU9ERShO SV9ERUdBTU1BX0JZUEFTUykgfAotCQlOSV9DVVJTT1JfREVHQU1NQV9NT0RFKE5JX0RFR0FNTUFf QllQQVNTKSkpOwotCVdSRUczMihOSV9HQU1VVF9SRU1BUF9DT05UUk9MICsgYW1kZ3B1X2NydGMt PmNydGNfb2Zmc2V0LAotCSAgICAgICAoTklfR1JQSF9HQU1VVF9SRU1BUF9NT0RFKE5JX0dBTVVU X1JFTUFQX0JZUEFTUykgfAotCQlOSV9PVkxfR0FNVVRfUkVNQVBfTU9ERShOSV9HQU1VVF9SRU1B UF9CWVBBU1MpKSk7Ci0JV1JFRzMyKE5JX1JFR0FNTUFfQ09OVFJPTCArIGFtZGdwdV9jcnRjLT5j cnRjX29mZnNldCwKLQkgICAgICAgKE5JX0dSUEhfUkVHQU1NQV9NT0RFKE5JX1JFR0FNTUFfQllQ QVNTKSB8Ci0JCU5JX09WTF9SRUdBTU1BX01PREUoTklfUkVHQU1NQV9CWVBBU1MpKSk7Ci0JV1JF RzMyKE5JX09VVFBVVF9DU0NfQ09OVFJPTCArIGFtZGdwdV9jcnRjLT5jcnRjX29mZnNldCwKLQkg ICAgICAgKE5JX09VVFBVVF9DU0NfR1JQSF9NT0RFKDApIHwKLQkJTklfT1VUUFVUX0NTQ19PVkxf TU9ERShOSV9PVVRQVVRfQ1NDX0JZUEFTUykpKTsKKwlXUkVHMzIobW1ERUdBTU1BX0NPTlRST0wg KyBhbWRncHVfY3J0Yy0+Y3J0Y19vZmZzZXQsCisJICAgICAgICgoMCA8PCBERUdBTU1BX0NPTlRS T0xfX0dSUEhfREVHQU1NQV9NT0RFX19TSElGVCkgfAorCQkoMCA8PCBERUdBTU1BX0NPTlRST0xf X09WTF9ERUdBTU1BX01PREVfX1NISUZUKSB8CisJCU5JX0lDT05fREVHQU1NQV9NT0RFKDApIHwK KwkJKDAgPDwgREVHQU1NQV9DT05UUk9MX19DVVJTT1JfREVHQU1NQV9NT0RFX19TSElGVCkpKTsK KwlXUkVHMzIobW1HQU1VVF9SRU1BUF9DT05UUk9MICsgYW1kZ3B1X2NydGMtPmNydGNfb2Zmc2V0 LAorCSAgICAgICAoKDAgPDwgR0FNVVRfUkVNQVBfQ09OVFJPTF9fR1JQSF9HQU1VVF9SRU1BUF9N T0RFX19TSElGVCkgfAorCQkoMCA8PCBHQU1VVF9SRU1BUF9DT05UUk9MX19PVkxfR0FNVVRfUkVN QVBfTU9ERV9fU0hJRlQpKSk7CisJV1JFRzMyKG1tUkVHQU1NQV9DT05UUk9MICsgYW1kZ3B1X2Ny dGMtPmNydGNfb2Zmc2V0LAorCSAgICAgICAoKDAgPDwgUkVHQU1NQV9DT05UUk9MX19HUlBIX1JF R0FNTUFfTU9ERV9fU0hJRlQpIHwKKwkJKDAgPDwgUkVHQU1NQV9DT05UUk9MX19PVkxfUkVHQU1N QV9NT0RFX19TSElGVCkpKTsKKwlXUkVHMzIobW1PVVRQVVRfQ1NDX0NPTlRST0wgKyBhbWRncHVf Y3J0Yy0+Y3J0Y19vZmZzZXQsCisJICAgICAgICgoMCA8PCBPVVRQVVRfQ1NDX0NPTlRST0xfX09V VFBVVF9DU0NfR1JQSF9NT0RFX19TSElGVCkgfAorCQkoMCA8PCBPVVRQVVRfQ1NDX0NPTlRST0xf X09VVFBVVF9DU0NfT1ZMX01PREVfX1NISUZUKSkpOwogCS8qIFhYWCBtYXRjaCB0aGlzIHRvIHRo ZSBkZXB0aCBvZiB0aGUgY3J0YyBmbXQgYmxvY2ssIG1vdmUgdG8gbW9kZXNldD8gKi8KIAlXUkVH MzIoMHgxYTUwICsgYW1kZ3B1X2NydGMtPmNydGNfb2Zmc2V0LCAwKTsKIApAQCAtMTgwOSwxMiAr MTgyMiwxMiBAQCBzdGF0aWMgdm9pZCBkY2VfdjZfMF9sb2NrX2N1cnNvcihzdHJ1Y3QgZHJtX2Ny dGMgKmNydGMsIGJvb2wgbG9jaykKIAlzdHJ1Y3QgYW1kZ3B1X2NydGMgKmFtZGdwdV9jcnRjID0g dG9fYW1kZ3B1X2NydGMoY3J0Yyk7CiAJdWludDMyX3QgY3VyX2xvY2s7CiAKLQljdXJfbG9jayA9 IFJSRUczMihFVkVSR1JFRU5fQ1VSX1VQREFURSArIGFtZGdwdV9jcnRjLT5jcnRjX29mZnNldCk7 CisJY3VyX2xvY2sgPSBSUkVHMzIobW1DVVJfVVBEQVRFICsgYW1kZ3B1X2NydGMtPmNydGNfb2Zm c2V0KTsKIAlpZiAobG9jaykKLQkJY3VyX2xvY2sgfD0gRVZFUkdSRUVOX0NVUlNPUl9VUERBVEVf TE9DSzsKKwkJY3VyX2xvY2sgfD0gQ1VSX1VQREFURV9fQ1VSU09SX1VQREFURV9MT0NLX01BU0s7 CiAJZWxzZQotCQljdXJfbG9jayAmPSB+RVZFUkdSRUVOX0NVUlNPUl9VUERBVEVfTE9DSzsKLQlX UkVHMzIoRVZFUkdSRUVOX0NVUl9VUERBVEUgKyBhbWRncHVfY3J0Yy0+Y3J0Y19vZmZzZXQsIGN1 cl9sb2NrKTsKKwkJY3VyX2xvY2sgJj0gfkNVUl9VUERBVEVfX0NVUlNPUl9VUERBVEVfTE9DS19N QVNLOworCVdSRUczMihtbUNVUl9VUERBVEUgKyBhbWRncHVfY3J0Yy0+Y3J0Y19vZmZzZXQsIGN1 cl9sb2NrKTsKIH0KIAogc3RhdGljIHZvaWQgZGNlX3Y2XzBfaGlkZV9jdXJzb3Ioc3RydWN0IGRy bV9jcnRjICpjcnRjKQpAQCAtMTgyMiw5ICsxODM1LDkgQEAgc3RhdGljIHZvaWQgZGNlX3Y2XzBf aGlkZV9jdXJzb3Ioc3RydWN0IGRybV9jcnRjICpjcnRjKQogCXN0cnVjdCBhbWRncHVfY3J0YyAq YW1kZ3B1X2NydGMgPSB0b19hbWRncHVfY3J0YyhjcnRjKTsKIAlzdHJ1Y3QgYW1kZ3B1X2Rldmlj ZSAqYWRldiA9IGNydGMtPmRldi0+ZGV2X3ByaXZhdGU7CiAKLQlXUkVHMzJfSURYKEVWRVJHUkVF Tl9DVVJfQ09OVFJPTCArIGFtZGdwdV9jcnRjLT5jcnRjX29mZnNldCwKLQkJICAgRVZFUkdSRUVO X0NVUlNPUl9NT0RFKEVWRVJHUkVFTl9DVVJTT1JfMjRfOF9QUkVfTVVMVCkgfAotCQkgICBFVkVS R1JFRU5fQ1VSU09SX1VSR0VOVF9DT05UUk9MKEVWRVJHUkVFTl9DVVJTT1JfVVJHRU5UXzFfMikp OworCVdSRUczMl9JRFgobW1DVVJfQ09OVFJPTCArIGFtZGdwdV9jcnRjLT5jcnRjX29mZnNldCwK KwkJICAgKEVWRVJHUkVFTl9DVVJTT1JfMjRfOF9QUkVfTVVMVCA8PCBDVVJfQ09OVFJPTF9fQ1VS U09SX01PREVfX1NISUZUKSB8CisJCSAgIChFVkVSR1JFRU5fQ1VSU09SX1VSR0VOVF8xXzIgPDwg Q1VSX0NPTlRST0xfX0NVUlNPUl9VUkdFTlRfQ09OVFJPTF9fU0hJRlQpKTsKIAogCiB9CkBAIC0x ODM0LDE1ICsxODQ3LDE1IEBAIHN0YXRpYyB2b2lkIGRjZV92Nl8wX3Nob3dfY3Vyc29yKHN0cnVj dCBkcm1fY3J0YyAqY3J0YykKIAlzdHJ1Y3QgYW1kZ3B1X2NydGMgKmFtZGdwdV9jcnRjID0gdG9f YW1kZ3B1X2NydGMoY3J0Yyk7CiAJc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYgPSBjcnRjLT5k ZXYtPmRldl9wcml2YXRlOwogCi0JV1JFRzMyKEVWRVJHUkVFTl9DVVJfU1VSRkFDRV9BRERSRVNT X0hJR0ggKyBhbWRncHVfY3J0Yy0+Y3J0Y19vZmZzZXQsCisJV1JFRzMyKG1tQ1VSX1NVUkZBQ0Vf QUREUkVTU19ISUdIICsgYW1kZ3B1X2NydGMtPmNydGNfb2Zmc2V0LAogCSAgICAgICB1cHBlcl8z Ml9iaXRzKGFtZGdwdV9jcnRjLT5jdXJzb3JfYWRkcikpOwotCVdSRUczMihFVkVSR1JFRU5fQ1VS X1NVUkZBQ0VfQUREUkVTUyArIGFtZGdwdV9jcnRjLT5jcnRjX29mZnNldCwKKwlXUkVHMzIobW1D VVJfU1VSRkFDRV9BRERSRVNTICsgYW1kZ3B1X2NydGMtPmNydGNfb2Zmc2V0LAogCSAgICAgICBs b3dlcl8zMl9iaXRzKGFtZGdwdV9jcnRjLT5jdXJzb3JfYWRkcikpOwogCi0JV1JFRzMyX0lEWChF VkVSR1JFRU5fQ1VSX0NPTlRST0wgKyBhbWRncHVfY3J0Yy0+Y3J0Y19vZmZzZXQsCi0JCSAgIEVW RVJHUkVFTl9DVVJTT1JfRU4gfAotCQkgICBFVkVSR1JFRU5fQ1VSU09SX01PREUoRVZFUkdSRUVO X0NVUlNPUl8yNF84X1BSRV9NVUxUKSB8Ci0JCSAgIEVWRVJHUkVFTl9DVVJTT1JfVVJHRU5UX0NP TlRST0woRVZFUkdSRUVOX0NVUlNPUl9VUkdFTlRfMV8yKSk7CisJV1JFRzMyX0lEWChtbUNVUl9D T05UUk9MICsgYW1kZ3B1X2NydGMtPmNydGNfb2Zmc2V0LAorCQkgICBDVVJfQ09OVFJPTF9fQ1VS U09SX0VOX01BU0sgfAorCQkgICAoRVZFUkdSRUVOX0NVUlNPUl8yNF84X1BSRV9NVUxUIDw8IENV Ul9DT05UUk9MX19DVVJTT1JfTU9ERV9fU0hJRlQpIHwKKwkJICAgKEVWRVJHUkVFTl9DVVJTT1Jf VVJHRU5UXzFfMiA8PCBDVVJfQ09OVFJPTF9fQ1VSU09SX1VSR0VOVF9DT05UUk9MX19TSElGVCkp OwogCiB9CiAKQEAgLTE4NjksOSArMTg4Miw5IEBAIHN0YXRpYyBpbnQgZGNlX3Y2XzBfY3Vyc29y X21vdmVfbG9ja2VkKHN0cnVjdCBkcm1fY3J0YyAqY3J0YywKIAkJeSA9IDA7CiAJfQogCi0JV1JF RzMyKEVWRVJHUkVFTl9DVVJfUE9TSVRJT04gKyBhbWRncHVfY3J0Yy0+Y3J0Y19vZmZzZXQsICh4 IDw8IDE2KSB8IHkpOwotCVdSRUczMihFVkVSR1JFRU5fQ1VSX0hPVF9TUE9UICsgYW1kZ3B1X2Ny dGMtPmNydGNfb2Zmc2V0LCAoeG9yaWdpbiA8PCAxNikgfCB5b3JpZ2luKTsKLQlXUkVHMzIoRVZF UkdSRUVOX0NVUl9TSVpFICsgYW1kZ3B1X2NydGMtPmNydGNfb2Zmc2V0LAorCVdSRUczMihtbUNV Ul9QT1NJVElPTiArIGFtZGdwdV9jcnRjLT5jcnRjX29mZnNldCwgKHggPDwgMTYpIHwgeSk7CisJ V1JFRzMyKG1tQ1VSX0hPVF9TUE9UICsgYW1kZ3B1X2NydGMtPmNydGNfb2Zmc2V0LCAoeG9yaWdp biA8PCAxNikgfCB5b3JpZ2luKTsKKwlXUkVHMzIobW1DVVJfU0laRSArIGFtZGdwdV9jcnRjLT5j cnRjX29mZnNldCwKIAkgICAgICAgKCh3IC0gMSkgPDwgMTYpIHwgKGFtZGdwdV9jcnRjLT5jdXJz b3JfaGVpZ2h0IC0gMSkpOwogCiAJYW1kZ3B1X2NydGMtPmN1cnNvcl94ID0geDsKQEAgLTI0NzUs MTQgKzI0ODgsMTQgQEAgc3RhdGljIHZvaWQgZGNlX3Y2XzBfc2V0X2NydGNfdmJsYW5rX2ludGVy cnVwdF9zdGF0ZShzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldiwKIAogCXN3aXRjaCAoc3RhdGUp IHsKIAljYXNlIEFNREdQVV9JUlFfU1RBVEVfRElTQUJMRToKLQkJaW50ZXJydXB0X21hc2sgPSBS UkVHMzIoSU5UX01BU0sgKyByZWdfYmxvY2spOworCQlpbnRlcnJ1cHRfbWFzayA9IFJSRUczMiht bUlOVF9NQVNLICsgcmVnX2Jsb2NrKTsKIAkJaW50ZXJydXB0X21hc2sgJj0gflZCTEFOS19JTlRf TUFTSzsKLQkJV1JFRzMyKElOVF9NQVNLICsgcmVnX2Jsb2NrLCBpbnRlcnJ1cHRfbWFzayk7CisJ CVdSRUczMihtbUlOVF9NQVNLICsgcmVnX2Jsb2NrLCBpbnRlcnJ1cHRfbWFzayk7CiAJCWJyZWFr OwogCWNhc2UgQU1ER1BVX0lSUV9TVEFURV9FTkFCTEU6Ci0JCWludGVycnVwdF9tYXNrID0gUlJF RzMyKElOVF9NQVNLICsgcmVnX2Jsb2NrKTsKKwkJaW50ZXJydXB0X21hc2sgPSBSUkVHMzIobW1J TlRfTUFTSyArIHJlZ19ibG9jayk7CiAJCWludGVycnVwdF9tYXNrIHw9IFZCTEFOS19JTlRfTUFT SzsKLQkJV1JFRzMyKElOVF9NQVNLICsgcmVnX2Jsb2NrLCBpbnRlcnJ1cHRfbWFzayk7CisJCVdS RUczMihtbUlOVF9NQVNLICsgcmVnX2Jsb2NrLCBpbnRlcnJ1cHRfbWFzayk7CiAJCWJyZWFrOwog CWRlZmF1bHQ6CiAJCWJyZWFrOwpAQCAtMjUxMCwxNCArMjUyMywxNCBAQCBzdGF0aWMgaW50IGRj ZV92Nl8wX3NldF9ocGRfaW50ZXJydXB0X3N0YXRlKHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2 LAogCiAJc3dpdGNoIChzdGF0ZSkgewogCWNhc2UgQU1ER1BVX0lSUV9TVEFURV9ESVNBQkxFOgot CQlkY19ocGRfaW50X2NudGwgPSBSUkVHMzIoRENfSFBEMV9JTlRfQ09OVFJPTCArIGhwZF9vZmZz ZXRzW3R5cGVdKTsKKwkJZGNfaHBkX2ludF9jbnRsID0gUlJFRzMyKG1tRENfSFBEMV9JTlRfQ09O VFJPTCArIGhwZF9vZmZzZXRzW3R5cGVdKTsKIAkJZGNfaHBkX2ludF9jbnRsICY9IH5EQ19IUER4 X0lOVF9FTjsKLQkJV1JFRzMyKERDX0hQRDFfSU5UX0NPTlRST0wgKyBocGRfb2Zmc2V0c1t0eXBl XSwgZGNfaHBkX2ludF9jbnRsKTsKKwkJV1JFRzMyKG1tRENfSFBEMV9JTlRfQ09OVFJPTCArIGhw ZF9vZmZzZXRzW3R5cGVdLCBkY19ocGRfaW50X2NudGwpOwogCQlicmVhazsKIAljYXNlIEFNREdQ VV9JUlFfU1RBVEVfRU5BQkxFOgotCQlkY19ocGRfaW50X2NudGwgPSBSUkVHMzIoRENfSFBEMV9J TlRfQ09OVFJPTCArIGhwZF9vZmZzZXRzW3R5cGVdKTsKKwkJZGNfaHBkX2ludF9jbnRsID0gUlJF RzMyKG1tRENfSFBEMV9JTlRfQ09OVFJPTCArIGhwZF9vZmZzZXRzW3R5cGVdKTsKIAkJZGNfaHBk X2ludF9jbnRsIHw9IERDX0hQRHhfSU5UX0VOOwotCQlXUkVHMzIoRENfSFBEMV9JTlRfQ09OVFJP TCArIGhwZF9vZmZzZXRzW3R5cGVdLCBkY19ocGRfaW50X2NudGwpOworCQlXUkVHMzIobW1EQ19I UEQxX0lOVF9DT05UUk9MICsgaHBkX29mZnNldHNbdHlwZV0sIGRjX2hwZF9pbnRfY250bCk7CiAJ CWJyZWFrOwogCWRlZmF1bHQ6CiAJCWJyZWFrOwpAQCAtMjU4NSw3ICsyNTk4LDcgQEAgc3RhdGlj IGludCBkY2VfdjZfMF9jcnRjX2lycShzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldiwKIAlzd2l0 Y2ggKGVudHJ5LT5zcmNfZGF0YSkgewogCWNhc2UgMDogLyogdmJsYW5rICovCiAJCWlmIChkaXNw X2ludCAmIGludGVycnVwdF9zdGF0dXNfb2Zmc2V0c1tjcnRjXS52YmxhbmspCi0JCQlXUkVHMzIo VkJMQU5LX1NUQVRVUyArIGNydGNfb2Zmc2V0c1tjcnRjXSwgVkJMQU5LX0FDSyk7CisJCQlXUkVH MzIobW1WQkxBTktfU1RBVFVTICsgY3J0Y19vZmZzZXRzW2NydGNdLCBWQkxBTktfQUNLKTsKIAkJ ZWxzZQogCQkJRFJNX0RFQlVHKCJJSDogSUggZXZlbnQgdy9vIGFzc2VydGVkIGlycSBiaXQ/XG4i KTsKIApAQCAtMjU5Niw3ICsyNjA5LDcgQEAgc3RhdGljIGludCBkY2VfdjZfMF9jcnRjX2lycShz dHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldiwKIAkJYnJlYWs7CiAJY2FzZSAxOiAvKiB2bGluZSAq LwogCQlpZiAoZGlzcF9pbnQgJiBpbnRlcnJ1cHRfc3RhdHVzX29mZnNldHNbY3J0Y10udmxpbmUp Ci0JCQlXUkVHMzIoVkxJTkVfU1RBVFVTICsgY3J0Y19vZmZzZXRzW2NydGNdLCBWTElORV9BQ0sp OworCQkJV1JFRzMyKG1tVkxJTkVfU1RBVFVTICsgY3J0Y19vZmZzZXRzW2NydGNdLCBWTElORV9B Q0spOwogCQllbHNlCiAJCQlEUk1fREVCVUcoIklIOiBJSCBldmVudCB3L28gYXNzZXJ0ZWQgaXJx IGJpdD9cbiIpOwogCkBAIC0yNjIyLDEyICsyNjM1LDEyIEBAIHN0YXRpYyBpbnQgZGNlX3Y2XzBf c2V0X3BhZ2VmbGlwX2ludGVycnVwdF9zdGF0ZShzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldiwK IAkJcmV0dXJuIC1FSU5WQUw7CiAJfQogCi0JcmVnID0gUlJFRzMyKEdSUEhfSU5UX0NPTlRST0wg KyBjcnRjX29mZnNldHNbdHlwZV0pOworCXJlZyA9IFJSRUczMihtbUdSUEhfSU5URVJSVVBUX0NP TlRST0wgKyBjcnRjX29mZnNldHNbdHlwZV0pOwogCWlmIChzdGF0ZSA9PSBBTURHUFVfSVJRX1NU QVRFX0RJU0FCTEUpCi0JCVdSRUczMihHUlBIX0lOVF9DT05UUk9MICsgY3J0Y19vZmZzZXRzW3R5 cGVdLAorCQlXUkVHMzIobW1HUlBIX0lOVEVSUlVQVF9DT05UUk9MICsgY3J0Y19vZmZzZXRzW3R5 cGVdLAogCQkgICAgICAgcmVnICYgfkdSUEhfSU5URVJSVVBUX0NPTlRST0xfX0dSUEhfUEZMSVBf SU5UX01BU0tfTUFTSyk7CiAJZWxzZQotCQlXUkVHMzIoR1JQSF9JTlRfQ09OVFJPTCArIGNydGNf b2Zmc2V0c1t0eXBlXSwKKwkJV1JFRzMyKG1tR1JQSF9JTlRFUlJVUFRfQ09OVFJPTCArIGNydGNf b2Zmc2V0c1t0eXBlXSwKIAkJICAgICAgIHJlZyB8IEdSUEhfSU5URVJSVVBUX0NPTlRST0xfX0dS UEhfUEZMSVBfSU5UX01BU0tfTUFTSyk7CiAKIAlyZXR1cm4gMDsKQEAgLTI2NTAsOSArMjY2Myw5 IEBAIHN0YXRpYyBpbnQgZGNlX3Y2XzBfcGFnZWZsaXBfaXJxKHN0cnVjdCBhbWRncHVfZGV2aWNl ICphZGV2LAogCQlyZXR1cm4gLUVJTlZBTDsKIAl9CiAKLQlpZiAoUlJFRzMyKEdSUEhfSU5UX1NU QVRVUyArIGNydGNfb2Zmc2V0c1tjcnRjX2lkXSkgJgorCWlmIChSUkVHMzIobW1HUlBIX0lOVEVS UlVQVF9TVEFUVVMgKyBjcnRjX29mZnNldHNbY3J0Y19pZF0pICYKIAkgICAgR1JQSF9JTlRFUlJV UFRfU1RBVFVTX19HUlBIX1BGTElQX0lOVF9PQ0NVUlJFRF9NQVNLKQotCQlXUkVHMzIoR1JQSF9J TlRfU1RBVFVTICsgY3J0Y19vZmZzZXRzW2NydGNfaWRdLAorCQlXUkVHMzIobW1HUlBIX0lOVEVS UlVQVF9TVEFUVVMgKyBjcnRjX29mZnNldHNbY3J0Y19pZF0sCiAJCSAgICAgICBHUlBIX0lOVEVS UlVQVF9TVEFUVVNfX0dSUEhfUEZMSVBfSU5UX0NMRUFSX01BU0spOwogCiAJLyogSVJRIGNvdWxk IG9jY3VyIHdoZW4gaW4gaW5pdGlhbCBzdGFnZSAqLwpAQCAtMjcwMyw5ICsyNzE2LDkgQEAgc3Rh dGljIGludCBkY2VfdjZfMF9ocGRfaXJxKHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2LAogCW1h c2sgPSBpbnRlcnJ1cHRfc3RhdHVzX29mZnNldHNbaHBkXS5ocGQ7CiAKIAlpZiAoZGlzcF9pbnQg JiBtYXNrKSB7Ci0JCXRtcCA9IFJSRUczMihEQ19IUEQxX0lOVF9DT05UUk9MICsgaHBkX29mZnNl dHNbaHBkXSk7CisJCXRtcCA9IFJSRUczMihtbURDX0hQRDFfSU5UX0NPTlRST0wgKyBocGRfb2Zm c2V0c1tocGRdKTsKIAkJdG1wIHw9IERDX0hQRDFfSU5UX0NPTlRST0xfX0RDX0hQRDFfSU5UX0FD S19NQVNLOwotCQlXUkVHMzIoRENfSFBEMV9JTlRfQ09OVFJPTCArIGhwZF9vZmZzZXRzW2hwZF0s IHRtcCk7CisJCVdSRUczMihtbURDX0hQRDFfSU5UX0NPTlRST0wgKyBocGRfb2Zmc2V0c1tocGRd LCB0bXApOwogCQlzY2hlZHVsZV93b3JrKCZhZGV2LT5ob3RwbHVnX3dvcmspOwogCQlEUk1fSU5G TygiSUg6IEhQRCVkXG4iLCBocGQgKyAxKTsKIAl9CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vYW1kL2FtZGdwdS9zaV9lbnVtcy5oIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvc2lf ZW51bXMuaAppbmRleCAzZWNkMzZmMzBlMmEuLmE1NzA1NGZjYjQ0OCAxMDA2NDQKLS0tIGEvZHJp dmVycy9ncHUvZHJtL2FtZC9hbWRncHUvc2lfZW51bXMuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0v YW1kL2FtZGdwdS9zaV9lbnVtcy5oCkBAIC0yMyw2ICsyMyw4NCBAQAogI2lmbmRlZiBTSV9FTlVN U19ICiAjZGVmaW5lIFNJX0VOVU1TX0gKIAorI2RlZmluZSBWQkxBTktfSU5UX01BU0sgICAgICAg ICAgICAgICAgICAgICAgICAgICgxIDw8IDApCisjZGVmaW5lIERDX0hQRHhfSU5UX0VOICAgICAg ICAgICAgICAgICAgICAgICAgICAgKDEgPDwgMTYpCisjZGVmaW5lIFZCTEFOS19BQ0sgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgNCkKKyNkZWZpbmUgVkxJTkVfQUNLICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAoMSA8PCA0KQorCisjZGVmaW5lIENVUlNPUl9XSURU SCA2NAorI2RlZmluZSBDVVJTT1JfSEVJR0hUIDY0CisKKyNkZWZpbmUgQ18wMDAzMDBfVkdBX1ZT VEFUVVNfQ05UTCAgICAgICAgICAgICAgICAweEZGRkNGRkZGCisjZGVmaW5lIFBSSU9SSVRZX01B UktfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgMHg3ZmZmCisjZGVmaW5lIFBSSU9SSVRZX09G RiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgMTYpCisjZGVmaW5lIFBSSU9SSVRZ X0FMV0FZU19PTiAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgMjApCisjZGVmaW5lIEVWRVJH UkVFTl9JTlRFUkxFQVZFX0VOICAgICAgICAgICAgICAgICAgKDEgPDwgMCkKKworI2RlZmluZSBM QVRFTkNZX1dBVEVSTUFSS19NQVNLKHgpICAgICAgICAgICAgICAgICgoeCkgPDwgMTYpCisjZGVm aW5lIERDX0xCX01FTU9SWV9DT05GSUcoeCkgICAgICAgICAgICAgICAgICAgKCh4KSA8PCAyMCkK KyNkZWZpbmUgTklfSUNPTl9ERUdBTU1BX01PREUoeCkgICAgICAgICAgICAgICAgICAoKCh4KSAm IDB4MykgPDwgOCkKKworI2RlZmluZSBFVkVSR1JFRU5fR1JQSF9FTkRJQU5fU1dBUCh4KSAgICAg ICAgICAgICgoKHgpICYgMHgzKSA8PCAwKQorI2RlZmluZSBFVkVSR1JFRU5fR1JQSF9FTkRJQU5f Tk9ORSAgICAgICAgICAgICAgIDAKKyNkZWZpbmUgRVZFUkdSRUVOX0dSUEhfRU5ESUFOXzhJTjE2 ICAgICAgICAgICAgICAxCisjZGVmaW5lIEVWRVJHUkVFTl9HUlBIX0VORElBTl84SU4zMiAgICAg ICAgICAgICAgMgorI2RlZmluZSBFVkVSR1JFRU5fR1JQSF9FTkRJQU5fOElONjQgICAgICAgICAg ICAgIDMKKworI2RlZmluZSBFVkVSR1JFRU5fR1JQSF9ERVBUSCh4KSAgICAgICAgICAgICAgICAg ICgoKHgpICYgMHgzKSA8PCAwKQorI2RlZmluZSBFVkVSR1JFRU5fR1JQSF9ERVBUSF84QlBQICAg ICAgICAgICAgICAgIDAKKyNkZWZpbmUgRVZFUkdSRUVOX0dSUEhfREVQVEhfMTZCUFAgICAgICAg ICAgICAgICAxCisjZGVmaW5lIEVWRVJHUkVFTl9HUlBIX0RFUFRIXzMyQlBQICAgICAgICAgICAg ICAgMgorCisjZGVmaW5lIEVWRVJHUkVFTl9HUlBIX0ZPUk1BVCh4KSAgICAgICAgICAgICAgICAg KCgoeCkgJiAweDcpIDw8IDgpCisjZGVmaW5lIEVWRVJHUkVFTl9HUlBIX0ZPUk1BVF9JTkRFWEVE ICAgICAgICAgICAgMAorI2RlZmluZSBFVkVSR1JFRU5fR1JQSF9GT1JNQVRfQVJHQjE1NTUgICAg ICAgICAgIDAKKyNkZWZpbmUgRVZFUkdSRUVOX0dSUEhfRk9STUFUX0FSR0I1NjUgICAgICAgICAg ICAxCisjZGVmaW5lIEVWRVJHUkVFTl9HUlBIX0ZPUk1BVF9BUkdCNDQ0NCAgICAgICAgICAgMgor I2RlZmluZSBFVkVSR1JFRU5fR1JQSF9GT1JNQVRfQUk4OCAgICAgICAgICAgICAgIDMKKyNkZWZp bmUgRVZFUkdSRUVOX0dSUEhfRk9STUFUX01PTk8xNiAgICAgICAgICAgICA0CisjZGVmaW5lIEVW RVJHUkVFTl9HUlBIX0ZPUk1BVF9CR1JBNTU1MSAgICAgICAgICAgNQorI2RlZmluZSBFVkVSR1JF RU5fR1JQSF9GT1JNQVRfQVJHQjg4ODggICAgICAgICAgIDAKKyNkZWZpbmUgRVZFUkdSRUVOX0dS UEhfRk9STUFUX0FSR0IyMTAxMDEwICAgICAgICAxCisjZGVmaW5lIEVWRVJHUkVFTl9HUlBIX0ZP Uk1BVF8zMkJQUF9ESUcgICAgICAgICAgMgorI2RlZmluZSBFVkVSR1JFRU5fR1JQSF9GT1JNQVRf OEJfQVJHQjIxMDEwMTAgICAgIDMKKyNkZWZpbmUgRVZFUkdSRUVOX0dSUEhfRk9STUFUX0JHUkEx MDEwMTAyICAgICAgICA0CisjZGVmaW5lIEVWRVJHUkVFTl9HUlBIX0ZPUk1BVF84Ql9CR1JBMTAx MDEwMiAgICAgNQorI2RlZmluZSBFVkVSR1JFRU5fR1JQSF9GT1JNQVRfUkdCMTExMTEwICAgICAg ICAgIDYKKyNkZWZpbmUgRVZFUkdSRUVOX0dSUEhfRk9STUFUX0JHUjEwMTExMSAgICAgICAgICA3 CisKKyNkZWZpbmUgRVZFUkdSRUVOX0dSUEhfTlVNX0JBTktTKHgpICAgICAgICAgICAgICAoKCh4 KSAmIDB4MykgPDwgMikKKyNkZWZpbmUgRVZFUkdSRUVOX0dSUEhfQVJSQVlfTU9ERSh4KSAgICAg ICAgICAgICAoKCh4KSAmIDB4NykgPDwgMjApCisjZGVmaW5lIEVWRVJHUkVFTl9HUlBIX0FSUkFZ X0xJTkVBUl9HRU5FUkFMICAgICAgMAorI2RlZmluZSBFVkVSR1JFRU5fR1JQSF9BUlJBWV9MSU5F QVJfQUxJR05FRCAgICAgIDEKKyNkZWZpbmUgRVZFUkdSRUVOX0dSUEhfQVJSQVlfMURfVElMRURf VEhJTjEgICAgICAyCisjZGVmaW5lIEVWRVJHUkVFTl9HUlBIX0FSUkFZXzJEX1RJTEVEX1RISU4x ICAgICAgNAorI2RlZmluZSBFVkVSR1JFRU5fR1JQSF9USUxFX1NQTElUKHgpICAgICAgICAgICAg ICgoKHgpICYgMHg3KSA8PCAxMykKKyNkZWZpbmUgRVZFUkdSRUVOX0dSUEhfQkFOS19XSURUSCh4 KSAgICAgICAgICAgICAoKCh4KSAmIDB4MykgPDwgNikKKyNkZWZpbmUgRVZFUkdSRUVOX0dSUEhf QkFOS19IRUlHSFQoeCkgICAgICAgICAgICAoKCh4KSAmIDB4MykgPDwgMTEpCisjZGVmaW5lIEVW RVJHUkVFTl9HUlBIX01BQ1JPX1RJTEVfQVNQRUNUKHgpICAgICAgKCgoeCkgJiAweDMpIDw8IDE4 KQorI2RlZmluZSBFVkVSR1JFRU5fR1JQSF9BUlJBWV9NT0RFKHgpICAgICAgICAgICAgICgoKHgp ICYgMHg3KSA8PCAyMCkKKyNkZWZpbmUgU0lfR1JQSF9QSVBFX0NPTkZJRyh4KSAgICAgICAgICAg ICAgICAgICAoKCh4KSAmIDB4MWYpIDw8IDI0KQorCisjZGVmaW5lIEVWRVJHUkVFTl9DVVJTT1Jf RU4gICAgICAgICAgICAgICAgICAgICAgKDEgPDwgMCkKKyNkZWZpbmUgRVZFUkdSRUVOX0NVUlNP Ul9NT0RFKHgpICAgICAgICAgICAgICAgICAoKCh4KSAmIDB4MykgPDwgOCkKKyNkZWZpbmUgRVZF UkdSRUVOX0NVUlNPUl9NT05PICAgICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIEVWRVJHUkVF Tl9DVVJTT1JfMjRfMSAgICAgICAgICAgICAgICAgICAgMQorI2RlZmluZSBFVkVSR1JFRU5fQ1VS U09SXzI0XzhfUFJFX01VTFQgICAgICAgICAgIDIKKyNkZWZpbmUgRVZFUkdSRUVOX0NVUlNPUl8y NF84X1VOUFJFX01VTFQgICAgICAgICAzCisjZGVmaW5lIEVWRVJHUkVFTl9DVVJTT1JfMlhfTUFH TklGWSAgICAgICAgICAgICAgKDEgPDwgMTYpCisjZGVmaW5lIEVWRVJHUkVFTl9DVVJTT1JfRk9S Q0VfTUNfT04gICAgICAgICAgICAgKDEgPDwgMjApCisjZGVmaW5lIEVWRVJHUkVFTl9DVVJTT1Jf VVJHRU5UX0NPTlRST0woeCkgICAgICAgKCgoeCkgJiAweDcpIDw8IDI0KQorI2RlZmluZSBFVkVS R1JFRU5fQ1VSU09SX1VSR0VOVF9BTFdBWVMgICAgICAgICAgIDAKKyNkZWZpbmUgRVZFUkdSRUVO X0NVUlNPUl9VUkdFTlRfMV84ICAgICAgICAgICAgICAxCisjZGVmaW5lIEVWRVJHUkVFTl9DVVJT T1JfVVJHRU5UXzFfNCAgICAgICAgICAgICAgMgorI2RlZmluZSBFVkVSR1JFRU5fQ1VSU09SX1VS R0VOVF8zXzggICAgICAgICAgICAgIDMKKyNkZWZpbmUgRVZFUkdSRUVOX0NVUlNPUl9VUkdFTlRf MV8yICAgICAgICAgICAgICA0CisjZGVmaW5lIEVWRVJHUkVFTl9DVVJTT1JfVVBEQVRFX1BFTkRJ TkcgICAgICAgICAgKDEgPDwgMCkKKyNkZWZpbmUgRVZFUkdSRUVOX0NVUlNPUl9VUERBVEVfVEFL RU4gICAgICAgICAgICAoMSA8PCAxKQorI2RlZmluZSBFVkVSR1JFRU5fQ1VSU09SX1VQREFURV9M T0NLICAgICAgICAgICAgICgxIDw8IDE2KQorI2RlZmluZSBFVkVSR1JFRU5fQ1VSU09SX0RJU0FC TEVfTVVMVElQTEVfVVBEQVRFICgxIDw8IDI0KQorCiAjZGVmaW5lIEFNREdQVV9OVU1fT0ZfVk1J RFMgICAgICAgICAgICAgICAgICAgICA4CiAjZGVmaW5lIFNJX0NSVEMwX1JFR0lTVEVSX09GRlNF VCAgICAgICAgICAgICAgICAwCiAjZGVmaW5lIFNJX0NSVEMxX1JFR0lTVEVSX09GRlNFVCAgICAg ICAgICAgICAgICAweDMwMApAQCAtNjgsMTI3ICsxNDYsMTI4IEBACiAjZGVmaW5lIFZFUkRFX0dC X0FERFJfQ09ORklHX0dPTERFTiAgICAgICAgIDB4MTIwMTAwMDIKICNkZWZpbmUgSEFJTkFOX0dC X0FERFJfQ09ORklHX0dPTERFTiAgICAgICAgMHgwMjAxMDAwMQogCi0jZGVmaW5lIFBBQ0tFVDMo b3AsIG4pICAoKFJBREVPTl9QQUNLRVRfVFlQRTMgPDwgMzApIHwgICAgICAgICAgICAgICAgICBc Ci0gICAgICAgICAgICAgICAgICAgICAgICAgKCgob3ApICYgMHhGRikgPDwgOCkgfCAgICAgICAg ICAgICAgICAgICAgICAgICBcCisjZGVmaW5lIFBBQ0tFVDMob3AsIG4pICAoKFJBREVPTl9QQUNL RVRfVFlQRTMgPDwgMzApIHwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICgoKG9wKSAmIDB4 RkYpIDw8IDgpIHwgICAgICAgIFwKICAgICAgICAgICAgICAgICAgICAgICAgICAoKG4pICYgMHgz RkZGKSA8PCAxNikKKwogI2RlZmluZSBQQUNLRVQzX0NPTVBVVEUob3AsIG4pIChQQUNLRVQzKG9w LCBuKSB8IDEgPDwgMSkKLSNkZWZpbmUJUEFDS0VUM19OT1AJCQkJCTB4MTAKLSNkZWZpbmUJUEFD S0VUM19TRVRfQkFTRQkJCQkweDExCi0jZGVmaW5lCQlQQUNLRVQzX0JBU0VfSU5ERVgoeCkgICAg ICAgICAgICAgICAgICAoKHgpIDw8IDApCi0jZGVmaW5lCVBBQ0tFVDNfQ0xFQVJfU1RBVEUJCQkJ MHgxMgotI2RlZmluZQlQQUNLRVQzX0lOREVYX0JVRkZFUl9TSVpFCQkJMHgxMwotI2RlZmluZQlQ QUNLRVQzX0RJU1BBVENIX0RJUkVDVAkJCQkweDE1Ci0jZGVmaW5lCVBBQ0tFVDNfRElTUEFUQ0hf SU5ESVJFQ1QJCQkweDE2Ci0jZGVmaW5lCVBBQ0tFVDNfQUxMT0NfR0RTCQkJCTB4MUIKLSNkZWZp bmUJUEFDS0VUM19XUklURV9HRFNfUkFNCQkJCTB4MUMKLSNkZWZpbmUJUEFDS0VUM19BVE9NSUNf R0RTCQkJCTB4MUQKLSNkZWZpbmUJUEFDS0VUM19BVE9NSUMJCQkJCTB4MUUKLSNkZWZpbmUJUEFD S0VUM19PQ0NMVVNJT05fUVVFUlkJCQkJMHgxRgotI2RlZmluZQlQQUNLRVQzX1NFVF9QUkVESUNB VElPTgkJCQkweDIwCi0jZGVmaW5lCVBBQ0tFVDNfUkVHX1JNVwkJCQkJMHgyMQotI2RlZmluZQlQ QUNLRVQzX0NPTkRfRVhFQwkJCQkweDIyCi0jZGVmaW5lCVBBQ0tFVDNfUFJFRF9FWEVDCQkJCTB4 MjMKLSNkZWZpbmUJUEFDS0VUM19EUkFXX0lORElSRUNUCQkJCTB4MjQKLSNkZWZpbmUJUEFDS0VU M19EUkFXX0lOREVYX0lORElSRUNUCQkJMHgyNQotI2RlZmluZQlQQUNLRVQzX0lOREVYX0JBU0UJ CQkJMHgyNgotI2RlZmluZQlQQUNLRVQzX0RSQVdfSU5ERVhfMgkJCQkweDI3Ci0jZGVmaW5lCVBB Q0tFVDNfQ09OVEVYVF9DT05UUk9MCQkJCTB4MjgKLSNkZWZpbmUJUEFDS0VUM19JTkRFWF9UWVBF CQkJCTB4MkEKLSNkZWZpbmUJUEFDS0VUM19EUkFXX0lORElSRUNUX01VTFRJCQkJMHgyQwotI2Rl ZmluZQlQQUNLRVQzX0RSQVdfSU5ERVhfQVVUTwkJCQkweDJECi0jZGVmaW5lCVBBQ0tFVDNfRFJB V19JTkRFWF9JTU1ECQkJCTB4MkUKLSNkZWZpbmUJUEFDS0VUM19OVU1fSU5TVEFOQ0VTCQkJCTB4 MkYKLSNkZWZpbmUJUEFDS0VUM19EUkFXX0lOREVYX01VTFRJX0FVVE8JCQkweDMwCi0jZGVmaW5l CVBBQ0tFVDNfSU5ESVJFQ1RfQlVGRkVSX0NPTlNUCQkJMHgzMQotI2RlZmluZQlQQUNLRVQzX0lO RElSRUNUX0JVRkZFUgkJCQkweDNGCi0jZGVmaW5lCVBBQ0tFVDNfU1RSTU9VVF9CVUZGRVJfVVBE QVRFCQkJMHgzNAotI2RlZmluZQlQQUNLRVQzX0RSQVdfSU5ERVhfT0ZGU0VUXzIJCQkweDM1Ci0j ZGVmaW5lCVBBQ0tFVDNfRFJBV19JTkRFWF9NVUxUSV9FTEVNRU5UCQkweDM2Ci0jZGVmaW5lCVBB Q0tFVDNfV1JJVEVfREFUQQkJCQkweDM3Ci0jZGVmaW5lCVBBQ0tFVDNfRFJBV19JTkRFWF9JTkRJ UkVDVF9NVUxUSQkJMHgzOAotI2RlZmluZQlQQUNLRVQzX01FTV9TRU1BUEhPUkUJCQkJMHgzOQot I2RlZmluZQlQQUNLRVQzX01QRUdfSU5ERVgJCQkJMHgzQQotI2RlZmluZQlQQUNLRVQzX0NPUFlf RFcJCQkJCTB4M0IKLSNkZWZpbmUJUEFDS0VUM19XQUlUX1JFR19NRU0JCQkJMHgzQwotI2RlZmlu ZQlQQUNLRVQzX01FTV9XUklURQkJCQkweDNECi0jZGVmaW5lCVBBQ0tFVDNfQ09QWV9EQVRBCQkJ CTB4NDAKLSNkZWZpbmUJUEFDS0VUM19DUF9ETUEJCQkJCTB4NDEKLSMgICAgICAgICAgICAgIGRl ZmluZSBQQUNLRVQzX0NQX0RNQV9EU1RfU0VMKHgpICAgICgoeCkgPDwgMjApCi0jICAgICAgICAg ICAgICBkZWZpbmUgUEFDS0VUM19DUF9ETUFfRU5HSU5FKHgpICAgICAoKHgpIDw8IDI3KQotIyAg ICAgICAgICAgICAgZGVmaW5lIFBBQ0tFVDNfQ1BfRE1BX1NSQ19TRUwoeCkgICAgKCh4KSA8PCAy OSkKLSMgICAgICAgICAgICAgIGRlZmluZSBQQUNLRVQzX0NQX0RNQV9DUF9TWU5DICAgICAgICgx IDw8IDMxKQotIyAgICAgICAgICAgICAgZGVmaW5lIFBBQ0tFVDNfQ1BfRE1BX0RJU19XQyAgICAg ICAgKDEgPDwgMjEpCi0jICAgICAgICAgICAgICBkZWZpbmUgUEFDS0VUM19DUF9ETUFfQ01EX1NS Q19TV0FQKHgpICgoeCkgPDwgMjIpCi0jICAgICAgICAgICAgICBkZWZpbmUgUEFDS0VUM19DUF9E TUFfQ01EX0RTVF9TV0FQKHgpICgoeCkgPDwgMjQpCi0jICAgICAgICAgICAgICBkZWZpbmUgUEFD S0VUM19DUF9ETUFfQ01EX1NBUyAgICAgICAoMSA8PCAyNikKLSMgICAgICAgICAgICAgIGRlZmlu ZSBQQUNLRVQzX0NQX0RNQV9DTURfREFTICAgICAgICgxIDw8IDI3KQotIyAgICAgICAgICAgICAg ZGVmaW5lIFBBQ0tFVDNfQ1BfRE1BX0NNRF9TQUlDICAgICAgKDEgPDwgMjgpCi0jICAgICAgICAg ICAgICBkZWZpbmUgUEFDS0VUM19DUF9ETUFfQ01EX0RBSUMgICAgICAoMSA8PCAyOSkKLSMgICAg ICAgICAgICAgIGRlZmluZSBQQUNLRVQzX0NQX0RNQV9DTURfUkFXX1dBSVQgICgxIDw8IDMwKQot I2RlZmluZQlQQUNLRVQzX1BGUF9TWU5DX01FCQkJCTB4NDIKLSNkZWZpbmUJUEFDS0VUM19TVVJG QUNFX1NZTkMJCQkJMHg0MwotIyAgICAgICAgICAgICAgZGVmaW5lIFBBQ0tFVDNfREVTVF9CQVNF XzBfRU5BICAgICAgKDEgPDwgMCkKLSMgICAgICAgICAgICAgIGRlZmluZSBQQUNLRVQzX0RFU1Rf QkFTRV8xX0VOQSAgICAgICgxIDw8IDEpCi0jICAgICAgICAgICAgICBkZWZpbmUgUEFDS0VUM19D QjBfREVTVF9CQVNFX0VOQSAgICAoMSA8PCA2KQotIyAgICAgICAgICAgICAgZGVmaW5lIFBBQ0tF VDNfQ0IxX0RFU1RfQkFTRV9FTkEgICAgKDEgPDwgNykKLSMgICAgICAgICAgICAgIGRlZmluZSBQ QUNLRVQzX0NCMl9ERVNUX0JBU0VfRU5BICAgICgxIDw8IDgpCi0jICAgICAgICAgICAgICBkZWZp bmUgUEFDS0VUM19DQjNfREVTVF9CQVNFX0VOQSAgICAoMSA8PCA5KQotIyAgICAgICAgICAgICAg ZGVmaW5lIFBBQ0tFVDNfQ0I0X0RFU1RfQkFTRV9FTkEgICAgKDEgPDwgMTApCi0jICAgICAgICAg ICAgICBkZWZpbmUgUEFDS0VUM19DQjVfREVTVF9CQVNFX0VOQSAgICAoMSA8PCAxMSkKLSMgICAg ICAgICAgICAgIGRlZmluZSBQQUNLRVQzX0NCNl9ERVNUX0JBU0VfRU5BICAgICgxIDw8IDEyKQot IyAgICAgICAgICAgICAgZGVmaW5lIFBBQ0tFVDNfQ0I3X0RFU1RfQkFTRV9FTkEgICAgKDEgPDwg MTMpCi0jICAgICAgICAgICAgICBkZWZpbmUgUEFDS0VUM19EQl9ERVNUX0JBU0VfRU5BICAgICAo MSA8PCAxNCkKLSMgICAgICAgICAgICAgIGRlZmluZSBQQUNLRVQzX0RFU1RfQkFTRV8yX0VOQSAg ICAgICgxIDw8IDE5KQotIyAgICAgICAgICAgICAgZGVmaW5lIFBBQ0tFVDNfREVTVF9CQVNFXzNf RU5BICAgICAgKDEgPDwgMjEpCi0jICAgICAgICAgICAgICBkZWZpbmUgUEFDS0VUM19UQ0wxX0FD VElPTl9FTkEgICAgICAoMSA8PCAyMikKLSMgICAgICAgICAgICAgIGRlZmluZSBQQUNLRVQzX1RD X0FDVElPTl9FTkEgICAgICAgICgxIDw8IDIzKQotIyAgICAgICAgICAgICAgZGVmaW5lIFBBQ0tF VDNfQ0JfQUNUSU9OX0VOQSAgICAgICAgKDEgPDwgMjUpCi0jICAgICAgICAgICAgICBkZWZpbmUg UEFDS0VUM19EQl9BQ1RJT05fRU5BICAgICAgICAoMSA8PCAyNikKLSMgICAgICAgICAgICAgIGRl ZmluZSBQQUNLRVQzX1NIX0tDQUNIRV9BQ1RJT05fRU5BICgxIDw8IDI3KQotIyAgICAgICAgICAg ICAgZGVmaW5lIFBBQ0tFVDNfU0hfSUNBQ0hFX0FDVElPTl9FTkEgKDEgPDwgMjkpCi0jZGVmaW5l CVBBQ0tFVDNfTUVfSU5JVElBTElaRQkJCQkweDQ0Ci0jZGVmaW5lCQlQQUNLRVQzX01FX0lOSVRJ QUxJWkVfREVWSUNFX0lEKHgpICgoeCkgPDwgMTYpCi0jZGVmaW5lCVBBQ0tFVDNfQ09ORF9XUklU RQkJCQkweDQ1Ci0jZGVmaW5lCVBBQ0tFVDNfRVZFTlRfV1JJVEUJCQkJMHg0NgotI2RlZmluZQlQ QUNLRVQzX0VWRU5UX1dSSVRFX0VPUAkJCQkweDQ3Ci0jZGVmaW5lCVBBQ0tFVDNfRVZFTlRfV1JJ VEVfRU9TCQkJCTB4NDgKLSNkZWZpbmUJUEFDS0VUM19QUkVBTUJMRV9DTlRMCQkJCTB4NEEKLSMg ICAgICAgICAgICAgIGRlZmluZSBQQUNLRVQzX1BSRUFNQkxFX0JFR0lOX0NMRUFSX1NUQVRFICAg ICAoMiA8PCAyOCkKLSMgICAgICAgICAgICAgIGRlZmluZSBQQUNLRVQzX1BSRUFNQkxFX0VORF9D TEVBUl9TVEFURSAgICAgICAoMyA8PCAyOCkKLSNkZWZpbmUJUEFDS0VUM19PTkVfUkVHX1dSSVRF CQkJCTB4NTcKLSNkZWZpbmUJUEFDS0VUM19MT0FEX0NPTkZJR19SRUcJCQkJMHg1RgotI2RlZmlu ZQlQQUNLRVQzX0xPQURfQ09OVEVYVF9SRUcJCQkweDYwCi0jZGVmaW5lCVBBQ0tFVDNfTE9BRF9T SF9SRUcJCQkJMHg2MQotI2RlZmluZQlQQUNLRVQzX1NFVF9DT05GSUdfUkVHCQkJCTB4NjgKLSNk ZWZpbmUJCVBBQ0tFVDNfU0VUX0NPTkZJR19SRUdfU1RBUlQJCQkweDAwMDAyMDAwCi0jZGVmaW5l CQlQQUNLRVQzX1NFVF9DT05GSUdfUkVHX0VORAkJCTB4MDAwMDJjMDAKLSNkZWZpbmUJUEFDS0VU M19TRVRfQ09OVEVYVF9SRUcJCQkJMHg2OQotI2RlZmluZQkJUEFDS0VUM19TRVRfQ09OVEVYVF9S RUdfU1RBUlQJCQkweDAwMGEwMDAKLSNkZWZpbmUJCVBBQ0tFVDNfU0VUX0NPTlRFWFRfUkVHX0VO RAkJCTB4MDAwYTQwMAotI2RlZmluZQlQQUNLRVQzX1NFVF9DT05URVhUX1JFR19JTkRJUkVDVAkJ MHg3MwotI2RlZmluZQlQQUNLRVQzX1NFVF9SRVNPVVJDRV9JTkRJUkVDVAkJCTB4NzQKLSNkZWZp bmUJUEFDS0VUM19TRVRfU0hfUkVHCQkJCTB4NzYKLSNkZWZpbmUJCVBBQ0tFVDNfU0VUX1NIX1JF R19TVEFSVAkJCTB4MDAwMDJjMDAKLSNkZWZpbmUJCVBBQ0tFVDNfU0VUX1NIX1JFR19FTkQJCQkJ MHgwMDAwMzAwMAotI2RlZmluZQlQQUNLRVQzX1NFVF9TSF9SRUdfT0ZGU0VUCQkJMHg3NwotI2Rl ZmluZQlQQUNLRVQzX01FX1dSSVRFCQkJCTB4N0EKLSNkZWZpbmUJUEFDS0VUM19TQ1JBVENIX1JB TV9XUklURQkJCTB4N0QKLSNkZWZpbmUJUEFDS0VUM19TQ1JBVENIX1JBTV9SRUFECQkJMHg3RQot I2RlZmluZQlQQUNLRVQzX0NFX1dSSVRFCQkJCTB4N0YKLSNkZWZpbmUJUEFDS0VUM19MT0FEX0NP TlNUX1JBTQkJCQkweDgwCi0jZGVmaW5lCVBBQ0tFVDNfV1JJVEVfQ09OU1RfUkFNCQkJCTB4ODEK LSNkZWZpbmUJUEFDS0VUM19XUklURV9DT05TVF9SQU1fT0ZGU0VUCQkJMHg4MgotI2RlZmluZQlQ QUNLRVQzX0RVTVBfQ09OU1RfUkFNCQkJCTB4ODMKLSNkZWZpbmUJUEFDS0VUM19JTkNSRU1FTlRf Q0VfQ09VTlRFUgkJCTB4ODQKLSNkZWZpbmUJUEFDS0VUM19JTkNSRU1FTlRfREVfQ09VTlRFUgkJ CTB4ODUKLSNkZWZpbmUJUEFDS0VUM19XQUlUX09OX0NFX0NPVU5URVIJCQkweDg2Ci0jZGVmaW5l CVBBQ0tFVDNfV0FJVF9PTl9ERV9DT1VOVEVSCQkJMHg4NwotI2RlZmluZQlQQUNLRVQzX1dBSVRf T05fREVfQ09VTlRFUl9ESUZGCQkJMHg4OAotI2RlZmluZQlQQUNLRVQzX1NFVF9DRV9ERV9DT1VO VEVSUwkJCTB4ODkKLSNkZWZpbmUJUEFDS0VUM19XQUlUX09OX0FWQUlMX0JVRkZFUgkJCTB4OEEK LSNkZWZpbmUJUEFDS0VUM19TV0lUQ0hfQlVGRkVSCQkJCTB4OEIKLSNkZWZpbmUgUEFDS0VUM19T RU1fV0FJVF9PTl9TSUdOQUwgICAgKDB4MSA8PCAxMikKLSNkZWZpbmUgUEFDS0VUM19TRU1fU0VM X1NJR05BTAkgICAgKDB4NiA8PCAyOSkKLSNkZWZpbmUgUEFDS0VUM19TRU1fU0VMX1dBSVQJICAg ICgweDcgPDwgMjkpCisjZGVmaW5lIFBBQ0tFVDNfTk9QICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgMHgxMAorI2RlZmluZSBQQUNLRVQzX1NFVF9CQVNFICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIDB4MTEKKyNkZWZpbmUgUEFDS0VUM19CQVNFX0lOREVYKHgpICAgICAg ICAgICAgICAgICAgICAgICAgICAoKHgpIDw8IDApCisjZGVmaW5lIFBBQ0tFVDNfQ0xFQVJfU1RB VEUgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgxMgorI2RlZmluZSBQQUNLRVQzX0lOREVY X0JVRkZFUl9TSVpFICAgICAgICAgICAgICAgICAgICAgIDB4MTMKKyNkZWZpbmUgUEFDS0VUM19E SVNQQVRDSF9ESVJFQ1QgICAgICAgICAgICAgICAgICAgICAgICAweDE1CisjZGVmaW5lIFBBQ0tF VDNfRElTUEFUQ0hfSU5ESVJFQ1QgICAgICAgICAgICAgICAgICAgICAgMHgxNgorI2RlZmluZSBQ QUNLRVQzX0FMTE9DX0dEUyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MUIKKyNkZWZp bmUgUEFDS0VUM19XUklURV9HRFNfUkFNICAgICAgICAgICAgICAgICAgICAgICAgICAweDFDCisj ZGVmaW5lIFBBQ0tFVDNfQVRPTUlDX0dEUyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgx RAorI2RlZmluZSBQQUNLRVQzX0FUT01JQyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IDB4MUUKKyNkZWZpbmUgUEFDS0VUM19PQ0NMVVNJT05fUVVFUlkgICAgICAgICAgICAgICAgICAg ICAgICAweDFGCisjZGVmaW5lIFBBQ0tFVDNfU0VUX1BSRURJQ0FUSU9OICAgICAgICAgICAgICAg ICAgICAgICAgMHgyMAorI2RlZmluZSBQQUNLRVQzX1JFR19STVcgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIDB4MjEKKyNkZWZpbmUgUEFDS0VUM19DT05EX0VYRUMgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAweDIyCisjZGVmaW5lIFBBQ0tFVDNfUFJFRF9FWEVDICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgMHgyMworI2RlZmluZSBQQUNLRVQzX0RSQVdfSU5ESVJFQ1Qg ICAgICAgICAgICAgICAgICAgICAgICAgIDB4MjQKKyNkZWZpbmUgUEFDS0VUM19EUkFXX0lOREVY X0lORElSRUNUICAgICAgICAgICAgICAgICAgICAweDI1CisjZGVmaW5lIFBBQ0tFVDNfSU5ERVhf QkFTRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgyNgorI2RlZmluZSBQQUNLRVQzX0RS QVdfSU5ERVhfMiAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MjcKKyNkZWZpbmUgUEFDS0VU M19DT05URVhUX0NPTlRST0wgICAgICAgICAgICAgICAgICAgICAgICAweDI4CisjZGVmaW5lIFBB Q0tFVDNfSU5ERVhfVFlQRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgyQQorI2RlZmlu ZSBQQUNLRVQzX0RSQVdfSU5ESVJFQ1RfTVVMVEkgICAgICAgICAgICAgICAgICAgIDB4MkMKKyNk ZWZpbmUgUEFDS0VUM19EUkFXX0lOREVYX0FVVE8gICAgICAgICAgICAgICAgICAgICAgICAweDJE CisjZGVmaW5lIFBBQ0tFVDNfRFJBV19JTkRFWF9JTU1EICAgICAgICAgICAgICAgICAgICAgICAg MHgyRQorI2RlZmluZSBQQUNLRVQzX05VTV9JTlNUQU5DRVMgICAgICAgICAgICAgICAgICAgICAg ICAgIDB4MkYKKyNkZWZpbmUgUEFDS0VUM19EUkFXX0lOREVYX01VTFRJX0FVVE8gICAgICAgICAg ICAgICAgICAweDMwCisjZGVmaW5lIFBBQ0tFVDNfSU5ESVJFQ1RfQlVGRkVSX0NPTlNUICAgICAg ICAgICAgICAgICAgMHgzMQorI2RlZmluZSBQQUNLRVQzX0lORElSRUNUX0JVRkZFUiAgICAgICAg ICAgICAgICAgICAgICAgIDB4M0YKKyNkZWZpbmUgUEFDS0VUM19TVFJNT1VUX0JVRkZFUl9VUERB VEUgICAgICAgICAgICAgICAgICAweDM0CisjZGVmaW5lIFBBQ0tFVDNfRFJBV19JTkRFWF9PRkZT RVRfMiAgICAgICAgICAgICAgICAgICAgMHgzNQorI2RlZmluZSBQQUNLRVQzX0RSQVdfSU5ERVhf TVVMVElfRUxFTUVOVCAgICAgICAgICAgICAgIDB4MzYKKyNkZWZpbmUgUEFDS0VUM19XUklURV9E QVRBICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDM3CisjZGVmaW5lIFBBQ0tFVDNfRFJB V19JTkRFWF9JTkRJUkVDVF9NVUxUSSAgICAgICAgICAgICAgMHgzOAorI2RlZmluZSBQQUNLRVQz X01FTV9TRU1BUEhPUkUgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MzkKKyNkZWZpbmUgUEFD S0VUM19NUEVHX0lOREVYICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDNBCisjZGVmaW5l IFBBQ0tFVDNfQ09QWV9EVyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgzQgorI2Rl ZmluZSBQQUNLRVQzX1dBSVRfUkVHX01FTSAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4M0MK KyNkZWZpbmUgUEFDS0VUM19NRU1fV1JJVEUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAw eDNECisjZGVmaW5lIFBBQ0tFVDNfQ09QWV9EQVRBICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgMHg0MAorI2RlZmluZSBQQUNLRVQzX0NQX0RNQSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIDB4NDEKKyNkZWZpbmUgUEFDS0VUM19DUF9ETUFfRFNUX1NFTCh4KSAgICAgICAgICAg ICAgICAgICAgICAoKHgpIDw8IDIwKQorI2RlZmluZSBQQUNLRVQzX0NQX0RNQV9FTkdJTkUoeCkg ICAgICAgICAgICAgICAgICAgICAgICgoeCkgPDwgMjcpCisjZGVmaW5lIFBBQ0tFVDNfQ1BfRE1B X1NSQ19TRUwoeCkgICAgICAgICAgICAgICAgICAgICAgKCh4KSA8PCAyOSkKKyNkZWZpbmUgUEFD S0VUM19DUF9ETUFfQ1BfU1lOQyAgICAgICAgICAgICAgICAgICAgICAgICAoMSA8PCAzMSkKKyNk ZWZpbmUgUEFDS0VUM19DUF9ETUFfRElTX1dDICAgICAgICAgICAgICAgICAgICAgICAgICAoMSA8 PCAyMSkKKyNkZWZpbmUgUEFDS0VUM19DUF9ETUFfQ01EX1NSQ19TV0FQKHgpICAgICAgICAgICAg ICAgICAoKHgpIDw8IDIyKQorI2RlZmluZSBQQUNLRVQzX0NQX0RNQV9DTURfRFNUX1NXQVAoeCkg ICAgICAgICAgICAgICAgICgoeCkgPDwgMjQpCisjZGVmaW5lIFBBQ0tFVDNfQ1BfRE1BX0NNRF9T QVMgICAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgMjYpCisjZGVmaW5lIFBBQ0tFVDNfQ1Bf RE1BX0NNRF9EQVMgICAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgMjcpCisjZGVmaW5lIFBB Q0tFVDNfQ1BfRE1BX0NNRF9TQUlDICAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgMjgpCisj ZGVmaW5lIFBBQ0tFVDNfQ1BfRE1BX0NNRF9EQUlDICAgICAgICAgICAgICAgICAgICAgICAgKDEg PDwgMjkpCisjZGVmaW5lIFBBQ0tFVDNfQ1BfRE1BX0NNRF9SQVdfV0FJVCAgICAgICAgICAgICAg ICAgICAgKDEgPDwgMzApCisjZGVmaW5lIFBBQ0tFVDNfUEZQX1NZTkNfTUUgICAgICAgICAgICAg ICAgICAgICAgICAgICAgMHg0MgorI2RlZmluZSBQQUNLRVQzX1NVUkZBQ0VfU1lOQyAgICAgICAg ICAgICAgICAgICAgICAgICAgIDB4NDMKKyNkZWZpbmUgUEFDS0VUM19ERVNUX0JBU0VfMF9FTkEg ICAgICAgICAgICAgICAgICAgICAgICAoMSA8PCAwKQorI2RlZmluZSBQQUNLRVQzX0RFU1RfQkFT RV8xX0VOQSAgICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDEpCisjZGVmaW5lIFBBQ0tFVDNf Q0IwX0RFU1RfQkFTRV9FTkEgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgNikKKyNkZWZpbmUg UEFDS0VUM19DQjFfREVTVF9CQVNFX0VOQSAgICAgICAgICAgICAgICAgICAgICAoMSA8PCA3KQor I2RlZmluZSBQQUNLRVQzX0NCMl9ERVNUX0JBU0VfRU5BICAgICAgICAgICAgICAgICAgICAgICgx IDw8IDgpCisjZGVmaW5lIFBBQ0tFVDNfQ0IzX0RFU1RfQkFTRV9FTkEgICAgICAgICAgICAgICAg ICAgICAgKDEgPDwgOSkKKyNkZWZpbmUgUEFDS0VUM19DQjRfREVTVF9CQVNFX0VOQSAgICAgICAg ICAgICAgICAgICAgICAoMSA8PCAxMCkKKyNkZWZpbmUgUEFDS0VUM19DQjVfREVTVF9CQVNFX0VO QSAgICAgICAgICAgICAgICAgICAgICAoMSA8PCAxMSkKKyNkZWZpbmUgUEFDS0VUM19DQjZfREVT VF9CQVNFX0VOQSAgICAgICAgICAgICAgICAgICAgICAoMSA8PCAxMikKKyNkZWZpbmUgUEFDS0VU M19DQjdfREVTVF9CQVNFX0VOQSAgICAgICAgICAgICAgICAgICAgICAoMSA8PCAxMykKKyNkZWZp bmUgUEFDS0VUM19EQl9ERVNUX0JBU0VfRU5BICAgICAgICAgICAgICAgICAgICAgICAoMSA8PCAx NCkKKyNkZWZpbmUgUEFDS0VUM19ERVNUX0JBU0VfMl9FTkEgICAgICAgICAgICAgICAgICAgICAg ICAoMSA8PCAxOSkKKyNkZWZpbmUgUEFDS0VUM19ERVNUX0JBU0VfM19FTkEgICAgICAgICAgICAg ICAgICAgICAgICAoMSA8PCAyMSkKKyNkZWZpbmUgUEFDS0VUM19UQ0wxX0FDVElPTl9FTkEgICAg ICAgICAgICAgICAgICAgICAgICAoMSA8PCAyMikKKyNkZWZpbmUgUEFDS0VUM19UQ19BQ1RJT05f RU5BICAgICAgICAgICAgICAgICAgICAgICAgICAoMSA8PCAyMykKKyNkZWZpbmUgUEFDS0VUM19D Ql9BQ1RJT05fRU5BICAgICAgICAgICAgICAgICAgICAgICAgICAoMSA8PCAyNSkKKyNkZWZpbmUg UEFDS0VUM19EQl9BQ1RJT05fRU5BICAgICAgICAgICAgICAgICAgICAgICAgICAoMSA8PCAyNikK KyNkZWZpbmUgUEFDS0VUM19TSF9LQ0FDSEVfQUNUSU9OX0VOQSAgICAgICAgICAgICAgICAgICAo MSA8PCAyNykKKyNkZWZpbmUgUEFDS0VUM19TSF9JQ0FDSEVfQUNUSU9OX0VOQSAgICAgICAgICAg ICAgICAgICAoMSA8PCAyOSkKKyNkZWZpbmUgUEFDS0VUM19NRV9JTklUSUFMSVpFICAgICAgICAg ICAgICAgICAgICAgICAgICAweDQ0CisjZGVmaW5lIFBBQ0tFVDNfTUVfSU5JVElBTElaRV9ERVZJ Q0VfSUQoeCkgICAgICAgICAgICAgKCh4KSA8PCAxNikKKyNkZWZpbmUgUEFDS0VUM19DT05EX1dS SVRFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDQ1CisjZGVmaW5lIFBBQ0tFVDNfRVZF TlRfV1JJVEUgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHg0NgorI2RlZmluZSBQQUNLRVQz X0VWRU5UX1dSSVRFX0VPUCAgICAgICAgICAgICAgICAgICAgICAgIDB4NDcKKyNkZWZpbmUgUEFD S0VUM19FVkVOVF9XUklURV9FT1MgICAgICAgICAgICAgICAgICAgICAgICAweDQ4CisjZGVmaW5l IFBBQ0tFVDNfUFJFQU1CTEVfQ05UTCAgICAgICAgICAgICAgICAgICAgICAgICAgMHg0QQorI2Rl ZmluZSBQQUNLRVQzX1BSRUFNQkxFX0JFR0lOX0NMRUFSX1NUQVRFICAgICAgICAgICAgICgyIDw8 IDI4KQorI2RlZmluZSBQQUNLRVQzX1BSRUFNQkxFX0VORF9DTEVBUl9TVEFURSAgICAgICAgICAg ICAgICgzIDw8IDI4KQorI2RlZmluZSBQQUNLRVQzX09ORV9SRUdfV1JJVEUgICAgICAgICAgICAg ICAgICAgICAgICAgIDB4NTcKKyNkZWZpbmUgUEFDS0VUM19MT0FEX0NPTkZJR19SRUcgICAgICAg ICAgICAgICAgICAgICAgICAweDVGCisjZGVmaW5lIFBBQ0tFVDNfTE9BRF9DT05URVhUX1JFRyAg ICAgICAgICAgICAgICAgICAgICAgMHg2MAorI2RlZmluZSBQQUNLRVQzX0xPQURfU0hfUkVHICAg ICAgICAgICAgICAgICAgICAgICAgICAgIDB4NjEKKyNkZWZpbmUgUEFDS0VUM19TRVRfQ09ORklH X1JFRyAgICAgICAgICAgICAgICAgICAgICAgICAweDY4CisjZGVmaW5lIFBBQ0tFVDNfU0VUX0NP TkZJR19SRUdfU1RBUlQgICAgICAgICAgICAgICAgICAgMHgwMDAwMjAwMAorI2RlZmluZSBQQUNL RVQzX1NFVF9DT05GSUdfUkVHX0VORCAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDJjMDAKKyNk ZWZpbmUgUEFDS0VUM19TRVRfQ09OVEVYVF9SRUcgICAgICAgICAgICAgICAgICAgICAgICAweDY5 CisjZGVmaW5lIFBBQ0tFVDNfU0VUX0NPTlRFWFRfUkVHX1NUQVJUICAgICAgICAgICAgICAgICAg MHgwMDBhMDAwCisjZGVmaW5lIFBBQ0tFVDNfU0VUX0NPTlRFWFRfUkVHX0VORCAgICAgICAgICAg ICAgICAgICAgMHgwMDBhNDAwCisjZGVmaW5lIFBBQ0tFVDNfU0VUX0NPTlRFWFRfUkVHX0lORElS RUNUICAgICAgICAgICAgICAgMHg3MworI2RlZmluZSBQQUNLRVQzX1NFVF9SRVNPVVJDRV9JTkRJ UkVDVCAgICAgICAgICAgICAgICAgIDB4NzQKKyNkZWZpbmUgUEFDS0VUM19TRVRfU0hfUkVHICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAweDc2CisjZGVmaW5lIFBBQ0tFVDNfU0VUX1NIX1JF R19TVEFSVCAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMmMwMAorI2RlZmluZSBQQUNLRVQz X1NFVF9TSF9SRUdfRU5EICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDMwMDAKKyNkZWZp bmUgUEFDS0VUM19TRVRfU0hfUkVHX09GRlNFVCAgICAgICAgICAgICAgICAgICAgICAweDc3Cisj ZGVmaW5lIFBBQ0tFVDNfTUVfV1JJVEUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHg3 QQorI2RlZmluZSBQQUNLRVQzX1NDUkFUQ0hfUkFNX1dSSVRFICAgICAgICAgICAgICAgICAgICAg IDB4N0QKKyNkZWZpbmUgUEFDS0VUM19TQ1JBVENIX1JBTV9SRUFEICAgICAgICAgICAgICAgICAg ICAgICAweDdFCisjZGVmaW5lIFBBQ0tFVDNfQ0VfV1JJVEUgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgMHg3RgorI2RlZmluZSBQQUNLRVQzX0xPQURfQ09OU1RfUkFNICAgICAgICAgICAg ICAgICAgICAgICAgIDB4ODAKKyNkZWZpbmUgUEFDS0VUM19XUklURV9DT05TVF9SQU0gICAgICAg ICAgICAgICAgICAgICAgICAweDgxCisjZGVmaW5lIFBBQ0tFVDNfV1JJVEVfQ09OU1RfUkFNX09G RlNFVCAgICAgICAgICAgICAgICAgMHg4MgorI2RlZmluZSBQQUNLRVQzX0RVTVBfQ09OU1RfUkFN ICAgICAgICAgICAgICAgICAgICAgICAgIDB4ODMKKyNkZWZpbmUgUEFDS0VUM19JTkNSRU1FTlRf Q0VfQ09VTlRFUiAgICAgICAgICAgICAgICAgICAweDg0CisjZGVmaW5lIFBBQ0tFVDNfSU5DUkVN RU5UX0RFX0NPVU5URVIgICAgICAgICAgICAgICAgICAgMHg4NQorI2RlZmluZSBQQUNLRVQzX1dB SVRfT05fQ0VfQ09VTlRFUiAgICAgICAgICAgICAgICAgICAgIDB4ODYKKyNkZWZpbmUgUEFDS0VU M19XQUlUX09OX0RFX0NPVU5URVIgICAgICAgICAgICAgICAgICAgICAweDg3CisjZGVmaW5lIFBB Q0tFVDNfV0FJVF9PTl9ERV9DT1VOVEVSX0RJRkYgICAgICAgICAgICAgICAgMHg4OAorI2RlZmlu ZSBQQUNLRVQzX1NFVF9DRV9ERV9DT1VOVEVSUyAgICAgICAgICAgICAgICAgICAgIDB4ODkKKyNk ZWZpbmUgUEFDS0VUM19XQUlUX09OX0FWQUlMX0JVRkZFUiAgICAgICAgICAgICAgICAgICAweDhB CisjZGVmaW5lIFBBQ0tFVDNfU1dJVENIX0JVRkZFUiAgICAgICAgICAgICAgICAgICAgICAgICAg MHg4QgorI2RlZmluZSBQQUNLRVQzX1NFTV9XQUlUX09OX1NJR05BTCAgICAgICAgICAgICAgICAg ICAgICgweDEgPDwgMTIpCisjZGVmaW5lIFBBQ0tFVDNfU0VNX1NFTF9TSUdOQUwgICAgICAgICAg ICAgICAgICAgICAgICAgKDB4NiA8PCAyOSkKKyNkZWZpbmUgUEFDS0VUM19TRU1fU0VMX1dBSVQg ICAgICAgICAgICAgICAgICAgICAgICAgICAoMHg3IDw8IDI5KQogCiAjZW5kaWYKZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvaW5jbHVkZS9hc2ljX3JlZy9kY2UvZGNlXzZfMF9kLmgg Yi9kcml2ZXJzL2dwdS9kcm0vYW1kL2luY2x1ZGUvYXNpY19yZWcvZGNlL2RjZV82XzBfZC5oCmlu ZGV4IGExNzk3M2JiNjNhNi4uM2U4ZjU3NmQyYTE0IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9k cm0vYW1kL2luY2x1ZGUvYXNpY19yZWcvZGNlL2RjZV82XzBfZC5oCisrKyBiL2RyaXZlcnMvZ3B1 L2RybS9hbWQvaW5jbHVkZS9hc2ljX3JlZy9kY2UvZGNlXzZfMF9kLmgKQEAgLTQ0NDIsNCArNDQ0 MiwyNSBAQAogI2RlZmluZSBtbVhETUFfVEVTVF9ERUJVR19EQVRBIDB4MDQxRAogI2RlZmluZSBt bVhETUFfVEVTVF9ERUJVR19JTkRFWCAweDA0MUMKIAorLyogUmVnaXN0ZXJzIHRoYXQgc3BpbGxl ZCBvdXQgb2Ygc2lkLmggKi8KKyNkZWZpbmUgbW1BVklWT19EMVZHQV9DT05UUk9MICAgICAgICAg ICAgICAgICAgICAgIDB4Y2MKKyNkZWZpbmUgbW1BVklWT19EMlZHQV9DT05UUk9MICAgICAgICAg ICAgICAgICAgICAgIDB4Y2UKKyNkZWZpbmUgbW1FVkVSR1JFRU5fVkdBX01FTU9SWV9CQVNFX0FE RFJFU1NfSElHSCAgIDB4YzkKKyNkZWZpbmUgbW1FVkVSR1JFRU5fVkdBX01FTU9SWV9CQVNFX0FE RFJFU1MgICAgICAgIDB4YzQKKyNkZWZpbmUgbW1SXzAwMDMwMF9WR0FfUkVOREVSX0NPTlRST0wg ICAgICAgICAgICAgIDB4YzAKKyNkZWZpbmUgbW1FVkVSR1JFRU5fRDNWR0FfQ09OVFJPTCAgICAg ICAgICAgICAgICAgIDB4ZjgKKyNkZWZpbmUgbW1FVkVSR1JFRU5fRDRWR0FfQ09OVFJPTCAgICAg ICAgICAgICAgICAgIDB4ZjkKKyNkZWZpbmUgbW1FVkVSR1JFRU5fRDVWR0FfQ09OVFJPTCAgICAg ICAgICAgICAgICAgIDB4ZmEKKyNkZWZpbmUgbW1FVkVSR1JFRU5fRDZWR0FfQ09OVFJPTCAgICAg ICAgICAgICAgICAgIDB4ZmIKKyNkZWZpbmUgbW1FVkVSR1JFRU5fREFUQV9GT1JNQVQgICAgICAg ICAgICAgICAgICAgIDB4MUFDMAorI2RlZmluZSBtbUVWRVJHUkVFTl9ERVNLVE9QX0hFSUdIVCAg ICAgICAgICAgICAgICAgMHgxQUMxCisjZGVmaW5lIG1tRENfTEJfTUVNT1JZX1NQTElUICAgICAg ICAgICAgICAgICAgICAgICAweDFBQzMKKyNkZWZpbmUgbW1QUklPUklUWV9BX0NOVCAgICAgICAg ICAgICAgICAgICAgICAgICAgIDB4MUFDNgorI2RlZmluZSBtbVBSSU9SSVRZX0JfQ05UICAgICAg ICAgICAgICAgICAgICAgICAgICAgMHgxQUM3CisjZGVmaW5lIG1tRFBHX1BJUEVfQVJCSVRSQVRJ T05fQ09OVFJPTDMgICAgICAgICAgICAweDFCMzIKKyNkZWZpbmUgbW1JTlRfTUFTSyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIDB4MUFEMAorI2RlZmluZSBtbVZMSU5FX1NUQVRVUyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgxQUVFCisjZGVmaW5lIG1tVkJMQU5LX1NUQVRV UyAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDFBRUYKKworCiAjZW5kaWYKLS0gCjIuMTAu MAoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KYW1kLWdm eCBtYWlsaW5nIGxpc3QKYW1kLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0 cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9hbWQtZ2Z4Cg==