From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR02-VE1-obe.outbound.protection.outlook.com (mail-eopbgr20075.outbound.protection.outlook.com [40.107.2.75]) by dpdk.org (Postfix) with ESMTP id EBF251B00B for ; Tue, 17 Apr 2018 17:44:34 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Mellanox.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=PMlqjq9yMSIdi9wa7Z2m9QXiHqH1FO5doSuir1q/mlg=; b=Q4TytfXawBEbOBybMxXw/bzSUXtvZ+0+5CNmpj9IafRwKloMFL73ograD8iAzYn8Msuqyba/uTO4MYx2a4r2tZtJXqr/8vnhkbhd8Ro7MvSJyGdckH+DOqSCSLXFq5hY/9VJdzX05Nc7mOVrqHzYYf41VRCzJzJD+VCrUMtWG6k= Received: from VI1PR05MB1678.eurprd05.prod.outlook.com (10.165.235.152) by VI1PR05MB4782.eurprd05.prod.outlook.com (20.176.4.31) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.675.10; Tue, 17 Apr 2018 15:44:32 +0000 Received: from VI1PR05MB1678.eurprd05.prod.outlook.com ([fe80::6da4:14c3:f5d8:3f4a]) by VI1PR05MB1678.eurprd05.prod.outlook.com ([fe80::6da4:14c3:f5d8:3f4a%14]) with mapi id 15.20.0675.015; Tue, 17 Apr 2018 15:44:31 +0000 From: "Xueming(Steven) Li" To: "Iremonger, Bernard" , "Lu, Wenzhuo" , "Wu, Jingjing" , "Thomas Monjalon" , Yongseok Koh , "Olivier MATZ" , Shahaf Shuler CC: "Yigit, Ferruh" , "dev@dpdk.org" Thread-Topic: [dpdk-dev] [PATCH v4 2/4] app/testpmd: testpmd support Tx generic tunnel offloads Thread-Index: AQHT1lffxbZ9j8OTZ06GDJw4atu9IaQFF8Ig Date: Tue, 17 Apr 2018 15:44:31 +0000 Message-ID: References: <20180109141110.146250-2-xuemingl@mellanox.com> <20180408123240.110698-3-xuemingl@mellanox.com> <8CEF83825BEC744B83065625E567D7C24E0AEA4D@IRSMSX108.ger.corp.intel.com> In-Reply-To: <8CEF83825BEC744B83065625E567D7C24E0AEA4D@IRSMSX108.ger.corp.intel.com> Accept-Language: zh-CN, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: spf=none (sender IP is ) smtp.mailfrom=xuemingl@mellanox.com; x-originating-ip: [114.83.166.179] x-ms-publictraffictype: Email x-microsoft-exchange-diagnostics: 1; VI1PR05MB4782; 7:Vu82VQFEtZ5cMn0lhhErl0iqIg9AFbDggjkhQhsslCUR1R/Xl2DphSEsQWNIz4ZfHJkT0QTP2spn0gW1CLoMrYx1bFXGJRMJTEKygkfJ80Ocowq0fEOlIY/zm+2ifHpI8qSUz84oDw4z8DWEVzrlK70ZN/X6Br55XAWH2WtqRnvd9+7LrfTBS2dlCr5wvJ2wmwCSiZJ+ueoNNW+pqw59Aopm/kOBo9izcB2tPYHOSmvoVwu/prvbYvyeJ+O3PW3m x-ms-exchange-antispam-srfa-diagnostics: SOS; x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020095)(4652020)(5600026)(4534165)(4627221)(201703031133081)(201702281549075)(48565401081)(2017052603328)(7153060)(7193020); SRVR:VI1PR05MB4782; x-ms-traffictypediagnostic: VI1PR05MB4782: x-ld-processed: a652971c-7d2e-4d9b-a6a4-d149256f461b,ExtAddr x-microsoft-antispam-prvs: x-exchange-antispam-report-test: UriScan:(228905959029699); x-exchange-antispam-report-cfa-test: BCL:0; PCL:0; RULEID:(8211001083)(6040522)(2401047)(5005006)(8121501046)(10201501046)(3002001)(3231232)(944501327)(52105095)(93006095)(93001095)(6055026)(6041310)(20161123564045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123560045)(20161123558120)(20161123562045)(6072148)(201708071742011); SRVR:VI1PR05MB4782; BCL:0; PCL:0; RULEID:; SRVR:VI1PR05MB4782; x-forefront-prvs: 0645BEB7AA x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(979002)(366004)(346002)(396003)(376002)(39380400002)(39860400002)(199004)(189003)(13464003)(33656002)(2900100001)(99286004)(316002)(26005)(110136005)(6436002)(7696005)(6246003)(2906002)(76176011)(3280700002)(3660700001)(186003)(59450400001)(54906003)(6306002)(305945005)(68736007)(5250100002)(55016002)(106356001)(229853002)(8936002)(81166006)(53546011)(53936002)(6636002)(6506007)(25786009)(486006)(81156014)(3846002)(6116002)(4326008)(74316002)(966005)(102836004)(66066001)(5660300001)(14454004)(7736002)(446003)(9686003)(478600001)(476003)(105586002)(86362001)(11346002)(97736004)(41533002)(921003)(1121003)(969003)(989001)(999001)(1009001)(1019001); DIR:OUT; SFP:1101; SCL:1; SRVR:VI1PR05MB4782; H:VI1PR05MB1678.eurprd05.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; MX:1; received-spf: None (protection.outlook.com: mellanox.com does not designate permitted sender hosts) x-microsoft-antispam-message-info: 2IoK8O3kx3auoOO1eywZKka8ww1VT1E9kQhKAy7LWcyVNDGZayHlKYj+pdxScHyn+gS/Xq6HG/uaDbByhqHVlscYixEK1ag1qXJDA7aYu/n86hsan5QWCov+9KRr+z61/GlJE6+gb2XOfFhreEE/3bhfmXnd2p4qsETQtZUkRF4OHFJkQIUJQYDD+qiS69p6 spamdiagnosticoutput: 1:99 spamdiagnosticmetadata: NSPM Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Office365-Filtering-Correlation-Id: f67fec67-d502-4914-fc46-08d5a47a1ccb X-OriginatorOrg: Mellanox.com X-MS-Exchange-CrossTenant-Network-Message-Id: f67fec67-d502-4914-fc46-08d5a47a1ccb X-MS-Exchange-CrossTenant-originalarrivaltime: 17 Apr 2018 15:44:31.7795 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: a652971c-7d2e-4d9b-a6a4-d149256f461b X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR05MB4782 Subject: Re: [dpdk-dev] [PATCH v4 2/4] app/testpmd: testpmd support Tx generic tunnel offloads X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 17 Apr 2018 15:44:35 -0000 SGkgQmVybmFyZCwNCg0KPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBJcmVt b25nZXIsIEJlcm5hcmQgPGJlcm5hcmQuaXJlbW9uZ2VyQGludGVsLmNvbT4NCj4gU2VudDogVHVl c2RheSwgQXByaWwgMTcsIDIwMTggMTA6MjUgUE0NCj4gVG86IFh1ZW1pbmcoU3RldmVuKSBMaSA8 eHVlbWluZ2xAbWVsbGFub3guY29tPjsgTHUsIFdlbnpodW8gPHdlbnpodW8ubHVAaW50ZWwuY29t PjsgV3UsIEppbmdqaW5nDQo+IDxqaW5namluZy53dUBpbnRlbC5jb20+OyBUaG9tYXMgTW9uamFs b24gPHRob21hc0Btb25qYWxvbi5uZXQ+OyBZb25nc2VvayBLb2ggPHlza29oQG1lbGxhbm94LmNv bT47DQo+IE9saXZpZXIgTUFUWiA8b2xpdmllci5tYXR6QDZ3aW5kLmNvbT47IFNoYWhhZiBTaHVs ZXIgPHNoYWhhZnNAbWVsbGFub3guY29tPg0KPiBDYzogWWlnaXQsIEZlcnJ1aCA8ZmVycnVoLnlp Z2l0QGludGVsLmNvbT47IGRldkBkcGRrLm9yZw0KPiBTdWJqZWN0OiBSRTogW2RwZGstZGV2XSBb UEFUQ0ggdjQgMi80XSBhcHAvdGVzdHBtZDogdGVzdHBtZCBzdXBwb3J0IFR4IGdlbmVyaWMgdHVu bmVsIG9mZmxvYWRzDQo+IA0KPiBIaSBMdSwNCj4gDQo+ID4gLS0tLS1PcmlnaW5hbCBNZXNzYWdl LS0tLS0NCj4gPiBGcm9tOiBkZXYgW21haWx0bzpkZXYtYm91bmNlc0BkcGRrLm9yZ10gT24gQmVo YWxmIE9mIFh1ZW1pbmcgTGkNCj4gPiBTZW50OiBTdW5kYXksIEFwcmlsIDgsIDIwMTggMTozMyBQ TQ0KPiA+IFRvOiBMdSwgV2Vuemh1byA8d2Vuemh1by5sdUBpbnRlbC5jb20+OyBXdSwgSmluZ2pp bmcNCj4gPiA8amluZ2ppbmcud3VAaW50ZWwuY29tPjsgVGhvbWFzIE1vbmphbG9uIDx0aG9tYXNA bW9uamFsb24ubmV0PjsNCj4gPiBZb25nc2VvayBLb2ggPHlza29oQG1lbGxhbm94LmNvbT47IE9s aXZpZXIgTUFUWg0KPiA+IDxvbGl2aWVyLm1hdHpANndpbmQuY29tPjsgU2hhaGFmIFNodWxlciA8 c2hhaGFmc0BtZWxsYW5veC5jb20+DQo+ID4gQ2M6IFh1ZW1pbmcgTGkgPHh1ZW1pbmdsQG1lbGxh bm94LmNvbT47IFlpZ2l0LCBGZXJydWgNCj4gPiA8ZmVycnVoLnlpZ2l0QGludGVsLmNvbT47IGRl dkBkcGRrLm9yZw0KPiA+IFN1YmplY3Q6IFtkcGRrLWRldl0gW1BBVENIIHY0IDIvNF0gYXBwL3Rl c3RwbWQ6IHRlc3RwbWQgc3VwcG9ydCBUeA0KPiA+IGdlbmVyaWMgdHVubmVsIG9mZmxvYWRzDQo+ ID4NCj4gPiAic2hvdyBwb3J0IGNhcCIgYW5kICJjc3VtIHBhcnNlIHR1bm5lbCIgY29tbWFuZCBz dXBwb3J0IFRYIGdlbmVyaWMNCj4gPiB0dW5uZWwgb2ZmbG9hZHMNCj4gPg0KPiA+IFNpZ25lZC1v ZmYtYnk6IFh1ZW1pbmcgTGkgPHh1ZW1pbmdsQG1lbGxhbm94LmNvbT4NCj4gPiAtLS0NCj4gPiAg YXBwL3Rlc3QtcG1kL2NtZGxpbmUuYyAgfCAxNCArKysrKysrKysrKystLQ0KPiA+ICBhcHAvdGVz dC1wbWQvY29uZmlnLmMgICB8IDE3ICsrKysrKysrKysrKysrKysrDQo+ID4gIGFwcC90ZXN0LXBt ZC9jc3Vtb25seS5jIHwgIDMgKystDQo+ID4gIDMgZmlsZXMgY2hhbmdlZCwgMzEgaW5zZXJ0aW9u cygrKSwgMyBkZWxldGlvbnMoLSkNCj4gPg0KPiA+IGRpZmYgLS1naXQgYS9hcHAvdGVzdC1wbWQv Y21kbGluZS5jIGIvYXBwL3Rlc3QtcG1kL2NtZGxpbmUuYyBpbmRleA0KPiA+IDQwYjMxYWQ3ZS4u YTgxMTEyMjIwIDEwMDY0NA0KPiA+IC0tLSBhL2FwcC90ZXN0LXBtZC9jbWRsaW5lLmMNCj4gPiAr KysgYi9hcHAvdGVzdC1wbWQvY21kbGluZS5jDQo+ID4gQEAgLTQwMTMsNiArNDAxMywxMiBAQCBj aGVja190dW5uZWxfdHNvX25pY19zdXBwb3J0KHBvcnRpZF90IHBvcnRfaWQpDQo+ID4gIAlpZiAo IShkZXZfaW5mby50eF9vZmZsb2FkX2NhcGEgJg0KPiA+IERFVl9UWF9PRkZMT0FEX0dFTkVWRV9U TkxfVFNPKSkNCj4gPiAgCQlwcmludGYoIldhcm5pbmc6IEdFTkVWRSBUVU5ORUwgVFNPIG5vdCBz dXBwb3J0ZWQgdGhlcmVmb3JlICINCj4gPiAgCQkgICAgICAgIm5vdCBlbmFibGVkIGZvciBwb3J0 ICVkXG4iLCBwb3J0X2lkKTsNCj4gPiArCWlmICghKGRldl9pbmZvLnR4X29mZmxvYWRfY2FwYSAm IERFVl9UWF9PRkZMT0FEX0lQX1ROTF9UU08pKQ0KPiA+ICsJCXByaW50ZigiV2FybmluZzogSVAg VFVOTkVMIFRTTyBub3Qgc3VwcG9ydGVkIHRoZXJlZm9yZSAiDQo+ID4gKwkJICAgICAgICJub3Qg ZW5hYmxlZCBmb3IgcG9ydCAlZFxuIiwgcG9ydF9pZCk7DQo+ID4gKwlpZiAoIShkZXZfaW5mby50 eF9vZmZsb2FkX2NhcGEgJiBERVZfVFhfT0ZGTE9BRF9VRFBfVE5MX1RTTykpDQo+ID4gKwkJcHJp bnRmKCJXYXJuaW5nOiBVRFAgVFVOTkVMIFRTTyBub3Qgc3VwcG9ydGVkIHRoZXJlZm9yZSAiDQo+ ID4gKwkJICAgICAgICJub3QgZW5hYmxlZCBmb3IgcG9ydCAlZFxuIiwgcG9ydF9pZCk7DQo+ID4g IAlyZXR1cm4gZGV2X2luZm87DQo+ID4gIH0NCj4gPg0KPiA+IEBAIC00MDQwLDEzICs0MDQ2LDE3 IEBAIGNtZF90dW5uZWxfdHNvX3NldF9wYXJzZWQodm9pZCAqcGFyc2VkX3Jlc3VsdCwNCj4gPiAg CQkJfihERVZfVFhfT0ZGTE9BRF9WWExBTl9UTkxfVFNPIHwNCj4gPiAgCQkJICBERVZfVFhfT0ZG TE9BRF9HUkVfVE5MX1RTTyB8DQo+ID4gIAkJCSAgREVWX1RYX09GRkxPQURfSVBJUF9UTkxfVFNP IHwNCj4gPiAtCQkJICBERVZfVFhfT0ZGTE9BRF9HRU5FVkVfVE5MX1RTTyk7DQo+ID4gKwkJCSAg REVWX1RYX09GRkxPQURfR0VORVZFX1ROTF9UU08gfA0KPiA+ICsJCQkgIERFVl9UWF9PRkZMT0FE X0lQX1ROTF9UU08gfA0KPiA+ICsJCQkgIERFVl9UWF9PRkZMT0FEX1VEUF9UTkxfVFNPKTsNCj4g PiAgCQlwcmludGYoIlRTTyBmb3IgdHVubmVsZWQgcGFja2V0cyBpcyBkaXNhYmxlZFxuIik7DQo+ ID4gIAl9IGVsc2Ugew0KPiA+ICAJCXVpbnQ2NF90IHRzb19vZmZsb2FkcyA9IChERVZfVFhfT0ZG TE9BRF9WWExBTl9UTkxfVFNPIHwNCj4gPiAgCQkJCQkgREVWX1RYX09GRkxPQURfR1JFX1ROTF9U U08gfA0KPiA+ICAJCQkJCSBERVZfVFhfT0ZGTE9BRF9JUElQX1ROTF9UU08gfA0KPiA+IC0NCj4g PiBERVZfVFhfT0ZGTE9BRF9HRU5FVkVfVE5MX1RTTyk7DQo+ID4gKwkJCQkJIERFVl9UWF9PRkZM T0FEX0dFTkVWRV9UTkxfVFNPDQo+ID4gfA0KPiA+ICsJCQkJCSBERVZfVFhfT0ZGTE9BRF9JUF9U TkxfVFNPIHwNCj4gPiArCQkJCQkgREVWX1RYX09GRkxPQURfVURQX1ROTF9UU08pOw0KPiA+DQo+ ID4gIAkJcG9ydHNbcmVzLT5wb3J0X2lkXS5kZXZfY29uZi50eG1vZGUub2ZmbG9hZHMgfD0NCj4g PiAgCQkJKHRzb19vZmZsb2FkcyAmIGRldl9pbmZvLnR4X29mZmxvYWRfY2FwYSk7IGRpZmYgLS1n aXQNCj4gPiBhL2FwcC90ZXN0LXBtZC9jb25maWcuYyBiL2FwcC90ZXN0LXBtZC9jb25maWcuYyBp bmRleA0KPiA+IDRiYjI1NWM2Mi4uNDgxZDJiNjJkDQo+ID4gMTAwNjQ0DQo+ID4gLS0tIGEvYXBw L3Rlc3QtcG1kL2NvbmZpZy5jDQo+ID4gKysrIGIvYXBwL3Rlc3QtcG1kL2NvbmZpZy5jDQo+ID4g QEAgLTcyMiw2ICs3MjIsMjMgQEAgcG9ydF9vZmZsb2FkX2NhcF9kaXNwbGF5KHBvcnRpZF90IHBv cnRfaWQpDQo+ID4gIAkJCXByaW50Zigib2ZmXG4iKTsNCj4gPiAgCX0NCj4gPg0KPiA+ICsJaWYg KGRldl9pbmZvLnR4X29mZmxvYWRfY2FwYSAmIERFVl9UWF9PRkZMT0FEX0lQX1ROTF9UU08pIHsN Cj4gPiArCQlwcmludGYoIklQIHR1bm5lbCBUU086ICAiKTsNCj4gPiArCQlpZiAocG9ydHNbcG9y dF9pZF0uZGV2X2NvbmYudHhtb2RlLm9mZmxvYWRzICYNCj4gPiArCQkgICAgREVWX1RYX09GRkxP QURfSVBfVE5MX1RTTykNCj4gPiArCQkJcHJpbnRmKCJvblxuIik7DQo+ID4gKwkJZWxzZQ0KPiA+ ICsJCQlwcmludGYoIm9mZlxuIik7DQo+ID4gKwl9DQo+ID4gKw0KPiA+ICsJaWYgKGRldl9pbmZv LnR4X29mZmxvYWRfY2FwYSAmIERFVl9UWF9PRkZMT0FEX1VEUF9UTkxfVFNPKSB7DQo+ID4gKwkJ cHJpbnRmKCJVRFAgdHVubmVsIFRTTzogICIpOw0KPiA+ICsJCWlmIChwb3J0c1twb3J0X2lkXS5k ZXZfY29uZi50eG1vZGUub2ZmbG9hZHMgJg0KPiA+ICsJCSAgICBERVZfVFhfT0ZGTE9BRF9VRFBf VE5MX1RTTykNCj4gPiArCQkJcHJpbnRmKCJvblxuIik7DQo+ID4gKwkJZWxzZQ0KPiA+ICsJCQlw cmludGYoIm9mZlxuIik7DQo+ID4gKwl9DQo+ID4gIH0NCj4gPg0KPiA+ICBpbnQNCj4gPiBkaWZm IC0tZ2l0IGEvYXBwL3Rlc3QtcG1kL2NzdW1vbmx5LmMgYi9hcHAvdGVzdC1wbWQvY3N1bW9ubHku YyBpbmRleA0KPiA+IDVmNWFiNjRhYS4uN2IyMzA5MzcyIDEwMDY0NA0KPiA+IC0tLSBhL2FwcC90 ZXN0LXBtZC9jc3Vtb25seS5jDQo+ID4gKysrIGIvYXBwL3Rlc3QtcG1kL2NzdW1vbmx5LmMNCj4g PiBAQCAtNjkzLDcgKzY5Myw4IEBAIHBrdF9idXJzdF9jaGVja3N1bV9mb3J3YXJkKHN0cnVjdCBm d2Rfc3RyZWFtICpmcykNCj4gPiAgCQkJCQlpbmZvLmwzX2xlbik7DQo+ID4gIAkJCQlwYXJzZV92 eGxhbih1ZHBfaGRyLCAmaW5mbywgbS0+cGFja2V0X3R5cGUpOw0KPiA+ICAJCQkJaWYgKGluZm8u aXNfdHVubmVsKQ0KPiA+IC0JCQkJCXR4X29sX2ZsYWdzIHw9DQo+ID4gUEtUX1RYX1RVTk5FTF9W WExBTjsNCj4gPiArCQkJCQl0eF9vbF9mbGFncyB8PQ0KPiA+IChQS1RfVFhfVFVOTkVMX1ZYTEFO IHwNCj4gPiArCQkJCQkJCVBLVF9UWF9PVVRFUl9VRFApOw0KPiA+ICAJCQl9IGVsc2UgaWYgKGlu Zm8ubDRfcHJvdG8gPT0gSVBQUk9UT19HUkUpIHsNCj4gPiAgCQkJCXN0cnVjdCBzaW1wbGVfZ3Jl X2hkciAqZ3JlX2hkcjsNCj4gPg0KPiA+IC0tDQo+ID4gMi4xMy4zDQo+IA0KPiBUaGlzIHBhdGNo IGZhaWxzIHRvIGNvbXBpbGUgb24gbGF0ZXN0IG1hc3RlciBicmFuY2guDQo+IA0KPiAvcm9vdC9k cGRrX3Nmb3JnZV8yL2FwcC90ZXN0LXBtZC9jc3Vtb25seS5jOiBJbiBmdW5jdGlvbiAncGt0X2J1 cnN0X2NoZWNrc3VtX2ZvcndhcmQnOg0KPiAvcm9vdC9kcGRrX3Nmb3JnZV8yL2FwcC90ZXN0LXBt ZC9jc3Vtb25seS5jOjcwMDo4OiBlcnJvcjogJ1BLVF9UWF9PVVRFUl9VRFAnIHVuZGVjbGFyZWQg KGZpcnN0IHVzZSBpbg0KPiB0aGlzIGZ1bmN0aW9uKQ0KPiAgICAgICAgIFBLVF9UWF9PVVRFUl9V RFApOw0KPiAgICAgICAgIF4NCj4gL3Jvb3QvZHBka19zZm9yZ2VfMi9hcHAvdGVzdC1wbWQvY3N1 bW9ubHkuYzo3MDA6ODogbm90ZTogZWFjaCB1bmRlY2xhcmVkIGlkZW50aWZpZXIgaXMgcmVwb3J0 ZWQgb25seQ0KPiBvbmNlIGZvciBlYWNoIGZ1bmN0aW9uIGl0IGFwcGVhcnMgaW4NCj4gbWFrZVs1 XTogKioqIFtjc3Vtb25seS5vXSBFcnJvciAxDQo+IG1ha2VbNF06ICoqKiBbdGVzdC1wbWRdIEVy cm9yIDINCj4gbWFrZVszXTogKioqIFthcHBdIEVycm9yIDINCj4gbWFrZVsyXTogKioqIFthbGxd IEVycm9yIDINCj4gbWFrZVsxXTogKioqIFtwcmVfaW5zdGFsbF0gRXJyb3IgMg0KPiBtYWtlOiAq KiogW2luc3RhbGxdIEVycm9yIDINCj4gDQo+IFJlZ2FyZHMsDQo+IA0KPiBCZXJuYXJkLg0KDQpQ bGVhc2UgZ2l2ZSBhIHRyeSBvbiBWNSB2ZXJzaW9uOg0KaHR0cDovL3d3dy5kcGRrLm9yZy9tbC9h cmNoaXZlcy9kZXYvMjAxOC1BcHJpbC8wOTc2NTYuaHRtbA0KDQoNCkJlc3QgUmVnYXJkcywNClh1 ZW1pbmcgTGkNCg==