From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 22BC8A04F1; Thu, 18 Jun 2020 17:52:46 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id F29731BF97; Thu, 18 Jun 2020 17:52:45 +0200 (CEST) Received: from EUR04-VI1-obe.outbound.protection.outlook.com (mail-eopbgr80071.outbound.protection.outlook.com [40.107.8.71]) by dpdk.org (Postfix) with ESMTP id 090231BF7E for ; Thu, 18 Jun 2020 17:52:45 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=UCZGeRtGWvUUn5y6XBeF3dsCSSpDhz7SGdrbipR/0VKErR+l+WadAa2fGHC7agirajWBUtUZBEYSFlQflErBhyQVUxgmwbgwwCwkYdP0KJ+NQU6y3JLH33ll4PU/0VZkH7df92NGfHttc88r5dK9mjt1OOxf6wckHzHNsH5tSfz71sVsdFH6bSKTvSdOPgRH8HVGu76/B5AFI7iqArMwdKH6KKev43azWXxli5WzEW6HylCAR8Fgr4k9b3PfN2Bwso1O8Y4ZmVXbUlzTI4ULrgGH9yR0PmZiIP5VLUEPMSMJWIocrZYk3Ct5fWSvmLSQ/k24Umcs7Koaen22Hs0+mA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=bQubFENzndJrsuEhnfTzwuoudF9e6x5lxToP2UFYPQo=; b=eRZMFmnhqoo6DywBdGlAs1N/qQ2ozNzCAxv5ZMLGkkXwg8Rd4inf5HKTzo1Fat4y2J2I5DA/Sk/Pb0E+7yPUtNyFxDzD/fn9+vqjJ1JEsQtgOThnARJMPnkMrJlnolgX5H/E3M/2KYbbjbv34wBpXqAY2s+tr+d/9kbtH8lNtMWmAKdM36zIuXy4qT7fqjWKvkmsm+a0To1edNvdlHaAQ3kh8IQRErl7hZzbmq7L9tbdS4uR/CaEtjYtDxMQ0mAE13oY6MrhhawqgarhmSNn2Dum4LA1Tp8JQUcilKjpRMI49+xvLXSB6tDVvWktIJaWrGJYikx/wt7gGtr5f4RD5Q== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=mellanox.com; dmarc=pass action=none header.from=mellanox.com; dkim=pass header.d=mellanox.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Mellanox.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=bQubFENzndJrsuEhnfTzwuoudF9e6x5lxToP2UFYPQo=; b=BCronMIKrvwoNOrJd7HIfN5ood1ilVASB7sTXn4DgKGtC+DK3uXu5yd7iixjk4vyqs0C6FzYsDftyvuN95xN4soatAHd9sRfMBKVQzt1//v1ln2OGvgyeMjj8tbwmbIzIq5a9EiUznI1vntOxhX0wJWXLyckPHdNvIDJLvKfNxc= Received: from AM0PR05MB4866.eurprd05.prod.outlook.com (2603:10a6:208:c0::32) by AM0PR05MB4292.eurprd05.prod.outlook.com (2603:10a6:208:58::33) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3088.22; Thu, 18 Jun 2020 15:52:43 +0000 Received: from AM0PR05MB4866.eurprd05.prod.outlook.com ([fe80::d44d:a804:c730:d2b7]) by AM0PR05MB4866.eurprd05.prod.outlook.com ([fe80::d44d:a804:c730:d2b7%2]) with mapi id 15.20.3109.021; Thu, 18 Jun 2020 15:52:43 +0000 From: Parav Pandit To: =?utf-8?B?R2HDq3RhbiBSaXZldA==?= CC: "dev@dpdk.org" , "ferruh.yigit@intel.com" , Ori Kam , Matan Azrad Thread-Topic: [dpdk-dev] [RFC PATCH 5/6] bus/mlx5_pci: register a PCI driver Thread-Index: AQHWP0sgnAq5w4k+Xk2Dotj1MrQIfajaPkaAgAPtRtCAAFEzgIAAE50g Date: Thu, 18 Jun 2020 15:52:43 +0000 Message-ID: References: <20200610171728.89-1-parav@mellanox.com> <20200610171728.89-6-parav@mellanox.com> <20200615214631.lmubncrd6xggq3hu@u256.net> <20200618143509.m45qzhzv3je4rqhs@u256.net> In-Reply-To: <20200618143509.m45qzhzv3je4rqhs@u256.net> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: u256.net; dkim=none (message not signed) header.d=none;u256.net; dmarc=none action=none header.from=mellanox.com; x-originating-ip: [106.51.29.68] x-ms-publictraffictype: Email x-ms-office365-filtering-ht: Tenant x-ms-office365-filtering-correlation-id: 105bf69c-4ca1-4945-bd8a-08d8139fa3a7 x-ms-traffictypediagnostic: AM0PR05MB4292: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:9508; x-forefront-prvs: 0438F90F17 x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: sFhFPw00zEOJBJpsIDtebXR1CyjdcnwpPnHEFIsfilDYqksUf8ZotVRCLbKf6Y9JNzO7CjoY0NxO4wjGvUzgdUKSlWOwIYNSfTEzAQtBq313XKaWcenQh6yK30TGnouK29I6p0OcYIPsmLZSxOk5U/LdPF5W2Sz7W1UeZATOQQdvWN/8+ltAv8eF3HeHSzcEZG92UNrGGPYpITgBJHmcfpvLlTeGV5MU67PSF3UwzFJJUOvqr5ZS5kmf0SjV6515BjtU8/UHmB7+0neUZCAJ09adK73jW2OLBVxJAQOqbb2A699wenM10qtV6qECvp13z8zwi3GEUa0qhNWxfK+1qw== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:AM0PR05MB4866.eurprd05.prod.outlook.com; PTR:; CAT:NONE; SFTY:; SFS:(4636009)(136003)(39860400002)(366004)(346002)(376002)(396003)(9686003)(86362001)(478600001)(55016002)(7696005)(2906002)(66476007)(4326008)(54906003)(66574015)(66556008)(316002)(107886003)(6916009)(64756008)(71200400001)(66446008)(76116006)(33656002)(26005)(186003)(55236004)(53546011)(6506007)(66946007)(83380400001)(8936002)(5660300002)(8676002)(52536014); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata: x7h9OtWWlEmYbiAyxfVpF4hz4BHxYfp0dmqQg5tXyydTFlORFnIq13y+aU+dgu4ESSpzXLJLI5tRNO7mxLlU4SgXoJyH62Z5izEVcLHVea/eMj4LM6pyAC3A71lRAG8BQJYF6B6Qjp90Eporobza3JgCOKuUKDvHgVpoku24YxOZopvvIFloVVCvB+lfXQIJXcrhsS8Ry3ONaNHD/aD6uWMZXPhqDQkeXrtebEGlJpI/dkwOkHlZu66jIVb3pZnYqQGFYGxsZeW+CqvzqEQx/NXELOtF7hnweb/Adrey96Nktu6T6PxLS+jb/GcS2wnaw2B02459evKlY5c7izwXLvRlleoqLXuywPau1NYPyYLqH81OoiHfFED0i4T57+8uN6qN2vO9M+hF7Q8aKHjprEVuCLSg0iuVotufPd+v5MwfqCP2rFGsLK0gmB3rTqUyB2t4SvU+rC5S0PiwnMqptS3mevelOxX3X6ltMqqYXRE= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: Mellanox.com X-MS-Exchange-CrossTenant-Network-Message-Id: 105bf69c-4ca1-4945-bd8a-08d8139fa3a7 X-MS-Exchange-CrossTenant-originalarrivaltime: 18 Jun 2020 15:52:43.8342 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: a652971c-7d2e-4d9b-a6a4-d149256f461b X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: SNsn+zlAHtZBiooyCm1LTcHqeQ9h9fzJmgweuKyaGwTGCJisakdVID9gpcndulcfI5tSoyJ25VPveIzb0Mn2EA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR05MB4292 Subject: Re: [dpdk-dev] [RFC PATCH 5/6] bus/mlx5_pci: register a PCI driver X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" DQoNCj4gRnJvbTogR2HDq3RhbiBSaXZldCA8Z3JpdmVAdTI1Ni5uZXQ+DQo+IFNlbnQ6IFRodXJz ZGF5LCBKdW5lIDE4LCAyMDIwIDg6MDUgUE0NCj4gVG86IFBhcmF2IFBhbmRpdCA8cGFyYXZAbWVs bGFub3guY29tPg0KPiBDYzogZGV2QGRwZGsub3JnOyBmZXJydWgueWlnaXRAaW50ZWwuY29tOyBP cmkgS2FtIDxvcmlrYUBtZWxsYW5veC5jb20+Ow0KPiBNYXRhbiBBenJhZCA8bWF0YW5AbWVsbGFu b3guY29tPg0KPiBTdWJqZWN0OiBSZTogW2RwZGstZGV2XSBbUkZDIFBBVENIIDUvNl0gYnVzL21s eDVfcGNpOiByZWdpc3RlciBhIFBDSSBkcml2ZXINCj4gDQo+IE9uIDE4LzA2LzIwIDEwOjAzICsw MDAwLCBQYXJhdiBQYW5kaXQgd3JvdGU6DQo+ID4NCj4gPiA+IEZyb206IEdhw6t0YW4gUml2ZXQg PGdyaXZlQHUyNTYubmV0Pg0KPiA+ID4gU2VudDogVHVlc2RheSwgSnVuZSAxNiwgMjAyMCAzOjE3 IEFNDQo+ID4gPg0KPiA+ID4gT24gMTAvMDYvMjAgMTc6MTcgKzAwMDAsIFBhcmF2IFBhbmRpdCB3 cm90ZToNCj4gPiA+ID4gQ3JlYXRlIGEgbWx4NSBidXMgZHJpdmVyIGZyYW1ld29yayBmb3IgaW52 b2tpbmcgZHJpdmVycyBvZg0KPiA+ID4gPiBtdWx0aXBsZSBjbGFzc2VzIHdobyBoYXZlIHJlZ2lz dGVyZWQgd2l0aCB0aGUgbWx4NV9wY2kgYnVzIGRyaXZlci4NCj4gPiA+ID4NCj4gPiA+ID4gVmFs aWRhdGUgdXNlciBjbGFzcyBhcmd1bWVudHMgZm9yIHN1cHBvcnRlZCBjbGFzcyBjb21iaW5hdGlv bnMuDQo+ID4gPiA+DQo+ID4gPiA+IFNpZ25lZC1vZmYtYnk6IFBhcmF2IFBhbmRpdCA8cGFyYXZA bWVsbGFub3guY29tPg0KPiA+ID4gPiAtLS0NCj4gPiA+ID4gIGRyaXZlcnMvYnVzL21seDVfcGNp L01ha2VmaWxlICAgICAgICAgICB8ICAgMSArDQo+ID4gPiA+ICBkcml2ZXJzL2J1cy9tbHg1X3Bj aS9tZXNvbi5idWlsZCAgICAgICAgfCAgIDIgKy0NCj4gPiA+ID4gIGRyaXZlcnMvYnVzL21seDVf cGNpL21seDVfcGNpX2J1cy5jICAgICB8IDI1Mw0KPiA+ID4gKysrKysrKysrKysrKysrKysrKysr KysrDQo+ID4gPiA+ICBkcml2ZXJzL2J1cy9tbHg1X3BjaS9ydGVfYnVzX21seDVfcGNpLmggfCAg IDEgKw0KPiA+ID4gPiAgNCBmaWxlcyBjaGFuZ2VkLCAyNTYgaW5zZXJ0aW9ucygrKSwgMSBkZWxl dGlvbigtKQ0KPiA+ID4gPg0KPiANCj4gWy4uLl0NCj4gDQo+ID4gPiA+ICsNCj4gPiA+ID4gKwl3 aGlsZSAobnN0cikgew0KPiA+ID4gPiArCQkvKiBFeHRyYWN0IGVhY2ggaW5kaXZpZHVhbCBjbGFz cyBuYW1lICovDQo+ID4gPiA+ICsJCWZvdW5kID0gc3Ryc2VwKCZuc3RyLCAiOiIpOw0KPiA+ID4N Cj4gPiA+IEkgaGF2ZSBub3Qgc2VlbiB0aGUgZmVhdHVyZSB0ZXN0IG1hY3JvcyAoX0RFRkFVTFRf U09VUkNFKSBpbiB0aGUNCj4gPiA+IE1ha2VmaWxlLCBpdCBzZWVtcyByZXF1aXJlZCBmb3Igc3Ry c2VwKCk/DQo+ID4gPg0KPiA+IElmIGl0cyBtYW5kYXRvcnkgbWVzb24gYnVpbGQgc2hvdWxkIGhh dmUgY29tcGxhaW5lZD8NCj4gPg0KPiANCj4gSW52b2tpbmcgdGhlIGNvbXBpbGVyIHdpdGhvdXQg c3BlY2lmaWMgc3RhbmRhcmQgY29uZm9ybWFuY2Ugd2lsbCB3b3JrLg0KPiBJZiBzb21lb25lIGFk ZHMgZm9yIGV4YW1wbGUgLXN0ZD1jMTEgaG93ZXZlciB0aGVuIF9ERUZBVUxUX1NPVVJDRQ0KPiBi ZWNvbWVzIG5lY2Vzc2FyeS4NCj4gDQo+IEl0IGFsbCBkZXBlbmRzIG9uIHRoZSByYW5nZSBvZiBj b21waWxlciB2ZXJzaW9ucyB0YXJnZXRlZCBieSB0aGlzIGNvZGUuDQo+IEkgZG9uJ3Qga25vdyB0 aGUgZnVsbCBjb3ZlcmFnZSwgYnV0IEkgc2VlIC1zdGQ9YzExICsgLURfREVGQVVMVF9TT1VSQ0Ug aW4NCj4gbW9zdCBtbHg1IGNvZGUsIHdoaWNoIGlzIHdoeSBJJ20gYXNraW5nIGZvciBhIGRvdWJs ZSBjaGVjayBoZXJlLg0KPiANCj4gDQo+IFsuLi5dDQo+IA0KPiA+ID4gPiArCQkJY29udGludWU7 DQo+ID4gPiA+ICsNCj4gPiA+ID4gKwkJaWYgKGNsYXNzLT5sb2FkZWQpDQo+ID4gPiA+ICsJCQlj bGFzcy0+cmVtb3ZlKGRldik7DQo+ID4gPiA+ICsJfQ0KPiA+ID4gPiArCXJldHVybiAwOw0KPiA+ ID4gPiArfQ0KPiA+ID4gPiArDQo+ID4gPiA+ICtzdGF0aWMgaW50DQo+ID4gPiA+ICttbHg1X2J1 c19wY2lfZG1hX21hcChzdHJ1Y3QgcnRlX3BjaV9kZXZpY2UgKmRldiwgdm9pZCAqYWRkciwNCj4g PiA+ID4gKwkJICAgICB1aW50NjRfdCBpb3ZhLCBzaXplX3QgbGVuKSB7DQo+ID4gPiA+ICsJc3Ry dWN0IHJ0ZV9tbHg1X3BjaV9kcml2ZXIgKmNsYXNzOw0KPiA+ID4gPiArCWludCByZXQgPSAtRUlO VkFMOw0KPiA+ID4gPiArDQo+ID4gPiA+ICsJVEFJTFFfRk9SRUFDSChjbGFzcywgJmRydl9saXN0 LCBuZXh0KSB7DQo+ID4gPiA+ICsJCWlmICghY2xhc3MtPmRtYV9tYXApDQo+ID4gPiA+ICsJCQlj b250aW51ZTsNCj4gPiA+ID4gKw0KPiA+ID4gPiArCQlyZXR1cm4gY2xhc3MtPmRtYV9tYXAoZGV2 LCBhZGRyLCBpb3ZhLCBsZW4pOw0KPiA+ID4NCj4gPiA+IElzIHRoZXJlIGEgc3BlY2lmaWMgY2xh c3MgdGhhdCBjb3VsZCBoYXZlIHByaW9yaXR5IGZvciB0aGUgRE1BPw0KPiA+ID4NCj4gPiBOby4N Cj4gPg0KPiANCj4gVGhlIGNvZGUgYmVpbmcgd3JpdHRlbiB0aGlzIHdheSBzZWVtcyB0byBwb2lu dCB0byBtdWx0aXBsZSBjbGFzc2VzIGJlaW5nIGFibGUNCj4gdG8gaGF2ZSBETUEgb3BzLiBJZiB0 aGF0J3Mgbm90IHRoZSBjYXNlLCB5b3UgY2FuIGFkZCBhIHNhbml0eSBjaGVjayB0byBlbmZvcmNl DQo+IHRoYW4gb25seSB0aGUgcmlnaHQgY2xhc3NlcyBoYXZlIERNQSBvcHMgZGVmaW5lZC4NCj4g DQpZZXMuIEkgd2lsbCBhZGQgaXQuIGdvb2QgcG9pbnQuDQoNCj4gPiA+ID4gKwl9DQo+ID4gPiA+ ICsJcmV0dXJuIHJldDsNCj4gPiA+ID4gK30NCj4gPiA+ID4gKw0KPiA+ID4gPiArc3RhdGljIGlu dA0KPiA+ID4gPiArbWx4NV9idXNfcGNpX2RtYV91bm1hcChzdHJ1Y3QgcnRlX3BjaV9kZXZpY2Ug KmRldiwgdm9pZCAqYWRkciwNCj4gPiA+ID4gKwkJICAgICAgIHVpbnQ2NF90IGlvdmEsIHNpemVf dCBsZW4pIHsNCj4gPiA+ID4gKwlzdHJ1Y3QgcnRlX21seDVfcGNpX2RyaXZlciAqY2xhc3M7DQo+ ID4gPiA+ICsJaW50IHJldCA9IC1FSU5WQUw7DQo+ID4gPiA+ICsNCj4gPiA+ID4gKwlUQUlMUV9G T1JFQUNIX1JFVkVSU0UoY2xhc3MsICZkcnZfbGlzdCwgbWx4NV9wY2lfYnVzX2Rydl9oZWFkLA0K PiA+ID4gbmV4dCkgew0KPiA+ID4gPiArCQlpZiAoIWNsYXNzLT5kbWFfdW5tYXApDQo+ID4gPiA+ ICsJCQljb250aW51ZTsNCj4gPiA+ID4gKw0KPiA+ID4gPiArCQlyZXR1cm4gY2xhc3MtPmRtYV91 bm1hcChkZXYsIGFkZHIsIGlvdmEsIGxlbik7DQo+ID4gPg0KPiA+ID4gSWYgeW91IGhhdmUgdHdv IGNsYXNzZXMgQSAtPiBCIGhhdmluZyBkbWFfbWFwKCkgKyBkbWFfdW5tYXAoKSwgeW91DQo+ID4g PiB3aWxsDQo+ID4gPiBkbWFfbWFwKCkgd2l0aCBBIHRoZW4gZG1hX3VubWFwKCkgd2l0aCBCLCBk dWUgdG8gdGhlIF9SRVZFUlNFKCkNCj4gPiA+IGl0ZXJhdGlvbj8NCj4gPiA+DQo+ID4gVGhlcmUg aXNuJ3QgcGxhbiBmb3IgdHdvIGRyaXZlcnMgdG8gZG8gc28uDQo+ID4gSWYgdHdvIGNsYXNzZXMg ZG8gdGhhdCBpdHMgc291cmNlIG9mIGFuIGVycm9yLg0KPiA+IFdpbGwgZW5oYW5jZSB0aGUgYnVz IHdoZW4gdGhhdCBuZWVkIGFyaXNlLg0KPiA+DQo+IA0KPiBZb3UgaGF2ZSB3ZWxsLWRlZmluZWQg ZWRnZS1jYXNlcywgYnV0IHRoZXkgYXJlIG5vdCBhcHBhcmVudCByZWFkaW5nIHRoZQ0KPiBjb2Rl LiBTdWNoIGVycm9yIGNvdWxkIGJlIHdhcm5lZCBhYm91dCBhbmQgLyBvciBkb2N1bWVudGVkLg0K PiANCj4gPiA+IFdoeSB1c2UgcmV2ZXJzZWQgaXRlcmF0aW9uIGF0IGFsbCBieSB0aGUgd2F5IGZv ciBkaW5pdD8gSWYgeW91ciBvcHMNCj4gPiA+IGlzIHNvdW5kIGFueSBvcmRlciBzaG91bGQgYmUg b2suDQo+ID4gPg0KPiA+IEJlY2F1c2UgZGVpbml0IG11c3QgYmUgYWx3YXlzIHJldmVyc2Ugb2Yg aW5pdCgpIGNvZGUgcmVnYXJkbGVzcy4NCj4gPg0KPiANCj4gVGhpcyBpcyBhIHN0cm9uZyBzdGF0 ZW1lbnQgOikNCj4gDQo6LSkNCkRlaW5pdCBub3QgZm9sbG93aW5nIHJldmVyc2UgaXMgYWxtb3N0 IGFuIGludml0YXRpb24gdG8gYnVncy4NCkdpdmVuIHRoZXJlIGFyZSB0d28gZGlmZmVyZW50IGRy aXZlcnMsIHRoZXJlIHNob3VsZG4ndCBiZSBtdWNoIGRlcGVuZGVuY3kgdGhhdCB3YXkuDQpCdXQg aXQgaXMgYWx3YXlzIGEgZ29vZCBwcmFjdGljZSB0byBmb2xsb3cgZGUtaW5pdCBhcyByZXZlcnNl IHNlcXVlbmNlLg0KSXQgZWxpbWluYXRlcyBwbGVudHkgb2YgbnVsbCBhbmQgb3RoZXIgdmFsaWRh dGlvbiBjaGVja3MgYWxsIG92ZXIuDQoNCj4gSWYgdGhpcyBpcyBhIHJlcXVpcmVtZW50IGZvciBk cml2ZXIgaW50ZXItZGVwZW5kZW5jaWVzIHRvIGJlIHByb3Blcmx5DQo+IGltcGxlbWVudGVkLCB0 aGlzIHNob3VsZCBiZSBkb2N1bWVudGVkIGFzIHN1Y2guIFByb2JhYmx5IGFsc28gZXhwbGFpbmVk IGluDQo+IHRoZSBoaWdoLWxldmVsIGRlc2lnbiBkb2N1bWVudGF0aW9uIGluIHRoZSBoZWFkZXIg ZXhwb3NpbmcgdGhpcyBkcml2ZXIgQVBJLg0KPiANCkF0IHRoZSBtb21lbnQgd2UgZG9uJ3QgaGF2 ZSBzdWNoIGRlcGVuZGVuY3kgYW5kIHdpbGwgY29udGludWUgdG8gc3RlZXIgdGhlIGRlc2lnbiB0 aGF0IHdheS4NCk9ubHkgZGVwZW5kZW5jeSB0byBoYXZlIGlzIGJldHdlZW4gYnVzIGRyaXZlciAo cnRlX2J1c19wY2lfbWx4NSkgYW5kIGl0cyB1cHBlciBsYXllciBjbGFzcyBkcml2ZXJzLg0KDQo+ IEJlc3QsDQo+IC0tDQo+IEdhw6t0YW4NCg==