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 1850ACD4F54 for ; Thu, 28 May 2026 18:20:35 +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:MIME-Version:Reply-To:List-Subscribe: List-Help:List-Post:List-Archive:List-Unsubscribe:List-Id:Message-Id:Date: References:In-Reply-To:Cc:To:Subject:From:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=YJFd1XdpFkt1SBVaQIfhO4xA5nSyWku4u8ka4AMVmTA=; b=sd4JjnGfizk9WM iuM0n81/jUqcH4pCW6ulw3cEIzhE7wX9npkRWbFtFl1B5lLukqU+YAetS5D462gB8S6Gvp/aAzHIS SczP8X2TDiwZgI/BMxidaCm77uXhzs7W3K4YJB4MpTE2Hpn24XeLrd2UmFdwYk63H9IpC0kSOad22 V744hCtJbcgd3kXcpJaKs+lnN9UfKtkit9AfoiG/chBZzu9DrGWFyeyK0sBcuji1UwaY8ai9j7sE9 G3YGdsKrzgVlCACjqoGvLBe6JHnQ1lF/q52fDxS1QZDv26iAEtHvfdyP77X0y/ea+Y0zElp8Guz1u 4P0PdcdSHnXrU+HoI29w==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.99.1 #2 (Red Hat Linux)) id 1wSfLO-00000006Ayn-2zNw; Thu, 28 May 2026 18:20:34 +0000 Received: from sea.source.kernel.org ([2600:3c0a:e001:78e:0:1991:8:25]) by bombadil.infradead.org with esmtps (Exim 4.99.1 #2 (Red Hat Linux)) id 1wSfLL-00000006Ay9-3N8T for linux-phy@lists.infradead.org; Thu, 28 May 2026 18:20:33 +0000 Received: from smtp.kernel.org (quasi.space.kernel.org [100.103.45.18]) by sea.source.kernel.org (Postfix) with ESMTP id F3BB4434D1; Thu, 28 May 2026 18:20:30 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 9027B1F000E9; Thu, 28 May 2026 18:20:30 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel.org; s=k20260515; t=1779992430; bh=SJf/x/OprtiH6bPc++4l47ue+aXN4DtskNQbofxg1ng=; h=From:Subject:Reply-To:To:Cc:In-Reply-To:References:Date; b=gAOLFjCB37g0FqHm9X0g5WpqPCDyU4LQt0e0rU/+btIsNTFzHWJLiZF01oV2f4/HH q2L0UPdPmBFa2xvXvIhjHEctvmhFRPXhQiTw1JbsD6QlgtEHIaj38s5QLZEWlGDwAI NkkLueMlUCV7rnaLVBa8sAsWVaInmlYVIf925+t99GTlQJ7tTEqq1CBv8MTvkUWoZ6 qemnx+6XhkeM+BV1jPiAIsfHbKaOM1AAf0SOGZY+lEoc7AUQqbeo44CEDDKpKV2d82 Icn1XsdieDfAYPBuDS4NHPWFOEphHMyUgFPYvOtVcowy1BG6gFv3+hjZist5T1OTXc D+pwarSWNgxLA== From: sashiko-bot@kernel.org Subject: Re: [PATCH phy-next 12/13] phy: lynx-10g: new driver To: "Vladimir Oltean" Cc: neil.armstrong@linaro.org, conor+dt@kernel.org, olteanv@gmail.com, vkoul@kernel.org, linux-phy@lists.infradead.org, robh@kernel.org, devicetree@vger.kernel.org In-Reply-To: <20260528172404.733196-13-vladimir.oltean@nxp.com> References: <20260528172404.733196-13-vladimir.oltean@nxp.com> Date: Thu, 28 May 2026 18:20:29 +0000 Message-Id: <20260528182030.9027B1F000E9@smtp.kernel.org> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.9.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20260528_112031_887713_85FE0ADD X-CRM114-Status: GOOD ( 22.86 ) 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: , Reply-To: sashiko-reviews@lists.linux.dev MIME-Version: 1.0 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 VGhhbmsgeW91IGZvciB5b3VyIGNvbnRyaWJ1dGlvbiEgU2FzaGlrbyBBSSByZXZpZXcgZm91bmQg NSBwb3RlbnRpYWwgaXNzdWUocykgdG8gY29uc2lkZXI6CgpOZXcgaXNzdWVzOgotIFtIaWdoXSBM b2NrbGVzcyByZWFkLW1vZGlmeS13cml0ZSBvcGVyYXRpb25zIG9uIHRoZSBMTmFHQ1IwIHJlZ2lz dGVyIGNyZWF0ZSBhIGRhdGEgcmFjZSBiZXR3ZWVuIGFzeW5jaHJvbm91cyBDRFIgbG9jayBjaGVj a3MgYW5kIFBIWSBjb25maWd1cmF0aW9uLgotIFtNZWRpdW1dIFRoZSByZXR1cm4gdmFsdWUgb2Yg bHlueF8xMGdfbGFuZV9lbmFibGVfcGN2dCgpIGlzIGRpc2NhcmRlZCB3aGVuIGNhbGxlZCBpbnNp ZGUgV0FSTl9PTigpLCBtYXNraW5nIGhhcmR3YXJlIGNvbmZpZ3VyYXRpb24gZmFpbHVyZXMuCi0g W01lZGl1bV0gVGhlIHJldHVybiB2YWx1ZSBvZiBseW54X3BjdnRfcm13KCkgZm9yIHRoZSBDUigw KSByZWdpc3RlciBpcyBjb21wbGV0ZWx5IGlnbm9yZWQsIG1hc2tpbmcgcG90ZW50aWFsIGhhcmR3 YXJlIGZhaWx1cmVzLgotIFtNZWRpdW1dIGx5bnhfMTBnX3ZhbGlkYXRlKCkgaW5jb3JyZWN0bHkg cGVybWl0cyB0cmFuc2l0aW9ucyBmcm9tIExBTkVfTU9ERV9VTktOT1dOLCB3aGljaCBhcmUgbGF0 ZXIgcmVqZWN0ZWQgYnkgbHlueF8xMGdfc2V0X21vZGUoKS4KClByZS1leGlzdGluZyBpc3N1ZXM6 Ci0gW0NyaXRpY2FsXSBUaGUgZGVsYXllZCB3b3JrIHByaXYtPmNkcl9jaGVjayBtYXkgdW5jb25k aXRpb25hbGx5IHJlLWFybSBpdHNlbGYsIGxlYWRpbmcgdG8gYSBVc2UtQWZ0ZXItRnJlZSB1cG9u IGRldmljZSB1bmJpbmQgb3IgbW9kdWxlIHJlbW92YWwuCi0tCgpjb21taXQgODYxNzE4MzA1M2E1 MjRlMWNiYzQ0NTNlMGU4ZjhlNDc4YzRjZjhlZgpBdXRob3I6IFZsYWRpbWlyIE9sdGVhbiA8dmxh ZGltaXIub2x0ZWFuQG54cC5jb20+CgpwaHk6IGx5bngtMTBnOiBuZXcgZHJpdmVyCgpJbnRyb2R1 Y2UgYSBkcml2ZXIgZm9yIHRoZSBuZXR3b3JraW5nIGxhbmVzIG9mIHRoZSAxMEcgTHlueCBTZXJE ZXMKYmxvY2ssIHByZXNlbnQgb24gdGhlIG1ham9yaXR5IG9mIExheWVyc2NhcGUgYW5kIFFvcklR IChGcmVlc2NhbGUvTlhQKQpTb0NzLiBUaGUgY29uc3VtZXJzIHVzZSB0aGUgR2VuZXJpYyBQSFkg ZnJhbWV3b3JrIHRvIHJlY29uZmlndXJlIHRoZSBTZXJEZXMKZm9yIHJlcXVlc3RlZCBsaW5rIG1v ZGVzLgoKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9waHkvZnJlZXNjYWxlL3BoeS1mc2wtbHlueC0x MGcuYyBiL2RyaXZlcnMvcGh5L2ZyZWVzY2FsZS9waHktZnNsLWx5bngtMTBnLmMKPiBuZXcgZmls ZSBtb2RlIDEwMDY0NAo+IGluZGV4IDAwMDAwMDAwMDAwMDAuLjI4YjA4MjM1NzQ2ODQKPiAtLS0g L2Rldi9udWxsCj4gKysrIGIvZHJpdmVycy9waHkvZnJlZXNjYWxlL3BoeS1mc2wtbHlueC0xMGcu Ywo+IEBAIC0wLDAgKzEsMTMxOSBAQAoKWyAuLi4gXQoKPiArc3RhdGljIHZvaWQgbHlueF8xMGdf Y2RyX2xvY2tfY2hlY2soc3RydWN0IGx5bnhfbGFuZSAqbGFuZSkKPiArewo+ICsJdTMyIHRjc3Iz ID0gbHlueF9sYW5lX3JlYWQobGFuZSwgTE5hVENTUjMpOwo+ICsKPiArCWlmICh0Y3NyMyAmIExO YVRDU1IzX0NEUl9MQ0spCj4gKwkJcmV0dXJuOwo+ICsKPiArCWRldl9kYmcoJmxhbmUtPnBoeS0+ ZGV2LAo+ICsJCSJMYW5lICVjIENEUiB1bmxvY2tlZCwgcmVzZXR0aW5nIHJlY2VpdmVyLi4uXG4i LAo+ICsJCSdBJyArIGxhbmUtPmlkKTsKPiArCj4gKwlseW54X2xhbmVfcm13KGxhbmUsIExOYUdD UjAsIExOYUdDUjBfUlJTVF9PTiwgTE5hR0NSMF9SUlNUKTsKCltTZXZlcml0eTogSGlnaF0KQ2Fu IGNvbmN1cnJlbnQgbW9kaWZpY2F0aW9ucyB0byB0aGUgTE5hR0NSMCByZWdpc3RlciBjb3JydXB0 IGl0cyBzdGF0ZT8KClNpbmNlIHRoZSBwcml2LT5jZHJfY2hlY2sgd29yayBydW5zIGFzeW5jaHJv bm91c2x5LCBpdCBjb3VsZCBjYWxsCmx5bnhfMTBnX2Nkcl9sb2NrX2NoZWNrKCkgYW5kIG1vZGlm eSBMTmFHQ1IwIGF0IHRoZSBzYW1lIHRpbWUgdGhlIFBIWQpmcmFtZXdvcmsgY2FsbHMgcGh5X3Bv d2VyX29uKCksIHBoeV9wb3dlcl9vZmYoKSwgb3IgcGh5X3NldF9tb2RlKCkuIFRoZXNlCmZ1bmN0 aW9ucyBhbHNvIHJlYWQtbW9kaWZ5LXdyaXRlIExOYUdDUjAgd2l0aG91dCBwZXItbGFuZSBsb2Nr aW5nLApwb3RlbnRpYWxseSBkcm9wcGluZyByZXNldCBvciBwb3dlci1kb3duIGJpdHMuCgpbIC4u LiBdCgo+ICtzdGF0aWMgY29uc3Qgc3RydWN0IGx5bnhfaW5mbyBseW54X2luZm9fbHMxMDI4YSA9 IHsKPiArCS5nZXRfcGNjciA9IGxzMTAyOGFfZ2V0X3BjY3IsCj4gKwkuZ2V0X3BjdnRfb2Zmc2V0 ID0gbHMxMDI4YV9nZXRfcGN2dF9vZmZzZXQsCj4gKwkucGxsX3JlYWRfY29uZmlndXJhdGlvbiA9 IGx5bnhfMTBnX3BsbF9yZWFkX2NvbmZpZ3VyYXRpb24sCj4gKwkubGFuZV9yZWFkX2NvbmZpZ3Vy YXRpb24gPSBseW54XzEwZ19sYW5lX3JlYWRfY29uZmlndXJhdGlvbiwKPiArCS5jZHJfbG9ja19j aGVjayA9IGx5bnhfMTBnX2Nkcl9sb2NrX2NoZWNrLAoKW1NldmVyaXR5OiBDcml0aWNhbF0KVGhp cyBpcyBhIHByZS1leGlzdGluZyBpc3N1ZSwgYnV0IGNhbiB0aGUgZGVsYXllZCB3b3JrIHByaXYt PmNkcl9jaGVjayBjYXVzZQphIHVzZS1hZnRlci1mcmVlIHVwb24gbW9kdWxlIHJlbW92YWw/CgpJ ZiBseW54X2Nkcl9sb2NrX2NoZWNrKCkgdW5jb25kaXRpb25hbGx5IHJlLWFybXMgaXRzZWxmIHdp dGgKcXVldWVfZGVsYXllZF93b3JrKCksIGNhbmNlbF9kZWxheWVkX3dvcmtfc3luYygpIGR1cmlu ZyByZW1vdmUgbWlnaHQgd2FpdApmb3IgdGhlIGN1cnJlbnQgZXhlY3V0aW9uIHRvIGZpbmlzaCwg b25seSBmb3IgaXQgdG8gcXVldWUgaXRzZWxmIGFnYWluLgpBZnRlciBkZXZpY2UgbWVtb3J5IGlz IGZyZWVkLCB0aGUgbmV3bHkgYXJtZWQgdGltZXIgd291bGQgZmlyZSBhbmQgYWNjZXNzCmZyZWVk IG1lbW9yeS4KClsgLi4uIF0KCj4gK3N0YXRpYyBpbnQgbHlueF8xMGdfbGFuZV9kaXNhYmxlX3Bj dnQoc3RydWN0IGx5bnhfbGFuZSAqbGFuZSwKPiArCQkJCSAgICAgIGVudW0gbHlueF9sYW5lX21v ZGUgbW9kZSkKPiArewo+ICsJc3RydWN0IGx5bnhfcHJpdiAqcHJpdiA9IGxhbmUtPnByaXY7Cj4g KwlpbnQgZXJyOwo+ICsKPiArCXNwaW5fbG9jaygmcHJpdi0+cGNjX2xvY2spOwo+ICsKPiArCWVy ciA9IGx5bnhfcGNjcl93cml0ZShsYW5lLCBtb2RlLCAwKTsKPiArCWlmIChlcnIpCj4gKwkJZ290 byBvdXQ7Cj4gKwo+ICsJc3dpdGNoIChtb2RlKSB7Cj4gKwljYXNlIExBTkVfTU9ERV8xMDAwQkFT RVhfU0dNSUk6Cj4gKwljYXNlIExBTkVfTU9ERV8yNTAwQkFTRVg6Cj4gKwkJZXJyID0gbHlueF9w Y3Z0X3JtdyhsYW5lLCBtb2RlLCBDUigxKSwgU0dNSUlhQ1IxX1NHUENTX0RJUywKPiArCQkJCSAg ICBTR01JSWFDUjFfU0dQQ1NfRU4pOwo+ICsJCWlmIChlcnIpCj4gKwkJCWdvdG8gb3V0Owo+ICsK PiArCQlseW54X3BjdnRfcm13KGxhbmUsIG1vZGUsIENSKDApLAo+ICsJCQkgICAgICBTR01JSWFD UjBfUlNUX1NHTV9PTiB8IFNHTUlJYUNSMF9QRF9TR00sCj4gKwkJCSAgICAgIFNHTUlJYUNSMF9S U1RfU0dNIHwgU0dNSUlhQ1IwX1BEX1NHTSk7CgpbU2V2ZXJpdHk6IE1lZGl1bV0KQ291bGQgdGhp cyBtYXNrIHBvdGVudGlhbCBoYXJkd2FyZSBmYWlsdXJlcz8KCldoaWxlIHRoZSByZXR1cm4gdmFs dWUgb2YgbHlueF9wY3Z0X3JtdygpIGZvciB0aGUgQ1IoMSkgcmVnaXN0ZXIgaXMgY2hlY2tlZCwK dGhlIHN1YnNlcXVlbnQgY2FsbCBmb3IgdGhlIENSKDApIHJlZ2lzdGVyIGRpc2NhcmRzIGl0cyBy ZXR1cm4gdmFsdWUuIElmIHRoZQpyZWdpc3RlciBhY2Nlc3MgZmFpbHMsIHRoZSBlcnJvciB3b3Vs ZCBiZSBzd2FsbG93ZWQgaGVyZSBhbmQgc2ltaWxhcmx5IGluCmx5bnhfMTBnX2xhbmVfZW5hYmxl X3BjdnQoKS4KClsgLi4uIF0KCj4gK3N0YXRpYyBpbnQgbHlueF8xMGdfdmFsaWRhdGUoc3RydWN0 IHBoeSAqcGh5LCBlbnVtIHBoeV9tb2RlIG1vZGUsIGludCBzdWJtb2RlLAo+ICsJCQkgICAgIHVu aW9uIHBoeV9jb25maWd1cmVfb3B0cyAqb3B0cykKPiArewo+ICsJc3RydWN0IGx5bnhfbGFuZSAq bGFuZSA9IHBoeV9nZXRfZHJ2ZGF0YShwaHkpOwo+ICsJZW51bSBseW54X2xhbmVfbW9kZSBsYW5l X21vZGU7Cj4gKwo+ICsJaWYgKG1vZGUgIT0gUEhZX01PREVfRVRIRVJORVQpCj4gKwkJcmV0dXJu IC1FSU5WQUw7Cj4gKwo+ICsJbGFuZV9tb2RlID0gcGh5X2ludGVyZmFjZV90b19sYW5lX21vZGUo c3VibW9kZSk7Cj4gKwlpZiAoIWx5bnhfbGFuZV9zdXBwb3J0c19tb2RlKGxhbmUsIGxhbmVfbW9k ZSkpCj4gKwkJcmV0dXJuIC1FSU5WQUw7Cj4gKwo+ICsJaWYgKGx5bnhfbGFuZV9yZXN0cmljdF9m aXhlZF9tb2RlX2NoYW5nZShsYW5lLCBsYW5lX21vZGUpKQo+ICsJCXJldHVybiAtRUlOVkFMOwo+ ICsKPiArCWlmIChseW54XzEwZ19sYW5lX21vZGVfbmVlZHNfcmN3X292ZXJyaWRlKGxhbmUsIGxh bmVfbW9kZSkpCj4gKwkJcmV0dXJuIC1FSU5WQUw7Cj4gKwo+ICsJcmV0dXJuIDA7Cj4gK30KCltT ZXZlcml0eTogTWVkaXVtXQpTaG91bGQgdmFsaWRhdGUoKSBleHBsaWNpdGx5IHJlamVjdCB0cmFu c2l0aW9ucyBmcm9tIExBTkVfTU9ERV9VTktOT1dOPwoKV2hlbiBhIGxhbmUgaXMgaW5pdGlhbGl6 ZWQgdG8gYSBub24tbmV0d29ya2luZyBwcm90b2NvbCwgaXQgZGVmYXVsdHMgdG8KTEFORV9NT0RF X1VOS05PV04uIFRoaXMgZnVuY3Rpb24gcGVybWl0cyB0aGUgdHJhbnNpdGlvbiBiZWNhdXNlCmx5 bnhfMTBnX2xhbmVfbW9kZV9uZWVkc19yY3dfb3ZlcnJpZGUoKSByZXR1cm5zIGZhbHNlLiBIb3dl dmVyLCB3aGVuCmx5bnhfMTBnX3NldF9tb2RlKCkgc3Vic2VxdWVudGx5IGNhbGxzIGx5bnhfMTBn X2xhbmVfZGlzYWJsZV9wY3Z0KCksCnRoZSB1bmRlcmx5aW5nIGdldF9wY2NyKCkgZnVuY3Rpb24g cmV0dXJucyAtRUlOVkFMIGZvciBMQU5FX01PREVfVU5LTk9XTiwKY2F1c2luZyBzZXRfbW9kZSgp IHRvIGZhaWwuCgpbIC4uLiBdCgo+ICtzdGF0aWMgaW50IGx5bnhfMTBnX3NldF9tb2RlKHN0cnVj dCBwaHkgKnBoeSwgZW51bSBwaHlfbW9kZSBtb2RlLCBpbnQgc3VibW9kZSkKPiArewo+ICsJc3Ry dWN0IGx5bnhfbGFuZSAqbGFuZSA9IHBoeV9nZXRfZHJ2ZGF0YShwaHkpOwo+ICsJYm9vbCBwb3dl cmVkX3VwID0gbGFuZS0+cG93ZXJlZF91cDsKPiArCWVudW0gbHlueF9sYW5lX21vZGUgbGFuZV9t b2RlOwo+ICsJaW50IGVycjsKPiArCj4gKwllcnIgPSBseW54XzEwZ192YWxpZGF0ZShwaHksIG1v ZGUsIHN1Ym1vZGUsIE5VTEwpOwo+ICsJaWYgKGVycikKPiArCQlyZXR1cm4gZXJyOwo+ICsKPiAr CWxhbmVfbW9kZSA9IHBoeV9pbnRlcmZhY2VfdG9fbGFuZV9tb2RlKHN1Ym1vZGUpOwo+ICsJLyog bHlueF8xMGdfdmFsaWRhdGUoKSBhbHJlYWR5IG1hZGUgc3VyZSB0aGUgbGFuZV9tb2RlIGlzIHN1 cHBvcnRlZCAqLwo+ICsKPiArCWlmIChsYW5lX21vZGUgPT0gbGFuZS0+bW9kZSkKPiArCQlyZXR1 cm4gMDsKPiArCj4gKwkvKiBJZiB0aGUgbGFuZSBpcyBwb3dlcmVkIHVwLCBwdXQgdGhlIGxhbmUg aW50byB0aGUgaGFsdCBzdGF0ZSB3aGlsZQo+ICsJICogdGhlIHJlY29uZmlndXJhdGlvbiBpcyBi ZWluZyBkb25lLgo+ICsJICovCj4gKwlpZiAocG93ZXJlZF91cCkKPiArCQlseW54XzEwZ19sYW5l X2hhbHQocGh5KTsKPiArCj4gKwllcnIgPSBseW54XzEwZ19sYW5lX2Rpc2FibGVfcGN2dChsYW5l LCBsYW5lLT5tb2RlKTsKPiArCWlmIChlcnIpCj4gKwkJZ290byBvdXQ7Cj4gKwo+ICsJbHlueF8x MGdfbGFuZV9jaGFuZ2VfcHJvdG9fY29uZihsYW5lLCBsYW5lX21vZGUpOwo+ICsJbHlueF8xMGdf bGFuZV9yZW1hcF9wbGwobGFuZSwgbGFuZV9tb2RlKTsKPiArCVdBUk5fT04obHlueF8xMGdfbGFu ZV9lbmFibGVfcGN2dChsYW5lLCBsYW5lX21vZGUpKTsKCltTZXZlcml0eTogTWVkaXVtXQpEb2Vz IFdBUk5fT04oKSBkaXNjYXJkIHRoZSBlcnJvciBjb2RlIHJldHVybmVkIGJ5IGx5bnhfMTBnX2xh bmVfZW5hYmxlX3BjdnQoKT8KCkJlY2F1c2UgV0FSTl9PTigpIGV2YWx1YXRlcyB0byBhIGJvb2xl YW4sIHRoZSBhY3R1YWwgaW50ZWdlciBlcnJvciBjb2RlIGlzCmlnbm9yZWQuIElmIGhhcmR3YXJl IGNvbmZpZ3VyYXRpb24gZmFpbHMsIHRoZSBzeXN0ZW0gbWlnaHQgcHJvY2VlZCBhcyBpZgpzdWNj ZXNzZnVsLCBpbmNvcnJlY3RseSB1cGRhdGUgbGFuZS0+bW9kZSwgYW5kIGxlYXZlIHRoZSBkcml2 ZXIgaW4gYW4KaW5jb25zaXN0ZW50IHN0YXRlLgoKPiArCj4gKwlsYW5lLT5tb2RlID0gbGFuZV9t b2RlOwo+ICsKPiArb3V0Ogo+ICsJaWYgKHBvd2VyZWRfdXApCj4gKwkJbHlueF8xMGdfbGFuZV9y ZXNldChwaHkpOwo+ICsKPiArCXJldHVybiBlcnI7Cj4gK30KCi0tIApTYXNoaWtvIEFJIHJldmll dyDCtyBodHRwczovL3Nhc2hpa28uZGV2LyMvcGF0Y2hzZXQvMjAyNjA1MjgxNzI0MDQuNzMzMTk2 LTEtdmxhZGltaXIub2x0ZWFuQG54cC5jb20/cGFydD0xMgoKLS0gCmxpbnV4LXBoeSBtYWlsaW5n IGxpc3QKbGludXgtcGh5QGxpc3RzLmluZnJhZGVhZC5vcmcKaHR0cHM6Ly9saXN0cy5pbmZyYWRl YWQub3JnL21haWxtYW4vbGlzdGluZm8vbGludXgtcGh5Cg==