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 7A82842CF1; Mon, 19 Jun 2023 02:23:06 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 01F63410D7; Mon, 19 Jun 2023 02:23:06 +0200 (CEST) Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by mails.dpdk.org (Postfix) with ESMTP id B6B22410D3; Mon, 19 Jun 2023 02:23:03 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1687134184; x=1718670184; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=fVKuLJ5PmJkiMDXPNgASnfKRLLiEwZeCBaHr2StHoyQ=; b=jXreqdGsTB5KZ4eCuh4Ow4CeL4QrN4RC5JmlGpwiLnu1/Uaq+MCqGE8F vkG2WXfgz8Q1y5KIWvR6l7WJj+JHkIC4b/QCjdrkKf+GM2nlSFHJl53NP 4w19TwGY97kWrYyFrCsfkIX+dL5ThffXX9bdChwZtPML/CFW/bYEty0IO 5gMHducRAefViSs32Hib2I1/tk+x0pbd7NPItX2EJyfAvklp7gz9Hu60t ar/fTumHMVuC2lygbxLD9MELAgzaiK2DuDo+a9Vgz6EUnt2dgA46ZIdGF yOhswz5MFLwnBkOwEOSLc6phyrVNWcALpCrZdxRT7eNrWLRSTXuxmDwmT Q==; X-IronPort-AV: E=McAfee;i="6600,9927,10745"; a="357006188" X-IronPort-AV: E=Sophos;i="6.00,253,1681196400"; d="scan'208";a="357006188" Received: from fmsmga006.fm.intel.com ([10.253.24.20]) by fmsmga102.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 18 Jun 2023 17:23:02 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10745"; a="960260620" X-IronPort-AV: E=Sophos;i="6.00,253,1681196400"; d="scan'208";a="960260620" Received: from orsmsx602.amr.corp.intel.com ([10.22.229.15]) by fmsmga006.fm.intel.com with ESMTP; 18 Jun 2023 17:23:01 -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; Sun, 18 Jun 2023 17:23:01 -0700 Received: from ORSEDG602.ED.cps.intel.com (10.7.248.7) 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; Sun, 18 Jun 2023 17:23:01 -0700 Received: from NAM10-MW2-obe.outbound.protection.outlook.com (104.47.55.103) by edgegateway.intel.com (134.134.137.103) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.23; Sun, 18 Jun 2023 17:23:00 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ZhvQOizKLTec11mfgnLDXbH5SsJNeXMC1QujOUy0ANcUxVkQBLAEMhbVM/frW//FAkIjy3x1YS/n+eQhx4C8vyIDLXbIPXovfuDG9TVfZ6wcc4MoiPjWewtlR+BXTkw5Qb7UrEKJBa5CUGPENiFw8ud45H36cM3EpWGcT8RF9vHfYW7+NCtNzbQAIpB/hr9tsqqnLe7mUQR3ZXJedyAQ7nItiW2Q6WCMHoL6TI08bUmTT5ck7ZF5qMXSvegIihYVup3aFMiQrK9WpmFVHIZdkdJZLerhSBwkzzhCTRrH+2XCSGp9T2FG18fYHYUEaH6G6pnYt20NS1Pv59pXcb0V/w== 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=fVKuLJ5PmJkiMDXPNgASnfKRLLiEwZeCBaHr2StHoyQ=; b=UmGly0Hvq3uDH+RgdksowSTPjxrnQTHbCGMQ5tzoBuyig6lR6D9vAHwMGqBTeiIOTUP9SQXATQrSTbFikUx2VhEamM+nYCfdsYIxsXezSdJF5h3OPpg0VcUvr0nvSN3TdN+BAgZJOCTz4pltAPWt6TvnMug7c+ONQxHPRTYXW8LONmByrbVmfAE1oenYsesLph+DkebSsWyjaJYWTYB3MDX8zYqAPWcfP+p8VnrGxM6c3Ie7BOsZ005Yzwz8JdmvK2+lIM8i78sNdDL7BotoHSjfFe0XeGsmdIW6RFnVr1HOoyqcihfcXc7SWdKAd9VZPZM/TXQfgx3GbXbRZjXxCg== 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 MW5PR11MB5881.namprd11.prod.outlook.com (2603:10b6:303:19d::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6500.36; Mon, 19 Jun 2023 00:22:59 +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.6500.031; Mon, 19 Jun 2023 00:22:59 +0000 From: "Zhang, Qi Z" To: Jerin Jacob , "Dumitrescu, Cristian" 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+Kou2AgABcbMCAAFLcAIAACM5AgAAOhgCAAAXmIIAAIC8AgAA/bTCAANiYAIAEnf1A Date: Mon, 19 Jun 2023 00:22:59 +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_|MW5PR11MB5881:EE_ x-ms-office365-filtering-correlation-id: e8d53ece-2cee-4891-85eb-08db705b560a x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: RBlBL8mJvRKkSPRMSL3WgI0nnLpZQKXynsyjjtjNN5cVyEjT3uTZwC/B9FccyMe2/MHLG+ARHTzaeb/RZneF+jAg1UtWnKk9hi/8T77n6xr3sYGwP1jGsDZ4e9REJnwwcJZaqUfwT7e3unZjFrCoxmkSWzI/XdoUjMG9UwhxPFU6ZJwt1nN+HivJe8bqJegqAqyvUAWGH/vkBkM/6ABgw0107oj5V05Zv8GNviAKBYHoZfy6i8ko1dG4K3TeH27h3BgMbcpZergJG0SuFYJT1DbqqmOcYJ+l/mAw4vNH+KKYIfejx/zEGmE4s2czdyHvfiv3wWV6EzA39d2ik4f/vg/7nkSFfGK5aGuL+/2jXIVul18gyItJmjwtcyWEXkiDtOD0TFAuub81jj8ajwn6cXZyo3a+obw+wYzccUIQpRNq8WZLD6FeZc/u+7/HDvHGaM/u/dZIaIXMC8SUPqrjKvUwMIGeFP/7hR6Tc3q8449nxzTwEHzVv7ouSRBSVnH8/bbSjfDNGIBBDou4vHbn70CUyN3p6WVvlLEeErSUcQUsNyzwL1SgvRd6yDP2A2IpD3PmPNzMUZlUmHO8pUCQ7nU8cHKiNZ1Ni76M2kUQRPlt5ZhsmRBxU7mXHL6/s6/cP77vhzutz7I/XViZDjvqTg== 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)(136003)(396003)(366004)(346002)(39860400002)(451199021)(966005)(122000001)(82960400001)(2906002)(478600001)(38070700005)(55016003)(71200400001)(110136005)(7696005)(54906003)(38100700002)(316002)(83380400001)(52536014)(5660300002)(41300700001)(66946007)(64756008)(66446008)(66476007)(66556008)(76116006)(53546011)(9686003)(6506007)(26005)(86362001)(8936002)(8676002)(33656002)(186003)(4326008)(6636002); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?Snc4L25wM0IrZWFuWnJHa2JOajFKaEhQZlUvdHpabXB4VTZvRTd6YTJWS1FQ?= =?utf-8?B?TFl0SG5Dd1c3V1NBc3FwMmVkUnkweTdpbU1saXVrcHhOd1h3TjZ3N2MyS0VY?= =?utf-8?B?RHcyc0FXK1JBWFkyd0xNK1pQaGgxNE1acmNLLzBSTDM4MWVGNmIyelFSZDdz?= =?utf-8?B?SkFWRE1qaDQvWXZydlFWS2hlY1FWL1JCRVRwNDJxblI3YzRybEw2RFJydjA5?= =?utf-8?B?UWswVGZrRVY2UFQxQ3VweTA3dGVaY3dwbDJLcHFrd3pXUDJIcmsxWjkyN0ZZ?= =?utf-8?B?ZTJkQXFXQXNQdVBlTzBPV09TTTUxL1pjVW9lVUlCaUx5eTdJSUlGL1pUNFh4?= =?utf-8?B?bjV6Y1BzelJ1d0JmQjJScDFwalBKZ2NKVVg3NUdlMkxaWEFLcnl1VUxNWmt2?= =?utf-8?B?YnNrWHRMRnlOdTBBd3BrR0kzY2I3OU9Nbm0wNnEwVFlwOE9lRlRYbzAzTHln?= =?utf-8?B?WTl0QUJDQ04weGU5cTZSNmtaRjdEeUI4SHhNK2xxYlZEWDdWd3E5Y1UxQnEv?= =?utf-8?B?RDN3THVGVk1NRVpOVERudTJzb1JUU0h3S0VZYjZ6NSsrckN1Mm5GbVZ4a1RU?= =?utf-8?B?VDFodHhpNlFMSmhZb1ArREdYZjhMblVrQXZucHg0MUhwK3dWZEs3emhWYTQv?= =?utf-8?B?Z2lkQUlySjBNVGg4dU5qUC9SMnJVS1JlWVA5ajVpYkFpbklrWkYxVUNYUWtQ?= =?utf-8?B?bldwZGhmLyt2RXBnQ3hSc1d1RWYyZlEzc1ZuSnRjYnptWVhwa0IzcFhiRlQr?= =?utf-8?B?azJwWjJ0elJIYk9DNC9EaUxTdEplZ2VHbnNrVWR1eWh0UEk3NTNqMVc2YlJP?= =?utf-8?B?V0JhZVhJMCtObXpMdldCTkxYYlozeHcvcFZxNDBKZHNUV2VMS2swY1c5dUV6?= =?utf-8?B?VG16Sko2dGlFYU5Wekh6OEpGbWprZEhHZWhPTXNlTmhqQWUvSmRFSEppcHd0?= =?utf-8?B?eURxTWROTE55ckJlKzFsVnc1bVFzVU15eFJXSStqclloY3J3RDJyVHI0U1Vw?= =?utf-8?B?c1JqbnBQNis3VFZoNTZySWVHNkdWYkRmU0pVeVlnWnVjbC9vQVlKd0tiWlp4?= =?utf-8?B?SDJOMi9xUkpXN3dBM0I0UXUwa0pIUzZkWXd2R1lCenlVTmhReXZrazhrdUVK?= =?utf-8?B?Q3FoWDlnWGFxSFVQbHhVWE1wNHcwNWl3WFBWL2V3bndncG1vWnA4bHNMZjhr?= =?utf-8?B?Y1Q2c2I3dTdGSFBXRjc4bjFkWnBoK25LZVRGWXhPZGM5akhQWjRTWlQybk4w?= =?utf-8?B?SkZFVnNYQkFsNkkreTl6Nmtka1BZM080ZFFoRloxR0c2NlExS0NRN3hUSlh0?= =?utf-8?B?QjRhQ1ozQTUzU0o5WnRBdldoV29xNWMwRHFjb2VVS2p2bXlDMFlDNmd3SzVo?= =?utf-8?B?dU42R1pYWUpjVElXWEUzdWN1b1YzMW9RYU1XSGFsQTdSQU0vZkd5NHdoYlhU?= =?utf-8?B?RjJjU01BYmtQR1pJVWx4SUJvZ3VmbzRXVkZSUzVPNE1SaGdONDJiVk1lM2gv?= =?utf-8?B?NFE5d1ZVbGFnNEtMT1ZoL1lTU0M3Mm9vbWpQMHd2VUJmWUFuMDhtNHlTK2Jj?= =?utf-8?B?MnI3SWI2Y2x6MjBhM2VyQUlKSm1tWDZFT1V2YzZCeTNIakk5U2xORjZjeWRF?= =?utf-8?B?eUNtRXVkRCs5VTYyV2JFcG9zZDFzTG0rZWw5Q2E2NjR0UzBCM3lwUDN2MmpX?= =?utf-8?B?YW5XWEd2RklPTzhEY25ZT01xaitxZnRUTkRjSUNzRmZpdFFCam5peTNCTE10?= =?utf-8?B?bnQ2K2ZiQWt0aEYyZ2JpSnEvQnNUK0lqRkRRaG5MM0M3eStKbkdyT3dsOG9z?= =?utf-8?B?ZlhNTGtUcDRwampoWVQvKzZ0MmJ0MENIQmdmdEdGUG5rTlI0czN2alVmdEFZ?= =?utf-8?B?dE1HeFpwSktsTmVsa1NhZXlqSUpENzNlSWd5UTMwRHdHZStRdFU2cTlIQkNt?= =?utf-8?B?RWN4bVVUSXUyVHI2T3dndVNxNzh5MjFITmlIck5zNFFzM2JFcXozOVlNbkZv?= =?utf-8?B?WGlBOTFGSWtjWG1tYTJNbk9SRDZ3aWdUOEU2UmZmM2Y5R2Q4bkVxY2FSMDRP?= =?utf-8?B?OGcwc0dnNytSK2JXSEJQZFRuOWpTV0VhS01aMjNMcXZUMzdNNEVFZE9vY3o1?= =?utf-8?Q?LhXBkcE0hya7EqdgVQLUmwiJd?= 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: e8d53ece-2cee-4891-85eb-08db705b560a X-MS-Exchange-CrossTenant-originalarrivaltime: 19 Jun 2023 00:22:59.0508 (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: mxiSQANpB6uaSY1IrZ/S936iM92DIsHS5gWS/eWtyCTBfLI1qD9jvCMWXmoaCWaiT9egEWko0cnK9rxVz3RHgg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW5PR11MB5881 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 DQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogSmVyaW4gSmFjb2IgPGpl cmluamFjb2JrQGdtYWlsLmNvbT4NCj4gU2VudDogRnJpZGF5LCBKdW5lIDE2LCAyMDIzIDk6MjAg QU0NCj4gVG86IFpoYW5nLCBRaSBaIDxxaS56LnpoYW5nQGludGVsLmNvbT47IER1bWl0cmVzY3Us IENyaXN0aWFuDQo+IDxjcmlzdGlhbi5kdW1pdHJlc2N1QGludGVsLmNvbT4NCj4gQ2M6IE9yaSBL YW0gPG9yaWthQG52aWRpYS5jb20+OyBOQlUtQ29udGFjdC1UaG9tYXMgTW9uamFsb24gKEVYVEVS TkFMKQ0KPiA8dGhvbWFzQG1vbmphbG9uLm5ldD47IGRhdmlkLm1hcmNoYW5kQHJlZGhhdC5jb207 IFJpY2hhcmRzb24sIEJydWNlDQo+IDxicnVjZS5yaWNoYXJkc29uQGludGVsLmNvbT47IGplcmlu akBtYXJ2ZWxsLmNvbTsgZmVycnVoLnlpZ2l0QGFtZC5jb207DQo+IE1jbmFtYXJhLCBKb2huIDxq b2huLm1jbmFtYXJhQGludGVsLmNvbT47IFpoYW5nLCBIZWxpbg0KPiA8aGVsaW4uemhhbmdAaW50 ZWwuY29tPjsgdGVjaGJvYXJkQGRwZGsub3JnOyBkZXZAZHBkay5vcmc7IEl2YW4gTWFsb3YNCj4g PGl2YW4ubWFsb3ZAYXJrbmV0d29ya3MuYW0+DQo+IFN1YmplY3Q6IFJlOiBbUkZDXSBsaWIvZXRo ZGV2OiBpbnRyb2R1Y2UgdGFibGUgZHJpdmVuIEFQSXMNCj4gDQo+IE9uIFRodSwgSnVuIDE1LCAy MDIzIGF0IDc6MzbigK9QTSBaaGFuZywgUWkgWiA8cWkuei56aGFuZ0BpbnRlbC5jb20+IHdyb3Rl Og0KPiA+DQo+IA0KPiA+ID4gPiBJZiB3ZSBhc3N1bWUgdGhhdCB0aGUgYXBwbGljYXRpb24gaXMg bm90IFA0LWF3YXJlLCBpdCB3aWxsIGNvbnN1bWUNCj4gPiA+ID4gZXhpc3RpbmcNCj4gPiA+IHJ0 ZV9mbG93IEFQSSBmb3IgZmxvdyBvZmZsb2FkaW5nLiBJbiB0aGlzIGNhc2UsIGFsbCB3ZSBuZWVk IHRvIGRvIGlzDQo+ID4gPiBpbXBsZW1lbnQgaXQgaW4gdGhlIFBNRCwgd2hpY2ggd2lsbCBiZSBh IGhpZ2hseSBoYXJkd2FyZS1zcGVjaWZpYw0KPiA+ID4gdGFzay4gRG8geW91IHByb3Bvc2UgZ2Vu ZXJhbGl6aW5nIHRoaXMgY29tbW9uIHBhcnQ/DQo+ID4gPiA+DQo+ID4gPiA+IE9uIHRoZSBvdGhl ciBoYW5kLCBpZiB0aGUgYXBwbGljYXRpb24gaXMgUDQtYXdhcmUsIHdlIGNhbiBhc3N1bWUNCj4g PiA+ID4gdGhhdA0KPiA+ID4gdGhlcmUgd29uJ3QgYmUgYSBuZWVkIGZvciB0cmFuc2xhdGlvbiBi ZXR3ZWVuIFA0IHRva2VucyBhbmQgcnRlX2Zsb3cNCj4gPiA+IHByb3RvY29scyBpbiB0aGUgUE1E Lg0KPiA+ID4NCj4gPiA+IEkgYWdyZWUsIFRyYW5zbGF0aW9uIGlzIEJBRC4gVGhlcmUgYXJlIHR3 byBlbGVtZW50cyB0byB0aGF0Lg0KPiA+ID4gMSlpZiBpdCBpcyBwNCBhd2FyZSBhcHBsaWNhdGlv biwgd2h5IGJvdGhlciB3aXRoIERQREsgYWJzdHJhY3Rpb24/DQo+ID4gPiAyKUNhbiB3ZSB1c2Ug Y29tcGlsZXIgdGVjaG5pcXVlcyB0byBhdm9pZCB0aGUgY29zdCBvZiB0cmFuc2xhdGlvbiBpZg0K PiA+ID4gUDQtIGF3YXJlIHBhdGggaXMgbmVlZGVkIGluIERQREsuIFJhdGhlciB0aGFuIGNyZWF0 aW5nIHlldCBhbm90aGVyDQo+ID4gPiBsaWJyYXJ5LiBJbiB0aGlzIGNvbnRleHQsIHRoYXQgd291 bGQgdHJhbnNsYXRlIHRvIHNvbWUgb2YgeW91cg0KPiA+ID4gY29tcGlsZXIgYW5kIEZXIHdvcmsg bWFraW5nIGFzIGdlbmVyaWMgc28gdGhhdCBfYW55XyBvdGhlciBydGVfZmxvdw0KPiA+ID4gYmFz ZWQgZHJpdmVyIGNhbiB1c2UgYW5kIGltcHJvdmUgaXQuDQo+ID4NCj4gPg0KPiA+IE9rLCBJIHdv dWxkIGxpa2UgdG8gZ2FpbiBhIGJldHRlciB1bmRlcnN0YW5kaW5nLiBCZWxvdyBpcyBteSBjdXJy ZW50DQo+IHVuZGVyc3RhbmRpbmc6DQo+ID4NCj4gPiBUaGVyZSBhcmUgbm8gcGxhbnMgdG8gaW50 cm9kdWNlIGFueSBuZXcgQVBJIGZyb20gRFBESy4gSG93ZXZlciwgeW91cg0KPiBwcm9wb3NhbCBz dWdnZXN0cyB0aGUgY3JlYXRpb24gb2YgYSB0b29sLCBzdWNoIGFzIGEgY29tcGlsZXIsIHdoaWNo IHdvdWxkDQo+IGFzc2lzdCBpbiBnZW5lcmF0aW5nIGEgdHJhbnNsYXRpb24gbGF5ZXIgZnJvbSBQ NCB0YWJsZS9hY3Rpb25zIHRvIHJ0ZV9mbG93IGZvcg0KPiB1c2VyIGFwcGxpY2F0aW9uIGxpa2Ug cDQgcnVudGltZSBiYWNrZW5kIHRoYXQgYmFzZWQgb24gRFBESy4NCj4gPg0KPiA+IENvdWxkIHlv dSBwcm92aWRlIG1vcmUgZGV0YWlscyBhYm91dCB0aGUgZGVzaWduPyBTcGVjaWZpY2FsbHksIEkg d291bGQgbGlrZQ0KPiB0byBrbm93IHdoYXQgdGhlIGlucHV0IGZvciB0aGUgY29tcGlsZXIgaXMg YW5kIHdobyBpcyByZXNwb25zaWJsZSBmb3INCj4gZ2VuZXJhdGluZyB0aGF0IGlucHV0LCBhcyB3 ZWxsIGFzIHRoZSBwcm9jZXNzIGludm9sdmVkLg0KPiA+DQo+ID4gSSBhcG9sb2dpemUgaWYgSSBo YXZlIG5vdCBncmFzcGVkIHRoZSBjb21wbGV0ZSBwaWN0dXJlLCBidXQgSSB3b3VsZA0KPiBhcHBy ZWNpYXRlIHlvdXIgcGF0aWVuY2UuDQo+IA0KPiArIEBDcmlzdGlhbiBEdW1pdHJlc2N1DQo+IA0K PiBUaGVyZSBpcyBhbHJlYWR5IGEgbG90IG9mIHA0KGp1c3QgYmFzZWQgb24gRFBESyBsaWIvcGlw ZWxpbmUgU1csIG5vdCB3aXRoIGFueQ0KPiBIVyBhY2NlbGVyYXRpb24pIHdpdGggRFBESy4gTm90 IHN1cmUgaG93IG11Y2ggaXQgb3ZlcmxhcHMsIGFuZCBob3cgY2xlYW4NCj4gaXMgdGhpcyB0byBp bnRlZ3JhdGUgd2l0aCBleGlzdGluZyBTVyBvciAiY3JlYXRlIG5ldyBvbmUiPw0KPiBJIHdvdWxk IHRoaW5rLCBlbmhhbmNpbmcgdGhlIGN1cnJlbnQgcDQtZHBkayBzdXBwb3J0IGJ5IHVzaW5nIHJ0 ZV9mbG93DQo+IGJhY2tlbmQuIFRoYXQgd291bGQgdHJhbnNsYXRlIHRvDQo+IDEpIFVwZGF0ZSBo dHRwczovL2dpdGh1Yi5jb20vcDRsYW5nL3A0Yy90cmVlL21haW4vYmFja2VuZHMvZHBkayB0bw0K PiB1bmRlcnN0YW5kIGdlbmVyaWMgcDQgdGFibGUga2V5IHRva2VuIHRvIHJ0ZV9mbG93IHRva2Vu IGZvciBzcGVjIGZpbGUNCj4gZ2VuZXJhdGlvbi4NCg0KT0ssIEkgYXNzdW1lIHRoYXQgdGhlIGNv bXBpbGVyIHNob3VsZCBoYXZlIHRoZSBjYXBhYmlsaXR5IHRvIGNvbXByZWhlbmQgdGhlIGxvZ2lj IG9mIHRoZSBQNCBwYXJzZXIgYW5kIGRldGVybWluZSB0aGUgYXBwcm9wcmlhdGUgbWFwcGluZyBv ZiBlYWNoIGtleSBmaWVsZCBpbiB0aGUgUDQgdGFibGUgdG8gYW4gcnRlX2Zsb3cgaGVhZGVyLiBU aGlzIHByb2Nlc3Mgc2hvdWxkIGJlIGluZGVwZW5kZW50IG9mIGFueSBzcGVjaWZpYyB2ZW5kb3Iu DQoNCkhvd2V2ZXIsIHRoZSBxdWVzdGlvbiBhcmlzZXMgcmVnYXJkaW5nIGhvdyB0byBoYW5kbGUg dmVuZG9yLXNwZWNpZmljIGRhdGEsIHdoaWNoIGFsc28gY2FuIGJlIHBhcnQgb2YgdGhlIHRhYmxl IC8gYWN0aW9uIGtleSBhbmQgY291bGQgcG90ZW50aWFsbHkgYmUgbWFwcGVkIHRvIGVpdGhlciBy dGVfZmxvd19pdGVtX3RhZyBvciBydGVfZmxvd19pdGVtX21ldGFkYXRhLiBJJ20gdW5jZXJ0YWlu IGFib3V0IGhvdyB0aGUgUDQtRFBESyBjb21waWxlciBjYW4gbWFuYWdlIHRoaXMgYXNwZWN0LiBQ ZXJoYXBzIHRoaXMgcGFydGljdWxhciBhc3BlY3Qgc2hvdWxkIGJlIGFkZHJlc3NlZCBieSBlYWNo IHZlbmRvcidzIGluZGl2aWR1YWwgYmFja2VuZCBjb21waWxlciwgd2hpbGUgd2UgZm9jdXMgb24g ZGVmaW5pbmcgdGhlIHNwZWNpZmljYXRpb25zIGZvciB0aGUgb3V0cHV0IGFuZCBwcm92aWRpbmcg dGhlIGNvbW1vbiBjb21wb25lbnRzIGZvciBwYXJzZXIgYW5hbHlzaXMuDQoNCj4gMikgVXBkYXRl IGh0dHBzOi8vZ2l0aHViLmNvbS9wNGxhbmcvcDQtZHBkay10YXJnZXQgb3IgaW50cm9kdWNlIGNv bW1vbg0KPiBsaWJyYXJ5IGluIERQREsgdG8gbWFwIGNvbXBpbGVyIG91dHB1dCAoc3BlYyBmaWxl KSB0byBydGVfZmxvdyBvYmplY3RzDQo+IGludm9jYXRpb25zLg0KDQpJJ20gbm90IHF1aXRlIHN1 cmUgd2h5IHdlIG5lZWQgdG8gdXBkYXRlIHRoZSBwNC1kcGRrLXRhcmdldCBwcm9qZWN0LCBhcyBp dHMgcHVycG9zZSBpcyB0byB1dGlsaXplIERQREsgZm9yIGJ1aWxkaW5nIGEgc29mdHdhcmUgcGlw ZWxpbmUgdXNpbmcgUDQuIEhvd2V2ZXIsIGlmIHdlIGRvIHJlcXVpcmUgdGhlIGludHJvZHVjdGlv biBvZiBhIGNvbW1vbiBsaWJyYXJ5IGluIERQREssIHRoZSBmb2xsb3dpbmcgcXVlc3Rpb25zIGFy aXNlOg0KDQoxLiBXaGF0IHdpbGwgdGhlIEFQSSBvZiB0aGUgbGlicmFyeSBsb29rIGxpa2U/IFdp bGwgaXQgc3RpbGwgbWFpbnRhaW4gYSB0YWJsZS1kcml2ZW4gaW50ZXJmYWNlIHRoYXQgaXMgY29t cGF0aWJsZSB3aXRoIFA0IHJ1bnRpbWU/IFdoYXQgYXJlIHRoZSBrZXkgZGlmZmVyZW5jZXMgY29t cGFyZWQgdG8gdGhlIGN1cnJlbnQgcHJvcG9zYWw/DQoyLiBEdXJpbmcgcnVudGltZSwgd2lsbCB0 aGUgbGlicmFyeSBsb2FkIHRoZSBzcGVjIGZpbGUgKG91dHB1dCBvZiB0aGUgY29tcGlsZXIpIGFu ZCBjb25zdHJ1Y3QgYSBtYXBwaW5nIGZyb20gUDQgdGFibGVzL2FjdGlvbnMgdG8gdGhlIHJ0ZV9m bG93IEFQST8gSXMgbXkgdW5kZXJzdGFuZGluZyBjb3JyZWN0Pw0KMy4gU29tZSBoYXJkd2FyZSB2 ZW5kb3JzIGFscmVhZHkgaGF2ZSBiYWNrZW5kIFA0IGNvbXBpbGVycyB0aGF0IGFyZSBjYXBhYmxl IG9mIGdlbmVyYXRpbmcgaGludHMgZm9yIGNvbmZpZ3VyaW5nIGhhcmR3YXJlIGJhc2VkIG9uIHRh Ymxlcy9hY3Rpb25zLiBJcyBpdCBwb3NzaWJsZSB0byBpbmNvcnBvcmF0ZSBhICJwYXNzLXRocm91 Z2giIG1vZGUgd2l0aGluIHRoaXMgbGlicmFyeT8NCg0KVGhhbmtzDQpRaQ0KDQo=