From mboxrd@z Thu Jan 1 00:00:00 1970 Authentication-Results: mail.toke.dk; spf=pass (mailfrom) smtp.mailfrom=corigine.com (client-ip=2a01:111:f400:7e88::71b; helo=nam10-dm6-obe.outbound.protection.outlook.com; envelope-from=simon.horman@corigine.com; receiver=) Authentication-Results: mail.toke.dk; dkim=pass (1024-bit key; unprotected) header.d=corigine.onmicrosoft.com header.i=@corigine.onmicrosoft.com header.a=rsa-sha256 header.s=selector2-corigine-onmicrosoft-com header.b=P01AlInQ Received: from NAM10-DM6-obe.outbound.protection.outlook.com (mail-dm6nam10on2071b.outbound.protection.outlook.com [IPv6:2a01:111:f400:7e88::71b]) by mail.toke.dk (Postfix) with ESMTPS id 23F4D9FEA61 for ; Mon, 17 Apr 2023 13:35:29 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Hm3F88jytIOekDhLUqkfKOnmOBOsreNZ1X9yhIl2IwQNiboBwnW3pCVKl/GPI07pgVCh3biy/E2OyUqDwmFvYQPQzk+altmlUPbjla6YKrA55Bo6+IYvYZRo6IKkX4Z4jm2H8uFrCEzRNQ3qAa0fYiXqN0hOHN0h6eEk5r0S8Kbq0LADUm+JI3qKgo9EfEPsIXWeRhB2HDBrQ4FpZU5Nzfx81dLF2XuLBCcQsiy8+q5gBD9YSfvgLlX26uXhyw7jBqF6Ld0gUjrhSXECtstI+tWUqjar3YWPZVpe0gXLUS87mHc9KoOaxx9FAaapTbrSmnKBk4qpnPfGHVnhPE2LyA== 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=FlAROnkAYihJtb8qk3AteRDhqWNaWPyaxxryUDANZhI=; b=DE9jh16KYq9kRVbUO8smJRcRREPcOeYwaF7sMrT79ywBw1MxPIfmHGjIHmQhC4IJx9oJSiq0S5Iv3VfmoxO0edg0xCEuKasg3OdizxDEXEWAShTOu/ogAwiGJaPkuI+pxlVoIKvnhyJBpJhqnpVyC2nT2O1Ljmb3Sb3nNpxZuCM9+XgZeJgpoDfieKwCP3xllRH8UK3qDs/JR/xc07Rc+Rqz3CU0czluToi9w+i6tT70LIz8msmT6nzN62elzaLt6Z+8KrGaAfYMIkO/YTI/htGcnTpZrfG7+IRc3bi3FegRF4cdXZrIWr5d9w/eb+edKrSyLeJ1mE/f+0v7ykrMCQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=corigine.com; dmarc=pass action=none header.from=corigine.com; dkim=pass header.d=corigine.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=corigine.onmicrosoft.com; s=selector2-corigine-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=FlAROnkAYihJtb8qk3AteRDhqWNaWPyaxxryUDANZhI=; b=P01AlInQwYJHP20LhebJiH49r7llfhRBuagjivL1LUF6NjMi1lwavw1hZZgsBmJ3jeyW74f0UlsseFnIVTg36zqz9mhMIhBgWTZhTSJq4NGZKQlJxCJ64zxxsY9/dc9VkfyURJWgQh9gqh0yxc+p/ZtpSlAFKhsTy9q8tzR0Exc= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=corigine.com; Received: from PH0PR13MB4842.namprd13.prod.outlook.com (2603:10b6:510:78::6) by DM6PR13MB4431.namprd13.prod.outlook.com (2603:10b6:5:1bb::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6298.45; Mon, 17 Apr 2023 11:35:23 +0000 Received: from PH0PR13MB4842.namprd13.prod.outlook.com ([fe80::89d1:63f2:2ed4:9169]) by PH0PR13MB4842.namprd13.prod.outlook.com ([fe80::89d1:63f2:2ed4:9169%5]) with mapi id 15.20.6298.045; Mon, 17 Apr 2023 11:35:23 +0000 Date: Mon, 17 Apr 2023 13:35:14 +0200 From: Simon Horman To: Jesper Dangaard Brouer Message-ID: References: <168098183268.96582.7852359418481981062.stgit@firesoul> <168098189656.96582.16141211495116669329.stgit@firesoul> <8cd2d200-09ec-57c2-0619-963dfe5efd58@redhat.com> Content-Type: text/plain; charset="utf-8" Content-Disposition: inline Content-Transfer-Encoding: base64 In-Reply-To: <8cd2d200-09ec-57c2-0619-963dfe5efd58@redhat.com> X-ClientProxiedBy: AM0PR01CA0123.eurprd01.prod.exchangelabs.com (2603:10a6:208:168::28) To PH0PR13MB4842.namprd13.prod.outlook.com (2603:10b6:510:78::6) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: PH0PR13MB4842:EE_|DM6PR13MB4431:EE_ X-MS-Office365-Filtering-Correlation-Id: 486d9871-041d-42fe-435e-08db3f37d509 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: y43xGCDqODxe8wWoUbXwToAejC9gA+Tekz0H9hHElVzioW1UGBLiCtmQdUVPjTZWg+qun8k65bHD+o6TYoogWbO7NC/J+5Nx5aXvEYO/r1jgB1woFe1PXNq0Ke9bDl81OIgW0FSW1jjSLpz4vHrgbW/bxNDuXX9xIy3j4RnWyldbaANzx3BcWUn8ZbQnLfyvOfBdvkZUH48VBmLesTj2he8H0ejI576QIINEfF/Ytiewpls9ZjqUmABMnkaexZZP74qGGCoZSESM2zhdETvA84RXKfl5klLmN4WowyC1GaQXnnMxxzaZHB8OX3RUN6X+GB2v3C6gHkhAj1yvHh85kTmlDD6QTlMRdoZlD/yh+uJwPQ25AiH/AWDIGHdEZ+lhFjgVitVdL8vcX8zXGjHu1DVBb/gof31JLvOW9Li0Z+totGQf5hrhA5PTSdzNvDkApEf/Xge+kV6NvAQqjkAlW34uIfhiyvf9MIOUX6F8q5OsAV3HeVPbAYFye3cDGTCkquNJOTO/0OPQWgoaazrmcKeS/8Tg1i/W5LUItQqIT+s57Wjqggtux+E2opaL8cXpTyopd79wk3nXmCbFTRkeCef1gXybiDLYBBlGuyU79ig= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PH0PR13MB4842.namprd13.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(4636009)(39830400003)(396003)(136003)(346002)(376002)(366004)(451199021)(7416002)(5660300002)(44832011)(2616005)(86362001)(83380400001)(966005)(66574015)(186003)(6506007)(6512007)(38100700002)(8676002)(8936002)(54906003)(478600001)(6666004)(6486002)(316002)(41300700001)(36756003)(66476007)(66556008)(4326008)(6916009)(66946007)(2906002)(67856001);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?ZDV3aU1kU0Zsb1NkdlVxaUFiM2tlaFBRWVJJR3owT3ZUV0lld3NmY1ZLRVRY?= =?utf-8?B?RUpvelhMWkMxaldHTmNJa0pxcnZMMjVGc2xRL3ZFNVZVWjB3QkJmdExkMTBY?= =?utf-8?B?RUE1V2lKeVZuNStxbm9IS3Z6ejF5YWNjdWhkWk1vMmlFOTN5M1R0MmViYXZu?= =?utf-8?B?YkxmZUw5ckpDSm1SaHlYU0Q4ZThhbGFCa0EydE5SaDkybUtoWk94YWZCeXlk?= =?utf-8?B?TDNGT2hJeEhadWF1aTdJck4xb1RHNFhUY29DL21melBPUjhaVFcvTXFtQm9E?= =?utf-8?B?VDM4VDhKSmJVMFVPVVRoT0hFb2pONDlhcU80NHRtZFBzYzE0bkdzMnJoeUpN?= =?utf-8?B?aDAxU2kzOHI0dy9PYUFCTUpDOFhUbUl5NHRwMUJPN1o3SWZzcHFLcG9LOXNZ?= =?utf-8?B?Um5OSlpkNWIxZFNURDJFRk9pQUZabUQySTBhcVkwUTMzbW9uQTBNb0FTdEZE?= =?utf-8?B?Rk5SQUZGR0FFNTFaOW9Wb0lMMThHalU0RVIrLzdGdHNveUZvOXhSRi9WM1JZ?= =?utf-8?B?OG9EMlZwbExsVXZJYmVIZXE3MkdrSlBtM0ZiN0cwRjVjYmNjQ3JzSXo4RGc3?= =?utf-8?B?L0dHeHdGZmhvU084Q3N3UEVBcFZ5V0N4dzhWM3pQR2FsZnkzamF6eXBjR054?= =?utf-8?B?ZlRhNXFjdHhOa25DZU5CZTdFRVNUMGdiekNWQ2dBaFpDeDlBcnJGaFkxbTVx?= =?utf-8?B?R3l5S2lqL0xvSWZyWjdwemlvNlpmZEd6Rzk5d2RjUHZvSzBGL2tDVDMvenVN?= =?utf-8?B?SUJGZjJ4M09aSEFkV0w3aTd2cWJBaEZIMW5TUlR1YnE0RWJCclJOaUNsd3Nz?= =?utf-8?B?eGswdG9xWStIaUVsSlhzUzloVm84dkJaS3JkbFBQbEtTSURWSUUrdjZUSllC?= =?utf-8?B?TEtBanlMc2duTzZtNnJHUEpvenZKekJ1K2twMVhhVXlVZG5tSXlBb1E3OTBB?= =?utf-8?B?MENZS1g5UkZXN3VlY2pzSHBQMU03L0V0RXl4OEtGK2QyNmhvSzR1bTdRbTVo?= =?utf-8?B?K29PTVpENW9lc2F1NHV4bHp0YWp1YU9WWWpXZUdzbnc5eHgvRktNV21LMjFo?= =?utf-8?B?RmszRW5PazZXdGhCS1FTTVgzblJPQlhscnY4c0F4dStFZmNxaDJkZkliek9X?= =?utf-8?B?aHV3UUN1bGtMdnJYZHF0dmU3ZVFOSEEvZ2hoZk1idnFYZjNmd0Q4eUJiRVpI?= =?utf-8?B?Ukx5RmZTeCsvWS9nNkt1dDFtMnc2UjN0cUY4c1NoL0IzY1hXbWgvNUo4QUQ5?= =?utf-8?B?UFFOdjQ4S2ZJeHVGREtRZWI2ZDc2YlBtNUh6cm1OSFVDcE5raVJLK3NHUllC?= =?utf-8?B?TllSN2F1Qy9pZGs0Sm5ZSkUwenhidTlTMlk5WXBCRHRna1BqTys4RTJ1bE0y?= =?utf-8?B?TnVKTkRkUXExNml5ZGVUUTdBaVlFRDJTUFMyUDVWKzVid2tFVEo2Lzg1TzNC?= =?utf-8?B?Wlh4ck4yS24vVWlEbzY3cCtaY1FGUFZBSGdNQnNPTGQvbDRxNVREekJDaUh1?= =?utf-8?B?T3Q5cnYrTitzL0hMVWt4a2tmczhoSVRpL2k1ZWJCWE1ZS2M0ODVDREhIekM3?= =?utf-8?B?a1k1R3ZlelpMdk5tUXVGNHV2KzNpdWE1NzFVSnRWU3R0dm55aXJXQm9UUmp1?= =?utf-8?B?TlVIMzkzQWZheEM4V2F5Z1RqMjVQekZrb1NXMWx1RDNabnlMUnh0SVQ3eSto?= =?utf-8?B?VTUwcXh2Q2oyQ3d1ZUp5eHNqZmhoR1VjR2Y5S2czdExtK3JNRVpMRmxLeC9E?= =?utf-8?B?cmd1a3QzdlgrVWozMTEzK3hpV09RZXRON3JPWXJnZ0lOUmg5OHFTRVVpT2Iv?= =?utf-8?B?N0s4S0Y0bzA4Wnp1eHdjbDFTaDY1K3hXNEI0dnJlZzU5NVZFMUlQMFVKM2lC?= =?utf-8?B?ZDdjL2VDQzhCby9uY3V3RHVLWTUvK3RDRHp2R1pWeHBSZ0liNEhhd2d6WDZL?= =?utf-8?B?WWhJVkhFRWQvUUZuZER5ZUE4ZzBXOGdHcjJOMlVwNlVHaTBhVkpLVk9qZjFL?= =?utf-8?B?OFI2dVJYaHpUZDNuNVo5STNrdXI1NG1WdG0wUTZSenlURStIMzArK2dqd2hr?= =?utf-8?B?bU1rbkhDUVdYVGR4T1ZDb3hDcTZlMitmWGtQT1ZsTFpPTWRqOEIxTjgwSVRr?= =?utf-8?B?RHBQdE56cXhIQStSMzkxaUJvWWcxT213TytuYWd2eUJWelFkc3ozb3l5RW8y?= =?utf-8?B?eUREQWNFRXlXQVMxWjV3U2luTzQrVUZXTGhOY2FRZTlOL3JTR0N0aHo1U0Z0?= =?utf-8?B?ZnhOSjJRZ1JoSFhzM2QzSk9jS2NRPT0=?= X-OriginatorOrg: corigine.com X-MS-Exchange-CrossTenant-Network-Message-Id: 486d9871-041d-42fe-435e-08db3f37d509 X-MS-Exchange-CrossTenant-AuthSource: PH0PR13MB4842.namprd13.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Apr 2023 11:35:23.6190 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: fe128f2c-073b-4c20-818e-7246a585940c X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: OZ6ydsV//ir72n2XxjIEDbtgY1udDM0OBPTmyrmC6/lxY7aTPtkcoDJL2bBIdZjhI2VhYbjlfcfWId7Vzad29B8+vocovzpcovWO6CeKzOw= X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR13MB4431 Message-ID-Hash: JTHNIYJESJXDX4LD2CQK44HNGUPWUVAQ X-Message-ID-Hash: JTHNIYJESJXDX4LD2CQK44HNGUPWUVAQ X-MailFrom: simon.horman@corigine.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header CC: brouer@redhat.com, bpf@vger.kernel.org, Stanislav Fomichev , Toke =?utf-8?Q?H=C3=B8iland-J=C3=B8rgensen?= , netdev@vger.kernel.org, linux-kernel@vger.kernel.org, martin.lau@kernel.org, ast@kernel.org, daniel@iogearbox.net, alexandr.lobakin@intel.com, larysa.zaremba@intel.com, xdp-hints@xdp-project.net, anthony.l.nguyen@intel.com, yoong.siang.song@intel.com, boon.leong.ong@intel.com, intel-wired-lan@lists.osuosl.org, pabeni@redhat.com, jesse.brandeburg@intel.com, kuba@kernel.org, edumazet@google.com, john.fastabend@gmail.com, hawk@kernel.org, davem@davemloft.net, tariqt@nvidia.com, saeedm@nvidia.com, leon@kernel.org, linux-rdma@vger.kernel.org X-Mailman-Version: 3.3.8 Precedence: list Subject: [xdp-hints] Re: [PATCH bpf V7 4/7] mlx5: bpf_xdp_metadata_rx_hash add xdp rss hash type List-Id: XDP hardware hints design discussion Archived-At: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: T24gV2VkLCBBcHIgMTIsIDIwMjMgYXQgMDE6MzE6MThQTSArMDIwMCwgSmVzcGVyIERhbmdhYXJk IEJyb3VlciB3cm90ZToNCj4gW1lvdSBkb24ndCBvZnRlbiBnZXQgZW1haWwgZnJvbSBqYnJvdWVy QHJlZGhhdC5jb20uIExlYXJuIHdoeSB0aGlzIGlzIGltcG9ydGFudCBhdCBodHRwczovL2FrYS5t cy9MZWFybkFib3V0U2VuZGVySWRlbnRpZmljYXRpb24gXQ0KPiANCj4gT24gMTAvMDQvMjAyMyAx Ny4xMSwgU2ltb24gSG9ybWFuIHdyb3RlOg0KPiA+IE9uIFNhdCwgQXByIDA4LCAyMDIzIGF0IDA5 OjI0OjU2UE0gKzAyMDAsIEplc3BlciBEYW5nYWFyZCBCcm91ZXIgd3JvdGU6DQo+ID4gPiBVcGRh dGUgQVBJIGZvciBicGZfeGRwX21ldGFkYXRhX3J4X2hhc2goKSB3aXRoIGFyZyBmb3IgeGRwIHJz cyBoYXNoIHR5cGUNCj4gPiA+IHZpYSBtYXBwaW5nIHRhYmxlLg0KPiA+ID4gDQo+ID4gPiBUaGUg bWx4NSBoYXJkd2FyZSBjYW4gYWxzbyBpZGVudGlmeSBhbmQgUlNTIGhhc2ggSVBTRUMuICBUaGlz IGluZGljYXRlDQo+ID4gPiBoYXNoIGluY2x1ZGVzIFNQSSAoU2VjdXJpdHkgUGFyYW1ldGVycyBJ bmRleCkgYXMgcGFydCBvZiBJUFNFQyBoYXNoLg0KPiA+ID4gDQo+ID4gPiBFeHRlbmQgeGRwIGNv cmUgZW51bSB4ZHBfcnNzX2hhc2hfdHlwZSB3aXRoIElQU0VDIGhhc2ggdHlwZS4NCj4gPiA+IA0K PiA+ID4gRml4ZXM6IGJjOGQ0MDViMWJhOSAoIm5ldC9tbHg1ZTogU3VwcG9ydCBSWCBYRFAgbWV0 YWRhdGEiKQ0KPiA+ID4gU2lnbmVkLW9mZi1ieTogSmVzcGVyIERhbmdhYXJkIEJyb3VlciA8YnJv dWVyQHJlZGhhdC5jb20+DQo+ID4gPiBBY2tlZC1ieTogVG9rZSBIw7hpbGFuZC1Kw7hyZ2Vuc2Vu IDx0b2tlQHJlZGhhdC5jb20+DQo+ID4gPiBBY2tlZC1ieTogU3RhbmlzbGF2IEZvbWljaGV2IDxz ZGZAZ29vZ2xlLmNvbT4NCj4gPiA+IC0tLQ0KPiA+ID4gICBkcml2ZXJzL25ldC9ldGhlcm5ldC9t ZWxsYW5veC9tbHg1L2NvcmUvZW4veGRwLmMgfCAgIDYwICsrKysrKysrKysrKysrKysrKysrKysN Cj4gPiA+ICAgaW5jbHVkZS9saW51eC9tbHg1L2RldmljZS5oICAgICAgICAgICAgICAgICAgICAg IHwgICAxNCArKysrLQ0KPiA+ID4gICBpbmNsdWRlL25ldC94ZHAuaCAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgfCAgICAyICsNCj4gPiA+ICAgMyBmaWxlcyBjaGFuZ2VkLCA3MyBpbnNl cnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQ0KPiA+ID4gDQo+ID4gPiBkaWZmIC0tZ2l0IGEvZHJp dmVycy9uZXQvZXRoZXJuZXQvbWVsbGFub3gvbWx4NS9jb3JlL2VuL3hkcC5jIGIvZHJpdmVycy9u ZXQvZXRoZXJuZXQvbWVsbGFub3gvbWx4NS9jb3JlL2VuL3hkcC5jDQo+ID4gPiBpbmRleCBlZmU2 MDlmOGUzYWEuLjk3ZWYxZGY5NGQ1MCAxMDA2NDQNCj4gPiA+IC0tLSBhL2RyaXZlcnMvbmV0L2V0 aGVybmV0L21lbGxhbm94L21seDUvY29yZS9lbi94ZHAuYw0KPiA+ID4gKysrIGIvZHJpdmVycy9u ZXQvZXRoZXJuZXQvbWVsbGFub3gvbWx4NS9jb3JlL2VuL3hkcC5jDQo+ID4gPiBAQCAtMzQsNiAr MzQsNyBAQA0KPiA+ID4gICAjaW5jbHVkZSA8bmV0L3hkcF9zb2NrX2Rydi5oPg0KPiA+ID4gICAj aW5jbHVkZSAiZW4veGRwLmgiDQo+ID4gPiAgICNpbmNsdWRlICJlbi9wYXJhbXMuaCINCj4gPiA+ ICsjaW5jbHVkZSA8bGludXgvYml0ZmllbGQuaD4NCj4gPiA+IA0KPiA+ID4gICBpbnQgbWx4NWVf eGRwX21heF9tdHUoc3RydWN0IG1seDVlX3BhcmFtcyAqcGFyYW1zLCBzdHJ1Y3QgbWx4NWVfeHNr X3BhcmFtICp4c2spDQo+ID4gPiAgIHsNCj4gPiA+IEBAIC0xNjksMTUgKzE3MCw3MiBAQCBzdGF0 aWMgaW50IG1seDVlX3hkcF9yeF90aW1lc3RhbXAoY29uc3Qgc3RydWN0IHhkcF9tZCAqY3R4LCB1 NjQgKnRpbWVzdGFtcCkNCj4gPiA+ICAgICAgcmV0dXJuIDA7DQo+ID4gPiAgIH0NCj4gPiA+IA0K PiA+ID4gKy8qIE1hcHBpbmcgSFcgUlNTIFR5cGUgYml0cyBDUUVfUlNTX0hUWVBFX0lQICsgQ1FF X1JTU19IVFlQRV9MNCBpbnRvIDQtYml0cyovDQo+ID4gPiArI2RlZmluZSBSU1NfVFlQRV9NQVhf VEFCTEUgIDE2IC8qIDQtYml0cyBtYXggMTYgZW50cmllcyAqLw0KPiA+ID4gKyNkZWZpbmUgUlNT X0w0ICAgICAgICAgICAgICBHRU5NQVNLKDEsIDApDQo+ID4gPiArI2RlZmluZSBSU1NfTDMgICAg ICAgICAgICAgIEdFTk1BU0soMywgMikgLyogU2FtZSBhcyBDUUVfUlNTX0hUWVBFX0lQICovDQo+ ID4gPiArDQo+ID4gPiArLyogVmFsaWQgY29tYmluYXRpb25zIG9mIENRRV9SU1NfSFRZUEVfSVAg KyBDUUVfUlNTX0hUWVBFX0w0IHNvcnRlZCBudW1lcmljYWwgKi8NCj4gPiA+ICtlbnVtIG1seDVf cnNzX2hhc2hfdHlwZSB7DQo+ID4gPiArICAgIFJTU19UWVBFX05PX0hBU0ggICAgICAgID0gKEZJ RUxEX1BSRVBfQ09OU1QoUlNTX0wzLCBDUUVfUlNTX0lQX05PTkUpIHwNCj4gPiA+ICsgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgRklFTERfUFJFUF9DT05TVChSU1NfTDQsIENRRV9SU1Nf TDRfTk9ORSkpLA0KPiA+ID4gKyAgICBSU1NfVFlQRV9MM19JUFY0ICAgICAgICA9IChGSUVMRF9Q UkVQX0NPTlNUKFJTU19MMywgQ1FFX1JTU19JUFY0KSB8DQo+ID4gPiArICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIEZJRUxEX1BSRVBfQ09OU1QoUlNTX0w0LCBDUUVfUlNTX0w0X05PTkUp KSwNCj4gPiA+ICsgICAgUlNTX1RZUEVfTDRfSVBWNF9UQ1AgICAgPSAoRklFTERfUFJFUF9DT05T VChSU1NfTDMsIENRRV9SU1NfSVBWNCkgfA0KPiA+ID4gKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBGSUVMRF9QUkVQX0NPTlNUKFJTU19MNCwgQ1FFX1JTU19MNF9UQ1ApKSwNCj4gPiA+ ICsgICAgUlNTX1RZUEVfTDRfSVBWNF9VRFAgICAgPSAoRklFTERfUFJFUF9DT05TVChSU1NfTDMs IENRRV9SU1NfSVBWNCkgfA0KPiA+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBG SUVMRF9QUkVQX0NPTlNUKFJTU19MNCwgQ1FFX1JTU19MNF9VRFApKSwNCj4gPiA+ICsgICAgUlNT X1RZUEVfTDRfSVBWNF9JUFNFQyAgPSAoRklFTERfUFJFUF9DT05TVChSU1NfTDMsIENRRV9SU1Nf SVBWNCkgfA0KPiA+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGSUVMRF9QUkVQ X0NPTlNUKFJTU19MNCwgQ1FFX1JTU19MNF9JUFNFQykpLA0KPiA+ID4gKyAgICBSU1NfVFlQRV9M M19JUFY2ICAgICAgICA9IChGSUVMRF9QUkVQX0NPTlNUKFJTU19MMywgQ1FFX1JTU19JUFY2KSB8 DQo+ID4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZJRUxEX1BSRVBfQ09OU1Qo UlNTX0w0LCBDUUVfUlNTX0w0X05PTkUpKSwNCj4gPiA+ICsgICAgUlNTX1RZUEVfTDRfSVBWNl9U Q1AgICAgPSAoRklFTERfUFJFUF9DT05TVChSU1NfTDMsIENRRV9SU1NfSVBWNikgfA0KPiA+ID4g KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGSUVMRF9QUkVQX0NPTlNUKFJTU19MNCwg Q1FFX1JTU19MNF9UQ1ApKSwNCj4gPiA+ICsgICAgUlNTX1RZUEVfTDRfSVBWNl9VRFAgICAgPSAo RklFTERfUFJFUF9DT05TVChSU1NfTDMsIENRRV9SU1NfSVBWNikgfA0KPiA+ID4gKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBGSUVMRF9QUkVQX0NPTlNUKFJTU19MNCwgQ1FFX1JTU19M NF9VRFApKSwNCj4gPiA+ICsgICAgUlNTX1RZUEVfTDRfSVBWNl9JUFNFQyAgPSAoRklFTERfUFJF UF9DT05TVChSU1NfTDMsIENRRV9SU1NfSVBWNikgfA0KPiA+ID4gKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBGSUVMRF9QUkVQX0NPTlNUKFJTU19MNCwgQ1FFX1JTU19MNF9JUFNFQykp LA0KPiA+ID4gK30gbWx4NV9yc3NfaGFzaF90eXBlOw0KPiA+IA0KPiA+IEhpIEplc3BlciwNCj4g PiANCj4gPiBTcGFyc2Ugc2VlbXMgY29uZnVzZWQgYWJvdXQgJ21seDVfcnNzX2hhc2hfdHlwZScg b24gdGhlIGxpbmUgYWJvdmUuDQo+ID4gQW5kIEkgYW0gdG9vLiBQZXJoYXBzIGl0IGNhbiBiZSBy ZW1vdmVkPw0KPiA+IA0KPiANCj4gWWVzLCBpdCBjYW4gYmUgcmVtb3ZlZCAoaW4gVjgpLg0KPiAN Cj4gVGhlIHJlYXNvbi90cmljayBmb3IgZG9pbmcgdGhpcyB3YXMgdG8gZ2V0IGNvbXBpbGVyIHRv IGNyZWF0ZSB0aGUgZW51bQ0KPiBzeW1ib2wsIHdoaWNoIGFsbG93ZWQgbWUgdG8gaW5zcGVjdCB0 aGUgdHlwZSB1c2luZyBwYWhvbGUgKHNlZSBjbWQNCj4gYmVsb3cpLiAgKFRoaXMgd2lsbCBhbHNv IGV4cG9zZSB0aGlzIHRvIEJURiwgYnV0IGl0IGlzbid0IGFjdHVhbGx5DQo+IHVzZWZ1bCB0byBr ZWVwIGFyb3VuZCBmb3IgQlRGLCBzbyBJIHdpbGwgcmVtb3ZlIGl0IGluIFY4LikNCg0KVGhhbmtz IEplc3BlciwNCg0KSSBkaWRuJ3Qga25vdyB0aGF0IHRyaWNrIDopDQoNCj4gJCBwYWhvbGUgLUMg bWx4NV9yc3NfaGFzaF90eXBlDQo+IGRyaXZlcnMvbmV0L2V0aGVybmV0L21lbGxhbm94L21seDUv Y29yZS9lbi94ZHAubw0KPiBlbnVtIG1seDVfcnNzX2hhc2hfdHlwZSB7DQo+ICAgICAgICBSU1Nf VFlQRV9OT19IQVNIICAgICAgID0gMCwNCj4gICAgICAgIFJTU19UWVBFX0wzX0lQVjQgICAgICAg PSA0LA0KPiAgICAgICAgUlNTX1RZUEVfTDRfSVBWNF9UQ1AgICA9IDUsDQo+ICAgICAgICBSU1Nf VFlQRV9MNF9JUFY0X1VEUCAgID0gNiwNCj4gICAgICAgIFJTU19UWVBFX0w0X0lQVjRfSVBTRUMg PSA3LA0KPiAgICAgICAgUlNTX1RZUEVfTDNfSVBWNiAgICAgICA9IDgsDQo+ICAgICAgICBSU1Nf VFlQRV9MNF9JUFY2X1RDUCAgID0gOSwNCj4gICAgICAgIFJTU19UWVBFX0w0X0lQVjZfVURQICAg PSAxMCwNCj4gICAgICAgIFJTU19UWVBFX0w0X0lQVjZfSVBTRUMgPSAxMSwNCj4gfTsNCj4gDQo+ IFRoaXMgaXMgcHJhY3RpY2FsIHRvIGZvciByZXZpZXdlcnMgdG8gc2VlIGlmIGJlbG93IGNvZGUg aXMgY29ycmVjdDoNCj4gDQo+ID4gKy8qIEludmFsaWQgY29tYmluYXRpb25zIHdpbGwgc2ltcGx5 IHJldHVybiB6ZXJvLCBhbGxvd3Mgbm8gYm91bmRhcnkNCj4gY2hlY2tzICovDQo+ID4gK3N0YXRp YyBjb25zdCBlbnVtIHhkcF9yc3NfaGFzaF90eXBlDQo+IG1seDVfeGRwX3Jzc190eXBlW1JTU19U WVBFX01BWF9UQUJMRV0gPSB7DQo+ID4gKyAgICBbUlNTX1RZUEVfTk9fSEFTSF0gICAgICAgPSBY RFBfUlNTX1RZUEVfTk9ORSwNCj4gPiArICAgIFsxXSAgICAgICAgICAgICAgICAgICAgICA9IFhE UF9SU1NfVFlQRV9OT05FLCAvKiBJbXBsaWNpdCB6ZXJvICovDQo+ID4gKyAgICBbMl0gICAgICAg ICAgICAgICAgICAgICAgPSBYRFBfUlNTX1RZUEVfTk9ORSwgLyogSW1wbGljaXQgemVybyAqLw0K PiA+ICsgICAgWzNdICAgICAgICAgICAgICAgICAgICAgID0gWERQX1JTU19UWVBFX05PTkUsIC8q IEltcGxpY2l0IHplcm8gKi8NCj4gPiArICAgIFtSU1NfVFlQRV9MM19JUFY0XSAgICAgICA9IFhE UF9SU1NfVFlQRV9MM19JUFY0LA0KPiA+ICsgICAgW1JTU19UWVBFX0w0X0lQVjRfVENQXSAgID0g WERQX1JTU19UWVBFX0w0X0lQVjRfVENQLA0KPiA+ICsgICAgW1JTU19UWVBFX0w0X0lQVjRfVURQ XSAgID0gWERQX1JTU19UWVBFX0w0X0lQVjRfVURQLA0KPiA+ICsgICAgW1JTU19UWVBFX0w0X0lQ VjRfSVBTRUNdID0gWERQX1JTU19UWVBFX0w0X0lQVjRfSVBTRUMsDQo+ID4gKyAgICBbUlNTX1RZ UEVfTDNfSVBWNl0gICAgICAgPSBYRFBfUlNTX1RZUEVfTDNfSVBWNiwNCj4gPiArICAgIFtSU1Nf VFlQRV9MNF9JUFY2X1RDUF0gICA9IFhEUF9SU1NfVFlQRV9MNF9JUFY2X1RDUCwNCj4gPiArICAg IFtSU1NfVFlQRV9MNF9JUFY2X1VEUF0gICA9IFhEUF9SU1NfVFlQRV9MNF9JUFY2X1VEUCwNCj4g PiArICAgIFtSU1NfVFlQRV9MNF9JUFY2X0lQU0VDXSA9IFhEUF9SU1NfVFlQRV9MNF9JUFY2X0lQ U0VDLA0KPiA+ICsgICAgWzEyXSAgICAgICAgICAgICAgICAgICAgID0gWERQX1JTU19UWVBFX05P TkUsIC8qIEltcGxpY2l0IHplcm8gKi8NCj4gPiArICAgIFsxM10gICAgICAgICAgICAgICAgICAg ICA9IFhEUF9SU1NfVFlQRV9OT05FLCAvKiBJbXBsaWNpdCB6ZXJvICovDQo+ID4gKyAgICBbMTRd ICAgICAgICAgICAgICAgICAgICAgPSBYRFBfUlNTX1RZUEVfTk9ORSwgLyogSW1wbGljaXQgemVy byAqLw0KPiA+ICsgICAgWzE1XSAgICAgICAgICAgICAgICAgICAgID0gWERQX1JTU19UWVBFX05P TkUsIC8qIEltcGxpY2l0IHplcm8gKi8NCj4gPiArfTsNCj4gDQo+ID4gZHJpdmVycy9uZXQvZXRo ZXJuZXQvbWVsbGFub3gvbWx4NS9jb3JlL2VuL3hkcC5jOjE5ODozOiB3YXJuaW5nOiBzeW1ib2wg J21seDVfcnNzX2hhc2hfdHlwZScgd2FzIG5vdCBkZWNsYXJlZC4gU2hvdWxkIGl0IGJlIHN0YXRp Yz8NCj4gPiANCj4gPiAuLi4NCj4gPiANCj4gDQo=