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 gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (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 B72A9CD4851 for ; Fri, 15 May 2026 07:13:22 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id CFA8310F440; Fri, 15 May 2026 07:13:21 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="RM/6fDqV"; dkim-atps=neutral Received: from mail-pg1-f169.google.com (mail-pg1-f169.google.com [209.85.215.169]) by gabe.freedesktop.org (Postfix) with ESMTPS id C2A9C10F400 for ; Fri, 15 May 2026 06:25:55 +0000 (UTC) Received: by mail-pg1-f169.google.com with SMTP id 41be03b00d2f7-c828daf83e2so2791336a12.2 for ; Thu, 14 May 2026 23:25:55 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1778826355; x=1779431155; darn=lists.freedesktop.org; h=content-transfer-encoding:in-reply-to:from:content-language :references:cc:to:subject:user-agent:mime-version:date:message-id :from:to:cc:subject:date:message-id:reply-to; bh=F4wG8bH1gfDBcb14JbvmcrOJGC7+5HB1bq/2ymPAYSI=; b=RM/6fDqVc8SE+x20Oa6RVzcGIvIv42x/qOgZY/Rxnoyolac7qHseS/rWnhg+nNTk5O WudiHGQaeSpasyqYixar6rEn2dQ7YkGhztutn2wQxv3gu5f/qPhOlsx5iwnlQ08kxWyM 6Tlh6q4Ddafnq67QWC9ow+lvG9DnmjG6aHfgYCPrqo4p3UPv8mr5wf9m8eXN0JYffjMf sXZFj/FNF5xvOENAcyxsan5xnT/Gg1pMQ+WMjtUT3rDQwQaVgQC4r7FdBZ6efoBq9+c+ 83TdTT8QGNk6CKFMhvCkbLSO4e6Rmvt2S7/n4UYxglsSUp9y9mwLgXfXp6nkKK9igqXT HewA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1778826355; x=1779431155; h=content-transfer-encoding:in-reply-to:from:content-language :references:cc:to:subject:user-agent:mime-version:date:message-id :x-gm-gg:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=F4wG8bH1gfDBcb14JbvmcrOJGC7+5HB1bq/2ymPAYSI=; b=p/n8TdXzkfiLLisRkxOxT5PkoJE4Ci6Cu6qeQ8Pin2IF6jTpRyBOGKsl5hrjbIjojy lfNUkkU6swHomGWa4HSTQ16e3VGofxZZCpPPZAOgHVpqexiToRXCnMPikZatqZ6aY+H2 Tq+BQeLapdx2OX4pRvunuKdc0qUzSTvmQXo3Rsmw7xLlDYwnj9XiizdWEozc4zItKLDq ReCtWzZY0FDvNs2R77u27gZs7xtI6nHarwLrOn+CesMpfUWavFzJGUPNYv4rHMwXAcSm Y0+bRPVgEm8+Xbb9ZTB4rYx63L0bVhWtw6JGnnOY3H5JNYQjqJB4fItql1/6t0z/gZNd fj9g== X-Forwarded-Encrypted: i=1; AFNElJ/U4+lFg9szGiAYqIWNcyBfh3S7cotGJwFocWDd0SGPlr197R6PRXjhUAYUz/ItTGDUja/1lxiNIAE=@lists.freedesktop.org X-Gm-Message-State: AOJu0YzjZ9J28VJOINSb0speO3U5vQpmNGSPFGuKV8I5h4Rf3/8eTctP prxD2yUAwJOyg5clkYkcj4lCTzkr5AKwxcJZAaz7fyFuVmnqTI83bavk X-Gm-Gg: Acq92OGPB5F6YC/Y0L3wYywnzNZMonvZOWUS0VJWQ9xTsPlVj6VNLDdDLRcw46K7384 vGLHas1VLvtUJMtR/oR6ZuRsTryFEqhQYdx7dpq5rQPeNVZGq1jzj6ogTl9JfJAzIcn2idG9gUG v4EVMz8ZO3GNKBHyz6IWSqnz1TYXLEY8FZ7iHIfy34z7b9watE5sCRRkJVQUAKOZHbQDjOQ1Kcz xhtyMV1S9YRMSjVSJy3kOvjJ4I9oz67kfIeUsK+D4XGHQr1dia0VnSWnO6C6Fhnc3U+4WvSS1IR 0NRs3jMm0Kj/aYg2IZUI9hP2EjIfuIiiqhKmVhArH4wx3FXwODctgEbJg41kg1E8DIHL8ISkplK evhDSo4mzc9tvxa5ZLANvO0G+V12OUsvQPzUNKJBILMnF0ZrDwuCuujnaKVTsMa3eR+bTOorl6V h5EGixSyM9c8PWHrwh2yR6sZrOFQBMnwwKbBHhc++E0pevCI2fRK4nyagtQXRqekp1eXiCgl0H2 /Ns X-Received: by 2002:a05:6a20:560c:b0:3a8:2af3:ce8b with SMTP id adf61e73a8af0-3b22e72fb16mr2125835637.14.1778826355136; Thu, 14 May 2026 23:25:55 -0700 (PDT) Received: from [192.168.0.100] (60-250-196-139.hinet-ip.hinet.net. [60.250.196.139]) by smtp.gmail.com with ESMTPSA id 41be03b00d2f7-c82bb0ff0edsm4688486a12.20.2026.05.14.23.25.51 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 14 May 2026 23:25:54 -0700 (PDT) Message-ID: <1a42a168-1dbb-467e-9053-b5585a737f71@gmail.com> Date: Fri, 15 May 2026 14:25:48 +0800 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH 2/2] drm/verisilicon: add support for Nuvoton MA35D1 DCUltra Lite display controller To: Icenowy Zheng , maarten.lankhorst@linux.intel.com, mripard@kernel.org, tzimmermann@suse.de, airlied@gmail.com, simona@ffwll.ch, robh@kernel.org, krzk+dt@kernel.org, conor+dt@kernel.org Cc: ychuang3@nuvoton.com, schung@nuvoton.com, yclu4@nuvoton.com, dri-devel@lists.freedesktop.org, devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org References: <20260511075142.54752-1-a0987203069@gmail.com> <20260511075142.54752-3-a0987203069@gmail.com> <93e69179dbc495188cfffd8015350b3a55ce7876.camel@iscas.ac.cn> <3b94806073de8bd1d79aa7ec956493f67679e46b.camel@iscas.ac.cn> <4bf6efbb222ebc4d770ad613d17c6185e7cb2fda.camel@iscas.ac.cn> <1d04dd6d-f245-4b83-96b0-c5491fad8093@gmail.com> <76a9e9b676509e85484a1eb31c723b46c7e21a19.camel@iscas.ac.cn> Content-Language: en-US From: Joey Lu In-Reply-To: <76a9e9b676509e85484a1eb31c723b46c7e21a19.camel@iscas.ac.cn> Content-Type: text/plain; charset="utf-8"; format="flowed" Content-Transfer-Encoding: base64 X-Mailman-Approved-At: Fri, 15 May 2026 07:13:06 +0000 X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" Ck9uIDUvMTIvMjAyNiA5OjEyIFBNLCBJY2Vub3d5IFpoZW5nIHdyb3RlOgo+IOWcqCAyMDI2LTA1 LTEy5LqM55qEIDE4OjU5ICswODAw77yMSm9leSBMdeWGmemBk++8mgo+PiBPbiA1LzEyLzIwMjYg NjowMSBQTSwgSWNlbm93eSBaaGVuZyB3cm90ZToKPj4+IOWcqCAyMDI2LTA1LTEy5LqM55qEIDE3 OjA2ICswODAw77yMSm9leSBMdeWGmemBk++8mgo+Pj4KPj4+ID09PT09PT0gODwgPT09PT09PT09 PT09PQo+Pj4+Pj4+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3ZlcmlzaWxpY29uL3Zz X2JyaWRnZS5jCj4+Pj4+Pj4+IGIvZHJpdmVycy9ncHUvZHJtL3ZlcmlzaWxpY29uL3ZzX2JyaWRn ZS5jCj4+Pj4+Pj4+IGluZGV4IDdhOTMwNDkzNjhkYi4uMjI1YWYzMjJkZTMyIDEwMDY0NAo+Pj4+ Pj4+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vdmVyaXNpbGljb24vdnNfYnJpZGdlLmMKPj4+Pj4+ Pj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL3ZlcmlzaWxpY29uL3ZzX2JyaWRnZS5jCj4+Pj4+Pj4+ IEBAIC0xNjQsMTMgKzE2NCwxNiBAQCBzdGF0aWMgdm9pZAo+Pj4+Pj4+PiB2c19icmlkZ2VfZW5h YmxlX2NvbW1vbihzdHJ1Y3QKPj4+Pj4+Pj4gdnNfY3J0YyAqY3J0YywKPj4+Pj4+Pj4gIMKgwqDC oMKgCQkJVlNEQ19ESVNQX1BBTkVMX0NPTkZJR19DTEtfRU4pOwo+Pj4+Pj4+PiAgwqDCoMKgwqAJ cmVnbWFwX3NldF9iaXRzKGRjLT5yZWdzLAo+Pj4+Pj4+PiBWU0RDX0RJU1BfUEFORUxfQ09ORklH KG91dHB1dCksCj4+Pj4+Pj4+ICDCoMKgwqDCoAkJCVZTRENfRElTUF9QQU5FTF9DT05GSUdfUlVO TklORyk7Cj4+Pj4+Pj4+IC0JcmVnbWFwX2NsZWFyX2JpdHMoZGMtPnJlZ3MsCj4+Pj4+Pj4+IFZT RENfRElTUF9QQU5FTF9TVEFSVCwKPj4+Pj4+Pj4gLQkJCQo+Pj4+Pj4+PiBWU0RDX0RJU1BfUEFO RUxfU1RBUlRfTVVMVElfRElTUF9TWU5DKTsKPj4+Pj4+Pj4gLQlyZWdtYXBfc2V0X2JpdHMoZGMt PnJlZ3MsIFZTRENfRElTUF9QQU5FTF9TVEFSVCwKPj4+Pj4+Pj4gLQo+Pj4+Pj4+PiAJCQlWU0RD X0RJU1BfUEFORUxfU1RBUlRfUlVOTklORyhvdQo+Pj4+Pj4+PiB0cHV0KSk7Cj4+Pj4+Pj4+ICAg ICAgCj4+Pj4+Pj4+IC0JcmVnbWFwX3NldF9iaXRzKGRjLT5yZWdzLAo+Pj4+Pj4+PiBWU0RDX0RJ U1BfUEFORUxfQ09ORklHX0VYKGNydGMtCj4+Pj4+Pj4+PiBpZCksCj4+Pj4+Pj4+IC0KPj4+Pj4+ Pj4gCQkJVlNEQ19ESVNQX1BBTkVMX0NPTkZJR19FWF9DT01NSVQpOwo+Pj4+Pj4+PiArCWlmIChk Yy0+aW5mby0+aGFzX2NvbmZpZ19leCkgewo+Pj4+Pj4+PiArCQlyZWdtYXBfY2xlYXJfYml0cyhk Yy0+cmVncywKPj4+Pj4+Pj4gVlNEQ19ESVNQX1BBTkVMX1NUQVJULAo+Pj4+Pj4+PiArCQkJCQo+ Pj4+Pj4+PiBWU0RDX0RJU1BfUEFORUxfU1RBUlRfTVVMVElfRElTUF9TWU5DKTsKPj4+Pj4+Pj4g KwkJcmVnbWFwX3NldF9iaXRzKGRjLT5yZWdzLAo+Pj4+Pj4+PiBWU0RDX0RJU1BfUEFORUxfU1RB UlQsCj4+Pj4+Pj4+ICsJCQkJVlNEQ19ESVNQX1BBTkVMX1NUQVJUX1JVCj4+Pj4+Pj4+IE5OSU4K Pj4+Pj4+Pj4gRyhvdQo+Pj4+Pj4+PiB0cHV0Cj4+Pj4+Pj4+ICkpOwo+Pj4+Pj4+PiArCj4+Pj4+ Pj4+ICsJCXJlZ21hcF9zZXRfYml0cyhkYy0+cmVncywKPj4+Pj4+Pj4gVlNEQ19ESVNQX1BBTkVM X0NPTkZJR19FWChjcnRjLT5pZCksCj4+Pj4+Pj4+ICsJCQkJVlNEQ19ESVNQX1BBTkVMX0NPTkZJ R19FCj4+Pj4+Pj4+IFhfQ08KPj4+Pj4+Pj4gTU1JVAo+Pj4+Pj4+PiApOwo+Pj4+Pj4+IFNob3Vs ZCB0aGUgY29tbWl0IG9wZXJhdGlvbiBoYXBwZW4gb24gREM4MDAwL0RDVWx0cmFMaXRlCj4+Pj4+ Pj4gdG9vPwo+Pj4+Pj4+IChCeQo+Pj4+Pj4+IHdyaXRpbmcgdG8gRGNyZWdGcmFtZUJ1ZmZlckNv bmZpZzAuVkFMSUQpLgo+Pj4+Pj4+Cj4+Pj4+Pj4gTWFueSByZWdpc3RlcnMgd3JpdHRlbiBoYXMg Ik5vdGU6IFRoaXMgZmllbGQgaXMgZG91YmxlCj4+Pj4+Pj4gYnVmZmVyZWQiIGluCj4+Pj4+Pj4g dGhlCj4+Pj4+Pj4gRENVbHRyYUxpdGUgZG9jdW1lbnRhdGlvbi4KPj4+Pj4+Pgo+Pj4+Pj4+IEkg c3VnZ2VzdCBjcmVhdGUgYSBzdGF0aWMgZnVuY3Rpb24gZm9yIGNvbW1pdCAtLSB3cml0ZSB0bwo+ Pj4+Pj4+IHRoZQo+Pj4+Pj4+IGNvcnJlc3BvbmRpbmcgY29tbWl0IGJpdCBvbiBEQzgyMDAsIGFu ZCB3cml0ZSB0bwo+Pj4+Pj4+IERjcmVnRnJhbWVCdWZmZXJDb25maWcwLlZBTElEIG9uIERDODAw MC9EQ1VsdHJhTGl0ZS4KPj4+Pj4+IFthXSBUaGVyZSBpcyBubyBjb21taXQgb3BlcmF0aW9uIGZv ciBEQ1VsdHJhIExpdGUuCj4+Pj4+PiBJJ2xsIG5vdCBhZGQgYSBgVlNEQ19GQl9DT05GSUdfVkFM SURgIG1hY3JvLiBWQUxJRCAoQklUKDMpKQo+Pj4+Pj4gaXMgYQo+Pj4+Pj4gaGFyZHdhcmUtbWFu YWdlZCBkb3VibGUtYnVmZmVyIHN0YXR1cyBiaXQ6IGhhcmR3YXJlIHdyaXRlcwo+Pj4+Pj4gMT1Q RU5ESU5HCj4+Pj4+PiB3aGVuIGEgbmV3IHJlZ2lzdGVyIHNldCBpcyByZWFkeSBhbmQgY2xlYXJz IHRvIDA9V09SS0lORwo+Pj4+Pj4gYWZ0ZXIKPj4+Pj4+IHRoZQo+Pj4+Pj4gVkJMQU5LIGNvcHku IFNvZnR3YXJlIG11c3QgbmV2ZXIgd3JpdGUgaXQsIGFuZCB0aGVyZSBpcyBubwo+Pj4+Pj4gcG9s bGluZwo+Pj4+Pj4gdXNlCj4+Pj4+IEl0IHNlZW1zIHRvIGJlIHdyaXRhYmxlIGFuZCBjb250cm9s cyB3aGV0aGVyIHJlZ2lzdGVyIGJ1ZmZlcmluZwo+Pj4+PiBpcwo+Pj4+PiBlbmFibGVkLCBzZWUg WzFdLgo+Pj4+Pgo+Pj4+PiBUaGUgZGVzY3JpcHRpb24gb2YgdGhpcyBiaXQgaW4gTUEzNUQxIFRS TSBzYXlzICJUaGlzIGVuc3VyZXMgYQo+Pj4+PiBmcmFtZQo+Pj4+PiB3aWxsIGFsd2F5cyBzdGFy dCB3aXRoIGEgdmFsaWQgd29ya2luZyBzZXQgaWYgdGhpcyByZWdpc3RlciBpcwo+Pj4+PiBwcm9n cmFtbWVkIGxhc3QsIHdoaWNoIHJlZHVjZXMgdGhlIG5lZWQgZm9yIFNXIHRvIHdhaXQgZm9yIHRo ZQo+Pj4+PiBzdGFydCBvZgo+Pj4+PiBhIFZCTEFOSyBzaWduYWwgaW4gb3JkZXIgdG8gZW5zdXJl IGFsbCBzdGF0ZXMgYXJlIGxvYWRlZCBiZWZvcmUKPj4+Pj4gdGhlCj4+Pj4+IG5leHQgVkJMQU5L Iiwgd2hpY2ggaW5kaWNhdGVzIHNvbWUga2luZCBvZiAiY29tbWl0dGluZyB3cml0ZSIsCj4+Pj4+ IGFsdGhvdWdoCj4+Pj4+IHRoZSBjb2RlIGF0IFsxXSBzZWVtcyB0byBpbmRpY2F0ZSB0aGF0IGRv dWJsZSBidWZmZXJpbmcgaXMgb25seQo+Pj4+PiBlbmFibGVkCj4+Pj4+IHdoZW4gYml0IGlzIGNs ZWFyZWQuCj4+Pj4+Cj4+Pj4+IEFueXdheSB0aGlzIGJpdCBzaG91bGQgYmUgcHJvZ3JhbW1hYmxl LCBhbmQgIlNvZnR3YXJlIG11c3QKPj4+Pj4gbmV2ZXIKPj4+Pj4gd3JpdGUKPj4+Pj4gaXQiIGNv bnRyYWRpY3RzIHdpdGggdGhlIE1BMzVEMSBUUk0uCj4+Pj4+Cj4+Pj4+IFRoYW5rcywKPj4+Pj4g SWNlbm93eQo+Pj4+Pgo+Pj4+PiBbMV0KPj4+Pj4gaHR0cHM6Ly9naXRodWIuY29tL3JvY2tvcy1y aXNjdi9yb2Nrb3Mta2VybmVsL2Jsb2Ivcm9ja29zLXY2LjYueS9kcml2ZXJzL2dwdS9kcm0vZXN3 aW4vZXNfZGNfaHcuYyNMOTkzCj4+Pj4gVGhhbmsgeW91IGZvciB0aGUgY29ycmVjdGlvbi4gSSds bCBhZGQKPj4+PiBgI2RlZmluZSBWU0RDX0ZCX0NPTkZJR19WQUxJRCBCSVQoMylgIHRvIHZzX3By aW1hcnlfcGxhbmVfcmVncy5oCj4+Pj4gYW5kCj4+Pj4gd3JpdGUgaXQgaW4gYHZzX3ByaW1hcnlf cGxhbmVfY29tbWl0KClgIGZvciBub24tY29uZmlnX2V4Cj4+Pj4gdmFyaWFudHMuCj4+Pj4+PiBj YXNlIGluIHRoZSBkcml2ZXIgdGhhdCByZXF1aXJlcyBhIG5hbWVkIGNvbnN0YW50LiBGb3Igbm9u LQo+Pj4+Pj4gY29uZmlnX2V4Cj4+Pj4+PiB2YXJpYW50cywgYHZzX3ByaW1hcnlfcGxhbmVfY29t bWl0KClgIHBlcmZvcm1zIG5vIGNvbW1pdAo+Pj4+Pj4gb3BlcmF0aW9uIOKAlAo+Pj4+Pj4gYFZT RENfRkJfQ09ORklHX0VOQUJMRWAgKE9VVFBVVCwgQklUKDApKSBpcyBzZXQgaW4KPj4+Pj4+IGB2 c19jcnRjX2F0b21pY19lbmFibGUoKWAgYW5kIGBWU0RDX0ZCX0NPTkZJR19SRVNFVGAgKEJJVCg0 KSkKPj4+Pj4+IGlzCj4+Pj4+PiBzZXQvY2xlYXJlZCBpbiB0aGUgYnJpZGdlIGVuYWJsZS9kaXNh YmxlIHBhdGhzLgo+Pj4gV2VsbCBhY2NvcmRpbmcgdG8gdGhlIGRyaXZlciBjb2RlIGZvciBEQzgw MDAgZnJvbSBFc3dpbiwgYW5kIHRoZQo+Pj4gYml0Cj4+PiBuYW1lZCAiVkFMSUQiLCBtYXliZSBp dCBzaG91bGQgYmUgY2xlYXJlZCBiZWZvcmUgcHJvZ3JhbW1pbmcgdGhlCj4+PiByZWdpc3RlcnMs IGFuZCBzZXQgYWZ0ZXIgcHJvZ3JhbW1pbmcgcmVnaXN0ZXJzLCB0byBtYWtlIHRoZSBwcm9jZXNz Cj4+PiBvZgo+Pj4gcHJvZ3JhbW1pbmcgcmVnaXN0ZXJzIGF0b21pYyBmcm9tIHRoZSBwZXJzcGVj dGl2ZSBvZiB0aGUgZGlzcGxheQo+Pj4gY29udHJvbGxlci4KPj4+Cj4+PiBBbnl3YXkgdGhpcyBz aG91bGQgcmVxdWlyZSB0ZXN0aW5nIG9uIHJlYWwgaGFyZHdhcmUgdG8gdmVyaWZ5Lgo+Pj4KPj4+ IEJ5IHRoZSB3YXksIEkgc2VlIG11bHRpcGxlIHBlcmlwaGVyYWwgZHJpdmVycyBmb3IgTUEzNUQx IGdldAo+Pj4gYXBwbGllZCBpbgo+Pj4gdGhlIHRvcnZhbGRzIHRyZWUsIGJ1dCB0aGUgZGV2aWNl IHRyZWUgaXMgc3RpbGwgb25seSBhIHNrZWxldG9uOwo+Pj4gd2hlbgo+Pj4gd2lsbCB0aGUgZGV2 aWNlIHRyZWUgYmUgdXBkYXRlZD8KPj4+Cj4+PiBUaGFua3MsCj4+PiBJY2Vub3d5Cj4+IFRoYW5r cyBmb3IgcG9pbnRpbmcgdGhpcyBvdXQuwqBJ4oCZbGwgcGVyZm9ybSB0ZXN0cyBvbiByZWFsIGhh cmR3YXJlCj4+IHNpbmNlCj4+IEkgaGF2ZW7igJl0IHVzZWQgdGhpcyBiaXQgYmVmb3JlLgo+Pgo+ PiBBcyBmb3IgdGhlIGRldmljZSB0cmVlLMKgd2UgcGxhbiB0byB1cGRhdGUgaXQgY29tcHJlaGVu c2l2ZWx5IGFmdGVyCj4+IGNvbXBsZXRpbmcgc2V2ZXJhbCBtYWpvciBJUHMsIHdpdGggdGhlIGdv YWwgb2YgcmVsZWFzaW5nIHRoZSB1cGRhdGUKPj4gbGF0ZXIgdGhpcyB5ZWFyLgo+IFdlbGwgSSBi b3VnaHQgYSBNQTM1RDEgYm9hcmQgKE1ZSVIgTVlCLUxNQTM1ICsgUkdCIExDRCkgZWFybGllciB0 aGlzCj4geWVhciAoYW5kIHRoaXMgaXMgd2hlcmUgSSBnb3QgdGhlIE1BMzVEMSBpZGVudGlmaWNh dGlvbiByZWdpc3Rlcgo+IHZhbHVlcykuIEhvcGUgSSBjYW4gaGF2ZSBhIGNoYW5jZSB0byB0ZXN0 IHRoaXMgZHJpdmVyIGJ5IG15c2VsZi4KPgo+IEFzIE1NQywgRXRoZXJuZXQgYW5kIFVTQiBzdXBw b3J0IGlzIGFsbCBhcHBsaWVkLCBtYXliZSBpdCdzIGFscmVhZHkKPiB3b3J0aHkgdG8gdXBkYXRl IHRoZSBkZXZpY2UgdHJlZSA7LSkKPgo+IFRoYW5rcywKPiBJY2Vub3d5CgpZZXMgeW91IGNhbiEK CkkgaGF2ZSBwZXJmb3JtZWQgaGFyZHdhcmUgdmFsaWRhdGlvbiBvbiB0aGUgTUEzNUQxIGFuZCBm b3VuZCB0aGF0IHRoaXMgCmJpdCBhY3RzIGFzIGEgbWFudWFsIGxhdGNoIGZvciB0aGUgc2hhZG93 IHJlZ2lzdGVycyByYXRoZXIgdGhhbiBhbiAKYXV0by1jbGVhcmluZyB0cmlnZ2VyLCB3aGljaCBj bGFyaWZpZXMgdGhlIHNsaWdodGx5IGFtYmlndW91cyAKZGVzY3JpcHRpb24gaW4gdGhlIFRSTS4K CkZvbGxvd2luZyB5b3VyIHN1Z2dlc3Rpb24sIEkgd2lsbCBhbGlnbiB0aGUgaW1wbGVtZW50YXRp b24gd2l0aCBFU1dJTidzIApEQzgwMDAgbG9naWM6IHNldHRpbmcgdGhlIFZBTElEIGJpdCBhdCBh dG9taWNfYmVnaW4gYW5kIGNsZWFyaW5nIGl0IGF0IAphdG9taWNfZmx1c2guIE15IHRlc3RzIGNv bmZpcm0gdGhpcyBhbGxvd3MgdGhlIGhhcmR3YXJlIHRvIGxhdGNoIHRoZSAKcGxhbmUgY29uZmln dXJhdGlvbiBjb3JyZWN0bHkgd2hpbGUgYXZvaWRpbmcgdGhlIGJsYW5rIHNjcmVlbiBpc3N1ZXMg Cm9ic2VydmVkIHdpdGggb3RoZXIgY29uZmlndXJhdGlvbnMuCgpJIGFtIHByZXBhcmluZyB0aGUg djIgcGF0Y2hzZXQgd2l0aCB0aGlzIGNoYW5nZSwgYWxvbmcgd2l0aCB0aGUgCnJlcXVlc3RlZCBj b21taXQgc3BsaXRzLCBhbmQgd2lsbCBzdWJtaXQgaXQgc2hvcnRseS7wn5mCCgo+Pj4+PiA9PT09 PT09PT0gODwgPT09PT09PT09PQo+Pj4+Pgo=