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 91211C433F5 for ; Wed, 27 Apr 2022 14:27:46 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S237681AbiD0Oa4 (ORCPT ); Wed, 27 Apr 2022 10:30:56 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:41470 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S237616AbiD0Oaz (ORCPT ); Wed, 27 Apr 2022 10:30:55 -0400 Received: from alexa-out-sd-01.qualcomm.com (alexa-out-sd-01.qualcomm.com [199.106.114.38]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 66E159FDA; Wed, 27 Apr 2022 07:27:43 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=quicinc.com; i=@quicinc.com; q=dns/txt; s=qcdkim; t=1651069663; x=1682605663; h=message-id:date:mime-version:subject:to:cc:references: from:in-reply-to:content-transfer-encoding; bh=M3SYFGLPWzKvtp1WGADcPgzrAp27QvnoGE8k0g5v2OY=; b=tlNcXdd6MfaddGC0FAtk4FdAsF++y2C6e//raC6TsJGo+ufrZJ21eCtx 5UWePTfpJGyNB1DTy5kc8yGG7vUaEc9MUi7eXXOeX28NE7jI/i3bUTyFU RAOpyxDZqV0y6YUr8X0lgA7G98RBU/JLsSgcBH4Upt14widtbby4UD0Z8 U=; Received: from unknown (HELO ironmsg03-sd.qualcomm.com) ([10.53.140.143]) by alexa-out-sd-01.qualcomm.com with ESMTP; 27 Apr 2022 07:27:43 -0700 X-QCInternal: smtphost Received: from nasanex01c.na.qualcomm.com ([10.47.97.222]) by ironmsg03-sd.qualcomm.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 27 Apr 2022 07:27:42 -0700 Received: from nalasex01a.na.qualcomm.com (10.47.209.196) by nasanex01c.na.qualcomm.com (10.47.97.222) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.22; Wed, 27 Apr 2022 07:27:42 -0700 Received: from [10.253.36.240] (10.80.80.8) by nalasex01a.na.qualcomm.com (10.47.209.196) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.22; Wed, 27 Apr 2022 07:27:38 -0700 Message-ID: <5752f130-c040-6156-44dc-497011f2a78e@quicinc.com> Date: Wed, 27 Apr 2022 22:27:35 +0800 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101 Thunderbird/91.7.0 Subject: Re: [PATCH v6 10/10] ARM: dts: msm: Add tpdm mm/prng for sm8250 Content-Language: en-US To: Konrad Dybcio , Mathieu Poirier , Suzuki K Poulose , Alexander Shishkin CC: Mike Leach , Leo Yan , "Greg Kroah-Hartman" , , , , Tingwei Zhang , Yuanfang Zhang , Tao Zhang , Trilok Soni , Hao Zhang , , Bjorn Andersson References: <20220425040304.37487-1-quic_jinlmao@quicinc.com> <20220425040304.37487-11-quic_jinlmao@quicinc.com> From: Jinlong Mao In-Reply-To: Content-Type: text/plain; charset="UTF-8"; format=flowed Content-Transfer-Encoding: 8bit X-Originating-IP: [10.80.80.8] X-ClientProxiedBy: nasanex01a.na.qualcomm.com (10.52.223.231) To nalasex01a.na.qualcomm.com (10.47.209.196) Precedence: bulk List-ID: X-Mailing-List: linux-arm-msm@vger.kernel.org Thank you Konrad for the review. On 4/26/2022 7:49 PM, Konrad Dybcio wrote: > > On 25/04/2022 06:03, Mao Jinlong wrote: >> Add tpdm mm and tpdm prng for sm8250. >> >> +---------------+                +-------------+ >> |  tpdm@6c08000 |                |tpdm@684C000 | >> +-------|-------+                +------|------+ >>          |                               | >> +-------|-------+                       | >> | funnel@6c0b000|                       | >> +-------|-------+                       | >>          |                               | >> +-------|-------+                       | >> |funnel@6c2d000 |                       | >> +-------|-------+                       | >>          |                               | >>          |    +---------------+          | >>          +----- tpda@6004000  -----------+ >>               +-------|-------+ >>                       | >>               +-------|-------+ >>               |funnel@6005000 | >>               +---------------+ >> >> Signed-off-by: Mao Jinlong >> --- >>   arch/arm64/boot/dts/qcom/sm8250.dtsi | 170 +++++++++++++++++++++++++++ >>   1 file changed, 170 insertions(+) > > Hi, > > > some of the previous comments (uppercase hex instead of lowercase and > wrong commit title) still haven't been addressed. I will double check and address your comments. Thanks Jinlong Mao > > > Konrad > >> diff --git a/arch/arm64/boot/dts/qcom/sm8250.dtsi >> b/arch/arm64/boot/dts/qcom/sm8250.dtsi >> index 53ab2b457a2f..ce558a2639e7 100644 >> --- a/arch/arm64/boot/dts/qcom/sm8250.dtsi >> +++ b/arch/arm64/boot/dts/qcom/sm8250.dtsi >> @@ -4703,6 +4703,73 @@ >>               }; >>           }; >>   +        tpda@6004000 { >> +            compatible = "arm,primecell"; >> +            reg = <0 0x06004000 0 0x1000>; >> +            reg-names = "tpda-base"; >> + >> +            clocks = <&aoss_qmp>; >> +            clock-names = "apb_pclk"; >> + >> +            out-ports { >> +                port { >> +                    reg = <0>; >> +                    tpda_out_funnel_qatb: endpoint { >> +                        remote-endpoint = <&funnel_qatb_in_tpda>; >> +                    }; >> +                }; >> +            }; >> + >> +            in-ports { >> +                #address-cells = <1>; >> +                #size-cells = <0>; >> + >> +                port@9 { >> +                    reg = <9>; >> +                    tpda_9_in_tpdm_mm: endpoint { >> +                        remote-endpoint = <&tpdm_mm_out_tpda9>; >> +                    }; >> +                }; >> + >> +                port@23 { >> +                    reg = <23>; >> +                    tpda_23_in_tpdm_prng: endpoint { >> +                        remote-endpoint = <&tpdm_prng_out_tpda_23>; >> +                    }; >> +                }; >> +            }; >> +        }; >> + >> +        funnel@6005000 { >> +            compatible = "arm,primecell"; >> + >> +            reg = <0 0x06005000 0 0x1000>; >> +            reg-names = "funnel-base"; >> + >> +            clocks = <&aoss_qmp>; >> +            clock-names = "apb_pclk"; >> + >> +            out-ports { >> +                port { >> +                    funnel_qatb_out_funnel_in0: endpoint { >> +                        remote-endpoint = <&funnel_in0_in_funnel_qatb>; >> +                    }; >> +                }; >> +            }; >> + >> +            in-ports { >> +                #address-cells = <1>; >> +                #size-cells = <0>; >> + >> +                port@0 { >> +                    reg = <0>; >> +                    funnel_qatb_in_tpda: endpoint { >> +                        remote-endpoint = <&tpda_out_funnel_qatb>; >> +                    }; >> +                }; >> +            }; >> +        }; >> + >>           funnel@6041000 { >>               compatible = "arm,coresight-dynamic-funnel", >> "arm,primecell"; >>               reg = <0 0x06041000 0 0x1000>; >> @@ -4722,6 +4789,13 @@ >>                   #address-cells = <1>; >>                   #size-cells = <0>; >>   +                port@6 { >> +                    reg = <6>; >> +                    funnel_in0_in_funnel_qatb: endpoint { >> +                        remote-endpoint = >> <&funnel_qatb_out_funnel_in0>; >> +                    }; >> +                }; >> + >>                   port@7 { >>                       reg = <7>; >>                       funnel0_in7: endpoint { >> @@ -4836,6 +4910,23 @@ >>               }; >>           }; >>   +        tpdm@684C000 { >> +            compatible = "arm,primecell"; >> +            reg = <0 0x0684C000 0 0x1000>; >> +            reg-names = "tpdm-base"; >> + >> +            clocks = <&aoss_qmp>; >> +            clock-names = "apb_pclk"; >> + >> +            out-ports { >> +                port { >> +                    tpdm_prng_out_tpda_23: endpoint { >> +                        remote-endpoint = <&tpda_23_in_tpdm_prng>; >> +                    }; >> +                }; >> +            }; >> +        }; >> + >>           funnel@6b04000 { >>               compatible = "arm,coresight-dynamic-funnel", >> "arm,primecell"; >>               arm,primecell-periphid = <0x000bb908>; >> @@ -4920,6 +5011,85 @@ >>               }; >>           }; >>   +        tpdm@6c08000 { >> +            compatible = "arm,primecell"; >> +            reg = <0 0x06c08000 0 0x1000>; >> +            reg-names = "tpdm-base"; >> + >> +            clocks = <&aoss_qmp>; >> +            clock-names = "apb_pclk"; >> + >> +            out-ports { >> +                port { >> +                    tpdm_mm_out_funnel_dl_mm: endpoint { >> +                        remote-endpoint = <&funnel_dl_mm_in_tpdm_mm>; >> +                    }; >> +                }; >> +            }; >> +        }; >> + >> +        funnel@6c0b000 { >> +            compatible = "arm,coresight-dynamic-funnel", >> "arm,primecell"; >> + >> +            reg = <0 0x06c0b000 0 0x1000>; >> +            reg-names = "funnel-base"; >> + >> +            clocks = <&aoss_qmp>; >> +            clock-names = "apb_pclk"; >> + >> +            out-ports { >> +                port { >> +                    funnel_dl_mm_out_funnel_dl_center: endpoint { >> +                        remote-endpoint = >> <&funnel_dl_center_in_funnel_dl_mm>; >> +                    }; >> +                }; >> +            }; >> + >> +            in-ports { >> +                #address-cells = <1>; >> +                #size-cells = <0>; >> + >> +                port@3 { >> +                    reg = <3>; >> +                    funnel_dl_mm_in_tpdm_mm: endpoint { >> +                        remote-endpoint = <&tpdm_mm_out_funnel_dl_mm>; >> +                    }; >> +                }; >> +            }; >> +        }; >> + >> +        funnel@6c2d000 { >> +            compatible = "arm,coresight-dynamic-funnel", >> "arm,primecell"; >> + >> +            reg = <0 0x06c2d000 0 0x1000>; >> +            reg-names = "funnel-base"; >> + >> +            clocks = <&aoss_qmp>; >> +            clock-names = "apb_pclk"; >> + >> +            out-ports { >> +                #address-cells = <1>; >> +                #size-cells = <0>; >> +                port { >> +                    tpdm_mm_out_tpda9: endpoint { >> +                        remote-endpoint = <&tpda_9_in_tpdm_mm>; >> +                    }; >> +                }; >> +            }; >> + >> +            in-ports { >> +                #address-cells = <1>; >> +                #size-cells = <0>; >> + >> +                port@2 { >> +                    reg = <2>; >> +                    funnel_dl_center_in_funnel_dl_mm: endpoint { >> +                        remote-endpoint = >> <&funnel_dl_mm_out_funnel_dl_center>; >> +                    }; >> +                }; >> +            }; >> +        }; >> + >>           etm@7040000 { >>               compatible = "arm,coresight-etm4x", "arm,primecell"; >>               reg = <0 0x07040000 0 0x1000>; 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 10609C433F5 for ; Wed, 27 Apr 2022 14:28:58 +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-Type: Content-Transfer-Encoding:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:In-Reply-To:From:References:CC:To:Subject: MIME-Version:Date:Message-ID:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=FdEqZ5lJ79qB10g/19e/hTql5Rtg718Jqm2/ZBKSRAo=; b=5B22JmXO8LaeLJ JnpI66GgNZx+nCbkscYt+T8NHhP7EVhFv6+Ih9X05hrJIvJdVZ0Ti6agpP+3EGvBc+zM1rmUNZxFR DqqCD69Iy0vM0g7VDo1QgTicNTKODt4/jBulnkoh9naPZ+VGhxL3UUfGwyQXmMhg5wf78NF/RwdC5 /a62cebArAdgrkTw7T28/ExxqkPqwowjvc5IQUOEhBVI7tNJmR54dSBUCJBGgerwE4uFVo4rW/G1X VSOfqtrSgzjpbNufhXNW4VgE+oa9GSF+j3dgr+Rc4jkqVYY1bnL6MmOhZVCiE/gME6ypJMH7qvv/U //+460Tf+X4s3Hj2iAnQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1njidy-001mKA-22; Wed, 27 Apr 2022 14:27:50 +0000 Received: from alexa-out-sd-02.qualcomm.com ([199.106.114.39]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1njidu-001mIi-JY for linux-arm-kernel@lists.infradead.org; Wed, 27 Apr 2022 14:27:48 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=quicinc.com; i=@quicinc.com; q=dns/txt; s=qcdkim; t=1651069666; x=1682605666; h=message-id:date:mime-version:subject:to:cc:references: from:in-reply-to:content-transfer-encoding; bh=M3SYFGLPWzKvtp1WGADcPgzrAp27QvnoGE8k0g5v2OY=; b=kdDNwY8/6dXmAhLV/6FxrXbiD8JH4hfM6ip3gmQMORC2l3aLA7WZNeH6 GVoPt0eIl/HbloKKiGI+9B6FtmAV81TzyuOySpBruhJJN125r+bF3GA/F 0on9syR8RT0h8NCxWXSKC1FCzkZwJYMJpKKZdCYSVxGMwPcpxpVgGcoox o=; Received: from unknown (HELO ironmsg03-sd.qualcomm.com) ([10.53.140.143]) by alexa-out-sd-02.qualcomm.com with ESMTP; 27 Apr 2022 07:27:43 -0700 X-QCInternal: smtphost Received: from nasanex01c.na.qualcomm.com ([10.47.97.222]) by ironmsg03-sd.qualcomm.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 27 Apr 2022 07:27:42 -0700 Received: from nalasex01a.na.qualcomm.com (10.47.209.196) by nasanex01c.na.qualcomm.com (10.47.97.222) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.22; Wed, 27 Apr 2022 07:27:42 -0700 Received: from [10.253.36.240] (10.80.80.8) by nalasex01a.na.qualcomm.com (10.47.209.196) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.22; Wed, 27 Apr 2022 07:27:38 -0700 Message-ID: <5752f130-c040-6156-44dc-497011f2a78e@quicinc.com> Date: Wed, 27 Apr 2022 22:27:35 +0800 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101 Thunderbird/91.7.0 Subject: Re: [PATCH v6 10/10] ARM: dts: msm: Add tpdm mm/prng for sm8250 Content-Language: en-US To: Konrad Dybcio , Mathieu Poirier , Suzuki K Poulose , Alexander Shishkin CC: Mike Leach , Leo Yan , "Greg Kroah-Hartman" , , , , Tingwei Zhang , Yuanfang Zhang , Tao Zhang , Trilok Soni , Hao Zhang , , Bjorn Andersson References: <20220425040304.37487-1-quic_jinlmao@quicinc.com> <20220425040304.37487-11-quic_jinlmao@quicinc.com> From: Jinlong Mao In-Reply-To: X-Originating-IP: [10.80.80.8] X-ClientProxiedBy: nasanex01a.na.qualcomm.com (10.52.223.231) To nalasex01a.na.qualcomm.com (10.47.209.196) X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20220427_072746_710914_2B1A194A X-CRM114-Status: GOOD ( 12.75 ) 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-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8"; Format="flowed" Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org VGhhbmsgeW91IEtvbnJhZCBmb3IgdGhlIHJldmlldy4KCk9uIDQvMjYvMjAyMiA3OjQ5IFBNLCBL b25yYWQgRHliY2lvIHdyb3RlOgo+Cj4gT24gMjUvMDQvMjAyMiAwNjowMywgTWFvIEppbmxvbmcg d3JvdGU6Cj4+IEFkZCB0cGRtIG1tIGFuZCB0cGRtIHBybmcgZm9yIHNtODI1MC4KPj4KPj4gKy0t LS0tLS0tLS0tLS0tLSvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgKy0tLS0tLS0tLS0t LS0rCj4+IHzCoCB0cGRtQDZjMDgwMDAgfMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8 dHBkbUA2ODRDMDAwIHwKPj4gKy0tLS0tLS18LS0tLS0tLSvCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqAgKy0tLS0tLXwtLS0tLS0rCj4+IMKgwqDCoMKgwqDCoMKgwqAgfMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8Cj4+ICst LS0tLS0tfC0tLS0tLS0rwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqAgfAo+PiB8IGZ1bm5lbEA2YzBiMDAwfMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgIHwKPj4gKy0tLS0tLS18LS0tLS0tLSvCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8Cj4+IMKgwqDCoMKgwqDCoMKgwqAgfMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8Cj4+ICst LS0tLS0tfC0tLS0tLS0rwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqAgfAo+PiB8ZnVubmVsQDZjMmQwMDAgfMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgIHwKPj4gKy0tLS0tLS18LS0tLS0tLSvCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8Cj4+IMKgwqDCoMKgwqDCoMKgwqAgfMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8Cj4+IMKg wqDCoMKgwqDCoMKgwqAgfMKgwqDCoCArLS0tLS0tLS0tLS0tLS0tK8KgwqDCoMKgwqDCoMKgwqDC oCB8Cj4+IMKgwqDCoMKgwqDCoMKgwqAgKy0tLS0tIHRwZGFANjAwNDAwMMKgIC0tLS0tLS0tLS0t Kwo+PiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCArLS0tLS0tLXwtLS0tLS0tKwo+PiDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfAo+PiDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoCArLS0tLS0tLXwtLS0tLS0tKwo+PiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoCB8ZnVubmVsQDYwMDUwMDAgfAo+PiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCArLS0t LS0tLS0tLS0tLS0tKwo+Pgo+PiBTaWduZWQtb2ZmLWJ5OiBNYW8gSmlubG9uZyA8cXVpY19qaW5s bWFvQHF1aWNpbmMuY29tPgo+PiAtLS0KPj4gwqAgYXJjaC9hcm02NC9ib290L2R0cy9xY29tL3Nt ODI1MC5kdHNpIHwgMTcwICsrKysrKysrKysrKysrKysrKysrKysrKysrKwo+PiDCoCAxIGZpbGUg Y2hhbmdlZCwgMTcwIGluc2VydGlvbnMoKykKPgo+IEhpLAo+Cj4KPiBzb21lIG9mIHRoZSBwcmV2 aW91cyBjb21tZW50cyAodXBwZXJjYXNlIGhleCBpbnN0ZWFkIG9mIGxvd2VyY2FzZSBhbmQgCj4g d3JvbmcgY29tbWl0IHRpdGxlKSBzdGlsbCBoYXZlbid0IGJlZW4gYWRkcmVzc2VkLgoKSSB3aWxs IGRvdWJsZSBjaGVjayBhbmQgYWRkcmVzcyB5b3VyIGNvbW1lbnRzLgoKVGhhbmtzCgpKaW5sb25n IE1hbwoKPgo+Cj4gS29ucmFkCj4KPj4gZGlmZiAtLWdpdCBhL2FyY2gvYXJtNjQvYm9vdC9kdHMv cWNvbS9zbTgyNTAuZHRzaSAKPj4gYi9hcmNoL2FybTY0L2Jvb3QvZHRzL3Fjb20vc204MjUwLmR0 c2kKPj4gaW5kZXggNTNhYjJiNDU3YTJmLi5jZTU1OGEyNjM5ZTcgMTAwNjQ0Cj4+IC0tLSBhL2Fy Y2gvYXJtNjQvYm9vdC9kdHMvcWNvbS9zbTgyNTAuZHRzaQo+PiArKysgYi9hcmNoL2FybTY0L2Jv b3QvZHRzL3Fjb20vc204MjUwLmR0c2kKPj4gQEAgLTQ3MDMsNiArNDcwMyw3MyBAQAo+PiDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB9Owo+PiDCoMKgwqDCoMKgwqDCoMKgwqAgfTsKPj4gwqAg K8KgwqDCoMKgwqDCoMKgIHRwZGFANjAwNDAwMCB7Cj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKg IGNvbXBhdGlibGUgPSAiYXJtLHByaW1lY2VsbCI7Cj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKg IHJlZyA9IDwwIDB4MDYwMDQwMDAgMCAweDEwMDA+Owo+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDC oCByZWctbmFtZXMgPSAidHBkYS1iYXNlIjsKPj4gKwo+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDC oCBjbG9ja3MgPSA8JmFvc3NfcW1wPjsKPj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgY2xvY2st bmFtZXMgPSAiYXBiX3BjbGsiOwo+PiArCj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIG91dC1w b3J0cyB7Cj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgcG9ydCB7Cj4+ICvCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCByZWcgPSA8MD47Cj4+ICvCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB0cGRhX291dF9mdW5uZWxfcWF0YjogZW5k cG9pbnQgewo+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oCByZW1vdGUtZW5kcG9pbnQgPSA8JmZ1bm5lbF9xYXRiX2luX3RwZGE+Owo+PiArwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfTsKPj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoCB9Owo+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB9Owo+PiArCj4+ICvCoMKg wqDCoMKgwqDCoMKgwqDCoMKgIGluLXBvcnRzIHsKPj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoCAjYWRkcmVzcy1jZWxscyA9IDwxPjsKPj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoCAjc2l6ZS1jZWxscyA9IDwwPjsKPj4gKwo+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgIHBvcnRAOSB7Cj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoCByZWcgPSA8OT47Cj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oCB0cGRhXzlfaW5fdHBkbV9tbTogZW5kcG9pbnQgewo+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCByZW1vdGUtZW5kcG9pbnQgPSA8JnRwZG1fbW1fb3V0 X3RwZGE5PjsKPj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIH07Cj4+ ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfTsKPj4gKwo+PiArwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgIHBvcnRAMjMgewo+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqAgcmVnID0gPDIzPjsKPj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgIHRwZGFfMjNfaW5fdHBkbV9wcm5nOiBlbmRwb2ludCB7Cj4+ICvCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHJlbW90ZS1lbmRwb2ludCA9 IDwmdHBkbV9wcm5nX291dF90cGRhXzIzPjsKPj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgIH07Cj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfTsKPj4g K8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfTsKPj4gK8KgwqDCoMKgwqDCoMKgIH07Cj4+ICsKPj4g K8KgwqDCoMKgwqDCoMKgIGZ1bm5lbEA2MDA1MDAwIHsKPj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKg wqAgY29tcGF0aWJsZSA9ICJhcm0scHJpbWVjZWxsIjsKPj4gKwo+PiArwqDCoMKgwqDCoMKgwqDC oMKgwqDCoCByZWcgPSA8MCAweDA2MDA1MDAwIDAgMHgxMDAwPjsKPj4gK8KgwqDCoMKgwqDCoMKg wqDCoMKgwqAgcmVnLW5hbWVzID0gImZ1bm5lbC1iYXNlIjsKPj4gKwo+PiArwqDCoMKgwqDCoMKg wqDCoMKgwqDCoCBjbG9ja3MgPSA8JmFvc3NfcW1wPjsKPj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKg wqAgY2xvY2stbmFtZXMgPSAiYXBiX3BjbGsiOwo+PiArCj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDC oMKgIG91dC1wb3J0cyB7Cj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgcG9ydCB7 Cj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBmdW5uZWxfcWF0Yl9v dXRfZnVubmVsX2luMDogZW5kcG9pbnQgewo+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoCByZW1vdGUtZW5kcG9pbnQgPSA8JmZ1bm5lbF9pbjBfaW5fZnVu bmVsX3FhdGI+Owo+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfTsK Pj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB9Owo+PiArwqDCoMKgwqDCoMKgwqDC oMKgwqDCoCB9Owo+PiArCj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGluLXBvcnRzIHsKPj4g K8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAjYWRkcmVzcy1jZWxscyA9IDwxPjsKPj4g K8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAjc2l6ZS1jZWxscyA9IDwwPjsKPj4gKwo+ PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHBvcnRAMCB7Cj4+ICvCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCByZWcgPSA8MD47Cj4+ICvCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBmdW5uZWxfcWF0Yl9pbl90cGRhOiBlbmRwb2ludCB7 Cj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHJlbW90 ZS1lbmRwb2ludCA9IDwmdHBkYV9vdXRfZnVubmVsX3FhdGI+Owo+PiArwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfTsKPj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoCB9Owo+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB9Owo+PiArwqDCoMKgwqDCoMKgwqAg fTsKPj4gKwo+PiDCoMKgwqDCoMKgwqDCoMKgwqAgZnVubmVsQDYwNDEwMDAgewo+PiDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoCBjb21wYXRpYmxlID0gImFybSxjb3Jlc2lnaHQtZHluYW1pYy1m dW5uZWwiLCAKPj4gImFybSxwcmltZWNlbGwiOwo+PiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oCByZWcgPSA8MCAweDA2MDQxMDAwIDAgMHgxMDAwPjsKPj4gQEAgLTQ3MjIsNiArNDc4OSwxMyBA QAo+PiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICNhZGRyZXNzLWNlbGxzID0g PDE+Owo+PiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICNzaXplLWNlbGxzID0g PDA+Owo+PiDCoCArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHBvcnRANiB7Cj4+ICvC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCByZWcgPSA8Nj47Cj4+ICvCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBmdW5uZWxfaW4wX2luX2Z1bm5lbF9x YXRiOiBlbmRwb2ludCB7Cj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgIHJlbW90ZS1lbmRwb2ludCA9IAo+PiA8JmZ1bm5lbF9xYXRiX291dF9mdW5uZWxf aW4wPjsKPj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIH07Cj4+ICvC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfTsKPj4gKwo+PiDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgIHBvcnRANyB7Cj4+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoCByZWcgPSA8Nz47Cj4+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoCBmdW5uZWwwX2luNzogZW5kcG9pbnQgewo+PiBAQCAtNDgzNiw2ICs0 OTEwLDIzIEBACj4+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIH07Cj4+IMKgwqDCoMKgwqDC oMKgwqDCoCB9Owo+PiDCoCArwqDCoMKgwqDCoMKgwqAgdHBkbUA2ODRDMDAwIHsKPj4gK8KgwqDC oMKgwqDCoMKgwqDCoMKgwqAgY29tcGF0aWJsZSA9ICJhcm0scHJpbWVjZWxsIjsKPj4gK8KgwqDC oMKgwqDCoMKgwqDCoMKgwqAgcmVnID0gPDAgMHgwNjg0QzAwMCAwIDB4MTAwMD47Cj4+ICvCoMKg wqDCoMKgwqDCoMKgwqDCoMKgIHJlZy1uYW1lcyA9ICJ0cGRtLWJhc2UiOwo+PiArCj4+ICvCoMKg wqDCoMKgwqDCoMKgwqDCoMKgIGNsb2NrcyA9IDwmYW9zc19xbXA+Owo+PiArwqDCoMKgwqDCoMKg wqDCoMKgwqDCoCBjbG9jay1uYW1lcyA9ICJhcGJfcGNsayI7Cj4+ICsKPj4gK8KgwqDCoMKgwqDC oMKgwqDCoMKgwqAgb3V0LXBvcnRzIHsKPj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oCBwb3J0IHsKPj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHRwZG1f cHJuZ19vdXRfdHBkYV8yMzogZW5kcG9pbnQgewo+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoCByZW1vdGUtZW5kcG9pbnQgPSA8JnRwZGFfMjNfaW5fdHBk bV9wcm5nPjsKPj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIH07Cj4+ ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfTsKPj4gK8KgwqDCoMKgwqDCoMKgwqDC oMKgwqAgfTsKPj4gK8KgwqDCoMKgwqDCoMKgIH07Cj4+ICsKPj4gwqDCoMKgwqDCoMKgwqDCoMKg IGZ1bm5lbEA2YjA0MDAwIHsKPj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgY29tcGF0aWJs ZSA9ICJhcm0sY29yZXNpZ2h0LWR5bmFtaWMtZnVubmVsIiwgCj4+ICJhcm0scHJpbWVjZWxsIjsK Pj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgYXJtLHByaW1lY2VsbC1wZXJpcGhpZCA9IDww eDAwMGJiOTA4PjsKPj4gQEAgLTQ5MjAsNiArNTAxMSw4NSBAQAo+PiDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoCB9Owo+PiDCoMKgwqDCoMKgwqDCoMKgwqAgfTsKPj4gwqAgK8KgwqDCoMKgwqDC oMKgIHRwZG1ANmMwODAwMCB7Cj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGNvbXBhdGlibGUg PSAiYXJtLHByaW1lY2VsbCI7Cj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHJlZyA9IDwwIDB4 MDZjMDgwMDAgMCAweDEwMDA+Owo+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCByZWctbmFtZXMg PSAidHBkbS1iYXNlIjsKPj4gKwo+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBjbG9ja3MgPSA8 JmFvc3NfcW1wPjsKPj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgY2xvY2stbmFtZXMgPSAiYXBi X3BjbGsiOwo+PiArCj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIG91dC1wb3J0cyB7Cj4+ICvC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgcG9ydCB7Cj4+ICvCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB0cGRtX21tX291dF9mdW5uZWxfZGxfbW06IGVuZHBvaW50 IHsKPj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgcmVt b3RlLWVuZHBvaW50ID0gPCZmdW5uZWxfZGxfbW1faW5fdHBkbV9tbT47Cj4+ICvCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB9Owo+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgIH07Cj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIH07Cj4+ICvCoMKgwqDCoMKg wqDCoCB9Owo+PiArCj4+ICvCoMKgwqDCoMKgwqDCoCBmdW5uZWxANmMwYjAwMCB7Cj4+ICvCoMKg wqDCoMKgwqDCoMKgwqDCoMKgIGNvbXBhdGlibGUgPSAiYXJtLGNvcmVzaWdodC1keW5hbWljLWZ1 bm5lbCIsIAo+PiAiYXJtLHByaW1lY2VsbCI7Cj4+ICsKPj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKg wqAgcmVnID0gPDAgMHgwNmMwYjAwMCAwIDB4MTAwMD47Cj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDC oMKgIHJlZy1uYW1lcyA9ICJmdW5uZWwtYmFzZSI7Cj4+ICsKPj4gK8KgwqDCoMKgwqDCoMKgwqDC oMKgwqAgY2xvY2tzID0gPCZhb3NzX3FtcD47Cj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGNs b2NrLW5hbWVzID0gImFwYl9wY2xrIjsKPj4gKwo+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBv dXQtcG9ydHMgewo+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHBvcnQgewo+PiAr wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgZnVubmVsX2RsX21tX291dF9m dW5uZWxfZGxfY2VudGVyOiBlbmRwb2ludCB7Cj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgIHJlbW90ZS1lbmRwb2ludCA9IAo+PiA8JmZ1bm5lbF9kbF9j ZW50ZXJfaW5fZnVubmVsX2RsX21tPjsKPj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgIH07Cj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfTsKPj4gK8Kg wqDCoMKgwqDCoMKgwqDCoMKgwqAgfTsKPj4gKwo+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBp bi1wb3J0cyB7Cj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgI2FkZHJlc3MtY2Vs bHMgPSA8MT47Cj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgI3NpemUtY2VsbHMg PSA8MD47Cj4+ICsKPj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBwb3J0QDMgewo+ PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgcmVnID0gPDM+Owo+PiAr wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgZnVubmVsX2RsX21tX2luX3Rw ZG1fbW06IGVuZHBvaW50IHsKPj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqAgcmVtb3RlLWVuZHBvaW50ID0gPCZ0cGRtX21tX291dF9mdW5uZWxfZGxfbW0+ Owo+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfTsKPj4gK8KgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB9Owo+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB9 Owo+PiArwqDCoMKgwqDCoMKgwqAgfTsKPj4gKwo+PiArwqDCoMKgwqDCoMKgwqAgZnVubmVsQDZj MmQwMDAgewo+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBjb21wYXRpYmxlID0gImFybSxjb3Jl c2lnaHQtZHluYW1pYy1mdW5uZWwiLCAKPj4gImFybSxwcmltZWNlbGwiOwo+PiArCj4+ICvCoMKg wqDCoMKgwqDCoMKgwqDCoMKgIHJlZyA9IDwwIDB4MDZjMmQwMDAgMCAweDEwMDA+Owo+PiArwqDC oMKgwqDCoMKgwqDCoMKgwqDCoCByZWctbmFtZXMgPSAiZnVubmVsLWJhc2UiOwo+PiArCj4+ICvC oMKgwqDCoMKgwqDCoMKgwqDCoMKgIGNsb2NrcyA9IDwmYW9zc19xbXA+Owo+PiArwqDCoMKgwqDC oMKgwqDCoMKgwqDCoCBjbG9jay1uYW1lcyA9ICJhcGJfcGNsayI7Cj4+ICsKPj4gK8KgwqDCoMKg wqDCoMKgwqDCoMKgwqAgb3V0LXBvcnRzIHsKPj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoCAjYWRkcmVzcy1jZWxscyA9IDwxPjsKPj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoCAjc2l6ZS1jZWxscyA9IDwwPjsKPj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oCBwb3J0IHsKPj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHRwZG1f bW1fb3V0X3RwZGE5OiBlbmRwb2ludCB7Cj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgIHJlbW90ZS1lbmRwb2ludCA9IDwmdHBkYV85X2luX3RwZG1fbW0+ Owo+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfTsKPj4gK8KgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB9Owo+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB9 Owo+PiArCj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGluLXBvcnRzIHsKPj4gK8KgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAjYWRkcmVzcy1jZWxscyA9IDwxPjsKPj4gK8KgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAjc2l6ZS1jZWxscyA9IDwwPjsKPj4gKwo+PiArwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHBvcnRAMiB7Cj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoCByZWcgPSA8Mj47Cj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoCBmdW5uZWxfZGxfY2VudGVyX2luX2Z1bm5lbF9kbF9tbTogZW5kcG9p bnQgewo+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBy ZW1vdGUtZW5kcG9pbnQgPSAKPj4gPCZmdW5uZWxfZGxfbW1fb3V0X2Z1bm5lbF9kbF9jZW50ZXI+ Owo+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfTsKPj4gK8KgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB9Owo+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB9 Owo+PiArwqDCoMKgwqDCoMKgwqAgfTsKPj4gKwo+PiDCoMKgwqDCoMKgwqDCoMKgwqAgZXRtQDcw NDAwMDAgewo+PiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBjb21wYXRpYmxlID0gImFybSxj b3Jlc2lnaHQtZXRtNHgiLCAiYXJtLHByaW1lY2VsbCI7Cj4+IMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgIHJlZyA9IDwwIDB4MDcwNDAwMDAgMCAweDEwMDA+OwoKX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX18KbGludXgtYXJtLWtlcm5lbCBtYWlsaW5nIGxp c3QKbGludXgtYXJtLWtlcm5lbEBsaXN0cy5pbmZyYWRlYWQub3JnCmh0dHA6Ly9saXN0cy5pbmZy YWRlYWQub3JnL21haWxtYW4vbGlzdGluZm8vbGludXgtYXJtLWtlcm5lbAo=