From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id F0294C9833F for ; Sun, 27 Sep 2026 20:14:54 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:Cc:To:In-Reply-To:References:Message-Id :MIME-Version:Subject:Date:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=U0anFS8MNcI1Dzss6/fdfLaAo3cRQUf9ADEGZZAmnbw=; b=O0VqU6WpEa9xBj HhX3auKGf5uooG/SLiclzrJ1yL+gWOGyNjVDwyyBzvoXkB6WKB0nZHZUJJyjYGbDrrZd/A2AE3kqt c3K2JcgX+5g+DTum7dS2GxUjWuvgDlLSdrfeAhUpeiANbbVei51lfCFe5zhLYiJIsuzIYzusVTTEt fLzcTJLZLPnksk75vM43QhrY046NCiTjEM8xlbmX2otl2svwxTJTmVnTtHAoOZ0v2x7GvR/Mx05pG cFxYjl0Jb8pKaJfdX7SSqr1HSqRrc0+i+RakDeyYF2K4YE/uvWXSFAzcesqnvjycEuOOs7PbsSf5g OGdvQhB8mcLnPgUeTFYg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.99.1 #2 (Red Hat Linux)) id 1xAvGw-0000000Go11-2Kpg; Sun, 27 Sep 2026 20:14:54 +0000 Received: from mail-wr2-x10.google.com ([2a00:1450:4864:30::10]) by bombadil.infradead.org with esmtps (Exim 4.99.1 #2 (Red Hat Linux)) id 1xAvGn-0000000GnrX-0pfs for linux-phy@lists.infradead.org; Sun, 27 Sep 2026 20:14:51 +0000 Received: by mail-wr2-x10.google.com with SMTP id ffacd0b85a97d-485984ebf5cso1879770f8f.0 for ; Sun, 27 Sep 2026 13:14:44 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1790540083; x=1791144883; darn=lists.infradead.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=QNif68vBweclNkbVJu08PNYirXK6LBRMMEpOMCQuVXg=; b=FO4tDTWVv74y1w6upjZCm/VWs2CfuSsocm55DcmzRsMAcBVLmusSaSxo0UWTTzBUWg qykgyyH/0ho6xluRVb0fqGkyla+z6TEoUStHKlzWSs4DZyZGan3AofVVybVv/S4v7Y2x gSOTT1vA+lhuoCu91Zxo5AwimZDyeh1+ayo7/r2Ux46Gtjo2YwVX/TznEKzio1rmuDHz Cvge4no2n95+kCd/a9qTJ8pjLMgOfc2pq6J/9yYdc/ZfZfmBJ3U0LKJoDcYHULLbMP9j e3CqL29Ncn1dgFdvBTP/lI217PuVLeCO7r4s2q13M7TgPBaH7LLFFwtRlc26QKt55OnJ CwIA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20260707; t=1790540083; x=1791144883; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=QNif68vBweclNkbVJu08PNYirXK6LBRMMEpOMCQuVXg=; b=EF240lgo+74F/bOcMvV23jkm+t+yoca0U4lk5z1Hm4XEJG2dzIpUMCcpQN0O99kSaU 6/12Qx9k791xbJBq3eq4cpTs8h1wGbmYRp+/O4OWcdtxSR4A1Y8Yrde+OgNrU+ZXkpTr ld4ZUTnuhe57Svb2RcSYmL3UnIEiDQKnxeaj/9VKFR92Frqi4kFI1biSLg4WHAOU6IpW Bj+pcyJSz5nlQQ0s0ISP1jMrSt9WfKE3lBd2l++HSyqgFXWpEVnFbaaDHSIhBINdUxsF MHPTsBLYJRxY6IV/1JOs3vlUSmqE5FQY6pW07TxTDucRUF9SnBQW5SzrZyirOgFl1Yto a5Aw== X-Forwarded-Encrypted: i=1; AKwUvBw/8R68OllK1C8oXtyvgZIxw+4DJuLJmr9JgjrcKvkv3A6kmWjI+iypZhedGWzZmx4owG4fxI47TcA=@lists.infradead.org X-Gm-Message-State: AFq9FYINB/zd3m7dEF1Z5zaza6lawEgoHb90yZmThhz1OhiKtZ9oi7Ak GZvU4ckbNqmAFqe2JVjYCsUUKRLLhKweE00c1EdJunoHC1gGaIgNuMrc X-Gm-Gg: AYBFou3BNNfSZYYXSkKTawazuWsJyZ8MDIBnZXeZy3EGJG7/c3VUar6rT2OzjhLKrpE 9a/Aytj8xBLmJnb0qsm1uHcG3PoksFQRjAquu5AcbLb+qFAw4HvrO7s8d11L9Q7ccUYFaeOJw7v m8c3YEshsK4iHqIz8TBcbYpd/Y8A2LowmGUgdqsSpQDhAp+HgqUzuydYAhJPuV2NqUMCQ5Wyrww CwNsiYmQGTsQtjVKi4lWZ5ZbIMJPO7O5QOBWBbV1v3XmFFNZu0QVWWPrCTWX6d9qIQEK4WPQhkV 81/r35QF+5ZhyftLdYjs2Th30opGqNTd/MTBuStg/9kYXJotuooEsPY0cC/rZMRXnP1/BoZtBc9 swTIE13c7PQKuu+fmenuo6w/4QaD8Qn3LnFkLFeq/d4nPHLKbnV5hdA0JAUpAv32IoF6t/PShfL Ta03uAM1hqapZIXy8uQk4hp8qtBPsv1iOIrJIaIdRKMaWOvRBXlm/oUDXRIc27Jp14fvfiP72fE nC/HSzn X-Received: by 2002:a5d:64ee:0:b0:488:8c99:fbc3 with SMTP id ffacd0b85a97d-4888c99fd87mr3943532f8f.5.1790540083230; Sun, 27 Sep 2026 13:14:43 -0700 (PDT) Received: from [192.168.0.2] ([197.250.96.148]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-4887a34a570sm21781514f8f.13.2026.09.27.13.14.36 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 27 Sep 2026 13:14:42 -0700 (PDT) From: =?utf-8?q?Stefan_D=C3=B6singer?= Date: Sun, 27 Sep 2026 23:13:38 +0300 Subject: [PATCH v13 10/13] clk: zte: Introduce a driver for zx297520v3 matrix clocks MIME-Version: 1.0 Message-Id: <20260927-zx29clk-v13-10-70d8f673386c@gmail.com> References: <20260927-zx29clk-v13-0-70d8f673386c@gmail.com> In-Reply-To: <20260927-zx29clk-v13-0-70d8f673386c@gmail.com> To: Michael Turquette , Stephen Boyd , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Philipp Zabel , Brian Masney , Vinod Koul , Neil Armstrong , Russell King , Lee Jones , Brian Masney , Jerome Brunet , Manivannan Sadhasivam Cc: linux-clk@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-phy@lists.infradead.org, mfd@lists.linux.dev, =?utf-8?q?Stefan_D=C3=B6singer?= X-Mailer: b4 0.15.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=27882; i=stefandoesinger@gmail.com; h=from:subject:message-id; bh=iCfndwLBIv8fTED0QyCjlr2F6ulQSthyYRD7lTreug0=; b=owEBiQJ2/ZANAwAIAT0TvMhUTxoiAcsmYgBquXj1pD28ajK7uJzYGhJvHAGjD7e5OxHh7X5Ux l7naXq07yuJAk8EAAEIADkWIQRDFvS2qgVbJ5UyXWw9E7zIVE8aIgUCarl49RsUgAAAAAAEAA5t YW51MiwyLjUrMS4xMiwyLDIACgkQPRO8yFRPGiKMww//enWWAPEdMAkkrqlct+G37rureZOQ9io kN/rRfS5urImr9re6LmdmFiccEaMh6SwvevUWdHrysQStNo8LuCGBbiS3mY31UbUghKuwTKUO4v +gZsW2+fy0noT2ZhUChckWiIMkbfd0FPMfRzPE+MxEbJKBO9KE9fMNvElM3zmqD+D2psyBx+2CV c6xRUJYijO4cr70hqf+iAVhwB1d3Jb/yLG2uSoAj+YCNON8Nna39YQFYGqkQxCAGEY5EB1My+BD ssmqionA31D75H61XJz6G/eB8QNbWsnLrq0fupUplPjcLsGq/cy+5+lRBkh461szuk7RrnJrL3o ITMtw3D0nasYIczVhzIQD1//MFS1HoxRMgLDFSEk6E7XetcmVkyWIW9klD+f0DLGMrzsh/LnSDE yIwndGMqe4qw38eZGL6VRWrXTohWaITmW9s2UVUE15bYm2qEpppqxeAO4qqPjXBNuaNEO3e7fN+ cPfaAQPC147RYo2rsswMcldk8e+5sTB023/TY6+MELnTm5u38Zx0WXQ02byaFwsiHdOhXC05y2L KhGpIUKTujYyVkcwTWlzKFU30w1ariQjTskpErPYqCrFZUZ9JxDqSUKHi+hLgOQ+d0gie730ThN TWr60WDc4AWLxV9AirrIeF+1atHqxpowWSo5cE1KrFlp2IjB8u3A= X-Developer-Key: i=stefandoesinger@gmail.com; a=openpgp; fpr=4F9C2C8728019633893EBBB98CB81F9A72BBA155 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.9.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20260927_131445_498363_5F36149E X-CRM114-Status: GOOD ( 28.59 ) X-BeenThere: linux-phy@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: Linux Phy Mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-phy" Errors-To: linux-phy-bounces+linux-phy=archiver.kernel.org@lists.infradead.org VGhpcyBjbG9jayBjb250cm9sbGVyIGNvbnRyb2xzIGhpZ2ggc3BlZWQgZGV2aWNlczogQ1BVLCBE TUEsIFJBTSwgU0RJTywKRXRoZXJuZXQuIFRoZSBvbmx5IG5vbi1jbG9jaywgbm9uLXJlc2V0IHJl Z2lzdGVycyBJIGhhdmUgc3BvdHRlZCBoZXJlCmFyZSBoYXJkd2FyZSBzcGlubG9ja3MuCgpSZXZp ZXdlZC1ieTogQnJpYW4gTWFzbmV5IDxibWFzbmV5QHJlZGhhdC5jb20+ClNpZ25lZC1vZmYtYnk6 IFN0ZWZhbiBEw7ZzaW5nZXIgPHN0ZWZhbmRvZXNpbmdlckBnbWFpbC5jb20+Ci0tLQoKVmVyc2lv biAxMzogRXhwb3J0IHRoZSBhY2NpZGVudGFsbHkgZm9yZ290dGVuIFpYMjk3NTIwVjNfUkZGRV9X Q0xLCihTYXNoaWtvKQoKVmVyc2lvbiAxMjogQWRkIFJGRkUgY2xvY2suIElzIHBhcnQgb2YgdGhl IFNTQyBkZXZpY2UsIHdoaWNoIGxvb2tzIGxpa2UKYW4gU1BJLWxpa2UgY29udHJvbGxlciB0aGF0 IHByb3ZpZGVzIGEgY29udHJvbCBjaGFubmVsIHRvIHRoZSBMVEUgcmFkaW8KZGV2aWNlcy4KCkV4 cG9ydCBMVEVfTU9ERU0gY2xvY2tzLiBUaGUgTFRFIGZpcm13YXJlIG5lZWRzIGl0IGVuYWJsZWQs IGJ1dCBvdGhlcndpc2UKbWFuYWdlcyB0aGUgTFRFX01PREVNIGRldmljZSBhdXRvbm9tb3VzbHks IHNvIEkgaGF2ZSBubyBpZGVhIGhvdyB0aGUKZGV2aWNlIHdvcmtzIG9yIHdoYXQgaXQgaXMgY29t cG9zZWQgb2YuCgpWZXJzaW9uIDEwOgpBZGQgWlNQIFBDTEsuIFpTUCBjbG9jayBnYXRlcyBhcmUg aW4gMHgzNC4gMHgzYyBpcyBhbm90aGVyIHJlc2V0IHJlZ2lzdGVyLgpJbXByb3ZlIFpTUCBXQ0xL IG11eC4KClZlcnNpb24gOToKTGluayBpbnRlcm5hbCBwYXJlbnRzIGJ5IGFuIChpbnRlcm5hbCkg Y2xvY2sgSUQgcmF0aGVyIHRoYW4gbmFtZXMuCgpUaGVyZSBhcmUgMyBpbnRlbnRpb25hbCBjaGFu Z2VzIHZzIHZlcnNpb24gOCBpbiB0aGUgY2xvY2sgdHJlZToKImdtYWMtYWhiIiBkZXBlbmRzIG9u IHRoZSBhaGIgY2xvY2sgaW1wb3J0ZWQgZnJvbSB0b3Bjcm0uIFRoaXMgd2FzCmFscmVhZHkgdGhl IGNhc2UgYmVmb3JlLCBidXQgaXQgd2FzIG1pc3NpbmcgZnJvbSB0aGUgYmluZGluZ3MgYW5kIHRo ZQpnbG9iYWwgbmFtZSBtYXRjaGluZyBvYnNjdXJlZCBpdC4KCldoZW4gcmUtdGVzdGluZyBvdGhl ciBkZXZpY2VzIGZvciBwb3RlbnRpYWwgdG9wY3JtLT5haGIgZGVwZW5kZW5jaWVzIEkKbm90aWNl ZCB0aGF0IHRoZSB0d28gU0RJTyBkZXZpY2VzIHRha2UgdGhlaXIgcGNsayBmcm9tIHRvcGNybS0+ YWhiIGFzCndlbGwuCgpAU2FzaGlrbzogQW55IHBvc3NpYmxlIG90aGVyIGNsb2NrIHRyZWUgY2hh bmdlIGNvbXBhcmVkIHRvIHZlcnNpb24gOCBpcwp1bmludGVudGlvbmFsIGFuZCBhIGxpa2VseSBi dWcuCgpWZXJzaW9uIDg6CkFkZCBhbm90aGVyIGRpc3RyaWJ1dGlvbiBnYXRlIHJlZ2lzdGVyOiAw eDExOCBnYXRlcyBvZmYgbWF0cml4LWdlbmVyYXRlZApkaXZpc2lvbnMgb2YgbXBsbCwgZHBsbCBh bmQgZ3BsbC4gSXQgbmljZWx5IGZpdHMgdGhlIHRvcC0+bWF0cml4IGZvcndhcmQKcGljdHVyZS4K CkFYSSA2LjUgTUh6IGlzIG5vdCBhbiBtcGxsIGNoaWxkLiBJIG11c3QgaGF2ZSBkb25lIHNvbWV0 aGluZyB3cm9uZyB3aGVuCm9yaWdpbmFsbHkgdGVzdGluZyB0aGlzCgpBZGQgZXhwbGFuYXRpb25z IGFib3V0IGFkZGl0aW9uYWwgQVJNIGFyY2hpdGVjdGVkIHRpbWVyIGNvbnRyb2xzLgoKQWRkIGdh dGVzIGZvciB1bmtub3duIExURSBoYXJkd2FyZSBhdCBvZmZzZXQgMHg2MC4gVGhleSBhcmUgbm90 IGV4cG9ydGVkCmluIHRoZSBiaW5kaW5ncyBiZWNhdXNlIHRoZSBhY3R1YWwgbmFtZSBvZiB0aGUg Y29uc3VtZXIgaXNuJ3QgY2xlYXIgLQpidXQgaWYgZHBsbCBpcyB1bnByZXBhcmVkIGFuZCBmZWVk cyBhIGJ5cGFzcyAyNiBNSHogc2lnbmFsLCB0aGlzIGRldmljZQpzdGFydHMgc3BhbW1pbmcgSVJR cyAoYWx0aG91Z2ggdGhlIDB4MTE4IGFuZCB0b3ArMHgxNDAgZ2F0ZXMgYWxzbwpwcmV2ZW50IHRo aXMgdXN1YWxseSkKCkRvdWJsZS1jaGVjayBwY2xrIGFuZCB3Y2xrIG9mIGFsbCBkZXZpY2VzLiBU aGUgU0RJTyBhbmQgRURDUCBjbG9ja3Mgd2VyZQpmbGlwcGVkIGluIHByZXZpb3VzIHN1Ym1pc3Np b25zLgoKVmVyc2lvbiA3OgpSZWR1Y2VkIHRoZSBpbnB1dCBjbG9ja3MgYSBsb3QuIE1vc3QgTVBM TCBzdWJkaXZpc2lvbnMgYXJlIGNoaWxkcmVuIG9mCnRoZSBzYW1lIGdhdGUgaW4gdG9wLCBzbyBw dXQgdGhlIGZpeGVkIGZhY3RvciBjbG9ja3MgaGVyZS4KCkFkZGVkIGEgZmV3IG1vcmUgY2xvY2tz OiBERFJfQ1RSTCwgQVhJIGJ1cywgQVJNIGFyY2hpdGVjdGVkIHRpbWVyLgpUaGV5IGFyZSBuZWVk ZWQgdG8gdGVsbCBDQ0YgdG8ga2VlcCB0aGUgdG9wIGdhdGVzIGVuYWJsZWQgYW5kIG1hcmtlZApj cml0aWNhbCBiZWNhdXNlIHRoZXkgYXJlbid0IGNvbnN1bWVkIGJ5IGEgRFQgbm9kZS4KClRoZSBB WEkgYnVzIGlzIGRldGVybWluZWQgYnkgYSB2b3Rpbmcgc3lzdGVtLiBJJ3ZlIHNldCB1cCB0aGUg ZHJpdmVyIHRvCndyaXRlIHRvIHRoZSBiYWxsb3QgcmVnaXN0ZXIgWlRFJ3Mga2VybmVsIHVzZXMg YW5kIGVuYWJsZSB2b3RpbmcuIFRoaXMKc2hvdWxkIG1ha2UgbGlmZSBlYXNpZXIgd2l0aCB0aGUg TFRFIHJwcm9jIGJsb2IgbGF0ZXIuCgpWZXJzaW9uIDU6Ck1ha2UgaXQgYW4gTUZEIGNoaWxkIGRl dmljZSwgcmVtb3ZlIGF1eCBkZXZpY2UKRml4IHp4Mjk3NTI5IC0+IHp4Mjk3NTIwIHR5cG9zCkZp eCBBSEJfd2NsayAtPiBhaGJfd2Nsay4gVGhhdCB3YXMgYSBsZWZ0b3ZlciBvZiBteSBvbGQgY29t cG9zaXRlIHN0cnVjdHMKQWRkIFNSQU0wIGFuZCBHU01fQ0ZHIGNsb2NrcwotLS0KIGRyaXZlcnMv Y2xrL3p0ZS9jbGstengyOTc1MjB2My5jIHwgNTI2ICsrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKwogMSBmaWxlIGNoYW5nZWQsIDUyNiBpbnNlcnRpb25zKCspCgpkaWZmIC0t Z2l0IGEvZHJpdmVycy9jbGsvenRlL2Nsay16eDI5NzUyMHYzLmMgYi9kcml2ZXJzL2Nsay96dGUv Y2xrLXp4Mjk3NTIwdjMuYwppbmRleCA2OGJmZWFiODRkNzQuLmQ1ZjhiYzQwNjRiZCAxMDA2NDQK LS0tIGEvZHJpdmVycy9jbGsvenRlL2Nsay16eDI5NzUyMHYzLmMKKysrIGIvZHJpdmVycy9jbGsv enRlL2Nsay16eDI5NzUyMHYzLmMKQEAgLTgxMiw2ICs4MTIsNTI4IEBAIHN0YXRpYyBjb25zdCBz dHJ1Y3QgenhfY2xrX2RhdGEgengyOTc1MjB2M190b3BjbGtfZGF0YSA9IHsKIAkubnVtX2V4cG9y dHMgPSBBUlJBWV9TSVpFKHp4Mjk3NTIwdjNfdG9wX2V4cG9ydHMpLAogfTsKIAorZW51bSBtYXRy aXhfY2xvY2tfaWRzIHsKKwlaWF9DTEtfTUFUUklYX09TQzI2TV9ENCwKKwlaWF9DTEtfTUFUUklY X01QTExfRDJfUFJFR0FURSwKKwlaWF9DTEtfTUFUUklYX01QTExfRDRfUFJFR0FURSwKKwlaWF9D TEtfTUFUUklYX01QTExfRDZfUFJFR0FURSwKKwlaWF9DTEtfTUFUUklYX01QTExfRDhfUFJFR0FU RSwKKwlaWF9DTEtfTUFUUklYX01QTExfRDEyX1BSRUdBVEUsCisJWlhfQ0xLX01BVFJJWF9NUExM X0QxNl9QUkVHQVRFLAorCVpYX0NMS19NQVRSSVhfR1BMTF9EMl9EMl9QUkVHQVRFLAorCVpYX0NM S19NQVRSSVhfR1BMTF9EMl9ENF9QUkVHQVRFLAorCVpYX0NMS19NQVRSSVhfRFBMTF9EMl9QUkVH QVRFLAorCVpYX0NMS19NQVRSSVhfRFBMTF9ENF9QUkVHQVRFLAorCisJWlhfQ0xLX01BVFJJWF9N UExMX0QxNiwKKwlaWF9DTEtfTUFUUklYX01QTExfRDEyLAorCVpYX0NMS19NQVRSSVhfTVBMTF9E OCwKKwlaWF9DTEtfTUFUUklYX01QTExfRDYsCisJWlhfQ0xLX01BVFJJWF9NUExMX0Q0LAorCVpY X0NMS19NQVRSSVhfTVBMTF9EMiwKKwlaWF9DTEtfTUFUUklYX0RQTExfRDQsCisJWlhfQ0xLX01B VFJJWF9EUExMX0QyLAorCVpYX0NMS19NQVRSSVhfR1BMTF9EMl9ENCwKKwlaWF9DTEtfTUFUUklY X0dQTExfRDJfRDIsCisKKwlaWF9DTEtfQ1BVX01VWCwKKwlaWF9DTEtfWlNQX01VWCwKKwlaWF9D TEtfRERSX0NUUkxfTVVYLAorCVpYX0NMS19TRDBfTVVYLAorCVpYX0NMS19TRDFfTVVYLAorCVpY X0NMS19OQU5EX01VWCwKKwlaWF9DTEtfRURDUF9NVVgsCisJWlhfQ0xLX1RETV9NVVgsCisJWlhf Q0xLX0FYSV9NVVgsCisKKwlaWF9DTEtfU1lTX1RJTUVSX1dDTEssCisJWlhfQ0xLX0NQVV9XQ0xL LAorCVpYX0NMS19DUFVfUENMSywKKwlaWF9DTEtfWlNQX1dDTEssCisJWlhfQ0xLX1pTUF9QQ0xL LAorCVpYX0NMS19ERFJfQ1RSTF9QQ0xLLAorCVpYX0NMS19ERFJfQ1RSTF9XQ0xLLAorCVpYX0NM S19TRDBfUENMSywKKwlaWF9DTEtfU0QwX1dDTEssCisJWlhfQ0xLX1NEMF9DREVULAorCVpYX0NM S19TRDFfUENMSywKKwlaWF9DTEtfU0QxX1dDTEssCisJWlhfQ0xLX1NEMV9DREVULAorCVpYX0NM S19OQU5EX1dDTEssCisJWlhfQ0xLX05BTkRfUENMSywKKwlaWF9DTEtfTFRFX01PREVNX1dDTEss CisJWlhfQ0xLX0xURV9NT0RFTV9QQ0xLLAorCVpYX0NMS19FRENQX1BDTEssCisJWlhfQ0xLX0VE Q1BfV0NMSywKKwlaWF9DTEtfUkZGRV9XQ0xLLAorCVpYX0NMS19TU0NfV0NMSywKKwlaWF9DTEtf U1NDX1BDTEssCisJWlhfQ0xLX1BEQ0ZHX1dDTEssCisJWlhfQ0xLX1BEQ0ZHX1BDTEssCisJWlhf Q0xLX01CT1hfUENMSywKKwlaWF9DTEtfU1JBTTBfUENMSywKKwlaWF9DTEtfR1NNX0NGR19QQ0xL LAorCVpYX0NMS19HTUFDX1dDTEssCisJWlhfQ0xLX0dNQUNfUENMSywKKwlaWF9DTEtfR01BQ19B SEIsCisJWlhfQ0xLX0FYSV9XQ0xLLAorCVpYX0NMS19ETUFfUENMSywKKwlaWF9DTEtfVk9VX1dD TEssCisJWlhfQ0xLX1ZPVV9QQ0xLLAorCVpYX0NMS19UT0xTUF9NUExMX0Q1X1dDTEssCisJWlhf Q0xLX1RPTFNQX01QTExfRDRfV0NMSywKKwlaWF9DTEtfVE9MU1BfTVBMTF9ENl9XQ0xLLAorCVpY X0NMS19UT0xTUF9NUExMX0Q4X1dDTEssCisJWlhfQ0xLX1RPTFNQX01QTExfRDEyX1dDTEssCisJ WlhfQ0xLX1RPTFNQX09TQzI2TV9XQ0xLLAorCVpYX0NMS19UT0xTUF9PU0MzMktfV0NMSywKKwla WF9DTEtfVE9MU1BfUENMSywKKwlaWF9DTEtfVE9MU1BfVERNX1dDTEssCisJWlhfQ0xLX1RPTFNQ X0RQTExfRDRfV0NMSywKK307CisKKy8qCisgKiBGb3IgZGV2aWNlcyB3aGljaCBoYXZlIGEgd29y a2luZyBkcml2ZXIgdGhlIHdvcmsgY2xvY2sgY2FuIGJlIGZpZ3VyZWQgb3V0IGJ5IGdhdGluZyBv ZmYgcmVnaXN0ZXJzCisgKiBpbiB0b3Bjcm0rMHgxNDAuIFRoaXMgaXMgdXNlZCBmb3IgZGV2aWNl cyB3aGVyZSBJIGNhbid0IGludGVycHJldCB0aGUgcmVnaXN0ZXIgY29udGVudHMgeWV0LgorICov CitzdGF0aWMgY29uc3Qgc3RydWN0IHp4X3BhcmVudF9kZXNjIG1hdHJpeF91bmsgPSBQQVJFTlRf RlcoIndjbGstb3NjMjZtIik7CisKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgenhfcGFyZW50X2Rlc2Mg Y3B1X3NlbFtdID0geworCVBBUkVOVF9GVygid2Nsay1vc2MyNm0iKSwKKwlQQVJFTlRfRlcoIm1w bGwiKSwJCQkvKiA2MjQgTUh6ICovCisJUEFSRU5UX0lEKFpYX0NMS19NQVRSSVhfTVBMTF9EMiks CS8qIDMxMiBNSHogKi8KKwlQQVJFTlRfSUQoWlhfQ0xLX01BVFJJWF9NUExMX0Q0KSwJLyogMTU2 IE1IeiAqLworfTsKKworLyoKKyAqIEZpZ3VyaW5nIHRoZXNlIHZhbHVlcyBvdXQgaXMgYSBiaXQg dHJpY2t5LiBUaGUgYmVzdCBsaXZlbmVzcyBjaGVjayBvZiB0aGUgWlNQIGlzIHJlYWRpbmcgaXRz IFRDTQorICogYXQgMHg4MTAwMDAwMC4gSWYgaXQgaXMgY2xvY2tlZCB1cCBhbmQgb3V0IG9mIHJl c2V0IHJlYWRpbmcgaXQgd2lsbCBzdWNjZWVkLiBPdGhlcndpc2UsIHJlYWRpbmcKKyAqIHdpbGwg c3RhbGwuIFZhbHVlIDEgZGVwZW5kcyBvbiB0b3Bjcm0rMHgxNDAsIGJpdCAxMywgYnV0IG5vdCBh bnkgbWF0cml4Y3JtKzB4MTE4IGdhdGUsIHNvIGl0IGlzCisgKiBsaWtlbHkgZHBsbCB3aXRob3V0 IGEgZGl2LiBNdXggdmFsdWUgMiBkZXBlbmRzIG9uIDB4MTE4IGJpdCA1LCBzbyBtcGxsLWQyLiBN dXggdmFsdWUgMyBkZXBlbmRzIG9uCisgKiAweDExOCBiaXQgNCwgc28gbXBsbC1kNC4gTXV4IHZh bHVlIDAgaW4gdHVybiBkZXBlbmRzIG9uIHRvcGNybSsweDE0MCwgYml0IDI0IChvc2MyNm0pLCBz byBpdAorICogZm9sbG93cyB0aGUgdXN1YWwgcGF0dGVybiB0aGF0IG11eCAwIGlzIG9zYzI2bS4K KyAqCisgKiBJZiB0aGUgZmlybXdhcmUgaXMgcnVubmluZyBhbmQgZmVkIHdpdGggaW5pdGlhbGl6 YXRpb24gZGF0YSBpdCB3aWxsIHN0YXJ0IHdyaXRpbmcgc3RhdHVzIG1lc3NhZ2VzCisgKiBvbiBV QVJUMS4gQW4gaW50ZXJydXB0aW9uIG9mIHRoZXNlIG1lc3NhZ2VzIG9yIGEgZmFpbHVyZSB0byBy ZXNwb25kIHRvIHJwbXNnIGlzIG5vdCBwcm9vZiB0aGF0CisgKiB0aGUgWlNQJ3MgY2xvY2sgaGFz IGJlZW4gZGlzYWJsZWQuIFRoZSBmaXJtd2FyZSdzIHdvcmtpbmdzIGRlcGVuZCBvbiByZWd1bGFy IHRpbWVyIGFuZCBMVEUgZGV2aWNlCisgKiBJUlFzLCBzbyBvbmUgb2YgdGhlc2UgZGV2aWNlcyBt aWdodCBoYXZlIGJlZW4gc3RvcHBlZCBpbnN0ZWFkLgorICovCitzdGF0aWMgY29uc3Qgc3RydWN0 IHp4X3BhcmVudF9kZXNjIHpzcF9zZWxbXSA9IHsKKwlQQVJFTlRfRlcoIndjbGstb3NjMjZtIiks CisJUEFSRU5UX0ZXKCJkcGxsIiksCQkJLyogNDkxLjUyIE1IeiwgYm9vdCBkZWZhdWx0ICovCisJ UEFSRU5UX0lEKFpYX0NMS19NQVRSSVhfTVBMTF9EMiksCS8qIDMxMiBNSHogKi8KKwlQQVJFTlRf SUQoWlhfQ0xLX01BVFJJWF9NUExMX0Q0KSwJLyogMTU2IE1IeiAqLworfTsKKworLyoKKyAqIFdl IGNhbid0IHJlYWxpc3RpY2FsbHkgY2hhbmdlIEREUiBzcGVlZCB3aGlsZSBydW5uaW5nIGFuIE9T IG91dCBvZiBERFIgKGl0IHJlYWRzIGdhcmJhZ2UgZm9yIGEKKyAqIHNob3J0IHdoaWxlIG9uIHRy YW5zaXRpb24pLCBidXQgd2UgbmVlZCB0byBrbm93IGlmIHdlIGhhdmUgdG8ga2VlcCBncGxsIGFs aXZlLiAzMiBNQiBkZXZpY2VzIHVzZQorICogMjAwIE1Ieiwgd2hpbGUgNjQvMTI4IE1CIG9uZXMg dXNlIDE1NiBNSHouCisgKi8KK3N0YXRpYyBjb25zdCBzdHJ1Y3QgenhfcGFyZW50X2Rlc2MgZGRy X2N0cmxfc2VsW10gPSB7CisJUEFSRU5UX0lEKFpYX0NMS19NQVRSSVhfTVBMTF9ENCksCS8qIDE1 NiBNSHogKi8KKwlQQVJFTlRfRlcoImdwbGwiKSwJCQkvKiAyMDAgTUh6ICovCisJUEFSRU5UX0lE KFpYX0NMS19NQVRSSVhfTVBMTF9ENiksCS8qIDEwNCBNSHogKi8KKwlQQVJFTlRfSUQoWlhfQ0xL X01BVFJJWF9NUExMX0Q4KSwJLyogNzggTUh6ICovCit9OworCitzdGF0aWMgY29uc3Qgc3RydWN0 IHp4X3BhcmVudF9kZXNjIHNkMF9zZWxbXSA9IHsKKwlQQVJFTlRfRlcoIndjbGstb3NjMjZtIiks CisJUEFSRU5UX0lEKFpYX0NMS19NQVRSSVhfTVBMTF9ENCksCS8qIDE1NiBNSHogKi8KKwlQQVJF TlRfRlcoImdwbGwtZDIiKSwJCQkvKiAxMDAgTUh6ICovCisJUEFSRU5UX0lEKFpYX0NMS19NQVRS SVhfTVBMTF9EOCksCS8qIDc4IE1IeiAqLworCVBBUkVOVF9JRChaWF9DTEtfTUFUUklYX0dQTExf RDJfRDIpLAkvKiA1MCBNSHogKi8KKwlQQVJFTlRfSUQoWlhfQ0xLX01BVFJJWF9HUExMX0QyX0Q0 KSwJLyogMjUgTUh6ICovCit9OworCitzdGF0aWMgY29uc3Qgc3RydWN0IHp4X3BhcmVudF9kZXNj IHNkMV9zZWxbXSA9IHsKKwlQQVJFTlRfRlcoIndjbGstb3NjMjZtIiksCisJUEFSRU5UX0ZXKCJn cGxsLWQyIiksCQkJLyogMTAwIE1IeiAqLworCVBBUkVOVF9JRChaWF9DTEtfTUFUUklYX01QTExf RDgpLAkvKiA3OCBNSHogKi8KKwlQQVJFTlRfSUQoWlhfQ0xLX01BVFJJWF9HUExMX0QyX0QyKSwJ LyogNTAgTUh6ICovCisJUEFSRU5UX0lEKFpYX0NMS19NQVRSSVhfTVBMTF9EMTYpLAkvKiAzOSBN SHogKi8KKwlQQVJFTlRfSUQoWlhfQ0xLX01BVFJJWF9HUExMX0QyX0Q0KSwJLyogMjUgTUh6ICov Cit9OworCisvKgorICogWlRFJ3Mga2VybmVsIHB1dHMgdGhlIGhpZ2ggZnJlcXVlbmN5IGZpcnN0 LCBidXQgdGhpcyBpcyBhZ2FpbnN0IHRoZSB1c3VhbCBjb252ZW50aW9uIG9uIHRoaXMgU29DLgor ICogSSBkb24ndCBoYXZlIGFueSBkZXZpY2UgdGhhdCBoYXMgYSByYXcgTkFORCBjb250cm9sbGVy IHRob3VnaC4KKyAqLworc3RhdGljIGNvbnN0IHN0cnVjdCB6eF9wYXJlbnRfZGVzYyBuYW5kX3Nl bFtdID0geworCVBBUkVOVF9GVygid2Nsay1vc2MyNm0iKSwKKwlQQVJFTlRfSUQoWlhfQ0xLX01B VFJJWF9NUExMX0Q0KSwJLyogMTU2IE1IeiAqLworfTsKKworc3RhdGljIGNvbnN0IHN0cnVjdCB6 eF9wYXJlbnRfZGVzYyBlZGNwX3NlbFtdID0geworCVBBUkVOVF9GVygid2Nsay1vc2MyNm0iKSwK KwlQQVJFTlRfSUQoWlhfQ0xLX01BVFJJWF9NUExMX0Q0KSwJLyogMTU2IE1IeiAqLworCVBBUkVO VF9GVygibXBsbC1kNSIpLAkJCS8qIDEyNC44IE1IeiAqLworCVBBUkVOVF9JRChaWF9DTEtfTUFU UklYX01QTExfRDYpLAkvKiAxMDQgTUh6ICovCit9OworCisvKgorICogVGhlIDEyMi44OCBNSHog c2VsZWN0aW9uIG9mIHZhbHVlIDEgaXMgZ2l2ZW4gaW4gWlRFJ3Mga2VybmVsIGFuZCBtYXRjaGVz IHVwIHRvIG9ic2VydmF0aW9uOiBQcmludAorICogdGhlIFRETSBjb3VudGVyIGF0IHJlZ3VsYXIg aW50ZXJ2YWxzIGFuZCBsb29rIGF0IGl0cyBpbmNyZWFzZSBhdCB2YWx1ZXMgMC8xLzIuIEl0IGlu Y3JlYXNlcyBieQorICogYWJvdXQgMzEwKjI2IGZvciB2YWx1ZSAwLCAzMTAqMTIyLjg4IGZvciB2 YWx1ZSAxIGFuZCAzMTAqMTA0IGZvciB2YWx1ZSAyLgorICoKKyAqIE11eCB2YWx1ZSAxIGlzIGdh dGVkIG9mZiBieSBtYXRyaXgrMHgxMTggYml0IDguIFZhbHVlcyAyIGFuZCAzIGFyZSBib3RoIGdh dGVkIG9mZiBieSAweDExOCBiaXQgMywKKyAqIHN1Z2dlc3RpbmcgdGhhdCB0aGV5IHNlbGVjdCB0 aGUgc2FtZSBwYXJlbnQuCisgKi8KK3N0YXRpYyBjb25zdCBzdHJ1Y3QgenhfcGFyZW50X2Rlc2Mg dGRtX3NlbFtdID0geworCVBBUkVOVF9GVygid2Nsay1vc2MyNm0iKSwKKwlQQVJFTlRfSUQoWlhf Q0xLX01BVFJJWF9EUExMX0Q0KSwJLyogMTIyLjg4IE1IeiAqLworCVBBUkVOVF9JRChaWF9DTEtf TUFUUklYX01QTExfRDYpLAkvKiAxMDQgTUh6ICovCisJUEFSRU5UX0lEKFpYX0NMS19NQVRSSVhf TVBMTF9ENiksCit9OworCisvKgorICogWlRFJ3MgZmlybXdhcmUgdXNlcyAweDEyOCBhcyB0aGUg UEhZJ3Mgdm90ZSBhbmQgbmFtZXMgMHgxMjAgYXMgIlBTIiBhbmQgMHgxMjQgYXMgIkFQIiB2b3Rl LgorICogSG93ZXZlciwgdGhlaXIgY3B1ZnJlcSBkcml2ZXIgdWx0aW1hdGVseSB1c2VzIHRoZSAi UFMiIGRlZmluZSBhbmQgdGh1cyB3cml0ZXMgdG8gMHgxMjAsIHdoaWNoIGNhbgorICogYmUgb2Jz ZXJ2ZWQgaW4gdGhlIHJ1bm5pbmcgc3lzdGVtLgorICovCisjZGVmaW5lIFpYMjk3NTIwVjNfQVhJ X0FQX1ZPVEUgMHgxMjAKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgenhfcGFyZW50X2Rlc2MgYXhpX3Nl bFtdID0geworCVBBUkVOVF9GVygid2Nsay1vc2MyNm0iKSwKKwlQQVJFTlRfSUQoWlhfQ0xLX01B VFJJWF9NUExMX0Q0KSwJLyogMTU2IE1IeiAqLworCVBBUkVOVF9GVygibXBsbC1kNSIpLAkJCS8q IDEyNC44IE1IeiAqLworCVBBUkVOVF9JRChaWF9DTEtfTUFUUklYX01QTExfRDYpLAkvKiAxMDQg TUh6ICovCisJUEFSRU5UX0lEKFpYX0NMS19NQVRSSVhfTVBMTF9EOCksCS8qIDc4IE1IeiAqLwor CVBBUkVOVF9JRChaWF9DTEtfTUFUUklYX01QTExfRDEyKSwJLyogNTIgTUh6ICovCisJUEFSRU5U X0lEKFpYX0NMS19NQVRSSVhfTVBMTF9EMTYpLAkvKiAzOSBNSHogKi8KKwlQQVJFTlRfSUQoWlhf Q0xLX01BVFJJWF9PU0MyNk1fRDQpLAkvKiA2LjUgTUh6ICovCit9OworCitzdGF0aWMgY29uc3Qg c3RydWN0IHp4X2Nsb2NrIHp4Mjk3NTIwdjNfbWF0cml4X2Nsb2Nrc1tdID0geworCVtaWF9DTEtf TUFUUklYX09TQzI2TV9ENF0gPSBGSVhFRF9ESVYoIm1hdHJpeC1vc2MyNm0tZDQiLCBQQVJFTlRf RlcoIndjbGstb3NjMjZtIiksIDQpLAorCVtaWF9DTEtfTUFUUklYX01QTExfRDJfUFJFR0FURV0g PSBGSVhFRF9ESVYoIm1hdHJpeC1tcGxsLWQyLXByZWdhdGUiLCBQQVJFTlRfRlcoIm1wbGwiKSwg MiksCisJW1pYX0NMS19NQVRSSVhfTVBMTF9ENF9QUkVHQVRFXSA9IEZJWEVEX0RJVigibWF0cml4 LW1wbGwtZDQtcHJlZ2F0ZSIsIFBBUkVOVF9GVygibXBsbCIpLCA0KSwKKwkvKiBkaXYgNTogcHJv dmlkZWQgYXMgYSBzZXBhcmF0ZSBsaW5lIGZyb20gdG9wY3JtICovCisJW1pYX0NMS19NQVRSSVhf TVBMTF9ENl9QUkVHQVRFXSA9IEZJWEVEX0RJVigibWF0cml4LW1wbGwtZDYtcHJlZ2F0ZSIsIFBB UkVOVF9GVygibXBsbCIpLCA2KSwKKwlbWlhfQ0xLX01BVFJJWF9NUExMX0Q4X1BSRUdBVEVdID0g RklYRURfRElWKCJtYXRyaXgtbXBsbC1kOC1wcmVnYXRlIiwgUEFSRU5UX0ZXKCJtcGxsIiksIDgp LAorCVtaWF9DTEtfTUFUUklYX01QTExfRDEyX1BSRUdBVEVdID0gRklYRURfRElWKCJtYXRyaXgt bXBsbC1kMTItcHJlZ2F0ZSIsIFBBUkVOVF9GVygibXBsbCIpLAorCQkJCQkJICAgICAxMiksCisJ W1pYX0NMS19NQVRSSVhfTVBMTF9EMTZfUFJFR0FURV0gPSBGSVhFRF9ESVYoIm1hdHJpeC1tcGxs LWQxNi1wcmVnYXRlIiwgUEFSRU5UX0ZXKCJtcGxsIiksCisJCQkJCQkgICAgIDE2KSwKKworCVta WF9DTEtfTUFUUklYX0dQTExfRDJfRDJfUFJFR0FURV0gPSBGSVhFRF9ESVYoIm1hdHJpeC1ncGxs LWQyLWQyLXByZWdhdGUiLAorCQkJCQkJICAgICAgIFBBUkVOVF9GVygiZ3BsbC1kMiIpLCAyKSwK KwlbWlhfQ0xLX01BVFJJWF9HUExMX0QyX0Q0X1BSRUdBVEVdID0gRklYRURfRElWKCJtYXRyaXgt Z3BsbC1kMi1kNC1wcmVnYXRlIiwKKwkJCQkJCSAgICAgICBQQVJFTlRfRlcoImdwbGwtZDIiKSwg NCksCisKKwlbWlhfQ0xLX01BVFJJWF9EUExMX0QyX1BSRUdBVEVdID0gRklYRURfRElWKCJtYXRy aXgtZHBsbC1kMi1wcmVnYXRlIiwgUEFSRU5UX0ZXKCJkcGxsIiksIDIpLAorCVtaWF9DTEtfTUFU UklYX0RQTExfRDRfUFJFR0FURV0gPSBGSVhFRF9ESVYoIm1hdHJpeC1kcGxsLWQ0LXByZWdhdGUi LCBQQVJFTlRfRlcoImRwbGwiKSwgNCksCisKKwkvKgorCSAqIE1hdHJpeCBkaXN0cmlidXRpb24g Z2F0ZXM6IEV2ZXJ5IG1hdHJpeC1nZW5lcmF0ZWQgc3ViZGl2aXNpb24gb2YgdGhlIGlucHV0IFBM THMKKwkgKiBoYXMgYSBnYXRlIGluIDB4MTE4LiBUaGUgb3JpZ2luYWwgaW5wdXRzIGZyb20gdG9w Y3JtIChtcGxsIDYyNCwgbXBsbCAxMjQuOCwgZ3BsbCAyMDAsCisJICogZ3BsbCAxMDAsIGRwbGwg NDkxLjUyKSBkbyBub3QuCisJICoKKwkgKiBCaXQgOCBpcyBjb25zdW1lZCBieSBURE0gYW5kIHRo ZSBmcmVxdWVuY3kgZHBsbC80IGhvbGRzIHVwIHRvIG9ic2VydmF0aW9uLiBCaXQgOSBpcworCSAq IGNvbnN1bWVkIGJ5IGFuIHVua25vd24gZGV2aWNlIGFuZCB0aGUgZnJlcXVlbmN5IGlzIGd1ZXNz ZWQgZnJvbSB0aGUgcGF0dGVybiB0aGF0IGxvd2VyCisJICogYml0cyBnYXRlIGxvd2VyIGZyZXF1 ZW5jaWVzLgorCSAqLworCVtaWF9DTEtfTUFUUklYX01QTExfRDE2XSA9IEdBVEUoIm1hdHJpeC1t cGxsLWQxNiIsCisJCQkJCVBBUkVOVF9JRChaWF9DTEtfTUFUUklYX01QTExfRDE2X1BSRUdBVEUp LCAweDExOCwgMCwKKwkJCQkJWlgyOTc1MjBWM19BWElfQ0FORElEQVRFKSwKKwlbWlhfQ0xLX01B VFJJWF9NUExMX0QxMl0gPSBHQVRFKCJtYXRyaXgtbXBsbC1kMTIiLAorCQkJCQlQQVJFTlRfSUQo WlhfQ0xLX01BVFJJWF9NUExMX0QxMl9QUkVHQVRFKSwgMHgxMTgsIDEsCisJCQkJCVpYMjk3NTIw VjNfQVhJX0NBTkRJREFURSksCisJW1pYX0NMS19NQVRSSVhfTVBMTF9EOF0gPSBHQVRFKCJtYXRy aXgtbXBsbC1kOCIsCisJCQkJICAgICAgIFBBUkVOVF9JRChaWF9DTEtfTUFUUklYX01QTExfRDhf UFJFR0FURSksIDB4MTE4LCAyLAorCQkJCSAgICAgICBaWDI5NzUyMFYzX0FYSV9DQU5ESURBVEUp LAorCVtaWF9DTEtfTUFUUklYX01QTExfRDZdID0gR0FURSgibWF0cml4LW1wbGwtZDYiLAorCQkJ CSAgICAgICBQQVJFTlRfSUQoWlhfQ0xLX01BVFJJWF9NUExMX0Q2X1BSRUdBVEUpLCAweDExOCwg MywKKwkJCQkgICAgICAgWlgyOTc1MjBWM19BWElfQ0FORElEQVRFKSwKKwlbWlhfQ0xLX01BVFJJ WF9NUExMX0Q0XSA9IEdBVEUoIm1hdHJpeC1tcGxsLWQ0IiwKKwkJCQkgICAgICAgUEFSRU5UX0lE KFpYX0NMS19NQVRSSVhfTVBMTF9ENF9QUkVHQVRFKSwgMHgxMTgsIDQsCisJCQkJICAgICAgIFpY Mjk3NTIwVjNfQVhJX0NBTkRJREFURSksCisJW1pYX0NMS19NQVRSSVhfTVBMTF9EMl0gPSBHQVRF KCJtYXRyaXgtbXBsbC1kMiIsCisJCQkJCVBBUkVOVF9JRChaWF9DTEtfTUFUUklYX01QTExfRDJf UFJFR0FURSksIDB4MTE4LCA1LCAwKSwKKworCVtaWF9DTEtfTUFUUklYX0RQTExfRDRdID0gR0FU RSgibWF0cml4LWRwbGwtZDQiLAorCQkJCSAgICAgICBQQVJFTlRfSUQoWlhfQ0xLX01BVFJJWF9E UExMX0Q0X1BSRUdBVEUpLCAweDExOCwgOCwgMCksCisJW1pYX0NMS19NQVRSSVhfRFBMTF9EMl0g PSBHQVRFKCJtYXRyaXgtZHBsbC1kMiIsCisJCQkJICAgICAgIFBBUkVOVF9JRChaWF9DTEtfTUFU UklYX0RQTExfRDJfUFJFR0FURSksIDB4MTE4LCA5LCAwKSwKKworCVtaWF9DTEtfTUFUUklYX0dQ TExfRDJfRDRdID0gR0FURSgibWF0cml4LWdwbGwtZDItZDQiLAorCQkJCQkgIFBBUkVOVF9JRCha WF9DTEtfTUFUUklYX0dQTExfRDJfRDRfUFJFR0FURSksCisJCQkJCSAgMHgxMTgsIDEyLCAwKSwK KwlbWlhfQ0xLX01BVFJJWF9HUExMX0QyX0QyXSA9IEdBVEUoIm1hdHJpeC1ncGxsLWQyLWQyIiwK KwkJCQkJICBQQVJFTlRfSUQoWlhfQ0xLX01BVFJJWF9HUExMX0QyX0QyX1BSRUdBVEUpLAorCQkJ CQkgIDB4MTE4LCAxMywgMCksCisKKwlbWlhfQ0xLX0NQVV9NVVhdICAgICAgICAgID0gTVVYKCJj cHUtbXV4IiwgY3B1X3NlbCwgMHgyMCwgMCwgMiksCisJW1pYX0NMS19aU1BfTVVYXSAgICAgICAg ICA9IE1VWCgienNwLW11eCIsIHpzcF9zZWwsIDB4MzAsIDAsIDIpLAorCVtaWF9DTEtfRERSX0NU UkxfTVVYXSAgICAgPSBNVVgoImRkci1jdHJsLW11eCIsIGRkcl9jdHJsX3NlbCwgMHg1MCwgMCwg MiksCisJW1pYX0NMS19TRDBfTVVYXSAgICAgICAgICA9IE1VWCgic2QwLW11eCIsIHNkMF9zZWws IDB4NTAsIDQsIDMpLAorCVtaWF9DTEtfU0QxX01VWF0gICAgICAgICAgPSBNVVgoInNkMS1tdXgi LCBzZDFfc2VsLCAweDUwLCA4LCAzKSwKKwlbWlhfQ0xLX05BTkRfTVVYXSAgICAgICAgID0gTVVY KCJuYW5kLW11eCIsIG5hbmRfc2VsLCAweDUwLCAxMiwgMiksCisJW1pYX0NMS19FRENQX01VWF0g ICAgICAgICA9IE1VWCgiZWRjcC1tdXgiLCBlZGNwX3NlbCwgMHg1MCwgMTYsIDIpLAorCVtaWF9D TEtfVERNX01VWF0gICAgICAgICAgPSBNVVgoInRkbS1tdXgiLCB0ZG1fc2VsLCAweDUwLCAyNCwg MiksCisJW1pYX0NMS19BWElfTVVYXSAgICAgICAgICA9IE1VWCgiYXhpLW11eCIsIGF4aV9zZWws IFpYMjk3NTIwVjNfQVhJX0FQX1ZPVEUsIDAsIDMpLAorCisJLyoKKwkgKiBUaGlzIGJpdCBjdXRz IG9mZiB0aGUgY2xvY2sgc2lnbmFsIHRvIHRoZSBBUk0gYXJjaGl0ZWN0ZWQgdGltZXIsIHdoaWNo IHRoZSBrZXJuZWwgdXNlcworCSAqIGFzIGl0cyBtYWluIHRpbWVyLiBJdCBpc24ndCBjcml0aWNh bCBwZXIgc2UgLSB0aGVyZSBhcmUgcGxlbnR5IG9mIHByb3ByaWV0YXJ5IHRpbWVycworCSAqIGF2 YWlsYWJsZSB0aGF0IGNvdWxkIGJlIHVzZWQgLSBidXQgdGhlIGFybSBhcmNoIHRpbWVyIGJpbmRp bmcgZG9lcyBub3QgYWNjZXB0IGEgY2xvY2ssIHNvCisJICogdGhpcyBDQ0YgZHJpdmVyIHdvbid0 IGtub3cgaWYgdGhlIHRpbWVyIGlzIGluIHVzZS4KKwkgKgorCSAqIFRoaXMgY2xvY2sgaXMgZmVk IGJ5IHRoZSBvc2MyNm0gZ2F0ZSBpbiB0b3Bjcm0rMHgxNDAgLSB0aGlzIGNyaXRpY2FsIGNsb2Nr IGhlcmUgcHJvdGVjdHMKKwkgKiBpdHMgcGFyZW50LgorCSAqCisJICogUmVnaXN0ZXJzIDB4MTQ4 LCAweDE0YywgMHgxNTAsIDB4MTU0IGFsbG93IHNldHRpbmcgYW5kIGNsZWFyaW5nIHRoZSB0aW1l ciBjb3VudGVyLiBUbworCSAqIHNldCB0aGUgdGltZXIsIGxvYWQgYSB2YWx1ZSBpbnRvIDB4MTQ4 IChoaWdoIDMyIGJpdHMpIGFuZCAweDE0YyAobG93IDMyIGJpdHMpLCB0aGVuCisJICogdG9nZ2xl IDB4MTUwIHRvIDEuIDB4MTUwIHdpbGwgYXV0b21hdGljYWxseSByZXNldCB0byAwLiAweDE1NCBz ZXRzIHRoZSB0aW1lciB0byBzb21lCisJICogImNsZWFyIiB2YWx1ZSwgYnV0IHRoaXMgdmFsdWUg aXNuJ3QgMC4KKwkgKi8KKwlbWlhfQ0xLX1NZU19USU1FUl9XQ0xLXSAgID0gR0FURSgic3lzLXRp bWVyLXdjbGsiLCBQQVJFTlRfRlcoIndjbGstb3NjMjZtIiksIDB4MTQ0LCAxLAorCQkJCQkgQ0xL X0lTX0NSSVRJQ0FMKSwKKworCS8qCisJICogQm90aCAweDI0IGFuZCAweDI4IGJpdHMgMSBhbmQg MiBzdG9wIHRoZSBDUFUuIFRoZXJlIGlzIGFsc28gYSBiaXQgaW4gdG9wY3JtKzB4MTM4LCB3aGlj aAorCSAqIFpURSdzIHVib290IGNhbGxzICJBNTMgcmVzZXQiLCB3aGljaCBhbHNvIHN0b3BzIHRo ZSBDUFUuIEkgY2FuJ3QgcmVhbGx5IHRlbGwgdGhlCisJICogZGlmZmVyZW5jZSBiZXR3ZWVuIG1h dHJpeCsweDI4IGFuZCB0b3ArMHgxMzguIFRoZSBjbG9jayAobWF0cml4KzB4MjQpIGNhbiBiZSBk aXNhYmxlZAorCSAqIGFuZCBlbmFibGVkIGZyb20gdGhlIENvcnRleCBNMCBhbmQgaXQgd2lsbCBu aWNlbHkgc3RvcCBhbmQgcmVzdGFydCB0aGUgQTUzLCByZXRhaW5pbmcKKwkgKiBhbGwgc3RhdGUu CisJICovCisJW1pYX0NMS19DUFVfV0NMS10gICAgICAgICA9IEdBVEUoImNwdS13Y2xrIiwgUEFS RU5UX0lEKFpYX0NMS19DUFVfTVVYKSwgMHgyNCwgMSwKKwkJCQkJIENMS19JU19DUklUSUNBTCks CisJW1pYX0NMS19DUFVfUENMS10gICAgICAgICA9IEdBVEUoImNwdS1wY2xrIiwgY2xrX21haW5b MF0sIDB4MjQsIDIsIENMS19JU19DUklUSUNBTCksCisKKwkvKgorCSAqIFRoZXJlIGFyZSBhIGxv dCBtb3JlIGNvbnRyb2xzIGluIG1hdHJpeCsweDEwMC4gMTMtMTYgYXBwZWFyIHRvIGJlIDQgZGlm ZmVyZW50IEFYSQorCSAqIGNoYW5uZWxzIGZvciBkaWZmZXJlbnQgcHJpb3JpdGllcy4gQml0IDE5 IGFwcGVhcnMgdG8gYmUgdGhlIEREUiBQSFkgd2Nsay4KKwkgKgorCSAqIFRoZSBpbXBvcnRhbnQg dGFzayBpcyB0byBrZWVwIGdwbGwgZW5hYmxlZCBpZiB0aGUgYm9vdGxvYWRlciBzZWxlY3RlZCBh IGdwbGwtYmFzZWQgcmF0ZQorCSAqIGZvciBSQU0uCisJICovCisJW1pYX0NMS19ERFJfQ1RSTF9Q Q0xLXSAgICA9IEdBVEUoImRkci1jdHJsLXBjbGsiLCBjbGtfbWFpblswXSwgMHgxMDAsIDE3LCBD TEtfSVNfQ1JJVElDQUwpLAorCVtaWF9DTEtfRERSX0NUUkxfV0NMS10gICAgPSBHQVRFKCJkZHIt Y3RybC13Y2xrIiwgUEFSRU5UX0lEKFpYX0NMS19ERFJfQ1RSTF9NVVgpLCAweDEwMCwgMTgsCisJ CQkJCSBDTEtfSVNfQ1JJVElDQUwpLAorCisJW1pYX0NMS19aU1BfUENMS10gICAgICAgICA9IEdB VEUoInpzcC1wY2xrIiwgY2xrX21haW5bMF0sIDB4MzQsIDAsIDApLAorCVtaWF9DTEtfWlNQX1dD TEtdICAgICAgICAgPSBHQVRFKCJ6c3Atd2NsayIsIFBBUkVOVF9JRChaWF9DTEtfWlNQX01VWCks IDB4MzQsIDEsIDApLAorCisJLyogQm90aCBTRElPIGNvbnRyb2xsZXJzIGRlcGVuZCBvbiB0aGUg YWhiLXBjbGsgZm9yIHJlZ2lzdGVyIGFjY2Vzcy4gKi8KKwlbWlhfQ0xLX1NEMF9QQ0xLXSAgICAg ICAgID0gR0FURSgic2QwLXBjbGsiLCBQQVJFTlRfRlcoImFoYiIpLCAweDU0LCAxMiwgMCksCisJ W1pYX0NMS19TRDBfV0NMS10gICAgICAgICA9IEdBVEUoInNkMC13Y2xrIiwgUEFSRU5UX0lEKFpY X0NMS19TRDBfTVVYKSwgMHg1NCwgMTMsIDApLAorCVtaWF9DTEtfU0QwX0NERVRdICAgICAgICAg PSBHQVRFKCJzZDAtY2RldCIsIFBBUkVOVF9GVygib3NjMzJrIiksIDB4NTQsIDE0LCAwKSwKKwlb WlhfQ0xLX1NEMV9QQ0xLXSAgICAgICAgID0gR0FURSgic2QxLXBjbGsiLCBQQVJFTlRfRlcoImFo YiIpLCAweDU0LCA0LCAwKSwKKwlbWlhfQ0xLX1NEMV9XQ0xLXSAgICAgICAgID0gR0FURSgic2Qx LXdjbGsiLCBQQVJFTlRfSUQoWlhfQ0xLX1NEMV9NVVgpLCAweDU0LCA1LCAwKSwKKwkvKgorCSAq IEkgZG9uJ3Qga25vdyBob3cgdGhlIGNkZXQgY2xvY2sgd29ya3MuIENhcmQgZGV0ZWN0aW9uIGlu IHRoZSB3YXkgdGhlIGR3YyxtbWMgZHJpdmVyIHVzZXMKKwkgKiBpdCBhcHBlYXJzIGJyb2tlbiBu byBtYXR0ZXIgdGhpcyBjbG9jaydzIHNldHRpbmcuCisJICovCisJW1pYX0NMS19TRDFfQ0RFVF0g ICAgICAgICA9IEdBVEUoInNkMS1jZGV0IiwgUEFSRU5UX0ZXKCJvc2MzMmsiKSwgMHg1NCwgNiwg MCksCisKKwkvKiBUaGlzIGlzIHNvbWUgImRlbmFsaSIgTkFORCwgbm90IHRoZSBxc3BpIGNvbm5l Y3RlZCBvbmUgKi8KKwlbWlhfQ0xLX05BTkRfV0NMS10gICAgICAgID0gR0FURSgibmFuZC13Y2xr IiwgUEFSRU5UX0lEKFpYX0NMS19OQU5EX01VWCksIDB4NTQsIDIwLCAwKSwKKwlbWlhfQ0xLX05B TkRfUENMS10gICAgICAgID0gR0FURSgibmFuZC1wY2xrIiwgY2xrX21haW5bMF0sIDB4NTQsIDIx LCAwKSwKKworCS8qCisJICogVGhlcmUgaXMgYSBzZXQgb2YgZ2F0ZXMgZm9yIGFuIHVua25vd24g ZGV2aWNlIGF0IG1hdHJpeCsweDYwLiBJdCBpcyBzb21lIExURSByZWxhdGVkCisJICogZGV2aWNl IGFuZCB0aGUgcGNsayBnYXRlcyBvZmYgbW1pbyBhcmVhcyAweGY4MDAwMDAwIGFuZCAweGZjMDAw MDAwLiBUaGVzZSBhcmVhcyBhcmUgb25seQorCSAqIGFjY2Vzc2libGUgdG8gTTAgYW5kIFpTUCwg bm90IHRoZSBBUC4KKwkgKgorCSAqIElmIGl0IGlzIGZlZCBhbiBpbmNvcnJlY3QgY2xvY2ssIGUu Zy4gYmVjYXVzZSBkcGxsIGlzIG5vdCBsb2NrZWQgYW5kIG91dHB1dHMgMjYgTUh6LCBpdAorCSAq IHdpbGwgc3BhbSBJUlFzIGF0IFNQSSA2OC4gVGhpcyBpcyBsaWtlbHkgYSBkaXN0cmVzcyBub3Rp ZmljYXRpb24gdGhhdCBzb21lCisJICogaW50ZXJuYWwgUExMIGRpZCBub3QgbG9jayBvciBzaW1p bGFyLiBaVEUncyBrZXJuZWwgaGFzIHR3byBkZWZpbmVzIGZvciBTUEkgNjg6CisJICogIkxURV9U UFVfSU5UX1BTX0lOVCIgYW5kICJWT1VfT1NEX0lOVCIuIFRoZSBsYXR0ZXIgaXMgdW5saWtlbHkg YmVjYXVzZSBWT1UgcmVsYXRlZCBjbG9ja3MKKwkgKiBzaXQgaW4gbWF0cml4KzB4MTY4LgorCSAq CisJICogVGhlIGFkZHJlc3Mgc3BhY2UgaW4gMHhmYzAwMDAwMCBhcHBlYXJzIHRvIGNvbnRhaW4g YSBudW1iZXIgb2YgZGlmZmVyZW50IGRldmljZXMsIHNvIEkKKwkgKiBoYXZlIG5hbWVkIHRoZSBj bG9jayBMVEVfTU9ERU1fe1cvUH1DTEsuIEl0IGlzIG5vdCBrbm93biBob3cgdGhpcyBtbWlvIGFy ZWEgYW5kIGNsb2NrCisJICogcmVsYXRlcyB0byBTUEkgNjggb3IgdGhlIEFCQiBjbG9jayBpbiB0 b3Bjcm0rMHgxNDQuIEJlY2F1c2UgaXQgaXMgbm90IGFjY2Vzc2libGUgdG8gdGhlCisJICogQVAg YXQgYWxsLCBJIGRvbid0IHRoaW5rIHdlIG5lZWQgdG8gY2FyZSBiZXlvbmQgdHVybmluZyBvbiB0 aGUgY2xvY2tzIGJlZm9yZSBib290aW5nIHRoZQorCSAqIFpTUC4KKwkgKgorCSAqIEJpdCA5IGlu IHJlZ2lzdGVyIDB4MTE4IHR1cm5zIHRoZSBJUlFzIG9mZiwgc28gaXQgaXMgdGhlIGltbWVkaWF0 ZSB3Y2xrIHBhcmVudC4gSXQgaXNuJ3QKKwkgKiBjbGVhciB3aGF0IGRpdmlzb3Igb2YgZHBsbCBp dCBpcyB1c2luZyB0aG91Z2guIEZvbGxvd2luZyB0aGUgcGF0dGVybiB0aGF0IGxvd2VyCisJICog ZnJlcXVlbmNpZXMgYXJlIGdhdGVkIGJ5IGxvd2VyIGJpdHMsIGl0IHdvdWxkIGluZGljYXRlIGRw bGwvMiBvciBkcGxsLzMuCisJICovCisJW1pYX0NMS19MVEVfTU9ERU1fV0NMS10gICA9IEdBVEUo Imx0ZS1tb2RlbS13Y2xrIiwgUEFSRU5UX0lEKFpYX0NMS19NQVRSSVhfRFBMTF9EMiksCisJCQkJ CSAweDYwLCAwLCAwKSwKKwlbWlhfQ0xLX0xURV9NT0RFTV9QQ0xLXSAgID0gR0FURSgibHRlLW1v ZGVtLXBjbGsiLCBjbGtfbWFpblswXSwKKwkJCQkJIDB4NjAsIDIsIDApLAorCisJW1pYX0NMS19F RENQX1BDTEtdICAgICAgICA9IEdBVEUoImVkY3AtcGNsayIsIGNsa19tYWluWzBdLCAweDY0LCAx LCAwKSwKKwlbWlhfQ0xLX0VEQ1BfV0NMS10gICAgICAgID0gR0FURSgiZWRjcC13Y2xrIiwgUEFS RU5UX0lEKFpYX0NMS19FRENQX01VWCksIDB4NjQsIDIsIDApLAorCisJLyoKKwkgKiBUaGlzIHNl ZW1zIHRvIGJlIGFub3RoZXIgU1BJLUxpa2UgZGV2aWNlLiBjcGtvLmtvIHVzZXMgaXQgdG8gc2Vu ZCBjYWxpYnJhdGlvbiBibG9icyB0bworCSAqIHRoZSBMVEUgcmFkaW8gaGFyZHdhcmUuIEFmdGVy IGluaXRpYWxpemF0aW9uIHRoZSBaU1AgZmlybXdhcmUgdGFrZXMgb3ZlciBjb250cm9sIG9mIHRo aXMKKwkgKiBkZXZpY2UuCisJICoKKwkgKiBUZXN0aW5nIHJldmVhbHMgdGhlIHBhcmVudCBhcyBt YXRyaXgncyAxMDQgTUh6IG1wbGwgZnJhY3Rpb24uCisJICovCisJW1pYX0NMS19SRkZFX1dDTEtd ICAgICAgICA9IEdBVEUoInJmZmUtd2NsayIsIFBBUkVOVF9JRChaWF9DTEtfTUFUUklYX01QTExf RDYpLCAweDg0LCAwLCAwKSwKKwlbWlhfQ0xLX1NTQ19XQ0xLXSAgICAgICAgID0gR0FURSgic3Nj LXdjbGsiLCBQQVJFTlRfSUQoWlhfQ0xLX01BVFJJWF9NUExMX0Q2KSwgMHg4NCwgMSwgMCksCisJ W1pYX0NMS19TU0NfUENMS10gICAgICAgICA9IEdBVEUoInNzYy1wY2xrIiwgY2xrX21haW5bMF0s IDB4ODQsIDIsIDApLAorCisJLyoKKwkgKiBQRENGRy4gTGlrZSBQTU0sIGVpdGhlciBjbG9jayBi aXQgd2lsbCBhbGxvdyB0aGUgZGV2aWNlIHRvIGZ1bmN0aW9uLiBQcm9iYWJseSB0aGVyZSBpcwor CSAqIG5vIHdjbGsgbGluZSBhdCBhbGwgYW5kIHRoZSB0d28gYml0cyBhcmUganVzdCBhbiBhcnRp ZmFjdCBvZiBnZW5lcmFsbHkgaGF2aW5nIHR3byBiaXRzCisJICogcGVyIGRldmljZS4KKwkgKi8K KwlbWlhfQ0xLX1BEQ0ZHX1dDTEtdICAgICAgID0gR0FURSgicGRjZmctd2NsayIsIG1hdHJpeF91 bmssIDB4ODgsIDAsIENMS19JU19DUklUSUNBTCksCisJW1pYX0NMS19QRENGR19QQ0xLXSAgICAg ICA9IEdBVEUoInBkY2ZnLXBjbGsiLCBjbGtfbWFpblswXSwgMHg4OCwgMSwgQ0xLX0lTX0NSSVRJ Q0FMKSwKKwlbWlhfQ0xLX01CT1hfUENMS10gICAgICAgID0gR0FURSgibWJveC1wY2xrIiwgY2xr X21haW5bMF0sIDB4ODgsIDIsIDApLAorCVtaWF9DTEtfU1JBTTBfUENMS10gICAgICAgPSBHQVRF KCJzcmFtMC1wY2xrIiwgY2xrX21haW5bMF0sIDB4ODgsIDQsIDApLAorCVtaWF9DTEtfR1NNX0NG R19QQ0xLXSAgICAgPSBHQVRFKCJnc20tY2ZnLXBjbGsiLCBjbGtfbWFpblswXSwgMHg4OCwgOCwg MCksCisKKwkvKgorCSAqIFpURSdzIGRyaXZlciBoYXMgYSBzdGF0ZW1lbnQgdG8gdGhlIGVmZmVj dCBvZiAqKHRvcC0+YmFzZSsweDExYykgPSA1LCB3aXRoIGEgY29tbWVudAorCSAqIHN1Z2dlc3Rp bmcgdGhhdCB0aGlzIHNldHMgYSA1MCBNSHogY2xvY2suIFRoZSBjbG9jayBjb2RlIGl0c2VsZiBs aXN0cyBHTUFDIGNsb2NrcyBpbgorCSAqIG1hdHJpeCsweDExMCBhbmQgbGlzdHMgdGhlIHBhcmVu dHMgb2YgdGhlc2UgY2xvY2tzIGFzIDUwIE1IeiBncGxsIG91dHB1dCwgYnV0CisJICogdGhlIGRv d25zdHJlYW0gWlRFIEdNQUMgZHJpdmVyIG5ldmVyIGVuYWJsZXMgdGhlIGNsb2Nrcy4gSXQgdHVy bnMgb3V0IFpURSdzIGNvZGUgaXMKKwkgKiBoaWdobHkgbWlzbGVhZGluZy4KKwkgKgorCSAqIFRo ZSBHTUFDJ3Mgd29yayBjbG9jayBpcyBkZWZpbml0ZWx5IG5vdCBhbnkgZ3BsbCBvdXRwdXQgYmVj YXVzZSBpdCBrZWVwcyB3b3JraW5nIGZpbmUKKwkgKiB3aXRoIGdwbGwgZGlzYWJsZWQuIEdhdGlu ZyBvZmYgbWF0cml4LW9zYzI2bSBicmVha3MgR01BQywgc28gaXQgbXVzdCBiZSBpdHMgcGFyZW50 LgorCSAqCisJICogVGhlIEdNQUMgR2F0ZXMgYXJlIGxlZnQgZW5hYmxlZCBieSB0aGUgYm9vdCBs b2FkZXIgYW5kIGFyZSByZXF1aXJlZCBmb3IgdGhlIEdNQUMgdG8gd29yay4KKwkgKgorCSAqIEFz IGZvciB0aGUgNTAgTUh6IGNvbW1lbnQ6IFNlZSBybWlpcGh5LXdjbGsuCisJICoKKwkgKiBUaGUg Z21hYy1haGIgY2xvY2sgaXMgYSBjaGlsZCBvZiB0b3Bjcm0ncyBhaGItcGNsayBhbmQgaXMgcmVx dWlyZWQgZm9yIERNQSB0cmFuc2ZlcnMgaW4KKwkgKiBhbmQgb3V0IG9mIEdNQUMuIFdpdGhvdXQg aXQsIEdNQUMgc3RpbGwgcmVjZWl2ZXMgZXRoZXJuZXQgZnJhbWVzLCBidXQgY2FuJ3QgZHJhaW4g dGhlbQorCSAqIHRvIG1lbW9yeSBhbmQgd2lsbCBldmVudHVhbGx5IHNldCB0aGUgUlggRklGTyBv dmVyZmxvdyBmbGFnLgorCSAqLworCVtaWF9DTEtfR01BQ19XQ0xLXSAgICAgICAgPSBHQVRFKCJn bWFjLXdjbGsiLCBQQVJFTlRfRlcoIndjbGstb3NjMjZtIiksIDB4MTEwLCAwLCAwKSwKKwlbWlhf Q0xLX0dNQUNfUENMS10gICAgICAgID0gR0FURSgiZ21hYy1wY2xrIiwgY2xrX21haW5bMF0sIDB4 MTEwLCAxLCAwKSwKKwlbWlhfQ0xLX0dNQUNfQUhCXSAgICAgICAgID0gR0FURSgiZ21hYy1haGIi LCBQQVJFTlRfRlcoImFoYiIpLCAweDExMCwgMiwgMCksCisKKwkvKgorCSAqIElzIHRoZXJlIGFu IEFYSSBidXMgZ2F0ZT8gVGhlIHN5bXB0b20gb2YgY3V0dGluZyBvZmYgdGhlIEFYSSBtdXggc2Vs ZWN0aW9uIGluIHRvcCsweDE0MAorCSAqIGlzIHRoYXQgbWF0cml4Y3JtIGJlY29tZXMgdW5yZWFk YWJsZSBmcm9tIG0wIGFuZCBBNTMgaGFuZ3MuIEluc2lkZSBtYXRyaXggaXRzZWxmIG9ubHkgMwor CSAqIGJpdHMgZml0IHRoYXQgYmlsbDogMHg4YyBiaXRzIDUsIDYsIDcuIEl0IHNlZW1zIGEgYml0 IHNlbGYtZGVmZWF0aW5nIHRvIGhhdmUgYSBjbG9jaworCSAqIGdhdGUgdGhhdCBzaHV0cyBvZmYg YWNjZXNzIHRvIGl0c2VsZiB0aG91Z2guIEkgZXhwZWN0IGEgY2xvY2sgZ2F0ZSBmb3IgdGhlIGJ1 cworCSAqIHNvbWV3aGVyZSwgYW5kIHRoZSBtdXggZXhpc3RzLCBzbyBleHBvc2luZyBvbmUgQVhJ IGNsb2NrIGluIHRoZSBiaW5kaW5ncyBpcyB0aGUgY29ycmVjdAorCSAqIHRoaW5nIHRvIGRvLiBJ dCBhbHNvIHNlcnZlcyB0byB0ZWxsIHRoZSBrZXJuZWwgdG8ga2VlcCB0aGUgbXV4J3MgcGFyZW50 IGVuYWJsZWQuCisJICoKKwkgKiBSZWdpc3RlciAweDhjIGhhcyAxMiBzZXR0YWJsZSBiaXRzICgw eGZmZikuIFVsdGltYXRlbHkgaXQgZG9lc24ndCBtYXR0ZXIgbXVjaCB3aGljaAorCSAqIGRvLW5v dC1yZW1vdmUgYml0IHdlIGRvbid0IHJlbW92ZS4gT3RoZXIgYml0cyBpbiB0aGlzIHJlZ2lzdGVy IGJlaGF2ZSBsaWtlIGdhdGVzIChlLmcKKwkgKiBiaXRzIDExOjggY3V0IG9mZiBVU0IgdGVtcG9y YXJpbHkpLCBzbyBJIHRoaW5rIHdlIGFyZSBsb29raW5nIGluIHRoZSByaWdodCBwbGFjZS4KKwkg KgorCSAqIElmIGFuIGV4cGxhbmF0aW9uIGZvciB0aGUgcmVtYWluaW5nIGJpdHMgc3VyZmFjZXMg YW5kIHRoZXkgYXJlIGZ1cnRoZXIgZ2F0ZXMgYW5kL29yCisJICogcmVzZXRzLCBhZGQgdGhlbSB0 byB0aGUgYmluZGluZ3MuCisJICovCisJW1pYX0NMS19BWElfV0NMS10gICAgICAgICA9IEdBVEUo ImF4aS13Y2xrIiwgUEFSRU5UX0lEKFpYX0NMS19BWElfTVVYKSwgMHg4YywgNSwKKwkJCQkJIENM S19JU19DUklUSUNBTCksCisKKwlbWlhfQ0xLX0RNQV9QQ0xLXSAgICAgICAgID0gR0FURSgiZG1h LXBjbGsiLCBjbGtfbWFpblswXSwgMHg5NCwgMywgMCksCisKKwkvKgorCSAqIFRoZXJlIGFyZSBh IGxvdCBtb3JlIFZPVSByZWxhdGVkIGNvbnRyb2xzIGluIHRoZXNlIHJlZ2lzdGVycywgYnV0IHR1 cm5pbmcgb2ZmIHRoZSBtYWluCisJICogY2xvY2sgc2VlbXMgdG8gc2h1dCBvZmYgdGhlIGVudGly ZSBWT1UgTU1JTyByYW5nZS4KKwkgKi8KKwlbWlhfQ0xLX1ZPVV9XQ0xLXSAgICAgICAgID0gR0FU RSgidm91LXdjbGsiLCBtYXRyaXhfdW5rLCAweDE2OCwgMCwgMCksCisJW1pYX0NMS19WT1VfUENM S10gICAgICAgICA9IEdBVEUoInZvdS1wY2xrIiwgY2xrX21haW5bMF0sIDB4MTY4LCAxLCAwKSwK KworCS8qCisJICogTFNQIHVwbGluayBjbG9ja3MuIFRoZSBwY2xrIGlzIGZhaXJseSBvYnZpb3Vz IChkaXNhYmxpbmcgaXQgc2h1dHMgb2ZmIHRoZSBlbnRpcmUgTFNQCisJICogcmVnaXN0ZXIgYXJl YSkuIFRoZSB3Y2xrIHNwZWVkcyB3ZXJlIGRlZHVjZWQgYnkgc2V0dGluZyB0aW1lcnMgYW5kIHFz cGkgbXV4ZXMgdG8gYQorCSAqIHNwZWNpZmljIHNwZWVkIGFuZCBzZWVpbmcgd2hpY2ggYml0IGlu IG1hdHJpeCsweDdjIG5lZWRzIHRvIGJlIGVuYWJsZWQgZm9yIHRoZSBkZXZpY2UKKwkgKiB0byB3 b3JrLgorCSAqCisJICogRHVlIHRvIHRoZSB0aW1lcnMgSSBhbSBjZXJ0YWluIGFib3V0IHRoZSAy NiBNSHogYW5kIDMyIGtIeiBjbG9ja3MuIEkgY2Fubm90IGRpcmVjdGx5CisJICogb2JzZXJ2ZSB0 aGUgcXNwaSBtdXggZnJlcXVlbmN5LCBzbyB0aGUgY2xvY2sgcmF0ZXMgZGVwZW5kIG9uIFpURSdz IHFzcGkgbXV4IHNlbGVjdGlvbgorCSAqIGJlaW5nIGNvcnJlY3QuCisJICoKKwkgKiBUd28gYWRk aXRpb25hbCBiaXRzIGFyZSBzcGVjaWZpYyB0byBzb3VuZCBjb21wb25lbnRzIC0gdGhlIG11eCBm b3IgdGhlIExTUCdzIFRETSBJUCBpcworCSAqIGluIG1hdHJpeGNybSBhbmQgZ2V0cyBwYXNzZWQg ZG93bi4gSTJTIGhhcyBhIG11eCBpbiBMU1AsIHdoaWNoIGNhbiBzZWxlY3QgdGhlIGRwbGwtZDQK KwkgKiBjbG9jay4KKwkgKi8KKwlbWlhfQ0xLX1RPTFNQX01QTExfRDVfV0NMS10gID0gR0FURSgi bHNwLW1wbGwtZDUiLCBQQVJFTlRfRlcoIm1wbGwtZDUiKSwgMHg3YywgMCwgMCksCisJW1pYX0NM S19UT0xTUF9NUExMX0Q0X1dDTEtdICA9IEdBVEUoImxzcC1tcGxsLWQ0IiwgUEFSRU5UX0lEKFpY X0NMS19NQVRSSVhfTVBMTF9ENCksCisJCQkJCSAgICAweDdjLCAxLCAwKSwKKwlbWlhfQ0xLX1RP TFNQX01QTExfRDZfV0NMS10gID0gR0FURSgibHNwLW1wbGwtZDYiLCBQQVJFTlRfSUQoWlhfQ0xL X01BVFJJWF9NUExMX0Q2KSwKKwkJCQkJICAgIDB4N2MsIDIsIDApLAorCVtaWF9DTEtfVE9MU1Bf TVBMTF9EOF9XQ0xLXSAgPSBHQVRFKCJsc3AtbXBsbC1kOCIsIFBBUkVOVF9JRChaWF9DTEtfTUFU UklYX01QTExfRDgpLAorCQkJCQkgICAgMHg3YywgMywgMCksCisJW1pYX0NMS19UT0xTUF9NUExM X0QxMl9XQ0xLXSA9IEdBVEUoImxzcC1tcGxsLWQxMiIsIFBBUkVOVF9JRChaWF9DTEtfTUFUUklY X01QTExfRDEyKSwKKwkJCQkJICAgIDB4N2MsIDQsIDApLAorCVtaWF9DTEtfVE9MU1BfT1NDMjZN X1dDTEtdICAgPSBHQVRFKCJsc3Atb3NjMjZtIiwgUEFSRU5UX0ZXKCJ3Y2xrLW9zYzI2bSIpLCAw eDdjLCA1LCAwKSwKKwlbWlhfQ0xLX1RPTFNQX09TQzMyS19XQ0xLXSAgID0gR0FURSgibHNwLW9z YzMyayIsIFBBUkVOVF9GVygib3NjMzJrIiksIDB4N2MsIDYsIDApLAorCVtaWF9DTEtfVE9MU1Bf UENMS10gICAgICAgICAgPSBHQVRFKCJsc3AtcGNsayIsIGNsa19tYWluWzBdLCAweDdjLCA3LCAw KSwKKwlbWlhfQ0xLX1RPTFNQX1RETV9XQ0xLXSAgICAgID0gR0FURSgibHNwLXRkbS13Y2xrIiwg UEFSRU5UX0lEKFpYX0NMS19URE1fTVVYKSwgMHg3YywgOCwgMCksCisJW1pYX0NMS19UT0xTUF9E UExMX0Q0X1dDTEtdICA9IEdBVEUoImxzcC1kcGxsLWQ0IiwgUEFSRU5UX0lEKFpYX0NMS19NQVRS SVhfRFBMTF9ENCksCisJCQkJCSAgICAweDdjLCA5LCAwKSwKK307CisKK3N0YXRpYyBpbnQgengy OTc1MjB2M19tYXRyaXhfaW5pdChzdHJ1Y3QgcmVnbWFwICptYXApCit7CisJdTMyIGF4aV92YWw7 CisJaW50IHJlczsKKworCS8qIFJlYWQgdGhlIGdsb2JhbCBBWEkgc3BlZWQgc2VsZWN0aW9uLCBp bnNlcnQgaXQgaW50byBvdXIgYmFsbG90IGFuZCBlbmFibGUgdm90aW5nICovCisJcmVzID0gcmVn bWFwX3JlYWQobWFwLCAweDAsICZheGlfdmFsKTsKKwlpZiAocmVzKQorCQlyZXR1cm4gcmVzOwor CisJYXhpX3ZhbCAmPSAweDc7CisJcmVzID0gcmVnbWFwX3dyaXRlKG1hcCwgWlgyOTc1MjBWM19B WElfQVBfVk9URSwgYXhpX3ZhbCk7CisJaWYgKHJlcykKKwkJcmV0dXJuIHJlczsKKworCXJldHVy biByZWdtYXBfd3JpdGUobWFwLCAweDEyYywgMSk7Cit9CisKK3N0YXRpYyBjb25zdCB1bnNpZ25l ZCBpbnQgengyOTc1MjB2M19tYXRyaXhfZXhwb3J0c1tdID0geworCVtaWDI5NzUyMFYzX1NZU19U SU1FUl9XQ0xLXSA9CQlaWF9DTEtfU1lTX1RJTUVSX1dDTEssCisJW1pYMjk3NTIwVjNfQ1BVX1dD TEtdID0JCQlaWF9DTEtfQ1BVX1dDTEssCisJW1pYMjk3NTIwVjNfQ1BVX1BDTEtdID0JCQlaWF9D TEtfQ1BVX1BDTEssCisJW1pYMjk3NTIwVjNfWlNQX1dDTEtdID0JCQlaWF9DTEtfWlNQX1dDTEss CisJW1pYMjk3NTIwVjNfWlNQX1BDTEtdID0JCQlaWF9DTEtfWlNQX1BDTEssCisJW1pYMjk3NTIw VjNfRERSX0NUUkxfUENMS10gPQkJWlhfQ0xLX0REUl9DVFJMX1BDTEssCisJW1pYMjk3NTIwVjNf RERSX0NUUkxfV0NMS10gPQkJWlhfQ0xLX0REUl9DVFJMX1dDTEssCisJW1pYMjk3NTIwVjNfRURD UF9XQ0xLXSA9CQlaWF9DTEtfRURDUF9XQ0xLLAorCVtaWDI5NzUyMFYzX0VEQ1BfUENMS10gPQkJ WlhfQ0xLX0VEQ1BfUENMSywKKwlbWlgyOTc1MjBWM19TRDBfV0NMS10gPQkJCVpYX0NMS19TRDBf V0NMSywKKwlbWlgyOTc1MjBWM19TRDBfUENMS10gPQkJCVpYX0NMS19TRDBfUENMSywKKwlbWlgy OTc1MjBWM19TRDBfQ0RFVF0gPQkJCVpYX0NMS19TRDBfQ0RFVCwKKwlbWlgyOTc1MjBWM19TRDFf V0NMS10gPQkJCVpYX0NMS19TRDFfV0NMSywKKwlbWlgyOTc1MjBWM19TRDFfUENMS10gPQkJCVpY X0NMS19TRDFfUENMSywKKwlbWlgyOTc1MjBWM19TRDFfQ0RFVF0gPQkJCVpYX0NMS19TRDFfQ0RF VCwKKwlbWlgyOTc1MjBWM19OQU5EX1dDTEtdID0JCVpYX0NMS19OQU5EX1dDTEssCisJW1pYMjk3 NTIwVjNfTkFORF9QQ0xLXSA9CQlaWF9DTEtfTkFORF9QQ0xLLAorCVtaWDI5NzUyMFYzX0RNQV9Q Q0xLXSA9CQkJWlhfQ0xLX0RNQV9QQ0xLLAorCVtaWDI5NzUyMFYzX01CT1hfUENMS10gPQkJWlhf Q0xLX01CT1hfUENMSywKKwlbWlgyOTc1MjBWM19QRENGR19XQ0xLXSA9CQlaWF9DTEtfUERDRkdf V0NMSywKKwlbWlgyOTc1MjBWM19QRENGR19QQ0xLXSA9CQlaWF9DTEtfUERDRkdfUENMSywKKwlb WlgyOTc1MjBWM19SRkZFX1dDTEtdID0JCVpYX0NMS19SRkZFX1dDTEssCisJW1pYMjk3NTIwVjNf U1NDX1dDTEtdID0JCQlaWF9DTEtfU1NDX1dDTEssCisJW1pYMjk3NTIwVjNfU1NDX1BDTEtdID0J CQlaWF9DTEtfU1NDX1BDTEssCisJW1pYMjk3NTIwVjNfQVhJX1dDTEtdID0JCQlaWF9DTEtfQVhJ X1dDTEssCisJW1pYMjk3NTIwVjNfR01BQ19XQ0xLXSA9CQlaWF9DTEtfR01BQ19XQ0xLLAorCVta WDI5NzUyMFYzX0dNQUNfUENMS10gPQkJWlhfQ0xLX0dNQUNfUENMSywKKwlbWlgyOTc1MjBWM19H TUFDX0FIQl0gPQkJCVpYX0NMS19HTUFDX0FIQiwKKwlbWlgyOTc1MjBWM19WT1VfV0NMS10gPQkJ CVpYX0NMS19WT1VfV0NMSywKKwlbWlgyOTc1MjBWM19WT1VfUENMS10gPQkJCVpYX0NMS19WT1Vf UENMSywKKwlbWlgyOTc1MjBWM19MU1BfTVBMTF9ENV9XQ0xLXSA9CQlaWF9DTEtfVE9MU1BfTVBM TF9ENV9XQ0xLLAorCVtaWDI5NzUyMFYzX0xTUF9NUExMX0Q0X1dDTEtdID0JCVpYX0NMS19UT0xT UF9NUExMX0Q0X1dDTEssCisJW1pYMjk3NTIwVjNfTFNQX01QTExfRDZfV0NMS10gPQkJWlhfQ0xL X1RPTFNQX01QTExfRDZfV0NMSywKKwlbWlgyOTc1MjBWM19MU1BfTVBMTF9EOF9XQ0xLXSA9CQla WF9DTEtfVE9MU1BfTVBMTF9EOF9XQ0xLLAorCVtaWDI5NzUyMFYzX0xTUF9NUExMX0QxMl9XQ0xL XSA9CVpYX0NMS19UT0xTUF9NUExMX0QxMl9XQ0xLLAorCVtaWDI5NzUyMFYzX0xTUF9PU0MyNk1f V0NMS10gPQkJWlhfQ0xLX1RPTFNQX09TQzI2TV9XQ0xLLAorCVtaWDI5NzUyMFYzX0xTUF9PU0Mz MktfV0NMS10gPQkJWlhfQ0xLX1RPTFNQX09TQzMyS19XQ0xLLAorCVtaWDI5NzUyMFYzX0xTUF9Q Q0xLXSA9CQkJWlhfQ0xLX1RPTFNQX1BDTEssCisJW1pYMjk3NTIwVjNfTFNQX1RETV9XQ0xLXSA9 CQlaWF9DTEtfVE9MU1BfVERNX1dDTEssCisJW1pYMjk3NTIwVjNfTFNQX0RQTExfRDRfV0NMS10g PQkJWlhfQ0xLX1RPTFNQX0RQTExfRDRfV0NMSywKKwlbWlgyOTc1MjBWM19TUkFNMF9QQ0xLXSA9 CQlaWF9DTEtfU1JBTTBfUENMSywKKwlbWlgyOTc1MjBWM19HU01fQ0ZHX1BDTEtdID0JCVpYX0NM S19HU01fQ0ZHX1BDTEssCisJW1pYMjk3NTIwVjNfTFRFX01PREVNX1dDTEtdID0JCVpYX0NMS19M VEVfTU9ERU1fV0NMSywKKwlbWlgyOTc1MjBWM19MVEVfTU9ERU1fUENMS10gPQkJWlhfQ0xLX0xU RV9NT0RFTV9QQ0xLLAorfTsKKworc3RhdGljIGNvbnN0IHN0cnVjdCB6eF9jbGtfZGF0YSB6eDI5 NzUyMHYzX21hdHJpeGNsa19kYXRhID0geworCS5pbml0ID0gengyOTc1MjB2M19tYXRyaXhfaW5p dCwKKwkuY2xvY2tzID0gengyOTc1MjB2M19tYXRyaXhfY2xvY2tzLAorCS5udW1fY2xvY2tzID0g QVJSQVlfU0laRSh6eDI5NzUyMHYzX21hdHJpeF9jbG9ja3MpLAorCS5leHBvcnRzID0gengyOTc1 MjB2M19tYXRyaXhfZXhwb3J0cywKKwkubnVtX2V4cG9ydHMgPSBBUlJBWV9TSVpFKHp4Mjk3NTIw djNfbWF0cml4X2V4cG9ydHMpLAorfTsKKwogc3RhdGljIGludCBjbGtfengyOTc1MjB2M19wcm9i ZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQogewogCWNvbnN0IHN0cnVjdCBwbGF0Zm9y bV9kZXZpY2VfaWQgKmlkID0gcGxhdGZvcm1fZ2V0X2RldmljZV9pZChwZGV2KTsKQEAgLTgyOCw2 ICsxMzUwLDEwIEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlX2lkIGNsa196 eDI5NzUyMHYzX2lkc1tdID0gewogCQkubmFtZSA9ICJ6eDI5NzUyMHYzLXRvcGNsayIsCiAJCS5k cml2ZXJfZGF0YSA9IChrZXJuZWxfdWxvbmdfdCkmengyOTc1MjB2M190b3BjbGtfZGF0YSwKIAl9 LAorCXsKKwkJLm5hbWUgPSAiengyOTc1MjB2My1tYXRyaXhjbGsiLAorCQkuZHJpdmVyX2RhdGEg PSAoa2VybmVsX3Vsb25nX3QpJnp4Mjk3NTIwdjNfbWF0cml4Y2xrX2RhdGEsCisJfSwKIAl7IH0K IH07CiBNT0RVTEVfREVWSUNFX1RBQkxFKHBsYXRmb3JtLCBjbGtfengyOTc1MjB2M19pZHMpOwoK LS0gCjIuNTUuMAoKCi0tIApsaW51eC1waHkgbWFpbGluZyBsaXN0CmxpbnV4LXBoeUBsaXN0cy5p bmZyYWRlYWQub3JnCmh0dHBzOi8vbGlzdHMuaW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xpc3RpbmZv L2xpbnV4LXBoeQo=