From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by dpdk.org (Postfix) with ESMTP id 87199237 for ; Thu, 7 Sep 2017 03:14:39 +0200 (CEST) Received: from orsmga004.jf.intel.com ([10.7.209.38]) by fmsmga104.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 06 Sep 2017 18:14:38 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.42,356,1500966000"; d="scan'208";a="126304516" Received: from fmsmsx105.amr.corp.intel.com ([10.18.124.203]) by orsmga004.jf.intel.com with ESMTP; 06 Sep 2017 18:14:37 -0700 Received: from fmsmsx119.amr.corp.intel.com (10.18.124.207) by FMSMSX105.amr.corp.intel.com (10.18.124.203) with Microsoft SMTP Server (TLS) id 14.3.319.2; Wed, 6 Sep 2017 18:14:37 -0700 Received: from shsmsx104.ccr.corp.intel.com (10.239.4.70) by FMSMSX119.amr.corp.intel.com (10.18.124.207) with Microsoft SMTP Server (TLS) id 14.3.319.2; Wed, 6 Sep 2017 18:14:36 -0700 Received: from shsmsx102.ccr.corp.intel.com ([169.254.2.39]) by SHSMSX104.ccr.corp.intel.com ([169.254.5.117]) with mapi id 14.03.0319.002; Thu, 7 Sep 2017 09:14:35 +0800 From: "Hu, Jiayu" To: Wisam Monther CC: "users@dpdk.org" , Raslan Darawsheh , Shahaf Shuler Thread-Topic: Unable to merge packets using GRO feature Thread-Index: AdMaTiF+8CYSsq4aQZ+8LenCiQpxYQAD6neAADXVIAAABK9KMAAAd2TQAFQNtLAAAYcosADMAwaAACXOZZAAC76hwAGa1cBQABz64GA= Date: Thu, 7 Sep 2017 01:14:34 +0000 Message-ID: References: <20170821091347.GA94297@dpdk15.sh.intel.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-product: dlpe-windows dlp-version: 11.0.0.116 dlp-reaction: no-action x-titus-metadata-40: eyJDYXRlZ29yeUxhYmVscyI6IiIsIk1ldGFkYXRhIjp7Im5zIjoiaHR0cDpcL1wvd3d3LnRpdHVzLmNvbVwvbnNcL0ludGVsMyIsImlkIjoiYTgwNDM0ZWEtNjM4ZC00MWE3LWI4OTUtY2Y2M2Y3YjhkOGViIiwicHJvcHMiOlt7Im4iOiJDVFBDbGFzc2lmaWNhdGlvbiIsInZhbHMiOlt7InZhbHVlIjoiQ1RQX0lDIn1dfV19LCJTdWJqZWN0TGFiZWxzIjpbXSwiVE1DVmVyc2lvbiI6IjE2LjUuOS4zIiwiVHJ1c3RlZExhYmVsSGFzaCI6Ik53cWlHcTkzTjBJd0V3T251b0dGSjBwMjFhM3Btd1dXaHpNU1d3dG42V3M9In0= x-ctpclassification: CTP_IC x-originating-ip: [10.239.127.40] Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 Subject: Re: [dpdk-users] Unable to merge packets using GRO feature X-BeenThere: users@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK usage discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 07 Sep 2017 01:14:40 -0000 SGkgV2lzYW0sDQoNCldoZW4gd2UgcGVyZm9ybSBhIHNpbWlsYXIgdGVzdCBvbiBpNDBlLCB3ZSBm aW5kIGFuIGltcG9ydGFudCB0aGluZzoNCnRoZXJlIGlzIGEgbWF4IG51bWJlciBsaW1pdCBmb3Ig bWJ1Zi0+bmJfc2Vncy4gV2hlbiB0aGUgbnVtYmVyIG9mIE1CVUYgc2VnbWVudHMNCm9mIHRoZSBw YWNrZXQgaXMgbGFyZ2VyIHRoYW4gdGhpcyBsaW1pdCwgdGhlIHBhY2tldCB3aWxsIGJlIGRyb3Bw ZWQuDQoNClRoZSBHUk9lZCBwYWNrZXQgaGFzIG11bHRpcGxlIE1CVUYgc2VnbWVudHMuIEZvciB2 aG9zdC1kcGRrLCBpdCBkb2Vzbid0IGhhdmUgbGltaXQgZm9yDQp0aGUgbnVtYmVyIG9mIHNlZ21l bnRzLiBCdXQgaXQncyBub3QgdGhlIHNhbWUgZm9yIGFsbCBOSUMgZHJpdmVycy4gU28gSSBzdWdn ZXN0IHlvdSB0byBjaGVjaw0KaWYgdGhlIE1MWCBkcml2ZXIgaGFzIHRoaXMgbGltaXQgdG9vLg0K DQpUaGFua3MsDQpKaWF5dQ0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206 IFdpc2FtIE1vbnRoZXIgW21haWx0bzp3aXNhbW1AbWVsbGFub3guY29tXQ0KPiBTZW50OiBXZWRu ZXNkYXksIFNlcHRlbWJlciA2LCAyMDE3IDc6MTggUE0NCj4gVG86IEh1LCBKaWF5dSA8amlheXUu aHVAaW50ZWwuY29tPg0KPiBDYzogdXNlcnNAZHBkay5vcmc7IFJhc2xhbiBEYXJhd3NoZWggPHJh c2xhbmRAbWVsbGFub3guY29tPjsgU2hhaGFmDQo+IFNodWxlciA8c2hhaGFmc0BtZWxsYW5veC5j b20+DQo+IFN1YmplY3Q6IFJFOiBVbmFibGUgdG8gbWVyZ2UgcGFja2V0cyB1c2luZyBHUk8gZmVh dHVyZQ0KPiANCj4gSGkgSmlheXUsDQo+IA0KPiBBbnkgY29tbWVudCByZWdhcmQgd2hhdCBJIGRl c2NyaWJlZD8NCj4gDQo+IEJScywNCj4gV2lzYW0gSmFkZG8NCj4gDQo+IC0tLS0tT3JpZ2luYWwg TWVzc2FnZS0tLS0tDQo+IEZyb206IFdpc2FtIE1vbnRoZXINCj4gU2VudDogVHVlc2RheSwgQXVn dXN0IDI5LCAyMDE3IDEwOjQ5IEFNDQo+IFRvOiAnSHUsIEppYXl1Jw0KPiBDYzogdXNlcnNAZHBk ay5vcmc7IFJhc2xhbiBEYXJhd3NoZWg7IFNoYWhhZiBTaHVsZXINCj4gU3ViamVjdDogUkU6IFVu YWJsZSB0byBtZXJnZSBwYWNrZXRzIHVzaW5nIEdSTyBmZWF0dXJlDQo+IA0KPiBIaSBKaWF5dSwN Cj4gDQo+IExldCBtZSByZS1kZXNjcmliZSBteSB0b3BvbG9neSBpbiBhIGJldHRlciB3YXksIHNl ZSBhdHRhY2hlZCBpbWFnZS4NCj4gQW5kIGl0IGlzIGNvbm5lY3RlZCBwaHlzaWNhbGx5IGFzIGRl c2NyaWJlZCwgYW5kIEknbSB1c2luZyBpdCB3aXRoIE1UVQ0KPiBzaXplPTE1MDAgaW4gb3JkZXIg dG8gbWFrZSBzdXJlIEV2ZXJ5IHBvcnQgY2FuIGhhbmRsZSBpdC4NCj4gDQo+IEFuZCB0aGlzIGlz IHRoZSBleGFjdCBjb25uZWN0aW9uIGJldHdlZW4gdGhlIGludGVyZmFjZXMsIHNvIEknbSBzdXJl IHRoZQ0KPiBwYWNrZXRzIHJlY2VpdmVkIGluIE5JQyBCIG1hY2hpbmUgQiBpcyBjb21pbmcgZnJv bSB0aGUgdGVzdHBtZCB3aXRoIEdSTw0KPiBlbmFibGVkLg0KPiANCj4gQnV0IGV2ZW4gc28sIEkg aW50ZW50aW9uYWxseSBtYWRlIHRoZSBwYWNrZXQgc2l6ZSAxNTAwLCB0byBiZSBkaXZpZGVkIGlu dG8gMyAqDQo+ICggNTAwKSBmcmFnbWVudHMgdXNpbmcgdGhlIFRTTywgYW5kIHRoZW4gbWVyZ2Vk IGludG8gMTUwMCBwYWNrZXQgYWdhaW4gaW4NCj4gdGhlIEdSTy4NCj4gU28gdGhlIGV2ZXJ5IG1h Y2hpbmUgY2FuIG1hbmFnZSB0aGlzIG10dSBzaXplLg0KPiANCj4gVGhlIHRoaW5nIHRoYXQgSSBu ZWVkIHRvIHRlc3QgR1JPIHdpdGggZWFjaCBzZXR1cHMgdHlwZXMsICJWTXMgd2l0aA0KPiBCYXJl bWV0YWwgd2l0aCBwYXNzIHRocm91Z2ggd2l0aCBWRnMgZXRjLi4uIi4NCj4gU28gSSBuZWVkIHRv IHNlZSB0aGUgZmVhdHVyZSB3b3JrcyBvbiBsZWFzdCB3b3JrLCBpdCB3b3VsZCBiZSBuaWNlIHRv IHNlbmQNCj4gSVBWNF9UQ1AgZnJhZ21lbnRlZCBwYWNrZXQgdXNpbmcgInNjYXB5LCBJcGVyZiIN Cj4gQW5kIGNoZWNrIHRoZSBmd2QgcGFja2V0IGZyb20gR1JPIGRpcmVjdGx5Lg0KPiANCj4gQlJz LA0KPiBXaXNhbSBKYWRkbw0KPiANCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJv bTogSHUsIEppYXl1IFttYWlsdG86amlheXUuaHVAaW50ZWwuY29tXQ0KPiBTZW50OiBUdWVzZGF5 LCBBdWd1c3QgMjksIDIwMTcgNDo1MSBBTQ0KPiBUbzogV2lzYW0gTW9udGhlcg0KPiBDYzogdXNl cnNAZHBkay5vcmc7IFJhc2xhbiBEYXJhd3NoZWg7IFNoYWhhZiBTaHVsZXINCj4gU3ViamVjdDog UkU6IFVuYWJsZSB0byBtZXJnZSBwYWNrZXRzIHVzaW5nIEdSTyBmZWF0dXJlDQo+IA0KPiBIaSBX aXNhbSwNCj4gDQo+IEluIHRoZSBwaWN0dXJlIG9mIHlvdXIgZXhwZXJpbWVudCB0b3BvbG9neSwg SSBndWVzcyBOSUMgQiBpbiB0aGUgbWFjaGluZSBCIGlzDQo+IGNvbm5lY3RlZCB3aXRoIGFub3Ro ZXIgaW50ZXJmYWNlIHBoeXNpY2FsbHkuIElmIHNvLCB0aGUgcGFja2V0cyB0aGF0IHRjcGR1bXAN Cj4gY2FwdHVyZXMgYXJlIGZyb20gdGhlIHBoeXNpY2FsIGxpbmsuIEhvd2V2ZXIsIHBhY2tldHMg YWZ0ZXIgR1JPZWQgYXJlIG11bHRpLQ0KPiBzZWdtZW50IGxhcmdlIHBhY2tldHMsIHdoaWNoIGFy ZSBsYXJnZXIgdGhhbiBNVFUuIEkgYW0gbm90IHN1cmUgaWYgeW91IGhhdmUNCj4gbWFrZSBvdGhl ciBjb25maWd1cmF0aW9ucyB0byBlbmFibGUgdGhlc2UgbGFyZ2UgcGFja2V0cyB0byBwYXNzIHRo ZSBwaHlzaWNhbA0KPiBsaW5rLCBhbmQgdGhlcmUgaXMganVtYm8gZnJhbWUgc2l6ZSBsaW1pdCBm b3IgZGlmZmVyZW50IE5JQ3MuIFNvIHdvdWxkIHlvdQ0KPiBwbGVhc2UgdG8gY2hlY2sgdGhpcz8g QlRXLCB5b3UgY2FuIHVzZSB0aGUgVk0gdG8gdGVzdCB0aGlzIEdSTyBmZWF0dXJlLA0KPiBzaW5j ZSBsYXJnZSBwYWNrZXRzIGNhbiBhbHdheXMgcGFzcyB0byB0aGUgVk0uDQo+IA0KPiBUaGFua3Ms DQo+IEppYXl1DQo+IA0KPiA+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ID4gRnJvbTog V2lzYW0gTW9udGhlciBbbWFpbHRvOndpc2FtbUBtZWxsYW5veC5jb21dDQo+ID4gU2VudDogTW9u ZGF5LCBBdWd1c3QgMjgsIDIwMTcgMzozNyBQTQ0KPiA+IFRvOiBIdSwgSmlheXUgPGppYXl1Lmh1 QGludGVsLmNvbT4NCj4gPiBDYzogdXNlcnNAZHBkay5vcmc7IFJhc2xhbiBEYXJhd3NoZWggPHJh c2xhbmRAbWVsbGFub3guY29tPjsgU2hhaGFmDQo+ID4gU2h1bGVyIDxzaGFoYWZzQG1lbGxhbm94 LmNvbT4NCj4gPiBTdWJqZWN0OiBSRTogVW5hYmxlIHRvIG1lcmdlIHBhY2tldHMgdXNpbmcgR1JP IGZlYXR1cmUNCj4gPg0KPiA+IEhpIEppYXl1LA0KPiA+DQo+ID4gSSdtIHNvcnJ5IGZvciBib3Ro ZXJpbmcgeW91LCBidXQgY291bGQgeW91IGNvbmZvcm0gdGhhdCB0aGUgZmVhdHVyZSBpcw0KPiA+ IHdvcmtpbmcgcHJvYmFibHkgQmVjYXVzZSwgd2hhdCBJIGV2ZXIgIGRpZCwgSSBjb3VsZG4ndCBn ZXQgdGhlIG1lcmdlZA0KPiA+IHBhY2tldHMuDQo+ID4NCj4gPiBCUnMsDQo+ID4gV2lzYW0gSmFk ZG8NCj4gPg0KPiA+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ID4gRnJvbTogV2lzYW0g TW9udGhlcg0KPiA+IFNlbnQ6IFRodXJzZGF5LCBBdWd1c3QgMjQsIDIwMTcgOToxNSBBTQ0KPiA+ IFRvOiAnSHUsIEppYXl1Jw0KPiA+IENjOiB1c2Vyc0BkcGRrLm9yZzsgUmFzbGFuIERhcmF3c2hl aDsgU2hhaGFmIFNodWxlcg0KPiA+IFN1YmplY3Q6IFJFOiBVbmFibGUgdG8gbWVyZ2UgcGFja2V0 cyB1c2luZyBHUk8gZmVhdHVyZQ0KPiA+DQo+ID4gSGksDQo+ID4NCj4gPiBJJ20gdXNpbmcgTWVs bGFub3ggTklDcywgYW5kIGl0IGlzIHN1cHBvcnRpbmcgcGFyc2UgcGFja2V0IHR5cGVzLg0KPiA+ DQo+ID4gQmVzdCByZWdhcmRzLA0KPiA+IFdpc2FtIEphZGRvDQo+ID4NCj4gPiAtLS0tLU9yaWdp bmFsIE1lc3NhZ2UtLS0tLQ0KPiA+IEZyb206IEh1LCBKaWF5dSBbbWFpbHRvOmppYXl1Lmh1QGlu dGVsLmNvbV0NCj4gPiBTZW50OiBUaHVyc2RheSwgQXVndXN0IDI0LCAyMDE3IDg6NDcgQU0NCj4g PiBUbzogV2lzYW0gTW9udGhlcg0KPiA+IENjOiB1c2Vyc0BkcGRrLm9yZzsgUmFzbGFuIERhcmF3 c2hlaDsgU2hhaGFmIFNodWxlcg0KPiA+IFN1YmplY3Q6IFJFOiBVbmFibGUgdG8gbWVyZ2UgcGFj a2V0cyB1c2luZyBHUk8gZmVhdHVyZQ0KPiA+DQo+ID4gSGksDQo+ID4NCj4gPiBDYW4geW91IHRl bGwgbWUgd2hhdCdzIHRoZSBOSUMgdHlwZSBvZiB0aGUgR1JPLWVuYWJsZWQgcG9ydD8NCj4gPg0K PiA+IFNpbmNlIEdSTyBsaWJyYXJ5IHVzZXMgbWJ1Zi0+cGFja2V0X3R5cGUgdG8gcGFyc2UgcGFj a2V0IGhlYWRlcnMsDQo+ID4gYXBwbGljYXRpb25zIG5lZWQgdG8gZmlsbCB0aGlzIHZhbHVlIGJl Zm9yZSBjYWxsaW5nIEdSTyByZWFzc2VtYmx5IEFQSXMuDQo+ID4gT3RoZXJ3aXNlLCB0aGUgR1JP IGNhbid0IHdvcmsgY29ycmVjdGx5Lg0KPiA+DQo+ID4gSW4gY3N1bSBmb3J3YXJkaW5nIGVuZ2lu ZSBvZiB0ZXN0cG1kLCBwYWNrZXRfdHlwZSBpcyBmaWxsZWQgYnkgTklDIGRyaXZlcnMuDQo+ID4g VGhlIGNzdW0gZm9yd2FyZGluZyBlbmdpbmUgd29uJ3Qgc2V0IHRoaXMgdmFsdWUuIFNvIGlmIHlv dXIgTklDDQo+ID4gZG9lc27igJl0IHN1cHBvcnQgdG8gcGFyc2UgcGFja2V0IHR5cGVzLCB0aGUg dmFsdWUgb2YgcGFja2V0X3R5cGUgaXMgMA0KPiA+IGFuZCBHUk8gY2FuJ3Qgd29yayBjb3JyZWN0 bHkuDQo+ID4NCj4gPiBCUnMsDQo+ID4gSmlheXUNCj4gPg0KPiA+ID4gLS0tLS1PcmlnaW5hbCBN ZXNzYWdlLS0tLS0NCj4gPiA+IEZyb206IFdpc2FtIE1vbnRoZXIgW21haWx0bzp3aXNhbW1AbWVs bGFub3guY29tXQ0KPiA+ID4gU2VudDogVHVlc2RheSwgQXVndXN0IDIyLCAyMDE3IDk6MjUgUE0N Cj4gPiA+IFRvOiBIdSwgSmlheXUgPGppYXl1Lmh1QGludGVsLmNvbT4NCj4gPiA+IENjOiB1c2Vy c0BkcGRrLm9yZzsgUmFzbGFuIERhcmF3c2hlaCA8cmFzbGFuZEBtZWxsYW5veC5jb20+Ow0KPiBT aGFoYWYNCj4gPiA+IFNodWxlciA8c2hhaGFmc0BtZWxsYW5veC5jb20+DQo+ID4gPiBTdWJqZWN0 OiBSRTogVW5hYmxlIHRvIG1lcmdlIHBhY2tldHMgdXNpbmcgR1JPIGZlYXR1cmUNCj4gPiA+DQo+ ID4gPiBZZXMgaXQgaXMsDQo+ID4gPiBUaGUgZnJhZ21lbnRlZCBwYWNrZXRzIGNvbWVzIGZyb20g cG9ydDEgLyBOSUMgYiBmcm9tIG1hY2hpbmUgQSB0bw0KPiA+ID4gcG9ydA0KPiA+ID4gMSBpbiBO SUMgQSBmb3IgbWFjaGluZSBiIFNvIGl0J3MgcmVjZWl2ZWQgb24gdGhlIHBvcnQgJzEnLCB3aGlj aCBpcw0KPiA+ID4gY29uZmlndXJlZCBncm8gYWN0aXZlIG9uIHRoaXMgcG9ydC4NCj4gPiA+DQo+ ID4gPiBCZXN0IHJlZ2FyZHMsDQo+ID4gPiBXaXNhbSBKYWRkbw0KPiA+ID4NCj4gPiA+IC0tLS0t T3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ID4gPiBGcm9tOiBIdSwgSmlheXUgW21haWx0bzpqaWF5 dS5odUBpbnRlbC5jb21dDQo+ID4gPiBTZW50OiBUdWVzZGF5LCBBdWd1c3QgMjIsIDIwMTcgNDoy MSBQTQ0KPiA+ID4gVG86IFdpc2FtIE1vbnRoZXINCj4gPiA+IENjOiB1c2Vyc0BkcGRrLm9yZzsg UmFzbGFuIERhcmF3c2hlaDsgU2hhaGFmIFNodWxlcg0KPiA+ID4gU3ViamVjdDogUkU6IFVuYWJs ZSB0byBtZXJnZSBwYWNrZXRzIHVzaW5nIEdSTyBmZWF0dXJlDQo+ID4gPg0KPiA+ID4gSGksDQo+ ID4gPg0KPiA+ID4gPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+ID4gPiBGcm9tOiBX aXNhbSBNb250aGVyIFttYWlsdG86d2lzYW1tQG1lbGxhbm94LmNvbV0NCj4gPiA+ID4gU2VudDog VHVlc2RheSwgQXVndXN0IDIyLCAyMDE3IDc6MDcgUE0NCj4gPiA+ID4gVG86IEh1LCBKaWF5dSA8 amlheXUuaHVAaW50ZWwuY29tPg0KPiA+ID4gPiBDYzogdXNlcnNAZHBkay5vcmc7IFJhc2xhbiBE YXJhd3NoZWggPHJhc2xhbmRAbWVsbGFub3guY29tPjsNCj4gPiBTaGFoYWYNCj4gPiA+ID4gU2h1 bGVyIDxzaGFoYWZzQG1lbGxhbm94LmNvbT4NCj4gPiA+ID4gU3ViamVjdDogUkU6IFVuYWJsZSB0 byBtZXJnZSBwYWNrZXRzIHVzaW5nIEdSTyBmZWF0dXJlDQo+ID4gPiA+DQo+ID4gPiA+IEhleSBK aWF5dSwNCj4gPiA+ID4NCj4gPiA+ID4gVGhhbmsgeW91IGZvciB5b3VyIHJlcGx5Lg0KPiA+ID4g PiBJIHRyaWVkIHdoYXQgeW91IHNhaWQgd2l0aCB0aGUgY3N1bSBhdCBmd2QgbW9kZS4NCj4gPiA+ ID4gRXZlbiBzbyB0aGUgR1JPIGRpZG4ndCB3b3JrcyBmaW5lLg0KPiA+ID4gPg0KPiA+ID4gPiBJ IGV2ZW4gdGVzdGVkIHdpdGggYSBuZXcgbWV0aG9kb2xvZ3kuDQo+ID4gPiA+IFR3byBtYWNoaW5l cyB3aXRoIHR3byBkaWZmZXJlbnQgbmljIGZvciBlYWNoLg0KPiA+ID4gPiBUaGUgbWV0aG9kb2xv Z3kgdGhhdCBJIHVzZWQgdG8gdGVzdCBpdCBpcyBkZXNjcmliZWQgaW4gdGhlIGF0dGFjaGVkIGZp bGUuDQo+ID4gPiA+DQo+ID4gPiA+IFdoYXQgSSBkaWQgZnJvbSBncm8gc2lkZToNCj4gPiA+ID4g IiIiDQo+ID4gPiA+IHRlc3RwbWQ+Z3JvIG9uIDENCj4gPiA+DQo+ID4gPiBEb2VzIHRoZSBwb3J0 IG51bWJlciBvZiBOSUMgQSBpbiBtYWNoaW5lIEIgaXMgJzEnPyBXaGVuIHlvdSBlbmFibGUNCj4g PiA+IEdSTyBmb3IgcG9ydCAnMScsIFRlc3RwbWQgb25seSB0cmllcyB0byBtZXJnZSBwYWNrZXRz IHJlY2VpdmVkIGZyb20gcG9ydA0KPiAnMScuDQo+ID4gPg0KPiA+ID4gQlJzLA0KPiA+ID4gSmlh eXUNCj4gPiA+DQo+ID4gPiA+IFRlc3RwbWQ+c2V0IGZ3ZCBjc3VtDQo+ID4gPiA+IFRlc3RwbWQ+ c3RhcnQNCj4gPiA+ID4gIiIiDQo+ID4gPiA+IEFuZCB0aGUgcGFja2V0IHdpdGggY29ycmVjdCBk c3QgbWFjLg0KPiA+ID4gPg0KPiA+ID4gPiBCZXN0IHJlZ2FyZHMsDQo+ID4gPiA+IFdpc2FtIEph ZGRvDQo+ID4gPiA+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ID4gPiA+IEZyb206IEpp YXl1IEh1IFttYWlsdG86amlheXUuaHVAaW50ZWwuY29tXQ0KPiA+ID4gPiBTZW50OiBNb25kYXks IEF1Z3VzdCAyMSwgMjAxNyAxMjoxNCBQTQ0KPiA+ID4gPiBUbzogV2lzYW0gTW9udGhlcg0KPiA+ ID4gPiBDYzogVGhvbWFzIE1vbmphbG9uOyB1c2Vyc0BkcGRrLm9yZzsgUmFzbGFuIERhcmF3c2hl aDsgU2hhaGFmDQo+ID4gPiA+IFNodWxlcg0KPiA+ID4gPiBTdWJqZWN0OiBSZTogVW5hYmxlIHRv IG1lcmdlIHBhY2tldHMgdXNpbmcgR1JPIGZlYXR1cmUNCj4gPiA+ID4NCj4gPiA+ID4gSGksDQo+ ID4gPiA+DQo+ID4gPiA+IE9uIE1vbiwgQXVnIDIxLCAyMDE3IGF0IDA3OjI1OjIzQU0gKzAwMDAs IFdpc2FtIE1vbnRoZXIgd3JvdGU6DQo+ID4gPiA+ID4gSGVsbG8gR3V5cywNCj4gPiA+ID4gPg0K PiA+ID4gPiA+DQo+ID4gPiA+ID4NCj4gPiA+ID4gPiBJIGhvcGUgdGhpcyBmaW5kcyB5b3Ugd2Vs bCwgSeKAmW0gdHJ5aW5nIHRvIHRlc3QgdGhlIEdSTyBmZWF0dXJlLg0KPiA+ID4gPiA+IEJ1dCBJ 4oCZbSBzdHVjayB3aXRoIHRoaXMgc2NlbmFyaW8uDQo+ID4gPiA+ID4NCj4gPiA+ID4gPiBBcyB5 b3Uga25vdywgR1JPIGlzIG9ubHkgc3VwcG9ydCBUQ1BfSVBWNCBwYWNrZXQgdW50aWwgbm93Lg0K PiA+ID4gPiA+DQo+ID4gPiA+ID4gU28gSeKAmW0gdHJ5aW5nIHRvIHRlc3QgdGhlIGJhc2ljIGZ1 bmN0aW9uYWxpdHkgb2YgdGhlIGZlYXR1cmUsIGFzDQo+IGZvbGxvd2luZzoNCj4gPiA+ID4gPg0K PiA+ID4gPiA+IFN0YXJ0IHRlc3RwbWQ6DQo+ID4gPiA+ID4NCj4gPiA+ID4gPiDigJzigJ3igJ0N Cj4gPiA+ID4gPg0KPiA+ID4gPiA+IC4veDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2MvYnVpbGQv YXBwL3Rlc3QtcG1kL3Rlc3RwbWQgLW4gNCAgLXcNCj4gPiA+ID4gPiAwMDowYS4wICAtdw0KPiA+ ID4gPiA+IDAwOjA5LjAgLS0gIC0tYnVyc3Q9NjQgLS1tYmNhY2hlPTUxMiAtLXBvcnRtYXNrIDB4 ZiAtaQ0KPiA+ID4gPiA+IC0tdHhkPTUxMg0KPiA+ID4gPiA+IC0tcnhkPTUxMg0KPiA+ID4gPiA+ IC0tbmItY29yZXM9OSAgLS1yeHE9MiAtLXR4cT0yIC0tdHhxZmxhZ3M9MA0KPiA+ID4gPiA+DQo+ ID4gPiA+ID4g4oCc4oCd4oCdDQo+ID4gPiA+ID4NCj4gPiA+ID4gPg0KPiA+ID4gPiA+DQo+ID4g PiA+ID4gVGhlbiBlbmFibGUgR1JPIGF0IHRoZSB0d28gcG9ydHM6DQo+ID4gPiA+ID4NCj4gPiA+ ID4gPiDigJzigJ3igJ0NCj4gPiA+ID4gPg0KPiA+ID4gPiA+IFRlc3RwbWQ+Z3JvIG9uIDANCj4g PiA+ID4gPg0KPiA+ID4gPiA+IFRlc3RwbWQ+Z3JvIG9uIDENCj4gPiA+ID4NCj4gPiA+ID4gV2hl biB1c2UgR1JPIGluIHRlc3RwbWQsIHRoZXJlIGFyZSBmb2xsb3dpbmcgdGhpbmdzIHRvIG5vdGlj ZToNCj4gPiA+ID4NCj4gPiA+ID4gMS4gSW4gdGVzdHBtZCwgR1JPIGlzIHN1cHBvcnRlZCBieSBj c3VtIGZvcndhcmRpbmcgZW5naW5lLg0KPiA+ID4gPiBUaGVyZWZvcmUsIHBsZWFzZSB1c2UgJ3Nl dCBmd2QgY3N1bScgdG8gc3dpdGNoIGZvcndhcmRpbmcgZW5naW5lLg0KPiA+ID4gPg0KPiA+ID4g PiAyLiBCeSBkZWZhdWx0LCBjc3VtIGZvcndhcmRpbmcgZW5naW5lIGNvbXB1bHNvcmlseSBjaGFu Z2VzDQo+ID4gPiA+IGV0aGVybmV0IGFkZHJlc3Nlcy4gU28gcGxlYXNlIG1ha2Ugc3VyZSB0aGF0 IE1BQyBhZGRyZXNzZXMgYXJlDQo+IGNvcnJlY3QuDQo+ID4gPiA+DQo+ID4gPiA+IDMuIFdoZW4g ZW5hYmxlIEdSTyBmb3IgcG9ydDAsIGNzdW0gZm9yd2FyZGluZyBlbmdpbmUgd2lsbCBtZXJnZQ0K PiA+ID4gPiBwYWNrZXRzIHJlY2VpdmVkIGZyb20gcG9ydDAuIElmIHRoZXJlIGFyZSBubyBwYWNr ZXRzIGZyb20gcG9ydDEgdG8NCj4gPiA+ID4gcG9ydDAsIHlvdSBkb24ndCBuZWVkIHRvIGVuYWJs ZSBHUk8gZm9yIHBvcnQxLg0KPiA+ID4gPg0KPiA+ID4gPiA0LiBHUk8gbGlicmFyeSBkb2Vzbid0 IHJlLWNhbGN1bGF0ZSBjaGVja3N1bXMgZm9yIG1lcmdlZCBwYWNrZXRzLg0KPiA+ID4gPiBJZiB5 b3Ugd2FudCBtZXJnZWQgcGFja2V0cyBoYXZlIGNvcnJlY3QgY2hlY2tzdW0sIHBsZWFzZSBzZWxl Y3QgSFcNCj4gPiA+ID4gSVAgYW5kIEhXIFRDUCBjaGVja3N1bSBjYWxjdWxhdGlvbiBmb3IgdGhl IHBvcnQgd2hpY2ggdGhlIG1lcmdlZA0KPiA+ID4gPiBwYWNrZXRzIGFyZSB0cmFuc21pdHRlZCB0 byBpbiBjc3VtIGZvcndhcmRpbmcgZW5naW5lLg0KPiA+ID4gPiBUaGlzIGlzIGJlY2F1c2UgdGhl IG1lcmdlZCBwYWNrZXRzIGFyZSBtdWx0aS1zZWdtZW50IG1idWZzLCBidXQNCj4gPiA+ID4gY3N1 bSBmb3J3YXJkaW5nIGVuZ2luZSBkb2Vzbid0IHN1cHBvcnQgdG8gY2FsY3VsYXRlIGNoZWNrc3Vt cyBmb3INCj4gPiA+ID4gbXVsdGktc2VnbWVudCBtYnVmcyBpbiBTVy4gU28gd2UgbmVlZCB0byBz ZWxlY3QgSFcgY2hlY2tzdW0NCj4gPiBvZmZsb2FkaW5nLg0KPiA+ID4gPg0KPiA+ID4gPiBlLmcu IElmIGRhdGEgZmxvdyBpcyAicGFja2V0cyAtPiBwb3J0MCAtPiBwb3J0MSIsIGNvbW1hbmRzIHVz ZWQgaW4NCj4gPiB0ZXN0cG1kOg0KPiA+ID4gPiAJZ3JvIG9uIHBvcnQwDQo+ID4gPiA+IAlzZXQg ZndkIGNzdW0NCj4gPiA+ID4gCWNzdW0gc2V0IGlwIGh3IHBvcnQxDQo+ID4gPiA+IAljc3VtIHNl dCB0Y3AgaHcgcG9ydDENCj4gPiA+ID4NCj4gPiA+ID4NCj4gPiA+ID4gQmVzaWRlcywgeW91IG5l ZWQgdG8gbWFrZSBzdXJlIHRoYXQgeW91ciBQTUQgZHJpdmVyIGRvZXNuJ3QgdXNlDQo+ID4gPiA+ IHZlY3RvciBUWCBmdW5jdGlvbiwgc2luY2UgdmVjdG9yIGZ1bmN0aW9uIGRvZXNuJ3Qgc3VwcG9y dCBjaGVja3N1bQ0KPiA+IG9mZmxvYWRpbmcuDQo+ID4gPiA+DQo+ID4gPiA+ID4NCj4gPiA+ID4g PiDigJzigJ3igJ0NCj4gPiA+ID4gPg0KPiA+ID4gPiA+DQo+ID4gPiA+ID4NCj4gPiA+ID4gPiBB bmQgdHJ5aW5nIHRvIHNlbmQgVENQX0lQVjQgZnJhZ21lbnRlZCBwYWNrZXQg4oCccGFja2V0IHdp dGgNCj4gPiA+ID4gPiBsZW5ndGgNCj4gPiA+ID4gPiAxNTAwIGZyYWdtZW50ZWQgdG8gdGhyZWUg cGFja2V0cyBvZiA1MDDigJ0NCj4gPiA+ID4gPg0KPiA+ID4gPiA+IOKAnOKAneKAnQ0KPiA+ID4g PiA+DQo+ID4gPiA+ID4gcD1FdGhlcihzcmM9Z2V0X2lmX2h3YWRkcignZW5zMTAnKSwgZHN0PQ0K PiA+ID4gPiA+ICcyNDo4QTowNzo4ODoyNjo2QicpL0lQKCkvVENQKCkNCj4gPiA+ID4gPg0KPiA+ ID4gPiA+IHAuYWRkX3BheWxvYWQoJ0YnKigxNTAwIC0gbGVuKHApKSkNCj4gPiA+ID4gPg0KPiA+ ID4gPiA+IGZyYWdzPWZyYWdtZW50KHAsZnJhZ3NpemU9NTAwKQ0KPiA+ID4gPiA+DQo+ID4gPiA+ ID4gZm9yIGZyYWdtZW50IGluIGZyYWdzOg0KPiA+ID4gPiA+DQo+ID4gPiA+ID4gICAgICBzZW5k cChmcmFnbWVudCwgaWZhY2U9J2VuczEwJykNCj4gPiA+ID4gPg0KPiA+ID4gPiA+IOKAnOKAneKA nQ0KPiA+ID4gPiA+DQo+ID4gPiA+ID4NCj4gPiA+ID4gPg0KPiA+ID4gPiA+IEJ1dCB0aGUgdGVz dHBtZCBmb3J3YXJkIHRoZSBwYWNrZXRzIGFzIGl0IGlzLCDigJwgZG9lc27igJl0IGRvIGFueSBt ZXJnZeKAnQ0KPiA+ID4gPiA+DQo+ID4gPiA+ID4NCj4gPiA+ID4gPg0KPiA+ID4gPiA+IFRjcGR1 bXAgYXQgdGhlIFRHIHNpZGUsDQo+ID4gPiA+ID4NCj4gPiA+ID4gPiBUaGUgc2VuZGluZyBmcmFn bWV0cyB1c2luZyBlbnMxMDoNCj4gPiA+ID4gPg0KPiA+ID4gPiA+ICN0Y3BkdW1wIOKAk0kgZW5z MTAg4oCTdnZ2ZW4NCj4gPiA+ID4gPg0KPiA+ID4gPiA+IDE1OjQ1OjI5LjA4MzUxNCAyNDo4YTow Nzo4ODoyNjo1YiA+IDI0OjhhOjA3Ojg4OjI2OjZiLCBldGhlcnR5cGUNCj4gPiA+ID4gPiBJUHY0 ICgweDA4MDApLCBsZW5ndGggNTM4OiAodG9zIDB4MCwgdHRsIDY0LCBpZCAxLCBvZmZzZXQgMCwN Cj4gPiA+ID4gPiBmbGFncyBbK10sIHByb3RvIE9wdGlvbnMgKDApLCBsZW5ndGggNTI0KQ0KPiA+ ID4gPiA+DQo+ID4gPiA+ID4gICAgIDEyNy4wLjAuMSA+IDEyNy4wLjAuMTogIGlwLXByb3RvLTAg NTA0DQo+ID4gPiA+ID4NCj4gPiA+ID4gPiAxNTo0NToyOS4xMTUyNjYgMjQ6OGE6MDc6ODg6MjY6 NWIgPiAyNDo4YTowNzo4ODoyNjo2YiwgZXRoZXJ0eXBlDQo+ID4gPiA+ID4gSVB2NCAoMHgwODAw KSwgbGVuZ3RoIDUzODogKHRvcyAweDAsIHR0bCA2NCwgaWQgMSwgb2Zmc2V0IDUwNCwNCj4gPiA+ ID4gPiBmbGFncyBbK10sIHByb3RvIE9wdGlvbnMgKDApLCBsZW5ndGggNTI0KQ0KPiA+ID4gPiA+ DQo+ID4gPiA+ID4gICAgIDEyNy4wLjAuMSA+IDEyNy4wLjAuMTogaXAtcHJvdG8tMA0KPiA+ID4g PiA+DQo+ID4gPiA+ID4gMTU6NDU6MjkuMTQ3MjU4IDI0OjhhOjA3Ojg4OjI2OjViID4gMjQ6OGE6 MDc6ODg6MjY6NmIsIGV0aGVydHlwZQ0KPiA+ID4gPiA+IElQdjQgKDB4MDgwMCksIGxlbmd0aCA0 OTI6ICh0b3MgMHgwLCB0dGwgNjQsIGlkIDEsIG9mZnNldCAxMDA4LA0KPiA+ID4gPiA+IGZsYWdz IFtub25lXSwgcHJvdG8gT3B0aW9ucyAoMCksIGxlbmd0aCA0NzgpDQo+ID4gPiA+ID4NCj4gPiA+ ID4gPiAgICAgMTI3LjAuMC4xID4gMTI3LjAuMC4xOiBpcC1wcm90by0wDQo+ID4gPiA+ID4NCj4g PiA+ID4gPg0KPiA+ID4gPiA+DQo+ID4gPiA+ID4gI3RjcGR1bXAgLWkgZW5zOSDigJN2dnZlbiAg Ly8vIGhlcmUgd2lsbCBiZSByZWNlaXZlZCB0aGUgZm9yd2FyZGVkDQo+ID4gPiA+ID4gcGFja2V0 cyBmcm9tDQo+ID4gPiA+ID4gdGVzdHBtZDoNCj4gPiA+ID4gPg0KPiA+ID4gPiA+IDE1OjQ1OjI5 LjA4Mzk5NiAyNDo4YTowNzo4ODoyNjo1YiA+IDI0OjhhOjA3Ojg4OjI2OjZiLCBldGhlcnR5cGUN Cj4gPiA+ID4gPiBJUHY0ICgweDA4MDApLCBsZW5ndGggNTM4OiAodG9zIDB4MCwgdHRsIDY0LCBp ZCAxLCBvZmZzZXQgMCwNCj4gPiA+ID4gPiBmbGFncyBbK10sIHByb3RvIE9wdGlvbnMgKDApLCBs ZW5ndGggNTI0KQ0KPiA+ID4gPiA+DQo+ID4gPiA+ID4gICAgIDEyNy4wLjAuMSA+IDEyNy4wLjAu MTogIGlwLXByb3RvLTAgNTA0DQo+ID4gPiA+ID4NCj4gPiA+ID4gPiAxNTo0NToyOS4xMTU0MjUg MjQ6OGE6MDc6ODg6MjY6NWIgPiAyNDo4YTowNzo4ODoyNjo2YiwgZXRoZXJ0eXBlDQo+ID4gPiA+ ID4gSVB2NCAoMHgwODAwKSwgbGVuZ3RoIDUzODogKHRvcyAweDAsIHR0bCA2NCwgaWQgMSwgb2Zm c2V0IDUwNCwNCj4gPiA+ID4gPiBmbGFncyBbK10sIHByb3RvIE9wdGlvbnMgKDApLCBsZW5ndGgg NTI0KQ0KPiA+ID4gPiA+DQo+ID4gPiA+ID4gICAgIDEyNy4wLjAuMSA+IDEyNy4wLjAuMTogaXAt cHJvdG8tMA0KPiA+ID4gPiA+DQo+ID4gPiA+ID4gMTU6NDU6MjkuMTQ3NDkyIDI0OjhhOjA3Ojg4 OjI2OjViID4gMjQ6OGE6MDc6ODg6MjY6NmIsIGV0aGVydHlwZQ0KPiA+ID4gPiA+IElQdjQgKDB4 MDgwMCksIGxlbmd0aCA0OTI6ICh0b3MgMHgwLCB0dGwgNjQsIGlkIDEsIG9mZnNldCAxMDA4LA0K PiA+ID4gPiA+IGZsYWdzIFtub25lXSwgcHJvdG8gT3B0aW9ucyAoMCksIGxlbmd0aCA0NzgpDQo+ ID4gPiA+ID4NCj4gPiA+ID4gPiAgICAgMTI3LjAuMC4xID4gMTI3LjAuMC4xOiBpcC1wcm90by0w DQo+ID4gPiA+ID4NCj4gPiA+ID4gPg0KPiA+ID4gPiA+DQo+ID4gPiA+ID4NCj4gPiA+ID4gPg0K PiA+ID4gPiA+IEFtIEkgZG9pbmcgc29tZXRoaW5nIHdyb25nPyEgT3IgaXQgaXMgYSBidWcuDQo+ ID4gPiA+ID4NCj4gPiA+ID4gPiDDqCBBcyB5b3Ugc2VlIHRoZSB0Y3BkdW1wIHNob3dzIHRoZSBv ZmZzZXQgb2YgZWFjaCBmcmFnbWVudCwgYW5kDQo+ID4gPiA+ID4gdGVzdHBtZCBwcmludHMgTDRf RlJBRywgc28gdGhlIGJvdGggYXJlIHJlY29nbml6aW5nIHRoYXQgdGhpcyBpcw0KPiA+ID4gPiA+ IGENCj4gPiA+ID4gZnJhZ21lbnRlZCBwYWNrZXQuDQo+ID4gPiA+DQo+ID4gPiA+IEdSTyBsaWJy YXJ5IG1lcmdlcyBUU09lZC9HU09lZCBwYWNrZXRzLCB3aG9zZSBJUCBJRHMgYW5kIFRDUA0KPiA+ ID4gc2VxdWVuY2VzDQo+ID4gPiA+IGFyZSBib3RoIGNvbnNlY3V0aXZlLiBJZiBpbnB1dCBwYWNr ZXRzIGhhdmUgc2FtZSBJUCBJRHMsIG5vDQo+ID4gPiA+IHBhY2tldHMgd2lsbCBiZSBtZXJnZWQu DQo+ID4gPiA+DQo+ID4gPiA+IEJUVywgeW91IGNhbiB1c2UgaXBlcmYgdG8gdGVzdCBHUk8gZmVh dHVyZS4NCj4gPiA+ID4NCj4gPiA+ID4gQmVzdCBSZWdhcmRzLA0KPiA+ID4gPiBKaWF5dQ0KPiA+ ID4gPg0KPiA+ID4gPiA+DQo+ID4gPiA+ID4NCj4gPiA+ID4gPg0KPiA+ID4gPiA+IEJlc3QgcmVn YXJkcywNCj4gPiA+ID4gPg0KPiA+ID4gPiA+IFdpc2FtIEphZGRvDQo+ID4gPiA+ID4NCj4gPiA+ ID4gPg0KPiA+ID4gPiA+DQo=