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 2A2D8ECAAD1 for ; Tue, 30 Aug 2022 03:42:10 +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:MIME-Version:Message-Id:Date:Subject:Cc :To:From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To:References: List-Owner; bh=fK2DiAmAkF0lc8RLtAkoyR0MUbSrnqbboPdpzaVthp8=; b=ZDumjsS/OrfijQ qrmD9Fd3tCYPWDC+BECYVCt5w5GnLdFE+QR/0HNPvXAwlo6SJs8OegVBr3blDJj4tWOg2uIRxo90a smERqqwD5kuMDogJtshTXXW10UtTsaLw+PTQpUKRQLHORjodo4LO4PjaM/YiVphm/m7FIGpDzQlfM y0P/O4OWOivKn3o2pu62WBpQfaBF5tDlHM4ok7fMzfhcoW1gj/L73tJ5Ip0mWauZsceeKhZrTIHNI ij5VAbWXkAeinQ3E8pD8iWylASsYr3EoktcL/KHGivcnftftGxhYQLwtoJcQNVck3OSzmxPPH2E7j 4UQ5IDTQjoJrRSWwziLQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1oSs73-00DpBJ-5o; Tue, 30 Aug 2022 03:40:29 +0000 Received: from mail-pl1-x62e.google.com ([2607:f8b0:4864:20::62e]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1oSs6t-00Dp19-FB; Tue, 30 Aug 2022 03:40:22 +0000 Received: by mail-pl1-x62e.google.com with SMTP id p18so9863302plr.8; Mon, 29 Aug 2022 20:39:51 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc; bh=txHfDqp9I2OTbDvdbsoi+9oKeczpCxnUIfrH6EPLXTE=; b=hk78JGZ3qYpdGClqlSoCZl0DtJGADFCnthNcAVIuRwsE714CNqwG7gPRGYAKiuQ4rx c9KnEpQexQCZ5qYfZ2B45HRdtXrp8j88mowjmYCZS3SFsDI7r7TVNTbMKosGnOPibb5n NqnL1eKibNKag2WbpkPbnM8HeewIEcBP16+FlerYOf2ZrWZeCgDyt+rITv3NO8h4FWwn tURsyiJ0dQebCusjey4C+25utS7YdQdZfARlXgdYMA33jtHRGYMnzMD7SfWgsR8e5PoP MlS7tAJGjFTfPbHITbdT4h/IepcwcJZOImzDTlnyWWmQFGNhfcqmIp1FO2w9W1W3TGy/ KzUA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc; bh=txHfDqp9I2OTbDvdbsoi+9oKeczpCxnUIfrH6EPLXTE=; b=T2RkJ3JVcIfddlh2Tzsx9sEQwHF9hwIeqoYK99c1YnbZs/6g0+XyitcCskVl8gKTBg CHjYml6okkMM3HTfcIdEqErmGDS1r8bRCOG2lL7yUBu4vx3MKFPzx/rOi/wm+qR1sM5m FFV9J3ZtT+u+QocPcDxGrHF1Qd/0oF7fXnv9s0sILykMuINwmK406Wl8a5hxJ0WoQ2x7 BVSLdmIldCgBmIXZJ3/fqioDfSbg7571C/OGtKzivl8gfJL3gjvnZomOPFTLe0zQFo8q HulIhwRMyGs+6MudEJ3kkYckWapPnnbFX/VXZC2w/ZvzDl3O+9KTAK1eyszRfuEezCBL Zr/Q== X-Gm-Message-State: ACgBeo1Oo9avOC80HFP9I2axXMATQ+B00TGyGyxCyX4iSCYNXQvwoAPw iiiukkr1PSEqhqGzfLrRNj8= X-Google-Smtp-Source: AA6agR6H/b29hWzfMS0gwJdXMmN2wPHWqVGnp78C6K5DTCU8DVVgnORpMeqIJRzLLlmOxZOE28d64Q== X-Received: by 2002:a17:903:1246:b0:171:5033:85c with SMTP id u6-20020a170903124600b001715033085cmr19340258plh.146.1661830791008; Mon, 29 Aug 2022 20:39:51 -0700 (PDT) Received: from RD-3580-24288.rt.l (42-77-88-242.emome-ip.hinet.net. [42.77.88.242]) by smtp.gmail.com with ESMTPSA id e11-20020a170902784b00b00173164792aasm8360612pln.127.2022.08.29.20.38.19 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 29 Aug 2022 20:38:51 -0700 (PDT) From: ChiaEn Wu To: lee@kernel.org, daniel.thompson@linaro.org, jingoohan1@gmail.com, pavel@ucw.cz, robh+dt@kernel.org, krzysztof.kozlowski+dt@linaro.org, matthias.bgg@gmail.com, sre@kernel.org, jic23@kernel.org, lars@metafoo.de, deller@gmx.de, broonie@kernel.org, mazziesaccount@gmail.com, andriy.shevchenko@linux.intel.com Cc: chiaen_wu@richtek.com, alice_chen@richtek.com, cy_huang@richtek.com, dri-devel@lists.freedesktop.org, linux-leds@vger.kernel.org, devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-mediatek@lists.infradead.org, linux-kernel@vger.kernel.org, linux-pm@vger.kernel.org, linux-iio@vger.kernel.org, linux-fbdev@vger.kernel.org, szunichen@gmail.com, andy.shevchenko@gmail.com Subject: [PATCH v9 00/10] Add MediaTek MT6370 PMIC support Date: Tue, 30 Aug 2022 11:37:20 +0800 Message-Id: <20220830033729.9219-1-peterwu.pub@gmail.com> X-Mailer: git-send-email 2.25.1 MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20220829_204019_570351_2691B0E0 X-CRM114-Status: GOOD ( 23.18 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org RnJvbTogQ2hpYUVuIFd1IDxjaGlhZW5fd3VAcmljaHRlay5jb20+CgpUaGlzIHBhdGNoIHNlcmll cyBhZGQgTWVkaWFUZWsgTVQ2MzcwIFBNSUMgc3VwcG9ydCBhbmQgYWRkIGEgaW5kZXggbWFjcm8K dG8gPGxpbmVhcl9yYW5nZS5oPi4gVGhlIE1UNjM3MCBpcyBhIGhpZ2hseS1pbnRlZ3JhdGVkIHNt YXJ0IHBvd2VyCm1hbmFnZW1lbnQgSUMsIHdoaWNoIGluY2x1ZGVzIGEgc2luZ2xlIGNlbGwgTGkt SW9uL0xpLVBvbHltZXIgc3dpdGNoaW5nCmJhdHRlcnkgY2hhcmdlciwgYSBVU0IgVHlwZS1DICYg UG93ZXIgRGVsaXZlcnkgKFBEKSBjb250cm9sbGVyLCBkdWFsCkZsYXNoIExFRCBjdXJyZW50IHNv dXJjZXMsIGEgUkdCIExFRCBkcml2ZXIsIGEgYmFja2xpZ2h0IFdMRUQgZHJpdmVyLAphIGRpc3Bs YXkgYmlhcyBkcml2ZXIgYW5kIGEgZ2VuZXJhbCBMRE8gZm9yIHBvcnRhYmxlIGRldmljZXMuCgpG aXJzdCwgaW4gdGhpcyBzZXJpZXMgb2YgcGF0Y2hlcywKJ2R0LWJpbmRpbmc6IG1mZCcsICdtZmQg ZHJpdmVyJyBoYXMgYmVlbiBhcHBsaWVkIGJ5IExlZSBpbiB0aGUgdjcuCmh0dHBzOi8vbG9yZS5r ZXJuZWwub3JnL2FsbC9ZdkpkcHEwTVdOUFFadzVjQGdvb2dsZS5jb20vCmh0dHBzOi8vbG9yZS5r ZXJuZWwub3JnL2FsbC9ZdkpkeEVwQzJjQjU4QnE5QGdvb2dsZS5jb20vCgondGNwY2kgZHJpdmVy JyBoYXMgYmVlbiBhcHBsaWVkIGJ5IEdyZWcgaW4gdGhlIHY4LgpodHRwczovL2dpdC5rZXJuZWwu b3JnL3B1Yi9zY20vbGludXgva2VybmVsL2dpdC9ncmVna2gvdXNiLmdpdC9jb21taXQvP2g9dXNi LW5leHQmaWQ9YzJhOGVhNTk5N2ZkZmViNDNlZGEyNTlkNTUzMzIzNGMzY2FlMDVkNwoKU2Vjb25k LCB0aGUgTEVEIFJHQiBkcml2ZXIgaXMgYmFzZWQgb24gQW5keSdzIHBhdGNoIHdoaWNoIG1vdmVz CmxlZF9pbml0X2RlZmF1bHRfc3RhdGVfZ2V0KCkgdG8gdGhlIGdsb2JhbCBoZWFkZXIuCmh0dHBz Oi8vbG9yZS5rZXJuZWwub3JnL2FsbC8yMDIyMDgwNTE1NDkwNy4zMjI2My0zLWFuZHJpeS5zaGV2 Y2hlbmtvQGxpbnV4LmludGVsLmNvbS8KCkluIGFkZGl0aW9uLCB3ZSBhZGRlZCBhIG1hY3JvIHRv IHRoZSA8bGluZWFyX3JhbmdlLmg+IGZvciBkZWNsYXJpbmcgdGhlCmxpbmVhcl9yYW5nZSBzdHJ1 Y3Qgc2ltcGx5IChzZWUgcGF0Y2ggdjktMDAwNSkgYW5kIG1hZGUgc29tZSBjaGFuZ2VzIGZvcgpN VDYzNzAgZHJpdmVycyAoc2VlIHY5IHNlY3Rpb24gb2YgdGhlIGNoYW5nZSBsb2cgYmVsb3cpLgoK VGhhbmsgeW91LApDaGlhRW4gV3UKLS0tCkNoYW5nZXMgaW4gdjk6Ci0gSW4gUGF0Y2ggMDUvMTA6 CgktIFJldmlzZSBMSU5FQVJfUkFOR0UoKSBhbmQgTElORUFSX1JBTkdFX0lEWCgpCgotIEluIFBh dGNoIDA3LzEwOgoJLSBGaXggd3JvbmcgJ0ZfSUlOTE1UU0VMJyBzZXR0aW5nIGluICdtdDYzNzBf Y2hnX2luaXRfc2V0dGluZygpJwoJLSBSZXZpc2UgdGhlIHVzYWdlIG9mIExJTkVBUl9SQU5HRV9J RFgoKQoKLSBJbiBQYXRjaCAwOS8xMDoKCS0gUmV2aXNlIHRoZSBmb3JtYXQgb2YgdGhlIGNvbW1l bnRzLgoKLSBJbiBQYXRjaCAxMC8xMDoKCS0gUmV2aXNlIHRoZSBmb3JtYXQgb2YgdGhlIGNvbW1l bnRzLgoKCkNoYW5nZXMgaW4gdjg6Ci0gSW4gUGF0Y2ggMDYvMTI6CgktIEFkZCBsaW5lYXJfcmFu Z2VfaWR4IG1hY3JvIGZvciBkZWNsYXJpbmcgdGhlIGxpbmVhcl9yYW5nZQoJICBzdHJ1Y3Qgc2lt cGx5LgoKLSBJbiBQYXRjaCAwOS8xMjoKCS0gUmVtb3ZlIE1UNjM3MF9DSEdfTElORUFSX1JBTkdF KCkgbWFjcm8sIGFuZCBjaGFuZ2UgdG8gdXNlCgkgIExJTkVBUl9SQU5HRV9JRFgoKSBtYWNybwoK LSBJbiBQYXRjaCAxMC8xMjoKCS0gQWRkIGluY2x1ZGUgaGVhZGVyIGZpbGUgPGxpbnV4L2xlZHMu aD4KCS0gUmVtb3ZlIHVzZWxlc3MgJ2VudW0gbXQ2MzcwX3N0YXRlJyBiZWNhdXNlIG9mIHVzaW5n ICdlbnVtIGxlZF9kZWZhdWx0X3N0YXRlJwoJLSBSZXZpc2UgdGhlIGNhbGN1bGF0aW9uIG9mICd2 YWwnIGluICdtdDYzNzBfZ2VuX2JyZWF0aF9wYXR0ZXJuKCknCgktIFJlcGxhY2UgdGhlIG1lZHRo b2Qgb2YgZ2V0dGluZyBkZWZhdWx0LXN0YXRlIGJ5IHVzaW5nCgkgIGxlZF9pbml0X2RlZmF1bHRf c3RhdGVfZ2V0KCkKCi0gSW4gUGF0Y2ggMTEvMTI6CgktIEFkZCBtaXNzaW5nICdkZXBlbmRlbmN5 IGNvbmZpZycgaW4gS2NvbmZpZwoJLSBSZXZpc2UgYWxsIG11bHRpLWxpbmUgY29tbWVudHMKCi0g SW4gUGF0Y2ggMTIvMTI6CgktIEFkZCBtaXNzaW5nIGhlYWRlciBmaWxlIDxsaW51eC9wcm9wZXJ0 eS5oPgoJLSBSZW1vdmUgdXNlbGVkZCBoZWFkZXIgZmlsZSA8bGludXgvb2ZfZGV2aWNlLmg+Cgkt IFJldmlzZSB0aGUgY29tbWVudCBvZiAnbXQ2MzcwX2NoZWNrX3ZlbmRvcl9pbmZvKCknCgoKQ2hh bmdlcyBpbiB2NzoKLSBJbiBQYXRjaCAwNS8xMzoKCS0gQWRkIHRoZSBzZWNvbmQgY29tcGF0aWJs ZSBzdHJpbmcgZm9yICdtdDYzNzInCgktIEFkZCAnbWVkaWF0ZWssYmxlZC1leHBvbmVudGlhbC1t b2RlLWVuYWJsZScgcHJvcGVydHkgZm9yIGVuYWJsZSB0aGUKCSAgZXhwb25lbnRpYWwgbW9kZSBv ZiBiYWNrbGlnaHQgYnJpZ2h0bmVzcwoJLSBBZGQgdmFsaWRhdGlvbiBmb3IgdGhlIG1heGltdW0g dmFsdWUgb2YgJ2RlZmF1bHQtYnJpZ2h0bmVzcycgYW5kCgkgICdtYXgtYnJpZ2h0bmVzcycKCi0g SW4gUGF0Y2ggMDcvMTM6CgktIE1vdmUgJyNkZWZpbmUgTVQ2MzcwX1JFR19NQVhBRERSJyB0byB0 aGUgbmV4dCBsaW5lIG9mCgkgICcjZGVmaW5lIE1UNjM3MF9SRUdfQ0hHX01BU0sxJwoJLSBSZW5h bWUgJ01UNjM3MF9SRUdfQUREUkxFTicgdG8gJ01UNjM3MF9NQVhfQUREUkxFTicKCi0gSW4gUGF0 Y2ggMDgvMTM6CgktIFJldmlzZSAnZGV2bV9hZGRfYWN0aW9uX29yX3Jlc2V0KGRldiwgLi4uKScg dG8gb25lIGxpbmUKCS0gUmV2aXNlICdyZXR1cm4gcmVnbWFwX3VwZGF0ZV9iaXRzKC4uLiknIHdp dGggdXNpbmcgcG9zaXRpdmUKCSAgY29uZGl0aW9uYWwKCi0gSW4gUGF0Y2ggMDkvMTM6CgktIEFk ZCBBSUNSKDEwMG1BIH4gMzUwbUEpLCBJQ0hHKDEwMG1BIH4gODAwbUEpIG1hY3JvcwoJLSBSZW1v dmUgNDAwbUEgQUlDUiBhbmQgOTAwbUEgSUNIRyBtYWNyb3MKCS0gUmV2aXNlIHVzaW5nICdpZi1l bHNlJyB0byAnc3dpdGNoLWNhc2UnIGluIG10NjM3MF9hZGNfcmVhZF9zY2FsZSgpCgkgIHdoZXJl IHRoZSBhZGMgY2hhbm5lbCBpcyBpYnVzIG9yIGliYXQKCi0gSW4gUGF0Y2ggMTAvMTM6CgktIFJl dmlzZSB0aGUgbWV0aG9kIHRvIGVuYWJsZS9kaXNhYmxlIGlycQoJLSBSZXZpc2UgYWxsICdpZiAo cmV0IDwgMCknIHRvICdpZiAocmV0KScgYWZ0ZXIgdXNpbmcKCSAgbXQ2MzcwX2NoZ19maWVsZF9z ZXQvZ2V0KCkKCS0gUmV2aXNlIGFsbCAnT1RHJyB0ZXh0IGFnYWluCgotIEluIFBhdGNoIDExLzEz OgoJLSBBZGQgdGhlIGNvbW1lbnQgZm9yIHRoZSB1bmlvbiBvZiAnc3RydWN0IG10NjM3MF9sZWQn CgktIFJldmlzZSB0aGUgd3JvbmcgZGVzY3JpcHRpb24gb2YgJ0F1dGhvcnMnCgktIFJldmlzZSBz b21lIHR5cG9zIChlLmcuIGxlZCAtLT4gTEVEKQoJLSBSZXZpc2UgJ2lmICghZndub2RlX3Byb3Bl cnR5X3JlYWRfc3RyaW5nKCkpJyB0bwoJICAncmV0ID0gZndub2RlX3Byb3BlcnR5X3JlYWRfc3Ry aW5nKCknCgktIFJlcGxhY2UgJ21lbWNweSguLi4pJyB3aXRoICdwdXRfdW5hbGlnbmVkX2JlMjQo KScgaW4KCSAgbXQ2MzcwX2dlbl9icmVhdGhfcGF0dGVybigpCgktIFJlcGxhY2UgYWxsICdMRURf T0ZGJyB3aXRoIDAKCS0gUmVtb3ZlIHRoZSByZWR1bmRhbnQgYXNzaWdubWVudCBpbiBtdDYzNzBf bWNfcGF0dGVybl9jbGVhcigpCgotIEluIFBhdGNoIDEyLzEzOgoJLSBGaXggdGhlIGluZGVudGF0 aW9uLgoJLSBGb3IgdGhlIHdlbGwgZGVmaW5lZCBtYWNybywgdGhlIHBhcmVudGhlc2lzIGlzIG5l ZWRlZCBmb3IgaW5wdXQgcGFyYW1ldGVycy4KCS0gUmVwbGFjZSBzb21lIGRldl93YXJuIHRvIGRl dl9pbmZvIGluICdpbml0X2ZsYXNoX3Byb3BlcnRpZXMnLgoJLSBBZGQgc2VudGluZWwgY29tbWVu dCBmb3IgdGhlIHRlcm1pbmF0b3IgZW50cnkgb2Ygb2ZfZGV2aWNlX2lkLgoJLSBVc2UgcHJpdi0+ ZmxlZF90b3JjaF91c2VkIGRpcmVjdGx5LgoJLSBEZWxldGUgMCBpbiB7fS4KCS0gVXNlIF91QSBp bnN0ZWFkIG9mIF9VQSBpbiBkZWZpbml0aW9uLgoJLSBSZWZpbmUgdGhlIGRlc2NyaXB0aW9uLgoJ LSBVc2UgdXNsZWVwX3JhbmdlIGluc3RlYWQgb2YgdWRlbGF5LgoJLSBSZW5hbWUgY29uZmlnIHRv IExFRFNfTVQ2MzcwX0ZMQVNILgoJLSBBZGQgbWlzc2luZyAiPiIgaW4gY29weXJpZ2h0LgoJLSBD aGFuZ2UgdGhlIEtjb25maWcgb3JkZXIKCi0gSW4gUGF0Y2ggMTMvMTM6CgktIEFkZCBzdXBwb3J0 ICdleHBvbmVudGlhbCBtb2RlJyBwcm9wZXJ0eSBwYXJzaW5nCgktIEFkZCAncmV0dXJuIGRldl9l cnJfcHJvYmUoKScgYWZ0ZXIgJ2lmIChJU19FUlIocHJpdi0+ZW5hYmxlX2dwaW8pKScKCS0gQWRk ICdtdDYzNzInIGNvbXBhdGlibGUgc3RyaW5nCgktIFJldmlzZSBLY29uZmlnIGhlbHAgdGV4dAoJ LSBSZXZpc2UgdXBkYXRlKCkvZ2V0KCkgZm9yIHN1cHBvcnRpbmcgMTYzODQgc3RlcHMgKE1UNjM3 MikKCS0gUmV2aXNlIGFsbCBzaGlmdCB1c2FnZXMgZm9ybSB1c2luZyAnZmZzKCkgYW5kIGZscygp JyB0byBkZWZpbmluZyB0aGUKCSAgX1NISUZUIG1hY3Jvcy4KCS0gUmV2aXNlICdicmlnaHRuZXNz ID8gMSA6IDAnIHRvICchIWJyaWdodG5lc3MnIGluIGdwaW9kX3NldF92YWx1ZSgpCgoKQ2hhbmdl cyBpbiB2NjoKLSBJbiBQYXRjaCAwMy8xMzoKCS0gQWRkICdyZWcnIHByb3BlcnR5IG9mIGxlZCBv ZiBtdWx0aS1sZWQgdG8gcHJldmVudCBjaGVja2luZwoJICBlcnJvci4KCi0gSW4gUGF0Y2ggMDgv MTM6CgktIENvbnZlcnQgdGNwY2kgYXMgZGV2aWNlIHJlc291cmNlIG1hbmFnZWQgd2l0aAoJICAn ZGV2bV9hZGRfYWN0aW9uX29yX3Jlc2V0JyBhcGkuCgktIFJlZmluZSByZW12b2UgY2FsbGJhY2su CgktIFJlZmluZSB0aGUgY29tbWl0IHRleHQgZnJvbSAndGhpcyBjb21taXQgYWRkJyB0byAnYWRk Jy4KCi0gSW4gUGF0Y2ggMDkvMTM6CgktIFVzaW5nICdzdHJ1Y3QgZGV2aWNlICpkZXYgPSAmcGRl di0+ZGV2JyBpbiBwcm9iZSgpCgktIFJldmlzZSB0aGUgc2l4dGggcGFyYW1ldGVyIG9mIHJlZ21h cF9yZWFkX3BvbGxfdGltZW91dCgpIGJ5CgkgIFJlcGxhY2luZyAnMTAwMCcgd2l0aCAnTUlMTEkn CgktIFJldmlzZSB0aGUgdW5pdHMgb2YgdGhyZWUgbWFjcm9zCgktIE1UNjM3MF9BSUNSXzQwME1B IC0tPiBNVDYzNzBfQUlDUl80MDBfbUEKCS0gTVQ2MzcwX0lDSEdfNTAwTUEgLS0+IE1UNjM3MF9J Q0hHXzUwMF9tQQoJLSBNVDYzNzBfSUNIR185MDBNQSAtLT4gTVQ2MzcwX0lDSEdfOTAwX21BCgot IEluIHBhdGNoIDEwLzEzOgoJLSBSZW1vdmUgdGhlIHZhcmFibGUgKCpwc3lfZGVzYykgb2Ygc3Ry dWN0IG10NjM3MF9wcml2CgktIFJlbW92ZSB0aGUgZGVwcmVjYXRlZCB1c2IgdHlwZSAoUE9XRVJf U1VQUExZX1RZUEVfVVNCX0NEUCBhbmQKCSAgUE9XRVJfU1VQUExZX1RZUEVfVVNCX0RDUCkKCS0g UmVtb3ZlIHVzZWxlc3MgcmVtb3ZlKCkKCS0gUmV2aXNlIGFsbCB1bml0cyBmcm9tIG1pbmktIHRv IG1pY3JvLQoJLSBSZXZpc2UgZ2V0L3NldCBwb3dlcl9zdXBwbHlfcHJvcCAoY2hhbmdlIHRvIGRp cmVjdGx5IHJldHVybiBnZXQvc2V0CgkgIHJlZ21hcF9maWVsZCkKCS0gUmV2aXNlIHByb2JlKCkg YW5kIHVzZSBkZXZtX2FkZF9hY3Rpb25fb3JfcmVzZXQoKSBmb3IgaGFuZGxpbmcgb2YgdGhlCgkg IHdvcmtxdWV1ZS9kZWxheWVkX3dvcmsvbXV0ZXgKCS0gUmV2aXNlIG10NjM3MF9jaGdfcHN5X2Rl c2MKCQktIEFkZCAnLm5hbWUgPSAibXQ2MzcwLWNoYXJnZXIiJwoJCS0gVXNlICdzdGF0aWMgY29u c3QnCgotIEluIHBhdGNoIDExLzEzOgoJLSBSZW1vdmUgdGhlICdrbycgZnJvbSBtdDYzNzAgbGVk IEtjb25maWcgZGVzY3JpcHRpb24uCgktIEFkZCBib3RoIGF1dGhvcnMgZm9yIEFsaWNlIGFuZCBD aGlZdWFuLgoJLSBVc2UgcGRhdGEgdG8gZGlzdGluZ3Vpc2ggdGhlIGNvZGUgZnJvbSBtdDYzNzAv NzEgdG8gbXQ2MzcyLgoJLSBJbnN0ZWFkIG9mICdzdGF0ZScgZGVmaW5lLCB1c2UgdGhlICdzdGF0 ZScgZW51bS4KCS0gRml4IHRoZSB0eXBvIGZvciAnTVQ2MzcyX1BNV19EVVRZJy4KCS0gRm9yIHB3 bV9kdXR5IGRlZmluZSwgcmVwbGFjZSB3aXRoIGJpdCBtYWNybyAtIDEuCgktIFJlZmluZSBhbGwg dGhlIGxhYmVscyBmcm9tICdvdXQnIHRvICdvdXRfdW5sb2NrJy4KCS0gVXNlIHN0cnVjdCAnZGV2 JyB2YXJpYWJsZSBhbmQgJ2Rldl9lcnJfcHJvYmUnIHRvIG9wdGltaXplIHRoZSBMT0MuCgktIFJl dmlzZSBmb3IgdGhlIGFycmF5IGluaXRpYWxpemF0aW9uIGZyb20gezB9IHRvIHt9LgoJLSBNb3Zl IGludG8gcmdiIGZvbGRlciBhbmQgcmVuYW1lIGZpbGUgbmFtZSB0byAnbGVkcy1tdDYzNzAtcmdi Jy4KCS0gUmVmaW5lIHRoZSAnY29tbWEnIHVzYWdlIGluIHN0cnVjdC9lbnVtLgoKLSBJbiBwYXRj aCAxMi8xMzoKCS0gVXNlICdHRU5NQVNLJyBpbnN0ZWFkIG9mICdCSVQnLgoJLSBVc2UgZGV2X2Vy cl9wcm9iZSB0byBkZWNyZWFzZSBMT0MuCgktIFVzZSAnZGV2JyB2YXJpYWJsZSB0byBtYWtlIHBy b2JlIGZ1bmN0aW9uIG1vcmUgY2xlYW4uCgktIFJlZmluZSB0aGUgcmV0dXJuIG9mIF9tdDYzNzBf Zmxhc2hfYnJpZ2h0bmVzc19zZXQgZnVuY3Rpb24uCgktIFJlZmluZSB0aGUgZGVzY3JpcHRpb25z LgoJLSBVc2UgbXQ2MzcwX2NsYW1wKCkgaW5zdGVhZCBvZiBjbGFtcF9hbGlnbigpLgoJLSBVc2Ug ZGV2aWNlIHJlc291cmNlIG1hbmFnZWQgQVBJIGZvciB2NGwyIGZsYXNoX3JlbGVhc2UuCgoKQ2hh bmdlcyBpbiB2NToKLSBJbiBwYXRjaCAwNy8xMzoKCS0gQWRkIHRoZSBjb21tYSBpbiB0aGUgbGFz dCBSRUdNQVBfSVJRX1JFR19MSU5FKCksCgkgIERFRklORV9SRVNfSVJRX05BTUVEKCkgYW5kIE1G RF9DRUxMX1JFUygpCgktIEFkZCB0aGUgcHJlZml4IGluIHRoZSBmaXJzdCBwYXJhbWV0ZXIgb2Yg YWxsIG1mZF9jZWxsCgktIE1vdmUgZW51bSBhbmQgc3RydWN0IG10NjM3MF9pbmZvIHRvIG10NjM3 MC5oCgktIFJlbW92ZSBzdHJ1Y3QgZGV2aWNlICpkZXYgaW4gc3RydWN0IG10NjM3MF9pbmZvCgkt IFJldmlzZSB0aGUgZGVzY3JpcHRpb24gb2YgS2NvbmZpZyBoZWxwIHRleHQKCS0gUmV2aXNlIE1P RFVMRV9ERVNDUklQVElPTigpCgotIEluIHBhdGNoIDA4LzEzOgoJLSBBZGQgY29tbWEgZm9yIHRo ZSBsYXN0IGluZGV4IG9mIG10NjM3MF9yZWdfaW5pdC4KCS0gVXNlIGRldl9lcnJfcHJvYmUgdG8g ZGVjcmVhc2UgTE9DLgoJLSBVc2UgJ2RldicgdmFyaWFibGUgdG8gbWFrZSBwcm9iZSBmdW5jdGlv biBtb3JlIGNsZWFuLgoJLSBSZWZpbmUga2NvbmZpZyB0ZXh0LgoJLSBSZW1vdmUgYm90aCAnZWxz ZScgaW4gc2V0X3ZidXMgY2FsbGJhY2suCgktIFJlbW92ZSBjb21tYSBmb3Igb2ZfZGV2aWNlX2lk IGlmIHRoZSBhc3NpZ25lZCBtZW1iZXIgaXMgb25seSBvbmUuCgotIEluIHBhdGNoIDA5LzEzOgoJ LSBSZXBsYWNlIHVzaW5nIHNucHJpbnRmKCkgd2l0aCBzeXNmc19lbWl0KCkgaW4gbXQ2MzcwX2Fk Y19yZWFkX2xhYmVsKCkKCS0gUmVtb3ZlIG1hY3JvIEFEQ19DT05WX1RJTUVfVVMKCS0gUmV2aXNl IGFsbCB2YXJpYWJsZSBvcmRlcmluZwoJLSBSZXZpc2UgdGhlIGRlc2NyaXB0aW9uIG9mIEtjb25m aWcgaGVscCB0ZXh0CgktIFJldmlzZSBNT0RVTEVfREVTQ1JJUFRJT04oKQoKLSBJbiBwYXRjaCAx MC8xMzoKCS0gUmVwbGFjZSB1bnNpZ25lZCBpbnQgdHlwZSBvZiBwd3JfcmR5IHdpdGggYm9vbCBp bgoJICBtdDYzNzBfY2hnX3NldF9vbmxpbmUoKQoJLSBSZW1vdmUgcmVkdW5kYW50ICdlbHNlJyBp biBtdDYzNzBfY2hnX2ZpZWxkX2dldCgpCgktIFJldmlzZSAnaWYtZWxzZScgaW4gbXQ2MzcwX2No Z19maWVsZF9zZXQoKQoJLSBSZXZpc2UgJ2lmJyBjb25kaXRpb24gaW4gbXQ2MzcwX2NoZ19lbmFi bGVfaXJxKCkKCS0gUmV2aXNlIGFsbCB0ZXh0ICdvdGcnIC0tPiAnT1RHJwoJLSBSZXZpc2UgTVQ2 MzcwX01JVlJfSUJVU19USF8xMDBfTUEgLS0+IE1UNjM3MF9NSVZSX0lCVVNfVEhfMTAwX21BCgkt IFJldmlzZSB0aGUgZGVzY3JpcHRpb24gb2YgS2NvbmZpZyBoZWxwIHRleHQKCi0gSW4gcGF0Y2gg MTIvMTM6CgktIFJlZmluZSB0aGUgY29kaW5nIHN0eWxlLgoJLSBVc2UgImRldiIgaW5zdGVhZCBv ZiAiJnBkZXYtPmRldiIuCgotIEluIHBhdGNoIDEzLzEzOgoJLSBBZGQgbWlzc2VkIDxtb2RfZGV2 aWNldGFibGUuaD4KCS0gQWRkIHN0cnVjdCBkZXZpY2UgKmRldiBpbiBwcm9iZSgpIHRvIG1ha2Ug Y29kZSBjbGVhbmluZwoJLSBSZW1vdmUgdXNlbGVzcyBpbmNsdWRpbmcgaGVhZGVyIGZpbGUgPGdw aW8vZHJpdmVyLmg+LCA8b2YuaD4KCS0gUmVtb3ZlIHVzZWxlc3MgdmFyaWFibGUgdWFzYWdlIGlu IG10NjM3MF9pbml0X2JhY2tsaWdodF9wcm9wZXJ0aWVzKCkKCS0gUmVtb3ZlIHJlZHVuZGFudCBj aGVja2luZyBlbmFibGVfZ3BpbyBpbiBtdDYzNzBfYmxfdXBkYXRlX3N0YXR1cygpCgktIFJlbW92 ZSByZWR1bmRhbnQgcGFyZW50aGVzZXMgaW4gbXQ2MzcwX2JsX2dldF9icmlnaHRuZXNzKCkKCS0g UmV2aXNlIHRoZSBkZXNjcmlwdGlvbiBvZiBLY29uZmlnIGhlbHAgdGV4dAoJLSBSZXZpc2UgdGhl IGNhbGN1bGF0aW9uIG9mIGh5c190aF9zdGVwcwoKCkNoYW5nZXMgaW4gdjQ6Ci0gSW4gcGF0Y2gg MDIvMTM6CgktIEFkZCBtaW5JdGVtcyBvZiAiaW8tY2hhbm5lbC1uYW1lcyIKCS0gUmVwbGFjZSB0 ZXh0ICJNZWRpYXRlayIgd2l0aCAiTWVkaWFUZWsiCgotIEluIHBhdGNoIDA2LzEzOgoJLSBSb2xs IGJhY2sgYWxsICIkcmVmOiAiIHRvIHYyIHBhdGNoIHN0eWxlICh1c2luZyAiL3NjaGVtYXMvLi4u IikKCi0gSW4gcGF0Y2ggMDcvMTM6CgktIFJlcGxhY2UgdGV4dCAiTWVkaWF0ZWsiIHdpdGggIk1l ZGlhVGVrIiBpbiBLY29uZmlnCgktIFJlcGxhY2UgImZpcnN0IGJyZWFrIGFuZCB0aGVuIHJldHVy biIgd2l0aCAicmV0dXJuIGRpcmVjdGx5IgoJICBpbiAibXQ2MzcwX2NoZWNrX3ZlbmRvcl9pbmZv KCkiCgktIEFkZCBtb2R1bGUgbmFtZSByZWxhdGVkIGRlc2NyaXB0aW9uIGluIEtjb25maWcgaGVs cHRleHQKCS0gQWRkIENvcHlyaWdodCBpbiB0aGUgc291cmNlIGNvZGUKCS0gQWRkIGhlYWRlciBm aWxlICJtdDYzNzAuaCIgZm9yIGFsbCAiI2RlZmluZSBJUlEiCgktIEFkanVzdCBNYWtlZmlsZSBv cmRlciBvZiBNVDYzNzAKCS0gUmVmaW5lICJiYW5rX2lkeCIgYW5kICJiYW5rX2FkZHIiIGluCgkg ICJtdDYzNzVfcmVnbWFwX3JlYWQoKSIgLyAibXQ2Mzc1X3JlZ21hcF93cml0ZSgpIgoJLSBSZWZp bmUgcmVkdW5kYW50ICJlbHNlIGlmIiBpbiAibXQ2MzcwX3JlZ21hcF9yZWFkKCkiCgotIEluIHBh dGNoIDA4LzEzOgoJLSBSZXBsYWNlIHRleHQgIk1lZGlhdGVrIiB3aXRoICJNZWRpYVRlayIgaW4g S2NvbmZpZwoJLSBSZXBsYWNlICJmaXJzdCByZXQ9cmVndWxhdG9yXyhkaXMvZW4pYWJsZSBhbmQg dGhlbiByZXR1cm4iCgkgIHdpdGggInJldHVybiBkaXJlY3RseSIgaW4gIm10NjM3MF90Y3BjX3Nl dF92YnVzKCkiCgktIFJlcGxhY2UgaGVhZGVyIGZpbGUgPGxpbnV4L29mLmg+IHdpdGggPGxpbnV4 L21vZF9kZXZpY2V0YWJsZS5oPgoJLSBBZGQgQ29weXJpZ2h0IGluIHRoZSBzb3VyY2UgY29kZQoJ LSBBZGQgbW9kdWxlIG5hbWUgcmVsYXRlZCBkZXNjcmlwdGlvbiBpbiBLY29uZmlnIGhlbHB0ZXh0 CgktIFJlbW92ZSBoZWFkZXIgZmlsZSA8bGludXgvb2YuaD4KCS0gUmVmaW5lIGFsbCBwcm9iZSBl cnJvciBieSB1c2luZyBkZXZfZXJyX3Byb2JlKCkKCi0gSW4gcGF0Y2ggMDkvMTM6CgktIFJlcGxh Y2UgdGV4dCAiTWVkaWF0ZWsiIHdpdGggIk1lZGlhVGVrIgoJLSBSZXBsYWNlIGFsbCAiZmlyc3Qg ZGV2X2VycigpIGFuZCB0aGVuIHJldHVybiIgd2l0aAoJICAicmV0dXJuIGRldl9lcnJfcHJvYmUo KSIKCS0gQWRkIENvcHlyaWdodCBpbiB0aGUgc291cmNlIGNvZGUKCS0gQWRkIG1vZHVsZSBuYW1l IHJlbGF0ZWQgZGVzY3JpcHRpb24gaW4gS2NvbmZpZwoJLSBBZGQgdW5pdCBzdWZmaXggb2YgbWFj cm8gIkFEQ19DT05WX1BPTExJTkdfVElNRSIKCS0gQWRkIG5ldyBtYWNybyAiQURDX0NPTlZfVElN RV9NUyIKCS0gQWRqdXN0IHRoZSBwb3NpdGlvbiBvZiBpbmNsdWRlIGZpbGUgPG1lZGlhdGVrLG10 NjM3MF9hZGMuaD4KCS0gQWRqdXN0IHRoZSBwb3N0aW9ucyBiZXR3ZWVuIDxsaW51eC9tb2R1bGUu aD4gYW5kCgkgICA8bGludXgvbW9kX2RldmljZXRhYmxlLmg+CgktIEZpeCBzb21lIGluY29ycmVj dCBjaGFyYWN0ZXJzCgotIEluIHBhdGNoIDEwLzEzOgoJLSBSZXBsYWNlIHRleHQgIk1lZGlhdGVr IiB3aXRoICJNZWRpYVRlayIgaW4gS2NvbmZpZyBhbmQKCSAgTU9EVUxFX0RFU0NSSVBUSU9OKCkK CS0gUmVwbGFjZSAibXQ2MzcwX2NoZ192YWxfdG9fcmVnIiBhbmQgIm10NjM3MF9jaGdfcmVnX3Rv X3ZhbCIKCSAgd2l0aCAibGluZWFyX3JhbmdlIiBBUEkKCS0gUmVwbGFjZSAiZmlyc3QgYnJlYWsg YW5kIHRoZW4gcmV0dXJuIiB3aXRoICJyZXR1cm4gZGlyZWN0bHkiCgkgIGluIGFsbCBjYXNlcyBv ZiBnZXQvc2V0IHBvd2VyX3N1cHBseV9wcm9wZXJ0eQoJLSBSZXBsYWNlIGFsbCAiZmlyc3QgZGV2 X2VycigpIGFuZCB0aGVuIHJldHVybiIgd2l0aCAicmV0dXJuCgkgIGRldl9lcnJfcHJvYmUoKSIK CS0gUmVwbGFjZSBhbGwgInJldHVybiBJU19FUlIocHJpdi0+cmRldikgPyBQVFJfRVJSKHByaXYt PnJkZXYpIDogMCIKCSAgd2l0aCAiUFRSX0VSUl9PUl9aRVJPKCkiCgktIFJlcGxhY2UgInByaXYt PmRldi0+b2Zfbm9kZSIgd2l0aCAiZGV2X29mX25vZGUoKSIKCS0gQWRkIENvcHlyaWdodCBpbiB0 aGUgc291cmNlIGNvZGUKCS0gQWRkIG1vZHVsZSBuYW1lIHJlbGF0ZWQgZGVzY3JpcHRpb24gaW4g S2NvbmZpZyBoZWxwdGV4dAoJLSBBZGQgcHJvcGVyIHVuaXQgb2YgIk1UNjM3MF9NSVZSX0lCVVNf VEgiCgktIEFkZCBlcnJvciBjaGVjayBpbiAibXQ2MzcwX2NoZ19nZXRfc3RhdHVzIgoJLSBSZW1v dmUgaW5jbHVkaW5nIDxtZWRpYXRlayxtdDYzNzBfYWRjLmg+IGhlYWRlciBmaWxlCgktIFJlbW92 ZSByZWR1bmRhbnQgY29tbWEgb2YgZXZlcnkgZW51bSB0ZXJtaW5hdG9yIGxpbmUKCS0gUmVtb3Zl IHVud2FudGVkIGJsYW5rIGxpbmVzCgktIFJlbW92ZSB0aGUgdXNlbGVzcyBsYWJlbCAodG9nZ2xl X2Nmb19leGl0OikKCS0gUmVtb3ZlIHVzaW5nIGF0b21pYwoJLSBSZW1vdmUgdXNpbmcgb2ZfbWF0 Y2hfcHRyKCkKCS0gRml4IHNvbWUgaW5jb3JyZWN0IGNoYXJhY3RlcnMKCS0gRml4IHVwZGF0aW5n IHdyb25nIGJpdHMgd2hlbiB1c2luZyBlbmFfZ3Bpb2Qgb2YgT1RHIHJlZ3VsYXRvcgoJLSBBZGp1 c3QgdGhlIHByb2JlIG9yZGVyIGluIHByb2JlKCkKCi0gSW4gcGF0Y2ggMTEvMTM6CgktIFJlcGxh Y2UgdGV4dCAiTWVkaWF0ZWsiIHdpdGggIk1lZGlhVGVrIiBpbiBLY29uZmlnCgktIFJlcGxhY2Ug dGV4dCAiY29uc3QiIHdpdGggImNvbnN0YW50IiBpbiBLY29uZmlnCgktIEFkZCBDb3B5cmlnaHQg aW4gdGhlIHNvdXJjZSBjb2RlCgotIEluIHBhdGNoIDEyLzEzOgoJLSBSZXBsYWNlIHRleHQgIk1l ZGlhdGVrIiB3aXRoICJNZWRpYVRlayIgaW4gS2NvbmZpZwoJLSBBZGQgQ29weXJpZ2h0IGluIHRo ZSBzb3VyY2UgY29kZQoKLSBJbiBwYXRjaCAxMy8xMzoKCS0gUmVwbGFjZSB0ZXh0ICJNZWRpYXRl ayIgd2l0aCAiTWVkaWFUZWsiIGluIEtjb25maWcKCS0gQWRkIENvcHlyaWdodCBpbiB0aGUgc291 cmNlIGNvZGUKCS0gUmV2aXNlIHRoZSBjb21tZW50IG9mICJQV00gSFlTIFNURVBTIgoKCkNoYW5n ZXMgaW4gdjM6Ci0gUmVtb3ZlIEFEQyBBQkkgZmlsZSwgd2hpY2ggaXMgYWRkZWQgaW4gdjIgUGF0 Y2ggNwotIEluIHBhdGNoIDAyLzE0OgoJLSBBZGQgaXRlbXMgYW5kIHJlbW92ZSBtYXhJdGVtcyBv ZiBpby1jaGFubmVscwoJLSBBZGQgaW8tY2hhbm5lbC1uYW1lcyBhbmQgZGVzY3JpYmUgZWFjaCBp dGVtCgktIEFkZCAidW5ldmFsdWF0ZWRQcm9wZXJ0aWVzOiBmYWxzZSIgaW4gInVzYi1vdGctdmJ1 cy1yZWd1bGF0b3IiCgktIFJlbmFtZSAiZW5hYmxlLWdwaW8iIHRvICJlbmFibGUtZ3Bpb3MiIGlu ICJ1c2Itb3RnLXZidXMtcmVndWxhdG9yIgoKLSBJbiBwYXRjaCAwMy8xNDoKCS0gVXNlIGxlZHMt Y2xhc3MtbXVsdGljb2xvci55YW1sIGluc3RlYWQgb2YgY29tbW9uLnlhbWwuCgktIFNwbGl0IG11 bHRpLWxlZCBhbmQgbGVkIG5vZGUuCgktIEFkZCBzdWJkZXZpY2UgImxlZCIgaW4gIm11bHRpLWxl ZCIuCgotIEluIHBhdGNoIDA0LzE0OgoJLSBSZW1vdmUgdGhlIGRlc2NyaXB0aW9uIG9mIGVudW0u CgotIEluIHBhdGNoIDA1LzE0OgoJLSBSZW5hbWUgIm1lZGlhdGVrLGJsZWQtcHdtLWh5cy1pbnB1 dC10aHJlc2hvbGQtc3RlcHMiIHRvCgkgICJtZWRpYXRlayxibGVkLXB3bS1oeXMtaW5wdXQtdGgt c3RlcHMiCgktIFJlZmluZSAiYmxlZC1wd20taHlzLWlucHV0LXRoLXN0ZXBzIiwgImJsZWQtb3Zw LW1pY3Jvdm9sdCIsCgkgICJibGVkLW9jcC1taWNyb2FtcCIgZW51bSB2YWx1ZXMKCi0gSW4gcGF0 Y2ggMDYvMTQ6CgktIFVzZSAiIGluIGVudGlyZSBwYXRjaHNldAoJLSBSZWZpbmUgQURDIGRlc2Ny aXB0aW9uCgktIFJlbmFtZSAiZW5hYmxlLWdwaW8iIHRvICJlbmFibGUtZ3Bpb3MiIGluICJyZWd1 YWx0b3IiCgotIEluIHBhdGNoIDA3LzE0OgoJLSBSZWZpbmUgS2NvbmZpZyBoZWxwIHRleHQKCS0g UmVmaW5lIGVycm9yIG1lc3NhZ2Ugb2YgdW5rbm93biB2ZW5kb3IgSUQgaW4KCSAgbXQ2MzcwX2No ZWNrX3ZlbmRvcl9pbmZvKCkKCS0gUmVmaW5lIHJldHVybiB2YWx1ZSBoYW5kbGluZyBvZiBtdDYz NzBfcmVnbWFwX3JlYWQoKQoJLSBSZWZpbmUgYWxsIHByb2JlIGVycm9yIGJ5IHVzaW5nIGRldl9l cnJfcHJvYmUoKQoJLSBSZWZpbmUgImJhbmtfaWR4IiBhbmQgImJhbmtfYWRkciIgaW4gbXQ2Mzcw X3JlZ21hcF9yZWFkKCkgYW5kCgkgIG10NjM3MF9yZWdtYXBfd3JpdGUoKQoJLSBBZGQgIiNkZWZp bmUgVkVOSUQqIiBhbmQgZHJvcCB0aGUgY29tbWVudHMgaW4KCSAgbXQ2MzcwX2NoZWNrX3ZlbmRv cl9pbmZvKCkKCS0gRHJvcCAiTUZEIiBpbiBNT0RVTEVfREVTQ1JJUFRJT04oKQoKLSBJbiBwYXRj aCAwOS8xNDoKCS0gUmVmaW5lIEtjb25maWcgaGVscCB0ZXh0CgotIEluIHBhdGNoIDEwLzE0OgoJ LSBSZWZpbmUgS2NvbmZpZyBoZWxwIHRleHQKCS0gUmVmaW5lIGFsbCBjaGFubmVsIHZhbHVlIGlu IHJlYWRfc2NhbGUoKQoJCWEuIGN1cnJlbnQ6IHVBIC0tPiBtQQoJCWIuIHZvbHRhZ2U6IHVWIC0t PiBtVgoJCWMuIHRlbXBlcmF0dXJlOiBkZWdyZWVzIENlbHNpdXMgLS0+IG1pbGxpIGRlZ3JlZXMg Q2Vsc2l1cwoJLSBBZGQgImRlZmF1bHQ6IiBjb25kaXRpb24gb2Ygc3dpdGNoIHN0YXRlbWVudCBp biByZWFkX3NjYWxlKCkgYW5kIHJlYWRfcmF3KCkKCS0gQWRkIGVycm9yIG1lc3NhZ2UgZm9yIHJl YWRpbmcgQURDIHJlZ2lzdGVyIGZhaWxlZAoJLSBBZGQgdGhlIGNvbW1lbnQgZm9yIGFkY19sb2Nr CgktIEFkZCA8bGludXgvbW9kX2RldmljZXRhYmxlLmg+IGhlYWRlciBmaWxlIGZvciBzdHJ1Y3Qg b2ZfZGV2aWNlX2lkCgktIFJlcGxhY2UgImFkYyIgdGV4dCB3aXRoICJBREMiIGluIGFsbCBvZiB0 aGUgZXJyb3IgbWVzc2FnZXMKCi0gSW4gcGF0Y2ggMTIvMTQ6CgktIFJlZmluZSB0aGUgZ3JhbW1l ciBvZiB0aGUgS2NvbmZpZy4KCS0gQ2hhbmdlIHJlZyBtb2RlIHRvIHRoZSBjb25zdCBjdXJyZW50 IG1vZGUuCgotIEluIHBhdGNoIDE0LzE0OgoJLSBSZWZpbmUgYm9vbCBwcm9wZXJ0aWVzIHBhcnNp bmcgKHB3bS1lbmFibGUsIG92cC1zaHV0ZG93biwgb2NwLXNodXRkb3duKSBpbiBEVAoJICBwYXJz aW5nIGZ1bmN0aW9uCgktIFJlZmluZSB1MzIgYW5kIHU4IHByb3BlcnRpZXMgcGFyc2luZyAocHdt LWh5cy1pbnB1dC10aC1zdGVwcywgb3ZwLW1pY3Jvdm9sdCwKCSAgb2NwLW1pY3JvYW1wKSwgZnJv bSB1c2luZyByZWdpc3RlciB2YWx1ZSB0byB1c2luZyBhY3R1YWwgdmFsdWUKCS0gUmVmaW5lIGVy cm9yIHN0cmluZyBvZiAiY2hhbm5sZS11c2UiIHBhcnNpbmcgZmFpbGVkCgktIFJlZmluZSBLY29u ZmlnIGhlbHAgdGV4dAoKCkNoYW5nZXMgaW4gdjI6Ci0gSW4gcGF0Y2ggMDEvMTU6CgktIEFkZCAi dW5ldmFsdWF0ZWRQcm9wZXJ0aWVzOiBmYWxzZSIuCgktIERlbGV0ZSAiRFQgYmluZGluZ3MiLgoJ LSBSZWZpbmUgdGhlIGRlc2NyaXB0aW9uIHRvIGZpdCBpbiA4MCBjb2x1bW5zLgoJLSBTa2lwIHRo ZSBjb25uZWN0b3IgZGVzY3JpcHRpb24uCgotIEluIHBhdGNoIDAyLzE1OgoJLSBSZWZpbmUgaXRl bXMgZGVzY3JpcHRpb24gb2YgaW50ZXJydXB0LW5hbWUKCS0gUmVuYW1lICJ1c2Itb3RnLXZidXMi IHRvICJ1c2Itb3RnLXZidXMtcmVndWxhdG9yIgoJLSBBZGQgY29uc3RyYWludCBwcm9wZXJ0aWVz IGZvciBBREMKCi0gSW4gcGF0Y2ggMDMvMTU6CgktIFNraXAgbm90IHVzZWZ1bCBkZXNjcmlwdGlv biBvZiAiXihtdWx0aS0pP2xlZEBbMC0zXSQiCgkgIGFuZCByZWcuCgktIER1ZSB0byB0aGUgZGVw ZW5kZW5jeSwgcmVtb3ZlIHRoZSBtZW50aW9uIG9mIG1mZAoJICBkb2N1bWVudCBkaXJlY3Rvcnku CgktIERlbGV0ZSBTb2Z0LXN0YXJ0IHByb3BlcnR5LiBJbiBkZXNpZ24gYXNwZWN0LCB3ZSB0aGlu awoJICBzb2Z0LXJlc3RhcnQgc2hvdWxkIGFsd2F5cyBiZSBlbmFibGVkLCBvdXIgbmV3IGNoaXAK CSAgaGFzIGRlbGV0ZWQgdGhlIHJlbGF0ZWQgc2V0dGluZyByZWdpc3RlciAsIGFsc28sIHdlIGRv buKAmXQKCSAgYWxsb3cgdXNlciBhZGp1c3QgdGhpcyBwYXJhbWV0ZXIgaW4gdGhpcyBjaGlwLgoJ LSBSZWZpbmUgdGhlIGNvbW1pdCBtZXNzYWdlLgoKLSBJbiBwYXRjaCAwNC8xNToKCS0gU2tpcCBu b3QgdXNlZnVsIGRlc2NyaXB0aW9uIG9mICJebGVkQFswLTFdJCIgYW5kIHJlZy4KCS0gQWRkIGFw YWNlIGFmdGVyICcjJy4KCS0gUmVmaW5lIHRoZSBjb21taXQgbWVzc2FnZS4KCi0gSW4gcGF0Y2gg MDUvMTU6CgktIFJlbW92ZSAiYmluZGluZyBkb2N1bWVudGF0aW9uIiBpbiBzdWJqZWN0IHRpdGxl CgktIFJlZmluZSBkZXNjcmlwdGlvbiBvZiBtdDYzNzAgYmFja2xpZ2h0IGJpbmRpbmcKCSAgZG9j dW1lbnQKCS0gUmVmaW5lIHByb3BlcnRpZXMgbmFtZShibGVkLXB3bS1oeXMtaW5wdXQtYml0LAoJ ICBibGVkLW92cC1taWNyb3ZvbHQsIGJsZWQtb2NwLW1pY3JvYW1wKSBhbmQgdGhlaXIKCSAgZGVz Y3JpcHRpb24KCi0gSW4gcGF0Y2ggMDYvMTU6CgktIFJlZmluZSBBREMgYW5kIFJlZ3VsYXRvciBk ZXNjcmlwdGlvbnMKCS0gUmVmaW5lIGluY2x1ZGUgaGVhZGVyIHVzYWdlIGluIGV4YW1wbGUKCS0g UmVmaW5lIG5vZGUgbmFtZSB0byBnZW5lcmljIG5vZGUgbmFtZSgicG1pY0AzNCIpCgktIFJlZmlu ZSBsZWQgZXhhbXBsZSBpbmRlbnRhdGlvbgoJLSBSZWZpbmUgbGljZW5zZSBvZiBtZWRpYXRlayxt dDYzNzBfYWRjLmgKCS0gUmVuYW1lIHRoZSBkdHMgZXhhbXBsZSBmcm9tIElSUSBkZWZpbmUgdG8g bnVtYmVyLgoJLSBSZW1vdmUgbWVkaWF0ZWssbXQ2MzcwLmgKCi0gSW4gcGF0Y2ggMDcvMTU6Cgkt IEFkZCBBQkkgZG9jdW1lbnRhdGlvbiBmb3IgbXQ2MzcwIG5vbi1zdGFuZGFyZCBBREMKCSAgc3lz ZnMgaW50ZXJmYWNlcy4KCi0gSW4gcGF0Y2ggMDgvMTU6CgktIEFkZCBhbGwgSVJRIGRlZmluZSBp bnRvIG10NjM3MC5jLgoJLSBSZWZpbmUgaW5jbHVkZSBoZWFkZXIgdXNhZ2UKCi0gSW4gcGF0Y2gg MDkvMTU6CgktIE5vIGNoYW5nZXMuCgotIEluIHBhdGNoIDEwLzE1OgoJLSBVc2UgJ2dwaW9kX2dl dF9mcm9tX29mX25vZGUnIHRvIHJlcGxhY2UKCSAgJ2Z3bm9kZV9ncGlvZF9nZXRfaW5kZXgnLgoK LSBJbiBwYXRjaCAxMS8xNToKCS0gUmVmaW5lIEtjb25maWcgbXQ2MzcwIGhlbHAgdGV4dAoJLSBS ZWZpbmUgbWFzayZzaGlmdCB0byBGSUVMRF9QUkVQKCkKCS0gUmVmaW5lIG11dGV4IGxvY2sgbmFt ZSAoImxvY2siIC0+ICJhZGNfbG9jayIpCgktIFJlZmluZSBtdDYzNzBfYWRjX3JlYWRfc2NhbGUo KQoJLSBSZWZpbmUgbXQ2MzcwX2FkY19yZWFkX29mZnNldCgpCgktIFJlZmluZSBtdDYzNzBfY2hh bm5lbF9sYWJlbHNbXSBieSB1c2luZyBlbnVtIHRvIGluZGV4CgkgIGNoYW4gc3BlYwoJLSBSZWZp bmUgTVQ2MzcwX0FEQ19DSEFOKCkKCS0gUmVmaW5lIGluZGlvX2Rldi0+bmFtZQoJLSBSZW1vdmUg dXNlbGVzcyBpbmNsdWRlIGhlYWRlciBmaWxlcwoKLSBJbiBwYXRjaCAxMi8xNToKCS0gUmVmaW5l IG10NjM3MF9jaGdfb3RnX3JkZXNjLm9mX21hdGNoCgkgICgibXQ2MzcwLG90Zy12YnVzIiAtPiAi dXNiLW90Zy12YnVzLXJlZ3VsYXRvciIpIHRvIG1hdGNoCgkgIERUIGJpbmRpbmcKCi0gSW4gcGF0 Y2ggMTMvMTU6CgktIFJlZmluZSBLY29uZmlnIGRlc2NyaXB0aW9uLgoJLSBSZW1vdmUgaW5jbHVk ZSAibGludXgvb2YuaCIgYW5kIHVzZQoJICAibGludXgvbW9kX2RldmljZXRhYmxlLmgiLgoJLSBQ bGFjZSBhIGNvbW1hIGZvciB0aGUgbGFzdCBlbGVtZW50IG9mIHRoZSBjb25zdAoJICB1bnNpZ25l ZCBpbnQgYXJyYXkuCgktIEFkZCBhIGNvbW1lbnQgbGluZSBmb3IgdGhlIG11dGV4ICdsb2NrJy4K CS0gSW4gcHJvYmUgZnVuY3Rpb24sIHVzZSAnZGV2X2Vycl9wcm9iZScgaW4gc29tZQoJICBqdWRn ZW1lbnQgdG8gcmVkdWNlIHRoZSBMT0MuCgktIFJlZmluZSBpbmNsdWRlIGhlYWRlciB1c2FnZS4K CSAgQklUL0dFTk1BU0sgLT4gbGludXgvYml0cy5oCgkgIEZJRUxEX0dFVCAtPiBsaW51eC9iaXRm aWVsZC5oCgotIEluIHBhdGNoIDE0LzE1OgoJLSBBZGQgYmxhbmsgbGluZS4KCS0gUmVwbGFjZSBj b250YWluZXJfb2YoKSB3aXRoIHRvX210NjM3MF9sZWQoKSAuCgktIFJlZmluZSBkZXNjcmlwdGlv biBvZiByYW1waW5nLgoJLSBSZWZpbmUgdGhlIG10NjM3MF9pbml0X2NvbW1vbl9wcm9wZXJ0aWVz IGZ1bmN0aW9uLgoJLSBSZWZpbmUgdGhlIHByb2JlIHJldHVybi4KCi0gSW4gcGF0Y2ggMTUvMTU6 CgktIFJlZmluZSBNVDYzNzAgaGVscCB0ZXh0IGluIEtjb25maWcKCS0gUmVmaW5lIERUIFBhcnNl IGZ1bmN0aW9uCgktIFJlbW92ZSB1c2VsZXNzIGVudW0KCS0gQWRkIGNvbW1lbnQgZm9yIDYzNzIg YmFja3dhcmQgY29tcGF0aWJsZSBpbgoJICBibF91cGRhdGVfc3RhdHVzKCkgYW5kCgkgIGNoZWNr X3ZlbmRvcl9pbmZvKCkKCS0gVXNpbmcgZGV2X2Vycl9wcm9iZSgpOyBpbnN0ZWFkcyBkZXZfZXJy KCkmcmV0dXJuOyBpbgoJICB0aGUgcHJvYmUoKQoKCgpBbGljZSBDaGVuICgyKToKICBkdC1iaW5k aW5nczogbGVkczogQWRkIE1lZGlhVGVrIE1UNjM3MCBmbGFzaGxpZ2h0CiAgbGVkczogZmxhc2g6 IG10NjM3MDogQWRkIE1lZGlhVGVrIE1UNjM3MCBmbGFzaGxpZ2h0IHN1cHBvcnQKCkNoaVl1YW4g SHVhbmcgKDMpOgogIGR0LWJpbmRpbmdzOiBsZWRzOiBtdDYzNzA6IEFkZCBNZWRpYVRlayBNVDYz NzAgY3VycmVudCBzaW5rIHR5cGUgTEVECiAgICBpbmRpY2F0b3IKICBkdC1iaW5kaW5nczogYmFj a2xpZ2h0OiBBZGQgTWVkaWFUZWsgTVQ2MzcwIGJhY2tsaWdodAogIGxlZHM6IHJnYjogbXQ2Mzcw OiBBZGQgTWVkaWFUZWsgTVQ2MzcwIGN1cnJlbnQgc2luayB0eXBlIExFRCBJbmRpY2F0b3IKICAg IHN1cHBvcnQKCkNoaWFFbiBXdSAoNSk6CiAgZHQtYmluZGluZ3M6IHBvd2VyOiBzdXBwbHk6IEFk ZCBNZWRpYVRlayBNVDYzNzAgQ2hhcmdlcgogIGxpYjogYWRkIGxpbmVhciByYW5nZSBpbmRleCBt YWNybwogIGlpbzogYWRjOiBtdDYzNzA6IEFkZCBNZWRpYVRlayBNVDYzNzAgc3VwcG9ydAogIHBv d2VyOiBzdXBwbHk6IG10NjM3MDogQWRkIE1lZGlhVGVrIE1UNjM3MCBjaGFyZ2VyIGRyaXZlcgog IHZpZGVvOiBiYWNrbGlnaHQ6IG10NjM3MDogQWRkIE1lZGlhVGVrIE1UNjM3MCBzdXBwb3J0Cgog Li4uL2xlZHMvYmFja2xpZ2h0L21lZGlhdGVrLG10NjM3MC1iYWNrbGlnaHQueWFtbCAgfCAgMTIx ICsrKwogLi4uL2JpbmRpbmdzL2xlZHMvbWVkaWF0ZWssbXQ2MzcwLWZsYXNobGlnaHQueWFtbCAg fCAgIDQxICsKIC4uLi9iaW5kaW5ncy9sZWRzL21lZGlhdGVrLG10NjM3MC1pbmRpY2F0b3IueWFt bCAgIHwgICA4MSArKwogLi4uL3Bvd2VyL3N1cHBseS9tZWRpYXRlayxtdDYzNzAtY2hhcmdlci55 YW1sICAgICAgfCAgIDg4ICsrCiBkcml2ZXJzL2lpby9hZGMvS2NvbmZpZyAgICAgICAgICAgICAg ICAgICAgICAgICAgICB8ICAgMTIgKwogZHJpdmVycy9paW8vYWRjL01ha2VmaWxlICAgICAgICAg ICAgICAgICAgICAgICAgICAgfCAgICAxICsKIGRyaXZlcnMvaWlvL2FkYy9tdDYzNzAtYWRjLmMg ICAgICAgICAgICAgICAgICAgICAgIHwgIDMwNSArKysrKysKIGRyaXZlcnMvbGVkcy9mbGFzaC9L Y29uZmlnICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAxNCArCiBkcml2ZXJzL2xlZHMvZmxh c2gvTWFrZWZpbGUgICAgICAgICAgICAgICAgICAgICAgICB8ICAgIDEgKwogZHJpdmVycy9sZWRz L2ZsYXNoL2xlZHMtbXQ2MzcwLWZsYXNoLmMgICAgICAgICAgICAgfCAgNjMyICsrKysrKysrKysr KwogZHJpdmVycy9sZWRzL3JnYi9LY29uZmlnICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAg IDEzICsKIGRyaXZlcnMvbGVkcy9yZ2IvTWFrZWZpbGUgICAgICAgICAgICAgICAgICAgICAgICAg IHwgICAgMSArCiBkcml2ZXJzL2xlZHMvcmdiL2xlZHMtbXQ2MzcwLXJnYi5jICAgICAgICAgICAg ICAgICB8IDEwMTAgKysrKysrKysrKysrKysrKysrKysKIGRyaXZlcnMvcG93ZXIvc3VwcGx5L0tj b25maWcgICAgICAgICAgICAgICAgICAgICAgIHwgICAxNCArCiBkcml2ZXJzL3Bvd2VyL3N1cHBs eS9NYWtlZmlsZSAgICAgICAgICAgICAgICAgICAgICB8ICAgIDEgKwogZHJpdmVycy9wb3dlci9z dXBwbHkvbXQ2MzcwLWNoYXJnZXIuYyAgICAgICAgICAgICAgfCAgOTU3ICsrKysrKysrKysrKysr KysrKysKIGRyaXZlcnMvdmlkZW8vYmFja2xpZ2h0L0tjb25maWcgICAgICAgICAgICAgICAgICAg IHwgICAxMyArCiBkcml2ZXJzL3ZpZGVvL2JhY2tsaWdodC9NYWtlZmlsZSAgICAgICAgICAgICAg ICAgICB8ICAgIDEgKwogZHJpdmVycy92aWRlby9iYWNrbGlnaHQvbXQ2MzcwLWJhY2tsaWdodC5j ICAgICAgICAgfCAgMzUxICsrKysrKysKIGluY2x1ZGUvbGludXgvbGluZWFyX3JhbmdlLmggICAg ICAgICAgICAgICAgICAgICAgIHwgICAxMSArCiAyMCBmaWxlcyBjaGFuZ2VkLCAzNjY4IGluc2Vy dGlvbnMoKykKIGNyZWF0ZSBtb2RlIDEwMDY0NCBEb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmlu ZGluZ3MvbGVkcy9iYWNrbGlnaHQvbWVkaWF0ZWssbXQ2MzcwLWJhY2tsaWdodC55YW1sCiBjcmVh dGUgbW9kZSAxMDA2NDQgRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL2xlZHMvbWVk aWF0ZWssbXQ2MzcwLWZsYXNobGlnaHQueWFtbAogY3JlYXRlIG1vZGUgMTAwNjQ0IERvY3VtZW50 YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9sZWRzL21lZGlhdGVrLG10NjM3MC1pbmRpY2F0b3Iu eWFtbAogY3JlYXRlIG1vZGUgMTAwNjQ0IERvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5n cy9wb3dlci9zdXBwbHkvbWVkaWF0ZWssbXQ2MzcwLWNoYXJnZXIueWFtbAogY3JlYXRlIG1vZGUg MTAwNjQ0IGRyaXZlcnMvaWlvL2FkYy9tdDYzNzAtYWRjLmMKIGNyZWF0ZSBtb2RlIDEwMDY0NCBk cml2ZXJzL2xlZHMvZmxhc2gvbGVkcy1tdDYzNzAtZmxhc2guYwogY3JlYXRlIG1vZGUgMTAwNjQ0 IGRyaXZlcnMvbGVkcy9yZ2IvbGVkcy1tdDYzNzAtcmdiLmMKIGNyZWF0ZSBtb2RlIDEwMDY0NCBk cml2ZXJzL3Bvd2VyL3N1cHBseS9tdDYzNzAtY2hhcmdlci5jCiBjcmVhdGUgbW9kZSAxMDA2NDQg ZHJpdmVycy92aWRlby9iYWNrbGlnaHQvbXQ2MzcwLWJhY2tsaWdodC5jCgotLSAKMi43LjQKCgpf X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpsaW51eC1hcm0t a2VybmVsIG1haWxpbmcgbGlzdApsaW51eC1hcm0ta2VybmVsQGxpc3RzLmluZnJhZGVhZC5vcmcK aHR0cDovL2xpc3RzLmluZnJhZGVhZC5vcmcvbWFpbG1hbi9saXN0aW5mby9saW51eC1hcm0ta2Vy bmVsCg==