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 990BDC54791 for ; Wed, 13 Mar 2024 11:23:28 +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:MIME-Version:Message-ID:Date:References :In-Reply-To:Subject:Cc:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=TBEMFEwNiFWzI6k0Fp/iCwGLunR8UfWMQy5RArDkYGg=; b=wBn/1W3lAYSYZ8 T0wEKXNjUUPuNyboDhPmJUzBtl+dLN1yA1i5bpclbcrFzB3P+ozWKTzpnWXkrk0RsMzEKO4QPotLF nO57btc4kQ5s81EFpBpi4GCLERCHENsHSZR5imZZo/z7xRMCl5UMMOwzLL4I2oJZvEuMjkb20TFD+ j622yKJ7fNEZPrcPKXycm9S77T7nKLBK45sFrej5M3+amJAjGpy38ytqeaKg3TSBvxhaMq5t+f7gq REiiKB/80FFoywxzmKBUTE4x3h5ajuEmc4OFDYKMKXfaXCm14W9yj6G4IvWiNeuCVhnMUVawbFQhp /7wo9ibsZoA8CLvv474g==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.97.1 #2 (Red Hat Linux)) id 1rkMhg-00000009uCl-2ZEl; Wed, 13 Mar 2024 11:23:24 +0000 Received: from dfw.source.kernel.org ([139.178.84.217]) by bombadil.infradead.org with esmtps (Exim 4.97.1 #2 (Red Hat Linux)) id 1rkMhd-00000009uBV-2W7U for linux-riscv@lists.infradead.org; Wed, 13 Mar 2024 11:23:23 +0000 Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by dfw.source.kernel.org (Postfix) with ESMTP id B4D286141C; Wed, 13 Mar 2024 11:23:20 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id EB280C43142; Wed, 13 Mar 2024 11:23:15 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1710329000; bh=ky5paA1va6E/CB36kmKyUjj55I5Een4JO/KffX7kyUw=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From; b=fBd4F6YzojExJlnfzCYHDFtrR/a1ZSZmUkbTjObXd3K8AhMykeUsIoiXxW6pmSu4R 1ScK2MPSbm3BqIdwYBu0eCZmJP+P+r+xNLfWtsFneiOeC2L8BY6oHE1lVwYi6/gqs3 yANcB+zEVO6khJF/7W/gkb5jMFMq91QzOBneywVPWPp9E3ryWBRNx57HUjIa4OfAUz hKMdyha3G7KcKATqDCtadxLFa4gS8au6cHxFOxA71VUwIKGoThcaaW+iKPL5J78qKd 8+oX6nBrhECAmqZG22RkOaTOgJm5FVwttpqsRwrYZCQksK08UIzmUfjLdWibmi2YcY 5s/mrfR62XSqA== From: =?utf-8?B?QmrDtnJuIFTDtnBlbA==?= To: Mark Rutland Cc: Puranjay Mohan , Paul Walmsley , Palmer Dabbelt , Albert Ou , Steven Rostedt , Masami Hiramatsu , Sami Tolvanen , Guo Ren , Ley Foon Tan , Deepak Gupta , Sia Jee Heng , Bj"orn T"opel , Song Shuai , Cl'ement L'eger , Al Viro , Jisheng Zhang , linux-riscv@lists.infradead.org, linux-kernel@vger.kernel.org, linux-trace-kernel@vger.kernel.org, Andy Chiu Subject: Re: [RFC PATCH] riscv: Implement HAVE_DYNAMIC_FTRACE_WITH_CALL_OPS In-Reply-To: References: <20240306165904.108141-1-puranjay12@gmail.com> <87ttlhdeqb.fsf@all.your.base.are.belong.to.us> Date: Wed, 13 Mar 2024 12:23:06 +0100 Message-ID: <8734suqsth.fsf@all.your.base.are.belong.to.us> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20240313_042321_769773_1B067E9E X-CRM114-Status: GOOD ( 35.61 ) 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 TWFyayBSdXRsYW5kIDxtYXJrLnJ1dGxhbmRAYXJtLmNvbT4gd3JpdGVzOgoKPiBIaSBCam9ybgo+ Cj4gKGFwb2xvZ2llcywgbXkgY29ycG9yYXRlIG1haWwgc2VydmVyIGhhcyBidXRjaGVyZWQgeW91 ciBuYW1lIGhlcmUpLgoKSGEhIFRoYXQncyB0aGUgcHJpY2UgSSBoYXZlIHRvIHBheSBmb3IgY2Fy cnlpbmcgZG91YmxlLXVtbGF1dHMKZXZlcnl3aGVyZS4gVGhhbmtzIGZvciBnZXR0aW5nIGJhY2sg d2l0aCBhIHJlYWxseSB1c2VmdWwgYW5zd2VyIQoKPj4gT24gQXJtNjQsIENBTExfT1BTIG1ha2Vz IGl0IHBvc3NpYmxlIHRvIGltcGxlbWVudCBkaXJlY3QgY2FsbHMsIHdoaWxlCj4+IG9ubHkgcGF0 Y2hpbmcgb25lIEJMIGluc3RydWN0aW9uIC0tIG5pY2UhCj4KPiBUaGUga2V5IHRoaW5nIGhlcmUg aXNuJ3QgdGhhdCB3ZSBwYXRjaCBhIHNpbmdsZSBpbnN0cnVjdGlvbiAoc2luY2Ugd2UgaGF2ZSBv dAo+IHBhdGNoIHRoZSBvcHMgcG9pbnRlciB0b28hKTsgaXQncyB0aGF0IHdlIGNhbiBzYWZlbHkg cGF0Y2ggZWl0aGVyIG9mIHRoZSBvcHMKPiBwb2ludGVyIG9yIEJML05PUCBhdCBhbnkgdGltZSB3 aGlsZSB0aHJlYWRzIGFyZSBjb25jdXJyZW50bHkgZXhlY3V0aW5nLgoKLi4ud2hpY2ggaW5kZWVk IGlzIGEgdmVyeSBuaWNlIHByb3BlcnR5IQoKPiBJZiB5b3UgaGF2ZSBhIG11bHRpLWluc3RydWN0 aW9uIHNlcXVlbmNlLCB0aGVuIHRocmVhZHMgY2FuIGJlIHByZWVtcHRlZAo+IG1pZC1zZXF1ZW5j ZSwgYW5kIGl0J3MgdmVyeSBwYWluZnVsL2NvbXBsZXggdG8gaGFuZGxlIGFsbCBvZiB0aGUgcmFj ZXMgdGhhdAo+IGVudGFpbHMuCgpPaCB5ZXMuIFJJU0MtViBpcyBjdXJyZW50bHkgdXNpbmcgYXVp cGMvamFsciB3aXRoIHN0b3BfbWFjaGluZSgpLCBhbmQKYWxzbyByZXF1aXJlcyB0aGF0IHByZWVt dGlvbiBpcyBvZmYuIFVudXNhYmxlIHRvIHB1dCBpdCBibHVudC4KCj4gRm9yIGV4YW1wbGUsIGlm IHlvdXIgY2FsbHNpdGVzIHVzZSBhIHNlcXVlbmNlOgo+Cj4gCUFVSVBDIDx0bXA+LCA8ZnVuY3B0 cj4KPiAJSkFMUiA8dG1wMj4sIDxmdW5jcHRyPig8dG1wPikKPgo+IFVzaW5nIHN0b3BfbWFjaGlu ZSgpIHdvbid0IGFsbG93IHlvdSB0byBwYXRjaCB0aGF0IHNhZmVseSBhcyBzb21lIHRocmVhZHMK PiBjb3VsZCBiZSBzdHVjayBtaWQtc2VxdWVuY2UsIGUuZy4KPgo+IAlBVUlQQyA8dG1wPiwgPGZ1 bmNwdHI+Cj4gCVsgcHJlZW1wdGVkIGhlcmUgXQo+IAlKQUxSIDx0bXAyPiwgPGZ1bmNwdHI+KDx0 bXA+KQo+Cj4gLi4uIGFuZCB5b3UgY2FuJ3QgdXBkYXRlIHRoZSBKQUxSIHRvIHVzZSBhIG5ldyBm dW5jcHRyIGltbWVkaWF0ZSB1bnRpbCB0aG9zZQo+IGhhdmUgY29tcGxldGVkIHRoZSBzZXF1ZW5j ZS4KPgo+IFRoZXJlIGFyZSB3YXlzIGFyb3VuZCB0aGF0LCBidXQgdGhleSdyZSBjb21wbGljYXRl ZCBhbmQvb3IgZXhwZW5zaXZlLCBlLmcuCj4KPiAqIFVzZSBhIHNlcXVlbmNlIG9mIG11bHRpcGxl IHBhdGNoZXMsIHN0YXJ0aW5nIHdpdGggcmVwbGFjaW5nIHRoZSBKQUxSIHdpdGggYW4KPiAgIGV4 Y2VwdGlvbi1nZW5lcmF0aW5nIGluc3RydWN0aW9uIHdpdGggYSBmaXh1cCBoYW5kbGVyLCB3aGlj aCBpcyBzb3J0LW9mIHdoYXQKPiAgIHg4NiBkb2VzIHdpdGggVUQyLiBUaGlzIG1heSByZXF1aXJl IG11bHRpcGxlIHBhc3NlcyB3aXRoCj4gICBzeW5jaHJvbml6ZV9yY3VfdGFza3MoKSB0byBtYWtl IHN1cmUgYWxsIHRocmVhZHMgaGF2ZSBzZWVuIHRoZSBsYXRlc3QKPiAgIGluc3RydWN0aW9ucywg YW5kIHRoYXQgY2Fubm90IGJlIGRvbmUgdW5kZXIgc3RvcF9tYWNoaW5lKCksIHNvIGlmIHlvdSBu ZWVkCj4gICBzdG9wX21hY2hpbmUoKSBmb3IgQ01PRHggcmVhc29ucywgeW91IG1heSBuZWVkIHRv IHVzZSB0aGF0IHNldmVyYWwgdGltZXMgd2l0aAo+ICAgaW50ZXJ2ZW5pbmcgY2FsbHMgdG8gc3lu Y2hyb25pemVfcmN1X3Rhc2tzKCkuCj4KPiAqIEhhdmUgdGhlIHBhdGNoaW5nIGxvZ2ljIG1hbnVh bGx5IGdvIG92ZXIgZWFjaCB0aHJlYWQgYW5kIGZpeCB1cCB0aGUgcHRfcmVncwo+ICAgZm9yIHRo ZSBpbnRlcnJ1cHRlZCB0aHJlYWQuIFRoaXMgaXMgcHJldHR5IGhvcnJpZCBzaW5jZSB5b3UgY291 bGQgaGF2ZSBuZXN0ZWQKPiAgIGV4Y2VwdGlvbnMgYW5kIGEgdGFzayBjb3VsZCBoYXZlIHNldmVy YWwgcHRfcmVncyB3aGljaCBtaWdodCByZXF1aXJlCj4gICB1cGRhdGluZy4KCll1cCwgYW5kIGJv dGggb2YgdGhlc2UgaGF2ZSByYXRoZXIgdW5wbGVzYW50IG92ZXJoZWFkLgoKPiBUaGUgQ0FMTF9P UFMgYXBwcm9hY2ggaXMgYSBiaXQgZWFzaWVyIHRvIGRlYWwgd2l0aCBhcyB3ZSBjYW4gcGF0Y2gg dGhlCj4gcGVyLWNhbGxzaXRlIHBvaW50ZXIgYXRvbWljYWxseSwgdGhlbiB3ZSBjYW4gKHBvc3Np Ymx5KSBlbmFibGUvZGlzYWJsZSB0aGUKPiBjYWxsc2l0ZSdzIGJyYW5jaCwgdGhlbiB3YWl0IGZv ciB0aHJlYWRzIHRvIGRyYWluIG9uY2UuIAo+Cj4gQXMgYSBoZWFkcy11cCwgdGhlcmUgYXJlIHNv bWUgbGF0ZW50L2dlbmVyaWMgaXNzdWVzIHdpdGggRFlOQU1JQ19GVFJBQ0UKPiBnZW5lcmFsbHkg aW4gdGhpcyBhcmVhIChDQUxMX09QcyBoYXBwZW5zIHRvIHNpZGUtc3RlcCB0aG9zZSwgYnV0IHRy YW1wb2xpbmUKPiB1c2FnZSBpcyBjdXJyZW50bHkgYWZmZWN0ZWQpOgo+Cj4gICBodHRwczovL2xv cmUua2VybmVsLm9yZy9sa21sL1plbnhfUTBVaXdNYlNBZFBARlZGRjc3UzBRMDVOLwo+Cj4gLi4u IEknbSBsb29raW5nIGludG8gZml4aW5nIHRoYXQgYXQgdGhlIG1vbWVudCwgYW5kIGl0IGxvb2tz IGxpa2UgdGhhdCdzIGxpa2VseQo+IHRvIHJlcXVpcmUgc29tZSBwZXItYXJjaGl0ZWN0dXJlIGNo YW5nZXMuCj4KPj4gT24gUklTQy1WIHdlIGNhbm5vdCB1c2UgdXNlIHRoZSBzYW1lIGlkZWFzIGFz IEFybTY0IHN0cmFpZ2h0IG9mZiwKPj4gYmVjYXVzZSB0aGUgcmFuZ2Ugb2YgamFsIChjb21wYXJl IHRvIEJMKSBpcyBzaW1wbHkgdG9vIHNob3J0ICgrLy0xTSkuCj4+IFNvLCBvbiBSSVNDLVYgd2Ug bmVlZCB0byB1c2UgYSBmdWxsIGF1aXBjL2phbCBwYWlyICh0aGUgdGV4dCBwYXRjaGluZwo+PiBz dG9yeSBpcyBhbm90aGVyIGNoYXB0ZXIsIGJ1dCBsZXQncyBsZWF2ZSB0aGF0IGFzaWRlIGZvciBu b3cpLiBTaW5jZSB3ZQo+PiBoYXZlIHRvIHBhdGNoIG11bHRpcGxlIGluc3RydWN0aW9ucywgdGhl IGNtb2R4IHNpdHVhdGlvbiBkb2Vzbid0IHJlYWxseQo+PiBpbXByb3ZlIHdpdGggQ0FMTF9PUFMu Cj4KPiBUaGUgYnJhbmNoIHJhbmdlIHRoaW5nIGlzIGFubm95aW5nLCBidXQgSSB0aGluayB0aGlz IGJvaWxzIGRvd24gdG8gdGhlIHNhbWUKPiBwcm9ibGVtIGFzIGFybTY0IGhhcyB3aXRoIG5lZWRp bmcgYSAiTU9WIDx0bXA+LCBMUiIgaW5zdHJ1Y3Rpb24gdGhhdCB3ZSBoYXZlIHRvCj4gcGF0Y2gg aW4gb25jZSBhdCBib290IHRpbWUuIFlvdSBjb3VsZCBkbyB0aGUgc2FtZSBhbmQgcGF0Y2ggaW4g dGhlIEFVSVBDIG9uY2UsCj4gZS5nLiBoYXZlCj4KPiB8IAlOT1AKPiB8IAlOT1AgCj4gfCBmdW5j Ogo+IHwgCUFVSVBDIDx0bXA+LCA8Y29tbW9uX2Z0cmFjZV9jYWxsZXI+Cj4gfCAJSkFMUiA8dG1w Mj4sIDxjb21tb25fZnRyYWNlX2NhbGxlcj4oPHRtcD4pIC8vIHBhdGNoZWQgd2l0aCBOT1AKPgo+ IC4uLiB3aGljaCdkIGxvb2sgdmVyeSBzaW1pbGFyIHRvIGFybTY0J3Mgc2VxdWVuY2U6Cj4KPiB8 IAlOT1AKPiB8IAlOT1AKPiB8IGZ1bmM6Cj4gfCAJTU9WIFg5LCBMUgo+IHwgCUJMIGZ0cmFjZV9j YWxsZXIgLy8gcGF0Y2hlZCB3aXRoIE5PUAo+Cj4gLi4uIHdoaWNoIEkgdGhpbmsgbWVhbnMgaXQg Km1pZ2h0KiBiZSBiZXR0ZXIgZnJvbSBhIGNtb2R4IHBlcnNwZWN0aXZlPwo+Cj4+IExldCdzIHNh eSB0aGF0IHdlIGNvbnRpbnVlIGJ1aWxkaW5nIG9uIHlvdXIgcGF0Y2ggYW5kIGltcGxlbWVudCBk aXJlY3QKPj4gY2FsbHMgb24gQ0FMTF9PUFMgZm9yIFJJU0MtViBhcyB3ZWxsLgo+PiAKPj4gRnJv bSBGbG9yZW50J3MgY29tbWl0IG1lc3NhZ2UgZm9yIGRpcmVjdCBjYWxsczoKPj4gCj4+ICAgfCAg ICBUaGVyZSBhcmUgYSBmZXcgY2FzZXMgdG8gZGlzdGluZ3Vpc2g6Cj4+ICAgfCAgICAtIElmIGEg ZGlyZWN0IGNhbGwgb3BzIGlzIHRoZSBvbmx5IG9uZSB0cmFjaW5nIGEgZnVuY3Rpb246Cj4+ICAg fCAgICAgIC0gSWYgdGhlIGRpcmVjdCBjYWxsZWQgdHJhbXBvbGluZSBpcyB3aXRoaW4gdGhlIHJl YWNoIG9mIGEgQkwKPj4gICB8ICAgICAgICBpbnN0cnVjdGlvbgo+PiAgIHwgICAgICAgICAtPiB0 aGUgZnRyYWNlIHBhdGNoc2l0ZSBqdW1wcyB0byB0aGUgdHJhbXBvbGluZQo+PiAgIHwgICAgICAt IEVsc2UKPj4gICB8ICAgICAgICAgLT4gdGhlIGZ0cmFjZSBwYXRjaHNpdGUganVtcHMgdG8gdGhl IGZ0cmFjZV9jYWxsZXIgdHJhbXBvbGluZSB3aGljaAo+PiAgIHwgICAgICAgICAgICByZWFkcyB0 aGUgb3BzIHBvaW50ZXIgaW4gdGhlIHBhdGNoc2l0ZSBhbmQganVtcHMgdG8gdGhlIGRpcmVjdAo+ PiAgIHwgICAgICAgICAgICBjYWxsIGFkZHJlc3Mgc3RvcmVkIGluIHRoZSBvcHMKPj4gICB8ICAg IC0gRWxzZQo+PiAgIHwgICAgICAtPiB0aGUgZnRyYWNlIHBhdGNoc2l0ZSBqdW1wcyB0byB0aGUg ZnRyYWNlX2NhbGxlciB0cmFtcG9saW5lIGFuZCBpdHMKPj4gICB8ICAgICAgICAgb3BzIGxpdGVy YWwgcG9pbnRzIHRvIGZ0cmFjZV9saXN0X29wcyBzbyBpdCBpdGVyYXRlcyBvdmVyIGFsbAo+PiAg IHwgICAgICAgICByZWdpc3RlcmVkIGZ0cmFjZSBvcHMsIGluY2x1ZGluZyB0aGUgZGlyZWN0IGNh bGwgb3BzIGFuZCBjYWxscyBpdHMKPj4gICB8ICAgICAgICAgY2FsbF9kaXJlY3RfZnVuY3MgaGFu ZGxlciB3aGljaCBzdG9yZXMgdGhlIGRpcmVjdCBjYWxsZWQKPj4gICB8ICAgICAgICAgdHJhbXBv bGluZSdzIGFkZHJlc3MgaW4gdGhlIGZ0cmFjZV9yZWdzIGFuZCB0aGUgZnRyYWNlX2NhbGxlcgo+ PiAgIHwgICAgICAgICB0cmFtcG9saW5lIHdpbGwgcmV0dXJuIHRvIHRoYXQgYWRkcmVzcyBpbnN0 ZWFkIG9mIHJldHVybmluZyB0byB0aGUKPj4gICB8ICAgICAgICAgdHJhY2VkIGZ1bmN0aW9uCj4+ IAo+PiBPbiBSSVNDLVYsIHdoZXJlIGF1aXBjL2phbHIgaXMgdXNlZCwgdGhlIGRpcmVjdCBjYWxs ZWQgdHJhbXBvbGluZSB3b3VsZAo+PiBhbHdheXMgYmUgcmVhY2hhYmxlLCBhbmQgdGhlbiBmaXJz dCBFbHNlLWNsYXVzZSB3b3VsZCBuZXZlciBiZSBlbnRlcmVkLgo+PiBUaGlzIG1lYW5zIHRoZSB0 aGUgcGVyZm9ybWFuY2UgZm9yIGRpcmVjdCBjYWxscyB3b3VsZCBiZSB0aGUgc2FtZSBhcyB0aGUK Pj4gb25lIHdlIGhhdmUgdG9kYXkgKGkuZS4gbm8gcmVncmVzc2lvbiEpLgo+PiAKPj4gUklTQy1W IGRvZXMgbGlrZSB4ODYgZG9lcyAoLWlzaCkgLS0gcGF0Y2ggbXVsdGlwbGUgaW5zdHJ1Y3Rpb25z LCBsb25nCj4+IHJlYWNoLgo+PiAKPj4gQXJtNjQgdXNlcyBDQUxMX09QUyBhbmQgcGF0Y2ggb25l IGluc3RydWN0aW9uIEJMLgo+PiAKPj4gTm93LCB3aXRoIHRoaXMgYmFja2dyb3VuZCBpbiBtaW5k LCBjb21wYXJlZCB0byB3aGF0IHdlIGhhdmUgdG9kYXksCj4+IENBTExfT1BTIHdvdWxkIGdpdmUg dXMgKGFnYWluIGFzc3VtaW5nIHdlJ3JlIHVzaW5nIGl0IGZvciBkaXJlY3QgY2FsbHMpOgo+PiAK Pj4gKiBCZXR0ZXIgcGVyZm9ybWFuY2UgZm9yIHRyYWNlciBwZXItY2FsbCAoZmFzdGVyIG9wcyBs b29rdXApIEdPT0QKPj4gKiBMYXJnZXIgdGV4dCBzaXplIChmdW5jdGlvbiBhbGlnbm1lbnQgKyBl eHRyYSBub3BzKSBCQUQKPj4gKiBTYW1lIGRpcmVjdCBjYWxsIHBlcmZvcm1hbmNlIE5FVVRSQUwK Pj4gKiBTYW1lIGNvbXBsaWNhdGVkIHRleHQgcGF0Y2hpbmcgcmVxdWlyZWQgTkVVVFJBTAo+Cj4g SXMgeW91ciBjdXJyZW50IHNlcXVlbmNlIHNhZmUgZm9yIHByZWVtcHRpYmxlIGtlcm5lbHMgKGku ZS4gd2l0aCBQUkVFTVBUX0ZVTEw9eQo+IG9yIFBSRUVNUFRfRFlOQU1JQz15ICsgInByZWVtcHQ9 ZnVsbCIgb24gdGhlIGtlcm5lbCBjbWRsaW5lKSA/CgpJdCdzIHZlcnkgbXVjaCBub3QsIGFuZCB3 YXMgaW4tZmFjdCBwcmVzZW50ZWQgYnkgQW5keSAoQ2MpIGRpc2N1c3NlZCBhdApsZW5ndGggYXQg UGx1bWJlcnMgdHdvIHllYXJzIGJhY2suCgpIbW0sIGRlcGVuZGluZyBvbiBSSVNDLVYncyBDTU9E WCBwYXRoLCB0aGUgcHJvL2NvbnMgQ0FMTF9PUFMgdnMgZHluYW1pYwp0cmFtcG9saW5lcyBjaGFu Z2VzIHF1aXRlIGEgYml0LgoKVGhlIG1vcmUgSSBsb29rIGF0IHRoZSBwYWlucyBvZiBwYXRjaGlu ZyB0d28gaW5zdHJ1Y3Rpb24gKCJzcGxpdAppbW1lZGlhdGVzIiksIHRoZSBiZXR0ZXIgInBhdGNo IGRhdGEiICsgb25lIGluc24gcGF0Y2hpbmcgbG9vay4KCkkgd2hpY2ggd2UgaGFkIGxvbmdlciBp bnN0cnVjdGlvbnMsIHRoYXQgY291bGQgZml0IGEgNDhiIGFkZHJlc3Mgb3IKbW9yZSEgOy0pCgoK QWdhaW4sIHRoYW5rcyBmb3IgYSB0aG91Z2h0IHByb3Zva2luZyByZXBseSEKQmrDtnJuCgpfX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpsaW51eC1yaXNjdiBt YWlsaW5nIGxpc3QKbGludXgtcmlzY3ZAbGlzdHMuaW5mcmFkZWFkLm9yZwpodHRwOi8vbGlzdHMu aW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2xpbnV4LXJpc2N2Cg==