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 3218AA0575; Thu, 11 Mar 2021 14:18:48 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id DD23122A4A1; Thu, 11 Mar 2021 14:18:47 +0100 (CET) Received: from NAM12-MW2-obe.outbound.protection.outlook.com (mail-mw2nam12on2063.outbound.protection.outlook.com [40.107.244.63]) by mails.dpdk.org (Postfix) with ESMTP id 0F13F22A483 for ; Thu, 11 Mar 2021 14:18:47 +0100 (CET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ejWG0p6CKJ6l9PhRIJ4IFrAOQaZ+2eSZfdEEXfXlbG8mzTyHgGg+ZJIA2MECfuGifUI0D0Avpri/3Rorwlmx4yoJigwEtRnn+Ypg9jR2o3/zUlwevpUBsULZdhqMp6bZalCjZr4XJCn6/3Nl7/A1FdZoH0aqSbauYOFzxPBcijVDOMrswNkTNU12LxONMaCtlIzxCeH6Yv9+tlIHHnpkF/qBWwvwmVDnEL/Ua/KR/k6HmDdU7dzos6+UkE0Yj/lBnusroaPOIZ3d7/8NGaN0Y4QN/t9powOzjUBnxYhx6MWQyPnRVzt5guBQkq70Upg4NgSs2imFV10+M1JAn6/nbQ== 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=YIIB85W0X9LtcUknh+O7Pv+o6U+AJB9f5HyCkpRke78=; b=HEyOhyEo+59HHQVXBseNxrbeDO6JLUT9RDRelrzgqcAFXJkUnRXDPGXrKwoRcyVfclaGOxGUtIVPKm/VHQaThkTvxk3GCXihEFsKznrXW0sijWVuC3UMt3GnT4AVJdNkm45AKOsha9Rq/1BkbK6JQqdg8WdkVYmuNYj0Ng/A7WaFbLgmri5trjH4h40mRraeLur8UNXVtUGLwXKnFZmoiW/XARz4G3dtjO1SZ8auZWtEkXkT4NzhCAaMwrU2vB7cOoddLmA6aNqJdhvvTvngCw4FByQ59Z3KCDxvt5sVs4O0rgyqLNWxpRTZ3yDsoqaslfVT8og970Fnyv/M2xRx2g== 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=YIIB85W0X9LtcUknh+O7Pv+o6U+AJB9f5HyCkpRke78=; b=PukY+AGpIrSXwXC3/qPf64s4ikaX105+oMs8WPi9hKYEN/VfYTQ/LnPYOrPp0ntgIChQug9nfvqCn7IfHPvNwPBsPUj3OAunsp+YmSZ3yO0oFRamzio2KVzu08bwGbYfqrk50E/mg4pHwdQKfHMBsbtjR5rwtuiCJd/udB1NmY5kOzREwXzAKMVuj/QG3SSre759jx+0JUUouJhAplU/wDGHhnVLIjQXDW7I9EBGr/OnXIeWLzRo32MIpqg1nFFFBN/+46Bo+Ib2tm/w6cJS0yFDKP0lKEZU2K7AYeuN6Fi8PsY2XQ9RM4JDBofurEvG18XJpSxYGJgdMDSn6K63oQ== Received: from BY5PR12MB4324.namprd12.prod.outlook.com (2603:10b6:a03:209::10) by BYAPR12MB2613.namprd12.prod.outlook.com (2603:10b6:a03:69::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3890.19; Thu, 11 Mar 2021 13:18:44 +0000 Received: from BY5PR12MB4324.namprd12.prod.outlook.com ([fe80::1cfe:3836:bc2:f665]) by BY5PR12MB4324.namprd12.prod.outlook.com ([fe80::1cfe:3836:bc2:f665%4]) with mapi id 15.20.3912.031; Thu, 11 Mar 2021 13:18:44 +0000 From: "Xueming(Steven) Li" To: Andrew Rybchenko CC: "dev@dpdk.org" , Slava Ovsiienko , Asaf Penso , NBU-Contact-Thomas Monjalon , Ferruh Yigit , Ray Kinsella , Neil Horman Thread-Topic: [PATCH v8 8/9] ethdev: representor iterator compare complete info Thread-Index: AQHXEQMkp5Umhasm3EqZdheYuajSUKp7V9kAgAN3OFA= Date: Thu, 11 Mar 2021 13:18:43 +0000 Message-ID: References: <1614868228-13685-1-git-send-email-xuemingl@nvidia.com> <1614868228-13685-9-git-send-email-xuemingl@nvidia.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: oktetlabs.ru; dkim=none (message not signed) header.d=none;oktetlabs.ru; dmarc=none action=none header.from=nvidia.com; x-originating-ip: [180.162.52.170] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 7f75f113-f63f-4564-2738-08d8e490323d x-ms-traffictypediagnostic: BYAPR12MB2613: 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:5516; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: NJrNSISoVAUyatMocqI+hqNIhrgdoxEn1aOvhIBW7u++AifBR5Pbt/r+GSIc3NFCXNukfCKFcjkHXbLV4DUKa0ywD3TxbuzSsvcciyVHxigrPWm9dV08RI3byOjmzn/dt+hZ+/h9V73XWIwttV0wKdQ7levY3rjsSHlDC5jQQj3hvFbY/Nywmn7YMzfCQjROq9U4EhSzSSpVwAEMcO+RlVEpZd5byQvsRT6ffAiR8gzWIxVBLL3A/yikpoAV2zzvFvX7IosXrwlNYX4CSAGTCMV/Im2qgr+Tt8ngPleBG70TQizN8x63xyPdWbaNgUtafHvJf82hw0NumU0BxOO4ucCP675BeQJZGDWs7yBZUBh6U15A5WEZPoOiuJG002WZNrqrpAF1j5cO9AQObpcoGUmhtl1FfAtanX5HXpdKSgAzdHgJy11njl+hUm3jwyTHvi1URcz5kUseVBCcov3DoSXOV/QaS+XfMlVqlHusjqYf0hfzindyiUvMlJYyNsiVyqac0jbr0xCH/EQvzAEi+A== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:BY5PR12MB4324.namprd12.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(376002)(396003)(39860400002)(136003)(346002)(366004)(55016002)(76116006)(86362001)(186003)(52536014)(6916009)(54906003)(8936002)(6506007)(478600001)(66476007)(2906002)(66446008)(8676002)(4326008)(7696005)(316002)(71200400001)(33656002)(64756008)(5660300002)(9686003)(66946007)(26005)(66556008)(83380400001); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata: =?utf-8?B?QUcrN3YycUV0MjVoYVQ3ZzlOdHR2L0J5QmlYWDdiNkxpT0FkVGY3RmhxMWJ0?= =?utf-8?B?cUFZSkpRdlhBM2Fwd2VrTERNWXdFRmJMaGVPakxtNjBEYkpvV0F2Q2Y5WWZr?= =?utf-8?B?SzkzcHVKYUJyQlV5Z0NraHErWnpISFFhRXJQSS9zYzkvQUdSNERHQmo2NW1Z?= =?utf-8?B?bzFNWkJkYUttRzN6aWpJZlBlTmFqc2Vrcmc1cGtVbUwwdjJ6bFNzTC90UXhl?= =?utf-8?B?dVlGWkRrdGpoRWUza0N5TnErcDhIcU9YM3dzWFlhV0FVZFBNZHNDZ0hGaDQx?= =?utf-8?B?OFp2NW9wYWhaZVUvV3ArNDZGa3NhTTU4aWVrUVJ2emYyM20xVXZFMlM3VXg2?= =?utf-8?B?ZVBvY1lSM0pyaFV0Y2NsaXA4WmMwRVMreFpjQm5ySzBhL3ViV09ZeVBvQVB4?= =?utf-8?B?STdMNGVOV281bUlSVFJGNW9ISmViKzdoMTRIZUJSR0VGR2lLMURwQ1AvbFQr?= =?utf-8?B?eEFoaVJaNXZQNEFORzd3MFlMNlFoSDBLalhzQmRQck5xWFZzWm5yZDNmZXNQ?= =?utf-8?B?RjlxVi8vY1ZSM1V5a2tFNEx1QWdvT1B5Tk82S2oxTTVGK2NLR0J3SUhUWkt1?= =?utf-8?B?NWF5VGNYLzJwRnluMHpENzdsRGxjOGh1aW1WWHFacUIreE9YWCs2UEtTR3Bl?= =?utf-8?B?Uk5YcXZ0anpzcEEzSFYxUStiWmVLSU5CUmdpU0gwS2RmZXdkNWkzYURZcXZl?= =?utf-8?B?OFMxOXc0K05HMGlFZkJVMzdWMWRCaVR5TG1IMS84SnMrc040RFBUZzhWNWIv?= =?utf-8?B?MkxWZXZTUnA0L2czZmQ5STNPcGQ5UzdzUTc3RlF1ZEs3VGZFVWJPc0FHMk1k?= =?utf-8?B?U0xEQWJ1d0Uwci8zWGxKY2k5bFR1Z1RIYjZDcyt4Ujk0am04MHZMNFczQlZX?= =?utf-8?B?UHhkN1VOWkdrRkxiTmxVUDJEY2E2QU1wcFlkenAyaEIrMnZUTjI1d1UvRmk4?= =?utf-8?B?Qzk2TDltNXc2ckhXOXZBNFZKUmlrQWxzS2NxeTRpK3ozeW5ZUnNlV0tmcTk1?= =?utf-8?B?NThYMHhXU29OanQ3VkRkbmpCODJ4NG96ZGoraUxXdElESWk0MWdVUmRmZHdm?= =?utf-8?B?MmxzcW5xa0l3SUhEa1RjZmJlMEJjMmNIMXZmbzZqYUQxSTFCMUJvZU50dlA1?= =?utf-8?B?QXB2Y3llY1UzNk5qdGo4b0RtWlV4MkRJcDd2ZGFNNGszaDd6TW1aWmV5SFdK?= =?utf-8?B?VUZuWk1iWVo5c1RYQnl4SXl6UVZMUHFOV2ZqUkV1bnVxUS8vcFNqaVdnNUtO?= =?utf-8?B?ZjR2WE8zQ1VxR29uWHN2SXJtelluSlkveFZjcGRNZUpOTEJwY3hjakFLeEh4?= =?utf-8?B?Y0Y3NzJWQTQzbGZTSWh4bGRwTjFubk92aUUrRmEvR0JSTVNYcGpQeHdMVGFx?= =?utf-8?B?ZWNTTjh6dTlHMHdwbVF1ZzF3YVRCK3dFcklPYk5CbC8rUm50cVhsbjVqUjgw?= =?utf-8?B?a2Zjd29IeVViekNZYXNvTEFYVHFsY0xYRzdmZCtmTWk1UDlabkFPYmxISnNH?= =?utf-8?B?OFJiWS9WY1hZUFMvMmhRTEQ2OTBLeTRuYmVLQU5TNnJSUC9xeThLYUZ0SEpl?= =?utf-8?B?aE9aMko3M3VOcWlHUWlockdWdm5zbkFLdGowT1ZPMVNBVzBCNk9OcTZoUUpB?= =?utf-8?B?dXRFQXp2QzN4UW9TRi9oMGxlUzM3dnNHWUZXaTVzTjdIQWtiVjBmc3RQVXpS?= =?utf-8?B?bHBWNU9Odk9TazN2cnlCbkdHRmJrNk1QNlpsZHdTRllmM29OWFVhWDY0UFYr?= =?utf-8?Q?sVuWQaOoU3IS/eSlnjRfEkE0Xo8uH+1s5E7XdqS?= 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: BY5PR12MB4324.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 7f75f113-f63f-4564-2738-08d8e490323d X-MS-Exchange-CrossTenant-originalarrivaltime: 11 Mar 2021 13:18:44.0275 (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: 2Km+LZJhUPEpW1EKTNYbQ2KHBLtDGLTKiQSz+DdaHHBowelwPL6IkeCxcHXn9IAkJzI0cb6sIwMk+iIotvpqZw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BYAPR12MB2613 Subject: Re: [dpdk-dev] [PATCH v8 8/9] ethdev: representor iterator compare complete info 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" DQoNCj4tLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPkZyb206IEFuZHJldyBSeWJjaGVua28g PGFuZHJldy5yeWJjaGVua29Ab2t0ZXRsYWJzLnJ1Pg0KPlNlbnQ6IFR1ZXNkYXksIE1hcmNoIDks IDIwMjEgNDoyMCBQTQ0KPlRvOiBYdWVtaW5nKFN0ZXZlbikgTGkgPHh1ZW1pbmdsQG52aWRpYS5j b20+DQo+Q2M6IGRldkBkcGRrLm9yZzsgU2xhdmEgT3ZzaWllbmtvIDx2aWFjaGVzbGF2b0Budmlk aWEuY29tPjsgQXNhZiBQZW5zbyA8YXNhZnBAbnZpZGlhLmNvbT47IE5CVS1Db250YWN0LVRob21h cyBNb25qYWxvbg0KPjx0aG9tYXNAbW9uamFsb24ubmV0PjsgRmVycnVoIFlpZ2l0IDxmZXJydWgu eWlnaXRAaW50ZWwuY29tPjsgUmF5IEtpbnNlbGxhIDxtZHJAYXNocm9lLmV1PjsgTmVpbCBIb3Jt YW4NCj48bmhvcm1hbkB0dXhkcml2ZXIuY29tPg0KPlN1YmplY3Q6IFJlOiBbUEFUQ0ggdjggOC85 XSBldGhkZXY6IHJlcHJlc2VudG9yIGl0ZXJhdG9yIGNvbXBhcmUgY29tcGxldGUgaW5mbw0KPg0K Pk9uIDMvNC8yMSA1OjMwIFBNLCBYdWVtaW5nIExpIHdyb3RlOg0KPj4gVGhlIE5JQyBjYW4gaGF2 ZSBtdWx0aXBsZSBQQ0llIGxpbmtzIGFuZCBjYW4gYmUgYXR0YWNoZWQgdG8gbXVsdGlwbGUNCj4+ IGhvc3RzLCBmb3IgZXhhbXBsZSB0aGUgc2FtZSBzaW5nbGUgTklDIGNhbiBiZSBzaGFyZWQgZm9y IG11bHRpcGxlDQo+PiBzZXJ2ZXIgdW5pdHMgaW4gdGhlIHJhY2suIE9uIGVhY2ggUENJZSBsaW5r IE5JQyBjYW4gcHJvdmlkZSBtdWx0aXBsZQ0KPj4gUEZzIGFuZCBWRnMvU0ZzIGJhc2VkIG9uIHRo ZXNlIG9uZXMuIFRoZSBmdWxsIHJlcHJlc2VudG9yIGlkZW50aWZpZXINCj4+IGNvbnNpc3RzIG9m IHRocmVlIGluZGljZXMgLSBjb250cm9sbGVyIGluZGV4LCBQRiBpbmRleCwgYW5kIFZGIG9yIFNG IGluZGV4IChpZiBhbnkpLg0KPj4NCj4+IFNSLUlPViBhbmQgU3ViRnVuY3Rpb24gYXJlIGNyZWF0 ZWQgb24gdG9wIG9mIFBGLiBQRiBpbmRleCBpcw0KPj4gaW50cm9kdWNlZCBiZWNhdXNlIHRoZXJl IG1pZ2h0IGJlIG11bHRpcGxlIFBGcyBpbiB0aGUgYm9uZGluZw0KPj4gY29uZmlndXJhdGlvbiBh bmQgb25seSBib25kaW5nIGRldmljZSBpcyBwcm9iZWQuDQo+Pg0KPj4gSW4gZXRoIHJlcHJlc2Vu dG9yIGNvbXBhcmF0b3IgY2FsbGJhY2ssIGV0aGRldiByZXByZXNlbnRvciBJRCB3YXMNCj4+IGNv bXBhcmVkIHdpdGggZGV2YXJnLiBTaW5jZSBjb250cm9sbGVyIGluZGV4IGFuZCBQRiBpbmRleCBu b3QNCj4+IGNvbXBhcmVkLCBjYWxsYmFjayByZXR1cm5lZCByZXByZXNlbnRvciBmcm9tIG90aGVy IFBGIG9yIGNvbnRyb2xsZXIuDQo+Pg0KPj4gVGhpcyBwYXRjaCBhZGRzIG5ldyBBUEkgdG8gZ2V0 IHJlcHJlc2VudG9yIElEIGZyb20gY29udHJvbGxlciwgcGYgYW5kDQo+PiB2Zi9zZiBpbmRleC4g UmVwcmVzZW50b3IgY29tcGFyZXIgY2FsbGJhY2sgZ2V0IHJlcHJlc2VudG9yIElEIHRoZW4NCj4+ IGNvbXBhcmUgd2l0aCBkZXZpY2UgcmVwcmVzZW50b3IgSUQuDQo+Pg0KPj4gU2lnbmVkLW9mZi1i eTogWHVlbWluZyBMaSA8eHVlbWluZ2xAbnZpZGlhLmNvbT4NCj4NCj5SZXZpZXdlZC1ieTogQW5k cmV3IFJ5YmNoZW5rbyA8YW5kcmV3LnJ5YmNoZW5rb0Bva3RldGxhYnMucnU+DQo+DQo+T25lIG1p bm9yIHN1Z2dlc3Rpb25zIGJlbG93IHRvIG1ha2UgaXQgYSBiaXQgbW9yZSByb2J1c3QgYWdhaW5z dCBlcnJvcnMgaW4gUE1Ecy4NCj4NCj5NYWtlIHRoYW5rcyBmb3IgY2FyZWZ1bCByZXZpZXcgbm90 ZXMgcHJvY2Vzc2luZy4NCg0KTWFueSB0aGFua3MgdG8geW91ciBnZW5lcm91cyBhbmQgY2FyZWZ1 bCByZXZpZXcgYWxsIHRoZSB0aW1lLCB3aXRoIHBhdGllbmNlIDopDQpUaGlzIGlzIG15IGZpcnN0 IGxvbmcgcHVibGljIGFwaSBwYXRjaHNldCwgY2FuJ3QgZG8gaXQgd2l0aG91dCB5b3VyIGhlbHAg OikNCg0KPg0KPltzbmlwXQ0KPg0KPj4gZGlmZiAtLWdpdCBhL2xpYi9saWJydGVfZXRoZGV2L3J0 ZV9ldGhkZXYuYw0KPj4gYi9saWIvbGlicnRlX2V0aGRldi9ydGVfZXRoZGV2LmMgaW5kZXggM2Q0 ZWM4YWQ1Yy4uMmRjNDY0YTdhZCAxMDA2NDQNCj4+IC0tLSBhL2xpYi9saWJydGVfZXRoZGV2L3J0 ZV9ldGhkZXYuYw0KPj4gKysrIGIvbGliL2xpYnJ0ZV9ldGhkZXYvcnRlX2V0aGRldi5jDQo+PiBA QCAtNTYwOSw2ICs1NjA5LDk0IEBAIHJ0ZV9ldGhfZGV2YXJnc19wYXJzZShjb25zdCBjaGFyICpk YXJncywgc3RydWN0IHJ0ZV9ldGhfZGV2YXJncyAqZXRoX2RhKQ0KPj4gIAlyZXR1cm4gcmVzdWx0 Ow0KPj4gIH0NCj4+DQo+PiAraW50DQo+PiArcnRlX2V0aF9yZXByZXNlbnRvcl9pZF9nZXQoY29u c3Qgc3RydWN0IHJ0ZV9ldGhfZGV2ICpldGhkZXYsDQo+PiArCQkJICAgZW51bSBydGVfZXRoX3Jl cHJlc2VudG9yX3R5cGUgdHlwZSwNCj4+ICsJCQkgICBpbnQgY29udHJvbGxlciwgaW50IHBmLCBp bnQgcmVwcmVzZW50b3JfcG9ydCwNCj4+ICsJCQkgICB1aW50MTZfdCAqcmVwcl9pZCkNCj4+ICt7 DQo+PiArCWludCByZXQsIG4sIGksIGNvdW50Ow0KPj4gKwlzdHJ1Y3QgcnRlX2V0aF9yZXByZXNl bnRvcl9pbmZvICppbmZvID0gTlVMTDsNCj4+ICsJc2l6ZV90IHNpemU7DQo+PiArDQo+PiArCWlm ICh0eXBlID09IFJURV9FVEhfUkVQUkVTRU5UT1JfTk9ORSkNCj4+ICsJCXJldHVybiAwOw0KPj4g KwlpZiAocmVwcl9pZCA9PSBOVUxMKQ0KPj4gKwkJcmV0dXJuIC1FSU5WQUw7DQo+PiArDQo+PiAr CS8qIEdldCBQTUQgcmVwcmVzZW50b3IgcmFuZ2UgaW5mby4gKi8NCj4+ICsJcmV0ID0gcnRlX2V0 aF9yZXByZXNlbnRvcl9pbmZvX2dldChldGhkZXYtPmRhdGEtPnBvcnRfaWQsIE5VTEwpOw0KPj4g KwlpZiAocmV0IDwgMCkgew0KPj4gKwkJaWYgKHR5cGUgPT0gUlRFX0VUSF9SRVBSRVNFTlRPUl9W RiAmJiBjb250cm9sbGVyID09IC0xICYmDQo+PiArCQkgICAgcGYgPT0gLTEpIHsNCj4+ICsJCQkv KiBEaXJlY3QgbWFwcGluZyBmb3IgbGVnYWN5IFZGIHJlcHJlc2VudG9yLiAqLw0KPj4gKwkJCSpy ZXByX2lkID0gcmVwcmVzZW50b3JfcG9ydDsNCj4+ICsJCQlyZXR1cm4gMDsNCj4+ICsJCX0gZWxz ZSB7DQo+PiArCQkJcmV0dXJuIHJldDsNCj4+ICsJCX0NCj4+ICsJfQ0KPj4gKwluID0gcmV0Ow0K Pj4gKwlzaXplID0gc2l6ZW9mKCppbmZvKSArIG4gKiBzaXplb2YoaW5mby0+cmFuZ2VzWzBdKTsN Cj4+ICsJaW5mbyA9IGNhbGxvYygxLCBzaXplKTsNCj4+ICsJaWYgKGluZm8gPT0gTlVMTCkNCj4+ ICsJCXJldHVybiAtRU5PTUVNOw0KPj4gKwlyZXQgPSBydGVfZXRoX3JlcHJlc2VudG9yX2luZm9f Z2V0KGV0aGRldi0+ZGF0YS0+cG9ydF9pZCwgaW5mbyk7DQo+PiArCWlmIChyZXQgPCAwKQ0KPj4g KwkJZ290byBvdXQ7DQo+PiArDQo+PiArCS8qIERlZmF1bHQgY29udHJvbGxlciBhbmQgcGYgdG8g Y2FsbGVyLiAqLw0KPj4gKwlpZiAoY29udHJvbGxlciA9PSAtMSkNCj4+ICsJCWNvbnRyb2xsZXIg PSBpbmZvLT5jb250cm9sbGVyOw0KPj4gKwlpZiAocGYgPT0gLTEpDQo+PiArCQlwZiA9IGluZm8t PnBmOw0KPj4gKw0KPj4gKwkvKiBMb2NhdGUgcmVwcmVzZW50b3IgSUQuICovDQo+PiArCXJldCA9 IC1FTk9FTlQ7DQo+PiArCWZvciAoaSA9IDA7IGkgPCBuOyArK2kpIHsNCj4+ICsJCWlmIChpbmZv LT5yYW5nZXNbaV0udHlwZSAhPSB0eXBlKQ0KPj4gKwkJCWNvbnRpbnVlOw0KPj4gKwkJaWYgKGlu Zm8tPnJhbmdlc1tpXS5jb250cm9sbGVyICE9IGNvbnRyb2xsZXIpDQo+PiArCQkJY29udGludWU7 DQo+PiArCQljb3VudCA9IGluZm8tPnJhbmdlc1tpXS5pZF9lbmQgLSBpbmZvLT5yYW5nZXNbaV0u aWRfYmFzZSArIDE7DQo+DQo+SSB0aGluayBpdCB3b3VsZCBiZSB1c2VmdWwgdG8gc2FuaXR5IHRl c3QgdGhlc2UgdmFsdWVzIHRvIGVuc3VyZSB0aGF0IHdlIGhhdmUgbm8gb3ZlcmZsb3cgaGVyZS4N Cj5MZXQncyBjaGVjayBhYm92ZSwgbG9nIGVycm9yIGFuZCBza2lwIHRoZSByYW5nZSBpZiBpZF9l bmQgaXMgc21hbGxlciB0aGFuIGlkX2Jhc2UuDQo+DQo+PiArCQlzd2l0Y2ggKGluZm8tPnJhbmdl c1tpXS50eXBlKSB7DQo+PiArCQljYXNlIFJURV9FVEhfUkVQUkVTRU5UT1JfUEY6DQo+PiArCQkJ aWYgKHBmIDwgaW5mby0+cmFuZ2VzW2ldLnBmIHx8DQo+PiArCQkJICAgIHBmID49IGluZm8tPnJh bmdlc1tpXS5wZiArIGNvdW50KQ0KPj4gKwkJCQljb250aW51ZTsNCj4+ICsJCQkqcmVwcl9pZCA9 IGluZm8tPnJhbmdlc1tpXS5pZF9iYXNlICsNCj4+ICsJCQkJICAgKHBmIC0gaW5mby0+cmFuZ2Vz W2ldLnBmKTsNCj4+ICsJCQlyZXQgPSAwOw0KPj4gKwkJCWdvdG8gb3V0Ow0KPj4gKwkJY2FzZSBS VEVfRVRIX1JFUFJFU0VOVE9SX1ZGOg0KPj4gKwkJCWlmIChpbmZvLT5yYW5nZXNbaV0ucGYgIT0g cGYpDQo+PiArCQkJCWNvbnRpbnVlOw0KPj4gKwkJCWlmIChyZXByZXNlbnRvcl9wb3J0IDwgaW5m by0+cmFuZ2VzW2ldLnZmIHx8DQo+PiArCQkJICAgIHJlcHJlc2VudG9yX3BvcnQgPj0gaW5mby0+ cmFuZ2VzW2ldLnZmICsgY291bnQpDQo+PiArCQkJCWNvbnRpbnVlOw0KPj4gKwkJCSpyZXByX2lk ID0gaW5mby0+cmFuZ2VzW2ldLmlkX2Jhc2UgKw0KPj4gKwkJCQkgICAocmVwcmVzZW50b3JfcG9y dCAtIGluZm8tPnJhbmdlc1tpXS52Zik7DQo+PiArCQkJcmV0ID0gMDsNCj4+ICsJCQlnb3RvIG91 dDsNCj4+ICsJCWNhc2UgUlRFX0VUSF9SRVBSRVNFTlRPUl9TRjoNCj4+ICsJCQlpZiAoaW5mby0+ cmFuZ2VzW2ldLnBmICE9IHBmKQ0KPj4gKwkJCQljb250aW51ZTsNCj4+ICsJCQlpZiAocmVwcmVz ZW50b3JfcG9ydCA8IGluZm8tPnJhbmdlc1tpXS5zZiB8fA0KPj4gKwkJCSAgICByZXByZXNlbnRv cl9wb3J0ID49IGluZm8tPnJhbmdlc1tpXS5zZiArIGNvdW50KQ0KPj4gKwkJCQljb250aW51ZTsN Cj4+ICsJCQkqcmVwcl9pZCA9IGluZm8tPnJhbmdlc1tpXS5pZF9iYXNlICsNCj4+ICsJCQkgICAg ICAocmVwcmVzZW50b3JfcG9ydCAtIGluZm8tPnJhbmdlc1tpXS5zZik7DQo+PiArCQkJcmV0ID0g MDsNCj4+ICsJCQlnb3RvIG91dDsNCj4+ICsJCWRlZmF1bHQ6DQo+PiArCQkJYnJlYWs7DQo+PiAr CQl9DQo+PiArCX0NCj4+ICtvdXQ6DQo+PiArCWZyZWUoaW5mbyk7DQo+PiArCXJldHVybiByZXQ7 DQo+PiArfQ0KPj4gKw0KPj4gIHN0YXRpYyBpbnQNCj4+ICBldGhfZGV2X2hhbmRsZV9wb3J0X2xp c3QoY29uc3QgY2hhciAqY21kIF9fcnRlX3VudXNlZCwNCj4+ICAJCWNvbnN0IGNoYXIgKnBhcmFt cyBfX3J0ZV91bnVzZWQsDQo+DQo+W3NuaXBdDQoNCg==