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 kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 55A42C3ABA2 for ; Mon, 16 Sep 2024 09:22:06 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 780036B0089; Mon, 16 Sep 2024 05:22:05 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 72F606B008A; Mon, 16 Sep 2024 05:22:05 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 5F7266B008C; Mon, 16 Sep 2024 05:22:05 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0011.hostedemail.com [216.40.44.11]) by kanga.kvack.org (Postfix) with ESMTP id 3C70A6B0089 for ; Mon, 16 Sep 2024 05:22:05 -0400 (EDT) Received: from smtpin19.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id 94006A7C43 for ; Mon, 16 Sep 2024 09:22:04 +0000 (UTC) X-FDA: 82570059768.19.D3B058C Received: from frasgout.his.huawei.com (frasgout.his.huawei.com [185.176.79.56]) by imf25.hostedemail.com (Postfix) with ESMTP id 58593A0011 for ; Mon, 16 Sep 2024 09:22:01 +0000 (UTC) Authentication-Results: imf25.hostedemail.com; dkim=none; spf=pass (imf25.hostedemail.com: domain of shiju.jose@huawei.com designates 185.176.79.56 as permitted sender) smtp.mailfrom=shiju.jose@huawei.com; dmarc=pass (policy=quarantine) header.from=huawei.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1726478466; a=rsa-sha256; cv=none; b=6O3z5W8fvRIpWvrCTc4W7v+jHxoHw51J0LNDhOG0K0zQ2ffI+omxeWKGQeEKZXeVZu8uza QWeCZKQbWkPPxN48g6oMyl35hwmjig4Q9ALuGUSMe1IaNgQrdkqETYY2yEbqH/DfJp1Oc7 Aj/SOA9Od1p0MOF2jaa4AsnXKKFGX8o= ARC-Authentication-Results: i=1; imf25.hostedemail.com; dkim=none; spf=pass (imf25.hostedemail.com: domain of shiju.jose@huawei.com designates 185.176.79.56 as permitted sender) smtp.mailfrom=shiju.jose@huawei.com; dmarc=pass (policy=quarantine) header.from=huawei.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1726478466; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=je9iSwWaYNKrQdRjC4h7SLJ8iNruUF5R1K8hAb0R2YU=; b=MvMHvM0wvyc8vXXT8xxDpkNpHmrXsBy/EkLSV9Y/OTE9gP0gK8SVc2sfblY6EmFZOccEDy ZilRpNqh9DWtoSofM4BhqaroygqtOX2GqFvCH6QOor6jLVBHRNQrz2UGvL1VKUytDycjW8 g9b6O9SJncfYtxJjYeMzEiwpdz6dcVY= Received: from mail.maildlp.com (unknown [172.18.186.31]) by frasgout.his.huawei.com (SkyGuard) with ESMTP id 4X6fT72X2qz6K60p; Mon, 16 Sep 2024 17:17:47 +0800 (CST) Received: from frapeml500006.china.huawei.com (unknown [7.182.85.219]) by mail.maildlp.com (Postfix) with ESMTPS id 86E60140F1C; Mon, 16 Sep 2024 17:21:58 +0800 (CST) Received: from frapeml500007.china.huawei.com (7.182.85.172) by frapeml500006.china.huawei.com (7.182.85.219) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.39; Mon, 16 Sep 2024 11:21:58 +0200 Received: from frapeml500007.china.huawei.com ([7.182.85.172]) by frapeml500007.china.huawei.com ([7.182.85.172]) with mapi id 15.01.2507.039; Mon, 16 Sep 2024 11:21:58 +0200 From: Shiju Jose To: Borislav Petkov CC: "linux-edac@vger.kernel.org" , "linux-cxl@vger.kernel.org" , "linux-acpi@vger.kernel.org" , "linux-mm@kvack.org" , "linux-kernel@vger.kernel.org" , "tony.luck@intel.com" , "rafael@kernel.org" , "lenb@kernel.org" , "mchehab@kernel.org" , "dan.j.williams@intel.com" , "dave@stgolabs.net" , "Jonathan Cameron" , "dave.jiang@intel.com" , "alison.schofield@intel.com" , "vishal.l.verma@intel.com" , "ira.weiny@intel.com" , "david@redhat.com" , "Vilas.Sridharan@amd.com" , "leo.duran@amd.com" , "Yazen.Ghannam@amd.com" , "rientjes@google.com" , "jiaqiyan@google.com" , "Jon.Grimm@amd.com" , "dave.hansen@linux.intel.com" , "naoya.horiguchi@nec.com" , "james.morse@arm.com" , "jthoughton@google.com" , "somasundaram.a@hpe.com" , "erdemaktas@google.com" , "pgonda@google.com" , "duenwen@google.com" , "mike.malvestuto@intel.com" , "gthelen@google.com" , "wschwartz@amperecomputing.com" , "dferguson@amperecomputing.com" , "wbs@os.amperecomputing.com" , "nifan.cxl@gmail.com" , "jgroves@micron.com" , "vsalve@micron.com" , tanxiaofei , "Zengtao (B)" , "Roberto Sassu" , "kangkang.shen@futurewei.com" , wanghuiqiang , Linuxarm Subject: RE: [PATCH v12 01/17] EDAC: Add support for EDAC device features control Thread-Topic: [PATCH v12 01/17] EDAC: Add support for EDAC device features control Thread-Index: AQHbBCn2X0FlmKPPaUWpEENlHZJn/rJVzXyAgARPCJA= Date: Mon, 16 Sep 2024 09:21:58 +0000 Message-ID: References: <20240911090447.751-1-shiju.jose@huawei.com> <20240911090447.751-2-shiju.jose@huawei.com> <20240913164041.GKZuRrCeoFZBapVYaU@fat_crate.local> In-Reply-To: <20240913164041.GKZuRrCeoFZBapVYaU@fat_crate.local> Accept-Language: en-GB, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.126.169.22] Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-Stat-Signature: jo6tc34qrejufmag6ax9jfu5x15aqw61 X-Rspamd-Queue-Id: 58593A0011 X-Rspam-User: X-Rspamd-Server: rspam10 X-HE-Tag: 1726478521-266913 X-HE-Meta: U2FsdGVkX180yWgv29+GLZBFomCFTwLxBFA4x4XdMbEqECyRonFHivd+QBvWEjJTaiR6des25Wd6IztaP9l/7uueILEvBreazfe3+vEf73k9HpBzw4LD405coD30W5KRVT824xbZPuAnSUhGWGZC6NEImJa3/V35TD+b4QAL5CMeWBhUjUB86V/dFHqhpO/5980g4c97rVeIocbhzTGI2uzQxUpplYiKEqPHfcNECASyTh0fMcYzajY7hapX6V8szaGSRB9ebvbkpxZEyXxQKztjunCXNuU7EPWgueAr95FE5SP/6mtqIggLRCwbtllwclO+47Zq2oLOYjRwQvuZr7hfEn/5CdUs7QxeNhWrgREWGqSlgQ38PYWYl4Y0haOewlA3InuLkiXBEZzt4pWiw6eDtirO18JUa01RtAeqhSVOSqgv4NtBxgxOk1y5VbX5Z0L2PYHMur8TXO6LzfZx0352v/G1eUtDtKfwP3F5tEDPAm9wtVyK9bF80Esd+Q2yWZYg/AOScuSF2cjOH23nxdIK00iGpRYelACVAMccMojnhlNvZAyBlnnJ1ibkVO4M8xeJ+8si0Vv7bxPJvZiRMk1k+7E7ixwEaCly8LHuT4Ut4ULkyW5nVfg6zfc+hTObB/jLcC5UQIy27Pfqya3ALTLBBhOrESBHuI+WoBlGjuSPUcQH7kBkZy8L70MtpFKMWGLn3Q7w9+zOtu6ZtN5DyVNLBwDbPBqEWTQGAMPVzdiEsBgDSXJgpLLUY5NqywVeCEg8kRgqXrBPdDlY0ePu5MRynkeGbtrR9BXLwXDa/aRby8Ws8D55x46SN1XFt1TIWSVIwucBpdxiQmx8GLy9bX23C6LH57nQ53EUaO/CksWwQ5DDp290vrJ+Ou+s0fElMk8c9GYZzr9ywal9nxqgjS9PB+U/tdaNSz8AqJ/Ku52wxApuEy9fp2zlyZ0B8FnIOeWU/BGNyYUmh5vXu8F pIoehmVc q3gORD+rI4oqGKgvv7eIaAQDoPUM7+ZMVQufqry1YPgQJMrgnMpdZyBdc5p8G97wl24aimhUigdPHRX8zK+Fg3auZ03ahIk2rD32UFe52q3gSWmE4u/pkLlgCorYTGRxOEzDsOEz++bydS0pextud2KtHw6V3Icq1hYFgi9i6sZhR1chsP7R2XYN+gD9HFDR2kSqgr9o7lZMKsHFYWUj9gnKxCklAcnSFAtiKVbbTviKB/zGl4+DoVYHZvAtfMCi3bBZxAUxMcAB0ClwrZjPhn9Q8Xz6q/VOXfRB71k+6V1KkmWuWDu78H5xdLHdw1waR6ZeDPsfq3F5Jc7hIIrYH6KGd2FaBnfCMzYgWyitzbd+yv9AFIGkWNIz5WXrlZS9G7Uje5R7wuMiDlq9sZ9l6D+v/zKr2Tkdgq/2NzwojJY4dmkQ3VJ0yKUqpsVb7X58vB2u0h8MFv8FBsd0EKOt0wsk9zapVfKWPQbwO9KjOKxLAT6GFTJ3f3o9zWbSkPilrgyZZcOPIks4mt48s/oNms94cyw5XUWJjbh6xVOSh8O41Qoy44Vz3YdqMlhWjSBB0KLbXNYed22WMRMvS2UX/kdMGBFtu9AZLKd1UwAd6tnIEseSuhnloBAu7EIMDOzzHdboPGXZ8UwxWwUVw0bd85cQyRLu3FFXGUhYYDxAkg5YetdR6yTmOF58C1/9Kcb49RlMYPBKSGQoSOdr7m3TqTos36eGKCRlWpQowTZqTySvVs3C/qVT3tDZvHvV0Uy1XZaFgPaMA1ivHROVKAElYn+6ZhnQ0s5DptAf8M/MRY7ZAPDsqFBZl5+KHpvqMgQttIsi/wQ1+8/YhOx931b+IbVIXaiEH03Nke/8FoisCp0K+osR24patWygYcd7a/zsEeB7JqFeJ1r401H3VkS17tOJccvRF6o48kUQ9+j7o817+4VvY8U+N85rnp4oc1QWZX2b45w/lYDZExql7kRBPVywMQu8T LhU4vUVp X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: VGhhbmtzIGZvciByZXZpZXdpbmcuDQoNCj4tLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPkZy b206IEJvcmlzbGF2IFBldGtvdiA8YnBAYWxpZW44LmRlPg0KPlNlbnQ6IDEzIFNlcHRlbWJlciAy MDI0IDE3OjQxDQo+VG86IFNoaWp1IEpvc2UgPHNoaWp1Lmpvc2VAaHVhd2VpLmNvbT4NCj5DYzog bGludXgtZWRhY0B2Z2VyLmtlcm5lbC5vcmc7IGxpbnV4LWN4bEB2Z2VyLmtlcm5lbC5vcmc7IGxp bnV4LQ0KPmFjcGlAdmdlci5rZXJuZWwub3JnOyBsaW51eC1tbUBrdmFjay5vcmc7IGxpbnV4LWtl cm5lbEB2Z2VyLmtlcm5lbC5vcmc7DQo+dG9ueS5sdWNrQGludGVsLmNvbTsgcmFmYWVsQGtlcm5l bC5vcmc7IGxlbmJAa2VybmVsLm9yZzsNCj5tY2hlaGFiQGtlcm5lbC5vcmc7IGRhbi5qLndpbGxp YW1zQGludGVsLmNvbTsgZGF2ZUBzdGdvbGFicy5uZXQ7IEpvbmF0aGFuDQo+Q2FtZXJvbiA8am9u YXRoYW4uY2FtZXJvbkBodWF3ZWkuY29tPjsgZGF2ZS5qaWFuZ0BpbnRlbC5jb207DQo+YWxpc29u LnNjaG9maWVsZEBpbnRlbC5jb207IHZpc2hhbC5sLnZlcm1hQGludGVsLmNvbTsgaXJhLndlaW55 QGludGVsLmNvbTsNCj5kYXZpZEByZWRoYXQuY29tOyBWaWxhcy5TcmlkaGFyYW5AYW1kLmNvbTsg bGVvLmR1cmFuQGFtZC5jb207DQo+WWF6ZW4uR2hhbm5hbUBhbWQuY29tOyByaWVudGplc0Bnb29n bGUuY29tOyBqaWFxaXlhbkBnb29nbGUuY29tOw0KPkpvbi5HcmltbUBhbWQuY29tOyBkYXZlLmhh bnNlbkBsaW51eC5pbnRlbC5jb207DQo+bmFveWEuaG9yaWd1Y2hpQG5lYy5jb207IGphbWVzLm1v cnNlQGFybS5jb207IGp0aG91Z2h0b25AZ29vZ2xlLmNvbTsNCj5zb21hc3VuZGFyYW0uYUBocGUu Y29tOyBlcmRlbWFrdGFzQGdvb2dsZS5jb207IHBnb25kYUBnb29nbGUuY29tOw0KPmR1ZW53ZW5A Z29vZ2xlLmNvbTsgbWlrZS5tYWx2ZXN0dXRvQGludGVsLmNvbTsgZ3RoZWxlbkBnb29nbGUuY29t Ow0KPndzY2h3YXJ0ekBhbXBlcmVjb21wdXRpbmcuY29tOyBkZmVyZ3Vzb25AYW1wZXJlY29tcHV0 aW5nLmNvbTsNCj53YnNAb3MuYW1wZXJlY29tcHV0aW5nLmNvbTsgbmlmYW4uY3hsQGdtYWlsLmNv bTsgamdyb3Zlc0BtaWNyb24uY29tOw0KPnZzYWx2ZUBtaWNyb24uY29tOyB0YW54aWFvZmVpIDx0 YW54aWFvZmVpQGh1YXdlaS5jb20+OyBaZW5ndGFvIChCKQ0KPjxwcmltZS56ZW5nQGhpc2lsaWNv bi5jb20+OyBSb2JlcnRvIFNhc3N1IDxyb2JlcnRvLnNhc3N1QGh1YXdlaS5jb20+Ow0KPmthbmdr YW5nLnNoZW5AZnV0dXJld2VpLmNvbTsgd2FuZ2h1aXFpYW5nIDx3YW5naHVpcWlhbmdAaHVhd2Vp LmNvbT47DQo+TGludXhhcm0gPGxpbnV4YXJtQGh1YXdlaS5jb20+DQo+U3ViamVjdDogUmU6IFtQ QVRDSCB2MTIgMDEvMTddIEVEQUM6IEFkZCBzdXBwb3J0IGZvciBFREFDIGRldmljZSBmZWF0dXJl cw0KPmNvbnRyb2wNCj4NCj5PbiBXZWQsIFNlcCAxMSwgMjAyNCBhdCAxMDowNDozMEFNICswMTAw LCBzaGlqdS5qb3NlQGh1YXdlaS5jb20gd3JvdGU6DQo+PiArLyoqDQo+PiArICogZWRhY19kZXZf ZmVhdHVyZV9pbml0IC0gSW5pdCBhIFJBUyBmZWF0dXJlDQo+PiArICogQHBhcmVudDogY2xpZW50 IGRldmljZS4NCj4+ICsgKiBAZGV2X2RhdGE6IHBvaW50ZXIgdG8gdGhlIGVkYWNfZGV2X2RhdGEg c3RydWN0dXJlLCB3aGljaCBjb250YWlucw0KPj4gKyAqIGNsaWVudCBkZXZpY2Ugc3BlY2lmaWMg aW5mby4NCj4+ICsgKiBAZmVhdDogcG9pbnRlciB0byBzdHJ1Y3QgZWRhY19kZXZfZmVhdHVyZS4N Cj4+ICsgKiBAYXR0cl9ncm91cHM6IHBvaW50ZXIgdG8gYXR0cmlidXRlIGdyb3VwJ3MgY29udGFp bmVyLg0KPj4gKyAqDQo+PiArICogUmV0dXJucyBudW1iZXIgb2Ygc2NydWIgZmVhdHVyZXMgYXR0 cmlidXRlIGdyb3VwcyBvbiBzdWNjZXNzLA0KPg0KPk5vdCAic2NydWIiIC0gdGhpcyBpcyBhbiBp bnRlcmZhY2UgaW5pdGlhbGl6aW5nIGEgZ2VuZXJpYyBmZWF0dXJlLg0KV2lsbCBjb3JyZWN0Lg0K Pg0KPj4gKyAqIGVycm9yIG90aGVyd2lzZS4NCj4+ICsgKi8NCj4+ICtzdGF0aWMgaW50IGVkYWNf ZGV2X2ZlYXRfaW5pdChzdHJ1Y3QgZGV2aWNlICpwYXJlbnQsDQo+PiArCQkJICAgICAgc3RydWN0 IGVkYWNfZGV2X2RhdGEgKmRldl9kYXRhLA0KPj4gKwkJCSAgICAgIGNvbnN0IHN0cnVjdCBlZGFj X2Rldl9mZWF0dXJlICpyYXNfZmVhdCwNCj4+ICsJCQkgICAgICBjb25zdCBzdHJ1Y3QgYXR0cmli dXRlX2dyb3VwICoqYXR0cl9ncm91cHMpIHsNCj4+ICsJaW50IG51bTsNCj4+ICsNCj4+ICsJc3dp dGNoIChyYXNfZmVhdC0+ZnRfdHlwZSkgew0KPj4gKwljYXNlIFJBU19GRUFUX1NDUlVCOg0KPj4g KwkJZGV2X2RhdGEtPnNjcnViX29wcyA9IHJhc19mZWF0LT5zY3J1Yl9vcHM7DQo+PiArCQlkZXZf ZGF0YS0+cHJpdmF0ZSA9IHJhc19mZWF0LT5jdHg7DQo+PiArCQlyZXR1cm4gMTsNCj4+ICsJY2Fz ZSBSQVNfRkVBVF9FQ1M6DQo+PiArCQludW0gPSByYXNfZmVhdC0+ZWNzX2luZm8ubnVtX21lZGlh X2ZydXM7DQo+PiArCQlkZXZfZGF0YS0+ZWNzX29wcyA9IHJhc19mZWF0LT5lY3Nfb3BzOw0KPj4g KwkJZGV2X2RhdGEtPnByaXZhdGUgPSByYXNfZmVhdC0+Y3R4Ow0KPj4gKwkJcmV0dXJuIG51bTsN Cj4+ICsJY2FzZSBSQVNfRkVBVF9QUFI6DQo+PiArCQlkZXZfZGF0YS0+cHByX29wcyA9IHJhc19m ZWF0LT5wcHJfb3BzOw0KPj4gKwkJZGV2X2RhdGEtPnByaXZhdGUgPSByYXNfZmVhdC0+Y3R4Ow0K Pj4gKwkJcmV0dXJuIDE7DQo+PiArCWRlZmF1bHQ6DQo+PiArCQlyZXR1cm4gLUVJTlZBTDsNCj4+ ICsJfQ0KPj4gK30NCj4NCj5BbmQgd2h5IGRvZXMgdGhpcyBmdW5jdGlvbiBldmVuIGV4aXN0IGFu ZCBoYXMga2VybmVsLWRvYyBjb21tZW50cyB3aGVuIGFsbCBpdA0KPmRvZXMgaXMgYXNzaWduIGEg Y291cGxlIG9mIHZhbHVlcz8gQW5kIGl0IGdldHMgY2FsbGVkIGV4YWN0bHkgb25jZT8NCj4NCj5K dXN0IG1lcmdlIGl0cyBib2R5IGludG8gdGhlIGNhbGwgc2l0ZS4gVGhlcmUgeW91IGNhbiByZXVz ZSB0aGUgc3dpdGNoLWNhc2UgdGhlcmUNCj50b28uIE5vIG5lZWQgZm9yIHRvbyBtdWNoIG5vb2Rs aW5nIGFyb3VuZC4NCmVkYWNfZGV2X2ZlYXRfaW5pdCAoKSBmdW5jdGlvbiBpcyB1cGRhdGVkIHdp dGggZmVhdHVyZSBzcGVjaWZpYyBmdW5jdGlvbiBjYWxsKCkgZXRjIGluIHN1YnNlcXVlbnQNCkVE QUMgZmVhdHVyZSBzcGVjaWZpYyBwYXRjaGVzLiBUaHVzIGFkZGVkIGEgc2VwYXJhdGUgZnVuY3Rp b24uICAgDQo+DQo+PiBkaWZmIC0tZ2l0IGEvaW5jbHVkZS9saW51eC9lZGFjLmggYi9pbmNsdWRl L2xpbnV4L2VkYWMuaCBpbmRleA0KPj4gYjRlZTg5NjFlNjIzLi5iMzM3MjU0Y2Y1YjggMTAwNjQ0 DQo+PiAtLS0gYS9pbmNsdWRlL2xpbnV4L2VkYWMuaA0KPj4gKysrIGIvaW5jbHVkZS9saW51eC9l ZGFjLmgNCj4+IEBAIC02NjEsNCArNjYxLDU5IEBAIHN0YXRpYyBpbmxpbmUgc3RydWN0IGRpbW1f aW5mbw0KPj4gKmVkYWNfZ2V0X2RpbW0oc3RydWN0IG1lbV9jdGxfaW5mbyAqbWNpLA0KPj4NCj4+ ICAJcmV0dXJuIG1jaS0+ZGltbXNbaW5kZXhdOw0KPj4gIH0NCj4+ICsNCj4+ICsvKiBFREFDIGRl dmljZSBmZWF0dXJlcyAqLw0KPj4gKw0KPj4gKyNkZWZpbmUgRURBQ19GRUFUX05BTUVfTEVOCTEy OA0KPj4gKw0KPj4gKy8qIFJBUyBmZWF0dXJlIHR5cGUgKi8NCj4+ICtlbnVtIGVkYWNfZGV2X2Zl YXQgew0KPj4gKwlSQVNfRkVBVF9TQ1JVQiwNCj4+ICsJUkFTX0ZFQVRfRUNTLA0KPj4gKwlSQVNf RkVBVF9QUFIsDQo+PiArCVJBU19GRUFUX01BWA0KPg0KPkkgc3RpbGwgZG9uJ3Qga25vdyB3aGF0 IEVDUyBvciBQUFIgaXMuDQpJIHdpbGwgYWRkIGNvbW1lbnQvZG9jdW1lbnRhdGlvbiBoZXJlIHdp dGggYSBzaG9ydCBleHBsYW5hdGlvbiBvZiBmZWF0dXJlcw0KaWYgdGhhdCBtYWtlIHNlbnNlPw0K RWFjaCBmZWF0dXJlIGlzIGRlc2NyaWJlZCBpbiB0aGUgc3Vic2VxdWVudCBFREFDIGZlYXR1cmUg c3BlY2lmaWMgcGF0Y2hlcy4gDQo+DQo+LS0NCj5SZWdhcmRzL0dydXNzLA0KPiAgICBCb3Jpcy4N Cj4NCj5odHRwczovL3Blb3BsZS5rZXJuZWwub3JnL3RnbHgvbm90ZXMtYWJvdXQtbmV0aXF1ZXR0 ZQ0KDQpUaGFua3MsDQpTaGlqdQ0KDQo=