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 X-Spam-Level: X-Spam-Status: No, score=-20.8 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER, INCLUDES_PATCH,MAILING_LIST_MULTI,MENTIONS_GIT_HOSTING,SPF_HELO_NONE,SPF_PASS, URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 2DF33C432BE for ; Fri, 6 Aug 2021 16:57:59 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 0CDFE603E7 for ; Fri, 6 Aug 2021 16:57:59 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S239656AbhHFQ6N (ORCPT ); Fri, 6 Aug 2021 12:58:13 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:36028 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S239576AbhHFQ6N (ORCPT ); Fri, 6 Aug 2021 12:58:13 -0400 Received: from mail-vs1-xe30.google.com (mail-vs1-xe30.google.com [IPv6:2607:f8b0:4864:20::e30]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 0F405C06179B for ; Fri, 6 Aug 2021 09:57:57 -0700 (PDT) Received: by mail-vs1-xe30.google.com with SMTP id a8so5638427vsl.4 for ; Fri, 06 Aug 2021 09:57:56 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=jyRdCsrj1GlEr3i17zCrA/RuqWCQgwoVhsTIqjVReGU=; b=nw1Ts52SCu6B1wsbHInWfDu47KHigBfQozSZLjBb5uG4y8/sFe4OzQZByR10dzSDEs VpeJMGrhJ4imYXUKE407mfRV/2sXCbQdp5Xgmmh8mxxdafY5TAYqvoA7yiD/X1OBJfDv L38Qz5zSW759Tlgb4Re6g7MVPiM120RfUVHS8XfxJEZdfEjK+QTf40Gx7FdUgzYvLs3O 7i4rU/tFT/CTMvwz2RBJem3GMzZehap/lEWlgCBkZ2F7vtXIZ4GH4O5ex6HqecyGdJYb jRuiffdHUN8YpCLTZ5ryZeEVHQzo7JSv9v3Omt524ezJTQciAhiRlSJMCKZf2/Q+LwXz hUXg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc:content-transfer-encoding; bh=jyRdCsrj1GlEr3i17zCrA/RuqWCQgwoVhsTIqjVReGU=; b=MgYxgakDq5cSuSIJP37auUgqMFFJYY1Cvw5pLIZAJqM9vjfOQPQLEL1MNhUKNhQUNa FUywkVSNUT9k0rF3EGi02rFIRtW2YJo+HLk9j9c09MhOCFbvI48hNCxG1l9ra9pI63sc tmLGOLUEy1089pL/UhxCxGzyercWMB1hy6l5uEupOQzu+XDGq7Z9UqSZ2cjyswsp39SW MNeDGchQ554P8cYOCV2Dm8+489NzR7BIxuwoitwybYPA12QD+/fqU/VpnG1FlFeqmYRP SeE+srdi56Q2ewembDT8/wOoR6vYJmSXK//VrD0Im8a7LoZojD7qmjv+RgK8MuaX/JpX Gkvw== X-Gm-Message-State: AOAM530S2LjHQUfaeRV3D49ZhCdHCnGrAqkVGDbYQpPdmz/dXkqWoGOZ eIGDyL7TxUMeraLddy/Ze5U0A/Zf0vusz0zXHd2tGg== X-Google-Smtp-Source: ABdhPJzTq25yNSWiZXX2jLUbzoFsDlhmE5adtlQiqtv29jZT5m3Z+k1kQXXoo4aeW5KqY9IKZmmCWimAcVFI3/TcDgk= X-Received: by 2002:a05:6102:ecb:: with SMTP id m11mr9911739vst.34.1628269075986; Fri, 06 Aug 2021 09:57:55 -0700 (PDT) MIME-Version: 1.0 References: <20210730144922.29111-1-semen.protsenko@linaro.org> <20210730144922.29111-13-semen.protsenko@linaro.org> <455cfb5e-dff7-a5c0-3875-49abe3e900f3@canonical.com> <68734f6c-fc76-595c-8d34-8924dbbbb845@canonical.com> In-Reply-To: From: Sam Protsenko Date: Fri, 6 Aug 2021 19:57:43 +0300 Message-ID: Subject: Re: [PATCH 12/12] arm64: dts: exynos: Add Exynos850 SoC support To: Krzysztof Kozlowski Cc: =?UTF-8?Q?Pawe=C5=82_Chmiel?= , Sylwester Nawrocki , Chanwoo Choi , Linus Walleij , Tomasz Figa , Rob Herring , Stephen Boyd , Michael Turquette , Jiri Slaby , Greg Kroah-Hartman , Charles Keepax , Ryu Euiyoul , Tom Gall , Sumit Semwal , John Stultz , Amit Pundir , devicetree , linux-arm Mailing List , linux-clk , "open list:GPIO SUBSYSTEM" , Linux Kernel Mailing List , Linux Samsung SOC , "open list:SERIAL DRIVERS" Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-gpio@vger.kernel.org On Fri, 6 Aug 2021 at 15:48, Krzysztof Kozlowski wrote: > > On 06/08/2021 14:32, Krzysztof Kozlowski wrote: > > On 06/08/2021 14:07, Sam Protsenko wrote: > >> On Fri, 6 Aug 2021 at 10:49, Krzysztof Kozlowski > >> wrote: > >>> > >>> On 06/08/2021 01:06, Sam Protsenko wrote: > >>>> On Sat, 31 Jul 2021 at 12:03, Krzysztof Kozlowski > >>>> wrote: > >>>> > >>>>>> > >>>>>> This patch adds minimal SoC support. Particular board device tree = files > >>>>>> can include exynos850.dtsi file to get SoC related nodes, and then > >>>>>> reference those nodes further as needed. > >>>>>> > >>>>>> Signed-off-by: Sam Protsenko > >>>>>> --- > >>>>>> .../boot/dts/exynos/exynos850-pinctrl.dtsi | 782 +++++++++++++= +++++ > >>>>>> arch/arm64/boot/dts/exynos/exynos850-usi.dtsi | 30 + > >>>>>> arch/arm64/boot/dts/exynos/exynos850.dtsi | 245 ++++++ > >>>>> > >>>>> Not buildable. Missing Makefile, missing DTS. Please submit with in= itial > >>>>> DTS, otherwise no one is able to verify it even compiles. > >>>>> > >>>> > >>>> This device is not available for purchase yet. I'll send the patch f= or > >>>> board dts once it's announced. I can do all the testing for now, if > >>>> you have any specific requests. Would it be possible for us to revie= w > >>>> and apply only SoC support for now? Will send v2 soon... > >>> > >>> What you propose is equal to adding a driver (C source code) without > >>> ability to compile it. What's the point of having it in the kernel? I= t's > >>> unverifiable, unbuildable and unusable. > >>> > >> > >> Yes, I understand. That's adding code with no users, and it's not a > >> good practice. > >> > >>> We can review the DTSI however merging has to be with a DTS. Usually = the > >>> SoC vendor adds first an evalkit (e.g. SMDK board). Maybe you have on= e > >>> for Exynos850? Otherwise if you cannot disclose the actual board, the > >>> DTSI will have to wait. You can submit drivers, though. > >>> > >> > >> Sure, let's go this way. I'll send v2 soon. Improving patches and > >> having Reviewed-by tag for those would good enough for me at this > >> point. I'll continue to prepare another Exynos850 related patches > >> until the actual board is announced, like proper clock driver, reset, > >> MMC, etc. Is it ok if I send those for a review too (so I can fix all > >> issues ahead)? > > > > Sure, prepare all necessary drivers earlier. I suspect clocks will be a > > real pain because of significant changes modeled in vendor kernel. I > > remember Pawe=C5=82 Chmiel (+Cc) was doing something for these: > > https://github.com/PabloPL/linux/tree/exynos7420 > > > > I mentioned before - you should also modify the chipid driver. Check > > also other drivers in drivers/soc/samsung, although some are needed onl= y > > for suspend&resume. > > Yes, in due course... There won't be much problems with chip-id driver. But pretty much all platform drivers depend on clk, and that one I'm afraid I'll have to implement from scratch. Will take me a while, as vendor's codebase for clk driver is huge and depend on another huge non-upstreamable abstraction layer framework they have, and also they have kind of strange home brewed composite clocks... Anyway, that's what I'm going to look into next. Btw, I just sent v2 :) > > You can also take a look at Exynos8895 efforts: > https://github.com/ivoszbg/linux/commits/for-upstream/exynos8895 > > Since knowledge, datasheets and efforts are quite spread all over, I > keep track of some work here: > https://exynos.wiki.kernel.org/community > Thanks, Krzysztof! I'm sure that info will help a lot with further work, like clock driver. > > Best regards, > Krzysztof 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 X-Spam-Level: X-Spam-Status: No, score=-19.4 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER, INCLUDES_PATCH,MAILING_LIST_MULTI,MENTIONS_GIT_HOSTING,SPF_HELO_NONE,SPF_PASS, URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 88FBEC4320A for ; Fri, 6 Aug 2021 16:59:51 +0000 (UTC) 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 mail.kernel.org (Postfix) with ESMTPS id 54916611CB for ; Fri, 6 Aug 2021 16:59:51 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.4.1 mail.kernel.org 54916611CB Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=linaro.org Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=lists.infradead.org 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:Cc:To:Subject:Message-ID:Date:From: In-Reply-To:References:MIME-Version:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=zag7Q0J8npwc18m86AmkeUTvGZtrtb8SEdfg2R6Xi9I=; b=AQHIRf13cBbIqj PDspQ8Xdbk6ElgumoTjYmXb5/cF+re4RHwH9B7TweNxQYJR0dREskG0flK0rRdnMB97FWy6aUNTby Rl3pKau9LdXz0SY4NQWtKETW7LQc4HBX/I7W2kH7VjNzn4clZNDlIpyR19AIlRxAMO7NK6/ePFzWn 5tXmSwRvV6wuklIRA3h3d537HDvm9sW//JgpbZRz7Bq+1HB6GgWt4VfRR84TESLJ+QUGAniSxvh+w GB1l3iPRXtrZloWGx8EirZbXXycLe9szA2RKQdjYuEvP0S+DUMJtZIs9EvYeK4AOuahnbAizbI9RY VNAKRljq8ZzIrA92u6ig==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1mC3Ad-00CzWN-2v; Fri, 06 Aug 2021 16:58:07 +0000 Received: from mail-vs1-xe35.google.com ([2607:f8b0:4864:20::e35]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1mC3AT-00CzRK-PX for linux-arm-kernel@lists.infradead.org; Fri, 06 Aug 2021 16:57:59 +0000 Received: by mail-vs1-xe35.google.com with SMTP id t29so5637800vsr.5 for ; Fri, 06 Aug 2021 09:57:56 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=jyRdCsrj1GlEr3i17zCrA/RuqWCQgwoVhsTIqjVReGU=; b=nw1Ts52SCu6B1wsbHInWfDu47KHigBfQozSZLjBb5uG4y8/sFe4OzQZByR10dzSDEs VpeJMGrhJ4imYXUKE407mfRV/2sXCbQdp5Xgmmh8mxxdafY5TAYqvoA7yiD/X1OBJfDv L38Qz5zSW759Tlgb4Re6g7MVPiM120RfUVHS8XfxJEZdfEjK+QTf40Gx7FdUgzYvLs3O 7i4rU/tFT/CTMvwz2RBJem3GMzZehap/lEWlgCBkZ2F7vtXIZ4GH4O5ex6HqecyGdJYb jRuiffdHUN8YpCLTZ5ryZeEVHQzo7JSv9v3Omt524ezJTQciAhiRlSJMCKZf2/Q+LwXz hUXg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc:content-transfer-encoding; bh=jyRdCsrj1GlEr3i17zCrA/RuqWCQgwoVhsTIqjVReGU=; b=TipK0z8ivTLtIBBgCU3ENSICyN9wXqZ8TZka8nCsxHaf3wcDQmSG43Tl/Rbs/lnsnr vh2/JO3FY1s5KNhNbrglqSmq1DzU4yJQUBta4dWGQpvtMq79pu4M+SxnAKyAQitlsy/3 J72qFp8mNhK43yFcEo8Qx9BvJ8C0TCuB/7CRVh23du3tywGxGjKZYqVc1B3vr77q9thI Nxz/yFoj6TJou5tKpvvuf3EL1+pdjVEgirmfSMEbnltWUl3pOuuRv07AgI1BiFkBJtqV zHMwCCXUVQrVkIONn3z1p1bspo7wis5g+zTqu1+pFeo7MT9sGZC2O4SlRU49fczdq3Op TVEg== X-Gm-Message-State: AOAM530FLtFCJX0aD+ZR5SfbR0BJ/CxuEtwoHF25zTQfZtcyFkT6SiKy qoWSx14xUhqjHB7Tf13lvpOQFjp6uEuU2m/vZFaggw== X-Google-Smtp-Source: ABdhPJzTq25yNSWiZXX2jLUbzoFsDlhmE5adtlQiqtv29jZT5m3Z+k1kQXXoo4aeW5KqY9IKZmmCWimAcVFI3/TcDgk= X-Received: by 2002:a05:6102:ecb:: with SMTP id m11mr9911739vst.34.1628269075986; Fri, 06 Aug 2021 09:57:55 -0700 (PDT) MIME-Version: 1.0 References: <20210730144922.29111-1-semen.protsenko@linaro.org> <20210730144922.29111-13-semen.protsenko@linaro.org> <455cfb5e-dff7-a5c0-3875-49abe3e900f3@canonical.com> <68734f6c-fc76-595c-8d34-8924dbbbb845@canonical.com> In-Reply-To: From: Sam Protsenko Date: Fri, 6 Aug 2021 19:57:43 +0300 Message-ID: Subject: Re: [PATCH 12/12] arm64: dts: exynos: Add Exynos850 SoC support To: Krzysztof Kozlowski Cc: =?UTF-8?Q?Pawe=C5=82_Chmiel?= , Sylwester Nawrocki , Chanwoo Choi , Linus Walleij , Tomasz Figa , Rob Herring , Stephen Boyd , Michael Turquette , Jiri Slaby , Greg Kroah-Hartman , Charles Keepax , Ryu Euiyoul , Tom Gall , Sumit Semwal , John Stultz , Amit Pundir , devicetree , linux-arm Mailing List , linux-clk , "open list:GPIO SUBSYSTEM" , Linux Kernel Mailing List , Linux Samsung SOC , "open list:SERIAL DRIVERS" X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20210806_095757_882840_ADF1ABD3 X-CRM114-Status: GOOD ( 32.34 ) X-BeenThere: linux-arm-kernel@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-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org T24gRnJpLCA2IEF1ZyAyMDIxIGF0IDE1OjQ4LCBLcnp5c3p0b2YgS296bG93c2tpCjxrcnp5c3p0 b2Yua296bG93c2tpQGNhbm9uaWNhbC5jb20+IHdyb3RlOgo+Cj4gT24gMDYvMDgvMjAyMSAxNDoz MiwgS3J6eXN6dG9mIEtvemxvd3NraSB3cm90ZToKPiA+IE9uIDA2LzA4LzIwMjEgMTQ6MDcsIFNh bSBQcm90c2Vua28gd3JvdGU6Cj4gPj4gT24gRnJpLCA2IEF1ZyAyMDIxIGF0IDEwOjQ5LCBLcnp5 c3p0b2YgS296bG93c2tpCj4gPj4gPGtyenlzenRvZi5rb3psb3dza2lAY2Fub25pY2FsLmNvbT4g d3JvdGU6Cj4gPj4+Cj4gPj4+IE9uIDA2LzA4LzIwMjEgMDE6MDYsIFNhbSBQcm90c2Vua28gd3Jv dGU6Cj4gPj4+PiBPbiBTYXQsIDMxIEp1bCAyMDIxIGF0IDEyOjAzLCBLcnp5c3p0b2YgS296bG93 c2tpCj4gPj4+PiA8a3J6eXN6dG9mLmtvemxvd3NraUBjYW5vbmljYWwuY29tPiB3cm90ZToKPiA+ Pj4+Cj4gPj4+Pj4+Cj4gPj4+Pj4+IFRoaXMgcGF0Y2ggYWRkcyBtaW5pbWFsIFNvQyBzdXBwb3J0 LiBQYXJ0aWN1bGFyIGJvYXJkIGRldmljZSB0cmVlIGZpbGVzCj4gPj4+Pj4+IGNhbiBpbmNsdWRl IGV4eW5vczg1MC5kdHNpIGZpbGUgdG8gZ2V0IFNvQyByZWxhdGVkIG5vZGVzLCBhbmQgdGhlbgo+ ID4+Pj4+PiByZWZlcmVuY2UgdGhvc2Ugbm9kZXMgZnVydGhlciBhcyBuZWVkZWQuCj4gPj4+Pj4+ Cj4gPj4+Pj4+IFNpZ25lZC1vZmYtYnk6IFNhbSBQcm90c2Vua28gPHNlbWVuLnByb3RzZW5rb0Bs aW5hcm8ub3JnPgo+ID4+Pj4+PiAtLS0KPiA+Pj4+Pj4gIC4uLi9ib290L2R0cy9leHlub3MvZXh5 bm9zODUwLXBpbmN0cmwuZHRzaSAgICB8IDc4MiArKysrKysrKysrKysrKysrKysKPiA+Pj4+Pj4g IGFyY2gvYXJtNjQvYm9vdC9kdHMvZXh5bm9zL2V4eW5vczg1MC11c2kuZHRzaSB8ICAzMCArCj4g Pj4+Pj4+ICBhcmNoL2FybTY0L2Jvb3QvZHRzL2V4eW5vcy9leHlub3M4NTAuZHRzaSAgICAgfCAy NDUgKysrKysrCj4gPj4+Pj4KPiA+Pj4+PiBOb3QgYnVpbGRhYmxlLiBNaXNzaW5nIE1ha2VmaWxl LCBtaXNzaW5nIERUUy4gUGxlYXNlIHN1Ym1pdCB3aXRoIGluaXRpYWwKPiA+Pj4+PiBEVFMsIG90 aGVyd2lzZSBubyBvbmUgaXMgYWJsZSB0byB2ZXJpZnkgaXQgZXZlbiBjb21waWxlcy4KPiA+Pj4+ Pgo+ID4+Pj4KPiA+Pj4+IFRoaXMgZGV2aWNlIGlzIG5vdCBhdmFpbGFibGUgZm9yIHB1cmNoYXNl IHlldC4gSSdsbCBzZW5kIHRoZSBwYXRjaCBmb3IKPiA+Pj4+IGJvYXJkIGR0cyBvbmNlIGl0J3Mg YW5ub3VuY2VkLiBJIGNhbiBkbyBhbGwgdGhlIHRlc3RpbmcgZm9yIG5vdywgaWYKPiA+Pj4+IHlv dSBoYXZlIGFueSBzcGVjaWZpYyByZXF1ZXN0cy4gV291bGQgaXQgYmUgcG9zc2libGUgZm9yIHVz IHRvIHJldmlldwo+ID4+Pj4gYW5kIGFwcGx5IG9ubHkgU29DIHN1cHBvcnQgZm9yIG5vdz8gV2ls bCBzZW5kIHYyIHNvb24uLi4KPiA+Pj4KPiA+Pj4gV2hhdCB5b3UgcHJvcG9zZSBpcyBlcXVhbCB0 byBhZGRpbmcgYSBkcml2ZXIgKEMgc291cmNlIGNvZGUpIHdpdGhvdXQKPiA+Pj4gYWJpbGl0eSB0 byBjb21waWxlIGl0LiBXaGF0J3MgdGhlIHBvaW50IG9mIGhhdmluZyBpdCBpbiB0aGUga2VybmVs PyBJdCdzCj4gPj4+IHVudmVyaWZpYWJsZSwgdW5idWlsZGFibGUgYW5kIHVudXNhYmxlLgo+ID4+ Pgo+ID4+Cj4gPj4gWWVzLCBJIHVuZGVyc3RhbmQuIFRoYXQncyBhZGRpbmcgY29kZSB3aXRoIG5v IHVzZXJzLCBhbmQgaXQncyBub3QgYQo+ID4+IGdvb2QgcHJhY3RpY2UuCj4gPj4KPiA+Pj4gV2Ug Y2FuIHJldmlldyB0aGUgRFRTSSBob3dldmVyIG1lcmdpbmcgaGFzIHRvIGJlIHdpdGggYSBEVFMu IFVzdWFsbHkgdGhlCj4gPj4+IFNvQyB2ZW5kb3IgYWRkcyBmaXJzdCBhbiBldmFsa2l0IChlLmcu IFNNREsgYm9hcmQpLiBNYXliZSB5b3UgaGF2ZSBvbmUKPiA+Pj4gZm9yIEV4eW5vczg1MD8gT3Ro ZXJ3aXNlIGlmIHlvdSBjYW5ub3QgZGlzY2xvc2UgdGhlIGFjdHVhbCBib2FyZCwgdGhlCj4gPj4+ IERUU0kgd2lsbCBoYXZlIHRvIHdhaXQuIFlvdSBjYW4gc3VibWl0IGRyaXZlcnMsIHRob3VnaC4K PiA+Pj4KPiA+Pgo+ID4+IFN1cmUsIGxldCdzIGdvIHRoaXMgd2F5LiBJJ2xsIHNlbmQgdjIgc29v bi4gSW1wcm92aW5nIHBhdGNoZXMgYW5kCj4gPj4gaGF2aW5nIFJldmlld2VkLWJ5IHRhZyBmb3Ig dGhvc2Ugd291bGQgZ29vZCBlbm91Z2ggZm9yIG1lIGF0IHRoaXMKPiA+PiBwb2ludC4gSSdsbCBj b250aW51ZSB0byBwcmVwYXJlIGFub3RoZXIgRXh5bm9zODUwIHJlbGF0ZWQgcGF0Y2hlcwo+ID4+ IHVudGlsIHRoZSBhY3R1YWwgYm9hcmQgaXMgYW5ub3VuY2VkLCBsaWtlIHByb3BlciBjbG9jayBk cml2ZXIsIHJlc2V0LAo+ID4+IE1NQywgZXRjLiBJcyBpdCBvayBpZiBJIHNlbmQgdGhvc2UgZm9y IGEgcmV2aWV3IHRvbyAoc28gSSBjYW4gZml4IGFsbAo+ID4+IGlzc3VlcyBhaGVhZCk/Cj4gPgo+ ID4gU3VyZSwgcHJlcGFyZSBhbGwgbmVjZXNzYXJ5IGRyaXZlcnMgZWFybGllci4gSSBzdXNwZWN0 IGNsb2NrcyB3aWxsIGJlIGEKPiA+IHJlYWwgcGFpbiBiZWNhdXNlIG9mIHNpZ25pZmljYW50IGNo YW5nZXMgbW9kZWxlZCBpbiB2ZW5kb3Iga2VybmVsLiBJCj4gPiByZW1lbWJlciBQYXdlxYIgQ2ht aWVsICgrQ2MpIHdhcyBkb2luZyBzb21ldGhpbmcgZm9yIHRoZXNlOgo+ID4gaHR0cHM6Ly9naXRo dWIuY29tL1BhYmxvUEwvbGludXgvdHJlZS9leHlub3M3NDIwCj4gPgo+ID4gSSBtZW50aW9uZWQg YmVmb3JlIC0geW91IHNob3VsZCBhbHNvIG1vZGlmeSB0aGUgY2hpcGlkIGRyaXZlci4gQ2hlY2sK PiA+IGFsc28gb3RoZXIgZHJpdmVycyBpbiBkcml2ZXJzL3NvYy9zYW1zdW5nLCBhbHRob3VnaCBz b21lIGFyZSBuZWVkZWQgb25seQo+ID4gZm9yIHN1c3BlbmQmcmVzdW1lLgo+ID4KClllcywgaW4g ZHVlIGNvdXJzZS4uLiBUaGVyZSB3b24ndCBiZSBtdWNoIHByb2JsZW1zIHdpdGggY2hpcC1pZApk cml2ZXIuIEJ1dCBwcmV0dHkgbXVjaCBhbGwgcGxhdGZvcm0gZHJpdmVycyBkZXBlbmQgb24gY2xr LCBhbmQgdGhhdApvbmUgSSdtIGFmcmFpZCBJJ2xsIGhhdmUgdG8gaW1wbGVtZW50IGZyb20gc2Ny YXRjaC4gV2lsbCB0YWtlIG1lIGEKd2hpbGUsIGFzIHZlbmRvcidzIGNvZGViYXNlIGZvciBjbGsg ZHJpdmVyIGlzIGh1Z2UgYW5kIGRlcGVuZCBvbgphbm90aGVyIGh1Z2Ugbm9uLXVwc3RyZWFtYWJs ZSBhYnN0cmFjdGlvbiBsYXllciBmcmFtZXdvcmsgdGhleSBoYXZlLAphbmQgYWxzbyB0aGV5IGhh dmUga2luZCBvZiBzdHJhbmdlIGhvbWUgYnJld2VkIGNvbXBvc2l0ZSBjbG9ja3MuLi4KQW55d2F5 LCB0aGF0J3Mgd2hhdCBJJ20gZ29pbmcgdG8gbG9vayBpbnRvIG5leHQuCgpCdHcsIEkganVzdCBz ZW50IHYyIDopCgo+Cj4gWW91IGNhbiBhbHNvIHRha2UgYSBsb29rIGF0IEV4eW5vczg4OTUgZWZm b3J0czoKPiBodHRwczovL2dpdGh1Yi5jb20vaXZvc3piZy9saW51eC9jb21taXRzL2Zvci11cHN0 cmVhbS9leHlub3M4ODk1Cj4KPiBTaW5jZSBrbm93bGVkZ2UsIGRhdGFzaGVldHMgYW5kIGVmZm9y dHMgYXJlIHF1aXRlIHNwcmVhZCBhbGwgb3ZlciwgSQo+IGtlZXAgdHJhY2sgb2Ygc29tZSB3b3Jr IGhlcmU6Cj4gaHR0cHM6Ly9leHlub3Mud2lraS5rZXJuZWwub3JnL2NvbW11bml0eQo+CgpUaGFu a3MsIEtyenlzenRvZiEgSSdtIHN1cmUgdGhhdCBpbmZvIHdpbGwgaGVscCBhIGxvdCB3aXRoIGZ1 cnRoZXIKd29yaywgbGlrZSBjbG9jayBkcml2ZXIuCgo+Cj4gQmVzdCByZWdhcmRzLAo+IEtyenlz enRvZgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KbGlu dXgtYXJtLWtlcm5lbCBtYWlsaW5nIGxpc3QKbGludXgtYXJtLWtlcm5lbEBsaXN0cy5pbmZyYWRl YWQub3JnCmh0dHA6Ly9saXN0cy5pbmZyYWRlYWQub3JnL21haWxtYW4vbGlzdGluZm8vbGludXgt YXJtLWtlcm5lbAo=