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 62CF4C433FE for ; Tue, 22 Nov 2022 07:11:48 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232231AbiKVHLr (ORCPT ); Tue, 22 Nov 2022 02:11:47 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:34506 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229750AbiKVHLo (ORCPT ); Tue, 22 Nov 2022 02:11:44 -0500 Received: from out30-42.freemail.mail.aliyun.com (out30-42.freemail.mail.aliyun.com [115.124.30.42]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id DC3CB303EF; Mon, 21 Nov 2022 23:11:42 -0800 (PST) X-Alimail-AntiSpam: AC=PASS;BC=-1|-1;BR=01201311R111e4;CH=green;DM=||false|;DS=||;FP=0|-1|-1|-1|0|-1|-1|-1;HT=ay29a033018045170;MF=renyu.zj@linux.alibaba.com;NM=1;PH=DS;RN=21;SR=0;TI=SMTPD_---0VVR4.1Q_1669101096; Received: from 30.221.132.69(mailfrom:renyu.zj@linux.alibaba.com fp:SMTPD_---0VVR4.1Q_1669101096) by smtp.aliyun-inc.com; Tue, 22 Nov 2022 15:11:38 +0800 Message-ID: <74d26daa-69cb-41bf-5a33-229c95521536@linux.alibaba.com> Date: Tue, 22 Nov 2022 15:11:35 +0800 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0) Gecko/20100101 Thunderbird/102.4.1 Subject: Re: [PATCH RFC 0/6] Add metrics for neoverse-n2 To: James Clark , nick Forrington , Jumana MP , John Garry , Ian Rogers Cc: Will Deacon , Mike Leach , Leo Yan , Peter Zijlstra , Ingo Molnar , Arnaldo Carvalho de Melo , Mark Rutland , Alexander Shishkin , Jiri Olsa , Namhyung Kim , Andrew Kilroy , Shuai Xue , Zhuo Song , linux-arm-kernel@lists.infradead.org, linux-perf-users@vger.kernel.org, linux-kernel@vger.kernel.org References: <1667214694-89839-1-git-send-email-renyu.zj@linux.alibaba.com> <107dda1a-6053-ea35-1e29-96ee6d049eb1@arm.com> From: Jing Zhang In-Reply-To: <107dda1a-6053-ea35-1e29-96ee6d049eb1@arm.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 在 2022/11/21 下午7:51, James Clark 写道: > > > On 16/11/2022 15:26, Jing Zhang wrote: >> >> >> 在 2022/11/16 下午7:19, James Clark 写道: >>> >>> >>> On 31/10/2022 11:11, Jing Zhang wrote: >>>> This series add six metricgroups for neoverse-n2, among which, the >>>> formula of topdown L1 is from the document: >>>> https://documentation-service.arm.com/static/60250c7395978b529036da86?token= >>>> >>>> Since neoverse-n2 does not yet support topdown L2, metricgroups such >>>> as Cache, TLB, Branch, InstructionsMix, and PEutilization are added to >>>> help further analysis of performance bottlenecks. >>>> >>> >>> Hi Jing, >>> >>> Thanks for working on this, these metrics look ok to me in general, >>> although we're currently working on publishing standardised metrics >>> across all new cores as part of a new project in Arm. This will include >>> N2, and our ones are very similar (or almost identical) to yours, >>> barring slightly different group names, metric names, and differences in >>> things like outputting topdown metrics as percentages. >>> >>> We plan to publish our standard metrics some time in the next 2 months. >>> Would you consider holding off on merging this change so that we have >>> consistant group names and units going forward? Otherwise N2 would be> the odd one out. I will send you the metrics when they are ready, and we >>> will have a script to generate perf jsons from them, so you can review. >>> >> >> Do you mean that after you release the new standard metrics, I remake my >> patch referring to them, such as consistent group names and unit? > > Hi Jing, > > I was planning to submit the patch myself, but there will be a script to > generate perf json files, so no manual work would be needed. Although > this is complicated by the fact that we won't be publishing the fixed > TopdownL1 metrics that you have for the existing N2 silicon so there > would be a one time copy paste to fix that part. > >> >> >>> We also have a slightly different forumula for one of the top down >>> metrics which I think would be slightly more accurate. We don't have >> >> >> The v2 version of the patchset updated the formula of topdown L1. >> Link: https://lore.kernel.org/all/1668411720-3581-1-git-send-email-renyu.zj@linux.alibaba.com/ >> >> The formula of the v2 version is more accurate than v1, and it has been >> verified in our test environment. Can you share your formula first and we >> can discuss it together? :) > > I was looking at v2 but replied to the root of the thread by mistake. I > also had it the wrong way round. So your version corrects for the errata > on the current version of N2 (as you mentioned in the commit message). > Our version would be if there is a future new silicon revision with that > fixed, but it does have an extra improvement by subtracting the branch > mispredicts. > > Perf doesn't currently match the jsons based on silicon revision, so > we'd have to add something in for that if a fixed silicon version is > released. But this is another problem for another time. > Hi James, Let's do what Ian said, and you can improve it later with the standard metrics, after the fixed silicon version is released. > This is the frontend bound metric we have for future revisions: > > "100 * ( (STALL_SLOT_FRONTEND/(CPU_CYCLES * 5)) - ((BR_MIS_PRED * > 4)/CPU_CYCLES) )" > > Other changes are, for example, your 'wasted' metric, we have > 'bad_speculation', and without the > cycles subtraction: > > 100 * ( ((1 - (OP_RETIRED/OP_SPEC)) * (1 - (STALL_SLOT/(CPU_CYCLES * > 5)))) + ((BR_MIS_PRED * 4)/CPU_CYCLES) ) > Thanks for sharing your metric version, But I still wonder, is BR_MIS_PRED not classified as frontend bound? How do you judge the extra improvement by subtracting branch mispredicts? > And some more details filled in around the units, for example: > > { > "MetricName": "bad_speculation", > "MetricExpr": "100 * ( ((1 - (OP_RETIRED/OP_SPEC)) * (1 - > (STALL_SLOT/(CPU_CYCLES * 5)))) + ((BR_MIS_PRED * 4)/CPU_CYCLES) )", > "BriefDescription": "Bad Speculation", > "PublicDescription": "This metric is the percentage of total > slots that executed operations and didn't retire due to a pipeline > flush.\nThis indicates cycles that were utilized but inefficiently.", > "MetricGroup": "TopdownL1", > "ScaleUnit": "1percent of slots" > }, > My "wasted" metric was changed according to the arm documentation description, it was originally "bad_speculation". I will change "wasted" back to "bad_speculation", if you wish. Thanks, Jing > So ignoring the errata issue, the main reason to hold off is for > consistency and churn because these metrics in this format will be > released for all cores going forwards. > > Thanks > James > 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 71EFDC433FE for ; Tue, 22 Nov 2022 07:12:51 +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: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=cO+shQFe4I82yqVMtJJr6jz5SQob1WV0knkJgxdzew8=; b=4khsNF6IFge2PV iNsy31DDvuyA+i0lmTrN/bLXVAvoKwMoDKPQ04FHpvIfoy9XMPfZ4Kz91JSN6tFPLoxJRaa4ZdImo 7uSv6U9bJYRaRyGAJ94kGhBzcc9CiLXG89MTCFZVTanngshvIWAvNetodC69Xu3Zu2bksEJGOcKxt n793tnRk9jr/Nm4b9AvrAJFfMyotxgCYx8ojAgS/NSEwVplzQR6HIJp0s7npAFve9RCPmOX0ur0cD Q9ChGJeSP0/Owd8h70bsL5NNjGJP7l1RTMF59SVAJdx16APTzC33nhwaCF8SamITNukaGKbULJsfv U/w7f6Q2tlQLzE5hYLAA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1oxNRe-005NZs-MF; Tue, 22 Nov 2022 07:11:50 +0000 Received: from out30-132.freemail.mail.aliyun.com ([115.124.30.132]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1oxNRb-005NO5-6d for linux-arm-kernel@lists.infradead.org; Tue, 22 Nov 2022 07:11:49 +0000 X-Alimail-AntiSpam: AC=PASS;BC=-1|-1;BR=01201311R111e4;CH=green;DM=||false|;DS=||;FP=0|-1|-1|-1|0|-1|-1|-1;HT=ay29a033018045170;MF=renyu.zj@linux.alibaba.com;NM=1;PH=DS;RN=21;SR=0;TI=SMTPD_---0VVR4.1Q_1669101096; Received: from 30.221.132.69(mailfrom:renyu.zj@linux.alibaba.com fp:SMTPD_---0VVR4.1Q_1669101096) by smtp.aliyun-inc.com; Tue, 22 Nov 2022 15:11:38 +0800 Message-ID: <74d26daa-69cb-41bf-5a33-229c95521536@linux.alibaba.com> Date: Tue, 22 Nov 2022 15:11:35 +0800 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0) Gecko/20100101 Thunderbird/102.4.1 Subject: Re: [PATCH RFC 0/6] Add metrics for neoverse-n2 To: James Clark , nick Forrington , Jumana MP , John Garry , Ian Rogers Cc: Will Deacon , Mike Leach , Leo Yan , Peter Zijlstra , Ingo Molnar , Arnaldo Carvalho de Melo , Mark Rutland , Alexander Shishkin , Jiri Olsa , Namhyung Kim , Andrew Kilroy , Shuai Xue , Zhuo Song , linux-arm-kernel@lists.infradead.org, linux-perf-users@vger.kernel.org, linux-kernel@vger.kernel.org References: <1667214694-89839-1-git-send-email-renyu.zj@linux.alibaba.com> <107dda1a-6053-ea35-1e29-96ee6d049eb1@arm.com> From: Jing Zhang In-Reply-To: <107dda1a-6053-ea35-1e29-96ee6d049eb1@arm.com> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20221121_231147_480529_38106EB1 X-CRM114-Status: GOOD ( 29.98 ) 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 CgrlnKggMjAyMi8xMS8yMSDkuIvljYg3OjUxLCBKYW1lcyBDbGFyayDlhpnpgZM6Cj4gCj4gCj4g T24gMTYvMTEvMjAyMiAxNToyNiwgSmluZyBaaGFuZyB3cm90ZToKPj4KPj4KPj4g5ZyoIDIwMjIv MTEvMTYg5LiL5Y2INzoxOSwgSmFtZXMgQ2xhcmsg5YaZ6YGTOgo+Pj4KPj4+Cj4+PiBPbiAzMS8x MC8yMDIyIDExOjExLCBKaW5nIFpoYW5nIHdyb3RlOgo+Pj4+IFRoaXMgc2VyaWVzIGFkZCBzaXgg bWV0cmljZ3JvdXBzIGZvciBuZW92ZXJzZS1uMiwgYW1vbmcgd2hpY2gsIHRoZQo+Pj4+IGZvcm11 bGEgb2YgdG9wZG93biBMMSBpcyBmcm9tIHRoZSBkb2N1bWVudDoKPj4+PiBodHRwczovL2RvY3Vt ZW50YXRpb24tc2VydmljZS5hcm0uY29tL3N0YXRpYy82MDI1MGM3Mzk1OTc4YjUyOTAzNmRhODY/ dG9rZW49Cj4+Pj4KPj4+PiBTaW5jZSBuZW92ZXJzZS1uMiBkb2VzIG5vdCB5ZXQgc3VwcG9ydCB0 b3Bkb3duIEwyLCBtZXRyaWNncm91cHMgc3VjaAo+Pj4+IGFzIENhY2hlLCBUTEIsIEJyYW5jaCwg SW5zdHJ1Y3Rpb25zTWl4LCBhbmQgUEV1dGlsaXphdGlvbiBhcmUgYWRkZWQgdG8KPj4+PiBoZWxw IGZ1cnRoZXIgYW5hbHlzaXMgb2YgcGVyZm9ybWFuY2UgYm90dGxlbmVja3MuCj4+Pj4KPj4+Cj4+ PiBIaSBKaW5nLAo+Pj4KPj4+IFRoYW5rcyBmb3Igd29ya2luZyBvbiB0aGlzLCB0aGVzZSBtZXRy aWNzIGxvb2sgb2sgdG8gbWUgaW4gZ2VuZXJhbCwKPj4+IGFsdGhvdWdoIHdlJ3JlIGN1cnJlbnRs eSB3b3JraW5nIG9uIHB1Ymxpc2hpbmcgc3RhbmRhcmRpc2VkIG1ldHJpY3MKPj4+IGFjcm9zcyBh bGwgbmV3IGNvcmVzIGFzIHBhcnQgb2YgYSBuZXcgcHJvamVjdCBpbiBBcm0uIFRoaXMgd2lsbCBp bmNsdWRlCj4+PiBOMiwgYW5kIG91ciBvbmVzIGFyZSB2ZXJ5IHNpbWlsYXIgKG9yIGFsbW9zdCBp ZGVudGljYWwpIHRvIHlvdXJzLAo+Pj4gYmFycmluZyBzbGlnaHRseSBkaWZmZXJlbnQgZ3JvdXAg bmFtZXMsIG1ldHJpYyBuYW1lcywgYW5kIGRpZmZlcmVuY2VzIGluCj4+PiB0aGluZ3MgbGlrZSBv dXRwdXR0aW5nIHRvcGRvd24gbWV0cmljcyBhcyBwZXJjZW50YWdlcy4KPj4+Cj4+PiBXZSBwbGFu IHRvIHB1Ymxpc2ggb3VyIHN0YW5kYXJkIG1ldHJpY3Mgc29tZSB0aW1lIGluIHRoZSBuZXh0IDIg bW9udGhzLgo+Pj4gV291bGQgeW91IGNvbnNpZGVyIGhvbGRpbmcgb2ZmIG9uIG1lcmdpbmcgdGhp cyBjaGFuZ2Ugc28gdGhhdCB3ZSBoYXZlCj4+PiBjb25zaXN0YW50IGdyb3VwIG5hbWVzIGFuZCB1 bml0cyBnb2luZyBmb3J3YXJkPyBPdGhlcndpc2UgTjIgd291bGQgYmU+IHRoZSBvZGQgb25lIG91 dC4gSSB3aWxsIHNlbmQgeW91IHRoZSBtZXRyaWNzIHdoZW4gdGhleSBhcmUgcmVhZHksIGFuZCB3 ZQo+Pj4gd2lsbCBoYXZlIGEgc2NyaXB0IHRvIGdlbmVyYXRlIHBlcmYganNvbnMgZnJvbSB0aGVt LCBzbyB5b3UgY2FuIHJldmlldy4KPj4+Cj4+Cj4+IERvIHlvdSBtZWFuIHRoYXQgYWZ0ZXIgeW91 IHJlbGVhc2UgdGhlIG5ldyBzdGFuZGFyZCBtZXRyaWNzLCBJIHJlbWFrZSBteQo+PiBwYXRjaCBy ZWZlcnJpbmcgdG8gdGhlbSwgc3VjaCBhcyBjb25zaXN0ZW50IGdyb3VwIG5hbWVzIGFuZCB1bml0 Pwo+IAo+IEhpIEppbmcsCj4gCj4gSSB3YXMgcGxhbm5pbmcgdG8gc3VibWl0IHRoZSBwYXRjaCBt eXNlbGYsIGJ1dCB0aGVyZSB3aWxsIGJlIGEgc2NyaXB0IHRvCj4gZ2VuZXJhdGUgcGVyZiBqc29u IGZpbGVzLCBzbyBubyBtYW51YWwgd29yayB3b3VsZCBiZSBuZWVkZWQuIEFsdGhvdWdoCj4gdGhp cyBpcyBjb21wbGljYXRlZCBieSB0aGUgZmFjdCB0aGF0IHdlIHdvbid0IGJlIHB1Ymxpc2hpbmcg dGhlIGZpeGVkCj4gVG9wZG93bkwxIG1ldHJpY3MgdGhhdCB5b3UgaGF2ZSBmb3IgdGhlIGV4aXN0 aW5nIE4yIHNpbGljb24gc28gdGhlcmUKPiB3b3VsZCBiZSBhIG9uZSB0aW1lIGNvcHkgcGFzdGUg dG8gZml4IHRoYXQgcGFydC4KPiAKPj4KPj4KPj4+IFdlIGFsc28gaGF2ZSBhIHNsaWdodGx5IGRp ZmZlcmVudCBmb3J1bXVsYSBmb3Igb25lIG9mIHRoZSB0b3AgZG93bgo+Pj4gbWV0cmljcyB3aGlj aCBJIHRoaW5rIHdvdWxkIGJlIHNsaWdodGx5IG1vcmUgYWNjdXJhdGUuIFdlIGRvbid0IGhhdmUK Pj4KPj4KPj4gVGhlIHYyIHZlcnNpb24gb2YgdGhlIHBhdGNoc2V0IHVwZGF0ZWQgdGhlIGZvcm11 bGEgb2YgdG9wZG93biBMMS4KPj4gTGluazogaHR0cHM6Ly9sb3JlLmtlcm5lbC5vcmcvYWxsLzE2 Njg0MTE3MjAtMzU4MS0xLWdpdC1zZW5kLWVtYWlsLXJlbnl1LnpqQGxpbnV4LmFsaWJhYmEuY29t Lwo+Pgo+PiBUaGUgZm9ybXVsYSBvZiB0aGUgdjIgdmVyc2lvbiBpcyBtb3JlIGFjY3VyYXRlIHRo YW4gdjEsIGFuZCBpdCBoYXMgYmVlbgo+PiB2ZXJpZmllZCBpbiBvdXIgdGVzdCBlbnZpcm9ubWVu dC4gQ2FuIHlvdSBzaGFyZSB5b3VyIGZvcm11bGEgZmlyc3QgYW5kIHdlCj4+IGNhbiBkaXNjdXNz IGl0IHRvZ2V0aGVyPyA6KQo+IAo+IEkgd2FzIGxvb2tpbmcgYXQgdjIgYnV0IHJlcGxpZWQgdG8g dGhlIHJvb3Qgb2YgdGhlIHRocmVhZCBieSBtaXN0YWtlLiBJCj4gYWxzbyBoYWQgaXQgdGhlIHdy b25nIHdheSByb3VuZC4gU28geW91ciB2ZXJzaW9uIGNvcnJlY3RzIGZvciB0aGUgZXJyYXRhCj4g b24gdGhlIGN1cnJlbnQgdmVyc2lvbiBvZiBOMiAoYXMgeW91IG1lbnRpb25lZCBpbiB0aGUgY29t bWl0IG1lc3NhZ2UpLgo+IE91ciB2ZXJzaW9uIHdvdWxkIGJlIGlmIHRoZXJlIGlzIGEgZnV0dXJl IG5ldyBzaWxpY29uIHJldmlzaW9uIHdpdGggdGhhdAo+IGZpeGVkLCBidXQgaXQgZG9lcyBoYXZl IGFuIGV4dHJhIGltcHJvdmVtZW50IGJ5IHN1YnRyYWN0aW5nIHRoZSBicmFuY2gKPiBtaXNwcmVk aWN0cy4KPiAKPiBQZXJmIGRvZXNuJ3QgY3VycmVudGx5IG1hdGNoIHRoZSBqc29ucyBiYXNlZCBv biBzaWxpY29uIHJldmlzaW9uLCBzbwo+IHdlJ2QgaGF2ZSB0byBhZGQgc29tZXRoaW5nIGluIGZv ciB0aGF0IGlmIGEgZml4ZWQgc2lsaWNvbiB2ZXJzaW9uIGlzCj4gcmVsZWFzZWQuIEJ1dCB0aGlz IGlzIGFub3RoZXIgcHJvYmxlbSBmb3IgYW5vdGhlciB0aW1lLgo+IAoKSGkgSmFtZXMsCgpMZXQn cyBkbyB3aGF0IElhbiBzYWlkLCBhbmQgeW91IGNhbiBpbXByb3ZlIGl0IGxhdGVyIHdpdGggdGhl IHN0YW5kYXJkIG1ldHJpY3MsCmFmdGVyIHRoZSBmaXhlZCBzaWxpY29uIHZlcnNpb24gaXMgcmVs ZWFzZWQuCgoKPiBUaGlzIGlzIHRoZSBmcm9udGVuZCBib3VuZCBtZXRyaWMgd2UgaGF2ZSBmb3Ig ZnV0dXJlIHJldmlzaW9uczoKPiAKPiAJIjEwMCAqICggKFNUQUxMX1NMT1RfRlJPTlRFTkQvKENQ VV9DWUNMRVMgKiA1KSkgLSAoKEJSX01JU19QUkVEICoKPiA0KS9DUFVfQ1lDTEVTKSApIgo+IAo+ IE90aGVyIGNoYW5nZXMgYXJlLCBmb3IgZXhhbXBsZSwgeW91ciAnd2FzdGVkJyBtZXRyaWMsIHdl IGhhdmUKPiAnYmFkX3NwZWN1bGF0aW9uJywgYW5kIHdpdGhvdXQgdGhlCj4gY3ljbGVzIHN1YnRy YWN0aW9uOgo+IAo+IAkxMDAgKiAoICgoMSAtIChPUF9SRVRJUkVEL09QX1NQRUMpKSAqICgxIC0g KFNUQUxMX1NMT1QvKENQVV9DWUNMRVMgKgo+IDUpKSkpICsgKChCUl9NSVNfUFJFRCAqIDQpL0NQ VV9DWUNMRVMpICkKPiAKClRoYW5rcyBmb3Igc2hhcmluZyB5b3VyIG1ldHJpYyB2ZXJzaW9uLCBC dXQgSSBzdGlsbCB3b25kZXIsIGlzIEJSX01JU19QUkVEIG5vdCBjbGFzc2lmaWVkCmFzIGZyb250 ZW5kIGJvdW5kPyBIb3cgZG8geW91IGp1ZGdlIHRoZSBleHRyYSBpbXByb3ZlbWVudCBieSBzdWJ0 cmFjdGluZyBicmFuY2ggbWlzcHJlZGljdHM/Cgo+IEFuZCBzb21lIG1vcmUgZGV0YWlscyBmaWxs ZWQgaW4gYXJvdW5kIHRoZSB1bml0cywgZm9yIGV4YW1wbGU6Cj4gCj4gICAgIHsKPiAgICAgICAg ICJNZXRyaWNOYW1lIjogImJhZF9zcGVjdWxhdGlvbiIsCj4gICAgICAgICAiTWV0cmljRXhwciI6 ICIxMDAgKiAoICgoMSAtIChPUF9SRVRJUkVEL09QX1NQRUMpKSAqICgxIC0KPiAoU1RBTExfU0xP VC8oQ1BVX0NZQ0xFUyAqIDUpKSkpICsgKChCUl9NSVNfUFJFRCAqIDQpL0NQVV9DWUNMRVMpICki LAo+ICAgICAgICAgIkJyaWVmRGVzY3JpcHRpb24iOiAiQmFkIFNwZWN1bGF0aW9uIiwKPiAgICAg ICAgICJQdWJsaWNEZXNjcmlwdGlvbiI6ICJUaGlzIG1ldHJpYyBpcyB0aGUgcGVyY2VudGFnZSBv ZiB0b3RhbAo+IHNsb3RzIHRoYXQgZXhlY3V0ZWQgb3BlcmF0aW9ucyBhbmQgZGlkbid0IHJldGly ZSBkdWUgdG8gYSBwaXBlbGluZQo+IGZsdXNoLlxuVGhpcyBpbmRpY2F0ZXMgY3ljbGVzIHRoYXQg d2VyZSB1dGlsaXplZCBidXQgaW5lZmZpY2llbnRseS4iLAo+ICAgICAgICAgIk1ldHJpY0dyb3Vw IjogIlRvcGRvd25MMSIsCj4gICAgICAgICAiU2NhbGVVbml0IjogIjFwZXJjZW50IG9mIHNsb3Rz Igo+ICAgICB9LAo+IAoKTXkgIndhc3RlZCIgbWV0cmljIHdhcyBjaGFuZ2VkIGFjY29yZGluZyB0 byB0aGUgYXJtIGRvY3VtZW50YXRpb24gZGVzY3JpcHRpb24sIGl0IHdhcyBvcmlnaW5hbGx5CiJi YWRfc3BlY3VsYXRpb24iLiAgSSB3aWxsIGNoYW5nZSAid2FzdGVkIiBiYWNrIHRvICJiYWRfc3Bl Y3VsYXRpb24iLCBpZiB5b3Ugd2lzaC4KCgpUaGFua3MsCkppbmcKCgo+IFNvIGlnbm9yaW5nIHRo ZSBlcnJhdGEgaXNzdWUsIHRoZSBtYWluIHJlYXNvbiB0byBob2xkIG9mZiBpcyBmb3IKPiBjb25z aXN0ZW5jeSBhbmQgY2h1cm4gYmVjYXVzZSB0aGVzZSBtZXRyaWNzIGluIHRoaXMgZm9ybWF0IHdp bGwgYmUKPiByZWxlYXNlZCBmb3IgYWxsIGNvcmVzIGdvaW5nIGZvcndhcmRzLgo+IAo+IFRoYW5r cwo+IEphbWVzCj4gCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fXwpsaW51eC1hcm0ta2VybmVsIG1haWxpbmcgbGlzdApsaW51eC1hcm0ta2VybmVsQGxpc3Rz LmluZnJhZGVhZC5vcmcKaHR0cDovL2xpc3RzLmluZnJhZGVhZC5vcmcvbWFpbG1hbi9saXN0aW5m by9saW51eC1hcm0ta2VybmVsCg==