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 C068E43A29; Thu, 1 Feb 2024 01:31:33 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 67A6C4028A; Thu, 1 Feb 2024 01:31:33 +0100 (CET) Received: from NAM04-DM6-obe.outbound.protection.outlook.com (mail-dm6nam04on2063.outbound.protection.outlook.com [40.107.102.63]) by mails.dpdk.org (Postfix) with ESMTP id 3595A40275 for ; Thu, 1 Feb 2024 01:31:31 +0100 (CET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=dEsODl1JjFf2Z1Ec9ZZ69oahHcsAPZ9jF683fZaWQjaMhAYV6eqBAJLIIPl14NPQljzF8gw8qylOZ4NS/PvAn8dLMXkM/uRhMIm5/HZu2s/gcddJYYMV3pSW/vIMRoYsWL3vOb/tspzl4Xq3zsPqR//c5mmP9LEOPQ1sTpUutUGl+ESRvQYS+v7ZWPHE1TPgVN1uZd6WvLHUpOUMzqLk363cTRHFagIdg0SSoi3gKqvU8LVDzBBSm4sIYfs8GVuNlKWMLh13dwsYnDGt/Sk9XSdSN1zpsWEQVFZ7D4spOC3fLv249EPL+QCuBP8HYeizTEd3OlmychHJd08jPmSXMg== 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=KU0a7Pwdhp3Sd24Tp4NNEaEujR8q1JbLE5NJpuNLNEQ=; b=OW+8TxM3Y3ZsG9eGYEvOTUR/7yJAYxv+sd6lBHfEDpTuuwL37fbCHLho1BDS0hdcWlmUTZRahGZHVG4m3TXVKZcQ3/glurxcmdsU1BiibxUW11RhtZng0d/FV+kn/qrZ9q14lkpwqcYD0t+VrfpOUIPU8IilApAZFCzXSYHzXPmgs6AdMBt6YGmXylI1SWsKREuRessrDYwCvBNa26Fynkjt7FINN/cih8DCHhkUHWMOrqkAt5NXJvz+yy1Q4Elv1RH+iiH+vgwyXAjQ1+q2ngM7+6vtc4Y13jF9nQ4OAlDyvTW73XkttmcZ5tmoZWqHHTV1L82S7Fhzg2jlymMs6Q== 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=KU0a7Pwdhp3Sd24Tp4NNEaEujR8q1JbLE5NJpuNLNEQ=; b=PxMyyN7BTLGmWmF1FXVqZ214CH7VaMt7BohDWwZcJ0Qtwp/1ye19xhMhK9Yl52YbHQ3eRUfZfTpg1Sg4Gq1CdP+LwiiiHrVZ3yf8Pa89Cxf4x6EFreXp7VnH0wzFWWfBIyFlud6jvX2nThi3jjXJfWIlSKkwA0u6nFpDrL359pDbDoSj6L4bneEs7WGkCPnbXVfNK6gUhTxo65jYmvBzbsTnZBIhJn4peZ98/6AaTk3uPz8gfOGNLs/g2nVI7gvB4hvFjPlfPZdwYULGcV2PIwzdhicDl05MmX875yR8ZYiHc4k2rkSnA6WD+rHOIfSg6qS7MiQRJG/8+qmW+vq+Lg== Received: from CO6PR12MB5396.namprd12.prod.outlook.com (2603:10b6:303:139::8) by SJ2PR12MB8719.namprd12.prod.outlook.com (2603:10b6:a03:543::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7249.22; Thu, 1 Feb 2024 00:31:28 +0000 Received: from CO6PR12MB5396.namprd12.prod.outlook.com ([fe80::df56:6290:5b5a:e018]) by CO6PR12MB5396.namprd12.prod.outlook.com ([fe80::df56:6290:5b5a:e018%7]) with mapi id 15.20.7228.029; Thu, 1 Feb 2024 00:31:28 +0000 From: Suanming Mou To: Ferruh Yigit , Ori Kam , Aman Singh , Yuying Zhang , "NBU-Contact-Thomas Monjalon (EXTERNAL)" , Andrew Rybchenko CC: "dev@dpdk.org" Subject: RE: [PATCH v3 2/3] ethdev: add compare item Thread-Topic: [PATCH v3 2/3] ethdev: add compare item Thread-Index: AQHaR5M6HLl02DS4jUG3S0at2KQ6/7DytboAgACXKLCAAOAGgIAADe+AgACBnAA= Date: Thu, 1 Feb 2024 00:31:28 +0000 Message-ID: References: <20231219013337.531548-1-suanmingm@nvidia.com> <20240115091318.1053433-1-suanmingm@nvidia.com> <20240115091318.1053433-3-suanmingm@nvidia.com> <2594409d-5c8d-4347-b724-eece2b775376@amd.com> 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-traffictypediagnostic: CO6PR12MB5396:EE_|SJ2PR12MB8719:EE_ x-ms-office365-filtering-correlation-id: fcc0815b-7c24-4de6-f42c-08dc22bd2140 x-ld-processed: 43083d15-7273-40c1-b7db-39efd9ccc17a,ExtAddr x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: vSqBrCi6qYWdvu6wEqgAA25Bvi0Xjzb4sqqnlPcM1eOl26pbLQy8803dgIfR04Bo1qbRxeqeRUpd+thMBazDDi7MB1nJ+N7Mbta1inT08qIc4/Y6DtA748Re7BkBzcR5LY7kBicfDKuQrfrFBQV2TPC3qIcrq4tlqF6BhkUD6AIIayL7W8sNx4mVBR6BGsuJrWxb300S3hMKc7ksKJuCZH8e2nLUslAOc+9FZ+rjLpDVjLYjRxZDYQEtbTfpOq3naMOlJMOn/H5gCUVWR+eSDUgYt0Yo+krMajLArNZas9t/p3ZEYzkvWIZQtfcV684KPtJRrHCRj8m+X7e8ov5n28Vj8wIqW0CuMzY9P1Lg8G6dwI9dIsq4jyvujunGEllsVDbIiojYYbZ+tnw2/okdjgmrxW17sTcBwInnZ6sQCFaUOOlawUZAn2aH9cDx5dWhWLFDT9yRKfBwv16r54PGelXvXI/N+zoV5QtQpRgCcm6LnW+P0r2YUb+iSwy9dvFCpzJtpy4wyIEbsHq+NPhl8biYsANC4sON/WQYEfghHbcDOX8GylFyw0ugWpyxQALB90ESEloHu1uf6fSzQopTQzX6+ku036xkrwok00mgd926RF6zHzKdID60LFZMRuLT8XF5SNxC/flpXvbw/6w2ACvkRlvUsR4WNoed63onQDuIzz/q0ytyfn4lTSIQynwE x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:CO6PR12MB5396.namprd12.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230031)(376002)(39860400002)(136003)(366004)(346002)(396003)(230273577357003)(230173577357003)(230922051799003)(451199024)(186009)(1800799012)(64100799003)(83380400001)(2906002)(38100700002)(122000001)(5660300002)(55016003)(26005)(76116006)(64756008)(66946007)(66556008)(66476007)(110136005)(66446008)(4326008)(53546011)(8936002)(6506007)(7696005)(316002)(8676002)(52536014)(9686003)(71200400001)(478600001)(38070700009)(41300700001)(86362001)(33656002)(21314003); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?MlV3Zm5zeERnZkFZYXp4UGEvSFBlOUVSQWRHRlpVbDh1dXhKME9hTFU2K3RO?= =?utf-8?B?WUljRlFydlZmWWVXQXhXd2lSbFErVEVaVEF6UW1iMEVHT054a1hYcnF2VlhU?= =?utf-8?B?TjNsUTBDUDhrR09tdFpwditVOVh0TysvRjZJZ1RkNktoQzV1aldlTXdoVHUy?= =?utf-8?B?Y2pJY00rclk0OVdvNHdDclJlRFRNWkFaZVhlM1BQZ2xVT1k0aVVYUUJEMEFj?= =?utf-8?B?UitqQTYydUVqMUZnRUpKdHUza01tRElKTGFNV0ROV3p3K3MvdkN2SmhPemZZ?= =?utf-8?B?WWUrZEU2VjZtdEFaY2Y3UEdmWWNrYzJlcUlxRHQxbjU0QjRqL2xJTGZsdW45?= =?utf-8?B?MDZLeHBvZ0xqWENMYTQvK0dONStjeUFHTW1vTE0vRFpSd0lYdVhnS0lxa2Vp?= =?utf-8?B?ajluNmtkUGZHQlFtaVExOWt3ZVpwbXpja0JvbmNvSUJkdkQrVFNOQU12UVdw?= =?utf-8?B?b0dKT2RTaTFSMWUrUWRDR2p0S3JiZmZONGk0VWsvM2dsSi90TC9tZmMvZEZ1?= =?utf-8?B?cE9ESDJjNExJa2M3S0J0NUVxOENHcHRJLzhDS0NaYjg3bEkyYWs0MldIRkRK?= =?utf-8?B?cC96dk96bmc2SllZK1EvZnBCSnVENFBGcWFVcGZ4TVk0blFtcU5JeTFBQlVT?= =?utf-8?B?ZE5sZXpNU2s1WGVWQTE4TldOOTRGSGpMTGFmSGZhQlpKOG9ScmdoZ0NvY3dy?= =?utf-8?B?RTNocFlCbU9QQWFJWXllczh5aElncXJsNzl6MllMODFiV3NNTkszbDA4N3VK?= =?utf-8?B?dTBEVktwWTFzVC9WS0d1aWpYSzRkQU01T0NnS3IwMlJhMkcybVhrZkVuS3kz?= =?utf-8?B?OVAvNElLWWkrQytaZXlub29tR2lNS2lVK1hvRHkvK3E2cDJ3N3haUlMzaU8y?= =?utf-8?B?K3NnR2VmK3VhbW5xVWRNUTNvZ1BqVVVXdjRmUENTN3VPQnJlYTZsM3QvcWNP?= =?utf-8?B?VXpWaXFROGxZck8weDNOWVVZNlo0KzlmWXZyZjZaMXJDaUxtd0RBdEh1Qmpj?= =?utf-8?B?RUNGdi9lM0Y5aDFPRnBpUktLWHc3MEhjR0J6UEZCaWgrQ1l5Q3dqMVp3dnBM?= =?utf-8?B?SnNEaGVLUmJYbXZnKzU5eCt2MFRYRlB1Z3dvWDI1WEpzRE1VM1hsUm1vN0NM?= =?utf-8?B?VmlSRVh4SHRqRStQY045TStodjZ1SjgwRllqRTlKOWI5dXcxSndZbzMyWFgy?= =?utf-8?B?K3NYSzQwTmRObjNCYW52NU4xT0tHTDBSdnFBYkppTTZ1MDFtcEhSTVJWQ292?= =?utf-8?B?Rm1nYlBwb1FETHRtOU8xMGZYWGRRNVREWGVzaUdGeFg0L3Qway9ka2xoNUZ5?= =?utf-8?B?ZXhZa1hSQVRYZ21OQUxyVXFMSG9ZRytKclNXV2szRkVjYmNsRGZCTDcrc25W?= =?utf-8?B?TU1GWkVJMFNwajExQmFGS1h1L2ZjbzNKTHVFU2RTVWtZdEw1cS9WcGJyUUhF?= =?utf-8?B?YzVJWmYvRm0xQUtvcyszNnZGbmRBT2NwKzdaR3ZhSjVKM2VXYitLeFdYVkdH?= =?utf-8?B?dDN4Rlc5eWdMNnV2QkplYXBMdDRvUXFrNHhuams0RjNIcXBXSWVuTStuWS9q?= =?utf-8?B?ZjNldkhIREVGT1pDMFBaeDdxMVFoY045bUw4YzgwZHk2UCt1S0RNN2VTeUNP?= =?utf-8?B?cmVUUUZtdVFtcEVjNFI5K3l6WXExLzdWZDBlTG1EVmlaTEw5aVZWTWlBRklR?= =?utf-8?B?MWI4YzNhMGFtRTd4eUs3TUZPRFpnZ250ZkJaQkkvUnYrWTBXNnk3R1dPSmRq?= =?utf-8?B?UTBYSmdQMFgrYjErRlMrYm5FQXI1K3RlbHEvcFdXVlZYOURmRmtMYWVuQ1Qw?= =?utf-8?B?SGYwMUo0WHhUUncwbWhZNDd3Q3d2dVVTeU9GbGwrU1UvRURIOW5mN0lZNjJu?= =?utf-8?B?RUJ6djRySXB3QWxqTTdmcjRTa2VzSmRMaFJjMWRmS1FmeFZadDl3clNjRjBa?= =?utf-8?B?M0RPQlkvMmJNMmh1WS9tWnZkM21EVU5aR3B6V01nTkJtR0VwbjVMaVBnYWpl?= =?utf-8?B?RnFJOVpTSmdQOGFRSkNRSC85MXM3eXd2aFEyWDUvUUlDVnJCdEFOWXdZeklL?= =?utf-8?B?UWQ1cWZvWVV3VTRhODdVZ2xkdEtna0dKUG9hSTEwdDUzeW4wTEY3eDd5c2Y4?= =?utf-8?Q?o57Sx2LwQNjdA+Bh8b1zJWzZG?= 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: CO6PR12MB5396.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: fcc0815b-7c24-4de6-f42c-08dc22bd2140 X-MS-Exchange-CrossTenant-originalarrivaltime: 01 Feb 2024 00:31:28.1410 (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: KpXUgA5yKGX3qviFAO26KrAilA1wFIOEPjRqIkDpVgta8nJ9TM10/a4ai+PkXpOe8WFoZMKQuQTU/eQrzxGTYw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ2PR12MB8719 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 DQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogRmVycnVoIFlpZ2l0IDxm ZXJydWgueWlnaXRAYW1kLmNvbT4NCj4gU2VudDogVGh1cnNkYXksIEZlYnJ1YXJ5IDEsIDIwMjQg MTI6NDYgQU0NCj4gVG86IE9yaSBLYW0gPG9yaWthQG52aWRpYS5jb20+OyBTdWFubWluZyBNb3Ug PHN1YW5taW5nbUBudmlkaWEuY29tPjsNCj4gQW1hbiBTaW5naCA8YW1hbi5kZWVwLnNpbmdoQGlu dGVsLmNvbT47IFl1eWluZyBaaGFuZw0KPiA8eXV5aW5nLnpoYW5nQGludGVsLmNvbT47IE5CVS1D b250YWN0LVRob21hcyBNb25qYWxvbiAoRVhURVJOQUwpDQo+IDx0aG9tYXNAbW9uamFsb24ubmV0 PjsgQW5kcmV3IFJ5YmNoZW5rbw0KPiA8YW5kcmV3LnJ5YmNoZW5rb0Bva3RldGxhYnMucnU+DQo+ IENjOiBkZXZAZHBkay5vcmcNCj4gU3ViamVjdDogUmU6IFtQQVRDSCB2MyAyLzNdIGV0aGRldjog YWRkIGNvbXBhcmUgaXRlbQ0KPiANCj4gT24gMS8zMS8yMDI0IDM6NTYgUE0sIE9yaSBLYW0gd3Jv dGU6DQo+ID4gSGkNCj4gPg0KPiA+PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+PiBG cm9tOiBTdWFubWluZyBNb3UgPHN1YW5taW5nbUBudmlkaWEuY29tPg0KPiA+PiBTZW50OiBXZWRu ZXNkYXksIEphbnVhcnkgMzEsIDIwMjQgNDo0OCBBTQ0KPiA+Pg0KPiA+PiBIaSwNCj4gPj4NCj4g Pj4+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ID4+PiBGcm9tOiBGZXJydWggWWlnaXQg PGZlcnJ1aC55aWdpdEBhbWQuY29tPg0KPiA+Pj4gU2VudDogV2VkbmVzZGF5LCBKYW51YXJ5IDMx LCAyMDI0IDE6MzQgQU0NCj4gPj4+IFRvOiBTdWFubWluZyBNb3UgPHN1YW5taW5nbUBudmlkaWEu Y29tPjsgT3JpIEthbQ0KPiA+PiA8b3Jpa2FAbnZpZGlhLmNvbT47DQo+ID4+PiBBbWFuIFNpbmdo IDxhbWFuLmRlZXAuc2luZ2hAaW50ZWwuY29tPjsgWXV5aW5nIFpoYW5nDQo+ID4+PiA8eXV5aW5n LnpoYW5nQGludGVsLmNvbT47IE5CVS1Db250YWN0LVRob21hcyBNb25qYWxvbiAoRVhURVJOQUwp DQo+ID4+PiA8dGhvbWFzQG1vbmphbG9uLm5ldD47IEFuZHJldyBSeWJjaGVua28NCj4gPj4+IDxh bmRyZXcucnliY2hlbmtvQG9rdGV0bGFicy5ydT4NCj4gPj4+IENjOiBkZXZAZHBkay5vcmcNCj4g Pj4+IFN1YmplY3Q6IFJlOiBbUEFUQ0ggdjMgMi8zXSBldGhkZXY6IGFkZCBjb21wYXJlIGl0ZW0N Cj4gPj4+DQo+ID4+PiBPbiAxLzE1LzIwMjQgOToxMyBBTSwgU3Vhbm1pbmcgTW91IHdyb3RlOg0K PiA+Pj4+IFRoZSBuZXcgaXRlbSB0eXBlIGlzIGFkZGVkIGZvciB0aGUgY2FzZSB1c2VyIHdhbnRz IHRvIG1hdGNoIHRyYWZmaWMNCj4gPj4+PiBiYXNlZCBvbiBwYWNrZXQgZmllbGQgY29tcGFyZSBy ZXN1bHQgd2l0aCBvdGhlciBmaWVsZHMgb3IgaW1tZWRpYXRlDQo+ID4+Pj4gdmFsdWUuDQo+ID4+ Pj4NCj4gPj4+PiBlLmcuIHRha2UgYWR2YW50YWdlIHRoZSBjb21wYXJlIGl0ZW0gdXNlciB3aWxs IGJlIGFibGUgdG8NCj4gPj4+PiBhY2N1bXVsYXRlIGEgSVB2NC9UQ1AgcGFja2V0J3MgVENQIGRh dGFfb2Zmc2V0IGFuZCBJUHY0IElITCBmaWVsZA0KPiA+Pj4+IHRvIGEgdGFnIHJlZ2lzdGVyLCB0 aGVuIGNvbXBhcmUgdGhlIHRhZyByZWdpc3RlciB3aXRoIElQdjQgaGVhZGVyDQo+ID4+Pj4gdG90 YWwgbGVuZ3RoIHRvIHVuZGVyc3RhbmQgdGhlIHBhY2tldCBoYXMgcGF5bG9hZCBvciBub3QuDQo+ ID4+Pj4NCj4gPj4+DQo+ID4+PiBhY2ssIGFib3ZlIHNhbXBsZSBtYWtlcyBpdCBlYXNpZXIgdG8g dW5kZXJzdGFuZC4NCj4gPj4+DQo+ID4+PiBUaGlzIHBhdGNoIGlzIGFkZGluZyB0ZXN0cG1kIGNv bW1hbmRzLCBjYW4geW91IHBsZWFzZSBwcm92aWRlIHNvbWUNCj4gPj4gc2FtcGxlDQo+ID4+PiBj b21tYW5kcyBpbiBjb21taXQgbG9nPw0KPiA+Pj4gVGhlIG1vcmUgc2FtcGxlcyBhcmUgYmV0dGVy LCBhcyBmYXIgYXMgSSByZW1lbWJlciB0aGVyZSB3YXMgYQ0KPiA+Pj4gdGVzdHBtZCBkb2N1bWVu dGF0aW9uIHRoYXQgZG9jdW1lbnRzIHRoZSBzYW1wbGUgdXNhZ2VzLCBjYW4geW91DQo+ID4+PiBw bGVhc2UgY2hlY2sNCj4gPj4gZm9yIGl0Pw0KPiA+DQo+ID4gW1NuaXAgLi5dDQo+ID4NCj4gPj4+ DQo+ID4+Pj4gKy8qKg0KPiA+Pj4+ICsgKiBAd2FybmluZw0KPiA+Pj4+ICsgKiBAYiBFWFBFUklN RU5UQUw6IHRoaXMgc3RydWN0dXJlIG1heSBjaGFuZ2Ugd2l0aG91dCBwcmlvciBub3RpY2UNCj4g Pj4+PiArICoNCj4gPj4+PiArICogRmllbGQgZGVzY3JpcHRpb24gZm9yIHBhY2tldCBmaWVsZC4N Cj4gPj4+PiArICovDQo+ID4+Pj4gK3N0cnVjdCBydGVfZmxvd19maWVsZF9kYXRhIHsNCj4gPj4+ PiArCWVudW0gcnRlX2Zsb3dfZmllbGRfaWQgZmllbGQ7IC8qKjwgRmllbGQgb3IgbWVtb3J5IHR5 cGUgSUQuICovDQo+ID4+Pj4gKwl1bmlvbiB7DQo+ID4+Pj4gKwkJc3RydWN0IHsNCj4gPj4+PiAr CQkJLyoqIEVuY2Fwc3VsYXRpb24gbGV2ZWwgYW5kIHRhZyBpbmRleCBvciBmbGV4IGl0ZW0NCj4g Pj4+IGhhbmRsZS4gKi8NCj4gPj4+PiArCQkJdW5pb24gew0KPiA+Pj4+ICsJCQkJc3RydWN0IHsN Cj4gPj4+PiArCQkJCQkvKioNCj4gPj4+PiArCQkJCQkgKiBQYWNrZXQgZW5jYXBzdWxhdGlvbiBs ZXZlbA0KPiA+PiBjb250YWluaW5nDQo+ID4+Pj4gKwkJCQkJICogdGhlIGZpZWxkIHRvIG1vZGlm eS4NCj4gPj4+PiArCQkJCQkgKg0KPiA+Pj4+ICsJCQkJCSAqIC0gQHAgMCByZXF1ZXN0cyB0aGUg ZGVmYXVsdA0KPiA+PiBiZWhhdmlvci4NCj4gPj4+PiArCQkJCQkgKiAgIERlcGVuZGluZyBvbiB0 aGUgcGFja2V0IHR5cGUsIGl0DQo+ID4+Pj4gKwkJCQkJICogICBjYW4gbWVhbiBvdXRlcm1vc3Qs IGlubmVybW9zdA0KPiA+PiBvcg0KPiA+Pj4+ICsJCQkJCSAqICAgYW55dGhpbmcgaW4gYmV0d2Vl bi4NCj4gPj4+PiArCQkJCQkgKg0KPiA+Pj4+ICsJCQkJCSAqICAgSXQgYmFzaWNhbGx5IHN0YW5k cyBmb3IgdGhlDQo+ID4+Pj4gKwkJCQkJICogICBpbm5lcm1vc3QgZW5jYXBzdWxhdGlvbiBsZXZl bC4NCj4gPj4+PiArCQkJCQkgKiAgIE1vZGlmaWNhdGlvbiBjYW4gYmUgcGVyZm9ybWVkDQo+ID4+ Pj4gKwkJCQkJICogICBhY2NvcmRpbmcgdG8gUE1EIGFuZCBkZXZpY2UNCj4gPj4+PiArCQkJCQkg KiAgIGNhcGFiaWxpdGllcy4NCj4gPj4+PiArCQkJCQkgKg0KPiA+Pj4+ICsJCQkJCSAqIC0gQHAg MSByZXF1ZXN0cyBtb2RpZmljYXRpb24gdG8gYmUNCj4gPj4+PiArCQkJCQkgKiAgIHBlcmZvcm1l ZCBvbiB0aGUgb3V0ZXJtb3N0DQo+ID4+IHBhY2tldA0KPiA+Pj4+ICsJCQkJCSAqICAgZW5jYXBz dWxhdGlvbiBsZXZlbC4NCj4gPj4+PiArCQkJCQkgKg0KPiA+Pj4+ICsJCQkJCSAqIC0gQHAgMiBh bmQgc3Vic2VxdWVudCB2YWx1ZXMNCj4gPj4+IHJlcXVlc3QNCj4gPj4+PiArCQkJCQkgKiAgIG1v ZGlmaWNhdGlvbiB0byBiZSBwZXJmb3JtZWQgb24NCj4gPj4+PiArCQkJCQkgKiAgIHRoZSBzcGVj aWZpZWQgaW5uZXIgcGFja2V0DQo+ID4+Pj4gKwkJCQkJICogICBlbmNhcHN1bGF0aW9uIGxldmVs LCBmcm9tDQo+ID4+Pj4gKwkJCQkJICogICBvdXRlcm1vc3QgdG8gaW5uZXJtb3N0IChsb3dlciB0 bw0KPiA+Pj4+ICsJCQkJCSAqICAgaGlnaGVyIHZhbHVlcykuDQo+ID4+Pj4gKwkJCQkJICoNCj4g Pj4+PiArCQkJCQkgKiBWYWx1ZXMgb3RoZXIgdGhhbiBAcCAwIGFyZSBub3QNCj4gPj4+PiArCQkJ CQkgKiBuZWNlc3NhcmlseSBzdXBwb3J0ZWQuDQo+ID4+Pj4gKwkJCQkJICoNCj4gPj4+PiArCQkJ CQkgKiBAbm90ZSB0aGF0IGZvciBNUExTIGZpZWxkLA0KPiA+Pj4+ICsJCQkJCSAqIGVuY2Fwc3Vs YXRpb24gbGV2ZWwgYWxzbyBpbmNsdWRlDQo+ID4+Pj4gKwkJCQkJICogdHVubmVsIHNpbmNlIE1Q TFMgbWF5IGFwcGVhciBpbg0KPiA+Pj4+ICsJCQkJCSAqIG91dGVyLCBpbm5lciBvciB0dW5uZWwu DQo+ID4+Pj4gKwkJCQkJICovDQo+ID4+Pj4gKwkJCQkJdWludDhfdCBsZXZlbDsNCj4gPj4+PiAr CQkJCQl1bmlvbiB7DQo+ID4+Pj4gKwkJCQkJCS8qKg0KPiA+Pj4+ICsJCQkJCQkgKiBUYWcgaW5k ZXggYXJyYXkgaW5zaWRlDQo+ID4+Pj4gKwkJCQkJCSAqIGVuY2Fwc3VsYXRpb24gbGV2ZWwuDQo+ ID4+Pj4gKwkJCQkJCSAqIFVzZWQgZm9yIFZMQU4sIE1QTFMgb3INCj4gPj4gVEFHDQo+ID4+PiB0 eXBlcy4NCj4gPj4+PiArCQkJCQkJICovDQo+ID4+Pj4gKwkJCQkJCXVpbnQ4X3QgdGFnX2luZGV4 Ow0KPiA+Pj4+ICsJCQkJCQkvKioNCj4gPj4+PiArCQkJCQkJICogR2VuZXZlIG9wdGlvbiBpZGVu dGlmaWVyLg0KPiA+Pj4+ICsJCQkJCQkgKiBSZWxldmFudCBvbmx5IGZvcg0KPiA+Pj4+ICsJCQkJ CQkgKg0KPiA+Pj4gUlRFX0ZMT1dfRklFTERfR0VORVZFX09QVF9YWFhYDQo+ID4+Pj4gKwkJCQkJ CSAqIG1vZGlmaWNhdGlvbiB0eXBlLg0KPiA+Pj4+ICsJCQkJCQkgKi8NCj4gPj4+PiArCQkJCQkJ c3RydWN0IHsNCj4gPj4+PiArCQkJCQkJCS8qKg0KPiA+Pj4+ICsJCQkJCQkJICogR2VuZXZlIG9w dGlvbg0KPiA+PiB0eXBlLg0KPiA+Pj4+ICsJCQkJCQkJICovDQo+ID4+Pj4gKwkJCQkJCQl1aW50 OF90IHR5cGU7DQo+ID4+Pj4gKwkJCQkJCQkvKioNCj4gPj4+PiArCQkJCQkJCSAqIEdlbmV2ZSBv cHRpb24NCj4gPj4gY2xhc3MuDQo+ID4+Pj4gKwkJCQkJCQkgKi8NCj4gPj4+PiArCQkJCQkJCXJ0 ZV9iZTE2X3QgY2xhc3NfaWQ7DQo+ID4+Pj4gKwkJCQkJCX07DQo+ID4+Pj4gKwkJCQkJfTsNCj4g Pj4+PiArCQkJCX07DQo+ID4+Pj4gKwkJCQlzdHJ1Y3QgcnRlX2Zsb3dfaXRlbV9mbGV4X2hhbmRs ZQ0KPiA+PiAqZmxleF9oYW5kbGU7DQo+ID4+Pj4gKwkJCX07DQo+ID4+Pj4gKwkJCS8qKiBOdW1i ZXIgb2YgYml0cyB0byBza2lwIGZyb20gYSBmaWVsZC4gKi8NCj4gPj4+PiArCQkJdWludDMyX3Qg b2Zmc2V0Ow0KPiA+Pj4+ICsJCX07DQo+ID4+Pj4gKwkJLyoqDQo+ID4+Pj4gKwkJICogSW1tZWRp YXRlIHZhbHVlIGZvciBSVEVfRkxPV19GSUVMRF9WQUxVRSwgcHJlc2VudGVkDQo+ID4+IGluDQo+ ID4+PiB0aGUNCj4gPj4+PiArCQkgKiBzYW1lIGJ5dGUgb3JkZXIgYW5kIGxlbmd0aCBhcyBpbiBy ZWxldmFudA0KPiA+PiBydGVfZmxvd19pdGVtX3h4eC4NCj4gPj4+PiArCQkgKiBUaGUgaW1tZWRp YXRlIHNvdXJjZSBiaXRmaWVsZCBvZmZzZXQgaXMgaW5oZXJpdGVkIGZyb20NCj4gPj4+PiArCQkg KiB0aGUgZGVzdGluYXRpb24ncyBvbmUuDQo+ID4+Pj4gKwkJICovDQo+ID4+Pj4gKwkJdWludDhf dCB2YWx1ZVsxNl07DQo+ID4+Pj4gKwkJLyoqDQo+ID4+Pj4gKwkJICogTWVtb3J5IGFkZHJlc3Mg Zm9yIFJURV9GTE9XX0ZJRUxEX1BPSU5URVIsIG1lbW9yeQ0KPiA+Pj4gbGF5b3V0DQo+ID4+Pj4g KwkJICogc2hvdWxkIGJlIHRoZSBzYW1lIGFzIGZvciByZWxldmFudCBmaWVsZCBpbiB0aGUNCj4g Pj4+PiArCQkgKiBydGVfZmxvd19pdGVtX3h4eCBzdHJ1Y3R1cmUuDQo+ID4+Pj4gKwkJICovDQo+ ID4+Pj4gKwkJdm9pZCAqcHZhbHVlOw0KPiA+Pj4+ICsJfTsNCj4gPj4+PiArfTsNCj4gPj4+PiAr DQo+ID4+Pj4NCj4gPj4+DQo+ID4+PiBJIGFtIGF3YXJlIHRoYXQgeW91IGFyZSBqdXN0IG1vdmlu ZyB0aGUgYWJvdmUgc3RydWN0LCBidXQgaXQgaXMNCj4gPj4+IG5lc3RlZCB0b28NCj4gPj4gbXVj aA0KPiA+Pj4gd2hpY2ggaXMgbWFraW5nIGl0IGhhcmQgdG8gcmVhZC4NCj4gPj4+DQo+ID4+PiBB cyB5b3UgYXJlIHRvdWNoaW5nIGl0LCBjYW4gd2UgZXh0cmFjdCBzb21lIHN0cnVjdHMgYW5kIG1h a2UgdGhpcw0KPiA+Pj4gc3RydWN0IGxlc3MgbmVzdGVkLCB3aGF0IGRvIHlvdSB0aGluaz8NCj4g Pj4+IE9mIGNvdXJzZSBpdCBuZWVkcyB0byBiZSBkb25lIGluIHNlcGFyYXRlIHBhdGNoLCBhcyBh DQo+ID4+PiBwcmVwZXJhdGlvbi9jbGVhbi11cA0KPiA+PiBwYXRjaA0KPiA+Pj4gYmVmb3JlIG1v dmluZyBpdCBhcm91bmQuDQo+ID4+DQo+ID4+IEFncmVlIHRoZSBzdHJ1Y3QgbWF5YmUgYSBiaXQg bmVzdGVkLiBCdXQgbm90IHN1cmUgaG93IGl0IHdhcw0KPiA+PiBkaXNjdXNzZWQgYmVmb3JlIGR1 cmluZyB0aGUgbGFzdCBuZXcgbWVtYmVyIHdhcyBhZGRlZC4uLiBAT3JpLCBEbyB5b3UNCj4gPj4g aGF2ZSBhbnkgaWRlYSBhYm91dCB0aGlzPw0KPiA+Pg0KPiA+DQo+ID4gQXMgZmFyIGFzIEkgcmVt ZW1iZXIsIGl0IHdhcyBuZXZlciBkaXNjdXNzZWQsDQo+ID4NCj4gPiBJIHRoaW5rIGZvciB0aGlz IHNlcmllcyB3ZSBzaG91bGQga2VlcCBpdCBhcyBpcywgYW5kIHJldmlzZSBpdCBsYXRlci4NCj4g Pg0KPiANCj4gSWYgeW91IGRvbid0IHdhbnQgdG8gbWFrZSB0aGlzIHNldCBtb3JlIGNvbXBsZXgg d2l0aCB0aGlzLCB0aGF0IGlzIE9LIGFzIGxvbmcNCj4gYXMgaXQgaXMgYWRkcmVzc2VkIGF0IHNv bWUgcG9pbnQuDQoNCk9LLCB0aGFua3MuIEFzIGl0IGlzIGFkZHJlc3NlZCwgd2lsbCB1cGRhdGUg djQgc29vbi4NCg0KPiANCj4gPiBCZXN0LA0KPiA+IE9yaQ0KPiA+PiBBbmQgaWYgaXQgaXMgcmVh bGx5IGV4cGVjdGVkLCBJIGJlbGlldmUgYW5vdGhlciBuZXcgdGhyZWFkIGlzIHdvcnRoDQo+ID4+ IGZvciB0aGF0IGNoYW5nZSwgIGJldHRlciBub3QgYmUgaW4gdGhhdCBzZXJpZXMuDQo+ID4+IE5l ZWQgdG8gZGlzY3VzcyB0aGUgbmV3IHN0cnVjdCBuYW1lIGFuZCBvdGhlciBzdHVmZi4gV2hhdCBk byB5b3UgdGhpbms/DQo+ID4+DQo+ID4+Pg0KPiA+Pj4gPC4uLj4NCj4gPj4+DQo+ID4+Pj4gKy8q Kg0KPiA+Pj4+ICsgKg0KPiA+Pj4+ICsgKiBSVEVfRkxPV19JVEVNX1RZUEVfQ09NUEFSRQ0KPiA+ Pj4+ICsgKg0KPiA+Pj4+ICsgKiBNYXRjaGVzIHRoZSBwYWNrZXQgd2l0aCBjb21wYXJlIHJlc3Vs dC4NCj4gPj4+PiArICoNCj4gPj4+PiArICogVGhlIG9wZXJhdGlvbiBtZWFucyBhIGNvbXBhcmUg d2l0aCBiIHJlc3VsdC4NCj4gPj4+PiArICovDQo+ID4+Pj4gK3N0cnVjdCBydGVfZmxvd19pdGVt X2NvbXBhcmUgew0KPiA+Pj4+ICsJZW51bSBydGVfZmxvd19pdGVtX2NvbXBhcmVfb3Agb3BlcmF0 aW9uOyAvKiBUaGUgY29tcGFyZQ0KPiA+PiBvcGVyYXRpb24uDQo+ID4+PiAqLw0KPiA+Pj4+ICsJ c3RydWN0IHJ0ZV9mbG93X2ZpZWxkX2RhdGEgYTsJCSAvKiBGaWVsZCBiZSBjb21wYXJlZC4gICov DQo+ID4+Pj4gKwlzdHJ1Y3QgcnRlX2Zsb3dfZmllbGRfZGF0YSBiOwkJIC8qIEZpZWxkIGFzIGNv bXBhcmF0b3IuICovDQo+ID4+Pj4NCj4gPj4+DQo+ID4+PiBWYXJpYWJsZSBuYW1lcyAnYScgYW5k ICdiJyBhcmUgbm90IGRlc2NyaXB0aXZlIGFsdGhvdWdoIGl0IG1heSBiZSBPSw0KPiA+Pj4gc2lu Y2UNCj4gPj4gdGhlcmUgaXMNCj4gPj4+IG5vIHNpZ25pZmljYW5jZSB0byB0aGUgdmFsdWVzLCBi dXQgb3RoZXIgb3B0aW9uIGNhbiBiZSAnZmlyc3QnIGFuZA0KPiA+Pj4gJ3NlY29uZCcsDQo+ID4+ IGJ1dA0KPiA+Pj4gb3ZlcmFsbCBub3Qgc3Ryb25nIG9waW5pb24uDQo+ID4+DQo+ID4+IFllcywg dGhhbmtzIGZvciB0aGUgc3VnZ2VzdGlvbiwgaW4gZmFjdCB3ZSBhbHNvIGRpc2N1c3NlZCBhYm91 dCB0aGUNCj4gPj4gbmFtZSBhIGxvdCwgZmluYWxseSB3ZSBjaG9vc2UgdGhlIHdpZGVseSB1c2Vk ICdhJyBhbmQgJ2InDQo+ID4+DQo+ID4+IFRoYW5rcw0KPiA+DQoNCg==