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 8B5FAA0A0A; Mon, 29 Mar 2021 21:56:25 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 09F84406B4; Mon, 29 Mar 2021 21:56:25 +0200 (CEST) Received: from NAM04-DM6-obe.outbound.protection.outlook.com (mail-dm6nam08on2055.outbound.protection.outlook.com [40.107.102.55]) by mails.dpdk.org (Postfix) with ESMTP id 270D14069D for ; Mon, 29 Mar 2021 21:56:23 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=B9Z8xcsC079ameSFcGEgpXeYQiIRpm8qo/+gSJG5ebPaQXfhGhbAr1kPiv9MthP7aBc2zHDK61gcACK/3/r3K2o8BLIdIedTKJ6oPQB8I6SsYBIh+lx0HhVZlZh5VZ3I6a2knrp27nUCn3bXVmrzmZV3FS5oAzlwSUhoz8bbxiGfSBIa1RnzUJa6Vv4ViclASqKQOGuNtRM/VrC3E0sX50YT95nDmh7zzFpKhquoY+QUd9m/sg39aIuLJ5WrcLhlWY5gwbLy5B7PVg2FYyw9PNrsLKvvUSOp1HBr3TGJXfhHGfWJn8wjdsW2vki2LfRE8niCHLuIF4aEmgmIQ+Ku4Q== 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-SenderADCheck; bh=DvhKt6qp3TXNrdYmSvSMG7qbtkxd0hod2j7/IJvP+jo=; b=du5rz9b+oI4pGyT0yaBBrY6gsY6wiUfilFwkTgPA+jWb9tNS9u/ruvPbg9J04oBtw6zTTd6RT7HYrYrZgZJvSmGs8tiPvAwZ7ZMU3nxyYDNqz4//Mq5ClsqHcIuRx61C8gPuUE1464p0vpkFabcHndQ1+1Ru0dl2juAX3Onu6m33JOMo25YD0D2iKoZgOL03PVlsgLgI5I19DOfWL8FKYRDn/DW6q2cxQpsLJWntwXYUpy40EyLmcIeQHnhO3l5ixah/3OV1EdEoXablm5QVJj0znTi/WDRcRbWtMlzkI/xEAe6oa5lGHqfRopalrc3nP96lm7HtkLLsHMRZWbSC7w== 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=DvhKt6qp3TXNrdYmSvSMG7qbtkxd0hod2j7/IJvP+jo=; b=jIBBATlgGkt8poLAmT1I74Dw8B0TTUOgpYnoQ3rYp6JK01EGho0xCHV6aJ/yb9U7zwpiXcZoaZQ26q1IpOw4E57Sbtho0rHyunclOl3SfSfm94KQSlP3SL9jjs/l7Zxd3q6hMdybbP4ACgj0roh8JmqAVb4Po9m827fJLvfggsp2AeFFFk9iVnoySArJvWylD9R++rS/PnR8M701JsvpV8LDvp1AzrY/4lH6RQzekA8lFjYXF5Wgx0gAvqAknJPoUPN45TWit01v0VRIKhoFSHZSHZnmMJzBGZ7KsNXkCNcm+eASP8lWpDEDDUVOzCJQjXhG4lQYfHTfoSdTeGDgOQ== Received: from BL0PR12MB2483.namprd12.prod.outlook.com (2603:10b6:207:4c::26) by MN2PR12MB3839.namprd12.prod.outlook.com (2603:10b6:208:168::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3977.29; Mon, 29 Mar 2021 19:56:20 +0000 Received: from BL0PR12MB2483.namprd12.prod.outlook.com ([fe80::2da7:6060:9bc4:6309]) by BL0PR12MB2483.namprd12.prod.outlook.com ([fe80::2da7:6060:9bc4:6309%5]) with mapi id 15.20.3933.039; Mon, 29 Mar 2021 19:56:20 +0000 From: Matan Azrad To: Ajit Khaparde CC: "Dumitrescu, Cristian" , Li Zhang , Dekel Peled , Ori Kam , Slava Ovsiienko , Shahaf Shuler , "lironh@marvell.com" , "Singh, Jasvinder" , NBU-Contact-Thomas Monjalon , "Yigit, Ferruh" , Andrew Rybchenko , Jerin Jacob , Hemant Agrawal , "Richardson, Bruce" , "Doherty, Declan" , "dev@dpdk.org" , Raslan Darawsheh , Roni Bar Yanai Thread-Topic: [PATCH 2/2] [RFC]: ethdev: manage meter API object handles by the drivers Thread-Index: AQHXG9Tf+hxjiPtdp0KoZArVyb7r8qqSIKAAgAIvtQCAARHbgIAGEKVw Date: Mon, 29 Mar 2021 19:56:20 +0000 Message-ID: References: <20210318085815.804896-1-lizh@nvidia.com> <20210318085815.804896-2-lizh@nvidia.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: broadcom.com; dkim=none (message not signed) header.d=none;broadcom.com; dmarc=none action=none header.from=nvidia.com; x-originating-ip: [79.182.29.6] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: d6145108-88fe-488a-57dc-08d8f2ecb945 x-ms-traffictypediagnostic: MN2PR12MB3839: x-ld-processed: 43083d15-7273-40c1-b7db-39efd9ccc17a,ExtAddr x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:9508; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: tFKbMqCynniMYgxqpUAf6nl+xTXRXzpfD+0U0o4jCN6ldrB4qddSVZBiJ6o4psi6g/NZCtknf6Znj2FYZUQ0CKfZhbM6aIU5hiQ0/mXJCYFFbLXwWVePY2SIzE/GsZ6AJdgoPau0czSD763PeuA+8xh7+Tl9i3rrPN0Zy1fpiDmVV9SkrtRX8vHQVQX0SU6jY4gNck6yRPdaWffoiDyBz2Z43bOaQitzVII4HzYTqVO0ZzFjrSnJUmlUZRtpkkg6Fgq5SSr5EfLn9f7BHCrcQwXq+LKZiw/9L3U3opV8Fjd1850QiWaCLsPnidzGB4c9GVWTzvInZw+HZYqi8qCu+55mmocVX1UrVt+grbRGRsoUyXkU+zikaPRkUK/1prVG58X+k0fenh8e+mTjPdhILTrf1RmTUTzsrOEzEWkt1rZexg1eFGV3AWKnPQ8abutxQc6C+81DQmf4qvOPbpia1ZNyCrHVGCNIPKdRBiaEFJP/v0PnAaC72+3NPB2uB8e5BrAGu6GR5EWzfeyf2qM1yS6IUlXgoU3fk+jIuk1aWy91Z7o2EJ8kJVntsgw8npAuac8SvPODtZts/lWKzAHIAFzTX+B1fVgST0U+vC3dV4a+P6UtrFBdMeCCo8dQdj305Ruh9j9IsumLgCxXBCXQxfzs2+IXqdbd4tfXiihR7I39cPJTb9BwdYydS5+kk43C/s+5m7hI7NvvPOrhzeo+Qg0fjdLE/yO8URlyDYXw4N4= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:BL0PR12MB2483.namprd12.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(396003)(366004)(136003)(376002)(346002)(39860400002)(66556008)(76116006)(66946007)(2906002)(83380400001)(107886003)(38100700001)(7416002)(54906003)(66476007)(71200400001)(4326008)(55016002)(26005)(5660300002)(52536014)(45080400002)(53546011)(9686003)(33656002)(8936002)(7696005)(66446008)(64756008)(186003)(966005)(8676002)(86362001)(316002)(6506007)(6916009)(478600001); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata: =?utf-8?B?cUs0TkdTMWtjQXRPK1VrdjM1Rk5JcjduZXJ2MnU0Yjl5RjNQS3g3VmtFMDJY?= =?utf-8?B?ekpwYnQ4eDNLYXd3Y016akNFdXJHVGE0OHVXUmpXVGp0aEFia3dMTGU3UG56?= =?utf-8?B?ZjhUSTJqMFZEeDc0L1p5TkFqTU1nRFI5dEk0RCs1VEhwdGdhMHJ1LzltdC9M?= =?utf-8?B?dHdLcS95M0lPb0NFZUI2eEN2VmVPUVdmUVc4d1NRcVhEUmxUUnNHQVBXRFZZ?= =?utf-8?B?VURNeEFHOUFETHFIZjlBb0JYdkcyS3NLTUVuc0tUTHgyMGwyU2M4Q2E5L1Qz?= =?utf-8?B?MTJub0NQS1ZnNmpSUU9aWVcyelp4b050d1htNmNhMHEyNlhSR09uR3JIcEYx?= =?utf-8?B?T1pYUENOaktEMWZnQTFiaE9uVFVtSmRicUgyTGRSR1kyZFdzV3hhL0ZPSzVQ?= =?utf-8?B?R0VJUmtuRzFYZkhoSkhtRGFzaFJSNjJvRThJWm5VS0xXb0pTSVZhNGdsZDNj?= =?utf-8?B?cHIxRU1XOWJSSFdvcVozNmFWNVJOZ2lYbWZSQ2pFaWZ5QS9HY24rdjhKdEFt?= =?utf-8?B?S2lYREc5bEtwWE5xMnVXS0JNRjJyT2lnNWVRKzVacUhSazNzZjVwZG9EWE15?= =?utf-8?B?M01UVW1ZdXpDOTNzV2hjUTJaN3oxWDlJVVk1YnhlVEdYMW1SZzFXY0w5WEl2?= =?utf-8?B?aXZQQ1pvQnhOSHEwU1duNVREbnc5WGovOEFLbXFOZEtXYU5IUUpHYUI4WDZ3?= =?utf-8?B?WlNTVnV6MnYwZlpWa2NJQTlCeXJMbGlHNnM5cWJWdWFPT1FkeFRZdzBwaDUx?= =?utf-8?B?U2tiak1kVldJOFRSMGpDaHBiSFoxNWkrb1hFaDA0Sis3OTNrdVpJUXF1U21L?= =?utf-8?B?dlVtYk90VWlqMG5RNkZ1OWZudnQrZnQ4WnFSa3RzZnVWWUN0TE4rdVNDVzZP?= =?utf-8?B?RDk2Q2ZGVEtJb0R6WFdyWHd4eS9IeTIxUGJxVTJyOUYzWmgvZVZXRi9EczBH?= =?utf-8?B?SUZZeGF2d09JOVZLc0dkSkxqRVJjUGloUmRFVWlQMEtiM1M2aVNWTjVTY0l0?= =?utf-8?B?VVFrQjJWR0d5RDRMV3FkUmN6QTVJZDBySUZTY2d5RGpsUjZrRE9RdUp4MlhS?= =?utf-8?B?MkpJcVdCNnJBR1hMM20rT2VFWDVwRTI4c3h4TktxdkVMRXRCTlN6cGhDbFBa?= =?utf-8?B?UnhHZnZoOW5jVnQrR0M4UEVQRVlmbit0WHNIWk51K2RhZGhTSEF3SDNHcnBT?= =?utf-8?B?SnFtcVcwTk1Nem5aeVFZOHBFQmt5K1NuSGtNUlZqYmg2NzNsM3drSDBLNW1a?= =?utf-8?B?cWVzYmhoR204SXVKNFBFb1dYRnRnMC9oZ3lOQUhPT2RpS1o0UmhsWTFzMzlw?= =?utf-8?B?ZlJoZHNWZWNZWXFFeC9tenZDMC9tMGNnMXVBU0laUkpVVDRKRkR6VFFmVkdK?= =?utf-8?B?eVlPbFBnZmxTNjRXYzVIM21qVSt0VGlGS1RUdUFxNWpHU0RZL3JvQU1Jendi?= =?utf-8?B?V08wYzVUMDdDSllaLzQwVzdJRnovTU02RVM3NXJuUFo1aktHenVlWEMzK2VV?= =?utf-8?B?Syt0Y2NGbFoyVndJbExpc0FVRzVodHI4ZWpOV29HbmN0bFFIT3NodEViUHRx?= =?utf-8?B?bXdIYTNFWExjcFJGVFROMncwVGlmZldZUnFDRUF2U3pDVC9CZFBUY2JqdVA3?= =?utf-8?B?dndtVTZnQVNCdmZaZjc4d3NjUjM0dUhJUXlncTZ6L0tIblo0QjJmdmdqNE9w?= =?utf-8?B?ak5BNjB3RkNEdXB2K2VQSUxJM29rSUlZNVNWOGwvSUhjSlVsaWZZV2M0WFFH?= =?utf-8?Q?3Rb3nbdD5OWYgMGr9E=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: BL0PR12MB2483.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: d6145108-88fe-488a-57dc-08d8f2ecb945 X-MS-Exchange-CrossTenant-originalarrivaltime: 29 Mar 2021 19:56:20.5139 (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: wp5XWCrSPvmHME8XgFpPIGoGG9EBx+NijHNZtJgvHeqHwauTP5/mqQnICUTaY+e809+eLkdUuomRm10tkS26bQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR12MB3839 Subject: Re: [dpdk-dev] [PATCH 2/2] [RFC]: ethdev: manage meter API object handles by the drivers 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 Sender: "dev" SGkgQWppdA0KDQpMb29rcyBsaWtlIHlvdSBhZ3JlZSB3aXRoIHRoaXMgUkZDIHRvIG1vdmUgbWV0 ZXIgb2JqZWN0cyB0byBiZSBtYW5hZ2VkIGJ5IFBNRCBwb2ludGVycy4NCg0KVGhhbmtzIGZvciB0 aGUgcmV2aWV3IQ0KDQpGcm9tOiBBaml0IEtoYXBhcmRlDQo+IE9uIFRodSwgTWFyIDI1LCAyMDIx IGF0IDE6MjEgQU0gTWF0YW4gQXpyYWQgPG1hdGFuQG52aWRpYS5jb20+IHdyb3RlOg0KPiA+DQo+ ID4gSGkgQ3Jpc3RpYW4NCj4gPg0KPiA+IEZyb206IER1bWl0cmVzY3UsIENyaXN0aWFuDQo+ID4g PiBIaSBMaSBhbmQgTWF0YW4sDQo+ID4gPg0KPiA+ID4gPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2Ut LS0tLQ0KPiA+ID4gPiBGcm9tOiBMaSBaaGFuZyA8bGl6aEBudmlkaWEuY29tPg0KPiA+ID4gPiBT ZW50OiBUaHVyc2RheSwgTWFyY2ggMTgsIDIwMjEgODo1OCBBTQ0KPiA+ID4gPiBUbzogZGVrZWxw QG52aWRpYS5jb207IG9yaWthQG52aWRpYS5jb207IHZpYWNoZXNsYXZvQG52aWRpYS5jb207DQo+ ID4gPiA+IG1hdGFuQG52aWRpYS5jb207IHNoYWhhZnNAbnZpZGlhLmNvbTsgbGlyb25oQG1hcnZl bGwuY29tOyBTaW5naCwNCj4gPiA+ID4gSmFzdmluZGVyIDxqYXN2aW5kZXIuc2luZ2hAaW50ZWwu Y29tPjsgVGhvbWFzIE1vbmphbG9uDQo+ID4gPiA+IDx0aG9tYXNAbW9uamFsb24ubmV0PjsgWWln aXQsIEZlcnJ1aCA8ZmVycnVoLnlpZ2l0QGludGVsLmNvbT47IEFuZHJldw0KPiA+ID4gPiBSeWJj aGVua28gPGFuZHJldy5yeWJjaGVua29Ab2t0ZXRsYWJzLnJ1PjsgRHVtaXRyZXNjdSwgQ3Jpc3Rp YW4NCj4gPiA+ID4gPGNyaXN0aWFuLmR1bWl0cmVzY3VAaW50ZWwuY29tPg0KPiA+ID4gPiBDYzog ZGV2QGRwZGsub3JnOyByYXNsYW5kQG52aWRpYS5jb207IHJvbmliYUBudmlkaWEuY29tDQo+ID4g PiA+IFN1YmplY3Q6IFtQQVRDSCAyLzJdIFtSRkNdOiBldGhkZXY6IG1hbmFnZSBtZXRlciBBUEkg b2JqZWN0IGhhbmRsZXMgYnkNCj4gPiA+ID4gdGhlIGRyaXZlcnMNCj4gPiA+ID4NCj4gPiA+ID4g Q3VycmVudGx5LCBhbGwgdGhlIG1ldGVyIG9iamVjdHMgYXJlIG1hbmFnZWQgYnkgdGhlIHVzZXIg SURzOg0KPiA+ID4gPiBtZXRlciwgcHJvZmlsZSBhbmQgcG9saWN5Lg0KPiA+ID4gPiBIZW5jZSwg ZWFjaCBQTUQgc2hvdWxkIG1hbmFnZSBkYXRhLXN0cnVjdHVyZSBpbiBvcmRlciB0byBtYXAgZWFj aCBBUEkNCj4gPiA+ID4gSUQgdG8gdGhlIHByaXZhdGUgUE1EIG1hbmFnZW1lbnQgc3RydWN0dXJl Lg0KPiA+ID4gPg0KPiA+ID4gPiBGcm9tIHRoZSBhcHBsaWNhdGlvbiBzaWRlLCBpdCBoYXMgYWxs IHRoZSBwaWN0dXJlIGhvdyBtZXRlciBpcyBnb2luZw0KPiA+ID4gPiB0byBiZSBhc3NpZ25lZCB0 byBmbG93cyBhbmQgY2FuIGVhc2lseSB1c2UgZGlyZWN0IG1hcHBpbmcgZXZlbiB3aGVuDQo+ID4g PiA+IHRoZSBtZXRlciBoYW5kbGVyIGlzIHByb3ZpZGVkIGJ5IHRoZSBQTURzLg0KPiA+ID4gPg0K PiA+ID4gPiBBbHNvLCB0aGlzIGlzIHRoZSBhcHByb2FjaCBvZiB0aGUgcnRlX2Zsb3cgQVBJIGhh bmRsZXM6DQo+ID4gPiA+IHRoZSBmbG93IGhhbmRsZSBhbmQgdGhlIHNoYXJlZCBhY3Rpb24gaGFu ZGxlIGlzIHByb3ZpZGVkIGJ5IHRoZSBQTURzLg0KPiA+ID4gPg0KPiA+ID4gPiBVc2UgZHJpdmVy cyBoYW5kbGVycyBpbiBvcmRlciB0byBtYW5hZ2UgYWxsIHRoZSBtZXRlciBBUEkgb2JqZWN0cy4N Cj4gPiA+ID4NCj4gPiA+DQo+ID4gPiBUaGlzIHNlZW1zIHRvIGJlIHRha2UgMiBvZiB0aGUgZGlz Y3Vzc2lvbiB0aGF0IHdlIGFscmVhZHkgaGFkICBpbiB0aGlzIHRocmVhZDoNCj4gPiA+DQo+IGh0 dHBzOi8vbmFtMTEuc2FmZWxpbmtzLnByb3RlY3Rpb24ub3V0bG9vay5jb20vP3VybD1odHRwcyUz QSUyRiUyRm1haWxzLmRwDQo+ID4gPiBkay5vcmclMkZhcmNoaXZlcyUyRmRldiUyRjIwMjEtDQo+ ID4gPg0KPiBNYXJjaCUyRjIwMDcxMC5odG1sJmFtcDtkYXRhPTA0JTdDMDElN0NtYXRhbiU0MG52 aWRpYS5jb20lN0NhYjANCj4gPiA+DQo+IGUzY2M3N2I5ZTQxMDEzNDRlMDhkOGVlNDM0YmJlJTdD NDMwODNkMTU3MjczNDBjMWI3ZGIzOWVmZDljY2MxN2ElDQo+ID4gPg0KPiA3QzAlN0MwJTdDNjM3 NTIxMzIwMTA1NDUwNjE3JTdDVW5rbm93biU3Q1RXRnBiR1pzYjNkOGV5SldJam9pTQ0KPiA+ID4N Cj4gQzR3TGpBd01EQWlMQ0pRSWpvaVYybHVNeklpTENKQlRpSTZJazFoYVd3aUxDSlhWQ0k2TW4w JTNEJTdDMTAwMCYNCj4gPiA+DQo+IGFtcDtzZGF0YT05NGJGUklDZkdFems1czUzTVJVdkZNUWU1 WmxoUDJUbW51ODJod1V5dGM0JTNEJmFtcDtyZQ0KPiA+ID4gc2VydmVkPTAsIHNvIGFwb2xvZ2ll cyBmb3IgbW9zdGx5IHN1bW1hcml6aW5nIG15IHByZXZpb3VzIGZlZWRiYWNrIGhlcmUuDQo+ID4g Pg0KPiA+ID4gSSBhbSBhZ2FpbnN0IHRoaXMgcHJvcG9zYWwgYmVjYXVzZToNCj4gPiA+IDEuIFdl IGFscmVhZHkgZGlzY3Vzc2VkIHRoaXMgdG9waWMgb2YgdXNlci1wcm92aWRlZCBoYW5kbGVzIHZz LiBkcml2ZXItDQo+IHByb3ZpZGVkDQo+ID4gPiBoYW5kbGVzIGF0IGxlbmd0aCBvbiB0aGlzIGV4 YWN0IGVtYWlsIGxpc3QgYmFjayBpbiAyMDE3LCB3aGVuIHdlIGZpcnN0DQo+IGludHJvZHVjZWQN Cj4gPiA+IHRoaXMgQVBJLCBhbmQgSSBkb24ndCBzZWUgYW55IHJlYWwgcmVhc29uIHRvIHJldmlz aXQgdGhlIGRlY2lzaW9uIHdlIHRvb2sgdGhlbi4NCj4gPg0KPiA+IFdoeSBub3Q/DQo+ID4gVGhl cmUgaXMgbW9yZSBleHBlcmllbmNlc1x1c2FnZXMgbm93Lg0KPiA+IE5ldyBkcml2ZXJzIGFkZGVk IHRoZSBzdXBwb3J0IGFuZCBhbHNvIG5vdyBzY2FsYWJpbGl0eSBpcyBncm93aW5nIGFuZA0KPiBn cm93aW5nLi4uLg0KPiA+DQo+ID4NCj4gPiA+IDIuIEZvciBtZSwgaXQgaXMgbW9yZSBuYXR1cmFs IGFuZCBpdCBhbHNvIGhlbHBzIHRoZSBhcHBsaWNhdGlvbiB0byBzaW1wbGlmeSBpdHMNCj4gZGF0 YQ0KPiA+ID4gc3RydWN0dXJlcyBpZiB0aGUgdXNlciBwcm92aWRlcyBpdHMgb3duIElEcyByYXRo ZXIgdGhhbiB0aGUgdXNlciBoYXZpbmcgdG8NCj4gZGVhbA0KPiA+ID4gd2l0aCB0aGUgSURzIHBy b3ZpZGVkIGJ5IHRoZSBkcml2ZXIuDQo+ID4NCj4gPiBHZW5lcmFsbHkgSSBkb24ndCB0aGluayBv dGhlciBmbG93IERQREsgQVBJcyBhbGlnbiB3aXRoIHlvdXIgZmVlbGluZ3MgaGVyZSwgc2VlDQo+ IHJ0ZV9mbG93IG9iamVjdCBhbmQgcnRlX2Zsb3dfc2hhcmVkX2FjdGlvbi4NCj4gPg0KPiA+IFNw ZWNpZmljYWxseSBmb3IgbWV0ZXI6DQo+ID4gICAgICAgICAtIGhlcmUsIG1ldGVyIGlzIEhXXGRy aXZlciBvZmZsb2FkIHdoZXJlIHBlcmZvcm1hbmNlXHJhdGUgZWl0aGVyIGZvcg0KPiBtZXRlciBj cmVhdGlvblxkZWxldGlvbiBvciBmb3IgdGhlIGFjdHVhbCBkYXRhLXBhdGggaXMgdmVyeSBpbXBv cnRhbnQgZXNwZWNpYWxseQ0KPiB3aGVuIHdlIHRhbGsgb24gdmVyeSBiaWcgbnVtYmVycywgc28g Im5hdHVyYWwiIGhhcyBsZXNzIGltcG9ydGFuY2UgaGVyZS4NCj4gPiAgICAgICAgICAgV2UgbmVl ZCB0byB0aGluayBvbiB0aGUgZ2xvYmFsIHNvbHV0aW9uIGZvciBhcHBsaWNhdGlvbiAtPkFQSS0+ ZHJpdmVyLiBpbg0KPiBtZXRlciBmZWF0dXJlLCB0aGUgdXNlciBoYXMgdGhlIGFiaWxpdHkgdG8g bWFuYWdlIHRoZSBJRHMgYmV0dGVyIHRoYW4gdGhlIFBNRHMNCj4gZm9yIHRoZSBtb3N0IG9mIHRo ZSB1c2UtY2FzZXM6DQo+ID4gICAgICAgICAgICAgICAgICAgICAgICAgMS4gbWV0ZXIgcGVyIGZs b3c6IGp1c3Qgc2F2ZSB0aGUgZHJpdmVyIGhhbmRsZSBpbiB0aGUgYXBwIGZsb3cNCj4gY29udGV4 dC4NCj4gPiAgICAgICAgICAgICAgICAgICAgICAgICAyLiBtZXRlciBwZXIgVk1cVVNFUiBmbG93 c1xydGVfZmxvdyBncm91cFxhbnkgb3RoZXIgY29udGV4dA0KPiBncm91cGVkIG11bHRpcGxlIGZs b3dzOiBqdXN0IHNhdmUgdGhlIGRyaXZlciBoYW5kbGUgaW4gdGhlIGFwcCBjb250ZXh0Lg0KPiA+ ICAgICAgICAgSWYgUE1EIG5lZWQgdG8gbWFwIHRoZSBJRHMsIGl0IGlzIG1vcmUgY29tcGxleCBm b3Igc3VyZSwgcmVxdWlyZXMgbW9yZQ0KPiBtZW1vcnkgYW5kIG1vcmUgbG9va3VwIHRpbWUuDQo+ ID4NCj4gPiAgICAgICAgIC0gSSdtIG5vdCBzdXJlIGl0IGlzIG5hdHVyYWwgZm9yIGFsbCB0aGUg dXNlLWNhc2VzLCBzb21ldGltZXMgZ2VuZXJhdGluZw0KPiB1bmlxdWUgSUQgbWF5IGNvbXBsZXgg dGhlIGFwcC4NCj4gPg0KPiA+DQo+ID4gPiAzLiBJdCBpcyBtdWNoIGVhc2llciBhbmQgcG9ydGFi bGUgdG8gcGFzcyBudW1lcmljIGFuZCBzdHJpbmctYmFzZWQgSURzDQo+IGFyb3VuZA0KPiA+ID4g KGUuZy4gYmV0d2VlbiBwcm9jZXNzZXMpIGFzIG9wcG9zZWQgdG8gcG9pbnRlci1iYXNlZCBJRHMs IGFzIHBvaW50ZXJzIGFyZQ0KPiBvbmx5DQo+ID4gPiB2YWxpZCBpbiBvbmUgYWRkcmVzcyBzcGFj ZSBhbmQgbm90IGluIG90aGVycy4gVGhlcmUgYXJlIHNldmVyYWwgRFBESyBBUElzDQo+IHRoYXQN Cj4gPiA+IG1vdmVkIGF3YXkgZnJvbSBwb2ludGVyIGhhbmRsZXMgdG8gc3RyaW5nIElEcy4NCj4g UGFyZG9uIG15IGlnbm9yYW5jZS4uDQo+IEJ1dCB3aGljaCBEUERLIEFQSXMgbW92ZWQgdG8gc3Ry aW5nIElEcyBmcm9tIHBvaW50ZXIgaGFuZGxlcz8NCj4gDQo+ID4NCj4gPiBZZXMsIEkgYWdyZWUg aGVyZSBnZW5lcmFsbHkuDQo+ID4gQnV0IGFnYWluLCBzaW5jZSBtZXRlciBpcyB1c2VkIG9ubHkg YnkgcnRlX2Zsb3csIGl0IGlzIGJldHRlciB0byBhbGlnbiB0aGUgc2FtZQ0KPiBoYW5kbGUgbWVj aGFuaXNtLg0KPiBJIGRvbid0IHdhbnQgdG8gc2F5IC0gZG8gdGhpcyBiZWNhdXNlIHJ0ZV9mbG93 IHVzZXMgYSBwb2ludGVyLg0KPiBJIGRvbid0IGhhdmUgYSBzdHJvbmcgb3BpbmlvbiBmb3Igb25l IG92ZXIgdGhlIG90aGVyLiBJbiB0aGUgZW5kIHRoZQ0KPiBsb2dpYyBjYW4gYmUgYWRhcHRlZCBv bmUgd2F5IG9yIHRoZSBvdGhlci4NCj4gQnV0IGhhdmluZyBpbXBsZW1lbnRlZCBydGVfZmxvdyBz dXBwb3J0IGluIHRoZSBQTUQsIEkgdGhpbmsgaXQgaXMgYQ0KPiBnb29kIGlkZWEgdG8gYXZvaWQg dGhlIGR1cGxpY2F0aW9uIG9mIG1ldGVyX2lkIHRvIHBvaW50ZXIgYmFzZWQgaGFuZGxlDQo+IGNv bnZlcnNpb24gYW5kIGJvb2trZWVwaW5nIGxvZ2ljIGluIHRoZSBhcHBsaWNhdGlvbiBhbmQgdGhl IFBNRC4NCj4gDQo+ID4NCj4gPiA+IDQuIFRoZSBtYXBwaW5nIG9mIHVzZXIgSURzIHRvIGludGVy bmFsIHBvaW50ZXJzIHdpdGhpbiB0aGUgZHJpdmVyIGlzIElNTyBub3QNCj4gYQ0KPiA+ID4gYmln IGlzc3VlIGluIHRlcm1zIG9mIG1lbW9yeSBmb290cHJpbnQgb3IgQVBJIGNhbGwgcmF0ZS4gTWF0 YW4gYWxzbw0KPiBjb25maXJtZWQNCj4gPiA+IHRoaXMgaW4gdGhlIGFib3ZlIHRocmVhZCB3aGVu IHNheWluZyB0aXMgaXMgbm90IGFib3V0IGVpdGhlciBkcml2ZXIgbWVtb3J5DQo+ID4gPiBmb290 cHJpbnQgb3IgQVBJIGNhbGwgc3BlZWQsIGFzIHRoaXMgbWFwcGluZyBpcyBlYXN5IHRvIG9wdGlt aXplLg0KPiA+DQo+ID4gWWVzLCBpdCBpcyBub3QgdmVyeSBiaWcgZGVhbCwgYnV0IHN0aWxsIGNv c3RzIG1vcmUgdGhhbiB0aGUgbmV3IHN1Z2dlc3Rpb24sDQo+IGVzcGVjaWFsbHkgaW4gYmlnIHNj YWxlLg0KPiA+DQo+ID4gPiBBbmQgbGFzdCBidXQgbm90IGxlYXN0LCB0aGlzIGNoYW5nZSBvYnZp b3VzbHkgcHJvcGFnYXRlcyBpbiBldmVyeSBBUEkNCj4gZnVuY3Rpb24sDQo+ID4gPiBzbyBpdCB3 b3VsZCByZXN1bHQgaW4gYmlnIGNodXJuIGluIEFQSSwgYWxsIGRyaXZlcnMgYW5kIGFsbCBhcHBz IChpbmNsdWRpbmcNCj4gdGVzdHBtZCwNCj4gPiA+IGV0YykgaW1wbGVtZW50aW5nIGl0IChmb3Ig SU1PIG5vIHJlYWwgYmVuZWZpdCkuIFllcywgdGhpcyBBUEkgaXMgZXhwZXJpbWVudGFsDQo+IGFu ZA0KPiA+ID4gdGhlcmVmb3JlIHdlIGNhbiBvcGVyYXRlIGNoYW5nZXMgaW4gaXQsIGJ1dCBJJ2Qg cmF0aGVyIHNlZSBpbmNyZW1lbnRhbCBhbmQNCj4gPiA+IGNvbnZlcmdpbmcgaW1wcm92ZW1lbnRz IHJhdGhlciB0aGFuIHRoaXMuDQo+ID4NCj4gPiBZZXMsIGl0IGNoYW5nZXMgYWxsIEFQSSwgYnV0 IHZlcnkgc21hbGwgcGFydCBpbiBlYWNoLCB3aWxsIGJlIHZlcnkgZWFzeSB0byBhbGlnbg0KPiBh bGwgdGhlIGN1cnJlbnQgZHBkayBjb21wb25lbnRzIHRvIHVzZSB0aGlzIGNvbmNlcHQuDQo+ID4N Cj4gPiA+IElmIHlvdSBndXlzIGluc2lzdCB3aXRoIHRoaXMgcHJvcG9zYWwsIEkgd291bGQgbGlr ZSB0byBnZXQgbW9yZSBvcGluaW9ucyBmcm9tDQo+ID4gPiBvdGhlciB2ZW5kb3JzIGFuZCBjb250 cmlidXRvcnMgZnJvbSB3aXRoaW4gb3VyIERQREsgY29tbXVuaXR5Lg0KPiA+DQo+ID4NCj4gPiBZ ZXMsIG1vcmUgb3BpbmlvbnMgYXJlIHZlcnkgd2VsY29tZWQuDQo+ID4NCj4gPiBUaGFua3MNCg==