From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 7381920B218; Tue, 12 Nov 2024 19:53:49 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=217.140.110.172 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1731441233; cv=none; b=OiqYd0mz5CvNKLAvZz3Vvqbcd3J950Zk1HqRFwUMbYEvB74DeW2TzydjQ2WKiBRwuvY+uzXj5CicgrqN3qQ45CRvKEL5GDJmDQfc/VEmCOLMfBIy5fkSzeMdYde2zCpF616baXMLUwp3SHTTnHlascdXn589T6j9rtzjbNNR+pk= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1731441233; c=relaxed/simple; bh=rjHZyXk/3959QHkhD4RQLVEu0+udPS3rqazDkBqcJuw=; h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version: Content-Type:Content-Disposition:In-Reply-To; b=X9LFl54YasxKtfF7sjhxflGa+R32vyJTRdl3LiJVKmEl3pkUEnI/b7ZOyeQsBxUP0hjGQW9+mrThoTzcfXjuLCCeR2+U2dMm4/CC/AceX5oooj0uDM+R/nVTKChy3YdD8VJKMcYRzdzmSMQVfeua9EauOLOoOhIVs3E6mmI2zvg= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=arm.com; spf=pass smtp.mailfrom=arm.com; arc=none smtp.client-ip=217.140.110.172 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=arm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=arm.com Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 2B785150C; Tue, 12 Nov 2024 11:54:18 -0800 (PST) Received: from localhost (e132581.arm.com [10.2.76.71]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id DD86A3F66E; Tue, 12 Nov 2024 11:53:47 -0800 (PST) Date: Tue, 12 Nov 2024 19:53:43 +0000 From: Leo Yan To: Ian Rogers Cc: Atish Patra , linux-riscv@lists.infradead.org, beeman@rivosinc.com, Peter Zijlstra , Ingo Molnar , Arnaldo Carvalho de Melo , Namhyung Kim , Mark Rutland , Alexander Shishkin , Jiri Olsa , Adrian Hunter , Kan Liang , James Clark , Ze Gao , Weilin Wang , Ben Gainey , Dominique Martinet , Junhao He , linux-perf-users@vger.kernel.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH v1 3/4] perf record: Skip don't fail for events that don't open Message-ID: <20241112195343.GA404636@e132581.arm.com> References: <20241026121758.143259-1-irogers@google.com> <20241026121758.143259-4-irogers@google.com> Precedence: bulk X-Mailing-List: linux-perf-users@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <20241026121758.143259-4-irogers@google.com> On Sat, Oct 26, 2024 at 05:17:57AM -0700, Ian Rogers wrote: > > Whilst for many tools it is an expected behavior that failure to open > a perf event is a failure, ARM decided to name PMU events the same as > legacy events and then failed to rename such events on a server uncore > SLC PMU. As perf's default behavior when no PMU is specified is to > open the event on all PMUs that advertise/"have" the event, this > yielded failures when trying to make the priority of legacy and > sysfs/json events uniform - something requested by RISC-V and ARM. A > legacy event user on ARM hardware may find their event opened on an > uncore PMU which for perf record will fail. Arnaldo suggested skipping > such events which this patch implements. Rather than have the skipping > conditional on running on ARM, the skipping is done on all > architectures as such a fundamental behavioral difference could lead > to problems with tools built/depending on perf. > > An example of perf record failing to open events on x86 is: > ``` > $ perf record -e data_read,cycles,LLC-prefetch-read -a sleep 0.1 > Error: > Failure to open event 'data_read' on PMU 'uncore_imc_free_running_0' which will be removed. > The sys_perf_event_open() syscall returned with 22 (Invalid argument) for event (data_read). > "dmesg | grep -i perf" may provide additional information. > > Error: > Failure to open event 'data_read' on PMU 'uncore_imc_free_running_1' which will be removed. > The sys_perf_event_open() syscall returned with 22 (Invalid argument) for event (data_read). > "dmesg | grep -i perf" may provide additional information. > > Error: > Failure to open event 'LLC-prefetch-read' on PMU 'cpu' which will be removed. > The LLC-prefetch-read event is not supported. > [ perf record: Woken up 1 times to write data ] > [ perf record: Captured and wrote 2.188 MB perf.data (87 samples) ] > > $ perf report --stats > Aggregated stats: > TOTAL events: 17255 > MMAP events: 284 ( 1.6%) > COMM events: 1961 (11.4%) > EXIT events: 1 ( 0.0%) > FORK events: 1960 (11.4%) > SAMPLE events: 87 ( 0.5%) > MMAP2 events: 12836 (74.4%) > KSYMBOL events: 83 ( 0.5%) > BPF_EVENT events: 36 ( 0.2%) > FINISHED_ROUND events: 2 ( 0.0%) > ID_INDEX events: 1 ( 0.0%) > THREAD_MAP events: 1 ( 0.0%) > CPU_MAP events: 1 ( 0.0%) > TIME_CONV events: 1 ( 0.0%) > FINISHED_INIT events: 1 ( 0.0%) > cycles stats: > SAMPLE events: 87 > ``` Thanks for James reminding me. Tested on AVA platform: # tree /sys/bus/event_source/devices/arm_dsu_*/events ... /sys/bus/event_source/devices/arm_dsu_9/events ├── bus_access ├── bus_cycles ├── cycles ├── l3d_cache ├── l3d_cache_allocate ├── l3d_cache_refill ├── l3d_cache_wb └── memory_error # ./perf record -- sleep 0.1 Error: Failure to open event 'cycles:PH' on PMU 'arm_dsu_0' which will be removed. cycles:PH: PMU Hardware doesn't support sampling/overflow-interrupts. Try 'perf stat' Error: Failure to open event 'cycles:PH' on PMU 'arm_dsu_1' which will be removed. cycles:PH: PMU Hardware doesn't support sampling/overflow-interrupts. Try 'perf stat' ... Error: Failure to open event 'cycles:PH' on PMU 'arm_dsu_15' which will be removed. cycles:PH: PMU Hardware doesn't support sampling/overflow-interrupts. Try 'perf stat' [ perf record: Woken up 1 times to write data ] [ perf record: Captured and wrote 0.008 MB perf.data (8 samples) ] # ./perf report --stats Aggregated stats: TOTAL events: 67 MMAP events: 40 (59.7%) COMM events: 1 ( 1.5%) SAMPLE events: 8 (11.9%) KSYMBOL events: 6 ( 9.0%) BPF_EVENT events: 6 ( 9.0%) FINISHED_ROUND events: 1 ( 1.5%) ID_INDEX events: 1 ( 1.5%) THREAD_MAP events: 1 ( 1.5%) CPU_MAP events: 1 ( 1.5%) TIME_CONV events: 1 ( 1.5%) FINISHED_INIT events: 1 ( 1.5%) cycles:P stats: SAMPLE events: 8 # ./perf stat -- sleep 0.1 Performance counter stats for 'sleep 0.1': 0.87 msec task-clock # 0.009 CPUs utilized 1 context-switches # 1.148 K/sec 0 cpu-migrations # 0.000 /sec 52 page-faults # 59.685 K/sec 877,835 instructions # 1.14 insn per cycle # 0.25 stalled cycles per insn 772,102 cycles # 886.210 M/sec 191,914 stalled-cycles-frontend # 24.86% frontend cycles idle 219,183 stalled-cycles-backend # 28.39% backend cycles idle 184,099 branches # 211.307 M/sec 8,548 branch-misses # 4.64% of all branches 0.101623529 seconds time elapsed 0.001645000 seconds user 0.000000000 seconds sys Tested-by: Leo Yan 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 0BB64D42BBF for ; Tue, 12 Nov 2024 19:54:02 +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:MIME-Version:References: Message-ID:Subject:Cc:To:From:Date:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=TpNAICWgb0Oh4yCyOr9X+hXg2QmR7ysxnHhNEbggjXo=; b=iqMyEpvurdPB7l fxisEEJvuLJ1uL/f68G+08+cVEHKsnyoC75oeBUQ26IbA9iSdIXbppyDzRAlA0eklg+1CIPqrJVTb 0Rg+fXNrHeoniTIfnm1bKsw9FxBSdERyCzBnLoNZUcvyfdXsNEJKntEAiCMHFtb7wtEdHAMxtUmK9 NpzLRunV6Ih0JbnlTSUiN/dkOutdRj7ibA7iuXkGXbFyqsJxP+DP2WfDdo1oDDuT3hWIsX3E1vC7R hItD82/qAwK78X8u5SLwiUkfNK5ckUtI3BA1PFKkaOzvyNLfRlDjX0Dcv+VbdJ5TE4KJ3Vdu5B04w 6G7UwEtlB4TsGK4sUaZA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98 #2 (Red Hat Linux)) id 1tAwxW-00000004meM-1PDO; Tue, 12 Nov 2024 19:53:54 +0000 Received: from foss.arm.com ([217.140.110.172]) by bombadil.infradead.org with esmtp (Exim 4.98 #2 (Red Hat Linux)) id 1tAwxT-00000004mdU-2tTW for linux-riscv@lists.infradead.org; Tue, 12 Nov 2024 19:53:53 +0000 Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 2B785150C; Tue, 12 Nov 2024 11:54:18 -0800 (PST) Received: from localhost (e132581.arm.com [10.2.76.71]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id DD86A3F66E; Tue, 12 Nov 2024 11:53:47 -0800 (PST) Date: Tue, 12 Nov 2024 19:53:43 +0000 From: Leo Yan To: Ian Rogers Cc: Atish Patra , linux-riscv@lists.infradead.org, beeman@rivosinc.com, Peter Zijlstra , Ingo Molnar , Arnaldo Carvalho de Melo , Namhyung Kim , Mark Rutland , Alexander Shishkin , Jiri Olsa , Adrian Hunter , Kan Liang , James Clark , Ze Gao , Weilin Wang , Ben Gainey , Dominique Martinet , Junhao He , linux-perf-users@vger.kernel.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH v1 3/4] perf record: Skip don't fail for events that don't open Message-ID: <20241112195343.GA404636@e132581.arm.com> References: <20241026121758.143259-1-irogers@google.com> <20241026121758.143259-4-irogers@google.com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <20241026121758.143259-4-irogers@google.com> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20241112_115351_840858_F040B6C8 X-CRM114-Status: GOOD ( 16.95 ) X-BeenThere: linux-riscv@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-riscv" Errors-To: linux-riscv-bounces+linux-riscv=archiver.kernel.org@lists.infradead.org T24gU2F0LCBPY3QgMjYsIDIwMjQgYXQgMDU6MTc6NTdBTSAtMDcwMCwgSWFuIFJvZ2VycyB3cm90 ZToKPiAKPiBXaGlsc3QgZm9yIG1hbnkgdG9vbHMgaXQgaXMgYW4gZXhwZWN0ZWQgYmVoYXZpb3Ig dGhhdCBmYWlsdXJlIHRvIG9wZW4KPiBhIHBlcmYgZXZlbnQgaXMgYSBmYWlsdXJlLCBBUk0gZGVj aWRlZCB0byBuYW1lIFBNVSBldmVudHMgdGhlIHNhbWUgYXMKPiBsZWdhY3kgZXZlbnRzIGFuZCB0 aGVuIGZhaWxlZCB0byByZW5hbWUgc3VjaCBldmVudHMgb24gYSBzZXJ2ZXIgdW5jb3JlCj4gU0xD IFBNVS4gQXMgcGVyZidzIGRlZmF1bHQgYmVoYXZpb3Igd2hlbiBubyBQTVUgaXMgc3BlY2lmaWVk IGlzIHRvCj4gb3BlbiB0aGUgZXZlbnQgb24gYWxsIFBNVXMgdGhhdCBhZHZlcnRpc2UvImhhdmUi IHRoZSBldmVudCwgdGhpcwo+IHlpZWxkZWQgZmFpbHVyZXMgd2hlbiB0cnlpbmcgdG8gbWFrZSB0 aGUgcHJpb3JpdHkgb2YgbGVnYWN5IGFuZAo+IHN5c2ZzL2pzb24gZXZlbnRzIHVuaWZvcm0gLSBz b21ldGhpbmcgcmVxdWVzdGVkIGJ5IFJJU0MtViBhbmQgQVJNLiBBCj4gbGVnYWN5IGV2ZW50IHVz ZXIgb24gQVJNIGhhcmR3YXJlIG1heSBmaW5kIHRoZWlyIGV2ZW50IG9wZW5lZCBvbiBhbgo+IHVu Y29yZSBQTVUgd2hpY2ggZm9yIHBlcmYgcmVjb3JkIHdpbGwgZmFpbC4gQXJuYWxkbyBzdWdnZXN0 ZWQgc2tpcHBpbmcKPiBzdWNoIGV2ZW50cyB3aGljaCB0aGlzIHBhdGNoIGltcGxlbWVudHMuIFJh dGhlciB0aGFuIGhhdmUgdGhlIHNraXBwaW5nCj4gY29uZGl0aW9uYWwgb24gcnVubmluZyBvbiBB Uk0sIHRoZSBza2lwcGluZyBpcyBkb25lIG9uIGFsbAo+IGFyY2hpdGVjdHVyZXMgYXMgc3VjaCBh IGZ1bmRhbWVudGFsIGJlaGF2aW9yYWwgZGlmZmVyZW5jZSBjb3VsZCBsZWFkCj4gdG8gcHJvYmxl bXMgd2l0aCB0b29scyBidWlsdC9kZXBlbmRpbmcgb24gcGVyZi4KPiAKPiBBbiBleGFtcGxlIG9m IHBlcmYgcmVjb3JkIGZhaWxpbmcgdG8gb3BlbiBldmVudHMgb24geDg2IGlzOgo+IGBgYAo+ICQg cGVyZiByZWNvcmQgLWUgZGF0YV9yZWFkLGN5Y2xlcyxMTEMtcHJlZmV0Y2gtcmVhZCAtYSBzbGVl cCAwLjEKPiBFcnJvcjoKPiBGYWlsdXJlIHRvIG9wZW4gZXZlbnQgJ2RhdGFfcmVhZCcgb24gUE1V ICd1bmNvcmVfaW1jX2ZyZWVfcnVubmluZ18wJyB3aGljaCB3aWxsIGJlIHJlbW92ZWQuCj4gVGhl IHN5c19wZXJmX2V2ZW50X29wZW4oKSBzeXNjYWxsIHJldHVybmVkIHdpdGggMjIgKEludmFsaWQg YXJndW1lbnQpIGZvciBldmVudCAoZGF0YV9yZWFkKS4KPiAiZG1lc2cgfCBncmVwIC1pIHBlcmYi IG1heSBwcm92aWRlIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24uCj4gCj4gRXJyb3I6Cj4gRmFpbHVy ZSB0byBvcGVuIGV2ZW50ICdkYXRhX3JlYWQnIG9uIFBNVSAndW5jb3JlX2ltY19mcmVlX3J1bm5p bmdfMScgd2hpY2ggd2lsbCBiZSByZW1vdmVkLgo+IFRoZSBzeXNfcGVyZl9ldmVudF9vcGVuKCkg c3lzY2FsbCByZXR1cm5lZCB3aXRoIDIyIChJbnZhbGlkIGFyZ3VtZW50KSBmb3IgZXZlbnQgKGRh dGFfcmVhZCkuCj4gImRtZXNnIHwgZ3JlcCAtaSBwZXJmIiBtYXkgcHJvdmlkZSBhZGRpdGlvbmFs IGluZm9ybWF0aW9uLgo+IAo+IEVycm9yOgo+IEZhaWx1cmUgdG8gb3BlbiBldmVudCAnTExDLXBy ZWZldGNoLXJlYWQnIG9uIFBNVSAnY3B1JyB3aGljaCB3aWxsIGJlIHJlbW92ZWQuCj4gVGhlIExM Qy1wcmVmZXRjaC1yZWFkIGV2ZW50IGlzIG5vdCBzdXBwb3J0ZWQuCj4gWyBwZXJmIHJlY29yZDog V29rZW4gdXAgMSB0aW1lcyB0byB3cml0ZSBkYXRhIF0KPiBbIHBlcmYgcmVjb3JkOiBDYXB0dXJl ZCBhbmQgd3JvdGUgMi4xODggTUIgcGVyZi5kYXRhICg4NyBzYW1wbGVzKSBdCj4gCj4gJCBwZXJm IHJlcG9ydCAtLXN0YXRzCj4gQWdncmVnYXRlZCBzdGF0czoKPiAgICAgICAgICAgICAgICBUT1RB TCBldmVudHM6ICAgICAgMTcyNTUKPiAgICAgICAgICAgICAgICAgTU1BUCBldmVudHM6ICAgICAg ICAyODQgICggMS42JSkKPiAgICAgICAgICAgICAgICAgQ09NTSBldmVudHM6ICAgICAgIDE5NjEg ICgxMS40JSkKPiAgICAgICAgICAgICAgICAgRVhJVCBldmVudHM6ICAgICAgICAgIDEgICggMC4w JSkKPiAgICAgICAgICAgICAgICAgRk9SSyBldmVudHM6ICAgICAgIDE5NjAgICgxMS40JSkKPiAg ICAgICAgICAgICAgIFNBTVBMRSBldmVudHM6ICAgICAgICAgODcgICggMC41JSkKPiAgICAgICAg ICAgICAgICBNTUFQMiBldmVudHM6ICAgICAgMTI4MzYgICg3NC40JSkKPiAgICAgICAgICAgICAg S1NZTUJPTCBldmVudHM6ICAgICAgICAgODMgICggMC41JSkKPiAgICAgICAgICAgIEJQRl9FVkVO VCBldmVudHM6ICAgICAgICAgMzYgICggMC4yJSkKPiAgICAgICBGSU5JU0hFRF9ST1VORCBldmVu dHM6ICAgICAgICAgIDIgICggMC4wJSkKPiAgICAgICAgICAgICBJRF9JTkRFWCBldmVudHM6ICAg ICAgICAgIDEgICggMC4wJSkKPiAgICAgICAgICAgVEhSRUFEX01BUCBldmVudHM6ICAgICAgICAg IDEgICggMC4wJSkKPiAgICAgICAgICAgICAgQ1BVX01BUCBldmVudHM6ICAgICAgICAgIDEgICgg MC4wJSkKPiAgICAgICAgICAgIFRJTUVfQ09OViBldmVudHM6ICAgICAgICAgIDEgICggMC4wJSkK PiAgICAgICAgRklOSVNIRURfSU5JVCBldmVudHM6ICAgICAgICAgIDEgICggMC4wJSkKPiBjeWNs ZXMgc3RhdHM6Cj4gICAgICAgICAgICAgICBTQU1QTEUgZXZlbnRzOiAgICAgICAgIDg3Cj4gYGBg CgpUaGFua3MgZm9yIEphbWVzIHJlbWluZGluZyBtZS4gIFRlc3RlZCBvbiBBVkEgcGxhdGZvcm06 CgojIHRyZWUgL3N5cy9idXMvZXZlbnRfc291cmNlL2RldmljZXMvYXJtX2RzdV8qL2V2ZW50cwog IC4uLgogIC9zeXMvYnVzL2V2ZW50X3NvdXJjZS9kZXZpY2VzL2FybV9kc3VfOS9ldmVudHMKICDi lJzilIDilIAgYnVzX2FjY2VzcwogIOKUnOKUgOKUgCBidXNfY3ljbGVzCiAg4pSc4pSA4pSAIGN5 Y2xlcwogIOKUnOKUgOKUgCBsM2RfY2FjaGUKICDilJzilIDilIAgbDNkX2NhY2hlX2FsbG9jYXRl CiAg4pSc4pSA4pSAIGwzZF9jYWNoZV9yZWZpbGwKICDilJzilIDilIAgbDNkX2NhY2hlX3diCiAg 4pSU4pSA4pSAIG1lbW9yeV9lcnJvcgoKIyAuL3BlcmYgcmVjb3JkIC0tIHNsZWVwIDAuMQogRXJy b3I6CiBGYWlsdXJlIHRvIG9wZW4gZXZlbnQgJ2N5Y2xlczpQSCcgb24gUE1VICdhcm1fZHN1XzAn IHdoaWNoIHdpbGwgYmUKIHJlbW92ZWQuCiBjeWNsZXM6UEg6IFBNVSBIYXJkd2FyZSBkb2Vzbid0 IHN1cHBvcnQgc2FtcGxpbmcvb3ZlcmZsb3ctaW50ZXJydXB0cy4KIFRyeSAncGVyZiBzdGF0Jwog RXJyb3I6CiBGYWlsdXJlIHRvIG9wZW4gZXZlbnQgJ2N5Y2xlczpQSCcgb24gUE1VICdhcm1fZHN1 XzEnIHdoaWNoIHdpbGwgYmUKIHJlbW92ZWQuCiBjeWNsZXM6UEg6IFBNVSBIYXJkd2FyZSBkb2Vz bid0IHN1cHBvcnQgc2FtcGxpbmcvb3ZlcmZsb3ctaW50ZXJydXB0cy4KIFRyeSAncGVyZiBzdGF0 JwogLi4uCiBFcnJvcjoKIEZhaWx1cmUgdG8gb3BlbiBldmVudCAnY3ljbGVzOlBIJyBvbiBQTVUg J2FybV9kc3VfMTUnIHdoaWNoIHdpbGwgYmUKIHJlbW92ZWQuCiBjeWNsZXM6UEg6IFBNVSBIYXJk d2FyZSBkb2Vzbid0IHN1cHBvcnQgc2FtcGxpbmcvb3ZlcmZsb3ctaW50ZXJydXB0cy4KIFRyeSAn cGVyZiBzdGF0JwogWyBwZXJmIHJlY29yZDogV29rZW4gdXAgMSB0aW1lcyB0byB3cml0ZSBkYXRh IF0KIFsgcGVyZiByZWNvcmQ6IENhcHR1cmVkIGFuZCB3cm90ZSAwLjAwOCBNQiBwZXJmLmRhdGEg KDggc2FtcGxlcykgXQoKIyAuL3BlcmYgcmVwb3J0IC0tc3RhdHMKCiBBZ2dyZWdhdGVkIHN0YXRz OgogICAgICAgICAgICAgICAgVE9UQUwgZXZlbnRzOiAgICAgICAgIDY3CiAgICAgICAgICAgICAg ICAgTU1BUCBldmVudHM6ICAgICAgICAgNDAgICg1OS43JSkKICAgICAgICAgICAgICAgICBDT01N IGV2ZW50czogICAgICAgICAgMSAgKCAxLjUlKQogICAgICAgICAgICAgICBTQU1QTEUgZXZlbnRz OiAgICAgICAgICA4ICAoMTEuOSUpCiAgICAgICAgICAgICAgS1NZTUJPTCBldmVudHM6ICAgICAg ICAgIDYgICggOS4wJSkKICAgICAgICAgICAgQlBGX0VWRU5UIGV2ZW50czogICAgICAgICAgNiAg KCA5LjAlKQogICAgICAgRklOSVNIRURfUk9VTkQgZXZlbnRzOiAgICAgICAgICAxICAoIDEuNSUp CiAgICAgICAgICAgICBJRF9JTkRFWCBldmVudHM6ICAgICAgICAgIDEgICggMS41JSkKICAgICAg ICAgICBUSFJFQURfTUFQIGV2ZW50czogICAgICAgICAgMSAgKCAxLjUlKQogICAgICAgICAgICAg IENQVV9NQVAgZXZlbnRzOiAgICAgICAgICAxICAoIDEuNSUpCiAgICAgICAgICAgIFRJTUVfQ09O ViBldmVudHM6ICAgICAgICAgIDEgICggMS41JSkKICAgICAgICBGSU5JU0hFRF9JTklUIGV2ZW50 czogICAgICAgICAgMSAgKCAxLjUlKQogY3ljbGVzOlAgc3RhdHM6CiAgICAgICAgICAgICAgIFNB TVBMRSBldmVudHM6ICAgICAgICAgIDgKCiMgLi9wZXJmIHN0YXQgLS0gc2xlZXAgMC4xCgogUGVy Zm9ybWFuY2UgY291bnRlciBzdGF0cyBmb3IgJ3NsZWVwIDAuMSc6CgogICAgICAgICAgICAgIDAu ODcgbXNlYyB0YXNrLWNsb2NrICAgICAgICAgICAgICAgICAgICAgICAjICAgIDAuMDA5IENQVXMg dXRpbGl6ZWQKICAgICAgICAgICAgICAgICAxICAgICAgY29udGV4dC1zd2l0Y2hlcyAgICAgICAg ICAgICAgICAgIyAgICAxLjE0OCBLL3NlYwogICAgICAgICAgICAgICAgIDAgICAgICBjcHUtbWln cmF0aW9ucyAgICAgICAgICAgICAgICAgICAjICAgIDAuMDAwIC9zZWMKICAgICAgICAgICAgICAg IDUyICAgICAgcGFnZS1mYXVsdHMgICAgICAgICAgICAgICAgICAgICAgIyAgIDU5LjY4NSBLL3Nl YwogICAgICAgICAgIDg3Nyw4MzUgICAgICBpbnN0cnVjdGlvbnMgICAgICAgICAgICAgICAgICAg ICAjICAgIDEuMTQgIGluc24gcGVyIGN5Y2xlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIyAgICAwLjI1ICBzdGFsbGVkIGN5Y2xlcyBwZXIgaW5zbgog ICAgICAgICAgIDc3MiwxMDIgICAgICBjeWNsZXMgICAgICAgICAgICAgICAgICAgICAgICAgICAj ICA4ODYuMjEwIE0vc2VjCiAgICAgICAgICAgMTkxLDkxNCAgICAgIHN0YWxsZWQtY3ljbGVzLWZy b250ZW5kICAgICAgICAgICMgICAyNC44NiUgZnJvbnRlbmQgY3ljbGVzIGlkbGUKICAgICAgICAg ICAyMTksMTgzICAgICAgc3RhbGxlZC1jeWNsZXMtYmFja2VuZCAgICAgICAgICAgIyAgIDI4LjM5 JSBiYWNrZW5kIGN5Y2xlcyBpZGxlCiAgICAgICAgICAgMTg0LDA5OSAgICAgIGJyYW5jaGVzICAg ICAgICAgICAgICAgICAgICAgICAgICMgIDIxMS4zMDcgTS9zZWMKICAgICAgICAgICAgIDgsNTQ4 ICAgICAgYnJhbmNoLW1pc3NlcyAgICAgICAgICAgICAgICAgICAgIyAgICA0LjY0JSBvZiBhbGwg YnJhbmNoZXMKCiAgICAgICAwLjEwMTYyMzUyOSBzZWNvbmRzIHRpbWUgZWxhcHNlZAoKICAgICAg IDAuMDAxNjQ1MDAwIHNlY29uZHMgdXNlcgogICAgICAgMC4wMDAwMDAwMDAgc2Vjb25kcyBzeXMK ClRlc3RlZC1ieTogTGVvIFlhbiA8bGVvLnlhbkBhcm0uY29tPgoKX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX18KbGludXgtcmlzY3YgbWFpbGluZyBsaXN0Cmxp bnV4LXJpc2N2QGxpc3RzLmluZnJhZGVhZC5vcmcKaHR0cDovL2xpc3RzLmluZnJhZGVhZC5vcmcv bWFpbG1hbi9saXN0aW5mby9saW51eC1yaXNjdgo=