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 X-Spam-Level: X-Spam-Status: No, score=-6.0 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI, NICE_REPLY_A,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_SANE_1 autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 66162C433ED for ; Fri, 7 May 2021 10:04:09 +0000 (UTC) Received: from desiato.infradead.org (desiato.infradead.org [90.155.92.199]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id B6D3661410 for ; Fri, 7 May 2021 10:04:08 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org B6D3661410 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=huawei.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=desiato.20200630; h=Sender:Content-Type: Content-Transfer-Encoding:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:In-Reply-To:MIME-Version:Date:Message-ID:From: References:CC:To:Subject:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=71eH4P7vxmtXvccPSLmKNdjT81djYOcj5I2QXm1Ohbw=; b=hPMHY2MrSXZKILQVE6Rdnykum p0rDNtom0u7Z2oU85BQNrM/kSXKCUA32GWxhrKYMl5leH55X1xddK+5UPEujHLKNezoM6/JWD01IC JZ1rcQA5GyLkgP33XzM+GbBmcMWxBRd63/Q/mTdHAwE+yRZGoM/1NnjryNPXyEbyLI7mnoZGg5fna B53++rJXrC+V4eVlrEhLHDOYicf/WmGUYGG55dMWce+jptcza6oESbc9jDUo9KC/N24cZd4NgKNkj Ys9nvJHTt7J5dQveduex+KQon095Bz+qYN6xrV6f50Tm1z+rswekMwiRAoQtt3MMjyzE/WHJMXZvl egCB++wSA==; Received: from localhost ([::1] helo=desiato.infradead.org) by desiato.infradead.org with esmtp (Exim 4.94 #2 (Red Hat Linux)) id 1lexJV-006kym-S9; Fri, 07 May 2021 10:02:30 +0000 Received: from bombadil.infradead.org ([2607:7c80:54:e::133]) by desiato.infradead.org with esmtps (Exim 4.94 #2 (Red Hat Linux)) id 1lexJQ-006ky8-IP for linux-arm-kernel@desiato.infradead.org; Fri, 07 May 2021 10:02:24 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=bombadil.20210309; h=Content-Transfer-Encoding: Content-Type:In-Reply-To:MIME-Version:Date:Message-ID:From:References:CC:To: Subject:Sender:Reply-To:Content-ID:Content-Description; bh=fkGupc2PwC/VtNm+fjo4cVm3TLzHcsHgDm8NhU0RYCw=; b=fH8GzJU4UNswQKo6IT5C8yPN92 xh7jaJtb7NbmpX7/URoc+qJmDzEUfA3raqzUJujRuiRrQVrPP0xcuqJifJZCBipLibdAVm5KoLcDb GqxsyaKSilCz4FYkLRNBkVrJR3kRfYgxN+jR+iecywrAfR1t7IerisHImzqmMJStw+FLjI79JNy+S 4EMrjpjWbRPXSqhgMcDddm9PUBKXu6uJQNvLvf0CI9EauScQD+HDs7VuoMDKF/Bim/667LCKdKzR0 4fM5xAZrhSa5e2xRiiaeykWBycfF3s/qRjxJBYN4padNntxbJtkle67lvTVmElVyZ9IsRrYCQfiU6 UyVYxqrQ==; Received: from szxga05-in.huawei.com ([45.249.212.191]) by bombadil.infradead.org with esmtps (Exim 4.94 #2 (Red Hat Linux)) id 1lexJN-006lS7-9y for linux-arm-kernel@lists.infradead.org; Fri, 07 May 2021 10:02:23 +0000 Received: from DGGEMS404-HUB.china.huawei.com (unknown [172.30.72.59]) by szxga05-in.huawei.com (SkyGuard) with ESMTP id 4Fc5WR6bqTzQkPt; Fri, 7 May 2021 17:58:59 +0800 (CST) Received: from [10.67.110.136] (10.67.110.136) by DGGEMS404-HUB.china.huawei.com (10.3.19.204) with Microsoft SMTP Server id 14.3.498.0; Fri, 7 May 2021 18:02:13 +0800 Subject: Re: [PATCHv2 06/11] arm64: entry: move el1 irq/nmi logic to C To: Mark Rutland CC: , , , , , , , References: <20201130115950.22492-7-mark.rutland@arm.com> <20210506091637.GC12883@C02TD0UTHF1T.local> <20210506105832.GB32366@C02TD0UTHF1T.local> <2fbcbef1-523d-da73-9426-205dbfb1877b@huawei.com> <20210507094113.GA52849@C02TD0UTHF1T.local> From: He Ying Message-ID: Date: Fri, 7 May 2021 18:02:13 +0800 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101 Thunderbird/78.8.1 MIME-Version: 1.0 In-Reply-To: <20210507094113.GA52849@C02TD0UTHF1T.local> X-Originating-IP: [10.67.110.136] X-CFilter-Loop: Reflected X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20210507_030221_704139_DB0DFAEF X-CRM114-Status: GOOD ( 28.72 ) 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-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8"; Format="flowed" Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org CuWcqCAyMDIxLzUvNyAxNzo0MSwgTWFyayBSdXRsYW5kIOWGmemBkzoKPiBPbiBGcmksIE1heSAw NywgMjAyMSBhdCAxMToyNTozMUFNICswODAwLCBIZSBZaW5nIHdyb3RlOgo+PiDlnKggMjAyMS81 LzYgMTg6NTgsIE1hcmsgUnV0bGFuZCDlhpnpgZM6Cj4+PiBPbiBUaHUsIE1heSAwNiwgMjAyMSBh dCAwNjoyNTo0MFBNICswODAwLCBIZSBZaW5nIHdyb3RlOgo+Pj4+IOWcqCAyMDIxLzUvNiAxNzox NiwgTWFyayBSdXRsYW5kIOWGmemBkzoKPj4+Pj4gT24gVGh1LCBNYXkgMDYsIDIwMjEgYXQgMDQ6 Mjg6MDlQTSArMDgwMCwgSGUgWWluZyB3cm90ZToKPj4+Pj4+IEhpIE1hcmssCj4+Pj4+IEhpLAo+ Pj4+Pgo+Pj4+Pj4gSSBoYXZlIGZhY2VkIGEgcGVyZm9ybWFuY2UgcmVncmVzc2lvbiBmb3IgaGFu ZGxpbmcgSVBJcyBzaW5jZSB0aGlzIGNvbW1pdC4KPj4+Pj4+Cj4+Pj4+PiBJIGNhY3VsYXRlIHRo ZSBjeWNsZXMgZnJvbSB0aGUgZW50cnkgb2YgZWwxX2lycSB0byB0aGUgZW50cnkgb2YKPj4+Pj4+ IGdpY19oYW5kbGVfaXJxLgo+Pj4+Pj4KPj4+Pj4+ICAgIEZyb20gbXkgdGVzdCwgdGhpcyBjb21t aXQgbWF5IG92ZXJoZWFkIGFuIGF2ZXJhZ2Ugb2YgMjAwIGN5Y2xlcy4gRG8geW91Cj4+Pj4+Pgo+ Pj4+Pj4gaGF2ZSBhbnkgaWRlYXMgYWJvdXQgdGhpcz8gTG9va2luZyBmb3J3YXJkIHRvIHlvdXIg cmVwbHkuCj4+Pj4+IE9uIHRoYXQgcGF0aCwgdGhlIG9ubHkgbWVhbmluZ2Z1bGwgZGlmZmVyZW5j ZSBpcyB0aGUgY2FsbCB0bwo+Pj4+PiBlbnRlcl9lbDFfaXJxX29yX25taSgpLCBzaW5jZSB0aGF0 J3Mgbm93IHVuY29uZGl0aW9uYWwsIGFuZCBpdCdzIGFuCj4+Pj4+IGV4dHJhIGxheWVyIGluIHRo ZSBjYWxsY2hhaW4uCj4+Pj4+Cj4+Pj4+IFdoZW4gZWl0aGVyIENPTkZJR19BUk02NF9QU0VVRE9f Tk1JIG9yIENPTkZJR19UUkFDRV9JUlFGTEFHUyBhcmUKPj4+Pj4gc2VsZWN0ZWQsIGVudGVyX2Vs MV9pcnFfb3Jfbm1pKCkgaXMgYSB3cmFwcGVyIGZvciBmdW5jdGlvbnMgd2UnZCBhbHJlYWR5Cj4+ Pj4+IGNhbGwsIGFuZCBJJ2QgZXhwZWN0dGhlIGNvc3Qgb2YgdGhlIGNhbGxlZXMgdG8gZG9taW5h dGUuCj4+Pj4+Cj4+Pj4+IFdoZW4gbmVpdGhlciBDT05GSUdfQVJNNjRfUFNFVURPX05NSSBub3Ig Q09ORklHX1RSQUNFX0lSUUZMQUdTIGFyZQo+Pj4+PiBzZWxlY3RlZCwgdGhpcyBzaG91bGQgYWRk IGEgdHJpdmlhbCBmdW5jdGlvbiB0aGF0IGltbWVkaWF0ZWx5IHJldHVybnMsCj4+Pj4+IGFuZCBz byAyMDAgY3ljbGVzIHNlZW1zIGV4Y2Vzc2l2ZS4KPj4+Pj4KPj4+Pj4gQnVpbGRpbmcgdGhhdCBj b21taXQgd2l0aCBkZWZjb25maWcsIEkgc2VlIHRoYXQgR0NDIDEwLjEuMCBnZW5lcmF0ZXM6Cj4+ Pj4+Cj4+Pj4+IHwgZmZmZjgwMDAxMGRmYzg2NCA8ZW50ZXJfZWwxX2lycV9vcl9ubWk+Ogo+Pj4+ PiB8IGZmZmY4MDAwMTBkZmM4NjQ6ICAgICAgIGQ1MDMyMzNmICAgICAgICBwYWNpYXNwCj4+Pj4+ IHwgZmZmZjgwMDAxMGRmYzg2ODogICAgICAgZDUwMzIzYmYgICAgICAgIGF1dGlhc3AKPj4+Pj4g fCBmZmZmODAwMDEwZGZjODZjOiAgICAgICBkNjVmMDNjMCAgICAgICAgcmV0Cj4+Pj4gQ09ORklH X0FSTTY0X1BTRVVET19OTUkgaXMgbm90IHNldCBpbiBteSB0ZXN0LiBBbmQgSSBnZW5lcmF0ZSBh IGRpZmZlcmVudAo+Pj4+IG9iamVjdAo+Pj4+Cj4+Pj4gZnJvbSB5b3VyczoKPj4+Pgo+Pj4+IDAw MDAwMDAwMDAwMDAyYjggPGVudGVyX2VsMV9pcnFfb3Jfbm1pPjoKPj4+Pgo+Pj4+ICAgwqAyYjg6 wqDCoMKgwqDCoMKgwqAgZDUwMzIzM2bCoMKgwqDCoMKgwqDCoMKgIHBhY2lhc3AKPj4+PiAgIMKg MmJjOsKgwqDCoMKgwqDCoMKgIGE5YmY3YmZkwqDCoMKgwqDCoMKgwqDCoMKgIHN0cMKgIHgyOSwg eDMwLCBbc3AsICMtMTZdIQo+Pj4+ICAgwqAyYzA6wqDCoMKgwqDCoMKgwqAgOTEwNTIwMDDCoMKg wqDCoMKgwqDCoMKgIGFkZCB4MCwgeDAsICMweDE0OAo+Pj4+ICAgwqAyYzQ6wqDCoMKgwqDCoMKg wqAgOTEwMDAzZmTCoMKgwqDCoMKgwqDCoMKgwqAgbW92IHgyOSwgc3AKPj4+PiAgIMKgMmM4OsKg wqDCoMKgwqDCoMKgIDk3ZmZmZjU3wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGJsIDI0IDxlbnRl cl9mcm9tX2tlcm5lbF9tb2RlLmlzcmEuNj4KPj4+PiAgIMKgMmNjOsKgwqDCoMKgwqDCoMKgIGE4 YzE3YmZkwqDCoMKgwqDCoMKgwqDCoMKgwqAgbGRwIHgyOSwgeDMwLCBbc3BdLCAjMTYKPj4+PiAg IMKgMmQwOsKgwqDCoMKgwqDCoCBkNTAzMjNiZsKgwqDCoMKgwqDCoMKgwqDCoMKgIGF1dGlhc3AK Pj4+PiAgIMKgMmQ0OsKgwqDCoMKgwqDCoCBkNjVmMDNjMMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAg cmV0Cj4+PiBXaGljaCBjb21taXQgYXJlIHlvdSB0ZXN0aW5nIHdpdGg/Cj4+Pgo+Pj4gVGhlIGNh bGwgdG8gZW50ZXJfZnJvbV9rZXJuZWxfbW9kZSgpIHdhcyBpbnRyb2R1Y2VkIGxhdGVyIGluIGNv bW1pdDoKPj4+Cj4+PiAgICAgN2NkMWVhMTAxMGFjYmVkZSAoInJtNjQ6IGVudHJ5OiBmaXggbm9u LU5NSSBrZXJuZWw8LT5rZXJuZWwgdHJhbnNpdGlvbnMiKQo+Pj4KPj4+IC4uLiBhbmQgZG9lc24n dCBleGlzdCBpbiBjb21taXQ6Cj4+Pgo+Pj4gICAgIDEwNWZjMzM1MjA3N2JiYTUgKCJhcm02NDog ZW50cnk6IG1vdmUgZWwxIGlycS9ubWkgbG9naWMgdG8gQyIpCj4+Pgo+Pj4gRG8geW91IHNlZSB0 aGUgMjAwIGN5Y2xlIHBlbmFsdHkgd2l0aCAxMDVmYzMzNTIwNzdiYmE1IGFsb25lPyAuLi4gb3IK Pj4+IG9ubHkgb25seSBhZnRlciB0aGUgd2hvbGUgc2VyaWVzIGlzIGFwcGxpZWQ/Cj4+IFNvcnJ5 IEkgZGlkbid0IHBvaW50IGl0IG91dC4gVGhlIHRydXRoIGlzIGFmdGVyIHRoZSB3aG9sZSBzZXJp ZXMgaXMgYXBwbGllZC4KPiBPay4gSW4gZnV0dXJlIGl0IHdvdWxkIGJlIHZlcnkgaGVscGZ1bCB0 byBiZSBtb3JlIHByZWNpc2UsIGFzIG90aGVyd2lzZQo+IHBlb3BsZSBjYW4gZW5kIHVwIHdhc3Rp bmcgdGltZSBpbnZlc3RpZ2F0aW5nIHdpdGggdGhlIHdyb25nIGluZm9ybWF0aW9uLgo+Cj4gV2hh dCB5b3UgaW5pdGlhbGx5IHNhaWQ6Cj4KPiB8IEkgaGF2ZSBmYWNlZCBhIHBlcmZvcm1hbmNlIHJl Z3Jlc3Npb24gZm9yIGhhbmRsaW5nIElQSXMgc2luY2UgdGhpcwo+IHwgY29tbWl0Lgo+Cj4gLi4u IGlzIHNvbWV3aGF0IG1pc2xlYWRpbmcuClNvcnJ5IGFib3V0IHRoYXQuIEknbGwgYmUgbW9yZSBj YXJlZnVsIGFib3V0IHRoYXQgaW4gZnV0dXJlLgo+Cj4+PiBJZiBlbnRlcl9mcm9tX2tlcm5lbF9t b2RlKCkgaXMgd2hhdCdzIHRha2luZyB0aGUgYnVsayBvZiB0aGUgY3ljbGVzLAo+Pj4gdGhlbiB0 aGlzIGlzIGxpa2VseSB1bmF2b2lkYWJsZSB3b3JrIHRoYXQgcHJldmlvdXNseSAoZXJyb25lb3Vz bHkpCj4+PiBvbWl0dGVkLgo+PiBVbmF2b2lkZWQgd29yaz8gTm8sIHBsZWFzZS4uLgo+Pj4+PiAu Li4gc28gcGVyaGFwcyB0aGUgUEFDSUFTUCBhbmQgQVVUSUFTUCBoYXZlIGFuIGltcGFjdD8KPj4+ PiBJJ20gbm90IHN1cmUuLi4KPj4+Pj4gSSBoYXZlIGEgZmV3IHF1ZXN0aW9uczoKPj4+Pj4KPj4+ Pj4gKiBXaGljaCBDUFUgZG8geW91IHNlZSB0aGlzIG9uPwo+Pj4+IEhpc2lsaWNvbiBoaXAwNS1k MDIuCj4+Pj4+ICogRG9lcyB0aGF0IENQVSBpbXBsZW1lbnQgcG9pbnRlciBhdXRoZW50aWNhdGlv bj8KPj4+PiBJJ20gbm90IHN1cmUuIEhvdyB0byBjaGVjaz8KPj4+IERvZXMgdGhlIGRtZXNnIGNv bnRhaW4gIkFkZHJlc3MgYXV0aGVudGljYXRpb24iIGFueXdoZXJlPwo+PiBJIGRvbid0IGZpbmQg IkFkZHJlc3MgYXV0aGVudGljYXRpb24iIGluIGRtZXNnLiBCdXQgSSBmaW5kCj4+IENPTkZJR19B Uk02NF9QVFJfQVVUSCBpcyBzZXQgdG8geSBpbiBvdXIgY29uZmlnLgo+Pgo+PiBEb2VzIHRoZSBj b25maWcgQ09ORklHX0FSTTY0X1BUUl9BVVRIIGltcGFjdCB0aGUgcGVyZm9ybWFuY2U/Cj4gSWYg eW91ciBIVyBpbXBsZW1lbnRzIHBvaW50ZXIgYXV0aGVudGljYXRpb24sIHRoZW4gdGhlcmUgd2ls bCBiZSBzb21lCj4gKHNtYWxsKSBpbXBhY3QuIElmIHlvdXIgSFcgZG9lcyBub3QsIHRoZW4gdGhl IGNvc3Qgc2hvdWxkIGp1c3QgYmUgYSBmZXcKPiBOT1BzLCBhbmQgaXMgbm90IGV4cGVlY3RlZCB0 byBiZSBtZWFzdXJlYWJsZS4KT0suCj4KPj4+Pj4gKiBXaGF0IGtlcm5lbCBjb25maWcgYXJlIHlv dSB1c2luZz8gZS5nLiBpcyB0aGlzIHNlZW4gd2l0aCBkZWZjb25maWc/Cj4+Pj4gT3VyIG93bi4g QnV0IENPTkZJR19BUk02NF9QU0VVRE9fTk1JIGlzIG5vdCBzZXQuCj4+Pj4KPj4+PiBTaG91bGQg SSBwcm92aWRlIGl0IGFzIGFuIGF0dGFjaG1lbnQ/Cj4+PiA+RnJvbSB5b3VyIGF0dGFjaG1lbnQg SSBzZWUgdGhhdCBUUkFDRV9JUlFGTEFHUyBhbmQgTE9DS0RFUCBhcmVuJ3QKPj4+IHNlbGVjdGVk IGVpdGhlciwgc28gSUlVQyB0aGUgb25seSBub24tdHJpdmlhbCBiaXRzIGluCj4+PiBlbnRlcl9m cm9tX2tlcm5lbF9tb2RlKCkgd2lsbCBiZSB0aGUgUkNVIGFjY291bnRpbmcuCj4+ICBGcm9tIG15 IG90aGVyIHRlc3RzLCB0aGUgZm9sbG93aW5nIGNvZGUgY29udHJpdXRlcyBtb3N0IHRvIHRoZSBv dmVyaGVhZC4KPj4KPj4KPj4gc3RhdGljIHZvaWQgbm9pbnN0ciBlbnRlcl9mcm9tX2tlcm5lbF9t b2RlKHN0cnVjdCBwdF9yZWdzICpyZWdzKQo+Pgo+PiB7Cj4+Cj4+ICDCoCByZWdzLT5leGl0X3Jj dSA9IGZhbHNlOwo+Pgo+PiAgwqAgLi4uCj4+Cj4+IH0KPiBUaGUgbG9naWMgbWFuaXB1bHRpbmcg cmVncy0+ZXhpdF9yY3UgYW5kIGNhbGxpbmcgcmN1X2lycV9lbnRlcigpIGlzCj4gbmVjZXNzYXJ5 IHRvIGNvcnJlY3RseSBoYW5kbGUgdGFraW5nIGludGVycnVwdHMgKG9yIG90aGVyIGV4Y2VwdGlv bnMpCj4gZnJvbSBpZGxlIHNlcXVlbmNlcy4gV2l0aG91dCB0aGlzLCBSQ1UgaXNuJ3QgZ3VhcmFu dGVlZCB0byBiZSB3YXRjaGluZywKPiBhbmQgaXMgdW5zYWZlIHRvIHVzZS4KPgo+IFNvIHRoaXMg aXNuJ3Qgc29tZXRoaW5nIHRoYXQgY2FuIGJlIGVhc2lseSByZW1vdmVkLgpPSy4KPgo+Pj4+PiAq IFdoYXQncyB0aGUgdG90YWwgY3ljbGUgY291bnQgZnJvbSBlbDFfaXJxIHRvIGdpY19oYW5kbGVf aXJxPwo+Pj4+IEFwcGx5aW5nIHRoZSBwYXRjaHNldDrCoMKgIDI0OSBjeWNsZXMuCj4+Pj4KPj4+ PiBSZXZlcnRpbmcgdGhlIHBhdGNoc2V0OsKgIDc3IGN5Y2xlcy4KPj4+Pgo+Pj4+IE1heWJlIDE3 MCBjeWNsZXMgaXMgbW9yZSBjb3JyZWN0Lgo+Pj4+Cj4+Pj4+ICogRG9lcyB0aGlzIG1lYXN1cmFi bHkgaW1wYWN0IGEgcmVhbCB3b3JrbG9hZD8KPj4+PiBIYXZlIHNvbWUgaW1wYWN0IHRvIHNjaGVk dWxpbmcgcGVyZiB0ZXN0Lgo+Pj4gRG9lcyBpdCBhZmZlY3QgYSByZWFsIHdvcmtsb2FkPyBpLmUu IG5vdCBhIG1pY3JvYmVuY2htYXJrPwo+PiBXZSBqdXN0IHJ1biBzb21lIGJlbmNobWFya3MuIEkn bSBub3Qgc3VyZSBob3cgaXQgYWZmZWN0cyBhIHJlYWwgd29ya2xvYWQuCj4gSSBhcHByZWNpYXRl IHRoYXQgeW91IGNhbiBtZWFzdXJlIHRoaXMgd2l0aCBhIG1pY3JvYmVuY2htYXJrLCBidXQgdW5s ZXNzCj4gdGhpcyBhZmZlY3RzIGEgcmVhbCB3b3JrbG9hZCBpbiBhIG1lYXN1cmVhYmxlIHdheSBJ IGRvbid0IHRoaW5rIHRoYXQgd2UKPiBzaG91bGQgbWFrZSBhbnkgY2hhbmdlcyBoZXJlLgoKSSBz ZWUuIElmIEkgZmluZCB0aGF0IGl0IGFmZmVjdHMgYSByZWFsIHdvcmtsb2FkIGluIGEgbWVhc3Vy ZWFibGUgd2F5LCAKSSdsbCBjb250YWN0Cgp5b3UgYWdhaW4uIFRoYW5rcyBhIGxvdCBmb3IgYWxs IHlvdXIgcmVwbHkuCgoKVGhhbmtzLgoKPgo+IFRoYW5rcwo+IE1hcmsuCj4gLgoKX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KbGludXgtYXJtLWtlcm5lbCBt YWlsaW5nIGxpc3QKbGludXgtYXJtLWtlcm5lbEBsaXN0cy5pbmZyYWRlYWQub3JnCmh0dHA6Ly9s aXN0cy5pbmZyYWRlYWQub3JnL21haWxtYW4vbGlzdGluZm8vbGludXgtYXJtLWtlcm5lbAo=