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 39B16E77197 for ; Thu, 9 Jan 2025 11:00:52 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 93F226B007B; Thu, 9 Jan 2025 06:00:51 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 8EF856B0082; Thu, 9 Jan 2025 06:00:51 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 78F5E6B0083; Thu, 9 Jan 2025 06:00:51 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0017.hostedemail.com [216.40.44.17]) by kanga.kvack.org (Postfix) with ESMTP id 565EA6B007B for ; Thu, 9 Jan 2025 06:00:51 -0500 (EST) Received: from smtpin30.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id 0A4C21A18D1 for ; Thu, 9 Jan 2025 11:00:51 +0000 (UTC) X-FDA: 82987620702.30.38FFE34 Received: from frasgout.his.huawei.com (frasgout.his.huawei.com [185.176.79.56]) by imf12.hostedemail.com (Postfix) with ESMTP id 6DBBB40015 for ; Thu, 9 Jan 2025 11:00:48 +0000 (UTC) Authentication-Results: imf12.hostedemail.com; dkim=none; spf=pass (imf12.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=1736420449; 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=5d2ubSzJHcX+qxEMJNt8TBpdtmppnskA8J6h11p1HvA=; b=5Nkfx083Wm9nLHy0Nazr7jD7/E2euuAzQCGjon1kKXlWdAx7N3YDQuOz8K65Y12m+GfTC5 izCLsR46ivI46g16rzizQLCh9Zx+BeX+jsXmN48h254C34dXNY0QiFmupy/saGNfwrQLCZ LmfEsfjYerA5lNRzL2knAunoWtasKXo= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1736420449; a=rsa-sha256; cv=none; b=QzStpX+AqkvpSa6e6AGqPpxGB3j2dF67+4m9aA5E6BUbHkRIya2DJKmlZjI5R5beBOkg85 TgqzhW+SbipwVpcfgstM18usdYzEXpLqTpnlnsu5KjJXC46q+GdFG56QJOvAV47s+ezeMC L1QCWVMhpAYrz8EmfG14GzjowtfuAw0= ARC-Authentication-Results: i=1; imf12.hostedemail.com; dkim=none; spf=pass (imf12.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 Received: from mail.maildlp.com (unknown [172.18.186.231]) by frasgout.his.huawei.com (SkyGuard) with ESMTP id 4YTMHS53YCz6L5Jc; Thu, 9 Jan 2025 18:59:32 +0800 (CST) Received: from frapeml500008.china.huawei.com (unknown [7.182.85.71]) by mail.maildlp.com (Postfix) with ESMTPS id 7BB16140A34; Thu, 9 Jan 2025 19:00:43 +0800 (CST) Received: from frapeml500007.china.huawei.com (7.182.85.172) by frapeml500008.china.huawei.com (7.182.85.71) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.39; Thu, 9 Jan 2025 12:00:43 +0100 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; Thu, 9 Jan 2025 12:00:43 +0100 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" , "gthelen@google.com" , "wschwartz@amperecomputing.com" , "dferguson@amperecomputing.com" , "wbs@os.amperecomputing.com" , "nifan.cxl@gmail.com" , tanxiaofei , "Zengtao (B)" , "Roberto Sassu" , "kangkang.shen@futurewei.com" , wanghuiqiang , Linuxarm Subject: RE: [PATCH v18 04/19] EDAC: Add memory repair control feature Thread-Topic: [PATCH v18 04/19] EDAC: Add memory repair control feature Thread-Index: AQHbYDQgB18e2Mzm30SSjInW5UV51bMOHe6AgAAV/KA= Date: Thu, 9 Jan 2025 11:00:43 +0000 Message-ID: <3b2d4275d1d24dbeacee0f192ac4d69b@huawei.com> References: <20250106121017.1620-1-shiju.jose@huawei.com> <20250106121017.1620-5-shiju.jose@huawei.com> <20250109091915.GAZ3-Uk3rkuh38cQyy@fat_crate.local> In-Reply-To: <20250109091915.GAZ3-Uk3rkuh38cQyy@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.195.245.15] Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-Rspamd-Server: rspam10 X-Rspamd-Queue-Id: 6DBBB40015 X-Stat-Signature: din183ioojxftw681wezsgyhm8s33iuj X-Rspam-User: X-HE-Tag: 1736420448-414463 X-HE-Meta: U2FsdGVkX18EhdUojFbhKsWBzDi/vLp2dTRhoXrogpqrhZYLqRcIIjxpG4W49co5E1gyGWa/qvZ9php6HxPWjVS+muY6KzQdQ58gnbBQPMFPXLkdcEqlECgYTl/VJ4JQMdIms4DNXOA53nMguu/We08Eyt7SRGpkzltxJIhEnvFck2l+p3T2sBYDLOLfn2BFfI6rJC7kH/MyC5cnY0xTImns/AwpekNfm0sBX0XGofxJj52wCOZ5F6h9uBbOep3bq9ht99pQpB1l4WMB39NLq5yIpEzOrFjYPiw5zCvl/QdsmaZX72RgZFmTnZ9CwmTvkWll0ytcuuBI2Gkw0t8aCSHarW3m5zgKZgifGFzBVt9M1ZntGKobmirwOnP/bYpC574dOnuEJJP4pYxmaeReBUT/JPVzt+5RzwiBIlSzbHBDl9SRE2aWedsoaBf3hG6ylCgo1AmK+MTj0hwTCDSxMD12tEUFNx9IM5KuoF2A/CtLJ4ph9e0AtVhzEC3UTPtYfrzJBlXoVPd2lG1GUgoLuSilcG+4NUuM3yC1BhGdLe1R6bz9k6AgRDKkDNZtMBX3oW85OH9DTcSNU0iXMrGnWYMKDXCZ+PVuyk7q9o8G8nSmd4j3dyrygUCyGUuTRIdLgx8LsXMns1UCUvZwv9BK8Q/ppN2ETYOwgndf0F7ZXmOqxe2GL81rhSjwNZBTFfSD0s0moAvFbKI5ceLikT1K4ALAZwD2LcP7QO/sMaB8crC6NcInHf6rUFTpx0fPPUUVqgr+mggFIHIQkTkEFIxFLo0ht4VDkSlSt4VNHWm+CUO7DoLo4PBYy5EouAcLCqBf3t35gIojWgcYDivLgr32SwTxSD2Po/LaVkP8X1VOgA4WQtbDHZThgSs5658Ze6fAONu9hp81G6zSrKx8m/DIuqZioK+xLtA0m9vjMRT8dGsHyYzj4bxfuTVxDDcl/f2g7IxfM9KSfdOp9zV2w6q /an468gs gOhWB3mN9ARPtxmDKqHd1CTx5Zt1yvjVsd+dcE7fsyXR95SomLebbgpaLLoxYk06f34LeooyrLB5e9eblWA0txTG5IBVbt9aDG15bkBqpJN6mD4GHmMndaqJrIPTcQiclr3qEe4YsR1uL+/BKI/6r7V4gA27aZfuxEyQv6rdCj85HjJ5TIWhkd5pzp1BgLn1jxIw2R/htSTHxFztKPAz+r9K6Z2p02OUXz/ulscccgBZHA3j8H2BKgmKm3g1SS/GNarcQBeo542koAt0L2KRsCXWoaqfHTEWWMMM4rZKjsmjbkpgv8mr/SgEDGR5A1mTQ/u1eIgpWRX/g4atwBovB7U269ZdORnq9mHAyXZdLBREnBUKK9Jp4DseCcyjTIvrvEv0OQVmL9A/VOOTce4tsLcZgBrzKNI3s1x/BZHYROGJFtK87eyaKu3s2y9NGYw9duaigP+JCpfdxR9TwcMAkWPtqhIGg2YFb2SVp/eF8bgKMeYcClCV8GtOHIM9YKp85CVddt0dWWwJ87ogwkobufRkzfuDqgZ+1FIibXat5elAIaTQhQP8jPNCwTPcJrX1qcOl4tS4ICMuIu0fevs203SgCVa2pmP/qL7rrjGQ5xrxxFZu3NJefto40IuVF698y1oNHVfxam5PCe8w8VpBkeLUQ3fdcVTUSaoFvPPUZEOJ1xVr3ksn7my9/zer2R+yqHKHwPi7pyjLS6tBSnLIYMHz6Dg0JfskHIezi6pkc0XrtDm67btZb/yH6nXkOV1gbudIG89MjCEbMOiX3zPMDGZN7AOK9QTvLR9iQNQuSdX5k9Egt8Rq2YhRpmB5tdeMcjvNTwx5DawIGKbNwyvriLDS9eIagZmuhnedo6GRHUBei+vyjB1FL5bSKV1jUnsVL0E2fSmoGd2didAV6x4MhoBuVe+8BNALhRWHNzI5B9KYAWiQ= 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: Pi0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+RnJvbTogQm9yaXNsYXYgUGV0a292IDxicEBh bGllbjguZGU+DQo+U2VudDogMDkgSmFudWFyeSAyMDI1IDA5OjE5DQo+VG86IFNoaWp1IEpvc2Ug PHNoaWp1Lmpvc2VAaHVhd2VpLmNvbT4NCj5DYzogbGludXgtZWRhY0B2Z2VyLmtlcm5lbC5vcmc7 IGxpbnV4LWN4bEB2Z2VyLmtlcm5lbC5vcmc7IGxpbnV4LQ0KPmFjcGlAdmdlci5rZXJuZWwub3Jn OyBsaW51eC1tbUBrdmFjay5vcmc7IGxpbnV4LWtlcm5lbEB2Z2VyLmtlcm5lbC5vcmc7DQo+dG9u eS5sdWNrQGludGVsLmNvbTsgcmFmYWVsQGtlcm5lbC5vcmc7IGxlbmJAa2VybmVsLm9yZzsNCj5t Y2hlaGFiQGtlcm5lbC5vcmc7IGRhbi5qLndpbGxpYW1zQGludGVsLmNvbTsgZGF2ZUBzdGdvbGFi cy5uZXQ7IEpvbmF0aGFuDQo+Q2FtZXJvbiA8am9uYXRoYW4uY2FtZXJvbkBodWF3ZWkuY29tPjsg ZGF2ZS5qaWFuZ0BpbnRlbC5jb207DQo+YWxpc29uLnNjaG9maWVsZEBpbnRlbC5jb207IHZpc2hh bC5sLnZlcm1hQGludGVsLmNvbTsgaXJhLndlaW55QGludGVsLmNvbTsNCj5kYXZpZEByZWRoYXQu Y29tOyBWaWxhcy5TcmlkaGFyYW5AYW1kLmNvbTsgbGVvLmR1cmFuQGFtZC5jb207DQo+WWF6ZW4u R2hhbm5hbUBhbWQuY29tOyByaWVudGplc0Bnb29nbGUuY29tOyBqaWFxaXlhbkBnb29nbGUuY29t Ow0KPkpvbi5HcmltbUBhbWQuY29tOyBkYXZlLmhhbnNlbkBsaW51eC5pbnRlbC5jb207DQo+bmFv eWEuaG9yaWd1Y2hpQG5lYy5jb207IGphbWVzLm1vcnNlQGFybS5jb207IGp0aG91Z2h0b25AZ29v Z2xlLmNvbTsNCj5zb21hc3VuZGFyYW0uYUBocGUuY29tOyBlcmRlbWFrdGFzQGdvb2dsZS5jb207 IHBnb25kYUBnb29nbGUuY29tOw0KPmR1ZW53ZW5AZ29vZ2xlLmNvbTsgZ3RoZWxlbkBnb29nbGUu Y29tOw0KPndzY2h3YXJ0ekBhbXBlcmVjb21wdXRpbmcuY29tOyBkZmVyZ3Vzb25AYW1wZXJlY29t cHV0aW5nLmNvbTsNCj53YnNAb3MuYW1wZXJlY29tcHV0aW5nLmNvbTsgbmlmYW4uY3hsQGdtYWls LmNvbTsgdGFueGlhb2ZlaQ0KPjx0YW54aWFvZmVpQGh1YXdlaS5jb20+OyBaZW5ndGFvIChCKSA8 cHJpbWUuemVuZ0BoaXNpbGljb24uY29tPjsgUm9iZXJ0bw0KPlNhc3N1IDxyb2JlcnRvLnNhc3N1 QGh1YXdlaS5jb20+OyBrYW5na2FuZy5zaGVuQGZ1dHVyZXdlaS5jb207DQo+d2FuZ2h1aXFpYW5n IDx3YW5naHVpcWlhbmdAaHVhd2VpLmNvbT47IExpbnV4YXJtDQo+PGxpbnV4YXJtQGh1YXdlaS5j b20+DQo+U3ViamVjdDogUmU6IFtQQVRDSCB2MTggMDQvMTldIEVEQUM6IEFkZCBtZW1vcnkgcmVw YWlyIGNvbnRyb2wgZmVhdHVyZQ0KPg0KPk9uIE1vbiwgSmFuIDA2LCAyMDI1IGF0IDEyOjEwOjAw UE0gKzAwMDAsIHNoaWp1Lmpvc2VAaHVhd2VpLmNvbSB3cm90ZToNCj4+ICtXaGF0OgkJL3N5cy9i dXMvZWRhYy9kZXZpY2VzLzxkZXYtDQo+bmFtZT4vbWVtX3JlcGFpclgvbWluX2hwYQ0KPj4gK1do YXQ6CQkvc3lzL2J1cy9lZGFjL2RldmljZXMvPGRldi0NCj5uYW1lPi9tZW1fcmVwYWlyWC9taW5f ZHBhDQo+PiArV2hhdDoJCS9zeXMvYnVzL2VkYWMvZGV2aWNlcy88ZGV2LQ0KPm5hbWU+L21lbV9y ZXBhaXJYL21pbl9uaWJibGVfbWFzaw0KPj4gK1doYXQ6CQkvc3lzL2J1cy9lZGFjL2RldmljZXMv PGRldi0NCj5uYW1lPi9tZW1fcmVwYWlyWC9taW5fYmFua19ncm91cA0KPj4gK1doYXQ6CQkvc3lz L2J1cy9lZGFjL2RldmljZXMvPGRldi0NCj5uYW1lPi9tZW1fcmVwYWlyWC9taW5fYmFuaw0KPj4g K1doYXQ6CQkvc3lzL2J1cy9lZGFjL2RldmljZXMvPGRldi0NCj5uYW1lPi9tZW1fcmVwYWlyWC9t aW5fcmFuaw0KPj4gK1doYXQ6CQkvc3lzL2J1cy9lZGFjL2RldmljZXMvPGRldi0NCj5uYW1lPi9t ZW1fcmVwYWlyWC9taW5fcm93DQo+PiArV2hhdDoJCS9zeXMvYnVzL2VkYWMvZGV2aWNlcy88ZGV2 LQ0KPm5hbWU+L21lbV9yZXBhaXJYL21pbl9jb2x1bW4NCj4+ICtXaGF0OgkJL3N5cy9idXMvZWRh Yy9kZXZpY2VzLzxkZXYtDQo+bmFtZT4vbWVtX3JlcGFpclgvbWluX2NoYW5uZWwNCj4+ICtXaGF0 OgkJL3N5cy9idXMvZWRhYy9kZXZpY2VzLzxkZXYtDQo+bmFtZT4vbWVtX3JlcGFpclgvbWluX3N1 Yl9jaGFubmVsDQo+PiArV2hhdDoJCS9zeXMvYnVzL2VkYWMvZGV2aWNlcy88ZGV2LQ0KPm5hbWU+ L21lbV9yZXBhaXJYL21heF9ocGENCj4+ICtXaGF0OgkJL3N5cy9idXMvZWRhYy9kZXZpY2VzLzxk ZXYtDQo+bmFtZT4vbWVtX3JlcGFpclgvbWF4X2RwYQ0KPj4gK1doYXQ6CQkvc3lzL2J1cy9lZGFj L2RldmljZXMvPGRldi0NCj5uYW1lPi9tZW1fcmVwYWlyWC9tYXhfbmliYmxlX21hc2sNCj4+ICtX aGF0OgkJL3N5cy9idXMvZWRhYy9kZXZpY2VzLzxkZXYtDQo+bmFtZT4vbWVtX3JlcGFpclgvbWF4 X2JhbmtfZ3JvdXANCj4+ICtXaGF0OgkJL3N5cy9idXMvZWRhYy9kZXZpY2VzLzxkZXYtDQo+bmFt ZT4vbWVtX3JlcGFpclgvbWF4X2JhbmsNCj4+ICtXaGF0OgkJL3N5cy9idXMvZWRhYy9kZXZpY2Vz LzxkZXYtDQo+bmFtZT4vbWVtX3JlcGFpclgvbWF4X3JhbmsNCj4+ICtXaGF0OgkJL3N5cy9idXMv ZWRhYy9kZXZpY2VzLzxkZXYtDQo+bmFtZT4vbWVtX3JlcGFpclgvbWF4X3Jvdw0KPj4gK1doYXQ6 CQkvc3lzL2J1cy9lZGFjL2RldmljZXMvPGRldi0NCj5uYW1lPi9tZW1fcmVwYWlyWC9tYXhfY29s dW1uDQo+PiArV2hhdDoJCS9zeXMvYnVzL2VkYWMvZGV2aWNlcy88ZGV2LQ0KPm5hbWU+L21lbV9y ZXBhaXJYL21heF9jaGFubmVsDQo+PiArV2hhdDoJCS9zeXMvYnVzL2VkYWMvZGV2aWNlcy88ZGV2 LQ0KPm5hbWU+L21lbV9yZXBhaXJYL21heF9zdWJfY2hhbm5lbA0KPg0KPlNvIHRoaXMgaXMgbmV3 LiBJIGRvbid0IHJlbWVtYmVyIHNlZWluZyB0aGF0IHdoZW4gSSBsb29rZWQgYXQgeW91ciBwYXRj aGVzIHRoZQ0KPmxhc3QgdGltZS4NCj4NCj5Mb29rcyBsaWtlIHlvdSBoYXZlIGFsbCB0aG9zZSBh dHRyaWJ1dGVzIGFuZCBub3cgeW91J3ZlIGRlY2lkZWQgdG8gYWRkIGEgbWluIGFuZA0KPm1heCBm b3IgZWFjaCBvbmUsIGluIGFkZGl0aW9uLiBBbmQgVUktd2lzZSBpdCBpcyBhIG1hZG5lc3MgYXMg dGhlcmUgYXJlIGdhemlsbGlvbg0KPnNpbmdsZS12YWx1ZSBmaWxlcyBub3cuDQo+DQoNClRoYW5r cyBmb3IgdGhlIGZlZWRiYWNrcy4NCg0KVGhlIG1pbl8gYW5kIG1heF8gYXR0cmlidXRlcyBvZiB0 aGUgY29udHJvbCBhdHRyaWJ1dGVzIGFyZSBhZGRlZCAgZm9yIHlvdXINCmZlZWRiYWNrIG9uIFYx NSB0byBleHBvc2Ugc3VwcG9ydGVkIHJhbmdlcyBvZiB0aGVzZSBjb250cm9sIGF0dHJpYnV0ZXMg dG8gdGhlIHVzZXIsIA0KaW4gdGhlIGZvbGxvd2luZyBsaW5rcy4gICANCkhvd2V2ZXIgdGhlc2Ug bWluXyBhbmQgbWF4XyBhdHRyaWJ1dGVzIGFyZSAnUk8nIGluc3RlYWQgb2YgJ1JXJyBhcyBzcGVj aWZpZWQgaW4gdGhlIGRvYywgDQp3aGljaCB0byBiZSBmaXhlZCBpbiB0aGUgZG9jLg0KaHR0cHM6 Ly9sb3JlLmtlcm5lbC5vcmcvbGttbC8yMDI0MTExNDEzMzI0OS5HRVp6WDhBVE55Y19YdzFMNTJA ZmF0X2NyYXRlLmxvY2FsLw0KaHR0cHM6Ly9sb3JlLmtlcm5lbC5vcmcvbGttbC9mYTVkNmJkZDA4 MTA0Y2YxYTA5YzQ5NjBhMGY5YmM0NkBodWF3ZWkuY29tLw0KaHR0cHM6Ly9sb3JlLmtlcm5lbC5v cmcvbGttbC8yMDI0MTExOTEyMzY1Ny5HQ1p6eUdhWklFeHZVSFBMS0xAZmF0X2NyYXRlLmxvY2Fs Lw0KDQo+IkF0dHJpYnV0ZXMgc2hvdWxkIGJlIEFTQ0lJIHRleHQgZmlsZXMsIHByZWZlcmFibHkg d2l0aCBvbmx5IG9uZSB2YWx1ZSBwZXIgZmlsZS4gSXQgaXMNCj5ub3RlZCB0aGF0IGl0IG1heSBu b3QgYmUgZWZmaWNpZW50IHRvIGNvbnRhaW4gb25seSBvbmUgdmFsdWUgcGVyIGZpbGUsIHNvIGl0 IGlzDQo+c29jaWFsbHkgYWNjZXB0YWJsZSB0byBleHByZXNzIGFuIGFycmF5IG9mIHZhbHVlcyBv ZiB0aGUgc2FtZSB0eXBlLiINCj4NCj5TbyB5b3UgZG9uJ3QgbmVlZCB0aG9zZSAtIHlvdSBjYW4g c2ltcGx5IGV4cHJlc3MgZWFjaCBhdHRyaWJ1dGUgYXMgYSByYW5nZToNCj4NCj5lY2hvICIxOjIi ID4gL3N5cy9idXMvZWRhYy9kZXZpY2VzLzxkZXYtbmFtZT4vbWVtX3JlcGFpclgvYmFuaw0KPg0K Pm9yIGlmIHlvdSB3YW5uYSBzY3J1YiBvbmx5IG9uZSBiYW5rOg0KDQpBZnRlciBpbnRlcm5hbCBk aXNjdXNzaW9uLCB3ZSB0aGluayB0aGlzIGlzIHRoZSBzb3VyY2Ugb2YgdGhlIGNvbmZ1c2lvbi4g DQpUaGlzIGlzIG5vdCBzY3J1YiB3aGVyZSBhIHJhbmdlIHdvdWxkIGluZGVlZCBtYWtlIHNlbnNl LiBJdCBpcyByZXBhaXIuIA0KV2UgYXJlIG5vdCBhd2FyZSBvZiBhIGZhaWx1cmUgbWVjaGFuaXNt IHdoZXJlIGEgc2V0IG9mIG1lbW9yeSBiYW5rcw0Kd291bGQgZmFpbCB0b2dldGhlciBidXQgbm90 IHRoZSB3aG9sZSBvZiB0aGUgbmV4dCBsZXZlbCB1cCBpbiB0aGUgbWVtb3J5IHRvcG9sb2d5LiAN Cg0KSW4gdGhlb3J5IHdlIG1pZ2h0IGdldCBhIHN0dXBpZCBkZXZpY2UgZGVzaWduIHdoZXJlIGl0 IHJlcG9ydHMgY29hcnNlIGxldmVsDQplcnJvcnMgYnV0IGNhbiBvbmx5IHJlcGFpciBhdCBmaW5l IGxldmVscyB3aGVyZSBhIHJhbmdlIG1pZ2h0IGJlIGFwcHJvcHJpYXRlLg0KV2UgYXJlIG5vdCBz dXJlIHRoYXQgbWFrZXMgc2Vuc2UgaW4gcHJhY3RpY2UgYW5kIHdpdGggYSByYW5nZSBpbnRlcmZh Y2Ugd2Ugd2lsbA0KZ2V0IG1lc3MgbGlrZSBydW5uaW5nIG91dCBvZiByZXBhaXIgcmVzb3VyY2Vz IGhhbGYgd2F5IHRocm91Z2ggYSBsaXN0IHdpdGgNCm5vIHZpc2liaWxpdHkgb2Ygd2hhdCBpcyBy ZXBhaXJlZC4NCg0KSG93ZXZlciwgZ2l2ZW4gdGhlIHJlcGFpciBmbG93IGlzIGRyaXZlbiBieSB1 c2Vyc3BhY2UgcmVjZWl2aW5nIGVycm9yIHJlY29yZHMNCnRoYXQgd2lsbCBvbmx5IHBvc3NpYmxl IHZhbHVlcyB0byByZXBhaXIsIHdlIHRoaW5rIHRoZXNlIGJvdW5kcyBvbiB3aGF0IGNhbiBiZQ0K cmVwYWlyZWQgYXJlIGEgbmljZSB0byBoYXZlIHJhdGhlciB0aGFuIG5lY2Vzc2FyeSBzbyB3ZSB3 b3VsZCBwcm9wb3NlIHdlIGRvIG5vdA0KYWRkIG1heF8gYW5kIG1pbl8gZm9yIG5vdyBhbmQgc2Vl IGhvdyB0aGUgdXNlIGNhc2VzIGV2b2x2ZS4NCj4NCj5lY2hvICIxOjEiID4gL3N5cy9idXMvZWRh Yy9kZXZpY2VzLzxkZXYtbmFtZT4vbWVtX3JlcGFpclgvYmFuaw0KPg0KPldoYXQgaXMgdGhlIHVz ZSBjYXNlIG9mIHRoYXQgdGhpbmc/DQo+DQo+U29tZW9uZSBtaWdodCBmaW5kIGl0IHVzZWZ1bCBz byBsZXQncyBhZGQgaXQgcHJlZW1wdGl2ZWx5Pw0KPg0KPlBmZmYuDQo+DQo+LS0NCj5SZWdhcmRz L0dydXNzLA0KPiAgICBCb3Jpcy4NCj4NCj5odHRwczovL3Blb3BsZS5rZXJuZWwub3JnL3RnbHgv bm90ZXMtYWJvdXQtbmV0aXF1ZXR0ZQ0KDQpUaGFua3MsDQpTaGlqdQ0K