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 3923D43EB0 for ; Fri, 19 Apr 2024 14:31:27 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id EC54740633; Fri, 19 Apr 2024 14:31:26 +0200 (CEST) Received: from NAM10-MW2-obe.outbound.protection.outlook.com (mail-mw2nam10on2063.outbound.protection.outlook.com [40.107.94.63]) by mails.dpdk.org (Postfix) with ESMTP id 4E20E402DF for ; Fri, 19 Apr 2024 14:31:25 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=M5Hvdt8eH7+GzqA5sWjE9QNDK8H/omFP4G06Wm/OqriRfzdKNKvCB6PQPomnYDaKjMEQdBQFBNaXaI3vkqNxgJBwAaX82c9hX/BQIfotcDQzVpwGX3C3ye2twVt81M1VWDhvX9NXCGLnCrsFJJX9hUsq/zi8ffHmOr5xBj6gT2h1DBIqoghW1iEaTT4/3lSgnIDCZ9fkd850EwAsm136pN3r/qbW4AdmXangKZb1A8QPlM1iqoMO0iA5GgIkUuG5zKJwhmtBd0IF2fy2T4KY7a0LHuh4vk6eBvl7Gc1G+p+PjZeir1JDPdUyO7XUjpjXwMsL/TySGJKrmJpUrayTXw== 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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=1dtuUgP8TUZi1QRhE0VyjknJSDWZFHv1/WYSvdD+1n8=; b=cFmbWfsSttpjGqhMjnPfyW+X1/b6tLAvPA10uwcO3FIQhSgXLzObQWFRVKIAYnw899OF7uVzOSjSBZVmqWMSWEKe/EwLIdrWj0lXbVYCq0970s3bVsUIbAFMXH+b8MWr+3ncWCWHtMkDFokHV5C3x/j2LoodBNEaMyZSoBFn3nTltcoNZS6PH6AIah+iMv5IigXGnL0hT78eFON2JogafrSBVLTSO+3KzZzlvPz0Kkdtm12ICFo4x6eHqSv2F/1IVkTVp3O0Y5wJpwIYNQ2TmxIVZuA6HntOmaOwBR9zubPjmSyH/CMvjbFWFyXeeLCb/Ir7eNq8JkwWDlYQUHyHhg== 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=1dtuUgP8TUZi1QRhE0VyjknJSDWZFHv1/WYSvdD+1n8=; b=W4pXCn7qEYEcjMmJ7UalPp73R/ugkBB6mPQprl9d/Zu0sra/FYU1JhCYtOaKkx9LUhDbPgGVarN/qO/KanDmdf7ZKK8MZor+dbpJ2duHBIcksm34JKBETDjd5Y9w8xWO9max/N64liGSp75anBEdHK091Fpj4EaJRFoer3wsPDEWGXs7gxPhlUaT31tL3UzEYSsfQcf25Sk04KnkA7OHrBD6Ihy8/sQ1Ua6y1mIXh+U953qHdWAX5ttd9RRdiVomavDN6vXioM6svnxPor6QsQOJOMgSwu7Qb7QaLliKTFMy4JnmemQTBT0+NVklyWBkqJHYC0QA8DhvfYqX/5FiSQ== Received: from PH0PR12MB8800.namprd12.prod.outlook.com (2603:10b6:510:26f::12) by SA1PR12MB7444.namprd12.prod.outlook.com (2603:10b6:806:2b3::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.33; Fri, 19 Apr 2024 12:31:19 +0000 Received: from PH0PR12MB8800.namprd12.prod.outlook.com ([fe80::cbb1:eefb:c4e0:f710]) by PH0PR12MB8800.namprd12.prod.outlook.com ([fe80::cbb1:eefb:c4e0:f710%7]) with mapi id 15.20.7472.037; Fri, 19 Apr 2024 12:31:19 +0000 From: Dariusz Sosnowski To: Rubens Figueiredo CC: "users@dpdk.org" Subject: RE: Trex with mlx5 driver - Multiple streams with different VLAN priority causes high CPU utilization Thread-Topic: Trex with mlx5 driver - Multiple streams with different VLAN priority causes high CPU utilization Thread-Index: AQHakOmjGjpWHVOnGEa0grba4RrP3bFt+ZwAgAALJICAADY70A== Date: Fri, 19 Apr 2024 12:31:19 +0000 Message-ID: References: <7efda351-e554-4120-5a61-3b0a534189e2@bisdn.de> <0afcef7d-08a5-5696-ef13-a1ba4ad9ace2@bisdn.de> 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: PH0PR12MB8800:EE_|SA1PR12MB7444:EE_ x-ms-office365-filtering-correlation-id: 2161e5e6-74b5-46e3-e5e9-08dc606c9d62 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 5FoYPGwOEhNiGHNTLCj2D3eGCdbd2UgiUOZTVwNqHPt76sdnCehhhj4L3b0NP+SNgcCTlTkMwsK8ezo59xCcnaXbO5D/rZWoOOuYYnY6CW+M9ng46JAxWp5Ls1J39BqoSeWzQaqAXRDwJXuT5n8GSdWpkyoxMLpxPv43pyjOxVDaJDBwf3fuT9SlmjhRtSDJPKoIPdPzsUjqLWyT6gKvPgXKYfRignQNVdzYo0vx/qlCntSY/RAEz0CcEc//ymFYgJHw58g2UJ7r2W+kduTRo7Qc/cz40IdALJ9eMnFGWGlsbiQTtDdrYFzb+A4AIcrB82fVMIy1kZCc/Y+0mT6jDa6EE0AeMVKXZRY5T2bykJgr0gd4KTC3tNA9pQAxzUQzI/7gGk0ZK5vN1aMQ5LYefCbX6dlRQG/CcM6M4tXwituYNOxLbxplvpY5QSu+xgeobkI+BK2GNhcX8xYuVz4C9L/7N9Gm7K8Eo2WOQF7+NQCHGHqCZlXxemnFVib8OwRFzHwsTtc1+979NiLOMGFCUEufvpvr9RqSJPFw+BwY8wrFL6baIKPE9S3jC8TcAjWPg/BWIXm9EkDVsltQ8HfkaAU+EMwTIN3Ke1Ug0/pP76Er6VvxgB/G+ZcFihkJmQs1SQgmSwycBgoGgJu5yPt2uNCBjmdrirJ3KSTu9RXFC+vxutpuEXJP/B4FbnFrg01MrTqHpyv12eCJDRVq1ziaV8hJiLkb8mk9NiFE0b9yT8k= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:PH0PR12MB8800.namprd12.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230031)(366007)(1800799015)(376005)(38070700009); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?czgrN2RhL0RWUWh5KzUzMVExVUVGVlF4OHZIbXFEcUltM2NDTSs2MEh4RE84?= =?utf-8?B?WUhIWlJBaHVndnlPb1pNQzVGOUpwdVRyOTlYZ1dkcGJJVFJ6YUpEU1YvOUNs?= =?utf-8?B?Q1ZjcWpPci9XNEN6dEljQU91MmFvd0Z1djQ2ajZ4UHZrSEdKaXI3YmRtekw2?= =?utf-8?B?dGRrbThWNm1DWmRJdDZFNzhXZmMxY0FpVnVZZ3NWTzBRVldldGREdmNwU3d5?= =?utf-8?B?NGZXalV1UUovdStyMHNWS0hpTmo5MnVhMC91eEVPS1h3NE4rc3VTMG5qc0V0?= =?utf-8?B?U2RQWjA0a0YvN3lhVzZOUnJKbENCb29wWlZ2cnhuTjhueUtJb2h0ZW8xbzRT?= =?utf-8?B?ZjExQXVjYWxFdjVLQ2NOR2JQU0ZKbUlkbi8yUkdDaDh2Wlh6VnBVSDFIK0dE?= =?utf-8?B?L2plTm9rWmFSTGhOV1NXN3BYYUxMMWw5UjdiNCthYmxEUlMvT2RyNWNHai9U?= =?utf-8?B?clJVckozczg0Z2txdGlkTmFpMjJWRk1ENys3cTZtTFluWWIwOHQxbE9KU0Z3?= =?utf-8?B?eXFhb044YUQ0b0hiS1dhRjZrZFJUSlNDTWJWOXVBTElqMGk2TzlQNTRsdmRR?= =?utf-8?B?d2VQQXFoRFFITGM1NWZqWkg5SElMb2FQMzEzcm5uWnFjc0Fha0RXbnp5YVFw?= =?utf-8?B?MHNGUXVVSUVhUzBzSDlOeGQ3eGtla09oQTZoVG9Gd0VIUFM5QXJ3enBqVS9G?= =?utf-8?B?V01QQVhLRUYxbFZpUFEwS2dBeFA0c2Yyd3ZVMzlQSEY0SjlEdGRYRnc4cjBZ?= =?utf-8?B?R1hPallJKzU4VmVPM0dEZ2tFZGp5YTBDTm9zeGh3dlZtUmVYMHFvY25kY0RI?= =?utf-8?B?c2liT0g1bzRJa3BQUGl3QnM1ZHVKczFlaW1NSmVtOVl1TGduOFVVY3dOR2dL?= =?utf-8?B?alVRVmo5dmhrYjlOSkdQWFBFZ3cwMDdqZUZrVUdBeUQ5ckF3ZkdwcmUxZHph?= =?utf-8?B?aC9FbjlEZS85bzJQZnRBYndJSGpMYW5UVXpRblhUWXErY2FHRW0yYzEzRnhw?= =?utf-8?B?OXdPTWxpQ2toQjByMU1TRHg3RS83U1dpcVNta1QvSEZ6V1A2UWVZUXpoYlNB?= =?utf-8?B?cGRJUEpoZXVkR0RyV1E1RFRPV3UwRk0zYVBwWlJKd2dzeU1pd21XR1UrWXE4?= =?utf-8?B?TFphaTZ6K1NWOE5UbGc2c0t2d0t4UzE4Yk00S1NDck5NSVdEM2FFWE4yZFN6?= =?utf-8?B?M0k2ZGxqZTg0MzJDWVV3emY3Wm11amFSbktnemlZNytvbmFhVVR1VjNHRUF2?= =?utf-8?B?bnJHVk5kVVFlckxXbXAzM0d3cWhvMzgxUURPa3Q3ejVRRnQ0Z1haKzlkSXla?= =?utf-8?B?ekFCbXkvbExvSDJLd09peUlrdVdBbzMzV1hBbW5NQlI3Vkh4Mk5yZ09IRFli?= =?utf-8?B?N2liZ3lvRXhjb0I0NXNXQ3NUdTJRWlpNRlNmWnZjZjFwWCs1VFVrVzc4ekxF?= =?utf-8?B?QlY0U3hkdzZtaGhlSW9rckhlR3ZmcDJtTnNlZTIxQ1VMcXNwZlFYeFAyRXBm?= =?utf-8?B?K0JIRWFYSUQ3bUpqM0ptZWxWV0d6bnd2NDZyR0hxbzNKM2tSTzJHWTdnRlov?= =?utf-8?B?K0g3QXdSNVlodGhoMS96V0VXMS9hVHU5bjlWY01iT1RiaTliaXlZVWNRZW5Z?= =?utf-8?B?VnI4eFlROW5Qd0xBV2dUZEhPY3M3Q0JmbHFCRnVpSHlRS3VsZjNkSGR1QUxa?= =?utf-8?B?ZWpTb3h5bjdXcllFRzJXaUt6UEhrMnQweUY2MHFPemlndUt5U2xWVkhtN3Nv?= =?utf-8?B?Smh1UGM1NkpvcjFiYWw4TWVWVEthR2k5OUV2RWpVZEJHdkprdC90OS8zcUxH?= =?utf-8?B?VkFQcWJ4cUM5L29iZDE1Ynp1bjdhVHVPc3ZDa3NaVzNTZU1jZnlQNTdoSTZV?= =?utf-8?B?N1pxUytQRnpQbllHUFptaGhoaHZKZ2JlMENhc0p3cDhzN00rU1FYbkl3Y21O?= =?utf-8?B?aWIvZG9GSmtNeWtZdW5RNXErUTY1RzNSQStZUERiajFWZ2xsOTR6dU1yUnU0?= =?utf-8?B?K2pFMFNVOWRHL1J6WjNNeWgwZU01ODFSb2x1T2hMdkduTG1KWDNiL3NWWUpu?= =?utf-8?B?WXB4aGxUMS80UUdDTDl1RGR3ZHN1R1U0R2VWMmhGT3RCS3pQd0tBbUxvOWZy?= =?utf-8?Q?AKrnuFK/Pd7xSNyZPrMeN3idy?= 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: PH0PR12MB8800.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 2161e5e6-74b5-46e3-e5e9-08dc606c9d62 X-MS-Exchange-CrossTenant-originalarrivaltime: 19 Apr 2024 12:31:19.2456 (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: IuICOoxG9BMuG3yojg6hVjftv2bIBkR2RtQj8Ghy65lLQuw4k/XIbfc57gqejh+tRU9YaQsf/AgMNOZUrJDlHQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR12MB7444 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 VGhhbmsgeW91IGZvciB0aGUgaW5mby4NCg0KWW91IG1pZ2h0IGhhdmUgcnVuIGludG8gYW4gaXNz dWUsIHdoZXJlIE5JQyBnZW5lcmF0ZXMgYmFja3ByZXNzdXJlIHRvIHRoZSBTVyBiZWNhdXNlIG9m IHZlcnkgZnJlcXVlbnQgc3dpdGNoaW5nIGJldHdlZW4gZGlmZmVyZW50IFZMQU4gcHJpb3JpdGll cyBvbiBUeCBkYXRhcGF0aCBpbiB0aGUgTklDLg0KDQpDb3VsZCB5b3UgcGxlYXNlIGFwcGx5IHRo ZSBmb2xsb3dpbmcgUW9TIGNvbmZpZ3VyYXRpb24gb24gYWxsIGludGVyZmFjZXMgYW5kIHJlcnVu IHRoZSB0ZXN0IHdpdGggZGlmZmVyZW50IFZMQU4gcHJpb3JpdGllcz8NCg0Kc3VkbyBtbG54X3Fv cyAtaSA8aWZhY2U+IC0tdHJ1c3Q9ZHNjcA0KZm9yIGRzY3AgaW4gezAuLjYzfTsgZG8gc3VkbyBt bG54X3FvcyAtaSA8aWZhY2U+IC0tZHNjcDJwcmlvIHNldCwkZHNjcCwwOyBzbGVlcCAwLjAwMTtk b25lDQoNClRoZXNlIGNvbW1hbmRzIHdpbGwgbWFwIGludGVybmFsbHkgYWxsIHByaW9yaXRpZXMg dG8gcHJpb3JpdHkgMC4gVGhpcyB3b3JrYXJvdW5kIHNob3VsZCByZWR1Y2UgdGhlIGJhY2twcmVz c3VyZSB3aXRob3V0IGFmZmVjdGluZyB0aGUgZ2VuZXJhdGVkIHRyYWZmaWMuDQoNCkJlc3QgcmVn YXJkcywNCkRhcml1c3ogU29zbm93c2tpDQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0N Cj4gRnJvbTogUnViZW5zIEZpZ3VlaXJlZG8gPHJ1YmVucy5maWd1ZWlyZWRvQGJpc2RuLmRlPg0K PiBTZW50OiBUaHVyc2RheSwgQXByaWwgMTgsIDIwMjQgMTU6MjENCj4gVG86IERhcml1c3ogU29z bm93c2tpIDxkc29zbm93c2tpQG52aWRpYS5jb20+DQo+IENjOiB1c2Vyc0BkcGRrLm9yZw0KPiBT dWJqZWN0OiBSZTogVHJleCB3aXRoIG1seDUgZHJpdmVyIC0gTXVsdGlwbGUgc3RyZWFtcyB3aXRo IGRpZmZlcmVudCBWTEFODQo+IHByaW9yaXR5IGNhdXNlcyBoaWdoIENQVSB1dGlsaXphdGlvbg0K PiANCj4gRXh0ZXJuYWwgZW1haWw6IFVzZSBjYXV0aW9uIG9wZW5pbmcgbGlua3Mgb3IgYXR0YWNo bWVudHMNCj4gDQo+IA0KPiBIaSBEYXJpdXN6LA0KPiANCj4gVGhhbmsgeW91IGZvciB0aGUgaGVs cC4NCj4gDQo+IElmIHRoZSB0d28gcGFyYWxsZWwgc3RyZWFtIHVzZSB0aGUgc2FtZSBWTEFOIHBy aW9yaXR5IHRoZW4gdGhlIGlzc3VlIGlzIG5vdA0KPiB2aXNpYmxlIGFueW1vcmUuIFRyZXggb3V0 cHV0IHZpc2libGUgYmVsb3cuDQo+IA0KPiBEaWZmZXJlbnQgcHJpb3JpdHkNCj4gQ1BVIHV0aWwu ICB8wqDCoMKgwqDCoMKgwqDCoMKgwqDCoCA5Ni45NyUgfMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgIDAuMCUgfCBUeCBicHMgTDIgIHzCoMKgwqDCoMKgwqDCoMKgIDMuNTkgR2JwcyB8wqDCoMKg wqDCoMKgwqDCoMKgIDAuMjkNCj4gYnBzIHwgMy41OSBHYnBzIFR4IGJwcyBMMSAgfMKgwqDCoMKg wqDCoMKgwqAgMy42NCBHYnBzIHzCoMKgwqDCoMKgwqDCoMKgwqAgMC4zNyBicHMgfCAzLjY0IEdi cHMNCj4gVHggcHBzICAgICB8wqDCoMKgwqDCoMKgIDI5OC40OSBLcHBzIHzCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqAgMCBwcHMgfCAyOTguNDkgS3Bwcw0KPiBMaW5lIFV0aWwuIHzCoMKgwqDCoMKg wqDCoMKgwqDCoMKgIDMuNjQgJSB8wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAwICUgfA0K PiANCj4gU2FtZSBwcmlvcml0eQ0KPiBDUFUgdXRpbC4gIHzCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqAgMC41NCUgfMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIDAuMCUgfCBUeCBicHMgTDIgIHzC oMKgwqDCoMKgwqDCoCAyMy45OCBHYnBzIHzCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgMA0KPiBi cHMgfCAyMy45OCBHYnBzIFR4IGJwcyBMMSAgfMKgwqDCoMKgwqDCoMKgwqAgMjQuMyBHYnBzIHzC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgMCBicHMgfCAyNC4zIEdicHMNCj4gVHggcHBzICAgICB8 wqDCoMKgwqDCoMKgwqDCoCAxLjk5IE1wcHMgfMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAwIHBw cyB8IDEuOTkgTXBwcw0KPiBMaW5lIFV0aWwuIHzCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIDI0LjMg JSB8wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAwICUgfA0KPiANCj4gSSBoYXZlIGF0dGFj aGVkIHRoZSByZXF1ZXN0ZWQgb3V0cHV0IHRvIHRoZSBlbWFpbC4NCj4gDQo+IEJlc3QsDQo+IFJ1 YmVucw0KPiANCj4gT24gNC8xOC8yNCAxNDo0OCwgRGFyaXVzeiBTb3Nub3dza2kgd3JvdGU6DQo+ ID4gSGkgUnViZW5zLA0KPiA+DQo+ID4gV291bGQgeW91IGJlIGFibGUgdG8gcHJvdmlkZSB0aGUg b3V0cHV0IG9mICJldGh0b29sIC1TIDxpZmFjZT4iIGZvciBib3RoIFZGcw0KPiBiZWZvcmUgYW5k IGFmdGVyIHRoZSB0ZXN0Pw0KPiA+IERvZXMgdGhlIHNhbWUgaXNzdWUgYXBwZWFyIG9uIHRoaXMg c3lzdGVtIGlmIGJvdGggcGFyYWxsZWwgc3RyZWFtcyB1c2UgdGhlDQo+IHNhbWUgVkxBTiBwcmlv cml0eT8NCj4gPg0KPiA+IEJlc3QgcmVnYXJkcywNCj4gPiBEYXJpdXN6IFNvc25vd3NraQ0KPiA+ DQo+ID4+IEZyb206IFJ1YmVucyBGaWd1ZWlyZWRvIDxydWJlbnMuZmlndWVpcmVkb0BiaXNkbi5k ZT4NCj4gPj4gU2VudDogV2VkbmVzZGF5LCBBcHJpbCAxNywgMjAyNCAxOTowNw0KPiA+PiBUbzog dXNlcnNAZHBkay5vcmcNCj4gPj4gU3ViamVjdDogVHJleCB3aXRoIG1seDUgZHJpdmVyIC0gTXVs dGlwbGUgc3RyZWFtcyB3aXRoIGRpZmZlcmVudCBWTEFODQo+ID4+IHByaW9yaXR5IGNhdXNlcyBo aWdoIENQVSB1dGlsaXphdGlvbg0KPiA+Pg0KPiA+PiBIZWxsbyBjb21tdW5pdHksDQo+ID4+IEkg YW0gZmFjaW5nIGEgc3RyYW5nZSBpc3N1ZSBpbiB0aGUgVHJleCBzdGF0ZWxlc3MgY29kZSwgdmVy c2lvbiB2My4wMiBhbmQNCj4gdjMuMDQuIEkgYW0gdXNpbmcgdGhlIE1lbGxhbm94IEN4LTUsIGFu ZCBoYXZlIGNyZWF0ZWQgdHdvIFZGcyBvbiB0b3Agb2YgdGhlDQo+IFBGIDAuIFRoZSBtbHg1X2Nv cmUgdmVyc2lvbiBJIGFtIHVzaW5nIGlzIHRoZSA1LjctMS4wLjIsIGFuZCB0aGUgb2ZlZCB2ZXJz aW9uIGlzDQo+IE1MTlhfT0ZFRF9MSU5VWC01LjctMS4wLjIuMCAoT0ZFRC01LjctMS4wLjIpLg0K PiA+PiBJIGhhdmUgY3JlYXRlZCB0aGUgZm9sbG93aW5nIGlzc3VlIGluIHRoZSB0cmV4LWNvcmUg cmVwb3NpdG9yeQ0KPiBbaGVyZV0oaHR0cHM6Ly9naXRodWIuY29tL2Npc2NvLXN5c3RlbS10cmFm ZmljLWdlbmVyYXRvci90cmV4LQ0KPiBjb3JlL2lzc3Vlcy8xMTI0KSwgYW5kIHdhcyByZWNvbW1l bmRlZCB0byBwb3N0IHRoZSBpc3N1ZSBpbiBoZXJlLiBJbiB0aGUNCj4gZ2l0aHViIGlzc3VlIHlv dSBzZWUgc2NyZWVuc2hvdHMgb2YgdGhlIGlzc3VlIEkgYW0gZmFjaW5nLg0KPiA+PiBJIGFtIHRy eWluZyB0byBjcmVhdGUgdHdvIHBhcmFsbGVsIHN0cmVhbXMgd2l0aCBkaWZmZXJlbnQgVkxBTiBw cmlvcml0aWVzLCBidXQNCj4gdGhlIGxvYWQgZ2VuZXJhdGVkIGlzIG5vdCB3aGF0IEkgZXhwZWN0 IGl0IHRvIGJlLCBhbmQgQ1BVIHV0aWwuIHNlZW1zIGluY3JlZGlibHkNCj4gaGlnaCAofjk5JSku DQo+ID4+IEkgaGF2ZSByZXByb2R1Y2VkIHRoaXMgaXNzdWUgd2l0aCB0aGUgLS1zb2Z0d2FyZSBh bmQgbm9uIHNvZnR3YXJlIHZlcnNpb24uDQo+ID4+IFRoZSBzY3JpcHQgSSB1c2VkIGlzIGJlbG93 Lg0KPiA+PiBpbXBvcnQgc3RsX3BhdGgNCj4gPj4gZnJvbSB0cmV4LnN0bC5hcGkgaW1wb3J0ICoN Cj4gPj4NCj4gPj4gaW1wb3J0IHRpbWUNCj4gPj4gaW1wb3J0IHBwcmludA0KPiA+PiBmcm9tIGlw YWRkcmVzcyBpbXBvcnQgaXBfYWRkcmVzcywgaXBfbmV0d29yaw0KPiA+Pg0KPiA+PiBpbXBvcnQg YXJncGFyc2UNCj4gPj4gaW1wb3J0IGNvbmZpZ3BhcnNlcg0KPiA+PiBpbXBvcnQgb3MNCj4gPj4g aW1wb3J0IGpzb24NCj4gPj4NCj4gPj4NCj4gPj4gZGVmIGdldF9wYWNrZXQodG9zLCBtYWNfZHN0 LCBpcF9zcmMsIHNpemUpOg0KPiA+PiAgICAgICMgcGt0ID0gRXRoZXIoc3JjPSIwMjowMDowMDow MDowMDowMSIsZHN0PSIwMDowMDowMDowMTowMDowMSIpIC8NCj4gPj4gSVAoc3JjPSIxMC4wLjAu MiIsIHRvcz10b3MpIC8gVURQKHNwb3J0PTQ0NDQsIGRwb3J0PTQ0NDQpDQo+ID4+DQo+ID4+ICAg ICAgcGt0ID0gKA0KPiA+PiAgICAgICAgICBFdGhlcihzcmM9IjAwOjAxOjAwOjAwOjAwOjAyIiwg ZHN0PW1hY19kc3QpDQo+ID4+ICAgICAgICAgICMgRXRoZXIoZHN0PSIxMToxMToxMToxMToxMTox MSIpDQo+ID4+ICAgICAgICAgICMgLyBEb3QxQUQodmxhbj0wKQ0KPiA+PiAgICAgICAgICAvIERv dDFRKHZsYW49MCwgcHJpbz10b3MpDQo+ID4+ICAgICAgICAgIC8gSVAoc3JjPWlwX3NyYykNCj4g Pj4gICAgICAgICAgLyBVRFAoc3BvcnQ9NDQ0NCwgZHBvcnQ9NDQ0NCkNCj4gPj4gICAgICApDQo+ ID4+ICAgICAgcGFkID0gbWF4KDAsIHNpemUgLSBsZW4ocGt0KSkgKiAieCINCj4gPj4NCj4gPj4g ICAgICByZXR1cm4gcGt0IC8gcGFkDQo+ID4+DQo+ID4+IGRlZiBtYWluKCk6DQo+ID4+ICAgICAg IiIiICIiIg0KPiA+PiAgICAgIHR4X3BvcnQgPSAwDQo+ID4+ICAgICAgcnhfcG9ydCA9IDENCj4g Pj4NCj4gPj4gICAgICBjID0gU1RMQ2xpZW50KCkNCj4gPj4NCj4gPj4gICAgICAjIGNvbm5lY3Qg dG8gc2VydmVyDQo+ID4+ICAgICAgYy5jb25uZWN0KCkNCj4gPj4NCj4gPj4gICAgICAjIHByZXBh cmUgb3VyIHBvcnRzDQo+ID4+ICAgICAgYy5yZXNldChwb3J0cz1bdHhfcG9ydCwgcnhfcG9ydF0p DQo+ID4+DQo+ID4+ICAgICAgc3RyZWFtcyA9IFtdDQo+ID4+ICAgICAgcyA9IFNUTFN0cmVhbSgN Cj4gPj4gICAgICAgICAgcGFja2V0PVNUTFBrdEJ1aWxkZXIoDQo+ID4+ICAgICAgICAgICAgICBw a3Q9Z2V0X3BhY2tldCg0LCIwMDoxMToyMjozMzo0NDo1NSIsICIxMC4xLjAuMiIsNTEyKSwNCj4g Pj4gICAgICAgICAgICAgICMgdm0gPSB2bSwNCj4gPj4gICAgICAgICAgKSwNCj4gPj4gICAgICAg ICAgaXNnPTAgKiAxMDAwMDAwLA0KPiA+PiAgICAgICAgICBtb2RlPVNUTFRYQ29udChwcHM9MS4y KjEwKio2KSwNCj4gPj4gICAgICAgICAgIyBmbG93X3N0YXRzID0gU1RMRmxvd0xhdGVuY3lTdGF0 cyhwZ19pZCA9IDApDQo+ID4+ICAgICAgICAgIGZsb3dfc3RhdHMgPSBTVExGbG93U3RhdHMocGdf aWQ9MCksDQo+ID4+ICAgICAgKQ0KPiA+Pg0KPiA+PiAgICAgIHN0cmVhbXMuYXBwZW5kKHMpDQo+ ID4+DQo+ID4+ICAgICAgczIgPSBTVExTdHJlYW0oDQo+ID4+ICAgICAgICAgIHBhY2tldD1TVExQ a3RCdWlsZGVyKA0KPiA+PiAgICAgICAgICAgICAgcGt0PWdldF9wYWNrZXQoMiwiMDA6MTE6MjI6 MzM6NDQ6NTUiLCAiMTAuMS4wLjIiLDUxMiksDQo+ID4+ICAgICAgICAgICAgICAjIHZtID0gdm0s DQo+ID4+ICAgICAgICAgICksDQo+ID4+ICAgICAgICAgIGlzZz0wICogMTAwMDAwMCwNCj4gPj4g ICAgICAgICAgbW9kZT1TVExUWENvbnQocHBzPTEuMioxMCoqNiksDQo+ID4+ICAgICAgICAgICMg Zmxvd19zdGF0cyA9IFNUTEZsb3dMYXRlbmN5U3RhdHMocGdfaWQgPSAwKQ0KPiA+PiAgICAgICAg ICBmbG93X3N0YXRzID0gU1RMRmxvd1N0YXRzKHBnX2lkPTEpLA0KPiA+PiAgICAgICkNCj4gPj4N Cj4gPj4gICAgICBzdHJlYW1zLmFwcGVuZChzMikNCj4gPj4NCj4gPj4gICAgICBjLmFkZF9zdHJl YW1zKHN0cmVhbXMsIHBvcnRzPVt0eF9wb3J0XSkNCj4gPj4NCj4gPj4gICAgICBjLmNsZWFyX3N0 YXRzKCkNCj4gPj4NCj4gPj4gICAgICBjLnN0YXJ0KHBvcnRzPVt0eF9wb3J0XSwgZHVyYXRpb249 NjAsIG11bHQ9IjI1Z2Jwc2wxIikNCj4gPj4NCj4gPj4gICAgICBjLndhaXRfb25fdHJhZmZpYyhw b3J0cz1bdHhfcG9ydCwgcnhfcG9ydF0pDQo+ID4+DQo+ID4+ICAgICAgc3RhdHMgPSBjLmdldF9z dGF0cygpDQo+ID4+ICAgICAgcHJpbnQoc3RhdHMpDQo+ID4+DQo+ID4+IGlmIF9fbmFtZV9fID09 ICJfX21haW5fXyI6DQo+ID4+ICAgICAgbWFpbigpDQo+ID4+DQo+ID4+DQo+ID4+IEFuZCB0aGUg Y29uZmlndXJhdGlvbiBpcw0KPiA+PiAtIHBvcnRfbGltaXQ6IDINCj4gPj4gICAgdmVyc2lvbjog Mg0KPiA+PiAgICBwb3J0X2JhbmR3aWR0aF9nYjogMTAwDQo+ID4+ICAgIGludGVyZmFjZXM6IFsi M2I6MDAuMiIsICIzYjowMC4zIl0NCj4gPj4gICAgcG9ydF9pbmZvOg0KPiA+PiAgICAgIC0gZGVz dF9tYWM6IDAwOjAwOjAwOjAwOjAwOjAxDQo+ID4+ICAgICAgICBzcmNfbWFjOiAwMDowMTowMDow MDowMDowMQ0KPiA+PiAgICAgIC0gZGVzdF9tYWM6IDAwOjAwOjAwOjAwOjAwOjAyDQo+ID4+ICAg ICAgICBzcmNfbWFjOiAwMDowMTowMDowMDowMDowMg0KPiA+PiAgICBjOiAxNA0KPiA+PiAgICBw bGF0Zm9ybToNCj4gPj4gICAgICBtYXN0ZXJfdGhyZWFkX2lkOiA4DQo+ID4+ICAgICAgbGF0ZW5j eV90aHJlYWRfaWQ6IDI3DQo+ID4+ICAgICAgZHVhbF9pZjoNCj4gPj4gICAgICAgIC0gc29ja2V0 OiAwDQo+ID4+ICAgICAgICAgIHRocmVhZHM6DQo+ID4+IFs5LDEwLDExLDEyLDEzLDE0LDE1LDE2 LDE3LDE4LDE5LDIwLDIxLDIyLDIzLDI0LDI1LDI2XQ0KPiA+Pg0KPiA+Pg0KPiA+PiBCSVNETiBH bWJIDQo+ID4+IEvDtnJuZXJzdHJhw59lIDctMTANCj4gPj4gMTA3ODUgQmVybGluDQo+ID4+IEdl cm1hbnkNCj4gPj4NCj4gPj4gUGhvbmU6ICs0OS0zMC02MTA4LTEtNjEwMA0KPiA+Pg0KPiA+PiBN YW5hZ2luZyBEaXJlY3RvcnM6DQo+ID4+IERyLi1JbmcuIEhhZ2VuIFdvZXNuZXIsIEFuZHJlYXMg S8O2cHNlbA0KPiA+Pg0KPiA+PiBDb21tZXJjaWFsIHJlZ2lzdGVyOg0KPiA+PiBBbXRzZ2VyaWNo dCBCZXJsaW4tQ2hhcmxvdHRlbmJ1cmcgSFJCIDE0MTU2OSBCIFZBVCBJRCBObzoNCj4gREUyODMy NTcyOTQNCj4gPj4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXw0KPiAt LQ0KPiBCSVNETiBHbWJIDQo+IEvDtnJuZXJzdHJhw59lIDctMTANCj4gMTA3ODUgQmVybGluDQo+ IEdlcm1hbnkNCj4gDQo+IA0KPiBQaG9uZToNCj4gKzQ5LTMwLTYxMDgtMS02MTAwDQo+IA0KPiAN Cj4gTWFuYWdpbmcgRGlyZWN0b3JzOg0KPiBEci4tSW5nLiBIYWdlbiBXb2VzbmVyLCBBbmRyZWFz DQo+IEvDtnBzZWwNCj4gDQo+IA0KPiBDb21tZXJjaWFsIHJlZ2lzdGVyOg0KPiBBbXRzZ2VyaWNo dCBCZXJsaW4tQ2hhcmxvdHRlbmJ1cmcgSFJCIDE0MTU2OSBCIFZBVCBJRCBObzogREUyODMyNTcy OTQNCg0K