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 8D2FEA00BE; Thu, 17 Feb 2022 12:19:25 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 2998B41156; Thu, 17 Feb 2022 12:19:25 +0100 (CET) Received: from NAM12-MW2-obe.outbound.protection.outlook.com (mail-mw2nam12on2065.outbound.protection.outlook.com [40.107.244.65]) by mails.dpdk.org (Postfix) with ESMTP id E662641155 for ; Thu, 17 Feb 2022 12:19:23 +0100 (CET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=mNE4RGaxMRbthCDv8qzfUob407Za0P1ERFGJtKN5yHdZnZX/paFMNGfp26HY3XjwduxMAvV9pfS2GMrJ4AGjE1F/5v9EXPyF3CH4Z6npCMMwiufdRUGUntrDu4OnEzIhqdg8Cj5DNxBAK7rQFPZ9oQ8BUKD/klMbuCIzyBhFQ3lXvKXIvP9g8lTBEdNJsaD1+1ffZZzJCYbcKOUnqrgaQFKe4Lf4MzQx5jag9gBe+N4xSut/2awYgQUvXhVlj9LBcCsRtwg7xJ5DY2NmhmSu6BlidnsLdrdfb0TyS6i3ouOZrVSp031eFGkO/INweVVreSgGX6mPTj2TTmbgkhOy9Q== 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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=sjLFtT3m+S2CoQb2YyBZvp07Du8V2fHQsnV3Ocjc7pQ=; b=eMXXVMP2BTNIdX3ZC9i0ZzC7Bh4DNMMjaC2GPjk1dDHSO3WWfwzts3r3VQ7C764JawCzlxiZelbKK6aN8Hsi4b4TvAKpGqq/DQN6v+GKQIMXBEYwj7HxZpP5W8MsXTsUHBLIIzpd3ukjT0jCRqu31H7gOG57Cg9R48fuQwG7i9+bx7QEI+stXWrAftgX2gsQsE65NIGPXd42VHyMFG/TxeyRurpch3ZxE4uR5IYH/5/AxnZ2fsuV8+PzjiPdPWW/8Zhmg6BmN8Ztg1u7cnJAeqQNiPliaw9vY3W/K3Kjh/xwGDUSif6QNIQ8DxA4RzMdfrN2Rvf7rDJUjXMjz35ftg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=sjLFtT3m+S2CoQb2YyBZvp07Du8V2fHQsnV3Ocjc7pQ=; b=geoSKrI7p3gT3JmNZXL2fOoIJCrGzSY6por1upJ+Vp074HlJ+83yGWTOO9d8MtceUHfMd9hk2XG+eh8gVwUAAXlq/K+DYM/nUWArulSxj13Q8y/kwv8AVbxzs6oc9QGhemWB1QWrS7nP6lmmXH5ExD38Ry0SSqLjVIzpnB6kNz05ghX9vK+oHFWUdBoGpP3yxLfI8WxtkFPgcGoKvqqxDl2ZOizNjBASk3wsdkbF6D/V2G8TSa2EIPDCsdRarAVdTEQ9/nQlpWxIlufbYZFSs7AhGP8vlpcWG51S6IicEouoWLgyLGmobBq2V5tWIRJQpWtPFWQTx+UvoH2grPCW0A== Received: from CY4PR12MB1494.namprd12.prod.outlook.com (2603:10b6:910:f::22) by BY5PR12MB3761.namprd12.prod.outlook.com (2603:10b6:a03:1af::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4975.17; Thu, 17 Feb 2022 11:19:21 +0000 Received: from MW2PR12MB4666.namprd12.prod.outlook.com (2603:10b6:302:13::22) by CY4PR12MB1494.namprd12.prod.outlook.com (2603:10b6:910:f::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4975.18; Thu, 17 Feb 2022 11:19:20 +0000 Received: from MW2PR12MB4666.namprd12.prod.outlook.com ([fe80::9d4e:649c:c6b8:b353]) by MW2PR12MB4666.namprd12.prod.outlook.com ([fe80::9d4e:649c:c6b8:b353%5]) with mapi id 15.20.4975.017; Thu, 17 Feb 2022 11:19:20 +0000 From: Ori Kam To: Andrew Rybchenko , Alexander Kozyrev , "dev@dpdk.org" CC: "NBU-Contact-Thomas Monjalon (EXTERNAL)" , "ivan.malov@oktetlabs.ru" , "ferruh.yigit@intel.com" , "mohammad.abdul.awal@intel.com" , "qi.z.zhang@intel.com" , "jerinj@marvell.com" , "ajit.khaparde@broadcom.com" , "bruce.richardson@intel.com" Subject: RE: [PATCH v5 03/10] ethdev: bring in async queue-based flow rules operations Thread-Topic: [PATCH v5 03/10] ethdev: bring in async queue-based flow rules operations Thread-Index: AQHYHu7ttP3kPP/blEaJd5ixXtdyv6yOS7WAgADkTQCABwXkAIAAGbrggAFQhoCAAABRQA== Date: Thu, 17 Feb 2022 11:19:20 +0000 Message-ID: References: <20220209213809.1208269-1-akozyrev@nvidia.com> <20220211022653.1372318-1-akozyrev@nvidia.com> <20220211022653.1372318-4-akozyrev@nvidia.com> <6eac9cbe-cebf-f33f-eabd-79a4375916b6@oktetlabs.ru> <71bd0d78-d5b3-6692-f66f-95b4114853fb@oktetlabs.ru> <7e9f1897-de40-07d3-c480-a46ca45a8c90@oktetlabs.ru> In-Reply-To: <7e9f1897-de40-07d3-c480-a46ca45a8c90@oktetlabs.ru> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nvidia.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: dc8b2317-42a7-47f2-9bb2-08d9f207582b x-ms-traffictypediagnostic: CY4PR12MB1494:EE_|BY5PR12MB3761:EE_ x-ld-processed: 43083d15-7273-40c1-b7db-39efd9ccc17a,ExtAddr,ExtAddr x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:10000; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: uUuVJ/iHgULZS/GrOMdeYSD5w/Wf9q79eidSKu92298fVZuDEFIDQIUce2Dw/gIM+fmay92rrzKi5tIqPPVdF1nQL3k6jV4yyASu87ws7xA44j6NDZAtITnnVcQZabzq+0bWQ+rFmAO/vnWKW/z60BaV2ZszbwaoiSNKw//J2gjoVXmYJ0fydePHFnivGUakMcQ4E9B8XXYQstd02Xi39utQSY56Z5vf05RiXAHuBW9UucphiYt2PxOLug3ACPMbJq/vzfnagEWD0hb43sErgVovii80Z6cnE3fXLTqw9ZZZ7Bv5ZjpXX6NbDZ0bB4pmnyGBi9GIGY0C/P3rufSWc4QohYE1ZkKNrPNzFbQ3BUtvV7py+nKg7doF9tzSCUpBRJsqTxRHKoAUEByrN1LIkIkQS7GQratXWfS9KcHW4qiUvqMjOfIWdPURrqGL7ilJDeSqMpBbaXME5HtmId4t1oAPg6lPrZvxXQlxjtzsu54WL/ebDSIhjsX9mRMQGfLBkyAQxLZ67s3BXenK7V2WGkm2cvibkH4waLG1hAvNw/e00ah10wNVfeBUmmHp0/C/hu21vJwWX6rmOoL+g+EOqjE3E3pbU4XrTA59zWk3pedqjpEHwksZv2J5T/r/Uw6DTUTQi8ki/pgdkHU1E71l02n1H4iAbEdQi/RfQcVPpGLi1onAB46aWrmYWSumvPwBsWrT3/A4vBL6jE7MoV1fiA== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:CY4PR12MB1494.namprd12.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230001)(4636009)(366004)(4326008)(66476007)(38100700002)(66946007)(316002)(66556008)(26005)(122000001)(64756008)(66446008)(186003)(33656002)(76116006)(52536014)(7416002)(9686003)(86362001)(71200400001)(2906002)(53546011)(110136005)(508600001)(55016003)(54906003)(8936002)(8676002)(7696005)(6506007)(38070700005)(5660300002)(83380400001); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?ZGp3TWI1RnFyUHR1aWQyT0pGQVN4LzdqejdQS1U2NzB6dEFDcHF1cGhodGZX?= =?utf-8?B?dzVObGZoaWdhQ1p1SXJDdW81QmdUSVVxejJ4NXdDWlFlMDltMGRNMHpLc0xU?= =?utf-8?B?eUtWTWpTZnlqR3F2Wi93NGdGazcwRVBxYU55TE9aVWtHNzc1d1R4QzhwTWVz?= =?utf-8?B?czlidmh5azJTNWV3cHYzTFg2NUgxUkgrQS9KOTByTVkvdEV3UHp4SXFBN2pk?= =?utf-8?B?ZWhuY25TeHNYWC9BMTRoaVdOK2dwVmllQXZLWm5jejVYZlFEa1M0bFllVTdV?= =?utf-8?B?T08yMER5OXVDdWgzQXM3dkUxSk5ITUVaemN0dXZZK3A2cDlFMjZ5QUVpWXVk?= =?utf-8?B?MVBxMklqMVZFRFg5SHlVVlluNmt5bHRXdExwNUFIYUFDSHB5UENISDdqL0FJ?= =?utf-8?B?ZEQ0SkhpZFgwQkc4VENJd2xTTW43VmdnS2daNENidnFpaCtSdkRQbVJmSUY3?= =?utf-8?B?U05Eb0w3RW92NTEzWTVYS3dDRkhTUngvU0ozaE53N0M1Y0hQR0NvQmxIVS8w?= =?utf-8?B?d0tHMUN1ZjVIZGk4bnB1REJLaWxSb3hWaUFPMWNQNm9FVDdjOWFITWRsY2xj?= =?utf-8?B?Vkk0WUhqbjhVcW5DWVhxMC9aSEFsK2wwaFVrVkRPT2k4bElLR2RaZnV0MTNo?= =?utf-8?B?NUVxb3ZiRXR5dDdiVzhHVnNRMS9ROFRWUm9CWjBvcHlFeW1nZzNWQ2Y0aDNk?= =?utf-8?B?Ujh2UVNCOXgyN2Q5VmZFcWJvZEtYUjNWL0trK2tnSmVvVkVHcHBzZlk3MGRN?= =?utf-8?B?enlJNm5WaGt5WVowZlY4dDVPdzRmWUlIK1U1YXhhNVF5TDZhdGY3cXJGcEhN?= =?utf-8?B?VnUxc2hHRkJpQXpCS0hmaGo0RUtrZmU4SENBYlNJV3owb3BzNFRQQmtnbTFl?= =?utf-8?B?LzJLZVR2bVBweU9SOWkrbGtlK2FDQzJOV3Q0eWtGNnJzSDhtU3BzUFB1SzZn?= =?utf-8?B?bmJ2VDNHNlArSmtOUW9VOVZNTWtGVHhGY20zOVU2RWI0bzNwRHhPTlpvYkU0?= =?utf-8?B?d010U2E3cysrMmtZZ3E2UjY3a01nb0JpQk1GdGVFM2VtR3FkdHBKMmVBMUtQ?= =?utf-8?B?K09tNDhYaEJNTE1sekJDTmFoVUJRMTcwTkRXdTRZa0h5SkRlYnhsYmU0T1Vw?= =?utf-8?B?ejJOaTFCdWVmR3VsYmRIekM3TmhCUUxUWW40bjJiSzh0cUNBVzJaaktZYXk1?= =?utf-8?B?S1pLbWRzTlZPS2ZIOTNKZXNQNThDa0NnaXZoSFRNQXY4c2tUWlQ4WFFZK1ZX?= =?utf-8?B?dTJpVnRYM3dSczZuNXpXcUpkQ3Y5NW9OQWwzZlZvOXhxNDdCdjc5N0R6OThp?= =?utf-8?B?dCszWmwxZkpLKzhNV3FrSUV4d2I0Zmp6M0hCckdBYkVyb05VOGltYnZnVjN3?= =?utf-8?B?cGVGNThJcGhuN00ycXpKZld4dXdWTXhjYlRTU2djdXNnb2M5R0hhUjlIeDky?= =?utf-8?B?UnFBbllkaG10SUROR3F5TnI5QWNUUW5pVGtvaHd5b1dXdk52U2M5YjRMcmFF?= =?utf-8?B?bUNQK29lZW1JcFYzQm5neUFzNWJSa3p3dllPQisrenlMdDJUb3hMTXJOTDFE?= =?utf-8?B?N01pNDE0UTJIL0NPNktWOGk4OGlWckI3K1B2ZVpBbFoxanlmQkJRemZMbnpD?= =?utf-8?B?Z2V4MEZLeGdFbXlFbCtUazh0ajdUTTZCUi9JbDEwaGVFRW1kUW11Mk82ZG12?= =?utf-8?B?UVVlVnBDUDZnNU05K1BIL1FmS0NPbS9ORmwyMFg5OFN4ZVlDQWdSY0NmSnQr?= =?utf-8?B?VTFhL241aUVPcFplZ25JdWhOdzJXV2p1VExKZHpMcnRsRml4c25xNU1DNVFW?= =?utf-8?B?WE1QcjEyTUljcjZlMjdDU0E0WjQ3OVpxQXcrdEdRSzNsSlVrY0dkNUhxVGs5?= =?utf-8?B?TU04UnV0bWhKUDkyTzVRcGNwelJsSk1LUUdTK3RnSFE3a3UyZUdXVmdHcENB?= =?utf-8?B?MWE4T1h2VmZzVitzOWVLNWYvWTBtejhMcnkwbFJoTGIwNnAyN0RZZFczMzAx?= =?utf-8?B?c09FdkRHMHpFaUZSZnRJZEtwazVPMVlNNlNPL2tvb00rNmZlQW4wMVlxUmVy?= =?utf-8?B?aGFjdDBSMGFUSUFPTlBVNVVOeThOeXVTZWhiamV0VVg1eENqUzdUWlo2RHI4?= =?utf-8?B?SnlaSGFHSHhzZkhXOVlPcUtqUDZIaG9jZmJHQ1BJa2VDYlVBTk9UNXEzTi84?= =?utf-8?Q?gNzHDNUyDcuJ19p5Yo93ynI=3D?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: MW2PR12MB4666.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: dc8b2317-42a7-47f2-9bb2-08d9f207582b X-MS-Exchange-CrossTenant-originalarrivaltime: 17 Feb 2022 11:19:20.6487 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: 0/rXNDxdvUMUmWgLB0H18xLrj8nTPdb4DK0d70Yu0ZGjxVEfNLfYZ3z5V0CJoLZaOG4zpVfKN6qkax1w/YduPw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY5PR12MB3761 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 SGkgQW5kcmV3LA0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IEFuZHJl dyBSeWJjaGVua28gPGFuZHJldy5yeWJjaGVua29Ab2t0ZXRsYWJzLnJ1Pg0KPiBTZW50OiBUaHVy c2RheSwgRmVicnVhcnkgMTcsIDIwMjIgMToxMSBQTQ0KPiBTdWJqZWN0OiBSZTogW1BBVENIIHY1 IDAzLzEwXSBldGhkZXY6IGJyaW5nIGluIGFzeW5jIHF1ZXVlLWJhc2VkIGZsb3cgcnVsZXMgb3Bl cmF0aW9ucw0KPiANCj4gT24gMi8xNi8yMiAxODoxNSwgT3JpIEthbSB3cm90ZToNCj4gPiBIaSBB bmRldywNCj4gPg0KPiA+IEkgbWlzc2VkIG9uIGNvbW1lbnRzIFBTQiwNCj4gPg0KPiA+PiAtLS0t LU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+PiBGcm9tOiBBbmRyZXcgUnliY2hlbmtvIDxhbmRy ZXcucnliY2hlbmtvQG9rdGV0bGFicy5ydT4NCj4gPj4gU3ViamVjdDogUmU6IFtQQVRDSCB2NSAw My8xMF0gZXRoZGV2OiBicmluZyBpbiBhc3luYyBxdWV1ZS1iYXNlZCBmbG93IHJ1bGVzIG9wZXJh dGlvbnMNCj4gPj4NCj4gPj4gT24gMi8xMi8yMiAwNToxOSwgQWxleGFuZGVyIEtvenlyZXYgd3Jv dGU6DQo+ID4+PiBPbiBGcmksIEZlYiAxMSwgMjAyMiA3OjQyIEFuZHJldyBSeWJjaGVua28gPGFu ZHJldy5yeWJjaGVua29Ab2t0ZXRsYWJzLnJ1PjoNCj4gPj4+PiBPbiAyLzExLzIyIDA1OjI2LCBB bGV4YW5kZXIgS296eXJldiB3cm90ZToNCj4gPj4+Pj4gQSBuZXcsIGZhc3RlciwgcXVldWUtYmFz ZWQgZmxvdyBydWxlcyBtYW5hZ2VtZW50IG1lY2hhbmlzbSBpcyBuZWVkZWQNCj4gPg0KPiA+IFtT bmlwXQ0KPiA+DQo+ID4NCj4gPj4+Pj4gKw0KPiA+Pj4+PiArLSBPcGVyYXRpb25zIGNhbiBiZSBw b3N0cG9uZWQgYW5kIHB1c2hlZCB0byBOSUMgaW4gYmF0Y2hlcy4NCj4gPj4+Pj4gKw0KPiA+Pj4+ PiArLSBSZXN1bHRzIHB1bGxpbmcgbXVzdCBiZSBkb25lIG9uIHRpbWUgdG8gYXZvaWQgcXVldWUg b3ZlcmZsb3dzLg0KPiA+Pj4+DQo+ID4+Pj4gcG9sbGluZz8gKGFzIGxpYmMgcG9sbCgpIHdoaWNo IGNoZWNrcyBzdGF0dXMgb2YgZmlsZSBkZXNjcmlwdG9ycykNCj4gPj4+PiBpdCBpcyBub3QgcHVs bGluZyB0aGUgZG9vciB0byBvcGVuIGl0IDopDQo+ID4+Pg0KPiA+Pj4gcG9sbCB3YWl0cyBmb3Ig c29tZSBldmVudCBvbiBhIGZpbGUgZGVzY3JpcHRvciBhcyBpdCB0aXRsZSBzYXlzLg0KPiA+Pj4g QW5kIHRoZW4gdXNlciBoYXMgdG8gaW52b2tlIHJlYWQoKSB0byBhY3R1YWxseSBnZXQgYW55IGlu Zm8gZnJvbSB0aGUgZmQuDQo+ID4+PiBUaGUgcG9pbnQgb2Ygb3VyIGZ1bmN0aW9uIGlzIHRvIHJl dHVybiB0aGUgcmVzdWx0IGltbWVkaWF0ZWx5LCB0aHVzIHB1bGxpbmcuDQo+ID4+PiBXZSBoYWQg bWFueSBuYW1lcyBhcHBlYXJpbmcgaW4gdGhlIHRocmVhZCBmb3IgdGhlc2UgZnVuY3Rpb25zLg0K PiA+Pj4gQXMgd2Uga25vdywgbmFtaW5nIHZhcmlhYmxlcyBpcyB0aGUgc2Vjb25kIGhhcmRlc3Qg dGhpbmcgaW4gcHJvZ3JhbW1pbmcuDQo+ID4+PiBJIHdhbnRlZCB0aGlzIHB1bGwgZm9yIHJlc3Vs dHMgcHVsbGluZyBiZSBhIGNvdW50ZXJwYXJ0IGZvciB0aGUgcHVzaCBmb3INCj4gPj4+IHB1c2hp bmcgdGhlIG9wZXJhdGlvbnMgdG8gYSBOSUMuIEFub3RoZXIgaWRlYSBpcyBwb3AvcHVzaCBwYWly LCBidXQgdGhleSBhcmUNCj4gPj4+IG1vcmUgbGlrZSBmb3Igb3BlcmF0aW9ucyBvbmx5LCBub3Qg Zm9yIHJlc3VsdHMuDQo+ID4+PiBIYXZpbmcgc2FpZCB0aGF0IEknbSBhdCB0aGUgcG9pbnQgb2Yg YWNjZXB0aW5nIGFueSBuYW1lIGhlcmUuDQo+ID4+DQo+ID4+IEkgYWdyZWUgdGhhdCBpdCBpcyBo YXJkIHRvIGNob29zZSBnb29kIG5hbWluZy4NCj4gPj4gSnVzdCB3YW50IHRvIHNheSB0aGF0IHBv bGxpbmcgaXMgbm90IGFsd2F5IHdhaXRpbmcuDQo+ID4+DQo+ID4+IHBvbGwgLSBjaGVjayB0aGUg c3RhdHVzIG9mIChhIGRldmljZSksIGVzcGVjaWFsbHkgYXMgcGFydCBvZiBhIHJlcGVhdGVkDQo+ ID4+IGN5Y2xlLg0KPiA+Pg0KPiA+PiBIZXJlIHdlJ3JlIGNoZWNraW5nIHN0YXR1cyBvZiBmbG93 IGVuZ2luZSByZXF1ZXN0cyBhbmQgeWVzLA0KPiA+PiBmaW5hbGx5IGluIGEgcmVwZWF0ZWQgY3lj bGUuDQo+ID4+DQo+ID4gSSB0aGluayB0aGUgYmVzdCBuYW1lIHNob3VsZCBiZSBkZXF1ZXVlIHNp bmNlIGl0IG1lYW5zIHRoYXQNCj4gPiB0aGUgY2FsbGluZyBhcHAgZ2V0cyBiYWNrIGluZm8gYW5k IGFsc28gZnJlZSBzcGFjZSBpbiB0aGUgdGhlIHFldWV1ZS4NCj4gDQo+IERlcXVldWUgaXMgYmFk IHNpbmNlIGl0IGlzIG5vdCBhIHF1ZXVlIGJlY2F1c2Ugb2Ygb3V0LW9mLW9yZGVyDQo+IGNvbXBs ZXRpb25zLiBTbywgaWYgaXQgaXMgYSByaW5nLCBjb21wbGV0aW9uIG9mIG9uZSByZXF1ZXN0DQo+ IGRvZXMgbm90IGFsd2F5cyBmcmVlIHNwYWNlIGluIHJpbmcuIE1heSBiZSBpdCBzaG91bGQgbm90 IGJlDQo+IHRyZWF0ZWQgYXMgYSByaW5nLg0KPiANCkxpa2UgSSBzYWlkIEknbSBPLksgd2l0aCB0 aGUgcHVsbCB2ZXJzaW9uLg0KSSBoYWQgbWFueSBtYW55IGRlc2N1c3Npb25zIGFib3V0IHRoZSBx dWV1ZSwgSSB3YXMgYWxzbyB0aGlua2luZyBhYm91dCBpdCB0aGUNCndheSB5b3UgZG8sIHRoYXQg c2F5aW5nIHF1ZXVlIG1lYW5zIGl0IGlzIG9yZGVyZWQsIGJ1dCB0aGF0IGlzIG5vdCB0cnVlIGJ5 IGRlZmluaXRpb24NCnlvdSBjYW4gaGF2ZSB1bm9yZGVyZWQgcXVldWUuIChmb3IgZXhhbXBsZSBw cmlvcml0eSBxdWV1ZXMpIG9yIGp1c3QNCnlvdXIgZXZlcnlkYXkgcXVldWUgaW4gdGhlIHN0b3Jl IHRoYXQgYXQgdGhlIGVuZCB3aWxsIGJlIHNwbGl0IHRvIGNvdW50ZXJzDQphbmQgZWFjaCBjdXN0 b21lciBjYW4gZmluaXNoIGJlZm9yZSB0aGUgb25lIHRoYXQgaGUgd2FzIGFmdGVyIGluIHRoZSBx dWV1ZS4NCg0KSW1wb3J0YW50IHRoaW5nIHRvIG5vdGljZSwgdGhpcyAgZnVuY3Rpb24gZG9lcyBj bGVhciBzcGFjZSBpbiB0aGUgDQpxdWV1ZS4NCg0KPiA+IE15IHNlY29uZCBvcHRpb24gaXMgdGhl IHB1bGwsIHNpbmNlIGFnYWluIGl0IGltcGxpZXMgdGhhdCB3ZSBhcmUgZ2V0dGluZyBiYWNrDQo+ ID4gc29tZXRoaW5nIGZyb20gdGhlIHF1ZXVlIGFuZCBub3QganVzdCB3YWl0aW5nIGZvciBldmVu dC4NCj4gDQo+IEknbGwgdGhpbmsgYSBiaXQgbW9yZSBhYm91dCBpdC4NCg0KVGhhbmtzLCANCg0K QmVzdCwNCk9yaQ0K