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 vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 87FE8C77B72 for ; Mon, 17 Apr 2023 12:45:31 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230475AbjDQMpa (ORCPT ); Mon, 17 Apr 2023 08:45:30 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:38262 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229878AbjDQMp3 (ORCPT ); Mon, 17 Apr 2023 08:45:29 -0400 Received: from mail-pj1-x1030.google.com (mail-pj1-x1030.google.com [IPv6:2607:f8b0:4864:20::1030]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 9B1A3C3; Mon, 17 Apr 2023 05:45:27 -0700 (PDT) Received: by mail-pj1-x1030.google.com with SMTP id x8-20020a17090a6b4800b002474c5d3367so7810210pjl.2; Mon, 17 Apr 2023 05:45:27 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1681735527; x=1684327527; 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=fMk9exMYjjdDJNTuBhM7AS0L6trr20lU8gX0Q2FmNlk=; b=rT9OuqM5jAiZuKGtjjeHOPszw76Yf3bdpSxCE9Uqi+uyJX8nFIKm8MW+Y1m2rSIJrR TgRKhqGtdAtEMluk4c6NGyNvI488hx7VpLmerifF1fy36MsG+zYffb5xg89d9km25zjZ 2/gMPAvJh4RKa3KbiPlpmUpJApWNOfqtcf1zdllEpJ/XGR7NpswEdzySImStgeG0ahN2 /X3vc8B8Y3JgeMhbU4ccqz/ZaNolQHLpQxarOCqP4zkxAMXk97mS8qWWFrzQG7trTlEW JK9bdCbbLaEIjIOIWUCUvFCdwWFahWGFSfgaJRGNNkf/gsZkAHb3+/3msPl5ejMAjp57 l8FQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1681735527; x=1684327527; 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=fMk9exMYjjdDJNTuBhM7AS0L6trr20lU8gX0Q2FmNlk=; b=RLVyDTpIZx5wmuC+IJ83GoDgipcjEL92D350MjYOXJKHsbNF+ln9ZfMK170DurXL1q ruvFD3CJoSVjpBlRI2uaY7q+5ws2TqybiwlPz69d/rQCWLZR9nMgQHLTAQnYUe6YpqMU dq3ET2k/9yNEeXag430Lsga/CMCA2P9z16dp7Qumbxl0jr0IEOMk7ou+wc2SQxLvouVa v3WzXwrkUGH/IoIUDP3Xh7pqKNJdJziMH5K4+KJxgDmgHsBtLOdhzV38l3GnCvbWKoOf QxLZxrQbsLontF1xn75kFACf/J002tI+hhKbGApVNqGCaA1Tcs7ICamMyaMypLIIiv/u QdnQ== X-Gm-Message-State: AAQBX9ceZtkImosFD44Ahk0nY0QPxwowVGgeYrBLP4jxBILkSCUTyx// 7k0Fk1E5DQy+ICAit505wS4pCVzU/fyVZSZWZtU= X-Google-Smtp-Source: AKy350aPosra5Yx+M7BndBTj1NAnYWm72uxji2y0kobZst1HLL0OQDnupJCD43UNlBJEDCnqQKtGPT5EbLvlKy40V0I= X-Received: by 2002:a17:903:18f:b0:1a6:8d3b:85e7 with SMTP id z15-20020a170903018f00b001a68d3b85e7mr3778458plg.3.1681735526873; Mon, 17 Apr 2023 05:45:26 -0700 (PDT) MIME-Version: 1.0 References: <20230417055627.16482-1-laurent.pinchart@ideasonboard.com> <20230417080117.jiqpynebq2we2hh4@pengutronix.de> <20230417081510.GA19964@pendragon.ideasonboard.com> <3232774.44csPzL39Z@steina-w> In-Reply-To: <3232774.44csPzL39Z@steina-w> From: Adam Ford Date: Mon, 17 Apr 2023 07:45:15 -0500 Message-ID: Subject: Re: [PATCH v1 1/2] arm64: dts: imx8mp: Add CSIS DT nodes To: Alexander Stein Cc: Marco Felsch , linux-arm-kernel@lists.infradead.org, devicetree@vger.kernel.org, kernel@pengutronix.de, Xavier Roumegue , Rob Herring , linux-imx@nxp.com, Krzysztof Kozlowski , Jacopo Mondi , Shawn Guo , linux-media@vger.kernel.org, Laurent Pinchart Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: devicetree@vger.kernel.org On Mon, Apr 17, 2023 at 5:11=E2=80=AFAM Alexander Stein wrote: > > Am Montag, 17. April 2023, 10:15:10 CEST schrieb Laurent Pinchart: > > Hi Marco, > > > > On Mon, Apr 17, 2023 at 10:01:17AM +0200, Marco Felsch wrote: > > > On 23-04-17, Laurent Pinchart wrote: > > > > On Mon, Apr 17, 2023 at 08:50:59AM +0200, Marco Felsch wrote: > > > > > Hi Laurent, > > > > > > > > > > your patch LGTM just one nit/idea, please see below. > > > > > > > > > > On 23-04-17, Laurent Pinchart wrote: > > > > > > Add DT nodes for the two CSI-2 receivers of the i.MX8MP. > > > > > > > > > > > > Signed-off-by: Laurent Pinchart > > > > > > --- > > > > > > > > > > > > arch/arm64/boot/dts/freescale/imx8mp.dtsi | 60 > > > > > > +++++++++++++++++++++++ > > > > > > 1 file changed, 60 insertions(+) > > > > > > > > > > > > diff --git a/arch/arm64/boot/dts/freescale/imx8mp.dtsi > > > > > > b/arch/arm64/boot/dts/freescale/imx8mp.dtsi index > > > > > > 2dd60e3252f3..2a374a4c14a2 100644 > > > > > > --- a/arch/arm64/boot/dts/freescale/imx8mp.dtsi > > > > > > +++ b/arch/arm64/boot/dts/freescale/imx8mp.dtsi > > > > > > @@ -1239,6 +1239,66 @@ ldb_lvds_ch1: endpoint { > > > > > > > > > > > > }; > > > > > > > > > > > > }; > > > > > > > > > > > > + mipi_csi_0: csi@32e40000 { > > > > > > + compatible =3D "fsl,imx8mp- > mipi-csi2", "fsl,imx8mm-mipi-csi2"; > > > > > > + reg =3D <0x32e40000 0x10000>; > > > > > > + interrupts =3D IRQ_TYPE_LEVEL_HIGH>; > > > > > > + clock-frequency =3D > <500000000>; > > > > > > + clocks =3D <&clk > IMX8MP_CLK_MEDIA_APB_ROOT>, > > > > > > + <&clk > IMX8MP_CLK_MEDIA_CAM1_PIX_ROOT>, > > > > > > + <&clk > IMX8MP_CLK_MEDIA_MIPI_PHY1_REF_ROOT>, > > > > > > + <&clk > IMX8MP_CLK_MEDIA_AXI_ROOT>; > > > > > > + clock-names =3D "pclk", > "wrap", "phy", "axi"; > > > > > > + assigned-clocks =3D <&clk > IMX8MP_CLK_MEDIA_CAM1_PIX>; > > > > > > + assigned-clock-parents =3D > <&clk IMX8MP_SYS_PLL2_1000M>; > > > > > > + assigned-clock-rates =3D > <500000000>; > > > > > > + power-domains =3D > <&media_blk_ctrl > > > > > > IMX8MP_MEDIABLK_PD_MIPI_CSI2_1>; > > > > > > + status =3D "disabled"; > > > > > > + > > > > > > + ports { > > > > > > + #address-cells =3D > <1>; > > > > > > + #size-cells =3D <0>; > > > > > > + > > > > > > + port@0 { > > > > > > + reg =3D > <0>; > > > > > > > > > > If we would add: > > > > > mipi_csi_0_in: > endpoint {}; > > > > > > > > > > here we could refernce it from overlays/board dts files more easi= ly. > > > > > > > > Isn't there an unwritten rule (or consensus) that an endpoint shoul= d > > > > always have a remote-endpoint property ? > > > > > > I don't know if there is one. > > > > > > > While ports describe hardware properties of a device and should alw= ays > > > > be there regardless of connections, endpoints describe connections = and > > > > I don't think they should be instantiated with a valid > > > > remote-endpoint. > > > > > > I know, therefore I mentioned it as idea to make it 'easier' to add > > > camera nodes. > > > > As a middleground, would it be useful to have a label for the port ? > > Something like > > > > mipi_csi_0: csi@32e40000 { > > ports { > > mipi_csi_0_port_0: port@0 { > > }; > > }; > > }; > > > > An overlay could then reference that and create the endpoint. I'm not > > entirely sure how useful that would be though, as the overlay would nee= d > > to enable the CSI node anyway. Compare > > > > -------- > > &mipi_csi_0 { > > status =3D "okay"; > > }; > > > > &mipi_csi_0_port_0 { > > mipi_csi_0_in: endpoint { > > remote-endpoint =3D <&imx327_out>; > > }; > > }; > > -------- > > > > with > > > > -------- > > &mipi_csi_0 { > > status =3D "okay"; > > > > ports { > > port@0 { > > mipi_csi_0_in: endpoint { > > remote-endpoint =3D <&imx327_out>; > > }; > > }; > > }; > > }; > > -------- > > > > I have a slight preference for the latter as it groups all the CSI0 dat= a > > in a single overlay target, but if the former is generally preferred, > > I'm fine with that too. > > The former is more compact, but also raises the following dtc warnings wh= ile > creating the .dtbo: > Warning (graph_endpoint): /fragment@4/__overlay__: graph endpoint node na= me > should be 'endpoint' > Warning (graph_endpoint): /fragment@4/__overlay__: graph connection to no= de '/ > fragment@1/__overlay__/ports/port@1/endpoint' is not bidirectional > > for the following snippet: > > &mipi_csi_0_out { > remote-endpoint =3D <&isp1_in>; > }; > > I'm not sure if there is a chance to fix at all. Once there is consensus on how this should be generically plumbed, please keep me in the loop, so I can add the corresponding imx8m Nano trees as well. I've tested Laurent's work for a while on the Nano that I have. I was going to push DT updates for Nano, then I saw this conversation, so I decided to hold off for now. adam > > Best regards, > Alexander > > > > > > > > > + }; > > > > > > + > > > > > > + port@1 { > > > > > > + reg =3D > <1>; > > > > > > + }; > > > > > > + }; > > > > > > + }; > > > > > > + > > > > > > + mipi_csi_1: csi@32e50000 { > > > > > > + compatible =3D "fsl,imx8mp- > mipi-csi2", "fsl,imx8mm-mipi-csi2"; > > > > > > + reg =3D <0x32e50000 0x10000>; > > > > > > + interrupts =3D IRQ_TYPE_LEVEL_HIGH>; > > > > > > + clock-frequency =3D > <266000000>; > > > > > > + clocks =3D <&clk > IMX8MP_CLK_MEDIA_APB_ROOT>, > > > > > > + <&clk > IMX8MP_CLK_MEDIA_CAM2_PIX_ROOT>, > > > > > > + <&clk > IMX8MP_CLK_MEDIA_MIPI_PHY1_REF_ROOT>, > > > > > > + <&clk > IMX8MP_CLK_MEDIA_AXI_ROOT>; > > > > > > + clock-names =3D "pclk", > "wrap", "phy", "axi"; > > > > > > + assigned-clocks =3D <&clk > IMX8MP_CLK_MEDIA_CAM2_PIX>; > > > > > > + assigned-clock-parents =3D > <&clk IMX8MP_SYS_PLL2_1000M>; > > > > > > + assigned-clock-rates =3D > <266000000>; > > > > > > + power-domains =3D > <&media_blk_ctrl > > > > > > IMX8MP_MEDIABLK_PD_MIPI_CSI2_2>; > > > > > > + status =3D "disabled"; > > > > > > + > > > > > > + ports { > > > > > > + #address-cells =3D > <1>; > > > > > > + #size-cells =3D <0>; > > > > > > + > > > > > > + port@0 { > > > > > > + reg =3D > <0>; > > > > > > + }; > > > > > > + > > > > > > + port@1 { > > > > > > + reg =3D > <1>; > > > > > > + }; > > > > > > + }; > > > > > > + }; > > > > > > + > > > > > > > > > > > > pcie_phy: pcie-phy@32f00000 { > > > > > > > > > > > > compatible =3D "fsl,imx8mp- > pcie-phy"; > > > > > > reg =3D <0x32f00000 0x10000>; > > > -- > TQ-Systems GmbH | M=C3=BChlstra=C3=9Fe 2, Gut Delling | 82229 Seefeld, Ge= rmany > Amtsgericht M=C3=BCnchen, HRB 105018 > Gesch=C3=A4ftsf=C3=BChrer: Detlef Schneider, R=C3=BCdiger Stahl, Stefan S= chneider > http://www.tq-group.com/ > > 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 3080DC77B72 for ; Mon, 17 Apr 2023 12:46:25 +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=I2xCn3lRjBfdPu6/LXvJ31Bq9LNnnSs/rM2P0JGalr8=; b=0yqEGROK/lDAWo WgrFuiqxLJKdzX3mGLNXJOw+I59YjgHqPPu82F25Yb5CzYGQyY2BLybPjbi1+YNmzjVLojLNof8J+ BPAVFYgFx5aeHoJ6Mf84ZJcy17QYGqTuIyoOOaGmFSVV6J7M+gEdJX/CUc/PZ1A9gfSsvX1uj1U1n po4VK0l2waSF7oAL8Wy4WJdXa3b9SCqpGZzC+dhrbCfuQXeM/Q6tESV3doHmE1Y/URi3rvftDK2b0 8hAiuzxJLX3gs2KRngwmtRPkb74jMDg3JrCLkHNN4UABlriBzWW8H7aebHDIH6WDLChJZIvHH+LPx 0e1MPwmkqAwGHNQ/RDrw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1poOEe-00GC4R-0G; Mon, 17 Apr 2023 12:45:32 +0000 Received: from mail-pj1-x1030.google.com ([2607:f8b0:4864:20::1030]) by bombadil.infradead.org with esmtps (Exim 4.96 #2 (Red Hat Linux)) id 1poOEb-00GC2r-1A for linux-arm-kernel@lists.infradead.org; Mon, 17 Apr 2023 12:45:31 +0000 Received: by mail-pj1-x1030.google.com with SMTP id kx14so5454011pjb.1 for ; Mon, 17 Apr 2023 05:45:27 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1681735527; x=1684327527; 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=fMk9exMYjjdDJNTuBhM7AS0L6trr20lU8gX0Q2FmNlk=; b=rT9OuqM5jAiZuKGtjjeHOPszw76Yf3bdpSxCE9Uqi+uyJX8nFIKm8MW+Y1m2rSIJrR TgRKhqGtdAtEMluk4c6NGyNvI488hx7VpLmerifF1fy36MsG+zYffb5xg89d9km25zjZ 2/gMPAvJh4RKa3KbiPlpmUpJApWNOfqtcf1zdllEpJ/XGR7NpswEdzySImStgeG0ahN2 /X3vc8B8Y3JgeMhbU4ccqz/ZaNolQHLpQxarOCqP4zkxAMXk97mS8qWWFrzQG7trTlEW JK9bdCbbLaEIjIOIWUCUvFCdwWFahWGFSfgaJRGNNkf/gsZkAHb3+/3msPl5ejMAjp57 l8FQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1681735527; x=1684327527; 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=fMk9exMYjjdDJNTuBhM7AS0L6trr20lU8gX0Q2FmNlk=; b=YW9MXJFVnkgrPPnGi61dpnG8qm8/ONskjh5kd8fT26f6BDp+tph3aQBz3m5rsxou3C xcohhx9llMrdJz5JRMz0cNZWeTATXO+hlkEugI9bK8Whjq6mbh1IawBqGfidemKyu6e/ NlFBFG4vIDj7asiLvFlQ7vLGYa1w/7jSp8caCSyOZs9jaHhqx6GSswGWBnvIPvutnXC9 uRqky8C/MAr81/AoHLKI4BlCqdtk4T1Hb9x7/Muyr5B4p1ajJEogJQYKdVoCBDIBbo2N c0Ncb2suzEqrgoUwd+126iols+/UDcrqZFdlvljXx+8J1loMZkSzQ6NXoXAt3EE+o57Y 1tug== X-Gm-Message-State: AAQBX9ellt7honM5olyub+7xg6k/8ihfF1txGUG2DyW65tS+vr0XWGIC 6Bfl9XN6jEZk6/k9iHTrCiv8Snp37mSIoDvPpFQ= X-Google-Smtp-Source: AKy350aPosra5Yx+M7BndBTj1NAnYWm72uxji2y0kobZst1HLL0OQDnupJCD43UNlBJEDCnqQKtGPT5EbLvlKy40V0I= X-Received: by 2002:a17:903:18f:b0:1a6:8d3b:85e7 with SMTP id z15-20020a170903018f00b001a68d3b85e7mr3778458plg.3.1681735526873; Mon, 17 Apr 2023 05:45:26 -0700 (PDT) MIME-Version: 1.0 References: <20230417055627.16482-1-laurent.pinchart@ideasonboard.com> <20230417080117.jiqpynebq2we2hh4@pengutronix.de> <20230417081510.GA19964@pendragon.ideasonboard.com> <3232774.44csPzL39Z@steina-w> In-Reply-To: <3232774.44csPzL39Z@steina-w> From: Adam Ford Date: Mon, 17 Apr 2023 07:45:15 -0500 Message-ID: Subject: Re: [PATCH v1 1/2] arm64: dts: imx8mp: Add CSIS DT nodes To: Alexander Stein Cc: Marco Felsch , linux-arm-kernel@lists.infradead.org, devicetree@vger.kernel.org, kernel@pengutronix.de, Xavier Roumegue , Rob Herring , linux-imx@nxp.com, Krzysztof Kozlowski , Jacopo Mondi , Shawn Guo , linux-media@vger.kernel.org, Laurent Pinchart X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20230417_054529_400532_30F5897B X-CRM114-Status: GOOD ( 39.52 ) 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 T24gTW9uLCBBcHIgMTcsIDIwMjMgYXQgNToxMeKAr0FNIEFsZXhhbmRlciBTdGVpbgo8YWxleGFu ZGVyLnN0ZWluQGV3LnRxLWdyb3VwLmNvbT4gd3JvdGU6Cj4KPiBBbSBNb250YWcsIDE3LiBBcHJp bCAyMDIzLCAxMDoxNToxMCBDRVNUIHNjaHJpZWIgTGF1cmVudCBQaW5jaGFydDoKPiA+IEhpIE1h cmNvLAo+ID4KPiA+IE9uIE1vbiwgQXByIDE3LCAyMDIzIGF0IDEwOjAxOjE3QU0gKzAyMDAsIE1h cmNvIEZlbHNjaCB3cm90ZToKPiA+ID4gT24gMjMtMDQtMTcsIExhdXJlbnQgUGluY2hhcnQgd3Jv dGU6Cj4gPiA+ID4gT24gTW9uLCBBcHIgMTcsIDIwMjMgYXQgMDg6NTA6NTlBTSArMDIwMCwgTWFy Y28gRmVsc2NoIHdyb3RlOgo+ID4gPiA+ID4gSGkgTGF1cmVudCwKPiA+ID4gPiA+Cj4gPiA+ID4g PiB5b3VyIHBhdGNoIExHVE0ganVzdCBvbmUgbml0L2lkZWEsIHBsZWFzZSBzZWUgYmVsb3cuCj4g PiA+ID4gPgo+ID4gPiA+ID4gT24gMjMtMDQtMTcsIExhdXJlbnQgUGluY2hhcnQgd3JvdGU6Cj4g PiA+ID4gPiA+IEFkZCBEVCBub2RlcyBmb3IgdGhlIHR3byBDU0ktMiByZWNlaXZlcnMgb2YgdGhl IGkuTVg4TVAuCj4gPiA+ID4gPiA+Cj4gPiA+ID4gPiA+IFNpZ25lZC1vZmYtYnk6IExhdXJlbnQg UGluY2hhcnQgPGxhdXJlbnQucGluY2hhcnRAaWRlYXNvbmJvYXJkLmNvbT4KPiA+ID4gPiA+ID4g LS0tCj4gPiA+ID4gPiA+Cj4gPiA+ID4gPiA+ICBhcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVzY2Fs ZS9pbXg4bXAuZHRzaSB8IDYwCj4gPiA+ID4gPiA+ICArKysrKysrKysrKysrKysrKysrKysrKwo+ ID4gPiA+ID4gPiAgMSBmaWxlIGNoYW5nZWQsIDYwIGluc2VydGlvbnMoKykKPiA+ID4gPiA+ID4K PiA+ID4gPiA+ID4gZGlmZiAtLWdpdCBhL2FyY2gvYXJtNjQvYm9vdC9kdHMvZnJlZXNjYWxlL2lt eDhtcC5kdHNpCj4gPiA+ID4gPiA+IGIvYXJjaC9hcm02NC9ib290L2R0cy9mcmVlc2NhbGUvaW14 OG1wLmR0c2kgaW5kZXgKPiA+ID4gPiA+ID4gMmRkNjBlMzI1MmYzLi4yYTM3NGE0YzE0YTIgMTAw NjQ0Cj4gPiA+ID4gPiA+IC0tLSBhL2FyY2gvYXJtNjQvYm9vdC9kdHMvZnJlZXNjYWxlL2lteDht cC5kdHNpCj4gPiA+ID4gPiA+ICsrKyBiL2FyY2gvYXJtNjQvYm9vdC9kdHMvZnJlZXNjYWxlL2lt eDhtcC5kdHNpCj4gPiA+ID4gPiA+IEBAIC0xMjM5LDYgKzEyMzksNjYgQEAgbGRiX2x2ZHNfY2gx OiBlbmRwb2ludCB7Cj4gPiA+ID4gPiA+Cj4gPiA+ID4gPiA+ICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIH07Cj4gPiA+ID4gPiA+Cj4gPiA+ID4gPiA+ICAgICAgICAgICAgICAgICAgICAg ICB9Owo+ID4gPiA+ID4gPgo+ID4gPiA+ID4gPiArICAgICAgICAgICAgICAgICAgICAgbWlwaV9j c2lfMDogY3NpQDMyZTQwMDAwIHsKPiA+ID4gPiA+ID4gKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgY29tcGF0aWJsZSA9ICJmc2wsaW14OG1wLQo+IG1pcGktY3NpMiIsICJmc2wsaW14OG1t LW1pcGktY3NpMiI7Cj4gPiA+ID4gPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJl ZyA9IDwweDMyZTQwMDAwIDB4MTAwMDA+Owo+ID4gPiA+ID4gPiArICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBpbnRlcnJ1cHRzID0gPEdJQ19TUEkgMTcKPiBJUlFfVFlQRV9MRVZFTF9ISUdI PjsKPiA+ID4gPiA+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xvY2stZnJlcXVl bmN5ID0KPiA8NTAwMDAwMDAwPjsKPiA+ID4gPiA+ID4gKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgY2xvY2tzID0gPCZjbGsKPiBJTVg4TVBfQ0xLX01FRElBX0FQQl9ST09UPiwKPiA+ID4g PiA+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCZjbGsKPiBJTVg4 TVBfQ0xLX01FRElBX0NBTTFfUElYX1JPT1Q+LAo+ID4gPiA+ID4gPiArICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICA8JmNsawo+IElNWDhNUF9DTEtfTUVESUFfTUlQSV9QSFkx X1JFRl9ST09UPiwKPiA+ID4gPiA+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgPCZjbGsKPiBJTVg4TVBfQ0xLX01FRElBX0FYSV9ST09UPjsKPiA+ID4gPiA+ID4gKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xvY2stbmFtZXMgPSAicGNsayIsCj4gIndyYXAi LCAicGh5IiwgImF4aSI7Cj4gPiA+ID4gPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAg IGFzc2lnbmVkLWNsb2NrcyA9IDwmY2xrCj4gSU1YOE1QX0NMS19NRURJQV9DQU0xX1BJWD47Cj4g PiA+ID4gPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFzc2lnbmVkLWNsb2NrLXBh cmVudHMgPQo+IDwmY2xrIElNWDhNUF9TWVNfUExMMl8xMDAwTT47Cj4gPiA+ID4gPiA+ICsgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGFzc2lnbmVkLWNsb2NrLXJhdGVzID0KPiA8NTAwMDAw MDAwPjsKPiA+ID4gPiA+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcG93ZXItZG9t YWlucyA9Cj4gPCZtZWRpYV9ibGtfY3RybAo+ID4gPiA+ID4gPiBJTVg4TVBfTUVESUFCTEtfUERf TUlQSV9DU0kyXzE+Owo+ID4gPiA+ID4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICBz dGF0dXMgPSAiZGlzYWJsZWQiOwo+ID4gPiA+ID4gPiArCj4gPiA+ID4gPiA+ICsgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHBvcnRzIHsKPiA+ID4gPiA+ID4gKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAjYWRkcmVzcy1jZWxscyA9Cj4gPDE+Owo+ID4gPiA+ID4gPiAr ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNzaXplLWNlbGxzID0gPDA+Owo+ ID4gPiA+ID4gPiArCj4gPiA+ID4gPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgcG9ydEAwIHsKPiA+ID4gPiA+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHJlZyA9Cj4gPDA+Owo+ID4gPiA+ID4KPiA+ID4gPiA+IElmIHdlIHdv dWxkIGFkZDoKPiA+ID4gPiA+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIG1pcGlfY3NpXzBfaW46Cj4gZW5kcG9pbnQge307Cj4gPiA+ID4gPgo+ID4gPiA+ ID4gaGVyZSB3ZSBjb3VsZCByZWZlcm5jZSBpdCBmcm9tIG92ZXJsYXlzL2JvYXJkIGR0cyBmaWxl cyBtb3JlIGVhc2lseS4KPiA+ID4gPgo+ID4gPiA+IElzbid0IHRoZXJlIGFuIHVud3JpdHRlbiBy dWxlIChvciBjb25zZW5zdXMpIHRoYXQgYW4gZW5kcG9pbnQgc2hvdWxkCj4gPiA+ID4gYWx3YXlz IGhhdmUgYSByZW1vdGUtZW5kcG9pbnQgcHJvcGVydHkgPwo+ID4gPgo+ID4gPiBJIGRvbid0IGtu b3cgaWYgdGhlcmUgaXMgb25lLgo+ID4gPgo+ID4gPiA+IFdoaWxlIHBvcnRzIGRlc2NyaWJlIGhh cmR3YXJlIHByb3BlcnRpZXMgb2YgYSBkZXZpY2UgYW5kIHNob3VsZCBhbHdheXMKPiA+ID4gPiBi ZSB0aGVyZSByZWdhcmRsZXNzIG9mIGNvbm5lY3Rpb25zLCBlbmRwb2ludHMgZGVzY3JpYmUgY29u bmVjdGlvbnMgYW5kCj4gPiA+ID4gSSBkb24ndCB0aGluayB0aGV5IHNob3VsZCBiZSBpbnN0YW50 aWF0ZWQgd2l0aCBhIHZhbGlkCj4gPiA+ID4gcmVtb3RlLWVuZHBvaW50Lgo+ID4gPgo+ID4gPiBJ IGtub3csIHRoZXJlZm9yZSBJIG1lbnRpb25lZCBpdCBhcyBpZGVhIHRvIG1ha2UgaXQgJ2Vhc2ll cicgdG8gYWRkCj4gPiA+IGNhbWVyYSBub2Rlcy4KPiA+Cj4gPiBBcyBhIG1pZGRsZWdyb3VuZCwg d291bGQgaXQgYmUgdXNlZnVsIHRvIGhhdmUgYSBsYWJlbCBmb3IgdGhlIHBvcnQgPwo+ID4gU29t ZXRoaW5nIGxpa2UKPiA+Cj4gPiAgICAgICBtaXBpX2NzaV8wOiBjc2lAMzJlNDAwMDAgewo+ID4g ICAgICAgICAgICAgICBwb3J0cyB7Cj4gPiAgICAgICAgICAgICAgICAgICAgICAgbWlwaV9jc2lf MF9wb3J0XzA6IHBvcnRAMCB7Cj4gPiAgICAgICAgICAgICAgICAgICAgICAgfTsKPiA+ICAgICAg ICAgICAgICAgfTsKPiA+ICAgICAgIH07Cj4gPgo+ID4gQW4gb3ZlcmxheSBjb3VsZCB0aGVuIHJl ZmVyZW5jZSB0aGF0IGFuZCBjcmVhdGUgdGhlIGVuZHBvaW50LiBJJ20gbm90Cj4gPiBlbnRpcmVs eSBzdXJlIGhvdyB1c2VmdWwgdGhhdCB3b3VsZCBiZSB0aG91Z2gsIGFzIHRoZSBvdmVybGF5IHdv dWxkIG5lZWQKPiA+IHRvIGVuYWJsZSB0aGUgQ1NJIG5vZGUgYW55d2F5LiBDb21wYXJlCj4gPgo+ ID4gLS0tLS0tLS0KPiA+ICZtaXBpX2NzaV8wIHsKPiA+ICAgICAgIHN0YXR1cyA9ICJva2F5IjsK PiA+IH07Cj4gPgo+ID4gJm1pcGlfY3NpXzBfcG9ydF8wIHsKPiA+ICAgICAgIG1pcGlfY3NpXzBf aW46IGVuZHBvaW50IHsKPiA+ICAgICAgICAgICAgICAgcmVtb3RlLWVuZHBvaW50ID0gPCZpbXgz Mjdfb3V0PjsKPiA+ICAgICAgIH07Cj4gPiB9Owo+ID4gLS0tLS0tLS0KPiA+Cj4gPiB3aXRoCj4g Pgo+ID4gLS0tLS0tLS0KPiA+ICZtaXBpX2NzaV8wIHsKPiA+ICAgICAgIHN0YXR1cyA9ICJva2F5 IjsKPiA+Cj4gPiAgICAgICBwb3J0cyB7Cj4gPiAgICAgICAgICAgICAgIHBvcnRAMCB7Cj4gPiAg ICAgICAgICAgICAgICAgICAgICAgbWlwaV9jc2lfMF9pbjogZW5kcG9pbnQgewo+ID4gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgcmVtb3RlLWVuZHBvaW50ID0gPCZpbXgzMjdfb3V0PjsK PiA+ICAgICAgICAgICAgICAgICAgICAgICB9Owo+ID4gICAgICAgICAgICAgICB9Owo+ID4gICAg ICAgfTsKPiA+IH07Cj4gPiAtLS0tLS0tLQo+ID4KPiA+IEkgaGF2ZSBhIHNsaWdodCBwcmVmZXJl bmNlIGZvciB0aGUgbGF0dGVyIGFzIGl0IGdyb3VwcyBhbGwgdGhlIENTSTAgZGF0YQo+ID4gaW4g YSBzaW5nbGUgb3ZlcmxheSB0YXJnZXQsIGJ1dCBpZiB0aGUgZm9ybWVyIGlzIGdlbmVyYWxseSBw cmVmZXJyZWQsCj4gPiBJJ20gZmluZSB3aXRoIHRoYXQgdG9vLgo+Cj4gVGhlIGZvcm1lciBpcyBt b3JlIGNvbXBhY3QsIGJ1dCBhbHNvIHJhaXNlcyB0aGUgZm9sbG93aW5nIGR0YyB3YXJuaW5ncyB3 aGlsZQo+IGNyZWF0aW5nIHRoZSAuZHRibzoKPiBXYXJuaW5nIChncmFwaF9lbmRwb2ludCk6IC9m cmFnbWVudEA0L19fb3ZlcmxheV9fOiBncmFwaCBlbmRwb2ludCBub2RlIG5hbWUKPiBzaG91bGQg YmUgJ2VuZHBvaW50Jwo+IFdhcm5pbmcgKGdyYXBoX2VuZHBvaW50KTogL2ZyYWdtZW50QDQvX19v dmVybGF5X186IGdyYXBoIGNvbm5lY3Rpb24gdG8gbm9kZSAnLwo+IGZyYWdtZW50QDEvX19vdmVy bGF5X18vcG9ydHMvcG9ydEAxL2VuZHBvaW50JyBpcyBub3QgYmlkaXJlY3Rpb25hbAo+Cj4gZm9y IHRoZSBmb2xsb3dpbmcgc25pcHBldDoKPgo+ICZtaXBpX2NzaV8wX291dCB7Cj4gICAgICAgICBy ZW1vdGUtZW5kcG9pbnQgPSA8JmlzcDFfaW4+Owo+IH07Cj4KPiBJJ20gbm90IHN1cmUgaWYgdGhl cmUgaXMgYSBjaGFuY2UgdG8gZml4IGF0IGFsbC4KCk9uY2UgdGhlcmUgaXMgY29uc2Vuc3VzIG9u IGhvdyB0aGlzIHNob3VsZCBiZSBnZW5lcmljYWxseSBwbHVtYmVkLApwbGVhc2Uga2VlcCBtZSBp biB0aGUgbG9vcCwgc28gSSBjYW4gYWRkIHRoZSBjb3JyZXNwb25kaW5nIGlteDhtIE5hbm8KdHJl ZXMgYXMgd2VsbC4gIEkndmUgdGVzdGVkIExhdXJlbnQncyB3b3JrIGZvciBhIHdoaWxlIG9uIHRo ZSBOYW5vCnRoYXQgSSBoYXZlLiAgSSB3YXMgZ29pbmcgdG8gcHVzaCBEVCB1cGRhdGVzIGZvciBO YW5vLCB0aGVuIEkgc2F3IHRoaXMKY29udmVyc2F0aW9uLCBzbyBJIGRlY2lkZWQgdG8gaG9sZCBv ZmYgZm9yIG5vdy4KCmFkYW0KPgo+IEJlc3QgcmVnYXJkcywKPiBBbGV4YW5kZXIKPgo+ID4KPiA+ ID4gPiA+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9Owo+ID4gPiA+ ID4gPiArCj4gPiA+ID4gPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg cG9ydEAxIHsKPiA+ID4gPiA+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHJlZyA9Cj4gPDE+Owo+ID4gPiA+ID4gPiArICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIH07Cj4gPiA+ID4gPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIH07Cj4gPiA+ID4gPiA+ICsgICAgICAgICAgICAgICAgICAgICB9Owo+ID4gPiA+ID4gPiAr Cj4gPiA+ID4gPiA+ICsgICAgICAgICAgICAgICAgICAgICBtaXBpX2NzaV8xOiBjc2lAMzJlNTAw MDAgewo+ID4gPiA+ID4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb21wYXRpYmxl ID0gImZzbCxpbXg4bXAtCj4gbWlwaS1jc2kyIiwgImZzbCxpbXg4bW0tbWlwaS1jc2kyIjsKPiA+ ID4gPiA+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVnID0gPDB4MzJlNTAwMDAg MHgxMDAwMD47Cj4gPiA+ID4gPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludGVy cnVwdHMgPSA8R0lDX1NQSSA4MAo+IElSUV9UWVBFX0xFVkVMX0hJR0g+Owo+ID4gPiA+ID4gPiAr ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbG9jay1mcmVxdWVuY3kgPQo+IDwyNjYwMDAw MDA+Owo+ID4gPiA+ID4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbG9ja3MgPSA8 JmNsawo+IElNWDhNUF9DTEtfTUVESUFfQVBCX1JPT1Q+LAo+ID4gPiA+ID4gPiArICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8JmNsawo+IElNWDhNUF9DTEtfTUVESUFfQ0FN Ml9QSVhfUk9PVD4sCj4gPiA+ID4gPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIDwmY2xrCj4gSU1YOE1QX0NMS19NRURJQV9NSVBJX1BIWTFfUkVGX1JPT1Q+LAo+ID4g PiA+ID4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8JmNsawo+IElN WDhNUF9DTEtfTUVESUFfQVhJX1JPT1Q+Owo+ID4gPiA+ID4gPiArICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBjbG9jay1uYW1lcyA9ICJwY2xrIiwKPiAid3JhcCIsICJwaHkiLCAiYXhpIjsK PiA+ID4gPiA+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXNzaWduZWQtY2xvY2tz ID0gPCZjbGsKPiBJTVg4TVBfQ0xLX01FRElBX0NBTTJfUElYPjsKPiA+ID4gPiA+ID4gKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgYXNzaWduZWQtY2xvY2stcGFyZW50cyA9Cj4gPCZjbGsg SU1YOE1QX1NZU19QTEwyXzEwMDBNPjsKPiA+ID4gPiA+ID4gKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgYXNzaWduZWQtY2xvY2stcmF0ZXMgPQo+IDwyNjYwMDAwMDA+Owo+ID4gPiA+ID4g PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb3dlci1kb21haW5zID0KPiA8Jm1lZGlh X2Jsa19jdHJsCj4gPiA+ID4gPiA+IElNWDhNUF9NRURJQUJMS19QRF9NSVBJX0NTSTJfMj47Cj4g PiA+ID4gPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXR1cyA9ICJkaXNhYmxl ZCI7Cj4gPiA+ID4gPiA+ICsKPiA+ID4gPiA+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgcG9ydHMgewo+ID4gPiA+ID4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICNhZGRyZXNzLWNlbGxzID0KPiA8MT47Cj4gPiA+ID4gPiA+ICsgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgI3NpemUtY2VsbHMgPSA8MD47Cj4gPiA+ID4gPiA+ICsKPiA+ ID4gPiA+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb3J0QDAgewo+ ID4gPiA+ID4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg cmVnID0KPiA8MD47Cj4gPiA+ID4gPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgfTsKPiA+ID4gPiA+ID4gKwo+ID4gPiA+ID4gPiArICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHBvcnRAMSB7Cj4gPiA+ID4gPiA+ICsgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICByZWcgPQo+IDwxPjsKPiA+ID4gPiA+ID4gKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9Owo+ID4gPiA+ID4gPiArICAgICAgICAg ICAgICAgICAgICAgICAgICAgICB9Owo+ID4gPiA+ID4gPiArICAgICAgICAgICAgICAgICAgICAg fTsKPiA+ID4gPiA+ID4gKwo+ID4gPiA+ID4gPgo+ID4gPiA+ID4gPiAgICAgICAgICAgICAgICAg ICAgICAgcGNpZV9waHk6IHBjaWUtcGh5QDMyZjAwMDAwIHsKPiA+ID4gPiA+ID4KPiA+ID4gPiA+ ID4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29tcGF0aWJsZSA9ICJmc2wsaW14OG1w LQo+IHBjaWUtcGh5IjsKPiA+ID4gPiA+ID4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg cmVnID0gPDB4MzJmMDAwMDAgMHgxMDAwMD47Cj4KPgo+IC0tCj4gVFEtU3lzdGVtcyBHbWJIIHwg TcO8aGxzdHJhw59lIDIsIEd1dCBEZWxsaW5nIHwgODIyMjkgU2VlZmVsZCwgR2VybWFueQo+IEFt dHNnZXJpY2h0IE3DvG5jaGVuLCBIUkIgMTA1MDE4Cj4gR2VzY2jDpGZ0c2bDvGhyZXI6IERldGxl ZiBTY2huZWlkZXIsIFLDvGRpZ2VyIFN0YWhsLCBTdGVmYW4gU2NobmVpZGVyCj4gaHR0cDovL3d3 dy50cS1ncm91cC5jb20vCj4KPgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX18KbGludXgtYXJtLWtlcm5lbCBtYWlsaW5nIGxpc3QKbGludXgtYXJtLWtlcm5l bEBsaXN0cy5pbmZyYWRlYWQub3JnCmh0dHA6Ly9saXN0cy5pbmZyYWRlYWQub3JnL21haWxtYW4v bGlzdGluZm8vbGludXgtYXJtLWtlcm5lbAo=