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 049C1A04A2; Tue, 5 Nov 2019 15:05:23 +0100 (CET) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 31A898F96; Tue, 5 Nov 2019 15:05:23 +0100 (CET) Received: from EUR04-HE1-obe.outbound.protection.outlook.com (mail-eopbgr70043.outbound.protection.outlook.com [40.107.7.43]) by dpdk.org (Postfix) with ESMTP id D77802C02 for ; Tue, 5 Nov 2019 15:05:21 +0100 (CET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=LriH+COmlurMBtb+SY9h4OozWXXkbCYG6YADPs+3iPsiQvj+BeuMTe4vy4+yxzcEPndK7Fd2qPbQjocXcZHb3cHApMWILBgthbn/nQYEl7q/lh6CdBd9QrJbakvBD9rtMoENfbOq32M7F4tT4dxg2TFAGnVV6zTZEBS3ZUi+dYKG8mfx40I5rup3tAXqJjRC8dox0mHIZvwbkZOIslkGP73LLkobRtIjAEvy0K3Nawg68i1tuzIE2bhQ/zJsaFYu+yiXZYvevPxH+CP9j3n7Jq2hSdHmItybBDVPdbbiAxNU0lS98tIYxHGNMcQRtcKAhFhAoztSL/c9d/P3L1GIlQ== 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=Q+VLqGSvtuOVg8omTTFTPvqMX34MOS3XTUDsBv7U7R0=; b=CSL4VrXZuVT5e3aF+5Difrmodw35zNNKy4u5gB6uR0ALm1Yqy42c89J9M5YZivIt22Z4/fTWokpy/GMRtj7oJdjFYewtFKPlU9nKKSawGiksQzRqEYZ1Gd6+nGb2hOoJKaEjrAWgGT5hd4Pek74FmduXkYFuG+9F7QfzPtEUrpGr1NY+Z1IbPHZRxo8lYsZlr/m8LNerjCJn9xOuzC0Pu47VTZoJHBzaaftW9PqI7YAsMWsHEJ2SICI1DaWX2Ih6Kv2DWLh3YvdoiFzngXj2OB5BIfloP/obQTOHDebAJ7bMGOm2AlmE+lGl3NGX7p/0r/XbRFIDzjWXoQAvYACoiA== 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=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Q+VLqGSvtuOVg8omTTFTPvqMX34MOS3XTUDsBv7U7R0=; b=X1R4TdCnQYo1HsyhZZIzrzSF8L93FaXRbNcav/5OoqUk8tqgD2N7dKRzOxMHQpwMti5nhsoOyx3BZLq4IEEzWT7NuR/wcRTxBwb++5z/FQoSRlOTA5sk8HlmvuNsuDYANLLFZ0u0IYHZz2FzL1gzEWVAOavI4r8lCoV6eXCz4so= Received: from AM0PR0502MB4019.eurprd05.prod.outlook.com (52.133.39.139) by AM0PR0502MB3715.eurprd05.prod.outlook.com (52.133.50.147) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2408.24; Tue, 5 Nov 2019 14:05:20 +0000 Received: from AM0PR0502MB4019.eurprd05.prod.outlook.com ([fe80::fd7a:e5a8:deec:c1b0]) by AM0PR0502MB4019.eurprd05.prod.outlook.com ([fe80::fd7a:e5a8:deec:c1b0%7]) with mapi id 15.20.2408.024; Tue, 5 Nov 2019 14:05:20 +0000 From: Matan Azrad To: Andrew Rybchenko , Pavan Nikhilesh Bhagavatula , "ferruh.yigit@intel.com" , Jerin Jacob Kollanukkaran , Thomas Monjalon CC: "dev@dpdk.org" Thread-Topic: [dpdk-dev] [PATCH v15 3/7] ethdev: add validation to offloads set by PMD Thread-Index: AQHVkKQy9cRH0wytkUuPwqxEr75O2Kd5AfEwgABcroCAAAJbkIADLIIAgAAOhFA= Date: Tue, 5 Nov 2019 14:05:20 +0000 Message-ID: References: <20191029050312.2715-1-pbhagavatula@marvell.com> <20191029153722.4547-1-pbhagavatula@marvell.com> <20191029153722.4547-4-pbhagavatula@marvell.com> <0547e0a0-1ccd-84ee-46f1-5b35e1d25680@solarflare.com> In-Reply-To: Accept-Language: en-US, he-IL Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: spf=none (sender IP is ) smtp.mailfrom=matan@mellanox.com; x-originating-ip: [193.47.165.251] x-ms-publictraffictype: Email x-ms-office365-filtering-ht: Tenant x-ms-office365-filtering-correlation-id: 34ea8ac7-0ad9-4bfc-6bc6-08d761f931c1 x-ms-traffictypediagnostic: AM0PR0502MB3715: x-ld-processed: a652971c-7d2e-4d9b-a6a4-d149256f461b,ExtAddr x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:8273; x-forefront-prvs: 0212BDE3BE x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(4636009)(346002)(366004)(376002)(396003)(136003)(39860400002)(189003)(199004)(52314003)(11346002)(486006)(14454004)(33656002)(186003)(6436002)(76116006)(64756008)(66446008)(66946007)(25786009)(74316002)(2906002)(5660300002)(305945005)(52536014)(478600001)(66066001)(110136005)(316002)(81166006)(86362001)(446003)(8676002)(81156014)(3846002)(6116002)(6246003)(8936002)(76176011)(99286004)(476003)(7736002)(7696005)(102836004)(6506007)(55016002)(9686003)(2501003)(4326008)(229853002)(71200400001)(71190400001)(66476007)(66556008)(256004)(14444005)(53546011)(26005); DIR:OUT; SFP:1101; SCL:1; SRVR:AM0PR0502MB3715; H:AM0PR0502MB4019.eurprd05.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; MX:1; A:1; received-spf: None (protection.outlook.com: mellanox.com does not designate permitted sender hosts) x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: EsESFtdedtb/6EnXuZcS7YYx/WzFzUYgItlJRVT+d9pnA4wYOXiqmu1X6FVJwN0X8lml/FK8qE6y3E77uf/iSr2AsRuvCAMO93aaVzj+I0kNdsm2KUq/+vVpGYWyEbe3KUKvJAYsvI8QO+MctzWjuK953mD3b4S1ZpOymeEnS6MvqUiq2rfOSTSJuzngIZxKFjYVwWLvdBWbiM/l1Luch6y+mw1lPi7p9VkHWMfWlZFv4Jr9OibxYTvoap+O9TEAQoyU/liSCH5l66HLupKDi3UYC2M3NLunecZIMu08SHwYoYrvwee4n2iPk78we/DUPs/HUx+vQlj7spnbfWZiTbI06JH0P0/Uhwo+dTa7aqhtYmpFeQS42nMChxlxQ1QzqE5M+RGql6cwdr540NmSI/8wtkaJWubaYk77kBpPDkYml59fEVPOTi2glYx9XaVO x-ms-exchange-transport-forked: True 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: 34ea8ac7-0ad9-4bfc-6bc6-08d761f931c1 X-MS-Exchange-CrossTenant-originalarrivaltime: 05 Nov 2019 14:05:20.4585 (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: cFrBDQ1OThx6cauvue5vhWvEmmZOuPgKWNjmQJlI+dft5E9QCqqIDLghyWpqCQ4YoaGwU5/J8DycNXp12LZBwA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR0502MB3715 Subject: Re: [dpdk-dev] [PATCH v15 3/7] ethdev: add validation to offloads set by PMD 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" DQoNCkZyb206IEFuZHJldyBSeWJjaGVua28NCj4gT24gMTEvMy8xOSA2OjE2IFBNLCBNYXRhbiBB enJhZCB3cm90ZQ0KPiA+IEZyb206IEFuZHJldyBSeWJjaGVua28NCj4gPj4gT24gMTEvMy8xOSA5 OjU3IEFNLCBNYXRhbiBBenJhZCB3cm90ZToNCj4gPj4+IEhpDQo+ID4+Pg0KPiA+Pj4gRnJvbTog QW5kcmV3IFJ5YmNoZW5rbw0KPiA+Pj4+IE9uIDEwLzMxLzE5IDc6MzMgUE0sIFBhdmFuIE5pa2hp bGVzaCBCaGFnYXZhdHVsYSB3cm90ZToNCj4gPj4+Pj4+IEZyb206IFBhdmFuIE5pa2hpbGVzaCBC aGFnYXZhdHVsYQ0KPiA+Pj4+Pj4+IEhpIE1hdGFuLA0KPiA+Pj4+Pj4+DQo+ID4+Pj4+Pj4+IEhp IFBhdmFuDQo+ID4+Pj4+Pj4+DQo+ID4+Pj4+Pj4+IEZyb206IFBhdmFuIE5pa2hpbGVzaCA8cGJo YWdhdmF0dWxhQG1hcnZlbGwuY29tPg0KPiA+Pj4+Pj4+Pj4gU29tZSBQTURzIGNhbm5vdCB3b3Jr IHdoZW4gY2VydGFpbiBvZmZsb2FkcyBhcmUNCj4gPj4gZW5hYmxlL2Rpc2FibGVkLA0KPiA+Pj4+ Pj4+Pj4gYXMgYSB3b3JrYXJvdW5kIFBNRHMgYXV0byBlbmFibGUvZGlzYWJsZSBvZmZsb2FkcyBp bnRlcm5hbGx5DQo+ID4+Pj4+Pj4+PiBhbmQgZXhwb3NlIGl0IHRocm91Z2ggZGV2LT5kYXRhLT5k ZXZfY29uZi5yeG1vZGUub2ZmbG9hZHMuDQo+ID4+Pj4+Pj4+Pg0KPiA+Pj4+Pj4+Pj4gQWZ0ZXIg ZGV2aWNlIHNwZWNpZmljIGRldl9jb25maWd1cmUgaXMgY2FsbGVkIGNvbXBhcmUgdGhlDQo+ID4+ Pj4+Pj4+PiByZXF1ZXN0ZWQgb2ZmbG9hZHMgdG8gdGhlIG9mZmxvYWRzIGV4cG9zZWQgYnkgdGhl IFBNRCBhbmQsIGlmDQo+ID4+Pj4+Pj4+PiB0aGUgUE1EIGZhaWxlZCB0byBlbmFibGUgYSBnaXZl biBvZmZsb2FkIHRoZW4gbG9nIGl0IGFuZA0KPiA+Pj4+Pj4+Pj4gcmV0dXJuIC1FSU5WQUwgZnJv bSBydGVfZXRoX2Rldl9jb25maWd1cmUsIGVsc2UgaWYgdGhlIFBNRA0KPiA+Pj4+Pj4+Pj4gZmFp bGVkIHRvIGRpc2FibGUgYSBnaXZlbiBvZmZsb2FkIGxvZyBhbmQgY29udGludWUgd2l0aA0KPiA+ PiBydGVfZXRoX2Rldl9jb25maWd1cmUuDQo+ID4+Pj4+Pj4+Pg0KPiA+Pj4+Pj4+PiBydGVfZXRo X2Rldl9jb25maWd1cmUgY2FuIGJlIGNhbGxlZCBtb3JlIHRoYW4gMSB0aW1lIGluIHRoZQ0KPiA+ Pj4+Pj4+PiBkZXZpY2UgbGlmZSB0aW1lLCBIb3cgY2FuIHlvdSBrbm93IHdoYXQgaXMgdGhlIG1p bmltdW0gb2ZmbG9hZA0KPiA+Pj4+Pj4+PiBjb25maWd1cmF0aW9ucyByZXF1aXJlZCBieSB0aGUg cG9ydCBhZnRlciB0aGUgZmlyc3QgY2FsbD8NCj4gPj4+Pj4+Pj4gTWF5YmUgcHV0dGluZyBpdCBp biBkZXYgaW5mbyBpcyBiZXR0ZXIsIHdoYXQgZG8geW91IHRoaW5rPw0KPiA+Pj4+Pj4+Pg0KPiA+ Pj4+Pj4+IFdlIG9ubHkgcmV0dXJuIC1FSU5WQUwgaW4gdGhlIGNhc2Ugd2hlcmUgd2UgZW5hYmxl IGFuIG9mZmxvYWQNCj4gPj4+Pj4+PiBhZHZlcnRpc2VkIGJ5IGRldl9pbmZvIGFuZCB0aGUgcG9y dCBzdGlsbCBmYWlscyB0byBlbmFibGUgaXQuDQo+ID4+Pj4+PiBBcmUgeW91IHN1cmUgaXQgaXMg b2sgdGhhdCBkZXZpY2VzIG1heSBkaXNhYmxlXGVuYWJsZSBvZmZsb2Fkcw0KPiA+Pj4+Pj4gdW5k ZXIgdGhlIGhvb2Qgd2l0aG91dCB1c2VyIG5vdGlmaWNhdGlvbj8NCj4gPj4+Pj4gU29tZSBkZXZp Y2VzIGFscmVhZHkgZG8gaXQuIFRoZSBhYm92ZSBjaGVjayBhZGRzIHZhbGlkYXRpb24gZm9yIHRo ZQ0KPiBzYW1lLg0KPiA+Pj4+IFRoZSBwcm9ibGVtIGlzIHRoYXQgc29tZSBvZmZsb2FkcyBjYW5u b3QgYmUgZGlzYWJsZWQuDQo+ID4+PiBZZXMsIEkgdW5kZXJzdGFuZCBpdC4NCj4gPj4+DQo+ID4+ Pj4gSWYgYXBwbGljYXRpb24gZG9lcyBub3QgcmVxdWVzdCBSeCBjaGVja3N1bSBvZmZsb2FkIHNp bmNlIGl0IGRvZXMNCj4gPj4+PiB1c2UgaXQsIGl0IGlzIG5vdCBhIHByb2JsZW0gdG8gcmVwb3J0 IGl0Lg0KPiA+Pj4gWWVzLCBmb3IgUlggY2hlY2tzdW0gSSB0ZW5kIHRvIGFncmVlIHRoYXQgYXBw bGljYXRpb24gZG9lc24ndCBjYXJlDQo+ID4+PiBpZiB0aGUNCj4gPj4gUE1EIHdpbGwgY2FsY3Vs YXRlIHRoZSBjaGVja3N1bSBpbiBzcGl0ZSBvZiB0aGUgb2ZmbG9hZCBpcyBkaXNhYmxlZC4NCj4g Pj4+DQo+ID4+PiBCdXQgd2hhdCdzIGFib3V0IG90aGVyIG9mZmxvYWRzOg0KPiA+Pj4gRm9yIGV4 YW1wbGUgaW4gUlg6IExSTywgQ1JDX0tFRVAsIFZMQU5fU1RSSVAsIEpVTUJPIElmIHRoZSBQTUQg d2lsbA0KPiA+Pj4gc3RheSB0aGVtIG9uIHdoaWxlIHRoZSBhcHAgaXMgZGlzYWJsaW5nIGl0LCBJ dCBjYW4gY2F1c2UgYSBwcm9ibGVtcw0KPiA+Pj4gdG8gdGhlDQo+ID4+IGFwcGxpY2F0aW9uIChh ZmZlY3RzIHRoZSBwYWNrZXQgbGVuZ3RoKS4NCj4gPj4NCj4gPj4gWWVzLCBJIGFncmVlIHRoYXQg c29tZSBvZmZsb2FkcyBhcmUgY3JpdGljYWwgdG8gYmUgZGlzYWJsZWQsIGJ1dA0KPiA+PiBSU1Nf SEFTSCBkaXNjdXNzZWQgaW4gdGhlIGNoYW5nZXNldCBpcyBub3QgY3JpdGljYWwuDQo+ID4NCj4g PiBTbywgYXJlIHlvdSBhZ3JlZSBJdCBzaG91bGQgbm90IGJlIGNoZWNrZWQgZ2xvYmFsbHkgZm9y IGFsbCB0aGUgb2ZmbG9hZHMgaW4NCj4gZXRoZGV2IGxheWVyPw0KPiANCj4gSWYgb2ZmbG9hZCBp cyBub3QgcmVxdWVzdGVkLCBidXQgZW5hYmxlZCAoc2luY2UgUE1EIGNhbm5vdCBkaXNhYmxlIGl0 KSwgcmlnaHQNCj4gbm90IGl0IHdpbGwgbm90IGZhaWwgY29uZmlndXJlLCBidXQgd2FybiBhYm91 dCBpdCBpbiBsb2dzLg0KPiANCg0KSW4gdGhpcyBjYXNlIHdhcm5pbmcgcHJpbnQgaXMgbm90IGVu b3VnaCBzaW5jZSBpdCBjYW4gYmUgY3JpdGljYWwgZm9yIHRoZSBhcHBsaWNhdGlvbiBmb3Igc29t ZSBvZmZsb2Fkcy4NCkl0IGNhbiBiZSB2ZXJ5IHdlaXJkIGZvciB0aGUgYXBwbGljYXRpb24gdG8g c2VlIHRoYXQgc29tZSBvZmZsb2FkIGFyZSBvbiB3aGlsZSB0aGUgYXBwbGljYXRpb24gZG9lc24n dCBleHBlY3QgdGhlbSB0byBiZSBvbi4NCml0IGV2ZW4gY2FuIGNhdXNlIGFwcCBjcmFzaChhdCBs ZWFzdCBmb3IgdGhlIFJYIG9mZmxvYWQgSSB3cm90ZSBhYm92ZSkuDQoNCg0KPiA+IEl0IGV2ZW4g YmUgbW9yZSBwcm9ibGVtYXRpYyBpZiB0aGUgZHluYW1pYyBvZmZsb2FkIGZpZWxkIGluIG1idWYg aXMgbm90IGV4aXN0DQo+IGF0IGFsbC4NCg0KQW55IGFuc3dlciBoZXJlPw0KDQo+ID4+DQo+ID4+ PiBGb3IgZXhhbXBsZSBpbiBUWDogVFNPLCBWTEFOLCBNVUxUSV9TRUcuLi4uLg0KPiA+Pg0KPiA+ PiBUeCBpcyBub3QgdGhhdCBjcml0aWNhbCBzaW5jZSBhcHBsaWNhdGlvbiBzaG91bGQgbm90IHJl cXVlc3QgdGhlc2UNCj4gPj4gb2ZmbG9hZHMgcGVyLSBwYWNrZXQuIFR4IG9mZmxvYWRzIGFyZSBt YWlubHkgcmVxdWlyZWQgdG8gZW5zdXJlIHRoYXQNCj4gPj4gYXBwbGljYXRpb24gbWF5IHJlcXVl c3QgdGhlIG9mZmxvYWQgcGVyIHBhY2tldCBhbmQgaXQgd2lsbCBiZSBkb25lLg0KPiA+DQo+ID4g eWVzLCB5b3UgcmlnaHQsIEluIFRYIGl0IGxvb2tzIGxlc3MgY3JpdGljYWwgKGZvciBub3cpLg0K PiA+DQo+ID4+DQo+ID4+Pj4gT2YgY291cnNlLCBpdCBjb3VsZCBiZSBhIHByb2JsZW0gaWYgdGhl IG9mZmxvYWQgaXMgdXNlZCwgYnV0DQo+ID4+Pj4gYXBwbGljYXRpb24gd2FudHMgdG8gZGlzYWJs ZSBpdCwgZm9yIGV4YW1wbGUsIGZvciBkZWJ1Z2dpbmcgcHVycG9zZXMuDQo+ID4+Pj4gSW4gdGhp cyBjYXNlLCB0aGUgc29sdXRpb24gaXMgdG8gbWFzayBvZmZsb2FkcyBvbiBhcHBsaWNhdGlvbg0K PiA+Pj4+IGxldmVsLCB3aGljaCBpcyBub3QgaWRlYWwgYXMgd2VsbC4NCj4gPj4+IFdoeSBub3Qg aWRlYWw/DQo+ID4+DQo+ID4+IEl0IGVhdHMgQ1BVIGN5Y2xlcy4NCj4gPg0KPiA+IFNvcnJ5LCBJ IGRvbid0IHVuZGVyc3RhbmQgeW91ciB1c2UgY2FzZSBoZXJlLg0KPiANCj4gSWYgYXBwbGljYXRp b24gd2FudHMgdG8gdHJ5IGNvZGUgcGF0aCB3aXRob3V0LCBmb3IgZXhhbXBsZSwgUnggY2hlY2tz dW0NCj4gb2ZmbG9hZCwgaXQgY291bGQgYmUgaW5zdWZmaWNpZW50IHRvIGRpc2FibGUgdGhlIG9m ZmxvYWQgcmlnaHQgbm93LCBidXQgYWxzbw0KPiByZXF1aXJlZCB0byBjbGVhbnVwIG9mZmxvYWQg cmVzdWx0cyBmbGFncyBpbiBlYWNoIG1idWYgKGlmIFBNRCBkb2VzIG5vdA0KPiBzdXBwb3J0IHRo ZSBvZmZsb2FkIGRpc2FibGluZykuDQoNCldoYXQgaXMgInJpZ2h0IG5vdyI/IENvbmZpZ3VyYXRp b24gdGltZT8NCg0KSWYgYXBwbGljYXRpb24gd2lsbCBrbm93IHRoYXQgUE1EIGNhbm5vdCBkaXNh YmxlIHRoZSByeC1jaGVja3N1bSBpbiBjb25maWd1cmF0aW9uIHRpbWUsDQpJdCBjYW4gcGxhbiB0 byBub3QgY2xlYW4gdGhpcyBmbGFnIGluIG1idWYgZm9yIGVhY2ggcnggbWJ1Zi4NCg0KDQpJdCBs b29rcyBtZSBsaWtlIFBNRCBsaW1pdGF0aW9uIHdoaWNoIGNhbiBiZSBzb2x2ZWQgYnkgMiBvcHRp b25zOg0KMS4gQ2FwYWJpbGl0eSBpbmZvcm1hdGlvbiB3aGljaCBzYXkgdG8gdGhlIGFwcCB3aGF0 IG9mZmxvYWQgbWF5IG5vdCBiZSBkaXNhYmxlZC4NCjIuIEFkZCBsaW1pdGF0aW9uIGluIHRoZSBQ TUQgZG9jdW1lbnRhdGlvbiBhbmQgcHJpbnQgd2FybmluZ1xlcnJvciBtYXNzYWdlIGZyb20gdGhl IFBNRC4NCiANCj4gPj4+IElmIGFwcGxpY2F0aW9uIGNhbiBrbm93IHRoZSBsaW1pdGF0aW9uIG9m IG9mZmxvYWRzIGRpc2FibGluZyAoZm9yDQo+ID4+PiBleGFtcGxlIHRvDQo+ID4+IHJlYWQgY2Fw YWJpbGl0eSBvbiBpdCkNCj4gPj4+IFRoZSBhcHBsaWNhdGlvbiBoYXMgYWxsIGluZm9ybWF0aW9u IHRvIHRha2UgZGVjaXNpb25zLg0KPiA+Pj4NCj4gPj4+PiBBbnl3YXksIHRoZSBwYXRjaCBqdXN0 IHRyaWVzIHRvIGhpZ2hsaWdodCBkaWZmZXJlbmNlIG9mIGFwcGxpZWQNCj4gPj4+PiBmcm9tIHJl cXVlc3RlZC4gU28sIGl0IGlzIGEgc3RlcCBmb3J3YXJkLg0KPiA+Pj4+IEFsc28sIHRoZSBwYXRj aCB3aWxsIGZhaWwgY29uZmlndXJlIGlmIGFuIG9mZmxvYWQgaXMgcmVxdWVzdGVkLCBidXQNCj4g Pj4+PiBub3QNCj4gPj4gZW5hYmxlZC4NCj4gPj4+Pg0KPiA+Pj4+Pj4gQ2FuJ3QgaXQgYnJlYWsg YXBwbGljYXRpb25zPw0KPiA+Pj4+Pj4gV2h5IGRvZXMgdGhlIGRldmljZSBleHBvc2UgdW5zdXBw b3J0ZWQgb2ZmbG9hZHMgaW4gZGV2IGluZm8/DQo+ID4+Pj4+PiBEb2VzIGl0IHVwZGF0ZSB0aGUg cnVubmluZyBvZmZsb2FkIHVzeW5jaHJvbmljYWxseT8gUmFjZT8NCj4gPj4+Pj4+IENhbiB5b3Ug ZXhwbGFpbiBhbHNvIHlvdXIgc3BlY2lmaWMgdXNlIGNhc2U/DQo+ID4+Pj4+Pg0KPiA+Pj4+Pj4N Cj4gPj4+Pj4+Pj4gTWF0YW4NCj4gPg0KDQo=