From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by dpdk.org (Postfix) with ESMTP id 48CAD199AC for ; Thu, 25 Jan 2018 16:39:13 +0100 (CET) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga005.jf.intel.com ([10.7.209.41]) by fmsmga102.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 25 Jan 2018 07:39:13 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.46,412,1511856000"; d="scan'208";a="196226125" Received: from fmsmsx108.amr.corp.intel.com ([10.18.124.206]) by orsmga005.jf.intel.com with ESMTP; 25 Jan 2018 07:39:12 -0800 Received: from fmsmsx113.amr.corp.intel.com (10.18.116.7) by FMSMSX108.amr.corp.intel.com (10.18.124.206) with Microsoft SMTP Server (TLS) id 14.3.319.2; Thu, 25 Jan 2018 07:39:12 -0800 Received: from fmsmsx117.amr.corp.intel.com ([169.254.3.243]) by FMSMSX113.amr.corp.intel.com ([169.254.13.90]) with mapi id 14.03.0319.002; Thu, 25 Jan 2018 07:39:12 -0800 From: "Wiles, Keith" To: Shailja Pandey CC: "dev@dpdk.org" Thread-Topic: [dpdk-dev] DPDK-pktgen not giving expected throughput Thread-Index: AQHTlbyeY6/BI0plO0O4NqRcEqIEV6OFP+OA Date: Thu, 25 Jan 2018 15:39:11 +0000 Message-ID: References: <256d873d-c96a-7a79-9fd9-e890123bc67b@iitd.ac.in> In-Reply-To: <256d873d-c96a-7a79-9fd9-e890123bc67b@iitd.ac.in> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.254.0.61] Content-Type: text/plain; charset="utf-8" Content-ID: <7EDA9D07E01DE94A94BFA6F78C57ACE8@intel.com> Content-Transfer-Encoding: base64 MIME-Version: 1.0 Subject: Re: [dpdk-dev] DPDK-pktgen not giving expected throughput 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: Thu, 25 Jan 2018 15:39:15 -0000 DQoNCj4gT24gSmFuIDI1LCAyMDE4LCBhdCAxOjU2IEFNLCBTaGFpbGphIFBhbmRleSA8Y3N6MTY4 MTE3QGlpdGQuYWMuaW4+IHdyb3RlOg0KPiANCj4gSGksDQo+IA0KPiBJIHRyaWVkIHRoaXMgY29t bWFuZCBsaW5lIGFuZCBibGFja2xpc3RlZCAwNDowMC4wIGFuZCAwNDowMC4xLQ0KPiANCj4gLi9h cHAvYXBwL3g4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjL3BrdGdlbiAtYyAweGZmZmYgLW4gNCAt YiAwNDowMC4wIC1iIDA0OjAwLjEgLS0gLVQgLVAgLW0g4oCcWzIsNCw2OjgsMTAsMTJdLjAsIFsx NCwxNiwxODoyMCwyMiwyNF0uMeKAnQ0KPiBCdXQgSSBhbSBzdGlsbCBub3QgYWJsZSB0byBzZWUg dGhlIHBvcnRzIHVzaW5nIGNvbW1hIHNlcGFyYXRlZCBjb3Jlcy4gSSBoYXZlIGFsc28gdHJpZWQg dGhlIGZvbGxvd2luZyBjb25maWd1cmF0aW9uIGJ1dCBub3QgZ2V0dGluZyAxMDAgR2JwcyBmb3Ig cGFja2V0IHNpemUgb2YgNjQgYnl0ZXMgYW5kIDE1MDAgYnl0ZXM6DQo+IA0KPiAgbWFrZTsgLi9h cHAvYXBwL3g4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjL3BrdGdlbiAtYyAweGZmZmZmZmZmIC1u IDQgLWIgMDQ6MDAuMCAtYiAwNDowMC4xIC0tIC1UIC1QIC1tICJbMi02OjctMTFdLjAsWzEyLTE2 OjE3LTIxXS4x4oCdDQoNCg0KSSBndWVzcyBJIGFtIG5vdCBjb21wbGV0ZWx5IGZvbGxvd2luZyB0 aGUgcHJvYmxlbSBhcmUgeW91IHN0YXRpbmcgdGhlIGNvbW1hIGxpc3Qgb2YgY29yZXMgZG9lcyBu b3Qgd29yayBvciBqdXN0IG5vdCBhYmxlIHRvIGdldCB0aGUgcGVyZm9ybWFuY2UgeW91IHdhbnQ/ DQoNCg0KTWFueSBmYWN0b3JzIGVmZmVjdCB0aGUgcGVyZm9ybWFuY2UgbGlrZSB0aGUgUENJIHNs b3Qgd2lkdGgsIGxvY2F0aW9uIG9mIFBDSSBzbG90IHJlbGF0aXZlIHRvIHRoZSBDUFUgc29ja2V0 LCBjb3JlcyBiZWluZyB1c2VkIGFyZSBub3Qgb24gdGhlIHNhbWUgQ1BVIHNvY2tldCBhcyB0aGUg UENJIHNsb3QvY2FyZCwgbm90IHNldHRpbmcgdXAgdGhlIHJhbmdlIGNvbW1hbmQgdG8gYWxsb3cg UlNTIHRvIGRpc3RyaWJ1dGUgdGhlIHBhY2tldHMgYWNyb3NzIHRoZSBSWCBwb3J0cy4NCg0KV2Ug bmVlZCB0byBpc29sYXRlIGFuZCB2ZXJpZnkgdGhlc2UgcG9zc2libGUgcHJvYmxlbXMgY291bGQg YmUgdGhlIGlzc3VlLg0KDQo+IA0KPiBBbnkgaGVscCB3b3VsZCBiZSBoaWdobHkgYXBwcmVjaWF0 ZWQuDQo+ID4gT24gSmFuIDEzLCAyMDE4LCBhdCAxMjo1MSBQTSwgU2hhaWxqYSBQYW5kZXkgPGNz ejE2ODExNyBhdCBpaXRkLmFjLmluDQo+ID4gd3JvdGU6DQo+IA0KPiA+DQo+ICANCj4gDQo+ID4N Cj4gIEhpLA0KPiANCj4gPg0KPiAgDQo+IA0KPiA+DQo+ICBPdXRwdXQgb2YgY29tbWFuZCDigJhs c3BjaSB8IGdyZXAgRXRoZXLigJkgaXMtDQo+IA0KPiA+DQo+ICANCj4gDQo+ID4NCj4gIDA0OjAw LjAgRXRoZXJuZXQgY29udHJvbGxlcjogSW50ZWwgQ29ycG9yYXRpb24gRXRoZXJuZXQgQ29udHJv bGxlciAxMC1HaWdhYml0IFg1NDAtQVQyIChyZXYgMDEpDQo+IA0KPiA+DQo+ICAwNDowMC4xIEV0 aGVybmV0IGNvbnRyb2xsZXI6IEludGVsIENvcnBvcmF0aW9uIEV0aGVybmV0IENvbnRyb2xsZXIg MTAtR2lnYWJpdCBYNTQwLUFUMiAocmV2IDAxKQ0KPiANCj4gPg0KPiAgMDU6MDAuMCBFdGhlcm5l dCBjb250cm9sbGVyOiBJbnRlbCBDb3Jwb3JhdGlvbiBFdGhlcm5ldCBDb250cm9sbGVyIFhMNzEw IGZvciA0MEdiRSBRU0ZQKyAocmV2IDAyKQ0KPiANCj4gPg0KPiAgMDU6MDAuMSBFdGhlcm5ldCBj b250cm9sbGVyOiBJbnRlbCBDb3Jwb3JhdGlvbiBFdGhlcm5ldCBDb250cm9sbGVyIFhMNzEwIGZv ciA0MEdiRSBRU0ZQKyAocmV2IDAyKQ0KPiANCj4gPg0KPiAgDQo+IA0KPiA+DQo+ICBJIHRyaWVk IHJ1bm5pbmcgcGt0Z2VuIHdpdGggdGhpcyBjb21tYW5kIA0KPiANCj4gPg0KPiAgLi9hcHAvYXBw L3g4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjL3BrdGdlbiAtYyAweGZmZmYgLW4gNCAtLSAtVCAt UCAtbSDigJxbMiw0LDY6OCwxMCwxMl0uMCwgWzE0LDE2LDE4OjIwLDIyLDI0XS4x4oCdDQo+IA0K PiANCj4gTmVlZCB0byBibGFja2xpc3QgMDQ6MDAuMCBhbmQgMDQ6MDAuMSB1c2luZyAtYiAwNDow MC4wIC1iIDA0OjAwLjEganVzdCBiZWZvcmUgdGhlICAnLS0nDQo+IA0KPiA+DQo+ICANCj4gDQo+ ID4NCj4gIGJ1dCBJIGFtIHVuYWJsZSB0byBzZWUgdGhlIHBvcnRzIHdoaWxlIHVzaW5nIGNvbW1h IHNlcGFyYXRlZCBjb3JlcyBsaWtlIDIsNCw2LiBIb3dldmVyIHdoZW4gSSB0cmllZCB3aXRoIG11 bHRpcGxlIENQVXMsIHRoZSByZXN1bHQgaXMgc3RpbGwgdGhlIHNhbWUuDQo+IA0KPiA+DQo+ICAN Cj4gDQo+ID4NCj4gIEFmdGVyIGFsbG9jYXRpbmcgbXVsdGlwbGUgY29yZXMsIEkgYWxzbyB0cmll ZCB0aGUgcmFuZ2UgY29tbWFuZHMgdG8gZGlzdHJpYnV0ZSB0aGUgcGFja2V0cyBvbiBkaWZmZXJl bnQgY29yZXMoUlNTKS4NCj4gDQo+ID4NCj4gIA0KPiANCj4gPg0KPiAgIA0KPiANCj4gPg0KPiAg Pg0KPiANCj4gPg0KPiAgIE9uIEphbiAxMSwgMjAxOCwgYXQgMTI6NDUgQU0sIFNoYWlsamEgUGFu ZGV5IDxjc3oxNjgxMTcgYXQgaWl0ZC5hYy5pbg0KPiANCj4gPg0KPiAgPiB3cm90ZToNCj4gDQo+ ID4NCj4gIA0KPiANCj4gPg0KPiAgPg0KPiANCj4gPg0KPiAgIA0KPiANCj4gPg0KPiAgDQo+IA0K PiA+DQo+ICA+DQo+IA0KPiA+DQo+ICAgSSBoYXZlIGFsc28gdHJpZWQgd2l0aCBtdWx0aXBsZSBj cHVzIHVzaW5nIHRoZSBjb21tYW5kIGxpbmUtDQo+IA0KPiA+DQo+ICANCj4gDQo+ID4NCj4gID4N Cj4gDQo+ID4NCj4gICANCj4gDQo+ID4NCj4gIA0KPiANCj4gPg0KPiAgPg0KPiANCj4gPg0KPiAg IC4vYXBwL2FwcC94ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYy9wa3RnZW4gLWMgMHhmZmZmIC1u IDQgLS0gLVQgLVAgLW0gIlswOjRdLjAsWzU6OF0uMSxbOS0xMl0uMixbMTMtMTZdLjPigJ0gDQo+ IA0KPiA+DQo+ICANCj4gDQo+ID4NCj4gIA0KPiANCj4gPg0KPiAgV2hhdCBpcyBwb3J0IDAgYW5k IDEsIEkgZ3Vlc3MgdGhhdCBwb3J0IDIgYW5kIDMgYXJlIHRoZSAyeDQwIGNhcmQuIEkgZ3Vlc3Mg SSBuZWVkIHRoZSDigJhsc3BjaSB8IGdyZXAgRXRoZXLigJkgb3V0cHV0IHRvby4NCj4gDQo+ID4N Cj4gIA0KPiANCj4gPg0KPiAgTGV0cyBhc3N1bWUgcG9ydCAyIGFuZCAzIGFyZSB0aGUgMiBwb3J0 cyBvZiA0MEcgYW5kIHRoZSBOSUMgaXMgb24gUENJIGJ1czAgYXR0YWNoZWQgdG8gTlVNQSBub2Rl IDAuDQo+IA0KPiA+DQo+ICANCj4gDQo+ID4NCj4gIE1heSBuZWVkIHRvIGJsYWNrbGlzdCB0aGUg Zmlyc3QgdHdvIHBvcnQgMCBhbmQgMSB0byByZW1vdmUgdGhlbSBmcm9tIGJlaW5nIHVzZWQuDQo+ IA0KPiA+DQo+ICANCj4gDQo+ID4NCj4gIC4vYXBwL2FwcC94ODZfNjQtbmF0aXZlLWxpbnV4YXBw LWdjYy9wa3RnZW4gLWMgMHhmZmZmIC1uIDQgLS0gLVQgLVAgLW0g4oCcWzIsNCw2OjgsMTAsMTJd LjAsIFsxNCwxNiwxODoyMCwyMiwyNF0uMeKAnQ0KPiANCj4gPg0KPiAgDQo+IA0KPiA+DQo+ICBO b3cgeW91IGhhdmUgNiBjb3JlcyBwZXIgcG9ydCAzIG9uIFRYIGFuZCAzIG9uIFJYIG9uIGVhY2gg cG9ydC4gWW91IG1heWJlIGJlIGFibGUgdG8gZ2V0IGF3YXkgd2l0aCA0IHBlciBwb3J0IHdpdGgg dGhlIHNwZWVkIG9mIHRoZSBtYWNoaW5lIHlvdSBoYXZlLg0KPiANCj4gPg0KPiAgDQo+IA0KPiA+ DQo+ICBOZXh0IHdlIGhhdmUgdG8gdXNlIHRoZSByYW5nZSBjb21tYW5kIHRvIG1ha2Ugc3VyZSB0 aGUgcGFja2V0cyBhcmUgdHJhbnNtaXR0ZWQgd2l0aCBhIHZhcnlpbmcgc2V0IG9mIDUgdHVwbGVz Lg0KPiANCj4gPg0KPiAgDQo+IA0KPiA+DQo+ICBEbyBhIGhlbHAgY29tbWFuZCBhbiBsb29rIGF0 IHRoZSByYW5nZSBjb21tYW5kcywgdGhlcmUgaXMgYW4gZXhhbXBsZSBpbiB0aGUgdGVzdCBkaXJl Y3RvcnkuDQo+IA0KPiA+DQo+ICANCj4gDQo+ID4NCj4gIFRvIHNlZSB0aGUgcmFuZ2UgaW5mb3Jt YXRpb24gdXNlIOKAmHBhZ2UgcmFuZ2XigJkgYW5kIHRoZW4geW91IGNhbiBtb2RpZnkgZWFjaCBw b3J0Lg0KPiANCj4gPg0KPiAgDQo+IA0KPiA+DQo+ICBBZnRlciB5b3UgYXJlIGhhcHB5IHdpdGgg dGhlIGNvbmZpZ3VyYXRpb24gdXNlIHRoZSDigJhzYXZlIDxmaWxlbmFtZT7igJkgY29tbWFuZCB0 byBzYXZlIHRoZSBjb25maWd1cmF0aW9uLiBUaGVuIHlvdSBjYW4gdXNlIOKAmGxvYWQgPGZpbGVu YW1lPuKAmSBvciBhZGQgaXQgdG8gdGhlIGNvbW1hbmQgbGluZSB3aXRoIHRoZSAtZiA8ZmlsZW5h bWU+IG9wdGlvbi4NCj4gDQo+ID4NCj4gIA0KPiANCj4gPg0KPiAgDQo+IA0KPiA+DQo+ICANCj4g DQo+ID4NCj4gIA0KPiANCj4gPg0KPiAgPg0KPiANCj4gPg0KPiAgIA0KPiANCj4gPg0KPiAgDQo+ IA0KPiA+DQo+ICA+DQo+IA0KPiA+DQo+ICAgT24gVGh1cnNkYXkgMTEgSmFudWFyeSAyMDE4IDEw OjIwIEFNLCBTaGFpbGphIFBhbmRleSB3cm90ZToNCj4gDQo+ID4NCj4gIA0KPiANCj4gPg0KPiAg Pj4NCj4gDQo+ID4NCj4gICBUaGUgY29tbWFuZCBsaW5lIGZvciBQa3RnZW4gaXMtDQo+IA0KPiA+ DQo+ICANCj4gDQo+ID4NCj4gID4+DQo+IA0KPiA+DQo+ICAgDQo+IA0KPiA+DQo+ICANCj4gDQo+ ID4NCj4gID4+DQo+IA0KPiA+DQo+ICAgLi9hcHAvYXBwL3g4Nl82NC1uYXRpdmUtbGludXhhcHAt Z2NjL3BrdGdlbiAtYyAweGZmZiAtbiA0IC0tIC1UIC1QIC1tICJbMl0uMCxbNF0uMSxbOF0uMixb MTBdLjMiDQo+IA0KPiA+DQo+ICANCj4gDQo+ID4NCj4gID4+DQo+IA0KPiA+DQo+ICAgDQo+IA0K PiA+DQo+ICANCj4gDQo+ID4NCj4gID4+DQo+IA0KPiA+DQo+ICAgQ29uZmlndXJhdGlvbiBvZiB0 aGUgbWFjaGluZSBpcy0NCj4gDQo+ID4NCj4gIA0KPiANCj4gPg0KPiAgPj4NCj4gDQo+ID4NCj4g ICANCj4gDQo+ID4NCj4gIA0KPiANCj4gPg0KPiAgPj4NCj4gDQo+ID4NCj4gICBBcmNoaXRlY3R1 cmU6ICAgICAgICAgIHg4Nl82NA0KPiANCj4gPg0KPiAgDQo+IA0KPiA+DQo+ICA+Pg0KPiANCj4g Pg0KPiAgIENQVSBvcC1tb2RlKHMpOiAgICAgICAgMzItYml0LCA2NC1iaXQNCj4gDQo+ID4NCj4g IA0KPiANCj4gPg0KPiAgPj4NCj4gDQo+ID4NCj4gICBCeXRlIE9yZGVyOiAgICAgICAgICAgIExp dHRsZSBFbmRpYW4NCj4gDQo+ID4NCj4gIA0KPiANCj4gPg0KPiAgPj4NCj4gDQo+ID4NCj4gICBD UFUocyk6ICAgICAgICAgICAgICAgIDMyDQo+IA0KPiA+DQo+ICANCj4gDQo+ID4NCj4gID4+DQo+ IA0KPiA+DQo+ICAgT24tbGluZSBDUFUocykgbGlzdDogICAwLTMxDQo+IA0KPiA+DQo+ICANCj4g DQo+ID4NCj4gID4+DQo+IA0KPiA+DQo+ICAgVGhyZWFkKHMpIHBlciBjb3JlOiAgICAyDQo+IA0K PiA+DQo+ICANCj4gDQo+ID4NCj4gID4+DQo+IA0KPiA+DQo+ICAgQ29yZShzKSBwZXIgc29ja2V0 OiAgICA4DQo+IA0KPiA+DQo+ICANCj4gDQo+ID4NCj4gID4+DQo+IA0KPiA+DQo+ICAgU29ja2V0 KHMpOiAgICAgICAgICAgICAyDQo+IA0KPiA+DQo+ICANCj4gDQo+ID4NCj4gID4+DQo+IA0KPiA+ DQo+ICAgTlVNQSBub2RlKHMpOiAgICAgICAgICAyDQo+IA0KPiA+DQo+ICANCj4gDQo+ID4NCj4g ID4+DQo+IA0KPiA+DQo+ICAgVmVuZG9yIElEOiAgICAgICAgICAgICBHZW51aW5lSW50ZWwNCj4g DQo+ID4NCj4gIA0KPiANCj4gPg0KPiAgPj4NCj4gDQo+ID4NCj4gICBDUFUgZmFtaWx5OiAgICAg ICAgICAgIDYNCj4gDQo+ID4NCj4gIA0KPiANCj4gPg0KPiAgPj4NCj4gDQo+ID4NCj4gICBNb2Rl bDogICAgICAgICAgICAgICAgIDYzDQo+IA0KPiA+DQo+ICANCj4gDQo+ID4NCj4gID4+DQo+IA0K PiA+DQo+ICAgTW9kZWwgbmFtZTogICAgICAgICAgICBJbnRlbChSKSBYZW9uKFIpIENQVSBFNS0y NjQwIHYzIEAgMi42MEdIeg0KPiANCj4gPg0KPiAgDQo+IA0KPiA+DQo+ICA+Pg0KPiANCj4gPg0K PiAgIFN0ZXBwaW5nOiAgICAgICAgICAgICAgMg0KPiANCj4gPg0KPiAgDQo+IA0KPiA+DQo+ICA+ Pg0KPiANCj4gPg0KPiAgIENQVSBNSHo6ICAgICAgICAgICAgICAgMTIwNC4yMjYNCj4gDQo+ID4N Cj4gIA0KPiANCj4gPg0KPiAgPj4NCj4gDQo+ID4NCj4gICBDUFUgbWF4IE1IejogICAgICAgICAg IDM0MDAuMDAwMA0KPiANCj4gPg0KPiAgDQo+IA0KPiA+DQo+ICA+Pg0KPiANCj4gPg0KPiAgIENQ VSBtaW4gTUh6OiAgICAgICAgICAgMTIwMC4wMDAwDQo+IA0KPiA+DQo+ICANCj4gDQo+ID4NCj4g ID4+DQo+IA0KPiA+DQo+ICAgQm9nb01JUFM6ICAgICAgICAgICAgICA1MTk1LjA4DQo+IA0KPiA+ DQo+ICANCj4gDQo+ID4NCj4gID4+DQo+IA0KPiA+DQo+ICAgVmlydHVhbGl6YXRpb246ICAgICAg ICBWVC14DQo+IA0KPiA+DQo+ICANCj4gDQo+ID4NCj4gID4+DQo+IA0KPiA+DQo+ICAgTDFkIGNh Y2hlOiAgICAgICAgICAgICAzMksNCj4gDQo+ID4NCj4gIA0KPiANCj4gPg0KPiAgPj4NCj4gDQo+ ID4NCj4gICBMMWkgY2FjaGU6ICAgICAgICAgICAgIDMySw0KPiANCj4gPg0KPiAgDQo+IA0KPiA+ DQo+ICA+Pg0KPiANCj4gPg0KPiAgIEwyIGNhY2hlOiAgICAgICAgICAgICAgMjU2Sw0KPiANCj4g Pg0KPiAgDQo+IA0KPiA+DQo+ICA+Pg0KPiANCj4gPg0KPiAgIEwzIGNhY2hlOiAgICAgICAgICAg ICAgMjA0ODBLDQo+IA0KPiA+DQo+ICANCj4gDQo+ID4NCj4gID4+DQo+IA0KPiA+DQo+ICAgTlVN QSBub2RlMCBDUFUocyk6ICAgICAwLDIsNCw2LDgsMTAsMTIsMTQsMTYsMTgsMjAsMjIsMjQsMjYs MjgsMzANCj4gDQo+ID4NCj4gIA0KPiANCj4gPg0KPiAgPj4NCj4gDQo+ID4NCj4gICBOVU1BIG5v ZGUxIENQVShzKTogICAgIDEsMyw1LDcsOSwxMSwxMywxNSwxNywxOSwyMSwyMywyNSwyNywyOSwz MQ0KPiANCj4gPg0KPiAgDQo+IA0KPiA+DQo+ICA+Pg0KPiANCj4gPg0KPiAgIA0KPiANCj4gPg0K PiAgDQo+IA0KPiA+DQo+ICA+Pg0KPiANCj4gPg0KPiAgIExpbnV4IFhlb25FNSA0LjQuMC05My1n ZW5lcmljDQo+IA0KPiA+DQo+ICANCj4gDQo+ID4NCj4gID4+DQo+IA0KPiA+DQo+ICAgDQo+IA0K PiA+DQo+ICANCj4gDQo+ID4NCj4gID4+DQo+IA0KPiA+DQo+ICAgVGhhbmtzIQ0KPiANCj4gPg0K PiAgDQo+IA0KPiA+DQo+ICA+Pg0KPiANCj4gPg0KPiAgIA0KPiANCj4gPg0KPiAgDQo+IA0KPiA+ DQo+ICA+Pg0KPiANCj4gPg0KPiAgIA0KPiANCj4gPg0KPiAgDQo+IA0KPiA+DQo+ICA+Pg0KPiAN Cj4gPg0KPiAgIA0KPiANCj4gPg0KPiAgDQo+IA0KPiA+DQo+ICA+Pg0KPiANCj4gPg0KPiAgIA0K PiANCj4gPg0KPiAgDQo+IA0KPiA+DQo+ICA+Pg0KPiANCj4gPg0KPiAgIA0KPiANCj4gPg0KPiAg DQo+IA0KPiA+DQo+ICA+Pg0KPiANCj4gPg0KPiAgID4NCj4gDQo+ID4NCj4gIA0KPiANCj4gPg0K PiAgPj4NCj4gDQo+ID4NCj4gICAgT24gSmFuIDEwLCAyMDE4LCBhdCA3OjM2IEFNLCBTaGFpbGph IFBhbmRleSA8Y3N6MTY4MTE3IGF0IGlpdGQuYWMuaW4NCj4gDQo+ID4NCj4gIA0KPiANCj4gPg0K PiAgPj4NCj4gDQo+ID4NCj4gICA+IHdyb3RlOg0KPiANCj4gPg0KPiAgDQo+IA0KPiA+DQo+ICA+ Pg0KPiANCj4gPg0KPiAgIA0KPiANCj4gPg0KPiAgDQo+IA0KPiA+DQo+ICA+Pg0KPiANCj4gPg0K PiAgID4NCj4gDQo+ID4NCj4gIA0KPiANCj4gPg0KPiAgPj4NCj4gDQo+ID4NCj4gICAgDQo+IA0K PiA+DQo+ICANCj4gDQo+ID4NCj4gID4+DQo+IA0KPiA+DQo+ICAgDQo+IA0KPiA+DQo+ICANCj4g DQo+ID4NCj4gID4+DQo+IA0KPiA+DQo+ICAgPg0KPiANCj4gPg0KPiAgDQo+IA0KPiA+DQo+ICA+ Pg0KPiANCj4gPg0KPiAgICBIaSwNCj4gDQo+ID4NCj4gIA0KPiANCj4gPg0KPiAgPj4NCj4gDQo+ ID4NCj4gICANCj4gDQo+ID4NCj4gIA0KPiANCj4gPg0KPiAgPj4NCj4gDQo+ID4NCj4gICA+DQo+ IA0KPiA+DQo+ICANCj4gDQo+ID4NCj4gID4+DQo+IA0KPiA+DQo+ICAgIA0KPiANCj4gPg0KPiAg DQo+IA0KPiA+DQo+ICA+Pg0KPiANCj4gPg0KPiAgIA0KPiANCj4gPg0KPiAgDQo+IA0KPiA+DQo+ ICA+Pg0KPiANCj4gPg0KPiAgID4NCj4gDQo+ID4NCj4gIA0KPiANCj4gPg0KPiAgPj4NCj4gDQo+ ID4NCj4gICAgV2UgYXJlIHBlcmZvcm1pbmcgZXhwZXJpbWVudHMgb24gRGVsbCBQb3dlcmVkZ2Ug UjQzMCBzZXJ2ZXIsIHdoaWNoIGlzIGJhc2VkIG9uIEhhc3dlbGwgYXJjaGl0ZWN0dXJlIGJhc2Vk IHhlb24tMjY0MCB2MyBwcm9jZXNzb3IuIFdlIGhhdmUgYXR0YWNoZWQgWEwgNzEwIE5JQygyeDQw IEdiRSkgdG8gdGhlIG1hY2hpbmUgYW5kIGV4cGVjdCA1OSBNcHBzIHBhY2tldCBnZW5lcmF0aW9u IHBlciBwb3J0LiBCdXQgcGt0Z2VuIGlzIGFibGUgdG8gZ2VuZXJhdGUgb25seSAyMSBNcHBzIHBl ciBwb3J0IGFuZCB3ZSBhcmUgbm90IHN1cmUgYWJvdXQgdGhlIHByb2JsZW0uDQo+IA0KPiA+DQo+ ICANCj4gDQo+ID4NCj4gID4+DQo+IA0KPiA+DQo+ICAgDQo+IA0KPiA+DQo+ICANCj4gDQo+ID4N Cj4gID4+DQo+IA0KPiA+DQo+ICAgPg0KPiANCj4gPg0KPiAgDQo+IA0KPiA+DQo+ICA+Pg0KPiAN Cj4gPg0KPiAgICANCj4gDQo+ID4NCj4gIA0KPiANCj4gPg0KPiAgPj4NCj4gDQo+ID4NCj4gICAN Cj4gDQo+ID4NCj4gIA0KPiANCj4gPg0KPiAgPj4NCj4gDQo+ID4NCj4gICA+DQo+IA0KPiA+DQo+ ICANCj4gDQo+ID4NCj4gID4+DQo+IA0KPiA+DQo+ICAgIFdlIGFyZSB1c2luZyBEUERLIHZlcnNp b24gMTYuMDcgYW5kIERQREstcGt0Z2VuIHZlcnNpb24gMy4xLjAuIElzIHRoZXJlIGFueSB3YXkg dG8gZ2VuZXJhdGUgcGFja2V0cyBmcm9tIHBrdGdlbiBhdCAxMTggTXBwcyA/DQo+IA0KPiA+DQo+ ICANCj4gDQo+ID4NCj4gID4+DQo+IA0KPiA+DQo+ICAgDQo+IA0KPiA+DQo+ICANCj4gDQo+ID4N Cj4gID4+DQo+IA0KPiA+DQo+ICAgDQo+IA0KPiA+DQo+ICANCj4gDQo+ID4NCj4gID4+DQo+IA0K PiA+DQo+ICAgV2hhdCBpcyB0aGUgY29tbWFuZCBsaW5lIGZvciBQa3RnZW4/DQo+IA0KPiA+DQo+ ICANCj4gDQo+ID4NCj4gID4+DQo+IA0KPiA+DQo+ICAgDQo+IA0KPiA+DQo+ICANCj4gDQo+ID4N Cj4gID4+DQo+IA0KPiA+DQo+ICAgVXNpbmcgYSBzaW5nbGUgQ1BVIHlvdSBzaG91bGQgYmUgYWJs ZSB0byBnZW5lcmF0ZSBhYm91dCAyMU1wcHMsIHdoaWNoIHRlbGxzIG1lIHRoZSBjb25maWd1cmF0 aW9uIGlzIG5vdCBjb3JyZWN0Lg0KPiANCj4gPg0KPiAgDQo+IA0KPiA+DQo+ICA+Pg0KPiANCj4g Pg0KPiAgIA0KPiANCj4gPg0KPiAgDQo+IA0KPiA+DQo+ICA+Pg0KPiANCj4gPg0KPiAgIFBrdGdl biBuZWVkcyBOIG51bWJlciBvZiBUWCBhbmQgUlggY29yZXMgdG8gZ2VuZXJhdGUgbW9yZSB0cmFm ZmljLCBwbHVzIHRoZSBwYWNrZXRzIG5lZWQgdG8gYmUgc3ByZWFkIGFjcm9zcyB0aGUgY29yZXMg dXNpbmcgUlNTLiBUaGlzIG1lYW5zIHBrdGdlbiBuZWVkcyB0byBiZSBzZXR1cCB0byBnZW5lcmF0 ZSBwYWNrZXRzIHdpdGggdGhlIDUgdHVwbGUgZGlmZmVyZW5jZSB0byBnZXQgYWxsIG9mIHRoZSBj b3JlcyB0byByZWNlaXZlIHRoZSBwYWNrZXRzLg0KPiANCj4gPg0KPiAgDQo+IA0KPiA+DQo+ICA+ Pg0KPiANCj4gPg0KPiAgIA0KPiANCj4gPg0KPiAgDQo+IA0KPiA+DQo+ICA+Pg0KPiANCj4gPg0K PiAgIEkgbmVlZCB0byBrbm93IHRoZSBjb21tYW5kIGxpbmUgYW5kIHRoZSBjb25maWd1cmF0aW9u IG9mIHRoZSBtYWNoaW5lIHRvIGhlbHAuDQo+IA0KPiA+DQo+ICANCj4gDQo+ID4NCj4gID4+DQo+ IA0KPiA+DQo+ICAgPg0KPiANCj4gPg0KPiAgDQo+IA0KPiA+DQo+ICA+Pg0KPiANCj4gPg0KPiAg ICANCj4gDQo+ID4NCj4gIA0KPiANCj4gPg0KPiAgPj4NCj4gDQo+ID4NCj4gICANCj4gDQo+ID4N Cj4gIA0KPiANCj4gPg0KPiAgPj4NCj4gDQo+ID4NCj4gICA+DQo+IA0KPiA+DQo+ICANCj4gDQo+ ID4NCj4gID4+DQo+IA0KPiA+DQo+ICAgIC0tIA0KPiANCj4gPg0KPiAgDQo+IA0KPiA+DQo+ICA+ Pg0KPiANCj4gPg0KPiAgIA0KPiANCj4gPg0KPiAgDQo+IA0KPiA+DQo+ICA+Pg0KPiANCj4gPg0K PiAgID4NCj4gDQo+ID4NCj4gIA0KPiANCj4gPg0KPiAgPj4NCj4gDQo+ID4NCj4gICAgDQo+IA0K PiA+DQo+ICANCj4gDQo+ID4NCj4gID4+DQo+IA0KPiA+DQo+ICAgDQo+IA0KPiA+DQo+ICANCj4g DQo+ID4NCj4gID4+DQo+IA0KPiA+DQo+ICAgPg0KPiANCj4gPg0KPiAgDQo+IA0KPiA+DQo+ICA+ Pg0KPiANCj4gPg0KPiAgICBUaGFua3MsDQo+IA0KPiA+DQo+ICANCj4gDQo+ID4NCj4gID4+DQo+ IA0KPiA+DQo+ICAgDQo+IA0KPiA+DQo+ICANCj4gDQo+ID4NCj4gID4+DQo+IA0KPiA+DQo+ICAg Pg0KPiANCj4gPg0KPiAgDQo+IA0KPiA+DQo+ICA+Pg0KPiANCj4gPg0KPiAgICBTaGFpbGphDQo+ IA0KPiA+DQo+ICANCj4gDQo+ID4NCj4gID4+DQo+IA0KPiA+DQo+ICAgDQo+IA0KPiA+DQo+ICAN Cj4gDQo+ID4NCj4gID4+DQo+IA0KPiA+DQo+ICAgPg0KPiANCj4gPg0KPiAgDQo+IA0KPiA+DQo+ ICA+Pg0KPiANCj4gPg0KPiAgICANCj4gDQo+ID4NCj4gIA0KPiANCj4gPg0KPiAgPj4NCj4gDQo+ ID4NCj4gICANCj4gDQo+ID4NCj4gIA0KPiANCj4gPg0KPiAgPj4NCj4gDQo+ID4NCj4gICANCj4g DQo+ID4NCj4gIA0KPiANCj4gPg0KPiAgPj4NCj4gDQo+ID4NCj4gICBSZWdhcmRzLA0KPiANCj4g Pg0KPiAgDQo+IA0KPiA+DQo+ICA+Pg0KPiANCj4gPg0KPiAgIEtlaXRoDQo+IA0KPiA+DQo+ICAN Cj4gDQo+ID4NCj4gID4+DQo+IA0KPiA+DQo+ICAgDQo+IA0KPiA+DQo+ICANCj4gDQo+ID4NCj4g ID4+DQo+IA0KPiA+DQo+ICAgLS0gDQo+IA0KPiA+DQo+ICANCj4gDQo+ID4NCj4gID4+DQo+IA0K PiA+DQo+ICAgDQo+IA0KPiA+DQo+ICANCj4gDQo+ID4NCj4gID4+DQo+IA0KPiA+DQo+ICAgVGhh bmtzLA0KPiANCj4gPg0KPiAgDQo+IA0KPiA+DQo+ICA+Pg0KPiANCj4gPg0KPiAgIFNoYWlsamEN Cj4gDQo+ID4NCj4gIA0KPiANCj4gPg0KPiAgPj4NCj4gDQo+ID4NCj4gICANCj4gDQo+ID4NCj4g IA0KPiANCj4gPg0KPiAgPg0KPiANCj4gPg0KPiAgIA0KPiANCj4gPg0KPiAgDQo+IA0KPiA+DQo+ ICA+DQo+IA0KPiA+DQo+ICAgLS0gDQo+IA0KPiA+DQo+ICANCj4gDQo+ID4NCj4gID4NCj4gDQo+ ID4NCj4gICANCj4gDQo+ID4NCj4gIA0KPiANCj4gPg0KPiAgPg0KPiANCj4gPg0KPiAgIFRoYW5r cywNCj4gDQo+ID4NCj4gIA0KPiANCj4gPg0KPiAgPg0KPiANCj4gPg0KPiAgIFNoYWlsamENCj4g DQo+ID4NCj4gIA0KPiANCj4gPg0KPiAgPg0KPiANCj4gPg0KPiAgIA0KPiANCj4gPg0KPiAgDQo+ IA0KPiA+DQo+ICANCj4gDQo+ID4NCj4gIFJlZ2FyZHMsDQo+IA0KPiA+DQo+ICBLZWl0aA0KPiAN Cj4gPg0KPiAgDQo+IA0KPiA+DQo+ICAtLSANCj4gDQo+ID4NCj4gIA0KPiANCj4gPg0KPiAgVGhh bmtzLA0KPiANCj4gPg0KPiAgU2hhaWxqYQ0KPiANCj4gPg0KPiAgDQo+IA0KPiANCj4gUmVnYXJk cywNCj4gS2VpdGgNCj4gDQo+IC0tIA0KPiANCj4gVGhhbmtzLA0KPiBTaGFpbGphDQo+IA0KPiAt LSANCj4gDQo+IFRoYW5rcywNCj4gU2hhaWxqYQ0KPiANCg0KUmVnYXJkcywNCktlaXRoDQoNCg==