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 76372C02180 for ; Wed, 15 Jan 2025 15:28:08 +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:References:In-Reply-To: Message-ID:Subject:Cc:To:From:Date:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=BwOKx0ePhmn95aeF93ZGmSAl5CdFPvVbw7Oz5AF1lTE=; b=ZOMpSSm7IiCNID SQyJJIWxneVPQ5U+vvvvK8AWIf01Q9d0cCCiCJsNZ1fx/XKUi+hU7EW60bMDc9XCHKcfX7gitMVJh sknoS+4ys1EfPLM+P/W14mjzT3M2/au0o8oCiqalZ+9OHt60BBrUgrws7cmLqtrD51WQ/UUxD3Kkp k214ZzNZfFIM6CeY6XNOrEDEtXFjPIEHWTXEmWgj37VFDdBbd+uSQNwv8GNLQk2UFaiIRWFBdpPHb phXwAJ3JKvdFhKXjFgKJ7SgehXXyHLz0iBzZIjqIQ7ip6mtY4DRxNjSpoWY0gbxIFGVaf9wViumjv 0OwJJUlxNRo68XdO6BUg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98 #2 (Red Hat Linux)) id 1tY5JP-0000000CGxp-2Bjq; Wed, 15 Jan 2025 15:28:07 +0000 Received: from foss.arm.com ([217.140.110.172]) by bombadil.infradead.org with esmtp (Exim 4.98 #2 (Red Hat Linux)) id 1tY5I6-0000000CGkp-2UL9; Wed, 15 Jan 2025 15:26:48 +0000 Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id AE6FF11FB; Wed, 15 Jan 2025 07:27:11 -0800 (PST) Received: from donnerap.manchester.arm.com (usa-sjc-imap-foss1.foss.arm.com [10.121.207.14]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 2FF323F73F; Wed, 15 Jan 2025 07:26:39 -0800 (PST) Date: Wed, 15 Jan 2025 15:26:35 +0000 From: Andre Przywara To: Linus Walleij Cc: Andras Szemzo , Michael Turquette , Stephen Boyd , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Chen-Yu Tsai , Jernej Skrabec , Samuel Holland , Philipp Zabel , Maxime Ripard , Vinod Koul , Kishon Vijay Abraham I , Ulf Hansson , Paul Walmsley , Palmer Dabbelt , Albert Ou , Uwe =?UTF-8?B?S2xlaW5lLUvDtm5pZw==?= , Florian Fainelli , linux-clk@vger.kernel.org, devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-sunxi@lists.linux.dev, linux-kernel@vger.kernel.org, linux-phy@lists.infradead.org, linux-gpio@vger.kernel.org, linux-pm@vger.kernel.org, linux-riscv@lists.infradead.org Subject: Re: [PATCH 03/12] pinctrl: sunxi: add driver for Allwinner V853. Message-ID: <20250115152635.1b89e7f4@donnerap.manchester.arm.com> In-Reply-To: References: <20250110123923.270626-1-szemzo.andras@gmail.com> <20250110123923.270626-4-szemzo.andras@gmail.com> <20250114141954.2785879a@donnerap.manchester.arm.com> Organization: ARM X-Mailer: Claws Mail 3.18.0 (GTK+ 2.24.32; aarch64-unknown-linux-gnu) MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250115_072646_724771_3E949F78 X-CRM114-Status: GOOD ( 45.14 ) 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: , 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 T24gV2VkLCAxNSBKYW4gMjAyNSAxMToyMzo1MCArMDEwMApMaW51cyBXYWxsZWlqIDxsaW51cy53 YWxsZWlqQGxpbmFyby5vcmc+IHdyb3RlOgoKSGkgTGludXMsCgp0aGFua3MgZm9yIHRoZSByZXBs eSwgSSB3YXMgaG9waW5nIHRvIGdldCBzb21lIGluc2lnaHQgYW5kIGRpc2N1c3MgdGhpcyEKCj4g T24gVHVlLCBKYW4gMTQsIDIwMjUgYXQgMzoyMOKAr1BNIEFuZHJlIFByenl3YXJhIDxhbmRyZS5w cnp5d2FyYUBhcm0uY29tPiB3cm90ZToKPiA+IEFuZHJhcyBTemVtem8gPHN6ZW16by5hbmRyYXNA Z21haWwuY29tPiB3cm90ZTogIAo+IAo+ID4gPiBUaGUgVjg1MyBmYW1pbHkgaGFzIG11bHRpcGxl IHBhY2thZ2UgdmFyaWFudHMsIGZyb20gQkdBIHRvIFFGTjg4Lgo+ID4gPiBUaGUgbGF0dGVyIGhh cyBjby1wYWNrYWdlZCBEUkFNIGFuZCBmZXdlciBwaW5zLCBhbmQgbGVzcyBmZWF0dXJlcyAocGlu IG11eGVzKS4KPiA+ID4gQWxsIGZhbWlseSBtZW1iZXJzIGNhbiBiZSBzdXBwb3J0ZWQgYnkgYSBz aW5nbGUgZHJpdmVyLCBhcyB0aGUgYXZhaWxhYmxlIHBpbnMKPiA+ID4gd2l0aCBhbGxvd2VkIG11 eGVzIGlzIHRoZSBzYW1lIGFjcm9zcyB0aGUgZGV2aWNlcy4gIAo+ID4KPiA+IEl0IGRlcGVuZHMg YSBiaXQgb24gdGhlIG91dGNvbWUgb2YgdGhlIGRpc2N1c3Npb24gb24gdGhlIEE1MjMgcGluY3Ry bAo+ID4gZHJpdmVyIFsxXSwgYnV0IEkgdGhpbmsgd2Ugc2hvdWxkIHVzZSB0aGUgc2FtZSBhcHBy b2FjaCBoZXJlIChhbmQgZm9yCj4gPiBldmVyeSAibmV3IiBBbGx3aW5uZXIgU29DIGNvbWluZyB1 cCwgcmVhbGx5KTogcHV0IHRoZSBwaW5tdXggdmFsdWUgaW4gdGhlCj4gPiBEVCwgYW5kIGdldCBy aWQgb2YgdGhpcyBlbnRpcmUgdGFibGUgYWx0b2dldGhlcjoKPiA+IFsxXQo+ID4KPiA+IFRoZSBT b0Mgc3BlY2lmaWMgcGluY3RybCBkcml2ZXIgd291bGQgdGhlbiBiZSB2ZXJ5IHNtYWxsIChbMl0p LCBzbyB0aGlzCj4gPiBwaW5jdHJsIHN1cHBvcnQgcGF0Y2ggaGVyZSB3b3VsZCBhY3R1YWxseSBi ZWNvbWUgbXVjaCBzbWFsbGVyLgo+ID4KPiA+IEp1c3QgZmVlbCBhIGJpdCBzb3JyeSBmb3IgeW91 IGhhdmluZyBjcmVhdGVkIHRoaXMgdGFibGUsIGluIGEgdGVkaW91cyBhbmQKPiA+IGV5ZS1zdHJh aW5pbmcgZXhlcmNpc2UgLSBiZWVuIHRoZXJlLCBkb25lIHRoYXQgOy0pICAKPiAKPiBJdCdzIHBy ZXR0eSBzdHJlc3NmdWwgZm9yIHRoZSBwaW4gY29udHJvbCBtYWludGFpbmVyIGFzIHdlbGwuCj4g Cj4gRnJvbSB0aGUgc3Vic3lzdGVtcyBwb2ludCBvZiB2aWV3LCBncm91cHMgbWF0Y2hlcyB0byBm dW5jdGlvbnMgYnkKPiBzdHJpbmdzIGlzIHRoZSBiZXN0LiAoImZ1bjEiKSArICgiZ3JvdXAxIiwg Imdyb3VwMiIpOgo+IAo+IHBpbzogcGluY3RybEAxYzIwODAwIHsKPiAgICAgICAgICAgICAgICAg ICAgICAgICBjb21wYXRpYmxlID0gImFsbHdpbm5lcixzdW44aS1yNDAtcGluY3RybCI7Cj4gKC4u LikKPiAgICAgICAgICAgICAgICAgICAgICAgICBpMmMwX3BpbnM6IGkyYzAtcGlucyB7Cj4gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwaW5zID0gIlBCMCIsICJQQjEiOwo+ICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24gPSAiaTJjMCI7Cj4gICAgICAgICAg ICAgICAgICAgICAgICAgfTsKPiAKPiBhYnN0cmFjdCwgc3RyaW5ncywgbmljZS4gVGhlIGRyaXZl ciBoYW5kbGVzIHRoZSBwYXJ0aWN1bGFycy4KCldoYXQgYnVncyBtZSBhYm91dCB0aGlzIGl0IHRo YXQgdGhpcyBoYXMgcXVpdGUgc29tZSBzZWVtaW5nbHkgcmVkdW5kYW50CmluZm9ybWF0aW9uIChX aG8gd291bGQgaGF2ZSB0aG91Z2h0IHRoYXQgdGhlIGkyYzAgcGlucyB1c2UgZnVuY3Rpb24KImky YzAiPyksIGJ1dCBtaXNzZXMgb3V0IG9uIHRoZSBhY3R1YWwgNCBiaXRzKCEpIG9mIGluZm9ybWF0 aW9uLgpTbyB0aGUgQTUyMyB2ZXJzaW9uIFsxXSBqdXN0ICphZGRzKiB0aGlzIG9uZSBwcm9wZXJ0 eToKCQlhbGx3aW5uZXIscGlubXV4ID0gPDI+OwoKWzFdaHR0cHM6Ly9sb3JlLmtlcm5lbC5vcmcv bGludXgtc3VueGkvMjAyNDExMTEwMDU3NTAuMTMwNzEtNS1hbmRyZS5wcnp5d2FyYUBhcm0uY29t LwoKQW5kIHdlIGtlZXAgYWxsIHlvdXIgYmVsb3ZlZCBzdHJpbmdzIDstKQoKPiBUaGF0IGlzIGxp a2Ugc28gYmVjYXVzZSB3ZSBhcmUgZGVzaWduaW5nIGZvciB1c2VycyB3aGljaCBhcmUKPiBsZXQn cyBzYXkgY3VzdG9taXphdGlvbiBlbmdpbmVlcnMuIElmIHRoZXNlIGVuZ2luZWVycyBqdW1wIGZy b20KPiBwcm9qZWN0IHRvIHByb2plY3QgbWF0Y2hpbmcgZnVuY3Rpb24gc3RyaW5ncyB0byBncm91 cCBzdHJpbmdzIHdpbGwKPiBiZSBhIGNvbW1vbiB3YXkgdG8gc2V0IHVwIHBpbnMsIGFuZCBlYXN5 IHRvIHVuZGVyc3RhbmQgYW5kCj4gZ3Jhc3AsIGFuZCBpdCBtYWtlcyB0aGUgRFRTIHZlcnkgcmVh ZGFibGUuCgpUaGF0J3MgYW4gaW50ZXJlc3RpbmcgdmlldywgYW5kIEkgc2VlIHRoZSBwb2ludCBv ZiBpdCBiZWluZyBlYXN5IHRvIHJlYWQsCmJ1dCB0aGlzIGlzIHBhcnRseSBiZWNhdXNlIGl0IGRv ZXNuJ3QgY29udmV5IHRvbyBtdWNoIGFjdHVhbCBpbmZvcm1hdGlvbiwKZG9lcyBpdCwgYXMgaXQg cmVxdWlyZXMgYW5vdGhlciBsb29rdXAgb3IgdHdvLgpBbmQgdGhlIHBpbmN0cmwgZ3JvdXAgbm9k ZXMgYXJlIGFjdHVhbGx5IGluIHRoZSAuZHRzaSBmaWxlLCB3aGljaCBhcmUKdHlwaWNhbGx5IHdy aXR0ZW4gb25jZSBkdXJpbmcgdGhlIGluaXRpYWwgU29DIGVuYWJsZW1lbnQsIGFuZCBuZXcgYm9h cmQKLmR0cyBmaWxlcyBub3JtYWxseSBqdXN0IHJlZmVyZW5jZSB0aGUgZXhpc3RpbmcgcGluZ3Jv dXAgbm9kZXMuIFNvIGFueW9uZQpkZWFsaW5nIHdpdGgganVzdCBhIG5ldyBib2FyZCBpcyBub3Qg Ym90aGVyZWQgYnkgdGhpcy4KQWxzbyBpbiBteSBleHBlcmllbmNlIG1vc3QgcGVvcGxlIGhhdmUg bm8gcHJvYmxlbXMgaW4gdW5kZXJzdGFuZGluZyB0aGUKY29uY2VwdCBvZiBwaW5tdXhpbmcgYW5k IHRoYXQgdGhlcmUgaXMgYSBzZWxlY3RvciBudW1iZXIsIGFsc28gd2hlcmUgdG8KZmluZCB0aGlz LgoKPiBUaGVuIHRoZXJlIGFyZSB0aGUgZW5naW5lZXJzIGNyZWF0aW5nIHRoZSBwaW4gY29udHJv bCBkcml2ZXJzLAo+IGFuZCB0aGV5IHdhbnQgZXZlcnl0aGluZyB0byBiZSBjb252aW5pZW50IGZv ciAqdGhlbSosIGFuZCB0aGV5Cj4gdGhpbmsgYW4gb3BhcXVlIGhleCBkaWdpdCBpbiB0aGUgRFRT IGlzIHBlcmZlY3QgYXQgdGltZXMsIHRodXMKPiBwaW5tdXggPSA8MHhkZWFkYmVlZj47Cj4gCj4g TWVkaWF0ZWsgYW5kIFNUTTMyIG1hZGUgYSBjb21wcm9taXNlIGJ5IHVzaW5nIHBpbm11eAo+IGFu ZCBhZGRpbmcgc29tZSBtYWNyb3MgdG8gZGVmaW5lIHRoZW0gc28gaXQgbG9va3MgbW9yZQo+IHBs ZWFzYW50Ogo+IAo+ICAgICAgIGkyYzBfcGluc19hOiBpMmMwLWRlZmF1bHQgewo+ICAgICAgICAg ICAgICAgICBwaW5zLWkyYzAgewo+ICAgICAgICAgICAgICAgICAgICAgICAgIHBpbm11eCA9IDxN VDc2MjNfUElOXzc1X1NEQTBfRlVOQ19TREEwPiwKPiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICA8TVQ3NjIzX1BJTl83Nl9TQ0wwX0ZVTkNfU0NMMD47CgpXZWxsLCBJIGRvbid0IHJl YWxseSBnZXQgd2h5IHRoZXkgZG9uJ3QgdXNlIHRoZSAoTVRLX1BJTl9OTyg3NSkgfCAxKQpkZWZp bml0aW9uIGRpcmVjdGx5LCBzZWVtcyB0byBiZSBtb3JlIHRlbGxpbmcgdG8gbWU/ClNvIHRoZSBw bGFuIGZvciBzdW54aSB3b3VsZCBiZTogPFNVTlhJX1BJTk1VWChQT1JUQywgMjMsIE1VWF8xKT4s IC4uLgpBbmQgdGhpcyB3b3VsZCBub3QgYmUgcmVhbGx5ICJvcGFxdWUiLCBzaW5jZSBpdCBoYXMg YSBmaXhlZCBrbm93biBtYXBwaW5nOgoJKHBvcnQgPDwgMTYpIHwgKHBpbiA8PCA4KSB8IChtdXgg PDwgMCkpCkkgZmluZCB0aGlzIGJvdGggdGVjaG5pY2FsbHkgZWxlZ2FudCwgYmVjYXVzZSBpdCBj b21iaW5lcyBhbGwgdGhlCmluZm9ybWF0aW9uIGludG8ganVzdCBvbmUgY29tcGFjdCBjZWxsLCBi dXQgYWxzbyByZWFkYWJsZSBieSBvdXRzaWRlcnMsCnRoYW5rcyB0byB0aGUgbWFjcm8uCgpCdXQg cGxlYXNlIG5vdGUgdGhhdCB1c2luZyB0aGUgZ2VuZXJpYyBwaW5tdXggaXMganVzdCBhbiBpZGVh IGF0IHRoaXMKcG9pbnQsIGxhc3QgdGltZSBJIGNoZWNrZWQgdGhpcyB3b3VsZCByZXF1aXJlIHNp Z25pZmljYW50IHJld29yayBpbiB0aGUKc3VueGkgcGluY3RybCBkcml2ZXIuCkp1c3QgYWRkaW5n IHRoZSAiYWxsd2lubmVyLHBpbm11eCIgcHJvcGVydHkgb24gdGhlIG90aGVyIGhhbmQgaXMgYQpj b21wYXJhYmx5IGVhc3kgYWRkaXRpb24sIGhlbmNlIG15IHBhdGNoLCBhcyBhIGNvbXByb21pc2Uu Cgo+ICAgICAgICAgICAgICAgICAgICAgICAgIGJpYXMtZGlzYWJsZTsKPiAgICAgICAgICAgICAg ICAgfTsKPiAgICAgICAgIH07Cj4gCj4gQXQgbGVhc3QgdGhlIGJpYXMgY29udHJvbCBpcyB1c2lu ZyBzdHJpbmdzLCB0aGlzIGlzIG5pY2UuCj4gCj4gU28gSSdtIG1vc3RseSBmaW5lIHdpdGggdGhh dCBhcyB3ZWxsLCBidXQgaXQgY2FuIGJlIHByZXR0eQo+IGhlYXZ5IG9uIHBlb3BsZSBjb21pbmcg ZnJvbSB0aGUgb3V0c2lkZSwgYXNraW5nIHVzIHF1ZXN0aW9ucwo+IGxpa2UgIm9uIE1UNzY4OSBo b3cgZG8geW91IG11eCBwaW4gbm5ubiB0byBmdW5jdGlvbiB5eXkiPz8/Cj4gV2VsbCBJIGRvbid0 IGtub3c/IFNvbWUgTVQ3Njg5X1BJTiogbWFjcm8gSSBndWVzcz8KCk1US19QSU5fTk8obm5uLCB5 eXkpPwoKPiBJZiBpdCB3YXMganVzdCBzdHJpbmdzIEkgd291bGQga25vdyB3aGF0IHRoZQo+IGV4 cGVjdGVkIGJlaGF2aW91ciBhbmQgbG9va3Mgd291bGQgYmUgYXQgbGVhc3QsIHRoZW4gdGhlIGRy aXZlcgo+IGNvdWxkIGJlIGJ1Z2d5IG9yIG1pc3NpbmcgdGhpbmdzIGJ1dCB0aGF0J3MgY2xlYXJs eSBjdXQuIFRoYXQncwo+IHdoeSBJIHByZWZlciB0aGUgc3RyaW5ncy4KCk15IG1haW4gYXJndW1l bnRzIGFnYWluc3QgdGhlIGN1cnJlbnQgKHN0cmluZy1iYXNlZCkgYXBwcm9hY2g6Ci0gVGhleSBy ZXF1aXJlIHRoZSBtYXBwaW5nIHRhYmxlIHRvIGJlIGluIGV2ZXJ5IERUIHVzZXIsIHNvIG5vdCBv bmx5IHRoZQogIExpbnV4IGtlcm5lbCwgYnV0IGFsc28gVS1Cb290LCBGcmVlQlNELCB5b3UgbmFt ZSBpdC4uLgpodHRwczovL3NvdXJjZS5kZW54LmRlL3UtYm9vdC91LWJvb3QvLS9ibG9iL21hc3Rl ci9kcml2ZXJzL3BpbmN0cmwvc3VueGkvcGluY3RybC1zdW54aS5jP3JlZl90eXBlPWhlYWRzI0wy MzYtNzY4Cmh0dHBzOi8vY2dpdC5mcmVlYnNkLm9yZy9zcmMvdHJlZS9zeXMvYXJtL2FsbHdpbm5l ci9oNi9oNl9wYWRjb25mLmMKLSBUaGUgdGFibGVzIGFyZSBnZXR0aW5nIHF1aXRlIGxhcmdlLCBh bmQgdGhleSBwb2xsdXRlIHRoZSBzaW5nbGUgaW1hZ2UKICBMaW51eCBrZXJuZWwsIHdpdGggdG9u cyBvZiB2ZXJ5IHNwZWNpZmljIGluZm9ybWF0aW9uIGZvciBhIG51bWJlciBvZiB2ZXJ5CiAgcGl0 aWZ1bCBBbGx3aW5uZXIgU29Dcy4gQXQgdGhlIG1vbWVudCB0aGUgdGFsbHkgaXMgYXQgMTQ1S0Ig b2YgY29kZStkYXRhCiAgZm9yIHRoZSBleGlzdGluZyBhcm02NCBTb0NzLCB3aXRoIHRoZSBuZXdl ciBTb0NzIGV2ZXIgZ3Jvd2luZyAoSDYxNiBhbG9uZQogIGlzIDI3S0IsIEE1MjMgd291bGQgYmUg cXVpdGUgbGFyZ2VyIGV2ZW4sIEkgZ3Vlc3MgNDBLKS4gVGhlIG5ldyBBNTIzCiAgc3BlY2lmaWMg cGluY3RybCBzdXBwb3J0IGFkZHMgODcyIEJ5dGVzLgotIE1vc3Qgb2YgdGhlIG1hcHBpbmdzIGFy ZSB1bnRlc3RlZCBhdCBwaW5jdHJsIGRyaXZlciBjb21taXQgdGltZSwgc2luY2Ugd2UKICBkb24n dCBoYXZlIHRoZSBkZXZpY2UgZHJpdmVycyByZWFkeSB5ZXQgLSBieSBhIG1hcmdpbi4gVGhlIG5l dyBhcHByb2FjaAogIHdvdWxkIGFkZCB0aGUgcGlubXV4IHZhbHVlcyB3aGVuIHdlIG5lZWQgdGhl bSBhbmQgY2FuIHRlc3QgdGhlbS4KLSBUaGUgY29tbWVudHMgaW4gdGhlIHRhYmxlIGdpdmUgYXdh eSB0aGF0IHNvbWV0aGluZyBpcyBub3QgcXVpdGUgcmlnaHQ6CiAgICAgICAgICAgICAgICAgIFNV TlhJX0ZVTkNUSU9OKDB4MiwgImkyYzAiKSksICAgICAgICAgLyogU0RBICovCiAgVGhpcyBpcyBq dXN0IGEgY29tbWVudCwgc28gaGFzIG5vIHJlbGV2YW5jZSBmb3IgdGhlIGNvZGUsIGJ1dCBpdCdz IG5vdAogIG1lYW50IGZvciBodW1hbnMgZWl0aGVyLiBZZXQgd2UgdHJ5IHRvIG1ha2UgdGhpcyBj b3JyZWN0IGFuZCBtYWludGFpbgogIGl0LiBPZGQuCgpDaGVlcnMsCkFuZHJlCgotLSAKbGludXgt cGh5IG1haWxpbmcgbGlzdApsaW51eC1waHlAbGlzdHMuaW5mcmFkZWFkLm9yZwpodHRwczovL2xp c3RzLmluZnJhZGVhZC5vcmcvbWFpbG1hbi9saXN0aW5mby9saW51eC1waHkK