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 ECE39C47422 for ; Wed, 24 Jan 2024 07:31:25 +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-Type: Content-Transfer-Encoding:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:In-Reply-To:References:Cc:To:From:Subject: 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=cnT1cr5JPmGZmlIyLeahwk/nWzO6QbD/fqDvntf7+GA=; b=DetiLmsvm9t2v3 zMc7ip5N9PYckDNAHv7+zV0F+p7jJ5etXxQ3qGJy0p1C4Dktuc9XwN7KS4o9wnNPIcyV45qDsM1FB dTZ8TujVM7vIJWt5iJ7NVQHCTlMybtMDpSk4bkBmWcXAFwS+Q+l8Fkfwew8t4YTQGzHfaZcBBnWQS Kv4x4gtQrlbQKwKPwNYPBOswk0cvfTy2O57tlfzX7kEO8+0K8FAe3fhSkxPM0mpba+FnZuj9Y2T/q sWRTBRITY2fugScLRyTxZ7EUZO6zUM8UdctM10mS+S9YOwt8Cl0IOkV3YPzK0ylzBpU+QEDYsFars Sspr66mcQweG1k+iP/RA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1rSXj8-001rph-1h; Wed, 24 Jan 2024 07:31:14 +0000 Received: from mail-m127224.xmail.ntesmail.com ([115.236.127.224]) by bombadil.infradead.org with esmtps (Exim 4.96 #2 (Red Hat Linux)) id 1rSXj4-001rlS-1G; Wed, 24 Jan 2024 07:31:12 +0000 DKIM-Signature: a=rsa-sha256; b=C/FGntXIjF2lIvIm0alsmy2RglzRyK18RkaiHLPRtuPUc4h78ZR0MS6GaRxRZEHq62TdiGviNrqbIUpnKdnOuzXEy4m0NdKbjwEiTuF8fBz8f9289s/9zeg0CGWxF98NXR5bNy7J53jAZfsY/41RQMpcKLQPOm/a5jhKphGR75Q=; s=default; c=relaxed/relaxed; d=rock-chips.com; v=1; bh=TTyPxOdPUgGMjE5qLolsAwgb6LYYW17mcDVr/zky4cw=; h=date:mime-version:subject:message-id:from; Received: from [172.16.12.141] (unknown [58.22.7.114]) by mail-m12779.qiye.163.com (Hmail) with ESMTPA id 778477801FD; Wed, 24 Jan 2024 15:30:34 +0800 (CST) Message-ID: Date: Wed, 24 Jan 2024 15:30:34 +0800 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH 3/3] phy: rockchip: Add Samsung HDMI/DP Combo PHY driver Content-Language: en-US From: Andy Yan To: Cristian Ciocaltea , Sascha Hauer Cc: Vinod Koul , Kishon Vijay Abraham I , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Heiko Stuebner , Philipp Zabel , Johan Jonker , Sebastian Reichel , Algea Cao , linux-phy@lists.infradead.org, devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-rockchip@lists.infradead.org, linux-kernel@vger.kernel.org, kernel@collabora.com References: <20240119193806.1030214-1-cristian.ciocaltea@collabora.com> <20240119193806.1030214-4-cristian.ciocaltea@collabora.com> <20240122121409.GW4700@pengutronix.de> <00c749f7-3eb9-4bd1-a057-43a692b77d68@collabora.com> In-Reply-To: X-HM-Spam-Status: e1kfGhgUHx5ZQUpXWQgPGg8OCBgUHx5ZQUlOS1dZFg8aDwILHllBWSg2Ly tZV1koWUFDSUNOT01LS0k3V1ktWUFJV1kPCRoVCBIfWUFZQksZTVYeTRlMSxgYSExMGE9VEwETFh oSFyQUDg9ZV1kYEgtZQVlOQ1VJSVVMVUpKT1lXWRYaDxIVHRRZQVlPS0hVSk1PSU5IVUpLS1VKQk tLWQY+ X-HM-Tid: 0a8d3a60bd24b24fkuuu778477801fd X-HM-MType: 1 X-HM-Sender-Digest: e1kMHhlZQR0aFwgeV1kSHx4VD1lBWUc6Pgg6Iio5DjwYUQEyHFFLSgg5 Vg4wCUtVSlVKTEtNS0NKT0hOTE9NVTMWGhIXVRoVHwJVAhoVOwkUGBBWGBMSCwhVGBQWRVlXWRIL WUFZTkNVSUlVTFVKSk9ZV1kIAVlBQkxPSzcG X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20240123_233110_940632_51FBEF5F X-CRM114-Status: GOOD ( 27.61 ) X-BeenThere: linux-rockchip@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: Upstream kernel work for Rockchip platforms List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8"; Format="flowed" Sender: "Linux-rockchip" Errors-To: linux-rockchip-bounces+linux-rockchip=archiver.kernel.org@lists.infradead.org SGkgQ3Jpc3RpYW46CgpPbiAxLzI0LzI0IDEwOjQyLCBBbmR5IFlhbiB3cm90ZToKPiBIaSBDcmlz dGlhbjoKPiAKPiBPbiAxLzI0LzI0IDA4OjU4LCBDcmlzdGlhbiBDaW9jYWx0ZWEgd3JvdGU6Cj4+ IE9uIDEvMjIvMjQgMTQ6MTQsIFNhc2NoYSBIYXVlciB3cm90ZToKPj4+IE9uIEZyaSwgSmFuIDE5 LCAyMDI0IGF0IDA5OjM4OjAzUE0gKzAyMDAsIENyaXN0aWFuIENpb2NhbHRlYSB3cm90ZToKPj4+ PiBBZGQgZHJpdmVyIGZvciB0aGUgUm9ja2NoaXAgSERNSS9lRFAgVFggQ29tYm8gUEhZIGZvdW5k IG9uIFJLMzU4OCBTb0MuCj4+Pj4KPj4+PiBUaGUgUEhZIGlzIGJhc2VkIG9uIGEgU2Ftc3VuZyBJ UCBibG9jayBhbmQgc3VwcG9ydHMgSERNSSAyLjEgVE1EUywgRlJMCj4+Pj4gYW5kIGVEUCBsaW5r cy7CoCBUaGUgbWF4aW11bSBkYXRhIHJhdGUgaXMgMTJHYnBzIChIRE1JIDIuMSBGUkwpLCB3aGls ZQo+Pj4+IHRoZSBtaW5pbXVtIGlzIDI1ME1icHMgKEhETUkgMi4xIFRNRFMpLgo+Pj4+Cj4+Pj4g Q28tZGV2ZWxvcGVkLWJ5OiBBbGdlYSBDYW8gPGFsZ2VhLmNhb0Byb2NrLWNoaXBzLmNvbT4KPj4+ PiBTaWduZWQtb2ZmLWJ5OiBBbGdlYSBDYW8gPGFsZ2VhLmNhb0Byb2NrLWNoaXBzLmNvbT4KPj4+ PiBTaWduZWQtb2ZmLWJ5OiBDcmlzdGlhbiBDaW9jYWx0ZWEgPGNyaXN0aWFuLmNpb2NhbHRlYUBj b2xsYWJvcmEuY29tPgo+Pj4+IC0tLQo+Pj4+IMKgIGRyaXZlcnMvcGh5L3JvY2tjaGlwL0tjb25m aWfCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHzCoMKgwqAgOCArCj4+Pj4gwqAg ZHJpdmVycy9waHkvcm9ja2NoaXAvTWFrZWZpbGXCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoCB8wqDCoMKgIDEgKwo+Pj4+IMKgIC4uLi9waHkvcm9ja2NoaXAvcGh5LXJvY2tjaGlwLXNh bXN1bmctaGRwdHguYyB8IDIwNDUgKysrKysrKysrKysrKysrKysKPj4+PiDCoCAzIGZpbGVzIGNo YW5nZWQsIDIwNTQgaW5zZXJ0aW9ucygrKQo+Pj4+IMKgIGNyZWF0ZSBtb2RlIDEwMDY0NCBkcml2 ZXJzL3BoeS9yb2NrY2hpcC9waHktcm9ja2NoaXAtc2Ftc3VuZy1oZHB0eC5jCj4+Pj4KPj4+PiBk aWZmIC0tZ2l0IGEvZHJpdmVycy9waHkvcm9ja2NoaXAvS2NvbmZpZyBiL2RyaXZlcnMvcGh5L3Jv Y2tjaGlwL0tjb25maWcKPj4+PiBpbmRleCA5NDM2MGZjOTZhNmYuLjk1NjY2YWM2YWEzYiAxMDA2 NDQKPj4+PiAtLS0gYS9kcml2ZXJzL3BoeS9yb2NrY2hpcC9LY29uZmlnCj4+Pj4gKysrIGIvZHJp dmVycy9waHkvcm9ja2NoaXAvS2NvbmZpZwo+Pj4+IEBAIC04Myw2ICs4MywxNCBAQCBjb25maWcg UEhZX1JPQ0tDSElQX1BDSUUKPj4+PiDCoMKgwqDCoMKgIGhlbHAKPj4+PiDCoMKgwqDCoMKgwqDC oCBFbmFibGUgdGhpcyB0byBzdXBwb3J0IHRoZSBSb2NrY2hpcCBQQ0llIFBIWS4KPj4+PiArY29u ZmlnIFBIWV9ST0NLQ0hJUF9TQU1TVU5HX0hEUFRYCj4+Pj4gK8KgwqDCoCB0cmlzdGF0ZSAiUm9j a2NoaXAgU2Ftc3VuZyBIRE1JL0RQIENvbWJvIFBIWSBkcml2ZXIiCj4+Pj4gK8KgwqDCoCBkZXBl bmRzIG9uIChBUkNIX1JPQ0tDSElQIHx8IENPTVBJTEVfVEVTVCkgJiYgT0YKPj4+PiArwqDCoMKg IHNlbGVjdCBHRU5FUklDX1BIWQo+Pj4+ICvCoMKgwqAgaGVscAo+Pj4+ICvCoMKgwqDCoMKgIEVu YWJsZSB0aGlzIHRvIHN1cHBvcnQgdGhlIFJvY2tjaGlwIEhETUkvRFAgQ29tYm8gUEhZCj4+Pj4g K8KgwqDCoMKgwqAgd2l0aCBTYW1zdW5nIElQIGJsb2NrLgo+Pj4+ICsKPj4+PiDCoCBjb25maWcg UEhZX1JPQ0tDSElQX1NOUFNfUENJRTMKPj4+PiDCoMKgwqDCoMKgIHRyaXN0YXRlICJSb2NrY2hp cCBTbnBzIFBDSWUzIFBIWSBEcml2ZXIiCj4+Pj4gwqDCoMKgwqDCoCBkZXBlbmRzIG9uIChBUkNI X1JPQ0tDSElQICYmIE9GKSB8fCBDT01QSUxFX1RFU1QKPj4+PiBkaWZmIC0tZ2l0IGEvZHJpdmVy cy9waHkvcm9ja2NoaXAvTWFrZWZpbGUgYi9kcml2ZXJzL3BoeS9yb2NrY2hpcC9NYWtlZmlsZQo+ Pj4+IGluZGV4IDdlYWIxMjkyMzBkMS4uM2Q5MTEzMDRlNjU0IDEwMDY0NAo+Pj4+IC0tLSBhL2Ry aXZlcnMvcGh5L3JvY2tjaGlwL01ha2VmaWxlCj4+Pj4gKysrIGIvZHJpdmVycy9waHkvcm9ja2No aXAvTWFrZWZpbGUKPj4+PiBAQCAtOCw2ICs4LDcgQEAgb2JqLSQoQ09ORklHX1BIWV9ST0NLQ0hJ UF9JTk5PX0hETUkpwqDCoMKgICs9IHBoeS1yb2NrY2hpcC1pbm5vLWhkbWkubwo+Pj4+IMKgIG9i ai0kKENPTkZJR19QSFlfUk9DS0NISVBfSU5OT19VU0IyKcKgwqDCoCArPSBwaHktcm9ja2NoaXAt aW5uby11c2IyLm8KPj4+PiDCoCBvYmotJChDT05GSUdfUEhZX1JPQ0tDSElQX05BTkVOR19DT01C T19QSFkpwqDCoMKgICs9IHBoeS1yb2NrY2hpcC1uYW5lbmctY29tYnBoeS5vCj4+Pj4gwqAgb2Jq LSQoQ09ORklHX1BIWV9ST0NLQ0hJUF9QQ0lFKcKgwqDCoMKgwqDCoMKgICs9IHBoeS1yb2NrY2hp cC1wY2llLm8KPj4+PiArb2JqLSQoQ09ORklHX1BIWV9ST0NLQ0hJUF9TQU1TVU5HX0hEUFRYKcKg wqDCoCArPSBwaHktcm9ja2NoaXAtc2Ftc3VuZy1oZHB0eC5vCj4+Pj4gwqAgb2JqLSQoQ09ORklH X1BIWV9ST0NLQ0hJUF9TTlBTX1BDSUUzKcKgwqDCoCArPSBwaHktcm9ja2NoaXAtc25wcy1wY2ll My5vCj4+Pj4gwqAgb2JqLSQoQ09ORklHX1BIWV9ST0NLQ0hJUF9UWVBFQynCoMKgwqAgKz0gcGh5 LXJvY2tjaGlwLXR5cGVjLm8KPj4+PiDCoCBvYmotJChDT05GSUdfUEhZX1JPQ0tDSElQX1VTQinC oMKgwqDCoMKgwqDCoCArPSBwaHktcm9ja2NoaXAtdXNiLm8KPj4+PiBkaWZmIC0tZ2l0IGEvZHJp dmVycy9waHkvcm9ja2NoaXAvcGh5LXJvY2tjaGlwLXNhbXN1bmctaGRwdHguYyBiL2RyaXZlcnMv cGh5L3JvY2tjaGlwL3BoeS1yb2NrY2hpcC1zYW1zdW5nLWhkcHR4LmMKPj4+PiBuZXcgZmlsZSBt b2RlIDEwMDY0NAo+Pj4+IGluZGV4IDAwMDAwMDAwMDAwMC4uZDgxNzFlYTVjZTJiCj4+Pj4gLS0t IC9kZXYvbnVsbAo+Pj4+ICsrKyBiL2RyaXZlcnMvcGh5L3JvY2tjaGlwL3BoeS1yb2NrY2hpcC1z YW1zdW5nLWhkcHR4LmMKPj4+PiBAQCAtMCwwICsxLDIwNDUgQEAKPj4+PiArLy8gU1BEWC1MaWNl bnNlLUlkZW50aWZpZXI6IEdQTC0yLjArCj4+Pj4gKy8qCj4+Pj4gKyAqIENvcHlyaWdodCAoYykg MjAyMS0yMDIyIFJvY2tjaGlwIEVsZWN0cm9uaWNzIENvLiwgTHRkLgo+Pj4+ICsgKiBDb3B5cmln aHQgKGMpIDIwMjQgQ29sbGFib3JhIEx0ZC4KPj4+PiArICoKPj4+PiArICogQXV0aG9yOiBBbGdl YSBDYW8gPGFsZ2VhLmNhb0Byb2NrLWNoaXBzLmNvbT4KPj4+PiArICogQXV0aG9yOiBDcmlzdGlh biBDaW9jYWx0ZWEgPGNyaXN0aWFuLmNpb2NhbHRlYUBjb2xsYWJvcmEuY29tPgo+Pj4+ICsgKi8K Pj4+PiArI2luY2x1ZGUgPGxpbnV4L2JpdGZpZWxkLmg+Cj4+Pj4gKyNpbmNsdWRlIDxsaW51eC9j bGsuaD4KPj4+PiArI2luY2x1ZGUgPGxpbnV4L2RlbGF5Lmg+Cj4+Pj4gKyNpbmNsdWRlIDxsaW51 eC9tZmQvc3lzY29uLmg+Cj4+Pj4gKyNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KPj4+PiArI2lu Y2x1ZGUgPGxpbnV4L29mLmg+Cj4+Pj4gKyNpbmNsdWRlIDxsaW51eC9vZl9wbGF0Zm9ybS5oPgo+ Pj4+ICsjaW5jbHVkZSA8bGludXgvcGh5L3BoeS5oPgo+Pj4+ICsjaW5jbHVkZSA8bGludXgvcGxh dGZvcm1fZGV2aWNlLmg+Cj4+Pj4gKyNpbmNsdWRlIDxsaW51eC9yYXRpb25hbC5oPgo+Pj4+ICsj aW5jbHVkZSA8bGludXgvcmVnbWFwLmg+Cj4+Pj4gKyNpbmNsdWRlIDxsaW51eC9yZXNldC5oPgo+ Pj4+ICsKPj4+PiArI2RlZmluZSBHUkZfSERQVFhfQ09OMMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAg MHgwMAo+Pj4+ICsjZGVmaW5lIEhEUFRYX0lfUExMX0VOwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBC SVQoNykKPj4+PiArI2RlZmluZSBIRFBUWF9JX0JJQVNfRU7CoMKgwqDCoMKgwqDCoMKgwqDCoMKg IEJJVCg2KQo+Pj4+ICsjZGVmaW5lIEhEUFRYX0lfQkdSX0VOwqDCoMKgwqDCoMKgwqDCoMKgwqDC oCBCSVQoNSkKPj4+PiArI2RlZmluZSBHUkZfSERQVFhfU1RBVFVTwqDCoMKgwqDCoMKgwqAgMHg4 MAo+Pj4+ICsjZGVmaW5lIEhEUFRYX09fUExMX0xPQ0tfRE9ORcKgwqDCoMKgwqDCoMKgIEJJVCgz KQo+Pj4+ICsjZGVmaW5lIEhEUFRYX09fUEhZX0NMS19SRFnCoMKgwqDCoMKgwqDCoCBCSVQoMikK Pj4+PiArI2RlZmluZSBIRFBUWF9PX1BIWV9SRFnCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIEJJVCgx KQo+Pj4+ICsjZGVmaW5lIEhEUFRYX09fU0JfUkRZwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBCSVQo MCkKPj4+PiArCj4+Pj4gKyNkZWZpbmUgQ01OX1JFRzAwMDDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg IDB4MDAwMAo+Pj4KPj4+IFRoZXNlIHJlZ2lzdGVyIG5hbWVzIGFyZSBub3QgcGFydGljdWxhcmx5 IGhlbHBmdWwuIE1heWJlIHVzZSBhCj4+Pgo+Pj4gI2RlZmluZSBDTU5fUkVHKHgpwqDCoMKgwqDC oMKgwqDCoMKgwqDCoCAoKHgpICogNCkKPj4+Cj4+PiBJbnN0ZWFkPwo+Pgo+PiBZZXMsIHNvdW5k cyBnb29kLgo+Pgo+Pj4+ICsKPj4+PiArc3RhdGljIGludCBoZHB0eF9sY3BsbF9mcmxfbW9kZV9j b25maWcoc3RydWN0IHJvY2tjaGlwX2hkcHR4X3BoeSAqaGRwdHgsCj4+Pj4gK8KgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHUzMiByYXRlKQo+Pj4+ICt7Cj4+Pj4g K8KgwqDCoCB1MzIgYml0X3JhdGUgPSByYXRlICYgREFUQV9SQVRFX01BU0s7Cj4+Pj4gK8KgwqDC oCB1OCBjb2xvcl9kZXB0aCA9IChyYXRlICYgQ09MT1JfREVQVEhfTUFTSykgPyAxIDogMDsKPj4+ PiArwqDCoMKgIGNvbnN0IHN0cnVjdCBsY3BsbF9jb25maWcgKmNmZyA9IGxjcGxsX2NmZzsKPj4+ PiArCj4+Pj4gK8KgwqDCoCBmb3IgKDsgY2ZnLT5iaXRfcmF0ZSAhPSB+MDsgY2ZnKyspCj4+Pj4g K8KgwqDCoMKgwqDCoMKgIGlmIChiaXRfcmF0ZSA9PSBjZmctPmJpdF9yYXRlKQo+Pj4+ICvCoMKg wqDCoMKgwqDCoMKgwqDCoMKgIGJyZWFrOwo+Pj4KPj4+IFlvdSBjb3VsZCB1c2UgQVJSQVlfU0la RSgpIHRvIGl0ZXJhdGUgb3ZlciB0aGUgYXJyYXkgYW5kIHNhdmUgdGhlIGV4dHJhCj4+PiBlbnRy eSBhdCB0aGUgZW5kLiBMaWtld2lzZSBmb3IgdGhlIG90aGVyIGFycmF5cyB1c2VkIGluIHRoZSBk cml2ZXIuCj4+Cj4+IFN1cmUsIHdpbGwgZG8uCj4+Cj4+Pj4gKwo+Pj4+ICvCoMKgwqAgaWYgKGNm Zy0+Yml0X3JhdGUgPT0gfjApCj4+Pj4gK8KgwqDCoMKgwqDCoMKgIHJldHVybiAtRUlOVkFMOwo+ Pj4+ICsKPj4+Cj4+Pj4gK3N0YXRpYyBpbnQgcm9ja2NoaXBfaGRwdHhfcGh5X3Bvd2VyX29uKHN0 cnVjdCBwaHkgKnBoeSkKPj4+PiArewo+Pj4+ICvCoMKgwqAgc3RydWN0IHJvY2tjaGlwX2hkcHR4 X3BoeSAqaGRwdHggPSBwaHlfZ2V0X2RydmRhdGEocGh5KTsKPj4+PiArwqDCoMKgIGludCBidXNf d2lkdGggPSBwaHlfZ2V0X2J1c193aWR0aChoZHB0eC0+cGh5KTsKPj4+PiArwqDCoMKgIGludCBi aXRfcmF0ZSA9IGJ1c193aWR0aCAmIERBVEFfUkFURV9NQVNLOwo+Pj4KPj4+IFdoYXQgaXMgZ29p bmcgb24gaGVyZT8gYnVzX3dpZHRoIGlzIHNldCB0byA4IGluIHByb2JlKCkgdXNpbmcKPj4+IHBo eV9zZXRfYnVzX3dpZHRoKCksIGJ1dCB0aGUgdmFsdWUgeW91IHB1bGwgb3V0IG9mIHBoeV9nZXRf YnVzX3dpZHRoKCkKPj4+IGlzIGV4cGVjdGVkIHRvIGNvbnRhaW4gdGhlIGJpdF9yYXRlIGFuZCBz ZXZlcmFsIG90aGVyIGZsYWdzLgo+Pj4KPj4+IEl0IGxvb2tzIGxpa2UgeW91IGFyZSB0dW5uZWxp bmcgZmxhZ3MgZnJvbSBzb21lIG90aGVyIGRyaXZlciB1c2luZyB0aGlzCj4+PiBmaWVsZC4gSXNu J3QgdGhlcmUgYSBiZXR0ZXIgd2F5IHRvIGFjY29tcGxpc2ggdGhpcz8gSWYgbm90LCBJIHRoaW5r IHRoaXMKPj4+IG5lZWRzIHNvbWUgZXhwbGFuYXRpb24uCj4+Cj4+IEluZGVlZCwgc29ycnkgZm9y IG1pc3NpbmcgYSBjb21tZW50IGhlcmUuwqAgVGhlIGZsYWdzIGFyZSBzZXQgYnkgdGhlCj4+IGJy aWRnZSBkcml2ZXIgdG8gZW5hYmxlIDEwLWJpdCBjb2xvciBkZXB0aCwgRlJMIGFuZCBFQVJDLsKg IFNvIGZhciBJCj4+IGNvdWxkbid0IGZpbmQgYW4gYWx0ZXJuYXRpdmUgYXBwcm9hY2ggdG8gcGFz cyBjdXN0b20gZGF0YSB1c2luZyB0aGUgUEhZIEFQSS4KPj4KPj4+IEF0IGxlYXN0IHRoZSB2YXJp YWJsZSBzaG91bGQgYmUgcmVuYW1lZC4gaXQncyBjYWxsZWQgImJ1c193aWR0aCIgYW5kIGl0J3MK Pj4+IHBhc3NlZCB0byBmdW5jdGlvbnMgbGlrZSBoZHB0eF9sY3BsbF9mcmxfbW9kZV9jb25maWco KSB3aGljaCBoYXMgdGhpcwo+Pj4gcGFyYW1ldGVyIG5hbWVkICJyYXRlIiB3aGljaCBpcyBxdWl0 ZSBjb25mdXNpbmcuCj4+Cj4+IEkgdGhpbmsgZm9yIHRoZSBpbml0aWFsIHN1cHBvcnQgaXQncyBu b3QgcmVhbGx5IG5lY2Vzc2FyeSB0byBpbXBsZW1lbnQKPj4gYWxsIHRob3NlIGZlYXR1cmVzLsKg IEFuZHksIHNob3VsZCB3ZSBkcm9wIHRoZW0gdW50aWwgYSBiZXR0ZXIgc29sdXRpb24KPj4gaXMg Zm91bmQ/CgpIb3cgYWJvdXQgYWRkIGEgUEhZX01PREVfSERNSSB0byBlbnVtIHBoeV9tb2RlLCBh bmQgcGFzcyB0aGlzIGN1c3RvbSBkYXRhIGJ5IGV4dGVuZCBwaHlfY29uZmlndXJlX29wdHMKb3Ig dGhlIHN1Ym1vZGUgb2YgcGh5X3NldF9tb2RlX2V4dCA/Cj4gCj4gSSdtIGZpbmUgd2l0aCBpdC4K PiBJdCB3b3VsZCBiZSB2ZXJ5IGFwcHJlY2lhdGVkIGlmIHNvbWUgbGludXgtcGh5IG9yIGRybSBi cmlkZ2UgZXhwZXJ0cyBjYW4gZ2l2ZQo+IHNvbWUgc3VnZ2VzdGlvbnMgYWJvdXQgaG93IHRvIHBh c3MgZGlmZmVyZW50IGN1c3RvbSBwaHkgbW9kZXMuCj4gCj4+Cj4+PiBTYXNjaGEKPj4KPj4gVGhh bmtzIGZvciB0aGUgcmV2aWV3LAo+PiBDcmlzdGlhbgoKX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX18KTGludXgtcm9ja2NoaXAgbWFpbGluZyBsaXN0CkxpbnV4 LXJvY2tjaGlwQGxpc3RzLmluZnJhZGVhZC5vcmcKaHR0cDovL2xpc3RzLmluZnJhZGVhZC5vcmcv bWFpbG1hbi9saXN0aW5mby9saW51eC1yb2NrY2hpcAo=