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 84280C433F5 for ; Mon, 10 Jan 2022 18:58:19 +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=1pD80R+/a9DT1X28Adla7oNB0yLiuDlZwqPMt6LOqTU=; b=MICKbK+YnzN+P6 lSC9tNjkt4v9W9O0optjiwFTI6fH9vsl3N5iXC5qWp3dYUpuIqc7mZC1PfjYw2/gZ4CgqtgaJf9O9 7gsLyeAMOpP7+EveAsXiNe1RrGKVt2TFa98tQQ+WJAGuf1jpRagNCDHOK/qAiuG2lM5Dh+76Q8kt2 9Ya1SF5zfYcA7Js5KnTZkSii+QpJvMlhpLQ+iI0CAYebq3NjPzAG3KeMbcTsNO57zAgoMxAVwjrOJ /OsRrv17rggAoq89OwB4sK15yiD2m5Pa5m6xDLl/61MxmL/D6LVa3srMrDhJWLpBEw5tswNVtZEh4 tqISulHsS6S1BNE5KzKA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1n6zqq-00CtHZ-1s; Mon, 10 Jan 2022 18:57:04 +0000 Received: from casper.infradead.org ([2001:8b0:10b:1236::1]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1n6zql-00CtFu-QC for linux-arm-kernel@bombadil.infradead.org; Mon, 10 Jan 2022 18:56:59 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=casper.20170209; h=In-Reply-To:Content-Transfer-Encoding: Content-Type:MIME-Version:References:Message-ID:Subject:Cc:To:From:Date: Sender:Reply-To:Content-ID:Content-Description; bh=ZlqtMcSYHnqdq7SOIdsdIhJV99Cq5Lr83vaOzeIa+4M=; b=SRnWh2wo+kLoD3gBx+LcwJLy+Q z4zVeJFft4yJcSjQQhVL+P6XOCNoi39Qxmko2BW/3CFOK1K/Bp8vUphND/uwGkYFmMOOhdy4BRBoI 1TT81X85pjXJNAwQbaX/2bZtijUU14pkHziLAHK0PvMeEEXB2xW7dsWv93vf5/GpIeCL0G/wB5Q1I KpEu4xznBhNXVHqscajGD5qj3xzdxvRt0UDpGabYUfa0mnvzbWQ4mMV2ZymD4nlQbxGXjQUbdv6H3 zdsTBlYfsWSsDKQHeSPsEo7idrEuGOGcoQUf/7aNTbIZzQfAhdtHB83aNx/dPw/vjtFCJ5QFsj+1s WQm4lk+A==; Received: from [179.97.37.151] (helo=quaco.ghostprotocols.net) by casper.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux)) id 1n6zqj-002ei9-NE; Mon, 10 Jan 2022 18:56:58 +0000 Received: by quaco.ghostprotocols.net (Postfix, from userid 1000) id AD56E40B92; Mon, 10 Jan 2022 15:56:55 -0300 (-03) Date: Mon, 10 Jan 2022 15:56:55 -0300 From: Arnaldo Carvalho de Melo To: Ian Rogers Cc: John Garry , Andi Kleen , Jiri Olsa , Namhyung Kim , Kajol Jain , "Paul A . Clarke" , Riccardo Mancini , Kan Liang , Peter Zijlstra , Ingo Molnar , Mark Rutland , Alexander Shishkin , linux-perf-users@vger.kernel.org, linux-kernel@vger.kernel.org, Vineet Singh , James Clark , Mathieu Poirier , Suzuki K Poulose , Mike Leach , Leo Yan , coresight@lists.linaro.org, linux-arm-kernel@lists.infradead.org, zhengjun.xing@intel.com, eranian@google.com Subject: Re: [PATCH v4 02/48] perf stat: Add aggr creators that are passed a cpu. Message-ID: References: <20220105061351.120843-1-irogers@google.com> <20220105061351.120843-3-irogers@google.com> <57ab982e-ecc1-3f49-c580-0a251e29698b@huawei.com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: X-Url: http://acmel.wordpress.com 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 RW0gTW9uLCBKYW4gMTAsIDIwMjIgYXQgMDM6NTM6NDVQTSAtMDMwMCwgQXJuYWxkbyBDYXJ2YWxo byBkZSBNZWxvIGVzY3JldmV1Ogo+IEVtIE1vbiwgSmFuIDEwLCAyMDIyIGF0IDAzOjUyOjExUE0g LTAzMDAsIEFybmFsZG8gQ2FydmFsaG8gZGUgTWVsbyBlc2NyZXZldToKPiA+IEVtIE1vbiwgSmFu IDEwLCAyMDIyIGF0IDA5OjM2OjQ5QU0gLTA4MDAsIElhbiBSb2dlcnMgZXNjcmV2ZXU6Cj4gPiA+ IE9uIE1vbiwgSmFuIDEwLCAyMDIyIGF0IDk6MTAgQU0gSm9obiBHYXJyeSA8am9obi5nYXJyeUBo dWF3ZWkuY29tPiB3cm90ZToKPiA+ID4gPgo+ID4gPiA+IE9uIDA1LzAxLzIwMjIgMDY6MTMsIElh biBSb2dlcnMgd3JvdGU6Cj4gPiA+ID4gPgo+ID4gPiA+ID4gK3N0cnVjdCBhZ2dyX2NwdV9pZCBj cHVfbWFwX19nZXRfc29ja2V0KHN0cnVjdCBwZXJmX2NwdV9tYXAgKm1hcCwgaW50IGlkeCwKPiA+ ID4gPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICpkYXRhKQo+ ID4gPiA+ID4gK3sKPiA+ID4gPiA+ICsgICAgIGlmIChpZHggPCAwIHx8IGlkeCA+IG1hcC0+bnIp Cj4gPiA+ID4gPiArICAgICAgICAgICAgIHJldHVybiBjcHVfbWFwX19lbXB0eV9hZ2dyX2NwdV9p ZCgpOwo+ID4gPiA+ID4gKwo+ID4gPiA+ID4gKyAgICAgcmV0dXJuIGNwdV9tYXBfX2dldF9zb2Nr ZXRfYWdncl9ieV9jcHUobWFwLT5tYXBbaWR4XSwgZGF0YSk7Cj4gPiA+ID4gPiArfQo+ID4gPiA+ ID4gKwo+ID4gPiA+Cj4gPiA+ID4KPiA+ID4gPiBUaGlzIGlzIGxhdGVyIGRlbGV0ZWQgaW4gdGhl IHNlcmllcy4gQ2FuIHRoZSBzZXJpZXMgYmUgcmV3b3JrZWQgc28gdGhhdAo+ID4gPiA+IHdlIGRv bid0IGFkZCBzdHVmZiBhbmQgdGhlbiBsYXRlciBkZWxldGUgaXQ/IE9uZSByZWFzb24gZm9yIHRo YXQKPiA+ID4gPiBhcHByb2FjaCBpcyB0aGF0IHdlIGRvbid0IHNwZW5kIHRpbWUgcmV2aWV3aW5n IHNvbWV0aGluZyB3aGljaCB3aWxsIGJlCj4gPiA+ID4gZGVsZXRlZCwgZXNwZWNpYWxseSBpbiBz dWNoIGEgYmlnIHNlcmllcy4uLgo+ID4gPiAKPiA+ID4gSGkgSm9obiwKPiA+ID4gCj4gPiA+IEkg dGhpbmsgeW91IGFyZSBhc2tpbmcgdG8gc3F1YXNoOgo+ID4gPiBodHRwczovL2xvcmUua2VybmVs Lm9yZy9sa21sLzIwMjIwMTA1MDYxMzUxLjEyMDg0My04LWlyb2dlcnNAZ29vZ2xlLmNvbS8KPiA+ ID4gaW50byB0aGlzIGNoYW5nZS4gVGhlcmUgYXJlIG90aGVyICBzaW1pbGFyIHJlbGF0ZWQgY2hh bmdlcyB0aGF0IG1heQo+ID4gPiBhbHNvIGJlIHNxdWFzaGVkLiBUaGUgY2hhbmdlcyBhcmUgdHJ5 aW5nIHRvIGludHJvZHVjZSBhIG5ldyBBUEkgYW5kCj4gPiA+IHRoZW4gYWRkIGNoYW5nZXMgdG8g c3dpdGNoIG92ZXIgdG8gdXNpbmcgaXQuIFRoaXMgaXMgd2l0aCBhIHZpZXcgdG8KPiA+ID4gbWFr aW5nIGJpc2VjdGlvbiBlYXNpZXIsIGhhdmUgZWFjaCBjaGFuZ2Ugb25seSBkbyAxIHRoaW5nIGFu ZCBzbyBvbi4gSQo+ID4gPiBiZWxpZXZlIHRoZSBmb3JtYXQgb2YgdGhlIHBhdGNoZXMgaXMgaG91 c2Ugc3R5bGUsIGJ1dCBpdCBpcyBmaW5lIHRvCj4gPiA+IHNxdWFzaCBjaGFuZ2VzIHRvZ2V0aGVy IHRvby4gSGF2aW5nIHNlbnQgcGF0Y2hlcyB0byBBcm5hbGRvIGFuZCBoYXZpbmcKPiA+ID4gaGFk IHRoZW0gc3BsaXQgSSdtIHJlbHVjdGFudCB0byBkbyBhIHY1IHdpdGggdGhlbSBzcXVhc2hlZCB3 aXRob3V0IGhpbQo+ID4gPiBleHByZXNzaW5nIGEgcHJlZmVyZW5jZS4KPiA+IAo+ID4gUmlnaHQs IHNvbWV0aW1lcyB0aGlzIGlzIG5lZWRlZCwgSSdtIGdldHRpbmcgdGhlIHBhdGNoa2l0IG5vdyB0 byB0ZXN0Cj4gPiBidWlsZCBpdCBpbiBteSBjb250YWluZXJzIGFuZCB3aWxsIGdvIHBhdGNoIGJ5 IHBhdGNoIHJldmlld2luZy4KPiAKPiBHb29kIHN0YXJ0Ogo+IAo+IOKsolthY21lQHRvb2xib3gg cGVyZl0kIGI0IGFtIC1jdHNsIC0tY2MtdHJhaWxlcnMgQ0FQLTU9ZldUXzE5T2ZaVFRqdkxVY0No VjRuRHdxYzVacTRWRTkzR2FrNk9PNE5PUnNBQG1haWwuZ21haWwuY29tCj4gTG9va2luZyB1cCBo dHRwczovL2xvcmUua2VybmVsLm9yZy9yL0NBUC01JTNEZldUXzE5T2ZaVFRqdkxVY0NoVjRuRHdx YzVacTRWRTkzR2FrNk9PNE5PUnNBJTQwbWFpbC5nbWFpbC5jb20KPiBHcmFiYmluZyB0aHJlYWQg ZnJvbSBsb3JlLmtlcm5lbC5vcmcvYWxsL0NBUC01JTNEZldUXzE5T2ZaVFRqdkxVY0NoVjRuRHdx YzVacTRWRTkzR2FrNk9PNE5PUnNBJTQwbWFpbC5nbWFpbC5jb20vdC5tYm94Lmd6Cj4gQ2hlY2tp bmcgZm9yIG5ld2VyIHJldmlzaW9ucyBvbiBodHRwczovL2xvcmUua2VybmVsLm9yZy9hbGwvCj4g QW5hbHl6aW5nIDU4IG1lc3NhZ2VzIGluIHRoZSB0aHJlYWQKPiBDaGVja2luZyBhdHRlc3RhdGlv biBvbiBhbGwgbWVzc2FnZXMsIG1heSB0YWtlIGEgbW9tZW50Li4uCj4gLS0tCj4gICDinJMgW1BB VENIIHY0IDEvNDhdIGxpYnBlcmY6IEFkZCBjb21tZW50cyB0byBwZXJmX2NwdV9tYXAuCj4gICAg ICsgUmV2aWV3ZWQtYnk6IEpvaG4gR2FycnkgPGpvaG4uZ2FycnlAaHVhd2VpLmNvbT4KPiAgICAg KyBTaWduZWQtb2ZmLWJ5OiBBcm5hbGRvIENhcnZhbGhvIGRlIE1lbG8gPGFjbWVAcmVkaGF0LmNv bT4KPiAgICAgKyBMaW5rOiBodHRwczovL2xvcmUua2VybmVsLm9yZy9yLzIwMjIwMTA1MDYxMzUx LjEyMDg0My0yLWlyb2dlcnNAZ29vZ2xlLmNvbQo+IDxCSUcgU05JUD4KPiBDb3ZlcjogLi92NF8y MDIyMDEwNF9pcm9nZXJzX3JlZmFjdG9yX3BlcmZfY3B1bWFwLmNvdmVyCj4gIExpbms6IGh0dHBz Oi8vbG9yZS5rZXJuZWwub3JnL3IvMjAyMjAxMDUwNjEzNTEuMTIwODQzLTEtaXJvZ2Vyc0Bnb29n bGUuY29tCj4gIEJhc2U6IGFwcGxpZXMgY2xlYW4gdG8gY3VycmVudCB0cmVlCj4gICAgICAgIGdp dCBjaGVja291dCAtYiB2NF8yMDIyMDEwNF9pcm9nZXJzX2dvb2dsZV9jb20gSEVBRAo+ICAgICAg ICBnaXQgYW0gLi92NF8yMDIyMDEwNF9pcm9nZXJzX3JlZmFjdG9yX3BlcmZfY3B1bWFwLm1ieAo+ IAoKb29wczoKCiAgQ0MgICAgICAvdG1wL2J1aWxkL3BlcmYvdXRpbC91bndpbmQtbGlidW53aW5k LWxvY2FsLm8KdXRpbC9icGZfY291bnRlcl9jZ3JvdXAuYzogSW4gZnVuY3Rpb24g4oCYYnBlcmZf bG9hZF9wcm9ncmFt4oCZOgp1dGlsL2JwZl9jb3VudGVyX2Nncm91cC5jOjUxOjI2OiBlcnJvcjog aW5jb21wYXRpYmxlIHR5cGVzIHdoZW4gaW5pdGlhbGl6aW5nIHR5cGUg4oCYaW504oCZIHVzaW5n IHR5cGUg4oCYc3RydWN0IHBlcmZfY3B14oCZCiAgIDUxIHwgICAgICAgICBpbnQgdG90YWxfY3B1 cyA9IGNwdV9fbWF4X2NwdSgpOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+ fn5+fn5+fn4KdXRpbC9icGZfY291bnRlcl9jZ3JvdXAuYzoxMjc6NzQ6IGVycm9yOiBpbnZhbGlk IG9wZXJhbmRzIHRvIGJpbmFyeSArIChoYXZlIOKAmGludOKAmSBhbmQg4oCYc3RydWN0IHBlcmZf Y3B14oCZKQogIDEyNyB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX191MzIgaWR4 ID0gZXZzZWwtPmNvcmUuaWR4ICogdG90YWxfY3B1cyArCiAgICAgIHwgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ IF4KICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICB8CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50CiAgMTI4IHwgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIGV2bGlzdC0+Y29yZS5hbGxfY3B1cy0+bWFwW2NwdV07CiAg ICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn4KICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8CiAgICAgIHwgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg c3RydWN0IHBlcmZfY3B1CnV0aWwvYnBmX2NvdW50ZXJfY2dyb3VwLmM6IEluIGZ1bmN0aW9uIOKA mGJwZXJmX2NncnBfX3N5bmNfY291bnRlcnPigJk6CnV0aWwvYnBmX2NvdW50ZXJfY2dyb3VwLmM6 MjE1OjIzOiBlcnJvcjogaW5jb21wYXRpYmxlIHR5cGVzIHdoZW4gYXNzaWduaW5nIHRvIHR5cGUg 4oCYaW504oCZIGZyb20gdHlwZSDigJhzdHJ1Y3QgcGVyZl9jcHXigJkKICAyMTUgfCAgICAgICAg ICAgICAgICAgY3B1ID0gZXZsaXN0LT5jb3JlLmFsbF9jcHVzLT5tYXBbaV07CiAgICAgIHwgICAg ICAgICAgICAgICAgICAgICAgIF5+fn5+fgp1dGlsL2JwZl9jb3VudGVyX2Nncm91cC5jOiBJbiBm dW5jdGlvbiDigJhicGVyZl9jZ3JwX19yZWFk4oCZOgp1dGlsL2JwZl9jb3VudGVyX2Nncm91cC5j OjI0ODoyNjogZXJyb3I6IGluY29tcGF0aWJsZSB0eXBlcyB3aGVuIGluaXRpYWxpemluZyB0eXBl IOKAmGludOKAmSB1c2luZyB0eXBlIOKAmHN0cnVjdCBwZXJmX2NwdeKAmQogIDI0OCB8ICAgICAg ICAgaW50IHRvdGFsX2NwdXMgPSBjcHVfX21heF9jcHUoKTsKICAgICAgfCAgICAgICAgICAgICAg ICAgICAgICAgICAgXn5+fn5+fn5+fn5+CnV0aWwvYnBmX2NvdW50ZXJfY2dyb3VwLmM6Mjc1OjMx OiBlcnJvcjogaW5jb21wYXRpYmxlIHR5cGVzIHdoZW4gYXNzaWduaW5nIHRvIHR5cGUg4oCYaW50 4oCZIGZyb20gdHlwZSDigJhzdHJ1Y3QgcGVyZl9jcHXigJkKICAyNzUgfCAgICAgICAgICAgICAg ICAgICAgICAgICBjcHUgPSBldmxpc3QtPmNvcmUuYWxsX2NwdXMtPm1hcFtpXTsKICAgICAgfCAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn4KbWFrZVs0XTogKioqIFsvdmFyL2hv bWUvYWNtZS9naXQvcGVyZi90b29scy9idWlsZC9NYWtlZmlsZS5idWlsZDo5NzogL3RtcC9idWls ZC9wZXJmL3V0aWwvYnBmX2NvdW50ZXJfY2dyb3VwLm9dIEVycm9yIDEKbWFrZVs0XTogKioqIFdh aXRpbmcgZm9yIHVuZmluaXNoZWQgam9icy4uLi4KdXRpbC9icGZfY291bnRlci5jOiBJbiBmdW5j dGlvbiDigJhicGVyZl9fbG9hZOKAmToKdXRpbC9icGZfY291bnRlci5jOjU0MzozMTogZXJyb3I6 IGluY29tcGF0aWJsZSB0eXBlcyB3aGVuIGFzc2lnbmluZyB0byB0eXBlIOKAmF9fdTMy4oCZIHth a2Eg4oCYdW5zaWduZWQgaW504oCZfSBmcm9tIHR5cGUg4oCYc3RydWN0IHBlcmZfY3B14oCZCiAg NTQzIHwgICAgICAgICAgICAgICAgICAgICAgICAga2V5ID0gZXZzZWwtPmNvcmUuY3B1cy0+bWFw W2ldOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+CnV0aWwvYnBm X2NvdW50ZXIuYzogSW4gZnVuY3Rpb24g4oCYYnBlcmZfc3luY19jb3VudGVyc+KAmToKdXRpbC9i cGZfY291bnRlci5jOjU4NzoyMzogZXJyb3I6IGluY29tcGF0aWJsZSB0eXBlcyB3aGVuIGFzc2ln bmluZyB0byB0eXBlIOKAmGludOKAmSBmcm9tIHR5cGUg4oCYc3RydWN0IHBlcmZfY3B14oCZCiAg NTg3IHwgICAgICAgICAgICAgICAgIGNwdSA9IGFsbF9jcHVfbWFwLT5tYXBbaV07CiAgICAgIHwg ICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+CnV0aWwvYnBmX2NvdW50ZXIuYzogSW4g ZnVuY3Rpb24g4oCYYnBlcmZfX3JlYWTigJk6CnV0aWwvYnBmX2NvdW50ZXIuYzo2MDg6Mjk6IGVy cm9yOiBpbmNvbXBhdGlibGUgdHlwZXMgd2hlbiBpbml0aWFsaXppbmcgdHlwZSDigJhfX3UzMuKA mSB7YWthIOKAmHVuc2lnbmVkIGludOKAmX0gdXNpbmcgdHlwZSDigJhzdHJ1Y3QgcGVyZl9jcHXi gJkKICA2MDggfCAgICAgICAgIF9fdTMyIG51bV9jcHVfYnBmID0gY3B1X19tYXhfY3B1KCk7CiAg ICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fgpJbiBmaWxlIGlu Y2x1ZGVkIGZyb20gL3Zhci9ob21lL2FjbWUvZ2l0L3BlcmYvdG9vbHMvcGVyZi91dGlsL2NwdW1h cC5oOjgsCiAgICAgICAgICAgICAgICAgZnJvbSAvdmFyL2hvbWUvYWNtZS9naXQvcGVyZi90b29s cy9wZXJmL3V0aWwvZW52Lmg6NywKICAgICAgICAgICAgICAgICBmcm9tIHV0aWwvY2dyb3VwLmg6 OCwKICAgICAgICAgICAgICAgICBmcm9tIHV0aWwvYnBmX2NvdW50ZXIuYzoyMjoKL3Zhci9ob21l L2FjbWUvZ2l0L3BlcmYvdG9vbHMvbGliL3BlcmYvaW5jbHVkZS9wZXJmL2NwdW1hcC5oOjI1OjMz OiBlcnJvcjogaW5jb21wYXRpYmxlIHR5cGVzIHdoZW4gYXNzaWduaW5nIHRvIHR5cGUg4oCYX191 MzLigJkge2FrYSDigJh1bnNpZ25lZCBpbnTigJl9IGZyb20gdHlwZSDigJhzdHJ1Y3QgcGVyZl9j cHXigJkKICAgMjUgfCAgICAgICAgIGZvciAoKGlkeCkgPSAwLCAoY3B1KSA9IHBlcmZfY3B1X21h cF9fY3B1KGNwdXMsIGlkeCk7ICAgXAogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgXn5+fn5+fn5+fn5+fn5+fn4KdXRpbC9icGZfY291bnRlci5jOjYyNjoyNTogbm90ZTog aW4gZXhwYW5zaW9uIG9mIG1hY3JvIOKAmHBlcmZfY3B1X21hcF9fZm9yX2VhY2hfY3B14oCZCiAg NjI2IHwgICAgICAgICAgICAgICAgICAgICAgICAgcGVyZl9jcHVfbWFwX19mb3JfZWFjaF9jcHUo Y3B1LCBqLCBhbGxfY3B1X21hcCkgewogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgIF5+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci92YXIvaG9tZS9hY21lL2dpdC9wZXJmL3Rvb2xzL2xp Yi9wZXJmL2luY2x1ZGUvcGVyZi9jcHVtYXAuaDoyNjoyMDogZXJyb3I6IGNvbXBhcmlzb24gb2Yg aW50ZWdlciBleHByZXNzaW9ucyBvZiBkaWZmZXJlbnQgc2lnbmVkbmVzczog4oCYX191MzLigJkg e2FrYSDigJh1bnNpZ25lZCBpbnTigJl9IGFuZCDigJhpbnTigJkgWy1XZXJyb3I9c2lnbi1jb21w YXJlXQogICAyNiB8ICAgICAgICAgICAgICAoaWR4KSA8IHBlcmZfY3B1X21hcF9fbnIoY3B1cyk7 ICAgICAgICAgICAgICAgICAgICBcCiAgICAgIHwgICAgICAgICAgICAgICAgICAgIF4KdXRpbC9i cGZfY291bnRlci5jOjYyNjoyNTogbm90ZTogaW4gZXhwYW5zaW9uIG9mIG1hY3JvIOKAmHBlcmZf Y3B1X21hcF9fZm9yX2VhY2hfY3B14oCZCiAgNjI2IHwgICAgICAgICAgICAgICAgICAgICAgICAg cGVyZl9jcHVfbWFwX19mb3JfZWFjaF9jcHUoY3B1LCBqLCBhbGxfY3B1X21hcCkgewogICAgICB8 ICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci92YXIv aG9tZS9hY21lL2dpdC9wZXJmL3Rvb2xzL2xpYi9wZXJmL2luY2x1ZGUvcGVyZi9jcHVtYXAuaDoy NzozMTogZXJyb3I6IGluY29tcGF0aWJsZSB0eXBlcyB3aGVuIGFzc2lnbmluZyB0byB0eXBlIOKA mF9fdTMy4oCZIHtha2Eg4oCYdW5zaWduZWQgaW504oCZfSBmcm9tIHR5cGUg4oCYc3RydWN0IHBl cmZfY3B14oCZCiAgIDI3IHwgICAgICAgICAgICAgIChpZHgpKyssIChjcHUpID0gcGVyZl9jcHVf bWFwX19jcHUoY3B1cywgaWR4KSkKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBefn5+fn5+fn5+fn5+fn5+fgp1dGlsL2JwZl9jb3VudGVyLmM6NjI2OjI1OiBub3RlOiBpbiBl eHBhbnNpb24gb2YgbWFjcm8g4oCYcGVyZl9jcHVfbWFwX19mb3JfZWFjaF9jcHXigJkKICA2MjYg fCAgICAgICAgICAgICAgICAgICAgICAgICBwZXJmX2NwdV9tYXBfX2Zvcl9lYWNoX2NwdShjcHUs IGosIGFsbF9jcHVfbWFwKSB7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn4KdXRpbC9icGZfY291bnRlci5jOjYzMzozMTogZXJyb3I6IGlu Y29tcGF0aWJsZSB0eXBlcyB3aGVuIGFzc2lnbmluZyB0byB0eXBlIOKAmF9fdTMy4oCZIHtha2Eg 4oCYdW5zaWduZWQgaW504oCZfSBmcm9tIHR5cGUg4oCYc3RydWN0IHBlcmZfY3B14oCZCiAgNjMz IHwgICAgICAgICAgICAgICAgICAgICAgICAgY3B1ID0gZXZzZWwtPmNvcmUuY3B1cy0+bWFwW2ld OwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+CnV0aWwvYnBmX2Nv dW50ZXIuYzo2MTE6MjE6IGVycm9yOiB1bnVzZWQgdmFyaWFibGUg4oCYbnVtX2NwdeKAmSBbLVdl cnJvcj11bnVzZWQtdmFyaWFibGVdCiAgNjExIHwgICAgICAgICBfX3UzMiBpLCBqLCBudW1fY3B1 OwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fgpjYzE6IGFsbCB3YXJuaW5ncyBi ZWluZyB0cmVhdGVkIGFzIGVycm9ycwptYWtlWzRdOiAqKiogWy92YXIvaG9tZS9hY21lL2dpdC9w ZXJmL3Rvb2xzL2J1aWxkL01ha2VmaWxlLmJ1aWxkOjk2OiAvdG1wL2J1aWxkL3BlcmYvdXRpbC9i cGZfY291bnRlci5vXSBFcnJvciAxCnV0aWwvYnBmX2Z0cmFjZS5jOiBJbiBmdW5jdGlvbiDigJhw ZXJmX2Z0cmFjZV9fbGF0ZW5jeV9wcmVwYXJlX2JwZuKAmToKdXRpbC9icGZfZnRyYWNlLmM6NjY6 MzE6IGVycm9yOiBpbXBsaWNpdCBkZWNsYXJhdGlvbiBvZiBmdW5jdGlvbiDigJhjcHVfbWFwX19j cHXigJk7IGRpZCB5b3UgbWVhbiDigJhjcHVfX21heF9jcHXigJk/IFstV2Vycm9yPWltcGxpY2l0 LWZ1bmN0aW9uLWRlY2xhcmF0aW9uXQogICA2NiB8ICAgICAgICAgICAgICAgICAgICAgICAgIGNw dSA9IGNwdV9tYXBfX2NwdShmdHJhY2UtPmV2bGlzdC0+Y29yZS5jcHVzLCBpKTsKICAgICAgfCAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn4KICAgICAgfCAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBjcHVfX21heF9jcHUKdXRpbC9icGZfZnRyYWNlLmM6IElu IGZ1bmN0aW9uIOKAmHBlcmZfZnRyYWNlX19sYXRlbmN5X3JlYWRfYnBm4oCZOgp1dGlsL2JwZl9m dHJhY2UuYzoxMjU6MjE6IGVycm9yOiBpbmNvbXBhdGlibGUgdHlwZXMgd2hlbiBpbml0aWFsaXpp bmcgdHlwZSDigJhpbnTigJkgdXNpbmcgdHlwZSDigJhzdHJ1Y3QgcGVyZl9jcHXigJkKICAxMjUg fCAgICAgICAgIGludCBuY3B1cyA9IGNwdV9fbWF4X2NwdSgpOwogICAgICB8ICAgICAgICAgICAg ICAgICAgICAgXn5+fn5+fn5+fn5+CmNjMTogYWxsIHdhcm5pbmdzIGJlaW5nIHRyZWF0ZWQgYXMg ZXJyb3JzCm1ha2VbNF06ICoqKiBbL3Zhci9ob21lL2FjbWUvZ2l0L3BlcmYvdG9vbHMvYnVpbGQv TWFrZWZpbGUuYnVpbGQ6OTY6IC90bXAvYnVpbGQvcGVyZi91dGlsL2JwZl9mdHJhY2Uub10gRXJy b3IgMQogIExEICAgICAgL3RtcC9idWlsZC9wZXJmL3V0aWwvaW50ZWwtcHQtZGVjb2Rlci9wZXJm LWluLm8KICBMRCAgICAgIC90bXAvYnVpbGQvcGVyZi91dGlsL3NjcmlwdGluZy1lbmdpbmVzL3Bl cmYtaW4ubwptYWtlWzNdOiAqKiogWy92YXIvaG9tZS9hY21lL2dpdC9wZXJmL3Rvb2xzL2J1aWxk L01ha2VmaWxlLmJ1aWxkOjEzOTogdXRpbF0gRXJyb3IgMgptYWtlWzJdOiAqKiogW01ha2VmaWxl LnBlcmY6NjY1OiAvdG1wL2J1aWxkL3BlcmYvcGVyZi1pbi5vXSBFcnJvciAyCm1ha2VbMl06ICoq KiBXYWl0aW5nIGZvciB1bmZpbmlzaGVkIGpvYnMuLi4uCm1ha2VbMV06ICoqKiBbTWFrZWZpbGUu cGVyZjoyNDA6IHN1Yi1tYWtlXSBFcnJvciAyCm1ha2U6ICoqKiBbTWFrZWZpbGU6MTEzOiBpbnN0 YWxsLWJpbl0gRXJyb3IgMgptYWtlOiBMZWF2aW5nIGRpcmVjdG9yeSAnL3Zhci9ob21lL2FjbWUv Z2l0L3BlcmYvdG9vbHMvcGVyZicKCiBQZXJmb3JtYW5jZSBjb3VudGVyIHN0YXRzIGZvciAnbWFr ZSAtayBCVUlMRF9CUEZfU0tFTD0xIENPUkVTSUdIVD0xIFBZVEhPTj1weXRob24zIE89L3RtcC9i dWlsZC9wZXJmIC1DIHRvb2xzL3BlcmYgaW5zdGFsbC1iaW4nOgoKICAgMjc5LDY3NSw0NDcsMjAw ICAgICAgY3ljbGVzOnUKICAgMzQ4LDg5OCw0MzUsNjI3ICAgICAgaW5zdHJ1Y3Rpb25zOnUgICAg ICAgICAgICAjICAgIDEuMjUgIGluc24gcGVyIGN5Y2xlCgogICAgICAgNC45Nzg1ODc5NTcgc2Vj b25kcyB0aW1lIGVsYXBzZWQKCiAgICAgIDY4LjY5ODk3OTAwMCBzZWNvbmRzIHVzZXIKICAgICAg MTIuNTQxMjI5MDAwIHNlY29uZHMgc3lzCgoK4qyiW2FjbWVAdG9vbGJveCBwZXJmXSQKClRoaXMg aXMgYnVpbGRpbmcgd2l0aDoKCiQgbWFrZSBCVUlMRF9CUEZfU0tFTD0xIENPUkVTSUdIVD0xIFBZ VEhPTj1weXRob24zIE89L3RtcC9idWlsZC9wZXJmIC1DIHRvb2xzL3BlcmYgaW5zdGFsbC1iaW4K CgpJbiBnZW5lcmFsIGZvciBzdWNoIHJlZmFjdG9yaW5ncyBpdHMgaW1wb3J0YW50IHRvIHJ1bjoK Cm1ha2UgLUMgdG9vbHMvcGVyZiBidWlsZC10ZXN0CgoKQnV0IHRoZXJlIGlzIG5vIGVudHJ5IHRo ZXJlIHdpdGggQlVJTERfQlBGX1NLRUw9MSwgd2lsbCBmaXggdGhhdCBub3cgYW5kCnRyeSB0byBm aXggdGhpcyBpbiB0aGUgcGF0Y2hraXQgYXMgd2VsbC4KCi0gQXJuYWxkbwoKX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KbGludXgtYXJtLWtlcm5lbCBtYWls aW5nIGxpc3QKbGludXgtYXJtLWtlcm5lbEBsaXN0cy5pbmZyYWRlYWQub3JnCmh0dHA6Ly9saXN0 cy5pbmZyYWRlYWQub3JnL21haWxtYW4vbGlzdGluZm8vbGludXgtYXJtLWtlcm5lbAo=