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 56C02464C8 for ; Mon, 31 Mar 2025 15:54:15 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id DAEBA4065A; Mon, 31 Mar 2025 15:54:14 +0200 (CEST) Received: from NAM10-MW2-obe.outbound.protection.outlook.com (mail-mw2nam10on2060.outbound.protection.outlook.com [40.107.94.60]) by mails.dpdk.org (Postfix) with ESMTP id A540240650 for ; Mon, 31 Mar 2025 15:54:13 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=hgESG2I5jjKMOIKK7sQXmRf7WnPF6W2qKfkHw4e/Nkk4aN6/TTbdzJvpq3Usf2ScU6/cswOdq5rGf5Vj9O1kpQqxwudHJB1rB/hpv/ccyycqbxpJvI7rzEd2+dZk6bZNSfFbwNb6ZAdpAolT6qezR4gp71iEzEWhf+aLRjpHd1V05EDnqxNF5D1VPqJReBRd+UdnFt+CuOOgOqA8vfyHqugxIJRyRouggzm81o/WCjy6Jeq/Ssnv5U1Wn9hrPpWZBAPdK4TEnlzAeu0mBXxAleBZD8kfCzv4xSTB1aSsejURwvV0ft3vBTUoFk7H+oC0R1OVzufEdsoL1XXH9KVdHA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=2ahACNOIc+sH2PbKfCNAbFMdcAswkaqCpa5gHpUnj8E=; b=kazNjUU5C58gCw6EFwetukhFLmdVeDipxfTtkd1c6b4Ntr+A5By7rh0Mnjzpu7DvEJ41xq9Jf2IvQuin0+sZTgw8tJ1k+uFPUFFAh2rpUDbSWeOQ26im0dtAaIVp7fjBXQmBxLpEMti+qMs1fixEd2N7tJTmCQIvQWDsJ7OtWUc3k6kGjx4xMAyHqu6lmGFM+CmfNiYui8y1hgE8N2OK58Yrxd4wHivFj6CMmXz9/1CKSflBfKnfT+0HIMQM47m+hM8y0x0AX7h6vaR/2ja7wv6rYm0CbWjxffUwFXevutqF3VAUVVpWG1KJpOCGC0icpx7s+X9mzWDq2QcNsYwaww== 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=2ahACNOIc+sH2PbKfCNAbFMdcAswkaqCpa5gHpUnj8E=; b=sz3VIqAlWtxaeahXpdmRr+FL0MjluSXVjLoLK82Unu7V2OovkCGvhX4L2y+IpB1t8Q9t5bxwRgDlAouKRy6sxie2qobYTex2kyJ4cz6IHZXLOvQdjxu7mbjOF4x7WQVu/v6qGzm3+5muzpdi8h79BERQM6uAEWcORTugFSINTCgi2gkctEiC6cN9Y7WKrHjH6E6feJcEVCFLHqbQM4b3pcnX8a98jieDQ/AZXaT76+tO1wa44GZztoNyOftfDLdW+KISwTY678iZ34mTe5im514gT5VxTq9OIevM5h7bBE6MyR47rE5akaNC20tIfhqcFW+qUWUISZ0kprGbhkkgIQ== Received: from MN6PR12MB8567.namprd12.prod.outlook.com (2603:10b6:208:478::12) by CYXPR12MB9280.namprd12.prod.outlook.com (2603:10b6:930:e4::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.53; Mon, 31 Mar 2025 13:54:09 +0000 Received: from MN6PR12MB8567.namprd12.prod.outlook.com ([fe80::9bde:b697:6d6d:ee04]) by MN6PR12MB8567.namprd12.prod.outlook.com ([fe80::9bde:b697:6d6d:ee04%7]) with mapi id 15.20.8534.045; Mon, 31 Mar 2025 13:54:08 +0000 From: Slava Ovsiienko To: =?utf-8?B?THVrw6HFoSDFoGnFoW1pxaE=?= , "users@dpdk.org" Subject: RE: Determining vendor and model from the port ID Thread-Topic: Determining vendor and model from the port ID Thread-Index: AQHbnYpxZaNlbjCtnU+sTL37gP/wELOD+HSQgASM7YCABMeggA== Date: Mon, 31 Mar 2025 13:54:08 +0000 Message-ID: References: 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=nvidia.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: MN6PR12MB8567:EE_|CYXPR12MB9280:EE_ x-ms-office365-filtering-correlation-id: 4abe039b-e1db-4a36-e873-08dd705b824d x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; ARA:13230040|376014|366016|1800799024|38070700018; x-microsoft-antispam-message-info: =?utf-8?B?bi9LK25sdTUxMjdBZlErbzVBdjlCbXN0bXU2NjZDZm13SEtoUVBzZzA4U3Vo?= =?utf-8?B?NUxsVTlrS0VQaG1UcXFNb3Y5eGhhb05yUzI5d01IWUZuU2ZBa1RxOEY2aTlu?= =?utf-8?B?S2pNV2tpR1FqV3FvdnplTXZIM2xTcE8rcXoxYkdqU1hKb0RjaUVZeUlhT3NM?= =?utf-8?B?eHZQdDJLeXgwaklXSHluTCtNNnE0Z2NvVHFvME1yWUpxN3VMYzhIMjFXbFhr?= =?utf-8?B?cXc2VnV1bW5XMXYyWWhLRC9LQWVLY1VnbzJ0ZWlJSTBXNTk0TGkzN2ZGOUdp?= =?utf-8?B?Qy83c1ZJdUlXTWVWS1E1ZUxBQ05mVjhncVdEcGVuWDBhVTVQdTdCMWZUcmt1?= =?utf-8?B?aytVVmdwdjl2RnFzbmVWS1RyWC9WRVI5VHduSStsN3FVVjg5cEY1RlZ1RSts?= =?utf-8?B?VnVuQ21pSEgrOTMxeSsrK05OZGpZdFVDRzhYUU94VTFtS29sOHk5UUhGQ2tG?= =?utf-8?B?YUJ2ZVR4ZmFQRGU2eTNIaWkzZ2xIQnVHdlJiOWJNL2ZUSmk3V1J3UjEwb1RP?= =?utf-8?B?bWJQVzJUTnJPOGlhU2dLWTVtajBKeW9KY21lNGl6T1RMUzg4endJYVBlbHJY?= =?utf-8?B?cEpjci9qa0NVbWtkR0p0dTFFbEJIOGs5Q3Y5N09CM1dtTmZUZUlycVdnZlo4?= =?utf-8?B?VGN4UmhRbzlyRHc2ZjF6NVNlWVhOWW05dWRBb3hRTEdxUTIyOHpWbDRlMlBY?= =?utf-8?B?RjRwYk83alFwZWRwV3ZQM2draEtXakdHYXFac29jRWp3NFRWUng1aHJuckVa?= =?utf-8?B?Nko2dmNMakdNd0tRMzloWm40eTBxZG5NL2wyZmdGbExWbU5PR2h3UzEwZWVH?= =?utf-8?B?S0dCK2RxWUZ4dDBGZ29sRzRvYU1ndDRqOU5KdHRCYjlqU0VHdnhaWDQ3YzBK?= =?utf-8?B?OHovOFpPV21kTTY3UlZqRENFb0MwanUwR3I2NGs3WUN2Kzl5U0k0V083czV3?= =?utf-8?B?c0dMb2dYRHhoWlZLZFNuYlY2WGhnMnRmYi9KYjFjNmpYS1dGUVQwZ0xpV1RT?= =?utf-8?B?QkMxbVBEVUNtWmVoeE1leGxoeVEvRU9ONTdhZUFVUlNRSVFOQjRuK004WkZF?= =?utf-8?B?ZVBTQ245K3VYZkd1bzBHU3M1dnFESm9HVU5hSk94aGpwR3RSTjlFL25zd2gx?= =?utf-8?B?ampPRFFQSEs3QnRMVFQrcERmNkFBcVl5V1d4Y1J1S1Fad1NsY0pZVCsvR3Fw?= =?utf-8?B?MUFGSFhWcTVNV3RRREtQY1dnOVFMdGZGYW5xYy91c2E1akNkb3hlUmE3Nm53?= =?utf-8?B?V1BIRkFXQk9rdVBNTi9iRGNWd3JnSWowK0dXdmtZUjErc1JYZ1M2VkExQlBy?= =?utf-8?B?WUxRemw2WGdrdkpjTFVLREZ2UGozK0FncldqZElqV0Rpa096NC9BN0ZmY0lM?= =?utf-8?B?cThJOVJ1bmNUdFRDNEwxM1U5Mkp1eFFjdVE2NUxmbTFtUDhBVURmTk5OSFNj?= =?utf-8?B?ZEkrNnVrTHlVTGFZeWNTSmc2ODNYTXdNNDQvdk1kVktpenkzVElUVHNjN3pQ?= =?utf-8?B?YXpELzJFSnVFMWdDU2dObEJnRk1iRUdNY2V4Wm5xdENwS0ZUNGZOajZLTXpp?= =?utf-8?B?dy9VM0JuNzg0L2Y1WWlHUXNuOXpTaURxRi85WnNSdGhOcnpuUlBpTzN4NjJj?= =?utf-8?B?WFh5Sy9JUFZySXJyTGs5b0VTSUtZRE1NRWhlVjcrdVcwbUh2M2RaalpmdlU2?= =?utf-8?B?MWZhc3RKc1BabEJ0RTRrYjBoUjVZWGFQK0llR1hTTGJJQ1NkQXQ5MTFQRVZ3?= =?utf-8?B?U2pjQi9kcllmSVZFMEd6NzNPNHpvdVlldE5EdldhQ2RyZUcwSFV3VEIwbHhh?= =?utf-8?B?eUVqbzBlR0Y4QUZjQVA0ZWdGWVhWc29OenpjdTZOeTBHYXFia3g0SEY2YzU4?= =?utf-8?B?MEJPVWRRb25NMWFHdWcxREVvaW5WdUk5bUhNTWpvSDVxN2hmZk5NQXpoUkxo?= =?utf-8?B?RHJMTksxVnZkTUt3TTlTNkxiYndWcHRWZmZtMEZsYnVXVzgxK2paVTdkRUg0?= =?utf-8?Q?6BkmJSnDODs/Dcm4VdF3+1hfb0d0kk=3D?= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:MN6PR12MB8567.namprd12.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(376014)(366016)(1800799024)(38070700018); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?K1F6MVFESHRYbWVtU0dCWXhrMzFDQ2ErenNUdm9JRVFrTEJ5dmg3K3R2NkRI?= =?utf-8?B?bDhaUkRUZDRobTBsS2pKL2M1SU1HVmEyK0xRU3Z2SFNDWkJKN0JUcGRMcW56?= =?utf-8?B?TDJRaHozSEdCNVIyWVZ1UndhYnlUandiMkpiYnF3UTRlM2I0dDR4K2dNR05R?= =?utf-8?B?MFdqWnUzL1Q2MzBHMkw0MVBCMW5JUDZpdlRxRlFrcFphaUZaeDNKL0o5bytO?= =?utf-8?B?S1NReUJObFc4Um9VaWtESU8wbGZRWmdBMGZrcDNIcGZza0wxSHZaVjlyTzB1?= =?utf-8?B?MkQwcXNNZWhjYXhtc0RPKzIrY04yaHBvQmVoWEZoVy96M2x3S1VWck16L1NN?= =?utf-8?B?TUJTYlFHMFUrYk1sMElTSlBvSFkra0txeXlTNDdrRWtWaTRwMTF2eHkxYzJW?= =?utf-8?B?Q0x6aTFobjRJQXBaNFRmREF6UmczTGcrTE5JWWtWRFB4L2VBVTU1dVRiTjBu?= =?utf-8?B?ODVNZ0RDcTcxOXJFVmxpZFl4QUlTNm5xaW4weWREZnlRM2ZQYlJkU1l5dTc0?= =?utf-8?B?eDY5MUJmbjQxNnFOY1VBcEYyakk0UWJMejFJNGlsK3VKd0hlSmZmQ1BmK2lN?= =?utf-8?B?ell0blR0NHp2NjQ0bWlLNkJRbmpwbDJFSXJpcmdtK0FMbSswaUNIbHh3Qm81?= =?utf-8?B?Z2NpdzhaRUZVSStNUFY2RjN6amRhVnVNNG9RL3VGdmt3aEZhZm1UL3F4OHMv?= =?utf-8?B?amNLOURjQmhYbFd3UmJDdko0VHpFVFZkV0Q3d3JZUXk4QldPVldwbGpmaUZh?= =?utf-8?B?dVY3ODQrd05QZmtTQzNkeGY4OEo1SlhGb1JNVGxldm56UThyblYvekZFam5N?= =?utf-8?B?Z1g2QlZwd0dkTEdIZk9pZHdkYkhqZ1NVUjJDdUZHeS9ablE0MEt4cVVZN1Vj?= =?utf-8?B?M253aXVoWllJdlRQdklNTzhTWFB3QlhXUjJ2UFhSdkV6N0ovV01Wdm8ySk8w?= =?utf-8?B?OVdlK1gwTWRoNGZzR3d3cksraE4wbGk2VVRqUXlGSjhrYnlydS9NT2NkYjB1?= =?utf-8?B?NDJqWHlRVWswb0FFV2FXaTRzSlpwNGFBTHduay95dFVxaTRYcUZMeWY1Y1Qw?= =?utf-8?B?TytHeGRaUXhPdEdNT1NDVDVmUHpCS3BQcEp6VU5KaXVKTTNraFU5SSs5eklu?= =?utf-8?B?QldycUVrTjRZYWJ5ODNKS0MxamFUMk96Rld4NHRvM3JPUkdJMTFsUURldU5O?= =?utf-8?B?VkM5N1J4YkE4TlhKTjNmUVRWMkpqNklXZkJMRkJNZm42dURaaFYyVmJ1MVRx?= =?utf-8?B?RXNSaTc5U3FNWWFXMURYd0h5K0x6VEM5Sy9aaHZwMmF0eU5QdUlDaFVseWVV?= =?utf-8?B?cmo5cVdNOXcxSi81c0tRZFVQUXRkSm9nK1pVTnErVFlWdkhHRzk3TjVpRVY2?= =?utf-8?B?VkNZZGY0ak45L09XU0tuQ3h5RnBEY0M3MXJ6TjdpeXNXNEpocmhmdC9XVjNR?= =?utf-8?B?M25OTjB5V1h0dmVRUTNUdkFOWk9XMDNDVENGQmRxWlR2VCt3Q0ZpY2JyUklI?= =?utf-8?B?eCt2WDJ5aytrU0dPMCtBVENvcHdCZXB0L2ZYWk05em1WY055K0ZweGFrZHJy?= =?utf-8?B?Q1AxcUJnM1JiRDhxeStDUXZZaUp0ZExRaE5DMXd0R1JlU2lHT3VCdnEyaWdB?= =?utf-8?B?N3J4K2k2MXRGeFh2S2dZQWVSUjM4ckxpR3dnOHcwTjY5QmtpZjIyRTkzazBy?= =?utf-8?B?Y2hzckpRT3JPZGdNT1hJb3ppTVZ4bWdQNG1WQSt0MjdaSlFTazNXeVd5TTFs?= =?utf-8?B?NUVmVURrb1BlTmp2L1AwYXRERDc0SUlkWXIybTJpZjBnUXNBMitQNUlFRGhX?= =?utf-8?B?eWFrL1Ntd20wVU9OZ25mOENXOW9oMEJjcnIyRkVIT2FqTkp3T3FDdGhjRy9I?= =?utf-8?B?c0t5KzRYSUd1RkgzSTg5YkJNTlFUanptbzlkcmFHZFNJYU1hTzVzeFN5K1Vo?= =?utf-8?B?eWNhbUcvd3hXSk1JV1pkelNza0U0OFpQRzh5Vk9zYXFpVVV1cUxkUzcxNno4?= =?utf-8?B?aGdxV0s0TWRWVDUwamJiaHdkUURjSW1RaFpaTXdQeTA2Q3JZYkVMMHBrbG5J?= =?utf-8?B?UzlFWEtEUXVkNm42OE52U0dzNEtSRlF0QytOSmlxNGd1SkNwY092YUJYV1Ra?= =?utf-8?Q?hIOH9vYY34mFSrn0Ij/FRa6iC?= 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: MN6PR12MB8567.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 4abe039b-e1db-4a36-e873-08dd705b824d X-MS-Exchange-CrossTenant-originalarrivaltime: 31 Mar 2025 13:54:08.6867 (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: v9LYzeY5xTLuaM3i4Ya71J9cDMb2KqyncbCeFuawyvHOZU3lhkeaFx0HUK8TqNWI3MJq2vL8Y5LSHhhf2H09NA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CYXPR12MB9280 X-BeenThere: users@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK usage discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: users-bounces@dpdk.org SGksIEx1a2FzDQoNClRoYW5rIHlvdSBmb3IgdGhlIGNvbmZpcm1hdGlvbi4NCg0KPiBEbyB5b3Ug dGhpbmsgdGhpcyBjYW4gYmUgY2hhbmdlZCBvZmZpY2lhbGx5IGluIHRoZSBEUERLIHZlcnNpb25z Pw0KWWVzLCBub3cgY29uc2lkZXJpbmcgdGhlIG9mZmljaWFsIHBhdGNoIHRvIGhhdmUgdGhpcyBt aXRpZ2F0aW9uLg0KQW5kLCBpbiBhZGRpdGlvbiwgdGhlIGNvbnZlcnNpb24gZXJyb3JzIHRvIHdh cm5pbmdzIGxpa2UNCiJUaGUgcmVxdWVzdGVkIHF1ZXVlIGNhcGFjaXR5IGlzIG5vdCBndWFyYW50 ZWVkIi4NCg0KV2l0aCBiZXN0IHJlZ2FyZHMsDQpTbGF2YQ0KIA0KPiAtLS0tLU9yaWdpbmFsIE1l c3NhZ2UtLS0tLQ0KPiBGcm9tOiBMdWvDocWhIMWgacWhbWnFoSA8c2lzbWlzQGNlc25ldC5jej4N Cj4gU2VudDogRnJpZGF5LCBNYXJjaCAyOCwgMjAyNSAyOjUyIFBNDQo+IFRvOiBTbGF2YSBPdnNp aWVua28gPHZpYWNoZXNsYXZvQG52aWRpYS5jb20+OyB1c2Vyc0BkcGRrLm9yZw0KPiBTdWJqZWN0 OiBSZTogRGV0ZXJtaW5pbmcgdmVuZG9yIGFuZCBtb2RlbCBmcm9tIHRoZSBwb3J0IElEDQo+IA0K PiBIaSBTbGF2YSwNCj4gDQo+IHRoYW5rcyBmb3IgeW91ciByZXBseSAoYW5kIGEgZGV0YWlsZWQg ZXhwbGFuYXRpb24hKSwgdGhlIHBhdGNoIHdvcmtzIGFuZA0KPiBJIGNhbiBzZWUgMzJrLWxvbmcg UlgvVFggcXVldWVzIGNvbmZpZ3VyZWQgb24gdGhlIENvbm5lY3RYLTQgY2FyZC4NCj4gKE1DWDQx NkEtQ0NBVCkgLSBJIHRyaWVkIGl0IG9uIERQREsgdjI0LjExLjENCj4gRG8geW91IHRoaW5rIHRo aXMgY2FuIGJlIGNoYW5nZWQgb2ZmaWNpYWxseSBpbiB0aGUgRFBESyB2ZXJzaW9ucz8NCj4gDQo+ IFRoYW5rIHlvdS4NCj4gDQo+IEJlc3QsDQo+IA0KPiBMdWthcw0KPiANCj4gT24gMy8yNS8yNSAy Mjo1NywgU2xhdmEgT3ZzaWllbmtvIHdyb3RlOg0KPiA+IEhpLCBMdWthcw0KPiA+DQo+ID4gU29t ZSBvbGRlciBOSUNzIChkZXBlbmRpbmcgb24gSFcgZ2VuZXJhdGlvbiBhbmQgb24gRlcgY29uZmln dXJhdGlvbikNCj4gbWF5IHJlcXVpcmUNCj4gPiB0aGUgcGFja2V0IGRhdGEgdG8gYmUgaW5saW5l IChpbmNhcHN1bGF0ZWQpIGludG8gdGhlIFdRRSAoaGFyZHdhcmUNCj4gZGVzY3JpcHRvciBvZiB0 aGUgVHggcXVldWUpDQo+ID4gdG8gYWxsb3cgc29tZSBzdGVlcmluZyBlbmdpbmUgZmVhdHVyZXMg d29yayBjb3JyZWN0bHkuIFRoZSBtaW5pbWFsIG51bWJlcg0KPiBvZiBieXRlcyB0byBiZSBpbmxp bmUNCj4gPiBpcyBvYnRhaW5lZCBieSBEUERLIGZyb20gRlcgKGl0IHJlcG9ydHMgdGhlIG5lZWRl ZCBMMi9MMy9MNC90dW5uZWwNCj4gaGVhZGVycyBhbmQgbWx4NSBQTUQNCj4gPiBjYWxjdWxhdGVz IHRoZSBzaXplIGluIGJ5dGVzKSwgYW5kIHRoZSBtaW5pbWFsIGlzIDE4QiAoaWYgYW55KS4NCj4g Pg0KPiA+IFRoZW4sIHRoZSBUeCBxdWV1ZSBoYXMgYWJzb2x1dGUgbGltaXRhdGlvbiBmb3IgbnVt YmVyIG9mIGRlc2NyaXB0b3JzLCBmb3INCj4gQ1g0LzUvNi83IGl0IGlzIDMySw0KPiA+ICh0eXBp Y2FsIHZhbHVlLCBhbHNvIHF1ZXJpZWQgZnJvbSBGVyAoZGV2X2NhcC5tYXhfcXBfd3IpLiBBcHBs aWNhdGlvbiBhbHNvDQo+IGFza3MgZm9yIHRoZSBnaXZlbg0KPiA+IFR4IHF1ZXVlIGNhcGFjaXR5 LCBzcGVjaWZ5aW5nIHRoZSBudW1iZXIgb2YgYWJzdHJhY3QgZGVzY3JpcHRvciwgdG8gbWFrZQ0K PiBzdXJlIFR4IHF1ZXVlIGNhbiBzdG9yZQ0KPiA+IHRoZSBnaXZlbiBudW1iZXIgb2YgcGFja2V0 cy4gRm9yIHRoZSBtYXhpbWFsIGFsbG93ZWQgcXVldWUgc2l6ZSB0aGUNCj4gdHhxX2NhbGNfaW5s aW5lX21heCgpDQo+ID4gcm91dGluZSByZXR1cm5zIDEyQiAoTUxYNV9EU0VHX01JTl9JTkxJTkVf U0laRSkuIFRoaXMgaXMgdGhlIG1heGltYWwNCj4gbnVtYmVyIG9mIGlubGluZSBieXRlcw0KPiA+ IHRvIGtlZXAgV1FFIHNpemUgc21hbGwgZW5vdWdoIGFuZCBndWFyYW50ZWUgdGhlIHJlcXVlc3Rl ZCBudW1iZXIgb2YNCj4gV1FFcyB3aXRoaW4gcXVldWUNCj4gPiBvZiBsaW1pdGVkIHNpemUuDQo+ ID4NCj4gPiBTbywgaXQgc2VlbXMgQ29ubmVjdFgtNCBvbiB5b3VyIHNpdGUgcmVxdWlyZXMgMThC IG9mIGlubGluZSBkYXRhLCBidXQgZm9yIHRoZQ0KPiBtYXhpbWFsIHF1ZXVlIHNpemUNCj4gPiB0 aGUgV1FFIHNpemUgaXMgNjRCIGFuZCB3ZSBjYW4gaW5saW5lIG9ubHkgMTJCLiBUaGUgZ29vZCBu ZXdzIGlzIHRoYXQNCj4gdHhxX2NhbGNfaW5saW5lX21heCgpDQo+ID4gZXN0aW1hdGlvbiBpcyB0 b28gY29uc2VydmF0aXZlLCBhbmQgaW4gdGhpcyByZWFsaXR5IHdlIGNhbiBpbmxpbmUgMThCLiBJ IHRoaW5rDQo+IHdlIGNhbiByZXBsYWNlIHRoZQ0KPiA+IE1MWDVfRFNFR19NSU5fSU5MSU5FX1NJ WkUgd2l0aCBNTFg1X0VTRUdfTUlOX0lOTElORV9TSVpFIGluIHRoZQ0KPiB0eHFfY2FsY19pbmxp bmVfbWF4KCkNCj4gPiBhbmQgdHJ5LiBDb3VsZCB5b3UsIHBsZWFzZSA/DQo+ID4NCj4gPiBkaWZm IC0tZ2l0IGEvZHJpdmVycy9uZXQvbWx4NS9tbHg1X3R4cS5jIGIvZHJpdmVycy9uZXQvbWx4NS9t bHg1X3R4cS5jDQo+ID4gaW5kZXggM2U5MzUxNzMyMy4uMTkxMzA5NGU1YyAxMDA2NDQNCj4gPiAt LS0gYS9kcml2ZXJzL25ldC9tbHg1L21seDVfdHhxLmMNCj4gPiArKysgYi9kcml2ZXJzL25ldC9t bHg1L21seDVfdHhxLmMNCj4gPiBAQCAtNzM5LDcgKzczOSw3IEBAIHR4cV9jYWxjX2lubGluZV9t YXgoc3RydWN0IG1seDVfdHhxX2N0cmwgKnR4cV9jdHJsKQ0KPiA+ICAgICAgICAgICAgICAgICAg ICAgTUxYNV9XUUVfRVNFR19TSVpFIC0NCj4gPiAgICAgICAgICAgICAgICAgICAgIE1MWDVfV1NF R19TSVpFIC0NCj4gPiAgICAgICAgICAgICAgICAgICAgIE1MWDVfV1NFR19TSVpFICsNCj4gPiAt ICAgICAgICAgICAgICAgICAgTUxYNV9EU0VHX01JTl9JTkxJTkVfU0laRTsNCj4gPiArICAgICAg ICAgICAgICAgICAgTUxYNV9FU0VHX01JTl9JTkxJTkVfU0laRTsNCj4gPiAgICAgICAgICByZXR1 cm4gd3FlX3NpemU7DQo+ID4gICB9DQo+ID4NCj4gPiBXaXRoIGJlc3QgcmVnYXJkcywNCj4gPiBT bGF2YQ0KPiA+DQo+ID4NCj4gPg0KPiA+PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+ PiBGcm9tOiBMdWvDocWhIMWgacWhbWnFoSA8c2lzbWlzQGNlc25ldC5jej4NCj4gPj4gU2VudDog VHVlc2RheSwgTWFyY2ggMjUsIDIwMjUgMzozMyBQTQ0KPiA+PiBUbzogdXNlcnNAZHBkay5vcmc7 IERhcml1c3ogU29zbm93c2tpIDxkc29zbm93c2tpQG52aWRpYS5jb20+OyBTbGF2YQ0KPiA+PiBP dnNpaWVua28gPHZpYWNoZXNsYXZvQG52aWRpYS5jb20+DQo+ID4+IFN1YmplY3Q6IERldGVybWlu aW5nIHZlbmRvciBhbmQgbW9kZWwgZnJvbSB0aGUgcG9ydCBJRA0KPiA+Pg0KPiA+PiBIZWxsbyBh bGwsDQo+ID4+DQo+ID4+IEkgYW0gdHJ5aW5nIHRvIGRldGVybWluZSB3aGF0IGlzIHRoZSB2ZW5k b3IgYW5kIG1vZGVsIG9mIHRoZSBwb3J0IElEDQo+ID4+IHRoYXQgSSBhbSBpbnRlcmFjdGluZyB3 aXRoIGJ1dCBhbGwgcmVmZXJlbmNlcyBsZWFkIG1lIHRvIGFuIG9ic29sZXRlIEFQSS4NCj4gPj4N Cj4gPj4gVGhlIGdvYWwgaXMgdG8gZXhlY3V0ZSBzcGVjaWZpYyBjb2RlIG9ubHkgd2hlbiBJIGFt IGRlYWxpbmcgd2l0aA0KPiA+PiBNZWxsYW5veCBDb25uZWN0WC00LWZhbWlseSBjYXJkcy4gTG9u Z2VyIGV4cGxhbmF0aW9uIGJlbG93Lg0KPiA+Pg0KPiA+PiBJIHdvdWxkIGxpa2UgdG8gYWNjZXNz ICJzdHJ1Y3QgcnRlX3BjaV9pZCIgYnV0IGl0IGFsd2F5cyBzZWVtcyBoaWRkZW4NCj4gPj4gb25s eSBvbiB0aGUgZHJpdmVyIGxldmVsLg0KPiA+Pg0KPiA+PiBJcyB0aGVyZSBhbnkgd2F5IGhvdyB0 byBhcHByb2FjaCB0aGlzPw0KPiA+Pg0KPiA+Pg0KPiA+PiBMb25nZXIgZXhwbGFuYXRpb24gb2Yg dGhlIHByb2JsZW06DQo+ID4+DQo+ID4+IEluIGh0dHBzOi8vZ2l0aHViLmNvbS9PSVNGL3N1cmlj YXRhL3B1bGwvMTI2NTQgSSBhbSB1c2luZyBkZXZfaW5mbyB0bw0KPiA+PiBnZXQgdGhlIG1heGlt dW0gbnVtYmVyIG9mIGFsbG93ZWQgVFggZGVzY3JpcHRvcnMgZm9yIHRoZSBwb3J0IHRoYXQgaXMN Cj4gPj4gYWR2ZXJ0aXNlZCBieSB0aGUgUE1ELiBCdXQgd2hlbiBJIHNldCB0aGUgYWN0dWFsIG51 bWJlciBvZiBUWA0KPiA+PiBkZXNjcmlwdG9ycyB0aGVuIHRoZSBkcml2ZXIgY29tcGxhaW5zICJt aW5pbWFsIGRhdGEgaW5saW5lIHJlcXVpcmVtZW50cw0KPiA+PiAoMTgpIGFyZSBub3Qgc2F0aXNm aWVkICgxMikgb24gcG9ydCAwLCB0cnkgdGhlIHNtYWxsZXIgVHggcXVldWUgc2l6ZQ0KPiA+PiAo MzI3NjgpIi4gSG93ZXZlciwgdGhpcyBwcm9ibGVtIG9jY3VycyBvbmx5IG9uIENvbm5lY3RYLTQg ZmFtaWx5IGFuZCBub3QNCj4gPj4gb24gQ1g1LzYvNyAodGhhdCdzIHdoeSBJIGNhbm5vdCBsaW1p dCB0aGlzIHRvIGp1c3QgbWx4NSBQTUQpLg0KPiA+Pg0KPiA+PiBBbHRlcm5hdGl2ZWx5LCBjYW4g dGhpcyBiZSBmaXhlZC9hZGRyZXNzZWQgZGlyZWN0bHkgaW4gdGhlIE1MWDUgUE1EPw0KPiA+PiBN TFg1IFBNRCBuZWVkcyB0byBhZHZlcnRpc2UgMTYzODQgVFggZGVzY3JpcHRvcnMgYXMgdGhlIG1h eGltdW0gb25seQ0KPiBmb3INCj4gPj4gQ29ubmVjdFgtNCBmYW1pbHkuDQo+ID4+IChQdXR0aW5n IERhcml1cywgVmlhY2hlc2xhdiBpbiB0aGUgbG9vcCwgcGxlYXNlIHJlYXNzaWduIGlmIG5lZWRl ZCkNCj4gPj4NCj4gPj4gVGhhbmsgeW91Lg0KPiA+Pg0KPiA+PiBCZXN0LA0KPiA+Pg0KPiA+PiBM dWthcw0K