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 DFA2BC433EF for ; Wed, 27 Apr 2022 14:28:41 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S237691AbiD0Obu (ORCPT ); Wed, 27 Apr 2022 10:31:50 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:45638 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S237693AbiD0Obt (ORCPT ); Wed, 27 Apr 2022 10:31:49 -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 0EE5E13D2B; Wed, 27 Apr 2022 07:28:36 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=quicinc.com; i=@quicinc.com; q=dns/txt; s=qcdkim; t=1651069717; x=1682605717; h=message-id:date:mime-version:subject:to:cc:references: from:in-reply-to:content-transfer-encoding; bh=BucW0rHbB0z+kipTBl3lXvQ7cS0WPsJ7AWSYuCWLGsE=; b=ECWCuGO1uU89ARC4kL2YZUeG2XmYavvBRtBxBq++TYIPCQHmMCRoN3OS TnfJvj32xfAEXE3dhrfmnThdiD0NDHpg71l3CoVAq9uAPnVrx+qKhyhIt YaYNiKCB2gTE/UZeGg1ZJuqTrf28Bh/IFwTlWCcW5eVfDHNXxSSNLru00 I=; Received: from unknown (HELO ironmsg04-sd.qualcomm.com) ([10.53.140.144]) by alexa-out-sd-01.qualcomm.com with ESMTP; 27 Apr 2022 07:28:36 -0700 X-QCInternal: smtphost Received: from nasanex01c.na.qualcomm.com ([10.47.97.222]) by ironmsg04-sd.qualcomm.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 27 Apr 2022 07:28:35 -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:28:35 -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:28:31 -0700 Message-ID: <56ebb4ca-b155-202b-6ba6-b5833c49fe82@quicinc.com> Date: Wed, 27 Apr 2022 22:28:28 +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 09/10] ARM: dts: msm: Add coresight components 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-10-quic_jinlmao@quicinc.com> <761b0b5d-8bc9-e45e-826d-e04a39c1239c@somainline.org> From: Jinlong Mao In-Reply-To: <761b0b5d-8bc9-e45e-826d-e04a39c1239c@somainline.org> Content-Type: text/plain; charset="UTF-8"; format=flowed Content-Transfer-Encoding: 8bit X-Originating-IP: [10.80.80.8] X-ClientProxiedBy: nasanex01b.na.qualcomm.com (10.46.141.250) To nalasex01a.na.qualcomm.com (10.47.209.196) Precedence: bulk List-ID: X-Mailing-List: linux-arm-msm@vger.kernel.org Hi Konrad, On 4/26/2022 7:53 PM, Konrad Dybcio wrote: > > On 25/04/2022 06:03, Mao Jinlong wrote: >> Add coresight components for sm8250. STM/ETM are added. >> >> Signed-off-by: Tao Zhang >> Signed-off-by: Mao Jinlong >> --- >>   arch/arm64/boot/dts/qcom/sm8250.dtsi | 488 +++++++++++++++++++++++++++ >>   1 file changed, 488 insertions(+) > > Hi, > > please fix the commit title to match the style used in the directory > of the files you're changing. I will update it. > >> >> diff --git a/arch/arm64/boot/dts/qcom/sm8250.dtsi >> b/arch/arm64/boot/dts/qcom/sm8250.dtsi >> index af8f22636436..53ab2b457a2f 100644 >> --- a/arch/arm64/boot/dts/qcom/sm8250.dtsi >> +++ b/arch/arm64/boot/dts/qcom/sm8250.dtsi >> @@ -4685,6 +4685,494 @@ >>               interrupt-names = "dcvsh-irq-0", "dcvsh-irq-1", >> "dcvsh-irq-2"; >>               #freq-domain-cells = <1>; >>           }; > > If I can see correctly, you're putting these nodes right under > cpufreq_hw, which has a unit address of 0x18591000, so this is not > sorted properly. > > I will update it. > Konrad > >> + >> +        stm@6002000 { >> +            compatible = "arm,coresight-stm", "arm,primecell"; >> +            reg = <0 0x06002000 0 0x1000>, <0 0x16280000 0 0x180000>; >> +            reg-names = "stm-base", "stm-stimulus-base"; >> + >> +            clocks = <&aoss_qmp>; >> +            clock-names = "apb_pclk"; >> + >> +            out-ports { >> +                port { >> +                    stm_out: endpoint { >> +                        remote-endpoint = <&funnel0_in7>; >> +                    }; >> +                }; >> +            }; >> +        }; >> + >> +        funnel@6041000 { >> +            compatible = "arm,coresight-dynamic-funnel", >> "arm,primecell"; >> +            reg = <0 0x06041000 0 0x1000>; >> + >> +            clocks = <&aoss_qmp>; >> +            clock-names = "apb_pclk"; >> + >> +            out-ports { >> +                port { >> +                    funnel0_out: endpoint { >> +                        remote-endpoint = <&merge_funnel_in0>; >> +                    }; >> +                }; >> +            }; >> + >> +            in-ports { >> +                #address-cells = <1>; >> +                #size-cells = <0>; >> + >> +                port@7 { >> +                    reg = <7>; >> +                    funnel0_in7: endpoint { >> +                        remote-endpoint = <&stm_out>; >> +                    }; >> +                }; >> +            }; >> +        }; >> + >> +        funnel@6042000 { >> +            compatible = "arm,coresight-dynamic-funnel", >> "arm,primecell"; >> +            reg = <0 0x06042000 0 0x1000>; >> + >> +            clocks = <&aoss_qmp>; >> +            clock-names = "apb_pclk"; >> + >> +            out-ports { >> +                port { >> +                    funnel2_out: endpoint { >> +                        remote-endpoint = <&merge_funnel_in2>; >> +                    }; >> +                }; >> +            }; >> + >> +            in-ports { >> +                #address-cells = <1>; >> +                #size-cells = <0>; >> + >> +                port@2 { >> +                    reg = <4>; >> +                    funnel2_in5: endpoint { >> +                        remote-endpoint = <&apss_merge_funnel_out>; >> +                    }; >> +                }; >> +            }; >> +        }; >> + >> +        funnel@6045000 { >> +            compatible = "arm,coresight-dynamic-funnel", >> "arm,primecell"; >> +            reg = <0 0x06045000 0 0x1000>; >> + >> +            clocks = <&aoss_qmp>; >> +            clock-names = "apb_pclk"; >> + >> +            out-ports { >> +                port { >> +                    funnel_merg_out_funnel_swao: endpoint { >> +                        remote-endpoint = >> <&funnel_swao_in_funnel_merg>; >> +                    }; >> +                }; >> +            }; >> + >> +            in-ports { >> +                #address-cells = <1>; >> +                #size-cells = <0>; >> + >> +                port@1 { >> +                    reg = <0>; >> +                    merge_funnel_in0: endpoint { >> +                        remote-endpoint = <&funnel0_out>; >> +                    }; >> +                }; >> + >> +                port@2 { >> +                    reg = <1>; >> +                    merge_funnel_in2: endpoint { >> +                        remote-endpoint = <&funnel2_out>; >> +                    }; >> +                }; >> +            }; >> +        }; >> + >> +        replicator@6046000 { >> +            compatible = "arm,coresight-dynamic-replicator", >> "arm,primecell"; >> +            reg = <0 0x06046000 0 0x1000>; >> + >> + >> +            clocks = <&aoss_qmp>; >> +            clock-names = "apb_pclk"; >> + >> +            out-ports { >> +                port { >> +                    replicator_out: endpoint { >> +                        remote-endpoint = <&etr_in>; >> +                    }; >> +                }; >> +            }; >> + >> +            in-ports { >> +                port { >> +                    replicator_cx_in_swao_out: endpoint { >> +                        remote-endpoint = <&replicator_swao_out_cx_in>; >> +                    }; >> +                }; >> +            }; >> +        }; >> + >> +        etr@6048000 { >> +            compatible = "arm,coresight-tmc", "arm,primecell"; >> +            reg = <0 0x06048000 0 0x1000>; >> + >> +            clocks = <&aoss_qmp>; >> +            clock-names = "apb_pclk"; >> +            arm,scatter-gather; >> + >> +            in-ports { >> +                port { >> +                    etr_in: endpoint { >> +                        remote-endpoint = <&replicator_out>; >> +                    }; >> +                }; >> +            }; >> +        }; >> + >> +        funnel@6b04000 { >> +            compatible = "arm,coresight-dynamic-funnel", >> "arm,primecell"; >> +            arm,primecell-periphid = <0x000bb908>; >> + >> +            reg = <0 0x06b04000 0 0x1000>; >> +            reg-names = "funnel-base"; >> + >> +            clocks = <&aoss_qmp>; >> +            clock-names = "apb_pclk"; >> + >> +            out-ports { >> +                port { >> +                    merge_funnel_out: endpoint { >> +                        remote-endpoint = <&etf_in>; >> +                    }; >> +                }; >> +            }; >> + >> +            in-ports { >> +                #address-cells = <1>; >> +                #size-cells = <0>; >> + >> +                port@7 { >> +                    reg = <7>; >> +                    funnel_swao_in_funnel_merg: endpoint { >> +                        remote-endpoint= >> <&funnel_merg_out_funnel_swao>; >> +                    }; >> +                }; >> +            }; >> + >> +        }; >> + >> +        etf@6b05000 { >> +            compatible = "arm,coresight-tmc", "arm,primecell"; >> +            reg = <0 0x06b05000 0 0x1000>; >> + >> +            clocks = <&aoss_qmp>; >> +            clock-names = "apb_pclk"; >> + >> +            out-ports { >> +                port { >> +                    etf_out: endpoint { >> +                        remote-endpoint = <&replicator_in>; >> +                    }; >> +                }; >> +            }; >> + >> +            in-ports { >> +                #address-cells = <1>; >> +                #size-cells = <0>; >> + >> +                port@1 { >> +                    reg = <0>; >> +                    etf_in: endpoint { >> +                        remote-endpoint = <&merge_funnel_out>; >> +                    }; >> +                }; >> +            }; >> +        }; >> + >> +        replicator@6b06000 { >> +            compatible = "arm,coresight-dynamic-replicator", >> "arm,primecell"; >> +            reg = <0 0x06b06000 0 0x1000>; >> + >> +            clocks = <&aoss_qmp>; >> +            clock-names = "apb_pclk"; >> + >> +            out-ports { >> +                port { >> +                    replicator_swao_out_cx_in: endpoint { >> +                        remote-endpoint = <&replicator_cx_in_swao_out>; >> +                    }; >> +                }; >> +            }; >> + >> +            in-ports { >> +                port { >> +                    replicator_in: endpoint { >> +                        remote-endpoint = <&etf_out>; >> +                    }; >> +                }; >> +            }; >> +        }; >> + >> +        etm@7040000 { >> +            compatible = "arm,coresight-etm4x", "arm,primecell"; >> +            reg = <0 0x07040000 0 0x1000>; >> + >> +            cpu = <&CPU0>; >> + >> +            clocks = <&aoss_qmp>; >> +            clock-names = "apb_pclk"; >> +            arm,coresight-loses-context-with-cpu; >> + >> +            out-ports { >> +                port { >> +                    etm0_out: endpoint { >> +                        remote-endpoint = <&apss_funnel_in0>; >> +                    }; >> +                }; >> +            }; >> +        }; >> + >> +        etm@7140000 { >> +            compatible = "arm,coresight-etm4x", "arm,primecell"; >> +            reg = <0 0x07140000 0 0x1000>; >> + >> +            cpu = <&CPU1>; >> + >> +            clocks = <&aoss_qmp>; >> +            clock-names = "apb_pclk"; >> +            arm,coresight-loses-context-with-cpu; >> + >> +            out-ports { >> +                port { >> +                    etm1_out: endpoint { >> +                        remote-endpoint = <&apss_funnel_in1>; >> +                    }; >> +                }; >> +            }; >> +        }; >> + >> +        etm@7240000 { >> +            compatible = "arm,coresight-etm4x", "arm,primecell"; >> +            reg = <0 0x07240000 0 0x1000>; >> + >> +            cpu = <&CPU2>; >> + >> +            clocks = <&aoss_qmp>; >> +            clock-names = "apb_pclk"; >> +            arm,coresight-loses-context-with-cpu; >> + >> +            out-ports { >> +                port { >> +                    etm2_out: endpoint { >> +                        remote-endpoint = <&apss_funnel_in2>; >> +                    }; >> +                }; >> +            }; >> +        }; >> + >> +        etm@7340000 { >> +            compatible = "arm,coresight-etm4x", "arm,primecell"; >> +            reg = <0 0x07340000 0 0x1000>; >> + >> +            cpu = <&CPU3>; >> + >> +            clocks = <&aoss_qmp>; >> +            clock-names = "apb_pclk"; >> +            arm,coresight-loses-context-with-cpu; >> + >> +            out-ports { >> +                port { >> +                    etm3_out: endpoint { >> +                        remote-endpoint = <&apss_funnel_in3>; >> +                    }; >> +                }; >> +            }; >> +        }; >> + >> +        etm@7440000 { >> +            compatible = "arm,coresight-etm4x", "arm,primecell"; >> +            reg = <0 0x07440000 0 0x1000>; >> + >> +            cpu = <&CPU4>; >> + >> +            clocks = <&aoss_qmp>; >> +            clock-names = "apb_pclk"; >> +            arm,coresight-loses-context-with-cpu; >> + >> +            out-ports { >> +                port { >> +                    etm4_out: endpoint { >> +                        remote-endpoint = <&apss_funnel_in4>; >> +                    }; >> +                }; >> +            }; >> +        }; >> + >> +        etm@7540000 { >> +            compatible = "arm,coresight-etm4x", "arm,primecell"; >> +            reg = <0 0x07540000 0 0x1000>; >> + >> +            cpu = <&CPU5>; >> + >> +            clocks = <&aoss_qmp>; >> +            clock-names = "apb_pclk"; >> +            arm,coresight-loses-context-with-cpu; >> + >> +            out-ports { >> +                port { >> +                    etm5_out: endpoint { >> +                        remote-endpoint = <&apss_funnel_in5>; >> +                    }; >> +                }; >> +            }; >> +        }; >> + >> +        etm@7640000 { >> +            compatible = "arm,coresight-etm4x", "arm,primecell"; >> +            reg = <0 0x07640000 0 0x1000>; >> + >> +            cpu = <&CPU6>; >> + >> +            clocks = <&aoss_qmp>; >> +            clock-names = "apb_pclk"; >> +            arm,coresight-loses-context-with-cpu; >> + >> +            out-ports { >> +                port { >> +                    etm6_out: endpoint { >> +                        remote-endpoint = <&apss_funnel_in6>; >> +                    }; >> +                }; >> +            }; >> +        }; >> + >> +        etm@7740000 { >> +            compatible = "arm,coresight-etm4x", "arm,primecell"; >> +            reg = <0 0x07740000 0 0x1000>; >> + >> +            cpu = <&CPU7>; >> + >> +            clocks = <&aoss_qmp>; >> +            clock-names = "apb_pclk"; >> +            arm,coresight-loses-context-with-cpu; >> + >> +            out-ports { >> +                port { >> +                    etm7_out: endpoint { >> +                        remote-endpoint = <&apss_funnel_in7>; >> +                    }; >> +                }; >> +            }; >> +        }; >> + >> +        funnel@7800000 { >> +            compatible = "arm,coresight-dynamic-funnel", >> "arm,primecell"; >> +            reg = <0 0x07800000 0 0x1000>; >> + >> +            clocks = <&aoss_qmp>; >> +            clock-names = "apb_pclk"; >> + >> +            out-ports { >> +                port { >> +                    apss_funnel_out: endpoint { >> +                        remote-endpoint = <&apss_merge_funnel_in>; >> +                    }; >> +                }; >> +            }; >> + >> +            in-ports { >> +                #address-cells = <1>; >> +                #size-cells = <0>; >> + >> +                port@0 { >> +                    reg = <0>; >> +                    apss_funnel_in0: endpoint { >> +                        remote-endpoint = <&etm0_out>; >> +                    }; >> +                }; >> + >> +                port@1 { >> +                    reg = <1>; >> +                    apss_funnel_in1: endpoint { >> +                        remote-endpoint = <&etm1_out>; >> +                    }; >> +                }; >> + >> +                port@2 { >> +                    reg = <2>; >> +                    apss_funnel_in2: endpoint { >> +                        remote-endpoint = <&etm2_out>; >> +                    }; >> +                }; >> + >> +                port@3 { >> +                    reg = <3>; >> +                    apss_funnel_in3: endpoint { >> +                        remote-endpoint = <&etm3_out>; >> +                    }; >> +                }; >> + >> +                port@4 { >> +                    reg = <4>; >> +                    apss_funnel_in4: endpoint { >> +                        remote-endpoint = <&etm4_out>; >> +                    }; >> +                }; >> + >> +                port@5 { >> +                    reg = <5>; >> +                    apss_funnel_in5: endpoint { >> +                        remote-endpoint = <&etm5_out>; >> +                    }; >> +                }; >> + >> +                port@6 { >> +                    reg = <6>; >> +                    apss_funnel_in6: endpoint { >> +                        remote-endpoint = <&etm6_out>; >> +                    }; >> +                }; >> + >> +                port@7 { >> +                    reg = <7>; >> +                    apss_funnel_in7: endpoint { >> +                        remote-endpoint = <&etm7_out>; >> +                    }; >> +                }; >> +            }; >> +        }; >> + >> +        funnel@7810000 { >> +            compatible = "arm,coresight-dynamic-funnel", >> "arm,primecell"; >> +            reg = <0 0x07810000 0 0x1000>; >> + >> +            clocks = <&aoss_qmp>; >> +            clock-names = "apb_pclk"; >> + >> +            out-ports { >> +                port { >> +                    apss_merge_funnel_out: endpoint { >> +                        remote-endpoint = <&funnel2_in5>; >> +                    }; >> +                }; >> +            }; >> + >> +            in-ports { >> +                port@1 { >> +                    reg = <0>; >> +                    apss_merge_funnel_in: endpoint { >> +                        remote-endpoint = <&apss_funnel_out>; >> +                    }; >> +                }; >> +            }; >> +        }; >>       }; >>         timer { 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 86449C433EF for ; Wed, 27 Apr 2022 14:29:54 +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=RTHAlczy1fqKedmW6hBtI4uPZlcXXTtzQUiKerYsR1Q=; b=isZaDeSBvNUh+R qnW91omp2uR1wWqgSNn7Kxs8IOwt3VvFHdJu/dhqEAwKt1sJwnPmPy90tcepTSo4hLo3JIIIlvtNd W/QK4/ALFcRDHizkrUfd7fY6rOvBjHHrK0h2eTWHzoF1ug9hT27qT4Q6L+3pWa5/A6tlLgpf6mHqr yd3o0IDihC1ySO25LSrSHxhgRYHpOnczvRYnfeY4lRO1z4KN/d0oLPplVt0qJC7he/j3FhdKuZpT9 8iTSncmtQ+/fmVu9kojmZwAtxpzKvQ70rGtE6MjYL9OVt8ksYXSY9ehNAqIACFm1ClLG+6wCg4k/u 1yZ3PT3pwWR6kvbPvfRA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1njieo-001mfH-C8; Wed, 27 Apr 2022 14:28:42 +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 1njiei-001mcp-Oq for linux-arm-kernel@lists.infradead.org; Wed, 27 Apr 2022 14:28:40 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=quicinc.com; i=@quicinc.com; q=dns/txt; s=qcdkim; t=1651069716; x=1682605716; h=message-id:date:mime-version:subject:to:cc:references: from:in-reply-to:content-transfer-encoding; bh=BucW0rHbB0z+kipTBl3lXvQ7cS0WPsJ7AWSYuCWLGsE=; b=jzZ0ANkjnmngam/Tq9L4ImTxujWTHCooCjraf9u4fsg7xW4a5/p6DiAz cFuEf7Agyht6eJJ9A3wwNxWFYV5awRlreIZJBUhrR+cIusjhhro5L6jKU 1fmyVBl1/CM0VPw8L6SfcpxDmW0e0+UsKkCQHUrwEjUtqMVPE/Ag64zZT A=; Received: from unknown (HELO ironmsg04-sd.qualcomm.com) ([10.53.140.144]) by alexa-out-sd-02.qualcomm.com with ESMTP; 27 Apr 2022 07:28:36 -0700 X-QCInternal: smtphost Received: from nasanex01c.na.qualcomm.com ([10.47.97.222]) by ironmsg04-sd.qualcomm.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 27 Apr 2022 07:28:35 -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:28:35 -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:28:31 -0700 Message-ID: <56ebb4ca-b155-202b-6ba6-b5833c49fe82@quicinc.com> Date: Wed, 27 Apr 2022 22:28:28 +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 09/10] ARM: dts: msm: Add coresight components 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-10-quic_jinlmao@quicinc.com> <761b0b5d-8bc9-e45e-826d-e04a39c1239c@somainline.org> From: Jinlong Mao In-Reply-To: <761b0b5d-8bc9-e45e-826d-e04a39c1239c@somainline.org> X-Originating-IP: [10.80.80.8] X-ClientProxiedBy: nasanex01b.na.qualcomm.com (10.46.141.250) 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_072836_891685_BADCF7D8 X-CRM114-Status: GOOD ( 15.47 ) 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 SGkgS29ucmFkLAoKT24gNC8yNi8yMDIyIDc6NTMgUE0sIEtvbnJhZCBEeWJjaW8gd3JvdGU6Cj4K PiBPbiAyNS8wNC8yMDIyIDA2OjAzLCBNYW8gSmlubG9uZyB3cm90ZToKPj4gQWRkIGNvcmVzaWdo dCBjb21wb25lbnRzIGZvciBzbTgyNTAuIFNUTS9FVE0gYXJlIGFkZGVkLgo+Pgo+PiBTaWduZWQt b2ZmLWJ5OiBUYW8gWmhhbmcgPHF1aWNfdGFvemhhQHF1aWNpbmMuY29tPgo+PiBTaWduZWQtb2Zm LWJ5OiBNYW8gSmlubG9uZyA8cXVpY19qaW5sbWFvQHF1aWNpbmMuY29tPgo+PiAtLS0KPj4gwqAg YXJjaC9hcm02NC9ib290L2R0cy9xY29tL3NtODI1MC5kdHNpIHwgNDg4ICsrKysrKysrKysrKysr KysrKysrKysrKysrKwo+PiDCoCAxIGZpbGUgY2hhbmdlZCwgNDg4IGluc2VydGlvbnMoKykKPgo+ IEhpLAo+Cj4gcGxlYXNlIGZpeCB0aGUgY29tbWl0IHRpdGxlIHRvIG1hdGNoIHRoZSBzdHlsZSB1 c2VkIGluIHRoZSBkaXJlY3RvcnkgCj4gb2YgdGhlIGZpbGVzIHlvdSdyZSBjaGFuZ2luZy4KCkkg d2lsbCB1cGRhdGUgaXQuCgoKPgo+Pgo+PiBkaWZmIC0tZ2l0IGEvYXJjaC9hcm02NC9ib290L2R0 cy9xY29tL3NtODI1MC5kdHNpIAo+PiBiL2FyY2gvYXJtNjQvYm9vdC9kdHMvcWNvbS9zbTgyNTAu ZHRzaQo+PiBpbmRleCBhZjhmMjI2MzY0MzYuLjUzYWIyYjQ1N2EyZiAxMDA2NDQKPj4gLS0tIGEv YXJjaC9hcm02NC9ib290L2R0cy9xY29tL3NtODI1MC5kdHNpCj4+ICsrKyBiL2FyY2gvYXJtNjQv Ym9vdC9kdHMvcWNvbS9zbTgyNTAuZHRzaQo+PiBAQCAtNDY4NSw2ICs0Njg1LDQ5NCBAQAo+PiDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBpbnRlcnJ1cHQtbmFtZXMgPSAiZGN2c2gtaXJxLTAi LCAiZGN2c2gtaXJxLTEiLCAKPj4gImRjdnNoLWlycS0yIjsKPj4gwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqAgI2ZyZXEtZG9tYWluLWNlbGxzID0gPDE+Owo+PiDCoMKgwqDCoMKgwqDCoMKgwqAg fTsKPgo+IElmIEkgY2FuIHNlZSBjb3JyZWN0bHksIHlvdSdyZSBwdXR0aW5nIHRoZXNlIG5vZGVz IHJpZ2h0IHVuZGVyIAo+IGNwdWZyZXFfaHcsIHdoaWNoIGhhcyBhIHVuaXQgYWRkcmVzcyBvZiAw eDE4NTkxMDAwLCBzbyB0aGlzIGlzIG5vdCAKPiBzb3J0ZWQgcHJvcGVybHkuCj4KPgpJIHdpbGwg dXBkYXRlIGl0LgoKCj4gS29ucmFkCj4KPj4gKwo+PiArwqDCoMKgwqDCoMKgwqAgc3RtQDYwMDIw MDAgewo+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBjb21wYXRpYmxlID0gImFybSxjb3Jlc2ln aHQtc3RtIiwgImFybSxwcmltZWNlbGwiOwo+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCByZWcg PSA8MCAweDA2MDAyMDAwIDAgMHgxMDAwPiwgPDAgMHgxNjI4MDAwMCAwIDB4MTgwMDAwPjsKPj4g K8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgcmVnLW5hbWVzID0gInN0bS1iYXNlIiwgInN0bS1zdGlt dWx1cy1iYXNlIjsKPj4gKwo+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBjbG9ja3MgPSA8JmFv c3NfcW1wPjsKPj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgY2xvY2stbmFtZXMgPSAiYXBiX3Bj bGsiOwo+PiArCj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIG91dC1wb3J0cyB7Cj4+ICvCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgcG9ydCB7Cj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoCBzdG1fb3V0OiBlbmRwb2ludCB7Cj4+ICvCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHJlbW90ZS1lbmRwb2ludCA9IDwmZnVu bmVsMF9pbjc+Owo+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfTsK Pj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB9Owo+PiArwqDCoMKgwqDCoMKgwqDC oMKgwqDCoCB9Owo+PiArwqDCoMKgwqDCoMKgwqAgfTsKPj4gKwo+PiArwqDCoMKgwqDCoMKgwqAg ZnVubmVsQDYwNDEwMDAgewo+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBjb21wYXRpYmxlID0g ImFybSxjb3Jlc2lnaHQtZHluYW1pYy1mdW5uZWwiLCAKPj4gImFybSxwcmltZWNlbGwiOwo+PiAr wqDCoMKgwqDCoMKgwqDCoMKgwqDCoCByZWcgPSA8MCAweDA2MDQxMDAwIDAgMHgxMDAwPjsKPj4g Kwo+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBjbG9ja3MgPSA8JmFvc3NfcW1wPjsKPj4gK8Kg wqDCoMKgwqDCoMKgwqDCoMKgwqAgY2xvY2stbmFtZXMgPSAiYXBiX3BjbGsiOwo+PiArCj4+ICvC oMKgwqDCoMKgwqDCoMKgwqDCoMKgIG91dC1wb3J0cyB7Cj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqAgcG9ydCB7Cj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoCBmdW5uZWwwX291dDogZW5kcG9pbnQgewo+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoCByZW1vdGUtZW5kcG9pbnQgPSA8Jm1lcmdlX2Z1bm5lbF9p bjA+Owo+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfTsKPj4gK8Kg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB9Owo+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDC oCB9Owo+PiArCj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGluLXBvcnRzIHsKPj4gK8KgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAjYWRkcmVzcy1jZWxscyA9IDwxPjsKPj4gK8KgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAjc2l6ZS1jZWxscyA9IDwwPjsKPj4gKwo+PiArwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHBvcnRANyB7Cj4+ICvCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoCByZWcgPSA8Nz47Cj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoCBmdW5uZWwwX2luNzogZW5kcG9pbnQgewo+PiArwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCByZW1vdGUtZW5kcG9pbnQgPSA8 JnN0bV9vdXQ+Owo+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfTsK Pj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB9Owo+PiArwqDCoMKgwqDCoMKgwqDC oMKgwqDCoCB9Owo+PiArwqDCoMKgwqDCoMKgwqAgfTsKPj4gKwo+PiArwqDCoMKgwqDCoMKgwqAg ZnVubmVsQDYwNDIwMDAgewo+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBjb21wYXRpYmxlID0g ImFybSxjb3Jlc2lnaHQtZHluYW1pYy1mdW5uZWwiLCAKPj4gImFybSxwcmltZWNlbGwiOwo+PiAr wqDCoMKgwqDCoMKgwqDCoMKgwqDCoCByZWcgPSA8MCAweDA2MDQyMDAwIDAgMHgxMDAwPjsKPj4g Kwo+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBjbG9ja3MgPSA8JmFvc3NfcW1wPjsKPj4gK8Kg wqDCoMKgwqDCoMKgwqDCoMKgwqAgY2xvY2stbmFtZXMgPSAiYXBiX3BjbGsiOwo+PiArCj4+ICvC oMKgwqDCoMKgwqDCoMKgwqDCoMKgIG91dC1wb3J0cyB7Cj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqAgcG9ydCB7Cj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoCBmdW5uZWwyX291dDogZW5kcG9pbnQgewo+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoCByZW1vdGUtZW5kcG9pbnQgPSA8Jm1lcmdlX2Z1bm5lbF9p bjI+Owo+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfTsKPj4gK8Kg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB9Owo+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDC oCB9Owo+PiArCj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGluLXBvcnRzIHsKPj4gK8KgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAjYWRkcmVzcy1jZWxscyA9IDwxPjsKPj4gK8KgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAjc2l6ZS1jZWxscyA9IDwwPjsKPj4gKwo+PiArwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHBvcnRAMiB7Cj4+ICvCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoCByZWcgPSA8ND47Cj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoCBmdW5uZWwyX2luNTogZW5kcG9pbnQgewo+PiArwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCByZW1vdGUtZW5kcG9pbnQgPSA8 JmFwc3NfbWVyZ2VfZnVubmVsX291dD47Cj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoCB9Owo+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIH07Cj4+ICvC oMKgwqDCoMKgwqDCoMKgwqDCoMKgIH07Cj4+ICvCoMKgwqDCoMKgwqDCoCB9Owo+PiArCj4+ICvC oMKgwqDCoMKgwqDCoCBmdW5uZWxANjA0NTAwMCB7Cj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKg IGNvbXBhdGlibGUgPSAiYXJtLGNvcmVzaWdodC1keW5hbWljLWZ1bm5lbCIsIAo+PiAiYXJtLHBy aW1lY2VsbCI7Cj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHJlZyA9IDwwIDB4MDYwNDUwMDAg MCAweDEwMDA+Owo+PiArCj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGNsb2NrcyA9IDwmYW9z c19xbXA+Owo+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBjbG9jay1uYW1lcyA9ICJhcGJfcGNs ayI7Cj4+ICsKPj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgb3V0LXBvcnRzIHsKPj4gK8KgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBwb3J0IHsKPj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgIGZ1bm5lbF9tZXJnX291dF9mdW5uZWxfc3dhbzogZW5kcG9pbnQg ewo+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCByZW1v dGUtZW5kcG9pbnQgPSAKPj4gPCZmdW5uZWxfc3dhb19pbl9mdW5uZWxfbWVyZz47Cj4+ICvCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB9Owo+PiArwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgIH07Cj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIH07Cj4+ICsKPj4g K8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgaW4tcG9ydHMgewo+PiArwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgICNhZGRyZXNzLWNlbGxzID0gPDE+Owo+PiArwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgICNzaXplLWNlbGxzID0gPDA+Owo+PiArCj4+ICvCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqAgcG9ydEAxIHsKPj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgIHJlZyA9IDwwPjsKPj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgIG1lcmdlX2Z1bm5lbF9pbjA6IGVuZHBvaW50IHsKPj4gK8KgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgcmVtb3RlLWVuZHBvaW50ID0gPCZmdW5uZWww X291dD47Cj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB9Owo+PiAr wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIH07Cj4+ICsKPj4gK8KgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoCBwb3J0QDIgewo+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqAgcmVnID0gPDE+Owo+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqAgbWVyZ2VfZnVubmVsX2luMjogZW5kcG9pbnQgewo+PiArwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCByZW1vdGUtZW5kcG9pbnQgPSA8JmZ1bm5l bDJfb3V0PjsKPj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIH07Cj4+ ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfTsKPj4gK8KgwqDCoMKgwqDCoMKgwqDC oMKgwqAgfTsKPj4gK8KgwqDCoMKgwqDCoMKgIH07Cj4+ICsKPj4gK8KgwqDCoMKgwqDCoMKgIHJl cGxpY2F0b3JANjA0NjAwMCB7Cj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGNvbXBhdGlibGUg PSAiYXJtLGNvcmVzaWdodC1keW5hbWljLXJlcGxpY2F0b3IiLCAKPj4gImFybSxwcmltZWNlbGwi Owo+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCByZWcgPSA8MCAweDA2MDQ2MDAwIDAgMHgxMDAw PjsKPj4gKwo+PiArCj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGNsb2NrcyA9IDwmYW9zc19x bXA+Owo+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBjbG9jay1uYW1lcyA9ICJhcGJfcGNsayI7 Cj4+ICsKPj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgb3V0LXBvcnRzIHsKPj4gK8KgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBwb3J0IHsKPj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgIHJlcGxpY2F0b3Jfb3V0OiBlbmRwb2ludCB7Cj4+ICvCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHJlbW90ZS1lbmRwb2ludCA9IDwm ZXRyX2luPjsKPj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIH07Cj4+ ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfTsKPj4gK8KgwqDCoMKgwqDCoMKgwqDC oMKgwqAgfTsKPj4gKwo+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBpbi1wb3J0cyB7Cj4+ICvC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgcG9ydCB7Cj4+ICvCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoCByZXBsaWNhdG9yX2N4X2luX3N3YW9fb3V0OiBlbmRwb2lu dCB7Cj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHJl bW90ZS1lbmRwb2ludCA9IDwmcmVwbGljYXRvcl9zd2FvX291dF9jeF9pbj47Cj4+ICvCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB9Owo+PiArwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgIH07Cj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIH07Cj4+ICvCoMKgwqDC oMKgwqDCoCB9Owo+PiArCj4+ICvCoMKgwqDCoMKgwqDCoCBldHJANjA0ODAwMCB7Cj4+ICvCoMKg wqDCoMKgwqDCoMKgwqDCoMKgIGNvbXBhdGlibGUgPSAiYXJtLGNvcmVzaWdodC10bWMiLCAiYXJt LHByaW1lY2VsbCI7Cj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHJlZyA9IDwwIDB4MDYwNDgw MDAgMCAweDEwMDA+Owo+PiArCj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGNsb2NrcyA9IDwm YW9zc19xbXA+Owo+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBjbG9jay1uYW1lcyA9ICJhcGJf cGNsayI7Cj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGFybSxzY2F0dGVyLWdhdGhlcjsKPj4g Kwo+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBpbi1wb3J0cyB7Cj4+ICvCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqAgcG9ydCB7Cj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoCBldHJfaW46IGVuZHBvaW50IHsKPj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgcmVtb3RlLWVuZHBvaW50ID0gPCZyZXBsaWNhdG9yX291 dD47Cj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB9Owo+PiArwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIH07Cj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKg IH07Cj4+ICvCoMKgwqDCoMKgwqDCoCB9Owo+PiArCj4+ICvCoMKgwqDCoMKgwqDCoCBmdW5uZWxA NmIwNDAwMCB7Cj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGNvbXBhdGlibGUgPSAiYXJtLGNv cmVzaWdodC1keW5hbWljLWZ1bm5lbCIsIAo+PiAiYXJtLHByaW1lY2VsbCI7Cj4+ICvCoMKgwqDC oMKgwqDCoMKgwqDCoMKgIGFybSxwcmltZWNlbGwtcGVyaXBoaWQgPSA8MHgwMDBiYjkwOD47Cj4+ ICsKPj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgcmVnID0gPDAgMHgwNmIwNDAwMCAwIDB4MTAw MD47Cj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHJlZy1uYW1lcyA9ICJmdW5uZWwtYmFzZSI7 Cj4+ICsKPj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgY2xvY2tzID0gPCZhb3NzX3FtcD47Cj4+ ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGNsb2NrLW5hbWVzID0gImFwYl9wY2xrIjsKPj4gKwo+ PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBvdXQtcG9ydHMgewo+PiArwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgIHBvcnQgewo+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqAgbWVyZ2VfZnVubmVsX291dDogZW5kcG9pbnQgewo+PiArwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCByZW1vdGUtZW5kcG9pbnQgPSA8JmV0Zl9p bj47Cj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB9Owo+PiArwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIH07Cj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKg IH07Cj4+ICsKPj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgaW4tcG9ydHMgewo+PiArwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICNhZGRyZXNzLWNlbGxzID0gPDE+Owo+PiArwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICNzaXplLWNlbGxzID0gPDA+Owo+PiArCj4+ICvCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgcG9ydEA3IHsKPj4gK8KgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgIHJlZyA9IDw3PjsKPj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgIGZ1bm5lbF9zd2FvX2luX2Z1bm5lbF9tZXJnOiBlbmRwb2ludCB7 Cj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHJlbW90 ZS1lbmRwb2ludD0gCj4+IDwmZnVubmVsX21lcmdfb3V0X2Z1bm5lbF9zd2FvPjsKPj4gK8KgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIH07Cj4+ICvCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqAgfTsKPj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfTsKPj4gKwo+PiAr wqDCoMKgwqDCoMKgwqAgfTsKPj4gKwo+PiArwqDCoMKgwqDCoMKgwqAgZXRmQDZiMDUwMDAgewo+ PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBjb21wYXRpYmxlID0gImFybSxjb3Jlc2lnaHQtdG1j IiwgImFybSxwcmltZWNlbGwiOwo+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCByZWcgPSA8MCAw eDA2YjA1MDAwIDAgMHgxMDAwPjsKPj4gKwo+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBjbG9j a3MgPSA8JmFvc3NfcW1wPjsKPj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgY2xvY2stbmFtZXMg PSAiYXBiX3BjbGsiOwo+PiArCj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIG91dC1wb3J0cyB7 Cj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgcG9ydCB7Cj4+ICvCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBldGZfb3V0OiBlbmRwb2ludCB7Cj4+ICvCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHJlbW90ZS1lbmRwb2lu dCA9IDwmcmVwbGljYXRvcl9pbj47Cj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoCB9Owo+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIH07Cj4+ICvCoMKg wqDCoMKgwqDCoMKgwqDCoMKgIH07Cj4+ICsKPj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgaW4t cG9ydHMgewo+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICNhZGRyZXNzLWNlbGxz ID0gPDE+Owo+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICNzaXplLWNlbGxzID0g PDA+Owo+PiArCj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgcG9ydEAxIHsKPj4g K8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHJlZyA9IDwwPjsKPj4gK8Kg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGV0Zl9pbjogZW5kcG9pbnQgewo+ PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCByZW1vdGUt ZW5kcG9pbnQgPSA8Jm1lcmdlX2Z1bm5lbF9vdXQ+Owo+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqAgfTsKPj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB9 Owo+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB9Owo+PiArwqDCoMKgwqDCoMKgwqAgfTsKPj4g Kwo+PiArwqDCoMKgwqDCoMKgwqAgcmVwbGljYXRvckA2YjA2MDAwIHsKPj4gK8KgwqDCoMKgwqDC oMKgwqDCoMKgwqAgY29tcGF0aWJsZSA9ICJhcm0sY29yZXNpZ2h0LWR5bmFtaWMtcmVwbGljYXRv ciIsIAo+PiAiYXJtLHByaW1lY2VsbCI7Cj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHJlZyA9 IDwwIDB4MDZiMDYwMDAgMCAweDEwMDA+Owo+PiArCj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKg IGNsb2NrcyA9IDwmYW9zc19xbXA+Owo+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBjbG9jay1u YW1lcyA9ICJhcGJfcGNsayI7Cj4+ICsKPj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgb3V0LXBv cnRzIHsKPj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBwb3J0IHsKPj4gK8KgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHJlcGxpY2F0b3Jfc3dhb19vdXRfY3hf aW46IGVuZHBvaW50IHsKPj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqAgcmVtb3RlLWVuZHBvaW50ID0gPCZyZXBsaWNhdG9yX2N4X2luX3N3YW9fb3V0PjsK Pj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIH07Cj4+ICvCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfTsKPj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfTsK Pj4gKwo+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBpbi1wb3J0cyB7Cj4+ICvCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqAgcG9ydCB7Cj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoCByZXBsaWNhdG9yX2luOiBlbmRwb2ludCB7Cj4+ICvCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHJlbW90ZS1lbmRwb2ludCA9IDwmZXRm X291dD47Cj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB9Owo+PiAr wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIH07Cj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDC oMKgIH07Cj4+ICvCoMKgwqDCoMKgwqDCoCB9Owo+PiArCj4+ICvCoMKgwqDCoMKgwqDCoCBldG1A NzA0MDAwMCB7Cj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGNvbXBhdGlibGUgPSAiYXJtLGNv cmVzaWdodC1ldG00eCIsICJhcm0scHJpbWVjZWxsIjsKPj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKg wqAgcmVnID0gPDAgMHgwNzA0MDAwMCAwIDB4MTAwMD47Cj4+ICsKPj4gK8KgwqDCoMKgwqDCoMKg wqDCoMKgwqAgY3B1ID0gPCZDUFUwPjsKPj4gKwo+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBj bG9ja3MgPSA8JmFvc3NfcW1wPjsKPj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgY2xvY2stbmFt ZXMgPSAiYXBiX3BjbGsiOwo+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBhcm0sY29yZXNpZ2h0 LWxvc2VzLWNvbnRleHQtd2l0aC1jcHU7Cj4+ICsKPj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAg b3V0LXBvcnRzIHsKPj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBwb3J0IHsKPj4g K8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGV0bTBfb3V0OiBlbmRwb2lu dCB7Cj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHJl bW90ZS1lbmRwb2ludCA9IDwmYXBzc19mdW5uZWxfaW4wPjsKPj4gK8KgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgIH07Cj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqAgfTsKPj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfTsKPj4gK8KgwqDCoMKgwqDCoMKgIH07 Cj4+ICsKPj4gK8KgwqDCoMKgwqDCoMKgIGV0bUA3MTQwMDAwIHsKPj4gK8KgwqDCoMKgwqDCoMKg wqDCoMKgwqAgY29tcGF0aWJsZSA9ICJhcm0sY29yZXNpZ2h0LWV0bTR4IiwgImFybSxwcmltZWNl bGwiOwo+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCByZWcgPSA8MCAweDA3MTQwMDAwIDAgMHgx MDAwPjsKPj4gKwo+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBjcHUgPSA8JkNQVTE+Owo+PiAr Cj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGNsb2NrcyA9IDwmYW9zc19xbXA+Owo+PiArwqDC oMKgwqDCoMKgwqDCoMKgwqDCoCBjbG9jay1uYW1lcyA9ICJhcGJfcGNsayI7Cj4+ICvCoMKgwqDC oMKgwqDCoMKgwqDCoMKgIGFybSxjb3Jlc2lnaHQtbG9zZXMtY29udGV4dC13aXRoLWNwdTsKPj4g Kwo+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBvdXQtcG9ydHMgewo+PiArwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgIHBvcnQgewo+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqAgZXRtMV9vdXQ6IGVuZHBvaW50IHsKPj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgcmVtb3RlLWVuZHBvaW50ID0gPCZhcHNzX2Z1bm5l bF9pbjE+Owo+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfTsKPj4g K8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB9Owo+PiArwqDCoMKgwqDCoMKgwqDCoMKg wqDCoCB9Owo+PiArwqDCoMKgwqDCoMKgwqAgfTsKPj4gKwo+PiArwqDCoMKgwqDCoMKgwqAgZXRt QDcyNDAwMDAgewo+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBjb21wYXRpYmxlID0gImFybSxj b3Jlc2lnaHQtZXRtNHgiLCAiYXJtLHByaW1lY2VsbCI7Cj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDC oMKgIHJlZyA9IDwwIDB4MDcyNDAwMDAgMCAweDEwMDA+Owo+PiArCj4+ICvCoMKgwqDCoMKgwqDC oMKgwqDCoMKgIGNwdSA9IDwmQ1BVMj47Cj4+ICsKPj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAg Y2xvY2tzID0gPCZhb3NzX3FtcD47Cj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGNsb2NrLW5h bWVzID0gImFwYl9wY2xrIjsKPj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgYXJtLGNvcmVzaWdo dC1sb3Nlcy1jb250ZXh0LXdpdGgtY3B1Owo+PiArCj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKg IG91dC1wb3J0cyB7Cj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgcG9ydCB7Cj4+ ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBldG0yX291dDogZW5kcG9p bnQgewo+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBy ZW1vdGUtZW5kcG9pbnQgPSA8JmFwc3NfZnVubmVsX2luMj47Cj4+ICvCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB9Owo+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgIH07Cj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIH07Cj4+ICvCoMKgwqDCoMKgwqDCoCB9 Owo+PiArCj4+ICvCoMKgwqDCoMKgwqDCoCBldG1ANzM0MDAwMCB7Cj4+ICvCoMKgwqDCoMKgwqDC oMKgwqDCoMKgIGNvbXBhdGlibGUgPSAiYXJtLGNvcmVzaWdodC1ldG00eCIsICJhcm0scHJpbWVj ZWxsIjsKPj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgcmVnID0gPDAgMHgwNzM0MDAwMCAwIDB4 MTAwMD47Cj4+ICsKPj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgY3B1ID0gPCZDUFUzPjsKPj4g Kwo+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBjbG9ja3MgPSA8JmFvc3NfcW1wPjsKPj4gK8Kg wqDCoMKgwqDCoMKgwqDCoMKgwqAgY2xvY2stbmFtZXMgPSAiYXBiX3BjbGsiOwo+PiArwqDCoMKg wqDCoMKgwqDCoMKgwqDCoCBhcm0sY29yZXNpZ2h0LWxvc2VzLWNvbnRleHQtd2l0aC1jcHU7Cj4+ ICsKPj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgb3V0LXBvcnRzIHsKPj4gK8KgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoCBwb3J0IHsKPj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgIGV0bTNfb3V0OiBlbmRwb2ludCB7Cj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHJlbW90ZS1lbmRwb2ludCA9IDwmYXBzc19mdW5u ZWxfaW4zPjsKPj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIH07Cj4+ ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfTsKPj4gK8KgwqDCoMKgwqDCoMKgwqDC oMKgwqAgfTsKPj4gK8KgwqDCoMKgwqDCoMKgIH07Cj4+ICsKPj4gK8KgwqDCoMKgwqDCoMKgIGV0 bUA3NDQwMDAwIHsKPj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgY29tcGF0aWJsZSA9ICJhcm0s Y29yZXNpZ2h0LWV0bTR4IiwgImFybSxwcmltZWNlbGwiOwo+PiArwqDCoMKgwqDCoMKgwqDCoMKg wqDCoCByZWcgPSA8MCAweDA3NDQwMDAwIDAgMHgxMDAwPjsKPj4gKwo+PiArwqDCoMKgwqDCoMKg wqDCoMKgwqDCoCBjcHUgPSA8JkNQVTQ+Owo+PiArCj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKg IGNsb2NrcyA9IDwmYW9zc19xbXA+Owo+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBjbG9jay1u YW1lcyA9ICJhcGJfcGNsayI7Cj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGFybSxjb3Jlc2ln aHQtbG9zZXMtY29udGV4dC13aXRoLWNwdTsKPj4gKwo+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDC oCBvdXQtcG9ydHMgewo+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHBvcnQgewo+ PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgZXRtNF9vdXQ6IGVuZHBv aW50IHsKPj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAg cmVtb3RlLWVuZHBvaW50ID0gPCZhcHNzX2Z1bm5lbF9pbjQ+Owo+PiArwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfTsKPj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoCB9Owo+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB9Owo+PiArwqDCoMKgwqDCoMKgwqAg fTsKPj4gKwo+PiArwqDCoMKgwqDCoMKgwqAgZXRtQDc1NDAwMDAgewo+PiArwqDCoMKgwqDCoMKg wqDCoMKgwqDCoCBjb21wYXRpYmxlID0gImFybSxjb3Jlc2lnaHQtZXRtNHgiLCAiYXJtLHByaW1l Y2VsbCI7Cj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHJlZyA9IDwwIDB4MDc1NDAwMDAgMCAw eDEwMDA+Owo+PiArCj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGNwdSA9IDwmQ1BVNT47Cj4+ ICsKPj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgY2xvY2tzID0gPCZhb3NzX3FtcD47Cj4+ICvC oMKgwqDCoMKgwqDCoMKgwqDCoMKgIGNsb2NrLW5hbWVzID0gImFwYl9wY2xrIjsKPj4gK8KgwqDC oMKgwqDCoMKgwqDCoMKgwqAgYXJtLGNvcmVzaWdodC1sb3Nlcy1jb250ZXh0LXdpdGgtY3B1Owo+ PiArCj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIG91dC1wb3J0cyB7Cj4+ICvCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqAgcG9ydCB7Cj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoCBldG01X291dDogZW5kcG9pbnQgewo+PiArwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCByZW1vdGUtZW5kcG9pbnQgPSA8JmFwc3NfZnVu bmVsX2luNT47Cj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB9Owo+ PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIH07Cj4+ICvCoMKgwqDCoMKgwqDCoMKg wqDCoMKgIH07Cj4+ICvCoMKgwqDCoMKgwqDCoCB9Owo+PiArCj4+ICvCoMKgwqDCoMKgwqDCoCBl dG1ANzY0MDAwMCB7Cj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGNvbXBhdGlibGUgPSAiYXJt LGNvcmVzaWdodC1ldG00eCIsICJhcm0scHJpbWVjZWxsIjsKPj4gK8KgwqDCoMKgwqDCoMKgwqDC oMKgwqAgcmVnID0gPDAgMHgwNzY0MDAwMCAwIDB4MTAwMD47Cj4+ICsKPj4gK8KgwqDCoMKgwqDC oMKgwqDCoMKgwqAgY3B1ID0gPCZDUFU2PjsKPj4gKwo+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDC oCBjbG9ja3MgPSA8JmFvc3NfcW1wPjsKPj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgY2xvY2st bmFtZXMgPSAiYXBiX3BjbGsiOwo+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBhcm0sY29yZXNp Z2h0LWxvc2VzLWNvbnRleHQtd2l0aC1jcHU7Cj4+ICsKPj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKg wqAgb3V0LXBvcnRzIHsKPj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBwb3J0IHsK Pj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGV0bTZfb3V0OiBlbmRw b2ludCB7Cj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg IHJlbW90ZS1lbmRwb2ludCA9IDwmYXBzc19mdW5uZWxfaW42PjsKPj4gK8KgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIH07Cj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqAgfTsKPj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfTsKPj4gK8KgwqDCoMKgwqDCoMKg IH07Cj4+ICsKPj4gK8KgwqDCoMKgwqDCoMKgIGV0bUA3NzQwMDAwIHsKPj4gK8KgwqDCoMKgwqDC oMKgwqDCoMKgwqAgY29tcGF0aWJsZSA9ICJhcm0sY29yZXNpZ2h0LWV0bTR4IiwgImFybSxwcmlt ZWNlbGwiOwo+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCByZWcgPSA8MCAweDA3NzQwMDAwIDAg MHgxMDAwPjsKPj4gKwo+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBjcHUgPSA8JkNQVTc+Owo+ PiArCj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGNsb2NrcyA9IDwmYW9zc19xbXA+Owo+PiAr wqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBjbG9jay1uYW1lcyA9ICJhcGJfcGNsayI7Cj4+ICvCoMKg wqDCoMKgwqDCoMKgwqDCoMKgIGFybSxjb3Jlc2lnaHQtbG9zZXMtY29udGV4dC13aXRoLWNwdTsK Pj4gKwo+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBvdXQtcG9ydHMgewo+PiArwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgIHBvcnQgewo+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqAgZXRtN19vdXQ6IGVuZHBvaW50IHsKPj4gK8KgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgcmVtb3RlLWVuZHBvaW50ID0gPCZhcHNzX2Z1 bm5lbF9pbjc+Owo+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfTsK Pj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB9Owo+PiArwqDCoMKgwqDCoMKgwqDC oMKgwqDCoCB9Owo+PiArwqDCoMKgwqDCoMKgwqAgfTsKPj4gKwo+PiArwqDCoMKgwqDCoMKgwqAg ZnVubmVsQDc4MDAwMDAgewo+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBjb21wYXRpYmxlID0g ImFybSxjb3Jlc2lnaHQtZHluYW1pYy1mdW5uZWwiLCAKPj4gImFybSxwcmltZWNlbGwiOwo+PiAr wqDCoMKgwqDCoMKgwqDCoMKgwqDCoCByZWcgPSA8MCAweDA3ODAwMDAwIDAgMHgxMDAwPjsKPj4g Kwo+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBjbG9ja3MgPSA8JmFvc3NfcW1wPjsKPj4gK8Kg wqDCoMKgwqDCoMKgwqDCoMKgwqAgY2xvY2stbmFtZXMgPSAiYXBiX3BjbGsiOwo+PiArCj4+ICvC oMKgwqDCoMKgwqDCoMKgwqDCoMKgIG91dC1wb3J0cyB7Cj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqAgcG9ydCB7Cj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoCBhcHNzX2Z1bm5lbF9vdXQ6IGVuZHBvaW50IHsKPj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgcmVtb3RlLWVuZHBvaW50ID0gPCZhcHNzX21lcmdl X2Z1bm5lbF9pbj47Cj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB9 Owo+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIH07Cj4+ICvCoMKgwqDCoMKgwqDC oMKgwqDCoMKgIH07Cj4+ICsKPj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgaW4tcG9ydHMgewo+ PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICNhZGRyZXNzLWNlbGxzID0gPDE+Owo+ PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICNzaXplLWNlbGxzID0gPDA+Owo+PiAr Cj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgcG9ydEAwIHsKPj4gK8KgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHJlZyA9IDwwPjsKPj4gK8KgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGFwc3NfZnVubmVsX2luMDogZW5kcG9pbnQgewo+ PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCByZW1vdGUt ZW5kcG9pbnQgPSA8JmV0bTBfb3V0PjsKPj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgIH07Cj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfTsKPj4gKwo+ PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHBvcnRAMSB7Cj4+ICvCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCByZWcgPSA8MT47Cj4+ICvCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBhcHNzX2Z1bm5lbF9pbjE6IGVuZHBvaW50IHsKPj4g K8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgcmVtb3RlLWVu ZHBvaW50ID0gPCZldG0xX291dD47Cj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoCB9Owo+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIH07Cj4+ICsKPj4g K8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBwb3J0QDIgewo+PiArwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgcmVnID0gPDI+Owo+PiArwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgYXBzc19mdW5uZWxfaW4yOiBlbmRwb2ludCB7Cj4+ICvC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHJlbW90ZS1lbmRw b2ludCA9IDwmZXRtMl9vdXQ+Owo+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqAgfTsKPj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB9Owo+PiArCj4+ICvC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgcG9ydEAzIHsKPj4gK8KgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHJlZyA9IDwzPjsKPj4gK8KgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgIGFwc3NfZnVubmVsX2luMzogZW5kcG9pbnQgewo+PiArwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCByZW1vdGUtZW5kcG9p bnQgPSA8JmV0bTNfb3V0PjsKPj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgIH07Cj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfTsKPj4gKwo+PiArwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHBvcnRANCB7Cj4+ICvCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoCByZWcgPSA8ND47Cj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoCBhcHNzX2Z1bm5lbF9pbjQ6IGVuZHBvaW50IHsKPj4gK8KgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgcmVtb3RlLWVuZHBvaW50 ID0gPCZldG00X291dD47Cj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oCB9Owo+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIH07Cj4+ICsKPj4gK8KgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBwb3J0QDUgewo+PiArwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqAgcmVnID0gPDU+Owo+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqAgYXBzc19mdW5uZWxfaW41OiBlbmRwb2ludCB7Cj4+ICvCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHJlbW90ZS1lbmRwb2ludCA9 IDwmZXRtNV9vdXQ+Owo+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAg fTsKPj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB9Owo+PiArCj4+ICvCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgcG9ydEA2IHsKPj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgIHJlZyA9IDw2PjsKPj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgIGFwc3NfZnVubmVsX2luNjogZW5kcG9pbnQgewo+PiArwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCByZW1vdGUtZW5kcG9pbnQgPSA8 JmV0bTZfb3V0PjsKPj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIH07 Cj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfTsKPj4gKwo+PiArwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgIHBvcnRANyB7Cj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoCByZWcgPSA8Nz47Cj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoCBhcHNzX2Z1bm5lbF9pbjc6IGVuZHBvaW50IHsKPj4gK8KgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgcmVtb3RlLWVuZHBvaW50ID0gPCZl dG03X291dD47Cj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB9Owo+ PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIH07Cj4+ICvCoMKgwqDCoMKgwqDCoMKg wqDCoMKgIH07Cj4+ICvCoMKgwqDCoMKgwqDCoCB9Owo+PiArCj4+ICvCoMKgwqDCoMKgwqDCoCBm dW5uZWxANzgxMDAwMCB7Cj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGNvbXBhdGlibGUgPSAi YXJtLGNvcmVzaWdodC1keW5hbWljLWZ1bm5lbCIsIAo+PiAiYXJtLHByaW1lY2VsbCI7Cj4+ICvC oMKgwqDCoMKgwqDCoMKgwqDCoMKgIHJlZyA9IDwwIDB4MDc4MTAwMDAgMCAweDEwMDA+Owo+PiAr Cj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGNsb2NrcyA9IDwmYW9zc19xbXA+Owo+PiArwqDC oMKgwqDCoMKgwqDCoMKgwqDCoCBjbG9jay1uYW1lcyA9ICJhcGJfcGNsayI7Cj4+ICsKPj4gK8Kg wqDCoMKgwqDCoMKgwqDCoMKgwqAgb3V0LXBvcnRzIHsKPj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoCBwb3J0IHsKPj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgIGFwc3NfbWVyZ2VfZnVubmVsX291dDogZW5kcG9pbnQgewo+PiArwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCByZW1vdGUtZW5kcG9pbnQgPSA8JmZ1bm5l bDJfaW41PjsKPj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIH07Cj4+ ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfTsKPj4gK8KgwqDCoMKgwqDCoMKgwqDC oMKgwqAgfTsKPj4gKwo+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBpbi1wb3J0cyB7Cj4+ICvC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgcG9ydEAxIHsKPj4gK8KgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHJlZyA9IDwwPjsKPj4gK8KgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgIGFwc3NfbWVyZ2VfZnVubmVsX2luOiBlbmRwb2ludCB7Cj4+ ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHJlbW90ZS1l bmRwb2ludCA9IDwmYXBzc19mdW5uZWxfb3V0PjsKPj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgIH07Cj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfTsK Pj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfTsKPj4gK8KgwqDCoMKgwqDCoMKgIH07Cj4+IMKg wqDCoMKgwqAgfTsKPj4gwqAgwqDCoMKgwqDCoCB0aW1lciB7CgpfX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fXwpsaW51eC1hcm0ta2VybmVsIG1haWxpbmcgbGlz dApsaW51eC1hcm0ta2VybmVsQGxpc3RzLmluZnJhZGVhZC5vcmcKaHR0cDovL2xpc3RzLmluZnJh ZGVhZC5vcmcvbWFpbG1hbi9saXN0aW5mby9saW51eC1hcm0ta2VybmVsCg==