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 3813CA054F; Tue, 2 Mar 2021 16:18:29 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id E4CD74068C; Tue, 2 Mar 2021 16:18:28 +0100 (CET) Received: from hqnvemgate25.nvidia.com (hqnvemgate25.nvidia.com [216.228.121.64]) by mails.dpdk.org (Postfix) with ESMTP id AD45B4014E for ; Tue, 2 Mar 2021 16:18:26 +0100 (CET) Received: from hqpgpgate101.nvidia.com (Not Verified[216.228.121.13]) by hqnvemgate25.nvidia.com (using TLS: TLSv1.2, DES-CBC3-SHA) id ; Tue, 02 Mar 2021 07:18:25 -0800 Received: from HQMAIL107.nvidia.com ([172.20.161.6]) by hqpgpgate101.nvidia.com (PGP Universal service); Tue, 02 Mar 2021 07:18:25 -0800 X-PGP-Universal: processed; by hqpgpgate101.nvidia.com on Tue, 02 Mar 2021 07:18:25 -0800 Received: from HKMAIL104.nvidia.com (10.18.16.13) by HQMAIL107.nvidia.com (172.20.187.13) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Tue, 2 Mar 2021 15:18:24 +0000 Received: from HKMAIL104.nvidia.com (10.18.16.13) by HKMAIL104.nvidia.com (10.18.16.13) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Tue, 2 Mar 2021 15:18:17 +0000 Received: from NAM02-CY1-obe.outbound.protection.outlook.com (104.47.37.59) by HKMAIL104.nvidia.com (10.18.16.13) with Microsoft SMTP Server (TLS) id 15.0.1497.2 via Frontend Transport; Tue, 2 Mar 2021 15:18:17 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=HSnvuAFVYTAqPMPTuxxZN8SAMyWN3/4OL91KjdVobmtRhQCokMpfX8mO5eI6ufoSBnZ0RaljIcJC9H0GbOAC8/xsPSoxdHwRT+y0BtOowPNLRpuhqbwziBYTsS5pn1PV9XUk+Ld0j9CWTLdZvv+b9Dc+LY/aq5pPltoThDqcDNqQ2XVz/Ygf103yuRmyrt6xzmuQcaabD19fN0UEJurNX8M03JSA1A1/ZFzwkSbpzZ2WakoygjeaAexBY2L8WbTNJgFQfWr8cDhT4zB3C4K97+k9EgLUa1tKZIGEQYvD8lTjV7FQuraY/PBvEe0SsX91FE2hOKbj5/6MJqozcS/KBw== 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=siRjIrt0wL/MuG7+tTqeihvPa76L8/SCYX1QC2x/Hio=; b=a6D1nxCB7wDLKsktj12g97th0hysHNUvOt0dUfF1eh94H9M8GXzVIJcHofBjy15BpRG7ja9gYASlTRbyop/lrHsn7ZyYEHOAFiq5HjQLtKHCV4Iyaca69a9kxdDB64dBOGRQM0HjJU1kEgQUltSuNUAt0pn9tX2ouHL1ifl1DPCZ7zZnLeIEK276A6dcSSZlqJGDjWqD0A0zBcQ6eZkEXPZPT8FknE08lxamCTAVohhx3frpOGjSC6tSs9XR+fdjmkidncTYC2OwHcunhuGa4uELpYepGzhOl2MZd0eLFbjYTpIXI1rDPoArdrAgoMPhK3qFDkCR7EOrYZVphUwVHw== 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 Received: from BY5PR12MB4324.namprd12.prod.outlook.com (2603:10b6:a03:209::10) by BYAPR12MB3366.namprd12.prod.outlook.com (2603:10b6:a03:db::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3890.19; Tue, 2 Mar 2021 15:18:14 +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.3890.028; Tue, 2 Mar 2021 15:18:14 +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 v7 8/9] ethdev: representor iterator compare complete info Thread-Index: AQHXD1lWWk3gyMw9mEu2LQkCRNM80qpwvMYAgAAOxbA= Date: Tue, 2 Mar 2021 15:18:14 +0000 Message-ID: References: <1608303356-13089-2-git-send-email-xuemingl@nvidia.com> <20210302114346.1463-1-xuemingl@nvidia.com> <7986bd6d-fd38-abb3-ea06-1a20fe27d18b@oktetlabs.ru> In-Reply-To: <7986bd6d-fd38-abb3-ea06-1a20fe27d18b@oktetlabs.ru> 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: [240e:46c:430:468:a1ce:6f8:3d82:cc0] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 07e33fb6-226b-4bc9-f70c-08d8dd8e663a x-ms-traffictypediagnostic: BYAPR12MB3366: x-ld-processed: 43083d15-7273-40c1-b7db-39efd9ccc17a,ExtAddr x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-header: ProcessedBy-CMR-outbound x-ms-oob-tlc-oobclassifiers: OLM:6430; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: ZExOS6zrGL5TZdSpPRr0ev2O+RnGatloUopGuMpvRrhoknE+qBcKqpL5tg21hHakvVFnVVcuaUePUCM3AztnCiJ3se420ogdLiL+oP+rHt5YFuzO6Ni/9yNfjoOeUWs43PaM1baO5HdTGwpm+F3/9UkcODXLJ5xa1iyXfFZzWffBgNFoXxuhVg99QgT8VAXMsh1No7jC20QkHnKz0gi+CoINE5a/Tm3hNFjxVeZ9MzpLk6tglZJx68Ftsylh5FgqITUndcZlGseoP/4VF9VlXOUNu/+C/keEqpkxDPkBXK2tkazAiVO2p5rNj55c69MXwF1sDW4qIKIEA7LHc4hpnWpE6NXQUNO8Vs+L1VCB6JPVs1H4LY0byO0czdL8m0ZyDyZWUTShYL8l2jSD1HN3ixvu+GRU6Gv04zZBg+zh3Uzbwxu3hkqAN/aQZH5FdGeuxRPSMgPjbt5I8G/GAWBF16pFaGsNH5GYGnkDohbqG6huqBBHF0SljWvuGKox1kcTg5c5seCLyM6GsSIu/CjbgQ== 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)(39860400002)(346002)(136003)(396003)(376002)(366004)(478600001)(8676002)(6916009)(186003)(30864003)(5660300002)(52536014)(8936002)(9686003)(316002)(54906003)(86362001)(64756008)(4326008)(6506007)(66556008)(83380400001)(71200400001)(2906002)(66446008)(76116006)(66476007)(66946007)(7696005)(33656002)(55016002); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata: =?utf-8?B?Vkx2NWF6RkY4SHlOQnBkSFpPVUZ0L2ZMcDBoaDY4WEtaREZ5Y2JleEtReVJQ?= =?utf-8?B?bUJYUXNDbGRWbGFOK0pvNThqSlVmS2hNbTF3VHpJM2hjYXJYbHBqay9NM04v?= =?utf-8?B?bFREV1d4dmlFUkxYTTNhWWowT2ZZdFA4cFRsN3k1SjVoZmNCZlNoYm51RDBY?= =?utf-8?B?bDE5UzVpZmpvbTlSYjdRTUQzdkU2ZVpuMHFXaklDdUIwQmhiRkN5QXhTY0lp?= =?utf-8?B?TnduTXZjdkVmdzdFT3VDYytSTnd6MHZQQWtoRnhacGx4TEt6QnhzbTZKTlBr?= =?utf-8?B?L0hzaTNucnV5VUp4UFF1SFpWOThLa05uL3BxaUtITTl3VjdXY2o0cmtNM25M?= =?utf-8?B?dmxUSXZzYm12Z0Y4eDVncmppUVA1T2x5QWcxOUpHMis0bHEvRUVTakpNMlF2?= =?utf-8?B?ZEtpY2xWVWhkVmQ5NEhyMDV3aDl1ZDYyYmIxb3RIaFBDYzhURE1JaVlYSE9R?= =?utf-8?B?Z0R3VVdkYVQ2dWhBRzlBMmt3SEQzbGNQTitrNkwwYmI4cFZXbmZBK0JWTDNj?= =?utf-8?B?UXJmUXJqUk9MbzFuSlB3VVRUSmVQTjJXRExOQ2p2bEt5cjRTL1FtdUE3TXJy?= =?utf-8?B?NzVsNDNGc0V3UGFLd0hLL00ySkRaQUl1K3VtSDJwRWdnVllmbVl2M2hobkFn?= =?utf-8?B?VXNzRStEd05GcTYvc0kzOEl4Q1RmVzlVUnhHVVBUamthZml5M2IyNVc1ZUsw?= =?utf-8?B?WlpYdzFvbG1FYWptMSszMm1DelZyeHV6MnNpRXRHclRybUo4YkhyV0hSbXFJ?= =?utf-8?B?OWtaR0RQcUhJN0JleUZMRWVlamU0NnlVLzkwdDFTWDVHVm95MzZIZ2hHMTZV?= =?utf-8?B?bUpFM0xUVjcxZnlXaHBFK3MrbE1mMUFZZ3ZHZWN2bDN2TkZLb0FhQ0RTWUF5?= =?utf-8?B?TFkxSm1GdzArUyt2VWp6MzNWUnBTMmwvSGtnS1FpKzc5MlVBOEV1WXhQUzJx?= =?utf-8?B?d1R4c3dySHp1VEJ0blJVb25YZWhsVzFmUUNETVl2WVU0ZWp2dTFsYmlkK2Zh?= =?utf-8?B?K29EVy91L2N5SDNpSVJ4M1ZQNUd0MkVBQ2d3Q0UxbVJlZ3V1MW51bXk3cU5h?= =?utf-8?B?bkxhUVFpYWxqd1pTNkVRZHFXaWpxazk0cE5ydzI2R1JPa0poSm5qd0xRN1VQ?= =?utf-8?B?TXF6Y2R4UE9hTGtubWN3S2ZiWTh1ZFVNd3BValIrRVlrcVRiVjBhdmxuR1dm?= =?utf-8?B?TEhaeFE2bmZUMzUwcXVmVERzSCtjYVY2b2tLNi8yMUJqVkZDSlBjUjdsdDRj?= =?utf-8?B?Z2twUm9rNUcva3dMUEpxY1FiOU5PM3c2SE9uL09sbHlxMmgyVDlMMkkrdzg4?= =?utf-8?B?d2tFcktMTjNhTW1VSUNNZ0ZDeHkzRG0xQWlQekxFRmEzek1nS3VzVlB0QTNJ?= =?utf-8?B?TUVmVzJqeEhQK24rbUordHZrL2o2dUJtZjduZ055VFFJeWJjdHhsWmJ1ZlJF?= =?utf-8?B?TkZXSkp3Nlo5b3ZpVy9VVU13clhoNCt1WWx0MlZlQk9ReWI4T2N3blBGdDl2?= =?utf-8?B?S2RVSVl5NDhxR1pBQ212OUVVZ3VlUGw1cmdLOEZnQTA4SUVzTGxwZ3g0NTVU?= =?utf-8?B?TUlkR2tMUHpRdGorRXZPVDA4eGpJSXRHVVNXQnR1VmlrSmdtaVV5c0ZGb215?= =?utf-8?B?UkhhMXdXOGZUeXhJa3NwampyOHA3YUluSTIwVmg2bmVIb0Fma09YMEVxQW1a?= =?utf-8?B?OTZ3Tk9iM0wxbVhZUjFFVHJkL0RTajNQdUl5NTFkamNFcitiKzI2dnJqMGJL?= =?utf-8?B?NUNxNVdkQUZDZVEycjdDRzFYZW92SXlkNnZUd1lDU2NXZ3dvalJRQisrUCth?= =?utf-8?Q?LgMgm/rVZy/z2OdQavdJv2GFmoo4jhbuI6Gf4=3D?= 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: BY5PR12MB4324.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 07e33fb6-226b-4bc9-f70c-08d8dd8e663a X-MS-Exchange-CrossTenant-originalarrivaltime: 02 Mar 2021 15:18:14.2383 (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: Cog8DBMVuneRYcAKh0yHW1Y4Mj20tfUgiPppEV8aM1f9BWaR01z1FOXaabS1sCI85xpAkFkZBnHkSZAt/QY9jg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BYAPR12MB3366 X-OriginatorOrg: Nvidia.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nvidia.com; s=n1; t=1614698305; bh=siRjIrt0wL/MuG7+tTqeihvPa76L8/SCYX1QC2x/Hio=; h=X-PGP-Universal:ARC-Seal:ARC-Message-Signature: ARC-Authentication-Results:From:To:CC:Subject:Thread-Topic: Thread-Index:Date:Message-ID:References:In-Reply-To: Accept-Language:Content-Language:X-MS-Has-Attach: X-MS-TNEF-Correlator:authentication-results:x-originating-ip: x-ms-publictraffictype:x-ms-office365-filtering-correlation-id: x-ms-traffictypediagnostic:x-ld-processed: x-ms-exchange-transport-forked:x-microsoft-antispam-prvs:x-header: x-ms-oob-tlc-oobclassifiers:x-ms-exchange-senderadcheck: x-microsoft-antispam:x-microsoft-antispam-message-info: x-forefront-antispam-report:x-ms-exchange-antispam-messagedata: Content-Type:Content-Transfer-Encoding:MIME-Version: X-MS-Exchange-CrossTenant-AuthAs: X-MS-Exchange-CrossTenant-AuthSource: X-MS-Exchange-CrossTenant-Network-Message-Id: X-MS-Exchange-CrossTenant-originalarrivaltime: X-MS-Exchange-CrossTenant-fromentityheader: X-MS-Exchange-CrossTenant-id:X-MS-Exchange-CrossTenant-mailboxtype: X-MS-Exchange-CrossTenant-userprincipalname: X-MS-Exchange-Transport-CrossTenantHeadersStamped:X-OriginatorOrg; b=AOKjwBMkflnJWGZySifZ3Dzlj+ZSoPBg0tWBIi8vpFg3TrMArt26uG58CTr3u6dy6 EWtAHk3/LEZ4LxO3NUmW+YMaHRF0JFlc3UVpgdCO+Ad2S+WVdH/2B83KXph3QpbAR+ OCOOnyBY0QVlveXsRmae/ObOIw2CJ9xCsaI+s3OB3vRe2Ni6P/hvrWx3GqNqRgyKLA ZXKZVW6jnhwrCMFzwLF6Bj7h5BLOMkkmrraK/KsukFb5kNxDYmbJBT70FQiVRu6I3C LaXFouvP9tLWz10Ntl36lCJKSSslqj/cw3XdtjzHeenj415GwbTSLUD0q2EEi8C1P6 3OJOMng+njoZg== Subject: Re: [dpdk-dev] [PATCH v7 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 PGFuZHJldy5yeWJjaGVua29Ab2t0ZXRsYWJzLnJ1Pg0KPlNlbnQ6IFR1ZXNkYXksIE1hcmNoIDIs IDIwMjEgMTA6MTAgUE0NCj5UbzogWHVlbWluZyhTdGV2ZW4pIExpIDx4dWVtaW5nbEBudmlkaWEu Y29tPg0KPkNjOiBkZXZAZHBkay5vcmc7IFNsYXZhIE92c2lpZW5rbyA8dmlhY2hlc2xhdm9AbnZp ZGlhLmNvbT47IEFzYWYgUGVuc28gPGFzYWZwQG52aWRpYS5jb20+OyBOQlUtQ29udGFjdC1UaG9t YXMgTW9uamFsb24NCj48dGhvbWFzQG1vbmphbG9uLm5ldD47IEZlcnJ1aCBZaWdpdCA8ZmVycnVo LnlpZ2l0QGludGVsLmNvbT47IFJheSBLaW5zZWxsYSA8bWRyQGFzaHJvZS5ldT47IE5laWwgSG9y bWFuDQo+PG5ob3JtYW5AdHV4ZHJpdmVyLmNvbT4NCj5TdWJqZWN0OiBSZTogW1BBVENIIHY3IDgv OV0gZXRoZGV2OiByZXByZXNlbnRvciBpdGVyYXRvciBjb21wYXJlIGNvbXBsZXRlIGluZm8NCj4N Cj5PbiAzLzIvMjEgMjo0MyBQTSwgWHVlbWluZyBMaSB3cm90ZToNCj4+IFRoZSBOSUMgY2FuIGhh dmUgbXVsdGlwbGUgUENJZSBsaW5rcyBhbmQgY2FuIGJlIGF0dGFjaGVkIHRvIG11bHRpcGxlDQo+ PiBob3N0cywgZm9yIGV4YW1wbGUgdGhlIHNhbWUgc2luZ2xlIE5JQyBjYW4gYmUgc2hhcmVkIGZv ciBtdWx0aXBsZQ0KPj4gc2VydmVyIHVuaXRzIGluIHRoZSByYWNrLiBPbiBlYWNoIFBDSWUgbGlu ayBOSUMgY2FuIHByb3ZpZGUgbXVsdGlwbGUNCj4+IFBGcyBhbmQgVkZzL1NGcyBiYXNlZCBvbiB0 aGVzZSBvbmVzLiBUaGUgZnVsbCByZXByZXNlbnRvciBpZGVudGlmaWVyDQo+PiBjb25zaXN0cyBv ZiB0aHJlZSBpbmRpY2VzIC0gY29udHJvbGxlciBpbmRleCwgUEYgaW5kZXgsIGFuZCBWRiBvciBT RiBpbmRleCAoaWYgYW55KS4NCj4+DQo+PiBTUi1JT1YgYW5kIFN1YkZ1bmN0aW9uIGFyZSBjcmVh dGVkIG9uIHRvcCBvZiBQRi4gUEYgaW5kZXggaXMNCj4+IGludHJvZHVjZWQgYmVjYXVzZSB0aGVy ZSBtaWdodCBiZSBtdWx0aXBsZSBQRnMgaW4gdGhlIGJvbmRpbmcNCj4+IGNvbmZpZ3VyYXRpb24g YW5kIG9ubHkgYm9uZGluZyBkZXZpY2UgaXMgcHJvYmVkLg0KPj4NCj4+IEluIGV0aCByZXByZXNl bnRvciBjb21wYXJhdG9yIGNhbGxiYWNrLCBldGhkZXYgcmVwcmVzZW50b3IgSUQgd2FzDQo+PiBj b21wYXJlZCB3aXRoIGRldmFyZy4gU2luY2UgY29udHJvbGxlciBpbmRleCBhbmQgUEYgaW5kZXgg bm90DQo+PiBjb21wYXJlZCwgY2FsbGJhY2sgcmV0dXJuZWQgcmVwcmVzZW50b3IgZnJvbSBvdGhl ciBQRiBvciBjb250cm9sbGVyLg0KPj4NCj4+IFRoaXMgcGF0Y2ggYWRkcyBuZXcgQVBJIHRvIGNv bnZlcnQgcmVwcmVzZW50b3IgY29udHJvbGxlciwgcGYgYW5kDQo+PiB2Zi9zZiBpbmRleCB0byBy ZXByZXNlbnRvciBJRC4gUmVwcmVzZW50b3IgY29tcGFyZXIgY2FsbGJhY2sgY29udmVydA0KPj4g cmVwcmVzZW50b3IgaW5mbyBpbnRvIElEIGFuZCBjb21wYXJlIHdpdGggZGV2aWNlIHJlcHJlc2Vu dG9yIElELg0KPj4NCj4+IFNpZ25lZC1vZmYtYnk6IFh1ZW1pbmcgTGkgPHh1ZW1pbmdsQG52aWRp YS5jb20+DQo+PiAtLS0NCj4+ICBsaWIvbGlicnRlX2V0aGRldi9ldGhkZXZfZHJpdmVyLmggfCAz MiArKysrKysrKysrKw0KPj4gbGliL2xpYnJ0ZV9ldGhkZXYvcnRlX2NsYXNzX2V0aC5jIHwgMzgg KysrKysrKysrKy0tLQ0KPj4gIGxpYi9saWJydGVfZXRoZGV2L3J0ZV9ldGhkZXYuYyAgICB8IDkx ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysNCj4+ICBsaWIvbGlicnRlX2V0aGRldi92 ZXJzaW9uLm1hcCAgICAgfCAgMSArDQo+PiAgNCBmaWxlcyBjaGFuZ2VkLCAxNTMgaW5zZXJ0aW9u cygrKSwgOSBkZWxldGlvbnMoLSkNCj4+DQo+PiBkaWZmIC0tZ2l0IGEvbGliL2xpYnJ0ZV9ldGhk ZXYvZXRoZGV2X2RyaXZlci5oDQo+PiBiL2xpYi9saWJydGVfZXRoZGV2L2V0aGRldl9kcml2ZXIu aA0KPj4gaW5kZXggN2IwZjM5MmUzNC4uM2ZmMWI5MGIyZiAxMDA2NDQNCj4+IC0tLSBhL2xpYi9s aWJydGVfZXRoZGV2L2V0aGRldl9kcml2ZXIuaA0KPj4gKysrIGIvbGliL2xpYnJ0ZV9ldGhkZXYv ZXRoZGV2X2RyaXZlci5oDQo+PiBAQCAtMTI0NCw2ICsxMjQ0LDM4IEBAIHN0cnVjdCBydGVfZXRo X2RldmFyZ3Mgew0KPj4gIAllbnVtIHJ0ZV9ldGhfcmVwcmVzZW50b3JfdHlwZSB0eXBlOyAvKiB0 eXBlIG9mIHJlcHJlc2VudG9yICovICB9Ow0KPj4NCj4+ICsvKioNCj4+ICsgKiBQTUQgaGVscGVy IGZ1bmN0aW9uIHRvIGNvbnZlcnQgcmVwcmVzZW50b3IgSUQgZnJvbSBsb2NhdGlvbiBkZXRhaWwN Cj4NCj5GdWxsIHN0b3AgaXMgbWlzc2luZyBhYm92ZS4NCj4NCj5BbHNvIEknbSBub3Qgc3VyZSBp biB0ZXJtICJjb252ZXJ0IiBoZXJlLiBJdCBzb3VuZHMgYSBiaXQgbWlzbGVhZGluZyB0byBtZS4g TWF5IGJlIGp1c3QgImdldCIuIEkuZSBQTUQgaGVscGVyIGZ1bmN0aW9uIHRvIGdldA0KPnJlcHJl c2VudG9yIElEIGJ5IGxvY2F0aW9uIGRldGFpbC4NCj5hbmQNCj5ydGVfZXRoX3JlcHJlc2VudG9y X2lkX2dldCgpDQo+DQo+V2hhdCBkbyB5b3UgdGhpbms/DQoNCkxvb2tzIGdvb2QsIEkgd2FzIHN0 cnVnZ2xpbmcgb24gdGhlIG5hbWluZywgJ2dldCcgbG9va3Mgc3RyYWlnaHRmb3J3YXJkLCBubyBj b252ZXJzaW9uIGJ1dCBsb29rdXAsIHRoYW5rcyENCg0KPg0KPj4gKyAqDQo+PiArICogQ29udmVy dCByZXByZXNlbnRvciBJRCBmcm9tIGNvbnRyb2xsZXIsIHBmIGFuZCAoc2Ygb3IgdmYpLg0KPj4g KyAqIFRoZSBtYXBwaW5nIGlzIHJldHJpZXZlZCBmcm9tIHJ0ZV9ldGhfcmVwcmVzZW50b3JfaW5m b19nZXQoKS4NCj4+ICsgKg0KPj4gKyAqIEZvciBiYWNrd2FyZCBjb21wYXRpYmlsaXR5LCBpZiBu byByZXByZXNlbnRvciBpbmZvLCBkaXJlY3QNCj4+ICsgKiBtYXAgbGVnYWN5IFZGIChubyBjb250 cm9sbGVyIGFuZCBwZikuDQo+PiArICoNCj4+ICsgKiBAcGFyYW0gZXRoZGV2DQo+PiArICogIEhh bmRsZSBvZiBldGhkZXYgcG9ydC4NCj4+ICsgKiBAcGFyYW0gcmVwcl9pZA0KPj4gKyAqICBQb2lu dGVyIHRvIGNvbnZlcnRlZCByZXByZXNlbnRvciBJRC4NCj4+ICsgKiBAcGFyYW0gdHlwZQ0KPj4g KyAqICBSZXByZXNlbnRvciB0eXBlLg0KPj4gKyAqIEBwYXJhbSBjb250cm9sbGVyDQo+PiArICog IENvbnRyb2xsZXIgSUQsIC0xIGlmIHVuc3BlY2lmaWVkLg0KPj4gKyAqIEBwYXJhbSBwZg0KPj4g KyAqICBQRiBwb3J0IElELCAtMSBpZiB1bnNwZWNpZmllZC4NCj4+ICsgKiBAcGFyYW0gcmVwcmVz ZW50b3JfcG9ydA0KPj4gKyAqICBWRiBvciBTRiByZXByZXNlbnRvciBwb3J0IG51bWJlciwgLTEg aWYgdW5zcGVjaWZpZWQuDQo+DQo+TWl4aW5nIGlucHV0IGFuZCBvdXRwdXQgcGFyYW1ldGVycyBs b29rcyBiYWQgdG8gbWUuDQo+TWF5IEkgc3VnZ2VzdCB0byBwdXQgcmVwcl9pZCB0aGUgbGFzdD8N Cj5JLmUuIHRvIGhhdmUgYWxsIGlucHV0IHBhcmFtZXRlcnMgZmlyc3QuDQo+KE1heSBiZSBJJ3Zl IGFscmVhZHkgbWVudGlvbmVkIGl0LCBpZiBJIG1pc3NlZCB5b3VyIHJlcGx5LCBwbGVhc2UsIHJl cGVhdCBpdCBvbmNlIGFnYWluKS4NCg0KTWFrZSBzZW5zZQ0KDQo+DQo+PiArICoNCj4+ICsgKiBA cmV0dXJuDQo+PiArICogIE5lZ2F0aXZlIGVycm5vIHZhbHVlIG9uIGVycm9yLCAwIG9uIHN1Y2Nl c3MuDQo+PiArICovDQo+PiArX19ydGVfaW50ZXJuYWwNCj4+ICtpbnQNCj4+ICtydGVfZXRoX3Jl cHJlc2VudG9yX2lkX2NvbnZlcnQoY29uc3Qgc3RydWN0IHJ0ZV9ldGhfZGV2ICpldGhkZXYsDQo+ PiArCQkJICAgICAgIHVpbnQxNl90ICpyZXByX2lkLA0KPj4gKwkJCSAgICAgICBlbnVtIHJ0ZV9l dGhfcmVwcmVzZW50b3JfdHlwZSB0eXBlLA0KPj4gKwkJCSAgICAgICBpbnQgY29udHJvbGxlciwg aW50IHBmLCBpbnQgcmVwcmVzZW50b3JfcG9ydCk7DQo+PiArDQo+PiAgLyoqDQo+PiAgICogUE1E IGhlbHBlciBmdW5jdGlvbiB0byBwYXJzZSBldGhkZXYgYXJndW1lbnRzDQo+PiAgICoNCj4+IGRp ZmYgLS1naXQgYS9saWIvbGlicnRlX2V0aGRldi9ydGVfY2xhc3NfZXRoLmMNCj4+IGIvbGliL2xp YnJ0ZV9ldGhkZXYvcnRlX2NsYXNzX2V0aC5jDQo+PiBpbmRleCAwNTFjODkyYjQwLi5mN2I3ZTY1 OWU3IDEwMDY0NA0KPj4gLS0tIGEvbGliL2xpYnJ0ZV9ldGhkZXYvcnRlX2NsYXNzX2V0aC5jDQo+ PiArKysgYi9saWIvbGlicnRlX2V0aGRldi9ydGVfY2xhc3NfZXRoLmMNCj4+IEBAIC02NSw5ICs2 NSwxMCBAQCBldGhfcmVwcmVzZW50b3JfY21wKGNvbnN0IGNoYXIgKmtleSBfX3J0ZV91bnVzZWQs DQo+PiB7DQo+PiAgCWludCByZXQ7DQo+PiAgCWNoYXIgKnZhbHVlczsNCj4+IC0JY29uc3Qgc3Ry dWN0IHJ0ZV9ldGhfZGV2X2RhdGEgKmRhdGEgPSBvcGFxdWU7DQo+PiAtCXN0cnVjdCBydGVfZXRo X2RldmFyZ3MgcmVwcmVzZW50b3JzOw0KPj4gLQl1aW50MTZfdCBpbmRleDsNCj4+ICsJY29uc3Qg c3RydWN0IHJ0ZV9ldGhfZGV2ICplZGV2ID0gb3BhcXVlOw0KPj4gKwljb25zdCBzdHJ1Y3QgcnRl X2V0aF9kZXZfZGF0YSAqZGF0YSA9IGVkZXYtPmRhdGE7DQo+PiArCXN0cnVjdCBydGVfZXRoX2Rl dmFyZ3MgZXRoX2RhOw0KPj4gKwl1aW50MTZfdCBpZCwgbmMsIG5wLCBuZiwgaSwgYywgcCwgZjsN Cj4+DQo+PiAgCWlmICgoZGF0YS0+ZGV2X2ZsYWdzICYgUlRFX0VUSF9ERVZfUkVQUkVTRU5UT1Ip ID09IDApDQo+PiAgCQlyZXR1cm4gLTE7IC8qIG5vdCBhIHJlcHJlc2VudG9yIHBvcnQgKi8gQEAg LTc2LDE3ICs3NywzNiBAQA0KPj4gZXRoX3JlcHJlc2VudG9yX2NtcChjb25zdCBjaGFyICprZXkg X19ydGVfdW51c2VkLA0KPj4gIAl2YWx1ZXMgPSBzdHJkdXAodmFsdWUpOw0KPj4gIAlpZiAodmFs dWVzID09IE5VTEwpDQo+PiAgCQlyZXR1cm4gLTE7DQo+PiAtCW1lbXNldCgmcmVwcmVzZW50b3Jz LCAwLCBzaXplb2YocmVwcmVzZW50b3JzKSk7DQo+PiAtCXJldCA9IHJ0ZV9ldGhfZGV2YXJnc19w YXJzZV9yZXByZXNlbnRvcl9wb3J0cyh2YWx1ZXMsICZyZXByZXNlbnRvcnMpOw0KPj4gKwltZW1z ZXQoJmV0aF9kYSwgMCwgc2l6ZW9mKGV0aF9kYSkpOw0KPj4gKwlyZXQgPSBydGVfZXRoX2RldmFy Z3NfcGFyc2VfcmVwcmVzZW50b3JfcG9ydHModmFsdWVzLCAmZXRoX2RhKTsNCj4+ICAJZnJlZSh2 YWx1ZXMpOw0KPj4gIAlpZiAocmV0ICE9IDApDQo+PiAgCQlyZXR1cm4gLTE7IC8qIGludmFsaWQg ZGV2YXJncyB2YWx1ZSAqLw0KPj4NCj4+ICsJaWYgKGV0aF9kYS5uYl9taF9jb250cm9sbGVycyA9 PSAwICYmIGV0aF9kYS5uYl9wb3J0cyA9PSAwICYmDQo+PiArCSAgICBldGhfZGEubmJfcmVwcmVz ZW50b3JfcG9ydHMgPT0gMCkNCj4+ICsJCXJldHVybiAtMTsNCj4+ICsJbmMgPSBldGhfZGEubmJf bWhfY29udHJvbGxlcnMgPiAwID8gZXRoX2RhLm5iX21oX2NvbnRyb2xsZXJzIDogMTsNCj4+ICsJ bnAgPSBldGhfZGEubmJfcG9ydHMgPiAwID8gZXRoX2RhLm5iX3BvcnRzIDogMTsNCj4+ICsJbmYg PSBldGhfZGEubmJfcmVwcmVzZW50b3JfcG9ydHMgPiAwID8gZXRoX2RhLm5iX3JlcHJlc2VudG9y X3BvcnRzIDoNCj4+ICsxOw0KPj4gKw0KPj4gIAkvKiBSZXR1cm4gMCBpZiByZXByZXNlbnRvciBp ZCBpcyBtYXRjaGluZyBvbmUgb2YgdGhlIHZhbHVlcy4gKi8NCj4+IC0JZm9yIChpbmRleCA9IDA7 IGluZGV4IDwgcmVwcmVzZW50b3JzLm5iX3JlcHJlc2VudG9yX3BvcnRzOyBpbmRleCsrKQ0KPj4g LQkJaWYgKGRhdGEtPnJlcHJlc2VudG9yX2lkID09DQo+PiAtCQkJCXJlcHJlc2VudG9ycy5yZXBy ZXNlbnRvcl9wb3J0c1tpbmRleF0pDQo+PiArCWZvciAoaSA9IDA7IGkgPCBuYyAqIG5wICogbmY7 ICsraSkgew0KPj4gKwkJYyA9IGkgLyAobnAgKiBuZik7DQo+PiArCQlwID0gKGkgLyBuZikgJSBu cDsNCj4+ICsJCWYgPSBpICUgbmY7DQo+PiArCQlpZiAocnRlX2V0aF9yZXByZXNlbnRvcl9pZF9j b252ZXJ0KGVkZXYsDQo+PiArCQkJJmlkLA0KPj4gKwkJCWV0aF9kYS50eXBlLA0KPj4gKwkJCWV0 aF9kYS5uYl9taF9jb250cm9sbGVycyA9PSAwID8gLTEgOg0KPj4gKwkJCQkJZXRoX2RhLm1oX2Nv bnRyb2xsZXJzW2NdLA0KPj4gKwkJCWV0aF9kYS5uYl9wb3J0cyA9PSAwID8gLTEgOiBldGhfZGEu cG9ydHNbcF0sDQo+PiArCQkJZXRoX2RhLm5iX3JlcHJlc2VudG9yX3BvcnRzID09IDAgPyAtMSA6 DQo+PiArCQkJCQlldGhfZGEucmVwcmVzZW50b3JfcG9ydHNbZl0pIDwgMCkNCj4+ICsJCQljb250 aW51ZTsNCj4+ICsJCWlmIChkYXRhLT5yZXByZXNlbnRvcl9pZCA9PSBpZCkNCj4+ICAJCQlyZXR1 cm4gMDsNCj4+ICsJfQ0KPj4gIAlyZXR1cm4gLTE7IC8qIG5vIG1hdGNoICovDQo+PiAgfQ0KPj4N Cj4+IEBAIC0xMTIsNyArMTMyLDcgQEAgZXRoX2Rldl9tYXRjaChjb25zdCBzdHJ1Y3QgcnRlX2V0 aF9kZXYgKmVkZXYsDQo+Pg0KPj4gIAlyZXQgPSBydGVfa3ZhcmdzX3Byb2Nlc3Moa3ZsaXN0LA0K Pj4gIAkJCWV0aF9wYXJhbXNfa2V5c1tSVEVfRVRIX1BBUkFNX1JFUFJFU0VOVE9SXSwNCj4+IC0J CQlldGhfcmVwcmVzZW50b3JfY21wLCBlZGV2LT5kYXRhKTsNCj4+ICsJCQlldGhfcmVwcmVzZW50 b3JfY21wLCAodm9pZCAqKSh1aW50cHRyX3QpZWRldik7DQo+PiAgCWlmIChyZXQgIT0gMCkNCj4+ ICAJCXJldHVybiAtMTsNCj4+ICAJLyogc2VhcmNoIGZvciByZXByZXNlbnRvciBrZXkgKi8NCj4+ IGRpZmYgLS1naXQgYS9saWIvbGlicnRlX2V0aGRldi9ydGVfZXRoZGV2LmMNCj4+IGIvbGliL2xp YnJ0ZV9ldGhkZXYvcnRlX2V0aGRldi5jIGluZGV4IGM4OGUzNDVlN2QuLjc4Y2RlZjExYmUgMTAw NjQ0DQo+PiAtLS0gYS9saWIvbGlicnRlX2V0aGRldi9ydGVfZXRoZGV2LmMNCj4+ICsrKyBiL2xp Yi9saWJydGVfZXRoZGV2L3J0ZV9ldGhkZXYuYw0KPj4gQEAgLTU2MjMsNiArNTYyMyw5NyBAQCBy dGVfZXRoX2RldmFyZ3NfcGFyc2UoY29uc3QgY2hhciAqZGFyZ3MsIHN0cnVjdCBydGVfZXRoX2Rl dmFyZ3MgKmV0aF9kYSkNCj4+ICAJcmV0dXJuIHJlc3VsdDsNCj4+ICB9DQo+Pg0KPj4gK2ludA0K Pj4gK3J0ZV9ldGhfcmVwcmVzZW50b3JfaWRfY29udmVydChjb25zdCBzdHJ1Y3QgcnRlX2V0aF9k ZXYgKmV0aGRldiwNCj4+ICsJCQkgICAgICAgdWludDE2X3QgKnJlcHJfaWQsDQo+PiArCQkJICAg ICAgIGVudW0gcnRlX2V0aF9yZXByZXNlbnRvcl90eXBlIHR5cGUsDQo+PiArCQkJICAgICAgIGlu dCBjb250cm9sbGVyLCBpbnQgcGYsIGludCByZXByZXNlbnRvcl9wb3J0KSB7DQo+PiArCWludCBy ZXQsIG4sIGksIGNvdW50Ow0KPj4gKwlzdHJ1Y3QgcnRlX2V0aF9yZXByZXNlbnRvcl9pbmZvICpp bmZvID0gTlVMTDsNCj4+ICsJc2l6ZV90IHNpemU7DQo+PiArDQo+PiArCWlmICh0eXBlID09IFJU RV9FVEhfUkVQUkVTRU5UT1JfTk9ORSkNCj4+ICsJCXJldHVybiAwOw0KPj4gKwlpZiAocmVwcl9p ZCA9PSBOVUxMKQ0KPj4gKwkJcmV0dXJuIC1FSU5WQUw7DQo+PiArDQo+PiArCS8qIEdldCBQTUQg cmVwcmVzZW50b3IgcmFuZ2UgaW5mby4gKi8NCj4+ICsJcmV0ID0gcnRlX2V0aF9yZXByZXNlbnRv cl9pbmZvX2dldChldGhkZXYtPmRhdGEtPnBvcnRfaWQsIE5VTEwpOw0KPj4gKwlpZiAocmV0IDwg MCkgew0KPj4gKwkJaWYgKHR5cGUgPT0gUlRFX0VUSF9SRVBSRVNFTlRPUl9WRiAmJiBjb250cm9s bGVyID09IC0xICYmDQo+PiArCQkgICAgcGYgPT0gLTEpIHsNCj4+ICsJCQkvKiBEaXJlY3QgbWFw cGluZyBmb3IgbGVnYWN5IFZGIHJlcHJlc2VudG9yLiAqLw0KPj4gKwkJCSpyZXByX2lkID0gcmVw cmVzZW50b3JfcG9ydDsNCj4+ICsJCQlyZXR1cm4gMDsNCj4+ICsJCX0gZWxzZSB7DQo+PiArCQkJ cmV0dXJuIHJldDsNCj4+ICsJCX0NCj4+ICsJfQ0KPj4gKwluID0gcmV0Ow0KPj4gKwlzaXplID0g c2l6ZW9mKCppbmZvKSArIG4gKiBzaXplb2YoaW5mby0+cmFuZ2VzWzBdKTsNCj4+ICsJaW5mbyA9 IGNhbGxvYygxLCBzaXplKTsNCj4+ICsJaWYgKGluZm8gPT0gTlVMTCkNCj4+ICsJCXJldHVybiAt RU5PTUVNOw0KPj4gKwlyZXQgPSBydGVfZXRoX3JlcHJlc2VudG9yX2luZm9fZ2V0KGV0aGRldi0+ ZGF0YS0+cG9ydF9pZCwgaW5mbyk7DQo+PiArCWlmIChyZXQgPCAwKQ0KPj4gKwkJZ290byBvdXQ7 DQo+PiArDQo+PiArCS8qIERlZmF1bHQgY29udHJvbGxlciBhbmQgcGYgdG8gY2FsbGVyLiAqLw0K Pj4gKwlpZiAoY29udHJvbGxlciA9PSAtMSkNCj4+ICsJCWNvbnRyb2xsZXIgPSBpbmZvLT5jb250 cm9sbGVyOw0KPj4gKwlpZiAocGYgPT0gLTEpDQo+PiArCQlwZiA9IGluZm8tPnBmOw0KPj4gKw0K Pj4gKwkvKiBMb2NhdGUgcmVwcmVzZW50b3IgSUQuICovDQo+PiArCXJldCA9IC1FTk9FTlQ7DQo+ PiArCWZvciAoaSA9IDA7IGkgPCBuOyArK2kpIHsNCj4+ICsJCWlmIChpbmZvLT5yYW5nZXNbaV0u dHlwZSAhPSB0eXBlKQ0KPj4gKwkJCWNvbnRpbnVlOw0KPj4gKwkJLyogUE1EIGhpdDogaWdub3Jl IGNvbnRyb2xsZXIgaWYgLTEuICovDQo+PiArCQlpZiAoaW5mby0+cmFuZ2VzW2ldLmNvbnRyb2xs ZXIgIT0gLTEgJiYNCj4+ICsJCSAgICBpbmZvLT5yYW5nZXNbaV0uY29udHJvbGxlciAhPSAodWlu dDE2X3QpY29udHJvbGxlcikNCj4NCj5GaXJzdCBvZiBhbGwgSSBkb24ndCB1bmRlcnN0YW5kIHdo eSAnY29udHJvbGxlcicgaXMgY2FzdCB0byB1aW50MTZfdCBoZXJlLiBCb3RoICdjb250cm9sbGVy JyBhbmQgcmFuZ2UtPmNvbnRyb2xsZXIgaGF2ZSAnaW50JyB0eXBlLg0KPg0KDQpZZXMsIEkgc2hv dWxkIGhhdmUgcmVtb3ZlZCB0aGUgY2FzdC4NCg0KPlNlY29uZCwgSSdtIHNvcnJ5LCBidXQgSSBz dGlsbCBkb24ndCB1bmRlcnN0YW5kIHRoZSBpZ25vcmUgbG9naWMuIFdoeSBpbmZvcm1hdGlvbiBy ZXRyaWV2YWwgbWF5IHJldHVybiAtMSBmb3IgY29udHJvbGxlciBhbmQvb3IgUEY/IFdoYXQNCj5k b2VzIGl0IG1lYW4/DQoNCkluIHNvbWUgY2lyY3Vtc3RhbmNlcywgUE1EIGRvbid0IG5lZWQgdGhl IGNvbnRyb2xsZXIgYW5kIFBGLCBpLmUuIG5vIGJvbmRpbmcgYW5kIG11bHRpLWhvc3QsIGl0IGxv Y2F0ZSBkZXZpY2UgZnJvbSBQQ0kgYWRkcmVzcy4NClNpbmNlIG9wZW5zdGFjayBjYW4ndCB0ZWxs IGRpZmZlcmVudCBjYXNlLCB0aGVzZSBpbmZvIGFyZSBzZW50IHdpdGhvdXQgZGlmZmVyZW5jZSwg dGhhdCdzIHdoeSBQTUQgd2FudCB0byBpZ25vcmUgdGhlbS4NCg0KQnV0IEkgaGF2ZSBhIHdvcmth cm91bmQgaW4gUE1EIG5vdywgd2lsbCByZW1vdmUgaXQgaW4gbmV4dCB2ZXJzaW9uLiBCdXQga2Vl cGluZyBmbGV4aWJpbGl0eSBtaWdodCBiZSBhIGdvb2QgY2hvaWNlIElNSE8uDQoNCj4NCj5BYm92 ZSBmYWxsYmFjayB0byB0aGUgZGV2aWNlIGNvbnRyb2xsZXIgYW5kIHBmIGlmIHVuc3BlY2lmaWVk IGJ5IHRoZSBjYWxsZXIgbG9vayBnb29kIGFuZCBtYWtlIHNlbnNlLg0KPg0KPj4gKwkJCWNvbnRp bnVlOw0KPj4gKwkJY291bnQgPSBpbmZvLT5yYW5nZXNbaV0uaWRfZW5kIC0gaW5mby0+cmFuZ2Vz W2ldLmlkX2Jhc2UgKyAxOw0KPj4gKwkJc3dpdGNoIChpbmZvLT5yYW5nZXNbaV0udHlwZSkgew0K Pj4gKwkJY2FzZSBSVEVfRVRIX1JFUFJFU0VOVE9SX1BGOg0KPj4gKwkJCWlmIChwZiA+PSBpbmZv LT5yYW5nZXNbaV0ucGYgKyBjb3VudCkNCj4+ICsJCQkJY29udGludWU7DQo+DQo+Q29uZGl0aW9u IG11c3QgYmUgc3RyaWN0ZXIuIFdlIG11c3QgZW5zdXJlIHRoYXQgcmVxdWVzdGVkIHBvcnQgd2l0 aGluIGJvdGggYm91bmRhcmllcyBvZiB0aGUgcmFuZ2UuDQo+SS5lLiByZXByZXNlbnRvcl9wb3J0 IHNob3VsZCBub3QgYmUgc21hbGxlciB0aGFuDQo+aW5mby0+cmFuZ2VzW2ldLnBmLg0KPkl0IGlz IHJlcXVpcmVkIGZvciBiZWxvdyBzdWJ0cmFjdGlvbi4NCg0KR29vZCBjYXRjaCENCg0KPg0KPj4g KwkJCSpyZXByX2lkID0gaW5mby0+cmFuZ2VzW2ldLmlkX2Jhc2UgKw0KPj4gKwkJCQkgICAocGYg LSBpbmZvLT5yYW5nZXNbaV0ucGYpOw0KPj4gKwkJCXJldCA9IDA7DQo+PiArCQkJZ290byBvdXQ7 DQo+PiArCQljYXNlIFJURV9FVEhfUkVQUkVTRU5UT1JfVkY6DQo+PiArCQkJLyogUE1EIGhpdDog aWdub3JlIHBmIGlmIC0xLiAqLw0KPj4gKwkJCWlmIChpbmZvLT5yYW5nZXNbaV0ucGYgIT0gLTEg JiYNCj4+ICsJCQkgICAgaW5mby0+cmFuZ2VzW2ldLnBmICE9ICh1aW50MTZfdClwZikNCj4NCj5T YW1lIGFzIGFib3ZlLiBDYXN0IHNlZW1zIHRvIGJlIG5vdCByZXF1aXJlZC4NCj4NCj4+ICsJCQkJ Y29udGludWU7DQo+PiArCQkJaWYgKHJlcHJlc2VudG9yX3BvcnQgPj0gaW5mby0+cmFuZ2VzW2ld LnZmICsgY291bnQpDQo+DQo+U2FtZSBhcyBhYm92ZS4NCj4NCj4+ICsJCQkJY29udGludWU7DQo+ PiArCQkJKnJlcHJfaWQgPSBpbmZvLT5yYW5nZXNbaV0uaWRfYmFzZSArDQo+PiArCQkJCSAgIChy ZXByZXNlbnRvcl9wb3J0IC0gaW5mby0+cmFuZ2VzW2ldLnZmKTsNCj4+ICsJCQlyZXQgPSAwOw0K Pj4gKwkJCWdvdG8gb3V0Ow0KPj4gKwkJY2FzZSBSVEVfRVRIX1JFUFJFU0VOVE9SX1NGOg0KPj4g KwkJCS8qIFBNRCBoaXQ6IGlnbm9yZSBwZiBpZiAtMS4gKi8NCj4+ICsJCQlpZiAoaW5mby0+cmFu Z2VzW2ldLnBmICE9IC0xICYmDQo+PiArCQkJICAgIGluZm8tPnJhbmdlc1tpXS5wZiAhPSAodWlu dDE2X3QpcGYpDQo+DQo+U2FtZSBhcyBhYm92ZS4gQ2FzdCBzZWVtcyB0byBiZSBub3QgcmVxdWly ZWQuDQo+DQo+PiArCQkJCWNvbnRpbnVlOw0KPj4gKwkJCWlmIChyZXByZXNlbnRvcl9wb3J0ID49 IGluZm8tPnJhbmdlc1tpXS5zZiArIGNvdW50KQ0KPj4gKwkJCQljb250aW51ZTsNCj4NCj5TYW1l IGFzIGFib3ZlLg0KPg0KPj4gKwkJCSpyZXByX2lkID0gaW5mby0+cmFuZ2VzW2ldLmlkX2Jhc2Ug Kw0KPj4gKwkJCSAgICAgIChyZXByZXNlbnRvcl9wb3J0IC0gaW5mby0+cmFuZ2VzW2ldLnNmKTsN Cj4+ICsJCQlyZXQgPSAwOw0KPj4gKwkJCWdvdG8gb3V0Ow0KPj4gKwkJZGVmYXVsdDoNCj4+ICsJ CQlicmVhazsNCj4+ICsJCX0NCj4+ICsJfQ0KPj4gK291dDoNCj4+ICsJZnJlZShpbmZvKTsNCj4+ ICsJcmV0dXJuIHJldDsNCj4+ICt9DQo+PiArDQo+PiAgc3RhdGljIGludA0KPj4gIGV0aF9kZXZf aGFuZGxlX3BvcnRfbGlzdChjb25zdCBjaGFyICpjbWQgX19ydGVfdW51c2VkLA0KPj4gIAkJY29u c3QgY2hhciAqcGFyYW1zIF9fcnRlX3VudXNlZCwNCj4+IGRpZmYgLS1naXQgYS9saWIvbGlicnRl X2V0aGRldi92ZXJzaW9uLm1hcA0KPj4gYi9saWIvbGlicnRlX2V0aGRldi92ZXJzaW9uLm1hcCBp bmRleCBiYjZmNzQzNmMyLi4yODkxZjU3MzRlIDEwMDY0NA0KPj4gLS0tIGEvbGliL2xpYnJ0ZV9l dGhkZXYvdmVyc2lvbi5tYXANCj4+ICsrKyBiL2xpYi9saWJydGVfZXRoZGV2L3ZlcnNpb24ubWFw DQo+PiBAQCAtMjY4LDYgKzI2OCw3IEBAIElOVEVSTkFMIHsNCj4+ICAJcnRlX2V0aF9oYWlycGlu X3F1ZXVlX3BlZXJfYmluZDsNCj4+ICAJcnRlX2V0aF9oYWlycGluX3F1ZXVlX3BlZXJfdW5iaW5k Ow0KPj4gIAlydGVfZXRoX2hhaXJwaW5fcXVldWVfcGVlcl91cGRhdGU7DQo+PiArCXJ0ZV9ldGhf cmVwcmVzZW50b3JfaWRfY29udmVydDsNCj4+ICAJcnRlX2V0aF9zd2l0Y2hfZG9tYWluX2FsbG9j Ow0KPj4gIAlydGVfZXRoX3N3aXRjaF9kb21haW5fZnJlZTsNCj4+ICB9Ow0KPj4NCg0K