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 2E17142526; Wed, 6 Sep 2023 10:30:58 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 2327B402C3; Wed, 6 Sep 2023 10:30:58 +0200 (CEST) Received: from NAM12-BN8-obe.outbound.protection.outlook.com (mail-bn8nam12on2076.outbound.protection.outlook.com [40.107.237.76]) by mails.dpdk.org (Postfix) with ESMTP id CDC8C4029E; Wed, 6 Sep 2023 10:30:56 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Itrau6NeIF7rrQZ1hPTL0pobJarLqVxb3Fjd3s6yVbSGNe4PzBKfw+x9VatdkPBcLvL92rjUNiNlnDg9/joSlXkP2G2XHv8i9MPQyoRaP9weEmx6Ty7/ddScYDZnhFGu/dq2ExBtRtvaiKRmpCyAgpV+VG9VYozcfDoinrdXFagtkIQReCMIdxQ1ay8UhcnOHKwkluMryKYLoyKyF1BDbU+mY5Cu4U/An/pJydm2LcSqljgIUgIrq3PvPlOoLgI6qSbdargRRTe8o6hzNh/3UP/69lB+8f35ZdRH7h0uGbbJawNAtoI/Q9tZUApain3ra2KaQb/5NWjyan9TYGC7Kg== 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=j5jVTrIAK3up0rbDpOO0r4Fwz7Ct0RzkMZaMkdnVoGI=; b=JHcQH9EuGef9adXY3VmmWRk3C2FZ3eyTJg1bqKGswwo/MWH6ckwCNVUA+WKt7WKh0wlmulhdA+xQWOi/qcCUooqUIr04h4vUDLnKqM2gog6fojgxbojV3Z+ouvkZHAlch4CpCQUIAxr0WY9Tomtrcpq6ZietfTUzuqPtM1m6zk5e/H9fSmClcL0NyX5kVvWp4oPy906/CNkKSlyhHvIP8JRh4taTmf++rX1X/oRBLQxiVOkYWq0E+UzMq4MAjO277YAKTydC/cGWoaAcqt1Gc63/xWizC50ahGKidkpMNde4t8snYAcoa626TNBUhpzenvvoKlKlq+UebJbwbulwRQ== 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=j5jVTrIAK3up0rbDpOO0r4Fwz7Ct0RzkMZaMkdnVoGI=; b=EAFLFZ3XVd/RkDKl6WiYst4hJ11FFMe/FKggleF7VdARBy3SQQS7XxxGI7W7SutFTeCJAuAnvulEm/iHqF3K7pFe9fY8BtjIWcrEJsnc6n0qJLO/7+sP9jYMcF75kAVe+WJvTCH7pPACB0A6hc/1Asp7kY5D5LkK0Zv/wR6HZLcFi3BijsIEnSUrLJqPyHc1f27TYgsFN2exXwV8axh+5zt3T9nHWIRhKEBDgl8XCCK093eHxcToBLmGA0/kC1IXgc9weeLmTGibep6WfUhC6DOp6wOBfVzxV/gLVB1XfUzRoT+m/kt3V5LmpP9bnZwcn4A3/QtHUb1FrRmhxXjsUA== Received: from MW2PR12MB4666.namprd12.prod.outlook.com (2603:10b6:302:13::22) by SJ1PR12MB6290.namprd12.prod.outlook.com (2603:10b6:a03:457::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6745.33; Wed, 6 Sep 2023 08:30:54 +0000 Received: from MW2PR12MB4666.namprd12.prod.outlook.com ([fe80::2c6f:f58d:5fc2:6cae]) by MW2PR12MB4666.namprd12.prod.outlook.com ([fe80::2c6f:f58d:5fc2:6cae%3]) with mapi id 15.20.6745.034; Wed, 6 Sep 2023 08:30:54 +0000 From: Ori Kam To: Ferruh Yigit , Jerin Jacob CC: "Dumitrescu, Cristian" , =?utf-8?B?TW9ydGVuIEJyw7hydXA=?= , "Zhang, Qi Z" , "NBU-Contact-Thomas Monjalon (EXTERNAL)" , "david.marchand@redhat.com" , "Richardson, Bruce" , "jerinj@marvell.com" , "techboard@dpdk.org" , "Mcnamara, John" , "Zhang, Helin" , "dev@dpdk.org" Subject: RE: DPDK community: RTE_FLOW support for P4-programmable devices Thread-Topic: DPDK community: RTE_FLOW support for P4-programmable devices Thread-Index: AQHZ0F2cF3AT85vrvkyQvfKPQu34sa/91LiggAIfeICAAQKVgIAALLeAgAMoK8CAAQW3gIAATnlwgAAziQCABJOMAIADIcaQ Date: Wed, 6 Sep 2023 08:30:54 +0000 Message-ID: References: <20230802173451.3151646-1-qi.z.zhang@intel.com> <98CBD80474FA8B44BF855DF32C47DC35D87AC4@smartserver.smartshare.dk> <5228976a-5990-bc5c-28d9-b2774abbb783@amd.com> 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: MW2PR12MB4666:EE_|SJ1PR12MB6290:EE_ x-ms-office365-filtering-correlation-id: ba0a6f19-7df6-48da-bb75-08dbaeb395fb x-ld-processed: 43083d15-7273-40c1-b7db-39efd9ccc17a,ExtAddr x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: o3jAlot7FZgrnVOR7YXsxo9XIYN9MiiowKCIbbF44rhOMMthdr/jDXDS0XAd7H2M2dRdH/+bBgXTssLc4Zlruo3ZnsUOthBfHPIkXBDTRbz+5hi5RUHmqGM58p6cKnRwjHzQUMPkAAR3OaXKV7F4ssVVw/+/VToTnRQcuUbXT+l9xC9sVMs+0G0RFr7IFXHBHYnd2idXPwB5v20oT3YykuUm7YoORybw7gTlxAsoE/EcAIuZ+cC/3BLZCatYyFhoFmI8L8/7NqXc369VNuFjxvGCmpMmma7kqVJqyVM/G3rKIQI2dyztU2ziQKE0lkIxyGSwLp+21mYCBHsoz5mTw9PO7X48/MxSj3BTiNVG9AaoMDWKDkca3qWvIAjJUccebBUtnHr9xoWCreN8+bnHZvX8mwGIjClPaiHg6BM7o+URdlKGy71WkEFg3ALpydXcvH+1wnV/AnajECxEmQcDHxMoV7LlzIQUMCztEbK4Ze+OoE2y0h+38+LupbqWJwZfXFrwuCkVdMwnTEQ+iL7dDmeK3JcezBAHSnTDWh6qhr/wETb2JObxtmcdS2Sg6Qxgm46wWqWVHCGq+/aEBfUdPs8lVffarO11k1uMg/wwW4J43tgJc0DlFJaybbeATya/TbBg+pO7F1pD82sotla33Q== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:MW2PR12MB4666.namprd12.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230031)(136003)(39860400002)(396003)(346002)(376002)(366004)(1800799009)(186009)(451199024)(66899024)(2906002)(38100700002)(38070700005)(33656002)(86362001)(122000001)(55016003)(52536014)(71200400001)(4326008)(8676002)(8936002)(5660300002)(53546011)(66476007)(7696005)(76116006)(110136005)(41300700001)(54906003)(9686003)(64756008)(66556008)(66946007)(66446008)(6506007)(316002)(83380400001)(7416002)(478600001)(21314003); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?cDR5dHBhM3g2R1ljQ2lCZzYzeDRMZTJTL3JjUGRoZ0U1MjhLeHNhZDJvRDNB?= =?utf-8?B?Z3R2dXZWL2RwSmRTM1FnMGFEWlMrSEx1UllSVGJaZCt3aksvYWNzUHoyMURS?= =?utf-8?B?ZHZlbnZMbVFEYnMvOWc1K0JPTHY4NVNLdVZSSlNyQTUxNVNaRlJKRTA4Nk9O?= =?utf-8?B?VDlEWUlITTE3dWo2RnNtN3Z3VnU0RGFkUWgwRGlHSnFkOXpha1JMMmhkUXRi?= =?utf-8?B?MWNYeFFlMDhkUTBjSGVCck4rSUdjdWZXRVgva2R5Y1k1SUppaEZkdkxMRGJT?= =?utf-8?B?RTJIT1ZNK3BkMUFDcVVIYk5peVFwTHUyUGI3VDhoRG4zeStCVFVvb0Ftamw2?= =?utf-8?B?QzZKSkx1Ly9abWxBYTI1bUsvRU1wSkJPVmQxQ1hvTWNaMC9pZmp3bGVac3RU?= =?utf-8?B?UVdzREFzclFJRkNyUjdQVHJJN0VjVnB6cHljanhTdEJIcVRVcjg0MUU3ckI4?= =?utf-8?B?dU52Y2ZHMThLTjJsOFg2STR1MEFMbDh1T0hWdFlqK2dMZnR4T2ZrRFNWbGNr?= =?utf-8?B?SE9TeVkrc0Z6empTejdmcmFDRlBBTkRGSGpBSDR6Vlk5c0tMc01YazJOYUUy?= =?utf-8?B?VkhlcTlueGxrNkZKTG1TbExja2VQZ3dHRWxpdVFTbmN2aEEyRSthYWdrUTkr?= =?utf-8?B?Y1A0TzZIZDVwcTlYZWRKR2M1cTVLa3poSDVCRU4rNjJST1c3bWhFakdtSXJD?= =?utf-8?B?RnNXUVplSlQ0NHJsRzBXcGozRDBCeDg0S3RFM2dib0t5SkduTGxySWhoczRo?= =?utf-8?B?eGxnQ1htS0V3RTVnUmdLY1NLanJxZnlIOFZEeTM3NUlhK05sUWNyZDlrdE4v?= =?utf-8?B?eTkzb3FpZjdtZEQ1SVM4S2IrMElueE1uL1AzZkRXcFFOYjQ1RFNtbkRPSWlw?= =?utf-8?B?QWFWcmxGK3FLZnRxdFJYTmdpREtlR2MvOTR6dUpMTnIwVE01Nk9Pc2lxZTV5?= =?utf-8?B?dHY3cjJodXBuMXp4bzdWakJ1a2hRdWx5NDV5aUtuQXNzdlVjVnVsWDBVNXBW?= =?utf-8?B?Sk9VVWlPczAxd1paWllwSEhkRy9QNGN3OGtCb0hxU1RBdXVkKzI4TDhjb0pq?= =?utf-8?B?cExRaHNLUm13aFBSY21JUVV2SDBCcnRLcjJMb0p6UlNIOEFVbUFteVBFZWhQ?= =?utf-8?B?ZEYrSU9SZnlsbm5TbTNVdi90a2hlT2Z1MVNvWmVpRFBmeE5kb2xxUkl3ZUJt?= =?utf-8?B?ZEVKNUcvRWZNRnVNUm1jbkRUNjk0M25heGFEZGVhSHZnYThHRGNUcHJ0VUFX?= =?utf-8?B?SDdqaVA4bzVaRnlQdUs5V2dDbjM5d0VYSEZldGZMNVpCZzNUM083aG5lckZp?= =?utf-8?B?UVE1azkrbDJzVDV3NDY2Uk1velh2T1VQZG1HK2lGWkZJZ1FLd2dOTGFwM0J0?= =?utf-8?B?VU15SmpEWnBEcGt6cWVBQ2lGM3FWczIrMTdzZm95dzZQeUp4R1FmSC9GRll3?= =?utf-8?B?TE5JYXZrbDdUMW5QZXQ0UDlvSWp3RDE3VHc2clZCWjg0NVlLeXg3b3NKbWM2?= =?utf-8?B?VlRXM0tWZ3BTczlZM3lFUUhYUTFMNW9wN1pTU2xQTzNmNGs0S2FKOU55elky?= =?utf-8?B?MmhIYlpNUkVyb2xNZ2Jndlp3UzlIVjljQXBBVWF2dHlBUlBPYnJ0MDhvV1NL?= =?utf-8?B?ai9YK1hlQVVrNHVEU2JBMFVyNW9iLzI2ekQ3LytJUExmcEpNR05CT1FLUFky?= =?utf-8?B?QjVPWnVOWWdweHRmc29PaXdJZlgrc0RBNnhVMDhEdm41c0RKVjVhMHVKZjQ5?= =?utf-8?B?TVN3dG4yR3dOWlhzRFVKekNaOXdEWFhPc2ZrSDd4Rk5zUm9sSXNDUXlhWGJB?= =?utf-8?B?aHNiZE8yMXpZMVRRYTIzamppS1N2akE3elRmN3dJTjUwdE1WUDkwcGZ3TURR?= =?utf-8?B?Y0gwaEhSeS9JS3l3Szk2ZjA2em95L3pEa3AxRzRlb1JBOFRhVHBPN3V0Vk8x?= =?utf-8?B?L0NWSU0rdmtkWHJvQk54VUNzdVpZYTVoMkU1RTlqRlFFN3dtdHVMK3dCbnJv?= =?utf-8?B?Z1FmemF3bDZKTzhKWjgwK09Vcmt1YVI5aVdBN0RwcGhMTzJNVUZPcksybjZG?= =?utf-8?B?ZTdwRGVkdEpidVJyTUNlYisvdWVOTXhpemVuZz09?= 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: MW2PR12MB4666.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: ba0a6f19-7df6-48da-bb75-08dbaeb395fb X-MS-Exchange-CrossTenant-originalarrivaltime: 06 Sep 2023 08:30:54.1368 (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: LITbFHwiEaKBETIYrhf7dAnUJZYGSroWu5d9w45reeuFn1o2tOfHE4ykynqq/SNT2w3+T+qktMVaiyz1ZBuPLA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ1PR12MB6290 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 DQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogRmVycnVoIFlpZ2l0IDxm ZXJydWgueWlnaXRAYW1kLmNvbT4NCj4gU2VudDogTW9uZGF5LCBTZXB0ZW1iZXIgNCwgMjAyMyAx MDo0NiBBTQ0KPiANCj4gT24gOS8xLzIwMjMgMTA6NTIgQU0sIEplcmluIEphY29iIHdyb3RlOg0K PiA+IE9uIEZyaSwgU2VwIDEsIDIwMjMgYXQgMTI6MjfigK9QTSBPcmkgS2FtIDxvcmlrYUBudmlk aWEuY29tPiB3cm90ZToNCj4gPj4NCj4gPj4NCj4gPj4NCj4gPj4+IC0tLS0tT3JpZ2luYWwgTWVz c2FnZS0tLS0tDQo+ID4+PiBGcm9tOiBKZXJpbiBKYWNvYiA8amVyaW5qYWNvYmtAZ21haWwuY29t Pg0KPiA+Pj4gU2VudDogRnJpZGF5LCBTZXB0ZW1iZXIgMSwgMjAyMyA1OjA3IEFNDQo+ID4+Pg0K PiA+Pj4gT24gVGh1LCBBdWcgMzEsIDIwMjMgYXQgNDowMuKAr1BNIE9yaSBLYW0gPG9yaWthQG52 aWRpYS5jb20+IHdyb3RlOg0KPiA+Pj4+DQo+ID4+Pj4gSGkNCj4gPj4+DQo+ID4+Pj4+Pj4NCj4g Pj4+Pj4+PiAzLiBFdmVyeWJvZHkgb24gdGhlIGNhbGwgYWdyZWVkIHRoYXQgdGhlIFA0LXByb2dy YW1tYWJsZSBkZXZpY2VzDQo+IGZyb20NCj4gPj4+Pj4gSW50ZWwsDQo+ID4+Pj4+Pj4gQU1EIGFu ZCBvdGhlcnMgbmVlZCB0byBiZSBmdWxseSBzdXBwb3J0ZWQgYnkgRFBESyBhbmQgdGhhdCB0aGVy ZSBhcmUNCj4gPj4+Pj4gc29tZQ0KPiA+Pj4+Pj4+IGdhcHMgaW4gUlRFX0ZMT1cgdG8gYmUgZml4 ZWQgZm9yIHN1cHBvcnRpbmcgdGhlc2UgZGV2aWNlcy4NCj4gPj4+Pj4+DQo+ID4+Pj4+PiBQZXJz b25hbGx5LCBJdCBtYWtlcyBzZW5zZSB0byBtZSB0byBoYXZlIG5vcm1hdGl2ZSBEUERLIEFQSSB0 byBzZW5kDQo+IHA0DQo+ID4+Pj4+PiBydW50aW1lIG1lc3NhZ2UgdG8gdGhlDQo+ID4+Pj4+PiBl dGhkZXYgc28gdGhhdCB3ZSBoYXZlICJ2ZW5kb3IgbmV1dHJhbCArIERQREsgYmFzZWQiIHA0IHJ1 bnRpbWUNCj4gPj4+IGJhY2tlbmQuDQo+ID4+Pj4+Pg0KPiA+Pj4+Pj4gSSBwcmVmZXIgdG8gaGF2 ZSBzcGVjaWFsaXplZCBldGhkZXYgb3BzIGZvciB0aGlzIGR1ZSB0byB0aGUgZm9sbG93aW5nDQo+ ID4+PiByZWFzb25zLg0KPiA+Pj4+Pj4NCj4gPj4+Pj4+ICMgSWYgdGhlIGV0aGRldiBoYXMgYm90 aCByZWFsIFRDQU0gYmFzZWQgSFcoZm9yIGV4aXN0aW5nIHJ0ZV9mbG93DQo+ID4+Pj4+PiBwYXR0 ZXJucyBhbmQgYWN0aW9ucykgYW5kIFNXIGFnZW50IHRvIHJlY2VpdmUgUDQgcnVudGltZSBtZXNz YWdlIGV0Yy4NCj4gPj4+Pj4+IFR5cGljYWxseSwgaXQgbmVlZHMgdG8gdGFrZSBhIGRpZmZlcmVu dCBwYXRoIGluIGRyaXZlciB0byB0YWxrLiBBc3N1bWUsIGlmDQo+IHlvdQ0KPiA+Pj4+Pj4gaGF2 ZSBjYXNjYWRlZCBwYXR0ZXJucy9hY3Rpb25zLCBPbmUgaXMgdGFyZ2V0ZWQgZm9yIFRDQU0gYW5k IG90aGVyIGZvcg0KPiA+Pj4+Pj4gU1cgYWdlbnQgZm9yIHA0LCBvbmUNCj4gPj4+Pj4+IG5lZWQg dG8gaGF2ZSBzZXJpb3VzIGFtb3VudCBjaGVja2luZyBmb3IgZGlzcGF0Y2hpbmcuSXQgY29tcGxp Y2F0ZXMNCj4gPj4+Pj4+IHRoZSBkcml2ZXIgYW5kIGZvcmJpZCB0byBoYXZlDQo+ID4+Pj4+PiBk cml2ZXIgb3B0aW1pemF0aW9uIGVzcGVjaWFsbHkgY2FzZXMgZm9yIHRlbXBsYXRlcyBldGMuIGlm IHVzZXIgbWFraW5nDQo+ID4+Pj4+PiBydWxlcyBmb3IgYm90aCBjYXRlZ29yeSBvZiBIVy4NCj4g Pj4+Pj4+DQo+ID4+Pj4+DQo+ID4+Pj4+IEluZGVlZCBJIGFtIG5vdCBhZ2FpbnN0IGRlZGljYXRl ZCBBUElzIGZvciBQNCBydW50aW1lIGJhY2tlbmQuDQo+ID4+Pj4+DQo+ID4+Pj4+IEJ1dCBhc3N1 bWluZyB0aGVyZSBpcyBhIGRlZGljYXRlZCBydGVfZmxvdyBpdGVtIGZvciBQNCwgaG93IGl0IGlz DQo+ID4+Pj4+IGRpZmZlcmVudCB0aGFuIGRlZGljYXRlZCBBUEkgaW4gYWJvdmUgc2NlbmFyaW8/ DQo+ID4+Pj4+IElmIGRyaXZlciBkZXRlY3RzIFA0IHJ1bnRpbWUgc3BlY2lmaWMgcnVsZSwgaXQg Y2FuIGJhaWwgaXQgb3V0IHRvIFNXIGFnZW50Lg0KPiA+Pj4+PiBDYW4geW91IHBsZWFzZSBlbGFi b3JhdGUgdGhlIGNvbXBsZXhpdHkgaXQgaW50cm9kdWNlcz8NCj4gPj4+DQo+ID4+PiBBc3N1bWUs IG5vcm1hbCBleGlzdGluZyBydGUtZmxvdyBwcm9ncmFtbWluZyBpbmNsdWRlIGEgYnVuY2ggb2YN Cj4gPj4+IHJlZ2lzdGVyIHdyaXRlcyBhbmQNCj4gPj4+IHA0IHJ1bnRpbWUgYmFja2VuZCBpcyBt b3JlIG9mIFNXIHJpbmcuIElmIGEgdGVtcGxhdGUgaGFzIGJvdGggcGF0dGVybnMNCj4gPj4+IGFu ZCBhY3Rpb25zDQo+ID4+PiBhcyBjYXNjYWRlZCwgaXQgd2lsbCBiZSBkaWZmaWN1bHQgZm9yIGRy aXZlciB0byBvcHRpbWl6ZSB0aGUgdGVtcGxhdGUuDQo+ID4+Pg0KPiANCj4gSSBhc3N1bWVkIFA0 IHNwZWNpZmljIGl0ZW0vYWN0aW9uIGNhbiB0YWtlIGNvbXBsZXRlbHkgc2VwYXJhdGUgcGF0aCwg ZG8NCj4geW91IHRoaW5rIGV4aXN0aW5nIHJ0ZV9mbG93IGl0ZW0vYWN0aW9ucyBhbmQgUDQgaXRl bS9hY3Rpb25zIGNhbiBtaXggaW4NCj4gc2FtZSBydGVfZmxvdyBydWxlPw0KPiANCg0KSSBkb24n dCB0aGluayBvbmUgcnVsZSB3aWxsIHVzZSBib3RoIEFQSXMNCg0KPiANCj4gPj4+DQo+ID4+Pj4+ DQo+ID4+Pj4+PiAjIEFsbCB3ZSBuZWVkICJjaGFyIGJ1ZmZlci8vc3RyaW5nIiBiYXNlZCBjb21t dW5pY2F0aW9uIGV0aGRldiA8LT4NCj4gYXBwLg0KPiA+Pj4+Pj4NCj4gPj4+Pj4NCj4gPj4+Pj4g WWVzLCBhbmQgYm90aCBhIGRlZGljYXRlZCBBUEkgb3IgZGVkaWNhdGVkIHJ0ZV9mbG93IGl0ZW0g Y2FuIHByb3ZpZGUNCj4gPj4+Pj4gbWVkaXVtIGZvciB0aGlzIGNvbW11bmljYXRpb24uDQo+ID4+ Pj4+DQo+ID4+Pj4+IHJ0ZV9mbG93IG9uZSBoYXMgZmxleGliaWxpdHkgJiBleHRlbnNpYmlsaXR5 IGFkdmFudGFnZXMsIGJ1dCBtYXliZSBub3QNCj4gPj4+Pj4gYXMgc3RyYWlnaHRmb3J3YXJkIGFz IGFuIEFQSS4NCj4gPj4+Pg0KPiA+Pj4+IEkgdGhpbmsgbm90IHVzaW5nIHRoZSBydGVfZmxvdyB3 aWxsIGFsc28gcmVxdWlyZSBkdXBsaWNhdGlvbiBvZiBhbGwgdGhlIHJ1bGUNCj4gPj4+IGhhbmRs aW5nIGZ1bmN0aW9ucyBhbmQgdGFibGUgY3JlYXRpb25zLCBmb3IgZXhhbXBsZSBheW5jIHJ1bGUN Cj4gY3JlYXRlL2Rlc3Ryb3kNCj4gPj4+IHF1ZXJ5IC4uLi4uLg0KPiA+Pj4NCj4gPj4+IFllcy4g VGhhdCBpcyBhIGZhaXIgcG9pbnQuIEkgYW0gT0sgd2l0aCBleHBvc2luZyBhcyBydGVfZmxvdy4N Cj4gPj4+IEFzIGEgZHJpdmVyIGltcGxlbWVudGF0aW9uIG5vdGUsIHRvIGdldCByaWQgb2YgdGhl IGFib3ZlIHByb2JsZW0sDQo+ID4+PiBkcml2ZXIgY2FuIGNob29zZSB0byBoYXZlIHBzZXVkbyBl dGhkZXYgZGV2aWNlcyBmb3IgcDQgaWYgbmVlZGVkKGlmDQo+ID4+PiBkcml2ZXIgZmluZHMgZGlm ZmljdWx0IHRvIGNvbWJpbmUgVENBTSBiYXNlZCBvbiBIVyBydWxlcyBhbmQgcDQNCj4gPj4+IHJ1 bnRpbWUgcnVsZSkuDQo+ID4+Pg0KPiA+Pg0KPiA+PiBXaGF0IGFib3V0IHRoZSBmb2xsb3dpbmcg Y29uY2VwdDoNCj4gPj4gVGhlIHA0IGNvbXBpbGVyIGNhbiBnZW5lcmF0ZSB0aGUgdHJhbnNsYXRp b24gdG8ga25vd24gUE1EIG9iamVjdHMgaW4NCj4gcnRlX2Zsb3csDQo+ID4+IHRoZW4gd2hlbiBh IGNvbW1hbmQgaXMgc2VudCBmcm9tIHRoZSBwNCBhZ2VudCB0byB0aGUgb2ZmbG9hZCB1c2luZyBH UlBDIG9yDQo+IGFueSBvdGhlciB3YXksIHRoZSBEUERLIHdpbGwgY29udmVydCBmcm9tDQo+ID4+ IHA0IHByb3RvY29sIHRvIHJ0ZV9mbG93IGNvbW1hbmRzICh0aGlzIHNob3VsZCBiZSB2ZXJ5IGZh c3Qgc2luY2UgdGhlDQo+IGNvbW1hbmRzIGFyZSBrbm93biBhbmQgdGhlIG1hcHBpbmcgaXMgYWxy ZWFkeQ0KPiA+PiBkZWZpbmVkKS4NCj4gPj4NCj4gPj4gVG8gc3VwcG9ydCB0aGUgYWJvdmUgaWRl YSB3ZSBuZWVkIHRvIGFkZCB0d28gbmV3IGZ1bmN0aW9ucyB0byBydGVfZmxvdw0KPiAoZWFjaCBm dW5jdGlvbiB3aWxsIGJlIGltcGxlbWVudGVkIGluIFBNRCBsZXZlbCkNCj4gPg0KPiA+IElmIHRo ZSBpbXBsZW1lbnRpb24gb2YgcnRlX2Zsb3dfcDRfcnVudGltZSgocDQgY29tbWFuZCBiYXNlZCBv biB0aGUgcDQNCj4gc3BlYykpDQo+ID4gaXMgZGVmaW5lZCBpbiBQTUQgbGV2ZWwsIFRoZSBQTUQg ZHJpdmVyIHRvIGRlY2lkZSB0byB1c2UgcnRlX2Zsb3cgb3INCj4gPiBzb21ldGhpbmcgZWxzZS4N Cj4gPiBJIHRoaW5rIGl0IGlzIGdvb2QsIHRoaXMgaXMgYWN0dWFsbHkgZ29pbmcgYmFjayB0byBz cGVjaWFsaXplZCBBUEkuDQo+ID4gQlRXLCBydGVfZmxvdyBwcmVmaXggaXMgbm90IG5lZWRlZCBp biB0aGF0IGNhc2UuDQo+ID4NCj4gDQo+ICsxIHRoaXMgaXMgbGVhbmluZyB0byB0aGUgZGVkaWNh dGVkIEFQSSBvcHRpb24uDQoNCkkgYWdyZWUgdGhhdCB3ZSBuZWVkIHNvbWUgZGVkaWNhdGVkIEFQ SSBidXQgaXQgaXMgdmVyeSBsZWFuLA0KYW5kIGRvZXNuJ3QgaGF2ZSBhbnkgZHVwbGljYXRpb24g d2l0aCBydGVfZmxvdy4NCkluIG15IHZpZXdwb2ludCB0aGVyZSBhcmUgb25seSB0aGUgdHdvIHN1 Z2dlc3RlZCBmdW5jdGlvbnMsDQpJIGRvbid0IHdhbnQgdG8gc2VlIGEgZnVuY3Rpb24gdG8gaW5z ZXJ0IHJ1bGVzIG9yIG5ldyBpdGVtcy9hY3Rpb25zLg0KSW4gb3RoZXIgd29yZHMsIGl0IGlzIG9u bHkgMiBtb3JlIGZ1bmN0aW9ucyBhbmQgbm90IGEgbmV3IGxpYi4NCg0KT25lIG1vcmUgdGhpbmcg aWRlYWxseSB0aGUgY29tcGxpZXIgb3V0cHV0IGZvcm1hdCB3aWxsIGJlIGluIHJ0ZV9mbG93IGZv cm1hdCwNCkFuZCB0aGUgYWJvdXQgZnVuY3Rpb24gYXJlIG9ubHkgZm9yIHRoZSBncnBjIGludGVy ZmFjZS4NCg0KDQo+IA0KPiA+DQo+ID4NCj4gPj4gUnRlX2Zsb3dfcmVnaXN0ZXJfcDQodm9pZCAq cDRfaW5mbywgdm9pZCAqcDRfYmxvYikNCj4gPj4gew0KPiA+PiAgICAgICAgIENyZWF0ZXMgdGhl IHN0YXRpYyBzdHJ1Y3R1cmVzL29iamVjdHMNCj4gPj4gICAgICAgICBJbnRlcm5hbCByZWdpc3Rl ciB0aGUgcDQgY29tbWFuZHMgdG8gUE1EIHRyYW5zbGF0aW9uIHRhYmxlLg0KPiA+PiB9DQo+ID4+ DQo+ID4+IFJ0ZV9mbG93X3A0X3J1bnRpbWUocDQgY29tbWFuZCBiYXNlZCBvbiB0aGUgcDQgc3Bl YykNCj4gPj4gew0KPiA+PiAgICAgICAgIEJhc2VkIG9uIHRoZSByZWdpc3RlcmVkIG1hcHBpbmcs IHRyYW5zbGF0ZSB0aGUgY29tbWFuZCB0byBydGVfZmxvdw0KPiBjb21tYW5kcy4NCj4gPj4gICAg ICAgICBSdGVfZmxvd194eHgoKSBjYWxscw0KPiANCj4gRm9yIHRoZSAncnRlX2Zsb3dfeHh4KCkn IGNhbGxzIGhlcmUsIG15IHVuZGVyc3RhbmRpbmcgaXMgZXhpc3RpbmcNCj4gcnRlX2Zsb3cgY2Fs bHMgYXJlIG5vdCBzdWZmaWNpZW50IHRvIG1lZXQgdGhlIHJlcXVpcmVtZW50IHRvIHByb2dyYW0g dGhlDQo+IFA0IHBpcGVsaW5lLCB0aGF0IGlzIHdoeSB0aGlzIHBhdGNoIGlzIGFib3V0IGRlZmlu aW5nIHRoZSBuZXcgZmxvdyBpdGVtLg0KPiANCkkgdGhpbmsgcnRlX2Zsb3cgaXMgZ29vZCBhbmQg ZG9lc27igJl0IG1pc3MgbXVjaCwNCkkgd2lsbCBiZSBtb3JlIHRoYW4gaGFwcHkgdG8gc2VlIHdo YXQgaXMgbWlzc2luZyBhbmQgYWRkIGl0LiBXZSBoYXZlIGEgY29tcGxldGUgc2Vzc2lvbiBhYm91 dCBpdA0KaW4gdGhlIHN1bW1pdC4NClNheWluZyB0aGF0IFBNRCBjYW4gZG8gd2hhdGV2ZXIgaXQg d2FudHMgaW50ZXJuYWxseS4NCg0KPiBJZiB0aGVzZSBhcmUgbm90IHJ0ZV9mbG93IGNhbGxzIGJ1 dCBQTUQgZGVmaW5lZCBjb2RlLCB0aGFuIGl0IGlzIG5vdA0KPiBtdWNoIGRpZmZlcmVudCBmcm9t IHByZXZpb3VzbHkgc3VnZ2VzdGVkIGRlZGljYXRlZCBBUEkgc29sdXRpb24uDQo+IA0KDQpJIGFn cmVlLCB0aGlzIGlzIG11Y2ggY2xvc2VyIHRvIHRoZSBvcmlnaW5hbCBzdWdnZXN0aW9uLA0KSSB0 aGluayB0aGUgY29ycmVjdCB3YXkgaXMgdGhhdCB0aGUgY29tcGlsZXIgd2lsbCBvdXRwdXQgcnRl X2Zsb3cNCnN0cnVjdHVyZXMuIA0KVGhpcyB3YXMgbXkgb3JpZ2luYWwgdGhpbmtpbmcgYW5kIEkg c3RpbGwgdGhpbmsgdGhpcyBpcyB0aGUgYmVzdCBvbmUuDQpBbmQgaWYgc29tZXRoaW5nIGlzIG1p c3NpbmcgaW4gcnRlX2Zsb3cgd2UgbmVlZCB0byBhZGQgaXQuDQoNCj4gDQo+ID4+IH0NCj4gPj4N Cj4gPj4gQXMgZmFyIGFzIEkgc2VlLCB0aGUgYWJvdmUgY29kZSB3aWxsIGFsc28gYWxsb3cgUE1E IHRvIGltcGxlbWVudCBpbnRlcm5hbA0KPiBsb2dpYyBpZiBuZWVkZWQsIHdoaWxlIGZyb20gRFBE SyBBUEksDQo+ID4+IHdlIHdpbGwgb25seSBhZGQgdHdvIG5ldyBmdW5jdGlvbnMuDQo+ID4+DQo+ ID4+Pg0KPiA+Pj4+DQoNCkJlc3QsDQpPcmkNCg0K