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 F232442CC0; Thu, 15 Jun 2023 08:03:25 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id CE76440E0F; Thu, 15 Jun 2023 08:03:24 +0200 (CEST) Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) by mails.dpdk.org (Postfix) with ESMTP id 8222E40DDA; Thu, 15 Jun 2023 08:03:22 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1686809002; x=1718345002; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=nL1KhHTbkfRnAJfbmFSGpaZ0Tuc9q2pBexM49y+aB84=; b=NsqDQiTaNfnor/+/DSkbyE1oz6/ivG7zM9k+QzetFn6k6FVjCHTg0YlD m7Hk1p4bqPcEK1MNZ0o8HMK02dlrVb9QAhJp5wnuWRV2m1ze8zaAdZuig ABfVzR1zXKNKbIHovKR0IyuTC1ietUjUtwJjOXt5AAi6XscWzkEHopMiK aZ2jhIsBGWA62TMxzsNydahteyK8kEcq4Jj+1PuSRQA06E8lB+h9oC8c5 /uuBHH40TEbQmKEl+70TPcev4z1QRvTC4jXBP4jnNqZrg101Q9M6ak+oq oiIxOMOJmBAVKcskZTC+U0bvEbHlRetAeonCZRnfzpkgVdyZAXRqT4fsq w==; X-IronPort-AV: E=McAfee;i="6600,9927,10741"; a="339167125" X-IronPort-AV: E=Sophos;i="6.00,244,1681196400"; d="scan'208";a="339167125" Received: from fmsmga003.fm.intel.com ([10.253.24.29]) by fmsmga107.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 14 Jun 2023 23:03:19 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10741"; a="802212139" X-IronPort-AV: E=Sophos;i="6.00,244,1681196400"; d="scan'208";a="802212139" Received: from orsmsx602.amr.corp.intel.com ([10.22.229.15]) by FMSMGA003.fm.intel.com with ESMTP; 14 Jun 2023 23:03:18 -0700 Received: from orsmsx610.amr.corp.intel.com (10.22.229.23) by ORSMSX602.amr.corp.intel.com (10.22.229.15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.23; Wed, 14 Jun 2023 23:03:18 -0700 Received: from ORSEDG601.ED.cps.intel.com (10.7.248.6) by orsmsx610.amr.corp.intel.com (10.22.229.23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.23 via Frontend Transport; Wed, 14 Jun 2023 23:03:18 -0700 Received: from NAM11-BN8-obe.outbound.protection.outlook.com (104.47.58.168) by edgegateway.intel.com (134.134.137.102) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.23; Wed, 14 Jun 2023 23:03:17 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=SHY/hE6gz+I9D79cD3TdmJd+21JIzEOAks5eF6NmS1tLhOXh5R7BEE7boorF7qCUAN9RN52YJziuWyuugeJfKpqKD+bTmeJtj/09k2W1eeRPa5/BVmaR27BN1C+7+ErXl2eGH54qUaRqr5zdsaEXpUV5aJVAaxu2FuW1vEb6Ii9dj5rJshUi5mEX+v8X8Bjbvj0xM769PK2X9JJT9HFSHKD6CFT7m3/btpt/JmptHK9rZ/tJnqW1zcIzndobtg2dAFqOSeXNJlrFyG/dMzQhhku30NAy9Y6QvAlrZmhfF7W3Rcl6KajmIGfeawa+c+t+TQxmIigZadAl2E/XV4qGRQ== 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=nL1KhHTbkfRnAJfbmFSGpaZ0Tuc9q2pBexM49y+aB84=; b=RnPEmJWI41n/NL8dZvEXnXgvbbxBeswXvGtkjCJ/f6CSl3XB1GghwuoJDZbaDACJwOwWPR6ExrSH14tUs5GFFdDYeC0YGyTX6c+IVFyhQgQGY8G/nNnj4mub84mFAa+5GNQTN15bRAm74t8jtcDuGvGa1qt1HAijzQxJXT813YGzY8pyVNa+lkK6v0An9fIlMGykMorlLiwLktwE6C3Ku0ZrAi1bwPAKI7ku4i4CoKa9itWm92/AEFEu0x5yyqyjTg0MAiwKKWmD0DYVzMaQSZx3xVpdM3gCQtS4FH5O3eWpN7vENbsWMmHc4FnirCFzPsjEQP6yuX3R1YmJsmOS6Q== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none Received: from DM4PR11MB5994.namprd11.prod.outlook.com (2603:10b6:8:5d::20) by SA2PR11MB5052.namprd11.prod.outlook.com (2603:10b6:806:fa::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6500.25; Thu, 15 Jun 2023 06:03:15 +0000 Received: from DM4PR11MB5994.namprd11.prod.outlook.com ([fe80::e570:d9a7:df1b:1589]) by DM4PR11MB5994.namprd11.prod.outlook.com ([fe80::e570:d9a7:df1b:1589%6]) with mapi id 15.20.6477.037; Thu, 15 Jun 2023 06:03:15 +0000 From: "Zhang, Qi Z" To: Jerin Jacob CC: Ori Kam , "NBU-Contact-Thomas Monjalon (EXTERNAL)" , "david.marchand@redhat.com" , "Richardson, Bruce" , "jerinj@marvell.com" , "ferruh.yigit@amd.com" , "Mcnamara, John" , "Zhang, Helin" , "techboard@dpdk.org" , "dev@dpdk.org" , Ivan Malov Subject: RE: [RFC] lib/ethdev: introduce table driven APIs Thread-Topic: [RFC] lib/ethdev: introduce table driven APIs Thread-Index: AQHZnNl/YukvwyUJXUylZdiSr9fMFq+Kou2AgABcbMCAAFLcAIAACM5A Date: Thu, 15 Jun 2023 06:03:15 +0000 Message-ID: References: <20230612111539.462084-1-qi.z.zhang@intel.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=intel.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: DM4PR11MB5994:EE_|SA2PR11MB5052:EE_ x-ms-office365-filtering-correlation-id: 7299094e-47ef-4eb6-7f8f-08db6d66357f x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: BltMgjiXFDVY9ffp2RoaUdcECHkR21guRtMc2ya7jz7R7zFdFEyn1DOqomvUCg2P4fxu+Kvh2sr2hwFUvTQi6OJh/xvv2EC1BCAXf5HhLtJTeP0OJo8sEcAovucPZasQOoJCIn+mIX7zO27tXE9VvycI47ffN25ZltcEPqgsk7EjsxoN7QEurhGi395/3P2yg5Uf2QJqZ6aVBAkuXmK+NsQDueEj70xXmi8rX4VH9lHYGvFufngqpz+p467UwPe2DPjWMqJAv7dUny1cnDhlGG2eWD7fyqsd93lGjyPRBsZvyU3g2/D/mYqLyq0zk1lt5MokvWJFVxV8pxrdNvU7x21nkdYITdFyfhoVV5VtVZnV5/2pD75JIqwicqWYiGj9AXVp/SwgPoM9cu/tFKIuAre/tjlQmdnqTXNtYj7hr6qSzIR+tvullVsLO7IgoZ12L3LYwRTHcmbiV8TTe4W4fA3j+M5hPkhiPez9fQ1SZ2szJGEvXXQwPLqJ35phiqb5mkgCUU4Mq80p8PwMThXVlF48/AgReA4Fs/w8ncq1TWAEduEqL5Smuerf4ckLL5IiROO2lxBZ/rL4VFRklxqD/v+bSCOlxqGq3m9rXK+Yin4= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DM4PR11MB5994.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230028)(376002)(39860400002)(346002)(136003)(366004)(396003)(451199021)(122000001)(478600001)(7696005)(71200400001)(82960400001)(38100700002)(55016003)(83380400001)(33656002)(186003)(9686003)(26005)(6506007)(53546011)(38070700005)(316002)(41300700001)(64756008)(66446008)(66476007)(66556008)(66946007)(6916009)(4326008)(76116006)(86362001)(2906002)(52536014)(5660300002)(8936002)(8676002)(54906003); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?UWZ5N0d4KzlFS0k5ZWkwUmFoZUFJTE9oMTJFVzdkdGNKMG5WMDZxK2FKU2xn?= =?utf-8?B?eDBTSTVFQkdKbCtvK3hDNWxDeVYrYlEzSUE3NVFGSEY3OGJuWlpOV051cWxt?= =?utf-8?B?Z3lGbGZ3QkdrSy8vZ1Brd0Y3VHp4bU10OGppSStERU1kV0JTaTVyY1FORDVZ?= =?utf-8?B?cTdkeGNlN1ZWTDd1NkJZaHNEL1hFYmdPbEl4bUpyMnlGc09CYTYwS0tnN1Bl?= =?utf-8?B?VUxjRStlZ2VjcllXditXem5hZ0RBMWxZS1U1QzFMZXJEZTZHMStmMWNyVmU2?= =?utf-8?B?TWxKZElxeGpvdzJtVHJKWHFJVzA1anhVbXVYeGlhNlcwTC90ZEdsOGdCZmJQ?= =?utf-8?B?KzdXT3pmWmdMNXdrWXNwc0xOWGdWZjJGUTlORnp2eEhoQTRoY3ltaG93Q014?= =?utf-8?B?aTNPQlVVRFd4YnVMRHNTTjR5Qm5QMjNHVnNnUm1WQmZZZllEV25RZ2oxOUVi?= =?utf-8?B?bU0ybWIveXJHd0pvVmRFRFAwcDA4alVWdGJqbVR3b2NLeVp0TXFsaFNlYjlk?= =?utf-8?B?MEpTVlZWTHQzWGM1ZHp3dlZoRFVVVUd2Q0xyUlJXbU1pSUJMM1FUa280ZTc4?= =?utf-8?B?S21Od2JKSWN2MjFpbUQ4cm5ENUxIWWV1b3VmWDVHMGx0WHdZWUtBZ1pBZ1Zx?= =?utf-8?B?T1h1YlpRWkJtaXg2S1FYTGFUMVg3M1RzR1E5dmJoSWtOYTV3eSt1MkY5eWc1?= =?utf-8?B?UDdTZ3JCeEhWTHdlZkJHUFVPK0ZHUlZGZ0FXcDQyT2p4U09jd2FJdW1IZ2JN?= =?utf-8?B?eXNJaWxrbndMWk9IMmV0R214RnRKUEdkUFJ2L3FEU3JTTTdoOXZPYm5OTFMx?= =?utf-8?B?UWVVcVhWM2J5VVhldjA2RndXMGlnVnE5ZmRSYUh5Z2FwMWhSbTNoVUxQVzVB?= =?utf-8?B?cml3KzZNWE5KQmlVK3I5SDNtaitYUm1XNjRpL2dOUGhyanc2MWZsa0U5cjVK?= =?utf-8?B?Z1F4RjM1MmRTUyt4UUFwbnVINzNCbG9VUUFPVndkV01DeHdvL1hSOHRBckIw?= =?utf-8?B?OGhtTUtzelFGbnVFTlZ4TUViUXlkZk81Rzhyckw0VWFkYXRUY1R5MWw3VldU?= =?utf-8?B?M1prZURMM21wU2pyMzhkeVJNQTR0aGZRd0xIWjJIYzFhL0I0ZFpvTm93LzYr?= =?utf-8?B?ZXJLcm9ZcUU0T2cvYVhLN01pWFYvTnZOMFdCL1BzcXNmYjRzSVBDNThoZEdZ?= =?utf-8?B?ZTdURXpTSG44RU9UZVRsYUJmRkJHRWNydDV6eGVKNmZtSCtHa0VRamZCOXFj?= =?utf-8?B?bnVnZFgybGM5STRONXd3SHVYU0xQYnhORW9UZldvckJuc2liQWFzalhxeElY?= =?utf-8?B?K3ZubUU1RnhvQ3BXUy9XRjAvQzN6czFkWmtDWFJraFdIYTlIWW5hZjNjbnpD?= =?utf-8?B?MUFjOXh3ckJRa0VaaUNYd0ZSNGJXQWhWdUFqL1RCU2ZzUVpLUldGRFFseHF5?= =?utf-8?B?S1F3elYzZkZBcTA1c0dZNGllVlhDUUdFcTNvRWpQT1UrbGJPUVhBY2FyS3BP?= =?utf-8?B?QXZ4d0dORUZCb1kvbGZRblZiS3Vyc3MwTlcwcHloTVRVRmQwUHFnWmJwY2V1?= =?utf-8?B?d1dPK3FWU2hOODdZUnJXekNHZU5FWGNkYzBkR2RCMWJPQ2tyUEM4b00rbzN6?= =?utf-8?B?NkJsSlRiSENSYm9Gd2V3TzdrWGZGUWlCeDRKamluT2lOd0xnMFhrZ0hKS3hU?= =?utf-8?B?MHM3dmlTa0VmSGZQVWJTNDNvQlJTczJsSTNsc2ZWb2RHK0ZkV0lvcmoyYjV0?= =?utf-8?B?ZFppZFVoREs3cHpKSGRzejQ5blN0M08yeCs1aUhhaXdkVmlGaWpmR2hWL2li?= =?utf-8?B?c291RkpySEc3RHZxMTZXOGpGU1BLd25vanozbi9ZcWt3aGtyanMvdUcvTTgx?= =?utf-8?B?dEo1U1plbWhEZnd5eWhoWlVSU2lLSjdibG1ZeGJrb2tkNzJyS1RyQnpZd0Fm?= =?utf-8?B?ZVI4OURiZ1RNbHRXYWgwREhZZG1VQlJLSGF4djFpK3BncFZFYW1zc1Y3anNR?= =?utf-8?B?bDBGSVJxMWxTbGNUelZHdFFXZi9tS3dlUFFob0FwQWUwVmxGaVQxdlNaRWdJ?= =?utf-8?B?NEpKWkk2dGRDRW9CWW9jMytQMm9hcHRNcEpTWlNLME9WRnFTWXJmeDBZajNj?= =?utf-8?Q?15p4RBKmrzAvVzdIfHNamm8Lu?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DM4PR11MB5994.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 7299094e-47ef-4eb6-7f8f-08db6d66357f X-MS-Exchange-CrossTenant-originalarrivaltime: 15 Jun 2023 06:03:15.4647 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: lU1EKtTcR7UShoJ5O0J4y6+EMXIJRZH/f/O0FUbNzJGAl3e3NJhtiCSvq+r5WWrGiCavj1n8zlHsoy/+c3BrWA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA2PR11MB5052 X-OriginatorOrg: intel.com 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 SGkgSmVyaW46DQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogSmVyaW4g SmFjb2IgPGplcmluamFjb2JrQGdtYWlsLmNvbT4NCj4gU2VudDogVGh1cnNkYXksIEp1bmUgMTUs IDIwMjMgMTI6NTggUE0NCj4gVG86IFpoYW5nLCBRaSBaIDxxaS56LnpoYW5nQGludGVsLmNvbT4N Cj4gQ2M6IE9yaSBLYW0gPG9yaWthQG52aWRpYS5jb20+OyBOQlUtQ29udGFjdC1UaG9tYXMgTW9u amFsb24gKEVYVEVSTkFMKQ0KPiA8dGhvbWFzQG1vbmphbG9uLm5ldD47IGRhdmlkLm1hcmNoYW5k QHJlZGhhdC5jb207IFJpY2hhcmRzb24sIEJydWNlDQo+IDxicnVjZS5yaWNoYXJkc29uQGludGVs LmNvbT47IGplcmluakBtYXJ2ZWxsLmNvbTsgZmVycnVoLnlpZ2l0QGFtZC5jb207DQo+IE1jbmFt YXJhLCBKb2huIDxqb2huLm1jbmFtYXJhQGludGVsLmNvbT47IFpoYW5nLCBIZWxpbg0KPiA8aGVs aW4uemhhbmdAaW50ZWwuY29tPjsgdGVjaGJvYXJkQGRwZGsub3JnOyBkZXZAZHBkay5vcmc7IEl2 YW4gTWFsb3YNCj4gPGl2YW4ubWFsb3ZAYXJrbmV0d29ya3MuYW0+DQo+IFN1YmplY3Q6IFJlOiBb UkZDXSBsaWIvZXRoZGV2OiBpbnRyb2R1Y2UgdGFibGUgZHJpdmVuIEFQSXMNCj4gDQo+IE9uIFRo dSwgSnVuIDE1LCAyMDIzIGF0IDc6NTXigK9BTSBaaGFuZywgUWkgWiA8cWkuei56aGFuZ0BpbnRl bC5jb20+IHdyb3RlOg0KPiA+DQo+ID4gSGkgT3JpOg0KPiA+DQo+ID4gICAgICAgICBUaGFuayB5 b3UgZm9yIHlvdXIgcmV2aWV3IQ0KPiA+ICAgICAgICAgQ29tbWVudCBpbmxpbmUuDQo+ID4gICAg ICAgICBQbGVhc2UgbGV0IG1lIGtub3cgaWYgYW55dGhpbmcgSSBtaXNzZWQuDQo+ID4NCj4gPiBU aGFua3MNCj4gPiBRaQ0KPiA+DQo+ID4gPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+ ID4gRnJvbTogT3JpIEthbSA8b3Jpa2FAbnZpZGlhLmNvbT4NCj4gPiA+IFNlbnQ6IFRodXJzZGF5 LCBKdW5lIDE1LCAyMDIzIDI6MzEgQU0NCj4gPiA+IFRvOiBaaGFuZywgUWkgWiA8cWkuei56aGFu Z0BpbnRlbC5jb20+OyBOQlUtQ29udGFjdC1UaG9tYXMgTW9uamFsb24NCj4gPiA+IChFWFRFUk5B TCkgPHRob21hc0Btb25qYWxvbi5uZXQ+OyBkYXZpZC5tYXJjaGFuZEByZWRoYXQuY29tOw0KPiA+ ID4gUmljaGFyZHNvbiwgQnJ1Y2UgPGJydWNlLnJpY2hhcmRzb25AaW50ZWwuY29tPjsgamVyaW5q QG1hcnZlbGwuY29tOw0KPiA+ID4gZmVycnVoLnlpZ2l0QGFtZC5jb20NCj4gPiA+IENjOiBNY25h bWFyYSwgSm9obiA8am9obi5tY25hbWFyYUBpbnRlbC5jb20+OyBaaGFuZywgSGVsaW4NCj4gPiA+ IDxoZWxpbi56aGFuZ0BpbnRlbC5jb20+OyB0ZWNoYm9hcmRAZHBkay5vcmc7IGRldkBkcGRrLm9y Zw0KPiA+ID4gU3ViamVjdDogUkU6IFtSRkNdIGxpYi9ldGhkZXY6DQo+ID4gPg0KPiA+ID4gSGkg UWksDQo+ID4gPg0KPiA+ID4NCj4gPiA+IDEuIGl0IG1heSBiZSB1c2VmdWwgdG8gZ2V0IHNvbWUg Z2VuZXJhbCBjYWxsaW5nIGZsb3cgd2hhdCBjb21lcyBmcm9tDQo+ID4gPiB0aGUgYXBwbGljYXRp b24sIHdoYXQgY29tZXMgZnJvbSB0aGUgY29tcGlsZXIuDQo+ID4gPiBTaW1wbGUgZXhhbXBsZSB3 aWxsIGJlIGdvb2QuDQo+ID4NCj4gPiBBbiBleGFtcGxlIG9mIGRlY2FwIFZYTEFOIFRDUCBmbG93 IGlzIGV4cGxhaW5lZCBpbiBwcm9ibGVtIHN0YXRlbWVudA0KPiA+IChodHRwOi8vbWFpbHMuZHBk ay5vcmcvYXJjaGl2ZXMvZGV2LzIwMjMtTWF5LzI2NzcxOS5odG1sKQ0KPiA+IGNvdmVyaW5nIHRo ZSBmb2xsb3dpbmcgaW5mb3JtYXRpb24uDQo+ID4NCj4gPiAxLiB0aGUgcDQgc291cmNlIGNvZGUs IHRoZSBkZWZpbml0aW9uIG9mIHRoZSB0YWJsZSBhbmQgYWN0aW9ucyAyLiB0aGUNCj4gPiB0YWJs ZSAvIGFjdGlvbiBoaW50cyBnZW5lcmF0ZWQgYnkgdGhlIGNvbXBpbGVyLCBkZXRhaWxzIHRvIGVh Y2ggZmllbGRzLg0KPiA+IDMuIEhvdyB0aGUgQ29udHJvbCBQbGFuZSBBcHBsaWNhdGlvbiB1dGls aXplcyB0aGUgUDQgUnVudGltZSBBUEkgdG8NCj4gPiBwcm9ncmFtIHRoZSBydWxlIHdpdGggdGhl IHJlc3BlY3RpdmUgdGFibGUgYW5kIGFjdGlvbiBJRHMNCj4gPg0KPiA+IFRoZSBEUERLIFBNRCBp cyByZXNwb25zaWJsZSBmb3IgbG9hZGluZyB0aGUgaGludHMgZ2VuZXJhdGVkIGJ5IHRoZQ0KPiBj b21waWxlci4NCj4gPiBUaGlzIGVuYWJsZXMgdGhlIFBNRCB0byBhY2NlcHQgcmVxdWVzdHMgZnJv bSB0aGUgUDQgUnVudGltZSBhbmQgcmVqZWN0DQo+IGFueSBpbmNvbXBhdGlibGUgcmVxdWVzdC4N Cj4gDQo+IEkgc2VlIHR3byBkaWZmZXJlbnQgdHlwZXMgb2YgZGV2aWNlL3N5c3RlbSBjYXRlZ29y eQ0KPiANCj4gMSkgSFcgKyBTVy9GVyBjb21iaW5hdGlvbiB0aGF0IHJlYWxseSB1bmRlcnN0YW5k cyBwNCBzdHJ1Y3R1cmVzIGFuZCBqb2INCj4gb2YgdGhlIGRyaXZlciB0byBpcyB0byBnaXZlIHdv cmsgdG8gSFcvU1cgYXMgcDQgc3RydWN0dXJlIGdlbmVyYXRlZCBmcm9tDQo+IHZlbmRvciBzcGVj aWZpYyBjb21waWxlciBhbmQgcnVudGltZSBnUlBDIG1lc3NhZ2UNCj4gMikgRXhpc3RpbmcgSFcg YW5kIFNXIGRyaXZlcnMgaW1wbGVtZW50cyBydGUtZmxvdyBkcml2ZXIuDQo+IA0KPiBGb3IgaXRl bSAoMSksIGlmIGVuZCB1c2VyIGFwcGxpY2F0aW9uIGlzIHVzaW5nIFA0IHByb2dyYW0gYW5kIFA0 IHJ1bnRpbWUgYW5kDQo+IHRoaXMgaXMgX0FQSSBjb250cmFjdF8gdG8gYXBwbGljYXRpb24sIE5v dCBzdXJlIHdoeSBlbmQgdXNlciBjYXJlIGl0IGlzIERQREsNCj4gUE1EIG9yIG5vdD8gDQoNClRo YXQncyB0cnVlLiBEUERLIGFzIGEgcGxhdGZvcm0gdGhhdCBtYW5hZ2UgdGhlIGhhcmR3YXJlLCBp dCBpcyByZXF1aXJlZCB0byBwcm92aWRlIGEgY2hhbm5lbCB0aGF0IGNvbm5lY3RzIGFwcGxpY2F0 aW9ucyB3aXRoIHRoZSBoYXJkd2FyZSByZXNwb25zaWJsZSBmb3IgaW1wbGVtZW50aW5nIHRoZSBj b250cmFjdC4NCkluIHRoaXMgY29udGV4dCwgdGhlIFBNRCAoZXRoZGV2KSBzZXJ2ZXMgYXMgdGhl IGNvbmR1aXQgdGhhdCBjYW4gZnVsZmlsbCB0aGlzIHJlcXVpcmVtZW50Lg0KDQo+IElmIGRyaXZl ciB3cml0ZXIgY2FyZSBhYm91dCB1c2luZyBEUERLIGZvciBkcml2ZXIgZnJhbWV3b3JrIGZvcg0K PiBFQUwgc2VydmljZXMsIHNpbXBseSB1c2luZyB2ZGV2IGV0YyB3b3VsZCBiZSBlbm91Z2guIFJp Z2h0Pw0KDQpJIG1heSBub3QgZnVsbHkgdW5kZXJzdGFuZCB0aGlzLCBhIHZkZXYgc2hvdWxkIGhh dmUgYSBkZXZpY2UgdHlwZSwgSSBkaWRuJ3Qgc2VlIGFueSBpc3N1ZSBmb3IgYSBldGhkZXYgdmRl diB0byBpbXBsZW1lbnQgdGhlIHRhYmxlLWRyaXZlbiBBUElzLg0KDQo+IA0KPiBGb3IgaXRlbSAo MiksIEkgdGhpbmssIGludGVyZXN0IGlzIGhvdyB0byBvZmZsb2FkIHA0IHdvcmtsb2FkIHRvIHJ0 ZV9mbG93LiBTbw0KPiB0aGF0IF9leGlzdGluZ18gZHJpdmVycyBpbXBsZW1lbnRzIHJ0ZV9mbG93 IGNhbiBzdXBwb3J0DQo+IHA0IG5hdHVyYWxseSBpbiBhZGRpdGlvbiB0byBleGlzdGluZyBydGVf ZmxvdyBBUEkuIElmIHRoYXQgaXMgZGlyZWN0aW9uLCB0aGVuIHdlDQo+IG5lZWQgdG8gdGhlIGZv bGxvd2luZy4NCg0KV2hpbGUgdGhlIGlkZWEgb2Ygb2ZmbG9hZGluZyBQNCB0byBydGVfZmxvdyBp cyBjZXJ0YWlubHkgaW50ZXJlc3RpbmcsIGl0IGRvZXNuJ3Qgc2VlbSB0byBkaXJlY3RseSBhZGRy ZXNzIG91ciBpbml0aWFsIHByb2JsZW0gc3RhdGVtZW50Lg0KVGhlIHByaW1hcnkgb2JqZWN0aXZl IGlzIHRvIGZpbmQgYSBzb2x1dGlvbiBmb3Igb2ZmbG9hZGluZyBydGVfZmxvdyBpbnRvIGEgUDQt YmFzZWQgcGlwZWxpbmUuDQoNCldlIGhhdmUgaWRlbnRpZmllZCB0d28gZGlzdGluY3QgdXNlIGNh c2VzOg0KDQpQNC1Bd2FyZSBBcHBsaWNhdGlvbnM6DQoNCkZvciBhcHBsaWNhdGlvbnMgdGhhdCBh cmUgYWxyZWFkeSBQNCBhd2FyZSwgdGhlIHByb3Bvc2FsIHN1Z2dlc3RzIHRoZSBpbnRyb2R1Y3Rp b24gb2YgYSBuZXcgc2V0IG9mIEFQSXMgdG8gcnRlX2Zsb3cuIA0KVGhlc2UgQVBJcyBhaW0gdG8g ZmFjaWxpdGF0ZSBzZWFtbGVzcyBpbnRlZ3JhdGlvbiBiZXR3ZWVuIERQREsgYW5kIFA0IGF3YXJl IGFwcGxpY2F0aW9ucy4NCg0KTm9uLVA0IEF3YXJlIEFwcGxpY2F0aW9uczoNCg0KSW4gdGhlIGNh c2UsIG91ciBmb2N1cyBpcyBvbiBicmlkZ2luZyB0aGUgZXhpc3RpbmcgcnRlX2Zsb3cgQVBJIHRv IHRoZSB1bmRlcmx5aW5nIFA0IHBpcGVsaW5lLiANCkN1cnJlbnRseSwgd2UgaGF2ZW4ndCBpZGVu dGlmaWVkIGFueSBzaWduaWZpY2FudCBnYXBzIGluIHRoZSBEUERLIEFQSXMuDQpUaGUga2V5IGNo YWxsZW5nZSBsaWVzIGluIGhhbmRsaW5nIHRoZSB0cmFuc2xhdGlvbiBwcm9jZXNzIHdpdGhpbiB0 aGUgUE1EDQoNClRoYW5rcyANClFpDQoNCj4gDQo+IGEpSW1wcm92ZSBwNC1kcGRrIGNvbXBpbGVy IGJhY2tlbmQgb3IgYWRkIG5ldyBjb21waWxlciBEUERLICBiYWNrZW5kIHRvDQo+IHVuZGVyc3Rh bmQgdGhlIHJ0ZV9mbG93IGFuZCBoYXZlIGhlbHBlciBsaWJyYXJ5IGluIERQREsgdG8gdW5kZXJz dGFuZCB0aGUNCj4gY29tcGlsZXIgc3BlYyBmaWxlIHRvIHRyYW5zbGF0ZSB0byBydGVfZmxvdyBv YmplY3RzIGIpU2ltaWxhciBjYXNlIGZvciBydW50aW1lDQo+IEFQSS4gaS5lIEhhdmUgaGVscGVy IGZ1bmN0aW9ucyB0byB0cmFuc2xhdGUNCj4gcDQgTWF0Y2hGaWVsZCBuYW1lIGV0YyB0byBhcHBy b3ByaWF0ZSBydGVfZmxvdyBvYmplY3RzLg0KPiBjKUVuaGFuY2UgYmFzZSBydGVfZmxvdyBzcGVj aWZpY2F0aW9uIGlmIHRoZXJlIGFyZSBhbnkgZnVuZGFtZW50YWwgZ2FwcyB0bw0KPiBleHByZXNz IHRoZSBuZXcgcGF0dGVybiBvciBhY3Rpb25zICh3aGljaCBpcyBub3Qgc3BlY2lmaWMgdG8NCj4g cDQgYW5kIGFwcGxpY2FibGUgZm9yIGFueSBmbG93IG1hdGNoaW5nIHVzZSBjYXNlKQ0KPiANCj4g SWYgd2UgaW50cm9kdWNlIGNvbXBpbGVyIGluIHRoZSBwaXBlbGluZSwgYSBsb3Qgb2YgdHJhbnNs YXRpb24gd2lsbCBnZXQgaW4gdGhlDQo+IHNsb3dwYXRoLiBBbmQgZm9yIHJ1bnRpbWUgQVBJLCB0 aGUgdHJhbnNsYXRpb24gcHJpbWFyaWx5IHdpbGwgYmUgbmFtZSB0bw0KPiBydGVfZmxvdyBvYmpl Y3QgbG9va3VwICh3aGljaCBpcyBub3QgdGhhdCBjb3N0bHkpIGFuZCB1c2luZw0KPiBydGVfZmxv d190ZW1wbGF0ZSBldGMuIHRvIGFtb3J0aXplIHRoZSBjb3N0IGJ5IG1ha2luZyBpdCBidXJzdC4N Cj4gDQo+ICBKdXN0IG15IDJjLg0K