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 EBCC6CD4F3C for ; Sat, 16 May 2026 15:17:40 +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:In-Reply-To:References:Cc:To:Subject: From:MIME-Version:Date:Message-ID:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=XPEKRTlfjcHTwawDbtJpycW/UDshYzsnwKjMV7uaOuc=; b=QA7aY+ynl1atYJ QuR7TtUE+6UMkQqr7T3/NbVXXQ86pofbb6E/xhVmLDkpCY3UaVag9eWsFg+APx/eD/sbTtb67QGi8 ssYqKjY3RA9HjwSe90vjCgMh8plzKfb5jhxkSVR+sMzEKnK9J/Mf0Z9AhJvwRtC5cT72+N1BP/S4k RqjWVw52dvqi8DDvhT70I4T1+Xrk6lB6q2H9LgnEr0JMZ+oQwXwYYfFYnde6VH+7lF8ju/tpRwZzL v3D3iG59ZFosIMjLkbjB4J+ZK9bBpZb0U9g6MDnzTpAfyQEvgo/NZjbcCnvPuKHBwT99vsCxLJw5G LfnAQH9Oe6dQ/DNsbbfQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.99.1 #2 (Red Hat Linux)) id 1wOGlh-0000000AvX2-343Q; Sat, 16 May 2026 15:17:33 +0000 Received: from courrier.aliel.fr ([65.21.61.41]) by bombadil.infradead.org with esmtps (Exim 4.99.1 #2 (Red Hat Linux)) id 1wOGle-0000000AvVq-2mpk; Sat, 16 May 2026 15:17:32 +0000 Message-ID: <4d4fa560-6115-4065-8472-50f8acb14436@aliel.fr> DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=aliel.fr; s=courrier-s1; t=1778944635; bh=O7wIGuzhX4RxL35efQuwMtvJrnGNwx9gEjo3jv3h1co=; h=Date:From:Subject:To:Cc:References:In-Reply-To; b=id/Chqy0k/nRhbaLSSTVUYtMeD+KkJ2cgtpTaX/+PHGM1VvcaZN/3pfG1ONuTLKgp muWK9a7rdDl6d7mWWPruD+VVaBLx8nrThnQ9A6jGF7Q+dH4mibJ4vSCn3VQfvgH6o/ 88odJvyRsoPC0NdrbdlF8wt7MVBnjQyHHW/jH5J0= Date: Sat, 16 May 2026 17:17:12 +0200 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Beta From: Ronald Claveau Subject: Re: [PATCH v5 4/8] mfd: khadas-mcu: Add support for VIM4 MCU variant To: Lee Jones Cc: Neil Armstrong , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Andi Shyti , Kevin Hilman , Jerome Brunet , Martin Blumenstingl , Beniamino Galvani , "Rafael J. Wysocki" , Daniel Lezcano , Zhang Rui , Lukasz Luba , Liam Girdwood , Mark Brown , linux-amlogic@lists.infradead.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-i2c@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-pm@vger.kernel.org References: <20260424-add-mcu-fan-khadas-vim4-v5-0-afcfa7157b23@aliel.fr> <20260424-add-mcu-fan-khadas-vim4-v5-4-afcfa7157b23@aliel.fr> <20260514105459.GJ305027@google.com> Content-Language: en-US In-Reply-To: <20260514105459.GJ305027@google.com> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.9.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20260516_081731_356150_18892897 X-CRM114-Status: GOOD ( 25.78 ) X-BeenThere: linux-amlogic@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-amlogic" Errors-To: linux-amlogic-bounces+linux-amlogic=archiver.kernel.org@lists.infradead.org VGhhbmtzIGZvciB5b3VyIHJldmlldyBMZWUuCgpPbiA1LzE0LzI2IDEyOjU0IFBNLCBMZWUgSm9u ZXMgd3JvdGU6Cj4gT24gRnJpLCAyNCBBcHIgMjAyNiwgUm9uYWxkIENsYXZlYXUgdmlhIEI0IFJl bGF5IHdyb3RlOgo+IAo+PiBGcm9tOiBSb25hbGQgQ2xhdmVhdSA8bGludXgta2VybmVsLWRldkBh bGllbC5mcj4KPj4KPj4gUmVmYWN0b3IgcHJvYmUoKSB0byB1c2UgcGVyLXZhcmlhbnQga2hhZGFz X21jdV9kYXRhCj4+IGluc3RlYWQgb2YgaGFyZGNvZGVkIGdsb2JhbHMuCj4+Cj4+IEFkZCBkZWRp Y2F0ZWQgcmVnbWFwIGNvbmZpZ3VyYXRpb24gYW5kIGRldmljZSBkYXRhIGZvciB0aGUgVklNNCBN Q1UsCj4+IHdpdGggaXRzIG93biB2b2xhdGlsZS93cml0ZWFibGUgcmVnaXN0ZXJzLgo+Pgo+PiBB ZGQgdGhlIGZhbiBjb250cm9sIHJlZ2lzdGVyCj4+ICgw4oCTMTAwIGxldmVscyB2cyAw4oCTMyBm b3IgcHJldmlvdXMgc3VwcG9ydGVkIGJvYXJkcykuCj4+Cj4+IEFkZCBhIG5ldyBjb21wYXRpYmxl IHN0cmluZyAia2hhZGFzLHZpbTQtbWN1Ii4KPj4KPj4gUmV2aWV3ZWQtYnk6IE5laWwgQXJtc3Ry b25nIDxuZWlsLmFybXN0cm9uZ0BsaW5hcm8ub3JnPgo+PiBTaWduZWQtb2ZmLWJ5OiBSb25hbGQg Q2xhdmVhdSA8bGludXgta2VybmVsLWRldkBhbGllbC5mcj4KPj4gLS0tCj4+ICBkcml2ZXJzL21m ZC9raGFkYXMtbWN1LmMgfCAxMDYgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrLS0tLS0KPj4gIDEgZmlsZSBjaGFuZ2VkLCA5NSBpbnNlcnRpb25zKCspLCAxMSBkZWxl dGlvbnMoLSkKPj4KPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvbWZkL2toYWRhcy1tY3UuYyBiL2Ry aXZlcnMvbWZkL2toYWRhcy1tY3UuYwo+PiBpbmRleCBiYTk4MWE3ODg2OTIxLi5iMzZiM2IzYWI3 M2MwIDEwMDY0NAo+PiAtLS0gYS9kcml2ZXJzL21mZC9raGFkYXMtbWN1LmMKPj4gKysrIGIvZHJp dmVycy9tZmQva2hhZGFzLW1jdS5jCj4+IEBAIC03NSwxNSArNzUsOTEgQEAgc3RhdGljIGNvbnN0 IHN0cnVjdCByZWdtYXBfY29uZmlnIGtoYWRhc19tY3VfcmVnbWFwX2NvbmZpZyA9IHsKPj4gIAku Y2FjaGVfdHlwZQk9IFJFR0NBQ0hFX01BUExFLAo+PiAgfTsKPj4gIAo+PiArc3RhdGljIGNvbnN0 IHN0cnVjdCBraGFkYXNfbWN1X2Zhbl9wZGF0YSBraGFkYXNfbWN1X2Zhbl9wZGF0YSA9IHsKPj4g KwkuZmFuX3JlZwk9IEtIQURBU19NQ1VfQ01EX0ZBTl9TVEFUVVNfQ1RSTF9SRUcsCj4+ICsJLm1h eF9sZXZlbAk9IDMsCj4+ICt9Owo+IAo+IFdoYXQgaXMgMz8KPiAKClRoaXMgaXMgdGhlIG1heCBm YW4gc3BlZWQgbGV2ZWwgYXMgZGVmaW5lZCBpbiB0aGUgTUNVIHJlZ2lzdGVyLgpJIHdpbGwgYWRk IGl0IGFzIGEgY29tbWVudC4KLyogRmFuIHNwZWVkOiAwID0gb2ZmLCAxID0gbG93LCAyID0gbWVk aXVtLCAzID0gaGlnaCAqLwoKPj4gKwo+PiAgc3RhdGljIHN0cnVjdCBtZmRfY2VsbCBraGFkYXNf bWN1X2Zhbl9jZWxsc1tdID0gewo+PiAgCS8qIFZJTTEvMiBSZXYxMysgYW5kIFZJTTMgb25seSAq Lwo+PiAtCXsgLm5hbWUgPSAia2hhZGFzLW1jdS1mYW4tY3RybCIsIH0sCj4+ICsJewo+PiArCQku bmFtZSA9ICJraGFkYXMtbWN1LWZhbi1jdHJsIiwKPj4gKwkJLnBsYXRmb3JtX2RhdGEgPSAma2hh ZGFzX21jdV9mYW5fcGRhdGEsCj4+ICsJCS5wZGF0YV9zaXplICAgID0gc2l6ZW9mKGtoYWRhc19t Y3VfZmFuX3BkYXRhKSwKPj4gKwl9LAo+PiAgfTsKPiAKPiBXb3J0aCBtYWtpbmcgdGhpcyBjb25z dCBhdCBvbmUgcG9pbnQuCj4gCgpZZXMgSSB3aWxsLgo+PiAgCj4+ICBzdGF0aWMgc3RydWN0IG1m ZF9jZWxsIGtoYWRhc19tY3VfY2VsbHNbXSA9IHsKPj4gIAl7IC5uYW1lID0gImtoYWRhcy1tY3Ut dXNlci1tZW0iLCB9LAo+PiAgfTsKPj4gIAoKSSB3aWxsIGZvciB0aGF0IG9uZSB0b28uCgo+PiAr c3RhdGljIGNvbnN0IHN0cnVjdCBraGFkYXNfbWN1X2RhdGEga2hhZGFzX21jdV9kYXRhID0gewo+ PiArCS5yZWdtYXBfY29uZmlnCT0gJmtoYWRhc19tY3VfcmVnbWFwX2NvbmZpZywKPj4gKwkuY2Vs bHMJCT0ga2hhZGFzX21jdV9jZWxscywKPj4gKwkubmNlbGxzCQk9IEFSUkFZX1NJWkUoa2hhZGFz X21jdV9jZWxscyksCj4+ICsJLmZhbl9jZWxscwk9IGtoYWRhc19tY3VfZmFuX2NlbGxzLAo+PiAr CS5uZmFuX2NlbGxzCT0gQVJSQVlfU0laRShraGFkYXNfbWN1X2Zhbl9jZWxscyksCj4+ICt9Owo+ IAo+IFRoaXMgaXMgYSByZWQgZmxhZyEKPiAKPj4gK3N0YXRpYyBib29sIGtoYWRhc19tY3Vfdmlt NF9yZWdfdm9sYXRpbGUoc3RydWN0IGRldmljZSAqZGV2LCB1bnNpZ25lZCBpbnQgcmVnKQo+PiAr ewo+PiArCXN3aXRjaCAocmVnKSB7Cj4+ICsJY2FzZSBLSEFEQVNfTUNVX1BXUl9PRkZfQ01EX1JF RzoKPj4gKwljYXNlIEtIQURBU19NQ1VfVklNNF9SRVNUX0NPTkZfUkVHOgo+PiArCWNhc2UgS0hB REFTX01DVV9XT0xfSU5JVF9TVEFSVF9SRUc6Cj4+ICsJY2FzZSBLSEFEQVNfTUNVX1ZJTTRfTEVE X09OX1JBTV9SRUc6Cj4+ICsJY2FzZSBLSEFEQVNfTUNVX1ZJTTRfRkFOX0NUUkxfUkVHOgo+PiAr CWNhc2UgS0hBREFTX01DVV9WSU00X1dEVF9FTl9SRUc6Cj4+ICsJY2FzZSBLSEFEQVNfTUNVX1ZJ TTRfU1lTX1JTVF9SRUc6Cj4+ICsJCXJldHVybiB0cnVlOwo+PiArCWRlZmF1bHQ6Cj4+ICsJCXJl dHVybiBmYWxzZTsKPj4gKwl9Cj4+ICt9Cj4+ICsKPj4gK3N0YXRpYyBib29sIGtoYWRhc19tY3Vf dmltNF9yZWdfd3JpdGVhYmxlKHN0cnVjdCBkZXZpY2UgKmRldiwgdW5zaWduZWQgaW50IHJlZykK Pj4gK3sKPj4gKwlzd2l0Y2ggKHJlZykgewo+PiArCWNhc2UgS0hBREFTX01DVV9WRVJTSU9OXzBf UkVHOgo+PiArCWNhc2UgS0hBREFTX01DVV9WRVJTSU9OXzFfUkVHOgo+PiArCWNhc2UgS0hBREFT X01DVV9TSFVURE9XTl9OT1JNQUxfU1RBVFVTX1JFRzoKPj4gKwkJcmV0dXJuIGZhbHNlOwo+PiAr CWRlZmF1bHQ6Cj4+ICsJCXJldHVybiB0cnVlOwo+PiArCX0KPj4gK30KPj4gKwo+PiArc3RhdGlj IGNvbnN0IHN0cnVjdCByZWdtYXBfY29uZmlnIGtoYWRhc19tY3VfdmltNF9yZWdtYXBfY29uZmln ID0gewo+PiArCS5yZWdfYml0cwk9IDgsCj4+ICsJLnJlZ19zdHJpZGUJPSAxLAo+PiArCS52YWxf Yml0cwk9IDgsCj4+ICsJLm1heF9yZWdpc3Rlcgk9IEtIQURBU19NQ1VfVklNNF9TWVNfUlNUX1JF RywKPj4gKwkudm9sYXRpbGVfcmVnCT0ga2hhZGFzX21jdV92aW00X3JlZ192b2xhdGlsZSwKPj4g Kwkud3JpdGVhYmxlX3JlZwk9IGtoYWRhc19tY3VfdmltNF9yZWdfd3JpdGVhYmxlLAo+PiArCS5j YWNoZV90eXBlCT0gUkVHQ0FDSEVfTUFQTEUsCj4+ICt9Owo+PiArCj4+ICtzdGF0aWMgY29uc3Qg c3RydWN0IGtoYWRhc19tY3VfZmFuX3BkYXRhIGtoYWRhc192aW00X2Zhbl9wZGF0YSA9IHsKPj4g KwkuZmFuX3JlZwk9IEtIQURBU19NQ1VfVklNNF9GQU5fQ1RSTF9SRUcsCj4+ICsJLm1heF9sZXZl bAk9IDB4NjQsCj4+ICt9Owo+PiArCj4+ICtzdGF0aWMgY29uc3Qgc3RydWN0IG1mZF9jZWxsIGto YWRhc19tY3VfdmltNF9jZWxsc1tdID0gewo+PiArCXsKPj4gKwkJLm5hbWUJCT0gImtoYWRhcy1t Y3UtZmFuLWN0cmwiLAo+PiArCQkucGxhdGZvcm1fZGF0YQk9ICZraGFkYXNfdmltNF9mYW5fcGRh dGEsCj4+ICsJCS5wZGF0YV9zaXplCT0gc2l6ZW9mKGtoYWRhc192aW00X2Zhbl9wZGF0YSksCj4+ ICsJfSwKPj4gK307Cj4+ICsKPj4gK3N0YXRpYyBjb25zdCBzdHJ1Y3Qga2hhZGFzX21jdV9kYXRh IGtoYWRhc192aW00X21jdV9kYXRhID0gewo+PiArCS5yZWdtYXBfY29uZmlnCT0gJmtoYWRhc19t Y3VfdmltNF9yZWdtYXBfY29uZmlnLAo+PiArCS5jZWxscwkJPSBOVUxMLAo+PiArCS5uY2VsbHMJ CT0gMCwKPj4gKwkuZmFuX2NlbGxzCT0ga2hhZGFzX21jdV92aW00X2NlbGxzLAo+PiArCS5uZmFu X2NlbGxzCT0gQVJSQVlfU0laRShraGFkYXNfbWN1X3ZpbTRfY2VsbHMpLAo+PiArfTsKPj4gKwo+ PiAgc3RhdGljIGludCBraGFkYXNfbWN1X3Byb2JlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQp Cj4+ICB7Cj4+ICAJc3RydWN0IGRldmljZSAqZGV2ID0gJmNsaWVudC0+ZGV2Owo+PiBAQCAtOTQs MjggKzE3MCwzNSBAQCBzdGF0aWMgaW50IGtoYWRhc19tY3VfcHJvYmUoc3RydWN0IGkyY19jbGll bnQgKmNsaWVudCkKPj4gIAlpZiAoIWRkYXRhKQo+PiAgCQlyZXR1cm4gLUVOT01FTTsKPj4gIAo+ PiArCWRkYXRhLT5kYXRhID0gaTJjX2dldF9tYXRjaF9kYXRhKGNsaWVudCk7Cj4+ICsJaWYgKCFk ZGF0YS0+ZGF0YSkKPj4gKwkJcmV0dXJuIC1FSU5WQUw7Cj4gCj4gU2hvdWxkbid0IHRoaXMgYmUg LUVOT0RFVj8KPiAKCkkgd2lsbCBjaGFuZ2UgdG8gLUVOT0RFViBmb3IgdGhlIHN3aXRjaCBkZWZh dWx0LgoKPj4gIAlpMmNfc2V0X2NsaWVudGRhdGEoY2xpZW50LCBkZGF0YSk7Cj4+ICAKPj4gIAlk ZGF0YS0+ZGV2ID0gZGV2Owo+PiAgCj4+IC0JZGRhdGEtPnJlZ21hcCA9IGRldm1fcmVnbWFwX2lu aXRfaTJjKGNsaWVudCwgJmtoYWRhc19tY3VfcmVnbWFwX2NvbmZpZyk7Cj4+ICsJZGRhdGEtPnJl Z21hcCA9IGRldm1fcmVnbWFwX2luaXRfaTJjKGNsaWVudCwKPj4gKwkJCQkJICAgICBkZGF0YS0+ ZGF0YS0+cmVnbWFwX2NvbmZpZyk7Cj4gCj4gVXNlIHVwIHRvIDEwMC1jaGFycyB0byBwcmV2ZW50 IHRoaXMga2luZCBvZiB3cmFwcGluZy4KPiAKCk9rIHdpbGwgZG8sIGlzIGl0IGEgZ2VuZXJhbCBy dWxlIG9yIGRlcGVuZHMgb24gbWFpbnRhaW5lciA/Cgo+PiAgCWlmIChJU19FUlIoZGRhdGEtPnJl Z21hcCkpIHsKPj4gIAkJcmV0ID0gUFRSX0VSUihkZGF0YS0+cmVnbWFwKTsKPj4gIAkJZGV2X2Vy cihkZXYsICJGYWlsZWQgdG8gYWxsb2NhdGUgcmVnaXN0ZXIgbWFwOiAlZFxuIiwgcmV0KTsKPj4g IAkJcmV0dXJuIHJldDsKPj4gIAl9Cj4gCj4gTWF5YmUgY29udmVydCB0aGlzIHRvIGRldl9lcnJf cHJvYmUoKSBhdCBvbmUgcG9pbnQuCj4gCgpPayBJIGNoYW5nZSB0aGF0LgoKPj4gLQlyZXQgPSBk ZXZtX21mZF9hZGRfZGV2aWNlcyhkZXYsIFBMQVRGT1JNX0RFVklEX05PTkUsCj4+IC0JCQkJICAg a2hhZGFzX21jdV9jZWxscywKPj4gLQkJCQkgICBBUlJBWV9TSVpFKGtoYWRhc19tY3VfY2VsbHMp LAo+PiAtCQkJCSAgIE5VTEwsIDAsIE5VTEwpOwo+PiAtCWlmIChyZXQpCj4+IC0JCXJldHVybiBy ZXQ7Cj4+ICsJaWYgKGRkYXRhLT5kYXRhLT5jZWxscyAmJiBkZGF0YS0+ZGF0YS0+bmNlbGxzKSB7 Cj4+ICsJCXJldCA9IGRldm1fbWZkX2FkZF9kZXZpY2VzKGRldiwgUExBVEZPUk1fREVWSURfTk9O RSwKPj4gKwkJCQkJICAgZGRhdGEtPmRhdGEtPmNlbGxzLAo+PiArCQkJCQkgICBkZGF0YS0+ZGF0 YS0+bmNlbGxzLAo+PiArCQkJCQkgICBOVUxMLCAwLCBOVUxMKTsKPj4gKwkJaWYgKHJldCkKPj4g KwkJCXJldHVybiByZXQ7Cj4+ICsJfQo+PiAgCj4+ICAJaWYgKG9mX3Byb3BlcnR5X3ByZXNlbnQo ZGV2LT5vZl9ub2RlLCAiI2Nvb2xpbmctY2VsbHMiKSkKPj4gIAkJcmV0dXJuIGRldm1fbWZkX2Fk ZF9kZXZpY2VzKGRldiwgUExBVEZPUk1fREVWSURfTk9ORSwKPj4gLQkJCQkJICAgIGtoYWRhc19t Y3VfZmFuX2NlbGxzLAo+PiAtCQkJCQkgICAgQVJSQVlfU0laRShraGFkYXNfbWN1X2Zhbl9jZWxs cyksCj4+ICsJCQkJCSAgICBkZGF0YS0+ZGF0YS0+ZmFuX2NlbGxzLAo+PiArCQkJCQkgICAgZGRh dGEtPmRhdGEtPm5mYW5fY2VsbHMsCj4+ICAJCQkJCSAgICBOVUxMLCAwLCBOVUxMKTsKPj4gIAo+ PiAgCXJldHVybiAwOwo+PiBAQCAtMTIzLDcgKzIwNiw4IEBAIHN0YXRpYyBpbnQga2hhZGFzX21j dV9wcm9iZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50KQo+PiAgCj4+ICAjaWZkZWYgQ09ORklH X09GCj4+ICBzdGF0aWMgY29uc3Qgc3RydWN0IG9mX2RldmljZV9pZCBraGFkYXNfbWN1X29mX21h dGNoW10gPSB7Cj4+IC0JeyAuY29tcGF0aWJsZSA9ICJraGFkYXMsbWN1IiwgfSwKPj4gKwl7IC5j b21wYXRpYmxlID0gImtoYWRhcyxtY3UiLCAuZGF0YSA9ICZraGFkYXNfbWN1X2RhdGEgfSwKPj4g Kwl7IC5jb21wYXRpYmxlID0gImtoYWRhcyx2aW00LW1jdSIsIC5kYXRhID0gJmtoYWRhc192aW00 X21jdV9kYXRhIH0sCj4gCj4gV2UgZG9uJ3QgYWxsb3cgZGF0YSBmcm9tIG9uZSByZWdpc3RyYXRp b24gQVBJIChNRkQpIHRvIGJlIHNob3ZlZCB0aHJvdWdoCj4gYW5vdGhlciAoRFQpLiAgUGFzcyBh IHZhbHVlIHRvIG1hdGNoIG9uIGluc3RlYWQsIHRoZW4gdXNlIGEgc3dpdGNoKCkKPiBzdGF0ZW1l bnQgb3Igc2ltaWxhciB0byBwb3B1bGF0ZSBvciByZWdpc3RlciB0aGUgZGV2aWNlcy4KPiAKClRo YW5rcyBJJ20gb24gaXQuCgo+PiAgCXt9LAo+PiAgfTsKPj4gIE1PRFVMRV9ERVZJQ0VfVEFCTEUo b2YsIGtoYWRhc19tY3Vfb2ZfbWF0Y2gpOwo+Pgo+PiAtLSAKPj4gMi40OS4wCj4+Cj4+CgoKLS0g CkJlc3QgcmVnYXJkcywKUm9uYWxkCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fXwpsaW51eC1hbWxvZ2ljIG1haWxpbmcgbGlzdApsaW51eC1hbWxvZ2ljQGxp c3RzLmluZnJhZGVhZC5vcmcKaHR0cDovL2xpc3RzLmluZnJhZGVhZC5vcmcvbWFpbG1hbi9saXN0 aW5mby9saW51eC1hbWxvZ2ljCg==