From mboxrd@z Thu Jan 1 00:00:00 1970 From: Imre Deak Subject: [PATCH v2 06/10] drm/i915/ddi: Use power well CTL IDX instead of ID Date: Mon, 6 Aug 2018 12:58:39 +0300 Message-ID: <20180806095843.13294-7-imre.deak@intel.com> References: <20180806095843.13294-1-imre.deak@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by gabe.freedesktop.org (Postfix) with ESMTPS id 4DEE56E293 for ; Mon, 6 Aug 2018 09:59:47 +0000 (UTC) In-Reply-To: <20180806095843.13294-1-imre.deak@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: intel-gfx@lists.freedesktop.org Cc: Jani Nikula , Paulo Zanoni List-Id: intel-gfx@lists.freedesktop.org U2ltaWxhcmx5IHRvIHRoZSBwcmV2aW91cyBwYXRjaCB1c2UgYSBzZXBhcmF0ZSByZXF1ZXN0L3N0 YXR1cyBIVyBmbGFnCmluZGV4IGRlZmluZWQgcmlnaHQgYWZ0ZXIgdGhlIGNvcnJlc3BvbmRpbmcg Y29udHJvbCByZWdpc3RlcnMgaW5zdGVhZCBvZgpkZXBlbmRpbmcgZm9yIHRoaXMgb24gdGhlIHBv d2VyIHdlbGwgSURzLiBTaW5jZSB0aGUgc2V0IG9mCmNvbnRyb2wvc3RhdHVzIHJlZ2lzdGVycyB2 YXJpZXMgYW1vbmcgdGhlIGRpZmZlcmVudCBwb3dlciB3ZWxscyAob24gYQpzaW5nbGUgcGxhdGZv cm0pLCBhbHNvIGFkZCBhIG5ldyBpOTE1X3Bvd2VyX3dlbGxfcmVnaXN0ZXJzIHN0cnVjdCB0aGF0 CndlIHBvcHVsYXRlIGFuZCBhc3NpZ24gdG8gZWFjaCBEREkgcG93ZXIgd2VsbCBhcyBuZWVkZWQu CgpBbHNvIGNsYXJpZnkgYSBiaXQgdGhlIGNvZGUgY29tbWVudCBkZXNjcmliaW5nIHRoZSBmdW5j dGlvbiBhbmQgbGF5b3V0Cm9mIHRoZSBjb250cm9sIHJlZ2lzdGVycy4KClRoaXMgYWxzbyBmaXhl cyBhIHByb2JsZW0gb24gSUNMLCB3aGVyZSB3ZSBpbmNvcnJlY3RseSByZWFkIHRoZSBLVk1SCmNv bnRyb2wgcmVnaXN0ZXIgaW4gaHN3X3Bvd2VyX3dlbGxfcmVxdWVzdGVycygpIGV2ZW4gZm9yIERE SSBhbmQgQVVYCnBvd2VyIHdlbGxzLgoKdjI6Ci0gQ2xhcmlmeSBwbGF0Zm9ybSByYW5nZSB0YWdz IGluIGNvZGUgY29tbWVudHMuIChQYXVsbykKLSBGaXggbGluZSBvdmVyIDgwIGNoYXJzIGNoZWNr cGF0Y2ggd2FybmluZy4KCkNjOiBWaWxsZSBTeXJqYWxhIDx2aWxsZS5zeXJqYWxhQGxpbnV4Lmlu dGVsLmNvbT4KQ2M6IFBhdWxvIFphbm9uaSA8cGF1bG8uci56YW5vbmlAaW50ZWwuY29tPgpDYzog SmFuaSBOaWt1bGEgPGphbmkubmlrdWxhQGludGVsLmNvbT4KU2lnbmVkLW9mZi1ieTogSW1yZSBE ZWFrIDxpbXJlLmRlYWtAaW50ZWwuY29tPgpSZXZpZXdlZC1ieTogUGF1bG8gWmFub25pIDxwYXVs by5yLnphbm9uaUBpbnRlbC5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3Z0L2hhbmRs ZXJzLmMgICAgIHwgIDMxICsrLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmggICAg ICAgICB8ICAxMyArKwogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcuaCAgICAgICAgIHwg MTI2ICsrKysrKysrLS0tLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYyAg ICB8ICAgNSArLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcnVudGltZV9wbS5jIHwgMzAy ICsrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tCiA1IGZpbGVzIGNoYW5nZWQsIDM2MCBp bnNlcnRpb25zKCspLCAxMTcgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvZ3Z0L2hhbmRsZXJzLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndnQvaGFuZGxl cnMuYwppbmRleCA3YTU4Y2E1NTUxOTcuLmVhZDdmNjFkMjliMSAxMDA2NDQKLS0tIGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvZ3Z0L2hhbmRsZXJzLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv Z3Z0L2hhbmRsZXJzLmMKQEAgLTEyODcsMTIgKzEyODcsMTMgQEAgc3RhdGljIGludCBwb3dlcl93 ZWxsX2N0bF9tbWlvX3dyaXRlKHN0cnVjdCBpbnRlbF92Z3B1ICp2Z3B1LAogewogCXdyaXRlX3Zy ZWcodmdwdSwgb2Zmc2V0LCBwX2RhdGEsIGJ5dGVzKTsKIAotCWlmICh2Z3B1X3ZyZWcodmdwdSwg b2Zmc2V0KSAmIEhTV19QV1JfV0VMTF9DVExfUkVRKEhTV19ESVNQX1BXX0dMT0JBTCkpCisJaWYg KHZncHVfdnJlZyh2Z3B1LCBvZmZzZXQpICYKKwkgICAgSFNXX1BXUl9XRUxMX0NUTF9SRVEoSFNX X1BXX0NUTF9JRFhfR0xPQkFMKSkKIAkJdmdwdV92cmVnKHZncHUsIG9mZnNldCkgfD0KLQkJCUhT V19QV1JfV0VMTF9DVExfU1RBVEUoSFNXX0RJU1BfUFdfR0xPQkFMKTsKKwkJCUhTV19QV1JfV0VM TF9DVExfU1RBVEUoSFNXX1BXX0NUTF9JRFhfR0xPQkFMKTsKIAllbHNlCiAJCXZncHVfdnJlZyh2 Z3B1LCBvZmZzZXQpICY9Ci0JCQl+SFNXX1BXUl9XRUxMX0NUTF9TVEFURShIU1dfRElTUF9QV19H TE9CQUwpOworCQkJfkhTV19QV1JfV0VMTF9DVExfU1RBVEUoSFNXX1BXX0NUTF9JRFhfR0xPQkFM KTsKIAlyZXR1cm4gMDsKIH0KIApAQCAtMjQ0MywxNyArMjQ0NCwxMCBAQCBzdGF0aWMgaW50IGlu aXRfZ2VuZXJpY19tbWlvX2luZm8oc3RydWN0IGludGVsX2d2dCAqZ3Z0KQogCU1NSU9fRChHRU42 X1JDNnBfVEhSRVNIT0xELCBEX0FMTCk7CiAJTU1JT19EKEdFTjZfUkM2cHBfVEhSRVNIT0xELCBE X0FMTCk7CiAJTU1JT19EKEdFTjZfUE1JTlRSTVNLLCBEX0FMTCk7Ci0JLyoKLQkgKiBVc2UgYW4g YXJiaXRyYXJ5IHBvd2VyIHdlbGwgY29udHJvbGxlZCBieSB0aGUgUFdSX1dFTExfQ1RMCi0JICog cmVnaXN0ZXIuCi0JICovCi0JTU1JT19ESChIU1dfUFdSX1dFTExfQ1RMX0JJT1MoSFNXX0RJU1Bf UFdfR0xPQkFMKSwgRF9CRFcsIE5VTEwsCi0JCXBvd2VyX3dlbGxfY3RsX21taW9fd3JpdGUpOwot CU1NSU9fREgoSFNXX1BXUl9XRUxMX0NUTF9EUklWRVIoSFNXX0RJU1BfUFdfR0xPQkFMKSwgRF9C RFcsIE5VTEwsCi0JCXBvd2VyX3dlbGxfY3RsX21taW9fd3JpdGUpOwotCU1NSU9fREgoSFNXX1BX Ul9XRUxMX0NUTF9LVk1SLCBEX0JEVywgTlVMTCwgcG93ZXJfd2VsbF9jdGxfbW1pb193cml0ZSk7 Ci0JTU1JT19ESChIU1dfUFdSX1dFTExfQ1RMX0RFQlVHKEhTV19ESVNQX1BXX0dMT0JBTCksIERf QkRXLCBOVUxMLAotCQlwb3dlcl93ZWxsX2N0bF9tbWlvX3dyaXRlKTsKKwlNTUlPX0RIKEhTV19Q V1JfV0VMTF9DVEwxLCBEX0JEVywgTlVMTCwgcG93ZXJfd2VsbF9jdGxfbW1pb193cml0ZSk7CisJ TU1JT19ESChIU1dfUFdSX1dFTExfQ1RMMiwgRF9CRFcsIE5VTEwsIHBvd2VyX3dlbGxfY3RsX21t aW9fd3JpdGUpOworCU1NSU9fREgoSFNXX1BXUl9XRUxMX0NUTDMsIERfQkRXLCBOVUxMLCBwb3dl cl93ZWxsX2N0bF9tbWlvX3dyaXRlKTsKKwlNTUlPX0RIKEhTV19QV1JfV0VMTF9DVEw0LCBEX0JE VywgTlVMTCwgcG93ZXJfd2VsbF9jdGxfbW1pb193cml0ZSk7CiAJTU1JT19ESChIU1dfUFdSX1dF TExfQ1RMNSwgRF9CRFcsIE5VTEwsIHBvd2VyX3dlbGxfY3RsX21taW9fd3JpdGUpOwogCU1NSU9f REgoSFNXX1BXUl9XRUxMX0NUTDYsIERfQkRXLCBOVUxMLCBwb3dlcl93ZWxsX2N0bF9tbWlvX3dy aXRlKTsKIApAQCAtMjgwNCwxMyArMjc5OCw4IEBAIHN0YXRpYyBpbnQgaW5pdF9za2xfbW1pb19p bmZvKHN0cnVjdCBpbnRlbF9ndnQgKmd2dCkKIAlNTUlPX0YoX01NSU8oX0RQRF9BVVhfQ0hfQ1RM KSwgNiAqIDQsIDAsIDAsIDAsIERfU0tMX1BMVVMsIE5VTEwsCiAJCQkJCQlkcF9hdXhfY2hfY3Rs X21taW9fd3JpdGUpOwogCi0JLyoKLQkgKiBVc2UgYW4gYXJiaXRyYXJ5IHBvd2VyIHdlbGwgY29u dHJvbGxlZCBieSB0aGUgUFdSX1dFTExfQ1RMCi0JICogcmVnaXN0ZXIuCi0JICovCi0JTU1JT19E KEhTV19QV1JfV0VMTF9DVExfQklPUyhTS0xfRElTUF9QV19NSVNDX0lPKSwgRF9TS0xfUExVUyk7 Ci0JTU1JT19ESChIU1dfUFdSX1dFTExfQ1RMX0RSSVZFUihTS0xfRElTUF9QV19NSVNDX0lPKSwg RF9TS0xfUExVUywgTlVMTCwKLQkJc2tsX3Bvd2VyX3dlbGxfY3RsX3dyaXRlKTsKKwlNTUlPX0Qo SFNXX1BXUl9XRUxMX0NUTDEsIERfU0tMX1BMVVMpOworCU1NSU9fREgoSFNXX1BXUl9XRUxMX0NU TDIsIERfU0tMX1BMVVMsIE5VTEwsIHNrbF9wb3dlcl93ZWxsX2N0bF93cml0ZSk7CiAKIAlNTUlP X0QoX01NSU8oMHhhMjEwKSwgRF9TS0xfUExVUyk7CiAJTU1JT19EKEdFTjlfTUVESUFfUEdfSURM RV9IWVNURVJFU0lTLCBEX1NLTF9QTFVTKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2k5MTVfZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCmluZGV4IGJl ODJmMWRjMDAxZC4uYjIzN2ZkNTVkMmIzIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pOTE1X2Rydi5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKQEAgLTg2 Nyw2ICs4NjcsMTMgQEAgc3RydWN0IGk5MTVfcG93ZXJfd2VsbF9vcHMgewogCQkJICAgc3RydWN0 IGk5MTVfcG93ZXJfd2VsbCAqcG93ZXJfd2VsbCk7CiB9OwogCitzdHJ1Y3QgaTkxNV9wb3dlcl93 ZWxsX3JlZ3MgeworCWk5MTVfcmVnX3QgYmlvczsKKwlpOTE1X3JlZ190IGRyaXZlcjsKKwlpOTE1 X3JlZ190IGt2bXI7CisJaTkxNV9yZWdfdCBkZWJ1ZzsKK307CisKIC8qIFBvd2VyIHdlbGwgc3Ry dWN0dXJlIGZvciBoYXN3ZWxsICovCiBzdHJ1Y3QgaTkxNV9wb3dlcl93ZWxsX2Rlc2MgewogCWNv bnN0IGNoYXIgKm5hbWU7CkBAIC04OTAsNiArODk3LDEyIEBAIHN0cnVjdCBpOTE1X3Bvd2VyX3dl bGxfZGVzYyB7CiAJCQllbnVtIGRwaW9fcGh5IHBoeTsKIAkJfSBieHQ7CiAJCXN0cnVjdCB7CisJ CQljb25zdCBzdHJ1Y3QgaTkxNV9wb3dlcl93ZWxsX3JlZ3MgKnJlZ3M7CisJCQkvKgorCQkJICog cmVxdWVzdC9zdGF0dXMgZmxhZyBpbmRleCBpbiB0aGUgcG93ZXIgd2VsbAorCQkJICogY29uc3Ry b2wvc3RhdHVzIHJlZ2lzdGVycy4KKwkJCSAqLworCQkJdTggaWR4OwogCQkJLyogTWFzayBvZiBw aXBlcyB3aG9zZSBJUlEgbG9naWMgaXMgYmFja2VkIGJ5IHRoZSBwdyAqLwogCQkJdTggaXJxX3Bp cGVfbWFzazsKIAkJCS8qIFRoZSBwdyBpcyBiYWNraW5nIHRoZSBWR0EgZnVuY3Rpb25hbGl0eSAq LwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcuaCBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2k5MTVfcmVnLmgKaW5kZXggZWQzMGI0ZjhiOTQ4Li40ZjVlYjQ5OTM0YjQg MTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmgKKysrIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcuaApAQCAtODkyNSw0NiArODkyNSw3OCBAQCBlbnVtIHsK ICNkZWZpbmUgSFNXX0FVRF9DSElDS0VOQklUCQkJX01NSU8oMHg2NWYxMCkKICNkZWZpbmUgICBT S0xfQVVEX0NPREVDX1dBS0VfU0lHTkFMCQkoMSA8PCAxNSkKIAotLyogSFNXIFBvd2VyIFdlbGxz ICovCi0jZGVmaW5lIF9IU1dfUFdSX1dFTExfQ1RMMQkJCTB4NDU0MDAKLSNkZWZpbmUgX0hTV19Q V1JfV0VMTF9DVEwyCQkJMHg0NTQwNAotI2RlZmluZSBfSFNXX1BXUl9XRUxMX0NUTDMJCQkweDQ1 NDA4Ci0jZGVmaW5lIF9IU1dfUFdSX1dFTExfQ1RMNAkJCTB4NDU0MEMKLQotI2RlZmluZSBfSUNM X1BXUl9XRUxMX0NUTF9BVVgxCQkJMHg0NTQ0MAotI2RlZmluZSBfSUNMX1BXUl9XRUxMX0NUTF9B VVgyCQkJMHg0NTQ0NAotI2RlZmluZSBfSUNMX1BXUl9XRUxMX0NUTF9BVVg0CQkJMHg0NTQ0Qwot Ci0jZGVmaW5lIF9JQ0xfUFdSX1dFTExfQ1RMX0RESTEJCQkweDQ1NDUwCi0jZGVmaW5lIF9JQ0xf UFdSX1dFTExfQ1RMX0RESTIJCQkweDQ1NDU0Ci0jZGVmaW5lIF9JQ0xfUFdSX1dFTExfQ1RMX0RE STQJCQkweDQ1NDVDCi0KIC8qCi0gKiBFYWNoIHBvd2VyIHdlbGwgY29udHJvbCByZWdpc3RlciBj b250YWlucyB1cCB0byAxNiAocmVxdWVzdCwgc3RhdHVzKSBIVwotICogZmxhZyB0dXBsZXMuIFRo ZSByZWdpc3RlciBpbmRleCBhbmQgSFcgZmxhZyBzaGlmdCBpcyBkZXRlcm1pbmVkIGJ5IHRoZQot ICogcG93ZXIgd2VsbCBJRCAoc2VlIGk5MTVfcG93ZXJfd2VsbF9pZCkuIFRoZXJlIGFyZSA0IHBv c3NpYmxlIHNvdXJjZXMgb2YKLSAqIHBvd2VyIHdlbGwgcmVxdWVzdHMgZWFjaCBzb3VyY2UgaGF2 aW5nIGl0cyBvd24gc2V0IG9mIGNvbnRyb2wgcmVnaXN0ZXJzOgotICogQklPUywgRFJJVkVSLCBL Vk1SLCBERUJVRy4KKyAqIEhTVyAtIElDTCBwb3dlciB3ZWxscworICoKKyAqIFBsYXRmb3JtcyBo YXZlIHVwIHRvIDMgcG93ZXIgd2VsbCBjb250cm9sIHJlZ2lzdGVyIHNldHMsIGVhY2ggc2V0Cisg KiBjb250cm9sbGluZyB1cCB0byAxNiBwb3dlciB3ZWxscyB2aWEgYSByZXF1ZXN0L3N0YXR1cyBI VyBmbGFnIHR1cGxlOgorICogLSBtYWluIChIU1dfUFdSX1dFTExfQ1RMWzEtNF0pCisgKiAtIEFV WCAgKElDTF9QV1JfV0VMTF9DVExfQVVYWzEtNF0pCisgKiAtIERESSAgKElDTF9QV1JfV0VMTF9D VExfRERJWzEtNF0pCisgKiBFYWNoIGNvbnRyb2wgcmVnaXN0ZXIgc2V0IGNvbnNpc3RzIG9mIHVw IHRvIDQgcmVnaXN0ZXJzIHVzZWQgYnkgZGlmZmVyZW50CisgKiBzb3VyY2VzIHRoYXQgY2FuIHJl cXVlc3QgYSBwb3dlciB3ZWxsIHRvIGJlIGVuYWJsZWQ6CisgKiAtIEJJT1MgICAoSFNXX1BXUl9X RUxMX0NUTDEvSUNMX1BXUl9XRUxMX0NUTF9BVVgxL0lDTF9QV1JfV0VMTF9DVExfRERJMSkKKyAq IC0gRFJJVkVSIChIU1dfUFdSX1dFTExfQ1RMMi9JQ0xfUFdSX1dFTExfQ1RMX0FVWDIvSUNMX1BX Ul9XRUxMX0NUTF9EREkyKQorICogLSBLVk1SICAgKEhTV19QV1JfV0VMTF9DVEwzKSAgIChvbmx5 IGluIHRoZSBtYWluIHJlZ2lzdGVyIHNldCkKKyAqIC0gREVCVUcgIChIU1dfUFdSX1dFTExfQ1RM NC9JQ0xfUFdSX1dFTExfQ1RMX0FVWDQvSUNMX1BXUl9XRUxMX0NUTF9EREk0KQogICovCi0jZGVm aW5lIF9IU1dfUFdfUkVHX0lEWChwdykJCQkoKHB3KSA+PiA0KQotI2RlZmluZSBfSFNXX1BXX1NI SUZUKHB3KQkJCSgoKHB3KSAmIDB4ZikgKiAyKQotI2RlZmluZSBIU1dfUFdSX1dFTExfQ1RMX0JJ T1MocHcpCV9NTUlPKF9QSUNLKF9IU1dfUFdfUkVHX0lEWChwdyksICAgICAgIFwKLQkJCQkJCSAg ICBfSFNXX1BXUl9XRUxMX0NUTDEsCSAgICAgICBcCi0JCQkJCQkgICAgX0lDTF9QV1JfV0VMTF9D VExfQVVYMSwgICAgXAotCQkJCQkJICAgIF9JQ0xfUFdSX1dFTExfQ1RMX0RESTEpKQotI2RlZmlu ZSBIU1dfUFdSX1dFTExfQ1RMX0RSSVZFUihwdykJX01NSU8oX1BJQ0soX0hTV19QV19SRUdfSURY KHB3KSwgICAgICAgXAotCQkJCQkJICAgIF9IU1dfUFdSX1dFTExfQ1RMMiwJICAgICAgIFwKLQkJ CQkJCSAgICBfSUNMX1BXUl9XRUxMX0NUTF9BVVgyLCAgICBcCi0JCQkJCQkgICAgX0lDTF9QV1Jf V0VMTF9DVExfRERJMikpCi0vKiBLVk1SIGRvZXNuJ3QgaGF2ZSBhIHJlZyBmb3IgQVVYIG9yIERE SSBwb3dlciB3ZWxsIGNvbnRyb2wgKi8KLSNkZWZpbmUgSFNXX1BXUl9XRUxMX0NUTF9LVk1SCQlf TU1JTyhfSFNXX1BXUl9XRUxMX0NUTDMpCi0jZGVmaW5lIEhTV19QV1JfV0VMTF9DVExfREVCVUco cHcpCV9NTUlPKF9QSUNLKF9IU1dfUFdfUkVHX0lEWChwdyksICAgICAgIFwKLQkJCQkJCSAgICBf SFNXX1BXUl9XRUxMX0NUTDQsCSAgICAgICBcCi0JCQkJCQkgICAgX0lDTF9QV1JfV0VMTF9DVExf QVVYNCwgICAgXAotCQkJCQkJICAgIF9JQ0xfUFdSX1dFTExfQ1RMX0RESTQpKQorI2RlZmluZSBI U1dfUFdSX1dFTExfQ1RMMQkJCV9NTUlPKDB4NDU0MDApCisjZGVmaW5lIEhTV19QV1JfV0VMTF9D VEwyCQkJX01NSU8oMHg0NTQwNCkKKyNkZWZpbmUgSFNXX1BXUl9XRUxMX0NUTDMJCQlfTU1JTygw eDQ1NDA4KQorI2RlZmluZSBIU1dfUFdSX1dFTExfQ1RMNAkJCV9NTUlPKDB4NDU0MEMpCisjZGVm aW5lICAgSFNXX1BXUl9XRUxMX0NUTF9SRVEocHdfaWR4KQkJKDB4MiA8PCAoKHB3X2lkeCkgKiAy KSkKKyNkZWZpbmUgICBIU1dfUFdSX1dFTExfQ1RMX1NUQVRFKHB3X2lkeCkJKDB4MSA8PCAoKHB3 X2lkeCkgKiAyKSkKIAotI2RlZmluZSAgIEhTV19QV1JfV0VMTF9DVExfUkVRKHB3KQkJKDEgPDwg KF9IU1dfUFdfU0hJRlQocHcpICsgMSkpCi0jZGVmaW5lICAgSFNXX1BXUl9XRUxMX0NUTF9TVEFU RShwdykJCSgxIDw8IF9IU1dfUFdfU0hJRlQocHcpKQorLyogSFNXL0JEVyBwb3dlciB3ZWxsICov CisjZGVmaW5lICAgSFNXX1BXX0NUTF9JRFhfR0xPQkFMCQkJMTUKKworLyogU0tML0JYVC9HTEsv Q05MIHBvd2VyIHdlbGxzICovCisjZGVmaW5lICAgU0tMX1BXX0NUTF9JRFhfUFdfMgkJCTE1Cisj ZGVmaW5lICAgU0tMX1BXX0NUTF9JRFhfUFdfMQkJCTE0CisjZGVmaW5lICAgQ05MX1BXX0NUTF9J RFhfQVVYX0YJCQkxMgorI2RlZmluZSAgIENOTF9QV19DVExfSURYX0FVWF9ECQkJMTEKKyNkZWZp bmUgICBHTEtfUFdfQ1RMX0lEWF9BVVhfQwkJCTEwCisjZGVmaW5lICAgR0xLX1BXX0NUTF9JRFhf QVVYX0IJCQk5CisjZGVmaW5lICAgR0xLX1BXX0NUTF9JRFhfQVVYX0EJCQk4CisjZGVmaW5lICAg Q05MX1BXX0NUTF9JRFhfRERJX0YJCQk2CisjZGVmaW5lICAgU0tMX1BXX0NUTF9JRFhfRERJX0QJ CQk0CisjZGVmaW5lICAgU0tMX1BXX0NUTF9JRFhfRERJX0MJCQkzCisjZGVmaW5lICAgU0tMX1BX X0NUTF9JRFhfRERJX0IJCQkyCisjZGVmaW5lICAgU0tMX1BXX0NUTF9JRFhfRERJX0FfRQkJMQor I2RlZmluZSAgIEdMS19QV19DVExfSURYX0RESV9BCQkJMQorI2RlZmluZSAgIFNLTF9QV19DVExf SURYX01JU0NfSU8JCTAKKworLyogSUNMIC0gcG93ZXIgd2VsbHMgKi8KKyNkZWZpbmUgICBJQ0xf UFdfQ1RMX0lEWF9QV180CQkJMworI2RlZmluZSAgIElDTF9QV19DVExfSURYX1BXXzMJCQkyCisj ZGVmaW5lICAgSUNMX1BXX0NUTF9JRFhfUFdfMgkJCTEKKyNkZWZpbmUgICBJQ0xfUFdfQ1RMX0lE WF9QV18xCQkJMAorCisjZGVmaW5lIElDTF9QV1JfV0VMTF9DVExfQVVYMQkJCV9NTUlPKDB4NDU0 NDApCisjZGVmaW5lIElDTF9QV1JfV0VMTF9DVExfQVVYMgkJCV9NTUlPKDB4NDU0NDQpCisjZGVm aW5lIElDTF9QV1JfV0VMTF9DVExfQVVYNAkJCV9NTUlPKDB4NDU0NEMpCisjZGVmaW5lICAgSUNM X1BXX0NUTF9JRFhfQVVYX1RCVDQJCTExCisjZGVmaW5lICAgSUNMX1BXX0NUTF9JRFhfQVVYX1RC VDMJCTEwCisjZGVmaW5lICAgSUNMX1BXX0NUTF9JRFhfQVVYX1RCVDIJCTkKKyNkZWZpbmUgICBJ Q0xfUFdfQ1RMX0lEWF9BVVhfVEJUMQkJOAorI2RlZmluZSAgIElDTF9QV19DVExfSURYX0FVWF9G CQkJNQorI2RlZmluZSAgIElDTF9QV19DVExfSURYX0FVWF9FCQkJNAorI2RlZmluZSAgIElDTF9Q V19DVExfSURYX0FVWF9ECQkJMworI2RlZmluZSAgIElDTF9QV19DVExfSURYX0FVWF9DCQkJMgor I2RlZmluZSAgIElDTF9QV19DVExfSURYX0FVWF9CCQkJMQorI2RlZmluZSAgIElDTF9QV19DVExf SURYX0FVWF9BCQkJMAorCisjZGVmaW5lIElDTF9QV1JfV0VMTF9DVExfRERJMQkJCV9NTUlPKDB4 NDU0NTApCisjZGVmaW5lIElDTF9QV1JfV0VMTF9DVExfRERJMgkJCV9NTUlPKDB4NDU0NTQpCisj ZGVmaW5lIElDTF9QV1JfV0VMTF9DVExfRERJNAkJCV9NTUlPKDB4NDU0NUMpCisjZGVmaW5lICAg SUNMX1BXX0NUTF9JRFhfRERJX0YJCQk1CisjZGVmaW5lICAgSUNMX1BXX0NUTF9JRFhfRERJX0UJ CQk0CisjZGVmaW5lICAgSUNMX1BXX0NUTF9JRFhfRERJX0QJCQkzCisjZGVmaW5lICAgSUNMX1BX X0NUTF9JRFhfRERJX0MJCQkyCisjZGVmaW5lICAgSUNMX1BXX0NUTF9JRFhfRERJX0IJCQkxCisj ZGVmaW5lICAgSUNMX1BXX0NUTF9JRFhfRERJX0EJCQkwCisKKy8qIEhTVyAtIHBvd2VyIHdlbGwg bWlzYyBkZWJ1ZyByZWdpc3RlcnMgKi8KICNkZWZpbmUgSFNXX1BXUl9XRUxMX0NUTDUJCQlfTU1J TygweDQ1NDEwKQogI2RlZmluZSAgIEhTV19QV1JfV0VMTF9FTkFCTEVfU0lOR0xFX1NURVAJKDEg PDwgMzEpCiAjZGVmaW5lICAgSFNXX1BXUl9XRUxMX1BXUl9HQVRFX09WRVJSSURFCSgxIDw8IDIw KQpAQCAtODk4MCwxOCArOTAxMiwyNiBAQCBlbnVtIHNrbF9wb3dlcl9nYXRlIHsKIAogI2RlZmlu ZSBTS0xfRlVTRV9TVEFUVVMJCQkJX01NSU8oMHg0MjAwMCkKICNkZWZpbmUgIFNLTF9GVVNFX0RP V05MT0FEX1NUQVRVUwkJKDEgPDwgMzEpCi0vKiBQRzAgKEhXIGNvbnRyb2wtPm5vIHBvd2VyIHdl bGwgSUQpLCBQRzEuLlBHMiAoU0tMX0RJU1BfUFcxLi5TS0xfRElTUF9QVzIpICovCi0jZGVmaW5l ICBTS0xfUFdfVE9fUEcocHcpCQkJKChwdykgLSBTS0xfRElTUF9QV18xICsgU0tMX1BHMSkKLS8q IFBHMCAoSFcgY29udHJvbC0+bm8gcG93ZXIgd2VsbCBJRCksIFBHMS4uUEc0IChJQ0xfRElTUF9Q VzEuLklDTF9ESVNQX1BXNCkgKi8KLSNkZWZpbmUgIElDTF9QV19UT19QRyhwdykJCQkoKHB3KSAt IElDTF9ESVNQX1BXXzEgKyBTS0xfUEcxKQorLyoKKyAqIFBHMCBpcyBIVyBjb250cm9sbGVkLCBz byBkb2Vzbid0IGhhdmUgYSBjb3JyZXNwb25kaW5nIHBvd2VyIHdlbGwgY29udHJvbCBrbm9iCisg KiBTS0xfRElTUF9QVzFfSURYLi5TS0xfRElTUF9QVzJfSURYIC0+IFBHMS4uUEcyCisgKi8KKyNk ZWZpbmUgIFNLTF9QV19DVExfSURYX1RPX1BHKHB3X2lkeCkJCVwKKwkoKHB3X2lkeCkgLSBTS0xf UFdfQ1RMX0lEWF9QV18xICsgU0tMX1BHMSkKKy8qCisgKiBQRzAgaXMgSFcgY29udHJvbGxlZCwg c28gZG9lc24ndCBoYXZlIGEgY29ycmVzcG9uZGluZyBwb3dlciB3ZWxsIGNvbnRyb2wga25vYgor ICogSUNMX0RJU1BfUFcxX0lEWC4uSUNMX0RJU1BfUFc0X0lEWCAtPiBQRzEuLlBHNAorICovCisj ZGVmaW5lICBJQ0xfUFdfQ1RMX0lEWF9UT19QRyhwd19pZHgpCQlcCisJKChwd19pZHgpIC0gSUNM X1BXX0NUTF9JRFhfUFdfMSArIFNLTF9QRzEpCiAjZGVmaW5lICBTS0xfRlVTRV9QR19ESVNUX1NU QVRVUyhwZykJCSgxIDw8ICgyNyAtIChwZykpKQogCi0jZGVmaW5lIF9DTkxfQVVYX1JFR19JRFgo cHcpCQkoKHB3KSAtIDkpCisjZGVmaW5lIF9DTkxfQVVYX1JFR19JRFgocHdfaWR4KQkoKHB3X2lk eCkgLSBHTEtfUFdfQ1RMX0lEWF9BVVhfQikKICNkZWZpbmUgX0NOTF9BVVhfQU5BT1ZSRDFfQgkJ MHgxNjIyNTAKICNkZWZpbmUgX0NOTF9BVVhfQU5BT1ZSRDFfQwkJMHgxNjIyMTAKICNkZWZpbmUg X0NOTF9BVVhfQU5BT1ZSRDFfRAkJMHgxNjIyRDAKICNkZWZpbmUgX0NOTF9BVVhfQU5BT1ZSRDFf RgkJMHgxNjJBOTAKLSNkZWZpbmUgQ05MX0FVWF9BTkFPVlJEMShwdykJCV9NTUlPKF9QSUNLKF9D TkxfQVVYX1JFR19JRFgocHcpLCBcCisjZGVmaW5lIENOTF9BVVhfQU5BT1ZSRDEocHdfaWR4KQlf TU1JTyhfUElDSyhfQ05MX0FVWF9SRUdfSURYKHB3X2lkeCksIFwKIAkJCQkJCSAgICBfQ05MX0FV WF9BTkFPVlJEMV9CLCBcCiAJCQkJCQkgICAgX0NOTF9BVVhfQU5BT1ZSRDFfQywgXAogCQkJCQkJ ICAgIF9DTkxfQVVYX0FOQU9WUkQxX0QsIFwKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2Rpc3BsYXkuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXku YwppbmRleCA3M2M2ZDU2YmEzZWMuLjUzZTdhN2U3NTM4NCAxMDA2NDQKLS0tIGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX2Rpc3BsYXkuYwpAQCAtODk3Myw3ICs4OTczLDcgQEAgc3RhdGljIHZvaWQgYXNzZXJ0X2Nh bl9kaXNhYmxlX2xjcGxsKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKIAkJSTkx NV9TVEFURV9XQVJOKGNydGMtPmFjdGl2ZSwgIkNSVEMgZm9yIHBpcGUgJWMgZW5hYmxlZFxuIiwK IAkJICAgICBwaXBlX25hbWUoY3J0Yy0+cGlwZSkpOwogCi0JSTkxNV9TVEFURV9XQVJOKEk5MTVf UkVBRChIU1dfUFdSX1dFTExfQ1RMX0RSSVZFUihIU1dfRElTUF9QV19HTE9CQUwpKSwKKwlJOTE1 X1NUQVRFX1dBUk4oSTkxNV9SRUFEKEhTV19QV1JfV0VMTF9DVEwyKSwKIAkJCSJEaXNwbGF5IHBv d2VyIHdlbGwgb25cbiIpOwogCUk5MTVfU1RBVEVfV0FSTihJOTE1X1JFQUQoU1BMTF9DVEwpICYg U1BMTF9QTExfRU5BQkxFLCAiU1BMTCBlbmFibGVkXG4iKTsKIAlJOTE1X1NUQVRFX1dBUk4oSTkx NV9SRUFEKFdSUExMX0NUTCgwKSkgJiBXUlBMTF9QTExfRU5BQkxFLCAiV1JQTEwxIGVuYWJsZWRc biIpOwpAQCAtMTYxMjksOCArMTYxMjksNyBAQCBpbnRlbF9kaXNwbGF5X2NhcHR1cmVfZXJyb3Jf c3RhdGUoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQogCQlyZXR1cm4gTlVMTDsK IAogCWlmIChJU19IQVNXRUxMKGRldl9wcml2KSB8fCBJU19CUk9BRFdFTEwoZGV2X3ByaXYpKQot CQllcnJvci0+cG93ZXJfd2VsbF9kcml2ZXIgPQotCQkJSTkxNV9SRUFEKEhTV19QV1JfV0VMTF9D VExfRFJJVkVSKEhTV19ESVNQX1BXX0dMT0JBTCkpOworCQllcnJvci0+cG93ZXJfd2VsbF9kcml2 ZXIgPSBJOTE1X1JFQUQoSFNXX1BXUl9XRUxMX0NUTDIpOwogCiAJZm9yX2VhY2hfcGlwZShkZXZf cHJpdiwgaSkgewogCQllcnJvci0+cGlwZVtpXS5wb3dlcl9kb21haW5fb24gPQpkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcnVudGltZV9wbS5jIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfcnVudGltZV9wbS5jCmluZGV4IDFjYjE0ZDFhOGE1My4uNjI2Nzc0Zjg2 Y2QyIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9ydW50aW1lX3BtLmMK KysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcnVudGltZV9wbS5jCkBAIC0zMjMsMjYg KzMyMywyOSBAQCBzdGF0aWMgdm9pZCBoc3dfcG93ZXJfd2VsbF9wcmVfZGlzYWJsZShzdHJ1Y3Qg ZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCiBzdGF0aWMgdm9pZCBoc3dfd2FpdF9mb3JfcG93 ZXJfd2VsbF9lbmFibGUoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAogCQkJCQkg ICBzdHJ1Y3QgaTkxNV9wb3dlcl93ZWxsICpwb3dlcl93ZWxsKQogewotCWVudW0gaTkxNV9wb3dl cl93ZWxsX2lkIGlkID0gcG93ZXJfd2VsbC0+ZGVzYy0+aWQ7CisJY29uc3Qgc3RydWN0IGk5MTVf cG93ZXJfd2VsbF9yZWdzICpyZWdzID0gcG93ZXJfd2VsbC0+ZGVzYy0+aHN3LnJlZ3M7CisJaW50 IHB3X2lkeCA9IHBvd2VyX3dlbGwtPmRlc2MtPmhzdy5pZHg7CiAKIAkvKiBUaW1lb3V0IGZvciBQ VzE6MTAgdXMsIEFVWDpub3Qgc3BlY2lmaWVkLCBvdGhlciBQV3M6MjAgdXMuICovCiAJV0FSTl9P TihpbnRlbF93YWl0X2Zvcl9yZWdpc3RlcihkZXZfcHJpdiwKLQkJCQkJSFNXX1BXUl9XRUxMX0NU TF9EUklWRVIoaWQpLAotCQkJCQlIU1dfUFdSX1dFTExfQ1RMX1NUQVRFKGlkKSwKLQkJCQkJSFNX X1BXUl9XRUxMX0NUTF9TVEFURShpZCksCisJCQkJCXJlZ3MtPmRyaXZlciwKKwkJCQkJSFNXX1BX Ul9XRUxMX0NUTF9TVEFURShwd19pZHgpLAorCQkJCQlIU1dfUFdSX1dFTExfQ1RMX1NUQVRFKHB3 X2lkeCksCiAJCQkJCTEpKTsKIH0KIAogc3RhdGljIHUzMiBoc3dfcG93ZXJfd2VsbF9yZXF1ZXN0 ZXJzKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKLQkJCQkgICAgIGVudW0gaTkx NV9wb3dlcl93ZWxsX2lkIGlkKQorCQkJCSAgICAgY29uc3Qgc3RydWN0IGk5MTVfcG93ZXJfd2Vs bF9yZWdzICpyZWdzLAorCQkJCSAgICAgaW50IHB3X2lkeCkKIHsKLQl1MzIgcmVxX21hc2sgPSBI U1dfUFdSX1dFTExfQ1RMX1JFUShpZCk7CisJdTMyIHJlcV9tYXNrID0gSFNXX1BXUl9XRUxMX0NU TF9SRVEocHdfaWR4KTsKIAl1MzIgcmV0OwogCi0JcmV0ID0gSTkxNV9SRUFEKEhTV19QV1JfV0VM TF9DVExfQklPUyhpZCkpICYgcmVxX21hc2sgPyAxIDogMDsKLQlyZXQgfD0gSTkxNV9SRUFEKEhT V19QV1JfV0VMTF9DVExfRFJJVkVSKGlkKSkgJiByZXFfbWFzayA/IDIgOiAwOwotCXJldCB8PSBJ OTE1X1JFQUQoSFNXX1BXUl9XRUxMX0NUTF9LVk1SKSAmIHJlcV9tYXNrID8gNCA6IDA7Ci0JcmV0 IHw9IEk5MTVfUkVBRChIU1dfUFdSX1dFTExfQ1RMX0RFQlVHKGlkKSkgJiByZXFfbWFzayA/IDgg OiAwOworCXJldCA9IEk5MTVfUkVBRChyZWdzLT5iaW9zKSAmIHJlcV9tYXNrID8gMSA6IDA7CisJ cmV0IHw9IEk5MTVfUkVBRChyZWdzLT5kcml2ZXIpICYgcmVxX21hc2sgPyAyIDogMDsKKwlpZiAo cmVncy0+a3Ztci5yZWcpCisJCXJldCB8PSBJOTE1X1JFQUQocmVncy0+a3ZtcikgJiByZXFfbWFz ayA/IDQgOiAwOworCXJldCB8PSBJOTE1X1JFQUQocmVncy0+ZGVidWcpICYgcmVxX21hc2sgPyA4 IDogMDsKIAogCXJldHVybiByZXQ7CiB9CkBAIC0zNTAsNyArMzUzLDggQEAgc3RhdGljIHUzMiBo c3dfcG93ZXJfd2VsbF9yZXF1ZXN0ZXJzKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJp diwKIHN0YXRpYyB2b2lkIGhzd193YWl0X2Zvcl9wb3dlcl93ZWxsX2Rpc2FibGUoc3RydWN0IGRy bV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAogCQkJCQkgICAgc3RydWN0IGk5MTVfcG93ZXJfd2Vs bCAqcG93ZXJfd2VsbCkKIHsKLQllbnVtIGk5MTVfcG93ZXJfd2VsbF9pZCBpZCA9IHBvd2VyX3dl bGwtPmRlc2MtPmlkOworCWNvbnN0IHN0cnVjdCBpOTE1X3Bvd2VyX3dlbGxfcmVncyAqcmVncyA9 IHBvd2VyX3dlbGwtPmRlc2MtPmhzdy5yZWdzOworCWludCBwd19pZHggPSBwb3dlcl93ZWxsLT5k ZXNjLT5oc3cuaWR4OwogCWJvb2wgZGlzYWJsZWQ7CiAJdTMyIHJlcXM7CiAKQEAgLTM2Myw5ICsz NjcsOSBAQCBzdGF0aWMgdm9pZCBoc3dfd2FpdF9mb3JfcG93ZXJfd2VsbF9kaXNhYmxlKHN0cnVj dCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKIAkgKiBTa2lwIHRoZSB3YWl0IGluIGNhc2Ug YW55IG9mIHRoZSByZXF1ZXN0IGJpdHMgYXJlIHNldCBhbmQgcHJpbnQgYQogCSAqIGRpYWdub3N0 aWMgbWVzc2FnZS4KIAkgKi8KLQl3YWl0X2ZvcigoZGlzYWJsZWQgPSAhKEk5MTVfUkVBRChIU1df UFdSX1dFTExfQ1RMX0RSSVZFUihpZCkpICYKLQkJCSAgICAgICBIU1dfUFdSX1dFTExfQ1RMX1NU QVRFKGlkKSkpIHx8Ci0JCSAocmVxcyA9IGhzd19wb3dlcl93ZWxsX3JlcXVlc3RlcnMoZGV2X3By aXYsIGlkKSksIDEpOworCXdhaXRfZm9yKChkaXNhYmxlZCA9ICEoSTkxNV9SRUFEKHJlZ3MtPmRy aXZlcikgJgorCQkJICAgICAgIEhTV19QV1JfV0VMTF9DVExfU1RBVEUocHdfaWR4KSkpIHx8CisJ CSAocmVxcyA9IGhzd19wb3dlcl93ZWxsX3JlcXVlc3RlcnMoZGV2X3ByaXYsIHJlZ3MsIHB3X2lk eCkpLCAxKTsKIAlpZiAoZGlzYWJsZWQpCiAJCXJldHVybjsKIApAQCAtMzg2LDE0ICszOTAsMTUg QEAgc3RhdGljIHZvaWQgZ2VuOV93YWl0X2Zvcl9wb3dlcl93ZWxsX2Z1c2VzKHN0cnVjdCBkcm1f aTkxNV9wcml2YXRlICpkZXZfcHJpdiwKIHN0YXRpYyB2b2lkIGhzd19wb3dlcl93ZWxsX2VuYWJs ZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCiAJCQkJICBzdHJ1Y3QgaTkxNV9w b3dlcl93ZWxsICpwb3dlcl93ZWxsKQogewotCWVudW0gaTkxNV9wb3dlcl93ZWxsX2lkIGlkID0g cG93ZXJfd2VsbC0+ZGVzYy0+aWQ7CisJY29uc3Qgc3RydWN0IGk5MTVfcG93ZXJfd2VsbF9yZWdz ICpyZWdzID0gcG93ZXJfd2VsbC0+ZGVzYy0+aHN3LnJlZ3M7CisJaW50IHB3X2lkeCA9IHBvd2Vy X3dlbGwtPmRlc2MtPmhzdy5pZHg7CiAJYm9vbCB3YWl0X2Z1c2VzID0gcG93ZXJfd2VsbC0+ZGVz Yy0+aHN3Lmhhc19mdXNlczsKIAllbnVtIHNrbF9wb3dlcl9nYXRlIHVuaW5pdGlhbGl6ZWRfdmFy KHBnKTsKIAl1MzIgdmFsOwogCiAJaWYgKHdhaXRfZnVzZXMpIHsKLQkJcGcgPSBJTlRFTF9HRU4o ZGV2X3ByaXYpID49IDExID8gSUNMX1BXX1RPX1BHKGlkKSA6Ci0JCQkJCQkgU0tMX1BXX1RPX1BH KGlkKTsKKwkJcGcgPSBJTlRFTF9HRU4oZGV2X3ByaXYpID49IDExID8gSUNMX1BXX0NUTF9JRFhf VE9fUEcocHdfaWR4KSA6CisJCQkJCQkgU0tMX1BXX0NUTF9JRFhfVE9fUEcocHdfaWR4KTsKIAkJ LyoKIAkJICogRm9yIFBXMSB3ZSBoYXZlIHRvIHdhaXQgYm90aCBmb3IgdGhlIFBXMC9QRzAgZnVz ZSBzdGF0ZQogCQkgKiBiZWZvcmUgZW5hYmxpbmcgdGhlIHBvd2VyIHdlbGwgYW5kIFBXMS9QRzEn cyBvd24gZnVzZQpAQCAtNDA1LDE3ICs0MTAsMTcgQEAgc3RhdGljIHZvaWQgaHN3X3Bvd2VyX3dl bGxfZW5hYmxlKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKIAkJCWdlbjlfd2Fp dF9mb3JfcG93ZXJfd2VsbF9mdXNlcyhkZXZfcHJpdiwgU0tMX1BHMCk7CiAJfQogCi0JdmFsID0g STkxNV9SRUFEKEhTV19QV1JfV0VMTF9DVExfRFJJVkVSKGlkKSk7Ci0JSTkxNV9XUklURShIU1df UFdSX1dFTExfQ1RMX0RSSVZFUihpZCksIHZhbCB8IEhTV19QV1JfV0VMTF9DVExfUkVRKGlkKSk7 CisJdmFsID0gSTkxNV9SRUFEKHJlZ3MtPmRyaXZlcik7CisJSTkxNV9XUklURShyZWdzLT5kcml2 ZXIsIHZhbCB8IEhTV19QV1JfV0VMTF9DVExfUkVRKHB3X2lkeCkpOwogCWhzd193YWl0X2Zvcl9w b3dlcl93ZWxsX2VuYWJsZShkZXZfcHJpdiwgcG93ZXJfd2VsbCk7CiAKIAkvKiBEaXNwbGF5IFdB ICMxMTc4OiBjbmwgKi8KIAlpZiAoSVNfQ0FOTk9OTEFLRShkZXZfcHJpdikgJiYKLQkgICAgKGlk ID09IENOTF9ESVNQX1BXX0FVWF9CIHx8IGlkID09IENOTF9ESVNQX1BXX0FVWF9DIHx8Ci0JICAg ICBpZCA9PSBDTkxfRElTUF9QV19BVVhfRCB8fCBpZCA9PSBDTkxfRElTUF9QV19BVVhfRikpIHsK LQkJdmFsID0gSTkxNV9SRUFEKENOTF9BVVhfQU5BT1ZSRDEoaWQpKTsKKwkgICAgcHdfaWR4ID49 IEdMS19QV19DVExfSURYX0FVWF9CICYmCisJICAgIHB3X2lkeCA8PSBDTkxfUFdfQ1RMX0lEWF9B VVhfRikgeworCQl2YWwgPSBJOTE1X1JFQUQoQ05MX0FVWF9BTkFPVlJEMShwd19pZHgpKTsKIAkJ dmFsIHw9IENOTF9BVVhfQU5BT1ZSRDFfRU5BQkxFIHwgQ05MX0FVWF9BTkFPVlJEMV9MRE9fQllQ QVNTOwotCQlJOTE1X1dSSVRFKENOTF9BVVhfQU5BT1ZSRDEoaWQpLCB2YWwpOworCQlJOTE1X1dS SVRFKENOTF9BVVhfQU5BT1ZSRDEocHdfaWR4KSwgdmFsKTsKIAl9CiAKIAlpZiAod2FpdF9mdXNl cykKQEAgLTQyOSwzMCArNDM0LDMxIEBAIHN0YXRpYyB2b2lkIGhzd19wb3dlcl93ZWxsX2VuYWJs ZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCiBzdGF0aWMgdm9pZCBoc3dfcG93 ZXJfd2VsbF9kaXNhYmxlKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKIAkJCQkg ICBzdHJ1Y3QgaTkxNV9wb3dlcl93ZWxsICpwb3dlcl93ZWxsKQogewotCWVudW0gaTkxNV9wb3dl cl93ZWxsX2lkIGlkID0gcG93ZXJfd2VsbC0+ZGVzYy0+aWQ7CisJY29uc3Qgc3RydWN0IGk5MTVf cG93ZXJfd2VsbF9yZWdzICpyZWdzID0gcG93ZXJfd2VsbC0+ZGVzYy0+aHN3LnJlZ3M7CisJaW50 IHB3X2lkeCA9IHBvd2VyX3dlbGwtPmRlc2MtPmhzdy5pZHg7CiAJdTMyIHZhbDsKIAogCWhzd19w b3dlcl93ZWxsX3ByZV9kaXNhYmxlKGRldl9wcml2LAogCQkJCSAgIHBvd2VyX3dlbGwtPmRlc2Mt Pmhzdy5pcnFfcGlwZV9tYXNrKTsKIAotCXZhbCA9IEk5MTVfUkVBRChIU1dfUFdSX1dFTExfQ1RM X0RSSVZFUihpZCkpOwotCUk5MTVfV1JJVEUoSFNXX1BXUl9XRUxMX0NUTF9EUklWRVIoaWQpLAot CQkgICB2YWwgJiB+SFNXX1BXUl9XRUxMX0NUTF9SRVEoaWQpKTsKKwl2YWwgPSBJOTE1X1JFQUQo cmVncy0+ZHJpdmVyKTsKKwlJOTE1X1dSSVRFKHJlZ3MtPmRyaXZlciwgdmFsICYgfkhTV19QV1Jf V0VMTF9DVExfUkVRKHB3X2lkeCkpOwogCWhzd193YWl0X2Zvcl9wb3dlcl93ZWxsX2Rpc2FibGUo ZGV2X3ByaXYsIHBvd2VyX3dlbGwpOwogfQogCi0jZGVmaW5lIElDTF9BVVhfUFdfVE9fUE9SVChw dykJKChwdykgLSBJQ0xfRElTUF9QV19BVVhfQSkKKyNkZWZpbmUgSUNMX0FVWF9QV19UT19QT1JU KHB3X2lkeCkJKChwd19pZHgpIC0gSUNMX1BXX0NUTF9JRFhfQVVYX0EpCiAKIHN0YXRpYyB2b2lk CiBpY2xfY29tYm9fcGh5X2F1eF9wb3dlcl93ZWxsX2VuYWJsZShzdHJ1Y3QgZHJtX2k5MTVfcHJp dmF0ZSAqZGV2X3ByaXYsCiAJCQkJICAgIHN0cnVjdCBpOTE1X3Bvd2VyX3dlbGwgKnBvd2VyX3dl bGwpCiB7Ci0JZW51bSBpOTE1X3Bvd2VyX3dlbGxfaWQgaWQgPSBwb3dlcl93ZWxsLT5kZXNjLT5p ZDsKLQllbnVtIHBvcnQgcG9ydCA9IElDTF9BVVhfUFdfVE9fUE9SVChpZCk7CisJY29uc3Qgc3Ry dWN0IGk5MTVfcG93ZXJfd2VsbF9yZWdzICpyZWdzID0gcG93ZXJfd2VsbC0+ZGVzYy0+aHN3LnJl Z3M7CisJaW50IHB3X2lkeCA9IHBvd2VyX3dlbGwtPmRlc2MtPmhzdy5pZHg7CisJZW51bSBwb3J0 IHBvcnQgPSBJQ0xfQVVYX1BXX1RPX1BPUlQocHdfaWR4KTsKIAl1MzIgdmFsOwogCi0JdmFsID0g STkxNV9SRUFEKEhTV19QV1JfV0VMTF9DVExfRFJJVkVSKGlkKSk7Ci0JSTkxNV9XUklURShIU1df UFdSX1dFTExfQ1RMX0RSSVZFUihpZCksIHZhbCB8IEhTV19QV1JfV0VMTF9DVExfUkVRKGlkKSk7 CisJdmFsID0gSTkxNV9SRUFEKHJlZ3MtPmRyaXZlcik7CisJSTkxNV9XUklURShyZWdzLT5kcml2 ZXIsIHZhbCB8IEhTV19QV1JfV0VMTF9DVExfUkVRKHB3X2lkeCkpOwogCiAJdmFsID0gSTkxNV9S RUFEKElDTF9QT1JUX0NMX0RXMTIocG9ydCkpOwogCUk5MTVfV1JJVEUoSUNMX1BPUlRfQ0xfRFcx Mihwb3J0KSwgdmFsIHwgSUNMX0xBTkVfRU5BQkxFX0FVWCk7CkBAIC00NjQsMTYgKzQ3MCwxNiBA QCBzdGF0aWMgdm9pZAogaWNsX2NvbWJvX3BoeV9hdXhfcG93ZXJfd2VsbF9kaXNhYmxlKHN0cnVj dCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKIAkJCQkgICAgIHN0cnVjdCBpOTE1X3Bvd2Vy X3dlbGwgKnBvd2VyX3dlbGwpCiB7Ci0JZW51bSBpOTE1X3Bvd2VyX3dlbGxfaWQgaWQgPSBwb3dl cl93ZWxsLT5kZXNjLT5pZDsKLQllbnVtIHBvcnQgcG9ydCA9IElDTF9BVVhfUFdfVE9fUE9SVChp ZCk7CisJY29uc3Qgc3RydWN0IGk5MTVfcG93ZXJfd2VsbF9yZWdzICpyZWdzID0gcG93ZXJfd2Vs bC0+ZGVzYy0+aHN3LnJlZ3M7CisJaW50IHB3X2lkeCA9IHBvd2VyX3dlbGwtPmRlc2MtPmhzdy5p ZHg7CisJZW51bSBwb3J0IHBvcnQgPSBJQ0xfQVVYX1BXX1RPX1BPUlQocHdfaWR4KTsKIAl1MzIg dmFsOwogCiAJdmFsID0gSTkxNV9SRUFEKElDTF9QT1JUX0NMX0RXMTIocG9ydCkpOwogCUk5MTVf V1JJVEUoSUNMX1BPUlRfQ0xfRFcxMihwb3J0KSwgdmFsICYgfklDTF9MQU5FX0VOQUJMRV9BVVgp OwogCi0JdmFsID0gSTkxNV9SRUFEKEhTV19QV1JfV0VMTF9DVExfRFJJVkVSKGlkKSk7Ci0JSTkx NV9XUklURShIU1dfUFdSX1dFTExfQ1RMX0RSSVZFUihpZCksCi0JCSAgIHZhbCAmIH5IU1dfUFdS X1dFTExfQ1RMX1JFUShpZCkpOworCXZhbCA9IEk5MTVfUkVBRChyZWdzLT5kcml2ZXIpOworCUk5 MTVfV1JJVEUocmVncy0+ZHJpdmVyLCB2YWwgJiB+SFNXX1BXUl9XRUxMX0NUTF9SRVEocHdfaWR4 KSk7CiAKIAloc3dfd2FpdF9mb3JfcG93ZXJfd2VsbF9kaXNhYmxlKGRldl9wcml2LCBwb3dlcl93 ZWxsKTsKIH0KQEAgLTQ4NiwyMiArNDkyLDIyIEBAIGljbF9jb21ib19waHlfYXV4X3Bvd2VyX3dl bGxfZGlzYWJsZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCiBzdGF0aWMgYm9v bCBoc3dfcG93ZXJfd2VsbF9lbmFibGVkKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJp diwKIAkJCQkgICBzdHJ1Y3QgaTkxNV9wb3dlcl93ZWxsICpwb3dlcl93ZWxsKQogewotCWVudW0g aTkxNV9wb3dlcl93ZWxsX2lkIGlkID0gcG93ZXJfd2VsbC0+ZGVzYy0+aWQ7Ci0JdTMyIG1hc2sg PSBIU1dfUFdSX1dFTExfQ1RMX1JFUShpZCkgfCBIU1dfUFdSX1dFTExfQ1RMX1NUQVRFKGlkKTsK Kwljb25zdCBzdHJ1Y3QgaTkxNV9wb3dlcl93ZWxsX3JlZ3MgKnJlZ3MgPSBwb3dlcl93ZWxsLT5k ZXNjLT5oc3cucmVnczsKKwlpbnQgcHdfaWR4ID0gcG93ZXJfd2VsbC0+ZGVzYy0+aHN3LmlkeDsK Kwl1MzIgbWFzayA9IEhTV19QV1JfV0VMTF9DVExfUkVRKHB3X2lkeCkgfAorCQkgICBIU1dfUFdS X1dFTExfQ1RMX1NUQVRFKHB3X2lkeCk7CiAKLQlyZXR1cm4gKEk5MTVfUkVBRChIU1dfUFdSX1dF TExfQ1RMX0RSSVZFUihpZCkpICYgbWFzaykgPT0gbWFzazsKKwlyZXR1cm4gKEk5MTVfUkVBRChy ZWdzLT5kcml2ZXIpICYgbWFzaykgPT0gbWFzazsKIH0KIAogc3RhdGljIHZvaWQgYXNzZXJ0X2Nh bl9lbmFibGVfZGM5KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKIHsKLQllbnVt IGk5MTVfcG93ZXJfd2VsbF9pZCBpZCA9IFNLTF9ESVNQX1BXXzI7Ci0KIAlXQVJOX09OQ0UoKEk5 MTVfUkVBRChEQ19TVEFURV9FTikgJiBEQ19TVEFURV9FTl9EQzkpLAogCQkgICJEQzkgYWxyZWFk eSBwcm9ncmFtbWVkIHRvIGJlIGVuYWJsZWQuXG4iKTsKIAlXQVJOX09OQ0UoSTkxNV9SRUFEKERD X1NUQVRFX0VOKSAmIERDX1NUQVRFX0VOX1VQVE9fREM1LAogCQkgICJEQzUgc3RpbGwgbm90IGRp c2FibGVkIHRvIGVuYWJsZSBEQzkuXG4iKTsKLQlXQVJOX09OQ0UoSTkxNV9SRUFEKEhTV19QV1Jf V0VMTF9DVExfRFJJVkVSKGlkKSkgJgotCQkgIEhTV19QV1JfV0VMTF9DVExfUkVRKGlkKSwKKwlX QVJOX09OQ0UoSTkxNV9SRUFEKEhTV19QV1JfV0VMTF9DVEwyKSAmCisJCSAgSFNXX1BXUl9XRUxM X0NUTF9SRVEoU0tMX1BXX0NUTF9JRFhfUFdfMiksCiAJCSAgIlBvd2VyIHdlbGwgMiBvbi5cbiIp OwogCVdBUk5fT05DRShpbnRlbF9pcnFzX2VuYWJsZWQoZGV2X3ByaXYpLAogCQkgICJJbnRlcnJ1 cHRzIG5vdCBkaXNhYmxlZCB5ZXQuXG4iKTsKQEAgLTcyNSwxNyArNzMxLDE4IEBAIHN0YXRpYyB2 b2lkIHNrbF9lbmFibGVfZGM2KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKIHN0 YXRpYyB2b2lkIGhzd19wb3dlcl93ZWxsX3N5bmNfaHcoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUg KmRldl9wcml2LAogCQkJCSAgIHN0cnVjdCBpOTE1X3Bvd2VyX3dlbGwgKnBvd2VyX3dlbGwpCiB7 Ci0JZW51bSBpOTE1X3Bvd2VyX3dlbGxfaWQgaWQgPSBwb3dlcl93ZWxsLT5kZXNjLT5pZDsKLQl1 MzIgbWFzayA9IEhTV19QV1JfV0VMTF9DVExfUkVRKGlkKTsKLQl1MzIgYmlvc19yZXEgPSBJOTE1 X1JFQUQoSFNXX1BXUl9XRUxMX0NUTF9CSU9TKGlkKSk7CisJY29uc3Qgc3RydWN0IGk5MTVfcG93 ZXJfd2VsbF9yZWdzICpyZWdzID0gcG93ZXJfd2VsbC0+ZGVzYy0+aHN3LnJlZ3M7CisJaW50IHB3 X2lkeCA9IHBvd2VyX3dlbGwtPmRlc2MtPmhzdy5pZHg7CisJdTMyIG1hc2sgPSBIU1dfUFdSX1dF TExfQ1RMX1JFUShwd19pZHgpOworCXUzMiBiaW9zX3JlcSA9IEk5MTVfUkVBRChyZWdzLT5iaW9z KTsKIAogCS8qIFRha2Ugb3ZlciB0aGUgcmVxdWVzdCBiaXQgaWYgc2V0IGJ5IEJJT1MuICovCiAJ aWYgKGJpb3NfcmVxICYgbWFzaykgewotCQl1MzIgZHJ2X3JlcSA9IEk5MTVfUkVBRChIU1dfUFdS X1dFTExfQ1RMX0RSSVZFUihpZCkpOworCQl1MzIgZHJ2X3JlcSA9IEk5MTVfUkVBRChyZWdzLT5k cml2ZXIpOwogCiAJCWlmICghKGRydl9yZXEgJiBtYXNrKSkKLQkJCUk5MTVfV1JJVEUoSFNXX1BX Ul9XRUxMX0NUTF9EUklWRVIoaWQpLCBkcnZfcmVxIHwgbWFzayk7Ci0JCUk5MTVfV1JJVEUoSFNX X1BXUl9XRUxMX0NUTF9CSU9TKGlkKSwgYmlvc19yZXEgJiB+bWFzayk7CisJCQlJOTE1X1dSSVRF KHJlZ3MtPmRyaXZlciwgZHJ2X3JlcSB8IG1hc2spOworCQlJOTE1X1dSSVRFKHJlZ3MtPmJpb3Ms IGJpb3NfcmVxICYgfm1hc2spOwogCX0KIH0KIApAQCAtMjEwOCw2ICsyMTE1LDEzIEBAIHN0YXRp YyBjb25zdCBzdHJ1Y3QgaTkxNV9wb3dlcl93ZWxsX29wcyBieHRfZHBpb19jbW5fcG93ZXJfd2Vs bF9vcHMgPSB7CiAJLmlzX2VuYWJsZWQgPSBieHRfZHBpb19jbW5fcG93ZXJfd2VsbF9lbmFibGVk LAogfTsKIAorc3RhdGljIGNvbnN0IHN0cnVjdCBpOTE1X3Bvd2VyX3dlbGxfcmVncyBoc3dfcG93 ZXJfd2VsbF9yZWdzID0geworCS5iaW9zCT0gSFNXX1BXUl9XRUxMX0NUTDEsCisJLmRyaXZlcgk9 IEhTV19QV1JfV0VMTF9DVEwyLAorCS5rdm1yCT0gSFNXX1BXUl9XRUxMX0NUTDMsCisJLmRlYnVn CT0gSFNXX1BXUl9XRUxMX0NUTDQsCit9OworCiBzdGF0aWMgY29uc3Qgc3RydWN0IGk5MTVfcG93 ZXJfd2VsbF9kZXNjIGhzd19wb3dlcl93ZWxsc1tdID0gewogCXsKIAkJLm5hbWUgPSAiYWx3YXlz LW9uIiwKQEAgLTIxMjIsNiArMjEzNiw4IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgaTkxNV9wb3dl cl93ZWxsX2Rlc2MgaHN3X3Bvd2VyX3dlbGxzW10gPSB7CiAJCS5vcHMgPSAmaHN3X3Bvd2VyX3dl bGxfb3BzLAogCQkuaWQgPSBIU1dfRElTUF9QV19HTE9CQUwsCiAJCXsKKwkJCS5oc3cucmVncyA9 ICZoc3dfcG93ZXJfd2VsbF9yZWdzLAorCQkJLmhzdy5pZHggPSBIU1dfUFdfQ1RMX0lEWF9HTE9C QUwsCiAJCQkuaHN3Lmhhc192Z2EgPSB0cnVlLAogCQl9LAogCX0sCkBAIC0yMTQxLDYgKzIxNTcs OCBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGk5MTVfcG93ZXJfd2VsbF9kZXNjIGJkd19wb3dlcl93 ZWxsc1tdID0gewogCQkub3BzID0gJmhzd19wb3dlcl93ZWxsX29wcywKIAkJLmlkID0gSFNXX0RJ U1BfUFdfR0xPQkFMLAogCQl7CisJCQkuaHN3LnJlZ3MgPSAmaHN3X3Bvd2VyX3dlbGxfcmVncywK KwkJCS5oc3cuaWR4ID0gSFNXX1BXX0NUTF9JRFhfR0xPQkFMLAogCQkJLmhzdy5pcnFfcGlwZV9t YXNrID0gQklUKFBJUEVfQikgfCBCSVQoUElQRV9DKSwKIAkJCS5oc3cuaGFzX3ZnYSA9IHRydWUs CiAJCX0sCkBAIC0yMzEwLDYgKzIzMjgsOCBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGk5MTVfcG93 ZXJfd2VsbF9kZXNjIHNrbF9wb3dlcl93ZWxsc1tdID0gewogCQkub3BzID0gJmhzd19wb3dlcl93 ZWxsX29wcywKIAkJLmlkID0gU0tMX0RJU1BfUFdfMSwKIAkJeworCQkJLmhzdy5yZWdzID0gJmhz d19wb3dlcl93ZWxsX3JlZ3MsCisJCQkuaHN3LmlkeCA9IFNLTF9QV19DVExfSURYX1BXXzEsCiAJ CQkuaHN3Lmhhc19mdXNlcyA9IHRydWUsCiAJCX0sCiAJfSwKQEAgLTIzMTksNiArMjMzOSwxMCBA QCBzdGF0aWMgY29uc3Qgc3RydWN0IGk5MTVfcG93ZXJfd2VsbF9kZXNjIHNrbF9wb3dlcl93ZWxs c1tdID0gewogCQkuZG9tYWlucyA9IDAsCiAJCS5vcHMgPSAmaHN3X3Bvd2VyX3dlbGxfb3BzLAog CQkuaWQgPSBTS0xfRElTUF9QV19NSVNDX0lPLAorCQl7CisJCQkuaHN3LnJlZ3MgPSAmaHN3X3Bv d2VyX3dlbGxfcmVncywKKwkJCS5oc3cuaWR4ID0gU0tMX1BXX0NUTF9JRFhfTUlTQ19JTywKKwkJ fSwKIAl9LAogCXsKIAkJLm5hbWUgPSAiREMgb2ZmIiwKQEAgLTIzMzIsNiArMjM1Niw4IEBAIHN0 YXRpYyBjb25zdCBzdHJ1Y3QgaTkxNV9wb3dlcl93ZWxsX2Rlc2Mgc2tsX3Bvd2VyX3dlbGxzW10g PSB7CiAJCS5vcHMgPSAmaHN3X3Bvd2VyX3dlbGxfb3BzLAogCQkuaWQgPSBTS0xfRElTUF9QV18y LAogCQl7CisJCQkuaHN3LnJlZ3MgPSAmaHN3X3Bvd2VyX3dlbGxfcmVncywKKwkJCS5oc3cuaWR4 ID0gU0tMX1BXX0NUTF9JRFhfUFdfMiwKIAkJCS5oc3cuaXJxX3BpcGVfbWFzayA9IEJJVChQSVBF X0IpIHwgQklUKFBJUEVfQyksCiAJCQkuaHN3Lmhhc192Z2EgPSB0cnVlLAogCQkJLmhzdy5oYXNf ZnVzZXMgPSB0cnVlLApAQCAtMjM0MiwyNCArMjM2OCw0MCBAQCBzdGF0aWMgY29uc3Qgc3RydWN0 IGk5MTVfcG93ZXJfd2VsbF9kZXNjIHNrbF9wb3dlcl93ZWxsc1tdID0gewogCQkuZG9tYWlucyA9 IFNLTF9ESVNQTEFZX0RESV9JT19BX0VfUE9XRVJfRE9NQUlOUywKIAkJLm9wcyA9ICZoc3dfcG93 ZXJfd2VsbF9vcHMsCiAJCS5pZCA9IFNLTF9ESVNQX1BXX0RESV9BX0UsCisJCXsKKwkJCS5oc3cu cmVncyA9ICZoc3dfcG93ZXJfd2VsbF9yZWdzLAorCQkJLmhzdy5pZHggPSBTS0xfUFdfQ1RMX0lE WF9ERElfQV9FLAorCQl9LAogCX0sCiAJewogCQkubmFtZSA9ICJEREkgQiBJTyBwb3dlciB3ZWxs IiwKIAkJLmRvbWFpbnMgPSBTS0xfRElTUExBWV9ERElfSU9fQl9QT1dFUl9ET01BSU5TLAogCQku b3BzID0gJmhzd19wb3dlcl93ZWxsX29wcywKIAkJLmlkID0gU0tMX0RJU1BfUFdfRERJX0IsCisJ CXsKKwkJCS5oc3cucmVncyA9ICZoc3dfcG93ZXJfd2VsbF9yZWdzLAorCQkJLmhzdy5pZHggPSBT S0xfUFdfQ1RMX0lEWF9ERElfQiwKKwkJfSwKIAl9LAogCXsKIAkJLm5hbWUgPSAiRERJIEMgSU8g cG93ZXIgd2VsbCIsCiAJCS5kb21haW5zID0gU0tMX0RJU1BMQVlfRERJX0lPX0NfUE9XRVJfRE9N QUlOUywKIAkJLm9wcyA9ICZoc3dfcG93ZXJfd2VsbF9vcHMsCiAJCS5pZCA9IFNLTF9ESVNQX1BX X0RESV9DLAorCQl7CisJCQkuaHN3LnJlZ3MgPSAmaHN3X3Bvd2VyX3dlbGxfcmVncywKKwkJCS5o c3cuaWR4ID0gU0tMX1BXX0NUTF9JRFhfRERJX0MsCisJCX0sCiAJfSwKIAl7CiAJCS5uYW1lID0g IkRESSBEIElPIHBvd2VyIHdlbGwiLAogCQkuZG9tYWlucyA9IFNLTF9ESVNQTEFZX0RESV9JT19E X1BPV0VSX0RPTUFJTlMsCiAJCS5vcHMgPSAmaHN3X3Bvd2VyX3dlbGxfb3BzLAogCQkuaWQgPSBT S0xfRElTUF9QV19ERElfRCwKKwkJeworCQkJLmhzdy5yZWdzID0gJmhzd19wb3dlcl93ZWxsX3Jl Z3MsCisJCQkuaHN3LmlkeCA9IFNLTF9QV19DVExfSURYX0RESV9ELAorCQl9LAogCX0sCiB9Owog CkBAIC0yMzc3LDYgKzI0MTksOCBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGk5MTVfcG93ZXJfd2Vs bF9kZXNjIGJ4dF9wb3dlcl93ZWxsc1tdID0gewogCQkub3BzID0gJmhzd19wb3dlcl93ZWxsX29w cywKIAkJLmlkID0gU0tMX0RJU1BfUFdfMSwKIAkJeworCQkJLmhzdy5yZWdzID0gJmhzd19wb3dl cl93ZWxsX3JlZ3MsCisJCQkuaHN3LmlkeCA9IFNLTF9QV19DVExfSURYX1BXXzEsCiAJCQkuaHN3 Lmhhc19mdXNlcyA9IHRydWUsCiAJCX0sCiAJfSwKQEAgLTIzOTIsNiArMjQzNiw4IEBAIHN0YXRp YyBjb25zdCBzdHJ1Y3QgaTkxNV9wb3dlcl93ZWxsX2Rlc2MgYnh0X3Bvd2VyX3dlbGxzW10gPSB7 CiAJCS5vcHMgPSAmaHN3X3Bvd2VyX3dlbGxfb3BzLAogCQkuaWQgPSBTS0xfRElTUF9QV18yLAog CQl7CisJCQkuaHN3LnJlZ3MgPSAmaHN3X3Bvd2VyX3dlbGxfcmVncywKKwkJCS5oc3cuaWR4ID0g U0tMX1BXX0NUTF9JRFhfUFdfMiwKIAkJCS5oc3cuaXJxX3BpcGVfbWFzayA9IEJJVChQSVBFX0Ip IHwgQklUKFBJUEVfQyksCiAJCQkuaHN3Lmhhc192Z2EgPSB0cnVlLAogCQkJLmhzdy5oYXNfZnVz ZXMgPSB0cnVlLApAQCAtMjQzMiw2ICsyNDc4LDggQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBpOTE1 X3Bvd2VyX3dlbGxfZGVzYyBnbGtfcG93ZXJfd2VsbHNbXSA9IHsKIAkJLm9wcyA9ICZoc3dfcG93 ZXJfd2VsbF9vcHMsCiAJCS5pZCA9IFNLTF9ESVNQX1BXXzEsCiAJCXsKKwkJCS5oc3cucmVncyA9 ICZoc3dfcG93ZXJfd2VsbF9yZWdzLAorCQkJLmhzdy5pZHggPSBTS0xfUFdfQ1RMX0lEWF9QV18x LAogCQkJLmhzdy5oYXNfZnVzZXMgPSB0cnVlLAogCQl9LAogCX0sCkBAIC0yNDQ3LDYgKzI0OTUs OCBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGk5MTVfcG93ZXJfd2VsbF9kZXNjIGdsa19wb3dlcl93 ZWxsc1tdID0gewogCQkub3BzID0gJmhzd19wb3dlcl93ZWxsX29wcywKIAkJLmlkID0gU0tMX0RJ U1BfUFdfMiwKIAkJeworCQkJLmhzdy5yZWdzID0gJmhzd19wb3dlcl93ZWxsX3JlZ3MsCisJCQku aHN3LmlkeCA9IFNLTF9QV19DVExfSURYX1BXXzIsCiAJCQkuaHN3LmlycV9waXBlX21hc2sgPSBC SVQoUElQRV9CKSB8IEJJVChQSVBFX0MpLAogCQkJLmhzdy5oYXNfdmdhID0gdHJ1ZSwKIAkJCS5o c3cuaGFzX2Z1c2VzID0gdHJ1ZSwKQEAgLTI0ODQsMzYgKzI1MzQsNjAgQEAgc3RhdGljIGNvbnN0 IHN0cnVjdCBpOTE1X3Bvd2VyX3dlbGxfZGVzYyBnbGtfcG93ZXJfd2VsbHNbXSA9IHsKIAkJLmRv bWFpbnMgPSBHTEtfRElTUExBWV9BVVhfQV9QT1dFUl9ET01BSU5TLAogCQkub3BzID0gJmhzd19w b3dlcl93ZWxsX29wcywKIAkJLmlkID0gR0xLX0RJU1BfUFdfQVVYX0EsCisJCXsKKwkJCS5oc3cu cmVncyA9ICZoc3dfcG93ZXJfd2VsbF9yZWdzLAorCQkJLmhzdy5pZHggPSBHTEtfUFdfQ1RMX0lE WF9BVVhfQSwKKwkJfSwKIAl9LAogCXsKIAkJLm5hbWUgPSAiQVVYIEIiLAogCQkuZG9tYWlucyA9 IEdMS19ESVNQTEFZX0FVWF9CX1BPV0VSX0RPTUFJTlMsCiAJCS5vcHMgPSAmaHN3X3Bvd2VyX3dl bGxfb3BzLAogCQkuaWQgPSBHTEtfRElTUF9QV19BVVhfQiwKKwkJeworCQkJLmhzdy5yZWdzID0g Jmhzd19wb3dlcl93ZWxsX3JlZ3MsCisJCQkuaHN3LmlkeCA9IEdMS19QV19DVExfSURYX0FVWF9C LAorCQl9LAogCX0sCiAJewogCQkubmFtZSA9ICJBVVggQyIsCiAJCS5kb21haW5zID0gR0xLX0RJ U1BMQVlfQVVYX0NfUE9XRVJfRE9NQUlOUywKIAkJLm9wcyA9ICZoc3dfcG93ZXJfd2VsbF9vcHMs CiAJCS5pZCA9IEdMS19ESVNQX1BXX0FVWF9DLAorCQl7CisJCQkuaHN3LnJlZ3MgPSAmaHN3X3Bv d2VyX3dlbGxfcmVncywKKwkJCS5oc3cuaWR4ID0gR0xLX1BXX0NUTF9JRFhfQVVYX0MsCisJCX0s CiAJfSwKIAl7CiAJCS5uYW1lID0gIkRESSBBIElPIHBvd2VyIHdlbGwiLAogCQkuZG9tYWlucyA9 IEdMS19ESVNQTEFZX0RESV9JT19BX1BPV0VSX0RPTUFJTlMsCiAJCS5vcHMgPSAmaHN3X3Bvd2Vy X3dlbGxfb3BzLAogCQkuaWQgPSBHTEtfRElTUF9QV19ERElfQSwKKwkJeworCQkJLmhzdy5yZWdz ID0gJmhzd19wb3dlcl93ZWxsX3JlZ3MsCisJCQkuaHN3LmlkeCA9IEdMS19QV19DVExfSURYX0RE SV9BLAorCQl9LAogCX0sCiAJewogCQkubmFtZSA9ICJEREkgQiBJTyBwb3dlciB3ZWxsIiwKIAkJ LmRvbWFpbnMgPSBHTEtfRElTUExBWV9ERElfSU9fQl9QT1dFUl9ET01BSU5TLAogCQkub3BzID0g Jmhzd19wb3dlcl93ZWxsX29wcywKIAkJLmlkID0gU0tMX0RJU1BfUFdfRERJX0IsCisJCXsKKwkJ CS5oc3cucmVncyA9ICZoc3dfcG93ZXJfd2VsbF9yZWdzLAorCQkJLmhzdy5pZHggPSBTS0xfUFdf Q1RMX0lEWF9ERElfQiwKKwkJfSwKIAl9LAogCXsKIAkJLm5hbWUgPSAiRERJIEMgSU8gcG93ZXIg d2VsbCIsCiAJCS5kb21haW5zID0gR0xLX0RJU1BMQVlfRERJX0lPX0NfUE9XRVJfRE9NQUlOUywK IAkJLm9wcyA9ICZoc3dfcG93ZXJfd2VsbF9vcHMsCiAJCS5pZCA9IFNLTF9ESVNQX1BXX0RESV9D LAorCQl7CisJCQkuaHN3LnJlZ3MgPSAmaHN3X3Bvd2VyX3dlbGxfcmVncywKKwkJCS5oc3cuaWR4 ID0gU0tMX1BXX0NUTF9JRFhfRERJX0MsCisJCX0sCiAJfSwKIH07CiAKQEAgLTI1MzIsNiArMjYw Niw4IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgaTkxNV9wb3dlcl93ZWxsX2Rlc2MgY25sX3Bvd2Vy X3dlbGxzW10gPSB7CiAJCS5vcHMgPSAmaHN3X3Bvd2VyX3dlbGxfb3BzLAogCQkuaWQgPSBTS0xf RElTUF9QV18xLAogCQl7CisJCQkuaHN3LnJlZ3MgPSAmaHN3X3Bvd2VyX3dlbGxfcmVncywKKwkJ CS5oc3cuaWR4ID0gU0tMX1BXX0NUTF9JRFhfUFdfMSwKIAkJCS5oc3cuaGFzX2Z1c2VzID0gdHJ1 ZSwKIAkJfSwKIAl9LApAQCAtMjU0MCwyNCArMjYxNiw0MCBAQCBzdGF0aWMgY29uc3Qgc3RydWN0 IGk5MTVfcG93ZXJfd2VsbF9kZXNjIGNubF9wb3dlcl93ZWxsc1tdID0gewogCQkuZG9tYWlucyA9 IENOTF9ESVNQTEFZX0FVWF9BX1BPV0VSX0RPTUFJTlMsCiAJCS5vcHMgPSAmaHN3X3Bvd2VyX3dl bGxfb3BzLAogCQkuaWQgPSBDTkxfRElTUF9QV19BVVhfQSwKKwkJeworCQkJLmhzdy5yZWdzID0g Jmhzd19wb3dlcl93ZWxsX3JlZ3MsCisJCQkuaHN3LmlkeCA9IEdMS19QV19DVExfSURYX0FVWF9B LAorCQl9LAogCX0sCiAJewogCQkubmFtZSA9ICJBVVggQiIsCiAJCS5kb21haW5zID0gQ05MX0RJ U1BMQVlfQVVYX0JfUE9XRVJfRE9NQUlOUywKIAkJLm9wcyA9ICZoc3dfcG93ZXJfd2VsbF9vcHMs CiAJCS5pZCA9IENOTF9ESVNQX1BXX0FVWF9CLAorCQl7CisJCQkuaHN3LnJlZ3MgPSAmaHN3X3Bv d2VyX3dlbGxfcmVncywKKwkJCS5oc3cuaWR4ID0gR0xLX1BXX0NUTF9JRFhfQVVYX0IsCisJCX0s CiAJfSwKIAl7CiAJCS5uYW1lID0gIkFVWCBDIiwKIAkJLmRvbWFpbnMgPSBDTkxfRElTUExBWV9B VVhfQ19QT1dFUl9ET01BSU5TLAogCQkub3BzID0gJmhzd19wb3dlcl93ZWxsX29wcywKIAkJLmlk ID0gQ05MX0RJU1BfUFdfQVVYX0MsCisJCXsKKwkJCS5oc3cucmVncyA9ICZoc3dfcG93ZXJfd2Vs bF9yZWdzLAorCQkJLmhzdy5pZHggPSBHTEtfUFdfQ1RMX0lEWF9BVVhfQywKKwkJfSwKIAl9LAog CXsKIAkJLm5hbWUgPSAiQVVYIEQiLAogCQkuZG9tYWlucyA9IENOTF9ESVNQTEFZX0FVWF9EX1BP V0VSX0RPTUFJTlMsCiAJCS5vcHMgPSAmaHN3X3Bvd2VyX3dlbGxfb3BzLAogCQkuaWQgPSBDTkxf RElTUF9QV19BVVhfRCwKKwkJeworCQkJLmhzdy5yZWdzID0gJmhzd19wb3dlcl93ZWxsX3JlZ3Ms CisJCQkuaHN3LmlkeCA9IENOTF9QV19DVExfSURYX0FVWF9ELAorCQl9LAogCX0sCiAJewogCQku bmFtZSA9ICJEQyBvZmYiLApAQCAtMjU3MSw2ICsyNjYzLDggQEAgc3RhdGljIGNvbnN0IHN0cnVj dCBpOTE1X3Bvd2VyX3dlbGxfZGVzYyBjbmxfcG93ZXJfd2VsbHNbXSA9IHsKIAkJLm9wcyA9ICZo c3dfcG93ZXJfd2VsbF9vcHMsCiAJCS5pZCA9IFNLTF9ESVNQX1BXXzIsCiAJCXsKKwkJCS5oc3cu cmVncyA9ICZoc3dfcG93ZXJfd2VsbF9yZWdzLAorCQkJLmhzdy5pZHggPSBTS0xfUFdfQ1RMX0lE WF9QV18yLAogCQkJLmhzdy5pcnFfcGlwZV9tYXNrID0gQklUKFBJUEVfQikgfCBCSVQoUElQRV9D KSwKIAkJCS5oc3cuaGFzX3ZnYSA9IHRydWUsCiAJCQkuaHN3Lmhhc19mdXNlcyA9IHRydWUsCkBA IC0yNTgxLDM2ICsyNjc1LDYwIEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgaTkxNV9wb3dlcl93ZWxs X2Rlc2MgY25sX3Bvd2VyX3dlbGxzW10gPSB7CiAJCS5kb21haW5zID0gQ05MX0RJU1BMQVlfRERJ X0FfSU9fUE9XRVJfRE9NQUlOUywKIAkJLm9wcyA9ICZoc3dfcG93ZXJfd2VsbF9vcHMsCiAJCS5p ZCA9IENOTF9ESVNQX1BXX0RESV9BLAorCQl7CisJCQkuaHN3LnJlZ3MgPSAmaHN3X3Bvd2VyX3dl bGxfcmVncywKKwkJCS5oc3cuaWR4ID0gR0xLX1BXX0NUTF9JRFhfRERJX0EsCisJCX0sCiAJfSwK IAl7CiAJCS5uYW1lID0gIkRESSBCIElPIHBvd2VyIHdlbGwiLAogCQkuZG9tYWlucyA9IENOTF9E SVNQTEFZX0RESV9CX0lPX1BPV0VSX0RPTUFJTlMsCiAJCS5vcHMgPSAmaHN3X3Bvd2VyX3dlbGxf b3BzLAogCQkuaWQgPSBTS0xfRElTUF9QV19ERElfQiwKKwkJeworCQkJLmhzdy5yZWdzID0gJmhz d19wb3dlcl93ZWxsX3JlZ3MsCisJCQkuaHN3LmlkeCA9IFNLTF9QV19DVExfSURYX0RESV9CLAor CQl9LAogCX0sCiAJewogCQkubmFtZSA9ICJEREkgQyBJTyBwb3dlciB3ZWxsIiwKIAkJLmRvbWFp bnMgPSBDTkxfRElTUExBWV9ERElfQ19JT19QT1dFUl9ET01BSU5TLAogCQkub3BzID0gJmhzd19w b3dlcl93ZWxsX29wcywKIAkJLmlkID0gU0tMX0RJU1BfUFdfRERJX0MsCisJCXsKKwkJCS5oc3cu cmVncyA9ICZoc3dfcG93ZXJfd2VsbF9yZWdzLAorCQkJLmhzdy5pZHggPSBTS0xfUFdfQ1RMX0lE WF9ERElfQywKKwkJfSwKIAl9LAogCXsKIAkJLm5hbWUgPSAiRERJIEQgSU8gcG93ZXIgd2VsbCIs CiAJCS5kb21haW5zID0gQ05MX0RJU1BMQVlfRERJX0RfSU9fUE9XRVJfRE9NQUlOUywKIAkJLm9w cyA9ICZoc3dfcG93ZXJfd2VsbF9vcHMsCiAJCS5pZCA9IFNLTF9ESVNQX1BXX0RESV9ELAorCQl7 CisJCQkuaHN3LnJlZ3MgPSAmaHN3X3Bvd2VyX3dlbGxfcmVncywKKwkJCS5oc3cuaWR4ID0gU0tM X1BXX0NUTF9JRFhfRERJX0QsCisJCX0sCiAJfSwKIAl7CiAJCS5uYW1lID0gIkRESSBGIElPIHBv d2VyIHdlbGwiLAogCQkuZG9tYWlucyA9IENOTF9ESVNQTEFZX0RESV9GX0lPX1BPV0VSX0RPTUFJ TlMsCiAJCS5vcHMgPSAmaHN3X3Bvd2VyX3dlbGxfb3BzLAogCQkuaWQgPSBDTkxfRElTUF9QV19E RElfRiwKKwkJeworCQkJLmhzdy5yZWdzID0gJmhzd19wb3dlcl93ZWxsX3JlZ3MsCisJCQkuaHN3 LmlkeCA9IENOTF9QV19DVExfSURYX0RESV9GLAorCQl9LAogCX0sCiAJewogCQkubmFtZSA9ICJB VVggRiIsCiAJCS5kb21haW5zID0gQ05MX0RJU1BMQVlfQVVYX0ZfUE9XRVJfRE9NQUlOUywKIAkJ Lm9wcyA9ICZoc3dfcG93ZXJfd2VsbF9vcHMsCiAJCS5pZCA9IENOTF9ESVNQX1BXX0FVWF9GLAor CQl7CisJCQkuaHN3LnJlZ3MgPSAmaHN3X3Bvd2VyX3dlbGxfcmVncywKKwkJCS5oc3cuaWR4ID0g Q05MX1BXX0NUTF9JRFhfQVVYX0YsCisJCX0sCiAJfSwKIH07CiAKQEAgLTI2MjEsNiArMjczOSwx OCBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGk5MTVfcG93ZXJfd2VsbF9vcHMgaWNsX2NvbWJvX3Bo eV9hdXhfcG93ZXJfd2VsbF9vcHMgPSB7CiAJLmlzX2VuYWJsZWQgPSBoc3dfcG93ZXJfd2VsbF9l bmFibGVkLAogfTsKIAorc3RhdGljIGNvbnN0IHN0cnVjdCBpOTE1X3Bvd2VyX3dlbGxfcmVncyBp Y2xfYXV4X3Bvd2VyX3dlbGxfcmVncyA9IHsKKwkuYmlvcwk9IElDTF9QV1JfV0VMTF9DVExfQVVY MSwKKwkuZHJpdmVyCT0gSUNMX1BXUl9XRUxMX0NUTF9BVVgyLAorCS5kZWJ1Zwk9IElDTF9QV1Jf V0VMTF9DVExfQVVYNCwKK307CisKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgaTkxNV9wb3dlcl93ZWxs X3JlZ3MgaWNsX2RkaV9wb3dlcl93ZWxsX3JlZ3MgPSB7CisJLmJpb3MJPSBJQ0xfUFdSX1dFTExf Q1RMX0RESTEsCisJLmRyaXZlcgk9IElDTF9QV1JfV0VMTF9DVExfRERJMiwKKwkuZGVidWcJPSBJ Q0xfUFdSX1dFTExfQ1RMX0RESTQsCit9OworCiBzdGF0aWMgY29uc3Qgc3RydWN0IGk5MTVfcG93 ZXJfd2VsbF9kZXNjIGljbF9wb3dlcl93ZWxsc1tdID0gewogCXsKIAkJLm5hbWUgPSAiYWx3YXlz LW9uIiwKQEAgLTI2MzYsNiArMjc2Niw4IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgaTkxNV9wb3dl cl93ZWxsX2Rlc2MgaWNsX3Bvd2VyX3dlbGxzW10gPSB7CiAJCS5vcHMgPSAmaHN3X3Bvd2VyX3dl bGxfb3BzLAogCQkuaWQgPSBJQ0xfRElTUF9QV18xLAogCQl7CisJCQkuaHN3LnJlZ3MgPSAmaHN3 X3Bvd2VyX3dlbGxfcmVncywKKwkJCS5oc3cuaWR4ID0gSUNMX1BXX0NUTF9JRFhfUFdfMSwKIAkJ CS5oc3cuaGFzX2Z1c2VzID0gdHJ1ZSwKIAkJfSwKIAl9LApAQCAtMjY0NSw2ICsyNzc3LDggQEAg c3RhdGljIGNvbnN0IHN0cnVjdCBpOTE1X3Bvd2VyX3dlbGxfZGVzYyBpY2xfcG93ZXJfd2VsbHNb XSA9IHsKIAkJLm9wcyA9ICZoc3dfcG93ZXJfd2VsbF9vcHMsCiAJCS5pZCA9IElDTF9ESVNQX1BX XzIsCiAJCXsKKwkJCS5oc3cucmVncyA9ICZoc3dfcG93ZXJfd2VsbF9yZWdzLAorCQkJLmhzdy5p ZHggPSBJQ0xfUFdfQ1RMX0lEWF9QV18yLAogCQkJLmhzdy5oYXNfZnVzZXMgPSB0cnVlLAogCQl9 LAogCX0sCkBAIC0yNjYwLDYgKzI3OTQsOCBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGk5MTVfcG93 ZXJfd2VsbF9kZXNjIGljbF9wb3dlcl93ZWxsc1tdID0gewogCQkub3BzID0gJmhzd19wb3dlcl93 ZWxsX29wcywKIAkJLmlkID0gSUNMX0RJU1BfUFdfMywKIAkJeworCQkJLmhzdy5yZWdzID0gJmhz d19wb3dlcl93ZWxsX3JlZ3MsCisJCQkuaHN3LmlkeCA9IElDTF9QV19DVExfSURYX1BXXzMsCiAJ CQkuaHN3LmlycV9waXBlX21hc2sgPSBCSVQoUElQRV9CKSwKIAkJCS5oc3cuaGFzX3ZnYSA9IHRy dWUsCiAJCQkuaHN3Lmhhc19mdXNlcyA9IHRydWUsCkBAIC0yNjcwLDk2ICsyODA2LDE2MCBAQCBz dGF0aWMgY29uc3Qgc3RydWN0IGk5MTVfcG93ZXJfd2VsbF9kZXNjIGljbF9wb3dlcl93ZWxsc1td ID0gewogCQkuZG9tYWlucyA9IElDTF9ERElfSU9fQV9QT1dFUl9ET01BSU5TLAogCQkub3BzID0g Jmhzd19wb3dlcl93ZWxsX29wcywKIAkJLmlkID0gSUNMX0RJU1BfUFdfRERJX0EsCisJCXsKKwkJ CS5oc3cucmVncyA9ICZpY2xfZGRpX3Bvd2VyX3dlbGxfcmVncywKKwkJCS5oc3cuaWR4ID0gSUNM X1BXX0NUTF9JRFhfRERJX0EsCisJCX0sCiAJfSwKIAl7CiAJCS5uYW1lID0gIkRESSBCIElPIiwK IAkJLmRvbWFpbnMgPSBJQ0xfRERJX0lPX0JfUE9XRVJfRE9NQUlOUywKIAkJLm9wcyA9ICZoc3df cG93ZXJfd2VsbF9vcHMsCiAJCS5pZCA9IElDTF9ESVNQX1BXX0RESV9CLAorCQl7CisJCQkuaHN3 LnJlZ3MgPSAmaWNsX2RkaV9wb3dlcl93ZWxsX3JlZ3MsCisJCQkuaHN3LmlkeCA9IElDTF9QV19D VExfSURYX0RESV9CLAorCQl9LAogCX0sCiAJewogCQkubmFtZSA9ICJEREkgQyBJTyIsCiAJCS5k b21haW5zID0gSUNMX0RESV9JT19DX1BPV0VSX0RPTUFJTlMsCiAJCS5vcHMgPSAmaHN3X3Bvd2Vy X3dlbGxfb3BzLAogCQkuaWQgPSBJQ0xfRElTUF9QV19ERElfQywKKwkJeworCQkJLmhzdy5yZWdz ID0gJmljbF9kZGlfcG93ZXJfd2VsbF9yZWdzLAorCQkJLmhzdy5pZHggPSBJQ0xfUFdfQ1RMX0lE WF9ERElfQywKKwkJfSwKIAl9LAogCXsKIAkJLm5hbWUgPSAiRERJIEQgSU8iLAogCQkuZG9tYWlu cyA9IElDTF9ERElfSU9fRF9QT1dFUl9ET01BSU5TLAogCQkub3BzID0gJmhzd19wb3dlcl93ZWxs X29wcywKIAkJLmlkID0gSUNMX0RJU1BfUFdfRERJX0QsCisJCXsKKwkJCS5oc3cucmVncyA9ICZp Y2xfZGRpX3Bvd2VyX3dlbGxfcmVncywKKwkJCS5oc3cuaWR4ID0gSUNMX1BXX0NUTF9JRFhfRERJ X0QsCisJCX0sCiAJfSwKIAl7CiAJCS5uYW1lID0gIkRESSBFIElPIiwKIAkJLmRvbWFpbnMgPSBJ Q0xfRERJX0lPX0VfUE9XRVJfRE9NQUlOUywKIAkJLm9wcyA9ICZoc3dfcG93ZXJfd2VsbF9vcHMs CiAJCS5pZCA9IElDTF9ESVNQX1BXX0RESV9FLAorCQl7CisJCQkuaHN3LnJlZ3MgPSAmaWNsX2Rk aV9wb3dlcl93ZWxsX3JlZ3MsCisJCQkuaHN3LmlkeCA9IElDTF9QV19DVExfSURYX0RESV9FLAor CQl9LAogCX0sCiAJewogCQkubmFtZSA9ICJEREkgRiBJTyIsCiAJCS5kb21haW5zID0gSUNMX0RE SV9JT19GX1BPV0VSX0RPTUFJTlMsCiAJCS5vcHMgPSAmaHN3X3Bvd2VyX3dlbGxfb3BzLAogCQku aWQgPSBJQ0xfRElTUF9QV19ERElfRiwKKwkJeworCQkJLmhzdy5yZWdzID0gJmljbF9kZGlfcG93 ZXJfd2VsbF9yZWdzLAorCQkJLmhzdy5pZHggPSBJQ0xfUFdfQ1RMX0lEWF9ERElfRiwKKwkJfSwK IAl9LAogCXsKIAkJLm5hbWUgPSAiQVVYIEEiLAogCQkuZG9tYWlucyA9IElDTF9BVVhfQV9JT19Q T1dFUl9ET01BSU5TLAogCQkub3BzID0gJmljbF9jb21ib19waHlfYXV4X3Bvd2VyX3dlbGxfb3Bz LAogCQkuaWQgPSBJQ0xfRElTUF9QV19BVVhfQSwKKwkJeworCQkJLmhzdy5yZWdzID0gJmljbF9h dXhfcG93ZXJfd2VsbF9yZWdzLAorCQkJLmhzdy5pZHggPSBJQ0xfUFdfQ1RMX0lEWF9BVVhfQSwK KwkJfSwKIAl9LAogCXsKIAkJLm5hbWUgPSAiQVVYIEIiLAogCQkuZG9tYWlucyA9IElDTF9BVVhf Ql9JT19QT1dFUl9ET01BSU5TLAogCQkub3BzID0gJmljbF9jb21ib19waHlfYXV4X3Bvd2VyX3dl bGxfb3BzLAogCQkuaWQgPSBJQ0xfRElTUF9QV19BVVhfQiwKKwkJeworCQkJLmhzdy5yZWdzID0g JmljbF9hdXhfcG93ZXJfd2VsbF9yZWdzLAorCQkJLmhzdy5pZHggPSBJQ0xfUFdfQ1RMX0lEWF9B VVhfQiwKKwkJfSwKIAl9LAogCXsKIAkJLm5hbWUgPSAiQVVYIEMiLAogCQkuZG9tYWlucyA9IElD TF9BVVhfQ19JT19QT1dFUl9ET01BSU5TLAogCQkub3BzID0gJmhzd19wb3dlcl93ZWxsX29wcywK IAkJLmlkID0gSUNMX0RJU1BfUFdfQVVYX0MsCisJCXsKKwkJCS5oc3cucmVncyA9ICZpY2xfYXV4 X3Bvd2VyX3dlbGxfcmVncywKKwkJCS5oc3cuaWR4ID0gSUNMX1BXX0NUTF9JRFhfQVVYX0MsCisJ CX0sCiAJfSwKIAl7CiAJCS5uYW1lID0gIkFVWCBEIiwKIAkJLmRvbWFpbnMgPSBJQ0xfQVVYX0Rf SU9fUE9XRVJfRE9NQUlOUywKIAkJLm9wcyA9ICZoc3dfcG93ZXJfd2VsbF9vcHMsCiAJCS5pZCA9 IElDTF9ESVNQX1BXX0FVWF9ELAorCQl7CisJCQkuaHN3LnJlZ3MgPSAmaWNsX2F1eF9wb3dlcl93 ZWxsX3JlZ3MsCisJCQkuaHN3LmlkeCA9IElDTF9QV19DVExfSURYX0FVWF9ELAorCQl9LAogCX0s CiAJewogCQkubmFtZSA9ICJBVVggRSIsCiAJCS5kb21haW5zID0gSUNMX0FVWF9FX0lPX1BPV0VS X0RPTUFJTlMsCiAJCS5vcHMgPSAmaHN3X3Bvd2VyX3dlbGxfb3BzLAogCQkuaWQgPSBJQ0xfRElT UF9QV19BVVhfRSwKKwkJeworCQkJLmhzdy5yZWdzID0gJmljbF9hdXhfcG93ZXJfd2VsbF9yZWdz LAorCQkJLmhzdy5pZHggPSBJQ0xfUFdfQ1RMX0lEWF9BVVhfRSwKKwkJfSwKIAl9LAogCXsKIAkJ Lm5hbWUgPSAiQVVYIEYiLAogCQkuZG9tYWlucyA9IElDTF9BVVhfRl9JT19QT1dFUl9ET01BSU5T LAogCQkub3BzID0gJmhzd19wb3dlcl93ZWxsX29wcywKIAkJLmlkID0gSUNMX0RJU1BfUFdfQVVY X0YsCisJCXsKKwkJCS5oc3cucmVncyA9ICZpY2xfYXV4X3Bvd2VyX3dlbGxfcmVncywKKwkJCS5o c3cuaWR4ID0gSUNMX1BXX0NUTF9JRFhfQVVYX0YsCisJCX0sCiAJfSwKIAl7CiAJCS5uYW1lID0g IkFVWCBUQlQxIiwKIAkJLmRvbWFpbnMgPSBJQ0xfQVVYX1RCVDFfSU9fUE9XRVJfRE9NQUlOUywK IAkJLm9wcyA9ICZoc3dfcG93ZXJfd2VsbF9vcHMsCiAJCS5pZCA9IElDTF9ESVNQX1BXX0FVWF9U QlQxLAorCQl7CisJCQkuaHN3LnJlZ3MgPSAmaWNsX2F1eF9wb3dlcl93ZWxsX3JlZ3MsCisJCQku aHN3LmlkeCA9IElDTF9QV19DVExfSURYX0FVWF9UQlQxLAorCQl9LAogCX0sCiAJewogCQkubmFt ZSA9ICJBVVggVEJUMiIsCiAJCS5kb21haW5zID0gSUNMX0FVWF9UQlQyX0lPX1BPV0VSX0RPTUFJ TlMsCiAJCS5vcHMgPSAmaHN3X3Bvd2VyX3dlbGxfb3BzLAogCQkuaWQgPSBJQ0xfRElTUF9QV19B VVhfVEJUMiwKKwkJeworCQkJLmhzdy5yZWdzID0gJmljbF9hdXhfcG93ZXJfd2VsbF9yZWdzLAor CQkJLmhzdy5pZHggPSBJQ0xfUFdfQ1RMX0lEWF9BVVhfVEJUMiwKKwkJfSwKIAl9LAogCXsKIAkJ Lm5hbWUgPSAiQVVYIFRCVDMiLAogCQkuZG9tYWlucyA9IElDTF9BVVhfVEJUM19JT19QT1dFUl9E T01BSU5TLAogCQkub3BzID0gJmhzd19wb3dlcl93ZWxsX29wcywKIAkJLmlkID0gSUNMX0RJU1Bf UFdfQVVYX1RCVDMsCisJCXsKKwkJCS5oc3cucmVncyA9ICZpY2xfYXV4X3Bvd2VyX3dlbGxfcmVn cywKKwkJCS5oc3cuaWR4ID0gSUNMX1BXX0NUTF9JRFhfQVVYX1RCVDMsCisJCX0sCiAJfSwKIAl7 CiAJCS5uYW1lID0gIkFVWCBUQlQ0IiwKIAkJLmRvbWFpbnMgPSBJQ0xfQVVYX1RCVDRfSU9fUE9X RVJfRE9NQUlOUywKIAkJLm9wcyA9ICZoc3dfcG93ZXJfd2VsbF9vcHMsCiAJCS5pZCA9IElDTF9E SVNQX1BXX0FVWF9UQlQ0LAorCQl7CisJCQkuaHN3LnJlZ3MgPSAmaWNsX2F1eF9wb3dlcl93ZWxs X3JlZ3MsCisJCQkuaHN3LmlkeCA9IElDTF9QV19DVExfSURYX0FVWF9UQlQ0LAorCQl9LAogCX0s CiAJewogCQkubmFtZSA9ICJwb3dlciB3ZWxsIDQiLApAQCAtMjc2Nyw2ICsyOTY3LDggQEAgc3Rh dGljIGNvbnN0IHN0cnVjdCBpOTE1X3Bvd2VyX3dlbGxfZGVzYyBpY2xfcG93ZXJfd2VsbHNbXSA9 IHsKIAkJLm9wcyA9ICZoc3dfcG93ZXJfd2VsbF9vcHMsCiAJCS5pZCA9IElDTF9ESVNQX1BXXzQs CiAJCXsKKwkJCS5oc3cucmVncyA9ICZoc3dfcG93ZXJfd2VsbF9yZWdzLAorCQkJLmhzdy5pZHgg PSBJQ0xfUFdfQ1RMX0lEWF9QV180LAogCQkJLmhzdy5oYXNfZnVzZXMgPSB0cnVlLAogCQkJLmhz dy5pcnFfcGlwZV9tYXNrID0gQklUKFBJUEVfQyksCiAJCX0sCi0tIAoyLjEzLjIKCl9fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5n IGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVk ZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=