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 9C9E4A0548; Thu, 2 Jun 2022 07:48:30 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 442AD40694; Thu, 2 Jun 2022 07:48:30 +0200 (CEST) Received: from NAM11-DM6-obe.outbound.protection.outlook.com (mail-dm6nam11on2078.outbound.protection.outlook.com [40.107.223.78]) by mails.dpdk.org (Postfix) with ESMTP id 3CF1E4021E for ; Thu, 2 Jun 2022 07:48:29 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Ms+yqIv9D3h0dPTy6YsOBW/0OGF3c2t94vN4VC1G4p6gr3L2zWhi+dTc+fH7SPfpMAszQvOhVmRY8MJkIEzCk7/35E5kDlKBW/ED6OsPdd7JdIr75PRblD/qcfu38N08XoAqRTkYrnCmNPp8eQNTy1VQaJmkQ53RgEQmYOmQZHPc5fa772QfbqSoW0PFuGevDEkKb1GNBCyq3o7/IidJ95cVFXSZHdJ47ayjkMqQYLcVWNHAbPQ7NwF1DZm1D2gUCfLPaEGooJvYLwdt7toZVtl0NYL5qaEtrQj8XIhkzzvMiu7fgBxQXVmDR+DNsZDf+E9SEsmdHHRRTogcvZ9MSw== 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=vsJdG8NT7uSVlSHx8pAsChBKuSPB6oGFv3+ZPArvbFw=; b=b/lYKvi8lsug8/EOE1qbHwBhpEqSj+5HGt3+cEaB/HZdtRCxbehxi7OcimqcaRN6l6KlbAL+in/eMmbI2Fr6K3QACBQ/J7WQRoT3//TK22XLCd9YMQimL1rZY6yNqZvxywveKfuT07+EADWtP/QcBRouO1NlPLhiH7x176rmWIKdTfeHyeL58N5mfSvZA71iRMxPTDRRefpvtc0CgOilmZY6Inmny527Vhbo3U42r8a05lpuJnGpNPCoCUBs4CIRzhgXoWIOdA5UyXOB/1DCwiYRdC/WuqXzzLAOl4k3VasRcCJ69ky0k2FXv/P4iSO2RWsn1R83zdALrYI8nLsZxQ== 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=vsJdG8NT7uSVlSHx8pAsChBKuSPB6oGFv3+ZPArvbFw=; b=YxikkK/zRB/Ccg+nXLufA+imxUn3spNo2hwPQxAj+ucj2kW+PASDwpxwO2EmflZ0r/BNcv8oTXrSJ8pBoskt/guZX/5/kJ/rxQTPc9LRuADu+ae+UvBn97nY+hgLcSgS29Tyxlvk+r0EK2y4U32FDRfPP0NyZYwcYuHfzT8uU9tFPbL4/Ts1CSBux6kOuyZyCN6abkRUNCTQqs/XMMWib1IuYjm6sri3qNd/IptZz8M3QCFHj3/3dbps7sHDRgc3QzARBAhYoRJwSihkkMQAI4DgsYNKC3xlfjhiDPGJAUUagIdYmK6+UIczzMw7l978JGHIlS4hoOS1xSQIHZIQ9A== Received: from MW2PR12MB4666.namprd12.prod.outlook.com (2603:10b6:302:13::22) by MN0PR12MB5834.namprd12.prod.outlook.com (2603:10b6:208:379::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5314.13; Thu, 2 Jun 2022 05:48:27 +0000 Received: from MW2PR12MB4666.namprd12.prod.outlook.com ([fe80::edeb:4144:1ee4:83a1]) by MW2PR12MB4666.namprd12.prod.outlook.com ([fe80::edeb:4144:1ee4:83a1%6]) with mapi id 15.20.5293.019; Thu, 2 Jun 2022 05:48:27 +0000 From: Ori Kam To: Ferruh Yigit , "Sean Zhang (Networking SW)" , Xiaoyun Li , Aman Singh , Yuying Zhang , "NBU-Contact-Thomas Monjalon (EXTERNAL)" , Andrew Rybchenko CC: "dev@dpdk.org" , "Jiawei(Jonny) Wang" , Alexander Kozyrev Subject: RE: [v1 1/4] ethdev: add IPv4/IPv6 ECN header rewrite action Thread-Topic: [v1 1/4] ethdev: add IPv4/IPv6 ECN header rewrite action Thread-Index: AQHYRmERuVoddNtIXkqL2EpcZQtfC607RFcAgAC3gfA= Date: Thu, 2 Jun 2022 05:48:27 +0000 Message-ID: References: <20220402071150.9392-1-xiazhang@nvidia.com> <20220402071150.9392-2-xiazhang@nvidia.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-office365-filtering-correlation-id: ce957d7a-42d0-452f-3f65-08da445b83d4 x-ms-traffictypediagnostic: MN0PR12MB5834:EE_ x-ld-processed: 43083d15-7273-40c1-b7db-39efd9ccc17a,ExtAddr x-microsoft-antispam-prvs: x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: eASHa6jne6Ec4+HkL0D+ORJhWHNfcLiv0fjG2eOPb/X7yu+5Ol1Np6mJOFpdne1p3f0J2bNjUJi/VNlGqFW2VdMzzqEAvwQttIdXheWpHEVENCa26sK5/0SGqGeV0hNnY8SxJCURQUcT+icN0NgDMhzeD1cG4Zmu4EPQaTpiCTbvQ0CcU2x4jtNply1r9lm2TnJStGgbwZ4h/G+PxXxCr4ZfOgNajL+OXs4ZOF9Jf8e6QJaFCcZTjxg+pI0d9GtRkPPIQjZB523J7Wtbu13WhZ+jgy8jNkdo54OGvUuBt2omrSpdUxbWB1pIzx91TZjm6jC7W8zIf1l/M/egPu/UmXFkilXuOC0eohtswdfenqi9MVHNUxDJ2L5BGbhj/WcPgA2gm/3rNB41/SAYDitTZePA0Rh+a2ZAypxQhleElIgxpnyJuqVUuzbDPh6tnx3V2C6LXDcYX845/HVmzXQXPoHa5tW04eJIFVgXvSbynA79QCSDnL4wNs5Ceh85Ly8cdCdLYjol84HzbWwfxD1HC4ZZHZhxW8c8qRCG6cvNxzVSQQMNSMwu7SpH+eMNt/9YRKcQJnRxuJrhfMy7fPInU7NSyR6lWjDLTImCTmzfQpM3qdt9KNCMmvHnFLTgbLr2HKNz9Nps1GDcatEFN/iyhciq/GS6Ug9J6t1xQa0HsopEermJfEsM3y+zXCe2uVpa7teR0payaVUoWPMcQMa/UA== 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:(13230001)(4636009)(366004)(8676002)(76116006)(4326008)(66476007)(66446008)(66946007)(66556008)(64756008)(122000001)(5660300002)(38070700005)(71200400001)(86362001)(55016003)(38100700002)(54906003)(508600001)(110136005)(107886003)(316002)(186003)(53546011)(6506007)(9686003)(26005)(2906002)(7696005)(8936002)(33656002)(52536014)(83380400001); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?ZWY3MWs2enJLK3J1blhldW9hbnRMbGRpYTFUQUhjYzRqeFpOSDk1TzdTME15?= =?utf-8?B?WEhUbUFSK1J2aXNEcXhvN0pTbWxZRVEvWldnS2dMK2F5akRMdnl4d2RuZW1Z?= =?utf-8?B?MGhFUHFvOVI1Q01UMlgvRE9NV0d3dG5mRkRwVXMyUmNSVXJhUENlT1g4cVFr?= =?utf-8?B?Rm83d3NyL0tZNi82bE9qZGVNTGJWUmJrN3RPR0FtbElycjQ3N0srbWthenJh?= =?utf-8?B?U0JJS3Y1RHBBZTBNSStlTno4U2l4cFdmLzhhKzcyQTVSd05haGE1aUpqSkRK?= =?utf-8?B?elBTZ3pvSUtmd2xDT3JQWEJneW1meWJERkJpNnI2dE96by9YdmcyWW1Wb0M4?= =?utf-8?B?Rmg0TVRPSGpZRGtYM0ptYWcwK2NXVmU4TnVPSEVaVisxZWEyVXRxbzYxcld2?= =?utf-8?B?bXZRdnhycGx0UGZKZjNMMWIrZ0F5VHFBRHgvWnhBNytBV01Ca2NCYUdLWUo0?= =?utf-8?B?NXZwbWE1ZUlCMFRjaDZQc3BjOTRWSEI2NW5QeU16dzJGejBqMjQzQU1uODlV?= =?utf-8?B?VXNseGQ2eHA4ekFjdEx4ZnZTTFNjL21XSkRwREFNRjVxeXBkQmJaUEtaMC9L?= =?utf-8?B?RW5CbzAzaFZWUlZGZFN3OEdFMjBHbjQ0QWZiVThMd3FnTzlmRTVQaGpqUlVP?= =?utf-8?B?TDRUbGdiK1gxQ3lBdENrUEpOVnAwbHVMeWpLU2FNckZGb3V3L2UrNWd4N1NB?= =?utf-8?B?c2h6eHpmamc5TFdBY0Y4cFJBb3oybFVpMnJYdjlWM21ZeExLaTk1VXZseGZz?= =?utf-8?B?d3JVU1pqWktVQmxaQnJXK2QwQ29WV1JKZld5YXlYMjRPSFJyWVF2RXVzSUJ1?= =?utf-8?B?TDJXRkllQ0RicjlPVG5rK015bER4RmFsdlcxTmgvZDQ5aFpaT2poT3VaL2tm?= =?utf-8?B?b0ZzKzNwM0RNek5VMVdJNTJTYlg3cS9KRCtsL2FMTk8vU0xOV3FoY3RaQzdI?= =?utf-8?B?MXRuMCtLZ0hoazRzTEN3SWFMZVZGbVRVZlNNVWNSUjhMT2pzZHdsY3lTd3VB?= =?utf-8?B?VWJLZnFuQ09hZ1VTNzg2WjBhNWZRd0krNkZkeGxkWXZNV2FRa0piMSs0TVo2?= =?utf-8?B?VEtURnJCbXpMVHc1N1M5aGtPMFlrTTdJNDBXenZKV3plMy91SGorM1VjYURS?= =?utf-8?B?S2VFSEJVbmZlMlBhU1VoVDVORXpMVE9zNGlHTVRBSFl0WUtBaFFtSlNrbWpD?= =?utf-8?B?TmZqR0dQUVQvVFJJUjgwc21nMFBjOVFGSWhuaWdaQmRXSlRwREFNbGY4Y0dZ?= =?utf-8?B?T2YzRTFlcElESWUwdTlBRjRsNTdjbW9pTXkxczVROUNFKzBsSjliaS9qQUNR?= =?utf-8?B?bExyZW1WUXZLdVpBREF3ZjkzdVE1MnlieEUxcU55bjgyTk1Lcm5Cc0pvalh6?= =?utf-8?B?d3YzdFVXbFJRak1mMldGNzA5czJWTDQ5SU5lV1VMNi9veE9aaVFBUnpjM2NY?= =?utf-8?B?ZkZZU1UrRmpOWnhreTMyWHQyQ0R1ZndLME91T2NnaGFhallYMG9sQ3hXcndM?= =?utf-8?B?N0IxSk9oNWFzbGk2bldtUENIZXN3NEFGV00xd3hIRng4TkRwMjFaRXNLT2sv?= =?utf-8?B?eHI1aHNMY2pwZFFqM3NyVVNIb3lYdjFDOXBISnZ3TkZuN0l0dlVPc1B5dzRX?= =?utf-8?B?b0lBY0hwUlA2akptMUR3Q28zaCtOS01pKzZvUFdwa0FtNjIxN1ppVFNaZmRB?= =?utf-8?B?amM4V0RPKzhCeEVkdENVTjc5RUxnVll1WTAxRVNxbWxUOXd5bUVWUkZnYVZ0?= =?utf-8?B?MlN5YWJKZjB5TjVDREJCRE1QUDA4Vmw1dGVIbzV4U2VaZVk0Qkw1RFJraEJa?= =?utf-8?B?RmxEa2ttYy9UWjdFUkZGRWpIWnNFWjNYWlZTWE9STnVScHpSRXpTd0JwL1VK?= =?utf-8?B?cUpsYkEzbmx0bzF0UGVKSXBVbXRIbU9yTkllMW1FWTVwYklKMnducFJISjJF?= =?utf-8?B?bVVsOHprK3RzSDRqWDU4VjFva3FNY3lheCtxOEh4OWJ1UXdCTUdGeFM0S2ZI?= =?utf-8?B?Q3FMejg1TWRXa2hmWS9mMnZrbzNiUFowRmJGdHlmR0h3WE5LYTZ1MXNzVVRH?= =?utf-8?B?R1UyajdWU0dLTTVzWWNDZld1OEswU3lVZXcyeUt4eS9mVlB6ZWNQM2VVS1dP?= =?utf-8?B?d3BwM2NYbDZHL0tRKzFvT2sxZWtOUXVkckRtRU93ZzBnQnpWU0pIa0huekp5?= =?utf-8?B?RTBCVjdoTHpwQkMrRzNoaXVIUGlBS3VySk9tTkkrOGwxRTBMS0pydGIyTUZt?= =?utf-8?B?TDlpN3B3UlZMaTI4NTRKbHB0TkVYOVpia3pXOE5uV2dVbHJxaDVMY2ZLRHVn?= =?utf-8?B?eEJaY1BOeFFnQ2lBVSt1N2l5YnNFTmhlVytNWWRHUzMrL3Y4dDYyQT09?= 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: ce957d7a-42d0-452f-3f65-08da445b83d4 X-MS-Exchange-CrossTenant-originalarrivaltime: 02 Jun 2022 05:48:27.0471 (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: pGW5AJnt4WugAKUxKDYhLb7R91swHM2lY0l0r+FZEv3BSctgrLTLfQes0bYhH33LbFcZui14R9po6laJ31161w== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN0PR12MB5834 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 ZXJydWgueWlnaXRAeGlsaW54LmNvbT4NCj4gU2VudDogV2VkbmVzZGF5LCBKdW5lIDEsIDIwMjIg OTo1MSBQTQ0KPiBUbzogU2VhbiBaaGFuZyAoTmV0d29ya2luZyBTVykgPHhpYXpoYW5nQG52aWRp YS5jb20+OyBPcmkgS2FtIDxvcmlrYUBudmlkaWEuY29tPjsgWGlhb3l1biBMaQ0KPiA8eGlhb3l1 bi5saUBpbnRlbC5jb20+OyBBbWFuIFNpbmdoIDxhbWFuLmRlZXAuc2luZ2hAaW50ZWwuY29tPjsg WXV5aW5nIFpoYW5nDQo+IDx5dXlpbmcuemhhbmdAaW50ZWwuY29tPjsgTkJVLUNvbnRhY3QtVGhv bWFzIE1vbmphbG9uIChFWFRFUk5BTCkgPHRob21hc0Btb25qYWxvbi5uZXQ+Ow0KPiBBbmRyZXcg UnliY2hlbmtvIDxhbmRyZXcucnliY2hlbmtvQG9rdGV0bGFicy5ydT4NCj4gQ2M6IGRldkBkcGRr Lm9yZzsgSmlhd2VpKEpvbm55KSBXYW5nIDxqaWF3ZWl3QG52aWRpYS5jb20+OyBBbGV4YW5kZXIg S296eXJldg0KPiA8YWtvenlyZXZAbnZpZGlhLmNvbT4NCj4gU3ViamVjdDogUmU6IFt2MSAxLzRd IGV0aGRldjogYWRkIElQdjQvSVB2NiBFQ04gaGVhZGVyIHJld3JpdGUgYWN0aW9uDQo+IA0KPiBP biA0LzIvMjAyMiA4OjExIEFNLCBTZWFuIFpoYW5nIHdyb3RlOg0KPiA+IEZyb206IEppYXdlaSBX YW5nIDxqaWF3ZWl3QG52aWRpYS5jb20+DQo+ID4NCj4gPiBUaGlzIHBhdGNoIGludHJvZHVjZXMg dGhlIElQdjQvSVB2NiBFQ04gbW9kaWZ5IGZpZWxkIHN1cHBvcnQsIGFuZA0KPiA+IGFkZHMgdGhl IHRlc3RwbWQgQ0xJIGNvbW1hbmRzIHN1cHBvcnQuDQo+ID4NCj4gPiBVc2FnZToNCj4gPiAJbW9k aWZ5X2ZpZWxkIG9wIHNldCBkc3RfdHlwZSBpcHY0X2VjbiBzcmNfdHlwZSAuLi4NCj4gPg0KPiA+ IEZvciBleGFtcGxlOg0KPiA+DQo+ID4gZmxvdyBjcmVhdGUgMCBpbmdyZXNzIGdyb3VwIDEgcGF0 dGVybiBldGggLyBpcHY0IC8gIGVuZCBhY3Rpb25zDQo+ID4gCW1vZGlmeV9maWVsZCBvcCBzZXQg ZHN0X3R5cGUgaXB2NF9lY24gc3JjX3R5cGUgdmFsdWUgc3JjX3ZhbHVlDQo+ID4gCTB4MDMgd2lk dGggMiAvIHF1ZXVlIGluZGV4IDAgLyBlbmQNCj4gPg0KPiA+IFNpZ25lZC1vZmYtYnk6IEppYXdl aSBXYW5nIDxqaWF3ZWl3QG52aWRpYS5jb20+DQo+ID4gLS0tDQo+ID4gICBhcHAvdGVzdC1wbWQv Y21kbGluZV9mbG93LmMgfCAzICsrLQ0KPiA+ICAgbGliL2V0aGRldi9ydGVfZmxvdy5oICAgICAg IHwgMiArKw0KPiA+ICAgMiBmaWxlcyBjaGFuZ2VkLCA0IGluc2VydGlvbnMoKyksIDEgZGVsZXRp b24oLSkNCj4gPg0KPiA+IGRpZmYgLS1naXQgYS9hcHAvdGVzdC1wbWQvY21kbGluZV9mbG93LmMg Yi9hcHAvdGVzdC1wbWQvY21kbGluZV9mbG93LmMNCj4gPiBpbmRleCBmYzRhNmQ5Y2NhLi4zMjUw YWRkODM0IDEwMDY0NA0KPiA+IC0tLSBhL2FwcC90ZXN0LXBtZC9jbWRsaW5lX2Zsb3cuYw0KPiA+ ICsrKyBiL2FwcC90ZXN0LXBtZC9jbWRsaW5lX2Zsb3cuYw0KPiA+IEBAIC03OTUsNyArNzk1LDgg QEAgc3RhdGljIGNvbnN0IGNoYXIgKmNvbnN0IG1vZGlmeV9maWVsZF9pZHNbXSA9IHsNCj4gPiAg IAkidGNwX3NlcV9udW0iLCAidGNwX2Fja19udW0iLCAidGNwX2ZsYWdzIiwNCj4gPiAgIAkidWRw X3BvcnRfc3JjIiwgInVkcF9wb3J0X2RzdCIsDQo+ID4gICAJInZ4bGFuX3ZuaSIsICJnZW5ldmVf dm5pIiwgImd0cF90ZWlkIiwNCj4gPiAtCSJ0YWciLCAibWFyayIsICJtZXRhIiwgInBvaW50ZXIi LCAidmFsdWUiLCBOVUxMDQo+ID4gKwkidGFnIiwgIm1hcmsiLCAibWV0YSIsICJwb2ludGVyIiwg InZhbHVlIiwNCj4gPiArCSJpcHY0X2VjbiIsICJpcHY2X2VjbiIsIE5VTEwNCj4gPiAgIH07DQo+ ID4NCj4gPiAgIC8qKiBNYXhpbXVtIG51bWJlciBvZiBzdWJzZXF1ZW50IHRva2VucyBhbmQgYXJn dW1lbnRzIG9uIHRoZSBzdGFjay4gKi8NCj4gPiBkaWZmIC0tZ2l0IGEvbGliL2V0aGRldi9ydGVf Zmxvdy5oIGIvbGliL2V0aGRldi9ydGVfZmxvdy5oDQo+ID4gaW5kZXggZDg4MjdkZDE4NC4uMWI1 NmYyM2NiYSAxMDA2NDQNCj4gPiAtLS0gYS9saWIvZXRoZGV2L3J0ZV9mbG93LmgNCj4gPiArKysg Yi9saWIvZXRoZGV2L3J0ZV9mbG93LmgNCj4gPiBAQCAtMzY5MCw2ICszNjkwLDggQEAgZW51bSBy dGVfZmxvd19maWVsZF9pZCB7DQo+ID4gICAJUlRFX0ZMT1dfRklFTERfTUVUQSwJCS8qKjwgTWV0 YWRhdGEgdmFsdWUuICovDQo+ID4gICAJUlRFX0ZMT1dfRklFTERfUE9JTlRFUiwJCS8qKjwgTWVt b3J5IHBvaW50ZXIuICovDQo+ID4gICAJUlRFX0ZMT1dfRklFTERfVkFMVUUsCQkvKio8IEltbWVk aWF0ZSB2YWx1ZS4gKi8NCj4gPiArCVJURV9GTE9XX0ZJRUxEX0lQVjRfRUNOLAkvKio8IElQdjQg RUNOLiAqLw0KPiA+ICsJUlRFX0ZMT1dfRklFTERfSVBWNl9FQ04sCS8qKjwgSVB2NiBFQ04uICov DQo+ID4gICB9Ow0KPiA+DQo+ID4gICAvKioNCj4gDQo+IGNjJ2VkIEFsZXhhbmRlci4NCj4gDQo+ IFBhdGNoIGxvb2tzIGdvb2QgdG8gbWUsIG9ubHkgcGVyaGFwcyByZWxlYXNlIG5vdGVzIGNhbiBi ZSB1cGRhdGVkLCB3aGF0DQo+IGRvIHlvdSB0aGluaz8NCj4gDQo+IEBPcmksIEBBbGV4LCBkbyB5 b3UgaGF2ZSBhbnkgb2JqZWN0aW9uL2NvbW1lbnQ/DQoNCkFja2VkLWJ5OiBPcmkgS2FtIDxvcmlr YUBudmlkaWEuY29tPg0KQmVzdCwNCk9yaQ0K