Received: by 2002:a25:ad19:0:0:0:0:0 with SMTP id y25csp10418659ybi; Wed, 24 Jul 2019 22:52:52 -0700 (PDT) X-Google-Smtp-Source: APXvYqxwjLB89TJrbs+kcAiClAMOLfCZtunq+RQCymtf+9LKCvYdyqxln97s5N5XewUWQnFtNjkk X-Received: by 2002:a63:5402:: with SMTP id i2mr57631899pgb.414.1564033972561; Wed, 24 Jul 2019 22:52:52 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1564033972; cv=none; d=google.com; s=arc-20160816; b=IiZRseUE3sB8zYevf2xAO0MfKWIz1aOnrHONgHC1JZBIElBwRQ7LweLiVD4GHrn7sb HBTvKlmAIhGmaWHNQ1cbxQTsCWfRCUasZgmoWPwpdTzU5lpjDCoZB3a04NAL5vxZ+aFh jBdnoe74hr4E4U0kRSD5idLc34b7qQ5sWb6KgXMhAVS11XUXB1ivuJ3QuYXJmGQXghde YewSgG6Co77ffpFnY0MV1CufToTj0qCugyeSQr2RM63b13U0SXVlZZfKUApN82E6Y9x9 nan75lJ/zzAoRW39oxGUAs0EZhsiZ/Xexu23vg6i14oEQQ6qQ0FTYz9kh0GRJ0lTWcna in8Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:mime-version:user-agent:references :message-id:in-reply-to:subject:cc:to:from:date; bh=xHP52RUA55bdwouanQoy9OP4V+iMSi/ooVvGbyqTAMc=; b=uVcFODw3iwjy5NZQhq4EryPJ1q3gIMZIyHNhFO9IzYb2EF1lLk9FMkLlOwjV7OVSuv m98RO8qczxy+OO8sOyqHzE4Surr29aofodp+BU5oLqC2m5gdxUFDWgqOV5aSVTiBJYgO EtITyn0VYRX5+NnInLhlJQ6EbbIFbzN3rPxZakc4W8E1AyNXj/Mrf61SI07rNUpXgllT UXZzJirc45M+ZPSXYPzAd1XDmNeW0DqQAO7SbVzRBflZ4dukz+v6QzQKynzyouGPcsof QRC9HzkyAtMAfygKNaCDiSGFXRPMLkm5Zqy9OdK7MhzCPeGllH9dDxABpIrg0pSq5VOt ESyQ== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id e1si7851200pge.227.2019.07.24.22.52.37; Wed, 24 Jul 2019 22:52:52 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2388415AbfGYBnb (ORCPT + 99 others); Wed, 24 Jul 2019 21:43:31 -0400 Received: from mail3-relais-sop.national.inria.fr ([192.134.164.104]:18784 "EHLO mail3-relais-sop.national.inria.fr" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2387866AbfGYBna (ORCPT ); Wed, 24 Jul 2019 21:43:30 -0400 X-IronPort-AV: E=Sophos;i="5.64,305,1559512800"; d="out'?scan'208";a="314632399" Received: from unknown (HELO eduroamprvnat-172-16-51-239.near.illinois.edu) ([72.36.113.122]) by mail3-relais-sop.national.inria.fr with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 25 Jul 2019 03:42:53 +0200 Date: Wed, 24 Jul 2019 20:42:51 -0500 (CDT) From: Julia Lawall X-X-Sender: jll@hadrien To: Joe Perches cc: David Laight , cocci , LKML Subject: Re: [Fwd: [PATCH 1/2] string: Add stracpy and stracpy_pad mechanisms] In-Reply-To: Message-ID: References: <7ab8957eaf9b0931a59eff6e2bd8c5169f2f6c41.1563841972.git.joe@perches.com> <66fcdbf607d7d0bea41edb39e5579d63b62b7d84.camel@perches.com> <0f3ba090dfc956f5651e6c7c430abdba94ddcb8b.camel@perches.com> <563222fbfdbb44daa98078db9d404972@AcuMS.aculab.com> User-Agent: Alpine 2.21 (DEB 202 2017-01-01) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="8323329-141791469-1564018974=:10108" Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org This message is in MIME format. The first part should be readable text, while the remaining parts are likely unreadable without MIME-aware tools. --8323329-141791469-1564018974=:10108 Content-Type: text/plain; charset=US-ASCII New version. I check for non-use of the return value of strlcpy and address some issues that affected the matching of the case where the first argument involves a pointer dereference. Actually, an isomorphism now takes care of that case, so it doesn't show up in the semantic patch explicitly any more. julia --8323329-141791469-1564018974=:10108 Content-Type: text/plain; charset=US-ASCII; name=new_stracpy.out Content-Transfer-Encoding: BASE64 Content-ID: Content-Description: Content-Disposition: attachment; filename=new_stracpy.out ZGlmZiAtdSAtcCBhL2RyaXZlcnMvaHdtb24vbG05MC5jIGIvZHJpdmVycy9o d21vbi9sbTkwLmMNCi0tLSBhL2RyaXZlcnMvaHdtb24vbG05MC5jDQorKysg Yi9kcml2ZXJzL2h3bW9uL2xtOTAuYw0KQEAgLTE2MTAsNyArMTYxMCw3IEBA IHN0YXRpYyBpbnQgbG05MF9kZXRlY3Qoc3RydWN0IGkyY19jbGllbnQNCiAJ CXJldHVybiAtRU5PREVWOw0KIAl9DQogDQotCXN0cmxjcHkoaW5mby0+dHlw ZSwgbmFtZSwgSTJDX05BTUVfU0laRSk7DQorCXN0cmFjcHkoaW5mby0+dHlw ZSwgbmFtZSk7DQogDQogCXJldHVybiAwOw0KIH0NCmRpZmYgLXUgLXAgYS9k cml2ZXJzL25ldC9uZXRjb25zb2xlLmMgYi9kcml2ZXJzL25ldC9uZXRjb25z b2xlLmMNCi0tLSBhL2RyaXZlcnMvbmV0L25ldGNvbnNvbGUuYw0KKysrIGIv ZHJpdmVycy9uZXQvbmV0Y29uc29sZS5jDQpAQCAtMTc3LDcgKzE3Nyw3IEBA IHN0YXRpYyBzdHJ1Y3QgbmV0Y29uc29sZV90YXJnZXQgKmFsbG9jX3ANCiAJ CWdvdG8gZmFpbDsNCiANCiAJbnQtPm5wLm5hbWUgPSAibmV0Y29uc29sZSI7 DQotCXN0cmxjcHkobnQtPm5wLmRldl9uYW1lLCAiZXRoMCIsIElGTkFNU0la KTsNCisJc3RyYWNweShudC0+bnAuZGV2X25hbWUsICJldGgwIik7DQogCW50 LT5ucC5sb2NhbF9wb3J0ID0gNjY2NTsNCiAJbnQtPm5wLnJlbW90ZV9wb3J0 ID0gNjY2NjsNCiAJZXRoX2Jyb2FkY2FzdF9hZGRyKG50LT5ucC5yZW1vdGVf bWFjKTsNCkBAIC00MTMsNyArNDEzLDcgQEAgc3RhdGljIHNzaXplX3QgZGV2 X25hbWVfc3RvcmUoc3RydWN0IGNvbg0KIAkJcmV0dXJuIC1FSU5WQUw7DQog CX0NCiANCi0Jc3RybGNweShudC0+bnAuZGV2X25hbWUsIGJ1ZiwgSUZOQU1T SVopOw0KKwlzdHJhY3B5KG50LT5ucC5kZXZfbmFtZSwgYnVmKTsNCiANCiAJ LyogR2V0IHJpZCBvZiBwb3NzaWJsZSB0cmFpbGluZyBuZXdsaW5lIGZyb20g ZWNobygxKSAqLw0KIAlsZW4gPSBzdHJubGVuKG50LT5ucC5kZXZfbmFtZSwg SUZOQU1TSVopOw0KQEAgLTYyOSw3ICs2MjksNyBAQCBzdGF0aWMgc3RydWN0 IGNvbmZpZ19pdGVtICptYWtlX25ldGNvbnNvDQogCQlyZXR1cm4gRVJSX1BU UigtRU5PTUVNKTsNCiANCiAJbnQtPm5wLm5hbWUgPSAibmV0Y29uc29sZSI7 DQotCXN0cmxjcHkobnQtPm5wLmRldl9uYW1lLCAiZXRoMCIsIElGTkFNU0la KTsNCisJc3RyYWNweShudC0+bnAuZGV2X25hbWUsICJldGgwIik7DQogCW50 LT5ucC5sb2NhbF9wb3J0ID0gNjY2NTsNCiAJbnQtPm5wLnJlbW90ZV9wb3J0 ID0gNjY2NjsNCiAJZXRoX2Jyb2FkY2FzdF9hZGRyKG50LT5ucC5yZW1vdGVf bWFjKTsNCkBAIC03MDcsNyArNzA3LDcgQEAgcmVzdGFydDoNCiAJCWlmIChu dC0+bnAuZGV2ID09IGRldikgew0KIAkJCXN3aXRjaCAoZXZlbnQpIHsNCiAJ CQljYXNlIE5FVERFVl9DSEFOR0VOQU1FOg0KLQkJCQlzdHJsY3B5KG50LT5u cC5kZXZfbmFtZSwgZGV2LT5uYW1lLCBJRk5BTVNJWik7DQorCQkJCXN0cmFj cHkobnQtPm5wLmRldl9uYW1lLCBkZXYtPm5hbWUpOw0KIAkJCQlicmVhazsN CiAJCQljYXNlIE5FVERFVl9SRUxFQVNFOg0KIAkJCWNhc2UgTkVUREVWX0pP SU46DQpkaWZmIC11IC1wIGEvZHJpdmVycy9zY3NpL3FsYTR4eHgvcWw0X29z LmMgYi9kcml2ZXJzL3Njc2kvcWxhNHh4eC9xbDRfb3MuYw0KLS0tIGEvZHJp dmVycy9zY3NpL3FsYTR4eHgvcWw0X29zLmMNCisrKyBiL2RyaXZlcnMvc2Nz aS9xbGE0eHh4L3FsNF9vcy5jDQpAQCAtNzY3LDEwICs3NjcsOCBAQCBzdGF0 aWMgaW50IHFsYTR4eHhfZ2V0X2NoYXBfbGlzdChzdHJ1Y3QNCiAJCQljb250 aW51ZTsNCiANCiAJCWNoYXBfcmVjLT5jaGFwX3RibF9pZHggPSBpOw0KLQkJ c3RybGNweShjaGFwX3JlYy0+dXNlcm5hbWUsIGNoYXBfdGFibGUtPm5hbWUs DQotCQkJSVNDU0lfQ0hBUF9BVVRIX05BTUVfTUFYX0xFTik7DQotCQlzdHJs Y3B5KGNoYXBfcmVjLT5wYXNzd29yZCwgY2hhcF90YWJsZS0+c2VjcmV0LA0K LQkJCVFMNF9DSEFQX01BWF9TRUNSRVRfTEVOKTsNCisJCXN0cmFjcHkoY2hh cF9yZWMtPnVzZXJuYW1lLCBjaGFwX3RhYmxlLT5uYW1lKTsNCisJCXN0cmFj cHkoY2hhcF9yZWMtPnBhc3N3b3JkLCBjaGFwX3RhYmxlLT5zZWNyZXQpOw0K IAkJY2hhcF9yZWMtPnBhc3N3b3JkX2xlbmd0aCA9IGNoYXBfdGFibGUtPnNl Y3JldF9sZW47DQogDQogCQlpZiAoY2hhcF90YWJsZS0+ZmxhZ3MgJiBCSVRf NykgLyogbG9jYWwgKi8NCkBAIC02MjY1LDggKzYyNjMsOCBAQCBzdGF0aWMg dm9pZCBxbGE0eHh4X2dldF9wYXJhbV9kZGIoc3RydWN0DQogDQogCXRkZGIt PnRwZ3QgPSBzZXNzLT50cGd0Ow0KIAl0ZGRiLT5wb3J0ID0gY29ubi0+cGVy c2lzdGVudF9wb3J0Ow0KLQlzdHJsY3B5KHRkZGItPmlzY3NpX25hbWUsIHNl c3MtPnRhcmdldG5hbWUsIElTQ1NJX05BTUVfU0laRSk7DQotCXN0cmxjcHko dGRkYi0+aXBfYWRkciwgY29ubi0+cGVyc2lzdGVudF9hZGRyZXNzLCBEREJf SVBBRERSX0xFTik7DQorCXN0cmFjcHkodGRkYi0+aXNjc2lfbmFtZSwgc2Vz cy0+dGFyZ2V0bmFtZSk7DQorCXN0cmFjcHkodGRkYi0+aXBfYWRkciwgY29u bi0+cGVyc2lzdGVudF9hZGRyZXNzKTsNCiB9DQogDQogc3RhdGljIHZvaWQg cWxhNHh4eF9jb252ZXJ0X3BhcmFtX2RkYihzdHJ1Y3QgZGV2X2RiX2VudHJ5 ICpmd19kZGJfZW50cnksDQpAQCAtNzc2OSw4ICs3NzY3LDcgQEAgc3RhdGlj IGludCBxbGE0eHh4X3N5c2ZzX2RkYl9sb2dvdXQoc3RydQ0KIAkJZ290byBl eGl0X2RkYl9sb2dvdXQ7DQogCX0NCiANCi0Jc3RybGNweShmbGFzaF90ZGRi LT5pc2NzaV9uYW1lLCBmbm9kZV9zZXNzLT50YXJnZXRuYW1lLA0KLQkJSVND U0lfTkFNRV9TSVpFKTsNCisJc3RyYWNweShmbGFzaF90ZGRiLT5pc2NzaV9u YW1lLCBmbm9kZV9zZXNzLT50YXJnZXRuYW1lKTsNCiANCiAJaWYgKCFzdHJu Y21wKGZub2RlX3Nlc3MtPnBvcnRhbF90eXBlLCBQT1JUQUxfVFlQRV9JUFY2 LCA0KSkNCiAJCXNwcmludGYoZmxhc2hfdGRkYi0+aXBfYWRkciwgIiVwSTYi LCBmbm9kZV9jb25uLT5pcGFkZHJlc3MpOw0KZGlmZiAtdSAtcCBhL3Rvb2xz L3BlcmYvdXRpbC9tYWNoaW5lLmMgYi90b29scy9wZXJmL3V0aWwvbWFjaGlu ZS5jDQotLS0gYS90b29scy9wZXJmL3V0aWwvbWFjaGluZS5jDQorKysgYi90 b29scy9wZXJmL3V0aWwvbWFjaGluZS5jDQpAQCAtOTg4LDcgKzk4OCw3IEBA IGludCBtYWNoaW5lX19jcmVhdGVfZXh0cmFfa2VybmVsX21hcChzdHINCiAJ a21hcCA9IG1hcF9fa21hcChtYXApOw0KIA0KIAlrbWFwLT5rbWFwcyA9ICZt YWNoaW5lLT5rbWFwczsNCi0Jc3RybGNweShrbWFwLT5uYW1lLCB4bS0+bmFt ZSwgS01BUF9OQU1FX0xFTik7DQorCXN0cmFjcHkoa21hcC0+bmFtZSwgeG0t Pm5hbWUpOw0KIA0KIAltYXBfZ3JvdXBzX19pbnNlcnQoJm1hY2hpbmUtPmtt YXBzLCBtYXApOw0KIA0KQEAgLTEwNzgsNyArMTA3OCw3IEBAIGludCBtYWNo aW5lX19tYXBfeDg2XzY0X2VudHJ5X3RyYW1wb2xpbmUNCiAJCQkucGdvZmYg PSBwZ29mZiwNCiAJCX07DQogDQotCQlzdHJsY3B5KHhtLm5hbWUsIEVOVFJZ X1RSQU1QT0xJTkVfTkFNRSwgS01BUF9OQU1FX0xFTik7DQorCQlzdHJhY3B5 KHhtLm5hbWUsIEVOVFJZX1RSQU1QT0xJTkVfTkFNRSk7DQogDQogCQlpZiAo bWFjaGluZV9fY3JlYXRlX2V4dHJhX2tlcm5lbF9tYXAobWFjaGluZSwga2Vy bmVsLCAmeG0pIDwgMCkNCiAJCQlyZXR1cm4gLTE7DQpAQCAtMTU0Miw3ICsx NTQyLDcgQEAgc3RhdGljIGludCBtYWNoaW5lX19wcm9jZXNzX2V4dHJhX2tl cm5lbA0KIAlpZiAoa2VybmVsID09IE5VTEwpDQogCQlyZXR1cm4gLTE7DQog DQotCXN0cmxjcHkoeG0ubmFtZSwgZXZlbnQtPm1tYXAuZmlsZW5hbWUsIEtN QVBfTkFNRV9MRU4pOw0KKwlzdHJhY3B5KHhtLm5hbWUsIGV2ZW50LT5tbWFw LmZpbGVuYW1lKTsNCiANCiAJcmV0dXJuIG1hY2hpbmVfX2NyZWF0ZV9leHRy YV9rZXJuZWxfbWFwKG1hY2hpbmUsIGtlcm5lbCwgJnhtKTsNCiB9DQpkaWZm IC11IC1wIGEvYXJjaC9taXBzL2JjbTQ3eHgvYm9hcmQuYyBiL2FyY2gvbWlw cy9iY200N3h4L2JvYXJkLmMNCi0tLSBhL2FyY2gvbWlwcy9iY200N3h4L2Jv YXJkLmMNCisrKyBiL2FyY2gvbWlwcy9iY200N3h4L2JvYXJkLmMNCkBAIC0z NDQsOCArMzQ0LDcgQEAgdm9pZCBfX2luaXQgYmNtNDd4eF9ib2FyZF9kZXRl Y3Qodm9pZCkNCiANCiAJYm9hcmRfZGV0ZWN0ZWQgPSBiY200N3h4X2JvYXJk X2dldF9udnJhbSgpOw0KIAliY200N3h4X2JvYXJkLmJvYXJkID0gYm9hcmRf ZGV0ZWN0ZWQtPmJvYXJkOw0KLQlzdHJsY3B5KGJjbTQ3eHhfYm9hcmQubmFt ZSwgYm9hcmRfZGV0ZWN0ZWQtPm5hbWUsDQotCQlCQ000N1hYX0JPQVJEX01B WF9OQU1FKTsNCisJc3RyYWNweShiY200N3h4X2JvYXJkLm5hbWUsIGJvYXJk X2RldGVjdGVkLT5uYW1lKTsNCiB9DQogDQogZW51bSBiY200N3h4X2JvYXJk IGJjbTQ3eHhfYm9hcmRfZ2V0KHZvaWQpDQpkaWZmIC11IC1wIGEvZHJpdmVy cy9od21vbi9hZG0xMDMxLmMgYi9kcml2ZXJzL2h3bW9uL2FkbTEwMzEuYw0K LS0tIGEvZHJpdmVycy9od21vbi9hZG0xMDMxLmMNCisrKyBiL2RyaXZlcnMv aHdtb24vYWRtMTAzMS5jDQpAQCAtOTg2LDcgKzk4Niw3IEBAIHN0YXRpYyBp bnQgYWRtMTAzMV9kZXRlY3Qoc3RydWN0IGkyY19jbGkNCiAJCXJldHVybiAt RU5PREVWOw0KIAluYW1lID0gKGlkID09IDB4MzApID8gImFkbTEwMzAiIDog ImFkbTEwMzEiOw0KIA0KLQlzdHJsY3B5KGluZm8tPnR5cGUsIG5hbWUsIEky Q19OQU1FX1NJWkUpOw0KKwlzdHJhY3B5KGluZm8tPnR5cGUsIG5hbWUpOw0K IA0KIAlyZXR1cm4gMDsNCiB9DQpkaWZmIC11IC1wIGEvZHJpdmVycy9od21v bi93ODM3ODFkLmMgYi9kcml2ZXJzL2h3bW9uL3c4Mzc4MWQuYw0KLS0tIGEv ZHJpdmVycy9od21vbi93ODM3ODFkLmMNCisrKyBiL2RyaXZlcnMvaHdtb24v dzgzNzgxZC5jDQpAQCAtMTE3MSw3ICsxMTcxLDcgQEAgdzgzNzgxZF9kZXRl Y3Qoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudA0KIAlpZiAoaXNhKQ0KIAkJ bXV0ZXhfdW5sb2NrKCZpc2EtPnVwZGF0ZV9sb2NrKTsNCiANCi0Jc3RybGNw eShpbmZvLT50eXBlLCBjbGllbnRfbmFtZSwgSTJDX05BTUVfU0laRSk7DQor CXN0cmFjcHkoaW5mby0+dHlwZSwgY2xpZW50X25hbWUpOw0KIA0KIAlyZXR1 cm4gMDsNCiANCmRpZmYgLXUgLXAgYS9kcml2ZXJzL3MzOTAvYmxvY2svZGFz ZF9lZXIuYyBiL2RyaXZlcnMvczM5MC9ibG9jay9kYXNkX2Vlci5jDQotLS0g YS9kcml2ZXJzL3MzOTAvYmxvY2svZGFzZF9lZXIuYw0KKysrIGIvZHJpdmVy cy9zMzkwL2Jsb2NrL2Rhc2RfZWVyLmMNCkBAIC0zMTMsOCArMzEzLDcgQEAg c3RhdGljIHZvaWQgZGFzZF9lZXJfd3JpdGVfc3RhbmRhcmRfdHJpZw0KIAlr dGltZV9nZXRfcmVhbF90czY0KCZ0cyk7DQogCWhlYWRlci50dl9zZWMgPSB0 cy50dl9zZWM7DQogCWhlYWRlci50dl91c2VjID0gdHMudHZfbnNlYyAvIE5T RUNfUEVSX1VTRUM7DQotCXN0cmxjcHkoaGVhZGVyLmJ1c2lkLCBkZXZfbmFt ZSgmZGV2aWNlLT5jZGV2LT5kZXYpLA0KLQkJREFTRF9FRVJfQlVTSURfU0la RSk7DQorCXN0cmFjcHkoaGVhZGVyLmJ1c2lkLCBkZXZfbmFtZSgmZGV2aWNl LT5jZGV2LT5kZXYpKTsNCiANCiAJc3Bpbl9sb2NrX2lycXNhdmUoJmJ1ZmZl cmxvY2ssIGZsYWdzKTsNCiAJbGlzdF9mb3JfZWFjaF9lbnRyeShlZXJiLCAm YnVmZmVybGlzdCwgbGlzdCkgew0KQEAgLTM1Niw4ICszNTUsNyBAQCBzdGF0 aWMgdm9pZCBkYXNkX2Vlcl93cml0ZV9zbnNzX3RyaWdnZXIoDQogCWt0aW1l X2dldF9yZWFsX3RzNjQoJnRzKTsNCiAJaGVhZGVyLnR2X3NlYyA9IHRzLnR2 X3NlYzsNCiAJaGVhZGVyLnR2X3VzZWMgPSB0cy50dl9uc2VjIC8gTlNFQ19Q RVJfVVNFQzsNCi0Jc3RybGNweShoZWFkZXIuYnVzaWQsIGRldl9uYW1lKCZk ZXZpY2UtPmNkZXYtPmRldiksDQotCQlEQVNEX0VFUl9CVVNJRF9TSVpFKTsN CisJc3RyYWNweShoZWFkZXIuYnVzaWQsIGRldl9uYW1lKCZkZXZpY2UtPmNk ZXYtPmRldikpOw0KIA0KIAlzcGluX2xvY2tfaXJxc2F2ZSgmYnVmZmVybG9j aywgZmxhZ3MpOw0KIAlsaXN0X2Zvcl9lYWNoX2VudHJ5KGVlcmIsICZidWZm ZXJsaXN0LCBsaXN0KSB7DQpkaWZmIC11IC1wIGEvZHJpdmVycy9maXJtd2Fy ZS9hcm1fc2NtaS9zZW5zb3JzLmMgYi9kcml2ZXJzL2Zpcm13YXJlL2FybV9z Y21pL3NlbnNvcnMuYw0KLS0tIGEvZHJpdmVycy9maXJtd2FyZS9hcm1fc2Nt aS9zZW5zb3JzLmMNCisrKyBiL2RyaXZlcnMvZmlybXdhcmUvYXJtX3NjbWkv c2Vuc29ycy5jDQpAQCAtMTQ2LDcgKzE0Niw3IEBAIHN0YXRpYyBpbnQgc2Nt aV9zZW5zb3JfZGVzY3JpcHRpb25fZ2V0KGMNCiAJCQkvKiBTaWduIGV4dGVu ZCB0byBhIGZ1bGwgczggKi8NCiAJCQlpZiAocy0+c2NhbGUgJiBTRU5TT1Jf U0NBTEVfU0lHTikNCiAJCQkJcy0+c2NhbGUgfD0gU0VOU09SX1NDQUxFX0VY VEVORDsNCi0JCQlzdHJsY3B5KHMtPm5hbWUsIGJ1Zi0+ZGVzY1tjbnRdLm5h bWUsIFNDTUlfTUFYX1NUUl9TSVpFKTsNCisJCQlzdHJhY3B5KHMtPm5hbWUs IGJ1Zi0+ZGVzY1tjbnRdLm5hbWUpOw0KIAkJfQ0KIA0KIAkJZGVzY19pbmRl eCArPSBudW1fcmV0dXJuZWQ7DQpkaWZmIC11IC1wIGEvZHJpdmVycy9od21v bi9hZHQ3NDc1LmMgYi9kcml2ZXJzL2h3bW9uL2FkdDc0NzUuYw0KLS0tIGEv ZHJpdmVycy9od21vbi9hZHQ3NDc1LmMNCisrKyBiL2RyaXZlcnMvaHdtb24v YWR0NzQ3NS5jDQpAQCAtMTMzNyw3ICsxMzM3LDcgQEAgc3RhdGljIGludCBh ZHQ3NDc1X2RldGVjdChzdHJ1Y3QgaTJjX2NsaQ0KIAkJcmV0dXJuIC1FTk9E RVY7DQogCX0NCiANCi0Jc3RybGNweShpbmZvLT50eXBlLCBuYW1lLCBJMkNf TkFNRV9TSVpFKTsNCisJc3RyYWNweShpbmZvLT50eXBlLCBuYW1lKTsNCiAN CiAJcmV0dXJuIDA7DQogfQ0KZGlmZiAtdSAtcCBhL2RyaXZlcnMvaHdtb24v dzgzbDc4NXRzLmMgYi9kcml2ZXJzL2h3bW9uL3c4M2w3ODV0cy5jDQotLS0g YS9kcml2ZXJzL2h3bW9uL3c4M2w3ODV0cy5jDQorKysgYi9kcml2ZXJzL2h3 bW9uL3c4M2w3ODV0cy5jDQpAQCAtMTU4LDcgKzE1OCw3IEBAIHN0YXRpYyBp bnQgdzgzbDc4NXRzX2RldGVjdChzdHJ1Y3QgaTJjX2MNCiAJCXJldHVybiAt RU5PREVWOw0KIAl9DQogDQotCXN0cmxjcHkoaW5mby0+dHlwZSwgInc4M2w3 ODV0cyIsIEkyQ19OQU1FX1NJWkUpOw0KKwlzdHJhY3B5KGluZm8tPnR5cGUs ICJ3ODNsNzg1dHMiKTsNCiANCiAJcmV0dXJuIDA7DQogfQ0KZGlmZiAtdSAt cCBhL2RyaXZlcnMvbWVkaWEvZHZiLWNvcmUvZHZiZGV2LmMgYi9kcml2ZXJz L21lZGlhL2R2Yi1jb3JlL2R2YmRldi5jDQotLS0gYS9kcml2ZXJzL21lZGlh L2R2Yi1jb3JlL2R2YmRldi5jDQorKysgYi9kcml2ZXJzL21lZGlhL2R2Yi1j b3JlL2R2YmRldi5jDQpAQCAtOTc1LDkgKzk3NSw5IEBAIHN0cnVjdCBpMmNf Y2xpZW50ICpkdmJfbW9kdWxlX3Byb2JlKGNvbnMNCiAJCXJldHVybiBOVUxM Ow0KIA0KIAlpZiAobmFtZSkNCi0JCXN0cnNjcHkoYm9hcmRfaW5mby0+dHlw ZSwgbmFtZSwgSTJDX05BTUVfU0laRSk7DQorCQlzdHJhY3B5KGJvYXJkX2lu Zm8tPnR5cGUsIG5hbWUpOw0KIAllbHNlDQotCQlzdHJzY3B5KGJvYXJkX2lu Zm8tPnR5cGUsIG1vZHVsZV9uYW1lLCBJMkNfTkFNRV9TSVpFKTsNCisJCXN0 cmFjcHkoYm9hcmRfaW5mby0+dHlwZSwgbW9kdWxlX25hbWUpOw0KIA0KIAli b2FyZF9pbmZvLT5hZGRyID0gYWRkcjsNCiAJYm9hcmRfaW5mby0+cGxhdGZv cm1fZGF0YSA9IHBsYXRmb3JtX2RhdGE7DQpkaWZmIC11IC1wIGEvZHJpdmVy cy9zY3NpL3FlZGkvcWVkaV9tYWluLmMgYi9kcml2ZXJzL3Njc2kvcWVkaS9x ZWRpX21haW4uYw0KLS0tIGEvZHJpdmVycy9zY3NpL3FlZGkvcWVkaV9tYWlu LmMNCisrKyBiL2RyaXZlcnMvc2NzaS9xZWRpL3FlZGlfbWFpbi5jDQpAQCAt MjQ2MCw3ICsyNDYwLDcgQEAgc3RhdGljIGludCBfX3FlZGlfcHJvYmUoc3Ry dWN0IHBjaV9kZXYgKg0KIAlzcF9wYXJhbXMuZHJ2X21pbm9yID0gUUVESV9E UklWRVJfTUlOT1JfVkVSOw0KIAlzcF9wYXJhbXMuZHJ2X3JldiA9IFFFRElf RFJJVkVSX1JFVl9WRVI7DQogCXNwX3BhcmFtcy5kcnZfZW5nID0gUUVESV9E UklWRVJfRU5HX1ZFUjsNCi0Jc3RybGNweShzcF9wYXJhbXMubmFtZSwgInFl ZGkgaVNDU0kiLCBRRURfRFJWX1ZFUl9TVFJfU0laRSk7DQorCXN0cmFjcHko c3BfcGFyYW1zLm5hbWUsICJxZWRpIGlTQ1NJIik7DQogCXJjID0gcWVkaV9v cHMtPmNvbW1vbi0+c2xvd3BhdGhfc3RhcnQocWVkaS0+Y2RldiwgJnNwX3Bh cmFtcyk7DQogCWlmIChyYykgew0KIAkJUUVESV9FUlIoJnFlZGktPmRiZ19j dHgsICJDYW5ub3Qgc3RhcnQgc2xvd3BhdGhcbiIpOw0KZGlmZiAtdSAtcCBh L2tlcm5lbC9yZWxheS5jIGIva2VybmVsL3JlbGF5LmMNCi0tLSBhL2tlcm5l bC9yZWxheS5jDQorKysgYi9rZXJuZWwvcmVsYXkuYw0KQEAgLTU4OSw3ICs1 ODksNyBAQCBzdHJ1Y3QgcmNoYW4gKnJlbGF5X29wZW4oY29uc3QgY2hhciAq YmFzDQogCWNoYW4tPnByaXZhdGVfZGF0YSA9IHByaXZhdGVfZGF0YTsNCiAJ aWYgKGJhc2VfZmlsZW5hbWUpIHsNCiAJCWNoYW4tPmhhc19iYXNlX2ZpbGVu YW1lID0gMTsNCi0JCXN0cmxjcHkoY2hhbi0+YmFzZV9maWxlbmFtZSwgYmFz ZV9maWxlbmFtZSwgTkFNRV9NQVgpOw0KKwkJc3RyYWNweShjaGFuLT5iYXNl X2ZpbGVuYW1lLCBiYXNlX2ZpbGVuYW1lKTsNCiAJfQ0KIAlzZXR1cF9jYWxs YmFja3MoY2hhbiwgY2IpOw0KIAlrcmVmX2luaXQoJmNoYW4tPmtyZWYpOw0K QEAgLTY2MCw3ICs2NjAsNyBAQCBpbnQgcmVsYXlfbGF0ZV9zZXR1cF9maWxl cyhzdHJ1Y3QgcmNoYW4NCiAJaWYgKCFjaGFuIHx8ICFiYXNlX2ZpbGVuYW1l KQ0KIAkJcmV0dXJuIC1FSU5WQUw7DQogDQotCXN0cmxjcHkoY2hhbi0+YmFz ZV9maWxlbmFtZSwgYmFzZV9maWxlbmFtZSwgTkFNRV9NQVgpOw0KKwlzdHJh Y3B5KGNoYW4tPmJhc2VfZmlsZW5hbWUsIGJhc2VfZmlsZW5hbWUpOw0KIA0K IAltdXRleF9sb2NrKCZyZWxheV9jaGFubmVsc19tdXRleCk7DQogCS8qIElz IGNoYW4gYWxyZWFkeSBzZXQgdXA/ICovDQpkaWZmIC11IC1wIGEvZHJpdmVy cy9od21vbi9hZHQ3NDYyLmMgYi9kcml2ZXJzL2h3bW9uL2FkdDc0NjIuYw0K LS0tIGEvZHJpdmVycy9od21vbi9hZHQ3NDYyLmMNCisrKyBiL2RyaXZlcnMv aHdtb24vYWR0NzQ2Mi5jDQpAQCAtMTc4Miw3ICsxNzgyLDcgQEAgc3RhdGlj IGludCBhZHQ3NDYyX2RldGVjdChzdHJ1Y3QgaTJjX2NsaQ0KIAlpZiAocmV2 aXNpb24gIT0gQURUNzQ2Ml9SRVZJU0lPTikNCiAJCXJldHVybiAtRU5PREVW Ow0KIA0KLQlzdHJsY3B5KGluZm8tPnR5cGUsICJhZHQ3NDYyIiwgSTJDX05B TUVfU0laRSk7DQorCXN0cmFjcHkoaW5mby0+dHlwZSwgImFkdDc0NjIiKTsN CiANCiAJcmV0dXJuIDA7DQogfQ0KZGlmZiAtdSAtcCBhL2RyaXZlcnMvaHdt b24vdzgzNzk1LmMgYi9kcml2ZXJzL2h3bW9uL3c4Mzc5NS5jDQotLS0gYS9k cml2ZXJzL2h3bW9uL3c4Mzc5NS5jDQorKysgYi9kcml2ZXJzL2h3bW9uL3c4 Mzc5NS5jDQpAQCAtMTk2Nyw3ICsxOTY3LDcgQEAgc3RhdGljIGludCB3ODM3 OTVfZGV0ZWN0KHN0cnVjdCBpMmNfY2xpZQ0KIAllbHNlDQogCQljaGlwX25h bWUgPSAidzgzNzk1ZyI7DQogDQotCXN0cmxjcHkoaW5mby0+dHlwZSwgY2hp cF9uYW1lLCBJMkNfTkFNRV9TSVpFKTsNCisJc3RyYWNweShpbmZvLT50eXBl LCBjaGlwX25hbWUpOw0KIAlkZXZfaW5mbygmYWRhcHRlci0+ZGV2LCAiRm91 bmQgJXMgcmV2LiAlYyBhdCAweCUwMmh4XG4iLCBjaGlwX25hbWUsDQogCQkg J0EnICsgKGRldmljZV9pZCAmIDB4ZiksIGFkZHJlc3MpOw0KIA0KZGlmZiAt dSAtcCBhL2RyaXZlcnMvczM5MC9jaGFyL2htY2Rydl9jYWNoZS5jIGIvZHJp dmVycy9zMzkwL2NoYXIvaG1jZHJ2X2NhY2hlLmMNCi0tLSBhL2RyaXZlcnMv czM5MC9jaGFyL2htY2Rydl9jYWNoZS5jDQorKysgYi9kcml2ZXJzL3MzOTAv Y2hhci9obWNkcnZfY2FjaGUuYw0KQEAgLTE1NCw4ICsxNTQsNyBAQCBzdGF0 aWMgc3NpemVfdCBobWNkcnZfY2FjaGVfZG8oY29uc3Qgc3RyDQogCQkvKiBj YWNoZSBzb21lIGZpbGUgaW5mbyAoRlRQIGNvbW1hbmQsIGZpbGUgbmFtZSBh bmQgZmlsZQ0KIAkJICogc2l6ZSkgdW5jb25kaXRpb25hbGx5DQogCQkgKi8N Ci0JCXN0cmxjcHkoaG1jZHJ2X2NhY2hlX2ZpbGUuZm5hbWUsIGZ0cC0+Zm5h bWUsDQotCQkJSE1DRFJWX0ZUUF9GSURFTlRfTUFYKTsNCisJCXN0cmFjcHko aG1jZHJ2X2NhY2hlX2ZpbGUuZm5hbWUsIGZ0cC0+Zm5hbWUpOw0KIAkJaG1j ZHJ2X2NhY2hlX2ZpbGUuaWQgPSBmdHAtPmlkOw0KIAkJcHJfZGVidWcoImNh Y2hpbmcgY21kICVkLCBmaWxlIHNpemUgJXp1IGZvciAnJXMnXG4iLA0KIAkJ CSBmdHAtPmlkLCBobWNkcnZfY2FjaGVfZmlsZS5mc2l6ZSwgZnRwLT5mbmFt ZSk7DQpkaWZmIC11IC1wIGEvZHJpdmVycy9zb2MvcWNvbS9hcHIuYyBiL2Ry aXZlcnMvc29jL3Fjb20vYXByLmMNCi0tLSBhL2RyaXZlcnMvc29jL3Fjb20v YXByLmMNCisrKyBiL2RyaXZlcnMvc29jL3Fjb20vYXByLmMNCkBAIC0yNzMs NyArMjczLDcgQEAgc3RhdGljIGludCBhcHJfYWRkX2RldmljZShzdHJ1Y3Qg ZGV2aWNlDQogCWlmIChucCkNCiAJCXNucHJpbnRmKGFkZXYtPm5hbWUsIEFQ Ul9OQU1FX1NJWkUsICIlcE9GbiIsIG5wKTsNCiAJZWxzZQ0KLQkJc3Ryc2Nw eShhZGV2LT5uYW1lLCBpZC0+bmFtZSwgQVBSX05BTUVfU0laRSk7DQorCQlz dHJhY3B5KGFkZXYtPm5hbWUsIGlkLT5uYW1lKTsNCiANCiAJZGV2X3NldF9u YW1lKCZhZGV2LT5kZXYsICJhcHJzdmM6JXM6JXg6JXgiLCBhZGV2LT5uYW1l LA0KIAkJICAgICBpZC0+ZG9tYWluX2lkLCBpZC0+c3ZjX2lkKTsNCmRpZmYg LXUgLXAgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvYW1kZ3B1X2Rt L2FtZGdwdV9kbS5jIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2Ft ZGdwdV9kbS9hbWRncHVfZG0uYw0KLS0tIGEvZHJpdmVycy9ncHUvZHJtL2Ft ZC9kaXNwbGF5L2FtZGdwdV9kbS9hbWRncHVfZG0uYw0KKysrIGIvZHJpdmVy cy9ncHUvZHJtL2FtZC9kaXNwbGF5L2FtZGdwdV9kbS9hbWRncHVfZG0uYw0K QEAgLTMzNDYsOSArMzM0Niw4IEBAIHN0YXRpYyB2b2lkIGZpbGxfYXVkaW9f aW5mbyhzdHJ1Y3QgYXVkaW8NCiANCiAJY2VhX3JldmlzaW9uID0gZHJtX2Nv bm5lY3Rvci0+ZGlzcGxheV9pbmZvLmNlYV9yZXY7DQogDQotCXN0cnNjcHko YXVkaW9faW5mby0+ZGlzcGxheV9uYW1lLA0KLQkJZWRpZF9jYXBzLT5kaXNw bGF5X25hbWUsDQotCQlBVURJT19JTkZPX0RJU1BMQVlfTkFNRV9TSVpFX0lO X0NIQVJTKTsNCisJc3RyYWNweShhdWRpb19pbmZvLT5kaXNwbGF5X25hbWUs DQorCQllZGlkX2NhcHMtPmRpc3BsYXlfbmFtZSk7DQogDQogCWlmIChjZWFf cmV2aXNpb24gPj0gMykgew0KIAkJYXVkaW9faW5mby0+bW9kZV9jb3VudCA9 IGVkaWRfY2Fwcy0+YXVkaW9fbW9kZV9jb3VudDsNCkBAIC00ODUwLDcgKzQ4 NDksNyBAQCBhbWRncHVfZG1fY3JlYXRlX2NvbW1vbl9tb2RlKHN0cnVjdCBk cm1fDQogCW1vZGUtPmhkaXNwbGF5ID0gaGRpc3BsYXk7DQogCW1vZGUtPnZk aXNwbGF5ID0gdmRpc3BsYXk7DQogCW1vZGUtPnR5cGUgJj0gfkRSTV9NT0RF X1RZUEVfUFJFRkVSUkVEOw0KLQlzdHJzY3B5KG1vZGUtPm5hbWUsIG5hbWUs IERSTV9ESVNQTEFZX01PREVfTEVOKTsNCisJc3RyYWNweShtb2RlLT5uYW1l LCBuYW1lKTsNCiANCiAJcmV0dXJuIG1vZGU7DQogDQpkaWZmIC11IC1wIGEv ZHJpdmVycy9tZWRpYS91c2IvY3gyMzF4eC9jeDIzMXh4LWlucHV0LmMgYi9k cml2ZXJzL21lZGlhL3VzYi9jeDIzMXh4L2N4MjMxeHgtaW5wdXQuYw0KLS0t IGEvZHJpdmVycy9tZWRpYS91c2IvY3gyMzF4eC9jeDIzMXh4LWlucHV0LmMN CisrKyBiL2RyaXZlcnMvbWVkaWEvdXNiL2N4MjMxeHgvY3gyMzF4eC1pbnB1 dC5jDQpAQCAtNjcsNyArNjcsNyBAQCBpbnQgY3gyMzF4eF9pcl9pbml0KHN0 cnVjdCBjeDIzMXh4ICpkZXYpDQogDQogCWRldi0+aW5pdF9kYXRhLm5hbWUg PSBjeDIzMXh4X2JvYXJkc1tkZXYtPm1vZGVsXS5uYW1lOw0KIA0KLQlzdHJz Y3B5KGluZm8udHlwZSwgImlyX3ZpZGVvIiwgSTJDX05BTUVfU0laRSk7DQor CXN0cmFjcHkoaW5mby50eXBlLCAiaXJfdmlkZW8iKTsNCiAJaW5mby5wbGF0 Zm9ybV9kYXRhID0gJmRldi0+aW5pdF9kYXRhOw0KIA0KIAkvKg0KZGlmZiAt dSAtcCBhL2RyaXZlcnMvdGFyZ2V0L3RhcmdldF9jb3JlX2NvbmZpZ2ZzLmMg Yi9kcml2ZXJzL3RhcmdldC90YXJnZXRfY29yZV9jb25maWdmcy5jDQotLS0g YS9kcml2ZXJzL3RhcmdldC90YXJnZXRfY29yZV9jb25maWdmcy5jDQorKysg Yi9kcml2ZXJzL3RhcmdldC90YXJnZXRfY29yZV9jb25maWdmcy5jDQpAQCAt NjE4LDcgKzYxOCw3IEBAIHN0YXRpYyB2b2lkIGRldl9zZXRfdDEwX3d3bl9t b2RlbF9hbGlhcygNCiAJICogaGVyZSB3aXRob3V0IHBvdGVudGlhbGx5IGJy ZWFraW5nIGV4aXN0aW5nIHNldHVwcywgc28gY29udGludWUgdG8NCiAJICog dHJ1bmNhdGUgb25lIGJ5dGUgc2hvcnRlciB0aGFuIHdoYXQgY2FuIGJlIGNh cnJpZWQgaW4gSU5RVUlSWS4NCiAJICovDQotCXN0cmxjcHkoZGV2LT50MTBf d3duLm1vZGVsLCBjb25maWduYW1lLCBJTlFVSVJZX01PREVMX0xFTik7DQor CXN0cmFjcHkoZGV2LT50MTBfd3duLm1vZGVsLCBjb25maWduYW1lKTsNCiB9 DQogDQogc3RhdGljIHNzaXplX3QgZW11bGF0ZV9tb2RlbF9hbGlhc19zdG9y ZShzdHJ1Y3QgY29uZmlnX2l0ZW0gKml0ZW0sDQpkaWZmIC11IC1wIGEvZHJp dmVycy9od21vbi9sbTk1MjQ1LmMgYi9kcml2ZXJzL2h3bW9uL2xtOTUyNDUu Yw0KLS0tIGEvZHJpdmVycy9od21vbi9sbTk1MjQ1LmMNCisrKyBiL2RyaXZl cnMvaHdtb24vbG05NTI0NS5jDQpAQCAtNDYxLDcgKzQ2MSw3IEBAIHN0YXRp YyBpbnQgbG05NTI0NV9kZXRlY3Qoc3RydWN0IGkyY19jbGkNCiAJCXJldHVy biAtRU5PREVWOw0KIAl9DQogDQotCXN0cmxjcHkoaW5mby0+dHlwZSwgbmFt ZSwgSTJDX05BTUVfU0laRSk7DQorCXN0cmFjcHkoaW5mby0+dHlwZSwgbmFt ZSk7DQogCXJldHVybiAwOw0KIH0NCiANCmRpZmYgLXUgLXAgYS9kcml2ZXJz L3Njc2kvYmZhL2JmYV9mY3NfbHBvcnQuYyBiL2RyaXZlcnMvc2NzaS9iZmEv YmZhX2Zjc19scG9ydC5jDQotLS0gYS9kcml2ZXJzL3Njc2kvYmZhL2JmYV9m Y3NfbHBvcnQuYw0KKysrIGIvZHJpdmVycy9zY3NpL2JmYS9iZmFfZmNzX2xw b3J0LmMNCkBAIC0yNjU1LDEzICsyNjU1LDEzIEBAIGJmYV9mY3NfZmRtaV9n ZXRfaGJhYXR0cihzdHJ1Y3QgYmZhX2Zjc18NCiAJYmZhX2Zjc19mZG1pX2dl dF9wb3J0YXR0cihmZG1pLCAmZmNzX3BvcnRfYXR0cik7DQogCWhiYV9hdHRy LT5tYXhfY3RfcHlsZCA9IGZjc19wb3J0X2F0dHIubWF4X2ZybV9zaXplOw0K IA0KLQlzdHJsY3B5KGhiYV9hdHRyLT5ub2RlX3N5bV9uYW1lLnN5bW5hbWUs DQotCQlwb3J0LT5wb3J0X2NmZy5ub2RlX3N5bV9uYW1lLnN5bW5hbWUsIEJG QV9TWU1OQU1FX01BWExFTik7DQorCXN0cmFjcHkoaGJhX2F0dHItPm5vZGVf c3ltX25hbWUuc3ltbmFtZSwNCisJCXBvcnQtPnBvcnRfY2ZnLm5vZGVfc3lt X25hbWUuc3ltbmFtZSk7DQogCXN0cmNweShoYmFfYXR0ci0+dmVuZG9yX2lu Zm8sICJRTG9naWMiKTsNCiAJaGJhX2F0dHItPm51bV9wb3J0cyA9DQogCQlj cHVfdG9fYmUzMihiZmFfaW9jX2dldF9ucG9ydHMoJnBvcnQtPmZjcy0+YmZh LT5pb2MpKTsNCiAJaGJhX2F0dHItPmZhYnJpY19uYW1lID0gcG9ydC0+ZmFi cmljLT5scHMtPnByX253d247DQotCXN0cmxjcHkoaGJhX2F0dHItPmJpb3Nf dmVyLCBoYmFfYXR0ci0+b3B0aW9uX3JvbV92ZXIsIEJGQV9WRVJTSU9OX0xF Tik7DQorCXN0cmFjcHkoaGJhX2F0dHItPmJpb3NfdmVyLCBoYmFfYXR0ci0+ b3B0aW9uX3JvbV92ZXIpOw0KIA0KIH0NCiANCkBAIC0yNzQwLDggKzI3NDAs OCBAQCBiZmFfZmNzX2ZkbWlfZ2V0X3BvcnRhdHRyKHN0cnVjdCBiZmFfZmNz DQogCXBvcnRfYXR0ci0+bm9kZV9uYW1lID0gYmZhX2Zjc19scG9ydF9nZXRf bnd3bihwb3J0KTsNCiAJcG9ydF9hdHRyLT5wb3J0X25hbWUgPSBiZmFfZmNz X2xwb3J0X2dldF9wd3duKHBvcnQpOw0KIA0KLQlzdHJsY3B5KHBvcnRfYXR0 ci0+cG9ydF9zeW1fbmFtZS5zeW1uYW1lLA0KLQkJYmZhX2Zjc19scG9ydF9n ZXRfcHN5bV9uYW1lKHBvcnQpLnN5bW5hbWUsIEJGQV9TWU1OQU1FX01BWExF Tik7DQorCXN0cmFjcHkocG9ydF9hdHRyLT5wb3J0X3N5bV9uYW1lLnN5bW5h bWUsDQorCQliZmFfZmNzX2xwb3J0X2dldF9wc3ltX25hbWUocG9ydCkuc3lt bmFtZSk7DQogCWJmYV9mY3NfbHBvcnRfZ2V0X2F0dHIocG9ydCwgJmxwb3J0 X2F0dHIpOw0KIAlwb3J0X2F0dHItPnBvcnRfdHlwZSA9IGNwdV90b19iZTMy KGxwb3J0X2F0dHIucG9ydF90eXBlKTsNCiAJcG9ydF9hdHRyLT5zY29zID0g cHBvcnRfYXR0ci5jb3Nfc3VwcG9ydGVkOw0KZGlmZiAtdSAtcCBhL25ldC9i cmlkZ2UvYnJfc3lzZnNfaWYuYyBiL25ldC9icmlkZ2UvYnJfc3lzZnNfaWYu Yw0KLS0tIGEvbmV0L2JyaWRnZS9icl9zeXNmc19pZi5jDQorKysgYi9uZXQv YnJpZGdlL2JyX3N5c2ZzX2lmLmMNCkBAIC0zNzQsNyArMzc0LDcgQEAgaW50 IGJyX3N5c2ZzX2FkZGlmKHN0cnVjdCBuZXRfYnJpZGdlX3Bvcg0KIAkJCXJl dHVybiBlcnI7DQogCX0NCiANCi0Jc3RybGNweShwLT5zeXNmc19uYW1lLCBw LT5kZXYtPm5hbWUsIElGTkFNU0laKTsNCisJc3RyYWNweShwLT5zeXNmc19u YW1lLCBwLT5kZXYtPm5hbWUpOw0KIAlyZXR1cm4gc3lzZnNfY3JlYXRlX2xp bmsoYnItPmlmb2JqLCAmcC0+a29iaiwgcC0+c3lzZnNfbmFtZSk7DQogfQ0K IA0KQEAgLTM5Niw3ICszOTYsNyBAQCBpbnQgYnJfc3lzZnNfcmVuYW1laWYo c3RydWN0IG5ldF9icmlkZ2VfDQogCQluZXRkZXZfbm90aWNlKGJyLT5kZXYs ICJ1bmFibGUgdG8gcmVuYW1lIGxpbmsgJXMgdG8gJXMiLA0KIAkJCSAgICAg IHAtPnN5c2ZzX25hbWUsIHAtPmRldi0+bmFtZSk7DQogCWVsc2UNCi0JCXN0 cmxjcHkocC0+c3lzZnNfbmFtZSwgcC0+ZGV2LT5uYW1lLCBJRk5BTVNJWik7 DQorCQlzdHJhY3B5KHAtPnN5c2ZzX25hbWUsIHAtPmRldi0+bmFtZSk7DQog DQogCXJldHVybiBlcnI7DQogfQ0KZGlmZiAtdSAtcCBhL2RyaXZlcnMvaHdt b24vbWF4MTY2OC5jIGIvZHJpdmVycy9od21vbi9tYXgxNjY4LmMNCi0tLSBh L2RyaXZlcnMvaHdtb24vbWF4MTY2OC5jDQorKysgYi9kcml2ZXJzL2h3bW9u L21heDE2NjguYw0KQEAgLTM4Niw3ICszODYsNyBAQCBzdGF0aWMgaW50IG1h eDE2NjhfZGV0ZWN0KHN0cnVjdCBpMmNfY2xpDQogCWlmICghdHlwZV9uYW1l KQ0KIAkJcmV0dXJuIC1FTk9ERVY7DQogDQotCXN0cmxjcHkoaW5mby0+dHlw ZSwgdHlwZV9uYW1lLCBJMkNfTkFNRV9TSVpFKTsNCisJc3RyYWNweShpbmZv LT50eXBlLCB0eXBlX25hbWUpOw0KIA0KIAlyZXR1cm4gMDsNCiB9DQpkaWZm IC11IC1wIGEvZHJpdmVycy9taXNjL2ljczkzMnM0MDEuYyBiL2RyaXZlcnMv bWlzYy9pY3M5MzJzNDAxLmMNCi0tLSBhL2RyaXZlcnMvbWlzYy9pY3M5MzJz NDAxLmMNCisrKyBiL2RyaXZlcnMvbWlzYy9pY3M5MzJzNDAxLmMNCkBAIC00 MjQsNyArNDI0LDcgQEAgc3RhdGljIGludCBpY3M5MzJzNDAxX2RldGVjdChz dHJ1Y3QgaTJjXw0KIAlpZiAocmV2aXNpb24gIT0gSUNTOTMyUzQwMV9SRVYp DQogCQlkZXZfaW5mbygmYWRhcHRlci0+ZGV2LCAiVW5rbm93biByZXZpc2lv biAlZFxuIiwgcmV2aXNpb24pOw0KIA0KLQlzdHJsY3B5KGluZm8tPnR5cGUs ICJpY3M5MzJzNDAxIiwgSTJDX05BTUVfU0laRSk7DQorCXN0cmFjcHkoaW5m by0+dHlwZSwgImljczkzMnM0MDEiKTsNCiANCiAJcmV0dXJuIDA7DQogfQ0K ZGlmZiAtdSAtcCBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L2Jyb2FkY29tL2Ju eDJ4L2JueDJ4X21haW4uYyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L2Jyb2Fk Y29tL2JueDJ4L2JueDJ4X21haW4uYw0KLS0tIGEvZHJpdmVycy9uZXQvZXRo ZXJuZXQvYnJvYWRjb20vYm54MngvYm54MnhfbWFpbi5jDQorKysgYi9kcml2 ZXJzL25ldC9ldGhlcm5ldC9icm9hZGNvbS9ibngyeC9ibngyeF9tYWluLmMN CkBAIC0zMzY0LDggKzMzNjQsNyBAQCBzdGF0aWMgdm9pZCBibngyeF9kcnZf aW5mb19ldGhlcl9zdGF0KHN0DQogCQkmYnAtPnNwX29ianMtPm1hY19vYmo7 DQogCWludCBpOw0KIA0KLQlzdHJsY3B5KGV0aGVyX3N0YXQtPnZlcnNpb24s IERSVl9NT0RVTEVfVkVSU0lPTiwNCi0JCUVUSF9TVEFUX0lORk9fVkVSU0lP Tl9MRU4pOw0KKwlzdHJhY3B5KGV0aGVyX3N0YXQtPnZlcnNpb24sIERSVl9N T0RVTEVfVkVSU0lPTik7DQogDQogCS8qIGdldCBEUlZfSU5GT19FVEhfU1RB VF9OVU1fTUFDU19SRVFVSVJFRCBtYWNzLCBwbGFjaW5nIHRoZW0gaW4gdGhl DQogCSAqIG1hY19sb2NhbCBmaWVsZCBpbiBldGhlcl9zdGF0IHN0cnVjdC4g VGhlIGJhc2UgYWRkcmVzcyBpcyBvZmZzZXQgYnkgMg0KZGlmZiAtdSAtcCBh L2RyaXZlcnMvaHdtb24vbG05NTIzNC5jIGIvZHJpdmVycy9od21vbi9sbTk1 MjM0LmMNCi0tLSBhL2RyaXZlcnMvaHdtb24vbG05NTIzNC5jDQorKysgYi9k cml2ZXJzL2h3bW9uL2xtOTUyMzQuYw0KQEAgLTY0NCw3ICs2NDQsNyBAQCBz dGF0aWMgaW50IGxtOTUyMzRfZGV0ZWN0KHN0cnVjdCBpMmNfY2xpDQogCWlm ICh2YWwgJiBtb2RlbF9tYXNrKQ0KIAkJcmV0dXJuIC1FTk9ERVY7DQogDQot CXN0cmxjcHkoaW5mby0+dHlwZSwgbmFtZSwgSTJDX05BTUVfU0laRSk7DQor CXN0cmFjcHkoaW5mby0+dHlwZSwgbmFtZSk7DQogCXJldHVybiAwOw0KIH0N CiANCmRpZmYgLXUgLXAgYS9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLWk4MDEu YyBiL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtaTgwMS5jDQotLS0gYS9kcml2 ZXJzL2kyYy9idXNzZXMvaTJjLWk4MDEuYw0KKysrIGIvZHJpdmVycy9pMmMv YnVzc2VzL2kyYy1pODAxLmMNCkBAIC0xMTM0LDcgKzExMzQsNyBAQCBzdGF0 aWMgdm9pZCBkbWlfY2hlY2tfb25ib2FyZF9kZXZpY2UodTgNCiANCiAJCW1l bXNldCgmaW5mbywgMCwgc2l6ZW9mKHN0cnVjdCBpMmNfYm9hcmRfaW5mbykp Ow0KIAkJaW5mby5hZGRyID0gZG1pX2RldmljZXNbaV0uaTJjX2FkZHI7DQot CQlzdHJsY3B5KGluZm8udHlwZSwgZG1pX2RldmljZXNbaV0uaTJjX3R5cGUs IEkyQ19OQU1FX1NJWkUpOw0KKwkJc3RyYWNweShpbmZvLnR5cGUsIGRtaV9k ZXZpY2VzW2ldLmkyY190eXBlKTsNCiAJCWkyY19uZXdfZGV2aWNlKGFkYXAs ICZpbmZvKTsNCiAJCWJyZWFrOw0KIAl9DQpAQCAtMTI3OSw3ICsxMjc5LDcg QEAgc3RhdGljIHZvaWQgcmVnaXN0ZXJfZGVsbF9saXMzbHYwMmRfaTJjXw0K IA0KIAltZW1zZXQoJmluZm8sIDAsIHNpemVvZihzdHJ1Y3QgaTJjX2JvYXJk X2luZm8pKTsNCiAJaW5mby5hZGRyID0gZGVsbF9saXMzbHYwMmRfZGV2aWNl c1tpXS5pMmNfYWRkcjsNCi0Jc3RybGNweShpbmZvLnR5cGUsICJsaXMzbHYw MmQiLCBJMkNfTkFNRV9TSVpFKTsNCisJc3RyYWNweShpbmZvLnR5cGUsICJs aXMzbHYwMmQiKTsNCiAJaTJjX25ld19kZXZpY2UoJnByaXYtPmFkYXB0ZXIs ICZpbmZvKTsNCiB9DQogDQpAQCAtMTI5NSw3ICsxMjk1LDcgQEAgc3RhdGlj IHZvaWQgaTgwMV9wcm9iZV9vcHRpb25hbF9zbGF2ZXMocw0KIA0KIAkJbWVt c2V0KCZpbmZvLCAwLCBzaXplb2Yoc3RydWN0IGkyY19ib2FyZF9pbmZvKSk7 DQogCQlpbmZvLmFkZHIgPSBhcGFuZWxfYWRkcjsNCi0JCXN0cmxjcHkoaW5m by50eXBlLCAiZnVqaXRzdV9hcGFuZWwiLCBJMkNfTkFNRV9TSVpFKTsNCisJ CXN0cmFjcHkoaW5mby50eXBlLCAiZnVqaXRzdV9hcGFuZWwiKTsNCiAJCWky Y19uZXdfZGV2aWNlKCZwcml2LT5hZGFwdGVyLCAmaW5mbyk7DQogCX0NCiAN CmRpZmYgLXUgLXAgYS9kcml2ZXJzL21lZGlhL3VzYi9kdmItdXNiL2N4dXNi LmMgYi9kcml2ZXJzL21lZGlhL3VzYi9kdmItdXNiL2N4dXNiLmMNCi0tLSBh L2RyaXZlcnMvbWVkaWEvdXNiL2R2Yi11c2IvY3h1c2IuYw0KKysrIGIvZHJp dmVycy9tZWRpYS91c2IvZHZiLXVzYi9jeHVzYi5jDQpAQCAtMTQwNiw3ICsx NDA2LDcgQEAgc3RhdGljIGludCBjeHVzYl9teWdpY2FfdDIzMF9mcm9udGVu ZF9hdA0KIAlzaTIxNjhfY29uZmlnLnRzX21vZGUgPSBTSTIxNjhfVFNfUEFS QUxMRUw7DQogCXNpMjE2OF9jb25maWcudHNfY2xvY2tfaW52ID0gMTsNCiAJ bWVtc2V0KCZpbmZvLCAwLCBzaXplb2Yoc3RydWN0IGkyY19ib2FyZF9pbmZv KSk7DQotCXN0cnNjcHkoaW5mby50eXBlLCAic2kyMTY4IiwgSTJDX05BTUVf U0laRSk7DQorCXN0cmFjcHkoaW5mby50eXBlLCAic2kyMTY4Iik7DQogCWlu Zm8uYWRkciA9IDB4NjQ7DQogCWluZm8ucGxhdGZvcm1fZGF0YSA9ICZzaTIx NjhfY29uZmlnOw0KIAlyZXF1ZXN0X21vZHVsZShpbmZvLnR5cGUpOw0KQEAg LTE0MjYsNyArMTQyNiw3IEBAIHN0YXRpYyBpbnQgY3h1c2JfbXlnaWNhX3Qy MzBfZnJvbnRlbmRfYXQNCiAJc2kyMTU3X2NvbmZpZy5mZSA9IGFkYXAtPmZl X2FkYXBbMF0uZmU7DQogCXNpMjE1N19jb25maWcuaWZfcG9ydCA9IDE7DQog CW1lbXNldCgmaW5mbywgMCwgc2l6ZW9mKHN0cnVjdCBpMmNfYm9hcmRfaW5m bykpOw0KLQlzdHJzY3B5KGluZm8udHlwZSwgInNpMjE1NyIsIEkyQ19OQU1F X1NJWkUpOw0KKwlzdHJhY3B5KGluZm8udHlwZSwgInNpMjE1NyIpOw0KIAlp bmZvLmFkZHIgPSAweDYwOw0KIAlpbmZvLnBsYXRmb3JtX2RhdGEgPSAmc2ky MTU3X2NvbmZpZzsNCiAJcmVxdWVzdF9tb2R1bGUoaW5mby50eXBlKTsNCmRp ZmYgLXUgLXAgYS9kcml2ZXJzL2h3bW9uL2FkbTEwMjYuYyBiL2RyaXZlcnMv aHdtb24vYWRtMTAyNi5jDQotLS0gYS9kcml2ZXJzL2h3bW9uL2FkbTEwMjYu Yw0KKysrIGIvZHJpdmVycy9od21vbi9hZG0xMDI2LmMNCkBAIC0xNjEwLDcg KzE2MTAsNyBAQCBzdGF0aWMgaW50IGFkbTEwMjZfZGV0ZWN0KHN0cnVjdCBp MmNfY2xpDQogCQlyZXR1cm4gLUVOT0RFVjsNCiAJfQ0KIA0KLQlzdHJsY3B5 KGluZm8tPnR5cGUsICJhZG0xMDI2IiwgSTJDX05BTUVfU0laRSk7DQorCXN0 cmFjcHkoaW5mby0+dHlwZSwgImFkbTEwMjYiKTsNCiANCiAJcmV0dXJuIDA7 DQogfQ0KZGlmZiAtdSAtcCBhL2RyaXZlcnMvaHdtb24vc3R0czc1MS5jIGIv ZHJpdmVycy9od21vbi9zdHRzNzUxLmMNCi0tLSBhL2RyaXZlcnMvaHdtb24v c3R0czc1MS5jDQorKysgYi9kcml2ZXJzL2h3bW9uL3N0dHM3NTEuYw0KQEAg LTY5Miw3ICs2OTIsNyBAQCBzdGF0aWMgaW50IHN0dHM3NTFfZGV0ZWN0KHN0 cnVjdCBpMmNfY2xpDQogCX0NCiAJZGV2X2RiZygmbmV3X2NsaWVudC0+ZGV2 LCAiQ2hpcCAlcyBkZXRlY3RlZCIsIG5hbWUpOw0KIA0KLQlzdHJsY3B5KGlu Zm8tPnR5cGUsIHN0dHM3NTFfaWRbMF0ubmFtZSwgSTJDX05BTUVfU0laRSk7 DQorCXN0cmFjcHkoaW5mby0+dHlwZSwgc3R0czc1MV9pZFswXS5uYW1lKTsN CiAJcmV0dXJuIDA7DQogfQ0KIA0KZGlmZiAtdSAtcCBhL2RyaXZlcnMvbWVk aWEvcGNpL3NtaXBjaWUvc21pcGNpZS1tYWluLmMgYi9kcml2ZXJzL21lZGlh L3BjaS9zbWlwY2llL3NtaXBjaWUtbWFpbi5jDQotLS0gYS9kcml2ZXJzL21l ZGlhL3BjaS9zbWlwY2llL3NtaXBjaWUtbWFpbi5jDQorKysgYi9kcml2ZXJz L21lZGlhL3BjaS9zbWlwY2llL3NtaXBjaWUtbWFpbi5jDQpAQCAtNTQwLDcg KzU0MCw3IEBAIHN0YXRpYyBpbnQgc21pX2R2YnNreV9tODhkczMxMDNfZmVf YXR0YWMNCiAJfQ0KIAkvKiBhdHRhY2ggdHVuZXIgKi8NCiAJdHMyMDIwX2Nv bmZpZy5mZSA9IHBvcnQtPmZlOw0KLQlzdHJzY3B5KHR1bmVyX2luZm8udHlw ZSwgInRzMjAyMCIsIEkyQ19OQU1FX1NJWkUpOw0KKwlzdHJhY3B5KHR1bmVy X2luZm8udHlwZSwgInRzMjAyMCIpOw0KIAl0dW5lcl9pbmZvLmFkZHIgPSAw eDYwOw0KIAl0dW5lcl9pbmZvLnBsYXRmb3JtX2RhdGEgPSAmdHMyMDIwX2Nv bmZpZzsNCiAJdHVuZXJfY2xpZW50ID0gc21pX2FkZF9pMmNfY2xpZW50KHR1 bmVyX2kyY19hZGFwdGVyLCAmdHVuZXJfaW5mbyk7DQpAQCAtNTk2LDcgKzU5 Niw3IEBAIHN0YXRpYyBpbnQgc21pX2R2YnNreV9tODhyczYwMDBfZmVfYXR0 YWMNCiAJfQ0KIAkvKiBhdHRhY2ggdHVuZXIgKi8NCiAJbTg4cnM2MDAwdF9j b25maWcuZmUgPSBwb3J0LT5mZTsNCi0Jc3Ryc2NweSh0dW5lcl9pbmZvLnR5 cGUsICJtODhyczYwMDB0IiwgSTJDX05BTUVfU0laRSk7DQorCXN0cmFjcHko dHVuZXJfaW5mby50eXBlLCAibTg4cnM2MDAwdCIpOw0KIAl0dW5lcl9pbmZv LmFkZHIgPSAweDIxOw0KIAl0dW5lcl9pbmZvLnBsYXRmb3JtX2RhdGEgPSAm bTg4cnM2MDAwdF9jb25maWc7DQogCXR1bmVyX2NsaWVudCA9IHNtaV9hZGRf aTJjX2NsaWVudCh0dW5lcl9pMmNfYWRhcHRlciwgJnR1bmVyX2luZm8pOw0K QEAgLTYzOCw3ICs2MzgsNyBAQCBzdGF0aWMgaW50IHNtaV9kdmJza3lfc2l0 Ml9mZV9hdHRhY2goc3RyDQogCXNpMjE2OF9jb25maWcudHNfbW9kZSA9IFNJ MjE2OF9UU19QQVJBTExFTDsNCiANCiAJbWVtc2V0KCZjbGllbnRfaW5mbywg MCwgc2l6ZW9mKHN0cnVjdCBpMmNfYm9hcmRfaW5mbykpOw0KLQlzdHJzY3B5 KGNsaWVudF9pbmZvLnR5cGUsICJzaTIxNjgiLCBJMkNfTkFNRV9TSVpFKTsN CisJc3RyYWNweShjbGllbnRfaW5mby50eXBlLCAic2kyMTY4Iik7DQogCWNs aWVudF9pbmZvLmFkZHIgPSAweDY0Ow0KIAljbGllbnRfaW5mby5wbGF0Zm9y bV9kYXRhID0gJnNpMjE2OF9jb25maWc7DQogDQpAQCAtNjU1LDcgKzY1NSw3 IEBAIHN0YXRpYyBpbnQgc21pX2R2YnNreV9zaXQyX2ZlX2F0dGFjaChzdHIN CiAJc2kyMTU3X2NvbmZpZy5pZl9wb3J0ID0gMTsNCiANCiAJbWVtc2V0KCZj bGllbnRfaW5mbywgMCwgc2l6ZW9mKHN0cnVjdCBpMmNfYm9hcmRfaW5mbykp Ow0KLQlzdHJzY3B5KGNsaWVudF9pbmZvLnR5cGUsICJzaTIxNTciLCBJMkNf TkFNRV9TSVpFKTsNCisJc3RyYWNweShjbGllbnRfaW5mby50eXBlLCAic2ky MTU3Iik7DQogCWNsaWVudF9pbmZvLmFkZHIgPSAweDYwOw0KIAljbGllbnRf aW5mby5wbGF0Zm9ybV9kYXRhID0gJnNpMjE1N19jb25maWc7DQogDQpkaWZm IC11IC1wIGEvZHJpdmVycy9od21vbi9sbTc3LmMgYi9kcml2ZXJzL2h3bW9u L2xtNzcuYw0KLS0tIGEvZHJpdmVycy9od21vbi9sbTc3LmMNCisrKyBiL2Ry aXZlcnMvaHdtb24vbG03Ny5jDQpAQCAtMzAyLDcgKzMwMiw3IEBAIHN0YXRp YyBpbnQgbG03N19kZXRlY3Qoc3RydWN0IGkyY19jbGllbnQNCiAJIHx8IGky Y19zbWJ1c19yZWFkX3dvcmRfZGF0YShjbGllbnQsIDcpICE9IG1pbikNCiAJ CXJldHVybiAtRU5PREVWOw0KIA0KLQlzdHJsY3B5KGluZm8tPnR5cGUsICJs bTc3IiwgSTJDX05BTUVfU0laRSk7DQorCXN0cmFjcHkoaW5mby0+dHlwZSwg ImxtNzciKTsNCiANCiAJcmV0dXJuIDA7DQogfQ0KZGlmZiAtdSAtcCBhL2Ry aXZlcnMvbWVkaWEvcGNpL3NhYTcxNjQvc2FhNzE2NC1kdmIuYyBiL2RyaXZl cnMvbWVkaWEvcGNpL3NhYTcxNjQvc2FhNzE2NC1kdmIuYw0KLS0tIGEvZHJp dmVycy9tZWRpYS9wY2kvc2FhNzE2NC9zYWE3MTY0LWR2Yi5jDQorKysgYi9k cml2ZXJzL21lZGlhL3BjaS9zYWE3MTY0L3NhYTcxNjQtZHZiLmMNCkBAIC0x MTAsNyArMTEwLDcgQEAgc3RhdGljIGludCBzaTIxNTdfYXR0YWNoKHN0cnVj dCBzYWE3MTY0Xw0KIA0KIAltZW1zZXQoJmJpLCAwLCBzaXplb2YoYmkpKTsN CiANCi0Jc3Ryc2NweShiaS50eXBlLCAic2kyMTU3IiwgSTJDX05BTUVfU0la RSk7DQorCXN0cmFjcHkoYmkudHlwZSwgInNpMjE1NyIpOw0KIAliaS5wbGF0 Zm9ybV9kYXRhID0gY2ZnOw0KIAliaS5hZGRyID0gYWRkcjhiaXQgPj4gMTsN CiANCkBAIC02MzMsNyArNjMzLDcgQEAgaW50IHNhYTcxNjRfZHZiX3JlZ2lz dGVyKHN0cnVjdCBzYWE3MTY0Xw0KIAkJCXNpMjE2OF9jb25maWcuZmUgPSAm cG9ydC0+ZHZiLmZyb250ZW5kOw0KIAkJCXNpMjE2OF9jb25maWcudHNfbW9k ZSA9IFNJMjE2OF9UU19TRVJJQUw7DQogCQkJbWVtc2V0KCZpbmZvLCAwLCBz aXplb2Yoc3RydWN0IGkyY19ib2FyZF9pbmZvKSk7DQotCQkJc3Ryc2NweShp bmZvLnR5cGUsICJzaTIxNjgiLCBJMkNfTkFNRV9TSVpFKTsNCisJCQlzdHJh Y3B5KGluZm8udHlwZSwgInNpMjE2OCIpOw0KIAkJCWluZm8uYWRkciA9IDB4 YzggPj4gMTsNCiAJCQlpbmZvLnBsYXRmb3JtX2RhdGEgPSAmc2kyMTY4X2Nv bmZpZzsNCiAJCQlyZXF1ZXN0X21vZHVsZShpbmZvLnR5cGUpOw0KQEAgLTY1 Myw3ICs2NTMsNyBAQCBpbnQgc2FhNzE2NF9kdmJfcmVnaXN0ZXIoc3RydWN0 IHNhYTcxNjRfDQogCQkJc2kyMTU3X2NvbmZpZy5pZl9wb3J0ID0gMTsNCiAJ CQlzaTIxNTdfY29uZmlnLmZlID0gcG9ydC0+ZHZiLmZyb250ZW5kOw0KIAkJ CW1lbXNldCgmaW5mbywgMCwgc2l6ZW9mKHN0cnVjdCBpMmNfYm9hcmRfaW5m bykpOw0KLQkJCXN0cnNjcHkoaW5mby50eXBlLCAic2kyMTU3IiwgSTJDX05B TUVfU0laRSk7DQorCQkJc3RyYWNweShpbmZvLnR5cGUsICJzaTIxNTciKTsN CiAJCQlpbmZvLmFkZHIgPSAweGMwID4+IDE7DQogCQkJaW5mby5wbGF0Zm9y bV9kYXRhID0gJnNpMjE1N19jb25maWc7DQogCQkJcmVxdWVzdF9tb2R1bGUo aW5mby50eXBlKTsNCkBAIC02NzgsNyArNjc4LDcgQEAgaW50IHNhYTcxNjRf ZHZiX3JlZ2lzdGVyKHN0cnVjdCBzYWE3MTY0Xw0KIAkJCXNpMjE2OF9jb25m aWcuZmUgPSAmcG9ydC0+ZHZiLmZyb250ZW5kOw0KIAkJCXNpMjE2OF9jb25m aWcudHNfbW9kZSA9IFNJMjE2OF9UU19TRVJJQUw7DQogCQkJbWVtc2V0KCZp bmZvLCAwLCBzaXplb2Yoc3RydWN0IGkyY19ib2FyZF9pbmZvKSk7DQotCQkJ c3Ryc2NweShpbmZvLnR5cGUsICJzaTIxNjgiLCBJMkNfTkFNRV9TSVpFKTsN CisJCQlzdHJhY3B5KGluZm8udHlwZSwgInNpMjE2OCIpOw0KIAkJCWluZm8u YWRkciA9IDB4Y2MgPj4gMTsNCiAJCQlpbmZvLnBsYXRmb3JtX2RhdGEgPSAm c2kyMTY4X2NvbmZpZzsNCiAJCQlyZXF1ZXN0X21vZHVsZShpbmZvLnR5cGUp Ow0KQEAgLTY5OCw3ICs2OTgsNyBAQCBpbnQgc2FhNzE2NF9kdmJfcmVnaXN0 ZXIoc3RydWN0IHNhYTcxNjRfDQogCQkJc2kyMTU3X2NvbmZpZy5mZSA9IHBv cnQtPmR2Yi5mcm9udGVuZDsNCiAJCQlzaTIxNTdfY29uZmlnLmlmX3BvcnQg PSAxOw0KIAkJCW1lbXNldCgmaW5mbywgMCwgc2l6ZW9mKHN0cnVjdCBpMmNf Ym9hcmRfaW5mbykpOw0KLQkJCXN0cnNjcHkoaW5mby50eXBlLCAic2kyMTU3 IiwgSTJDX05BTUVfU0laRSk7DQorCQkJc3RyYWNweShpbmZvLnR5cGUsICJz aTIxNTciKTsNCiAJCQlpbmZvLmFkZHIgPSAweGMwID4+IDE7DQogCQkJaW5m by5wbGF0Zm9ybV9kYXRhID0gJnNpMjE1N19jb25maWc7DQogCQkJcmVxdWVz dF9tb2R1bGUoaW5mby50eXBlKTsNCmRpZmYgLXUgLXAgYS9saWIvZWFybHlj cGlvLmMgYi9saWIvZWFybHljcGlvLmMNCi0tLSBhL2xpYi9lYXJseWNwaW8u Yw0KKysrIGIvbGliL2Vhcmx5Y3Bpby5jDQpAQCAtMTI2LDcgKzEyNiw3IEBA IHN0cnVjdCBjcGlvX2RhdGEgZmluZF9jcGlvX2RhdGEoY29uc3QgY2gNCiAJ CQkJIkZpbGUgJXMgZXhjZWVkaW5nIE1BWF9DUElPX0ZJTEVfTkFNRSBbJWRd XG4iLA0KIAkJCQlwLCBNQVhfQ1BJT19GSUxFX05BTUUpOw0KIAkJCX0NCi0J CQlzdHJsY3B5KGNkLm5hbWUsIHAgKyBteXBhdGhzaXplLCBNQVhfQ1BJT19G SUxFX05BTUUpOw0KKwkJCXN0cmFjcHkoY2QubmFtZSwgcCArIG15cGF0aHNp emUpOw0KIA0KIAkJCWNkLmRhdGEgPSAodm9pZCAqKWRwdHI7DQogCQkJY2Qu c2l6ZSA9IGNoW0NfRklMRVNJWkVdOw0KZGlmZiAtdSAtcCBhL2NyeXB0by9h cGkuYyBiL2NyeXB0by9hcGkuYw0KLS0tIGEvY3J5cHRvL2FwaS5jDQorKysg Yi9jcnlwdG8vYXBpLmMNCkBAIC0xMTUsNyArMTE1LDcgQEAgc3RydWN0IGNy eXB0b19sYXJ2YWwgKmNyeXB0b19sYXJ2YWxfYWxsbw0KIAlsYXJ2YWwtPmFs Zy5jcmFfcHJpb3JpdHkgPSAtMTsNCiAJbGFydmFsLT5hbGcuY3JhX2Rlc3Ry b3kgPSBjcnlwdG9fbGFydmFsX2Rlc3Ryb3k7DQogDQotCXN0cmxjcHkobGFy dmFsLT5hbGcuY3JhX25hbWUsIG5hbWUsIENSWVBUT19NQVhfQUxHX05BTUUp Ow0KKwlzdHJhY3B5KGxhcnZhbC0+YWxnLmNyYV9uYW1lLCBuYW1lKTsNCiAJ aW5pdF9jb21wbGV0aW9uKCZsYXJ2YWwtPmNvbXBsZXRpb24pOw0KIA0KIAly ZXR1cm4gbGFydmFsOw0KZGlmZiAtdSAtcCBhL2RyaXZlcnMvaHdtb24vbG04 Ny5jIGIvZHJpdmVycy9od21vbi9sbTg3LmMNCi0tLSBhL2RyaXZlcnMvaHdt b24vbG04Ny5jDQorKysgYi9kcml2ZXJzL2h3bW9uL2xtODcuYw0KQEAgLTgz Myw3ICs4MzMsNyBAQCBzdGF0aWMgaW50IGxtODdfZGV0ZWN0KHN0cnVjdCBp MmNfY2xpZW50DQogCQlyZXR1cm4gLUVOT0RFVjsNCiAJfQ0KIA0KLQlzdHJs Y3B5KGluZm8tPnR5cGUsIG5hbWUsIEkyQ19OQU1FX1NJWkUpOw0KKwlzdHJh Y3B5KGluZm8tPnR5cGUsIG5hbWUpOw0KIA0KIAlyZXR1cm4gMDsNCiB9DQpk aWZmIC11IC1wIGEvZHJpdmVycy9taXNjL2VlcHJvbS9lZXByb20uYyBiL2Ry aXZlcnMvbWlzYy9lZXByb20vZWVwcm9tLmMNCi0tLSBhL2RyaXZlcnMvbWlz Yy9lZXByb20vZWVwcm9tLmMNCisrKyBiL2RyaXZlcnMvbWlzYy9lZXByb20v ZWVwcm9tLmMNCkBAIC0xMzYsNyArMTM2LDcgQEAgc3RhdGljIGludCBlZXBy b21fZGV0ZWN0KHN0cnVjdCBpMmNfY2xpZQ0KIAkgJiYgIWkyY19jaGVja19m dW5jdGlvbmFsaXR5KGFkYXB0ZXIsIEkyQ19GVU5DX1NNQlVTX1JFQURfSTJD X0JMT0NLKSkNCiAJCXJldHVybiAtRU5PREVWOw0KIA0KLQlzdHJsY3B5KGlu Zm8tPnR5cGUsICJlZXByb20iLCBJMkNfTkFNRV9TSVpFKTsNCisJc3RyYWNw eShpbmZvLT50eXBlLCAiZWVwcm9tIik7DQogDQogCXJldHVybiAwOw0KIH0N CmRpZmYgLXUgLXAgYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9ocC9ocDEwMC5j IGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvaHAvaHAxMDAuYw0KLS0tIGEvZHJp dmVycy9uZXQvZXRoZXJuZXQvaHAvaHAxMDAuYw0KKysrIGIvZHJpdmVycy9u ZXQvZXRoZXJuZXQvaHAvaHAxMDAuYw0KQEAgLTY0Myw3ICs2NDMsNyBAQCBz dGF0aWMgaW50IGhwMTAwX3Byb2JlMShzdHJ1Y3QgbmV0X2RldmljDQogCWxw ID0gbmV0ZGV2X3ByaXYoZGV2KTsNCiANCiAJc3Bpbl9sb2NrX2luaXQoJmxw LT5sb2NrKTsNCi0Jc3RybGNweShscC0+aWQsIGVpZCwgSFAxMDBfU0lHX0xF Tik7DQorCXN0cmFjcHkobHAtPmlkLCBlaWQpOw0KIAlscC0+Y2hpcCA9IGNo aXA7DQogCWxwLT5tb2RlID0gbG9jYWxfbW9kZTsNCiAJbHAtPmJ1cyA9IGJ1 czsNCmRpZmYgLXUgLXAgYS9kcml2ZXJzL3MzOTAvYmxvY2svZGFzZF9kZXZt YXAuYyBiL2RyaXZlcnMvczM5MC9ibG9jay9kYXNkX2Rldm1hcC5jDQotLS0g YS9kcml2ZXJzL3MzOTAvYmxvY2svZGFzZF9kZXZtYXAuYw0KKysrIGIvZHJp dmVycy9zMzkwL2Jsb2NrL2Rhc2RfZGV2bWFwLmMNCkBAIC00MjYsNyArNDI2 LDcgQEAgZGFzZF9hZGRfYnVzaWQoY29uc3QgY2hhciAqYnVzX2lkLCBpbnQg Zg0KIAlpZiAoIWRldm1hcCkgew0KIAkJLyogVGhpcyBidXNfaWQgaXMgbmV3 LiAqLw0KIAkJbmV3LT5kZXZpbmRleCA9IGRhc2RfbWF4X2RldmluZGV4Kys7 DQotCQlzdHJsY3B5KG5ldy0+YnVzX2lkLCBidXNfaWQsIERBU0RfQlVTX0lE X1NJWkUpOw0KKwkJc3RyYWNweShuZXctPmJ1c19pZCwgYnVzX2lkKTsNCiAJ CW5ldy0+ZmVhdHVyZXMgPSBmZWF0dXJlczsNCiAJCW5ldy0+ZGV2aWNlID0g TlVMTDsNCiAJCWxpc3RfYWRkKCZuZXctPmxpc3QsICZkYXNkX2hhc2hsaXN0 c1toYXNoXSk7DQpkaWZmIC11IC1wIGEvc291bmQvYW9hL2NvZGVjcy9vbnl4 LmMgYi9zb3VuZC9hb2EvY29kZWNzL29ueXguYw0KLS0tIGEvc291bmQvYW9h L2NvZGVjcy9vbnl4LmMNCisrKyBiL3NvdW5kL2FvYS9jb2RlY3Mvb255eC5j DQpAQCAtMTAxMSw3ICsxMDExLDcgQEAgc3RhdGljIGludCBvbnl4X2kyY19w cm9iZShzdHJ1Y3QgaTJjX2NsaQ0KIAkJZ290byBmYWlsOw0KIAl9DQogDQot CXN0cmxjcHkob255eC0+Y29kZWMubmFtZSwgIm9ueXgiLCBNQVhfQ09ERUNf TkFNRV9MRU4pOw0KKwlzdHJhY3B5KG9ueXgtPmNvZGVjLm5hbWUsICJvbnl4 Iik7DQogCW9ueXgtPmNvZGVjLm93bmVyID0gVEhJU19NT0RVTEU7DQogCW9u eXgtPmNvZGVjLmluaXQgPSBvbnl4X2luaXRfY29kZWM7DQogCW9ueXgtPmNv ZGVjLmV4aXQgPSBvbnl4X2V4aXRfY29kZWM7DQpkaWZmIC11IC1wIGEvZHJp dmVycy9od21vbi9mdHN0ZXV0YXRlcy5jIGIvZHJpdmVycy9od21vbi9mdHN0 ZXV0YXRlcy5jDQotLS0gYS9kcml2ZXJzL2h3bW9uL2Z0c3RldXRhdGVzLmMN CisrKyBiL2RyaXZlcnMvaHdtb24vZnRzdGV1dGF0ZXMuYw0KQEAgLTczOSw3 ICs3MzksNyBAQCBzdGF0aWMgaW50IGZ0c19kZXRlY3Qoc3RydWN0IGkyY19j bGllbnQNCiAJaWYgKHZhbCAhPSAweDExKQ0KIAkJcmV0dXJuIC1FTk9ERVY7 DQogDQotCXN0cmxjcHkoaW5mby0+dHlwZSwgZnRzX2lkWzBdLm5hbWUsIEky Q19OQU1FX1NJWkUpOw0KKwlzdHJhY3B5KGluZm8tPnR5cGUsIGZ0c19pZFsw XS5uYW1lKTsNCiAJaW5mby0+ZmxhZ3MgPSAwOw0KIAlyZXR1cm4gMDsNCiB9 DQpkaWZmIC11IC1wIGEvbmV0L21hYzgwMjExL2lmYWNlLmMgYi9uZXQvbWFj ODAyMTEvaWZhY2UuYw0KLS0tIGEvbmV0L21hYzgwMjExL2lmYWNlLmMNCisr KyBiL25ldC9tYWM4MDIxMS9pZmFjZS5jDQpAQCAtMTc0NSw3ICsxNzQ1LDcg QEAgaW50IGllZWU4MDIxMV9pZl9hZGQoc3RydWN0IGllZWU4MDIxMV9sbw0K IAkJd2RldiA9ICZzZGF0YS0+d2RldjsNCiANCiAJCXNkYXRhLT5kZXYgPSBO VUxMOw0KLQkJc3RybGNweShzZGF0YS0+bmFtZSwgbmFtZSwgSUZOQU1TSVop Ow0KKwkJc3RyYWNweShzZGF0YS0+bmFtZSwgbmFtZSk7DQogCQlpZWVlODAy MTFfYXNzaWduX3Blcm1fYWRkcihsb2NhbCwgd2Rldi0+YWRkcmVzcywgdHlw ZSk7DQogCQltZW1jcHkoc2RhdGEtPnZpZi5hZGRyLCB3ZGV2LT5hZGRyZXNz LCBFVEhfQUxFTik7DQogCX0gZWxzZSB7DQpkaWZmIC11IC1wIGEvZHJpdmVy cy9jcnlwdG8vY2hlbHNpby9jaHRscy9jaHRsc19tYWluLmMgYi9kcml2ZXJz L2NyeXB0by9jaGVsc2lvL2NodGxzL2NodGxzX21haW4uYw0KLS0tIGEvZHJp dmVycy9jcnlwdG8vY2hlbHNpby9jaHRscy9jaHRsc19tYWluLmMNCisrKyBi L2RyaXZlcnMvY3J5cHRvL2NoZWxzaW8vY2h0bHMvY2h0bHNfbWFpbi5jDQpA QCAtMTg1LDcgKzE4NSw3IEBAIHN0YXRpYyB2b2lkIGNodGxzX3JlZ2lzdGVy X2RldihzdHJ1Y3QgY2gNCiB7DQogCXN0cnVjdCB0bHNfZGV2aWNlICp0bHNk ZXYgPSAmY2Rldi0+dGxzZGV2Ow0KIA0KLQlzdHJsY3B5KHRsc2Rldi0+bmFt ZSwgImNodGxzIiwgVExTX0RFVklDRV9OQU1FX01BWCk7DQorCXN0cmFjcHko dGxzZGV2LT5uYW1lLCAiY2h0bHMiKTsNCiAJc3RybGNhdCh0bHNkZXYtPm5h bWUsIGNkZXYtPmxsZGktPnBvcnRzWzBdLT5uYW1lLA0KIAkJVExTX0RFVklD RV9OQU1FX01BWCk7DQogCXRsc2Rldi0+ZmVhdHVyZSA9IGNodGxzX2lubGlu ZV9mZWF0dXJlOw0KZGlmZiAtdSAtcCBhL2RyaXZlcnMvbWVkaWEvcGNpL3Nh YTcxMzQvc2FhNzEzNC1pbnB1dC5jIGIvZHJpdmVycy9tZWRpYS9wY2kvc2Fh NzEzNC9zYWE3MTM0LWlucHV0LmMNCi0tLSBhL2RyaXZlcnMvbWVkaWEvcGNp L3NhYTcxMzQvc2FhNzEzNC1pbnB1dC5jDQorKysgYi9kcml2ZXJzL21lZGlh L3BjaS9zYWE3MTM0L3NhYTcxMzQtaW5wdXQuYw0KQEAgLTg1Niw3ICs4NTYs NyBAQCB2b2lkIHNhYTcxMzRfcHJvYmVfaTJjX2lyKHN0cnVjdCBzYWE3MTM0 DQogDQogCW1lbXNldCgmaW5mbywgMCwgc2l6ZW9mKHN0cnVjdCBpMmNfYm9h cmRfaW5mbykpOw0KIAltZW1zZXQoJmRldi0+aW5pdF9kYXRhLCAwLCBzaXpl b2YoZGV2LT5pbml0X2RhdGEpKTsNCi0Jc3Ryc2NweShpbmZvLnR5cGUsICJp cl92aWRlbyIsIEkyQ19OQU1FX1NJWkUpOw0KKwlzdHJhY3B5KGluZm8udHlw ZSwgImlyX3ZpZGVvIik7DQogDQogCXN3aXRjaCAoZGV2LT5ib2FyZCkgew0K IAljYXNlIFNBQTcxMzRfQk9BUkRfUElOTkFDTEVfUENUVl8xMTBpOg0KZGlm ZiAtdSAtcCBhL2RyaXZlcnMvaHdtb24vbG04NS5jIGIvZHJpdmVycy9od21v bi9sbTg1LmMNCi0tLSBhL2RyaXZlcnMvaHdtb24vbG04NS5jDQorKysgYi9k cml2ZXJzL2h3bW9uL2xtODUuYw0KQEAgLTE1MzksNyArMTUzOSw3IEBAIHN0 YXRpYyBpbnQgbG04NV9kZXRlY3Qoc3RydWN0IGkyY19jbGllbnQNCiAJaWYg KCF0eXBlX25hbWUpDQogCQlyZXR1cm4gLUVOT0RFVjsNCiANCi0Jc3RybGNw eShpbmZvLT50eXBlLCB0eXBlX25hbWUsIEkyQ19OQU1FX1NJWkUpOw0KKwlz dHJhY3B5KGluZm8tPnR5cGUsIHR5cGVfbmFtZSk7DQogDQogCXJldHVybiAw Ow0KIH0NCmRpZmYgLXUgLXAgYS9kcml2ZXJzL21lZGlhL2R2Yi1mcm9udGVu ZHMvY3hkMjgyMHJfY29yZS5jIGIvZHJpdmVycy9tZWRpYS9kdmItZnJvbnRl bmRzL2N4ZDI4MjByX2NvcmUuYw0KLS0tIGEvZHJpdmVycy9tZWRpYS9kdmIt ZnJvbnRlbmRzL2N4ZDI4MjByX2NvcmUuYw0KKysrIGIvZHJpdmVycy9tZWRp YS9kdmItZnJvbnRlbmRzL2N4ZDI4MjByX2NvcmUuYw0KQEAgLTUyNyw3ICs1 MjcsNyBAQCBzdHJ1Y3QgZHZiX2Zyb250ZW5kICpjeGQyODIwcl9hdHRhY2go Y29uDQogCXBkYXRhLmF0dGFjaF9pbl91c2UgPSB0cnVlOw0KIA0KIAltZW1z ZXQoJmJvYXJkX2luZm8sIDAsIHNpemVvZihib2FyZF9pbmZvKSk7DQotCXN0 cnNjcHkoYm9hcmRfaW5mby50eXBlLCAiY3hkMjgyMHIiLCBJMkNfTkFNRV9T SVpFKTsNCisJc3RyYWNweShib2FyZF9pbmZvLnR5cGUsICJjeGQyODIwciIp Ow0KIAlib2FyZF9pbmZvLmFkZHIgPSBjb25maWctPmkyY19hZGRyZXNzOw0K IAlib2FyZF9pbmZvLnBsYXRmb3JtX2RhdGEgPSAmcGRhdGE7DQogCWNsaWVu dCA9IGkyY19uZXdfZGV2aWNlKGFkYXB0ZXIsICZib2FyZF9pbmZvKTsNCmRp ZmYgLXUgLXAgYS9kcml2ZXJzL21lZGlhL3BjaS9jeDIzODg1L2N4MjM4ODUt ZHZiLmMgYi9kcml2ZXJzL21lZGlhL3BjaS9jeDIzODg1L2N4MjM4ODUtZHZi LmMNCi0tLSBhL2RyaXZlcnMvbWVkaWEvcGNpL2N4MjM4ODUvY3gyMzg4NS1k dmIuYw0KKysrIGIvZHJpdmVycy9tZWRpYS9wY2kvY3gyMzg4NS9jeDIzODg1 LWR2Yi5jDQpAQCAtMTE1NSw3ICsxMTU1LDcgQEAgc3RhdGljIGludCBkdmJf cmVnaXN0ZXJfY2lfbWFjKHN0cnVjdCBjeA0KIAkJc3AyX2NvbmZpZy5wcml2 ID0gcG9ydDsNCiAJCXNwMl9jb25maWcuY2lfY29udHJvbCA9IGN4MjM4ODVf c3AyX2NpX2N0cmw7DQogCQltZW1zZXQoJmluZm8sIDAsIHNpemVvZihzdHJ1 Y3QgaTJjX2JvYXJkX2luZm8pKTsNCi0JCXN0cnNjcHkoaW5mby50eXBlLCAi c3AyIiwgSTJDX05BTUVfU0laRSk7DQorCQlzdHJhY3B5KGluZm8udHlwZSwg InNwMiIpOw0KIAkJaW5mby5hZGRyID0gMHg0MDsNCiAJCWluZm8ucGxhdGZv cm1fZGF0YSA9ICZzcDJfY29uZmlnOw0KIAkJcmVxdWVzdF9tb2R1bGUoaW5m by50eXBlKTsNCkBAIC0xODIyLDcgKzE4MjIsNyBAQCBzdGF0aWMgaW50IGR2 Yl9yZWdpc3RlcihzdHJ1Y3QgY3gyMzg4NV90DQogCQljYXNlIDE6DQogCQkJ LyogYXR0YWNoIGRlbW9kICsgdHVuZXIgY29tYm8gKi8NCiAJCQltZW1zZXQo JmluZm8sIDAsIHNpemVvZihpbmZvKSk7DQotCQkJc3Ryc2NweShpbmZvLnR5 cGUsICJ0ZGExMDA3MV9jeDI0MTE4IiwgSTJDX05BTUVfU0laRSk7DQorCQkJ c3RyYWNweShpbmZvLnR5cGUsICJ0ZGExMDA3MV9jeDI0MTE4Iik7DQogCQkJ aW5mby5hZGRyID0gMHgwNTsNCiAJCQlpbmZvLnBsYXRmb3JtX2RhdGEgPSAm dGRhMTAwNzFfcGRhdGE7DQogCQkJcmVxdWVzdF9tb2R1bGUoInRkYTEwMDcx Iik7DQpAQCAtMTgzOSw3ICsxODM5LDcgQEAgc3RhdGljIGludCBkdmJfcmVn aXN0ZXIoc3RydWN0IGN4MjM4ODVfdA0KIAkJCS8qIGF0dGFjaCBTRUMgKi8N CiAJCQlhODI5M19wZGF0YS5kdmJfZnJvbnRlbmQgPSBmZTAtPmR2Yi5mcm9u dGVuZDsNCiAJCQltZW1zZXQoJmluZm8sIDAsIHNpemVvZihpbmZvKSk7DQot CQkJc3Ryc2NweShpbmZvLnR5cGUsICJhODI5MyIsIEkyQ19OQU1FX1NJWkUp Ow0KKwkJCXN0cmFjcHkoaW5mby50eXBlLCAiYTgyOTMiKTsNCiAJCQlpbmZv LmFkZHIgPSAweDBiOw0KIAkJCWluZm8ucGxhdGZvcm1fZGF0YSA9ICZhODI5 M19wZGF0YTsNCiAJCQlyZXF1ZXN0X21vZHVsZSgiYTgyOTMiKTsNCkBAIC0x ODYwLDcgKzE4NjAsNyBAQCBzdGF0aWMgaW50IGR2Yl9yZWdpc3RlcihzdHJ1 Y3QgY3gyMzg4NV90DQogCQkJc2kyMTY1X3BkYXRhLmNoaXBfbW9kZSA9IFNJ MjE2NV9NT0RFX1BMTF9YVEFMOw0KIAkJCXNpMjE2NV9wZGF0YS5yZWZfZnJl cV9oeiA9IDE2MDAwMDAwOw0KIAkJCW1lbXNldCgmaW5mbywgMCwgc2l6ZW9m KHN0cnVjdCBpMmNfYm9hcmRfaW5mbykpOw0KLQkJCXN0cnNjcHkoaW5mby50 eXBlLCAic2kyMTY1IiwgSTJDX05BTUVfU0laRSk7DQorCQkJc3RyYWNweShp bmZvLnR5cGUsICJzaTIxNjUiKTsNCiAJCQlpbmZvLmFkZHIgPSAweDY0Ow0K IAkJCWluZm8ucGxhdGZvcm1fZGF0YSA9ICZzaTIxNjVfcGRhdGE7DQogCQkJ cmVxdWVzdF9tb2R1bGUoaW5mby50eXBlKTsNCkBAIC0xODk0LDcgKzE4OTQs NyBAQCBzdGF0aWMgaW50IGR2Yl9yZWdpc3RlcihzdHJ1Y3QgY3gyMzg4NV90 DQogDQogCQkvKiBhdHRhY2ggZGVtb2QgKyB0dW5lciBjb21ibyAqLw0KIAkJ bWVtc2V0KCZpbmZvLCAwLCBzaXplb2YoaW5mbykpOw0KLQkJc3Ryc2NweShp bmZvLnR5cGUsICJ0ZGExMDA3MV9jeDI0MTE4IiwgSTJDX05BTUVfU0laRSk7 DQorCQlzdHJhY3B5KGluZm8udHlwZSwgInRkYTEwMDcxX2N4MjQxMTgiKTsN CiAJCWluZm8uYWRkciA9IDB4MDU7DQogCQlpbmZvLnBsYXRmb3JtX2RhdGEg PSAmdGRhMTAwNzFfcGRhdGE7DQogCQlyZXF1ZXN0X21vZHVsZSgidGRhMTAw NzEiKTsNCkBAIC0xOTExLDcgKzE5MTEsNyBAQCBzdGF0aWMgaW50IGR2Yl9y ZWdpc3RlcihzdHJ1Y3QgY3gyMzg4NV90DQogCQkvKiBhdHRhY2ggU0VDICov DQogCQlhODI5M19wZGF0YS5kdmJfZnJvbnRlbmQgPSBmZTAtPmR2Yi5mcm9u dGVuZDsNCiAJCW1lbXNldCgmaW5mbywgMCwgc2l6ZW9mKGluZm8pKTsNCi0J CXN0cnNjcHkoaW5mby50eXBlLCAiYTgyOTMiLCBJMkNfTkFNRV9TSVpFKTsN CisJCXN0cmFjcHkoaW5mby50eXBlLCAiYTgyOTMiKTsNCiAJCWluZm8uYWRk ciA9IDB4MGI7DQogCQlpbmZvLnBsYXRmb3JtX2RhdGEgPSAmYTgyOTNfcGRh dGE7DQogCQlyZXF1ZXN0X21vZHVsZSgiYTgyOTMiKTsNCkBAIC0xOTQ0LDcg KzE5NDQsNyBAQCBzdGF0aWMgaW50IGR2Yl9yZWdpc3RlcihzdHJ1Y3QgY3gy Mzg4NV90DQogCQkJdHMyMDIwX2NvbmZpZy5mZSA9IGZlMC0+ZHZiLmZyb250 ZW5kOw0KIAkJCXRzMjAyMF9jb25maWcuZ2V0X2FnY19wd20gPSBtODhkczMx MDNfZ2V0X2FnY19wd207DQogCQkJbWVtc2V0KCZpbmZvLCAwLCBzaXplb2Yo c3RydWN0IGkyY19ib2FyZF9pbmZvKSk7DQotCQkJc3Ryc2NweShpbmZvLnR5 cGUsICJ0czIwMjAiLCBJMkNfTkFNRV9TSVpFKTsNCisJCQlzdHJhY3B5KGlu Zm8udHlwZSwgInRzMjAyMCIpOw0KIAkJCWluZm8uYWRkciA9IDB4NjA7DQog CQkJaW5mby5wbGF0Zm9ybV9kYXRhID0gJnRzMjAyMF9jb25maWc7DQogCQkJ cmVxdWVzdF9tb2R1bGUoaW5mby50eXBlKTsNCkBAIC0xOTgxLDcgKzE5ODEs NyBAQCBzdGF0aWMgaW50IGR2Yl9yZWdpc3RlcihzdHJ1Y3QgY3gyMzg4NV90 DQogCQkJc2kyMTY4X2NvbmZpZy5mZSA9ICZmZTAtPmR2Yi5mcm9udGVuZDsN CiAJCQlzaTIxNjhfY29uZmlnLnRzX21vZGUgPSBTSTIxNjhfVFNfU0VSSUFM Ow0KIAkJCW1lbXNldCgmaW5mbywgMCwgc2l6ZW9mKHN0cnVjdCBpMmNfYm9h cmRfaW5mbykpOw0KLQkJCXN0cnNjcHkoaW5mby50eXBlLCAic2kyMTY4Iiwg STJDX05BTUVfU0laRSk7DQorCQkJc3RyYWNweShpbmZvLnR5cGUsICJzaTIx NjgiKTsNCiAJCQlpbmZvLmFkZHIgPSAweDY0Ow0KIAkJCWluZm8ucGxhdGZv cm1fZGF0YSA9ICZzaTIxNjhfY29uZmlnOw0KIAkJCXJlcXVlc3RfbW9kdWxl KGluZm8udHlwZSk7DQpAQCAtMjAwMCw3ICsyMDAwLDcgQEAgc3RhdGljIGlu dCBkdmJfcmVnaXN0ZXIoc3RydWN0IGN4MjM4ODVfdA0KIAkJCXNpMjE1N19j b25maWcuZmUgPSBmZTAtPmR2Yi5mcm9udGVuZDsNCiAJCQlzaTIxNTdfY29u ZmlnLmlmX3BvcnQgPSAxOw0KIAkJCW1lbXNldCgmaW5mbywgMCwgc2l6ZW9m KHN0cnVjdCBpMmNfYm9hcmRfaW5mbykpOw0KLQkJCXN0cnNjcHkoaW5mby50 eXBlLCAic2kyMTU3IiwgSTJDX05BTUVfU0laRSk7DQorCQkJc3RyYWNweShp bmZvLnR5cGUsICJzaTIxNTciKTsNCiAJCQlpbmZvLmFkZHIgPSAweDYwOw0K IAkJCWluZm8ucGxhdGZvcm1fZGF0YSA9ICZzaTIxNTdfY29uZmlnOw0KIAkJ CXJlcXVlc3RfbW9kdWxlKGluZm8udHlwZSk7DQpAQCAtMjAyOCw3ICsyMDI4 LDcgQEAgc3RhdGljIGludCBkdmJfcmVnaXN0ZXIoc3RydWN0IGN4MjM4ODVf dA0KIAkJc2kyMTY4X2NvbmZpZy5mZSA9ICZmZTAtPmR2Yi5mcm9udGVuZDsN CiAJCXNpMjE2OF9jb25maWcudHNfbW9kZSA9IFNJMjE2OF9UU19QQVJBTExF TDsNCiAJCW1lbXNldCgmaW5mbywgMCwgc2l6ZW9mKHN0cnVjdCBpMmNfYm9h cmRfaW5mbykpOw0KLQkJc3Ryc2NweShpbmZvLnR5cGUsICJzaTIxNjgiLCBJ MkNfTkFNRV9TSVpFKTsNCisJCXN0cmFjcHkoaW5mby50eXBlLCAic2kyMTY4 Iik7DQogCQlpbmZvLmFkZHIgPSAweDY0Ow0KIAkJaW5mby5wbGF0Zm9ybV9k YXRhID0gJnNpMjE2OF9jb25maWc7DQogCQlyZXF1ZXN0X21vZHVsZShpbmZv LnR5cGUpOw0KQEAgLTIwNDYsNyArMjA0Niw3IEBAIHN0YXRpYyBpbnQgZHZi X3JlZ2lzdGVyKHN0cnVjdCBjeDIzODg1X3QNCiAJCXNpMjE1N19jb25maWcu ZmUgPSBmZTAtPmR2Yi5mcm9udGVuZDsNCiAJCXNpMjE1N19jb25maWcuaWZf cG9ydCA9IDE7DQogCQltZW1zZXQoJmluZm8sIDAsIHNpemVvZihzdHJ1Y3Qg aTJjX2JvYXJkX2luZm8pKTsNCi0JCXN0cnNjcHkoaW5mby50eXBlLCAic2ky MTU3IiwgSTJDX05BTUVfU0laRSk7DQorCQlzdHJhY3B5KGluZm8udHlwZSwg InNpMjE1NyIpOw0KIAkJaW5mby5hZGRyID0gMHg2MDsNCiAJCWluZm8ucGxh dGZvcm1fZGF0YSA9ICZzaTIxNTdfY29uZmlnOw0KIAkJcmVxdWVzdF9tb2R1 bGUoaW5mby50eXBlKTsNCkBAIC0yMDc2LDcgKzIwNzYsNyBAQCBzdGF0aWMg aW50IGR2Yl9yZWdpc3RlcihzdHJ1Y3QgY3gyMzg4NV90DQogCQl0czIwMjBf Y29uZmlnLmZlID0gZmUwLT5kdmIuZnJvbnRlbmQ7DQogCQl0czIwMjBfY29u ZmlnLmdldF9hZ2NfcHdtID0gbTg4ZHMzMTAzX2dldF9hZ2NfcHdtOw0KIAkJ bWVtc2V0KCZpbmZvLCAwLCBzaXplb2Yoc3RydWN0IGkyY19ib2FyZF9pbmZv KSk7DQotCQlzdHJzY3B5KGluZm8udHlwZSwgInRzMjAyMCIsIEkyQ19OQU1F X1NJWkUpOw0KKwkJc3RyYWNweShpbmZvLnR5cGUsICJ0czIwMjAiKTsNCiAJ CWluZm8uYWRkciA9IDB4NjA7DQogCQlpbmZvLnBsYXRmb3JtX2RhdGEgPSAm dHMyMDIwX2NvbmZpZzsNCiAJCXJlcXVlc3RfbW9kdWxlKGluZm8udHlwZSk7 DQpAQCAtMjEyNSw3ICsyMTI1LDcgQEAgc3RhdGljIGludCBkdmJfcmVnaXN0 ZXIoc3RydWN0IGN4MjM4ODVfdA0KIAkJfQ0KIA0KIAkJbWVtc2V0KCZpbmZv LCAwLCBzaXplb2YoaW5mbykpOw0KLQkJc3Ryc2NweShpbmZvLnR5cGUsICJt ODhkczMxMDMiLCBJMkNfTkFNRV9TSVpFKTsNCisJCXN0cmFjcHkoaW5mby50 eXBlLCAibTg4ZHMzMTAzIik7DQogCQlpbmZvLmFkZHIgPSAweDY4Ow0KIAkJ aW5mby5wbGF0Zm9ybV9kYXRhID0gJm04OGRzMzEwM19wZGF0YTsNCiAJCXJl cXVlc3RfbW9kdWxlKGluZm8udHlwZSk7DQpAQCAtMjE0NSw3ICsyMTQ1LDcg QEAgc3RhdGljIGludCBkdmJfcmVnaXN0ZXIoc3RydWN0IGN4MjM4ODVfdA0K IAkJdHMyMDIwX2NvbmZpZy5mZSA9IGZlMC0+ZHZiLmZyb250ZW5kOw0KIAkJ dHMyMDIwX2NvbmZpZy5nZXRfYWdjX3B3bSA9IG04OGRzMzEwM19nZXRfYWdj X3B3bTsNCiAJCW1lbXNldCgmaW5mbywgMCwgc2l6ZW9mKHN0cnVjdCBpMmNf Ym9hcmRfaW5mbykpOw0KLQkJc3Ryc2NweShpbmZvLnR5cGUsICJ0czIwMjAi LCBJMkNfTkFNRV9TSVpFKTsNCisJCXN0cmFjcHkoaW5mby50eXBlLCAidHMy MDIwIik7DQogCQlpbmZvLmFkZHIgPSAweDYwOw0KIAkJaW5mby5wbGF0Zm9y bV9kYXRhID0gJnRzMjAyMF9jb25maWc7DQogCQlyZXF1ZXN0X21vZHVsZShp bmZvLnR5cGUpOw0KQEAgLTIxOTAsNyArMjE5MCw3IEBAIHN0YXRpYyBpbnQg ZHZiX3JlZ2lzdGVyKHN0cnVjdCBjeDIzODg1X3QNCiAJCXNpMjE2OF9jb25m aWcuaTJjX2FkYXB0ZXIgPSAmYWRhcHRlcjsNCiAJCXNpMjE2OF9jb25maWcu ZmUgPSAmZmUwLT5kdmIuZnJvbnRlbmQ7DQogCQltZW1zZXQoJmluZm8sIDAs IHNpemVvZihzdHJ1Y3QgaTJjX2JvYXJkX2luZm8pKTsNCi0JCXN0cnNjcHko aW5mby50eXBlLCAic2kyMTY4IiwgSTJDX05BTUVfU0laRSk7DQorCQlzdHJh Y3B5KGluZm8udHlwZSwgInNpMjE2OCIpOw0KIAkJaW5mby5hZGRyID0gMHg2 NDsNCiAJCWluZm8ucGxhdGZvcm1fZGF0YSA9ICZzaTIxNjhfY29uZmlnOw0K IAkJcmVxdWVzdF9tb2R1bGUoaW5mby50eXBlKTsNCkBAIC0yMjA4LDcgKzIy MDgsNyBAQCBzdGF0aWMgaW50IGR2Yl9yZWdpc3RlcihzdHJ1Y3QgY3gyMzg4 NV90DQogCQlzaTIxNTdfY29uZmlnLmZlID0gZmUwLT5kdmIuZnJvbnRlbmQ7 DQogCQlzaTIxNTdfY29uZmlnLmlmX3BvcnQgPSAxOw0KIAkJbWVtc2V0KCZp bmZvLCAwLCBzaXplb2Yoc3RydWN0IGkyY19ib2FyZF9pbmZvKSk7DQotCQlz dHJzY3B5KGluZm8udHlwZSwgInNpMjE1NyIsIEkyQ19OQU1FX1NJWkUpOw0K KwkJc3RyYWNweShpbmZvLnR5cGUsICJzaTIxNTciKTsNCiAJCWluZm8uYWRk ciA9IDB4NjA7DQogCQlpbmZvLnBsYXRmb3JtX2RhdGEgPSAmc2kyMTU3X2Nv bmZpZzsNCiAJCXJlcXVlc3RfbW9kdWxlKGluZm8udHlwZSk7DQpAQCAtMjI0 MSw3ICsyMjQxLDcgQEAgc3RhdGljIGludCBkdmJfcmVnaXN0ZXIoc3RydWN0 IGN4MjM4ODVfdA0KIAkJCS8qIGF0dGFjaCBTRUMgKi8NCiAJCQlhODI5M19w ZGF0YS5kdmJfZnJvbnRlbmQgPSBmZTAtPmR2Yi5mcm9udGVuZDsNCiAJCQlt ZW1zZXQoJmluZm8sIDAsIHNpemVvZihpbmZvKSk7DQotCQkJc3Ryc2NweShp bmZvLnR5cGUsICJhODI5MyIsIEkyQ19OQU1FX1NJWkUpOw0KKwkJCXN0cmFj cHkoaW5mby50eXBlLCAiYTgyOTMiKTsNCiAJCQlpbmZvLmFkZHIgPSAweDBi Ow0KIAkJCWluZm8ucGxhdGZvcm1fZGF0YSA9ICZhODI5M19wZGF0YTsNCiAJ CQlyZXF1ZXN0X21vZHVsZSgiYTgyOTMiKTsNCkBAIC0yMjU4LDcgKzIyNTgs NyBAQCBzdGF0aWMgaW50IGR2Yl9yZWdpc3RlcihzdHJ1Y3QgY3gyMzg4NV90 DQogCQkJbWVtc2V0KCZtODhyczYwMDB0X2NvbmZpZywgMCwgc2l6ZW9mKG04 OHJzNjAwMHRfY29uZmlnKSk7DQogCQkJbTg4cnM2MDAwdF9jb25maWcuZmUg PSBmZTAtPmR2Yi5mcm9udGVuZDsNCiAJCQltZW1zZXQoJmluZm8sIDAsIHNp emVvZihzdHJ1Y3QgaTJjX2JvYXJkX2luZm8pKTsNCi0JCQlzdHJzY3B5KGlu Zm8udHlwZSwgIm04OHJzNjAwMHQiLCBJMkNfTkFNRV9TSVpFKTsNCisJCQlz dHJhY3B5KGluZm8udHlwZSwgIm04OHJzNjAwMHQiKTsNCiAJCQlpbmZvLmFk ZHIgPSAweDIxOw0KIAkJCWluZm8ucGxhdGZvcm1fZGF0YSA9ICZtODhyczYw MDB0X2NvbmZpZzsNCiAJCQlyZXF1ZXN0X21vZHVsZSgiJXMiLCBpbmZvLnR5 cGUpOw0KQEAgLTIyODMsNyArMjI4Myw3IEBAIHN0YXRpYyBpbnQgZHZiX3Jl Z2lzdGVyKHN0cnVjdCBjeDIzODg1X3QNCiAJCQlzaTIxNjhfY29uZmlnLmZl ID0gJmZlMC0+ZHZiLmZyb250ZW5kOw0KIAkJCXNpMjE2OF9jb25maWcudHNf bW9kZSA9IFNJMjE2OF9UU19TRVJJQUw7DQogCQkJbWVtc2V0KCZpbmZvLCAw LCBzaXplb2Yoc3RydWN0IGkyY19ib2FyZF9pbmZvKSk7DQotCQkJc3Ryc2Nw eShpbmZvLnR5cGUsICJzaTIxNjgiLCBJMkNfTkFNRV9TSVpFKTsNCisJCQlz dHJhY3B5KGluZm8udHlwZSwgInNpMjE2OCIpOw0KIAkJCWluZm8uYWRkciA9 IDB4NjQ7DQogCQkJaW5mby5wbGF0Zm9ybV9kYXRhID0gJnNpMjE2OF9jb25m aWc7DQogCQkJcmVxdWVzdF9tb2R1bGUoIiVzIiwgaW5mby50eXBlKTsNCkBA IC0yMzAxLDcgKzIzMDEsNyBAQCBzdGF0aWMgaW50IGR2Yl9yZWdpc3Rlcihz dHJ1Y3QgY3gyMzg4NV90DQogCQkJc2kyMTU3X2NvbmZpZy5mZSA9IGZlMC0+ ZHZiLmZyb250ZW5kOw0KIAkJCXNpMjE1N19jb25maWcuaWZfcG9ydCA9IDE7 DQogCQkJbWVtc2V0KCZpbmZvLCAwLCBzaXplb2Yoc3RydWN0IGkyY19ib2Fy ZF9pbmZvKSk7DQotCQkJc3Ryc2NweShpbmZvLnR5cGUsICJzaTIxNTciLCBJ MkNfTkFNRV9TSVpFKTsNCisJCQlzdHJhY3B5KGluZm8udHlwZSwgInNpMjE1 NyIpOw0KIAkJCWluZm8uYWRkciA9IDB4NjA7DQogCQkJaW5mby5wbGF0Zm9y bV9kYXRhID0gJnNpMjE1N19jb25maWc7DQogCQkJcmVxdWVzdF9tb2R1bGUo IiVzIiwgaW5mby50eXBlKTsNCkBAIC0yMzM2LDcgKzIzMzYsNyBAQCBzdGF0 aWMgaW50IGR2Yl9yZWdpc3RlcihzdHJ1Y3QgY3gyMzg4NV90DQogCQkJc2ky MTY4X2NvbmZpZy5mZSA9ICZmZTAtPmR2Yi5mcm9udGVuZDsNCiAJCQlzaTIx NjhfY29uZmlnLnRzX21vZGUgPSBTSTIxNjhfVFNfU0VSSUFMOw0KIAkJCW1l bXNldCgmaW5mbywgMCwgc2l6ZW9mKHN0cnVjdCBpMmNfYm9hcmRfaW5mbykp Ow0KLQkJCXN0cnNjcHkoaW5mby50eXBlLCAic2kyMTY4IiwgSTJDX05BTUVf U0laRSk7DQorCQkJc3RyYWNweShpbmZvLnR5cGUsICJzaTIxNjgiKTsNCiAJ CQlpbmZvLmFkZHIgPSAweDY0Ow0KIAkJCWluZm8ucGxhdGZvcm1fZGF0YSA9 ICZzaTIxNjhfY29uZmlnOw0KIAkJCXJlcXVlc3RfbW9kdWxlKCIlcyIsIGlu Zm8udHlwZSk7DQpAQCAtMjM1NCw3ICsyMzU0LDcgQEAgc3RhdGljIGludCBk dmJfcmVnaXN0ZXIoc3RydWN0IGN4MjM4ODVfdA0KIAkJCXNpMjE1N19jb25m aWcuZmUgPSBmZTAtPmR2Yi5mcm9udGVuZDsNCiAJCQlzaTIxNTdfY29uZmln LmlmX3BvcnQgPSAxOw0KIAkJCW1lbXNldCgmaW5mbywgMCwgc2l6ZW9mKHN0 cnVjdCBpMmNfYm9hcmRfaW5mbykpOw0KLQkJCXN0cnNjcHkoaW5mby50eXBl LCAic2kyMTU3IiwgSTJDX05BTUVfU0laRSk7DQorCQkJc3RyYWNweShpbmZv LnR5cGUsICJzaTIxNTciKTsNCiAJCQlpbmZvLmFkZHIgPSAweDYwOw0KIAkJ CWluZm8ucGxhdGZvcm1fZGF0YSA9ICZzaTIxNTdfY29uZmlnOw0KIAkJCXJl cXVlc3RfbW9kdWxlKCIlcyIsIGluZm8udHlwZSk7DQpAQCAtMjM4Myw3ICsy MzgzLDcgQEAgc3RhdGljIGludCBkdmJfcmVnaXN0ZXIoc3RydWN0IGN4MjM4 ODVfdA0KIAkJCXNpMjE2OF9jb25maWcuZmUgPSAmZmUwLT5kdmIuZnJvbnRl bmQ7DQogCQkJc2kyMTY4X2NvbmZpZy50c19tb2RlID0gU0kyMTY4X1RTX1NF UklBTDsNCiAJCQltZW1zZXQoJmluZm8sIDAsIHNpemVvZihzdHJ1Y3QgaTJj X2JvYXJkX2luZm8pKTsNCi0JCQlzdHJzY3B5KGluZm8udHlwZSwgInNpMjE2 OCIsIEkyQ19OQU1FX1NJWkUpOw0KKwkJCXN0cmFjcHkoaW5mby50eXBlLCAi c2kyMTY4Iik7DQogCQkJaW5mby5hZGRyID0gMHg2NjsNCiAJCQlpbmZvLnBs YXRmb3JtX2RhdGEgPSAmc2kyMTY4X2NvbmZpZzsNCiAJCQlyZXF1ZXN0X21v ZHVsZSgiJXMiLCBpbmZvLnR5cGUpOw0KQEAgLTI0MDEsNyArMjQwMSw3IEBA IHN0YXRpYyBpbnQgZHZiX3JlZ2lzdGVyKHN0cnVjdCBjeDIzODg1X3QNCiAJ CQlzaTIxNTdfY29uZmlnLmZlID0gZmUwLT5kdmIuZnJvbnRlbmQ7DQogCQkJ c2kyMTU3X2NvbmZpZy5pZl9wb3J0ID0gMTsNCiAJCQltZW1zZXQoJmluZm8s IDAsIHNpemVvZihzdHJ1Y3QgaTJjX2JvYXJkX2luZm8pKTsNCi0JCQlzdHJz Y3B5KGluZm8udHlwZSwgInNpMjE1NyIsIEkyQ19OQU1FX1NJWkUpOw0KKwkJ CXN0cmFjcHkoaW5mby50eXBlLCAic2kyMTU3Iik7DQogCQkJaW5mby5hZGRy ID0gMHg2MjsNCiAJCQlpbmZvLnBsYXRmb3JtX2RhdGEgPSAmc2kyMTU3X2Nv bmZpZzsNCiAJCQlyZXF1ZXN0X21vZHVsZSgiJXMiLCBpbmZvLnR5cGUpOw0K QEAgLTI0NDMsNyArMjQ0Myw3IEBAIHN0YXRpYyBpbnQgZHZiX3JlZ2lzdGVy KHN0cnVjdCBjeDIzODg1X3QNCiAJCQlzaTIxNTdfY29uZmlnLmlmX3BvcnQg PSAxOw0KIAkJCXNpMjE1N19jb25maWcuaW52ZXJzaW9uID0gMTsNCiAJCQlt ZW1zZXQoJmluZm8sIDAsIHNpemVvZihzdHJ1Y3QgaTJjX2JvYXJkX2luZm8p KTsNCi0JCQlzdHJzY3B5KGluZm8udHlwZSwgInNpMjE1NyIsIEkyQ19OQU1F X1NJWkUpOw0KKwkJCXN0cmFjcHkoaW5mby50eXBlLCAic2kyMTU3Iik7DQog CQkJaW5mby5hZGRyID0gMHg2MDsNCiAJCQlpbmZvLnBsYXRmb3JtX2RhdGEg PSAmc2kyMTU3X2NvbmZpZzsNCiAJCQlyZXF1ZXN0X21vZHVsZSgiJXMiLCBp bmZvLnR5cGUpOw0KQEAgLTI0NzksNyArMjQ3OSw3IEBAIHN0YXRpYyBpbnQg ZHZiX3JlZ2lzdGVyKHN0cnVjdCBjeDIzODg1X3QNCiAJCQlzaTIxNTdfY29u ZmlnLmlmX3BvcnQgPSAxOw0KIAkJCXNpMjE1N19jb25maWcuaW52ZXJzaW9u ID0gMTsNCiAJCQltZW1zZXQoJmluZm8sIDAsIHNpemVvZihzdHJ1Y3QgaTJj X2JvYXJkX2luZm8pKTsNCi0JCQlzdHJzY3B5KGluZm8udHlwZSwgInNpMjE1 NyIsIEkyQ19OQU1FX1NJWkUpOw0KKwkJCXN0cmFjcHkoaW5mby50eXBlLCAi c2kyMTU3Iik7DQogCQkJaW5mby5hZGRyID0gMHg2MjsNCiAJCQlpbmZvLnBs YXRmb3JtX2RhdGEgPSAmc2kyMTU3X2NvbmZpZzsNCiAJCQlyZXF1ZXN0X21v ZHVsZSgiJXMiLCBpbmZvLnR5cGUpOw0KQEAgLTI1MTksNyArMjUxOSw3IEBA IHN0YXRpYyBpbnQgZHZiX3JlZ2lzdGVyKHN0cnVjdCBjeDIzODg1X3QNCiAJ CQlzaTIxNTdfY29uZmlnLmlmX3BvcnQgPSAxOw0KIAkJCXNpMjE1N19jb25m aWcuaW52ZXJzaW9uID0gMTsNCiAJCQltZW1zZXQoJmluZm8sIDAsIHNpemVv ZihzdHJ1Y3QgaTJjX2JvYXJkX2luZm8pKTsNCi0JCQlzdHJzY3B5KGluZm8u dHlwZSwgInNpMjE1NyIsIEkyQ19OQU1FX1NJWkUpOw0KKwkJCXN0cmFjcHko aW5mby50eXBlLCAic2kyMTU3Iik7DQogCQkJaW5mby5hZGRyID0gMHg2MDsN CiAJCQlpbmZvLnBsYXRmb3JtX2RhdGEgPSAmc2kyMTU3X2NvbmZpZzsNCiAJ CQlyZXF1ZXN0X21vZHVsZSgiJXMiLCBpbmZvLnR5cGUpOw0KZGlmZiAtdSAt cCBhL2RyaXZlcnMvbWVkaWEvdXNiL2R2Yi11c2ItdjIvcnRsMjh4eHUuYyBi L2RyaXZlcnMvbWVkaWEvdXNiL2R2Yi11c2ItdjIvcnRsMjh4eHUuYw0KLS0t IGEvZHJpdmVycy9tZWRpYS91c2IvZHZiLXVzYi12Mi9ydGwyOHh4dS5jDQor KysgYi9kcml2ZXJzL21lZGlhL3VzYi9kdmItdXNiLXYyL3J0bDI4eHh1LmMN CkBAIC02OTMsNyArNjkzLDcgQEAgc3RhdGljIGludCBydGwyODMxdV9mcm9u dGVuZF9hdHRhY2goc3RydQ0KIA0KIAkvKiBhdHRhY2ggZGVtb2R1bGF0b3Ig Ki8NCiAJbWVtc2V0KCZib2FyZF9pbmZvLCAwLCBzaXplb2YoYm9hcmRfaW5m bykpOw0KLQlzdHJzY3B5KGJvYXJkX2luZm8udHlwZSwgInJ0bDI4MzAiLCBJ MkNfTkFNRV9TSVpFKTsNCisJc3RyYWNweShib2FyZF9pbmZvLnR5cGUsICJy dGwyODMwIik7DQogCWJvYXJkX2luZm8uYWRkciA9IDB4MTA7DQogCWJvYXJk X2luZm8ucGxhdGZvcm1fZGF0YSA9IHBkYXRhOw0KIAlyZXF1ZXN0X21vZHVs ZSgiJXMiLCBib2FyZF9pbmZvLnR5cGUpOw0KQEAgLTkxNCw3ICs5MTQsNyBA QCBzdGF0aWMgaW50IHJ0bDI4MzJ1X2Zyb250ZW5kX2F0dGFjaChzdHJ1DQog DQogCS8qIGF0dGFjaCBkZW1vZHVsYXRvciAqLw0KIAltZW1zZXQoJmJvYXJk X2luZm8sIDAsIHNpemVvZihib2FyZF9pbmZvKSk7DQotCXN0cnNjcHkoYm9h cmRfaW5mby50eXBlLCAicnRsMjgzMiIsIEkyQ19OQU1FX1NJWkUpOw0KKwlz dHJhY3B5KGJvYXJkX2luZm8udHlwZSwgInJ0bDI4MzIiKTsNCiAJYm9hcmRf aW5mby5hZGRyID0gMHgxMDsNCiAJYm9hcmRfaW5mby5wbGF0Zm9ybV9kYXRh ID0gcGRhdGE7DQogCXJlcXVlc3RfbW9kdWxlKCIlcyIsIGJvYXJkX2luZm8u dHlwZSk7DQpAQCAtOTUzLDcgKzk1Myw3IEBAIHN0YXRpYyBpbnQgcnRsMjgz MnVfZnJvbnRlbmRfYXR0YWNoKHN0cnUNCiANCiAJCQltbjg4NDcyX2NvbmZp Zy5mZSA9ICZhZGFwLT5mZVsxXTsNCiAJCQltbjg4NDcyX2NvbmZpZy5pMmNf d3JfbWF4ID0gMjIsDQotCQkJc3Ryc2NweShpbmZvLnR5cGUsICJtbjg4NDcy IiwgSTJDX05BTUVfU0laRSk7DQorCQkJc3RyYWNweShpbmZvLnR5cGUsICJt bjg4NDcyIik7DQogCQkJbW44ODQ3Ml9jb25maWcueHRhbCA9IDIwNTAwMDAw Ow0KIAkJCW1uODg0NzJfY29uZmlnLnRzX21vZGUgPSBTRVJJQUxfVFNfTU9E RTsNCiAJCQltbjg4NDcyX2NvbmZpZy50c19jbG9jayA9IFZBUklBQkxFX1RT X0NMT0NLOw0KQEAgLTk3OCw3ICs5NzgsNyBAQCBzdGF0aWMgaW50IHJ0bDI4 MzJ1X2Zyb250ZW5kX2F0dGFjaChzdHJ1DQogDQogCQkJbW44ODQ3M19jb25m aWcuZmUgPSAmYWRhcC0+ZmVbMV07DQogCQkJbW44ODQ3M19jb25maWcuaTJj X3dyX21heCA9IDIyLA0KLQkJCXN0cnNjcHkoaW5mby50eXBlLCAibW44ODQ3 MyIsIEkyQ19OQU1FX1NJWkUpOw0KKwkJCXN0cmFjcHkoaW5mby50eXBlLCAi bW44ODQ3MyIpOw0KIAkJCWluZm8uYWRkciA9IDB4MTg7DQogCQkJaW5mby5w bGF0Zm9ybV9kYXRhID0gJm1uODg0NzNfY29uZmlnOw0KIAkJCXJlcXVlc3Rf bW9kdWxlKGluZm8udHlwZSk7DQpAQCAtMTAyMSw3ICsxMDIxLDcgQEAgc3Rh dGljIGludCBydGwyODMydV9mcm9udGVuZF9hdHRhY2goc3RydQ0KIAkJCXNp MjE2OF9jb25maWcudHNfbW9kZSA9IFNJMjE2OF9UU19TRVJJQUw7DQogCQkJ c2kyMTY4X2NvbmZpZy50c19jbG9ja19pbnYgPSBmYWxzZTsNCiAJCQlzaTIx NjhfY29uZmlnLnRzX2Nsb2NrX2dhcHBlZCA9IHRydWU7DQotCQkJc3Ryc2Nw eShpbmZvLnR5cGUsICJzaTIxNjgiLCBJMkNfTkFNRV9TSVpFKTsNCisJCQlz dHJhY3B5KGluZm8udHlwZSwgInNpMjE2OCIpOw0KIAkJCWluZm8uYWRkciA9 IDB4NjQ7DQogCQkJaW5mby5wbGF0Zm9ybV9kYXRhID0gJnNpMjE2OF9jb25m aWc7DQogCQkJcmVxdWVzdF9tb2R1bGUoaW5mby50eXBlKTsNCkBAIC0xMjEy LDcgKzEyMTIsNyBAQCBzdGF0aWMgaW50IHJ0bDI4MzJ1X3R1bmVyX2F0dGFj aChzdHJ1Y3QNCiAJCQkJLmNsb2NrID0gMjg4MDAwMDAsDQogCQkJfTsNCiAN Ci0JCQlzdHJzY3B5KGluZm8udHlwZSwgImU0MDAwIiwgSTJDX05BTUVfU0la RSk7DQorCQkJc3RyYWNweShpbmZvLnR5cGUsICJlNDAwMCIpOw0KIAkJCWlu Zm8uYWRkciA9IDB4NjQ7DQogCQkJaW5mby5wbGF0Zm9ybV9kYXRhID0gJmU0 MDAwX2NvbmZpZzsNCiANCkBAIC0xMjM2LDcgKzEyMzYsNyBAQCBzdGF0aWMg aW50IHJ0bDI4MzJ1X3R1bmVyX2F0dGFjaChzdHJ1Y3QNCiAJCQl9Ow0KIAkJ CXN0cnVjdCBpMmNfYm9hcmRfaW5mbyBib2FyZF9pbmZvID0ge307DQogDQot CQkJc3Ryc2NweShib2FyZF9pbmZvLnR5cGUsICJmYzI1ODAiLCBJMkNfTkFN RV9TSVpFKTsNCisJCQlzdHJhY3B5KGJvYXJkX2luZm8udHlwZSwgImZjMjU4 MCIpOw0KIAkJCWJvYXJkX2luZm8uYWRkciA9IDB4NTY7DQogCQkJYm9hcmRf aW5mby5wbGF0Zm9ybV9kYXRhID0gJmZjMjU4MF9wZGF0YTsNCiAJCQlyZXF1 ZXN0X21vZHVsZSgiZmMyNTgwIik7DQpAQCAtMTI2Nyw3ICsxMjY3LDcgQEAg c3RhdGljIGludCBydGwyODMydV90dW5lcl9hdHRhY2goc3RydWN0DQogCQlp ZiAocmV0KQ0KIAkJCWdvdG8gZXJyOw0KIA0KLQkJc3Ryc2NweShib2FyZF9p bmZvLnR5cGUsICJ0dWE5MDAxIiwgSTJDX05BTUVfU0laRSk7DQorCQlzdHJh Y3B5KGJvYXJkX2luZm8udHlwZSwgInR1YTkwMDEiKTsNCiAJCWJvYXJkX2lu Zm8uYWRkciA9IDB4NjA7DQogCQlib2FyZF9pbmZvLnBsYXRmb3JtX2RhdGEg PSAmdHVhOTAwMV9wZGF0YTsNCiAJCXJlcXVlc3RfbW9kdWxlKCJ0dWE5MDAx Iik7DQpAQCAtMTMxMiw3ICsxMzEyLDcgQEAgc3RhdGljIGludCBydGwyODMy dV90dW5lcl9hdHRhY2goc3RydWN0DQogCQkJCS5pbnZlcnNpb24gPSBmYWxz ZSwNCiAJCQl9Ow0KIA0KLQkJCXN0cnNjcHkoaW5mby50eXBlLCAic2kyMTU3 IiwgSTJDX05BTUVfU0laRSk7DQorCQkJc3RyYWNweShpbmZvLnR5cGUsICJz aTIxNTciKTsNCiAJCQlpbmZvLmFkZHIgPSAweDYwOw0KIAkJCWluZm8ucGxh dGZvcm1fZGF0YSA9ICZzaTIxNTdfY29uZmlnOw0KIAkJCXJlcXVlc3RfbW9k dWxlKGluZm8udHlwZSk7DQpkaWZmIC11IC1wIGEvZHJpdmVycy9maXJtd2Fy ZS9hcm1fc2NtaS9wZXJmLmMgYi9kcml2ZXJzL2Zpcm13YXJlL2FybV9zY21p L3BlcmYuYw0KLS0tIGEvZHJpdmVycy9maXJtd2FyZS9hcm1fc2NtaS9wZXJm LmMNCisrKyBiL2RyaXZlcnMvZmlybXdhcmUvYXJtX3NjbWkvcGVyZi5jDQpA QCAtMTc0LDcgKzE3NCw3IEBAIHNjbWlfcGVyZl9kb21haW5fYXR0cmlidXRl c19nZXQoY29uc3Qgc3QNCiAJCQlkb21faW5mby0+bXVsdF9mYWN0b3IgPQ0K IAkJCQkJKGRvbV9pbmZvLT5zdXN0YWluZWRfZnJlcV9raHogKiAxMDAwKSAv DQogCQkJCQlkb21faW5mby0+c3VzdGFpbmVkX3BlcmZfbGV2ZWw7DQotCQlz dHJsY3B5KGRvbV9pbmZvLT5uYW1lLCBhdHRyLT5uYW1lLCBTQ01JX01BWF9T VFJfU0laRSk7DQorCQlzdHJhY3B5KGRvbV9pbmZvLT5uYW1lLCBhdHRyLT5u YW1lKTsNCiAJfQ0KIA0KIAlzY21pX3hmZXJfcHV0KGhhbmRsZSwgdCk7DQpk aWZmIC11IC1wIGEvZHJpdmVycy9od21vbi9mNzUzNzVzLmMgYi9kcml2ZXJz L2h3bW9uL2Y3NTM3NXMuYw0KLS0tIGEvZHJpdmVycy9od21vbi9mNzUzNzVz LmMNCisrKyBiL2RyaXZlcnMvaHdtb24vZjc1Mzc1cy5jDQpAQCAtODk5LDcg Kzg5OSw3IEBAIHN0YXRpYyBpbnQgZjc1Mzc1X2RldGVjdChzdHJ1Y3QgaTJj X2NsaWUNCiANCiAJdmVyc2lvbiA9IGY3NTM3NV9yZWFkOChjbGllbnQsIEY3 NTM3NV9SRUdfVkVSU0lPTik7DQogCWRldl9pbmZvKCZhZGFwdGVyLT5kZXYs ICJmb3VuZCAlcyB2ZXJzaW9uOiAlMDJYXG4iLCBuYW1lLCB2ZXJzaW9uKTsN Ci0Jc3RybGNweShpbmZvLT50eXBlLCBuYW1lLCBJMkNfTkFNRV9TSVpFKTsN CisJc3RyYWNweShpbmZvLT50eXBlLCBuYW1lKTsNCiANCiAJcmV0dXJuIDA7 DQogfQ0KZGlmZiAtdSAtcCBhL2RyaXZlcnMvaHdtb24vYWRtOTI0MC5jIGIv ZHJpdmVycy9od21vbi9hZG05MjQwLmMNCi0tLSBhL2RyaXZlcnMvaHdtb24v YWRtOTI0MC5jDQorKysgYi9kcml2ZXJzL2h3bW9uL2FkbTkyNDAuYw0KQEAg LTY1Nyw3ICs2NTcsNyBAQCBzdGF0aWMgaW50IGFkbTkyNDBfZGV0ZWN0KHN0 cnVjdCBpMmNfY2xpDQogCQkgbWFuX2lkID09IDB4MjMgPyAiQURNOTI0MCIg Og0KIAkJIG1hbl9pZCA9PSAweGRhID8gIkRTMTc4MCIgOiAiTE04MSIsIGRp ZV9yZXYpOw0KIA0KLQlzdHJsY3B5KGluZm8tPnR5cGUsIG5hbWUsIEkyQ19O QU1FX1NJWkUpOw0KKwlzdHJhY3B5KGluZm8tPnR5cGUsIG5hbWUpOw0KIA0K IAlyZXR1cm4gMDsNCiB9DQpkaWZmIC11IC1wIGEvZHJpdmVycy9od21vbi9z bXNjNDdtMTkyLmMgYi9kcml2ZXJzL2h3bW9uL3Ntc2M0N20xOTIuYw0KLS0t IGEvZHJpdmVycy9od21vbi9zbXNjNDdtMTkyLmMNCisrKyBiL2RyaXZlcnMv aHdtb24vc21zYzQ3bTE5Mi5jDQpAQCAtNTgyLDcgKzU4Miw3IEBAIHN0YXRp YyBpbnQgc21zYzQ3bTE5Ml9kZXRlY3Qoc3RydWN0IGkyY18NCiAJCXJldHVy biAtRU5PREVWOw0KIAl9DQogDQotCXN0cmxjcHkoaW5mby0+dHlwZSwgInNt c2M0N20xOTIiLCBJMkNfTkFNRV9TSVpFKTsNCisJc3RyYWNweShpbmZvLT50 eXBlLCAic21zYzQ3bTE5MiIpOw0KIA0KIAlyZXR1cm4gMDsNCiB9DQpkaWZm IC11IC1wIGEvZHJpdmVycy9tZWRpYS9wY2kvaXZ0di9pdnR2LWkyYy5jIGIv ZHJpdmVycy9tZWRpYS9wY2kvaXZ0di9pdnR2LWkyYy5jDQotLS0gYS9kcml2 ZXJzL21lZGlhL3BjaS9pdnR2L2l2dHYtaTJjLmMNCisrKyBiL2RyaXZlcnMv bWVkaWEvcGNpL2l2dHYvaXZ0di1pMmMuYw0KQEAgLTIwNiw3ICsyMDYsNyBA QCBzdGF0aWMgaW50IGl2dHZfaTJjX25ld19pcihzdHJ1Y3QgaXZ0diAqDQog DQogCW1lbXNldCgmaW5mbywgMCwgc2l6ZW9mKHN0cnVjdCBpMmNfYm9hcmRf aW5mbykpOw0KIAlpbmZvLnBsYXRmb3JtX2RhdGEgPSBpbml0X2RhdGE7DQot CXN0cnNjcHkoaW5mby50eXBlLCB0eXBlLCBJMkNfTkFNRV9TSVpFKTsNCisJ c3RyYWNweShpbmZvLnR5cGUsIHR5cGUpOw0KIA0KIAlyZXR1cm4gaTJjX25l d19wcm9iZWRfZGV2aWNlKGFkYXAsICZpbmZvLCBhZGRyX2xpc3QsIE5VTEwp ID09IE5VTEwgPw0KIAkgICAgICAgLTEgOiAwOw0KQEAgLTIzNCw3ICsyMzQs NyBAQCBzdHJ1Y3QgaTJjX2NsaWVudCAqaXZ0dl9pMmNfbmV3X2lyX2xlZ2Fj DQogCX07DQogDQogCW1lbXNldCgmaW5mbywgMCwgc2l6ZW9mKHN0cnVjdCBp MmNfYm9hcmRfaW5mbykpOw0KLQlzdHJzY3B5KGluZm8udHlwZSwgImlyX3Zp ZGVvIiwgSTJDX05BTUVfU0laRSk7DQorCXN0cmFjcHkoaW5mby50eXBlLCAi aXJfdmlkZW8iKTsNCiAJcmV0dXJuIGkyY19uZXdfcHJvYmVkX2RldmljZSgm aXR2LT5pMmNfYWRhcCwgJmluZm8sIGFkZHJfbGlzdCwgTlVMTCk7DQogfQ0K IA0KZGlmZiAtdSAtcCBhL2RyaXZlcnMvaHdtb24vbG02My5jIGIvZHJpdmVy cy9od21vbi9sbTYzLmMNCi0tLSBhL2RyaXZlcnMvaHdtb24vbG02My5jDQor KysgYi9kcml2ZXJzL2h3bW9uL2xtNjMuYw0KQEAgLTk5NiwxMSArOTk2LDEx IEBAIHN0YXRpYyBpbnQgbG02M19kZXRlY3Qoc3RydWN0IGkyY19jbGllbnQN CiAJfQ0KIA0KIAlpZiAoY2hpcF9pZCA9PSAweDQxICYmIGFkZHJlc3MgPT0g MHg0YykNCi0JCXN0cmxjcHkoaW5mby0+dHlwZSwgImxtNjMiLCBJMkNfTkFN RV9TSVpFKTsNCisJCXN0cmFjcHkoaW5mby0+dHlwZSwgImxtNjMiKTsNCiAJ ZWxzZSBpZiAoY2hpcF9pZCA9PSAweDUxICYmIChhZGRyZXNzID09IDB4MTgg fHwgYWRkcmVzcyA9PSAweDRlKSkNCi0JCXN0cmxjcHkoaW5mby0+dHlwZSwg ImxtNjQiLCBJMkNfTkFNRV9TSVpFKTsNCisJCXN0cmFjcHkoaW5mby0+dHlw ZSwgImxtNjQiKTsNCiAJZWxzZSBpZiAoY2hpcF9pZCA9PSAweDQ5ICYmIGFk ZHJlc3MgPT0gMHg0YykNCi0JCXN0cmxjcHkoaW5mby0+dHlwZSwgImxtOTYx NjMiLCBJMkNfTkFNRV9TSVpFKTsNCisJCXN0cmFjcHkoaW5mby0+dHlwZSwg ImxtOTYxNjMiKTsNCiAJZWxzZQ0KIAkJcmV0dXJuIC1FTk9ERVY7DQogDQpk aWZmIC11IC1wIGEvZHJpdmVycy9pbmZpbmliYW5kL2NvcmUvZGV2aWNlLmMg Yi9kcml2ZXJzL2luZmluaWJhbmQvY29yZS9kZXZpY2UuYw0KLS0tIGEvZHJp dmVycy9pbmZpbmliYW5kL2NvcmUvZGV2aWNlLmMNCisrKyBiL2RyaXZlcnMv aW5maW5pYmFuZC9jb3JlL2RldmljZS5jDQpAQCAtNDI5LDcgKzQyOSw3IEBA IGludCBpYl9kZXZpY2VfcmVuYW1lKHN0cnVjdCBpYl9kZXZpY2UgKmkNCiAJ CXJldHVybiByZXQ7DQogCX0NCiANCi0Jc3RybGNweShpYmRldi0+bmFtZSwg bmFtZSwgSUJfREVWSUNFX05BTUVfTUFYKTsNCisJc3RyYWNweShpYmRldi0+ bmFtZSwgbmFtZSk7DQogCXJldCA9IHJlbmFtZV9jb21wYXRfZGV2cyhpYmRl dik7DQogDQogCWRvd25ncmFkZV93cml0ZSgmZGV2aWNlc19yd3NlbSk7DQpA QCAtMTE0Miw3ICsxMTQyLDcgQEAgc3RhdGljIGludCBhc3NpZ25fbmFtZShz dHJ1Y3QgaWJfZGV2aWNlDQogCQlyZXQgPSAtRU5GSUxFOw0KIAkJZ290byBv dXQ7DQogCX0NCi0Jc3RybGNweShkZXZpY2UtPm5hbWUsIGRldl9uYW1lKCZk ZXZpY2UtPmRldiksIElCX0RFVklDRV9OQU1FX01BWCk7DQorCXN0cmFjcHko ZGV2aWNlLT5uYW1lLCBkZXZfbmFtZSgmZGV2aWNlLT5kZXYpKTsNCiANCiAJ cmV0ID0geGFfYWxsb2NfY3ljbGljKCZkZXZpY2VzLCAmZGV2aWNlLT5pbmRl eCwgZGV2aWNlLCB4YV9saW1pdF8zMWIsDQogCQkJJmxhc3RfaWQsIEdGUF9L RVJORUwpOw0KZGlmZiAtdSAtcCBhL2RyaXZlcnMvbWVkaWEvdXNiL3RtNjAw MC90bTYwMDAtaTJjLmMgYi9kcml2ZXJzL21lZGlhL3VzYi90bTYwMDAvdG02 MDAwLWkyYy5jDQotLS0gYS9kcml2ZXJzL21lZGlhL3VzYi90bTYwMDAvdG02 MDAwLWkyYy5jDQorKysgYi9kcml2ZXJzL21lZGlhL3VzYi90bTYwMDAvdG02 MDAwLWkyYy5jDQpAQCAtMzAwLDcgKzMwMCw3IEBAIGludCB0bTYwMDBfaTJj X3JlZ2lzdGVyKHN0cnVjdCB0bTYwMDBfY28NCiAJCXJldHVybiByYzsNCiAN CiAJZGV2LT5pMmNfY2xpZW50LmFkYXB0ZXIgPSAmZGV2LT5pMmNfYWRhcDsN Ci0Jc3Ryc2NweShkZXYtPmkyY19jbGllbnQubmFtZSwgInRtNjAwMCBpbnRl cm5hbCIsIEkyQ19OQU1FX1NJWkUpOw0KKwlzdHJhY3B5KGRldi0+aTJjX2Ns aWVudC5uYW1lLCAidG02MDAwIGludGVybmFsIik7DQogCXRtNjAwMF9pMmNf ZWVwcm9tKGRldik7DQogDQogCXJldHVybiAwOw0KZGlmZiAtdSAtcCBhL2Ry aXZlcnMvaHdtb24vbG03My5jIGIvZHJpdmVycy9od21vbi9sbTczLmMNCi0t LSBhL2RyaXZlcnMvaHdtb24vbG03My5jDQorKysgYi9kcml2ZXJzL2h3bW9u L2xtNzMuYw0KQEAgLTI1Nyw3ICsyNTcsNyBAQCBzdGF0aWMgaW50IGxtNzNf ZGV0ZWN0KHN0cnVjdCBpMmNfY2xpZW50DQogCWlmIChpZCA8IDAgfHwgaWQg IT0gTE03M19JRCkNCiAJCXJldHVybiAtRU5PREVWOw0KIA0KLQlzdHJsY3B5 KGluZm8tPnR5cGUsICJsbTczIiwgSTJDX05BTUVfU0laRSk7DQorCXN0cmFj cHkoaW5mby0+dHlwZSwgImxtNzMiKTsNCiANCiAJcmV0dXJuIDA7DQogfQ0K ZGlmZiAtdSAtcCBhL2RyaXZlcnMvbWVkaWEvZHZiLWZyb250ZW5kcy9tODhk czMxMDMuYyBiL2RyaXZlcnMvbWVkaWEvZHZiLWZyb250ZW5kcy9tODhkczMx MDMuYw0KLS0tIGEvZHJpdmVycy9tZWRpYS9kdmItZnJvbnRlbmRzL204OGRz MzEwMy5jDQorKysgYi9kcml2ZXJzL21lZGlhL2R2Yi1mcm9udGVuZHMvbTg4 ZHMzMTAzLmMNCkBAIC0xMjc0LDcgKzEyNzQsNyBAQCBzdHJ1Y3QgZHZiX2Zy b250ZW5kICptODhkczMxMDNfYXR0YWNoKGNvDQogCXBkYXRhLmF0dGFjaF9p bl91c2UgPSB0cnVlOw0KIA0KIAltZW1zZXQoJmJvYXJkX2luZm8sIDAsIHNp emVvZihib2FyZF9pbmZvKSk7DQotCXN0cnNjcHkoYm9hcmRfaW5mby50eXBl LCAibTg4ZHMzMTAzIiwgSTJDX05BTUVfU0laRSk7DQorCXN0cmFjcHkoYm9h cmRfaW5mby50eXBlLCAibTg4ZHMzMTAzIik7DQogCWJvYXJkX2luZm8uYWRk ciA9IGNmZy0+aTJjX2FkZHI7DQogCWJvYXJkX2luZm8ucGxhdGZvcm1fZGF0 YSA9ICZwZGF0YTsNCiAJY2xpZW50ID0gaTJjX25ld19kZXZpY2UoaTJjLCAm Ym9hcmRfaW5mbyk7DQpkaWZmIC11IC1wIGEvZHJpdmVycy9uZXQvZXRoZXJu ZXQvcmVhbHRlay9yODE2OV9maXJtd2FyZS5jIGIvZHJpdmVycy9uZXQvZXRo ZXJuZXQvcmVhbHRlay9yODE2OV9maXJtd2FyZS5jDQotLS0gYS9kcml2ZXJz L25ldC9ldGhlcm5ldC9yZWFsdGVrL3I4MTY5X2Zpcm13YXJlLmMNCisrKyBi L2RyaXZlcnMvbmV0L2V0aGVybmV0L3JlYWx0ZWsvcjgxNjlfZmlybXdhcmUu Yw0KQEAgLTY4LDcgKzY4LDcgQEAgc3RhdGljIGJvb2wgcnRsX2Z3X2Zvcm1h dF9vayhzdHJ1Y3QgcnRsXw0KIAkJaWYgKHNpemUgPiAoZnctPnNpemUgLSBz dGFydCkgLyBGV19PUENPREVfU0laRSkNCiAJCQlyZXR1cm4gZmFsc2U7DQog DQotCQlzdHJzY3B5KHJ0bF9mdy0+dmVyc2lvbiwgZndfaW5mby0+dmVyc2lv biwgUlRMX1ZFUl9TSVpFKTsNCisJCXN0cmFjcHkocnRsX2Z3LT52ZXJzaW9u LCBmd19pbmZvLT52ZXJzaW9uKTsNCiANCiAJCXBhLT5jb2RlID0gKF9fbGUz MiAqKShmdy0+ZGF0YSArIHN0YXJ0KTsNCiAJCXBhLT5zaXplID0gc2l6ZTsN CkBAIC03Niw3ICs3Niw3IEBAIHN0YXRpYyBib29sIHJ0bF9md19mb3JtYXRf b2soc3RydWN0IHJ0bF8NCiAJCWlmIChmdy0+c2l6ZSAlIEZXX09QQ09ERV9T SVpFKQ0KIAkJCXJldHVybiBmYWxzZTsNCiANCi0JCXN0cnNjcHkocnRsX2Z3 LT52ZXJzaW9uLCBydGxfZnctPmZ3X25hbWUsIFJUTF9WRVJfU0laRSk7DQor CQlzdHJhY3B5KHJ0bF9mdy0+dmVyc2lvbiwgcnRsX2Z3LT5md19uYW1lKTsN CiANCiAJCXBhLT5jb2RlID0gKF9fbGUzMiAqKWZ3LT5kYXRhOw0KIAkJcGEt PnNpemUgPSBmdy0+c2l6ZSAvIEZXX09QQ09ERV9TSVpFOw0KZGlmZiAtdSAt cCBhL2RyaXZlcnMvcGxhdGZvcm0veDg2L2kyYy1tdWx0aS1pbnN0YW50aWF0 ZS5jIGIvZHJpdmVycy9wbGF0Zm9ybS94ODYvaTJjLW11bHRpLWluc3RhbnRp YXRlLmMNCi0tLSBhL2RyaXZlcnMvcGxhdGZvcm0veDg2L2kyYy1tdWx0aS1p bnN0YW50aWF0ZS5jDQorKysgYi9kcml2ZXJzL3BsYXRmb3JtL3g4Ni9pMmMt bXVsdGktaW5zdGFudGlhdGUuYw0KQEAgLTkxLDcgKzkxLDcgQEAgc3RhdGlj IGludCBpMmNfbXVsdGlfaW5zdF9wcm9iZShzdHJ1Y3QgcA0KIA0KIAlmb3Ig KGkgPSAwOyBpIDwgbXVsdGktPm51bV9jbGllbnRzICYmIGluc3RfZGF0YVtp XS50eXBlOyBpKyspIHsNCiAJCW1lbXNldCgmYm9hcmRfaW5mbywgMCwgc2l6 ZW9mKGJvYXJkX2luZm8pKTsNCi0JCXN0cmxjcHkoYm9hcmRfaW5mby50eXBl LCBpbnN0X2RhdGFbaV0udHlwZSwgSTJDX05BTUVfU0laRSk7DQorCQlzdHJh Y3B5KGJvYXJkX2luZm8udHlwZSwgaW5zdF9kYXRhW2ldLnR5cGUpOw0KIAkJ c25wcmludGYobmFtZSwgc2l6ZW9mKG5hbWUpLCAiJXMtJXMuJWQiLCBtYXRj aC0+aWQsDQogCQkJIGluc3RfZGF0YVtpXS50eXBlLCBpKTsNCiAJCWJvYXJk X2luZm8uZGV2X25hbWUgPSBuYW1lOw0KZGlmZiAtdSAtcCBhL2RyaXZlcnMv c3RhZ2luZy9jb21lZGkvY29tZWRpX2ZvcHMuYyBiL2RyaXZlcnMvc3RhZ2lu Zy9jb21lZGkvY29tZWRpX2ZvcHMuYw0KLS0tIGEvZHJpdmVycy9zdGFnaW5n L2NvbWVkaS9jb21lZGlfZm9wcy5jDQorKysgYi9kcml2ZXJzL3N0YWdpbmcv Y29tZWRpL2NvbWVkaV9mb3BzLmMNCkBAIC05MzcsOCArOTM3LDggQEAgc3Rh dGljIGludCBkb19kZXZpbmZvX2lvY3RsKHN0cnVjdCBjb21lZA0KIAkvKiBm aWxsIGRldmluZm8gc3RydWN0dXJlICovDQogCWRldmluZm8udmVyc2lvbl9j b2RlID0gQ09NRURJX1ZFUlNJT05fQ09ERTsNCiAJZGV2aW5mby5uX3N1YmRl dnMgPSBkZXYtPm5fc3ViZGV2aWNlczsNCi0Jc3RybGNweShkZXZpbmZvLmRy aXZlcl9uYW1lLCBkZXYtPmRyaXZlci0+ZHJpdmVyX25hbWUsIENPTUVESV9O QU1FTEVOKTsNCi0Jc3RybGNweShkZXZpbmZvLmJvYXJkX25hbWUsIGRldi0+ Ym9hcmRfbmFtZSwgQ09NRURJX05BTUVMRU4pOw0KKwlzdHJhY3B5KGRldmlu Zm8uZHJpdmVyX25hbWUsIGRldi0+ZHJpdmVyLT5kcml2ZXJfbmFtZSk7DQor CXN0cmFjcHkoZGV2aW5mby5ib2FyZF9uYW1lLCBkZXYtPmJvYXJkX25hbWUp Ow0KIA0KIAlzID0gY29tZWRpX2ZpbGVfcmVhZF9zdWJkZXZpY2UoZmlsZSk7 DQogCWlmIChzKQ0KZGlmZiAtdSAtcCBhL2RyaXZlcnMvdXNiL3d1c2Jjb3Jl L2NiYWYuYyBiL2RyaXZlcnMvdXNiL3d1c2Jjb3JlL2NiYWYuYw0KLS0tIGEv ZHJpdmVycy91c2Ivd3VzYmNvcmUvY2JhZi5jDQorKysgYi9kcml2ZXJzL3Vz Yi93dXNiY29yZS9jYmFmLmMNCkBAIC0yNDEsNyArMjQxLDcgQEAgc3RhdGlj IGludCBjYmFmX3NlbmRfaG9zdF9pbmZvKHN0cnVjdCBjYg0KIAkqaGkgPSBj YmFmX2hvc3RfaW5mb19kZWZhdWx0czsNCiAJaGktPkNISUQgPSBjYmFmLT5j aGlkOw0KIAloaS0+TGFuZ0lEID0gMDsJLyogRklYTUU6IEkgZ3Vlc3MuLi4g Ki8NCi0Jc3RybGNweShoaS0+SG9zdEZyaWVuZGx5TmFtZSwgY2JhZi0+aG9z dF9uYW1lLCBDQkFfTkFNRV9MRU4pOw0KKwlzdHJhY3B5KGhpLT5Ib3N0RnJp ZW5kbHlOYW1lLCBjYmFmLT5ob3N0X25hbWUpOw0KIAluYW1lX2xlbiA9IHN0 cmxlbihjYmFmLT5ob3N0X25hbWUpOw0KIAloaS0+SG9zdEZyaWVuZGx5TmFt ZV9oZHIubGVuID0gY3B1X3RvX2xlMTYobmFtZV9sZW4pOw0KIAloaV9zaXpl ID0gc2l6ZW9mKCpoaSkgKyBuYW1lX2xlbjsNCkBAIC0yODksNyArMjg5LDcg QEAgc3RhdGljIGludCBjYmFmX2NkaWRfZ2V0KHN0cnVjdCBjYmFmICpjYg0K IAkJcmV0dXJuIC1FTk9FTlQ7DQogCX0NCiANCi0Jc3RybGNweShjYmFmLT5k ZXZpY2VfbmFtZSwgZGktPkRldmljZUZyaWVuZGx5TmFtZSwgQ0JBX05BTUVf TEVOKTsNCisJc3RyYWNweShjYmFmLT5kZXZpY2VfbmFtZSwgZGktPkRldmlj ZUZyaWVuZGx5TmFtZSk7DQogCWNiYWYtPmNkaWQgPSBkaS0+Q0RJRDsNCiAJ Y2JhZi0+ZGV2aWNlX2JhbmRfZ3JvdXBzID0gbGUxNl90b19jcHUoZGktPkJh bmRHcm91cHMpOw0KIA0KZGlmZiAtdSAtcCBhL2RyaXZlcnMvaHdtb24vbG04 My5jIGIvZHJpdmVycy9od21vbi9sbTgzLmMNCi0tLSBhL2RyaXZlcnMvaHdt b24vbG04My5jDQorKysgYi9kcml2ZXJzL2h3bW9uL2xtODMuYw0KQEAgLTMx Miw3ICszMTIsNyBAQCBzdGF0aWMgaW50IGxtODNfZGV0ZWN0KHN0cnVjdCBp MmNfY2xpZW50DQogCQlyZXR1cm4gLUVOT0RFVjsNCiAJfQ0KIA0KLQlzdHJs Y3B5KGluZm8tPnR5cGUsIG5hbWUsIEkyQ19OQU1FX1NJWkUpOw0KKwlzdHJh Y3B5KGluZm8tPnR5cGUsIG5hbWUpOw0KIA0KIAlyZXR1cm4gMDsNCiB9DQpk aWZmIC11IC1wIGEvZHJpdmVycy9tZWRpYS9pMmMvc2FhNzEyNy5jIGIvZHJp dmVycy9tZWRpYS9pMmMvc2FhNzEyNy5jDQotLS0gYS9kcml2ZXJzL21lZGlh L2kyYy9zYWE3MTI3LmMNCisrKyBiL2RyaXZlcnMvbWVkaWEvaTJjL3NhYTcx MjcuYw0KQEAgLTc1MiwxMCArNzUyLDEwIEBAIHN0YXRpYyBpbnQgc2FhNzEy N19wcm9iZShzdHJ1Y3QgaTJjX2NsaWUNCiAJCQlzYWE3MTI3X3dyaXRlKHNk LCBTQUE3MTI5X1JFR19GQURFX0tFWV9DT0wyLA0KIAkJCQkJcmVhZF9yZXN1 bHQpOw0KIAkJCXN0YXRlLT5pZGVudCA9IFNBQTcxMjk7DQotCQkJc3Ryc2Nw eShjbGllbnQtPm5hbWUsICJzYWE3MTI5IiwgSTJDX05BTUVfU0laRSk7DQor CQkJc3RyYWNweShjbGllbnQtPm5hbWUsICJzYWE3MTI5Iik7DQogCQl9IGVs c2Ugew0KIAkJCXN0YXRlLT5pZGVudCA9IFNBQTcxMjc7DQotCQkJc3Ryc2Nw eShjbGllbnQtPm5hbWUsICJzYWE3MTI3IiwgSTJDX05BTUVfU0laRSk7DQor CQkJc3RyYWNweShjbGllbnQtPm5hbWUsICJzYWE3MTI3Iik7DQogCQl9DQog CX0NCiANCmRpZmYgLXUgLXAgYS9kcml2ZXJzL3RhcmdldC90YXJnZXRfY29y ZV91c2VyLmMgYi9kcml2ZXJzL3RhcmdldC90YXJnZXRfY29yZV91c2VyLmMN Ci0tLSBhL2RyaXZlcnMvdGFyZ2V0L3RhcmdldF9jb3JlX3VzZXIuYw0KKysr IGIvZHJpdmVycy90YXJnZXQvdGFyZ2V0X2NvcmVfdXNlci5jDQpAQCAtMjM0 NCwxNCArMjM0NCwxNCBAQCBzdGF0aWMgc3NpemVfdCB0Y211X2Rldl9jb25m aWdfc3RvcmUoc3RyDQogCQkJcHJfZXJyKCJVbmFibGUgdG8gcmVjb25maWd1 cmUgZGV2aWNlXG4iKTsNCiAJCQlyZXR1cm4gcmV0Ow0KIAkJfQ0KLQkJc3Ry bGNweSh1ZGV2LT5kZXZfY29uZmlnLCBwYWdlLCBUQ01VX0NPTkZJR19MRU4p Ow0KKwkJc3RyYWNweSh1ZGV2LT5kZXZfY29uZmlnLCBwYWdlKTsNCiANCiAJ CXJldCA9IHRjbXVfdXBkYXRlX3Vpb19pbmZvKHVkZXYpOw0KIAkJaWYgKHJl dCkNCiAJCQlyZXR1cm4gcmV0Ow0KIAkJcmV0dXJuIGNvdW50Ow0KIAl9DQot CXN0cmxjcHkodWRldi0+ZGV2X2NvbmZpZywgcGFnZSwgVENNVV9DT05GSUdf TEVOKTsNCisJc3RyYWNweSh1ZGV2LT5kZXZfY29uZmlnLCBwYWdlKTsNCiAN CiAJcmV0dXJuIGNvdW50Ow0KIH0NCmRpZmYgLXUgLXAgYS9kcml2ZXJzL2No YXIvaXBtaS9pcG1pX3NzaWYuYyBiL2RyaXZlcnMvY2hhci9pcG1pL2lwbWlf c3NpZi5jDQotLS0gYS9kcml2ZXJzL2NoYXIvaXBtaS9pcG1pX3NzaWYuYw0K KysrIGIvZHJpdmVycy9jaGFyL2lwbWkvaXBtaV9zc2lmLmMNCkBAIC0xMzk3 LDcgKzEzOTcsNyBAQCBzdGF0aWMgaW50IHNzaWZfZGV0ZWN0KHN0cnVjdCBp MmNfY2xpZW50DQogCWlmIChydikNCiAJCXJ2ID0gLUVOT0RFVjsNCiAJZWxz ZQ0KLQkJc3RybGNweShpbmZvLT50eXBlLCBERVZJQ0VfTkFNRSwgSTJDX05B TUVfU0laRSk7DQorCQlzdHJhY3B5KGluZm8tPnR5cGUsIERFVklDRV9OQU1F KTsNCiAJa2ZyZWUocmVzcCk7DQogCXJldHVybiBydjsNCiB9DQpkaWZmIC11 IC1wIGEvZHJpdmVycy9od21vbi9qYzQyLmMgYi9kcml2ZXJzL2h3bW9uL2pj NDIuYw0KLS0tIGEvZHJpdmVycy9od21vbi9qYzQyLmMNCisrKyBiL2RyaXZl cnMvaHdtb24vamM0Mi5jDQpAQCAtNDMxLDcgKzQzMSw3IEBAIHN0YXRpYyBp bnQgamM0Ml9kZXRlY3Qoc3RydWN0IGkyY19jbGllbnQNCiAJCXN0cnVjdCBq YzQyX2NoaXBzICpjaGlwID0gJmpjNDJfY2hpcHNbaV07DQogCQlpZiAobWFu aWQgPT0gY2hpcC0+bWFuaWQgJiYNCiAJCSAgICAoZGV2aWQgJiBjaGlwLT5k ZXZpZF9tYXNrKSA9PSBjaGlwLT5kZXZpZCkgew0KLQkJCXN0cmxjcHkoaW5m by0+dHlwZSwgImpjNDIiLCBJMkNfTkFNRV9TSVpFKTsNCisJCQlzdHJhY3B5 KGluZm8tPnR5cGUsICJqYzQyIik7DQogCQkJcmV0dXJuIDA7DQogCQl9DQog CX0NCmRpZmYgLXUgLXAgYS9kcml2ZXJzL21lZGlhL3VzYi9kdmItdXNiLXYy L2FueXNlZS5jIGIvZHJpdmVycy9tZWRpYS91c2IvZHZiLXVzYi12Mi9hbnlz ZWUuYw0KLS0tIGEvZHJpdmVycy9tZWRpYS91c2IvZHZiLXVzYi12Mi9hbnlz ZWUuYw0KKysrIGIvZHJpdmVycy9tZWRpYS91c2IvZHZiLXVzYi12Mi9hbnlz ZWUuYw0KQEAgLTYyOSw3ICs2MjksNyBAQCBzdGF0aWMgaW50IGFueXNlZV9h ZGRfaTJjX2RldihzdHJ1Y3QgZHZiDQogCQkucGxhdGZvcm1fZGF0YSA9IHBs YXRmb3JtX2RhdGEsDQogCX07DQogDQotCXN0cnNjcHkoYm9hcmRfaW5mby50 eXBlLCB0eXBlLCBJMkNfTkFNRV9TSVpFKTsNCisJc3RyYWNweShib2FyZF9p bmZvLnR5cGUsIHR5cGUpOw0KIA0KIAkvKiBmaW5kIGZpcnN0IGZyZWUgY2xp ZW50ICovDQogCWZvciAobnVtID0gMDsgbnVtIDwgQU5ZU0VFX0kyQ19DTElF TlRfTUFYOyBudW0rKykgew0KZGlmZiAtdSAtcCBhL2tlcm5lbC9jZ3JvdXAv Y2dyb3VwLmMgYi9rZXJuZWwvY2dyb3VwL2Nncm91cC5jDQotLS0gYS9rZXJu ZWwvY2dyb3VwL2Nncm91cC5jDQorKysgYi9rZXJuZWwvY2dyb3VwL2Nncm91 cC5jDQpAQCAtMTk4MCw5ICsxOTgwLDkgQEAgdm9pZCBpbml0X2Nncm91cF9y b290KHN0cnVjdCBjZ3JvdXBfZnNfYw0KIA0KIAlyb290LT5mbGFncyA9IGN0 eC0+ZmxhZ3M7DQogCWlmIChjdHgtPnJlbGVhc2VfYWdlbnQpDQotCQlzdHJz Y3B5KHJvb3QtPnJlbGVhc2VfYWdlbnRfcGF0aCwgY3R4LT5yZWxlYXNlX2Fn ZW50LCBQQVRIX01BWCk7DQorCQlzdHJhY3B5KHJvb3QtPnJlbGVhc2VfYWdl bnRfcGF0aCwgY3R4LT5yZWxlYXNlX2FnZW50KTsNCiAJaWYgKGN0eC0+bmFt ZSkNCi0JCXN0cnNjcHkocm9vdC0+bmFtZSwgY3R4LT5uYW1lLCBNQVhfQ0dS T1VQX1JPT1RfTkFNRUxFTik7DQorCQlzdHJhY3B5KHJvb3QtPm5hbWUsIGN0 eC0+bmFtZSk7DQogCWlmIChjdHgtPmNwdXNldF9jbG9uZV9jaGlsZHJlbikN CiAJCXNldF9iaXQoQ0dSUF9DUFVTRVRfQ0xPTkVfQ0hJTERSRU4sICZyb290 LT5jZ3JwLmZsYWdzKTsNCiB9DQpkaWZmIC11IC1wIGEvZHJpdmVycy9od21v bi9sbTc1LmMgYi9kcml2ZXJzL2h3bW9uL2xtNzUuYw0KLS0tIGEvZHJpdmVy cy9od21vbi9sbTc1LmMNCisrKyBiL2RyaXZlcnMvaHdtb24vbG03NS5jDQpA QCAtNjA3LDcgKzYwNyw3IEBAIHN0YXRpYyBpbnQgbG03NV9kZXRlY3Qoc3Ry dWN0IGkyY19jbGllbnQNCiAJCQlyZXR1cm4gLUVOT0RFVjsNCiAJfQ0KIA0K LQlzdHJsY3B5KGluZm8tPnR5cGUsIGlzX2xtNzVhID8gImxtNzVhIiA6ICJs bTc1IiwgSTJDX05BTUVfU0laRSk7DQorCXN0cmFjcHkoaW5mby0+dHlwZSwg aXNfbG03NWEgPyAibG03NWEiIDogImxtNzUiKTsNCiANCiAJcmV0dXJuIDA7 DQogfQ0KZGlmZiAtdSAtcCBhL2RyaXZlcnMvbmV0L21hY3ZsYW4uYyBiL2Ry aXZlcnMvbmV0L21hY3ZsYW4uYw0KLS0tIGEvZHJpdmVycy9uZXQvbWFjdmxh bi5jDQorKysgYi9kcml2ZXJzL25ldC9tYWN2bGFuLmMNCkBAIC04MjcsNyAr ODI3LDcgQEAgc3RhdGljIGludCBtYWN2bGFuX2RvX2lvY3RsKHN0cnVjdCBu ZXRfZA0KIAlzdHJ1Y3QgaWZyZXEgaWZycjsNCiAJaW50IGVyciA9IC1FT1BO T1RTVVBQOw0KIA0KLQlzdHJzY3B5KGlmcnIuaWZyX25hbWUsIHJlYWxfZGV2 LT5uYW1lLCBJRk5BTVNJWik7DQorCXN0cmFjcHkoaWZyci5pZnJfbmFtZSwg cmVhbF9kZXYtPm5hbWUpOw0KIAlpZnJyLmlmcl9pZnJ1ID0gaWZyLT5pZnJf aWZydTsNCiANCiAJc3dpdGNoIChjbWQpIHsNCmRpZmYgLXUgLXAgYS9kcml2 ZXJzL3RoZXJtYWwvdGhlcm1hbF9od21vbi5jIGIvZHJpdmVycy90aGVybWFs L3RoZXJtYWxfaHdtb24uYw0KLS0tIGEvZHJpdmVycy90aGVybWFsL3RoZXJt YWxfaHdtb24uYw0KKysrIGIvZHJpdmVycy90aGVybWFsL3RoZXJtYWxfaHdt b24uYw0KQEAgLTE0MSw3ICsxNDEsNyBAQCBpbnQgdGhlcm1hbF9hZGRfaHdt b25fc3lzZnMoc3RydWN0IHRoZXJtDQogCQlyZXR1cm4gLUVOT01FTTsNCiAN CiAJSU5JVF9MSVNUX0hFQUQoJmh3bW9uLT50el9saXN0KTsNCi0Jc3RybGNw eShod21vbi0+dHlwZSwgdHotPnR5cGUsIFRIRVJNQUxfTkFNRV9MRU5HVEgp Ow0KKwlzdHJhY3B5KGh3bW9uLT50eXBlLCB0ei0+dHlwZSk7DQogCXN0cnJl cGxhY2UoaHdtb24tPnR5cGUsICctJywgJ18nKTsNCiAJaHdtb24tPmRldmlj ZSA9IGh3bW9uX2RldmljZV9yZWdpc3Rlcl93aXRoX2luZm8oJnR6LT5kZXZp Y2UsIGh3bW9uLT50eXBlLA0KIAkJCQkJCQlod21vbiwgTlVMTCwgTlVMTCk7 DQpkaWZmIC11IC1wIGEvYXJjaC9wb3dlcnBjL3BsYXRmb3Jtcy9wb3dlcm52 L2lkbGUuYyBiL2FyY2gvcG93ZXJwYy9wbGF0Zm9ybXMvcG93ZXJudi9pZGxl LmMNCi0tLSBhL2FyY2gvcG93ZXJwYy9wbGF0Zm9ybXMvcG93ZXJudi9pZGxl LmMNCisrKyBiL2FyY2gvcG93ZXJwYy9wbGF0Zm9ybXMvcG93ZXJudi9pZGxl LmMNCkBAIC0xMzExLDggKzEzMTEsNyBAQCBzdGF0aWMgaW50IHBudl9wYXJz ZV9jcHVpZGxlX2R0KHZvaWQpDQogCQlnb3RvIG91dDsNCiAJfQ0KIAlmb3Ig KGkgPSAwOyBpIDwgbnJfaWRsZV9zdGF0ZXM7IGkrKykNCi0JCXN0cmxjcHko cG52X2lkbGVfc3RhdGVzW2ldLm5hbWUsIHRlbXBfc3RyaW5nW2ldLA0KLQkJ CVBOVl9JRExFX05BTUVfTEVOKTsNCisJCXN0cmFjcHkocG52X2lkbGVfc3Rh dGVzW2ldLm5hbWUsIHRlbXBfc3RyaW5nW2ldKTsNCiAJbnJfcG52X2lkbGVf c3RhdGVzID0gbnJfaWRsZV9zdGF0ZXM7DQogCXJjID0gMDsNCiBvdXQ6DQpk aWZmIC11IC1wIGEvZHJpdmVycy9od21vbi9hZG0xMDIxLmMgYi9kcml2ZXJz L2h3bW9uL2FkbTEwMjEuYw0KLS0tIGEvZHJpdmVycy9od21vbi9hZG0xMDIx LmMNCisrKyBiL2RyaXZlcnMvaHdtb24vYWRtMTAyMS5jDQpAQCAtNDExLDcg KzQxMSw3IEBAIHN0YXRpYyBpbnQgYWRtMTAyMV9kZXRlY3Qoc3RydWN0IGky Y19jbGkNCiANCiAJcHJfZGVidWcoIkRldGVjdGVkIGNoaXAgJXMgYXQgYWRh cHRlciAlZCwgYWRkcmVzcyAweCUwMnguXG4iLA0KIAkJIHR5cGVfbmFtZSwg aTJjX2FkYXB0ZXJfaWQoYWRhcHRlciksIGNsaWVudC0+YWRkcik7DQotCXN0 cmxjcHkoaW5mby0+dHlwZSwgdHlwZV9uYW1lLCBJMkNfTkFNRV9TSVpFKTsN CisJc3RyYWNweShpbmZvLT50eXBlLCB0eXBlX25hbWUpOw0KIA0KIAlyZXR1 cm4gMDsNCiB9DQpkaWZmIC11IC1wIGEvZHJpdmVycy9od21vbi90aG1jNTAu YyBiL2RyaXZlcnMvaHdtb24vdGhtYzUwLmMNCi0tLSBhL2RyaXZlcnMvaHdt b24vdGhtYzUwLmMNCisrKyBiL2RyaXZlcnMvaHdtb24vdGhtYzUwLmMNCkBA IC0zNTIsNyArMzUyLDcgQEAgc3RhdGljIGludCB0aG1jNTBfZGV0ZWN0KHN0 cnVjdCBpMmNfY2xpZQ0KIAlwcl9kZWJ1ZygidGhtYzUwOiBEZXRlY3RlZCAl cyAodmVyc2lvbiAleCwgcmV2aXNpb24gJXgpXG4iLA0KIAkJIHR5cGVfbmFt ZSwgKHJldmlzaW9uID4+IDQpIC0gMHhjLCByZXZpc2lvbiAmIDB4Zik7DQog DQotCXN0cmxjcHkoaW5mby0+dHlwZSwgdHlwZV9uYW1lLCBJMkNfTkFNRV9T SVpFKTsNCisJc3RyYWNweShpbmZvLT50eXBlLCB0eXBlX25hbWUpOw0KIA0K IAlyZXR1cm4gMDsNCiB9DQpkaWZmIC11IC1wIGEvZHJpdmVycy9zMzkwL2Np by9xZGlvX2RlYnVnLmMgYi9kcml2ZXJzL3MzOTAvY2lvL3FkaW9fZGVidWcu Yw0KLS0tIGEvZHJpdmVycy9zMzkwL2Npby9xZGlvX2RlYnVnLmMNCisrKyBi L2RyaXZlcnMvczM5MC9jaW8vcWRpb19kZWJ1Zy5jDQpAQCAtMTAxLDcgKzEw MSw3IEBAIGludCBxZGlvX2FsbG9jYXRlX2RiZihzdHJ1Y3QgcWRpb19pbml0 aWENCiAJCQlkZWJ1Z191bnJlZ2lzdGVyKGlycV9wdHItPmRlYnVnX2FyZWEp Ow0KIAkJCXJldHVybiAtRU5PTUVNOw0KIAkJfQ0KLQkJc3RybGNweShuZXdf ZW50cnktPmRiZl9uYW1lLCB0ZXh0LCBRRElPX0RCRl9OQU1FX0xFTik7DQor CQlzdHJhY3B5KG5ld19lbnRyeS0+ZGJmX25hbWUsIHRleHQpOw0KIAkJbmV3 X2VudHJ5LT5kYmZfaW5mbyA9IGlycV9wdHItPmRlYnVnX2FyZWE7DQogCQlt dXRleF9sb2NrKCZxZGlvX2RiZl9saXN0X211dGV4KTsNCiAJCWxpc3RfYWRk KCZuZXdfZW50cnktPmRiZl9saXN0LCAmcWRpb19kYmZfbGlzdCk7DQpkaWZm IC11IC1wIGEvZHJpdmVycy9zdGFnaW5nL2dyZXlidXMvYXVkaW9fbW9kdWxl LmMgYi9kcml2ZXJzL3N0YWdpbmcvZ3JleWJ1cy9hdWRpb19tb2R1bGUuYw0K LS0tIGEvZHJpdmVycy9zdGFnaW5nL2dyZXlidXMvYXVkaW9fbW9kdWxlLmMN CisrKyBiL2RyaXZlcnMvc3RhZ2luZy9ncmV5YnVzL2F1ZGlvX21vZHVsZS5j DQpAQCAtMzQxLDcgKzM0MSw3IEBAIHN0YXRpYyBpbnQgZ2JfYXVkaW9fcHJv YmUoc3RydWN0IGdiX2J1bmQNCiAJLyogaW5mb3JtIGFib3ZlIGxheWVyIGZv ciB1ZXZlbnQgKi8NCiAJZGV2X2RiZyhkZXYsICJJbmZvcm0gc2V0X2V2ZW50 OiVkIHRvIGFib3ZlIGxheWVyXG4iLCAxKTsNCiAJLyogcHJlcGFyZSBmb3Ig dGhlIGF1ZGlvIG1hbmFnZXIgKi8NCi0Jc3RybGNweShkZXNjLm5hbWUsIGdi bW9kdWxlLT5uYW1lLCBHQl9BVURJT19NQU5BR0VSX01PRFVMRV9OQU1FX0xF Tik7DQorCXN0cmFjcHkoZGVzYy5uYW1lLCBnYm1vZHVsZS0+bmFtZSk7DQog CWRlc2MudmlkID0gMjsgLyogdG9kbyAqLw0KIAlkZXNjLnBpZCA9IDM7IC8q IHRvZG8gKi8NCiAJZGVzYy5pbnRmX2lkID0gZ2Jtb2R1bGUtPmRldl9pZDsN CmRpZmYgLXUgLXAgYS9kcml2ZXJzL2h3bW9uL2RtZTE3MzcuYyBiL2RyaXZl cnMvaHdtb24vZG1lMTczNy5jDQotLS0gYS9kcml2ZXJzL2h3bW9uL2RtZTE3 MzcuYw0KKysrIGIvZHJpdmVycy9od21vbi9kbWUxNzM3LmMNCkBAIC0yNDU2 LDcgKzI0NTYsNyBAQCBzdGF0aWMgaW50IGRtZTE3MzdfaTJjX2RldGVjdChz dHJ1Y3QgaTJjDQogCWRldl9pbmZvKGRldiwgIkZvdW5kIGEgJXMgY2hpcCBh dCAweCUwMnggKHJldiAweCUwMngpLlxuIiwNCiAJCSB2ZXJzdGVwID09IFND SDUwMjdfVkVSU1RFUCA/ICJTQ0g1MDI3IiA6ICJETUUxNzM3IiwNCiAJCSBj bGllbnQtPmFkZHIsIHZlcnN0ZXApOw0KLQlzdHJsY3B5KGluZm8tPnR5cGUs IG5hbWUsIEkyQ19OQU1FX1NJWkUpOw0KKwlzdHJhY3B5KGluZm8tPnR5cGUs IG5hbWUpOw0KIA0KIAlyZXR1cm4gMDsNCiB9DQpkaWZmIC11IC1wIGEvc291 bmQvcHBjL2tleXdlc3QuYyBiL3NvdW5kL3BwYy9rZXl3ZXN0LmMNCi0tLSBh L3NvdW5kL3BwYy9rZXl3ZXN0LmMNCisrKyBiL3NvdW5kL3BwYy9rZXl3ZXN0 LmMNCkBAIC00OCw3ICs0OCw3IEBAIHN0YXRpYyBpbnQga2V5d2VzdF9hdHRh Y2hfYWRhcHRlcihzdHJ1Y3QNCiAJCXJldHVybiAtRUlOVkFMOyAvKiBpZ25v cmVkICovDQogDQogCW1lbXNldCgmaW5mbywgMCwgc2l6ZW9mKHN0cnVjdCBp MmNfYm9hcmRfaW5mbykpOw0KLQlzdHJsY3B5KGluZm8udHlwZSwgImtleXdl c3QiLCBJMkNfTkFNRV9TSVpFKTsNCisJc3RyYWNweShpbmZvLnR5cGUsICJr ZXl3ZXN0Iik7DQogCWluZm8uYWRkciA9IGtleXdlc3RfY3R4LT5hZGRyOw0K IAlrZXl3ZXN0X2N0eC0+Y2xpZW50ID0gaTJjX25ld19kZXZpY2UoYWRhcHRl ciwgJmluZm8pOw0KIAlpZiAoIWtleXdlc3RfY3R4LT5jbGllbnQpDQpkaWZm IC11IC1wIGEvZHJpdmVycy9od21vbi9lbWM2dzIwMS5jIGIvZHJpdmVycy9o d21vbi9lbWM2dzIwMS5jDQotLS0gYS9kcml2ZXJzL2h3bW9uL2VtYzZ3MjAx LmMNCisrKyBiL2RyaXZlcnMvaHdtb24vZW1jNncyMDEuYw0KQEAgLTQzOSw3 ICs0MzksNyBAQCBzdGF0aWMgaW50IGVtYzZ3MjAxX2RldGVjdChzdHJ1Y3Qg aTJjX2NsDQogCQlyZXR1cm4gLUVOT0RFVjsNCiAJfQ0KIA0KLQlzdHJsY3B5 KGluZm8tPnR5cGUsICJlbWM2dzIwMSIsIEkyQ19OQU1FX1NJWkUpOw0KKwlz dHJhY3B5KGluZm8tPnR5cGUsICJlbWM2dzIwMSIpOw0KIA0KIAlyZXR1cm4g MDsNCiB9DQpkaWZmIC11IC1wIGEvZHJpdmVycy9od21vbi93ODNsNzg2bmcu YyBiL2RyaXZlcnMvaHdtb24vdzgzbDc4Nm5nLmMNCi0tLSBhL2RyaXZlcnMv aHdtb24vdzgzbDc4Nm5nLmMNCisrKyBiL2RyaXZlcnMvaHdtb24vdzgzbDc4 Nm5nLmMNCkBAIC02ODcsNyArNjg3LDcgQEAgdzgzbDc4Nm5nX2RldGVjdChz dHJ1Y3QgaTJjX2NsaWVudCAqY2xpZQ0KIAkJcmV0dXJuIC1FTk9ERVY7DQog CX0NCiANCi0Jc3RybGNweShpbmZvLT50eXBlLCAidzgzbDc4Nm5nIiwgSTJD X05BTUVfU0laRSk7DQorCXN0cmFjcHkoaW5mby0+dHlwZSwgInc4M2w3ODZu ZyIpOw0KIA0KIAlyZXR1cm4gMDsNCiB9DQpkaWZmIC11IC1wIGEvZHJpdmVy cy9tZWRpYS9wY2kvY3g4OC9jeDg4LWkyYy5jIGIvZHJpdmVycy9tZWRpYS9w Y2kvY3g4OC9jeDg4LWkyYy5jDQotLS0gYS9kcml2ZXJzL21lZGlhL3BjaS9j eDg4L2N4ODgtaTJjLmMNCisrKyBiL2RyaXZlcnMvbWVkaWEvcGNpL2N4ODgv Y3g4OC1pMmMuYw0KQEAgLTEzNyw3ICsxMzcsNyBAQCBpbnQgY3g4OF9pMmNf aW5pdChzdHJ1Y3QgY3g4OF9jb3JlICpjb3JlDQogCWkyY19zZXRfYWRhcGRh dGEoJmNvcmUtPmkyY19hZGFwLCAmY29yZS0+djRsMl9kZXYpOw0KIAljb3Jl LT5pMmNfYWRhcC5hbGdvX2RhdGEgPSAmY29yZS0+aTJjX2FsZ287DQogCWNv cmUtPmkyY19jbGllbnQuYWRhcHRlciA9ICZjb3JlLT5pMmNfYWRhcDsNCi0J c3Ryc2NweShjb3JlLT5pMmNfY2xpZW50Lm5hbWUsICJjeDg4eHggaW50ZXJu YWwiLCBJMkNfTkFNRV9TSVpFKTsNCisJc3RyYWNweShjb3JlLT5pMmNfY2xp ZW50Lm5hbWUsICJjeDg4eHggaW50ZXJuYWwiKTsNCiANCiAJY3g4ODAwX2Jp dF9zZXRzY2woY29yZSwgMSk7DQogCWN4ODgwMF9iaXRfc2V0c2RhKGNvcmUs IDEpOw0KZGlmZiAtdSAtcCBhL25ldC9uZXRmaWx0ZXIvaXBzZXQvaXBfc2V0 X2NvcmUuYyBiL25ldC9uZXRmaWx0ZXIvaXBzZXQvaXBfc2V0X2NvcmUuYw0K LS0tIGEvbmV0L25ldGZpbHRlci9pcHNldC9pcF9zZXRfY29yZS5jDQorKysg Yi9uZXQvbmV0ZmlsdGVyL2lwc2V0L2lwX3NldF9jb3JlLmMNCkBAIC05MTcs NyArOTE3LDcgQEAgc3RhdGljIGludCBpcF9zZXRfY3JlYXRlKHN0cnVjdCBu ZXQgKm5ldA0KIAlpZiAoIXNldCkNCiAJCXJldHVybiAtRU5PTUVNOw0KIAlz cGluX2xvY2tfaW5pdCgmc2V0LT5sb2NrKTsNCi0Jc3RybGNweShzZXQtPm5h bWUsIG5hbWUsIElQU0VUX01BWE5BTUVMRU4pOw0KKwlzdHJhY3B5KHNldC0+ bmFtZSwgbmFtZSk7DQogCXNldC0+ZmFtaWx5ID0gZmFtaWx5Ow0KIAlzZXQt PnJldmlzaW9uID0gcmV2aXNpb247DQogDQpkaWZmIC11IC1wIGEvZHJpdmVy cy9od21vbi9hZHQ3NDcwLmMgYi9kcml2ZXJzL2h3bW9uL2FkdDc0NzAuYw0K LS0tIGEvZHJpdmVycy9od21vbi9hZHQ3NDcwLmMNCisrKyBiL2RyaXZlcnMv aHdtb24vYWR0NzQ3MC5jDQpAQCAtMTIwMCw3ICsxMjAwLDcgQEAgc3RhdGlj IGludCBhZHQ3NDcwX2RldGVjdChzdHJ1Y3QgaTJjX2NsaQ0KIAlpZiAocmV2 aXNpb24gIT0gQURUNzQ3MF9SRVZJU0lPTikNCiAJCXJldHVybiAtRU5PREVW Ow0KIA0KLQlzdHJsY3B5KGluZm8tPnR5cGUsICJhZHQ3NDcwIiwgSTJDX05B TUVfU0laRSk7DQorCXN0cmFjcHkoaW5mby0+dHlwZSwgImFkdDc0NzAiKTsN CiANCiAJcmV0dXJuIDA7DQogfQ0KZGlmZiAtdSAtcCBhL2RyaXZlcnMvaHdt b24vdzgzNzkyZC5jIGIvZHJpdmVycy9od21vbi93ODM3OTJkLmMNCi0tLSBh L2RyaXZlcnMvaHdtb24vdzgzNzkyZC5jDQorKysgYi9kcml2ZXJzL2h3bW9u L3c4Mzc5MmQuYw0KQEAgLTEzNjEsNyArMTM2MSw3IEBAIHc4Mzc5MmRfZGV0 ZWN0KHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQNCiAJaWYgKHZhbDEgIT0g MHg3YSB8fCB2YWwyICE9IDB4NWMpDQogCQlyZXR1cm4gLUVOT0RFVjsNCiAN Ci0Jc3RybGNweShpbmZvLT50eXBlLCAidzgzNzkyZCIsIEkyQ19OQU1FX1NJ WkUpOw0KKwlzdHJhY3B5KGluZm8tPnR5cGUsICJ3ODM3OTJkIik7DQogDQog CXJldHVybiAwOw0KIH0NCmRpZmYgLXUgLXAgYS9uZXQvbDJ0cC9sMnRwX2V0 aC5jIGIvbmV0L2wydHAvbDJ0cF9ldGguYw0KLS0tIGEvbmV0L2wydHAvbDJ0 cF9ldGguYw0KKysrIGIvbmV0L2wydHAvbDJ0cF9ldGguYw0KQEAgLTMyOCw3 ICszMjgsNyBAQCBzdGF0aWMgaW50IGwydHBfZXRoX2NyZWF0ZShzdHJ1Y3Qg bmV0ICpuDQogCQlyZXR1cm4gcmM7DQogCX0NCiANCi0Jc3RybGNweShzZXNz aW9uLT5pZm5hbWUsIGRldi0+bmFtZSwgSUZOQU1TSVopOw0KKwlzdHJhY3B5 KHNlc3Npb24tPmlmbmFtZSwgZGV2LT5uYW1lKTsNCiAJcmN1X2Fzc2lnbl9w b2ludGVyKHNwcml2LT5kZXYsIGRldik7DQogDQogCXJ0bmxfdW5sb2NrKCk7 DQpkaWZmIC11IC1wIGEvZHJpdmVycy9maXJtd2FyZS9hcm1fc2NtaS9jbG9j ay5jIGIvZHJpdmVycy9maXJtd2FyZS9hcm1fc2NtaS9jbG9jay5jDQotLS0g YS9kcml2ZXJzL2Zpcm13YXJlL2FybV9zY21pL2Nsb2NrLmMNCisrKyBiL2Ry aXZlcnMvZmlybXdhcmUvYXJtX3NjbWkvY2xvY2suYw0KQEAgLTExMSw3ICsx MTEsNyBAQCBzdGF0aWMgaW50IHNjbWlfY2xvY2tfYXR0cmlidXRlc19nZXQo Y29uDQogDQogCXJldCA9IHNjbWlfZG9feGZlcihoYW5kbGUsIHQpOw0KIAlp ZiAoIXJldCkNCi0JCXN0cmxjcHkoY2xrLT5uYW1lLCBhdHRyLT5uYW1lLCBT Q01JX01BWF9TVFJfU0laRSk7DQorCQlzdHJhY3B5KGNsay0+bmFtZSwgYXR0 ci0+bmFtZSk7DQogCWVsc2UNCiAJCWNsay0+bmFtZVswXSA9ICdcMCc7DQog DQpkaWZmIC11IC1wIGEvZHJpdmVycy9od21vbi9sbTc4LmMgYi9kcml2ZXJz L2h3bW9uL2xtNzguYw0KLS0tIGEvZHJpdmVycy9od21vbi9sbTc4LmMNCisr KyBiL2RyaXZlcnMvaHdtb24vbG03OC5jDQpAQCAtNjE3LDcgKzYxNyw3IEBA IHN0YXRpYyBpbnQgbG03OF9pMmNfZGV0ZWN0KHN0cnVjdCBpMmNfY2wNCiAJ aWYgKGlzYSkNCiAJCW11dGV4X3VubG9jaygmaXNhLT51cGRhdGVfbG9jayk7 DQogDQotCXN0cmxjcHkoaW5mby0+dHlwZSwgY2xpZW50X25hbWUsIEkyQ19O QU1FX1NJWkUpOw0KKwlzdHJhY3B5KGluZm8tPnR5cGUsIGNsaWVudF9uYW1l KTsNCiANCiAJcmV0dXJuIDA7DQogDQpkaWZmIC11IC1wIGEvZHJpdmVycy9t ZWRpYS9wY2kvY3gyMzg4NS9jeDIzODg1LWkyYy5jIGIvZHJpdmVycy9tZWRp YS9wY2kvY3gyMzg4NS9jeDIzODg1LWkyYy5jDQotLS0gYS9kcml2ZXJzL21l ZGlhL3BjaS9jeDIzODg1L2N4MjM4ODUtaTJjLmMNCisrKyBiL2RyaXZlcnMv bWVkaWEvcGNpL2N4MjM4ODUvY3gyMzg4NS1pMmMuYw0KQEAgLTMzNCw3ICsz MzQsNyBAQCBpbnQgY3gyMzg4NV9pMmNfcmVnaXN0ZXIoc3RydWN0IGN4MjM4 ODVfDQogCQl9Ow0KIA0KIAkJbWVtc2V0KCZpbmZvLCAwLCBzaXplb2Yoc3Ry dWN0IGkyY19ib2FyZF9pbmZvKSk7DQotCQlzdHJzY3B5KGluZm8udHlwZSwg ImlyX3ZpZGVvIiwgSTJDX05BTUVfU0laRSk7DQorCQlzdHJhY3B5KGluZm8u dHlwZSwgImlyX3ZpZGVvIik7DQogCQkvKiBVc2UgcXVpY2sgcmVhZCBjb21t YW5kIGZvciBwcm9iZSwgc29tZSBJUiBjaGlwcyBkb24ndA0KIAkJICogc3Vw cG9ydCB3cml0ZXMgKi8NCiAJCWkyY19uZXdfcHJvYmVkX2RldmljZSgmYnVz LT5pMmNfYWRhcCwgJmluZm8sIGFkZHJfbGlzdCwNCmRpZmYgLXUgLXAgYS9k cml2ZXJzL3R0eS9zZXJpYWwvZWFybHljb24uYyBiL2RyaXZlcnMvdHR5L3Nl cmlhbC9lYXJseWNvbi5jDQotLS0gYS9kcml2ZXJzL3R0eS9zZXJpYWwvZWFy bHljb24uYw0KKysrIGIvZHJpdmVycy90dHkvc2VyaWFsL2Vhcmx5Y29uLmMN CkBAIC0xMTgsNyArMTE4LDcgQEAgc3RhdGljIGludCBfX2luaXQgcGFyc2Vf b3B0aW9ucyhzdHJ1Y3QgZQ0KIAkJZGV2aWNlLT5iYXVkID0gc2ltcGxlX3N0 cnRvdWwob3B0aW9ucywgTlVMTCwgMCk7DQogCQlsZW5ndGggPSBtaW4oc3Ry Y3NwbihvcHRpb25zLCAiICIpICsgMSwNCiAJCQkgICAgIChzaXplX3QpKHNp emVvZihkZXZpY2UtPm9wdGlvbnMpKSk7DQotCQlzdHJsY3B5KGRldmljZS0+ b3B0aW9ucywgb3B0aW9ucywgbGVuZ3RoKTsNCisJCXN0cmFjcHkoZGV2aWNl LT5vcHRpb25zLCBvcHRpb25zKTsNCiAJfQ0KIA0KIAlyZXR1cm4gMDsNCmRp ZmYgLXUgLXAgYS9uZXQvaXB2NC9pcF90dW5uZWwuYyBiL25ldC9pcHY0L2lw X3R1bm5lbC5jDQotLS0gYS9uZXQvaXB2NC9pcF90dW5uZWwuYw0KKysrIGIv bmV0L2lwdjQvaXBfdHVubmVsLmMNCkBAIC0xMDU0LDcgKzEwNTQsNyBAQCBp bnQgaXBfdHVubmVsX2luaXRfbmV0KHN0cnVjdCBuZXQgKm5ldCwNCiANCiAJ bWVtc2V0KCZwYXJtcywgMCwgc2l6ZW9mKHBhcm1zKSk7DQogCWlmIChkZXZu YW1lKQ0KLQkJc3RybGNweShwYXJtcy5uYW1lLCBkZXZuYW1lLCBJRk5BTVNJ Wik7DQorCQlzdHJhY3B5KHBhcm1zLm5hbWUsIGRldm5hbWUpOw0KIA0KIAly dG5sX2xvY2soKTsNCiAJaXRuLT5mYl90dW5uZWxfZGV2ID0gX19pcF90dW5u ZWxfY3JlYXRlKG5ldCwgb3BzLCAmcGFybXMpOw0KZGlmZiAtdSAtcCBhL2Ry aXZlcnMvY2xrL3RlZ3JhL2Nsay1icG1wLmMgYi9kcml2ZXJzL2Nsay90ZWdy YS9jbGstYnBtcC5jDQotLS0gYS9kcml2ZXJzL2Nsay90ZWdyYS9jbGstYnBt cC5jDQorKysgYi9kcml2ZXJzL2Nsay90ZWdyYS9jbGstYnBtcC5jDQpAQCAt MzQ0LDcgKzM0NCw3IEBAIHN0YXRpYyBpbnQgdGVncmFfYnBtcF9jbGtfZ2V0 X2luZm8oc3RydWMNCiAJaWYgKGVyciA8IDApDQogCQlyZXR1cm4gZXJyOw0K IA0KLQlzdHJsY3B5KGluZm8tPm5hbWUsIHJlc3BvbnNlLm5hbWUsIE1SUV9D TEtfTkFNRV9NQVhMRU4pOw0KKwlzdHJhY3B5KGluZm8tPm5hbWUsIHJlc3Bv bnNlLm5hbWUpOw0KIAlpbmZvLT5udW1fcGFyZW50cyA9IHJlc3BvbnNlLm51 bV9wYXJlbnRzOw0KIA0KIAlmb3IgKGkgPSAwOyBpIDwgaW5mby0+bnVtX3Bh cmVudHM7IGkrKykNCmRpZmYgLXUgLXAgYS9kcml2ZXJzL2h3bW9uL2VtYzE0 MDMuYyBiL2RyaXZlcnMvaHdtb24vZW1jMTQwMy5jDQotLS0gYS9kcml2ZXJz L2h3bW9uL2VtYzE0MDMuYw0KKysrIGIvZHJpdmVycy9od21vbi9lbWMxNDAz LmMNCkBAIC0zMjksMjIgKzMyOSwyMiBAQCBzdGF0aWMgaW50IGVtYzE0MDNf ZGV0ZWN0KHN0cnVjdCBpMmNfY2xpDQogCWlkID0gaTJjX3NtYnVzX3JlYWRf Ynl0ZV9kYXRhKGNsaWVudCwgVEhFUk1BTF9QSURfUkVHKTsNCiAJc3dpdGNo IChpZCkgew0KIAljYXNlIDB4MjA6DQotCQlzdHJsY3B5KGluZm8tPnR5cGUs ICJlbWMxNDAyIiwgSTJDX05BTUVfU0laRSk7DQorCQlzdHJhY3B5KGluZm8t PnR5cGUsICJlbWMxNDAyIik7DQogCQlicmVhazsNCiAJY2FzZSAweDIxOg0K LQkJc3RybGNweShpbmZvLT50eXBlLCAiZW1jMTQwMyIsIEkyQ19OQU1FX1NJ WkUpOw0KKwkJc3RyYWNweShpbmZvLT50eXBlLCAiZW1jMTQwMyIpOw0KIAkJ YnJlYWs7DQogCWNhc2UgMHgyMjoNCi0JCXN0cmxjcHkoaW5mby0+dHlwZSwg ImVtYzE0MjIiLCBJMkNfTkFNRV9TSVpFKTsNCisJCXN0cmFjcHkoaW5mby0+ dHlwZSwgImVtYzE0MjIiKTsNCiAJCWJyZWFrOw0KIAljYXNlIDB4MjM6DQot CQlzdHJsY3B5KGluZm8tPnR5cGUsICJlbWMxNDIzIiwgSTJDX05BTUVfU0la RSk7DQorCQlzdHJhY3B5KGluZm8tPnR5cGUsICJlbWMxNDIzIik7DQogCQli cmVhazsNCiAJY2FzZSAweDI1Og0KLQkJc3RybGNweShpbmZvLT50eXBlLCAi ZW1jMTQwNCIsIEkyQ19OQU1FX1NJWkUpOw0KKwkJc3RyYWNweShpbmZvLT50 eXBlLCAiZW1jMTQwNCIpOw0KIAkJYnJlYWs7DQogCWNhc2UgMHgyNzoNCi0J CXN0cmxjcHkoaW5mby0+dHlwZSwgImVtYzE0MjQiLCBJMkNfTkFNRV9TSVpF KTsNCisJCXN0cmFjcHkoaW5mby0+dHlwZSwgImVtYzE0MjQiKTsNCiAJCWJy ZWFrOw0KIAlkZWZhdWx0Og0KIAkJcmV0dXJuIC1FTk9ERVY7DQpkaWZmIC11 IC1wIGEvZHJpdmVycy9od21vbi90bXA0MDEuYyBiL2RyaXZlcnMvaHdtb24v dG1wNDAxLmMNCi0tLSBhL2RyaXZlcnMvaHdtb24vdG1wNDAxLmMNCisrKyBi L2RyaXZlcnMvaHdtb24vdG1wNDAxLmMNCkBAIC02NzgsNyArNjc4LDcgQEAg c3RhdGljIGludCB0bXA0MDFfZGV0ZWN0KHN0cnVjdCBpMmNfY2xpZQ0KIAlp ZiAocmVnID4gMTUpDQogCQlyZXR1cm4gLUVOT0RFVjsNCiANCi0Jc3RybGNw eShpbmZvLT50eXBlLCB0bXA0MDFfaWRba2luZF0ubmFtZSwgSTJDX05BTUVf U0laRSk7DQorCXN0cmFjcHkoaW5mby0+dHlwZSwgdG1wNDAxX2lkW2tpbmRd Lm5hbWUpOw0KIA0KIAlyZXR1cm4gMDsNCiB9DQpkaWZmIC11IC1wIGEvZnMv b3JhbmdlZnMvb3JhbmdlZnMtdXRpbHMuYyBiL2ZzL29yYW5nZWZzL29yYW5n ZWZzLXV0aWxzLmMNCi0tLSBhL2ZzL29yYW5nZWZzL29yYW5nZWZzLXV0aWxz LmMNCisrKyBiL2ZzL29yYW5nZWZzL29yYW5nZWZzLXV0aWxzLmMNCkBAIC0z MzUsOSArMzM1LDggQEAgYWdhaW4yOg0KIAkJaWYgKGZsYWdzICYgT1JBTkdF RlNfR0VUQVRUUl9ORVcpIHsNCiAJCQlpbm9kZS0+aV9zaXplID0gKGxvZmZf dClzdHJsZW4obmV3X29wLT4NCiAJCQkgICAgZG93bmNhbGwucmVzcC5nZXRh dHRyLmxpbmtfdGFyZ2V0KTsNCi0JCQlyZXQgPSBzdHJzY3B5KG9yYW5nZWZz X2lub2RlLT5saW5rX3RhcmdldCwNCi0JCQkgICAgbmV3X29wLT5kb3duY2Fs bC5yZXNwLmdldGF0dHIubGlua190YXJnZXQsDQotCQkJICAgIE9SQU5HRUZT X05BTUVfTUFYKTsNCisJCQlyZXQgPSBzdHJhY3B5KG9yYW5nZWZzX2lub2Rl LT5saW5rX3RhcmdldCwNCisJCQkgICAgbmV3X29wLT5kb3duY2FsbC5yZXNw LmdldGF0dHIubGlua190YXJnZXQpOw0KIAkJCWlmIChyZXQgPT0gLUUyQklH KSB7DQogCQkJCXJldCA9IC1FSU87DQogCQkJCWdvdG8gb3V0X3VubG9jazsN CmRpZmYgLXUgLXAgYS9kcml2ZXJzL2NwdWlkbGUvY3B1aWRsZS1wb3dlcm52 LmMgYi9kcml2ZXJzL2NwdWlkbGUvY3B1aWRsZS1wb3dlcm52LmMNCi0tLSBh L2RyaXZlcnMvY3B1aWRsZS9jcHVpZGxlLXBvd2VybnYuYw0KKysrIGIvZHJp dmVycy9jcHVpZGxlL2NwdWlkbGUtcG93ZXJudi5jDQpAQCAtMjM2LDggKzIz Niw4IEBAIHN0YXRpYyBpbmxpbmUgdm9pZCBhZGRfcG93ZXJudl9zdGF0ZShp bnQNCiAJCQkJICAgICB1bnNpZ25lZCBpbnQgZXhpdF9sYXRlbmN5LA0KIAkJ CQkgICAgIHU2NCBwc3Njcl92YWwsIHU2NCBwc3Njcl9tYXNrKQ0KIHsNCi0J c3RybGNweShwb3dlcm52X3N0YXRlc1tpbmRleF0ubmFtZSwgbmFtZSwgQ1BV SURMRV9OQU1FX0xFTik7DQotCXN0cmxjcHkocG93ZXJudl9zdGF0ZXNbaW5k ZXhdLmRlc2MsIG5hbWUsIENQVUlETEVfTkFNRV9MRU4pOw0KKwlzdHJhY3B5 KHBvd2VybnZfc3RhdGVzW2luZGV4XS5uYW1lLCBuYW1lKTsNCisJc3RyYWNw eShwb3dlcm52X3N0YXRlc1tpbmRleF0uZGVzYywgbmFtZSk7DQogCXBvd2Vy bnZfc3RhdGVzW2luZGV4XS5mbGFncyA9IGZsYWdzOw0KIAlwb3dlcm52X3N0 YXRlc1tpbmRleF0udGFyZ2V0X3Jlc2lkZW5jeSA9IHRhcmdldF9yZXNpZGVu Y3k7DQogCXBvd2VybnZfc3RhdGVzW2luZGV4XS5leGl0X2xhdGVuY3kgPSBl eGl0X2xhdGVuY3k7DQpkaWZmIC11IC1wIGEvZHJpdmVycy9od21vbi9hbWM2 ODIxLmMgYi9kcml2ZXJzL2h3bW9uL2FtYzY4MjEuYw0KLS0tIGEvZHJpdmVy cy9od21vbi9hbWM2ODIxLmMNCisrKyBiL2RyaXZlcnMvaHdtb24vYW1jNjgy MS5jDQpAQCAtODA5LDcgKzgwOSw3IEBAIHN0YXRpYyBpbnQgYW1jNjgyMV9k ZXRlY3QoDQogCX0NCiANCiAJZGV2X2luZm8oJmFkYXB0ZXItPmRldiwgImFt YzY4MjE6IGNoaXAgZm91bmQgYXQgMHglMDJ4LlxuIiwgYWRkcmVzcyk7DQot CXN0cmxjcHkoaW5mby0+dHlwZSwgImFtYzY4MjEiLCBJMkNfTkFNRV9TSVpF KTsNCisJc3RyYWNweShpbmZvLT50eXBlLCAiYW1jNjgyMSIpOw0KIA0KIAly ZXR1cm4gMDsNCiB9DQpkaWZmIC11IC1wIGEvZHJpdmVycy9od21vbi9uY3Q3 ODAyLmMgYi9kcml2ZXJzL2h3bW9uL25jdDc4MDIuYw0KLS0tIGEvZHJpdmVy cy9od21vbi9uY3Q3ODAyLmMNCisrKyBiL2RyaXZlcnMvaHdtb24vbmN0Nzgw Mi5jDQpAQCAtOTU5LDcgKzk1OSw3IEBAIHN0YXRpYyBpbnQgbmN0NzgwMl9k ZXRlY3Qoc3RydWN0IGkyY19jbGkNCiAJaWYgKHJlZyA8IDAgfHwgKHJlZyAm IDB4M2YpKQ0KIAkJcmV0dXJuIC1FTk9ERVY7DQogDQotCXN0cmxjcHkoaW5m by0+dHlwZSwgIm5jdDc4MDIiLCBJMkNfTkFNRV9TSVpFKTsNCisJc3RyYWNw eShpbmZvLT50eXBlLCAibmN0NzgwMiIpOw0KIAlyZXR1cm4gMDsNCiB9DQog DQpkaWZmIC11IC1wIGEvZHJpdmVycy9tZWRpYS9wY2kvY3gxOC9jeDE4LWky Yy5jIGIvZHJpdmVycy9tZWRpYS9wY2kvY3gxOC9jeDE4LWkyYy5jDQotLS0g YS9kcml2ZXJzL21lZGlhL3BjaS9jeDE4L2N4MTgtaTJjLmMNCisrKyBiL2Ry aXZlcnMvbWVkaWEvcGNpL2N4MTgvY3gxOC1pMmMuYw0KQEAgLTc0LDcgKzc0 LDcgQEAgc3RhdGljIGludCBjeDE4X2kyY19uZXdfaXIoc3RydWN0IGN4MTgg Kg0KIAl1bnNpZ25lZCBzaG9ydCBhZGRyX2xpc3RbMl0gPSB7IGFkZHIsIEky Q19DTElFTlRfRU5EIH07DQogDQogCW1lbXNldCgmaW5mbywgMCwgc2l6ZW9m KHN0cnVjdCBpMmNfYm9hcmRfaW5mbykpOw0KLQlzdHJzY3B5KGluZm8udHlw ZSwgdHlwZSwgSTJDX05BTUVfU0laRSk7DQorCXN0cmFjcHkoaW5mby50eXBl LCB0eXBlKTsNCiANCiAJLyogT3VyIGRlZmF1bHQgaW5mb3JtYXRpb24gZm9y IGlyLWtiZC1pMmMuYyB0byB1c2UgKi8NCiAJc3dpdGNoIChodykgew0KZGlm ZiAtdSAtcCBhL2RyaXZlcnMvbWVkaWEvdXNiL2R2Yi11c2IvZGliMDcwMF9k ZXZpY2VzLmMgYi9kcml2ZXJzL21lZGlhL3VzYi9kdmItdXNiL2RpYjA3MDBf ZGV2aWNlcy5jDQotLS0gYS9kcml2ZXJzL21lZGlhL3VzYi9kdmItdXNiL2Rp YjA3MDBfZGV2aWNlcy5jDQorKysgYi9kcml2ZXJzL21lZGlhL3VzYi9kdmIt dXNiL2RpYjA3MDBfZGV2aWNlcy5jDQpAQCAtMzc2MCw3ICszNzYwLDcgQEAg c3RhdGljIGludCB4Ym94X29uZV9hdHRhY2goc3RydWN0IGR2Yl91cw0KIAlt bjg4NDcyX2NvbmZpZy50c19tb2RlID0gUEFSQUxMRUxfVFNfTU9ERTsNCiAJ bW44ODQ3Ml9jb25maWcudHNfY2xvY2sgPSBGSVhFRF9UU19DTE9DSzsNCiAJ bWVtc2V0KCZpbmZvLCAwLCBzaXplb2Yoc3RydWN0IGkyY19ib2FyZF9pbmZv KSk7DQotCXN0cnNjcHkoaW5mby50eXBlLCAibW44ODQ3MiIsIEkyQ19OQU1F X1NJWkUpOw0KKwlzdHJhY3B5KGluZm8udHlwZSwgIm1uODg0NzIiKTsNCiAJ aW5mby5hZGRyID0gMHgxODsNCiAJaW5mby5wbGF0Zm9ybV9kYXRhID0gJm1u ODg0NzJfY29uZmlnOw0KIAlyZXF1ZXN0X21vZHVsZShpbmZvLnR5cGUpOw0K QEAgLTM3ODcsNyArMzc4Nyw3IEBAIHN0YXRpYyBpbnQgeGJveF9vbmVfYXR0 YWNoKHN0cnVjdCBkdmJfdXMNCiAJdGRhMTgyNTBfY29uZmlnLmZlID0gYWRh cC0+ZmVfYWRhcFswXS5mZTsNCiANCiAJbWVtc2V0KCZpbmZvLCAwLCBzaXpl b2Yoc3RydWN0IGkyY19ib2FyZF9pbmZvKSk7DQotCXN0cnNjcHkoaW5mby50 eXBlLCAidGRhMTgyNTAiLCBJMkNfTkFNRV9TSVpFKTsNCisJc3RyYWNweShp bmZvLnR5cGUsICJ0ZGExODI1MCIpOw0KIAlpbmZvLmFkZHIgPSAweDYwOw0K IAlpbmZvLnBsYXRmb3JtX2RhdGEgPSAmdGRhMTgyNTBfY29uZmlnOw0KIA0K ZGlmZiAtdSAtcCBhL2RyaXZlcnMvc2NzaS9iZmEvYmZhZF9ic2cuYyBiL2Ry aXZlcnMvc2NzaS9iZmEvYmZhZF9ic2cuYw0KLS0tIGEvZHJpdmVycy9zY3Np L2JmYS9iZmFkX2JzZy5jDQorKysgYi9kcml2ZXJzL3Njc2kvYmZhL2JmYWRf YnNnLmMNCkBAIC0xMTksOCArMTE5LDggQEAgYmZhZF9pb2NtZF9pb2NfZ2V0 X2F0dHIoc3RydWN0IGJmYWRfcyAqYg0KIA0KIAkvKiBmaWxsIGluIGRyaXZl ciBhdHRyIGluZm8gKi8NCiAJc3RyY3B5KGlvY21kLT5pb2NfYXR0ci5kcml2 ZXJfYXR0ci5kcml2ZXIsIEJGQURfRFJJVkVSX05BTUUpOw0KLQlzdHJsY3B5 KGlvY21kLT5pb2NfYXR0ci5kcml2ZXJfYXR0ci5kcml2ZXJfdmVyLA0KLQkJ QkZBRF9EUklWRVJfVkVSU0lPTiwgQkZBX1ZFUlNJT05fTEVOKTsNCisJc3Ry YWNweShpb2NtZC0+aW9jX2F0dHIuZHJpdmVyX2F0dHIuZHJpdmVyX3ZlciwN CisJCUJGQURfRFJJVkVSX1ZFUlNJT04pOw0KIAlzdHJjcHkoaW9jbWQtPmlv Y19hdHRyLmRyaXZlcl9hdHRyLmZ3X3ZlciwNCiAJCWlvY21kLT5pb2NfYXR0 ci5hZGFwdGVyX2F0dHIuZndfdmVyKTsNCiAJc3RyY3B5KGlvY21kLT5pb2Nf YXR0ci5kcml2ZXJfYXR0ci5iaW9zX3ZlciwNCmRpZmYgLXUgLXAgYS9kcml2 ZXJzL2h3bW9uL2FzYzc2MjEuYyBiL2RyaXZlcnMvaHdtb24vYXNjNzYyMS5j DQotLS0gYS9kcml2ZXJzL2h3bW9uL2FzYzc2MjEuYw0KKysrIGIvZHJpdmVy cy9od21vbi9hc2M3NjIxLmMNCkBAIC0xMTUzLDggKzExNTMsNyBAQCBzdGF0 aWMgaW50IGFzYzc2MjFfZGV0ZWN0KHN0cnVjdCBpMmNfY2xpDQogDQogCQlp ZiAoY29tcGFueSA9PSBhc2M3NjIxX2NoaXBzW2NoaXBfaW5kZXhdLmNvbXBh bnlfaWQgJiYNCiAJCSAgICB2ZXJzdGVwID09IGFzYzc2MjFfY2hpcHNbY2hp cF9pbmRleF0udmVyc3RlcF9pZCkgew0KLQkJCXN0cmxjcHkoaW5mby0+dHlw ZSwgYXNjNzYyMV9jaGlwc1tjaGlwX2luZGV4XS5uYW1lLA0KLQkJCQlJMkNf TkFNRV9TSVpFKTsNCisJCQlzdHJhY3B5KGluZm8tPnR5cGUsIGFzYzc2MjFf Y2hpcHNbY2hpcF9pbmRleF0ubmFtZSk7DQogDQogCQkJZGV2X2luZm8oJmFk YXB0ZXItPmRldiwgIk1hdGNoZWQgJXMgYXQgMHglMDJ4XG4iLA0KIAkJCQkg YXNjNzYyMV9jaGlwc1tjaGlwX2luZGV4XS5uYW1lLCBjbGllbnQtPmFkZHIp Ow0KZGlmZiAtdSAtcCBhL2RyaXZlcnMvaHdtb24vbmN0NzkwNC5jIGIvZHJp dmVycy9od21vbi9uY3Q3OTA0LmMNCi0tLSBhL2RyaXZlcnMvaHdtb24vbmN0 NzkwNC5jDQorKysgYi9kcml2ZXJzL2h3bW9uL25jdDc5MDQuYw0KQEAgLTM5 Nyw3ICszOTcsNyBAQCBzdGF0aWMgaW50IG5jdDc5MDRfZGV0ZWN0KHN0cnVj dCBpMmNfY2xpDQogCSAgICAoaTJjX3NtYnVzX3JlYWRfYnl0ZV9kYXRhKGNs aWVudCwgQkFOS19TRUxfUkVHKSAmIDB4ZjgpICE9IDB4MDApDQogCQlyZXR1 cm4gLUVOT0RFVjsNCiANCi0Jc3RybGNweShpbmZvLT50eXBlLCAibmN0Nzkw NCIsIEkyQ19OQU1FX1NJWkUpOw0KKwlzdHJhY3B5KGluZm8tPnR5cGUsICJu Y3Q3OTA0Iik7DQogDQogCXJldHVybiAwOw0KIH0NCmRpZmYgLXUgLXAgYS9r ZXJuZWwva2FsbHN5bXMuYyBiL2tlcm5lbC9rYWxsc3ltcy5jDQotLS0gYS9r ZXJuZWwva2FsbHN5bXMuYw0KKysrIGIva2VybmVsL2thbGxzeW1zLmMNCkBA IC00OTUsNyArNDk1LDcgQEAgc3RhdGljIGludCBnZXRfa3N5bWJvbF9mdHJh Y2VfbW9kKHN0cnVjdA0KIA0KIHN0YXRpYyBpbnQgZ2V0X2tzeW1ib2xfYnBm KHN0cnVjdCBrYWxsc3ltX2l0ZXIgKml0ZXIpDQogew0KLQlzdHJsY3B5KGl0 ZXItPm1vZHVsZV9uYW1lLCAiYnBmIiwgTU9EVUxFX05BTUVfTEVOKTsNCisJ c3RyYWNweShpdGVyLT5tb2R1bGVfbmFtZSwgImJwZiIpOw0KIAlpdGVyLT5l eHBvcnRlZCA9IDA7DQogCXJldHVybiBicGZfZ2V0X2thbGxzeW0oaXRlci0+ cG9zIC0gaXRlci0+cG9zX2Z0cmFjZV9tb2RfZW5kLA0KIAkJCSAgICAgICAm aXRlci0+dmFsdWUsICZpdGVyLT50eXBlLA0KZGlmZiAtdSAtcCBhL3Rvb2xz L3BlcmYvYXJjaC94ODYvdXRpbC9tYWNoaW5lLmMgYi90b29scy9wZXJmL2Fy Y2gveDg2L3V0aWwvbWFjaGluZS5jDQotLS0gYS90b29scy9wZXJmL2FyY2gv eDg2L3V0aWwvbWFjaGluZS5jDQorKysgYi90b29scy9wZXJmL2FyY2gveDg2 L3V0aWwvbWFjaGluZS5jDQpAQCAtMzksNyArMzksNyBAQCBzdGF0aWMgaW50 IGFkZF9leHRyYV9rZXJuZWxfbWFwKHN0cnVjdCBlDQogCW1pLT5tYXBzW21p LT5jbnRdLnN0YXJ0ID0gc3RhcnQ7DQogCW1pLT5tYXBzW21pLT5jbnRdLmVu ZCAgID0gZW5kOw0KIAltaS0+bWFwc1ttaS0+Y250XS5wZ29mZiA9IHBnb2Zm Ow0KLQlzdHJsY3B5KG1pLT5tYXBzW21pLT5jbnRdLm5hbWUsIG5hbWUsIEtN QVBfTkFNRV9MRU4pOw0KKwlzdHJhY3B5KG1pLT5tYXBzW21pLT5jbnRdLm5h bWUsIG5hbWUpOw0KIA0KIAltaS0+Y250ICs9IDE7DQogDQpkaWZmIC11IC1w IGEvZHJpdmVycy9od21vbi9tYXgxNjE5LmMgYi9kcml2ZXJzL2h3bW9uL21h eDE2MTkuYw0KLS0tIGEvZHJpdmVycy9od21vbi9tYXgxNjE5LmMNCisrKyBi L2RyaXZlcnMvaHdtb24vbWF4MTYxOS5jDQpAQCAtMjQxLDcgKzI0MSw3IEBA IHN0YXRpYyBpbnQgbWF4MTYxOV9kZXRlY3Qoc3RydWN0IGkyY19jbGkNCiAJ CXJldHVybiAtRU5PREVWOw0KIAl9DQogDQotCXN0cmxjcHkoaW5mby0+dHlw ZSwgIm1heDE2MTkiLCBJMkNfTkFNRV9TSVpFKTsNCisJc3RyYWNweShpbmZv LT50eXBlLCAibWF4MTYxOSIpOw0KIA0KIAlyZXR1cm4gMDsNCiB9DQpkaWZm IC11IC1wIGEvZHJpdmVycy9tZWRpYS9kdmItY29yZS9kdmJfdmIyLmMgYi9k cml2ZXJzL21lZGlhL2R2Yi1jb3JlL2R2Yl92YjIuYw0KLS0tIGEvZHJpdmVy cy9tZWRpYS9kdmItY29yZS9kdmJfdmIyLmMNCisrKyBiL2RyaXZlcnMvbWVk aWEvZHZiLWNvcmUvZHZiX3ZiMi5jDQpAQCAtMTkzLDcgKzE5Myw3IEBAIGlu dCBkdmJfdmIyX2luaXQoc3RydWN0IGR2Yl92YjJfY3R4ICpjdHgNCiAJc3Bp bl9sb2NrX2luaXQoJmN0eC0+c2xvY2spOw0KIAlJTklUX0xJU1RfSEVBRCgm Y3R4LT5kdmJfcSk7DQogDQotCXN0cnNjcHkoY3R4LT5uYW1lLCBuYW1lLCBE VkJfVkIyX05BTUVfTUFYKTsNCisJc3RyYWNweShjdHgtPm5hbWUsIG5hbWUp Ow0KIAljdHgtPm5vbmJsb2NraW5nID0gbm9uYmxvY2tpbmc7DQogCWN0eC0+ c3RhdGUgPSBEVkJfVkIyX1NUQVRFX0lOSVQ7DQogDQpkaWZmIC11IC1wIGEv ZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9vY3Rlb250eDIvYWYvcnZ1 LmMgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9tYXJ2ZWxsL29jdGVvbnR4Mi9h Zi9ydnUuYw0KLS0tIGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvbWFydmVsbC9v Y3Rlb250eDIvYWYvcnZ1LmMNCisrKyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0 L21hcnZlbGwvb2N0ZW9udHgyL2FmL3J2dS5jDQpAQCAtMjM2Nyw4ICsyMzY3 LDggQEAgc3RhdGljIHZvaWQgcnZ1X3VwZGF0ZV9tb2R1bGVfcGFyYW1zKHN0 cg0KIHsNCiAJY29uc3QgY2hhciAqZGVmYXVsdF9wZmxfbmFtZSA9ICJkZWZh dWx0IjsNCiANCi0Jc3Ryc2NweShydnUtPm1rZXhfcGZsX25hbWUsDQotCQlt a2V4X3Byb2ZpbGUgPyBta2V4X3Byb2ZpbGUgOiBkZWZhdWx0X3BmbF9uYW1l LCBNS0VYX05BTUVfTEVOKTsNCisJc3RyYWNweShydnUtPm1rZXhfcGZsX25h bWUsDQorCQlta2V4X3Byb2ZpbGUgPyBta2V4X3Byb2ZpbGUgOiBkZWZhdWx0 X3BmbF9uYW1lKTsNCiB9DQogDQogc3RhdGljIGludCBydnVfcHJvYmUoc3Ry dWN0IHBjaV9kZXYgKnBkZXYsIGNvbnN0IHN0cnVjdCBwY2lfZGV2aWNlX2lk ICppZCkNCmRpZmYgLXUgLXAgYS9kcml2ZXJzL2h3bW9uL2xtOTUyNDEuYyBi L2RyaXZlcnMvaHdtb24vbG05NTI0MS5jDQotLS0gYS9kcml2ZXJzL2h3bW9u L2xtOTUyNDEuYw0KKysrIGIvZHJpdmVycy9od21vbi9sbTk1MjQxLmMNCkBA IC0zODksNyArMzg5LDcgQEAgc3RhdGljIGludCBsbTk1MjQxX2RldGVjdChz dHJ1Y3QgaTJjX2NsaQ0KIAl9DQogDQogCS8qIEZpbGwgdGhlIGkyYyBib2Fy ZCBpbmZvICovDQotCXN0cmxjcHkoaW5mby0+dHlwZSwgbmFtZSwgSTJDX05B TUVfU0laRSk7DQorCXN0cmFjcHkoaW5mby0+dHlwZSwgbmFtZSk7DQogCXJl dHVybiAwOw0KIH0NCiANCmRpZmYgLXUgLXAgYS9kcml2ZXJzL21lZGlhL3Vz Yi9kdmItdXNiLXYyL3pkMTMwMS5jIGIvZHJpdmVycy9tZWRpYS91c2IvZHZi LXVzYi12Mi96ZDEzMDEuYw0KLS0tIGEvZHJpdmVycy9tZWRpYS91c2IvZHZi LXVzYi12Mi96ZDEzMDEuYw0KKysrIGIvZHJpdmVycy9tZWRpYS91c2IvZHZi LXVzYi12Mi96ZDEzMDEuYw0KQEAgLTE2OCw3ICsxNjgsNyBAQCBzdGF0aWMg aW50IHpkMTMwMV9mcm9udGVuZF9hdHRhY2goc3RydWN0DQogCWRldi0+bXQy MDYwX3BkYXRhLmkyY193cml0ZV9tYXggPSA5Ow0KIAlkZXYtPm10MjA2MF9w ZGF0YS5kdmJfZnJvbnRlbmQgPSBmcm9udGVuZDsNCiAJbWVtc2V0KCZib2Fy ZF9pbmZvLCAwLCBzaXplb2YoYm9hcmRfaW5mbykpOw0KLQlzdHJzY3B5KGJv YXJkX2luZm8udHlwZSwgIm10MjA2MCIsIEkyQ19OQU1FX1NJWkUpOw0KKwlz dHJhY3B5KGJvYXJkX2luZm8udHlwZSwgIm10MjA2MCIpOw0KIAlib2FyZF9p bmZvLmFkZHIgPSAweDYwOw0KIAlib2FyZF9pbmZvLnBsYXRmb3JtX2RhdGEg PSAmZGV2LT5tdDIwNjBfcGRhdGE7DQogCXJlcXVlc3RfbW9kdWxlKCIlcyIs ICJtdDIwNjAiKTsNCmRpZmYgLXUgLXAgYS9kcml2ZXJzL252bWUvaG9zdC9m YWJyaWNzLmMgYi9kcml2ZXJzL252bWUvaG9zdC9mYWJyaWNzLmMNCi0tLSBh L2RyaXZlcnMvbnZtZS9ob3N0L2ZhYnJpY3MuYw0KKysrIGIvZHJpdmVycy9u dm1lL2hvc3QvZmFicmljcy5jDQpAQCAtNDksNyArNDksNyBAQCBzdGF0aWMg c3RydWN0IG52bWZfaG9zdCAqbnZtZl9ob3N0X2FkZChjDQogCQlnb3RvIG91 dF91bmxvY2s7DQogDQogCWtyZWZfaW5pdCgmaG9zdC0+cmVmKTsNCi0Jc3Ry bGNweShob3N0LT5ucW4sIGhvc3RucW4sIE5WTUZfTlFOX1NJWkUpOw0KKwlz dHJhY3B5KGhvc3QtPm5xbiwgaG9zdG5xbik7DQogDQogCWxpc3RfYWRkX3Rh aWwoJmhvc3QtPmxpc3QsICZudm1mX2hvc3RzKTsNCiBvdXRfdW5sb2NrOg0K ZGlmZiAtdSAtcCBhL2RyaXZlcnMvaHdtb24vbG05Mi5jIGIvZHJpdmVycy9o d21vbi9sbTkyLmMNCi0tLSBhL2RyaXZlcnMvaHdtb24vbG05Mi5jDQorKysg Yi9kcml2ZXJzL2h3bW9uL2xtOTIuYw0KQEAgLTI4Nyw3ICsyODcsNyBAQCBz dGF0aWMgaW50IGxtOTJfZGV0ZWN0KHN0cnVjdCBpMmNfY2xpZW50DQogCWVs c2UNCiAJCXJldHVybiAtRU5PREVWOw0KIA0KLQlzdHJsY3B5KGluZm8tPnR5 cGUsICJsbTkyIiwgSTJDX05BTUVfU0laRSk7DQorCXN0cmFjcHkoaW5mby0+ dHlwZSwgImxtOTIiKTsNCiANCiAJcmV0dXJuIDA7DQogfQ0KZGlmZiAtdSAt cCBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L3Fsb2dpYy9xZWRlL3FlZGVfbWFp bi5jIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvcWxvZ2ljL3FlZGUvcWVkZV9t YWluLmMNCi0tLSBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L3Fsb2dpYy9xZWRl L3FlZGVfbWFpbi5jDQorKysgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9xbG9n aWMvcWVkZS9xZWRlX21haW4uYw0KQEAgLTEwOTQsNyArMTA5NCw3IEBAIHN0 YXRpYyBpbnQgX19xZWRlX3Byb2JlKHN0cnVjdCBwY2lfZGV2ICoNCiAJc3Bf cGFyYW1zLmRydl9taW5vciA9IFFFREVfTUlOT1JfVkVSU0lPTjsNCiAJc3Bf cGFyYW1zLmRydl9yZXYgPSBRRURFX1JFVklTSU9OX1ZFUlNJT047DQogCXNw X3BhcmFtcy5kcnZfZW5nID0gUUVERV9FTkdJTkVFUklOR19WRVJTSU9OOw0K LQlzdHJsY3B5KHNwX3BhcmFtcy5uYW1lLCAicWVkZSBMQU4iLCBRRURfRFJW X1ZFUl9TVFJfU0laRSk7DQorCXN0cmFjcHkoc3BfcGFyYW1zLm5hbWUsICJx ZWRlIExBTiIpOw0KIAlyYyA9IHFlZF9vcHMtPmNvbW1vbi0+c2xvd3BhdGhf c3RhcnQoY2RldiwgJnNwX3BhcmFtcyk7DQogCWlmIChyYykgew0KIAkJcHJf bm90aWNlKCJDYW5ub3Qgc3RhcnQgc2xvd3BhdGhcbiIpOw0KZGlmZiAtdSAt cCBhL2RyaXZlcnMvc2NzaS9iZmEvYmZhX2Zjcy5jIGIvZHJpdmVycy9zY3Np L2JmYS9iZmFfZmNzLmMNCi0tLSBhL2RyaXZlcnMvc2NzaS9iZmEvYmZhX2Zj cy5jDQorKysgYi9kcml2ZXJzL3Njc2kvYmZhL2JmYV9mY3MuYw0KQEAgLTc2 MSw4ICs3NjEsNyBAQCBiZmFfZmNzX2ZhYnJpY19wc3ltYl9pbml0KHN0cnVj dCBiZmFfZmNzDQogCWJmYV9pb2NfZ2V0X2FkYXB0ZXJfbW9kZWwoJmZhYnJp Yy0+ZmNzLT5iZmEtPmlvYywgbW9kZWwpOw0KIA0KIAkvKiBNb2RlbCBuYW1l L251bWJlciAqLw0KLQlzdHJsY3B5KHBvcnRfY2ZnLT5zeW1fbmFtZS5zeW1u YW1lLCBtb2RlbCwNCi0JCUJGQV9TWU1OQU1FX01BWExFTik7DQorCXN0cmFj cHkocG9ydF9jZmctPnN5bV9uYW1lLnN5bW5hbWUsIG1vZGVsKTsNCiAJc3Ry bGNhdChwb3J0X2NmZy0+c3ltX25hbWUuc3ltbmFtZSwgQkZBX0ZDU19QT1JU X1NZTUJOQU1FX1NFUEFSQVRPUiwNCiAJCUJGQV9TWU1OQU1FX01BWExFTik7 DQogDQpAQCAtODIyLDggKzgyMSw3IEBAIGJmYV9mY3NfZmFicmljX25zeW1i X2luaXQoc3RydWN0IGJmYV9mY3MNCiAJYmZhX2lvY19nZXRfYWRhcHRlcl9t b2RlbCgmZmFicmljLT5mY3MtPmJmYS0+aW9jLCBtb2RlbCk7DQogDQogCS8q IE1vZGVsIG5hbWUvbnVtYmVyICovDQotCXN0cmxjcHkocG9ydF9jZmctPm5v ZGVfc3ltX25hbWUuc3ltbmFtZSwgbW9kZWwsDQotCQlCRkFfU1lNTkFNRV9N QVhMRU4pOw0KKwlzdHJhY3B5KHBvcnRfY2ZnLT5ub2RlX3N5bV9uYW1lLnN5 bW5hbWUsIG1vZGVsKTsNCiAJc3RybGNhdChwb3J0X2NmZy0+bm9kZV9zeW1f bmFtZS5zeW1uYW1lLA0KIAkJCUJGQV9GQ1NfUE9SVF9TWU1CTkFNRV9TRVBB UkFUT1IsDQogCQkJQkZBX1NZTU5BTUVfTUFYTEVOKTsNCmRpZmYgLXUgLXAg YS9uZXQvY29yZS9kZXYuYyBiL25ldC9jb3JlL2Rldi5jDQotLS0gYS9uZXQv Y29yZS9kZXYuYw0KKysrIGIvbmV0L2NvcmUvZGV2LmMNCkBAIC01NzIsNyAr NTcyLDcgQEAgc3RhdGljIGludCBuZXRkZXZfYm9vdF9zZXR1cF9hZGQoY2hh ciAqbg0KIAlmb3IgKGkgPSAwOyBpIDwgTkVUREVWX0JPT1RfU0VUVVBfTUFY OyBpKyspIHsNCiAJCWlmIChzW2ldLm5hbWVbMF0gPT0gJ1wwJyB8fCBzW2ld Lm5hbWVbMF0gPT0gJyAnKSB7DQogCQkJbWVtc2V0KHNbaV0ubmFtZSwgMCwg c2l6ZW9mKHNbaV0ubmFtZSkpOw0KLQkJCXN0cmxjcHkoc1tpXS5uYW1lLCBu YW1lLCBJRk5BTVNJWik7DQorCQkJc3RyYWNweShzW2ldLm5hbWUsIG5hbWUp Ow0KIAkJCW1lbWNweSgmc1tpXS5tYXAsIG1hcCwgc2l6ZW9mKHNbaV0ubWFw KSk7DQogCQkJYnJlYWs7DQogCQl9DQpAQCAtMTExNyw3ICsxMTE3LDcgQEAg c3RhdGljIGludCBkZXZfYWxsb2NfbmFtZV9ucyhzdHJ1Y3QgbmV0DQogCUJV R19PTighbmV0KTsNCiAJcmV0ID0gX19kZXZfYWxsb2NfbmFtZShuZXQsIG5h bWUsIGJ1Zik7DQogCWlmIChyZXQgPj0gMCkNCi0JCXN0cmxjcHkoZGV2LT5u YW1lLCBidWYsIElGTkFNU0laKTsNCisJCXN0cmFjcHkoZGV2LT5uYW1lLCBi dWYpOw0KIAlyZXR1cm4gcmV0Ow0KIH0NCiANCkBAIC0xMTU0LDcgKzExNTQs NyBAQCBpbnQgZGV2X2dldF92YWxpZF9uYW1lKHN0cnVjdCBuZXQgKm5ldCwN CiAJZWxzZSBpZiAoX19kZXZfZ2V0X2J5X25hbWUobmV0LCBuYW1lKSkNCiAJ CXJldHVybiAtRUVYSVNUOw0KIAllbHNlIGlmIChkZXYtPm5hbWUgIT0gbmFt ZSkNCi0JCXN0cmxjcHkoZGV2LT5uYW1lLCBuYW1lLCBJRk5BTVNJWik7DQor CQlzdHJhY3B5KGRldi0+bmFtZSwgbmFtZSk7DQogDQogCXJldHVybiAwOw0K IH0NCmRpZmYgLXUgLXAgYS9kcml2ZXJzL2h3bW9uL2dsNTIwc20uYyBiL2Ry aXZlcnMvaHdtb24vZ2w1MjBzbS5jDQotLS0gYS9kcml2ZXJzL2h3bW9uL2ds NTIwc20uYw0KKysrIGIvZHJpdmVycy9od21vbi9nbDUyMHNtLmMNCkBAIC04 MTEsNyArODExLDcgQEAgc3RhdGljIGludCBnbDUyMF9kZXRlY3Qoc3RydWN0 IGkyY19jbGllbg0KIAkJcmV0dXJuIC1FTk9ERVY7DQogCX0NCiANCi0Jc3Ry bGNweShpbmZvLT50eXBlLCAiZ2w1MjBzbSIsIEkyQ19OQU1FX1NJWkUpOw0K KwlzdHJhY3B5KGluZm8tPnR5cGUsICJnbDUyMHNtIik7DQogDQogCXJldHVy biAwOw0KIH0NCmRpZmYgLXUgLXAgYS9kcml2ZXJzL25ldC93aXJlbGVzcy9i cm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvZmlybXdhcmUuYyBiL2RyaXZl cnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204MDIxMS9icmNtZm1hYy9m aXJtd2FyZS5jDQotLS0gYS9kcml2ZXJzL25ldC93aXJlbGVzcy9icm9hZGNv bS9icmNtODAyMTEvYnJjbWZtYWMvZmlybXdhcmUuYw0KKysrIGIvZHJpdmVy cy9uZXQvd2lyZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2Zp cm13YXJlLmMNCkBAIC03MzMsOCArNzMzLDcgQEAgYnJjbWZfZndfYWxsb2Nf cmVxdWVzdCh1MzIgY2hpcCwgdTMyIGNoaQ0KIAkJZnduYW1lc1tqXS5wYXRo WzBdID0gJ1wwJzsNCiAJCS8qIGNoZWNrIGlmIGZpcm13YXJlIHBhdGggaXMg cHJvdmlkZWQgYnkgbW9kdWxlIHBhcmFtZXRlciAqLw0KIAkJaWYgKGJyY21m X21wX2dsb2JhbC5maXJtd2FyZV9wYXRoWzBdICE9ICdcMCcpIHsNCi0JCQlz dHJsY3B5KGZ3bmFtZXNbal0ucGF0aCwgbXBfcGF0aCwNCi0JCQkJQlJDTUZf RldfTkFNRV9MRU4pOw0KKwkJCXN0cmFjcHkoZnduYW1lc1tqXS5wYXRoLCBt cF9wYXRoKTsNCiANCiAJCQlpZiAoZW5kICE9ICcvJykgew0KIAkJCQlzdHJs Y2F0KGZ3bmFtZXNbal0ucGF0aCwgIi8iLA0KZGlmZiAtdSAtcCBhL2RyaXZl cnMvdXNiL3VzYmlwL3N0dWJfbWFpbi5jIGIvZHJpdmVycy91c2IvdXNiaXAv c3R1Yl9tYWluLmMNCi0tLSBhL2RyaXZlcnMvdXNiL3VzYmlwL3N0dWJfbWFp bi5jDQorKysgYi9kcml2ZXJzL3VzYi91c2JpcC9zdHViX21haW4uYw0KQEAg LTEwMSw3ICsxMDEsNyBAQCBzdGF0aWMgaW50IGFkZF9tYXRjaF9idXNpZChj aGFyICpidXNpZCkNCiAJZm9yIChpID0gMDsgaSA8IE1BWF9CVVNJRDsgaSsr KSB7DQogCQlzcGluX2xvY2soJmJ1c2lkX3RhYmxlW2ldLmJ1c2lkX2xvY2sp Ow0KIAkJaWYgKCFidXNpZF90YWJsZVtpXS5uYW1lWzBdKSB7DQotCQkJc3Ry bGNweShidXNpZF90YWJsZVtpXS5uYW1lLCBidXNpZCwgQlVTSURfU0laRSk7 DQorCQkJc3RyYWNweShidXNpZF90YWJsZVtpXS5uYW1lLCBidXNpZCk7DQog CQkJaWYgKChidXNpZF90YWJsZVtpXS5zdGF0dXMgIT0gU1RVQl9CVVNJRF9B TExPQykgJiYNCiAJCQkgICAgKGJ1c2lkX3RhYmxlW2ldLnN0YXR1cyAhPSBT VFVCX0JVU0lEX1JFTU9WKSkNCiAJCQkJYnVzaWRfdGFibGVbaV0uc3RhdHVz ID0gU1RVQl9CVVNJRF9BRERFRDsNCmRpZmYgLXUgLXAgYS9kcml2ZXJzL2h3 bW9uL2xtODAuYyBiL2RyaXZlcnMvaHdtb24vbG04MC5jDQotLS0gYS9kcml2 ZXJzL2h3bW9uL2xtODAuYw0KKysrIGIvZHJpdmVycy9od21vbi9sbTgwLmMN CkBAIC01ODYsNyArNTg2LDcgQEAgc3RhdGljIGludCBsbTgwX2RldGVjdChz dHJ1Y3QgaTJjX2NsaWVudA0KIAkJbmFtZSA9ICJsbTgwIjsNCiAJfQ0KIA0K LQlzdHJsY3B5KGluZm8tPnR5cGUsIG5hbWUsIEkyQ19OQU1FX1NJWkUpOw0K KwlzdHJhY3B5KGluZm8tPnR5cGUsIG5hbWUpOw0KIA0KIAlyZXR1cm4gMDsN CiB9DQpkaWZmIC11IC1wIGEvZHJpdmVycy9tZWRpYS9kdmItZnJvbnRlbmRz L3RzMjAyMC5jIGIvZHJpdmVycy9tZWRpYS9kdmItZnJvbnRlbmRzL3RzMjAy MC5jDQotLS0gYS9kcml2ZXJzL21lZGlhL2R2Yi1mcm9udGVuZHMvdHMyMDIw LmMNCisrKyBiL2RyaXZlcnMvbWVkaWEvZHZiLWZyb250ZW5kcy90czIwMjAu Yw0KQEAgLTUxNiw3ICs1MTYsNyBAQCBzdHJ1Y3QgZHZiX2Zyb250ZW5kICp0 czIwMjBfYXR0YWNoKHN0cnVjDQogCXBkYXRhLmF0dGFjaF9pbl91c2UgPSB0 cnVlOw0KIA0KIAltZW1zZXQoJmJvYXJkX2luZm8sIDAsIHNpemVvZihib2Fy ZF9pbmZvKSk7DQotCXN0cnNjcHkoYm9hcmRfaW5mby50eXBlLCAidHMyMDIw IiwgSTJDX05BTUVfU0laRSk7DQorCXN0cmFjcHkoYm9hcmRfaW5mby50eXBl LCAidHMyMDIwIik7DQogCWJvYXJkX2luZm8uYWRkciA9IGNvbmZpZy0+dHVu ZXJfYWRkcmVzczsNCiAJYm9hcmRfaW5mby5wbGF0Zm9ybV9kYXRhID0gJnBk YXRhOw0KIAljbGllbnQgPSBpMmNfbmV3X2RldmljZShpMmMsICZib2FyZF9p bmZvKTsNCmRpZmYgLXUgLXAgYS9rZXJuZWwvd29ya3F1ZXVlLmMgYi9rZXJu ZWwvd29ya3F1ZXVlLmMNCi0tLSBhL2tlcm5lbC93b3JrcXVldWUuYw0KKysr IGIva2VybmVsL3dvcmtxdWV1ZS5jDQpAQCAtMjIwOCw3ICsyMjA4LDcgQEAg X19hY3F1aXJlcygmcG9vbC0+bG9jaykNCiAJICogUmVjb3JkIHdxIG5hbWUg Zm9yIGNtZGxpbmUgYW5kIGRlYnVnIHJlcG9ydGluZywgbWF5IGdldA0KIAkg KiBvdmVycmlkZGVuIHRocm91Z2ggc2V0X3dvcmtlcl9kZXNjKCkuDQogCSAq Lw0KLQlzdHJzY3B5KHdvcmtlci0+ZGVzYywgcHdxLT53cS0+bmFtZSwgV09S S0VSX0RFU0NfTEVOKTsNCisJc3RyYWNweSh3b3JrZXItPmRlc2MsIHB3cS0+ d3EtPm5hbWUpOw0KIA0KIAlsaXN0X2RlbF9pbml0KCZ3b3JrLT5lbnRyeSk7 DQogDQpkaWZmIC11IC1wIGEvbmV0L3NjaGVkL3NjaF90ZXFsLmMgYi9uZXQv c2NoZWQvc2NoX3RlcWwuYw0KLS0tIGEvbmV0L3NjaGVkL3NjaF90ZXFsLmMN CisrKyBiL25ldC9zY2hlZC9zY2hfdGVxbC5jDQpAQCAtNDg5LDcgKzQ4OSw3 IEBAIHN0YXRpYyBpbnQgX19pbml0IHRlcWxfaW5pdCh2b2lkKQ0KIA0KIAkJ bWFzdGVyID0gbmV0ZGV2X3ByaXYoZGV2KTsNCiANCi0JCXN0cmxjcHkobWFz dGVyLT5xb3BzLmlkLCBkZXYtPm5hbWUsIElGTkFNU0laKTsNCisJCXN0cmFj cHkobWFzdGVyLT5xb3BzLmlkLCBkZXYtPm5hbWUpOw0KIAkJZXJyID0gcmVn aXN0ZXJfcWRpc2MoJm1hc3Rlci0+cW9wcyk7DQogDQogCQlpZiAoZXJyKSB7 DQpkaWZmIC11IC1wIGEvZHJpdmVycy9maXJtd2FyZS9hcm1fc2NtaS9wb3dl ci5jIGIvZHJpdmVycy9maXJtd2FyZS9hcm1fc2NtaS9wb3dlci5jDQotLS0g YS9kcml2ZXJzL2Zpcm13YXJlL2FybV9zY21pL3Bvd2VyLmMNCisrKyBiL2Ry aXZlcnMvZmlybXdhcmUvYXJtX3NjbWkvcG93ZXIuYw0KQEAgLTEwNiw3ICsx MDYsNyBAQCBzY21pX3Bvd2VyX2RvbWFpbl9hdHRyaWJ1dGVzX2dldChjb25z dCBzDQogCQlkb21faW5mby0+c3RhdGVfc2V0X25vdGlmeSA9IFNVUFBPUlRT X1NUQVRFX1NFVF9OT1RJRlkoZmxhZ3MpOw0KIAkJZG9tX2luZm8tPnN0YXRl X3NldF9hc3luYyA9IFNVUFBPUlRTX1NUQVRFX1NFVF9BU1lOQyhmbGFncyk7 DQogCQlkb21faW5mby0+c3RhdGVfc2V0X3N5bmMgPSBTVVBQT1JUU19TVEFU RV9TRVRfU1lOQyhmbGFncyk7DQotCQlzdHJsY3B5KGRvbV9pbmZvLT5uYW1l LCBhdHRyLT5uYW1lLCBTQ01JX01BWF9TVFJfU0laRSk7DQorCQlzdHJhY3B5 KGRvbV9pbmZvLT5uYW1lLCBhdHRyLT5uYW1lKTsNCiAJfQ0KIA0KIAlzY21p X3hmZXJfcHV0KGhhbmRsZSwgdCk7DQpkaWZmIC11IC1wIGEvZHJpdmVycy9o d21vbi9hZG0xMDI1LmMgYi9kcml2ZXJzL2h3bW9uL2FkbTEwMjUuYw0KLS0t IGEvZHJpdmVycy9od21vbi9hZG0xMDI1LmMNCisrKyBiL2RyaXZlcnMvaHdt b24vYWRtMTAyNS5jDQpAQCAtNDcwLDcgKzQ3MCw3IEBAIHN0YXRpYyBpbnQg YWRtMTAyNV9kZXRlY3Qoc3RydWN0IGkyY19jbGkNCiAJZWxzZQ0KIAkJcmV0 dXJuIC1FTk9ERVY7DQogDQotCXN0cmxjcHkoaW5mby0+dHlwZSwgbmFtZSwg STJDX05BTUVfU0laRSk7DQorCXN0cmFjcHkoaW5mby0+dHlwZSwgbmFtZSk7 DQogDQogCXJldHVybiAwOw0KIH0NCmRpZmYgLXUgLXAgYS9kcml2ZXJzL2h3 bW9uL3c4Mzc5MWQuYyBiL2RyaXZlcnMvaHdtb24vdzgzNzkxZC5jDQotLS0g YS9kcml2ZXJzL2h3bW9uL3c4Mzc5MWQuYw0KKysrIGIvZHJpdmVycy9od21v bi93ODM3OTFkLmMNCkBAIC0xMzQ5LDcgKzEzNDksNyBAQCBzdGF0aWMgaW50 IHc4Mzc5MWRfZGV0ZWN0KHN0cnVjdCBpMmNfY2xpDQogCWlmICh2YWwxICE9 IDB4NzEgfHwgdmFsMiAhPSAweDVjKQ0KIAkJcmV0dXJuIC1FTk9ERVY7DQog DQotCXN0cmxjcHkoaW5mby0+dHlwZSwgInc4Mzc5MWQiLCBJMkNfTkFNRV9T SVpFKTsNCisJc3RyYWNweShpbmZvLT50eXBlLCAidzgzNzkxZCIpOw0KIA0K IAlyZXR1cm4gMDsNCiB9DQpkaWZmIC11IC1wIGEvZHJpdmVycy9tZWRpYS9w Y2kvYnQ4eHgvYnR0di1pbnB1dC5jIGIvZHJpdmVycy9tZWRpYS9wY2kvYnQ4 eHgvYnR0di1pbnB1dC5jDQotLS0gYS9kcml2ZXJzL21lZGlhL3BjaS9idDh4 eC9idHR2LWlucHV0LmMNCisrKyBiL2RyaXZlcnMvbWVkaWEvcGNpL2J0OHh4 L2J0dHYtaW5wdXQuYw0KQEAgLTM3Myw3ICszNzMsNyBAQCB2b2lkIGluaXRf YnR0dl9pMmNfaXIoc3RydWN0IGJ0dHYgKmJ0dikNCiANCiAJbWVtc2V0KCZp bmZvLCAwLCBzaXplb2Yoc3RydWN0IGkyY19ib2FyZF9pbmZvKSk7DQogCW1l bXNldCgmYnR2LT5pbml0X2RhdGEsIDAsIHNpemVvZihidHYtPmluaXRfZGF0 YSkpOw0KLQlzdHJzY3B5KGluZm8udHlwZSwgImlyX3ZpZGVvIiwgSTJDX05B TUVfU0laRSk7DQorCXN0cmFjcHkoaW5mby50eXBlLCAiaXJfdmlkZW8iKTsN CiANCiAJc3dpdGNoIChidHYtPmMudHlwZSkgew0KIAljYXNlIEJUVFZfQk9B UkRfUFY5NTE6DQpkaWZmIC11IC1wIGEvZHJpdmVycy9tZWRpYS91c2IvcHZy dXNiMi9wdnJ1c2IyLWkyYy1jb3JlLmMgYi9kcml2ZXJzL21lZGlhL3VzYi9w dnJ1c2IyL3B2cnVzYjItaTJjLWNvcmUuYw0KLS0tIGEvZHJpdmVycy9tZWRp YS91c2IvcHZydXNiMi9wdnJ1c2IyLWkyYy1jb3JlLmMNCisrKyBiL2RyaXZl cnMvbWVkaWEvdXNiL3B2cnVzYjIvcHZydXNiMi1pMmMtY29yZS5jDQpAQCAt NTYxLDcgKzU2MSw3IEBAIHN0YXRpYyB2b2lkIHB2cjJfaTJjX3JlZ2lzdGVy X2lyKHN0cnVjdA0KIAkJLyogSVIgUmVjZWl2ZXIgKi8NCiAJCWluZm8uYWRk ciAgICAgICAgICA9IDB4MTg7DQogCQlpbmZvLnBsYXRmb3JtX2RhdGEgPSBp bml0X2RhdGE7DQotCQlzdHJzY3B5KGluZm8udHlwZSwgImlyX3ZpZGVvIiwg STJDX05BTUVfU0laRSk7DQorCQlzdHJhY3B5KGluZm8udHlwZSwgImlyX3Zp ZGVvIik7DQogCQlwdnIyX3RyYWNlKFBWUjJfVFJBQ0VfSU5GTywgIkJpbmRp bmcgJXMgdG8gaTJjIGFkZHJlc3MgMHglMDJ4LiIsDQogCQkJICAgaW5mby50 eXBlLCBpbmZvLmFkZHIpOw0KIAkJaTJjX25ld19kZXZpY2UoJmhkdy0+aTJj X2FkYXAsICZpbmZvKTsNCkBAIC01NzYsNyArNTc2LDcgQEAgc3RhdGljIHZv aWQgcHZyMl9pMmNfcmVnaXN0ZXJfaXIoc3RydWN0DQogCQkvKiBJUiBUcmFu c2NlaXZlciAqLw0KIAkJaW5mby5hZGRyID0gMHg3MTsNCiAJCWluZm8ucGxh dGZvcm1fZGF0YSA9IGluaXRfZGF0YTsNCi0JCXN0cnNjcHkoaW5mby50eXBl LCAiaXJfejhmMDgxMV9oYXVwIiwgSTJDX05BTUVfU0laRSk7DQorCQlzdHJh Y3B5KGluZm8udHlwZSwgImlyX3o4ZjA4MTFfaGF1cCIpOw0KIAkJcHZyMl90 cmFjZShQVlIyX1RSQUNFX0lORk8sICJCaW5kaW5nICVzIHRvIGkyYyBhZGRy ZXNzIDB4JTAyeC4iLA0KIAkJCSAgIGluZm8udHlwZSwgaW5mby5hZGRyKTsN CiAJCWkyY19uZXdfZGV2aWNlKCZoZHctPmkyY19hZGFwLCAmaW5mbyk7DQpk aWZmIC11IC1wIGEvZHJpdmVycy9wbGF0Zm9ybS94ODYvaW50ZWxfY2h0X2lu dDMzZmUuYyBiL2RyaXZlcnMvcGxhdGZvcm0veDg2L2ludGVsX2NodF9pbnQz M2ZlLmMNCi0tLSBhL2RyaXZlcnMvcGxhdGZvcm0veDg2L2ludGVsX2NodF9p bnQzM2ZlLmMNCisrKyBiL2RyaXZlcnMvcGxhdGZvcm0veDg2L2ludGVsX2No dF9pbnQzM2ZlLmMNCkBAIC0yODUsNyArMjg1LDcgQEAgY2h0X2ludDMzZmVf cmVnaXN0ZXJfbWF4MTcwNDcoc3RydWN0IGRldg0KIAl9DQogDQogCW1lbXNl dCgmYm9hcmRfaW5mbywgMCwgc2l6ZW9mKGJvYXJkX2luZm8pKTsNCi0Jc3Ry bGNweShib2FyZF9pbmZvLnR5cGUsICJtYXgxNzA0NyIsIEkyQ19OQU1FX1NJ WkUpOw0KKwlzdHJhY3B5KGJvYXJkX2luZm8udHlwZSwgIm1heDE3MDQ3Iik7 DQogCWJvYXJkX2luZm8uZGV2X25hbWUgPSAibWF4MTcwNDciOw0KIAlib2Fy ZF9pbmZvLmZ3bm9kZSA9IGZ3bm9kZTsNCiAJZGF0YS0+bWF4MTcwNDcgPSBp MmNfYWNwaV9uZXdfZGV2aWNlKGRldiwgMSwgJmJvYXJkX2luZm8pOw0KQEAg LTM3NCw3ICszNzQsNyBAQCBzdGF0aWMgaW50IGNodF9pbnQzM2ZlX3Byb2Jl KHN0cnVjdCBwbGF0DQogCX0NCiANCiAJbWVtc2V0KCZib2FyZF9pbmZvLCAw LCBzaXplb2YoYm9hcmRfaW5mbykpOw0KLQlzdHJsY3B5KGJvYXJkX2luZm8u dHlwZSwgInR5cGVjX2Z1c2IzMDIiLCBJMkNfTkFNRV9TSVpFKTsNCisJc3Ry YWNweShib2FyZF9pbmZvLnR5cGUsICJ0eXBlY19mdXNiMzAyIik7DQogCWJv YXJkX2luZm8uZGV2X25hbWUgPSAiZnVzYjMwMiI7DQogCWJvYXJkX2luZm8u Zndub2RlID0gZndub2RlOw0KIAlib2FyZF9pbmZvLmlycSA9IGZ1c2IzMDJf aXJxOw0KQEAgLTM5NCw3ICszOTQsNyBAQCBzdGF0aWMgaW50IGNodF9pbnQz M2ZlX3Byb2JlKHN0cnVjdCBwbGF0DQogCW1lbXNldCgmYm9hcmRfaW5mbywg MCwgc2l6ZW9mKGJvYXJkX2luZm8pKTsNCiAJYm9hcmRfaW5mby5kZXZfbmFt ZSA9ICJwaTN1c2IzMDUzMiI7DQogCWJvYXJkX2luZm8uZndub2RlID0gZndu b2RlOw0KLQlzdHJsY3B5KGJvYXJkX2luZm8udHlwZSwgInBpM3VzYjMwNTMy IiwgSTJDX05BTUVfU0laRSk7DQorCXN0cmFjcHkoYm9hcmRfaW5mby50eXBl LCAicGkzdXNiMzA1MzIiKTsNCiANCiAJZGF0YS0+cGkzdXNiMzA1MzIgPSBp MmNfYWNwaV9uZXdfZGV2aWNlKGRldiwgMywgJmJvYXJkX2luZm8pOw0KIAlp ZiAoSVNfRVJSKGRhdGEtPnBpM3VzYjMwNTMyKSkgew0KZGlmZiAtdSAtcCBh L2RyaXZlcnMvaHdtb24vZ2w1MThzbS5jIGIvZHJpdmVycy9od21vbi9nbDUx OHNtLmMNCi0tLSBhL2RyaXZlcnMvaHdtb24vZ2w1MThzbS5jDQorKysgYi9k cml2ZXJzL2h3bW9uL2dsNTE4c20uYw0KQEAgLTU4Niw3ICs1ODYsNyBAQCBz dGF0aWMgaW50IGdsNTE4X2RldGVjdChzdHJ1Y3QgaTJjX2NsaWVuDQogCWlm IChyZXYgIT0gMHgwMCAmJiByZXYgIT0gMHg4MCkNCiAJCXJldHVybiAtRU5P REVWOw0KIA0KLQlzdHJsY3B5KGluZm8tPnR5cGUsICJnbDUxOHNtIiwgSTJD X05BTUVfU0laRSk7DQorCXN0cmFjcHkoaW5mby0+dHlwZSwgImdsNTE4c20i KTsNCiANCiAJcmV0dXJuIDA7DQogfQ0KZGlmZiAtdSAtcCBhL2ZzL2dmczIv b3BzX2ZzdHlwZS5jIGIvZnMvZ2ZzMi9vcHNfZnN0eXBlLmMNCi0tLSBhL2Zz L2dmczIvb3BzX2ZzdHlwZS5jDQorKysgYi9mcy9nZnMyL29wc19mc3R5cGUu Yw0KQEAgLTM3Miw4ICszNzIsOCBAQCBzdGF0aWMgaW50IGluaXRfbmFtZXMo c3RydWN0IGdmczJfc2JkICpzDQogCWlmICghdGFibGVbMF0pDQogCQl0YWJs ZSA9IHNkcC0+c2RfdmZzLT5zX2lkOw0KIA0KLQlzdHJsY3B5KHNkcC0+c2Rf cHJvdG9fbmFtZSwgcHJvdG8sIEdGUzJfRlNOQU1FX0xFTik7DQotCXN0cmxj cHkoc2RwLT5zZF90YWJsZV9uYW1lLCB0YWJsZSwgR0ZTMl9GU05BTUVfTEVO KTsNCisJc3RyYWNweShzZHAtPnNkX3Byb3RvX25hbWUsIHByb3RvKTsNCisJ c3RyYWNweShzZHAtPnNkX3RhYmxlX25hbWUsIHRhYmxlKTsNCiANCiAJdGFi bGUgPSBzZHAtPnNkX3RhYmxlX25hbWU7DQogCXdoaWxlICgodGFibGUgPSBz dHJjaHIodGFibGUsICcvJykpKQ0KQEAgLTEzNDYsMTMgKzEzNDYsMTMgQEAg c3RhdGljIGludCBnZnMyX3BhcnNlX3BhcmFtKHN0cnVjdCBmc19jbw0KIA0K IAlzd2l0Y2ggKG8pIHsNCiAJY2FzZSBPcHRfbG9ja3Byb3RvOg0KLQkJc3Ry bGNweShhcmdzLT5hcl9sb2NrcHJvdG8sIHBhcmFtLT5zdHJpbmcsIEdGUzJf TE9DS05BTUVfTEVOKTsNCisJCXN0cmFjcHkoYXJncy0+YXJfbG9ja3Byb3Rv LCBwYXJhbS0+c3RyaW5nKTsNCiAJCWJyZWFrOw0KIAljYXNlIE9wdF9sb2Nr dGFibGU6DQotCQlzdHJsY3B5KGFyZ3MtPmFyX2xvY2t0YWJsZSwgcGFyYW0t PnN0cmluZywgR0ZTMl9MT0NLTkFNRV9MRU4pOw0KKwkJc3RyYWNweShhcmdz LT5hcl9sb2NrdGFibGUsIHBhcmFtLT5zdHJpbmcpOw0KIAkJYnJlYWs7DQog CWNhc2UgT3B0X2hvc3RkYXRhOg0KLQkJc3RybGNweShhcmdzLT5hcl9ob3N0 ZGF0YSwgcGFyYW0tPnN0cmluZywgR0ZTMl9MT0NLTkFNRV9MRU4pOw0KKwkJ c3RyYWNweShhcmdzLT5hcl9ob3N0ZGF0YSwgcGFyYW0tPnN0cmluZyk7DQog CQlicmVhazsNCiAJY2FzZSBPcHRfc3BlY3RhdG9yOg0KIAkJYXJncy0+YXJf c3BlY3RhdG9yID0gMTsNCmRpZmYgLXUgLXAgYS9zb3VuZC9hb2EvY29kZWNz L3Rhcy5jIGIvc291bmQvYW9hL2NvZGVjcy90YXMuYw0KLS0tIGEvc291bmQv YW9hL2NvZGVjcy90YXMuYw0KKysrIGIvc291bmQvYW9hL2NvZGVjcy90YXMu Yw0KQEAgLTg5NCw3ICs4OTQsNyBAQCBzdGF0aWMgaW50IHRhc19pMmNfcHJv YmUoc3RydWN0IGkyY19jbGllDQogCS8qIHNlZW1zIHRoYXQgaGFsZiBpcyBh IHNhbmVyIGRlZmF1bHQgKi8NCiAJdGFzLT5kcmNfcmFuZ2UgPSBUQVMzMDA0 X0RSQ19NQVggLyAyOw0KIA0KLQlzdHJsY3B5KHRhcy0+Y29kZWMubmFtZSwg InRhcyIsIE1BWF9DT0RFQ19OQU1FX0xFTik7DQorCXN0cmFjcHkodGFzLT5j b2RlYy5uYW1lLCAidGFzIik7DQogCXRhcy0+Y29kZWMub3duZXIgPSBUSElT X01PRFVMRTsNCiAJdGFzLT5jb2RlYy5pbml0ID0gdGFzX2luaXRfY29kZWM7 DQogCXRhcy0+Y29kZWMuZXhpdCA9IHRhc19leGl0X2NvZGVjOw0KZGlmZiAt dSAtcCBhL2RyaXZlcnMvaHdtb24vYXNiMTAwLmMgYi9kcml2ZXJzL2h3bW9u L2FzYjEwMC5jDQotLS0gYS9kcml2ZXJzL2h3bW9uL2FzYjEwMC5jDQorKysg Yi9kcml2ZXJzL2h3bW9uL2FzYjEwMC5jDQpAQCAtNzcwLDcgKzc3MCw3IEBA IHN0YXRpYyBpbnQgYXNiMTAwX2RldGVjdChzdHJ1Y3QgaTJjX2NsaWUNCiAJ aWYgKHZhbDEgIT0gMHgzMSB8fCB2YWwyICE9IDB4MDYpDQogCQlyZXR1cm4g LUVOT0RFVjsNCiANCi0Jc3RybGNweShpbmZvLT50eXBlLCAiYXNiMTAwIiwg STJDX05BTUVfU0laRSk7DQorCXN0cmFjcHkoaW5mby0+dHlwZSwgImFzYjEw MCIpOw0KIA0KIAlyZXR1cm4gMDsNCiB9DQpkaWZmIC11IC1wIGEvZHJpdmVy cy9od21vbi90bXA0MjEuYyBiL2RyaXZlcnMvaHdtb24vdG1wNDIxLmMNCi0t LSBhL2RyaXZlcnMvaHdtb24vdG1wNDIxLmMNCisrKyBiL2RyaXZlcnMvaHdt b24vdG1wNDIxLmMNCkBAIC0yNjYsNyArMjY2LDcgQEAgc3RhdGljIGludCB0 bXA0MjFfZGV0ZWN0KHN0cnVjdCBpMmNfY2xpZQ0KIAkJcmV0dXJuIC1FTk9E RVY7DQogCX0NCiANCi0Jc3RybGNweShpbmZvLT50eXBlLCB0bXA0MjFfaWRb a2luZF0ubmFtZSwgSTJDX05BTUVfU0laRSk7DQorCXN0cmFjcHkoaW5mby0+ dHlwZSwgdG1wNDIxX2lkW2tpbmRdLm5hbWUpOw0KIAlkZXZfaW5mbygmYWRh cHRlci0+ZGV2LCAiRGV0ZWN0ZWQgVEkgJXMgY2hpcCBhdCAweCUwMnhcbiIs DQogCQkgbmFtZXNba2luZF0sIGNsaWVudC0+YWRkcik7DQogDQpkaWZmIC11 IC1wIGEvZHJpdmVycy9tZWRpYS9wY2kvYnQ4eHgvYnR0di1pMmMuYyBiL2Ry aXZlcnMvbWVkaWEvcGNpL2J0OHh4L2J0dHYtaTJjLmMNCi0tLSBhL2RyaXZl cnMvbWVkaWEvcGNpL2J0OHh4L2J0dHYtaTJjLmMNCisrKyBiL2RyaXZlcnMv bWVkaWEvcGNpL2J0OHh4L2J0dHYtaTJjLmMNCkBAIC0zMzUsNyArMzM1LDcg QEAgc3RhdGljIHZvaWQgZG9faTJjX3NjYW4oY2hhciAqbmFtZSwgc3RydQ0K IC8qIGluaXQgKyByZWdpc3RlciBpMmMgYWRhcHRlciAqLw0KIGludCBpbml0 X2J0dHZfaTJjKHN0cnVjdCBidHR2ICpidHYpDQogew0KLQlzdHJzY3B5KGJ0 di0+aTJjX2NsaWVudC5uYW1lLCAiYnR0diBpbnRlcm5hbCIsIEkyQ19OQU1F X1NJWkUpOw0KKwlzdHJhY3B5KGJ0di0+aTJjX2NsaWVudC5uYW1lLCAiYnR0 diBpbnRlcm5hbCIpOw0KIA0KIAlpZiAoaTJjX2h3KQ0KIAkJYnR2LT51c2Vf aTJjX2h3ID0gMTsNCmRpZmYgLXUgLXAgYS9kcml2ZXJzL2h3bW9uL2FkbTEw MjkuYyBiL2RyaXZlcnMvaHdtb24vYWRtMTAyOS5jDQotLS0gYS9kcml2ZXJz L2h3bW9uL2FkbTEwMjkuYw0KKysrIGIvZHJpdmVycy9od21vbi9hZG0xMDI5 LmMNCkBAIC0zMjksNyArMzI5LDcgQEAgc3RhdGljIGludCBhZG0xMDI5X2Rl dGVjdChzdHJ1Y3QgaTJjX2NsaQ0KIAkJcmV0dXJuIC1FTk9ERVY7DQogCX0N CiANCi0Jc3RybGNweShpbmZvLT50eXBlLCAiYWRtMTAyOSIsIEkyQ19OQU1F X1NJWkUpOw0KKwlzdHJhY3B5KGluZm8tPnR5cGUsICJhZG0xMDI5Iik7DQog DQogCXJldHVybiAwOw0KIH0NCmRpZmYgLXUgLXAgYS9kcml2ZXJzL2h3bW9u L3c4Mzc5My5jIGIvZHJpdmVycy9od21vbi93ODM3OTMuYw0KLS0tIGEvZHJp dmVycy9od21vbi93ODM3OTMuYw0KKysrIGIvZHJpdmVycy9od21vbi93ODM3 OTMuYw0KQEAgLTE2NTEsNyArMTY1MSw3IEBAIHN0YXRpYyBpbnQgdzgzNzkz X2RldGVjdChzdHJ1Y3QgaTJjX2NsaWUNCiAJaWYgKGNoaXBfaWQgIT0gMHg3 YikNCiAJCXJldHVybiAtRU5PREVWOw0KIA0KLQlzdHJsY3B5KGluZm8tPnR5 cGUsICJ3ODM3OTMiLCBJMkNfTkFNRV9TSVpFKTsNCisJc3RyYWNweShpbmZv LT50eXBlLCAidzgzNzkzIik7DQogDQogCXJldHVybiAwOw0KIH0NCmRpZmYg LXUgLXAgYS9kcml2ZXJzL21lZGlhL3VzYi9kdmItdXNiLXYyL2FmOTAzNS5j IGIvZHJpdmVycy9tZWRpYS91c2IvZHZiLXVzYi12Mi9hZjkwMzUuYw0KLS0t IGEvZHJpdmVycy9tZWRpYS91c2IvZHZiLXVzYi12Mi9hZjkwMzUuYw0KKysr IGIvZHJpdmVycy9tZWRpYS91c2IvZHZiLXVzYi12Mi9hZjkwMzUuYw0KQEAg LTE4OSw3ICsxODksNyBAQCBzdGF0aWMgaW50IGFmOTAzNV9hZGRfaTJjX2Rl dihzdHJ1Y3QgZHZiDQogCQkucGxhdGZvcm1fZGF0YSA9IHBsYXRmb3JtX2Rh dGEsDQogCX07DQogDQotCXN0cnNjcHkoYm9hcmRfaW5mby50eXBlLCB0eXBl LCBJMkNfTkFNRV9TSVpFKTsNCisJc3RyYWNweShib2FyZF9pbmZvLnR5cGUs IHR5cGUpOw0KIA0KIAkvKiBmaW5kIGZpcnN0IGZyZWUgY2xpZW50ICovDQog CWZvciAobnVtID0gMDsgbnVtIDwgQUY5MDM1X0kyQ19DTElFTlRfTUFYOyBu dW0rKykgew0KZGlmZiAtdSAtcCBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fY2xp ZW50LmMgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2NsaWVudC5jDQotLS0gYS9k cml2ZXJzL2dwdS9kcm0vZHJtX2NsaWVudC5jDQorKysgYi9kcml2ZXJzL2dw dS9kcm0vZHJtX2NsaWVudC5jDQpAQCAtMzQ3LDcgKzM0Nyw3IEBAIHN0YXRp YyBpbnQgZHJtX2NsaWVudF9idWZmZXJfYWRkZmIoc3RydWMNCiAJLyogZHJv cCB0aGUgcmVmZXJlbmNlIHdlIHBpY2tlZCB1cCBpbiBmcmFtZWJ1ZmZlciBs b29rdXAgKi8NCiAJZHJtX2ZyYW1lYnVmZmVyX3B1dChidWZmZXItPmZiKTsN CiANCi0Jc3Ryc2NweShidWZmZXItPmZiLT5jb21tLCBjbGllbnQtPm5hbWUs IFRBU0tfQ09NTV9MRU4pOw0KKwlzdHJhY3B5KGJ1ZmZlci0+ZmItPmNvbW0s IGNsaWVudC0+bmFtZSk7DQogDQogCXJldHVybiAwOw0KIH0NCmRpZmYgLXUg LXAgYS9kcml2ZXJzL2h3bW9uL21heDY2MzkuYyBiL2RyaXZlcnMvaHdtb24v bWF4NjYzOS5jDQotLS0gYS9kcml2ZXJzL2h3bW9uL21heDY2MzkuYw0KKysr IGIvZHJpdmVycy9od21vbi9tYXg2NjM5LmMNCkBAIC01MTEsNyArNTExLDcg QEAgc3RhdGljIGludCBtYXg2NjM5X2RldGVjdChzdHJ1Y3QgaTJjX2NsaQ0K IAlpZiAoZGV2X2lkICE9IDB4NTggfHwgbWFudV9pZCAhPSAweDREKQ0KIAkJ cmV0dXJuIC1FTk9ERVY7DQogDQotCXN0cmxjcHkoaW5mby0+dHlwZSwgIm1h eDY2MzkiLCBJMkNfTkFNRV9TSVpFKTsNCisJc3RyYWNweShpbmZvLT50eXBl LCAibWF4NjYzOSIpOw0KIA0KIAlyZXR1cm4gMDsNCiB9DQpkaWZmIC11IC1w IGEvZHJpdmVycy9hY3BpL3Byb2Nlc3Nvcl9pZGxlLmMgYi9kcml2ZXJzL2Fj cGkvcHJvY2Vzc29yX2lkbGUuYw0KLS0tIGEvZHJpdmVycy9hY3BpL3Byb2Nl c3Nvcl9pZGxlLmMNCisrKyBiL2RyaXZlcnMvYWNwaS9wcm9jZXNzb3JfaWRs ZS5jDQpAQCAtODY1LDcgKzg2NSw3IEBAIHN0YXRpYyBpbnQgYWNwaV9wcm9j ZXNzb3Jfc2V0dXBfY3N0YXRlcygNCiANCiAJCXN0YXRlID0gJmRydi0+c3Rh dGVzW2NvdW50XTsNCiAJCXNucHJpbnRmKHN0YXRlLT5uYW1lLCBDUFVJRExF X05BTUVfTEVOLCAiQyVkIiwgaSk7DQotCQlzdHJsY3B5KHN0YXRlLT5kZXNj LCBjeC0+ZGVzYywgQ1BVSURMRV9ERVNDX0xFTik7DQorCQlzdHJhY3B5KHN0 YXRlLT5kZXNjLCBjeC0+ZGVzYyk7DQogCQlzdGF0ZS0+ZXhpdF9sYXRlbmN5 ID0gY3gtPmxhdGVuY3k7DQogCQlzdGF0ZS0+dGFyZ2V0X3Jlc2lkZW5jeSA9 IGN4LT5sYXRlbmN5ICogbGF0ZW5jeV9mYWN0b3I7DQogCQlzdGF0ZS0+ZW50 ZXIgPSBhY3BpX2lkbGVfZW50ZXI7DQpAQCAtMTAzNiw4ICsxMDM2LDcgQEAg c3RhdGljIGludCBhY3BpX3Byb2Nlc3Nvcl9ldmFsdWF0ZV9scGkoYQ0KIA0K IAkJb2JqID0gcGtnX2VsZW0gKyA5Ow0KIAkJaWYgKG9iai0+dHlwZSA9PSBB Q1BJX1RZUEVfU1RSSU5HKQ0KLQkJCXN0cmxjcHkobHBpX3N0YXRlLT5kZXNj LCBvYmotPnN0cmluZy5wb2ludGVyLA0KLQkJCQlBQ1BJX0NYX0RFU0NfTEVO KTsNCisJCQlzdHJhY3B5KGxwaV9zdGF0ZS0+ZGVzYywgb2JqLT5zdHJpbmcu cG9pbnRlcik7DQogDQogCQlscGlfc3RhdGUtPmluZGV4ID0gc3RhdGVfaWR4 Ow0KIAkJaWYgKG9ial9nZXRfaW50ZWdlcihwa2dfZWxlbSArIDAsICZscGlf c3RhdGUtPm1pbl9yZXNpZGVuY3kpKSB7DQpAQCAtMTEwMiw3ICsxMTAxLDcg QEAgc3RhdGljIGJvb2wgY29tYmluZV9scGlfc3RhdGVzKHN0cnVjdCBhYw0K IAlyZXN1bHQtPmFyY2hfZmxhZ3MgPSBwYXJlbnQtPmFyY2hfZmxhZ3M7DQog CXJlc3VsdC0+aW5kZXggPSBwYXJlbnQtPmluZGV4Ow0KIA0KLQlzdHJsY3B5 KHJlc3VsdC0+ZGVzYywgbG9jYWwtPmRlc2MsIEFDUElfQ1hfREVTQ19MRU4p Ow0KKwlzdHJhY3B5KHJlc3VsdC0+ZGVzYywgbG9jYWwtPmRlc2MpOw0KIAlz dHJsY2F0KHJlc3VsdC0+ZGVzYywgIisiLCBBQ1BJX0NYX0RFU0NfTEVOKTsN CiAJc3RybGNhdChyZXN1bHQtPmRlc2MsIHBhcmVudC0+ZGVzYywgQUNQSV9D WF9ERVNDX0xFTik7DQogCXJldHVybiB0cnVlOw0KQEAgLTEyNzEsNyArMTI3 MCw3IEBAIHN0YXRpYyBpbnQgYWNwaV9wcm9jZXNzb3Jfc2V0dXBfbHBpX3N0 YXQNCiANCiAJCXN0YXRlID0gJmRydi0+c3RhdGVzW2ldOw0KIAkJc25wcmlu dGYoc3RhdGUtPm5hbWUsIENQVUlETEVfTkFNRV9MRU4sICJMUEktJWQiLCBp KTsNCi0JCXN0cmxjcHkoc3RhdGUtPmRlc2MsIGxwaS0+ZGVzYywgQ1BVSURM RV9ERVNDX0xFTik7DQorCQlzdHJhY3B5KHN0YXRlLT5kZXNjLCBscGktPmRl c2MpOw0KIAkJc3RhdGUtPmV4aXRfbGF0ZW5jeSA9IGxwaS0+d2FrZV9sYXRl bmN5Ow0KIAkJc3RhdGUtPnRhcmdldF9yZXNpZGVuY3kgPSBscGktPm1pbl9y ZXNpZGVuY3k7DQogCQlpZiAobHBpLT5hcmNoX2ZsYWdzKQ0KZGlmZiAtdSAt cCBhL2RyaXZlcnMvaHdtb24vZnNjaG1kLmMgYi9kcml2ZXJzL2h3bW9uL2Zz Y2htZC5jDQotLS0gYS9kcml2ZXJzL2h3bW9uL2ZzY2htZC5jDQorKysgYi9k cml2ZXJzL2h3bW9uL2ZzY2htZC5jDQpAQCAtMTA3NSw3ICsxMDc1LDcgQEAg c3RhdGljIGludCBmc2NobWRfZGV0ZWN0KHN0cnVjdCBpMmNfY2xpZQ0KIAll bHNlDQogCQlyZXR1cm4gLUVOT0RFVjsNCiANCi0Jc3RybGNweShpbmZvLT50 eXBlLCBmc2NobWRfaWRba2luZF0ubmFtZSwgSTJDX05BTUVfU0laRSk7DQor CXN0cmFjcHkoaW5mby0+dHlwZSwgZnNjaG1kX2lkW2tpbmRdLm5hbWUpOw0K IA0KIAlyZXR1cm4gMDsNCiB9DQpkaWZmIC11IC1wIGEvZHJpdmVycy9sZWRz L2xlZHMtYmxpbmttLmMgYi9kcml2ZXJzL2xlZHMvbGVkcy1ibGlua20uYw0K LS0tIGEvZHJpdmVycy9sZWRzL2xlZHMtYmxpbmttLmMNCisrKyBiL2RyaXZl cnMvbGVkcy9sZWRzLWJsaW5rbS5jDQpAQCAtNTYyLDcgKzU2Miw3IEBAIHN0 YXRpYyBpbnQgYmxpbmttX2RldGVjdChzdHJ1Y3QgaTJjX2NsaWUNCiAJCXJl dHVybiAtRU5PREVWOw0KIAl9DQogDQotCXN0cmxjcHkoaW5mby0+dHlwZSwg ImJsaW5rbSIsIEkyQ19OQU1FX1NJWkUpOw0KKwlzdHJhY3B5KGluZm8tPnR5 cGUsICJibGlua20iKTsNCiAJcmV0dXJuIDA7DQogfQ0KIA0KZGlmZiAtdSAt cCBhL2RyaXZlcnMvaHdtb24vZW1jMjEwMy5jIGIvZHJpdmVycy9od21vbi9l bWMyMTAzLmMNCi0tLSBhL2RyaXZlcnMvaHdtb24vZW1jMjEwMy5jDQorKysg Yi9kcml2ZXJzL2h3bW9uL2VtYzIxMDMuYw0KQEAgLTY0Myw3ICs2NDMsNyBA QCBlbWMyMTAzX2RldGVjdChzdHJ1Y3QgaTJjX2NsaWVudCAqbmV3X2NsDQog CWlmICgocHJvZHVjdCAhPSAweDI0KSAmJiAocHJvZHVjdCAhPSAweDI2KSkN CiAJCXJldHVybiAtRU5PREVWOw0KIA0KLQlzdHJsY3B5KGluZm8tPnR5cGUs ICJlbWMyMTAzIiwgSTJDX05BTUVfU0laRSk7DQorCXN0cmFjcHkoaW5mby0+ dHlwZSwgImVtYzIxMDMiKTsNCiANCiAJcmV0dXJuIDA7DQogfQ0KZGlmZiAt dSAtcCBhL2RyaXZlcnMvczM5MC9jaGFyL3RhcGVfY2xhc3MuYyBiL2RyaXZl cnMvczM5MC9jaGFyL3RhcGVfY2xhc3MuYw0KLS0tIGEvZHJpdmVycy9zMzkw L2NoYXIvdGFwZV9jbGFzcy5jDQorKysgYi9kcml2ZXJzL3MzOTAvY2hhci90 YXBlX2NsYXNzLmMNCkBAIC01NCwxMCArNTQsMTAgQEAgc3RydWN0IHRhcGVf Y2xhc3NfZGV2aWNlICpyZWdpc3Rlcl90YXBlXw0KIAlpZiAoIXRjZCkNCiAJ CXJldHVybiBFUlJfUFRSKC1FTk9NRU0pOw0KIA0KLQlzdHJsY3B5KHRjZC0+ ZGV2aWNlX25hbWUsIGRldmljZV9uYW1lLCBUQVBFQ0xBU1NfTkFNRV9MRU4p Ow0KKwlzdHJhY3B5KHRjZC0+ZGV2aWNlX25hbWUsIGRldmljZV9uYW1lKTsN CiAJZm9yIChzID0gc3RyY2hyKHRjZC0+ZGV2aWNlX25hbWUsICcvJyk7IHM7 IHMgPSBzdHJjaHIocywgJy8nKSkNCiAJCSpzID0gJyEnOw0KLQlzdHJsY3B5 KHRjZC0+bW9kZV9uYW1lLCBtb2RlX25hbWUsIFRBUEVDTEFTU19OQU1FX0xF Tik7DQorCXN0cmFjcHkodGNkLT5tb2RlX25hbWUsIG1vZGVfbmFtZSk7DQog CWZvciAocyA9IHN0cmNocih0Y2QtPm1vZGVfbmFtZSwgJy8nKTsgczsgcyA9 IHN0cmNocihzLCAnLycpKQ0KIAkJKnMgPSAnISc7DQogDQpkaWZmIC11IC1w IGEvZnMvb2NmczIvc3VwZXIuYyBiL2ZzL29jZnMyL3N1cGVyLmMNCi0tLSBh L2ZzL29jZnMyL3N1cGVyLmMNCisrKyBiL2ZzL29jZnMyL3N1cGVyLmMNCkBA IC0yMjM5LDggKzIyMzksNyBAQCBzdGF0aWMgaW50IG9jZnMyX2luaXRpYWxp emVfc3VwZXIoc3RydWN0DQogCQlnb3RvIGJhaWw7DQogCX0NCiANCi0Jc3Ry bGNweShvc2ItPnZvbF9sYWJlbCwgZGktPmlkMi5pX3N1cGVyLnNfbGFiZWws DQotCQlPQ0ZTMl9NQVhfVk9MX0xBQkVMX0xFTik7DQorCXN0cmFjcHkob3Ni LT52b2xfbGFiZWwsIGRpLT5pZDIuaV9zdXBlci5zX2xhYmVsKTsNCiAJb3Ni LT5yb290X2Jsa25vID0gbGU2NF90b19jcHUoZGktPmlkMi5pX3N1cGVyLnNf cm9vdF9ibGtubyk7DQogCW9zYi0+c3lzdGVtX2Rpcl9ibGtubyA9IGxlNjRf dG9fY3B1KGRpLT5pZDIuaV9zdXBlci5zX3N5c3RlbV9kaXJfYmxrbm8pOw0K IAlvc2ItPmZpcnN0X2NsdXN0ZXJfZ3JvdXBfYmxrbm8gPQ0KZGlmZiAtdSAt cCBhL2RyaXZlcnMvaHdtb24vbG05My5jIGIvZHJpdmVycy9od21vbi9sbTkz LmMNCi0tLSBhL2RyaXZlcnMvaHdtb24vbG05My5jDQorKysgYi9kcml2ZXJz L2h3bW9uL2xtOTMuYw0KQEAgLTI1NzUsNyArMjU3NSw3IEBAIHN0YXRpYyBp bnQgbG05M19kZXRlY3Qoc3RydWN0IGkyY19jbGllbnQNCiAJCXJldHVybiAt RU5PREVWOw0KIAl9DQogDQotCXN0cmxjcHkoaW5mby0+dHlwZSwgbmFtZSwg STJDX05BTUVfU0laRSk7DQorCXN0cmFjcHkoaW5mby0+dHlwZSwgbmFtZSk7 DQogCWRldl9kYmcoJmFkYXB0ZXItPmRldiwgImxvYWRpbmcgJXMgYXQgJWQs IDB4JTAyeFxuIiwNCiAJCWNsaWVudC0+bmFtZSwgaTJjX2FkYXB0ZXJfaWQo Y2xpZW50LT5hZGFwdGVyKSwNCiAJCWNsaWVudC0+YWRkcik7DQpkaWZmIC11 IC1wIGEvZHJpdmVycy9tZWRpYS9wY2kvY3g4OC9jeDg4LWlucHV0LmMgYi9k cml2ZXJzL21lZGlhL3BjaS9jeDg4L2N4ODgtaW5wdXQuYw0KLS0tIGEvZHJp dmVycy9tZWRpYS9wY2kvY3g4OC9jeDg4LWlucHV0LmMNCisrKyBiL2RyaXZl cnMvbWVkaWEvcGNpL2N4ODgvY3g4OC1pbnB1dC5jDQpAQCAtNjAwLDcgKzYw MCw3IEBAIHZvaWQgY3g4OF9pMmNfaW5pdF9pcihzdHJ1Y3QgY3g4OF9jb3Jl ICoNCiAJCXJldHVybjsNCiANCiAJbWVtc2V0KCZpbmZvLCAwLCBzaXplb2Yo c3RydWN0IGkyY19ib2FyZF9pbmZvKSk7DQotCXN0cnNjcHkoaW5mby50eXBl LCAiaXJfdmlkZW8iLCBJMkNfTkFNRV9TSVpFKTsNCisJc3RyYWNweShpbmZv LnR5cGUsICJpcl92aWRlbyIpOw0KIA0KIAlzd2l0Y2ggKGNvcmUtPmJvYXJk bnIpIHsNCiAJY2FzZSBDWDg4X0JPQVJEX0xFQURURUtfUFZSMjAwMDoNCkBA IC02MjUsNyArNjI1LDcgQEAgdm9pZCBjeDg4X2kyY19pbml0X2lyKHN0cnVj dCBjeDg4X2NvcmUgKg0KIA0KIAkJaWYgKCphZGRycCA9PSAweDcxKSB7DQog CQkJLyogSGF1cHBhdWdlIFo4RjA4MTEgKi8NCi0JCQlzdHJzY3B5KGluZm8u dHlwZSwgImlyX3o4ZjA4MTFfaGF1cCIsIEkyQ19OQU1FX1NJWkUpOw0KKwkJ CXN0cmFjcHkoaW5mby50eXBlLCAiaXJfejhmMDgxMV9oYXVwIik7DQogCQkJ Y29yZS0+aW5pdF9kYXRhLm5hbWUgPSBjb3JlLT5ib2FyZC5uYW1lOw0KIAkJ CWNvcmUtPmluaXRfZGF0YS5pcl9jb2RlcyA9IFJDX01BUF9IQVVQUEFVR0U7 DQogCQkJY29yZS0+aW5pdF9kYXRhLnR5cGUgPSBSQ19QUk9UT19CSVRfUkM1 IHwNCmRpZmYgLXUgLXAgYS9kcml2ZXJzL21mZC9odGMtaTJjcGxkLmMgYi9k cml2ZXJzL21mZC9odGMtaTJjcGxkLmMNCi0tLSBhL2RyaXZlcnMvbWZkL2h0 Yy1pMmNwbGQuYw0KKysrIGIvZHJpdmVycy9tZmQvaHRjLWkyY3BsZC5jDQpA QCAtMzUxLDcgKzM1MSw3IEBAIHN0YXRpYyBpbnQgaHRjcGxkX3JlZ2lzdGVy X2NoaXBfaTJjKA0KIA0KIAltZW1zZXQoJmluZm8sIDAsIHNpemVvZihzdHJ1 Y3QgaTJjX2JvYXJkX2luZm8pKTsNCiAJaW5mby5hZGRyID0gcGxhdF9jaGlw X2RhdGEtPmFkZHI7DQotCXN0cmxjcHkoaW5mby50eXBlLCAiaHRjcGxkLWNo aXAiLCBJMkNfTkFNRV9TSVpFKTsNCisJc3RyYWNweShpbmZvLnR5cGUsICJo dGNwbGQtY2hpcCIpOw0KIAlpbmZvLnBsYXRmb3JtX2RhdGEgPSBjaGlwOw0K IA0KIAkvKiBBZGQgdGhlIEkyQyBkZXZpY2UuICBUaGlzIGNhbGxzIHRoZSBw cm9iZSgpIGZ1bmN0aW9uLiAqLw0KZGlmZiAtdSAtcCBhL2RyaXZlcnMvbnZt ZS9ob3N0L2NvcmUuYyBiL2RyaXZlcnMvbnZtZS9ob3N0L2NvcmUuYw0KLS0t IGEvZHJpdmVycy9udm1lL2hvc3QvY29yZS5jDQorKysgYi9kcml2ZXJzL252 bWUvaG9zdC9jb3JlLmMNCkBAIC0yMjkyLDcgKzIyOTIsNyBAQCBzdGF0aWMg dm9pZCBudm1lX2luaXRfc3VibnFuKHN0cnVjdCBudm1lDQogCWlmKCEoY3Ry bC0+cXVpcmtzICYgTlZNRV9RVUlSS19JR05PUkVfREVWX1NVQk5RTikpIHsN CiAJCW5xbmxlbiA9IHN0cm5sZW4oaWQtPnN1Ym5xbiwgTlZNRl9OUU5fU0la RSk7DQogCQlpZiAobnFubGVuID4gMCAmJiBucW5sZW4gPCBOVk1GX05RTl9T SVpFKSB7DQotCQkJc3RybGNweShzdWJzeXMtPnN1Ym5xbiwgaWQtPnN1Ym5x biwgTlZNRl9OUU5fU0laRSk7DQorCQkJc3RyYWNweShzdWJzeXMtPnN1Ym5x biwgaWQtPnN1Ym5xbik7DQogCQkJcmV0dXJuOw0KIAkJfQ0KIA0KZGlmZiAt dSAtcCBhL2RyaXZlcnMvaHdtb24vYWRjMTI4ZDgxOC5jIGIvZHJpdmVycy9o d21vbi9hZGMxMjhkODE4LmMNCi0tLSBhL2RyaXZlcnMvaHdtb24vYWRjMTI4 ZDgxOC5jDQorKysgYi9kcml2ZXJzL2h3bW9uL2FkYzEyOGQ4MTguYw0KQEAg LTM4NCw3ICszODQsNyBAQCBzdGF0aWMgaW50IGFkYzEyOF9kZXRlY3Qoc3Ry dWN0IGkyY19jbGllDQogCWlmIChpMmNfc21idXNfcmVhZF9ieXRlX2RhdGEo Y2xpZW50LCBBREMxMjhfUkVHX0JVU1lfU1RBVFVTKSAmIDB4ZmMpDQogCQly ZXR1cm4gLUVOT0RFVjsNCiANCi0Jc3RybGNweShpbmZvLT50eXBlLCAiYWRj MTI4ZDgxOCIsIEkyQ19OQU1FX1NJWkUpOw0KKwlzdHJhY3B5KGluZm8tPnR5 cGUsICJhZGMxMjhkODE4Iik7DQogDQogCXJldHVybiAwOw0KIH0NCmRpZmYg LXUgLXAgYS9kcml2ZXJzL2h3bW9uL21heDY2NDIuYyBiL2RyaXZlcnMvaHdt b24vbWF4NjY0Mi5jDQotLS0gYS9kcml2ZXJzL2h3bW9uL21heDY2NDIuYw0K KysrIGIvZHJpdmVycy9od21vbi9tYXg2NjQyLmMNCkBAIC0xNDgsNyArMTQ4 LDcgQEAgc3RhdGljIGludCBtYXg2NjQyX2RldGVjdChzdHJ1Y3QgaTJjX2Ns aQ0KIAlpZiAoKHJlZ19zdGF0dXMgJiAweDJiKSAhPSAweDAwKQ0KIAkJcmV0 dXJuIC1FTk9ERVY7DQogDQotCXN0cmxjcHkoaW5mby0+dHlwZSwgIm1heDY2 NDIiLCBJMkNfTkFNRV9TSVpFKTsNCisJc3RyYWNweShpbmZvLT50eXBlLCAi bWF4NjY0MiIpOw0KIA0KIAlyZXR1cm4gMDsNCiB9DQpkaWZmIC11IC1wIGEv ZHJpdmVycy9tZWRpYS9pMmMvdHZhdWRpby5jIGIvZHJpdmVycy9tZWRpYS9p MmMvdHZhdWRpby5jDQotLS0gYS9kcml2ZXJzL21lZGlhL2kyYy90dmF1ZGlv LmMNCisrKyBiL2RyaXZlcnMvbWVkaWEvaTJjL3R2YXVkaW8uYw0KQEAgLTE5 ODEsNyArMTk4MSw3IEBAIHN0YXRpYyBpbnQgdHZhdWRpb19wcm9iZShzdHJ1 Y3QgaTJjX2NsaWUNCiANCiAJLyogZmlsbCByZXF1aXJlZCBkYXRhIHN0cnVj dHVyZXMgKi8NCiAJaWYgKCFpZCkNCi0JCXN0cnNjcHkoY2xpZW50LT5uYW1l LCBkZXNjLT5uYW1lLCBJMkNfTkFNRV9TSVpFKTsNCisJCXN0cmFjcHkoY2xp ZW50LT5uYW1lLCBkZXNjLT5uYW1lKTsNCiAJY2hpcC0+ZGVzYyA9IGRlc2M7 DQogCWNoaXAtPnNoYWRvdy5jb3VudCA9IGRlc2MtPnJlZ2lzdGVycysxOw0K IAljaGlwLT5wcmV2bW9kZSA9IC0xOw0KZGlmZiAtdSAtcCBhL2RyaXZlcnMv bWVkaWEvdXNiL2R2Yi11c2IvZHcyMTAyLmMgYi9kcml2ZXJzL21lZGlhL3Vz Yi9kdmItdXNiL2R3MjEwMi5jDQotLS0gYS9kcml2ZXJzL21lZGlhL3VzYi9k dmItdXNiL2R3MjEwMi5jDQorKysgYi9kcml2ZXJzL21lZGlhL3VzYi9kdmIt dXNiL2R3MjEwMi5jDQpAQCAtMTU4Niw3ICsxNTg2LDcgQEAgc3RhdGljIGlu dCB0dF9zMl80NjAwX2Zyb250ZW5kX2F0dGFjaChzdA0KIAltODhkczMxMDNf cGRhdGEubG5iX2h2X3BvbCA9IDE7DQogCW04OGRzMzEwM19wZGF0YS5sbmJf ZW5fcG9sID0gMDsNCiAJbWVtc2V0KCZib2FyZF9pbmZvLCAwLCBzaXplb2Yo Ym9hcmRfaW5mbykpOw0KLQlzdHJzY3B5KGJvYXJkX2luZm8udHlwZSwgIm04 OGRzMzEwMyIsIEkyQ19OQU1FX1NJWkUpOw0KKwlzdHJhY3B5KGJvYXJkX2lu Zm8udHlwZSwgIm04OGRzMzEwMyIpOw0KIAlib2FyZF9pbmZvLmFkZHIgPSAw eDY4Ow0KIAlib2FyZF9pbmZvLnBsYXRmb3JtX2RhdGEgPSAmbTg4ZHMzMTAz X3BkYXRhOw0KIAlyZXF1ZXN0X21vZHVsZSgibTg4ZHMzMTAzIik7DQpAQCAt MTYwNSw3ICsxNjA1LDcgQEAgc3RhdGljIGludCB0dF9zMl80NjAwX2Zyb250 ZW5kX2F0dGFjaChzdA0KIAkvKiBhdHRhY2ggdHVuZXIgKi8NCiAJdHMyMDIw X2NvbmZpZy5mZSA9IGFkYXAtPmZlX2FkYXBbMF0uZmU7DQogCW1lbXNldCgm Ym9hcmRfaW5mbywgMCwgc2l6ZW9mKGJvYXJkX2luZm8pKTsNCi0Jc3Ryc2Nw eShib2FyZF9pbmZvLnR5cGUsICJ0czIwMjIiLCBJMkNfTkFNRV9TSVpFKTsN CisJc3RyYWNweShib2FyZF9pbmZvLnR5cGUsICJ0czIwMjIiKTsNCiAJYm9h cmRfaW5mby5hZGRyID0gMHg2MDsNCiAJYm9hcmRfaW5mby5wbGF0Zm9ybV9k YXRhID0gJnRzMjAyMF9jb25maWc7DQogCXJlcXVlc3RfbW9kdWxlKCJ0czIw MjAiKTsNCmRpZmYgLXUgLXAgYS9kcml2ZXJzL25ldC93aXJlbGVzcy9icm9h ZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY29tbW9uLmMgYi9kcml2ZXJzL25l dC93aXJlbGVzcy9icm9hZGNvbS9icmNtODAyMTEvYnJjbWZtYWMvY29tbW9u LmMNCi0tLSBhL2RyaXZlcnMvbmV0L3dpcmVsZXNzL2Jyb2FkY29tL2JyY204 MDIxMS9icmNtZm1hYy9jb21tb24uYw0KKysrIGIvZHJpdmVycy9uZXQvd2ly ZWxlc3MvYnJvYWRjb20vYnJjbTgwMjExL2JyY21mbWFjL2NvbW1vbi5jDQpA QCAtMzgzLDEzICszODMsMTEgQEAgc3RhdGljIHZvaWQgYnJjbWZfbXBfYXR0 YWNoKHZvaWQpDQogCSAqIGlmIG5vdCBzZXQgdGhlbiBpZiBhdmFpbGFibGUg dXNlIHRoZSBwbGF0Zm9ybSBkYXRhIHZlcnNpb24uIFRvIG1ha2UNCiAJICog c3VyZSBpdCBnZXRzIGluaXRpYWxpemVkIGF0IGFsbCwgYWx3YXlzIGNvcHkg dGhlIG1vZHVsZSBwYXJhbSB2ZXJzaW9uDQogCSAqLw0KLQlzdHJsY3B5KGJy Y21mX21wX2dsb2JhbC5maXJtd2FyZV9wYXRoLCBicmNtZl9maXJtd2FyZV9w YXRoLA0KLQkJQlJDTUZfRldfQUxUUEFUSF9MRU4pOw0KKwlzdHJhY3B5KGJy Y21mX21wX2dsb2JhbC5maXJtd2FyZV9wYXRoLCBicmNtZl9maXJtd2FyZV9w YXRoKTsNCiAJaWYgKChicmNtZm1hY19wZGF0YSkgJiYgKGJyY21mbWFjX3Bk YXRhLT5md19hbHRlcm5hdGl2ZV9wYXRoKSAmJg0KIAkgICAgKGJyY21mX21w X2dsb2JhbC5maXJtd2FyZV9wYXRoWzBdID09ICdcMCcpKSB7DQotCQlzdHJs Y3B5KGJyY21mX21wX2dsb2JhbC5maXJtd2FyZV9wYXRoLA0KLQkJCWJyY21m bWFjX3BkYXRhLT5md19hbHRlcm5hdGl2ZV9wYXRoLA0KLQkJCUJSQ01GX0ZX X0FMVFBBVEhfTEVOKTsNCisJCXN0cmFjcHkoYnJjbWZfbXBfZ2xvYmFsLmZp cm13YXJlX3BhdGgsDQorCQkJYnJjbWZtYWNfcGRhdGEtPmZ3X2FsdGVybmF0 aXZlX3BhdGgpOw0KIAl9DQogfQ0KIA0KZGlmZiAtdSAtcCBhL3Rvb2xzL3Bl cmYvdXRpbC9hdXh0cmFjZS5jIGIvdG9vbHMvcGVyZi91dGlsL2F1eHRyYWNl LmMNCi0tLSBhL3Rvb2xzL3BlcmYvdXRpbC9hdXh0cmFjZS5jDQorKysgYi90 b29scy9wZXJmL3V0aWwvYXV4dHJhY2UuYw0KQEAgLTg2NSw3ICs4NjUsNyBA QCB2b2lkIGF1eHRyYWNlX3N5bnRoX2Vycm9yKHN0cnVjdCBhdXh0cmFjDQog CWF1eHRyYWNlX2Vycm9yLT5mbXQgPSAxOw0KIAlhdXh0cmFjZV9lcnJvci0+ aXAgPSBpcDsNCiAJYXV4dHJhY2VfZXJyb3ItPnRpbWUgPSB0aW1lc3RhbXA7 DQotCXN0cmxjcHkoYXV4dHJhY2VfZXJyb3ItPm1zZywgbXNnLCBNQVhfQVVY VFJBQ0VfRVJST1JfTVNHKTsNCisJc3RyYWNweShhdXh0cmFjZV9lcnJvci0+ bXNnLCBtc2cpOw0KIA0KIAlzaXplID0gKHZvaWQgKilhdXh0cmFjZV9lcnJv ci0+bXNnIC0gKHZvaWQgKilhdXh0cmFjZV9lcnJvciArDQogCSAgICAgICBz dHJsZW4oYXV4dHJhY2VfZXJyb3ItPm1zZykgKyAxOw0KZGlmZiAtdSAtcCBh L2RyaXZlcnMvaHdtb24vYWR0NzQxMS5jIGIvZHJpdmVycy9od21vbi9hZHQ3 NDExLmMNCi0tLSBhL2RyaXZlcnMvaHdtb24vYWR0NzQxMS5jDQorKysgYi9k cml2ZXJzL2h3bW9uL2FkdDc0MTEuYw0KQEAgLTU5MCw3ICs1OTAsNyBAQCBz dGF0aWMgaW50IGFkdDc0MTFfZGV0ZWN0KHN0cnVjdCBpMmNfY2xpDQogCQly ZXR1cm4gLUVOT0RFVjsNCiAJfQ0KIA0KLQlzdHJsY3B5KGluZm8tPnR5cGUs ICJhZHQ3NDExIiwgSTJDX05BTUVfU0laRSk7DQorCXN0cmFjcHkoaW5mby0+ dHlwZSwgImFkdDc0MTEiKTsNCiANCiAJcmV0dXJuIDA7DQogfQ0KZGlmZiAt dSAtcCBhL2RyaXZlcnMvbWFjaW50b3NoL3RoZXJtX3dpbmR0dW5uZWwuYyBi L2RyaXZlcnMvbWFjaW50b3NoL3RoZXJtX3dpbmR0dW5uZWwuYw0KLS0tIGEv ZHJpdmVycy9tYWNpbnRvc2gvdGhlcm1fd2luZHR1bm5lbC5jDQorKysgYi9k cml2ZXJzL21hY2ludG9zaC90aGVybV93aW5kdHVubmVsLmMNCkBAIC0zMjAs MTAgKzMyMCwxMCBAQCBkb19hdHRhY2goIHN0cnVjdCBpMmNfYWRhcHRlciAq YWRhcHRlciApDQogCQlzdHJ1Y3QgaTJjX2JvYXJkX2luZm8gaW5mbzsNCiAN CiAJCW1lbXNldCgmaW5mbywgMCwgc2l6ZW9mKHN0cnVjdCBpMmNfYm9hcmRf aW5mbykpOw0KLQkJc3RybGNweShpbmZvLnR5cGUsICJ0aGVybV9kczE3NzUi LCBJMkNfTkFNRV9TSVpFKTsNCisJCXN0cmFjcHkoaW5mby50eXBlLCAidGhl cm1fZHMxNzc1Iik7DQogCQlpMmNfbmV3X3Byb2JlZF9kZXZpY2UoYWRhcHRl ciwgJmluZm8sIHNjYW5fZHMxNzc1LCBOVUxMKTsNCiANCi0JCXN0cmxjcHko aW5mby50eXBlLCAidGhlcm1fYWRtMTAzMCIsIEkyQ19OQU1FX1NJWkUpOw0K KwkJc3RyYWNweShpbmZvLnR5cGUsICJ0aGVybV9hZG0xMDMwIik7DQogCQlp MmNfbmV3X3Byb2JlZF9kZXZpY2UoYWRhcHRlciwgJmluZm8sIHNjYW5fYWRt MTAzMCwgTlVMTCk7DQogDQogCQlpZiggeC50aGVybW9zdGF0ICYmIHguZmFu ICkgew0KZGlmZiAtdSAtcCBhL2RyaXZlcnMvbWVkaWEvdjRsMi1jb3JlL3Y0 bDItaW9jdGwuYyBiL2RyaXZlcnMvbWVkaWEvdjRsMi1jb3JlL3Y0bDItaW9j dGwuYw0KLS0tIGEvZHJpdmVycy9tZWRpYS92NGwyLWNvcmUvdjRsMi1pb2N0 bC5jDQorKysgYi9kcml2ZXJzL21lZGlhL3Y0bDItY29yZS92NGwyLWlvY3Rs LmMNCkBAIC0xMzcxLDcgKzEzNzEsNyBAQCBzdGF0aWMgdm9pZCB2NGxfZmls bF9mbXRkZXNjKHN0cnVjdCB2NGwyDQogCX0NCiANCiAJaWYgKGRlc2NyKQ0K LQkJV0FSTl9PTihzdHJzY3B5KGZtdC0+ZGVzY3JpcHRpb24sIGRlc2NyLCBz eikgPCAwKTsNCisJCVdBUk5fT04oc3RyYWNweShmbXQtPmRlc2NyaXB0aW9u LCBkZXNjcikgPCAwKTsNCiAJZm10LT5mbGFncyA9IGZsYWdzOw0KIH0NCiAN CmRpZmYgLXUgLXAgYS9kcml2ZXJzL3N0YWdpbmcvb2xwY19kY29uL29scGNf ZGNvbi5jIGIvZHJpdmVycy9zdGFnaW5nL29scGNfZGNvbi9vbHBjX2Rjb24u Yw0KLS0tIGEvZHJpdmVycy9zdGFnaW5nL29scGNfZGNvbi9vbHBjX2Rjb24u Yw0KKysrIGIvZHJpdmVycy9zdGFnaW5nL29scGNfZGNvbi9vbHBjX2Rjb24u Yw0KQEAgLTU3Niw3ICs1NzYsNyBAQCBzdGF0aWMgc3RydWN0IG5vdGlmaWVy X2Jsb2NrIGRjb25fcGFuaWNfDQogDQogc3RhdGljIGludCBkY29uX2RldGVj dChzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50LCBzdHJ1Y3QgaTJjX2JvYXJk X2luZm8gKmluZm8pDQogew0KLQlzdHJsY3B5KGluZm8tPnR5cGUsICJvbHBj X2Rjb24iLCBJMkNfTkFNRV9TSVpFKTsNCisJc3RyYWNweShpbmZvLT50eXBl LCAib2xwY19kY29uIik7DQogDQogCXJldHVybiAwOw0KIH0NCmRpZmYgLXUg LXAgYS9uZXQvY29yZS9uZXRwb2xsLmMgYi9uZXQvY29yZS9uZXRwb2xsLmMN Ci0tLSBhL25ldC9jb3JlL25ldHBvbGwuYw0KKysrIGIvbmV0L2NvcmUvbmV0 cG9sbC5jDQpAQCAtNTg4LDcgKzU4OCw3IEBAIGludCBfX25ldHBvbGxfc2V0 dXAoc3RydWN0IG5ldHBvbGwgKm5wLA0KIAlpbnQgZXJyOw0KIA0KIAlucC0+ ZGV2ID0gbmRldjsNCi0Jc3RybGNweShucC0+ZGV2X25hbWUsIG5kZXYtPm5h bWUsIElGTkFNU0laKTsNCisJc3RyYWNweShucC0+ZGV2X25hbWUsIG5kZXYt Pm5hbWUpOw0KIA0KIAlpZiAobmRldi0+cHJpdl9mbGFncyAmIElGRl9ESVNB QkxFX05FVFBPTEwpIHsNCiAJCW5wX2VycihucCwgIiVzIGRvZXNuJ3Qgc3Vw cG9ydCBwb2xsaW5nLCBhYm9ydGluZ1xuIiwNCg== --8323329-141791469-1564018974=:10108 Content-Type: text/plain; charset=US-ASCII; name=stracpy.cocci Content-Transfer-Encoding: BASE64 Content-ID: Content-Description: Content-Disposition: attachment; filename=stracpy.cocci Ly8gc3BhdGNoLm9wdCAtaiA0NCB+L2xpbnV4LW5leHQgc3RyYWNweS5jb2Nj aSAtLXJlY3Vyc2l2ZS1pbmNsdWRlcyAtLWluY2x1ZGUtaGVhZGVycy1mb3It dHlwZXMgLS12ZXJ5LXF1aWV0ID4gc3RyYWNweS5vdXQNCg0KQHJADQppZGVu dGlmaWVyIGYsaTEsaTI7DQpzdHJ1Y3QgaTEgZTE7DQpleHByZXNzaW9uIGUy Ow0KcG9zaXRpb24gcDsNCkBADQpcKHN0cnNjcHlcfHN0cmxjcHlcKShlMS5m LCBlMiwgaTIpQHANCg0KQEANCmlkZW50aWZpZXIgci5pMSxyLmkyOw0KdHlw ZSBUOw0KQEANCnN0cnVjdCBpMSB7IC4uLiBUIGkxW2kyXTsgLi4uIH0NCg0K QEANCmlkZW50aWZpZXIgZixpMixpMTsNCnN0cnVjdCBpMSBlMTsNCmV4cHJl c3Npb24gZTI7DQpsb2NhbCBpZGV4cHJlc3Npb24geDsNCnBvc2l0aW9uIHIu cDsNCkBADQooDQoteCA9IHN0cmxjcHkNCitzdHJhY3B5DQogIChlMS5mLCBl Mg0KLSAgICAsIGkyDQogIClAcDsNCiAgLi4uIHdoZW4gIT0geA0KDQp8DQot c3RybGNweQ0KK3N0cmFjcHkNCiAgKGUxLmYsIGUyDQotICAgICwgaTINCiAg KUBwOw0KfA0KLXN0cnNjcHkNCitzdHJhY3B5DQogIChlMS5mLCBlMg0KLSAg ICAsIGkyDQogIClAcA0KLi4uIHdoZW4gYW55DQopDQo= --8323329-141791469-1564018974=:10108--