From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by dpdk.org (Postfix) with ESMTP id D0BAC95B7 for ; Wed, 6 Jan 2016 17:44:47 +0100 (CET) Received: from fmsmga003.fm.intel.com ([10.253.24.29]) by orsmga103.jf.intel.com with ESMTP; 06 Jan 2016 08:44:46 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.20,529,1444719600"; d="scan'208";a="628985900" Received: from irsmsx107.ger.corp.intel.com ([163.33.3.99]) by FMSMGA003.fm.intel.com with ESMTP; 06 Jan 2016 08:44:46 -0800 Received: from irsmsx105.ger.corp.intel.com ([169.254.7.104]) by IRSMSX107.ger.corp.intel.com ([169.254.10.55]) with mapi id 14.03.0248.002; Wed, 6 Jan 2016 16:44:44 +0000 From: "Ananyev, Konstantin" To: Adrien Mazarguil Thread-Topic: [dpdk-dev] [PATCH 01/12] ethdev: add API to query what/if packet type is set Thread-Index: AQHRQ9KoIugEgpKcLkGtpAxtk9NTop7rQSUAgAAxMWCAAa5MgIAABAAggAEl+oCAAEBwAIAAH5sAgAAH//A= Date: Wed, 6 Jan 2016 16:44:43 +0000 Message-ID: <2601191342CEEE43887BDE71AB97725836AE2DBC@irsmsx105.ger.corp.intel.com> References: <1451544799-70776-1-git-send-email-jianfeng.tan@intel.com> <1451544799-70776-2-git-send-email-jianfeng.tan@intel.com> <20160104113814.GT3806@6wind.com> <2601191342CEEE43887BDE71AB97725836AE1002@irsmsx105.ger.corp.intel.com> <20160105161423.GE4712@autoinstall.dev.6wind.com> <2601191342CEEE43887BDE71AB97725836AE18E3@irsmsx105.ger.corp.intel.com> <20160106100053.GJ12095@6wind.com> <2601191342CEEE43887BDE71AB97725836AE1B46@irsmsx105.ger.corp.intel.com> <20160106154438.GP12095@6wind.com> In-Reply-To: <20160106154438.GP12095@6wind.com> Accept-Language: en-IE, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-titus-metadata-40: eyJDYXRlZ29yeUxhYmVscyI6IiIsIk1ldGFkYXRhIjp7Im5zIjoiaHR0cDpcL1wvd3d3LnRpdHVzLmNvbVwvbnNcL0ludGVsMyIsImlkIjoiY2E2ZTY1MTUtYzc3My00OWZlLWJjMDItY2IwYzEwYzFhZjllIiwicHJvcHMiOlt7Im4iOiJDVFBDbGFzc2lmaWNhdGlvbiIsInZhbHMiOlt7InZhbHVlIjoiQ1RQX0lDIn1dfV19LCJTdWJqZWN0TGFiZWxzIjpbXSwiVE1DVmVyc2lvbiI6IjE1LjQuMTAuMTkiLCJUcnVzdGVkTGFiZWxIYXNoIjoiWGYrMUlvVkhia3lISENHM2k2MTcySENUODYzQk5LSnBIUk53NXpOYml6TT0ifQ== x-ctpclassification: CTP_IC x-originating-ip: [163.33.239.180] Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 Cc: "dev@dpdk.org" Subject: Re: [dpdk-dev] [PATCH 01/12] ethdev: add API to query what/if packet type is set X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 06 Jan 2016 16:44:48 -0000 DQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogQWRyaWVuIE1hemFyZ3Vp bCBbbWFpbHRvOmFkcmllbi5tYXphcmd1aWxANndpbmQuY29tXQ0KPiBTZW50OiBXZWRuZXNkYXks IEphbnVhcnkgMDYsIDIwMTYgMzo0NSBQTQ0KPiBUbzogQW5hbnlldiwgS29uc3RhbnRpbg0KPiBD YzogTsOpbGlvIExhcmFuamVpcm87IFRhbiwgSmlhbmZlbmc7IGRldkBkcGRrLm9yZw0KPiBTdWJq ZWN0OiBSZTogW2RwZGstZGV2XSBbUEFUQ0ggMDEvMTJdIGV0aGRldjogYWRkIEFQSSB0byBxdWVy eSB3aGF0L2lmIHBhY2tldCB0eXBlIGlzIHNldA0KPiANCj4gT24gV2VkLCBKYW4gMDYsIDIwMTYg YXQgMDI6Mjk6MDdQTSArMDAwMCwgQW5hbnlldiwgS29uc3RhbnRpbiB3cm90ZToNCj4gPg0KPiA+ DQo+ID4gPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+ID4gRnJvbTogQWRyaWVuIE1h emFyZ3VpbCBbbWFpbHRvOmFkcmllbi5tYXphcmd1aWxANndpbmQuY29tXQ0KPiA+ID4gU2VudDog V2VkbmVzZGF5LCBKYW51YXJ5IDA2LCAyMDE2IDEwOjAxIEFNDQo+ID4gPiBUbzogQW5hbnlldiwg S29uc3RhbnRpbg0KPiA+ID4gQ2M6IE7DqWxpbyBMYXJhbmplaXJvOyBUYW4sIEppYW5mZW5nOyBk ZXZAZHBkay5vcmcNCj4gPiA+IFN1YmplY3Q6IFJlOiBbZHBkay1kZXZdIFtQQVRDSCAwMS8xMl0g ZXRoZGV2OiBhZGQgQVBJIHRvIHF1ZXJ5IHdoYXQvaWYgcGFja2V0IHR5cGUgaXMgc2V0DQo+ID4g Pg0KPiA+ID4gT24gVHVlLCBKYW4gMDUsIDIwMTYgYXQgMDQ6NTA6MzFQTSArMDAwMCwgQW5hbnll diwgS29uc3RhbnRpbiB3cm90ZToNCj4gPiA+IFsuLi5dDQo+ID4gPiA+ID4gLS0tLS1PcmlnaW5h bCBNZXNzYWdlLS0tLS0NCj4gPiA+ID4gPiBGcm9tOiBOw6lsaW8gTGFyYW5qZWlybyBbbWFpbHRv Om5lbGlvLmxhcmFuamVpcm9ANndpbmQuY29tXQ0KPiA+ID4gWy4uLl0NCj4gPiA+ID4gPiBJIHRo aW5rIHdlIG1pc3MgYSBjb21tZW50IGhlcmUgaW4gaG93IHRob3NlIDIvNi80IHZhbHVlcyBhcmUg Y2hvc2VuDQo+ID4gPiA+ID4gYmVjYXVzZSwgYWNjb3JkaW5nIHRvIHRoZSBtYXNrLCBJIGV4cGVj dCAxNiBwb3NzaWJpbGl0aWVzIGJ1dCBJIGdldA0KPiA+ID4gPiA+IGxlc3MuICBJdCB3aWxsIGhl bHAgYSBsb3QgYW55b25lIHdobyBuZWVkcyB0byBhZGQgYSBuZXcgdHlwZS4NCj4gPiA+ID4gPg0K PiA+ID4gPiA+IEV4dGVuZGluZyB0aGUgc25wcmludGYgYmVoYXZpb3IgYWJvdmUsIGl0IGlzIGJl c3QgdG8gcmVtb3ZlIHRoZSBtYXNrDQo+ID4gPiA+ID4gYXJndW1lbnQgYWx0b2dldGhlciBhbmQg aGF2ZSBydGVfZXRoX2Rldl9nZXRfcHR5cGVfaW5mbygpIHJldHVybiB0aGUNCj4gPiA+ID4gPiBl bnRpcmUgbGlzdCBldmVyeSB0aW1lLiAgQXBwbGljYXRpb25zIG5lZWQgdG8gaXRlcmF0ZSBvbiB0 aGUgcmVzdWx0IGluDQo+ID4gPiA+ID4gYW55IGNhc2UuDQo+ID4gPiA+DQo+ID4gPiA+IEkgdGhp bmsgd2UnZCBiZXR0ZXIga2VlcCBtYXNrIGFyZ3VtZW50Lg0KPiA+ID4gPiBJbiBtYW55IGNhc2Vz IHVwcGVyIGxheWVyIG9ubHkgaW50ZXJlc3RlZCBpbiBzb21lIHBhcnRpY3VsYXIgIHN1YnNldCBv Zg0KPiA+ID4gPiBhbGwgcGFja2V0IHR5cGVzIHRoYXQgSFcgY2FuIHJlY29nbmlzZS4NCj4gPiA+ ID4gTGV0IHNheSBsM2Z3ZCBvbmx5IGNhcmVzIGFib3V0ICBSVEVfUFRZUEVfTDNfTUFTSywgaXQg aXMgbm90IGludGVyZXN0ZWQgaW4gTDQsDQo+ID4gPiA+IHR1bm5lbGxpbmcgcGFja2V0IHR5cGVz LCBldGMuDQo+ID4gPiA+IElmIGNhbGxlciBuZWVkcyB0byBrbm93IGFsbCByZWNvZ25pc2VkIHB0 eXBlcywgaGUgY2FuIHNldCBtYXNrPT0tMSwNCj4gPiA+ID4gSW4gdGhhdCBjYXNlIGFsbCBzdXBw b3J0ZWQgcGFja2V0IHR5cGVzIHdpbGwgYmUgcmV0dXJuZWQuDQo+ID4gPg0KPiA+ID4gVGhlcmUg YXJlIG90aGVyIGRyYXdiYWNrcyB0byB0aGUgbWFzayBhcmd1bWVudCBpbiBteSBvcGluaW9uLiBU aGUgQVBJIHdpbGwNCj4gPiA+IGhhdmUgdG8gYmUgdXBkYXRlZCBhZ2FpbiBhcyBzb29uIGFzIDMy IGJpdHMgYXJlbid0IGVub3VnaCB0byByZXByZXNlbnQgYWxsDQo+ID4gPiBwb3NzaWJsZSBtYXNr cy4gV2UgY2FuJ3QgcHJlZGljdCBpdCB3aWxsIGJlIGxhcmdlIGVub3VnaCBmb3JldmVyIGJ1dCBv biB0aGUNCj4gPiA+IG90aGVyIGhhbmQsIHVzaW5nIHVpbnQ2NF90IHNlZW1zIG92ZXJraWxsIGF0 IHRoaXMgcG9pbnQuDQo+ID4NCj4gPiBJbnNpZGUgcnRlX21idWYgcGFja2V0X3R5cGUgaXRzZWxm IGlzIGEgMzIgYml0IHZhbHVlLg0KPiA+IFRoZXNlIDMyIGJpdHMgYXJlIGRpdmlkZWQgaW50byBz ZXZlcmFsIGZpZWxkcyB0byBtYXJrIHBhY2tldCB0eXBlcywNCj4gPiBpLmU6IGJpdHMgWzAtM10g YXJlIGZvciBhbGwgcG9zc2libGUgTDIgdHlwZXMsIGJpdHMgWzQtN10gZm9yIEwzIHR5cGVzLCBl dGMuDQo+ID4gQXMgbG9uZyBhcyBwYWNrZXRfdHlwZSBpdHNlbGYgaXMgMzJiaXRzLCAzMmJpdCBt YXNrIGlzIHN1ZmZpY2llbnQuDQo+ID4gSWYgd2UnbGwgZXZlciBydW4gb3V0IG9mIDMyIGJpdHMg aW4gcGFja2V0X3R5cGUgaXRzZWxmLCBpdCB3aWxsIGJlIEFCSSBjaGFuZ2UgYW55d2F5Lg0KPiAN Cj4gU3VyZSwgaG93ZXZlciB3aHkgbm90IGRvIGl0IG5vdyB0aGlzIGlzc3VlIGhhcyBiZWVuIHJh aXNlZCBzbyB0aGlzIGZ1bmN0aW9uDQo+IGRvZXNuJ3QgbmVlZCB1cGRhdGluZyB0aGUgZGF5IGl0 IGJyZWFrcz8gSSBrbm93IHRoZXJlJ3MgYSBtaWxsaW9uIG90aGVyDQo+IHBsYWNlcyB3aXRoIGEg c2ltaWxhciBwcm9ibGVtIGJ1dCBJJ20gYWxsIGZvciBtYWtpbmcgbmV3IGNvZGUgZnV0dXJlIHBy b29mLg0KDQpJZiBydGVfbWJ1ZiBwYWNrZXRfdHlwZSB3aWxsIGhhdmUgdG8gYmUgaW5jcmVhc2Vk IHRvIDY0Yml0IGxvbmcsIHRoZW4NCnRoaXMgZnVuY3Rpb24gd2lsbCBoYXZlIHRvIGNoYW5nZSBh bnl3YXkgKHdpdGggb3Igd2l0aG91dCBtYXNrIHBhcmFtZXRlcikuDQpJdCB3aWxsIGhhdmUgdG8g YmVjb21lOg0KDQpydGVfZXRoX2Rldl9nZXRfcHR5cGVfaW5mbyh1aW50OF90IHBvcnRpZCwgdWlu dDY0X3QgcHR5cGVzW10sIC4uLikNCg0KU28gSSB0aGluayB3ZSBkb24ndCBoYXZlIHRvIHdvcnJ5 IGFib3V0IG1hc2sgcGFyYW1ldGVyIGl0c2VsZi4NCg0KPiANCj4gUGVyaGFwcyBpbiB0aGlzIHBh cnRpY3VsYXIgY2FzZSB0aGVyZSBpcyBubyB3YXkgdG8gaGl0IHRoZSBsaW1pdCAoYWx0aG91Z2gN Cj4gdGhlcmUgYXJlIG9ubHkgZm91ciB1bnVzZWQgYml0cyBsZWZ0IHRvIGV4dGVuZCBSVEVfUFRZ UEUgbWFza3MpIGJ1dCB3ZSd2ZQ0KPiBzZWVuIHRoaXMgaGFwcGVuIHRvbyBtYW55IHRpbWVzIHdp dGggc3Vic2VxdWVudCBBQkkgYnJlYWthZ2UuDQoNCldoZW4gcHR5cGUgd2FzIGludHJvZHVjZWQg d2UgdHJpZWQgdG8gcmVzZXJ2ZSBzb21lIGZyZWUgc3BhY2UgZm9yIGVhY2ggbGF5ZXIgKEwyL0wz L0w0Ly4uLiksDQpzbyBpdCB3b3VsZG4ndCBiZSBvdmVycnVuIGltbWVkaWF0ZWx5Lg0KQnV0IG9m IGNvdXJzZSBpZiB0aGVyZSB3b3VsZCBiZSBhIG5ldyBIVyB0aGF0IGNhbiByZWNvZ25pc2UgZG96 ZW4gbmV3IHBhY2tldCB0eXBlcyAtIGl0IGlzIHBvc3NpYmxlLg0KRG8geW91IGhhdmUgYW55IHBh cnRpY3VsYXIgdXNlLWNhc2UgaW4gbWluZD8gDQoNCj4gDQo+ID4gPiBJIHRoaW5rIHRoaXMgdXNl IGZvciBtYXNrcyBzaG91bGQgYmUgYXZvaWRlZCB3aGVuIHBlcmZvcm1hbmNlIGRvZXMgbm90DQo+ ID4gPiBtYXR0ZXIgbXVjaCwgYXMgaW4gdGhpcyBjYXNlLCB1c2VyIGFwcGxpY2F0aW9uIGNhbm5v dCBrbm93IHRoZSBudW1iZXIgb2YNCj4gPiA+IGVudHJpZXMgaW4gYWR2YW5jZSBhbmQgbXVzdCBy ZWx5IG9uIHRoZSByZXR1cm5lZCB2YWx1ZSB0byBpdGVyYXRlLg0KPiA+DQo+ID4gVXNlciBkb2Vz bid0IGtub3cgbnVtYmVycyBvZiBlbnRyaWVzIGluIGFkdmFuY2UgYW55d2F5ICh3aXRoIGFuZCB3 aXRob3V0IHRoZSBtYXNrKS4NCj4gPiBUaGF0J3Mgd2h5IHRoaXMgZnVuY3Rpb24gd2FzIGludHJv ZHVjZWQgYXQgZmlyc3QgcGxhY2UuDQo+ID4NCj4gPiBXaXRoIG1hc2sgaXQganVzdCBhIGJpdCBt b3JlIGhhbmR5LCBpbiBjYXNlIHVzZXIgY2FyZXMgb25seSBhYm91dCBwYXJ0aWN1bGFyIHN1YnNl dCBvZiBzdXBwb3J0ZWQNCj4gPiBwYWNrZXQgdHlwZXMgKG9ubHkgTDIgbGV0IHNheSkuDQo+IA0K PiBPSywgc28gd2UgZGVmaW5pdGVseSBuZWVkIHNvbWV0aGluZyB0byBsZXQgYXBwbGljYXRpb25z IGtub3cgdGhlIGxheWVyIGENCj4gZ2l2ZW4gcGFja2V0IHR5cGUgYmVsb25ncyB0bywgSSdtIHN1 cmUgaXQgY2FuIGJlIGRvbmUgaW4gYSBjb252ZW5pZW50IHdheQ0KPiB0aGF0IHdvbid0IGJlIGxp bWl0ZWQgdG8gdGhlIHVuZGVybHlpbmcgdHlwZSBvZiB0aGUgbWFzay4NCj4gDQo+ID4gPiBBIGhl bHBlciBmdW5jdGlvbiBjYW4gYmUgYWRkZWQgdG8gY29udmVydCBhIFJURV9QVFlQRV8qIHZhbHVl IHRvIHRoZSBsYXllcg0KPiA+ID4gaXQgYmVsb25ncyB0byAodXNpbmcgZW51bSB0byBkZWZpbmUg cG9zc2libGUgdmFsdWVzKS4NCj4gPg0KPiA+IE5vdCBzdXJlIHdoYXQgZm9yPw0KPiANCj4gVGhp cyBpcyBhc3N1bWluZyBydGVfZXRoX2Rldl9nZXRfcHR5cGVfaW5mbygpIGRvZXNuJ3QgZmlsdGVy IGFueXRoaW5nIChubw0KPiAibWFzayIgYXJndW1lbnQpLiBJbiB0aGF0IGNhc2UgYSBzZXBhcmF0 ZSBmdW5jdGlvbiBtdXN0IGJlIGFkZGVkIHRvIGNvbnZlcnQNCj4gUlRFX1BUWVBFXyogdmFsdWVz IHRvIGEgbGF5ZXIsIHNvIGFwcGxpY2F0aW9ucyBjYW4gbG9vayBmb3IgaW50ZXJlc3RpbmcNCj4g cGFja2V0IHR5cGVzIHdoaWxlIHBhcnNpbmcgcGxpc3RbXSBvbiB0aGVpciBvd24uDQoNCkhvbmVz dGx5LCBJIGRvbid0IHNlZSB3aHkgZG8geW91IG5lZWQgdGhhdC4NCllvdSBhbHJlYWR5IGRvIGtu b3cgdGhhdCAgbGV0IHNheSBSVEVfUFRZUEVfTDNfSVBWNCBiZWxvbmdzIHRvIEwzLg0KV2h5IGRv IHlvdSBuZWVkIHNvbWUgZXh0cmEgZW51bSBoZXJlPw0KRnJvbSBteSB0aG91Z2h0IC0gdGhlIG9u bHkgcHVycG9zZSBvZiBtYXNrIHBhcmFtZXRlciB3YXMgdG8gbGltaXQgbnVtYmVyIG9mIGVsZW1l bnRzIGluIHRoZSBwdHlwZXNbXSBhdCByZXR1cm4uDQpTbyBsZXQgc2F5IHVzZXIgd291bGQgbmVl ZCB0byBpdGVyYXRlIG92ZXIgMTAgZWxlbWVudHMsIGluc3RlYWQgb2YgMTAwIHRvIGZpbmQNCnRo ZSBvbmVzIGhlIGlzIGludGVyZXN0ZWQgaW4uDQoNCj4gDQo+IFRoaXMgbGF5ZXIgaW5mb3JtYXRp b24gY291bGQgYmUgZGVmaW5lZCBhcyBhbiBlbnVtLCBpLmUuOg0KPiANCj4gIGVudW0gcnRlX3B0 eXBlX2luZm8gew0KPiAgICAgIFJURV9QVFlQRV9VTktOT1dOLA0KPiAgICAgIFJURV9QVFlQRV9M MiwNCj4gICAgICBSVEVfUFRZUEVfTDMsDQo+ICAgICAuLi4NCj4gIH07DQo+IA0KPiBPciBldmVu IGFuIGludCB2YWx1ZSAoMiBzdGFuZGluZyBmb3IgZm9yICJsYXllciAyIiBldGMuIFR1bm5lbCBl bmNhcHN1bGF0aW9uDQo+IHdvdWxkbid0IGJlIGRlc2NyaWJlZCBlYXNpbHkgdGhhdCB3YXkgdGhv dWdoKS4gSXQncyBqdXN0IGFuIGlkZWEuDQo+IA0KPiA+ID4gSWYgd2UgYWJzb2x1dGVseSB3YW50 IGEgbWVhbiB0byBmaWx0ZXIgcmV0dXJuZWQgdmFsdWVzLCBJIHN1Z2dlc3Qgd2UgdXNlDQo+ID4g PiB0aGlzIGVudW0gaW5zdGVhZCBvZiB0aGUgbWFzayBhcmd1bWVudC4NCj4gPiA+IFNpbmNlIGl0 IHdvbid0IGJlIGEgbWFzaywgaXQgd29uJ3QNCj4gPiA+IGhhdmUgdG8gYmUgdXBkYXRlZCBldmVy eSB0aW1lIGEgbmV3IHByb3RvY29sIHJlcXVpcmVzIGV4dGVuZGluZyBvbmUuDQo+ID4NCj4gPiBO dW1iZXIgb2YgYml0cyBQVFlQRV9MMi9MMy9MNCwuLi4gbGF5ZXJzIGFyZSBhbHJlYWR5IGRlZmlu ZWQuDQo+ID4gU28gbGV0IHNheSBSVEVfUFRZUEVfTDJfTUFTSyBzaG91bGRuJ3QgY2hhbmdlIGlm IHlvdSdsbCBhZGQgbmV3IEwyIHB0eXBlIC0NCj4gPiB0aGVyZSBhcmUgZmV3IHJlc2VydmVkIHZh bHVlcyByaWdodCBub3cuDQo+ID4gaWYgb25lIGRheSB3ZSdsbCBydW4gb3V0IGJpdHMgaW4gbGV0 IHNheSBSVEVfUFRZUEVfTDJfTUFTSyAgYW5kIHdpbGwgaGF2ZSB0byBpbmNyZWFzZSBpdHMgc2l6 ZSAtDQo+ID4gaXQgd291bGQgbWVhbiBjaGFuZ2Ugb2YgdGhlIHBhY2tldF90eXBlIGxheW91dCBh bmQgcG9zc2libGUgQUJJIGJyZWFrYWdlIGFueXdheS4NCj4gDQo+IEknbSBhd2FyZSBvZiB0aGlz LCBvbmx5IHBvaW50aW5nIG91dCB3ZSB0ZW5kIHRvIHJlbHkgb24gbWFza3MgYW5kIHR5cGUNCj4g Ym91bmRhcmllcyBhIGJpdCB0b28gbXVjaCB3aGVuIHRoZXJlIGFyZSBvdGhlciBtZXRob2RzIHRo YXQgYXJlIGFzIChpZiBub3QNCj4gbW9yZSkgY29udmVuaWVudC4NCg0KWWVzLCB3ZSBkbyByZWx5 IG9uIG1hc2tzIGluIHB0eXBlLg0KVGhhdCdzIGhvdyBwdHlwZSB3YXMgZGVmaW5lZC4NCkxldCBz YXkgdG8gY2hlY2sgdGhhdCBpbmNvbWluZyBwYWNrZXQgaXMgRXRoZXIvSVB2NChubyBleHRlbnRp b25zKS9VRFAsDQp5b3UgcHJvYmFibHkgd291bGQgZG86DQoNCmlmIChtYnVmLT5wYWNrZXRfdHlw ZSAmIChSVEVfUFRZUEVfTDJfTUFTSyB8IFJURV9QVFlQRV9MM19NQVNLIHwgUlRFX1BUWVBFX0w0 X01BU0spID09DQooUlRFX1BUWVBFX0wyX0VUSEVSICB8IFJURV9QVFlQRV9MM19JUFY0IHwgIFJU RV9QVFlQRV9MNF9VRFApKSB7Li4ufQ0KDQo+IA0KPiBQZXJoYXBzIHNvbWUgc29ydCBvZiB0dW5u ZWxlZCBwYWNrZXQgdHlwZXMgYmV5b25kIGlubmVyIEw0IGNvbnN1bWluZyB0aGUNCj4gZm91ciBy ZW1haW5pbmcgYml0cyB3aWxsIGJlIGFkZGVkPyBUaGF0IGNvdWxkIGhhcHBlbiBzb29uLg0KDQpB cyBJIHNhaWQgYWJvdmU6IGRvIHlvdSBoYXZlIHBhcnRpY3VsYXIgc2NlbmFyaW8gaW4gbWluZCB3 aGVuIDMyYml0cyBmb3IgcGFja2V0X3R5cGUNCm1pZ2h0IGJlIG5vdCBlbm91Z2g/DQpJZiB5ZXMs IHRoZW4gaXQgaXMgcHJvYmFibHkgYSBnb29kIGlkZWEgdG8gc3VibWl0IGFuIFJGQyBmb3IgZXh0 ZW5kaW5nIGl0IHRvIDY0IGJpdCwNCm9yIGludHJvZHVjZSBwYWNrZXRfdHlwZTIsIG9yIHdoYXRl dmVyIHdvdWxkIGJlIHlvdXIgcHJlZmVycmVkIHdheSB0byBkZWFsIHdpdGggaXQuDQoNCktvbnN0 YW50aW4NCg0K