From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 72DD3432E8; Thu, 9 Nov 2023 17:44:02 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 5970D4026B; Thu, 9 Nov 2023 17:44:02 +0100 (CET) Received: from frasgout.his.huawei.com (frasgout.his.huawei.com [185.176.79.56]) by mails.dpdk.org (Postfix) with ESMTP id 1CEC44021E for ; Thu, 9 Nov 2023 17:44:00 +0100 (CET) Received: from frapeml500006.china.huawei.com (unknown [172.18.147.201]) by frasgout.his.huawei.com (SkyGuard) with ESMTP id 4SR76k5096z6K92B; Fri, 10 Nov 2023 00:42:54 +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_128_GCM_SHA256) id 15.1.2507.31; Thu, 9 Nov 2023 17:43:59 +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.031; Thu, 9 Nov 2023 17:43:59 +0100 From: Konstantin Ananyev To: "Tummala, Sivaprasad" , =?utf-8?B?TW9ydGVuIEJyw7hydXA=?= , Thomas Monjalon , Kevin Traynor , David Marchand , "Yigit, Ferruh" , "bruce.richardson@intel.com" , "konstantin.v.ananyev@yandex.ru" , "maxime.coquelin@redhat.com" , Aaron Conole CC: "dev@dpdk.org" Subject: RE: [PATCH] config/x86: config support for AMD EPYC processors Thread-Topic: [PATCH] config/x86: config support for AMD EPYC processors Thread-Index: AQHZ78KbXliBjVbRkU2FOhRFhM9cHrA8UoWAgA+LtACAAAGaAIAB3FEAgAAL5wCAIDGMgIAAFCQAgAEHapCAAAUyoIAAECSAgAFiKgCAAesiQA== Date: Thu, 9 Nov 2023 16:43:59 +0000 Message-ID: <749b9213446340ea994cbc175d101719@huawei.com> References: <20230925151027.558546-1-sivaprasad.tummala@amd.com> <98CBD80474FA8B44BF855DF32C47DC35E9EF51@smartserver.smartshare.dk> <15039672.JCcGWNJJiE@thomas> <98CBD80474FA8B44BF855DF32C47DC35E9EFE7@smartserver.smartshare.dk> <1c2ed3a37d2549e5a78f5a9a64049c9a@huawei.com> <98CBD80474FA8B44BF855DF32C47DC35E9EFEA@smartserver.smartshare.dk> <3e4bc157b71e40e08431e667f95a5042@huawei.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.81.194.27] Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-CFilter-Loop: Reflected X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org DQoNCj4gSGkgS29uc3RhbnRpbiwgTW9ydGVuLA0KPiANCj4gPiAtLS0tLU9yaWdpbmFsIE1lc3Nh Z2UtLS0tLQ0KPiA+IEZyb206IEtvbnN0YW50aW4gQW5hbnlldiA8a29uc3RhbnRpbi5hbmFueWV2 QGh1YXdlaS5jb20+DQo+ID4gU2VudDogVHVlc2RheSwgTm92ZW1iZXIgNywgMjAyMyA4OjAzIFBN DQo+ID4gVG86IE1vcnRlbiBCcsO4cnVwIDxtYkBzbWFydHNoYXJlc3lzdGVtcy5jb20+OyBUaG9t YXMgTW9uamFsb24NCj4gPiA8dGhvbWFzQG1vbmphbG9uLm5ldD47IEtldmluIFRyYXlub3IgPGt0 cmF5bm9yQHJlZGhhdC5jb20+OyBUdW1tYWxhLA0KPiA+IFNpdmFwcmFzYWQgPFNpdmFwcmFzYWQu VHVtbWFsYUBhbWQuY29tPjsgRGF2aWQgTWFyY2hhbmQNCj4gPiA8ZGF2aWQubWFyY2hhbmRAcmVk aGF0LmNvbT47IFlpZ2l0LCBGZXJydWggPEZlcnJ1aC5ZaWdpdEBhbWQuY29tPjsNCj4gPiBicnVj ZS5yaWNoYXJkc29uQGludGVsLmNvbTsga29uc3RhbnRpbi52LmFuYW55ZXZAeWFuZGV4LnJ1Ow0K PiA+IG1heGltZS5jb3F1ZWxpbkByZWRoYXQuY29tOyBBYXJvbiBDb25vbGUgPGFjb25vbGVAcmVk aGF0LmNvbT4NCj4gPiBDYzogZGV2QGRwZGsub3JnDQo+ID4gU3ViamVjdDogUkU6IFtQQVRDSF0g Y29uZmlnL3g4NjogY29uZmlnIHN1cHBvcnQgZm9yIEFNRCBFUFlDIHByb2Nlc3NvcnMNCj4gPg0K PiA+IENhdXRpb246IFRoaXMgbWVzc2FnZSBvcmlnaW5hdGVkIGZyb20gYW4gRXh0ZXJuYWwgU291 cmNlLiBVc2UgcHJvcGVyIGNhdXRpb24NCj4gPiB3aGVuIG9wZW5pbmcgYXR0YWNobWVudHMsIGNs aWNraW5nIGxpbmtzLCBvciByZXNwb25kaW5nLg0KPiA+DQo+ID4NCj4gPiA+ID4gPiA+ID4gPiA+ PiBGcm9tOiBUdW1tYWxhLCBTaXZhcHJhc2FkIDxTaXZhcHJhc2FkLlR1bW1hbGFAYW1kLmNvbT4N Cj4gPiA+ID4gPiA+ID4gPiA+Pj4gRnJvbTogRGF2aWQgTWFyY2hhbmQgPGRhdmlkLm1hcmNoYW5k QHJlZGhhdC5jb20+IE9uIE1vbiwNCj4gPiA+ID4gPiA+ID4gPiA+Pj4gU2VwIDI1LCAyMDIzIGF0 IDU6MTHigK9QTSBTaXZhcHJhc2FkIFR1bW1hbGENCj4gPiA+ID4gPiA+ID4gPiA+Pj4+IEZyb206 IFNpdmFwcmFzYWQgVHVtbWFsYSA8U2l2YXByYXNhZC5UdW1tYWxhQGFtZC5jb20+DQo+ID4gPiA+ ID4gPiA+ID4gPj4+Pg0KPiA+ID4gPiA+ID4gPiA+ID4+Pj4gQnkgZGVmYXVsdCwgbWF4IGxjb3Jl cyBhcmUgbGltaXRlZCB0byAxMjggZm9yIHg4Ng0KPiA+ID4gPiBwbGF0Zm9ybXMuDQo+ID4gPiA+ ID4gPiA+ID4gPj4+PiBPbiBBTUQgRVBZQyBwcm9jZXNzb3JzLCB0aGlzIGxpbWl0IG5lZWRzIHRv IGJlDQo+ID4gPiA+ID4gPiA+ID4gPj4+PiBpbmNyZWFzZWQNCj4gPiA+ID4gdG8NCj4gPiA+ID4g PiA+ID4gPiBsZXZlcmFnZQ0KPiA+ID4gPiA+ID4gPiA+ID4+Pj4gYWxsIHRoZSBjb3Jlcy4NCj4g PiA+ID4gPiA+ID4gPiA+Pj4+DQo+ID4gPiA+ID4gPiA+ID4gPj4+PiBUaGUgcGF0Y2ggYWRqdXN0 cyB0aGUgbGltaXQgc3BlY2lmaWNhbGx5IGZvciBuYXRpdmUNCj4gPiA+ID4gPiA+IGNvbXBpbGF0 aW9uIG9uDQo+ID4gPiA+ID4gPiA+ID4gPj4+PiBBTUQgRVBZQyBDUFVzLg0KPiA+ID4gPiA+ID4g PiA+ID4+Pj4NCj4gPiA+ID4gPiA+ID4gPiA+Pj4+IFNpZ25lZC1vZmYtYnk6IFNpdmFwcmFzYWQg VHVtbWFsYQ0KPiA+ID4gPiA8U2l2YXByYXNhZC5UdW1tYWxhQGFtZC5jb20+DQo+ID4gPiA+ID4g PiA+ID4gPj4+DQo+ID4gPiA+ID4gPiA+ID4gPj4+IFRoaXMgcGF0Y2ggaXMgYSByZXZhbXAgb2YN Cj4gPiA+ID4gPiA+ID4gPiA+Pj4NCj4gPiA+ID4gPiA+ID4gPiA+Pg0KPiA+ID4gPiA+ID4gPiA+ DQo+ID4gPiA+ID4gPg0KPiA+ID4gPg0KPiA+IGh0dHA6Ly9pbmJveC5kcGRrLm9yZy9kZXYvQlk1 UFIxMk1CMzY4MUMzRkM2Njc2QkMwM0YwQjQyQ0NDOTY3ODlAQlk1DQo+ID4gPiA+IFBSDQo+ID4g PiA+ID4gPiA+ID4gPj4+IDEyTUIzNjgxLm5hbXByZDEyLnByb2Qub3V0bG9vay5jb20vDQo+ID4g PiA+ID4gPiA+ID4gPj4+IGZvciB3aGljaCBhIGRpc2N1c3Npb24gYXQgdGVjaGJvYXJkIGlzIHN1 cHBvc2VkIHRvIGhhdmUNCj4gPiA+ID4gdGFrZW4NCj4gPiA+ID4gPiA+IHBsYWNlLg0KPiA+ID4g PiA+ID4gPiA+ID4+PiBCdXQgSSBkaWRuJ3QgZmluZCBhIHRyYWNlIG9mIGl0Lg0KPiA+ID4gPiA+ ID4gPiA+ID4+Pg0KPiA+ID4gPiA+ID4gPiA+ID4+PiBPbmUgb3B0aW9uIHRoYXQgaGFkIGJlZW4g ZGlzY3Vzc2VkIGluIHRoZSBwcmV2aW91cw0KPiA+ID4gPiA+ID4gPiA+ID4+PiB0aHJlYWQNCj4g PiA+ID4gd2FzDQo+ID4gPiA+ID4gPiB0bw0KPiA+ID4gPiA+ID4gPiA+ID4+PiBpbmNyZWFzZSB0 aGUgbWF4IG51bWJlciBvZiBjb3JlcyBmb3IgeDg2Lg0KPiA+ID4gPiA+ID4gPiA+ID4+PiBJIGFt IHVuY2xlYXIgaWYgdGhpcyBvcHRpb24gaGFzIGJlZW4gcHJvcGVybHkNCj4gPiA+ID4gPiA+IGV2 YWx1YXRlZC9kZWJhdHRlZC4NCj4gPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ID4gSGVyZSBhcmUg dGhlIG1pbnV0ZXMgZnJvbSB0aGUgcHJldmlvdXMgdGVjaGJvYXJkIGRpc2N1c3Npb25zOg0KPiA+ ID4gPiA+ID4gPiBbMV06IGh0dHA6Ly9pbmJveC5kcGRrLm9yZy9kZXYvWVo0M1UzNmJGV0hZQ2xB aUBwbGF0aW51bS8NCj4gPiA+ID4gPiA+ID4gWzJdOg0KPiA+ID4gPiBodHRwOi8vaW5ib3guZHBk ay5vcmcvZGV2LzIwMjExMjAyMTEyNTA2LjY4YWNhYTFhQGhlcm1lcy5sb2NhbC8NCj4gPiA+ID4g PiA+ID4NCj4gPiA+ID4gPiA+ID4gQUZBSUssIHRoZXJlIGhhcyBiZWVuIG5vIHByb2dyZXNzIHdp dGggZHluYW1pYyBtYXhfbGNvcmVzLCBzbw0KPiA+ID4gPiA+ID4gPiBJDQo+ID4gPiA+IGd1ZXNz DQo+ID4gPiA+ID4gPiB0aGUgdGVjaGJvYXJkJ3MgY29uY2x1c2lvbiBzdGlsbCBzdGFuZHM6DQo+ ID4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiA+IFRoZXJlIGlzIG5vIGlkZW50aWZpZWQgdXNlLWNh c2Ugd2hlcmUgYSBzaW5nbGUgYXBwbGljYXRpb24NCj4gPiA+ID4gcmVxdWlyZXMNCj4gPiA+ID4g PiA+IG1vcmUgdGhhbiAxMjggbGNvcmVzLiBJZiBhIGNhc2UgYSB1c2UtY2FzZSBleGlzdHMgZm9y IGEgc2luZ2xlDQo+ID4gPiA+ID4gPiBhcHBsaWNhdGlvbiB0aGF0IHVzZXMgbW9yZSB0aGFuIDEy OCBsY29yZXMsIHRoZSBUQiBpcyBvayB0bw0KPiA+ID4gPiA+ID4gdXBkYXRlDQo+ID4gPiA+IHRo ZQ0KPiA+ID4gPiA+ID4gZGVmYXVsdCBjb25maWcgdmFsdWUuDQo+ID4gPiA+ID4gPiA+DQo+ID4g PiA+ID4gPiA+ID4gPj4+DQo+ID4gPiA+ID4gPiA+ID4gPj4+IENhbiB0aGUgdG9waWMgYmUgYnJv dWdodCBhZ2FpbiBhdCB0ZWNoYm9hcmQ/DQo+ID4gPiA+ID4gPiA+ID4gPj4NCj4gPiA+ID4gPiA+ ID4gPiA+PiBIaSBEYXZpZCwNCj4gPiA+ID4gPiA+ID4gPiA+Pg0KPiA+ID4gPiA+ID4gPiA+ID4+ IFRoZSBwYXRjaCBpcyBpbnRlbmRlZCB0byBkZXRlY3QgQU1EIHBsYXRmb3JtcyBhbmQgZW5hYmxl DQo+ID4gPiA+ID4gPiA+ID4gPj4gYWxsDQo+ID4gPiA+IENQVQ0KPiA+ID4gPiA+ID4gPiA+IGNv cmVzIGJ5IGRlZmF1bHQNCj4gPiA+ID4gPiA+ID4gPiA+PiBvbiBuYXRpdmUgYnVpbGRzLg0KPiA+ ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gPiBUaGlzIGlzIGRvbmUgb24gbmF0aXZlIEFSTSBidWls ZHMsIHNvIHdoeSBub3Qgb24gbmF0aXZlIFg4Ng0KPiA+ID4gPiBidWlsZHMNCj4gPiA+ID4gPiA+ IHRvbz8NCj4gPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ID4gPiA+Pg0KPiA+ID4gPiA+ID4gPiA+ ID4+IEFzIGFuIG9wdGltaXphdGlvbiBmb3IgbWVtb3J5IGZvb3RwcmludCwgdXNlcnMgY2FuDQo+ ID4gPiA+ID4gPiA+ID4gPj4gb3ZlcnJpZGUNCj4gPiA+ID4gdGhpcw0KPiA+ID4gPiA+ID4gYnkN Cj4gPiA+ID4gPiA+ID4gPiBzcGVjaWZ5aW5nICItDQo+ID4gPiA+ID4gPiA+ID4gPj4gRG1heF9s Y29yZXMiIG9wdGlvbiBiYXNlZCBvbiBEUERLIGxjb3JlcyByZXF1aXJlZCBmb3INCj4gPiA+ID4g PiA+ID4gPiA+PiB0aGVpcg0KPiA+ID4gPiA+ID4gdXNlY2FzZXMuDQo+ID4gPiA+ID4gPiA+ID4g Pj4NCj4gPiA+ID4gPiA+ID4gPiA+PiBTdXJlLCB3aWxsIHJlcXVlc3QgdG8gYWRkIHRoaXMgdG9w aWMgZm9yIGRpc2N1c3Npb24gYXQNCj4gPiA+ID4gPiA+IHRlY2hib2FyZC4NCj4gPiA+ID4gPiA+ DQo+ID4gPiA+ID4gPiBUaGlzIGlzIHRoZSBzdW1tYXJ5IG9mIHRoZSB0ZWNoYm9hcmQgbWVldGlu ZzoNCj4gPiA+ID4gPiA+IChzZWUNCj4gPiA+ID4gPiA+IGh0dHBzOi8vbWFpbHMuZHBkay5vcmcv YXJjaGl2ZXMvZGV2LzIwMjMtT2N0b2Jlci8yNzk2NzIuaHRtbCkNCj4gPiA+ID4gPiA+DQo+ID4g PiA+ID4gPiAtIFRoZXJlIGlzIHNvbWUgYXNrcyBmb3IgbW9yZSB0aGFuIDEyOCB3b3JrZXIgY29y ZXMNCj4gPiA+ID4gPiA+IC0gRGlzY3Vzc2lvbiBhYm91dCBnZW5lcmFsbHkgaW5jcmVhc2luZyB0 aGUgZGVmYXVsdCBtYXggY29yZQ0KPiA+ID4gPiA+ID4gY291bnQNCj4gPiA+ID4gYW5kDQo+ID4g PiA+ID4gPiB0cmFkZS1vZmZzIHdpdGggbWVtb3J5IGNvbnN1bXB0aW9uIGJ1dCB0aGlzIGlzIGxv bmdlciB0ZXJtIGlzc3VlDQo+ID4gPiA+ID4NCj4gPiA+ID4gPiBUaGUgZGlzdHJvcyBhcmUgY3Vy cmVudGx5IHNhdGlzZmllZCB3aXRoIHRoZSAxMjggY29yZXMgZGVmYXVsdCwgc28NCj4gPiA+ID4g dGhlIGRlY2lzaW9uIGhlcmUgd2FzOiBMZWF2ZSB0aGUgMTI4IGNvcmVzIGRlZmF1bHQgYXMgaXMs IGZvciBub3cuDQo+ID4gPiA+ID4NCj4gPiA+ID4gPiBBbnkgbG9uZyB0ZXJtIGltcHJvdmVtZW50 cyByZWdhcmRpbmcgbWVtb3J5IGNvbnN1bXB0aW9uIG9mDQo+ID4gPiA+ID4gbWFueS1jb3JlDQo+ ID4gPiA+IHN5c3RlbXMgYXJlIG5vdCByZWxldmFudCBmb3IgdGhpcyBwYXRjaC4NCj4gPiA+ID4g Pg0KPiA+ID4gPiA+ID4gLSBBY2NlcHRhbmNlIGZvciB0aGUgZGlyZWN0aW9uIG9mIHRoaXMgcGF0 Y2ggaW4gdGhlIHNob3J0IHRlcm0NCj4gPiA+ID4gPg0KPiA+ID4gPiA+IFdpdGggdGhlIHR3aXN0 IHRoYXQgaXQgbXVzdCB3b3JrIGZvciBjcm9zcyBjb21waWxlLiBJdCBpcyB0aGUNCj4gPiA+ID4g cHJvcGVydGllcyBvZiB0aGUgdGFyZ2V0IENQVSB0aGF0IG1hdHRlciwgbm90IHRoZSBwcm9wZXJ0 aWVzIG9mIHRoZQ0KPiA+ID4gPiBob3N0DQo+ID4gPiA+ID4gQ1BVLiAoQWx0aG91Z2ggdGhlIGJ1 aWxkIG1heSBiZSAibmF0aXZlIiwgaS5lLiB0aGUgdGFyZ2V0IENQVSBpcw0KPiA+ID4gPiA+IHRo ZQ0KPiA+ID4gPiBzYW1lIGFzIHRoZSBob3N0IENQVSwgaXQgaXMgc3RpbGwgdGhlIHRhcmdldCBD UFUgdGhhdCBtYXR0ZXJzLikNCj4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gLSBEZXRhaWxzIG9mIHdo ZXRoZXIgaXQgc2hvdWxkIGJlIGZvciBFUFlDIG9ubHkgb3IgeDg2IHRvIGJlDQo+ID4gPiA+IGZp Z3VyZWQNCj4gPiA+ID4gPiA+IG91dA0KPiA+ID4gPiA+ID4gb24gbWFpbGluZyBsaXN0DQo+ID4g PiA+ID4NCj4gPiA+ID4gPiBJIHRoaW5rIHRoaXMgaXMgb2J2aW91cy4uLg0KPiA+ID4gPiA+DQo+ ID4gPiA+ID4gQVJNIGFscmVhZHkgcHJvdmlkZXMgQVJNIENQVSBzcGVjaWZpYyBvcHRpbWl6YXRp b25zLg0KPiA+ID4gPiA+IEFNRCBzaG91bGQgYmUgYWxsb3dlZCB0byBwcm92aWRlIEFNRCBDUFUg c3BlY2lmaWMgb3B0aW1pemF0aW9ucyB0b28uDQo+ID4gPiA+ID4gSW50ZWwgY2FuIGFsc28gcHJv dmlkZSBJbnRlbCBDUFUgc3BlY2lmaWMgb3B0aW1pemF0aW9ucy4NCj4gPiA+ID4NCj4gPiA+ID4g SSBzdXBwb3NlIG5vLW9uZSBzdG9wcGluZyBBTUQvSW50ZWwvQVJNIHRvIHByb3ZpZGUgdGhlaXIg Q1BVDQo+ID4gPiA+IHNwZWNpZmljIG9wdGltaXphdGlvbnMuDQo+ID4gPiA+IFRob3VnaCBhcyBl bmQtdXNlciwgbXkgcHJlZmVyZW5jZSB3b3VsZCBiZSB0byBoYXZlIG9uZSBnZW5lcmljIGJ1aWxk DQo+ID4gPiA+IChtYWNoaW5lPWRlZmF1bHQpIHRoYXQgd291bGQgd29yayBvayBvbiBhbGwgY3B1 cyBmb3IgZ2l2ZW4NCj4gPiA+ID4gYXJjaGl0ZWN0dXJlIChsZXQgc2F5IHg4NikgaW5zdGVhZCBv ZiBtYWludGFpbmluZy90ZXN0aW5nIGRvemVucyBvZg0KPiA+ID4gPiBkaWZmZXJlbnQgZmxhdm9y cy4NCj4gPiA+DQo+ID4gPiBBZ3JlZS4gTWFjaGluZSBzcGVjaWZpYyBidWlsZHMgc2hvdWxkIGJl IGV4cGxpY2l0bHkgc3BlY2lmaWVkLiBJIGNvbnNpZGVyICJuYXRpdmUiIGENCj4gPiB2YXJpYW50 IG9mIGV4cGxpY2l0bHkgc3BlY2lmeWluZyB0aGUgdGFyZ2V0IG1hY2hpbmUuDQo+ID4gPg0KPiA+ ID4gPiBJIHN1cHBvc2UgZm9yIDIzLjExIHdlIGhhdmUgbm90IG11Y2ggY2hvaWNlIGJ1dCBhY2Nl cHQgdGhhdCBwYXRjaCBhcw0KPiA+ID4gPiBpdCBpcy4NCj4gPiA+DQo+ID4gPiBOby4gVGhleSBh Z3JlZWQgaW4gdGhlIHRlY2hib2FyZCBtZWV0aW5nIHRvIHJld29yayBpdCBmb3IgY3Jvc3MgY29t cGlsZS4NCj4gPg0KPiA+IEFoLCB5ZXMsIGNyb3NzLWJ1aWxkcywgbmVhcmx5IGZvcmdvdCBhYm91 dCB0aGVtLg0KPiA+IEkgc3VwcG9zZSB5ZXMsIHlvdSBhcmUgcmlnaHQsIGl0IG5lZWRzIHRvIGJl IHN1cHBvcnRlZCBmb3IgY29tcGxldGVuZXNzLg0KPiA+DQo+IA0KPiBZZXMsIGN1cnJlbnRseSB0 aGUgcGF0Y2ggaXMgdGFyZ2V0ZWQgdG8gc3VwcG9ydCBtYXggbGNvcmVzIHNlbGVjdGlvbiBvbmx5 IGZvciBuYXRpdmUgYnVpbGRzLg0KPiBDcm9zcy1jb21waWxhdGlvbiB3b3JrcyBhcyBpdCBpcyBu b3cuDQo+IA0KPiBPbmNlIHRoaXMgcGF0Y2ggaXMgbWVyZ2VkIGluIHRoaXMgcmVsZWFzZSwgd2Ug cGxhbiB0byBleHRlbmQgZm9yIGNyb3NzIGJ1aWxkcyBpbiB0aGUgY29taW5nIHJlbGVhc2VzLg0K DQpXb3JrcyBmb3IgbWUuDQogDQo=