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 2FE3CA0C4C; Mon, 12 Jul 2021 15:07:11 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 163CC4069D; Mon, 12 Jul 2021 15:07:11 +0200 (CEST) Received: from NAM12-BN8-obe.outbound.protection.outlook.com (mail-bn8nam12on2062.outbound.protection.outlook.com [40.107.237.62]) by mails.dpdk.org (Postfix) with ESMTP id B0CF540685 for ; Mon, 12 Jul 2021 15:07:08 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=LGj3ivawFoW9xFpyD4UpD2qcU7w+2nBsMV5/hy60NN9E6dz1qG2FCOADw4Q57pLlW08CwGP2vqQ8N0QaTEdz9QX/Lz02D3CAmYYjnFTcUlPZ/NWSy4/1XRzl9Ak9AS4VriUVtwKI/fXPgztqHtccHbeiBtiPeyd7S/3dxhhoACZcdrNtgia9Z+rqOUs+WVXEI0EdoFl4UEh2wJ7QwAXGdcn6TyPPmHAKSH41lMnQAZeiN/d6nFW0AF6DVT5fEkWRbBjuPAub/JwhwlUIZDCHl3r7ACgqirg9SM3pVPI4m1vsGVj4aJnZV5Jg820FzxuscLp1ELaZlAisQijhVha4xw== 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=lAx5Np4kg6YnOoVTNJNZGQxUBhEwF4HBbvTCSAWUzTI=; b=a3JA3Mqs3JVzjLxNVgKAVTI/fpSm7lBltAPgWtxMwzn8so0XOkQ/dLCxT+m16T6sf8b1Wps1VBlXc6skTggs5W1H/mqNaZQjhIWyCO+DoCQsyxQjkTBA5aPfZKILxG3IiZwr0FzDwlMhVEQlQimt0lMvMgpsuaY7rNe9JGBHyC8Ue6Ye5yVGBDgrBcGVl/0/7kdD8a03QntvMJsPJ8DpvEeLHURi5IS9ZVosdp+hdsjKoof/+lU9wLWO4NfKqbYdtTovl8g/dLPTqoXETUIXUQXNT5Zq8iWxZKlE89xnxJMXEcxjdfayd6+KNsQC8FO/2sNT3Yt/2TlSjKGwraSrIg== 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=lAx5Np4kg6YnOoVTNJNZGQxUBhEwF4HBbvTCSAWUzTI=; b=Z6knWwV5BmOy+z8kfeBsAUesRHpljaJTZFUQXBrLVLe6Iw4jzCZTMS+lTEhMB3K4xejs0Ytonnt8tIkIAAzS1z14TvfZSfXTxbgfsFB8/+p6+Ethjj0eNowiHB3jiHLTMPRnVVAfZ/sxrNeh6M8rUzQAOoIZwG7BuP12uRt9/fY5OF6WGJOO5lOja+L822Mup+fIFkkMGaQkhJSQiM17lMnTDH35wsrto0jjMa6Qnexnk3pzx8x7oR71KgiixMCyc0BJMthzvIVTlNVtzQY91DZILMyEYrT8fXs66BUJdjgq5RgDhpqccTm6Tp3WmkjkqllIbGBdaneUgYZNN3OFAA== Received: from DM8PR12MB5400.namprd12.prod.outlook.com (2603:10b6:8:3b::12) by DM4PR12MB5070.namprd12.prod.outlook.com (2603:10b6:5:389::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4308.19; Mon, 12 Jul 2021 13:07:07 +0000 Received: from DM8PR12MB5400.namprd12.prod.outlook.com ([fe80::9cf5:169b:e9a5:5811]) by DM8PR12MB5400.namprd12.prod.outlook.com ([fe80::9cf5:169b:e9a5:5811%7]) with mapi id 15.20.4308.026; Mon, 12 Jul 2021 13:07:07 +0000 From: Ori Kam To: Jan Viktorin CC: Matan Azrad , =?utf-8?B?SGF2bMOtayBNYXJ0aW4=?= , "Min Hu (Connor)" , "chas3@att.com" , "dev@dpdk.org" , Shahaf Shuler , Slava Ovsiienko Thread-Topic: [dpdk-dev] [PATCH 3/3] net/bonding: start ethdev prior to setting 8023ad flow Thread-Index: AQHXcOfLpFcLEgZ0R0O8YfBscZ0g/qs3ruIAgAW76cCAAO+QgIAA5dQg Date: Mon, 12 Jul 2021 13:07:07 +0000 Message-ID: References: <20210622092531.73112-1-xhavli56@stud.fit.vutbr.cz> <20210622092531.73112-4-xhavli56@stud.fit.vutbr.cz> <5f2cd5e6-1c46-227c-7ab1-5a2a34eb337d@huawei.com> <01bd8d8fcd364584fecdea3bc70abd1c@stud.fit.vutbr.cz> <20210707175420.4d81fdaf@coaster.localdomain> <20210711234537.6d2b14c4@tanguero.localdomain> In-Reply-To: <20210711234537.6d2b14c4@tanguero.localdomain> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: cesnet.cz; dkim=none (message not signed) header.d=none;cesnet.cz; dmarc=none action=none header.from=nvidia.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 12f6995b-91c4-4b15-ea65-08d94535f3cc x-ms-traffictypediagnostic: DM4PR12MB5070: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:8273; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: FPqM5/oRX4E1PeM7ioHoANvZsJaSWx2dX84qq+OfWdRgklZ1DbqQQblaFOihCgOiiwwg7olIdRBoOJOze6nRagUm8sew+7LyoKkOcF3ImUmE3X+j1UWYp8tWUjg3532NnO066bXMJ5kXuEr/qUzOeeffXt1iDd9uwmxeZuqgmAX/aoKDZoKYHbypbjAGcBulqjLIp1STO0UqmIBiLfP1mS2FozGILd89hrRcCdeOITaQFx12R+n2PAQJ5Ufq/gLLUD9nK4tgHdtmAsh/XGTuz2y7UfQi87z6/ewfDqtbECcYsOBkmXZJciIQ0QhVw9gCxyphT8VPcwZojODHDGLjWKN6+kVdYA7onI8wJZv5mEFo0rWj8vqM+HIzQBpYHC+AysvNXUeTffSGKQ/UfdAFTuGlH3U0FGF4CyQzlEJKYrUB8L6uya9CSZ8D+L/Oz4Xhf193mbqmdE2JT8e+0BDPY2EE/6bSROStFJZKF/IWY7bgxmg47Y1tRhbwRagA9AVAJVy/N7WNGWeOyB0dZ8MZMNbcm1i9JsH3vrYj5AnSDFBzOhpY467j9LbtxElPqNgJvxm9t4l2bAVAEiG/aNlrOVpvD+d0L+76AR7oa97Sr/hIpwR/tOwT+HX1mMhf5uvQPUQblSFgcvIH9KJAUZdbG5v1naiD/1YulJMoE9U7vYTiKvvIEH4gyyD599fp0rjfXztOi5FElHZ6oiEXYejuybJX5NvCp+dmjeUOwt2VELc= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DM8PR12MB5400.namprd12.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(346002)(39860400002)(396003)(136003)(376002)(366004)(478600001)(8676002)(6916009)(52536014)(54906003)(122000001)(9686003)(316002)(38100700002)(55016002)(8936002)(33656002)(66446008)(30864003)(966005)(4326008)(66574015)(71200400001)(64756008)(66556008)(6506007)(107886003)(76116006)(83380400001)(7696005)(66946007)(66476007)(26005)(86362001)(5660300002)(2906002)(186003); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?VWxDb0ZqU1VhMHJaWmIxVHhZeVdvcW1UMGtMamJIWmtoeTBocm9jSDFXZVF1?= =?utf-8?B?ZU9BbkJETWNqdFpyZ0JPblREWEtWeEJuTDNiVjFSZlI4UkNyN1lUK3VKYVk2?= =?utf-8?B?VHBBdmVEQjBWMTd5YjYwSUJ4T2RWTWY5S0hyM1ZuUU02cTJLNVY1Y1BPRmUx?= =?utf-8?B?dVRHaHo3RVl1YitwSGE2emJCeWMrcnRBNm1nZjVLSkVVNnc5Z1Bldlhiam82?= =?utf-8?B?dWF0YkFVdGduNHpPNTh6Z1FMYmRYRktRVEE0L29odHJDVmFac1d3amNtNWVN?= =?utf-8?B?VCtOYlBLUitsaEFkTTYxRmZtV25hWENyWUZFOEZHQXIvVGhLSytOMmpDZXNt?= =?utf-8?B?SDFWRElKSDB4ZEJWaU9hanEvWnV6eVNMZGdmZDdVK1MrWE1GY2Z1RkF2cnN0?= =?utf-8?B?Uk41dWF0MjJqUzlkQWkwMWF4V09VYlVPZUR0Z0tlZjgzcnJnRFhOQ0RiMzJo?= =?utf-8?B?ODRURXZrRFAzNndZanRYZXBiVTRGdTRUWkpTT3E5aEsyYXNPN3hkRmpvL2pZ?= =?utf-8?B?WnVGaldpcytqU1lHYnpxR2NkRE5wWG1PTmhpRFk4YnA0MHJWd2FQMXVESys0?= =?utf-8?B?ekUwd2tnaFBKeUZYcHFxN1NIRjN0Q2xNYVRRT0N0SVo3RzBCZVhTeWozbzFU?= =?utf-8?B?TUFBM1VwOHRwQUtnZGp0RW1sYkllTTR2VFY4amZRZ3Zhck0zeFpJRFdrUlFK?= =?utf-8?B?OWdoYlliY0xsbW9NM09teUxVR0F6RndjUWZ6R3ZKU080b1JITHp4MiszZ0c1?= =?utf-8?B?c01TQmFjZlE4dGphNVZQOGFvZEFiNVh2MmRiS0dOMTRZcCtKSG16ZzJCTWdX?= =?utf-8?B?WlhQcDVQMi80dHpzK1RnQVhLcGYrQzNsWUtsdDhGUDdLTFVLaFU1YlZsSnUv?= =?utf-8?B?ZVZERTFrenFvVWkzd0V0T013SEQweDhjcWJVUVczVXozbzUvMm1SdG1WWlND?= =?utf-8?B?cFQxbU0wTGhpRjFkOGNQQXUxZTl4bFozeDRYZCs0MXFNRlE2bUNqV3YrOCtL?= =?utf-8?B?Vm1EQzdDUENUWlB2RlFTQW5tZUQ3VVcwRzg1WGptSk1mSUdVSmsrazBzM25X?= =?utf-8?B?ME9oSkdVQklQOVNPdjNaWHdvWXJtV2IxdTJmU0lncFR0bzRwdmZFU2p0THNo?= =?utf-8?B?eVN2bVlCOWw3dUdtWXdURENjSGdONzdBRzVxSE9JZzcvN3Q0QU1vbndxVm55?= =?utf-8?B?SkIzWFd5cjEyQ3BMcEJZQmdGQlE2TlQ3V24vNlhWNy9xbDBrZTZ4NkhEc0h2?= =?utf-8?B?QVB1OTNaZWM1ZDhjZll3QkJRQ3dCc2ZZMmNuQXpaL1hCMnhjSlRubGlqTGZY?= =?utf-8?B?THBYWFJoWGQrdnhJMUJETHVEb3ZKbS9BNVNGQ2JjNDNmTUVLbEl3NzBjbklP?= =?utf-8?B?SHkyc2haWE5JeEVUNjBxRk5PVU45MVpweTdKQ2NTd05Wc0YrMUdCNXZUS3cy?= =?utf-8?B?RmFaenRQczNFZzd0d241VGFLVWF2cThxN3JsR0tFRTVaMUtmTGh0anVzNTZp?= =?utf-8?B?THhZL3R1WDNOTnhoMWc3SDVwbmpEV042ak5mMTJsc2o5eW02alNpRmpobk9E?= =?utf-8?B?N0pnMUZwbDY5WW1GYTB0M0w0dXRIKzlKNVRnWmRqV2dWKzYvcmJ3a21qZmY5?= =?utf-8?B?dUN3Tk4zRmx5VXNNVEIyWUFqOXVNWjZnMDdFaTRBeVBjTDkrNDZVN1dIY1Jr?= =?utf-8?B?ZDJnVmFJZmVsZzNCTnV1cGE4cjRpblJ0MVNhZEFzNTB4WDEzQm93Z0M1b1p3?= =?utf-8?Q?l/PDICJ+BpyjopL/qfCvI/50Cg7CRke/f7apxwJ?= 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: DM8PR12MB5400.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 12f6995b-91c4-4b15-ea65-08d94535f3cc X-MS-Exchange-CrossTenant-originalarrivaltime: 12 Jul 2021 13:07:07.4705 (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: naqXLbEgr6j8vUAexrEKQYV/8GlEHEG3YPYtqT8pYIoIdrsyeXPbTVxVPYCkJrxo7XXLSnzTZSxKYPaLT64wkw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR12MB5070 Subject: Re: [dpdk-dev] [PATCH 3/3] net/bonding: start ethdev prior to setting 8023ad flow 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" SGkgSmFuLA0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IEphbiBWaWt0 b3JpbiA8dmlrdG9yaW5AY2VzbmV0LmN6Pg0KPiBTZW50OiBNb25kYXksIEp1bHkgMTIsIDIwMjEg MTI6NDYgQU0NCj4gDQo+IE9uIFN1biwgMTEgSnVsIDIwMjEgMDg6NDk6MTggKzAwMDANCj4gT3Jp IEthbSA8b3Jpa2FAbnZpZGlhLmNvbT4gd3JvdGU6DQo+IA0KPiA+IEhpIEphbiwNCj4gDQo+IEhp IE9yaSwNCj4gDQo+ID4NCj4gPg0KPiA+ID4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4g PiA+IEZyb206IGRldiA8ZGV2LWJvdW5jZXNAZHBkay5vcmc+IE9uIEJlaGFsZiBPZiBKYW4gVmlr dG9yaW4NCj4gPiA+IFNlbnQ6IFdlZG5lc2RheSwgSnVseSA3LCAyMDIxIDY6NTQgUE0NCj4gPiA+ DQo+ID4gPiBPbiBTdW4sIDQgSnVsIDIwMjEgMTU6MTg6MDEgKzAwMDANCj4gPiA+IE1hdGFuIEF6 cmFkIDxtYXRhbkBudmlkaWEuY29tPiB3cm90ZToNCj4gPiA+DQo+ID4gPiA+IEZyb206IEhhdmzD rWsgTWFydGluDQo+ID4gPiA+ID4gRG5lIDIwMjEtMDYtMjMgMDk6MDQsIE1pbiBIdSAoQ29ubm9y KSBuYXBzYWw6DQo+ID4gPiA+ID4gPiDlnKggMjAyMS82LzIyIDE3OjI1LCBNYXJ0aW4gSGF2bGlr IOWGmemBkzoNCj4gPiA+ID4gPiA+PiBXaGVuIGRlZGljYXRlZCBxdWV1ZXMgYXJlIGVuYWJsZWQs IG1seDUgUE1EIGZhaWxzIHRvIGluc3RhbGwNCj4gPiA+ID4gPiA+PiBSVEUgRmxvd3MgaWYgdGhl IHVuZGVybHlpbmcgZXRoZGV2IGlzIG5vdCBzdGFydGVkOg0KPiA+ID4gPiA+ID4+IGJvbmRfZXRo ZGV2XzgwMjNhZF9mbG93X3NldCgyNjcpIC0NCj4gPiA+IGJvbmRfZXRoZGV2XzgwMjNhZF9mbG93 X3NldDoNCj4gPiA+ID4gPiBwb3J0DQo+ID4gPiA+ID4gPj4gbm90IHN0YXJ0ZWQgKHNsYXZlX3Bv cnQ9MCBxdWV1ZV9pZD0xKQ0KPiA+ID4gPiA+ID4+DQo+ID4gPiA+ID4gPiBXaHkgbWx4NSBQTUQg ZG9pbmcgZmxvdyBjcmVhdGUgcmVseXMgb24gcG9ydCBzdGFydGVkID8NCj4gPiA+ID4gPiA+IEkg bm90aWNlZCBvdGhlciBQTURzIGRpZCBub3QgaGFzIHRoYXQgcmVsaWFuY2UuDQo+ID4gPiA+ID4g Pg0KPiA+ID4gPiA+IEFmdGVyIGxvb2tpbmcgaW50byBpdCwgSSByZWFsbHkgY2FuJ3QgYW5zd2Vy IHRoaXMgbWx4NSBjZW50ZXJlZA0KPiA+ID4gPiA+IHF1ZXN0aW9uLiBDbG9zZXN0IHJlbGF0ZWQg aW5mbyB3ZSBmb3VuZCBzbyBmYXIgaXMgdGhlIDV0aCBwb2ludA0KPiA+ID4gPiA+IGluIGh0dHBz Oi8vZG9jLmRwZGsub3JnL2d1aWRlcy9wcm9nX2d1aWRlL3J0ZV9mbG93Lmh0bWwjY2F2ZWF0cw0K PiA+ID4gPiA+IGJ1dCBpdCBvbmx5IHNwZWNpZmllcyBpdCdzIHRoZSBhcHBsaWNhdGlvbidzIHJl c3BvbnNpYmlsaXR5IGFuZA0KPiA+ID4gPiA+IHRoYXQgZmxvdyBydWxlcyBhcmUgYXNzdW1lZCBp bnZhbGlkIGFmdGVyIHBvcnQNCj4gPiA+ID4gPiBzdG9wL2Nsb3NlL3Jlc3RhcnQgYnV0IGRvZXNu J3Qgc2F5IGFueXRoaW5nIGFib3V0IDxzdG9wIC0gZmxvdw0KPiA+ID4gPiA+IHJ1bGUgY3JlYXRl IC0gc3RhcnQ+IHZzIDxzdG9wIC0gc3RhcnQgLSBmbG93IHJ1bGUgY3JlYXRlPiB3aGVyZQ0KPiA+ ID4gPiA+IHRoZSBmb3JtZXIgaXMgdGhlIHBvaW50IG9mIGZhaWx1cmUgb24gbWx4NS4gSSdtIGFk ZHJlc3NpbmcgdGhlDQo+ID4gPiA+ID4gbWFpbnRhaW5lcnMgZm9yIG1seDUsIHdobyBtaWdodCBr bm93IGEgYml0IG1vcmUgb24gdGhlIHRvcGljLg0KPiA+ID4gPg0KPiA+ID4NCj4gPiA+IEhlbGxv IE1hdGFuLA0KPiA+ID4NCj4gPiA+ID4gRnJvbSBydGVfZXRoZGV2LmgNCj4gPiA+ID4NCj4gPiA+ ID4gKiBQbGVhc2Ugbm90ZSB0aGF0IHNvbWUgY29uZmlndXJhdGlvbiBpcyBub3Qgc3RvcmVkIGJl dHdlZW4gY2FsbHMNCj4gPiA+ID4gdG8NCj4gPiA+ID4gICogcnRlX2V0aF9kZXZfc3RvcCgpL3J0 ZV9ldGhfZGV2X3N0YXJ0KCkuIFRoZSBmb2xsb3dpbmcNCj4gPiA+ID4gY29uZmlndXJhdGlvbiB3 aWxsDQo+ID4gPiA+ICAqIGJlIHJldGFpbmVkOg0KPiA+ID4gPiAgKg0KPiA+ID4gPiAgKiAgICAg LSBNVFUNCj4gPiA+ID4gICogICAgIC0gZmxvdyBjb250cm9sIHNldHRpbmdzDQo+ID4gPiA+ICAq ICAgICAtIHJlY2VpdmUgbW9kZSBjb25maWd1cmF0aW9uIChwcm9taXNjdW91cyBtb2RlLCBhbGwt bXVsdGljYXN0DQo+ID4gPiA+IG1vZGUsDQo+ID4gPiA+ICAqICAgICAgIGhhcmR3YXJlIGNoZWNr c3VtIG1vZGUsIFJTUy9WTURRIHNldHRpbmdzIGV0Yy4pDQo+ID4gPiA+ICAqICAgICAtIFZMQU4g ZmlsdGVyaW5nIGNvbmZpZ3VyYXRpb24NCj4gPiA+ID4gICogICAgIC0gZGVmYXVsdCBNQUMgYWRk cmVzcw0KPiA+ID4gPiAgKiAgICAgLSBNQUMgYWRkcmVzc2VzIHN1cHBsaWVkIHRvIE1BQyBhZGRy ZXNzIGFycmF5DQo+ID4gPiA+ICAqICAgICAtIGZsb3cgZGlyZWN0b3IgZmlsdGVyaW5nIG1vZGUg KGJ1dCBub3QgZmlsdGVyaW5nIHJ1bGVzKQ0KPiA+ID4gPiAgKiAgICAgLSBOSUMgcXVldWUgc3Rh dGlzdGljcyBtYXBwaW5ncw0KPiA+ID4NCj4gPiA+IGp1c3QgYWZ0ZXIgdGhpcyBzZWN0aW9uLCB5 b3UgY2FuIGZpbmQgdGhlIGZvbGxvd2luZyBzdGF0ZW1lbnQ6DQo+ID4gPg0KPiA+ID4gICogQW55 IG90aGVyIGNvbmZpZ3VyYXRpb24gd2lsbCBub3QgYmUgc3RvcmVkIGFuZCB3aWxsIG5lZWQgdG8g YmUNCj4gPiA+IHJlLWVudGVyZWQNCj4gPiA+ICAqIGJlZm9yZSBhIGNhbGwgdG8gcnRlX2V0aF9k ZXZfc3RhcnQoKS4NCj4gPiA+DQo+ID4gPiBJdCBpcyBub3QgdmVyeSBjbGVhciBob3cgaXMgdGhp cyBleGFjdGx5IHJlbGF0ZWQgdG8gZmxvd3MgKGFuZCB0aGlzDQo+ID4gPiBhcHBsaWVzIGZvciBh bGwgdGhlIHF1b3RlZCBzZWN0aW9uLCBJIHRoaW5rKSBidXQgYXQgbGVhc3QgaXQgY2FuIGJlIHVz ZWQgYXMgYQ0KPiBjb3VudGVyIGFyZ3VtZW50Lg0KPiA+ID4NCj4gPiBJIGFncmVlIHRoZSBkb2Mg aXMgbm90IGNsZWFyLCBhcyBJIHNlZSBpdCBmbG93cyBhcmUgbm90IHBhcnQgb2YNCj4gPiBjb25m aWd1cmF0aW9uLCBhdCBsZWFzdCBub3Qgd2hlbiB3ZSBhcmUgdGFsa2luZyBhYm91dCBydGVfZmxv dy4NCj4gDQo+IEFncmVlLg0KPiANCj4gPg0KPiA+ID4gPg0KPiA+ID4gPg0KPiA+ID4gPiBNbHg1 IGFzc3VtZXMgZmxvd3MgYXJlIGFsbG93ZWQgdG8gYmUgY29uZmlndXJlZCBvbmx5IGFmdGVyDQo+ ID4gPiA+IHJ0ZV9ldGhfZGV2X3N0YXJ0KCkuIEJlZm9yZSBzdGFydCBcIGFmdGVyIHN0b3AgLSBu byBmbG93IGlzIHZhbGlkDQo+ID4gPiA+IGFueW1vcmUuDQo+ID4gPg0KPiA+ID4gSSBiZWxpZXZl IHRoYXQgdGhpcyBkaXNjdXNzaW9uIGlzIG5vdCBhYm91dCB2YWxpZGl0eSBvZiBmbG93cy4gTGV0 DQo+ID4gPiB0aGUgZmxvd3MgYmUgaW52YWxpZCBhZnRlciBjYWxsaW5nIHRvIHJ0ZV9ldGhfZGV2 X3N0b3AoKS4gVGhpcyBpcw0KPiA+ID4gT0ssIGZsb3dzIG11c3QgYmUgcmVjcmVhdGVkIGFuZCB0 aGUgYm9uZGluZyBkcml2ZXIgd29ya3MgdGhpcyB3YXkuDQo+ID4gPiBCdXQgd2h5IG5vdCAqYmVm b3JlIHN0YXJ0Kj8NCj4gPiBUaGluayBhYm91dCBpdCB0aGlzIHdheSBieSBjaGFuZ2luZyB0aGUg Y29uZmlndXJhdGlvbiB5b3UgbWF5IGNyZWF0ZQ0KPiA+IGludmFsaWQgZmxvd3MsIGZvciBleGFt cGxlLCB5b3UgY2FuIG9ubHkgY2hhbmdlIHRoZSBudW1iZXIgb2YgcXVldWVzDQo+ID4gYWZ0ZXIg cG9ydCBzdG9wLCBzbyBpZiB5b3UgY3JlYXRlIGEgZmxvdyB3aXRoIGp1bXAgdG8gcXVldWUgMyBh bmQgdGhlbg0KPiA+IHlvdSByZW1vdmUgcXVldWUgMyB0aGVuLCB0aGUgZmxvdyB0aGF0IGlzIGNh Y2hlZCBpcyBub3QgdmFsaWQgYW55bW9yZS4NCj4gPiBUaGlzIGdvZXMgZm9yIG90aGVyIGNvbmZp Z3VyYXRpb24gdGhhdCBtYXkgYWZmZWN0IHRoZSB2YWxpZGl0eSBvZiBhIGZsb3cuDQo+IA0KPiBU aGlzIGlzIGEgdmFsaWQgYXJndW1lbnQsIG9mIGNvdXJzZS4gVGhlIHRoaW5nIGlzIHdoZXRoZXIg aXQgaXMgYSByZXNwb25zaWJpbGl0eQ0KPiBvZiB0aGUgUE1EIHRvIHRha2UgY2FyZSBvZiB0aG9z ZSBjb3JuZXIgY2FzZXMgb3IgaWYgdGhpcyBpcyB1cCB0byB0aGUNCj4gYXBwbGljYXRpb24gZGV2 ZWxvcGVyLiBJZiB3ZSByZXNwZWN0IHRoZSBmYWN0IHRoYXQgY2FsbGluZyB0byBzdG9wIGludmFs aWRhdGVzIGFsbA0KPiBmbG93cyB0aGVuIHdoZW4geW91IGRvOg0KPiANCj4gID4gcG9ydCBzdG9w IDANCj4gID4gZmxvdyBjcmVhdGUgMCBpbmdyZXNzIHBhdHRlcm4gLi4uIC8gZW5kIGFjdGlvbnMg cXVldWUgNiAvIGVuZCAgPiBwb3J0IGNvbmZpZw0KPiByeHEgMyAgPiBwb3J0IHN0YXJ0IDANCj4g DQo+IGl0J3MgY2xlYXIgdGhhdCBzb21ldGhpbmcgaXMgcmVhbGx5IHdyb25nIHdpdGggdGhlIGNh bGxlci91c2VyLiBJIHdvdWxkIHNheSB0aGF0DQo+IHRoaXMgaXMgYW4gYXBwbGljYXRpb24gYnVn LiBJIHdvdWxkIGV4cGVjdCB0aGF0IHlvdSBmaXJzdCByZWNvbmZpZ3VyZSBwb3J0IGFuZA0KPiBh ZnRlciB0aGF0IHlvdSBtb2RpZnkgZmxvd3MuIEl0IHNlZW1zIHF1aXRlIGxvZ2ljYWwgYW5kIGlu dHVpdGl2ZSwgZG9lc24ndCBpdD8NCj4gDQoNCkkgYWdyZWUgdGhlIHVzZSBjYXNlIEkgZGVzY3Jp YmVkIGlzIGJhZCBwcm9ncmFtbWluZywgYnV0IHRoZSBzYW1lIGxvZ2ljIGNhbiBiZQ0KYXBwbGll ZCBvbiBzdG9wcGluZyB0aGUgcG9ydCB3aHkgZmxvd3Mgc2hvdWxkIGJlIGRlbGV0ZWQ/DQpBbmQg ZXZlbiBtb3JlIGltcG9ydGFudCBvbiBzb21lIEhXIGFuZCBzb21lIGZsb3dzIGNhbiBvbmx5IGJl IGluc2VydGVkIGFmdGVyDQpzdGFydCBzaW5jZSB0aGVyZSBpcyBubyByZWFsIHRyYWZmaWMgZ2F0 ZSwgYmFzaWNhbGx5IHRoZSBzdGFydCBtZWFucyBhZGRpbmcgdGhlIGZsb3dzDQppZiBhIGZsb3cg aXMgaW4gdGhlIEhXIGl0IGlzIHdvcmtpbmcsIGFkZGluZyBhIGdhdGUgd2lsbCByZXN1bHQgaW4g UFBTIGRlZ3JhZGF0aW9uLg0KDQo+IEFueXdheSwgdGhlIFBNRCBjYW4gcG9zc2libHkgY2F0Y2gg dGhpcyByeHEgaW5jb25zaXN0ZW5jeSBidXQgSSBjYW4gaW1hZ2luZQ0KPiB0aGF0IHRoZXJlIGFy ZSBtb3JlIGNvbXBsaWNhdGVkIHNpdGF0aW9ucyB0aGFuIGp1c3QgY2hhbmdpbmcgY291bnQgb2YN Cj4gcXVldWVzLiBBbnkgaWRlYSBmb3IgYSBtb3JlIGNvbXBsZXggcmVhbCBjYXNlPw0KPiANCg0K U29tZSBvZiB0aGUgcmVzb3VyY2UgbWF5IGJlIGNyZWF0ZWQgb25seSBhZnRlciBzdGFydCwNCkJ1 dCBJIGRvbid0IGhhdmUgYSB2ZXJ5IGdvb2QgZXhhbXBsZSBub3cuDQoNCj4gTWFydGluIEhhdmxp aywgY2FuIHlvdSBwbGVhc2UgY2hlY2sgaG93IGl4Z2JlIGFuZCBpNDBlIGJlaGF2ZSBpbiB0aGUg Y2FzZQ0KPiBhYm92ZSB3aXRoICJyeHEgY2hhbmdlIGFmdGVyIGZsb3cgY3JlYXRlZCI/DQo+IA0K PiA+DQo+ID4gPiBEb2VzIHNvbWVib2R5IGtub3cgaG93IG90aGVyIGRyaXZlcnMgYmVoYXZlcyBp biB0aGlzIHNpdHVhdGlvbj8gKFdlDQo+ID4gPiBrbm93IGFuZCBjYW4gY2hlY2sgZm9yIEludGVs LCB0aGVyZSBpdCBkb2VzIG5vdCBzZWVtIHRvIGJlIGFuDQo+ID4gPiBpc3N1ZS4pDQo+ID4gPg0K PiA+ID4gQnkgdGhlIHdheSwgdGhlIG1seDUgYmVoYXZpb3VyIG9wZW5zIGEgKHByb2JhYmx5IHNo b3J0KSB0aW1lIHdpbmRvdw0KPiA+ID4gYmV0d2VlbiBzdGFydGluZyBvZiBhIHBvcnQgYW5kIGNv bmZpZ3VhdGlvbiBvZiBmaWx0ZXJpbmcgZmxvd3MuIFlvdQ0KPiA+ID4gbWF5IHdhbnQgdG8gc3Rh cnQgdGhlIHBvcnQgd2l0aCB0aG91c2FuZHMgb2YgZmxvd3MgdGhhdCBhcHBseSBqdXN0DQo+ID4g PiB3aGVuIHRoZSBwb3J0IHN0YXJ0cyAobm90IGFmdGVyLCB0aGF0J3MgbGF0ZSkuIFRoaXMgbWF5 IGludHJvZHVjZQ0KPiA+ID4gZ2xpdGNoZXMgaW4gZmlsdGVyaW5nIGFuZCBtZWFzdXJpbmcgb2Yg dHJhZmZpYyAod2VsbCwgaXQgaXMgYSBxdWVzdGlvbiBob3cNCj4gc2VyaW91cyBpc3N1ZSBjb3Vs ZCBpdCBiZS4uLikuDQo+ID4gPg0KPiA+IEFncmVlIGJ1dCB0aGlzIGlzIGFsd2F5cyB0cnVlIG5v dGhpbmcgaXMgZG9uZSBpcyB6ZXJvIHRpbWUgYW5kIGV2ZW4gaWYNCj4gPiBpdCB3YXMgdGhlIGlu c2VydGlvbiBpcyBub3QgaW4gemVybyB0aW1lLCAoYXNzdW1pbmcgdGhhdCBldmVuIGlmIHRoZQ0K PiA+IGZsb3dzIGFyZSBzdG9yZWQgYnkgdGhlIFBNRCB1bnRpbCBzdGFydCB0aGV5IHN0aWxsIHdp bGwgbm90IGFsbCBiZQ0KPiA+IGluc2VydGVkIGluIHRoZSBzYW1lIHRpbWUpDQo+IA0KPiBTb3Jy eSwgSSBwcm9iYWJseSBkbyBub3QgdW5kZXJzdGFuZCB3ZWxsLiBZZXMsIGNyZWF0aW9uIG9mIGEg ZmxvdyB3b3VsZCBuZXZlcg0KPiBiZSB6ZXJvIHRpbWUsIGFncmVlLiBCdXQgaWYgSSBjcmVhdGUg Zmxvd3MgYmVmb3JlIHRoZSBwb3J0IHN0YXJ0cywgdGhhbiBJIGRvIG5vdA0KPiBoYXZlIHRvIGNh cmUgdG9vIG11Y2ggYWJvdXQgaG93IGxvbmcgdGhlIGNyZWF0aW9uIHRha2VzLiBCZWNhdXNlIHRo ZSBjYXJkIGlzDQo+IGV4cGVjdGVkIHRvIGJlIGNvbmZpZ3VyZWQgYWxyZWFkeSBiZWZvcmUgcHVz aGluZyB0aGUgInN0YXJ0IGJ1dHRvbiIuDQo+IA0KPiBNYXliZSwgeW91IGFzc3VtZSB0aGF0IHRo ZSBjcmVhdGVkIGZsb3dzIHdvdWxkIGZpcnN0IGJlIGNhY2hlZCBpbnNpZGUgdGhlDQo+IFBNRCBh bmQgd2hlbiB0aGUgcG9ydCBpcyBmaW5hbGx5IHN0YXJ0ZWQsIGl0IHRoYW4gdHJhbnNwYXJlbnRs eSB3cml0ZSB0aGUNCj4gcXVldWVzIHRvIHRoZSBIVy4gQnV0IHRoaXMgaXMgbm90IHdoYXQgSSB3 YXMgdGFsa2luZyBhYm91dCwgdGhhdCdzIG1heWJlIGV2ZW4NCj4gd29yc2UgYmVjYXVzZSB5b3Ug YXJlIGhpZGluZyBzdWNoIGJlaGF2aW91ciBmcm9tIHVzZXJzLi4uDQo+IA0KPiAoSSBkbyBub3Qg a25vdyB0aGUgZXhhY3QgbWx4NSBpbXBsZW1lbnRhdGlvbiBkZXRhaWxzLCBzbyBteSBhbnN3ZXIg Y2FuDQo+IG1pc3Mgc29tZXRoaW5nLCBzb3JyeSBmb3IgdGhhdC4pDQo+IA0KDQpZb3UgYXJlIGNv cnJlY3QgdGhpcyBpcyBIVy9QTUQgaW1wbGVtZW50YXRpb24gaXNzdWUsIGluIGNhc2Ugb2YgTnZp ZGlhIHdlIG11c3QNCmNhY2hlIHRoZSBmbG93cyBhbmQgb25seSBpbnNlcnQgaXQgYWZ0ZXIgc3Rh cnQuDQpTaW5jZSBSVEUgZmxvdyBpcyBnZW5lcmljIGFuZCBIVyBpcyBub3QgZ2VuZXJpYyBzb21l dGltZXMgdGhlIFBNRCBuZWVkcyB0bw0KdHJhbnNsYXRlIHRoaXMgZGlmZmVyZW5jZSBhbmQgaW4g dGhpcyBncmF5IGFyZWEgdGhlcmUgaXMgYSBnYW1lIGJldHdlZW4NCmJlc3QgQVBJIGJlc3QgcGVy Zm9ybWFuY2UgdW5kZXJzdGFuZGluZyB3aGF0IHRoZSB1c2VyIHJlYWxseSB3YW50cy4NClRoaXMg aXMgd2h5IHRoZSBkb2Mgc2hvdWxkIGJlIHZlcnkgY2xlYXIgb24gd2hhdCBpcyB0aGUgZXhwZWN0 ZWQuDQpidXQgdGhpcyBpcyBhbHNvIHRoZSByZWFzb24gd2h5IHN1Y2ggZG9jdW1lbnQgaXMgdmVy eSBoYXJkIHRvIGFncmVlIG9uLg0KDQpPcmkgDQo+ID4NCj4gPiA+IFRoaXMgbWF0dGVycyBmb3Ig dGhlIGJvbmRpbmcgY2FzZSBhcyB3ZWxsLCBkb2Vzbid0IGl0Py4gSXQgaXMgbm90DQo+ID4gPiBk ZXNpcmFibGUgdG8gYWNjaWRlbnRseSBvbWl0IGEgcGFja2V0IHRoYXQgd2FzIHJlY2VpdmVkIGJ5 IHByaW1hcnkNCj4gPiA+IGluZ3Jlc3MgbG9naWMgaW5zdGVhZCBvZiBiZWluZyByZWRpcmVjdGVk IGludG8gdGhlIGRlZGljYXRlZCBxdWV1ZS4NCj4gPiA+DQo+ID4gPiBBcmUgdGhlcmUgYW55IGNo YW5jZXMgdGhhdCBmb3IgbWx4NSBpdCB3b3VsZCBiZSBwb3NzaWJsZSB0byBpbnNlcnQNCj4gPiA+ IGZsb3cgcnVsZXMgYmVmb3JlIGNhbGxpbmcgcnRlX2V0aF9kZXZfc3RhcnQ/IEFueXdheSwgdGhl IGJlaGF2aW91cg0KPiA+ID4gc2hvdWxkIGJlIHNwZWNpZmllZCBhbmQgZG9jdW1lbnRlZCBpbiBE UERLIG1vcmUgcHJlY2lzZWx5IHRvIGF2b2lkDQo+ID4gPiBzdWNoIHVuY2VydGFpbnR5IGluIHRo ZSBmdXR1cmUuDQo+ID4gPg0KPiA+IEkgYWdyZWUgdGhlIGRvY3VtZW50YXRpb24gc2hvdWxkIGJl IGZpeGVkLg0KPiANCj4gKzENCj4gDQo+IEphbg0KPiANCj4gPg0KPiA+IE9yaQ0KPiA+ID4gSmFu DQo+ID4gPg0KPiA+ID4gPg0KPiA+ID4gPiBNYXRhbg0KPiA+ID4gPg0KPiA+ID4gPiA+ID4+IFNp Z25lZC1vZmYtYnk6IE1hcnRpbiBIYXZsaWsgPHhoYXZsaTU2QHN0dWQuZml0LnZ1dGJyLmN6Pg0K PiA+ID4gPiA+ID4+IENjOiBKYW4gVmlrdG9yaW4gPHZpa3RvcmluQGNlc25ldC5jej4NCj4gPiA+ ID4gPiA+PiAtLS0NCj4gPiA+ID4gPiA+PiAgIGRyaXZlcnMvbmV0L2JvbmRpbmcvcnRlX2V0aF9i b25kX3BtZC5jIHwgMjYNCj4gPiA+ID4gPiA+PiArKysrKysrKysrKysrKysrKystLS0tLS0tLQ0K PiA+ID4gPiA+ID4+ICAgMSBmaWxlIGNoYW5nZWQsIDE4IGluc2VydGlvbnMoKyksIDggZGVsZXRp b25zKC0pDQo+ID4gPiA+ID4gPj4NCj4gPiA+ID4gPiA+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9u ZXQvYm9uZGluZy9ydGVfZXRoX2JvbmRfcG1kLmMNCj4gPiA+ID4gPiA+PiBiL2RyaXZlcnMvbmV0 L2JvbmRpbmcvcnRlX2V0aF9ib25kX3BtZC5jDQo+ID4gPiA+ID4gPj4gaW5kZXggYTY3NTU2NjFj Li5mZWEzYmM1MzcgMTAwNjQ0DQo+ID4gPiA+ID4gPj4gLS0tIGEvZHJpdmVycy9uZXQvYm9uZGlu Zy9ydGVfZXRoX2JvbmRfcG1kLmMNCj4gPiA+ID4gPiA+PiArKysgYi9kcml2ZXJzL25ldC9ib25k aW5nL3J0ZV9ldGhfYm9uZF9wbWQuYw0KPiA+ID4gPiA+ID4+IEBAIC0xODE4LDI1ICsxODE4LDM1 IEBAIHNsYXZlX2NvbmZpZ3VyZShzdHJ1Y3QgcnRlX2V0aF9kZXYNCj4gPiA+ID4gPiA+PiAqYm9u ZGVkX2V0aF9kZXYsDQo+ID4gPiA+ID4gPj4NCj4gPiA+ID4gPiA+PiBydGVfZmxvd19kZXN0cm95 KHNsYXZlX2V0aF9kZXYtPmRhdGEtPnBvcnRfaWQsDQo+ID4gPiA+ID4gPj4NCj4gPiA+ID4gPiA+ PiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50ZXJuYWxzLQ0KPiA+ID4g PiA+ID5tb2RlNC5kZWRpY2F0ZWRfcXVldWVzLmZsb3dbc2xhdmVfZXRoX2Rldi0+ZGF0YS0+cG9y dF9pZF0sDQo+ID4gPiA+ID4gPj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICZmbG93X2Vycm9yKTsNCj4gPiA+ID4gPiA+PiArICAgIH0NCj4gPiA+ID4gPiA+PiAgICsgIC8q IFN0YXJ0IGRldmljZSAqLw0KPiA+ID4gPiA+ID4+ICsgICAgZXJydmFsID0gcnRlX2V0aF9kZXZf c3RhcnQoc2xhdmVfZXRoX2Rldi0+ZGF0YS0+cG9ydF9pZCk7DQo+ID4gPiA+ID4gPj4gKyAgICBp ZiAoZXJydmFsICE9IDApIHsNCj4gPiA+ID4gPiA+PiArICAgICAgICAgICAgUlRFX0JPTkRfTE9H KEVSUiwgInJ0ZV9ldGhfZGV2X3N0YXJ0OiBwb3J0PSV1LA0KPiA+ID4gPiA+ID4+ICsgZXJyDQo+ ID4gPiA+ID4gPj4gKCVkKSIsDQo+ID4gPiA+ID4gPj4gKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICBzbGF2ZV9ldGhfZGV2LT5kYXRhLT5wb3J0X2lkLA0KPiA+ID4gPiA+ID4+IGVycnZhbCk7 DQo+ID4gPiA+ID4gPj4gKyAgICAgICAgICAgIHJldHVybiAtMTsNCj4gPiA+ID4gPiA+PiArICAg IH0NCj4gPiA+ID4gPiA+PiArDQo+ID4gPiA+ID4gPj4gKyAgICBpZiAoaW50ZXJuYWxzLT5tb2Rl ID09IEJPTkRJTkdfTU9ERV84MDIzQUQgJiYNCj4gPiA+ID4gPiA+PiArDQo+ID4gPiA+ID4gPj4g KyBpbnRlcm5hbHMtPm1vZGU0LmRlZGljYXRlZF9xdWV1ZXMuZW5hYmxlZA0KPiA+ID4gPiA+ID4+ ID09IDEpDQo+ID4gPiA+ID4gPj4gKyB7DQo+ID4gPiA+ID4gPj4gICAgICAgICAgICAgIGVycnZh bCA9IGJvbmRfZXRoZGV2XzgwMjNhZF9mbG93X3NldChib25kZWRfZXRoX2RldiwNCj4gPiA+ID4g PiA+PiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNsYXZlX2V0aF9kZXYtPmRhdGEtPnBv cnRfaWQpOw0KPiA+ID4gPiA+ID4+ICAgICAgICAgICAgICBpZiAoZXJydmFsICE9IDApIHsNCj4g PiA+ID4gPiA+PiAgICAgICAgICAgICAgICAgICAgICBSVEVfQk9ORF9MT0coRVJSLA0KPiA+ID4g PiA+ID4+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImJvbmRfZXRoZGV2XzgwMjNhZF9m bG93X3NldDoNCj4gPiA+ID4gPiA+PiBwb3J0PSVkLCBlcnIgKCVkKSIsIHNsYXZlX2V0aF9kZXYt PmRhdGEtPnBvcnRfaWQsIGVycnZhbCk7DQo+ID4gPiA+ID4gPj4gKw0KPiA+ID4gPiA+ID4+ICsg ICAgICAgICAgICAgICAgICAgIGVycnZhbCA9DQo+ID4gPiA+ID4gPj4gcnRlX2V0aF9kZXZfc3Rv cChzbGF2ZV9ldGhfZGV2LT5kYXRhLT5wb3J0X2lkKTsNCj4gPiA+ID4gPiA+PiArICAgICAgICAg ICAgICAgICAgICBpZiAoZXJydmFsIDwgMCkgew0KPiA+ID4gPiA+ID4+ICsgICAgICAgICAgICAg ICAgICAgICAgICAgICAgUlRFX0JPTkRfTE9HKEVSUiwNCj4gPiA+ID4gPiA+PiArICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgInJ0ZV9ldGhfZGV2X3N0b3A6DQo+ID4gPiA+ID4g Pj4gKyBwb3J0PSVkLA0KPiA+ID4gPiA+ID4+IGVyciAoJWQpIiwNCj4gPiA+ID4gPiA+PiArDQo+ ID4gPiA+ID4gPj4gc2xhdmVfZXRoX2Rldi0+ZGF0YS0+cG9ydF9pZCwgZXJydmFsKTsNCj4gPiA+ ID4gPiA+PiArICAgICAgICAgICAgICAgICAgICB9DQo+ID4gPiA+ID4gPj4gICAgICAgICAgICAg ICAgICAgICAgcmV0dXJuIGVycnZhbDsNCj4gPiA+ID4gPiA+PiAgICAgICAgICAgICAgfQ0KPiA+ ID4gPiA+ID4+ICAgICAgfQ0KPiA+ID4gPiA+ID4+ICAgLSAgLyogU3RhcnQgZGV2aWNlICovDQo+ ID4gPiA+ID4gPj4gLSAgICBlcnJ2YWwgPSBydGVfZXRoX2Rldl9zdGFydChzbGF2ZV9ldGhfZGV2 LT5kYXRhLT5wb3J0X2lkKTsNCj4gPiA+ID4gPiA+PiAtICAgIGlmIChlcnJ2YWwgIT0gMCkgew0K PiA+ID4gPiA+ID4+IC0gICAgICAgICAgICBSVEVfQk9ORF9MT0coRVJSLCAicnRlX2V0aF9kZXZf c3RhcnQ6IHBvcnQ9JXUsIGVycg0KPiA+ID4gPiA+ID4+ICglZCkiLA0KPiA+ID4gPiA+ID4+IC0g ICAgICAgICAgICAgICAgICAgICAgICAgICAgc2xhdmVfZXRoX2Rldi0+ZGF0YS0+cG9ydF9pZCwN Cj4gPiA+ID4gPiA+PiBlcnJ2YWwpOw0KPiA+ID4gPiA+ID4+IC0gICAgICAgICAgICByZXR1cm4g LTE7DQo+ID4gPiA+ID4gPj4gLSAgICB9DQo+ID4gPiA+ID4gPj4gLQ0KPiA+ID4gPiA+ID4+ICAg ICAgLyogSWYgUlNTIGlzIGVuYWJsZWQgZm9yIGJvbmRpbmcsIHN5bmNocm9uaXplIFJFVEEgKi8N Cj4gPiA+ID4gPiA+PiAgICAgIGlmIChib25kZWRfZXRoX2Rldi0+ZGF0YS0+ZGV2X2NvbmYucnht b2RlLm1xX21vZGUgJg0KPiA+ID4gPiA+ID4+IEVUSF9NUV9SWF9SU1MpIHsNCj4gPiA+ID4gPiA+ PiAgICAgICAgICAgICAgaW50IGk7DQo+ID4gPiA+ID4gPj4NCj4gPg0KDQo=