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 4998EA00C4; Thu, 17 Feb 2022 15:16:06 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id D1A5540150; Thu, 17 Feb 2022 15:16:05 +0100 (CET) Received: from NAM11-DM6-obe.outbound.protection.outlook.com (mail-dm6nam11on2042.outbound.protection.outlook.com [40.107.223.42]) by mails.dpdk.org (Postfix) with ESMTP id 67D4040042 for ; Thu, 17 Feb 2022 15:16:04 +0100 (CET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=l0H2oCffjpdI1/SMi6l5V9EaqH+WKmwwsr8QMfxT6orkrvvCdAarXUO4GP5xoJVzK4YvcL4/pTwmjW5Ly7im0dArsSEo4cAoMvLQTxgtiejFqpP1kO2nFvf4W8xbX2Pdhc5S6ocqzu/C1zRSpajFtdwQHV/r7EC9k9UrDqXiihO1Fc71htXvuiBA1vO5eq21P2Rpfh/8umFqHbBXcrhi2rrhepc9LedyRYkV2KdgAEun/v82+xoNPHuHulMRQu9Gfj1r5nRYmc7fpv4+b4VqCpILm+CSqm7GbWqPm0JRkT3SmdxbTUZK5lHzY7IhkLps3JVzjbLTJfH8+Jf+wX1Lpw== 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=H2bKskLJDxMsGZKwOS2FAFQjbb+lwKXRmAAkfw2MT0I=; b=Auo8e+FN08CbsZoAzUrRdl72bhEVgBqNa61DCAqkfJiB18IBCQIPyfZuNH5EGvnxru1w6Sd/5ptOtIcjLlKTsPdFEo8PxFE77eEVaBChVOwIXC9rpYz/ybTpciROL/NAEXgR28wz99+of0vEy0OsO+AMKXBvHEXOxE+4cmChqX3xWOCuz5+eNwa6UpJ5uF08UqMKe0GrvNlFLo/U+Mxdkkq5NmZ9g8uUnO7FZxXt0KB5gW/QQ7KpIg6NupfKI2ggYJESaoT5Bu5xzWXLfvI7v6SM43xtQtcTt5ytqmmormhRCkeDHWOX6erULPz6L6e/FMshmCSwkAIo76ayic2Uag== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nvidia.com; dmarc=pass action=none header.from=nvidia.com; dkim=pass header.d=nvidia.com; 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=H2bKskLJDxMsGZKwOS2FAFQjbb+lwKXRmAAkfw2MT0I=; b=b3cvOSr5yZuTfmPtaGHlmpQt3SxPPfJLf2+GKkKJGdaPdRDB6GUK0hUpxv7C/NsYFEJrWNVLUjJBs5j94hnzGa4h/qDxzosq2sUp0nkDyNqC69D2R7ueC90rxUZuSKo0sn1Zmd4X9Znk3dRU3uqf/0OnAinrcpCQVeDjYZBND9Sxk7kL9NcS47PMmx8AwZcaQjU3GJSUCjGAYExl179DFvA47iQxrfNo/ei8SnzxP+B7DMHMJosnmRw05N5Drodo9FfddDGMxpY7m17x7FVgPuA4TnHD4oOJQB3z9Sy9LlGOfbQq1ksfMm1VGB9dxipiFzAOdNWobAEXF4BRpg0IGA== Received: from CH2PR12MB3893.namprd12.prod.outlook.com (2603:10b6:610:21::14) by BY5PR12MB4998.namprd12.prod.outlook.com (2603:10b6:a03:1d4::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4995.16; Thu, 17 Feb 2022 14:16:02 +0000 Received: from MW2PR12MB4666.namprd12.prod.outlook.com (2603:10b6:302:13::22) by CH2PR12MB3893.namprd12.prod.outlook.com (2603:10b6:610:21::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4995.17; Thu, 17 Feb 2022 14:16:00 +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 14:16:00 +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/blEaJd5ixXtdyv6yOS7WAgADkTQCABwXkAIAADQOAgAFYNoCAAAMQ8IAANO4A Date: Thu, 17 Feb 2022 14:16:00 +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> <532d4476-b48f-5c17-bff6-4fc3c854e746@oktetlabs.ru> In-Reply-To: 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: 2bed4238-12b4-400c-47af-08d9f2200606 x-ms-traffictypediagnostic: CH2PR12MB3893:EE_|BY5PR12MB4998: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: Bwo7+tDV23+vD0j90V8jpbBaJkEg331fcn4emy08IL8dwpxvWep48YyY6xb8xWD43w70zH4rHGS+JnMRtmAK430okRw2iXAUj5FlhGqMzGxrqWTFlR/jXoxI26CQIf+GgTjcdnJlGDAfmBlVxxINxch1wuSTtFzoc8tAdXyFGUdZe1x3Xpzs5X13XdfDRLQrkKV5rQEPG12ZI8pWT6HD9DoXxDI6QEjr7T88vx5phx1JNZETTCXxcG975/GE7PcCrhlUQ9mIjCnQUty+V+onwJ3B8Bj7gA5R8XVo+Vt92Yri2feHnpEq7nLqAQTgTE4vredVh462zZPmPn3bn9EtNcWJ3dA2b+OfZffDbmqmqyG4SvaVDWQJR7aU6BtxBKHRtNxWKAs+W1YZAPbRRvk4hJomKg9f9tufjLIx1t5ecOQHgPPJN32k+EtmfjQ2h924uPGeabx1lMxdfy6jDmfHkloxY3LkLpH6xzzbr/xP3GUwhwvDTR7mWLnwjVJzox3r006ZE9Jc76CeJjpKlvQuuL+NO8UCao5Rhg6Z3adIf7kBwQhsGRQ9JTIjnfCww6Scz3CpEiK7a1ijvUBdwLBL2SevMvsxQVL6Wq5PXpB41NAwGCuf6UeJMQTx3iJrZSqiTdEsUcbuB/q1PdmUahLRnJgxE11S4VyDMmUGvow5Ky5B5RdrD5Ibcej/DTio6JKoDmFsDyDtesrVaQJS9czWcw== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:CH2PR12MB3893.namprd12.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230001)(4636009)(366004)(83380400001)(76116006)(8676002)(66946007)(66556008)(64756008)(66446008)(66476007)(4326008)(52536014)(508600001)(186003)(26005)(5660300002)(38070700005)(2940100002)(7696005)(9686003)(6506007)(2906002)(33656002)(7416002)(8936002)(122000001)(110136005)(53546011)(38100700002)(316002)(86362001)(54906003)(71200400001)(55016003); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?QU9Ma2JSUUFzUUMvQnovOEljMFVsZTg4M2M3d1hrcUI2YzZCMzUwbGk0TGxX?= =?utf-8?B?Yk14NDNkaXZPeWE3MjhFSkh6NndDTDRXY2Fhd2VobHQ3ZXhzWTVhWWYxNjlX?= =?utf-8?B?TlZuTVpTNEF5bjBLdUpQczdiUXJnak1iR3JzUnE1U3dvWUFtZ0dLbzdxOHlV?= =?utf-8?B?VkxrbmxOTTBReE1Vb1VndUM0TlhLKysrcWlYYllSTzhZcUw3OHdkRWU3d1cy?= =?utf-8?B?eCs5UWUvOGhreEFhTGY3WTdyTyt5Uk5heG84cWFLOU1YYkdEWnJTZGcrK3pp?= =?utf-8?B?V3QzcktkUUZzK3VvTlI0ejYrV3dwZ3JDenpPSTUzZ0dKWldmMkhzSHFCZk05?= =?utf-8?B?RXRja2xXM1dqeTNCRWZVcHoyK0x2Y2Y1WDhHZHpuSjN3MzAzdkhWeVJmSUZy?= =?utf-8?B?TXJleHd0QmJjeVFGM1hkUEFvL0YwRGc0TjlQdUFqL1pnM2poTGl5RTM3cHJX?= =?utf-8?B?enROQnoySWs2RUI5UklZalkrSG9kb252M2dzR3NQb3AyaXNMM092QnZQZWNt?= =?utf-8?B?aXpna0QvZWRhek4rUkJ6bjR2ajFET0JhckRGTWxqUzRVbGlzbVZyVlNMSTVs?= =?utf-8?B?c3Q2MEJldUdEVG5PdzJsWlY2UTVpdktjVWVpQmVhL05UYkhHcUdBbW10am5Y?= =?utf-8?B?TnBhUG1jemN6K3pUQ0luMzB2dUZnZVlYMjdET1JUdlZ4UkZoVFlDL2hqNlVk?= =?utf-8?B?bmxyYzR6ZUh3Ry8rc0Zvd1hoUEl1bU5ld1dSQlJOdU50QWFmUEZ3V2dvZVEz?= =?utf-8?B?RnBIUHlhTmxnSS9SZ05IeG5TM2hkUS9ha0k1SXRkZlVCNDRKWU1mb3Y1bWg0?= =?utf-8?B?eEFueEdQNHdmalIyK0M3WkdIK0VMRzIyeFJGSlhpeTFYMWIrTkFtUTNaNXVn?= =?utf-8?B?eEMrenZIc0E2dnVHVWFvQnVNSXJZeSt5elVoRGczR0pqeEJKNmIrM1JTMlJl?= =?utf-8?B?ODEybkp0c1V2VTBvRTIxeTFBL2kwaDFVTkRScURPKzRqYjF6S0t2MVVlaFJz?= =?utf-8?B?alhyTHFFdVIzZHVubi9UMi9ycnFBOGk5QnlGbkV1K0JpQ3RVY3EvSmNVWHBL?= =?utf-8?B?dUQrNkgwTndmSHd4czNDdGU2TUUzOXp3cFdhUkZWNElDRGxlRGNkcDdvWFoy?= =?utf-8?B?aDc4TTdkdU5HdnVhOXJrREp4bjNvMnJiNDIwU3Nmc2tXWGNIejcvLzF3L0FD?= =?utf-8?B?V09ON3pEZ05pemprNGJSeVFyUXd4VVRLSytqbkg4alZNeXdNSWZLdlRRSFNK?= =?utf-8?B?QzR5RlRtd1RSVFVBUVVRWWw5anZoeTMwaFNjUjhPbExyMGZwcHVINWR4Tnd1?= =?utf-8?B?K1docWRoZitrWDUyWU1SL2xyWnZrVGJsWWZnZUcxTVZOTDBKS3VrU3oyVHJi?= =?utf-8?B?NjAzWGpMMXhIYy9LbW1KUHZPVUs1bE1JRXgxSkVSYmFxYXZ5dXkrbHdZRytN?= =?utf-8?B?V2VVNXc2WFg1N1dRV1V0Y1lueDBiNGFQM3l6OVpVZk91WmlSazgyeVZ5amVY?= =?utf-8?B?VGFjZTZwVVcwUWZkR2VRN1E1RTVwUWY5U2ozZ3JHRzY3dkFOOVNEMUlkZjNs?= =?utf-8?B?OVBEd1BQYUpkdkdlc1pWMHRPdGlJUldoaXBYNTZPWGkyL2k4UWkvUGZNNmhU?= =?utf-8?B?OW5ZT1kxMHpTUUFlM0tFaTRqc0hJUFp3S2tXckh3QWhhSFhlZTUxZzZpVmJV?= =?utf-8?B?SDFzdHhRWE5NS3J5ellCZWdzSU9jR3JxN2tpRDg5ZDgzbFNqQkpVVmhtWC9Y?= =?utf-8?B?SHNZRWxEMG9laGNLaGVqYUliSkRtdXEwTUloVUxvOGQ1VXgzNFpiekZ5a1Rx?= =?utf-8?B?Q1FmWDdmMDg5K0lOYkUrbElzNy9uVXVZeDUwYS9uQm92bzhrdzIzVzFpS2Ri?= =?utf-8?B?UDRiK0hndFllT1kyQXZLOURwVEtPK2pyUXJ2dXkxekgrUTBXTTlVcXltNEVY?= =?utf-8?B?SVRIZUkweGdnU05nVUNOL21yNTZ6aXFCNExwNm5UUUd1Q2xVMDZ2ZERYNm9T?= =?utf-8?B?VXhjWS9qNmNKbWZFZjVLcGNxV2dCZGozemxXaHErbytPTEl1ZmZib0VkeTlq?= =?utf-8?B?U01JVTNaZ2RxWGdxd0hOSjV2SW1TZDhVc21qUGtCMklKZlZrcEoySmRudnlt?= =?utf-8?B?d3ZJRXlaR0d4ckpDS09YT01laVZIMXI2aDdwNnlabkNMTEhBZkV0K2l0NC9V?= =?utf-8?B?YWc9PQ==?= 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: 2bed4238-12b4-400c-47af-08d9f2200606 X-MS-Exchange-CrossTenant-originalarrivaltime: 17 Feb 2022 14:16:00.2648 (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: D0g6OAd3t2xWWMc89aHdp6ZX94uVCs/dkCR0J18d/4Oehr/R8qgGKn3B9I+7589XjVpRL7zo3N1WMVjssdJ3KA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY5PR12MB4998 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+IEZyb206IE9yaSBL YW0NCj4gU2VudDogVGh1cnNkYXksIEZlYnJ1YXJ5IDE3LCAyMDIyIDE6MDkgUE0NCj4gU3ViamVj dDogUkU6IFtQQVRDSCB2NSAwMy8xMF0gZXRoZGV2OiBicmluZyBpbiBhc3luYyBxdWV1ZS1iYXNl ZCBmbG93IHJ1bGVzIG9wZXJhdGlvbnMNCj4gDQo+IEhpIEFuZHJldywNCj4gDQo+ID4gLS0tLS1P cmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gPiBGcm9tOiBBbmRyZXcgUnliY2hlbmtvIDxhbmRyZXcu cnliY2hlbmtvQG9rdGV0bGFicy5ydT4NCj4gPiBTZW50OiBUaHVyc2RheSwgRmVicnVhcnkgMTcs IDIwMjIgMTI6NTMgUE0NCj4gPiBTdWJqZWN0OiBSZTogW1BBVENIIHY1IDAzLzEwXSBldGhkZXY6 IGJyaW5nIGluIGFzeW5jIHF1ZXVlLWJhc2VkIGZsb3cgcnVsZXMgb3BlcmF0aW9ucw0KPiA+DQo+ ID4gSGkgT3JpLA0KPiA+DQo+ID4gT24gMi8xNi8yMiAxNzo1MywgT3JpIEthbSB3cm90ZToNCj4g PiA+IEhpIEFuZGV3LA0KPiA+ID4NCj4gPiA+PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0K PiA+ID4+IEZyb206IEFuZHJldyBSeWJjaGVua28gPGFuZHJldy5yeWJjaGVua29Ab2t0ZXRsYWJz LnJ1Pg0KPiA+ID4+IFNlbnQ6IFdlZG5lc2RheSwgRmVicnVhcnkgMTYsIDIwMjIgMzozNCBQTQ0K PiA+ID4+IFN1YmplY3Q6IFJlOiBbUEFUQ0ggdjUgMDMvMTBdIGV0aGRldjogYnJpbmcgaW4gYXN5 bmMgcXVldWUtYmFzZWQgZmxvdyBydWxlcyBvcGVyYXRpb25zDQo+ID4gPj4NCj4gPiA+PiBPbiAy LzEyLzIyIDA1OjE5LCBBbGV4YW5kZXIgS296eXJldiB3cm90ZToNCj4gPiA+Pj4gT24gRnJpLCBG ZWIgMTEsIDIwMjIgNzo0MiBBbmRyZXcgUnliY2hlbmtvIDxhbmRyZXcucnliY2hlbmtvQG9rdGV0 bGFicy5ydT46DQo+ID4gPj4+PiBPbiAyLzExLzIyIDA1OjI2LCBBbGV4YW5kZXIgS296eXJldiB3 cm90ZToNCj4gPiA+Pj4+PiBBIG5ldywgZmFzdGVyLCBxdWV1ZS1iYXNlZCBmbG93IHJ1bGVzIG1h bmFnZW1lbnQgbWVjaGFuaXNtIGlzIG5lZWRlZA0KPiA+ID4+Pj4gZm9yDQo+ID4gPj4+Pj4gYXBw bGljYXRpb25zIG9mZmxvYWRpbmcgcnVsZXMgaW5zaWRlIHRoZSBkYXRhcGF0aC4gVGhpcyBhc3lu Y2hyb25vdXMNCj4gPiA+Pj4+PiBhbmQgbG9ja2xlc3MgbWVjaGFuaXNtIGZyZWVzIHRoZSBDUFUg Zm9yIGZ1cnRoZXIgcGFja2V0IHByb2Nlc3NpbmcgYW5kDQo+ID4gPj4+Pj4gcmVkdWNlcyB0aGUg cGVyZm9ybWFuY2UgaW1wYWN0IG9mIHRoZSBmbG93IHJ1bGVzIGNyZWF0aW9uL2Rlc3RydWN0aW9u DQo+ID4gPj4+Pj4gb24gdGhlIGRhdGFwYXRoLiBOb3RlIHRoYXQgcXVldWVzIGFyZSBub3QgdGhy ZWFkLXNhZmUgYW5kIHRoZSBxdWV1ZQ0KPiA+ID4+Pj4+IHNob3VsZCBiZSBhY2Nlc3NlZCBmcm9t IHRoZSBzYW1lIHRocmVhZCBmb3IgYWxsIHF1ZXVlIG9wZXJhdGlvbnMuDQo+ID4gPj4+Pj4gSXQg aXMgdGhlIHJlc3BvbnNpYmlsaXR5IG9mIHRoZSBhcHAgdG8gc3luYyB0aGUgcXVldWUgZnVuY3Rp b25zIGluIGNhc2UNCj4gPiA+Pj4+PiBvZiBtdWx0aS10aHJlYWRlZCBhY2Nlc3MgdG8gdGhlIHNh bWUgcXVldWUuDQo+ID4gPj4+Pj4NCj4gPiA+Pj4+PiBUaGUgcnRlX2Zsb3dfcV9mbG93X2NyZWF0 ZSgpIGZ1bmN0aW9uIGVucXVldWVzIGEgZmxvdyBjcmVhdGlvbiB0byB0aGUNCj4gPiA+Pj4+PiBy ZXF1ZXN0ZWQgcXVldWUuIEl0IGJlbmVmaXRzIGZyb20gYWxyZWFkeSBjb25maWd1cmVkIHJlc291 cmNlcyBhbmQgc2V0cw0KPiA+ID4+Pj4+IHVuaXF1ZSB2YWx1ZXMgb24gdG9wIG9mIGl0ZW0gYW5k IGFjdGlvbiB0ZW1wbGF0ZXMuIEEgZmxvdyBydWxlIGlzIGVucXVldWVkDQo+ID4gPj4+Pj4gb24g dGhlIHNwZWNpZmllZCBmbG93IHF1ZXVlIGFuZCBvZmZsb2FkZWQgYXN5bmNocm9ub3VzbHkgdG8g dGhlDQo+ID4gPj4+PiBoYXJkd2FyZS4NCj4gPiA+Pj4+PiBUaGUgZnVuY3Rpb24gcmV0dXJucyBp bW1lZGlhdGVseSB0byBzcGFyZSBDUFUgZm9yIGZ1cnRoZXIgcGFja2V0DQo+ID4gPj4+Pj4gcHJv Y2Vzc2luZy4gVGhlIGFwcGxpY2F0aW9uIG11c3QgaW52b2tlIHRoZSBydGVfZmxvd19xX3B1bGwo KSBmdW5jdGlvbg0KPiA+ID4+Pj4+IHRvIGNvbXBsZXRlIHRoZSBmbG93IHJ1bGUgb3BlcmF0aW9u IG9mZmxvYWRpbmcsIHRvIGNsZWFyIHRoZSBxdWV1ZSwgYW5kIHRvDQo+ID4gPj4+Pj4gcmVjZWl2 ZSB0aGUgb3BlcmF0aW9uIHN0YXR1cy4gVGhlIHJ0ZV9mbG93X3FfZmxvd19kZXN0cm95KCkgZnVu Y3Rpb24NCj4gPiA+Pj4+PiBlbnF1ZXVlcyBhIGZsb3cgZGVzdHJ1Y3Rpb24gdG8gdGhlIHJlcXVl c3RlZCBxdWV1ZS4NCj4gPiA+Pj4+Pg0KPiA+ID4+Pj4+IFNpZ25lZC1vZmYtYnk6IEFsZXhhbmRl ciBLb3p5cmV2IDxha296eXJldkBudmlkaWEuY29tPg0KPiA+ID4+Pj4+IEFja2VkLWJ5OiBPcmkg S2FtIDxvcmlrYUBudmlkaWEuY29tPg0KPiA+ID4+DQo+ID4gPj4gW3NuaXBdDQo+ID4gPj4NCj4g PiA+Pj4+PiArDQo+ID4gPj4+Pj4gKy0gQXZhaWxhYmxlIG9wZXJhdGlvbiB0eXBlczogcnVsZSBj cmVhdGlvbiwgcnVsZSBkZXN0cnVjdGlvbiwNCj4gPiA+Pj4+PiArICBpbmRpcmVjdCBydWxlIGNy ZWF0aW9uLCBpbmRpcmVjdCBydWxlIGRlc3RydWN0aW9uLCBpbmRpcmVjdCBydWxlIHVwZGF0ZS4N Cj4gPiA+Pj4+PiArDQo+ID4gPj4+Pj4gKy0gT3BlcmF0aW9ucyBtYXkgYmUgcmVvcmRlcmVkIHdp dGhpbiBhIHF1ZXVlLg0KPiA+ID4+Pj4NCj4gPiA+Pj4+IERvIHdlIHdhbnQgdG8gaGF2ZSBiYXJy aWVycz8NCj4gPiA+Pj4+IEUuZy4gY3JlYXRlIHJ1bGUsIGRlc3Ryb3kgdGhlIHNhbWUgcnVsZSAt PiByZW9kZXIgLT4gZGVzdHJveSBmYWlscywgcnVsZQ0KPiA+ID4+Pj4gbGl2ZXMgZm9yZXZlci4N Cj4gPiA+Pj4NCj4gPiA+Pj4gQVBJIGRlc2lnbiBpcyBjcmFmdGVyIHdpdGggdGhlIHRocm91Z2hw dXQgYXMgdGhlIG1haW4gZ29hbCBpbiBtaW5kLg0KPiA+ID4+PiBXZSBhbGxvdyB1c2VyIHRvIGVu Zm9yY2UgYW55IG9yZGVyaW5nIG91dHNpZGUgdGhlc2UgZnVuY3Rpb25zLg0KPiA+ID4+PiBBbm90 aGVyIHBvaW50IHRoYXQgbm90IGFsbCBQTURzL05JQyB3aWxsIGhhdmUgdGhpcyBvdXQtb2Ytb3Jk ZXIgZXhlY3V0aW9uLg0KPiA+ID4+DQo+ID4gPj4gVGhyb3VnaHB1dCBpcyBuaWNlLCBidXQgdGhl cmUgbW9yZSBpbXBvcnRhbnQgcmVxdWlyZW1lbnRzDQo+ID4gPj4gd2hpY2ggbXVzdCBiZSBzYXRp c3RpZWQgYmVmb3JlIHRhbGtpbmcgYWJvdXQgcGVyZm9ybWFuY2UuDQo+ID4gPj4gQ291bGQgeW91 IGV4cGxhaW4gbWUgd2hhdCBJIHNob3VsZCBkbyBiYXNlZCBvbiB3aGljaA0KPiA+ID4+IGluZm9y bWF0aW9uIGZyb20gTklDIGluIG9yZGVyIHRvIHNvbHZlIGFib3ZlIHByb2JsZW0/DQo+ID4gPj4N Cj4gPiA+DQo+ID4gPiBUaGUgaWRlYSBpcyB0aGF0IGlmIGFwcGxpY2F0aW9uIGhhcyBkZXBlbmRl bmN5IGJldHdlZW4gdGhlIHJ1bGVzLyBydWxlcyBvcGVyYXRpb25zLg0KPiA+ID4gSXQgc2hvdWxk IHdhaXQgZm9yIHRoZSBjb21wbGV0aW9uIG9mIHRoZSBvcGVyYXRpb24gYmVmb3JlIHNlbmRpbmcg dGhlIGRlcGVuZGVudCBvcGVyYXRpb24uDQo+ID4gPiBJbiB0aGUgZXhhbXBsZSB5b3UgcHJvdmlk ZWQgYWJvdmUsIGFjY29yZGluZyB0byB0aGUgZG9jdW1lYXRpb24gYXBwbGljYXRpb24gc2hvdWxk IHdhaXQNCj4gPiA+IGZvciB0aGUgY29tcGxldGlvbiBvZiB0aGUgZmxvdyBjcmVhdGlvbiBiZWZv cmUgZGVzdHJveWluZyBpdC4NCj4gPg0KPiA+IEkgc2VlLCB0aGFua3MuIE1heSBiZSBJIHJlYWQg ZG9jdW1lbnRhdGlvbiBub3QgdGhhdCBhdHRlbnRpdmUuDQo+ID4gSSdsbCByZXJlYWQgb24gdGhl IG5leHQgdmVyc2lvbiByZXZpZXcgY3ljbGUuDQo+ID4NCj4gPiA+Pj4+PiArDQo+ID4gPj4+Pj4g Ky0gT3BlcmF0aW9ucyBjYW4gYmUgcG9zdHBvbmVkIGFuZCBwdXNoZWQgdG8gTklDIGluIGJhdGNo ZXMuDQo+ID4gPj4+Pj4gKw0KPiA+ID4+Pj4+ICstIFJlc3VsdHMgcHVsbGluZyBtdXN0IGJlIGRv bmUgb24gdGltZSB0byBhdm9pZCBxdWV1ZSBvdmVyZmxvd3MuDQo+ID4gPj4+Pg0KPiA+ID4+Pj4g cG9sbGluZz8gKGFzIGxpYmMgcG9sbCgpIHdoaWNoIGNoZWNrcyBzdGF0dXMgb2YgZmlsZSBkZXNj cmlwdG9ycykNCj4gPiA+Pj4+IGl0IGlzIG5vdCBwdWxsaW5nIHRoZSBkb29yIHRvIG9wZW4gaXQg OikNCj4gPiA+Pj4NCj4gPiA+Pj4gcG9sbCB3YWl0cyBmb3Igc29tZSBldmVudCBvbiBhIGZpbGUg ZGVzY3JpcHRvciBhcyBpdCB0aXRsZSBzYXlzLg0KPiA+ID4+PiBBbmQgdGhlbiB1c2VyIGhhcyB0 byBpbnZva2UgcmVhZCgpIHRvIGFjdHVhbGx5IGdldCBhbnkgaW5mbyBmcm9tIHRoZSBmZC4NCj4g PiA+Pj4gVGhlIHBvaW50IG9mIG91ciBmdW5jdGlvbiBpcyB0byByZXR1cm4gdGhlIHJlc3VsdCBp bW1lZGlhdGVseSwgdGh1cyBwdWxsaW5nLg0KPiA+ID4+PiBXZSBoYWQgbWFueSBuYW1lcyBhcHBl YXJpbmcgaW4gdGhlIHRocmVhZCBmb3IgdGhlc2UgZnVuY3Rpb25zLg0KPiA+ID4+PiBBcyB3ZSBr bm93LCBuYW1pbmcgdmFyaWFibGVzIGlzIHRoZSBzZWNvbmQgaGFyZGVzdCB0aGluZyBpbiBwcm9n cmFtbWluZy4NCj4gPiA+Pj4gSSB3YW50ZWQgdGhpcyBwdWxsIGZvciByZXN1bHRzIHB1bGxpbmcg YmUgYSBjb3VudGVycGFydCBmb3IgdGhlIHB1c2ggZm9yDQo+ID4gPj4+IHB1c2hpbmcgdGhlIG9w ZXJhdGlvbnMgdG8gYSBOSUMuIEFub3RoZXIgaWRlYSBpcyBwb3AvcHVzaCBwYWlyLCBidXQgdGhl eSBhcmUNCj4gPiA+Pj4gbW9yZSBsaWtlIGZvciBvcGVyYXRpb25zIG9ubHksIG5vdCBmb3IgcmVz dWx0cy4NCj4gPiA+Pj4gSGF2aW5nIHNhaWQgdGhhdCBJJ20gYXQgdGhlIHBvaW50IG9mIGFjY2Vw dGluZyBhbnkgbmFtZSBoZXJlLg0KPiA+ID4+DQo+ID4gPj4gSSBhZ3JlZSB0aGF0IGl0IGlzIGhh cmQgdG8gY2hvb3NlIGdvb2QgbmFtaW5nLg0KPiA+ID4+IEp1c3Qgd2FudCB0byBzYXkgdGhhdCBw b2xsaW5nIGlzIG5vdCBhbHdheSB3YWl0aW5nLg0KPiA+ID4+DQo+ID4gPj4gcG9sbCAtIGNoZWNr IHRoZSBzdGF0dXMgb2YgKGEgZGV2aWNlKSwgZXNwZWNpYWxseSBhcyBwYXJ0IG9mIGEgcmVwZWF0 ZWQNCj4gPiA+PiBjeWNsZS4NCj4gPiA+Pg0KPiA+ID4+IEhlcmUgd2UncmUgY2hlY2tpbmcgc3Rh dHVzIG9mIGZsb3cgZW5naW5lIHJlcXVlc3RzIGFuZCB5ZXMsDQo+ID4gPj4gZmluYWxseSBpbiBh IHJlcGVhdGVkIGN5Y2xlLg0KPiA+ID4+DQo+ID4gPj4gW3NuaXBdDQo+ID4gPj4NCj4gPiA+Pj4+ PiArLyoqDQo+ID4gPj4+Pj4gKyAqIEB3YXJuaW5nDQo+ID4gPj4+Pj4gKyAqIEBiIEVYUEVSSU1F TlRBTDogdGhpcyBBUEkgbWF5IGNoYW5nZSB3aXRob3V0IHByaW9yIG5vdGljZS4NCj4gPiA+Pj4+ PiArICoNCj4gPiA+Pj4+PiArICogUXVldWUgb3BlcmF0aW9uIGF0dHJpYnV0ZXMuDQo+ID4gPj4+ Pj4gKyAqLw0KPiA+ID4+Pj4+ICtzdHJ1Y3QgcnRlX2Zsb3dfcV9vcHNfYXR0ciB7DQo+ID4gPj4+ Pj4gKwkvKioNCj4gPiA+Pj4+PiArCSAqIFRoZSB1c2VyIGRhdGEgdGhhdCB3aWxsIGJlIHJldHVy bmVkIG9uIHRoZSBjb21wbGV0aW9uIGV2ZW50cy4NCj4gPiA+Pj4+PiArCSAqLw0KPiA+ID4+Pj4+ ICsJdm9pZCAqdXNlcl9kYXRhOw0KPiA+ID4+Pj4NCj4gPiA+Pj4+IElNSE8gaXQgbXVzdCBub3Qg YmUgaGlkZG5lIGluIGF0dHJzLiBJdCBpcyBhIGtleSBpbmZvcm1hdGlvbg0KPiA+ID4+Pj4gd2hp Y2ggaXMgdXNlZCB0byB1bmRlcnN0YW5kIHRoZSBvcHJhdGlvbiByZXN1bHQuIEl0IHNob3VsZA0K PiA+ID4+Pj4gYmUgcGFzc2VkIHNlcGFyYXRlbHkuDQo+ID4gPj4+DQo+ID4gPj4+IE1heWJlLCBv biB0aGUgb3RoZXIgaGFuZCBpdCBpcyBvcHRpb25hbCBhbmQgbWF5IG5vdCBiZSBuZWVkZWQgYnkg YW4gYXBwbGljYXRpb24uDQo+ID4gPj4NCj4gPiA+PiBJIGRvbid0IHVuZGVyc3RhbmQgaG93IGl0 IGlzIHBvc3NpYmxlLiBXaXRob3V0IGl0IGFwcGxpY2F0aW9uDQo+ID4gPj4gZG9uJ3Qga25vdyBm YXRlIG9mIGl0cyByZXF1ZXN0cy4NCj4gPiA+Pg0KPiA+ID4gSU1ITyBzaW5jZSB1c2VyX2RhdGEg c2hvdWxkIGJlIGluIGFsbCByZWxhdGVkIG9wZXJhdGlvbnMgQVBJDQo+ID4gPiBhbG9uZyB3aXRo IHRoZSBhdHRyLCBzcGxpdHRpbmcgdGhlIHVzZXJfZGF0YSB3aWxsIGp1c3QgYWRkIGV4dHJhIHBh cmFtZXRlcg0KPiA+ID4gdG8gZWFjaCBmdW5jdGlvbiBjYWxsLiBTaW5jZSB3ZSBoYXZlIG51bWJl ciBvZiBmdW5jdGlvbnMgYW5kIHdpbGwgYWRkDQo+ID4gPiBtb3JlIGluIGZ1dHVyZSBJIHRoaW5r IGl0IHdpbGwgYmUgYmVzdCB0byBrZWVwIGl0IGluIHRoaXMgbG9jYXRpb24uDQo+ID4NCj4gPiBN eSBwcm9ibGVtIHdpdGggaGlkaW5nIHVzZXJfZGF0YSBpbnNpZGUgYXR0ciBpcyB0aGF0DQo+ID4g J3VzZXJfZGF0YScgaXMgbm90IGFuIGF1eGlsaWFyeSBhdHRyaWJ1dGUgZGVmaW5pbmcgZXh0cmEN Cj4gPiBwcm9wZXJ0aWVzIG9mIHRoZSByZXF1ZXN0LiBJdCBpcyBhIGtleSBpbmZvcm1hdGlvbi4N Cj4gPiBNYXkgYmUgYXR0ciBpcyBub3QgYW4gaWRlYWwgbmFtZSBmb3Igc3VjaCBncm91cGluZw0K PiA+IG9mIHBhcmFtZXRlcnMuIFVuZm9ydHVuYXRlbHkgSSBoYXZlIG5vIGJldHRlciBpZGVhcyBy aWdodCBub3cuDQo+ID4NCj4gSSB1bmRlcnN0YW5kIHlvdXIgcG9pbnQsIGlmIHlvdSBkb24ndCBo YXZlIG9iamVjdGlvbnMgbGV0cyBrZWVwIHRoZSBjdXJyZW50IG9uZQ0KPiBhbmQgaWYgbmVlZGVk IHdlIHdpbGwgbW9kaWZ5Lg0KPiBJcyB0aGF0IE8uSz8NCj4gDQoNClRoaW5raW5nIGFib3V0IGl0 IGFnYWluLA0KbGV0cyBtb3ZlIGl0IHRvIGEgZGVkZWNhdGVkIHBhcmFtZXRlci4NCg0KT3JpDQo+ ID4gQW5kcmV3Lg0K