From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from NAM03-DM3-obe.outbound.protection.outlook.com (mail-dm3nam03on0065.outbound.protection.outlook.com [104.47.41.65]) by dpdk.org (Postfix) with ESMTP id 717A34CBD for ; Mon, 12 Mar 2018 12:25:29 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amdcloud.onmicrosoft.com; s=selector1-amd-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=CP0APGkT1fJlkAGdeLi/250l/m/ZDBmItP0L/GvuT1k=; b=4wKZb6GzSFZU8OVKZ1v9NHkMoLrRhPT5n2oi0MnzZda6et0O6h/KztIzBjnMHE8kD/T0ZM8AeEmVOPl+hH5IbJ080yuixE9/b3Dd+PAo0sbVW21tEuGI2417O0iNV/Wo87P5cPXIYsba5f/H/DRuEWyfCfCBxz93mewxlA4aZMM= Received: from CY4PR12MB1509.namprd12.prod.outlook.com (10.172.68.22) by CY4PR12MB1861.namprd12.prod.outlook.com (10.175.61.23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.567.14; Mon, 12 Mar 2018 11:25:28 +0000 Received: from CY4PR12MB1509.namprd12.prod.outlook.com ([fe80::3c8d:727b:feea:83a4]) by CY4PR12MB1509.namprd12.prod.outlook.com ([fe80::3c8d:727b:feea:83a4%18]) with mapi id 15.20.0567.018; Mon, 12 Mar 2018 11:25:27 +0000 From: "Kumar, Ravi1" To: Ferruh Yigit , "dev@dpdk.org" CC: Hemant Agrawal , Thomas Monjalon Thread-Topic: [dpdk-dev] [PATCH v3 01/18] net/axgbe: add minimal dev init and uninit support Thread-Index: AQHTt8GW2P0oa3DZgkSv2tLJpqhCU6PIGskAgARfAVA= Date: Mon, 12 Mar 2018 11:25:27 +0000 Message-ID: References: <1515145938-97474-1-git-send-email-Ravi1.kumar@amd.com> <1520584954-130575-1-git-send-email-Ravi1.kumar@amd.com> <7260d022-3fca-7007-ef35-85112f9cf01b@intel.com> <7957b9ba-005b-e95d-f650-030680353888@intel.com> In-Reply-To: <7957b9ba-005b-e95d-f650-030680353888@intel.com> Accept-Language: en-IN, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: spf=none (sender IP is ) smtp.mailfrom=Ravi1.Kumar@amd.com; x-originating-ip: [106.200.218.112] x-ms-publictraffictype: Email x-microsoft-exchange-diagnostics: 1; CY4PR12MB1861; 7:Eb+GQqoyvMdK6K1WULiPYvuoX0/LI+KjGfE6PMi+6DMGE77XK21JXNqFMGSijxOlHoZ7CsAxQBnqeD/q8j1TsUBeOHqK0oGfhCkSh7EJPL0jkvc6i5o6hf+BHh+0IzjH84TgsrRnGIP1EMCc61icgbeIst7qdjfgkLVoQmCFM3VhAzX6lOSn07lIH0STxIBO32TkZr7KWUe0DDppmfxmlqk7UvpK9dZgZqzu6DB9TARHTsnnU7vYv8/qaQpjJEXX; 20:caMFNnkFJzs36M6kh4C6zmHcSTk/bSJQU92KoIVxVvBQBlsWTXdknuljLc+DIu0H3INH48vGOds4rbPb4AFRHpMw62/l9CLYECM08k3f8arTzKS4+e1Uu80uAolfxSAHxVsETpA/GadMhDN+KqsGFmPv0+TaEzRoxs5E/c6s9XTU/RuVAbFkcYO0yQbcyU15XWm+GQn1n4xwCDNt1/8BTy0QrdtuGLyGMFAJQq8X3KjOddb34JCMtVdQ3DILaI9V x-ms-exchange-antispam-srfa-diagnostics: SSOS; x-ms-office365-filtering-ht: Tenant x-ms-office365-filtering-correlation-id: 505c798e-8032-41dc-afd5-08d5880bf503 x-microsoft-antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020095)(4652020)(48565401081)(5600026)(4604075)(3008032)(4534165)(4627221)(201703031133081)(201702281549075)(2017052603328)(7153060)(7193020); SRVR:CY4PR12MB1861; x-ms-traffictypediagnostic: CY4PR12MB1861: x-microsoft-antispam-prvs: x-exchange-antispam-report-test: UriScan:(250305191791016)(22074186197030)(185117386973197)(767451399110)(228905959029699); x-exchange-antispam-report-cfa-test: BCL:0; PCL:0; RULEID:(8211001083)(6040522)(2401047)(8121501046)(5005006)(3002001)(93006095)(93001095)(10201501046)(3231220)(944501244)(52105095)(6055026)(6041310)(20161123564045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123562045)(20161123560045)(20161123558120)(6072148)(201708071742011); SRVR:CY4PR12MB1861; BCL:0; PCL:0; RULEID:; SRVR:CY4PR12MB1861; x-forefront-prvs: 06098A2863 x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(366004)(39860400002)(376002)(396003)(346002)(39380400002)(189003)(199004)(13464003)(3846002)(68736007)(9686003)(3660700001)(6116002)(5660300001)(105586002)(6246003)(7736002)(86362001)(25786009)(74316002)(4326008)(97736004)(14454004)(102836004)(305945005)(53546011)(2950100002)(8656006)(59450400001)(6506007)(316002)(6436002)(2501003)(478600001)(33656002)(26005)(81166006)(72206003)(110136005)(93886005)(3280700002)(6306002)(8936002)(55016002)(53936002)(76176011)(66066001)(54906003)(186003)(7696005)(81156014)(229853002)(5250100002)(8676002)(99286004)(2900100001)(106356001)(2906002)(2004002); DIR:OUT; SFP:1101; SCL:1; SRVR:CY4PR12MB1861; H:CY4PR12MB1509.namprd12.prod.outlook.com; FPR:; SPF:None; PTR:InfoNoRecords; MX:1; A:1; LANG:en; received-spf: None (protection.outlook.com: amd.com does not designate permitted sender hosts) x-microsoft-antispam-message-info: WPv62LmJ8o+34lIu7ZtEkv5V4Ez/SjkX9Wu8mOrpecIFYlw1Mp6vCxh/lJCZKbLVb9xGyD3DyAiIj7K/sZfrMBPUbkCvmfuobYKvsDBOCkf5hIolg3LTLSeLEeylqBtByQme7NvNJ3Sq37ITusMzmDgMXn9jFjT0xzrx3fNrGwA8WyeuFSukhzQ0ykwfaTkSTfx/OPipecfQrFh2RkhdwMJktsQ/CEvwSoo6ogVkqzRURy2yvia6Gv+6e5cSCG8BTgf1bHurKyuEmxPSSgJ/DLv3i68bWOAqn/2oRXtONvTNdS/eiQ7pwZoBw2BJsr5XecUHs8PyvGsDUzO0bGhD2Q== spamdiagnosticoutput: 1:99 spamdiagnosticmetadata: NSPM Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-Network-Message-Id: 505c798e-8032-41dc-afd5-08d5880bf503 X-MS-Exchange-CrossTenant-originalarrivaltime: 12 Mar 2018 11:25:27.8533 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY4PR12MB1861 Subject: Re: [dpdk-dev] [PATCH v3 01/18] net/axgbe: add minimal dev init and uninit support 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: , X-List-Received-Date: Mon, 12 Mar 2018 11:25:29 -0000 Pg0KPg0KPi0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+RnJvbTogRmVycnVoIFlpZ2l0IFtt YWlsdG86ZmVycnVoLnlpZ2l0QGludGVsLmNvbV0gDQo+U2VudDogRnJpZGF5LCBNYXJjaCAwOSwg MjAxOCAxMDowOSBQTQ0KPlRvOiBLdW1hciwgUmF2aTEgPFJhdmkxLkt1bWFyQGFtZC5jb20+OyBk ZXZAZHBkay5vcmcNCj5DYzogSGVtYW50IEFncmF3YWwgPGhlbWFudC5hZ3Jhd2FsQG54cC5jb20+ OyBUaG9tYXMgTW9uamFsb24gPHRob21hc0Btb25qYWxvbi5uZXQ+DQo+U3ViamVjdDogUmU6IFtk cGRrLWRldl0gW1BBVENIIHYzIDAxLzE4XSBuZXQvYXhnYmU6IGFkZCBtaW5pbWFsIGRldiBpbml0 IGFuZCB1bmluaXQgc3VwcG9ydA0KPg0KPk9uIDMvOS8yMDE4IDQ6MTMgUE0sIEZlcnJ1aCBZaWdp dCB3cm90ZToNCj4+IE9uIDMvOS8yMDE4IDg6NDIgQU0sIFJhdmkgS3VtYXIgd3JvdGU6DQo+Pj4g U2lnbmVkLW9mZi1ieTogUmF2aSBLdW1hciA8UmF2aTEua3VtYXJAYW1kLmNvbT4NCj4+IA0KPj4g PC4uLj4NCj4+IA0KPj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9heGdiZS9NYWtlZmlsZSBi L2RyaXZlcnMvbmV0L2F4Z2JlL01ha2VmaWxlIA0KPj4+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0IGlu ZGV4IDAwMDAwMDAuLmM4YTFlODcNCj4+PiAtLS0gL2Rldi9udWxsDQo+Pj4gKysrIGIvZHJpdmVy cy9uZXQvYXhnYmUvTWFrZWZpbGUNCj4+PiBAQCAtMCwwICsxLDE0NiBAQA0KPj4+ICsjDQo+Pj4g KyMgICBDb3B5cmlnaHQgKGMpIDIwMTcgQWR2YW5jZWQgTWljcm8gRGV2aWNlcywgSW5jLg0KPj4+ ICsjICAgQWxsIHJpZ2h0cyByZXNlcnZlZC4NCj4+PiArIw0KPj4+ICsjICAgQU1EIDEwR2IgRXRo ZXJuZXQgZHJpdmVyDQo+Pj4gKyMNCj4+PiArIyAgIFRoaXMgZmlsZSBpcyBhdmFpbGFibGUgdG8g eW91IHVuZGVyIHlvdXIgY2hvaWNlIG9mIHRoZSBmb2xsb3dpbmcgdHdvDQo+Pj4gKyMgICBsaWNl bnNlczoNCj4+PiArIw0KPj4+ICsjICAgTGljZW5zZSAxOiBHUEx2Mg0KPj4+ICsjDQo+Pj4gKyMg ICBDb3B5cmlnaHQgKGMpIDIwMTcgQWR2YW5jZWQgTWljcm8gRGV2aWNlcywgSW5jLg0KPj4+ICsj DQo+Pj4gKyMgICBUaGlzIGZpbGUgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IG1heSBjb3B5LCByZWRp c3RyaWJ1dGUgYW5kL29yIG1vZGlmeQ0KPj4+ICsjICAgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRo ZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkNCj4+PiArIyAgIHRo ZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vu c2UsIG9yIChhdA0KPj4+ICsjICAgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLg0KPj4+ ICsjDQo+Pj4gKyMgICBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBp dCB3aWxsIGJlIHVzZWZ1bCwgYnV0DQo+Pj4gKyMgICBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0 aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mDQo+Pj4gKyMgICBNRVJDSEFOVEFCSUxJ VFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGUgR05VDQo+Pj4g KyMgICBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuDQo+Pj4gKyMNCj4+ PiArIyAgIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFs IFB1YmxpYyBMaWNlbnNlDQo+Pj4gKyMgICBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gSWYgbm90 LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+Lg0KPj4+ICsjDQo+Pj4gKyMgICBU aGlzIGZpbGUgaW5jb3Jwb3JhdGVzIHdvcmsgY292ZXJlZCBieSB0aGUgZm9sbG93aW5nIGNvcHly aWdodCBhbmQNCj4+PiArIyAgIHBlcm1pc3Npb24gbm90aWNlOg0KPj4+ICsjDQo+Pj4gKyMgICBD b3B5cmlnaHQgKGMpIDIwMTMgU3lub3BzeXMsIEluYy4NCj4+PiArIw0KPj4+ICsjICAgVGhlIFN5 bm9wc3lzIERXQyBFVEhFUiBYR01BQyBTb2Z0d2FyZSBEcml2ZXIgYW5kIGRvY3VtZW50YXRpb24N Cj4+PiArIyAgIChoZXJlaW5hZnRlciAiU29mdHdhcmUiKSBpcyBhbiB1bnN1cHBvcnRlZCBwcm9w cmlldGFyeSB3b3JrIG9mIFN5bm9wc3lzLA0KPj4+ICsjICAgSW5jLiB1bmxlc3Mgb3RoZXJ3aXNl IGV4cHJlc3NseSBhZ3JlZWQgdG8gaW4gd3JpdGluZyBiZXR3ZWVuIFN5bm9wc3lzDQo+Pj4gKyMg ICBhbmQgeW91Lg0KPj4+ICsjDQo+Pj4gKyMgICBUaGUgU29mdHdhcmUgSVMgTk9UIGFuIGl0ZW0g b2YgTGljZW5zZWQgU29mdHdhcmUgb3IgTGljZW5zZWQgUHJvZHVjdA0KPj4+ICsjICAgdW5kZXIg YW55IEVuZCBVc2VyIFNvZnR3YXJlIExpY2Vuc2UgQWdyZWVtZW50IG9yIEFncmVlbWVudCBmb3Ig TGljZW5zZWQNCj4+PiArIyAgIFByb2R1Y3Qgd2l0aCBTeW5vcHN5cyBvciBhbnkgc3VwcGxlbWVu dCB0aGVyZXRvLiBQZXJtaXNzaW9uIGlzIGhlcmVieQ0KPj4+ICsjICAgZ3JhbnRlZCwgZnJlZSBv ZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weSBvZiB0aGlzIHNvZnR3YXJl DQo+Pj4gKyMgICBhbm5vdGF0ZWQgd2l0aCB0aGlzIGxpY2Vuc2UgYW5kIHRoZSBTb2Z0d2FyZSwg dG8gZGVhbCBpbiB0aGUgU29mdHdhcmUNCj4+PiArIyAgIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGlu Y2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1c2UsDQo+Pj4gKyMgICBj b3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQv b3Igc2VsbCBjb3BpZXMNCj4+PiArIyAgIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBw ZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzIGZ1cm5pc2hlZA0KPj4+ICsjICAgdG8gZG8g c28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOg0KPj4+ICsjDQo+Pj4gKyMg ICBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBz aGFsbCBiZSBpbmNsdWRlZA0KPj4+ICsjICAgaW4gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBw b3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuDQo+Pj4gKyMNCj4+PiArIyAgIFRISVMgU09GVFdBUkUg SVMgQkVJTkcgRElTVFJJQlVURUQgQlkgU1lOT1BTWVMgU09MRUxZIE9OIEFOICJBUyBJUyINCj4+ PiArIyAgIEJBU0lTIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV RElORywgQlVUIE5PVCBMSU1JVEVEDQo+Pj4gKyMgICBUTywgVEhFIElNUExJRUQgV0FSUkFOVElF UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEENCj4+PiArIyAgIFBBUlRJQ1VM QVIgUFVSUE9TRSBBUkUgSEVSRUJZIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFNZTk9Q U1lTDQo+Pj4gKyMgICBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO VEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SDQo+Pj4gKyMgICBDT05TRVFVRU5USUFMIERBTUFH RVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRg0KPj4+ICsj ICAgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBS T0ZJVFM7IE9SIEJVU0lORVNTDQo+Pj4gKyMgICBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE IEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTg0KPj4+ICsjICAgQ09O VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9S IE9USEVSV0lTRSkNCj4+PiArIyAgIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBP RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YNCj4+PiArIyAgIFRIRSBQT1NTSUJJ TElUWSBPRiBTVUNIIERBTUFHRS4NCj4+PiArIw0KPj4+ICsjICAgTGljZW5zZSAyOiBNb2RpZmll ZCBCU0QNCj4+PiArIw0KPj4+ICsjICAgQ29weXJpZ2h0IChjKSAyMDE3IEFkdmFuY2VkIE1pY3Jv IERldmljZXMsIEluYy4NCj4+PiArIyAgIEFsbCByaWdodHMgcmVzZXJ2ZWQuDQo+Pj4gKyMNCj4+ PiArIyAgIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs IHdpdGggb3Igd2l0aG91dA0KPj4+ICsjICAgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zDQo+Pj4gKyMgICBhcmUgbWV0Og0K Pj4+ICsjDQo+Pj4gKyMgICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQNCj4+PiArIyAgIAlub3RpY2UsIHRoaXMgbGlzdCBv ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuDQo+Pj4gKyMgICAgICog UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj b3B5cmlnaHQNCj4+PiArIyAgIAlub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0 aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4NCj4+PiArIwl0aGUgZG9jdW1lbnRhdGlvbiBhbmQv b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlDQo+Pj4gKyMJZGlzdHJpYnV0aW9u Lg0KPj4+ICsjICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgQWR2YW5jZWQgTWljcm8gRGV2aWNl cywgSW5jLiBub3IgdGhlDQo+Pj4gKyMgICAJbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkg YmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMNCj4+PiArIyAgIAlkZXJpdmVk IGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlz c2lvbi4NCj4+PiArIw0KPj4+ICsjICAgVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUg Q09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiDQo+Pj4gKyMgICBBTkQg QU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElN SVRFRCBUTywgVEhFDQo+Pj4gKyMgICBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM SVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRQ0KPj4+ICsjICAgQVJFIERJ U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIDxDT1BZUklHSFQgSE9MREVSPiBCRSBMSUFCTEUg Rk9SIEFOWQ0KPj4+ICsjICAgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwg RVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMNCj4+PiArIyAgIChJTkNMVURJTkcs IEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBT RVJWSUNFUzsNCj4+PiArIyAgIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ TkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORA0KPj4+ICsjICAgT04gQU5ZIFRI RU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks IE9SIFRPUlQNCj4+PiArIyAgIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFS SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRg0KPj4+ICsjICAgVEhJUyBTT0ZUV0FS RSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4NCj4+ PiArIw0KPj4+ICsjICAgVGhpcyBmaWxlIGluY29ycG9yYXRlcyB3b3JrIGNvdmVyZWQgYnkgdGhl IGZvbGxvd2luZyBjb3B5cmlnaHQgYW5kDQo+Pj4gKyMgICBwZXJtaXNzaW9uIG5vdGljZToNCj4+ PiArIw0KPj4+ICsjICAgQ29weXJpZ2h0IChjKSAyMDEzIFN5bm9wc3lzLCBJbmMuDQo+Pj4gKyMN Cj4+PiArIyAgIFRoZSBTeW5vcHN5cyBEV0MgRVRIRVIgWEdNQUMgU29mdHdhcmUgRHJpdmVyIGFu ZCBkb2N1bWVudGF0aW9uDQo+Pj4gKyMgICAoaGVyZWluYWZ0ZXIgIlNvZnR3YXJlIikgaXMgYW4g dW5zdXBwb3J0ZWQgcHJvcHJpZXRhcnkgd29yayBvZiBTeW5vcHN5cywNCj4+PiArIyAgIEluYy4g dW5sZXNzIG90aGVyd2lzZSBleHByZXNzbHkgYWdyZWVkIHRvIGluIHdyaXRpbmcgYmV0d2VlbiBT eW5vcHN5cw0KPj4+ICsjICAgYW5kIHlvdS4NCj4+PiArIw0KPj4+ICsjICAgVGhlIFNvZnR3YXJl IElTIE5PVCBhbiBpdGVtIG9mIExpY2Vuc2VkIFNvZnR3YXJlIG9yIExpY2Vuc2VkIFByb2R1Y3QN Cj4+PiArIyAgIHVuZGVyIGFueSBFbmQgVXNlciBTb2Z0d2FyZSBMaWNlbnNlIEFncmVlbWVudCBv ciBBZ3JlZW1lbnQgZm9yIExpY2Vuc2VkDQo+Pj4gKyMgICBQcm9kdWN0IHdpdGggU3lub3BzeXMg b3IgYW55IHN1cHBsZW1lbnQgdGhlcmV0by4gUGVybWlzc2lvbiBpcyBoZXJlYnkNCj4+PiArIyAg IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHkg b2YgdGhpcyBzb2Z0d2FyZQ0KPj4+ICsjICAgYW5ub3RhdGVkIHdpdGggdGhpcyBsaWNlbnNlIGFu ZCB0aGUgU29mdHdhcmUsIHRvIGRlYWwgaW4gdGhlIFNvZnR3YXJlDQo+Pj4gKyMgICB3aXRob3V0 IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8g dXNlLA0KPj4+ICsjICAgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwg c3VibGljZW5zZSwgYW5kL29yIHNlbGwgY29waWVzDQo+Pj4gKyMgICBvZiB0aGUgU29mdHdhcmUs IGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpcyBmdXJuaXNoZWQN Cj4+PiArIyAgIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoN Cj4+PiArIw0KPj4+ICsjICAgVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVy bWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQNCj4+PiArIyAgIGluIGFsbCBjb3BpZXMg b3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLg0KPj4+ICsjDQo+Pj4gKyMg ICBUSElTIFNPRlRXQVJFIElTIEJFSU5HIERJU1RSSUJVVEVEIEJZIFNZTk9QU1lTIFNPTEVMWSBP TiBBTiAiQVMgSVMiDQo+Pj4gKyMgICBCQVNJUyBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBX QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRA0KPj4+ICsjICAgVE8sIFRIRSBJ TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBDQo+ Pj4gKyMgICBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIEhFUkVCWSBESVNDTEFJTUVELiBJTiBOTyBF VkVOVCBTSEFMTCBTWU5PUFNZUw0KPj4+ICsjICAgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJ TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUg0KPj4+ICsjICAgQ09O U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VS RU1FTlQgT0YNCj4+PiArIyAgIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0Yg VVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KPj4+ICsjICAgSU5URVJSVVBUSU9O KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg SU4NCj4+PiArIyAgIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJ TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpDQo+Pj4gKyMgICBBUklTSU5HIElOIEFOWSBXQVkg T1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GDQo+Pj4g KyMgICBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuDQo+PiANCj4+IEhpIFJhdmksDQo+ PiANCj4+IFdoYXQgaGFzIGJlZW4gbW9kaWZpZWQgaW4gdGhpcyByZWxlYXNlPw0KPj4gDQo+PiBB cyBmYXIgYXMgSSByZW1lbWJlciBheGdiZSBza2lwcGVkIHByZXZpb3VzIHJlbGVhc2UgYmVjYXVz ZSBkcml2ZXIgd2FzIA0KPj4gd29ya2luZyBvbiBzd2l0Y2hpbmcgdG8gdGhlIFNQRFggdGFncz8g QW5kIHRoaXMgdmVyc2lvbiBvZiB0aGUgcGF0Y2ggDQo+PiBpcyBhZ2FpbiB3aXRob3V0IFNQRFgg dGFncy4NCj4+IA0KPj4gVGhpcyBkcml2ZXIgaXMgb3V0IGZvciBhIHdoaWxlIG5vdyBhbmQgbm90 IGFibGUgdG8gbWVyZ2VkIHlldC4gSWYgU1BEWCANCj4+IHdvcmsgaXMgYmxvY2tpbmcgeW91LCBJ IHdvdWxkIHN1Z2dlc3QgdGFraW5nIHRoaXMgaXNzdWUgdG8gdGhlIA0KPj4gdGVjaC1ib2FyZCBh bmQgYXNrIGZvciBleGNlcHRpb24gZm9yIGl0Lg0KPg0KPkkganVzdCByZWNvZ25pemVkIHRoYXQg KFRoYW5rcyB0byBQYWJsbykgcGF0Y2ggMTgvMTggY292ZXJ0cyBsaWNlbnNpbmcgdG8gU1BEWC4N Cj5HcmVhdCB0byBzZWUgdGhhdCBpc3N1ZSBoYXMgYmVlbiBzb2x2ZWQuDQo+DQo+T25seSBjYW4g eW91IHBsZWFzZSBkaXN0cmlidXRlIHRoZSBwYXRjaCAxOC8xOCB0byB0aGUgYWN0dWFsIHBhdGNo ZXMgYW5kIGFkZCBsaWNlbnNpbmcgY29ycmVjdCBhdCBmaXJzdCB0aW1lPw0KPg0KPlRoYW5rcywN Cj5mZXJydWgNCkhpIEZlcnJ1aCwNCg0KVGhhbmtzIGZvciByZXZpZXdpbmcuIFdlIHdpbGwgZml4 IHRoaXMgaW4gdGhlIG5leHQgdmVyc2lvbiBvZiB0aGUgcGF0Y2hlcy4gDQoNClJlZ2FyZHMsDQpS YXZpDQo=