From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mta21.hihonor.com (mta21.honor.com [81.70.160.142]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 93A4523FC49 for ; Mon, 22 Dec 2025 09:16:38 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=81.70.160.142 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1766395000; cv=none; b=rKPD/zXyS5Kn+VIEJ01Ypsld9qs6/bnoIAKrmyXqbXfUKLh33n4YoxCkLJrj1tCnwbpdEX33AWxXct4cCVGyX82q1qM0Qwbm0DE6bU6Myi9pibP2YFHNBQFw+WRuSmvd2xG+uSmhxrSpOR1xt1iGCorVeYVONUpnr7vaWKpChWM= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1766395000; c=relaxed/simple; bh=n8yoF26tQkodqYh0wMoOhivOAO11RUhpUb9ohKB9TwI=; h=From:To:CC:Subject:Date:Message-ID:References:In-Reply-To: Content-Type:MIME-Version; b=ZmtKJ2JEv6XF3ul1qIbKX/ulex5enVSajNqa4G4jCA3VrgLm199jHIJrsc0hU1vzIDPZqWMmUcxnQxCPGV9eNJ4Hx4+nTb137bBeg3OpzdNZNPsBKSAC5ViQB1Ps3sywG1xKvdDMNo6dBcT+/jOqJSv0+kLgL1/kvhUvWKFp+f0= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=honor.com; spf=pass smtp.mailfrom=honor.com; arc=none smtp.client-ip=81.70.160.142 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=honor.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=honor.com Received: from w002.hihonor.com (unknown [10.68.28.120]) by mta21.hihonor.com (SkyGuard) with ESMTPS id 4dZXWL0TzYzYkyXB; Mon, 22 Dec 2025 17:13:50 +0800 (CST) Received: from w020.hihonor.com (10.68.31.183) by w002.hihonor.com (10.68.28.120) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.27; Mon, 22 Dec 2025 17:16:29 +0800 Received: from w025.hihonor.com (10.68.28.69) by w020.hihonor.com (10.68.31.183) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.27; Mon, 22 Dec 2025 17:16:29 +0800 Received: from w025.hihonor.com ([fe80::5a3b:9b85:bbde:73b9]) by w025.hihonor.com ([fe80::5a3b:9b85:bbde:73b9%14]) with mapi id 15.02.2562.027; Mon, 22 Dec 2025 17:16:29 +0800 From: yuanlinyu To: Enze Li , Huacai Chen CC: Alexander Potapenko , Marco Elver , Dmitry Vyukov , Andrew Morton , WANG Xuerui , "kasan-dev@googlegroups.com" , "linux-mm@kvack.org" , "loongarch@lists.linux.dev" , "linux-kernel@vger.kernel.org" , "enze.li@gmx.com" Subject: RE: [PATCH v2 1/2] LoongArch: kfence: avoid use CONFIG_KFENCE_NUM_OBJECTS Thread-Topic: [PATCH v2 1/2] LoongArch: kfence: avoid use CONFIG_KFENCE_NUM_OBJECTS Thread-Index: AQHcb+kJ0Mrpi/YLLUuMpTbvJeaADrUntCKAgAHNJgCAA+WFIA== Date: Mon, 22 Dec 2025 09:16:29 +0000 Message-ID: References: <20251218063916.1433615-1-yuanlinyu@honor.com> <20251218063916.1433615-2-yuanlinyu@honor.com> In-Reply-To: Accept-Language: zh-CN, en-US Content-Language: zh-CN X-MS-Has-Attach: X-MS-TNEF-Correlator: Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Precedence: bulk X-Mailing-List: loongarch@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 PiBGcm9tOiBFbnplIExpIDxsaWVuemVAa3lsaW5vcy5jbj4NCj4gU2VudDogU2F0dXJkYXksIERl Y2VtYmVyIDIwLCAyMDI1IDE6NDQgUE0NCj4gVG86IEh1YWNhaSBDaGVuIDxjaGVuaHVhY2FpQGtl cm5lbC5vcmc+OyB5dWFubGlueXUgPHl1YW5saW55dUBob25vci5jb20+DQo+IENjOiBBbGV4YW5k ZXIgUG90YXBlbmtvIDxnbGlkZXJAZ29vZ2xlLmNvbT47IE1hcmNvIEVsdmVyDQo+IDxlbHZlckBn b29nbGUuY29tPjsgRG1pdHJ5IFZ5dWtvdiA8ZHZ5dWtvdkBnb29nbGUuY29tPjsgQW5kcmV3IE1v cnRvbg0KPiA8YWtwbUBsaW51eC1mb3VuZGF0aW9uLm9yZz47IFdBTkcgWHVlcnVpIDxrZXJuZWxA eGVuMG4ubmFtZT47DQo+IGthc2FuLWRldkBnb29nbGVncm91cHMuY29tOyBsaW51eC1tbUBrdmFj ay5vcmc7IGxvb25nYXJjaEBsaXN0cy5saW51eC5kZXY7DQo+IGxpbnV4LWtlcm5lbEB2Z2VyLmtl cm5lbC5vcmc7IGVuemUubGlAZ214LmNvbQ0KPiBTdWJqZWN0OiBSZTogW1BBVENIIHYyIDEvMl0g TG9vbmdBcmNoOiBrZmVuY2U6IGF2b2lkIHVzZQ0KPiBDT05GSUdfS0ZFTkNFX05VTV9PQkpFQ1RT DQo+IA0KPiBPbiAyMDI1LzEyLzE5IDEwOjEzLCBIdWFjYWkgQ2hlbiB3cm90ZToNCj4gPiBIaSwg RW56ZSwNCj4gPg0KPiA+IE9uIFRodSwgRGVjIDE4LCAyMDI1IGF0IDI6MznigK9QTSB5dWFuIGxp bnl1IDx5dWFubGlueXVAaG9ub3IuY29tPiB3cm90ZToNCj4gPj4NCj4gPj4gdXNlIGNvbW1vbiBr ZmVuY2UgbWFjcm8gS0ZFTkNFX1BPT0xfU0laRSBmb3IgS0ZFTkNFX0FSRUFfU0laRQ0KPiA+PiBk ZWZpbml0aW9uDQo+ID4+DQo+ID4+IFNpZ25lZC1vZmYtYnk6IHl1YW4gbGlueXUgPHl1YW5saW55 dUBob25vci5jb20+DQo+ID4+IC0tLQ0KPiA+PiAgYXJjaC9sb29uZ2FyY2gvaW5jbHVkZS9hc20v cGd0YWJsZS5oIHwgMyArKy0NCj4gPj4gIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyks IDEgZGVsZXRpb24oLSkNCj4gPj4NCj4gPj4gZGlmZiAtLWdpdCBhL2FyY2gvbG9vbmdhcmNoL2lu Y2x1ZGUvYXNtL3BndGFibGUuaA0KPiA+PiBiL2FyY2gvbG9vbmdhcmNoL2luY2x1ZGUvYXNtL3Bn dGFibGUuaA0KPiA+PiBpbmRleCBmNDFhNjQ4YTNkOWUuLmU5OTY2YzlmODQ0ZiAxMDA2NDQNCj4g Pj4gLS0tIGEvYXJjaC9sb29uZ2FyY2gvaW5jbHVkZS9hc20vcGd0YWJsZS5oDQo+ID4+ICsrKyBi L2FyY2gvbG9vbmdhcmNoL2luY2x1ZGUvYXNtL3BndGFibGUuaA0KPiA+PiBAQCAtMTAsNiArMTAs NyBAQA0KPiA+PiAgI2RlZmluZSBfQVNNX1BHVEFCTEVfSA0KPiA+Pg0KPiA+PiAgI2luY2x1ZGUg PGxpbnV4L2NvbXBpbGVyLmg+DQo+ID4+ICsjaW5jbHVkZSA8bGludXgva2ZlbmNlLmg+DQo+ID4+ ICAjaW5jbHVkZSA8YXNtL2FkZHJzcGFjZS5oPg0KPiA+PiAgI2luY2x1ZGUgPGFzbS9hc20uaD4N Cj4gPj4gICNpbmNsdWRlIDxhc20vcGFnZS5oPg0KPiA+PiBAQCAtOTYsNyArOTcsNyBAQCBleHRl cm4gdW5zaWduZWQgbG9uZyBlbXB0eV96ZXJvX3BhZ2VbUEFHRV9TSVpFIC8NCj4gc2l6ZW9mKHVu c2lnbmVkIGxvbmcpXTsNCj4gPj4gICNkZWZpbmUgTU9EVUxFU19FTkQgICAgKE1PRFVMRVNfVkFE RFIgKyBTWl8yNTZNKQ0KPiA+Pg0KPiA+PiAgI2lmZGVmIENPTkZJR19LRkVOQ0UNCj4gPj4gLSNk ZWZpbmUgS0ZFTkNFX0FSRUFfU0laRSAgICAgICAoKChDT05GSUdfS0ZFTkNFX05VTV9PQkpFQ1RT ICsgMSkNCj4gKiAyICsgMikgKiBQQUdFX1NJWkUpDQo+ID4+ICsjZGVmaW5lIEtGRU5DRV9BUkVB X1NJWkUgICAgICAgKEtGRU5DRV9QT09MX1NJWkUgKyAoMiAqDQo+IFBBR0VfU0laRSkpDQo+ID4g Q2FuIHlvdSByZW1lbWJlciB3aHkgeW91IGRpZG4ndCB1c2UgS0ZFTkNFX1BPT0xfU0laRSBhdCB0 aGUgZmlyc3QgcGxhY2U/DQo+IA0KPiBJIGRvbid0IHJlY2FsbCB0aGUgZXhhY3QgcmVhc29uIG9m ZiB0aGUgdG9wIG9mIG15IGhlYWQsIGJ1dCBJIGJlbGlldmUgaXQgd2FzIGR1ZSB0bw0KPiBjb21w bGV4IGRlcGVuZGVuY3kgaXNzdWVzIHdpdGggdGhlIGhlYWRlciBmaWxlcyB3aGVyZSBLRkVOQ0Vf UE9PTF9TSVpFIGlzDQo+IGRlZmluZWQuICBUbyBhdm9pZCB0aG9zZSBjb21wbGljYXRpb25zLCB3 ZSBsaWtlbHkgb3B0ZWQgdG8gdXNlDQo+IEtGRU5DRV9OVU1fT0JKRUNUUyBkaXJlY3RseS4NCj4g DQo+IEkgY2hlY2tlZCBvdXQgdGhlIGNvZGUgYXQgY29tbWl0DQo+ICg2YWQzZGY1NmJiMTk5MTM0 ODAwOTMzZGYyYWZjZDdkZjNiMDNlZjMzICJMb29uZ0FyY2g6IEFkZCBLRkVOQ0UNCj4gKEtlcm5l bA0KPiBFbGVjdHJpYy1GZW5jZSkgc3VwcG9ydCIpIGFuZCBlbmNvdW50ZXJlZCB0aGUgZm9sbG93 aW5nIGVycm9ycyB3aGVuIGNvbXBpbGluZw0KPiB3aXRoIHRoaXMgcGF0Y2ggYXBwbGllZC4NCj4g DQo+IDg8LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tDQo+ICAgQ0MgICAgICBhcmNoL2xvb25nYXJjaC9rZXJuZWwvYXNtLW9mZnNldHMucw0KPiBJ biBmaWxlIGluY2x1ZGVkIGZyb20gLi9hcmNoL2xvb25nYXJjaC9pbmNsdWRlL2FzbS9wZ3RhYmxl Lmg6MTMsDQo+ICAgICAgICAgICAgICAgICAgZnJvbSAuL2luY2x1ZGUvbGludXgvcGd0YWJsZS5o OjYsDQo+ICAgICAgICAgICAgICAgICAgZnJvbSAuL2luY2x1ZGUvbGludXgvbW0uaDoyOSwNCj4g ICAgICAgICAgICAgICAgICBmcm9tIGFyY2gvbG9vbmdhcmNoL2tlcm5lbC9hc20tb2Zmc2V0cy5j Ojk6DQo+IC4vaW5jbHVkZS9saW51eC9rZmVuY2UuaDo5MzozNTogd2FybmluZzogJ3N0cnVjdCBr bWVtX2NhY2hlJyBkZWNsYXJlZCBpbnNpZGUNCj4gcGFyYW1ldGVyIGxpc3Qgd2lsbCBuIG90IGJl IHZpc2libGUgb3V0c2lkZSBvZiB0aGlzIGRlZmluaXRpb24gb3IgZGVjbGFyYXRpb24NCj4gICAg OTMgfCB2b2lkIGtmZW5jZV9zaHV0ZG93bl9jYWNoZShzdHJ1Y3Qga21lbV9jYWNoZSAqcyk7DQo+ ICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn4NCj4g Li9pbmNsdWRlL2xpbnV4L2tmZW5jZS5oOjk5OjI5OiB3YXJuaW5nOiAnc3RydWN0IGttZW1fY2Fj aGUnIGRlY2xhcmVkIGluc2lkZQ0KPiBwYXJhbWV0ZXIgbGlzdCB3aWxsIG4gb3QgYmUgdmlzaWJs ZSBvdXRzaWRlIG9mIHRoaXMgZGVmaW5pdGlvbiBvciBkZWNsYXJhdGlvbg0KPiAgICA5OSB8IHZv aWQgKl9fa2ZlbmNlX2FsbG9jKHN0cnVjdCBrbWVtX2NhY2hlICpzLCBzaXplX3Qgc2l6ZSwgZ2Zw X3QgZmxhZ3MpOw0KPiAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+ fn5+DQo+IC4vaW5jbHVkZS9saW51eC9rZmVuY2UuaDoxMTc6NTA6IHdhcm5pbmc6ICdzdHJ1Y3Qg a21lbV9jYWNoZScgZGVjbGFyZWQgaW5zaWRlDQo+IHBhcmFtZXRlciBsaXN0IHdpbGwgbm90IGJl IHZpc2libGUgb3V0c2lkZSBvZiB0aGlzIGRlZmluaXRpb24gb3IgZGVjbGFyYXRpb24NCj4gICAx MTcgfCBzdGF0aWMgX19hbHdheXNfaW5saW5lIHZvaWQgKmtmZW5jZV9hbGxvYyhzdHJ1Y3Qga21l bV9jYWNoZSAqcywgc2l6ZV90DQo+IHNpemUsIGdmcF90IGZsYWdzKQ0KPiAgICAgICB8DQo+IF5+ fn5+fn5+fn4NCj4gLi9pbmNsdWRlL2xpbnV4L2tmZW5jZS5oOiBJbiBmdW5jdGlvbiAna2ZlbmNl X2FsbG9jJzoNCj4gLi9pbmNsdWRlL2xpbnV4L2tmZW5jZS5oOjEyODozMTogZXJyb3I6IHBhc3Np bmcgYXJndW1lbnQgMSBvZiAnX19rZmVuY2VfYWxsb2MnDQo+IGZyb20gaW5jb21wYXRpYmxlIHAg b2ludGVyIHR5cGUgWy1XaW5jb21wYXRpYmxlLXBvaW50ZXItdHlwZXNdDQo+ICAgMTI4IHwgICAg ICAgICByZXR1cm4gX19rZmVuY2VfYWxsb2Mocywgc2l6ZSwgZmxhZ3MpOw0KPiAgICAgICB8ICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4NCj4gICAgICAgfCAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICB8DQo+ICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg c3RydWN0IGttZW1fY2FjaGUgKg0KPiAuL2luY2x1ZGUvbGludXgva2ZlbmNlLmg6OTk6NDE6IG5v dGU6IGV4cGVjdGVkICdzdHJ1Y3Qga21lbV9jYWNoZSAqJyBidXQNCj4gYXJndW1lbnQgaXMgb2Yg dHlwZSAnc3RydSBjdCBrbWVtX2NhY2hlIConDQo+ICAgIDk5IHwgdm9pZCAqX19rZmVuY2VfYWxs b2Moc3RydWN0IGttZW1fY2FjaGUgKnMsIHNpemVfdCBzaXplLCBnZnBfdCBmbGFncyk7DQo+ICAg ICAgIHwgICAgICAgICAgICAgICAgICAgICAgfn5+fn5+fn5+fn5+fn5+fn5+fl4NCj4gLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tPjgNCj4gDQo+ IFNpbWlsYXJseSwgYWZ0ZXIgYXBwbHlpbmcgdGhpcyBwYXRjaCB0byB0aGUgbGF0ZXN0IGNvZGUN Cj4gKGRkOWIwMDRiN2ZmMzI4OWZiN2JhZTM1MTMwYzBhNWMwNTM3MjY2YWYgIk1lcmdlIHRhZyAn dHJhY2UtdjYuMTktcmMxJyIpDQo+IGZyb20gdGhlIG1hc3RlciBicmFuY2ggb2YgdGhlIExpbnV4 IHJlcG9zaXRvcnkgYW5kIGVuYWJsaW5nIEtGRU5DRSwgSQ0KPiBlbmNvdW50ZXJlZCB0aGUgZm9s bG93aW5nIGNvbXBpbGF0aW9uIGVycm9ycy4NCj4gDQo+IDg8LS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQo+ICAgQ0MgICAgICBhcmNoL2xvb25n YXJjaC9rZXJuZWwvYXNtLW9mZnNldHMucw0KPiBJbiBmaWxlIGluY2x1ZGVkIGZyb20gLi9hcmNo L2xvb25nYXJjaC9pbmNsdWRlL2FzbS9wZ3RhYmxlLmg6MTMsDQo+ICAgICAgICAgICAgICAgICAg ZnJvbSAuL2luY2x1ZGUvbGludXgvcGd0YWJsZS5oOjYsDQo+ICAgICAgICAgICAgICAgICAgZnJv bSAuL2luY2x1ZGUvbGludXgvbW0uaDozMSwNCj4gICAgICAgICAgICAgICAgICBmcm9tIGFyY2gv bG9vbmdhcmNoL2tlcm5lbC9hc20tb2Zmc2V0cy5jOjExOg0KPiAuL2luY2x1ZGUvbGludXgva2Zl bmNlLmg6OTc6MzU6IHdhcm5pbmc6ICdzdHJ1Y3Qga21lbV9jYWNoZScgZGVjbGFyZWQgaW5zaWRl DQo+IHBhcmFtZXRlciBsaXN0IHdpbGwgbiBvdCBiZSB2aXNpYmxlIG91dHNpZGUgb2YgdGhpcyBk ZWZpbml0aW9uIG9yIGRlY2xhcmF0aW9uDQo+ICAgIDk3IHwgdm9pZCBrZmVuY2Vfc2h1dGRvd25f Y2FjaGUoc3RydWN0IGttZW1fY2FjaGUgKnMpOw0KPiAgICAgICB8ICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBefn5+fn5+fn5+DQo+IC4vaW5jbHVkZS9saW51eC9rZmVuY2UuaDox MDM6Mjk6IHdhcm5pbmc6ICdzdHJ1Y3Qga21lbV9jYWNoZScgZGVjbGFyZWQgaW5zaWRlDQo+IHBh cmFtZXRlciBsaXN0IHdpbGwgbm90IGJlIHZpc2libGUgb3V0c2lkZSBvZiB0aGlzIGRlZmluaXRp b24gb3IgZGVjbGFyYXRpb24NCj4gICAxMDMgfCB2b2lkICpfX2tmZW5jZV9hbGxvYyhzdHJ1Y3Qg a21lbV9jYWNoZSAqcywgc2l6ZV90IHNpemUsIGdmcF90IGZsYWdzKTsNCj4gICAgICAgfCAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fg0KPiAuL2luY2x1ZGUvbGludXgva2Zl bmNlLmg6MTIxOjUwOiB3YXJuaW5nOiAnc3RydWN0IGttZW1fY2FjaGUnIGRlY2xhcmVkIGluc2lk ZQ0KPiBwYXJhbWV0ZXIgbGlzdCB3aWxsIG5vdCBiZSB2aXNpYmxlIG91dHNpZGUgb2YgdGhpcyBk ZWZpbml0aW9uIG9yIGRlY2xhcmF0aW9uDQo+ICAgMTIxIHwgc3RhdGljIF9fYWx3YXlzX2lubGlu ZSB2b2lkICprZmVuY2VfYWxsb2Moc3RydWN0IGttZW1fY2FjaGUgKnMsIHNpemVfdA0KPiBzaXpl LCBnZnBfdCBmbGFncykNCj4gICAgICAgfA0KPiBefn5+fn5+fn5+DQo+IC4vaW5jbHVkZS9saW51 eC9rZmVuY2UuaDogSW4gZnVuY3Rpb24gJ2tmZW5jZV9hbGxvYyc6DQo+IC4vaW5jbHVkZS9saW51 eC9rZmVuY2UuaDoxMzI6MzE6IGVycm9yOiBwYXNzaW5nIGFyZ3VtZW50IDEgb2YgJ19fa2ZlbmNl X2FsbG9jJw0KPiBmcm9tIGluY29tcGF0aWJsZSBwIG9pbnRlciB0eXBlIFstV2luY29tcGF0aWJs ZS1wb2ludGVyLXR5cGVzXQ0KPiAgIDEzMiB8ICAgICAgICAgcmV0dXJuIF9fa2ZlbmNlX2FsbG9j KHMsIHNpemUsIGZsYWdzKTsNCj4gICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBeDQo+ICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfA0KPiAgICAgICB8 ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBrbWVtX2NhY2hlICoNCj4gLi9p bmNsdWRlL2xpbnV4L2tmZW5jZS5oOjEwMzo0MTogbm90ZTogZXhwZWN0ZWQgJ3N0cnVjdCBrbWVt X2NhY2hlIConDQo+IGJ1dCBhcmd1bWVudCBpcyBvZiB0eXBlICdzdHINCj4gdWN0IGttZW1fY2Fj aGUgKicNCj4gICAxMDMgfCB2b2lkICpfX2tmZW5jZV9hbGxvYyhzdHJ1Y3Qga21lbV9jYWNoZSAq cywgc2l6ZV90IHNpemUsIGdmcF90IGZsYWdzKTsNCj4gICAgICAgfCAgICAgICAgICAgICAgICAg ICAgICB+fn5+fn5+fn5+fn5+fn5+fn5+Xg0KPiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0+OA0KPiANCj4gU28sIHRoaXMgcGF0Y2ggY3VycmVu dGx5IHJ1bnMgaW50byBjb21waWxhdGlvbiBpc3N1ZXMuICBsaW55dSBwcm9iYWJseSBkaWRuJ3Qg aGF2ZQ0KPiBLRkVOQ0UgZW5hYmxlZCB3aGVuIGNvbXBpbGluZyBsb2NhbGx5LCB3aGljaCBpcyB3 aHkgdGhpcyBlcnJvciB3YXMgbWlzc2VkLg0KPiBZb3UgY2FuIGVuYWJsZSBpdCBhcyBmb2xsb3dz Og0KPiANCj4gICBLZXJuZWwgaGFja2luZw0KPiAgICAgTWVtb3J5IERlYnVnZ2luZw0KPiAgICAg ICBbKl0gS0ZFTkNFOiBsb3ctb3ZlcmhlYWQgc2FtcGxpbmctYmFzZWQgbWVtb3J5IHNhZmV0eQ0K DQpIaSBFbnplLA0KDQpTb3JyeSBvbmx5IHRlc3Qgb24gYXJtNjQuDQoNCkNvdWxkIHlvdSBoZWxw IGZpeCB0aGUgY29tcGlsZSBpc3N1ZSBhbmQgcHJvdmlkZSBhIGNvcnJlY3QgY2hhbmdlID8NCg0K T3IgSSBuZWVkIHNvbWV0aW1lIHRvIHJlc29sdmUgdGhlIGlzc3VlLg0KDQo+IA0KPiBUaGFua3Ms DQo+IEVuemUNCj4gDQo+IDwuLi4+DQo=