From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga06.intel.com (mga06.intel.com [134.134.136.31]) by dpdk.org (Postfix) with ESMTP id 5858E5A44 for ; Thu, 6 Dec 2018 07:38:25 +0100 (CET) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga007.fm.intel.com ([10.253.24.52]) by orsmga104.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 05 Dec 2018 22:38:24 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.56,321,1539673200"; d="scan'208";a="105269547" Received: from fmsmsx107.amr.corp.intel.com ([10.18.124.205]) by fmsmga007.fm.intel.com with ESMTP; 05 Dec 2018 22:38:23 -0800 Received: from fmsmsx154.amr.corp.intel.com (10.18.116.70) by fmsmsx107.amr.corp.intel.com (10.18.124.205) with Microsoft SMTP Server (TLS) id 14.3.408.0; Wed, 5 Dec 2018 22:38:24 -0800 Received: from shsmsx103.ccr.corp.intel.com (10.239.4.69) by FMSMSX154.amr.corp.intel.com (10.18.116.70) with Microsoft SMTP Server (TLS) id 14.3.408.0; Wed, 5 Dec 2018 22:38:23 -0800 Received: from shsmsx102.ccr.corp.intel.com ([169.254.2.182]) by SHSMSX103.ccr.corp.intel.com ([169.254.4.59]) with mapi id 14.03.0415.000; Thu, 6 Dec 2018 14:38:21 +0800 From: "Lu, Wenzhuo" To: "Varghese, Vipin" , "dev@dpdk.org" Thread-Topic: [dpdk-dev] [PATCH v2 01/20] net/ice: add base code Thread-Index: AQHUitYvxHB+7wxZBU2h9NgWlUkk0aVtdRoAgAOauND//4zIgIAAnDNQ//9+OACAAI894A== Date: Thu, 6 Dec 2018 06:38:20 +0000 Message-ID: <6A0DE07E22DDAD4C9103DF62FEBC09093FE1181F@shsmsx102.ccr.corp.intel.com> References: <1542956179-80951-1-git-send-email-wenzhuo.lu@intel.com> <1543820821-108122-1-git-send-email-wenzhuo.lu@intel.com> <1543820821-108122-2-git-send-email-wenzhuo.lu@intel.com> <4C9E0AB70F954A408CC4ADDBF0F8FA7D4D2C4507@BGSMSX101.gar.corp.intel.com> <6A0DE07E22DDAD4C9103DF62FEBC09093FE1159D@shsmsx102.ccr.corp.intel.com> <4C9E0AB70F954A408CC4ADDBF0F8FA7D4D2D40F9@BGSMSX101.gar.corp.intel.com> <6A0DE07E22DDAD4C9103DF62FEBC09093FE11765@shsmsx102.ccr.corp.intel.com> <4C9E0AB70F954A408CC4ADDBF0F8FA7D4D2D4234@BGSMSX101.gar.corp.intel.com> In-Reply-To: <4C9E0AB70F954A408CC4ADDBF0F8FA7D4D2D4234@BGSMSX101.gar.corp.intel.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: 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-dev] [PATCH v2 01/20] net/ice: add base code 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, 06 Dec 2018 06:38:26 -0000 SGkgVmlwaW4sDQoNCg0KPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBWYXJn aGVzZSwgVmlwaW4NCj4gU2VudDogVGh1cnNkYXksIERlY2VtYmVyIDYsIDIwMTggMjowMyBQTQ0K PiBUbzogTHUsIFdlbnpodW8gPHdlbnpodW8ubHVAaW50ZWwuY29tPjsgZGV2QGRwZGsub3JnDQo+ IFN1YmplY3Q6IFJFOiBbZHBkay1kZXZdIFtQQVRDSCB2MiAwMS8yMF0gbmV0L2ljZTogYWRkIGJh c2UgY29kZQ0KPiANCj4gc25pcHBlZA0KPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiArSW50ZWzCriBJ Q0UgZHJpdmVyDQo+ID4gPiA+ID4gPiArPT09PT09PT09PT09PT09PT09DQo+ID4gPiA+ID4gPiAr DQo+ID4gPiA+ID4gPiArVGhpcyBkaXJlY3RvcnkgY29udGFpbnMgc291cmNlIGNvZGUgb2YgRnJl ZUJTRCBpY2UgZHJpdmVyIG9mDQo+ID4gPiA+ID4gPiArdmVyc2lvbg0KPiA+ID4gPiA+ID4gKzIw MTguMTAuMzAgcmVsZWFzZWQgYnkgdGhlIHRlYW0gd2hpY2ggZGV2ZWxvcHMgYmFzaWMgZHJpdmVy cw0KPiA+ID4gPiA+ID4gK2ZvciBhbnkgaWNlIE5JQy4gVGhlIGRpcmVjdG9yeSBvZiBiYXNlLyBj b250YWlucyB0aGUgb3JpZ2luYWwNCj4gPiA+ID4gPiA+ICtzb3VyY2UNCj4gPiA+IHBhY2thZ2Uu DQo+ID4gPiA+ID4gPiArVGhpcyBkcml2ZXIgaXMgdmFsaWQgZm9yIHRoZSBwcm9kdWN0KHMpIGxp c3RlZCBiZWxvdw0KPiA+ID4gPiA+ID4gKw0KPiA+ID4gPiA+ID4gKyogSW50ZWzCriBFdGhlcm5l dCBOZXR3b3JrIEFkYXB0ZXJzIEU4MTANCj4gPiA+ID4gPiA+ICsNCj4gPiA+ID4gPiA+ICtVcGRh dGluZyB0aGUgZHJpdmVyDQo+ID4gPiA+ID4gPiArPT09PT09PT09PT09PT09PT09PQ0KPiA+ID4g PiA+ID4gKw0KPiA+ID4gPiA+ID4gK05PVEU6IFRoZSBzb3VyY2UgY29kZSBpbiB0aGlzIGRpcmVj dG9yeSBzaG91bGQgbm90IGJlDQo+ID4gPiA+ID4gPiArbW9kaWZpZWQgYXBhcnQgZnJvbSB0aGUg Zm9sbG93aW5nIGZpbGUocyk6DQo+ID4gPiA+ID4gPiArDQo+ID4gPiA+ID4gPiArICAgIGljZV9v c2RlcC5oDQo+ID4gPiA+ID4NCj4gPiA+ID4gPiBJIHRoaXMgUkVBRE1FIHBlcnNpc3RlbnQgaW4g dXBjb21pbmcgcmVsZWFzZXMgb2YgJ2RyaXZlci9uZXQvaWNlJz8NCj4gPiA+ID4gWWVzLg0KPiA+ ID4gSWYgTGludXggZHJpdmVyIGlzIGVuYWJsZWQgaW4gNC4yMC4xIG9yIGhpZ2hlciwgdGhlbiB3 aWxsIHRoZQ0KPiA+ID4gd29yZGluZyAnVGhpcyBkaXJlY3RvcnkgY29udGFpbnMgc291cmNlIGNv ZGUgb2YgRnJlZUJTRCBpY2UgZHJpdmVyIG9mJyBzdGlsbA0KPiBob2xkIHRydWU/DQo+ID4gQWx0 aG91Z2ggSSBkb24ndCB1bmRlcnN0YW5kIHdoeSB3ZSB0YWxrIGFib3V0IHRoZSBMaW51eCBkcml2 ZXINCj4gPiB2ZXJzaW9uLCBidXQgSSB0aGluayB0aGUgYW5zd2VyIGlzIHllcy4NCj4gT2ssIHJl YXNvbiBmb3IgbGludXggZHJpdmVyIGlzIGJlY2F1c2UNCj4gMS4geW91IHdvdWxkIGJlIHBsYW5u aW5nIHRvIHB1c2ggdGhlIGRlZmF1bHQga2VybmVsIGRyaXZlciB0byBsaW51eCBmb3IgSUNFLg0K PiAyLiB0aGUgZG9jdW1lbnRhdGlvbiBzdGF0ZXMgRnJlZUJTRCAyMDE4LjEwLjMwLCBzbyBpZiB0 aGVyZSBpcyBmdXR1cmUNCj4gZW5oYW5jZW1lbnQgcHVsbGVkIGZyb20gbGludXggZHJpdmVyIHRo aXMgd291bGQgYWRkZWQgaGVyZSB0b28/DQpTdXJlLCB3ZSdsbCBrZWVwIHVwZGF0aW5nIHRoaXMg Y29kZS4NCg0KPiANCj4gPg0KPiA+ID4NCj4gPiA+ID4gPg0KPiA+ID4gc25pcHBlZA0KPiA+ID4g PiA+ID4gKyNkZWZpbmUgSUNFX0FRQ19NQU5fTUFDX1VQREFURV9MQUEJMA0KPiA+ID4gPiA+ID4g KyNkZWZpbmUgSUNFX0FRQ19NQU5fTUFDX1VQREFURV9MQUFfV09MCShCSVQoMCkgPDwNCj4gPiA+ ID4gPiA+IElDRV9BUUNfTUFOX01BQ19XUl9TKQ0KPiA+ID4gPiA+DQo+ID4gPiA+ID4gQ2FuIHRo ZSBjb2RlIGJlIHJlYXJyYW5nZWQgZm9yPw0KPiA+ID4gPiBXZSBkb27igJl0IHdhbnQgdG8gY2hh bmdlIHRoZSBiYXNlIGNvZGUgZm9yIHRoZSBzYWtlIG9mIG1haW50ZW5hbmNlLg0KPiA+ID4gSSBk byBub3QgZm9sbG93IHRoaXMsIGlzIG5vdCB5b3VyIHRlYW0gb3IgaW5kaXZpZHVhbCBtYWludGFp bmluZyB0aGUgc2FtZT8NCj4gPiA+IGJlY2F1c2UgdGhlcmUgc2hvdWxkIGJlIG1haW50YWluZXIg Zm9yIHRoaXMgUE1ELg0KPiA+IFRoaXMgY29kZSBpcyBub3QgaW1wbGVtZW50ZWQgYnkgdXMuIFlv dSBjYW4gdGFrZSB1cyBhcyBhDQo+ID4gcmVwcmVzZW50YXRpdmUgb2YgdGhlIGRldmVsb3AgdGVh bS4NCj4gPiBJZiBhbnkgYnVnLCB3ZSdsbCBoYW5kZSBpdC4NCj4gT2ssIGN1cnJlbnRseSB0aGUg dGVhbSB3aGljaCBtYWludGFpbnMgdGhlIGNvZGUgZG8gbm90IHdhbnQgdG8gY2hhbmdlIHRoZQ0K PiBvcmRlciBvZiBjb2RlIGZvciBzYWtlIG9mIG1haW50ZW5hbmNlLiBDb25mdXNpbmcgYXBwcm9h Y2gsIGJ1dCBJIGxlYXZlIHRoaXMNCj4gdG8gb3RoZXIgbWVtYmVycyB0byBjb21tZW50Lg0KPiAN Cj4gPg0KPiA+ID4NCj4gPiA+IHNuaXBwZWQNCj4gPiA+ID4gPiA+ICtzdHJ1Y3QgaWNlX2FxY19n ZXRfcGh5X2NhcHNfZGF0YSB7DQo+ID4gPiA+ID4gPiArCV9fbGU2NCBwaHlfdHlwZV9sb3c7IC8q IFVzZSB2YWx1ZXMgZnJvbQ0KPiA+IElDRV9QSFlfVFlQRV9MT1dfKiAqLw0KPiA+ID4gPiA+ID4g KwlfX2xlNjQgcmVzZXJ2ZWQ7DQo+ID4gPiA+ID4gPiArCXU4IGNhcHM7DQo+ID4gPiA+ID4gPiAr I2RlZmluZSBJQ0VfQVFDX1BIWV9FTl9UWF9MSU5LX1BBVVNFCQkJQklUKDApDQo+ID4gPiA+ID4g PiArI2RlZmluZSBJQ0VfQVFDX1BIWV9FTl9SWF9MSU5LX1BBVVNFCQkJQklUKDEpDQo+ID4gPiA+ ID4gPiArI2RlZmluZSBJQ0VfQVFDX1BIWV9MT1dfUE9XRVJfTU9ERQkJCUJJVCgyKQ0KPiA+ID4g PiA+ID4gKyNkZWZpbmUgSUNFX0FRQ19QSFlfRU5fTElOSwkJCQlCSVQoMykNCj4gPiA+ID4gPiA+ ICsjZGVmaW5lIElDRV9BUUNfUEhZX0FOX01PREUJCQkJQklUKDQpDQo+ID4gPiA+ID4gPiArI2Rl ZmluZSBJQ0VfQVFDX1BIWV9FTl9NT0RfUVVBTA0KPiAJQklUKDUpDQo+ID4gPiA+ID4gPiArI2Rl ZmluZSBJQ0VfQVFDX1BIWV9FTl9MRVNNCQkJCUJJVCg2KQ0KPiA+ID4gPiA+ID4gKyNkZWZpbmUg SUNFX0FRQ19QSFlfRU5fQVVUT19GRUMNCj4gCUJJVCg3KQ0KPiA+ID4gPiA+ID4gKyNkZWZpbmUg SUNFX0FRQ19QSFlfQ0FQU19NQVNLDQo+ID4gPiA+ID4gPiAJTUFLRU1BU0soMHhmZiwgMCkNCj4g PiA+ID4gPiA+ICsJdTggbG93X3Bvd2VyX2N0cmw7DQo+ID4gPiA+ID4gPiArI2RlZmluZSBJQ0Vf QVFDX1BIWV9FTl9EM0NPTERfTE9XX1BPV0VSX0FVVE9ORUcNCj4gPiA+ID4gPiAJQklUKDApDQo+ ID4gPiA+ID4gPiArCV9fbGUxNiBlZWVfY2FwOw0KPiA+ID4gPiA+ID4gKyNkZWZpbmUgSUNFX0FR Q19QSFlfRUVFX0VOXzEwMEJBU0VfVFgJCQlCSVQoMCkNCj4gPiA+ID4gPiA+ICsjZGVmaW5lIElD RV9BUUNfUEhZX0VFRV9FTl8xMDAwQkFTRV9UCQkJQklUKDEpDQo+ID4gPiA+ID4gPiArI2RlZmlu ZSBJQ0VfQVFDX1BIWV9FRUVfRU5fMTBHQkFTRV9UCQkJQklUKDIpDQo+ID4gPiA+ID4gPiArI2Rl ZmluZSBJQ0VfQVFDX1BIWV9FRUVfRU5fMTAwMEJBU0VfS1gNCj4gCUJJVCgzKQ0KPiA+ID4gPiA+ ID4gKyNkZWZpbmUgSUNFX0FRQ19QSFlfRUVFX0VOXzEwR0JBU0VfS1IJCQlCSVQoNCkNCj4gPiA+ ID4gPiA+ICsjZGVmaW5lIElDRV9BUUNfUEhZX0VFRV9FTl8yNUdCQVNFX0tSCQkJQklUKDUpDQo+ ID4gPiA+ID4gPiArI2RlZmluZSBJQ0VfQVFDX1BIWV9FRUVfRU5fNDBHQkFTRV9LUjQNCj4gCUJJ VCg2KQ0KPiA+ID4gPiA+ID4gKwlfX2xlMTYgZWVlcl92YWx1ZTsNCj4gPiA+ID4gPiA+ICsJdTgg cGh5X2lkX291aVs0XTsgLyogUEhZL01vZHVsZSBJRCBjb25uZWN0ZWQgb24gdGhlIHBvcnQNCj4g Ki8NCj4gPiA+ID4gPiA+ICsJdTggcGh5X2Z3X3Zlcls4XTsNCj4gPiA+ID4gPiA+ICsJdTggbGlu a19mZWNfb3B0aW9uczsNCj4gPiA+ID4gPiA+ICsjZGVmaW5lIElDRV9BUUNfUEhZX0ZFQ18xMEdf S1JfNDBHX0tSNF9FTgkJQklUKDApDQo+ID4gPiA+ID4gPiArI2RlZmluZSBJQ0VfQVFDX1BIWV9G RUNfMTBHX0tSXzQwR19LUjRfUkVRCQlCSVQoMSkNCj4gPiA+ID4gPiA+ICsjZGVmaW5lIElDRV9B UUNfUEhZX0ZFQ18yNUdfUlNfNTI4X1JFUQ0KPiAJQklUKDIpDQo+ID4gPiA+ID4gPiArI2RlZmlu ZSBJQ0VfQVFDX1BIWV9GRUNfMjVHX0tSX1JFUQkJCUJJVCgzKQ0KPiA+ID4gPiA+ID4gKyNkZWZp bmUgSUNFX0FRQ19QSFlfRkVDXzI1R19SU181NDRfUkVRDQo+IAlCSVQoNCkNCj4gPiA+ID4gPiA+ ICsjZGVmaW5lIElDRV9BUUNfUEhZX0ZFQ18yNUdfUlNfQ0xBVVNFOTFfRU4JCUJJVCg2KQ0KPiA+ ID4gPiA+ID4gKyNkZWZpbmUgSUNFX0FRQ19QSFlfRkVDXzI1R19LUl9DTEFVU0U3NF9FTgkJQklU KDcpDQo+ID4gPiA+ID4gPiArI2RlZmluZSBJQ0VfQVFDX1BIWV9GRUNfTUFTSw0KPiA+ID4gPiA+ ID4gCU1BS0VNQVNLKDB4ZGYsIDApDQo+ID4gPiA+ID4gPiArCXU4IGV4dGVuZGVkX2NvbXBsaWFu Y2VfY29kZTsNCj4gPiA+ID4gPiA+ICsjZGVmaW5lIElDRV9NT0RVTEVfVFlQRV9UT1RBTF9CWVRF CQkJMw0KPiA+ID4gPiA+ID4gKwl1OCBtb2R1bGVfdHlwZVtJQ0VfTU9EVUxFX1RZUEVfVE9UQUxf QllURV07DQo+ID4gPiA+ID4gPiArI2RlZmluZSBJQ0VfQVFDX01PRF9UWVBFX0JZVEUwX1NGUF9Q TFVTDQo+IAkweEEwDQo+ID4gPiA+ID4gPiArI2RlZmluZSBJQ0VfQVFDX01PRF9UWVBFX0JZVEUw X1FTRlBfUExVUwkJMHg4MA0KPiA+ID4gPiA+ID4gKyNkZWZpbmUgSUNFX0FRQ19NT0RfVFlQRV9C WVRFMV9TRlBfUExVU19DVV9QQVNTSVZFCUJJVCgwKQ0KPiA+ID4gPiA+ID4gKyNkZWZpbmUgSUNF X0FRQ19NT0RfVFlQRV9CWVRFMV9TRlBfUExVU19DVV9BQ1RJVkUJQklUKDEpDQo+ID4gPiA+ID4g PiArI2RlZmluZSBJQ0VfQVFDX01PRF9UWVBFX0JZVEUxXzEwR19CQVNFX1NSCQlCSVQoNCkNCj4g PiA+ID4gPiA+ICsjZGVmaW5lIElDRV9BUUNfTU9EX1RZUEVfQllURTFfMTBHX0JBU0VfTFIJCUJJ VCg1KQ0KPiA+ID4gPiA+ID4gKyNkZWZpbmUgSUNFX0FRQ19NT0RfVFlQRV9CWVRFMV8xMEdfQkFT RV9MUk0NCj4gCUJJVCg2KQ0KPiA+ID4gPiA+ID4gKyNkZWZpbmUgSUNFX0FRQ19NT0RfVFlQRV9C WVRFMV8xMEdfQkFTRV9FUgkJQklUKDcpDQo+ID4gPiA+ID4gPiArI2RlZmluZSBJQ0VfQVFDX01P RF9UWVBFX0JZVEUyX1NGUF9QTFVTDQo+IAkweEEwDQo+ID4gPiA+ID4gPiArI2RlZmluZSBJQ0Vf QVFDX01PRF9UWVBFX0JZVEUyX1FTRlBfUExVUwkJMHg4Ng0KPiA+ID4gPiA+ID4gKwl1OCBxdWFs aWZpZWRfbW9kdWxlX2NvdW50Ow0KPiA+ID4gPiA+ID4gKyNkZWZpbmUgSUNFX0FRQ19RVUFMX01P RF9DT1VOVF9NQVgJCQkxNg0KPiA+ID4gPiA+ID4gKwlzdHJ1Y3Qgew0KPiA+ID4gPiA+ID4gKwkJ dTggdl9vdWlbM107DQo+ID4gPiA+ID4gPiArCQl1OCByc3ZkMzsNCj4gPiA+ID4gPiA+ICsJCXU4 IHZfcGFydFsxNl07DQo+ID4gPiA+ID4gPiArCQlfX2xlMzIgdl9yZXY7DQo+ID4gPiA+ID4gPiAr CQlfX2xlNjQgcnN2ZDg7DQo+ID4gPiA+ID4gPiArCX0gcXVhbF9tb2R1bGVzW0lDRV9BUUNfUVVB TF9NT0RfQ09VTlRfTUFYXTsNCj4gPiA+ID4gPiA+ICt9Ow0KPiA+ID4gPiA+ID4gKw0KPiA+ID4g PiA+DQo+ID4gPiA+ID4gRG9lcyB0aGUgTklDIHN1cHBvcnQgcGh5c2ljYWwgbG9vcGJhY2s/IEkg YW0gbm90IGFibGUgdG8gZmluZCBoZXJlLg0KPiA+ID4gPiBOb3Qgc3VyZSBhYm91dCBpdC4gQnV0 IG5vIHBsYW4gZm9yIHRoaXMgYXQgdGhpcyBzdGFnZS4NCj4gPiA+IFBsZWFzZSBhZGQgdGhpcyBp biByZWxlYXNlIG5vdGUgYW5kIFBNRCBkb2N1bWVudGF0aW9uIHRoZSBzYW1lLg0KPiA+IE5vLCB3 ZSBsaXN0IGFsbCB0aGUgdGhpbmdzIGRvbmUuIEl0IGRvZXNuJ3QgbWFrZSBzZW5zZSB0byBsaXN0 DQo+ID4gZXZlcnl0aGluZyBub3Qgc3VwcG9ydGVkIG9yIG5vdCBpbXBsZW1lbnRlZC4NCj4gSSB0 aGluayBpdCBpcyBuZWNlc3NhcnksIGJlY2F1c2UgYXBwbGljYXRpb24gJ3Rlc3RwbWQnIGhhcyBv cHRpb24gdG8gJ3NldCB0eA0KPiBsb29wYmFjayAocG9ydF9pZCkgKG9ufG9mZiknLiBTbyBJZiBJ Q0UgRFNJIFBNRCBkb2VzIG5vdCBzdXBwb3J0IGl0IGFuZCBpbg0KPiB0ZXN0cG1kIGl0IGZhaWxz IGJvdGggRFRTIHRlYW0gYW5kIERQREsgdXNlciBzaG91bGQgYmUgbWFkZSBhd2FyZSB2aWENCj4g ZG9jdW1lbnRhdGlvbiBmb3IgbGltaXRhdGlvbi4NCklmIHRoZSBmZWF0dXJlIGlzIG5vdCBzdXBw b3J0ZWQsIHRoZSBub3Qgc3VwcG9ydGVkIGZhaWx1cmUgaXMgcmV0dXJuZWQuIFRoYXQncyBhIFJU RSBsYXllciBkZXNpZ24gYW5kIGNvbW1vbiBzb2x1dGlvbiBmb3IgYWxsIHRoZSBkZXZpY2VzLg0K DQo+IA0KPiA+DQo+ID4gPg0KPiA+ID4gPg0KPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiArI2RlZmlu ZSBJQ0VfQVFfUEhZX0VOQV9MT1dfUE9XRVIJQklUKDIpDQo+ID4gPiA+ID4NCj4gPiA+ID4gPiBE b2VzIExvdyBQb3dlciBQTUQgaXMgZXhwb3NlZCB0byBEUERLPyBJZiB5ZXMsIGNhbiB5b3UgbWVu dGlvbg0KPiA+ID4gPiA+IHRoZSBwZXJmb3JtYW5jZSBudW1iZXJzIG9yIHZhcmlhbmNlIGluIFJl bGVhc2UgZG9jdW1lbnRzPw0KPiA+ID4gPiBObyBwbGFuIGZvciBpdCBhdCB0aGlzIHJlbGVhc2Uu DQo+ID4gPiBXb3VsZCBub3QgaXQgYmUgYmV0dGVyIHRvIG5vdCBhZGQgaGVyZSBvciB1cGRhdGUg YXMgY29tbWVudCBhbmQNCj4gPiA+IHJlbGVhc2Ugbm90ZSBhYm91dCB0aGUgc2FtZS4gUmlnaHQg bm93IGl0IGlzIGxpa2UgZGVhZCBjb2RlLg0KPiA+ID4NCj4gPiA+ID4NCj4gPiA+ID4gPg0KPiA+ ID4gPiA+IFNuaXBwZWQNCj4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gKw0KPiA+ID4gPiA+ID4gKy8q IE1lbW9yeSB0eXBlcyAqLw0KPiA+ID4gPiA+ID4gK2VudW0gaWNlX21lbXNldF90eXBlIHsNCj4g PiA+ID4gPiA+ICsJSUNFX05PTkRNQV9NRU0gPSAwLA0KPiA+ID4gPiA+ID4gKwlJQ0VfRE1BX01F TQ0KPiA+ID4gPiA+ID4gK307DQo+ID4gPiA+ID4gPiArDQo+ID4gPiA+ID4gPiArLyogTWVtY3B5 IHR5cGVzICovDQo+ID4gPiA+ID4gPiArZW51bSBpY2VfbWVtY3B5X3R5cGUgew0KPiA+ID4gPiA+ ID4gKwlJQ0VfTk9ORE1BX1RPX05PTkRNQSA9IDAsDQo+ID4gPiA+ID4gPiArCUlDRV9OT05ETUFf VE9fRE1BLA0KPiA+ID4gPiA+ID4gKwlJQ0VfRE1BX1RPX0RNQSwNCj4gPiA+ID4gPiA+ICsJSUNF X0RNQV9UT19OT05ETUENCj4gPiA+ID4gPiA+ICt9Ow0KPiA+ID4gPiA+ID4gKw0KPiA+ID4gPiA+ DQo+ID4gPiA+ID4gSXMgdGhpcyBleHBvc2VkIHRvIHVzZXIgKHJ0ZV9ldGhfZGV2KSBBUEk/IElm IHllcywgY2FuIHlvdQ0KPiA+ID4gPiA+IHBsZWFzZSBsZXQga25vdyB0aGUgcGVyZm9ybWFuY2Ug aW1wYWN0IGluIFJYfFRYIGluIHJlbGVhc2Ugbm90ZXMgdG9vLg0KPiA+ID4gPiBObyBwbGFuIGZv ciBpdCBhdCB0aGlzIHJlbGVhc2UuDQo+ID4gPiBQbGVhc2UgdXBkYXRlDQo+ID4gPiBhLiB3aGF0 IGlzIGRpZmZlcmVuY2UgbGVhc3QgYXMgY29tbWVudHMuDQo+ID4gPiBiLiBpbiByZWxlYXNlIG5v dGVzIGFib3V0IHRoZSBzYW1lLg0KPiA+ID4NCj4gPiA+IHNuaXBwZWQNCg==