From mboxrd@z Thu Jan 1 00:00:00 1970 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="AcKxEqDW" Received: from mail-qv1-xf2a.google.com (mail-qv1-xf2a.google.com [IPv6:2607:f8b0:4864:20::f2a]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 7E4551738 for ; Fri, 8 Dec 2023 06:27:56 -0800 (PST) Received: by mail-qv1-xf2a.google.com with SMTP id 6a1803df08f44-67a948922aaso11457416d6.3 for ; Fri, 08 Dec 2023 06:27:56 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1702045675; x=1702650475; darn=vger.kernel.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=Y6tktGOmflBDjrD9owZW8jUp+CHgDfz/rbbtd4HS0Vg=; b=AcKxEqDWB30LUoTaGIxcjeHFnrqK0ABDkGOsbov3A8vTm7Yu0yQN4qekM/aJ3VZCTE nLWAGgtMYfDRmp7PU6nIwXuMxNejq7Hfg7LcbWjUXy9v3SnN4oeh6MsrFkxMTFiEQOup AL5QxcW08YlnSsJo9Px8vfcIcnigzDTGsCNdxrw5PzVjlcO4IC+LdDs63y+Wnb59j7jP FrEGejWh+Ywqw9qu/8UU5G62cN6+Sm+jDrU+LIEBik8tIDucfg7YXChDmYlaJKN1fYsZ D1E0HKOOQfN+giKLigY/J6X7KozqnbF7hwSR1JgDKI+RjdRr6OnGCJezZ5X6xFIlxUeb Wjfw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1702045675; x=1702650475; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=Y6tktGOmflBDjrD9owZW8jUp+CHgDfz/rbbtd4HS0Vg=; b=bztJZyABinrrbDslT3HbHsFFdYv2U0SqpznAQ0cr3fBVx/fyCGyD+0XHvqZOP3oY/I z/WTrQp3U0Hoi6+mehfbMPtypyPT4WZdS4aum8awlg7JsbHt1tPufu2lVVFOJ2KVxoNb s8al+v503NZ7EX3GOo3iMsBcFPDgFcIn4tfX8RlglrmJEwehg5F6SMo+kSIud4LeLEi8 yBeeSFH+nMgfH2ALH9bJ45hqOAABmzo0pbWrV1Z7wkoemXN2gxMPSVWcjPMRDQnWxf3O a99DE3YHJBL7OP1/XlkVKojq09zNQqirNqGRUUuay4SHBo7GOPYC428sr2ZQ8nCqhrD6 a2Mg== X-Gm-Message-State: AOJu0YwtJ2yyDXAUma9s5Pq9jBuIlCYeiowJDscau15dDTgkVwiAmIRI DAso/h5OFtOZFK2hN9rrOV7i6U9lLWvuzZtYPikeSg== X-Google-Smtp-Source: AGHT+IGbiA6FsS80GfwV+c82tNjaevxVqMuJe5EJncnQTyRiVvDHSd4AgX2BqsQb6YkJ2YjyEjuCQy/avC/S0mz+amg= X-Received: by 2002:ad4:5695:0:b0:67a:a721:e150 with SMTP id bd21-20020ad45695000000b0067aa721e150mr16777qvb.125.1702045675625; Fri, 08 Dec 2023 06:27:55 -0800 (PST) Precedence: bulk X-Mailing-List: linux-gpio@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 References: <20231201160925.3136868-1-peter.griffin@linaro.org> <20231201160925.3136868-13-peter.griffin@linaro.org> <20bf05b9d9ccc5c11ef17500ac7a97c46dd46a9a.camel@linaro.org> In-Reply-To: <20bf05b9d9ccc5c11ef17500ac7a97c46dd46a9a.camel@linaro.org> From: Peter Griffin Date: Fri, 8 Dec 2023 14:27:44 +0000 Message-ID: Subject: Re: [PATCH v5 12/20] clk: samsung: clk-gs101: Add cmu_top, cmu_misc and cmu_apm support To: =?UTF-8?Q?Andr=C3=A9_Draszik?= Cc: robh+dt@kernel.org, krzysztof.kozlowski+dt@linaro.org, mturquette@baylibre.com, conor+dt@kernel.org, sboyd@kernel.org, tomasz.figa@gmail.com, s.nawrocki@samsung.com, linus.walleij@linaro.org, wim@linux-watchdog.org, linux@roeck-us.net, catalin.marinas@arm.com, will@kernel.org, arnd@arndb.de, olof@lixom.net, gregkh@linuxfoundation.org, jirislaby@kernel.org, cw00.choi@samsung.com, alim.akhtar@samsung.com, tudor.ambarus@linaro.org, semen.protsenko@linaro.org, saravanak@google.com, willmcvicker@google.com, soc@kernel.org, devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-samsung-soc@vger.kernel.org, linux-clk@vger.kernel.org, linux-gpio@vger.kernel.org, linux-watchdog@vger.kernel.org, kernel-team@android.com, linux-serial@vger.kernel.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Hi Andr=C3=A9, Thanks for the review On Mon, 4 Dec 2023 at 17:51, Andr=C3=A9 Draszik = wrote: > > On Fri, 2023-12-01 at 16:09 +0000, Peter Griffin wrote: > > cmu_top is the top level clock management unit which contains PLLs, mux= es, > > dividers and gates that feed the other clock management units. > > > > cmu_misc clocks IPs such as Watchdog and cmu_apm clocks ips part of the > > APM module. > > > > Acked-by: Chanwoo Choi > > Tested-by: Will McVicker > > Signed-off-by: Peter Griffin > > --- > > drivers/clk/samsung/Makefile | 1 + > > drivers/clk/samsung/clk-gs101.c | 2495 +++++++++++++++++++++++++++++++ > > 2 files changed, 2496 insertions(+) > > create mode 100644 drivers/clk/samsung/clk-gs101.c > > > > diff --git a/drivers/clk/samsung/Makefile b/drivers/clk/samsung/Makefil= e > > index ebbeacabe88f..3056944a5a54 100644 > > --- a/drivers/clk/samsung/Makefile > > +++ b/drivers/clk/samsung/Makefile > > @@ -21,6 +21,7 @@ obj-$(CONFIG_EXYNOS_ARM64_COMMON_CLK) +=3D clk-= exynos7.o > > obj-$(CONFIG_EXYNOS_ARM64_COMMON_CLK) +=3D clk-exynos7885.o > > obj-$(CONFIG_EXYNOS_ARM64_COMMON_CLK) +=3D clk-exynos850.o > > obj-$(CONFIG_EXYNOS_ARM64_COMMON_CLK) +=3D clk-exynosautov9.o > > +obj-$(CONFIG_EXYNOS_ARM64_COMMON_CLK) +=3D clk-gs101.o > > obj-$(CONFIG_S3C64XX_COMMON_CLK) +=3D clk-s3c64xx.o > > obj-$(CONFIG_S5PV210_COMMON_CLK) +=3D clk-s5pv210.o clk-s5pv210-au= dss.o > > obj-$(CONFIG_TESLA_FSD_COMMON_CLK) +=3D clk-fsd.o > > diff --git a/drivers/clk/samsung/clk-gs101.c b/drivers/clk/samsung/clk-= gs101.c > > new file mode 100644 > > index 000000000000..6bd233a7ab63 > > --- /dev/null > > +++ b/drivers/clk/samsung/clk-gs101.c > > @@ -0,0 +1,2495 @@ > > +// SPDX-License-Identifier: GPL-2.0-only > > +/* > > + * Copyright (C) 2023 Linaro Ltd. > > + * Author: Peter Griffin > > + * > > + * Common Clock Framework support for GS101. > > + */ > > [...] > > + > > +/* List of parent clocks for Muxes in CMU_TOP: for CMU_HSI0 */ > > +PNAME(mout_cmu_hsi0_usb31drd_p) =3D { "oscclk", "dout_shared2_div= 2" }; > > + > > +PNAME(mout_cmu_hsi0_bus_p) =3D { "dout_shared0_div4", "dout_shared1_= div4", > > + "dout_shared2_div2", "dout_shared3_di= v2", > > + "fout_spare_pll" }; > > This should also be updated.... > > > [...] > > + MUX(CLK_MOUT_HSI0_BUS, "mout_cmu_hsi0_bus", mout_cmu_hsi0_bus_p, > > + CLK_CON_MUX_MUX_CLKCMU_HSI0_BUS, 0, 3), > > ...because we have 8 possibilities now. Interesting, unfortunately there is some discrepancy between the documentation again :( All the cmu_top clock parents were authored using the cmu_diagrams which only shows the 5 parents listed above. Checking the mux register definition it lists 5-7 as being oscclk 5=3Dosclk 6=3Dosclk 7=3Doscclk Downstream clock implementation lists these oscclk 5-7 as well, so I guess we should add them...sigh > (I didn't check the other parents, but you mentioned you updated field wi= dths > in other registers, too, so maybe need to double check the parent strings= as well) Yes I will go through and re-check these parent names again. Peter 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 7D504C10F05 for ; Fri, 8 Dec 2023 14:28:31 +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: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=Yb2FbA2IrgIOzGdi+oBm8R7BhWQdfOQO8+qSjiNKmYM=; b=DyZJSJgPg4//aX 1if24oZIV4JpsFzxRGPBS5QP19bGWnkkkKZIdQj2upSAFd1bNX/CwpZUDDl7QdifjbkiPbZR7WRCf 3JEhfWmp5UbPdz+e0QB3mdk4lYMTGVCP7m+rDG864qiQEgubkwXX2OyQbASHuS6zhi8pvd/tftM1Z t+7uET5OPUiil/UMBA0UC/RULvCICMrHauPwl8UjdkgEQShxKpf4zv0GjG793MSWGDWRt5LefAnaL ZnKgTSUomFE5nimxsCvnQtwx7yQFWlz7uLtCN2IofXK8evYLKaAUxlxqQtO13KKRh8ge/xTr+jDrn VlsNFBA+cQjaIBkks65A==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1rBbpi-00Fl8r-0O; Fri, 08 Dec 2023 14:28:02 +0000 Received: from mail-qv1-xf31.google.com ([2607:f8b0:4864:20::f31]) by bombadil.infradead.org with esmtps (Exim 4.96 #2 (Red Hat Linux)) id 1rBbpe-00Fl8P-3C for linux-arm-kernel@lists.infradead.org; Fri, 08 Dec 2023 14:28:00 +0000 Received: by mail-qv1-xf31.google.com with SMTP id 6a1803df08f44-67aa3b62c35so11626226d6.0 for ; Fri, 08 Dec 2023 06:27:56 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1702045675; x=1702650475; darn=lists.infradead.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=Y6tktGOmflBDjrD9owZW8jUp+CHgDfz/rbbtd4HS0Vg=; b=soqxYTKrf1OSXDrDXlUaxlznsfheHPl+bdt54kBz8Q1Y3AionpIziW2SsmcdCi0Kdf QfRl+3Xay17JaL7HJP28WtrL/XFzAYk2ddcsFtC+sXOu8HOI8mflFJysnd9S7Hi/pYVQ w026a01pDa3JjxaF+JtDVzQh5c99fSNHduDSUgqnfLaYMLWK2yb616xX8olAiCXZb1F4 ACMde7GI194RFxoKDt8hxWTNGt0Bet+BYKOycnwgt1qllywlX6x+uYoevAn5CoAaU+QN 1kGz5s39TH4IKRCpsv4sjvXrJs47YoxPHjMelrESThYJphdGrI/sbI6MZTi6D51MVtEf fiVQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1702045675; x=1702650475; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=Y6tktGOmflBDjrD9owZW8jUp+CHgDfz/rbbtd4HS0Vg=; b=koSmVpRGjbv0cE1RDkdN5gRdsn0Otyfq9SN/rFyDnoQWbrnse+P5mPUFxdVwA+kKTF gqoCq10Q1kGY0z3KhL5YqbeUo/7+4T4xuXtfMmxf7L622AN+bA9J3kMf8wsoSbcOWgBK U8kbh3LhCgo1iCsDSH4D51A7bp2pRE3/4eNApbJupKFrNEKkhrS/BNAOGxl0wMXIcLim PLqDQOoHdP7rpDO0YsxzWOD2stD2kFmCwemM/sMzjjI4qHZFlvc/KsCId+E7ZINn9yk7 Q+ooWrfOnQLBdOdg74PjtavKQDVP4JeujNBeXHhyQlpSNEPs4JsgEIp/rJJR5FZW+aPn 73DQ== X-Gm-Message-State: AOJu0YwVsiftrZhKRhE6ObqQwEknI3t+cdCbkJGu6Cf/32XNjuYDhx6Z MHBhF39ki86ST2ekJfcDuyVIn/rSiH5XbvVoU0Ae/w== X-Google-Smtp-Source: AGHT+IGbiA6FsS80GfwV+c82tNjaevxVqMuJe5EJncnQTyRiVvDHSd4AgX2BqsQb6YkJ2YjyEjuCQy/avC/S0mz+amg= X-Received: by 2002:ad4:5695:0:b0:67a:a721:e150 with SMTP id bd21-20020ad45695000000b0067aa721e150mr16777qvb.125.1702045675625; Fri, 08 Dec 2023 06:27:55 -0800 (PST) MIME-Version: 1.0 References: <20231201160925.3136868-1-peter.griffin@linaro.org> <20231201160925.3136868-13-peter.griffin@linaro.org> <20bf05b9d9ccc5c11ef17500ac7a97c46dd46a9a.camel@linaro.org> In-Reply-To: <20bf05b9d9ccc5c11ef17500ac7a97c46dd46a9a.camel@linaro.org> From: Peter Griffin Date: Fri, 8 Dec 2023 14:27:44 +0000 Message-ID: Subject: Re: [PATCH v5 12/20] clk: samsung: clk-gs101: Add cmu_top, cmu_misc and cmu_apm support To: =?UTF-8?Q?Andr=C3=A9_Draszik?= Cc: robh+dt@kernel.org, krzysztof.kozlowski+dt@linaro.org, mturquette@baylibre.com, conor+dt@kernel.org, sboyd@kernel.org, tomasz.figa@gmail.com, s.nawrocki@samsung.com, linus.walleij@linaro.org, wim@linux-watchdog.org, linux@roeck-us.net, catalin.marinas@arm.com, will@kernel.org, arnd@arndb.de, olof@lixom.net, gregkh@linuxfoundation.org, jirislaby@kernel.org, cw00.choi@samsung.com, alim.akhtar@samsung.com, tudor.ambarus@linaro.org, semen.protsenko@linaro.org, saravanak@google.com, willmcvicker@google.com, soc@kernel.org, devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-samsung-soc@vger.kernel.org, linux-clk@vger.kernel.org, linux-gpio@vger.kernel.org, linux-watchdog@vger.kernel.org, kernel-team@android.com, linux-serial@vger.kernel.org X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20231208_062759_061821_F77EA8C2 X-CRM114-Status: GOOD ( 23.15 ) 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 SGkgQW5kcsOpLAoKVGhhbmtzIGZvciB0aGUgcmV2aWV3CgpPbiBNb24sIDQgRGVjIDIwMjMgYXQg MTc6NTEsIEFuZHLDqSBEcmFzemlrIDxhbmRyZS5kcmFzemlrQGxpbmFyby5vcmc+IHdyb3RlOgo+ Cj4gT24gRnJpLCAyMDIzLTEyLTAxIGF0IDE2OjA5ICswMDAwLCBQZXRlciBHcmlmZmluIHdyb3Rl Ogo+ID4gY211X3RvcCBpcyB0aGUgdG9wIGxldmVsIGNsb2NrIG1hbmFnZW1lbnQgdW5pdCB3aGlj aCBjb250YWlucyBQTExzLCBtdXhlcywKPiA+IGRpdmlkZXJzIGFuZCBnYXRlcyB0aGF0IGZlZWQg dGhlIG90aGVyIGNsb2NrIG1hbmFnZW1lbnQgdW5pdHMuCj4gPgo+ID4gY211X21pc2MgY2xvY2tz IElQcyBzdWNoIGFzIFdhdGNoZG9nIGFuZCBjbXVfYXBtIGNsb2NrcyBpcHMgcGFydCBvZiB0aGUK PiA+IEFQTSBtb2R1bGUuCj4gPgo+ID4gQWNrZWQtYnk6IENoYW53b28gQ2hvaSA8Y3cwMC5jaG9p QHNhbXN1bmcuY29tPgo+ID4gVGVzdGVkLWJ5OiBXaWxsIE1jVmlja2VyIDx3aWxsbWN2aWNrZXJA Z29vZ2xlLmNvbT4KPiA+IFNpZ25lZC1vZmYtYnk6IFBldGVyIEdyaWZmaW4gPHBldGVyLmdyaWZm aW5AbGluYXJvLm9yZz4KPiA+IC0tLQo+ID4gIGRyaXZlcnMvY2xrL3NhbXN1bmcvTWFrZWZpbGUg ICAgfCAgICAxICsKPiA+ICBkcml2ZXJzL2Nsay9zYW1zdW5nL2Nsay1nczEwMS5jIHwgMjQ5NSAr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCj4gPiAgMiBmaWxlcyBjaGFuZ2VkLCAyNDk2 IGluc2VydGlvbnMoKykKPiA+ICBjcmVhdGUgbW9kZSAxMDA2NDQgZHJpdmVycy9jbGsvc2Ftc3Vu Zy9jbGstZ3MxMDEuYwo+ID4KPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2Nsay9zYW1zdW5nL01h a2VmaWxlIGIvZHJpdmVycy9jbGsvc2Ftc3VuZy9NYWtlZmlsZQo+ID4gaW5kZXggZWJiZWFjYWJl ODhmLi4zMDU2OTQ0YTVhNTQgMTAwNjQ0Cj4gPiAtLS0gYS9kcml2ZXJzL2Nsay9zYW1zdW5nL01h a2VmaWxlCj4gPiArKysgYi9kcml2ZXJzL2Nsay9zYW1zdW5nL01ha2VmaWxlCj4gPiBAQCAtMjEs NiArMjEsNyBAQCBvYmotJChDT05GSUdfRVhZTk9TX0FSTTY0X0NPTU1PTl9DTEspICAgICAgICs9 IGNsay1leHlub3M3Lm8KPiA+ICBvYmotJChDT05GSUdfRVhZTk9TX0FSTTY0X0NPTU1PTl9DTEsp ICAgICAgICArPSBjbGstZXh5bm9zNzg4NS5vCj4gPiAgb2JqLSQoQ09ORklHX0VYWU5PU19BUk02 NF9DT01NT05fQ0xLKSAgICAgICAgKz0gY2xrLWV4eW5vczg1MC5vCj4gPiAgb2JqLSQoQ09ORklH X0VYWU5PU19BUk02NF9DT01NT05fQ0xLKSAgICAgICAgKz0gY2xrLWV4eW5vc2F1dG92OS5vCj4g PiArb2JqLSQoQ09ORklHX0VYWU5PU19BUk02NF9DT01NT05fQ0xLKSAgICAgICAgKz0gY2xrLWdz MTAxLm8KPiA+ICBvYmotJChDT05GSUdfUzNDNjRYWF9DT01NT05fQ0xLKSAgICAgKz0gY2xrLXMz YzY0eHgubwo+ID4gIG9iai0kKENPTkZJR19TNVBWMjEwX0NPTU1PTl9DTEspICAgICArPSBjbGst czVwdjIxMC5vIGNsay1zNXB2MjEwLWF1ZHNzLm8KPiA+ICBvYmotJChDT05GSUdfVEVTTEFfRlNE X0NPTU1PTl9DTEspICAgKz0gY2xrLWZzZC5vCj4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9jbGsv c2Ftc3VuZy9jbGstZ3MxMDEuYyBiL2RyaXZlcnMvY2xrL3NhbXN1bmcvY2xrLWdzMTAxLmMKPiA+ IG5ldyBmaWxlIG1vZGUgMTAwNjQ0Cj4gPiBpbmRleCAwMDAwMDAwMDAwMDAuLjZiZDIzM2E3YWI2 Mwo+ID4gLS0tIC9kZXYvbnVsbAo+ID4gKysrIGIvZHJpdmVycy9jbGsvc2Ftc3VuZy9jbGstZ3Mx MDEuYwo+ID4gQEAgLTAsMCArMSwyNDk1IEBACj4gPiArLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZp ZXI6IEdQTC0yLjAtb25seQo+ID4gKy8qCj4gPiArICogQ29weXJpZ2h0IChDKSAyMDIzIExpbmFy byBMdGQuCj4gPiArICogQXV0aG9yOiBQZXRlciBHcmlmZmluIDxwZXRlci5ncmlmZmluQGxpbmFy by5vcmc+Cj4gPiArICoKPiA+ICsgKiBDb21tb24gQ2xvY2sgRnJhbWV3b3JrIHN1cHBvcnQgZm9y IEdTMTAxLgo+ID4gKyAqLwo+ID4gWy4uLl0KPiA+ICsKPiA+ICsvKiBMaXN0IG9mIHBhcmVudCBj bG9ja3MgZm9yIE11eGVzIGluIENNVV9UT1A6IGZvciBDTVVfSFNJMCAqLwo+ID4gK1BOQU1FKG1v dXRfY211X2hzaTBfdXNiMzFkcmRfcCkgICAgICA9IHsgIm9zY2NsayIsICJkb3V0X3NoYXJlZDJf ZGl2MiIgfTsKPiA+ICsKPiA+ICtQTkFNRShtb3V0X2NtdV9oc2kwX2J1c19wKSAgID0geyAiZG91 dF9zaGFyZWQwX2RpdjQiLCAiZG91dF9zaGFyZWQxX2RpdjQiLAo+ID4gKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICJkb3V0X3NoYXJlZDJfZGl2MiIsICJkb3V0X3NoYXJlZDNfZGl2 MiIsCj4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImZvdXRfc3BhcmVfcGxs IiB9Owo+Cj4gVGhpcyBzaG91bGQgYWxzbyBiZSB1cGRhdGVkLi4uLgo+Cj4gPiBbLi4uXQo+ID4g KyAgICAgTVVYKENMS19NT1VUX0hTSTBfQlVTLCAibW91dF9jbXVfaHNpMF9idXMiLCBtb3V0X2Nt dV9oc2kwX2J1c19wLAo+ID4gKyAgICAgICAgIENMS19DT05fTVVYX01VWF9DTEtDTVVfSFNJMF9C VVMsIDAsIDMpLAo+Cj4gLi4uYmVjYXVzZSB3ZSBoYXZlIDggcG9zc2liaWxpdGllcyBub3cuCgpJ bnRlcmVzdGluZywgdW5mb3J0dW5hdGVseSB0aGVyZSBpcyBzb21lIGRpc2NyZXBhbmN5IGJldHdl ZW4gdGhlCmRvY3VtZW50YXRpb24gYWdhaW4gOiggQWxsIHRoZSBjbXVfdG9wIGNsb2NrIHBhcmVu dHMgd2VyZSBhdXRob3JlZAp1c2luZyB0aGUgY211X2RpYWdyYW1zIHdoaWNoIG9ubHkgc2hvd3Mg dGhlIDUgcGFyZW50cyBsaXN0ZWQgYWJvdmUuCkNoZWNraW5nIHRoZSBtdXggcmVnaXN0ZXIgZGVm aW5pdGlvbiBpdCBsaXN0cyA1LTcgYXMgYmVpbmcgb3NjY2xrCjU9b3NjbGsKNj1vc2Nsawo3PW9z Y2NsawoKRG93bnN0cmVhbSBjbG9jayBpbXBsZW1lbnRhdGlvbiBsaXN0cyB0aGVzZSBvc2NjbGsg NS03IGFzIHdlbGwsIHNvIEkKZ3Vlc3Mgd2Ugc2hvdWxkIGFkZCB0aGVtLi4uc2lnaAoKPiAoSSBk aWRuJ3QgY2hlY2sgdGhlIG90aGVyIHBhcmVudHMsIGJ1dCB5b3UgbWVudGlvbmVkIHlvdSB1cGRh dGVkIGZpZWxkIHdpZHRocwo+IGluIG90aGVyIHJlZ2lzdGVycywgdG9vLCBzbyBtYXliZSBuZWVk IHRvIGRvdWJsZSBjaGVjayB0aGUgcGFyZW50IHN0cmluZ3MgYXMgd2VsbCkKClllcyBJIHdpbGwg Z28gdGhyb3VnaCBhbmQgcmUtY2hlY2sgdGhlc2UgcGFyZW50IG5hbWVzIGFnYWluLgoKUGV0ZXIK Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmxpbnV4LWFy bS1rZXJuZWwgbWFpbGluZyBsaXN0CmxpbnV4LWFybS1rZXJuZWxAbGlzdHMuaW5mcmFkZWFkLm9y ZwpodHRwOi8vbGlzdHMuaW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2xpbnV4LWFybS1r ZXJuZWwK