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 C0449CD11C2 for ; Wed, 10 Apr 2024 21:18:12 +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:References:In-reply-to:Message-id:Date: Subject:Cc:To:From:MIME-version:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=QLt7y1VJU8rpcndCl1IYcps6OtC/Jgukvo477rxRPZ4=; b=YOQBDfp/VwjHL7 hXMdHcCcZafeVgA5tzIqqt/1whP5QkYMCYgY3noENSGWlsjNrmWKjarT59MELJZSsMtpewQ+mZ6i1 ANviAsg/yKBdpo53g+dmBsizL1vSvYHSuybzPQMCKm1kVLyfzbgjOakNUUz4JtcFCMZotR+LeNEvM arfL+qmtizNYVg4aj7qktSZoy8BI3kk+8/zt2vqbsVFqLDTWsJVdYNCBKbGdqzCVbbYc2CWKcdG0B sHe1A87G95MicAZhO9BpkH6hBNjTbADTrqBt0QViCCyQaZBUGtoWqs+OSVzvDh5xmGRgJldZCwKcJ 7LTSlh8kMwdeKy5oXchQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.97.1 #2 (Red Hat Linux)) id 1rufKS-00000008zRp-0x6B; Wed, 10 Apr 2024 21:18:00 +0000 Received: from ma-mailsvcp-mx-lapp01.apple.com ([17.32.222.22]) by bombadil.infradead.org with esmtps (Exim 4.97.1 #2 (Red Hat Linux)) id 1rufKP-00000008zQL-3Meu for linux-arm-kernel@lists.infradead.org; Wed, 10 Apr 2024 21:17:58 +0000 Received: from rn-mailsvcp-mta-lapp04.rno.apple.com (rn-mailsvcp-mta-lapp04.rno.apple.com [10.225.203.152]) by ma-mailsvcp-mx-lapp01.apple.com (Oracle Communications Messaging Server 8.1.0.23.20230328 64bit (built Mar 28 2023)) with ESMTPS id <0SBQ004HUWHRGT20@ma-mailsvcp-mx-lapp01.apple.com> for linux-arm-kernel@lists.infradead.org; Wed, 10 Apr 2024 14:17:53 -0700 (PDT) X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.272,Aquarius:18.0.1011,Hydra:6.0.619,FMLib:17.11.176.26 definitions=2024-04-10_06,2024-04-09_01,2023-05-22_02 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=apple.com; h=mime-version : content-transfer-encoding : content-type : from : to : cc : subject : date : message-id : in-reply-to : references; s=20180706; bh=Zb4qSLbdX8jyBOZB1vfZMuFlfmvUIt03Ab95Bnrn+Vw=; b=dteWCXYQxAKcXXJyCpKkcxW3Nib5ozjuh8KTt7G2FKrc803XjLRVkJFvIhrkDaIGdQQS enZRmFrS7uvrV9qyp/WrW1qYCeRvyvNTh2hlwC0AetNBu8NLQa3sSTSRNSFl1K9kR/Wi eOKlGK2A+8TjKfqdEacAimx7jXCG5G6yApSbZnplvri/7xspjh6i/O+v/nW/A93eEzOF g8LPFySTH4Oe0Qv2eXIuTL6uEXF0zMQWhBtvRed7j5TY+D5hxQrEuznmw0wLN7kjKSk4 PIcIuv8d3Hk0TuPI8LWtTHdNC4KN5q5bDAHWMPO8le/DedQsY4gnzxuW8EI15NC72F1q Ng== Received: from rn-mailsvcp-mmp-lapp03.rno.apple.com (rn-mailsvcp-mmp-lapp03.rno.apple.com [17.179.253.16]) by rn-mailsvcp-mta-lapp04.rno.apple.com (Oracle Communications Messaging Server 8.1.0.23.20230328 64bit (built Mar 28 2023)) with ESMTPS id <0SBQ00920WHP3NI0@rn-mailsvcp-mta-lapp04.rno.apple.com>; Wed, 10 Apr 2024 14:17:50 -0700 (PDT) Received: from process_milters-daemon.rn-mailsvcp-mmp-lapp03.rno.apple.com by rn-mailsvcp-mmp-lapp03.rno.apple.com (Oracle Communications Messaging Server 8.1.0.23.20230328 64bit (built Mar 28 2023)) id <0SBQ00E00WFDM000@rn-mailsvcp-mmp-lapp03.rno.apple.com>; Wed, 10 Apr 2024 14:17:49 -0700 (PDT) X-Va-A: X-Va-T-CD: 062083411fbdfe5b9668648d0dddd4c2 X-Va-E-CD: abda6b097ca298131272d100f832e7b1 X-Va-R-CD: 2510821dd2dd4e6582baa96a6b1cf6d9 X-Va-ID: a6f2dfa7-7aaa-4ef5-b815-2be5cf783d78 X-Va-CD: 0 X-V-A: X-V-T-CD: 062083411fbdfe5b9668648d0dddd4c2 X-V-E-CD: abda6b097ca298131272d100f832e7b1 X-V-R-CD: 2510821dd2dd4e6582baa96a6b1cf6d9 X-V-ID: 75e69c48-0d5d-49d4-8082-0485a2f69f66 X-V-CD: 0 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.272,Aquarius:18.0.1011,Hydra:6.0.619,FMLib:17.11.176.26 definitions=2024-04-10_06,2024-04-09_01,2023-05-22_02 MIME-version: 1.0 Received: from mr41p01nt-relayp01.apple.com ([17.115.0.54]) by rn-mailsvcp-mmp-lapp03.rno.apple.com (Oracle Communications Messaging Server 8.1.0.23.20230328 64bit (built Mar 28 2023)) with ESMTPSA id <0SBQ00HCRWGK4E00@rn-mailsvcp-mmp-lapp03.rno.apple.com>; Wed, 10 Apr 2024 14:17:48 -0700 (PDT) From: Zayd Qumsieh To: zayd_qumsieh@apple.com Cc: Catalin Marinas , Will Deacon , Mark Brown , Ard Biesheuvel , Mark Rutland , Mateusz Guzik , Anshuman Khandual , Marc Zyngier , Oliver Upton , Miguel Luis , Joey Gouly , Christoph Paasch , Kees Cook , Sami Tolvanen , Baoquan He , Lecopzer Chen , Joel Granados , Dawei Li , Andrew Morton , Florent Revest , David Hildenbrand , Stefan Roesch , Andy Chiu , Josh Triplett , Oleg Nesterov , Helge Deller , Zev Weiss , Ondrej Mosnacek , Miguel Ojeda , linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Subject: [PATCH 3/3] tso: aarch64: allow userspace to set tso bit using prctl Date: Wed, 10 Apr 2024 14:16:41 -0700 Message-id: <20240410211652.16640-4-zayd_qumsieh@apple.com> X-Mailer: git-send-email 2.39.3 (Apple Git-146) In-reply-to: <20240410211652.16640-1-zayd_qumsieh@apple.com> References: <20240410211652.16640-1-zayd_qumsieh@apple.com> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20240410_141757_868368_1A27218B X-CRM114-Status: GOOD ( 23.70 ) 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 QWRkIGEgbmV3IHByY3RsIHRvIGFsbG93IHVzZXJzcGFjZSB0byBjaGFuZ2UgdGhlIFRTTyBiaXQu IFRoaXMgaXMKdXNlZnVsIGZvciBlbXVsYXRvcnMgdGhhdCByZWNvbXBpbGUgeDg2XzY0IHRvIEFS TTY0LiBTdWNoIHByb2dyYW1zIHVzZWQKdG8gbmVlZCB0byBlbXVsYXRlIFRTTyBieSBoYW5kLCB3 aGljaCBoYXMgbWFzc2l2ZSBwZXJmb3JtYW5jZQpyYW1pZmljYXRpb25zLiBXaXRoIHRoaXMgY2hh bmdlLCBlbXVsYXRvcnMgY2FuIG5vdyB1c2UgcHJjdGwgdG8gc2V0IHRoZQpUU08gYml0IGF0IHdp bGwsIGFuZCBhdm9pZCBlbXVsYXRpbmcgVFNPLgoKU2lnbmVkLW9mZi1ieTogWmF5ZCBRdW1zaWVo IDx6YXlkX3F1bXNpZWhAYXBwbGUuY29tPgotLS0KIGFyY2gvYXJtNjQvS2NvbmZpZyAgICAgICAg ICAgfCAgNiArKysrKwogYXJjaC9hcm02NC9pbmNsdWRlL2FzbS90c28uaCB8ICAxICsKIGFyY2gv YXJtNjQva2VybmVsL3Byb2Nlc3MuYyAgfCA1MiArKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysKIGFyY2gvYXJtNjQva2VybmVsL3Rzby5jICAgICAgfCAgMSArCiBpbmNsdWRlL3Vh cGkvbGludXgvcHJjdGwuaCAgIHwgIDkgKysrKysrKwoga2VybmVsL3N5cy5jICAgICAgICAgICAg ICAgICB8IDExICsrKysrKysrCiA2IGZpbGVzIGNoYW5nZWQsIDgwIGluc2VydGlvbnMoKykKCmRp ZmYgLS1naXQgYS9hcmNoL2FybTY0L0tjb25maWcgYi9hcmNoL2FybTY0L0tjb25maWcKaW5kZXgg MzUxNjJlNWEwNzA1Li5lY2I3ZTFmMDgwYWYgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtNjQvS2NvbmZp ZworKysgYi9hcmNoL2FybTY0L0tjb25maWcKQEAgLTIwODgsMTAgKzIwODgsMTYgQEAgY29uZmln IEFSTTY0X1RTTwogCSAgZHluYW1pY2FsbHkgc3dpdGNoZWQgYmV0d2VlbiB0aGUgZGVmYXVsdCBB Uk02NCBtZW1vcnkgbW9kZWwKIAkgIGFuZCB4ODZfNjQncyBtZW1vcnkgbW9kZWwgKFRTTykuCiAK KwkgIFRoaXMgb3B0aW9uIGVuYWJsZXMgdGhlIHN1cHBvcnQgZm9yIHRvZ2dsaW5nIFRTTyBtb2Rl IGZvcgorCSAgdXNlcnNwYWNlIHRocmVhZHMuCisKIAkgIFNlbGVjdGluZyB0aGlzIG9wdGlvbiBh bGxvd3MgdGhlIGZlYXR1cmUgdG8gYmUgZGV0ZWN0ZWQgYXQKIAkgIHJ1bnRpbWUuIElmIHRoZSBD UFUgZG9lc24ndCBpbXBsZW1lbnQgVFNPIG1vZGUsIHRoZW4gdGhpcwogCSAgZmVhdHVyZSB3aWxs IGJlIGRpc2FibGVkLgogCisJICBVc2Vyc3BhY2UgdGhyZWFkcyB0aGF0IHdhbnQgdG8gdXNlIHRo aXMgZmVhdHVyZSBtdXN0CisJICBleHBsaWNpdGx5IG9wdCBpbiB2aWEgYSBwcmN0bCgpLgorCiBl bmRtZW51ICMgIkFSTXY4LjUgYXJjaGl0ZWN0dXJhbCBmZWF0dXJlcyIKIAogbWVudSAiQVJNdjgu NyBhcmNoaXRlY3R1cmFsIGZlYXR1cmVzIgpkaWZmIC0tZ2l0IGEvYXJjaC9hcm02NC9pbmNsdWRl L2FzbS90c28uaCBiL2FyY2gvYXJtNjQvaW5jbHVkZS9hc20vdHNvLmgKaW5kZXggNDA1ZTlhNWVm ZGY1Li5jZjMxYzY4NWIxZGQgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtNjQvaW5jbHVkZS9hc20vdHNv LmgKKysrIGIvYXJjaC9hcm02NC9pbmNsdWRlL2FzbS90c28uaApAQCAtMTMsNiArMTMsNyBAQAog CiBpbnQgbW9kaWZ5X3Rzb19lbmFibGUoYm9vbCB0c29fZW5hYmxlKTsKIHZvaWQgdHNvX3RocmVh ZF9zd2l0Y2goc3RydWN0IHRhc2tfc3RydWN0ICpuZXh0KTsKK2ludCBhcmNoX3NldF9tZW1fbW9k ZWwoc3RydWN0IHRhc2tfc3RydWN0ICp0YXNrLCBpbnQgbWVtb3J5X21vZGVsKTsKIAogI2VuZGlm IC8qIENPTkZJR19BUk02NF9UU08gKi8KICNlbmRpZiAvKiBfX0FTTV9UU09fSCAqLwpkaWZmIC0t Z2l0IGEvYXJjaC9hcm02NC9rZXJuZWwvcHJvY2Vzcy5jIGIvYXJjaC9hcm02NC9rZXJuZWwvcHJv Y2Vzcy5jCmluZGV4IDM4MzFjMWE5N2Y3OS4uMmIwZTlhNTMzMWUwIDEwMDY0NAotLS0gYS9hcmNo L2FybTY0L2tlcm5lbC9wcm9jZXNzLmMKKysrIGIvYXJjaC9hcm02NC9rZXJuZWwvcHJvY2Vzcy5j CkBAIC03NjMsMyArNzYzLDU1IEBAIGludCBhcmNoX2VsZl9hZGp1c3RfcHJvdChpbnQgcHJvdCwg Y29uc3Qgc3RydWN0IGFyY2hfZWxmX3N0YXRlICpzdGF0ZSwKIAlyZXR1cm4gcHJvdDsKIH0KICNl bmRpZgorCitzdGF0aWMgaW50IGFyY2hfc2V0X21lbV9tb2RlbF9kZWZhdWx0KHN0cnVjdCB0YXNr X3N0cnVjdCAqdGFzaykKK3sKKwlpbnQgcmV0dXJuX2Vycm9yID0gMDsKKworI2lmZGVmIENPTkZJ R19BUk02NF9UU08KKwlpbnQgbW9kaWZ5X3Rzb19lbmFibGVfZXJyb3IgPSBtb2RpZnlfdHNvX2Vu YWJsZShmYWxzZSk7CisKKwlpZiAobW9kaWZ5X3Rzb19lbmFibGVfZXJyb3IgPT0gLUVPUE5PVFNV UFApCisJCS8vIFRTTyBpcyB0aGUgb25seSBvdGhlciBtZW1vcnkgbW9kZWwgb24gYXJtNjQuCisJ CS8vIElmIFRTTyBpcyBub3Qgc3VwcG9ydGVkLCB0aGVuIHRoZSBkZWZhdWx0IG1lbW9yeQorCQkv LyBtb2RlbCBtdXN0IGFscmVhZHkgYmUgc2V0LgorCQlyZXR1cm5fZXJyb3IgPSAwOworCWVsc2UK KwkJcmV0dXJuX2Vycm9yID0gbW9kaWZ5X3Rzb19lbmFibGVfZXJyb3I7CisKKwlpZiAoIXJldHVy bl9lcnJvcikKKwkJdGFzay0+dGhyZWFkLnRzbyA9IGZhbHNlOworCisJcmV0dXJuIHJldHVybl9l cnJvcjsKKyNlbmRpZgorCisJcmV0dXJuIHJldHVybl9lcnJvcjsKK30KKworI2lmZGVmIENPTkZJ R19BUk02NF9UU08KKworc3RhdGljIGludCBhcmNoX3NldF9tZW1fbW9kZWxfdHNvKHN0cnVjdCB0 YXNrX3N0cnVjdCAqdGFzaykKK3sKKwlpbnQgZXJyb3IgPSBtb2RpZnlfdHNvX2VuYWJsZSh0cnVl KTsKKworCWlmICghZXJyb3IpCisJCXRhc2stPnRocmVhZC50c28gPSB0cnVlOworCisJcmV0dXJu IGVycm9yOworfQorCisjZW5kaWYgLyogQ09ORklHX0FSTTY0X1RTTyAqLworCitpbnQgYXJjaF9z ZXRfbWVtX21vZGVsKHN0cnVjdCB0YXNrX3N0cnVjdCAqdGFzaywgaW50IG1lbW9yeV9tb2RlbCkK K3sKKwlzd2l0Y2ggKG1lbW9yeV9tb2RlbCkgeworCWNhc2UgUFJfU0VUX01FTV9NT0RFTF9ERUZB VUxUOgorCQlyZXR1cm4gYXJjaF9zZXRfbWVtX21vZGVsX2RlZmF1bHQodGFzayk7CisjaWZkZWYg Q09ORklHX0FSTTY0X1RTTworCWNhc2UgUFJfU0VUX01FTV9NT0RFTF9UU086CisJCXJldHVybiBh cmNoX3NldF9tZW1fbW9kZWxfdHNvKHRhc2spOworI2VuZGlmIC8qIENPTkZJR19BUk02NF9UU08g Ki8KKwlkZWZhdWx0OgorCQlyZXR1cm4gLUVJTlZBTDsKKwl9Cit9CmRpZmYgLS1naXQgYS9hcmNo L2FybTY0L2tlcm5lbC90c28uYyBiL2FyY2gvYXJtNjQva2VybmVsL3Rzby5jCmluZGV4IDlhMTVk ODI1OTQzZi4uNDQ3NDlmMWY1ZTEwIDEwMDY0NAotLS0gYS9hcmNoL2FybTY0L2tlcm5lbC90c28u YworKysgYi9hcmNoL2FybTY0L2tlcm5lbC90c28uYwpAQCAtNTgsNCArNTgsNSBAQCB2b2lkIHRz b190aHJlYWRfc3dpdGNoKHN0cnVjdCB0YXNrX3N0cnVjdCAqbmV4dCkKIAl9CiB9CiAKKwogI2Vu ZGlmIC8qIENPTkZJR19BUk02NF9UU08gKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvdWFwaS9saW51 eC9wcmN0bC5oIGIvaW5jbHVkZS91YXBpL2xpbnV4L3ByY3RsLmgKaW5kZXggMzcwZWQxNGIxYWUw Li42MmI3NjdlNmVmY2YgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvdWFwaS9saW51eC9wcmN0bC5oCisr KyBiL2luY2x1ZGUvdWFwaS9saW51eC9wcmN0bC5oCkBAIC0xLDQgKzEsOCBAQAogLyogU1BEWC1M aWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAgV0lUSCBMaW51eC1zeXNjYWxsLW5vdGUgKi8KKy8q CisgKiBDb3B5cmlnaHQgwqkgMjAyNCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisg Ki8KKwogI2lmbmRlZiBfTElOVVhfUFJDVExfSAogI2RlZmluZSBfTElOVVhfUFJDVExfSAogCkBA IC0zMDYsNCArMzEwLDkgQEAgc3RydWN0IHByY3RsX21tX21hcCB7CiAjIGRlZmluZSBQUl9SSVND Vl9WX1ZTVEFURV9DVFJMX05FWFRfTUFTSwkweGMKICMgZGVmaW5lIFBSX1JJU0NWX1ZfVlNUQVRF X0NUUkxfTUFTSwkJMHgxZgogCisvKiBTZXQgdGhlIENQVSBtZW1vcnkgbW9kZWwgKi8KKyNkZWZp bmUgUFJfU0VUX01FTV9NT0RFTAkJNzEKKyMgZGVmaW5lIFBSX1NFVF9NRU1fTU9ERUxfREVGQVVM VAkwCisjIGRlZmluZSBQUl9TRVRfTUVNX01PREVMX1RTTwkJMQorCiAjZW5kaWYgLyogX0xJTlVY X1BSQ1RMX0ggKi8KZGlmZiAtLWdpdCBhL2tlcm5lbC9zeXMuYyBiL2tlcm5lbC9zeXMuYwppbmRl eCA4YmIxMDZhNTZiM2EuLjk0YzE4NzAwYjg0OSAxMDA2NDQKLS0tIGEva2VybmVsL3N5cy5jCisr KyBiL2tlcm5lbC9zeXMuYwpAQCAtMyw2ICszLDcgQEAKICAqICBsaW51eC9rZXJuZWwvc3lzLmMK ICAqCiAgKiAgQ29weXJpZ2h0IChDKSAxOTkxLCAxOTkyICBMaW51cyBUb3J2YWxkcworICogIENv cHlyaWdodCDCqSAyMDI0IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqLwogCiAj aW5jbHVkZSA8bGludXgvZXhwb3J0Lmg+CkBAIC0yMzE1LDYgKzIzMTYsMTEgQEAgaW50IF9fd2Vh ayBhcmNoX3ByY3RsX3NwZWNfY3RybF9zZXQoc3RydWN0IHRhc2tfc3RydWN0ICp0LCB1bnNpZ25l ZCBsb25nIHdoaWNoLAogCXJldHVybiAtRUlOVkFMOwogfQogCitpbnQgX193ZWFrIGFyY2hfc2V0 X21lbV9tb2RlbChzdHJ1Y3QgdGFza19zdHJ1Y3QgKnRhc2ssIGludCBtZW1vcnlfbW9kZWwpCit7 CisJcmV0dXJuIC1FSU5WQUw7Cit9CisKICNkZWZpbmUgUFJfSU9fRkxVU0hFUiAoUEZfTUVNQUxM T0NfTk9JTyB8IFBGX0xPQ0FMX1RIUk9UVExFKQogCiAjaWZkZWYgQ09ORklHX0FOT05fVk1BX05B TUUKQEAgLTI3NjAsNiArMjc2NiwxMSBAQCBTWVNDQUxMX0RFRklORTUocHJjdGwsIGludCwgb3B0 aW9uLCB1bnNpZ25lZCBsb25nLCBhcmcyLCB1bnNpZ25lZCBsb25nLCBhcmczLAogCWNhc2UgUFJf UklTQ1ZfVl9HRVRfQ09OVFJPTDoKIAkJZXJyb3IgPSBSSVNDVl9WX0dFVF9DT05UUk9MKCk7CiAJ CWJyZWFrOworCWNhc2UgUFJfU0VUX01FTV9NT0RFTDoKKwkJaWYgKGFyZzMgfHwgYXJnNCB8fCBh cmc1KQorCQkJcmV0dXJuIC1FSU5WQUw7CisJCWVycm9yID0gYXJjaF9zZXRfbWVtX21vZGVsKGN1 cnJlbnQsIGFyZzIpOworCQlicmVhazsKIAlkZWZhdWx0OgogCQllcnJvciA9IC1FSU5WQUw7CiAJ CWJyZWFrOwotLSAKMi4zOS4zIChBcHBsZSBHaXQtMTQ2KQoKCl9fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fCmxpbnV4LWFybS1rZXJuZWwgbWFpbGluZyBsaXN0 CmxpbnV4LWFybS1rZXJuZWxAbGlzdHMuaW5mcmFkZWFkLm9yZwpodHRwOi8vbGlzdHMuaW5mcmFk ZWFkLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2xpbnV4LWFybS1rZXJuZWwK