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=-5.6 required=3.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,INCLUDES_PATCH,MAILING_LIST_MULTI,SPF_PASS, URIBL_BLOCKED,USER_AGENT_MUTT 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 9D731C43381 for ; Wed, 20 Mar 2019 08:19:20 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 6E47B21871 for ; Wed, 20 Mar 2019 08:19:20 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1553069960; bh=nkM+KtRVPjQUt1pQmj9DalXM/7+xvh8bqtVNzoBCheQ=; h=Date:From:To:Cc:Subject:References:In-Reply-To:List-ID:From; b=j5UizZApbw/UsZ2hm2vQdz5tEq99bUO0BIOMvuuq51xgC8WgnQDs+tf6ZeVYD6WG5 7UL4OsSeqK+kLqdE+8Ubu7dKqhRnM18B32RHeWB3qQh7r9wjlbx3bxsk4m5Ijyfgcg K0A76uh+TN4YzzERoG8jSqBDvsRnm4pxLHVfn3SM= Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727837AbfCTITT (ORCPT ); Wed, 20 Mar 2019 04:19:19 -0400 Received: from mail.kernel.org ([198.145.29.99]:58250 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725996AbfCTITS (ORCPT ); Wed, 20 Mar 2019 04:19:18 -0400 Received: from dragon (98.142.130.235.16clouds.com [98.142.130.235]) (using TLSv1.2 with cipher DHE-RSA-AES128-SHA (128/128 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 79C0C20657; Wed, 20 Mar 2019 08:19:12 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1553069956; bh=nkM+KtRVPjQUt1pQmj9DalXM/7+xvh8bqtVNzoBCheQ=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=RGvogefzjixxnh/ZE1SX1tpWVM5SQdUinz9ZNVaSv/nueFt6jUWAxQRazzLhvrdkD sMkhl9hZScXnD0vj62XWuzVxxIwA9WfvDYX5G9NteR0DbiAObTqJPUQanU1LRcF/E+ 9J9BOeI9InyBCACqgfih9J2hqEugTLlYsy+UqBxQ= Date: Wed, 20 Mar 2019 16:18:55 +0800 From: Shawn Guo To: Andy Tang Cc: Daniel Lezcano , "mark.rutland@arm.com" , "devicetree@vger.kernel.org" , "linux-pm@vger.kernel.org" , "linux-kernel@vger.kernel.org" , Leo Li , "edubezval@gmail.com" , "robh+dt@kernel.org" , "rui.zhang@intel.com" , "linux-arm-kernel@lists.infradead.org" Subject: Re: [PATCH v2] arm64: dts: ls1088a: add one more thermal zone node Message-ID: <20190320081853.GE4980@dragon> References: <20190304032111.21770-1-andy.tang@nxp.com> <20190304062115.GB26041@dragon> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: User-Agent: Mutt/1.5.21 (2010-09-15) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Fri, Mar 08, 2019 at 09:57:09AM +0000, Andy Tang wrote: > > > > -----Original Message----- > > From: Daniel Lezcano > > Sent: 2019年3月8日 17:28 > > To: Andy Tang ; Shawn Guo > > Cc: Leo Li ; robh+dt@kernel.org; mark.rutland@arm.com; > > linux-arm-kernel@lists.infradead.org; devicetree@vger.kernel.org; > > linux-kernel@vger.kernel.org; linux-pm@vger.kernel.org; rui.zhang@intel.com; > > edubezval@gmail.com > > Subject: Re: [PATCH v2] arm64: dts: ls1088a: add one more thermal zone node > > > > On 08/03/2019 03:07, Andy Tang wrote: > > > > > > > > >> -----Original Message----- > > >> From: Daniel Lezcano > > >> Sent: 2019年3月7日 17:15 > > >> To: Andy Tang ; Shawn Guo > > >> Cc: Leo Li ; robh+dt@kernel.org; > > >> mark.rutland@arm.com; linux-arm-kernel@lists.infradead.org; > > >> devicetree@vger.kernel.org; linux-kernel@vger.kernel.org; > > >> linux-pm@vger.kernel.org; rui.zhang@intel.com; edubezval@gmail.com > > >> Subject: Re: [PATCH v2] arm64: dts: ls1088a: add one more thermal > > >> zone node > > >> > > >>>>> PS: In order to keep consistency to the first thermal-zone node, > > >>>>> there will be "WARNING: line over 80 characters" warnings. > > >>>>> > > >>>>> arch/arm64/boot/dts/freescale/fsl-ls1088a.dtsi | 43 > > >>>> +++++++++++++++++++++-- > > >>>>> 1 files changed, 39 insertions(+), 4 deletions(-) > > >>>>> > > >>>>> diff --git a/arch/arm64/boot/dts/freescale/fsl-ls1088a.dtsi > > >>>>> b/arch/arm64/boot/dts/freescale/fsl-ls1088a.dtsi > > >>>>> index 661137f..9f52bc9 100644 > > >>>>> --- a/arch/arm64/boot/dts/freescale/fsl-ls1088a.dtsi > > >>>>> +++ b/arch/arm64/boot/dts/freescale/fsl-ls1088a.dtsi > > >>>>> @@ -129,19 +129,19 @@ > > >>>>> }; > > >>>>> > > >>>>> thermal-zones { > > >>>>> - cpu_thermal: cpu-thermal { > > >>>>> + ccu { > > >>>> > > >>>> Is this change really necessary? What does 'ccu' stand for? > > >>> I think so. ccu stands for core cluster unit. cpu is too general. > > >>> On some platforms, there are more than one core clusters. > > >>> At least we should change it to "core cluster" if short form is not > > appropriate. > > >> > > >> If the sensor is a the cluster level, 'cluster' is enough. IMHO, no > > >> need to give a description of what contains the cluster, otherwise > > >> you will end up with a 'core-gpu-cluster-l2' name. > > > If cluster is specific to core, we can use cluster instead. But I don't think so. > > > Cluster may refer to "core cluster", "GPU cluster" etc. > > > So, I think "core-cluster" is ok. > > > If core was divided to several clusters, we can name it as "core-cluster1", > > "core-cluster2" etc. > > > If GPU was divided to several clusters we can name it as "gpu-cluster1", > > "gpu-cluster2" etc. > > > > > > Hi Andy, > > > > I think there is a confusion around the 'cpu' term and 'cluster'. > > > > ARM would like to see the 'cluster' word to disappear, so whenever possible we > > should avoid it. > > > > From the hardware side, 'CPU' is usually used to describe the physical chip > > containing the cores+cache. > > > > From the software side, 'CPU' is usually used to describe the logical process > > unit, aka a core or a hyper-thread. > > > > As we are in the DT, so describing the hardware, the CPU refers to the group > > cores+caches. > > > > From my POV, using 'cpu' for the group of cores and 'gpu' for the graphic > > sounds ok, and so far that is what is used for the other platforms. > > > > If you change the name, that may give the feeling there is something special > > with those thermal zones. > > Thanks Daniel for your detailed explanations. > > But as you said 'CPU' is usually used to describe the physical chip. Here is how I would understand Daniel's comments: CPU = cores + caches physical chip = SoC = CPU + GPU + peripherals ... > So if we name it as CPU, it sounds like this temperature sensor is monitoring the whole chip. > That's not true in our case. > > Take ls2088a for example: > In ls2088a SoC, there are 7 temperature sensors. Please note that they are all located in SoC. > The placement of the temperature sensors are showed below: > > Sensor ID placement > 1 DDR controller 1 > 2 DDR controller 2 > 3 DDR controller 3 > 4 core cluster 1 > 5 core cluster 2 > 6 core cluster 3 > 7 core cluster 4 > > Apparently using CPU or CPU-cluster is not appropriate. Core-cluster is better. So using CPU is appropriate for me, less confusing, more consistent with other platforms. Shawn From mboxrd@z Thu Jan 1 00:00:00 1970 From: Shawn Guo Subject: Re: [PATCH v2] arm64: dts: ls1088a: add one more thermal zone node Date: Wed, 20 Mar 2019 16:18:55 +0800 Message-ID: <20190320081853.GE4980@dragon> References: <20190304032111.21770-1-andy.tang@nxp.com> <20190304062115.GB26041@dragon> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Return-path: Content-Disposition: inline In-Reply-To: Sender: linux-kernel-owner@vger.kernel.org To: Andy Tang Cc: Daniel Lezcano , "mark.rutland@arm.com" , "devicetree@vger.kernel.org" , "linux-pm@vger.kernel.org" , "linux-kernel@vger.kernel.org" , Leo Li , "edubezval@gmail.com" , "robh+dt@kernel.org" , "rui.zhang@intel.com" , "linux-arm-kernel@lists.infradead.org" List-Id: devicetree@vger.kernel.org On Fri, Mar 08, 2019 at 09:57:09AM +0000, Andy Tang wrote: > > > > -----Original Message----- > > From: Daniel Lezcano > > Sent: 2019年3月8日 17:28 > > To: Andy Tang ; Shawn Guo > > Cc: Leo Li ; robh+dt@kernel.org; mark.rutland@arm.com; > > linux-arm-kernel@lists.infradead.org; devicetree@vger.kernel.org; > > linux-kernel@vger.kernel.org; linux-pm@vger.kernel.org; rui.zhang@intel.com; > > edubezval@gmail.com > > Subject: Re: [PATCH v2] arm64: dts: ls1088a: add one more thermal zone node > > > > On 08/03/2019 03:07, Andy Tang wrote: > > > > > > > > >> -----Original Message----- > > >> From: Daniel Lezcano > > >> Sent: 2019年3月7日 17:15 > > >> To: Andy Tang ; Shawn Guo > > >> Cc: Leo Li ; robh+dt@kernel.org; > > >> mark.rutland@arm.com; linux-arm-kernel@lists.infradead.org; > > >> devicetree@vger.kernel.org; linux-kernel@vger.kernel.org; > > >> linux-pm@vger.kernel.org; rui.zhang@intel.com; edubezval@gmail.com > > >> Subject: Re: [PATCH v2] arm64: dts: ls1088a: add one more thermal > > >> zone node > > >> > > >>>>> PS: In order to keep consistency to the first thermal-zone node, > > >>>>> there will be "WARNING: line over 80 characters" warnings. > > >>>>> > > >>>>> arch/arm64/boot/dts/freescale/fsl-ls1088a.dtsi | 43 > > >>>> +++++++++++++++++++++-- > > >>>>> 1 files changed, 39 insertions(+), 4 deletions(-) > > >>>>> > > >>>>> diff --git a/arch/arm64/boot/dts/freescale/fsl-ls1088a.dtsi > > >>>>> b/arch/arm64/boot/dts/freescale/fsl-ls1088a.dtsi > > >>>>> index 661137f..9f52bc9 100644 > > >>>>> --- a/arch/arm64/boot/dts/freescale/fsl-ls1088a.dtsi > > >>>>> +++ b/arch/arm64/boot/dts/freescale/fsl-ls1088a.dtsi > > >>>>> @@ -129,19 +129,19 @@ > > >>>>> }; > > >>>>> > > >>>>> thermal-zones { > > >>>>> - cpu_thermal: cpu-thermal { > > >>>>> + ccu { > > >>>> > > >>>> Is this change really necessary? What does 'ccu' stand for? > > >>> I think so. ccu stands for core cluster unit. cpu is too general. > > >>> On some platforms, there are more than one core clusters. > > >>> At least we should change it to "core cluster" if short form is not > > appropriate. > > >> > > >> If the sensor is a the cluster level, 'cluster' is enough. IMHO, no > > >> need to give a description of what contains the cluster, otherwise > > >> you will end up with a 'core-gpu-cluster-l2' name. > > > If cluster is specific to core, we can use cluster instead. But I don't think so. > > > Cluster may refer to "core cluster", "GPU cluster" etc. > > > So, I think "core-cluster" is ok. > > > If core was divided to several clusters, we can name it as "core-cluster1", > > "core-cluster2" etc. > > > If GPU was divided to several clusters we can name it as "gpu-cluster1", > > "gpu-cluster2" etc. > > > > > > Hi Andy, > > > > I think there is a confusion around the 'cpu' term and 'cluster'. > > > > ARM would like to see the 'cluster' word to disappear, so whenever possible we > > should avoid it. > > > > From the hardware side, 'CPU' is usually used to describe the physical chip > > containing the cores+cache. > > > > From the software side, 'CPU' is usually used to describe the logical process > > unit, aka a core or a hyper-thread. > > > > As we are in the DT, so describing the hardware, the CPU refers to the group > > cores+caches. > > > > From my POV, using 'cpu' for the group of cores and 'gpu' for the graphic > > sounds ok, and so far that is what is used for the other platforms. > > > > If you change the name, that may give the feeling there is something special > > with those thermal zones. > > Thanks Daniel for your detailed explanations. > > But as you said 'CPU' is usually used to describe the physical chip. Here is how I would understand Daniel's comments: CPU = cores + caches physical chip = SoC = CPU + GPU + peripherals ... > So if we name it as CPU, it sounds like this temperature sensor is monitoring the whole chip. > That's not true in our case. > > Take ls2088a for example: > In ls2088a SoC, there are 7 temperature sensors. Please note that they are all located in SoC. > The placement of the temperature sensors are showed below: > > Sensor ID placement > 1 DDR controller 1 > 2 DDR controller 2 > 3 DDR controller 3 > 4 core cluster 1 > 5 core cluster 2 > 6 core cluster 3 > 7 core cluster 4 > > Apparently using CPU or CPU-cluster is not appropriate. Core-cluster is better. So using CPU is appropriate for me, less confusing, more consistent with other platforms. Shawn 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=-5.5 required=3.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,INCLUDES_PATCH,MAILING_LIST_MULTI,SPF_PASS,USER_AGENT_MUTT 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 124D8C43381 for ; Wed, 20 Mar 2019 08:21:27 +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 D5BB621871 for ; Wed, 20 Mar 2019 08:21:26 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="P33vfChu"; dkim=fail reason="signature verification failed" (1024-bit key) header.d=kernel.org header.i=@kernel.org header.b="RGvogefz" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org D5BB621871 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=kernel.org Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+infradead-linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20170209; h=Sender: Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:In-Reply-To:MIME-Version:References: Message-ID:Subject: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=gqcywek/3yjif0Lvxudp2FOn+adpL+mDaGKSicO4Ajs=; b=P33vfChu63D8cG hUciobPtig8ACLyQkwTUisE1y7VmEtibDP7wfjYY2/Mjp6XK1oEn0JHanwxTXbz3RuMEd/mY1GmXo 7t9CrojfzIO4gK+8RxoUMMxmPqrJnk+b7t9pei/8lexDbZoZZUcmFA95OejiyQ4uU7TLUnvO8khVg vtXczh9o54D/HNMaCWaC96Ve73kTdPe9NWXjSyzBw+s5eGEJVBKsGQi/xsKqOKWxGyt5OSl3kc2Zn GtsguoMLKMSJufeSb1zqoNO0KmG3yNwefQoyUfIDYCARGhIcQbcXr+DO1drA7AmnX4Di22X2Ed9wx VxgYAwhHtkzJJzDfpoeQ==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.90_1 #2 (Red Hat Linux)) id 1h6WRe-0000SZ-Lf; Wed, 20 Mar 2019 08:19:30 +0000 Received: from mail.kernel.org ([198.145.29.99]) by bombadil.infradead.org with esmtps (Exim 4.90_1 #2 (Red Hat Linux)) id 1h6WRQ-0000BO-Tv for linux-arm-kernel@lists.infradead.org; Wed, 20 Mar 2019 08:19:20 +0000 Received: from dragon (98.142.130.235.16clouds.com [98.142.130.235]) (using TLSv1.2 with cipher DHE-RSA-AES128-SHA (128/128 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 79C0C20657; Wed, 20 Mar 2019 08:19:12 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1553069956; bh=nkM+KtRVPjQUt1pQmj9DalXM/7+xvh8bqtVNzoBCheQ=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=RGvogefzjixxnh/ZE1SX1tpWVM5SQdUinz9ZNVaSv/nueFt6jUWAxQRazzLhvrdkD sMkhl9hZScXnD0vj62XWuzVxxIwA9WfvDYX5G9NteR0DbiAObTqJPUQanU1LRcF/E+ 9J9BOeI9InyBCACqgfih9J2hqEugTLlYsy+UqBxQ= Date: Wed, 20 Mar 2019 16:18:55 +0800 From: Shawn Guo To: Andy Tang Subject: Re: [PATCH v2] arm64: dts: ls1088a: add one more thermal zone node Message-ID: <20190320081853.GE4980@dragon> References: <20190304032111.21770-1-andy.tang@nxp.com> <20190304062115.GB26041@dragon> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.21 (2010-09-15) X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20190320_011917_129499_D9A56710 X-CRM114-Status: GOOD ( 27.85 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: "mark.rutland@arm.com" , "devicetree@vger.kernel.org" , "linux-pm@vger.kernel.org" , Daniel Lezcano , "linux-kernel@vger.kernel.org" , Leo Li , "edubezval@gmail.com" , "robh+dt@kernel.org" , "rui.zhang@intel.com" , "linux-arm-kernel@lists.infradead.org" Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+infradead-linux-arm-kernel=archiver.kernel.org@lists.infradead.org T24gRnJpLCBNYXIgMDgsIDIwMTkgYXQgMDk6NTc6MDlBTSArMDAwMCwgQW5keSBUYW5nIHdyb3Rl Ogo+IAo+IAo+ID4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0KPiA+IEZyb206IERhbmllbCBM ZXpjYW5vIDxkYW5pZWwubGV6Y2Fub0BsaW5hcm8ub3JnPgo+ID4gU2VudDogMjAxOeW5tDPmnIg4 5pelIDE3OjI4Cj4gPiBUbzogQW5keSBUYW5nIDxhbmR5LnRhbmdAbnhwLmNvbT47IFNoYXduIEd1 byA8c2hhd25ndW9Aa2VybmVsLm9yZz4KPiA+IENjOiBMZW8gTGkgPGxlb3lhbmcubGlAbnhwLmNv bT47IHJvYmgrZHRAa2VybmVsLm9yZzsgbWFyay5ydXRsYW5kQGFybS5jb207Cj4gPiBsaW51eC1h cm0ta2VybmVsQGxpc3RzLmluZnJhZGVhZC5vcmc7IGRldmljZXRyZWVAdmdlci5rZXJuZWwub3Jn Owo+ID4gbGludXgta2VybmVsQHZnZXIua2VybmVsLm9yZzsgbGludXgtcG1Admdlci5rZXJuZWwu b3JnOyBydWkuemhhbmdAaW50ZWwuY29tOwo+ID4gZWR1YmV6dmFsQGdtYWlsLmNvbQo+ID4gU3Vi amVjdDogUmU6IFtQQVRDSCB2Ml0gYXJtNjQ6IGR0czogbHMxMDg4YTogYWRkIG9uZSBtb3JlIHRo ZXJtYWwgem9uZSBub2RlCj4gPiAKPiA+IE9uIDA4LzAzLzIwMTkgMDM6MDcsIEFuZHkgVGFuZyB3 cm90ZToKPiA+ID4KPiA+ID4KPiA+ID4+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tCj4gPiA+ PiBGcm9tOiBEYW5pZWwgTGV6Y2FubyA8ZGFuaWVsLmxlemNhbm9AbGluYXJvLm9yZz4KPiA+ID4+ IFNlbnQ6IDIwMTnlubQz5pyIN+aXpSAxNzoxNQo+ID4gPj4gVG86IEFuZHkgVGFuZyA8YW5keS50 YW5nQG54cC5jb20+OyBTaGF3biBHdW8gPHNoYXduZ3VvQGtlcm5lbC5vcmc+Cj4gPiA+PiBDYzog TGVvIExpIDxsZW95YW5nLmxpQG54cC5jb20+OyByb2JoK2R0QGtlcm5lbC5vcmc7Cj4gPiA+PiBt YXJrLnJ1dGxhbmRAYXJtLmNvbTsgbGludXgtYXJtLWtlcm5lbEBsaXN0cy5pbmZyYWRlYWQub3Jn Owo+ID4gPj4gZGV2aWNldHJlZUB2Z2VyLmtlcm5lbC5vcmc7IGxpbnV4LWtlcm5lbEB2Z2VyLmtl cm5lbC5vcmc7Cj4gPiA+PiBsaW51eC1wbUB2Z2VyLmtlcm5lbC5vcmc7IHJ1aS56aGFuZ0BpbnRl bC5jb207IGVkdWJlenZhbEBnbWFpbC5jb20KPiA+ID4+IFN1YmplY3Q6IFJlOiBbUEFUQ0ggdjJd IGFybTY0OiBkdHM6IGxzMTA4OGE6IGFkZCBvbmUgbW9yZSB0aGVybWFsCj4gPiA+PiB6b25lIG5v ZGUKPiA+ID4+Cj4gPiA+Pj4+PiBQUzogSW4gb3JkZXIgdG8ga2VlcCBjb25zaXN0ZW5jeSB0byB0 aGUgZmlyc3QgdGhlcm1hbC16b25lIG5vZGUsCj4gPiA+Pj4+PiB0aGVyZSB3aWxsIGJlICJXQVJO SU5HOiBsaW5lIG92ZXIgODAgY2hhcmFjdGVycyIgd2FybmluZ3MuCj4gPiA+Pj4+Pgo+ID4gPj4+ Pj4gIGFyY2gvYXJtNjQvYm9vdC9kdHMvZnJlZXNjYWxlL2ZzbC1sczEwODhhLmR0c2kgfCAgIDQz Cj4gPiA+Pj4+ICsrKysrKysrKysrKysrKysrKysrKy0tCj4gPiA+Pj4+PiAgMSBmaWxlcyBjaGFu Z2VkLCAzOSBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQo+ID4gPj4+Pj4KPiA+ID4+Pj4+ IGRpZmYgLS1naXQgYS9hcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVzY2FsZS9mc2wtbHMxMDg4YS5k dHNpCj4gPiA+Pj4+PiBiL2FyY2gvYXJtNjQvYm9vdC9kdHMvZnJlZXNjYWxlL2ZzbC1sczEwODhh LmR0c2kKPiA+ID4+Pj4+IGluZGV4IDY2MTEzN2YuLjlmNTJiYzkgMTAwNjQ0Cj4gPiA+Pj4+PiAt LS0gYS9hcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVzY2FsZS9mc2wtbHMxMDg4YS5kdHNpCj4gPiA+ Pj4+PiArKysgYi9hcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVzY2FsZS9mc2wtbHMxMDg4YS5kdHNp Cj4gPiA+Pj4+PiBAQCAtMTI5LDE5ICsxMjksMTkgQEAKPiA+ID4+Pj4+ICAJfTsKPiA+ID4+Pj4+ Cj4gPiA+Pj4+PiAgCXRoZXJtYWwtem9uZXMgewo+ID4gPj4+Pj4gLQkJY3B1X3RoZXJtYWw6IGNw dS10aGVybWFsIHsKPiA+ID4+Pj4+ICsJCWNjdSB7Cj4gPiA+Pj4+Cj4gPiA+Pj4+IElzIHRoaXMg Y2hhbmdlIHJlYWxseSBuZWNlc3Nhcnk/ICBXaGF0IGRvZXMgJ2NjdScgc3RhbmQgZm9yPwo+ID4g Pj4+IEkgdGhpbmsgc28uIGNjdSBzdGFuZHMgZm9yIGNvcmUgY2x1c3RlciB1bml0LiBjcHUgaXMg dG9vIGdlbmVyYWwuCj4gPiA+Pj4gT24gc29tZSBwbGF0Zm9ybXMsIHRoZXJlIGFyZSBtb3JlIHRo YW4gb25lIGNvcmUgY2x1c3RlcnMuCj4gPiA+Pj4gQXQgbGVhc3Qgd2Ugc2hvdWxkIGNoYW5nZSBp dCB0byAiY29yZSBjbHVzdGVyIiBpZiBzaG9ydCBmb3JtIGlzIG5vdAo+ID4gYXBwcm9wcmlhdGUu Cj4gPiA+Pgo+ID4gPj4gSWYgdGhlIHNlbnNvciBpcyBhIHRoZSBjbHVzdGVyIGxldmVsLCAnY2x1 c3RlcicgaXMgZW5vdWdoLiBJTUhPLCBubwo+ID4gPj4gbmVlZCB0byBnaXZlIGEgZGVzY3JpcHRp b24gb2Ygd2hhdCBjb250YWlucyB0aGUgY2x1c3Rlciwgb3RoZXJ3aXNlCj4gPiA+PiB5b3Ugd2ls bCBlbmQgdXAgd2l0aCBhICdjb3JlLWdwdS1jbHVzdGVyLWwyJyBuYW1lLgo+ID4gPiBJZiBjbHVz dGVyIGlzIHNwZWNpZmljIHRvIGNvcmUsIHdlIGNhbiB1c2UgY2x1c3RlciBpbnN0ZWFkLiBCdXQg SSBkb24ndCB0aGluayBzby4KPiA+ID4gQ2x1c3RlciBtYXkgcmVmZXIgdG8gImNvcmUgY2x1c3Rl ciIsICJHUFUgY2x1c3RlciIgZXRjLgo+ID4gPiBTbywgSSB0aGluayAiY29yZS1jbHVzdGVyIiBp cyBvay4KPiA+ID4gSWYgY29yZSB3YXMgZGl2aWRlZCB0byBzZXZlcmFsIGNsdXN0ZXJzLCB3ZSBj YW4gbmFtZSBpdCBhcyAiY29yZS1jbHVzdGVyMSIsCj4gPiAiY29yZS1jbHVzdGVyMiIgZXRjLgo+ ID4gPiBJZiBHUFUgd2FzIGRpdmlkZWQgdG8gc2V2ZXJhbCBjbHVzdGVycyB3ZSBjYW4gbmFtZSBp dCBhcyAiZ3B1LWNsdXN0ZXIxIiwKPiA+ICJncHUtY2x1c3RlcjIiIGV0Yy4KPiA+IAo+ID4gCj4g PiBIaSBBbmR5LAo+ID4gCj4gPiBJIHRoaW5rIHRoZXJlIGlzIGEgY29uZnVzaW9uIGFyb3VuZCB0 aGUgJ2NwdScgdGVybSBhbmQgJ2NsdXN0ZXInLgo+ID4gCj4gPiBBUk0gd291bGQgbGlrZSB0byBz ZWUgdGhlICdjbHVzdGVyJyB3b3JkIHRvIGRpc2FwcGVhciwgc28gd2hlbmV2ZXIgcG9zc2libGUg d2UKPiA+IHNob3VsZCBhdm9pZCBpdC4KPiA+IAo+ID4gRnJvbSB0aGUgaGFyZHdhcmUgc2lkZSwg J0NQVScgaXMgdXN1YWxseSB1c2VkIHRvIGRlc2NyaWJlIHRoZSBwaHlzaWNhbCBjaGlwCj4gPiBj b250YWluaW5nIHRoZSBjb3JlcytjYWNoZS4KPiA+IAo+ID4gRnJvbSB0aGUgc29mdHdhcmUgc2lk ZSwgJ0NQVScgaXMgdXN1YWxseSB1c2VkIHRvIGRlc2NyaWJlIHRoZSBsb2dpY2FsIHByb2Nlc3MK PiA+IHVuaXQsIGFrYSBhIGNvcmUgb3IgYSBoeXBlci10aHJlYWQuCj4gPiAKPiA+IEFzIHdlIGFy ZSBpbiB0aGUgRFQsIHNvIGRlc2NyaWJpbmcgdGhlIGhhcmR3YXJlLCB0aGUgQ1BVIHJlZmVycyB0 byB0aGUgZ3JvdXAKPiA+IGNvcmVzK2NhY2hlcy4KPiA+IAo+ID4gRnJvbSBteSBQT1YsIHVzaW5n ICdjcHUnIGZvciB0aGUgZ3JvdXAgb2YgY29yZXMgYW5kICdncHUnIGZvciB0aGUgZ3JhcGhpYwo+ ID4gc291bmRzIG9rLCBhbmQgc28gZmFyIHRoYXQgaXMgd2hhdCBpcyB1c2VkIGZvciB0aGUgb3Ro ZXIgcGxhdGZvcm1zLgo+ID4gCj4gPiBJZiB5b3UgY2hhbmdlIHRoZSBuYW1lLCB0aGF0IG1heSBn aXZlIHRoZSBmZWVsaW5nIHRoZXJlIGlzIHNvbWV0aGluZyBzcGVjaWFsCj4gPiB3aXRoIHRob3Nl IHRoZXJtYWwgem9uZXMuCj4gCj4gVGhhbmtzIERhbmllbCBmb3IgeW91ciBkZXRhaWxlZCBleHBs YW5hdGlvbnMuCj4gCj4gQnV0IGFzIHlvdSBzYWlkICdDUFUnIGlzIHVzdWFsbHkgdXNlZCB0byBk ZXNjcmliZSB0aGUgcGh5c2ljYWwgY2hpcC4KCkhlcmUgaXMgaG93IEkgd291bGQgdW5kZXJzdGFu ZCBEYW5pZWwncyBjb21tZW50czoKCiAgQ1BVID0gY29yZXMgKyBjYWNoZXMKICBwaHlzaWNhbCBj aGlwID0gU29DID0gQ1BVICsgR1BVICsgcGVyaXBoZXJhbHMgLi4uCgo+IFNvIGlmIHdlIG5hbWUg aXQgYXMgQ1BVLCBpdCBzb3VuZHMgbGlrZSB0aGlzIHRlbXBlcmF0dXJlIHNlbnNvciBpcyBtb25p dG9yaW5nIHRoZSB3aG9sZSBjaGlwLgo+IFRoYXQncyBub3QgdHJ1ZSBpbiBvdXIgY2FzZS4KPiAK PiBUYWtlIGxzMjA4OGEgZm9yIGV4YW1wbGU6Cj4gSW4gbHMyMDg4YSBTb0MsIHRoZXJlIGFyZSA3 IHRlbXBlcmF0dXJlIHNlbnNvcnMuIFBsZWFzZSBub3RlIHRoYXQgdGhleSBhcmUgYWxsIGxvY2F0 ZWQgaW4gU29DLgo+IFRoZSBwbGFjZW1lbnQgb2YgdGhlIHRlbXBlcmF0dXJlIHNlbnNvcnMgYXJl IHNob3dlZCBiZWxvdzoKPiAKPiBTZW5zb3IgSUQJCXBsYWNlbWVudAo+IDEJCQlERFIgY29udHJv bGxlciAxCj4gMgkJCUREUiBjb250cm9sbGVyIDIKPiAzCQkJRERSIGNvbnRyb2xsZXIgMwo+IDQJ CQljb3JlIGNsdXN0ZXIgMQo+IDUgCQkJY29yZSBjbHVzdGVyIDIKPiA2IAkJCWNvcmUgY2x1c3Rl ciAzCj4gNyAJCQljb3JlIGNsdXN0ZXIgNAo+IAo+IEFwcGFyZW50bHkgdXNpbmcgQ1BVIG9yIENQ VS1jbHVzdGVyIGlzIG5vdCBhcHByb3ByaWF0ZS4gQ29yZS1jbHVzdGVyIGlzIGJldHRlci4KClNv IHVzaW5nIENQVSBpcyBhcHByb3ByaWF0ZSBmb3IgbWUsIGxlc3MgY29uZnVzaW5nLCBtb3JlIGNv bnNpc3RlbnQgd2l0aApvdGhlciBwbGF0Zm9ybXMuCgpTaGF3bgoKX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX18KbGludXgtYXJtLWtlcm5lbCBtYWlsaW5nIGxp c3QKbGludXgtYXJtLWtlcm5lbEBsaXN0cy5pbmZyYWRlYWQub3JnCmh0dHA6Ly9saXN0cy5pbmZy YWRlYWQub3JnL21haWxtYW4vbGlzdGluZm8vbGludXgtYXJtLWtlcm5lbAo=