From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by dpdk.org (Postfix) with ESMTP id 7250D4C97 for ; Wed, 28 Feb 2018 10:01:22 +0100 (CET) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga006.jf.intel.com ([10.7.209.51]) by fmsmga105.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 28 Feb 2018 01:01:20 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.47,404,1515484800"; d="scan'208";a="21655929" Received: from kmsmsx153.gar.corp.intel.com ([172.21.73.88]) by orsmga006.jf.intel.com with ESMTP; 28 Feb 2018 01:01:18 -0800 Received: from pgsmsx102.gar.corp.intel.com ([169.254.6.72]) by KMSMSX153.gar.corp.intel.com ([169.254.5.91]) with mapi id 14.03.0319.002; Wed, 28 Feb 2018 17:01:16 +0800 From: "Gujjar, Abhinandan S" To: Akhil Goyal , Jerin Jacob CC: "dev@dpdk.org" , "Vangati, Narender" , "Rao, Nikhil" , "Eads, Gage" , "hemant.agrawal@nxp.com" , "narayanaprasad.athreya@cavium.com" , "nidadavolu.murthy@cavium.com" , "nithin.dabilpuram@cavium.com" Thread-Topic: [RFC v2, 2/2] eventdev: add crypto adapter API header Thread-Index: AQHTje820XjHLBSSDk6omwDVW3/+OqOnGCiAgASaP7CAAVGhgIAJa+mAgANXjNA= Date: Wed, 28 Feb 2018 09:01:16 +0000 Message-ID: <5612CB344B05EE4F95FC5B729939F780706A30FA@PGSMSX102.gar.corp.intel.com> References: <1516013630-146114-1-git-send-email-abhinandan.gujjar@intel.com> <20180216193348.GA8882@jerin> <5612CB344B05EE4F95FC5B729939F7807069B737@PGSMSX102.gar.corp.intel.com> <20180220135920.GA23970@jerin> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ctpclassification: CTP_NT x-titus-metadata-40: eyJDYXRlZ29yeUxhYmVscyI6IiIsIk1ldGFkYXRhIjp7Im5zIjoiaHR0cDpcL1wvd3d3LnRpdHVzLmNvbVwvbnNcL0ludGVsMyIsImlkIjoiNTVkYmM4NzYtYjJjNi00YTBkLWEzNzctYjUwNWVmMGQyZTE2IiwicHJvcHMiOlt7Im4iOiJDVFBDbGFzc2lmaWNhdGlvbiIsInZhbHMiOlt7InZhbHVlIjoiQ1RQX05UIn1dfV19LCJTdWJqZWN0TGFiZWxzIjpbXSwiVE1DVmVyc2lvbiI6IjE2LjUuOS4zIiwiVHJ1c3RlZExhYmVsSGFzaCI6Ikc2Z2R6NXZ0TytXeCtqVzdFdmdMTENXR2FaN3laTjF2bjFuT09JNHhGaEE9In0= dlp-product: dlpe-windows dlp-version: 11.0.0.116 dlp-reaction: no-action x-originating-ip: [172.30.20.206] Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 Subject: Re: [dpdk-dev] [RFC v2, 2/2] eventdev: add crypto adapter API header 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: Wed, 28 Feb 2018 09:01:25 -0000 SGkgQWtoaWwsDQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogQWtoaWwg R295YWwgW21haWx0bzpha2hpbC5nb3lhbEBueHAuY29tXQ0KPiBTZW50OiBNb25kYXksIEZlYnJ1 YXJ5IDI2LCAyMDE4IDc6MjIgUE0NCj4gVG86IEplcmluIEphY29iIDxqZXJpbi5qYWNvYkBjYXZp dW1uZXR3b3Jrcy5jb20+OyBHdWpqYXIsIEFiaGluYW5kYW4gUw0KPiA8YWJoaW5hbmRhbi5ndWpq YXJAaW50ZWwuY29tPg0KPiBDYzogZGV2QGRwZGsub3JnOyBWYW5nYXRpLCBOYXJlbmRlciA8bmFy ZW5kZXIudmFuZ2F0aUBpbnRlbC5jb20+OyBSYW8sDQo+IE5pa2hpbCA8bmlraGlsLnJhb0BpbnRl bC5jb20+OyBFYWRzLCBHYWdlIDxnYWdlLmVhZHNAaW50ZWwuY29tPjsNCj4gaGVtYW50LmFncmF3 YWxAbnhwLmNvbTsgbmFyYXlhbmFwcmFzYWQuYXRocmV5YUBjYXZpdW0uY29tOw0KPiBuaWRhZGF2 b2x1Lm11cnRoeUBjYXZpdW0uY29tOyBuaXRoaW4uZGFiaWxwdXJhbUBjYXZpdW0uY29tDQo+IFN1 YmplY3Q6IFJlOiBbUkZDIHYyLCAyLzJdIGV2ZW50ZGV2OiBhZGQgY3J5cHRvIGFkYXB0ZXIgQVBJ IGhlYWRlcg0KPiANCj4gSGkgSmVyaW4vQWJoaW5hbmRhbiwNCj4gDQo+IE9uIDIvMjAvMjAxOCA3 OjI5IFBNLCBKZXJpbiBKYWNvYiB3cm90ZToNCj4gPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0t LQ0KPiA+PiBEYXRlOiBNb24sIDE5IEZlYiAyMDE4IDEwOjU1OjU4ICswMDAwDQo+ID4+IEZyb206 ICJHdWpqYXIsIEFiaGluYW5kYW4gUyIgPGFiaGluYW5kYW4uZ3VqamFyQGludGVsLmNvbT4NCj4g Pj4gVG86IEplcmluIEphY29iIDxqZXJpbi5qYWNvYkBjYXZpdW1uZXR3b3Jrcy5jb20+DQo+ID4+ IENDOiAiZGV2QGRwZGsub3JnIiA8ZGV2QGRwZGsub3JnPiwgIlZhbmdhdGksIE5hcmVuZGVyIg0K PiA+PiAgIDxuYXJlbmRlci52YW5nYXRpQGludGVsLmNvbT4sICJSYW8sIE5pa2hpbCIgPG5pa2hp bC5yYW9AaW50ZWwuY29tPiwNCj4gIkVhZHMsDQo+ID4+ICAgR2FnZSIgPGdhZ2UuZWFkc0BpbnRl bC5jb20+LCAiaGVtYW50LmFncmF3YWxAbnhwLmNvbSINCj4gPj4gICA8aGVtYW50LmFncmF3YWxA bnhwLmNvbT4sICJha2hpbC5nb3lhbEBueHAuY29tIg0KPiA8YWtoaWwuZ295YWxAbnhwLmNvbT4s DQo+ID4+ICAgIm5hcmF5YW5hcHJhc2FkLmF0aHJleWFAY2F2aXVtLmNvbSINCj4gPG5hcmF5YW5h cHJhc2FkLmF0aHJleWFAY2F2aXVtLmNvbT4sDQo+ID4+ICAgIm5pZGFkYXZvbHUubXVydGh5QGNh dml1bS5jb20iIDxuaWRhZGF2b2x1Lm11cnRoeUBjYXZpdW0uY29tPiwNCj4gPj4gICAibml0aGlu LmRhYmlscHVyYW1AY2F2aXVtLmNvbSIgPG5pdGhpbi5kYWJpbHB1cmFtQGNhdml1bS5jb20+DQo+ ID4+IFN1YmplY3Q6IFJFOiBbUkZDIHYyLCAyLzJdIGV2ZW50ZGV2OiBhZGQgY3J5cHRvIGFkYXB0 ZXIgQVBJIGhlYWRlcg0KPiA+Pg0KPiA+PiBIaSBKZXJpbiwNCj4gPg0KPiA+IEhpIEFiaGluYW5k YW4sDQo+ID4NCj4gPj4NCj4gPj4gVGhhbmtzIGZvciB0aGUgcmV2aWV3LiBQbGVhc2UgZmluZCBm ZXcgY29tbWVudHMgaW5saW5lLg0KPiA+Pg0KPiA+Pj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0t LS0NCj4gPj4+IEZyb206IEplcmluIEphY29iIFttYWlsdG86amVyaW4uamFjb2JAY2F2aXVtbmV0 d29ya3MuY29tXQ0KPiA+Pj4gU2VudDogU2F0dXJkYXksIEZlYnJ1YXJ5IDE3LCAyMDE4IDE6MDQg QU0NCj4gPj4+IFRvOiBHdWpqYXIsIEFiaGluYW5kYW4gUyA8YWJoaW5hbmRhbi5ndWpqYXJAaW50 ZWwuY29tPg0KPiA+Pj4gQ2M6IGRldkBkcGRrLm9yZzsgVmFuZ2F0aSwgTmFyZW5kZXIgPG5hcmVu ZGVyLnZhbmdhdGlAaW50ZWwuY29tPjsNCj4gPj4+IFJhbywgTmlraGlsIDxuaWtoaWwucmFvQGlu dGVsLmNvbT47IEVhZHMsIEdhZ2UNCj4gPj4+IDxnYWdlLmVhZHNAaW50ZWwuY29tPjsgaGVtYW50 LmFncmF3YWxAbnhwLmNvbTsNCj4gYWtoaWwuZ295YWxAbnhwLmNvbTsNCj4gPj4+IG5hcmF5YW5h cHJhc2FkLmF0aHJleWFAY2F2aXVtLmNvbTsgbmlkYWRhdm9sdS5tdXJ0aHlAY2F2aXVtLmNvbTsN Cj4gPj4+IG5pdGhpbi5kYWJpbHB1cmFtQGNhdml1bS5jb20NCj4gPj4+IFN1YmplY3Q6IFJlOiBb UkZDIHYyLCAyLzJdIGV2ZW50ZGV2OiBhZGQgY3J5cHRvIGFkYXB0ZXIgQVBJIGhlYWRlcg0KPiA+ Pj4NCj4gPj4+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ID4+Pj4gRGF0ZTogTW9uLCAx NSBKYW4gMjAxOCAxNjoyMzo1MCArMDUzMA0KPiA+Pj4+IEZyb206IEFiaGluYW5kYW4gR3VqamFy IDxhYmhpbmFuZGFuLmd1amphckBpbnRlbC5jb20+DQo+ID4+Pj4gVG86IGplcmluLmphY29iQGNh dml1bW5ldHdvcmtzLmNvbQ0KPiA+Pj4+IENDOiBkZXZAZHBkay5vcmcsIG5hcmVuZGVyLnZhbmdh dGlAaW50ZWwuY29tLCBBYmhpbmFuZGFuIEd1amphcg0KPiA+Pj4+IDxhYmhpbmFuZGFuLmd1amph ckBpbnRlbC5jb20+LCBOaWtoaWwgUmFvIDxuaWtoaWwucmFvQGludGVsLmNvbT4sDQo+ID4+Pj4g R2FnZSBFYWRzIDxnYWdlLmVhZHNAaW50ZWwuY29tPg0KPiA+Pj4+IFN1YmplY3Q6IFtSRkMgdjIs IDIvMl0gZXZlbnRkZXY6IGFkZCBjcnlwdG8gYWRhcHRlciBBUEkgaGVhZGVyDQo+ID4+Pj4gWC1N YWlsZXI6IGdpdC1zZW5kLWVtYWlsIDEuOS4xDQo+ID4+Pj4NCj4gPj4+PiArDQo+ID4+Pj4gKy8q Kg0KPiA+Pj4+ICsgKiBUaGlzIGFkYXB0ZXIgYWRkcyBzdXBwb3J0IHRvIGVucXVldWUgY3J5cHRv IGNvbXBsZXRpb25zIHRvIGV2ZW50DQo+IGRldmljZS4NCj4gPj4+PiArICogVGhlIHBhY2tldCBm bG93IGZyb20gY3J5cHRvZGV2IHRvIHRoZSBldmVudCBkZXZpY2UgY2FuIGJlDQo+ID4+Pj4gK2Fj Y29tcGxpc2hlZA0KPiA+Pj4+ICsgKiB1c2luZyBib3RoIFNXIGFuZCBIVyBiYXNlZCB0cmFuc2Zl ciBtZWNoYW5pc21zLg0KPiA+Pj4+ICsgKiBUaGUgYWRhcHRlciB1c2VzIGEgRUFMIHNlcnZpY2Ug Y29yZSBmdW5jdGlvbiBmb3IgU1cgYmFzZWQNCj4gPj4+PiArcGFja2V0IHRyYW5zZmVyDQo+ID4+ Pj4gKyAqIGFuZCB1c2VzIHRoZSBldmVudGRldiBQTUQgZnVuY3Rpb25zIHRvIGNvbmZpZ3VyZSBI VyBiYXNlZA0KPiA+Pj4+ICtwYWNrZXQgdHJhbnNmZXINCj4gPj4+PiArICogYmV0d2VlbiB0aGUg Y3J5cHRvZGV2IGFuZCB0aGUgZXZlbnQgZGV2aWNlLg0KPiA+Pj4+ICsgKg0KPiA+Pj4+ICsgKiBJ biB0aGUgY2FzZSBvZiBTVyBiYXNlZCB0cmFuc2ZlcnMsIGFwcGxpY2F0aW9uIGNhbiBjaG9vc2Ug dG8NCj4gPj4+PiArc3VibWl0IGENCj4gPj4+DQo+ID4+PiBJIHRoaW5rLCB3ZSBjYW4gcmVtb3Zl ICJJbiB0aGUgY2FzZSBvZiBTVyBiYXNlZCB0cmFuc2ZlcnMiIGFzIGl0DQo+ID4+PiBzaG91bGQg YmUgYXBwbGljYWJsZSBmb3IgSFcgY2FzZSB0b28NCj4gPj4gT2suIEluIHRoYXQgY2FzZSwgYWRh cHRlciB3aWxsIGRldGVjdCB0aGUgcHJlc2VuY2Ugb2YgSFcgY29ubmVjdGlvbg0KPiA+PiBiZXR3 ZWVuIGNyeXB0b2RldiAmIGV2ZW50ZGV2IGFuZCB3aWxsIG5vdCBkZXF1ZXVlIGNyeXB0byBjb21w bGV0aW9ucy4NCj4gPg0KPiA+IEkgd291bGQgc2F5IHByZXNlbmNlIG9mICJzcGVjaWZpYyBjYXBh YmlsaXR5IiBpbnN0ZWFkIG9mIEhXLg0KPiA+DQo+ID4+DQo+ID4+Pg0KPiA+Pj4+ICsgKiBjcnlw dG8gb3BlcmF0aW9uIGRpcmVjdGx5IHRvIGNyeXB0b2RldiBvciBzZW5kIGl0ICB0byB0aGUNCj4g Pj4+PiArIGNyeXB0b2Rldg0KPiA+Pj4+ICsgKiBhZGFwdGVyIHZpYSBldmVudGRldiwgdGhlIGNy eXB0b2RldiBhZGFwdGVyIHRoZW4gc3VibWl0cyB0aGUNCj4gPj4+PiArIGNyeXB0bw0KPiA+Pj4+ ICsgKiBvcGVyYXRpb24gdG8gdGhlIGNyeXB0byBkZXZpY2UuIFRoZSBmaXJzdCBtb2RlIGlzIGtu b3duIGFzIHRoZQ0KPiA+Pj4NCj4gPj4+IFRoZSBmaXJzdCBtb2RlIChERVEpIGlzIHZlcnkgY2xl YXIuIEluIHRoZSBzZWNvbmQgbW9kZShFTlFfREVRKSwNCj4gPj4+IC0gSG93IGRvZXMgIndvcmtl ciIgc3VibWl0cyB0aGUgY3J5cHRvIHdvcmsgdGhyb3VnaCBjcnlwdG8tYWRhcHRlcj8NCj4gPj4+ IElmIEkgdW5kZXJzdGFuZCBpdCBjb3JyZWN0bHksICJ3b3JrZXJzIiBhbHdheXMgZGVhbHMgd2l0 aCBvbmx5DQo+ID4+PiBjcnlwdG9kZXYncw0KPiA+Pj4gcnRlX2NyeXB0b2Rldl9lbnF1ZXVlX2J1 cnN0KCkgQVBJIGFuZCAic2VydmljZSIgZnVuY3Rpb24gaW4gY3J5cHRvDQo+ID4+PiBhZGFwdGVy IHdvdWxkIGJlIHJlc3BvbnNpYmxlIGZvciBkZXF1ZXVlKCkgZnJvbSBjcnlwdG9kZXYgYW5kIGVu cXVldWUgdG8NCj4gZXZlbnRkZXY/DQo+ID4+Pg0KPiA+Pj4gSSB1bmRlcnN0YW5kIHRoZSBuZWVk IGZvciBPUF9ORVcgdnMgT1BfRldEIG1vZGUgZGlmZmVyZW5jZSBpbiBib3RoDQo+IG1vZGVzLg0K PiA+Pj4gT3RoZXIgdGhhbiB0aGF0LCBXaGF0IG1ha2VzIEVOUV9ERVEgZGlmZmVyZW50PyBDb3Vs ZCB5b3Ugc2hhcmUgdGhlDQo+ID4+PiBmbG93IGZvciBFTlFfREVRIG1vZGUgd2l0aCBBUElzLg0K PiA+Pg0KPiA+PiAvKg0KPiA+PiBBcHBsaWNhdGlvbiBjaGFuZ2VzIGZvciBFTlFfREVRIG1vZGU6 DQo+ID4+IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0N Cj4gPj4gCS8qIEluIEVOUV9ERVEgbW9kZSwgdG8gZW5xdWV1ZSB0byBhZGFwdGVyIGFwcA0KPiA+ PiAJICogaGFzIHRvIGZpbGwgb3V0IGZvbGxvd2luZyBkZXRhaWxzLg0KPiA+PiAJICovDQo+ID4+ IAlzdHJ1Y3QgcnRlX2V2ZW50X2NyeXB0b19yZXF1ZXN0ICpyZXE7DQo+ID4+IAlzdHJ1Y3QgcnRl X2NyeXB0b19vcCAqb3AgPSBydGVfY3J5cHRvX29wX2FsbG9jKCk7DQo+ID4+DQo+ID4+IAkvKiBm aWxsIHJlcXVlc3QgaW5mbyAqLw0KPiA+PiAJcmVxID0gKHZvaWQgKikoKGNoYXIgKilvcCArIG9w LnByaXZhdGVfZGF0YV9vZmZzZXQpOw0KPiA+PiAJcmVxLT5jZGV2X2lkID0gMTsNCj4gPj4gCXJl cS0+cXVldWVfcGFpcl9pZCA9IDE7DQo+ID4+DQo+ID4+IAkvKiBmaWxsIHJlc3BvbnNlIGluZm8g Ki8NCj4gPj4gCS4uLg0KPiA+Pg0KPiA+PiAJLyogc2VuZCBldmVudCB0byBjcnlwdG8gYWRhcHRl ciAqLw0KPiA+PiAJZXYtPmV2ZW50X3B0ciA9IG9wOw0KPiA+PiAJZXYtPnF1ZXVlX2lkID0gZHN0 X2V2ZW50X3FpZDsNCj4gPj4gCWV2LT5wcmlvcml0eSA9IGRzdF9wcmlvcml0eTsNCj4gPj4gCWV2 LT5zY2hlZF90eXBlID0gZHN0X3NjaGVkX3R5cGU7DQo+ID4+IAlldi0+ZXZlbnRfdHlwZSA9IFJU RV9FVkVOVF9UWVBFX0NSWVBUT0RFVjsNCj4gPj4gCWV2LT5zdWJfZXZlbnRfdHlwZSA9IHN1Yl9l dmVudF90eXBlOw0KPiA+PiAJZXYtPmZsb3dfaWQgPSBkc3RfZmxvd19pZDsNCj4gPj4gCXJldCA9 IHJ0ZV9ldmVudF9lbnF1ZXVlX2J1cnN0KGV2ZW50X2Rldl9pZCwgZXZlbnRfcG9ydF9pZCwgZXYs IDEpOw0KPiA+Pg0KPiA+Pg0KPiA+PiBBZGFwdGVyIGluIEVOUV9ERVEgbW9kZSwgc3VibWl0dGlu ZyBjcnlwdG8gb3BzIHRvIGNyeXB0b2RldjoNCj4gPj4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCj4g Pj4gCW4gPSBydGVfZXZlbnRfZGVxdWV1ZV9idXJzdChldmVudF9kZXZfaWQsIGV2ZW50X3BvcnRf aWQsIGV2LA0KPiBCQVRDSF9TSVpFLCB0aW1lX291dCk7DQo+ID4+IAlzdHJ1Y3QgcnRlX2NyeXB0 b19vcCAqb3AgPSBldi0+ZXZlbnRfcHRyOw0KPiA+PiAJc3RydWN0IHJ0ZV9ldmVudF9jcnlwdG9f cmVxdWVzdCAqcmVxID0gKHZvaWQgKilvcCArDQo+IG9wLnByaXZhdGVfZGF0YV9vZmZzZXQ7DQo+ ID4+IAljZGV2X2lkID0gcmVxLT5jZGV2X2lkOw0KPiA+PiAJcXBfaWQgPSByZXEtPnF1ZXVlX3Bh aXJfaWQNCj4gPj4NCj4gPj4gCXJldCA9IHJ0ZV9jcnlwdG9kZXZfZW5xdWV1ZV9idXJzdChjZGV2 X2lkLCBxcF9pZCwgb3AsIDEpOw0KPiA+DQo+ID4gVGhpcyBtb2RlIHdvbnQgd29yayBmb3IgdGhl IEhXIGltcGxlbWVudGF0aW9ucyB0aGF0IEkga25vdy4gQXMgaW4gSFcNCj4gPiBpbXBsZW1lbnRh dGlvbnMsIFRoZSBBZGFwdGVyIGlzIGVtYmVkZGVkIGluIEhXLg0KPiA+IFRoZSBERVEgbW9kZSB3 b3Jrcy4gQnV0LCBUaGlzIHdvdWxkIGNhbGwgZm9yIHRvIGhhdmUgdHdvIHNlcGFyYXRlDQo+ID4g YXBwbGljYXRpb24gbG9naWMgZm9yIERFUSBhbmQgRU5RX0RFUSBtb2RlLg0KPiA+IEkgdGhpbmss IGl0IGlzIHVuYXZvaWRhYmxlIGFzIFNXIHNjaGVtZSBoYXMgYmV0dGVyIHBlcmZvcm1hbmNlIHdp dGggRU5RX0RFUQ0KPiBNT0RFLg0KPiA+DQo+ID4gSWYgeW91IHRoaW5rLCB0aGVyZSBpcyBubyBv cHRpb24gb3RoZXIgdGhhbiBpbnRyb2R1Y2luZyBhIGNhcGFiaWxpdHkNCj4gPiBpbiBhZGFwdGVy IHRoZW4gcGxlYXNlIGNyZWF0ZSBjYXBhYmlsaXR5IGluIFJ4IGFkYXB0ZXIgdG8gaW5mb3JtIHRo ZQ0KPiA+IGFkYXB0ZXIgY2FwYWJpbGl0eSB0byB0aGUgYXBwbGljYXRpb24uDQo+ID4NCj4gPiBE byB3ZSB0aGluaywgaXQgcG9zc2libGUgdG8gaGF2ZSBzY2hlbWUgd2l0aCBFTlFfREVRIG1vZGUs IFdoZXJlDQo+ID4gYXBwbGljYXRpb24gc3RpbGwgZW5xdWV1ZSB0byBjcnlwdG9kZXYgbGlrZSBE RVEgbW9kZSBidXQgdXNpbmcNCj4gPiBjcnlwdG9kZXYuIGllLiBBZGFwdGVyIHBhdGNoZXMgdGhl IGNyeXB0b2RldiBkZXYtPmVucXVldWVfYnVyc3QoKSB0bw0KPiA+ICJldmVudGRldiBlbnF1ZXVl IGJ1cnN0IiBmb2xsb3dlZCBieSAiZXhpdGluZyBkZXYtPmVucXVldWVfYnVyc3QiLg0KPiA+IFNv bWV0aGluZyBsaWtlIGV4aXRpbmcgZXRoZGV2IHJ4X2J1cnN0IGNhbGxiYWNrIHNjaGVtZS4NCj4g PiBUaGlzIHdpbGwgZW5hYmxlIGFwcGxpY2F0aW9uIHRvIGhhdmUgdW5pZmllZCBmbG93IElNTy4N Cj4gPg0KPiA+IEFueSB0aG91Z2h0cyBmcm9tIE5YUCBmb2xrcz8NCj4gDQo+IEkgc2VlIHRoYXQg dGhlcmUgaXMgcGVyZm9ybWFuY2UgZ2FpbiBpbiBzdyBzaWRlIHdoaWxlIHVzaW5nIEVOUV9ERVEg bW9kZS4gQnV0DQo+IHNpbmNlIHdlIGFscmVhZHkgaGF2ZSBtYW55IG1vZGVzIGluIHRoZSBhcHBs aWNhdGlvbiBhbHJlYWR5LCBjYW4gd2UgbWFrZSB0aGlzDQo+IG9uZSB3aXRoIHNvbWUgY2FsbGJh Y2sgdG8gY3J5cHRvZGV2Lg0KPiANCj4gU28gdGhlIGFwcGxpY2F0aW9uIGNhbiBjYWxsIHRoZSBy dGVfY3J5cHRvZGV2X2VucXVldWVfYnVyc3QoKSBhcyBpdCBpcyBkb2luZywgYW5kDQo+IGlmIHRo ZSBFTlFfREVRIG1vZGUgaXMgc3VwcG9ydGVkIGJ5IHRoZSB1bmRlcm5lYXRoIGltcGxlbWVudGF0 aW9uIHRoZW4sIGl0DQo+IGNhbiByZWdpc3RlciBhIGNhbGxiYWNrIHRvIHRoZSBpbXBsZW1lbnRh dGlvbiB0aGF0IGlzIHJlcXVpcmVkIGluIHRoZSBkcml2ZXIgbGF5ZXINCj4gaXRzZWxmLg0KSW4g RU5RLURFUSBtb2RlLCBjcnlwdG8gcmVxdWVzdCBhcmUgc2VudCB0aHJvdWdoIHRoZSBldmVudGRl di4NCldpdGggeW91ciBwcm9wb3NhbCwgaXQgaXMgbm90IGNsZWFyIGhvdyBjcnlwdG8gcmVxdWVz dCBjYW4gYmUgaGlkZGVuIHVuZGVyIHJ0ZV9jcnlwdG9kZXZfZW5xdWV1ZV9idXJzdCgpIQ0KQ2Fu IHlvdSBwbGVhc2Ugc2hhcmUgZmxvdyBkaWFncmFtIG9yIHBzZXVkbyBjb2RlPw0KDQotQWJoaW5h bmRhbg0KDQo+IA0KPiBJbiB0aGlzIHdheSwgdGhlIGFwcGxpY2F0aW9uIHdpbGwgYmVjb21lIGxl c3MgY29tcGxleCBhcyBjb21wYXJlZCB0byB0aGUNCj4gMiBwYXJhbGxlbCBpbXBsZW1lbnRhdGlv bnMgZm9yIFNXIGFuZCBIVy4gSXQgd2lsbCBhbHNvIGdpdmUgbW9yZSBmbGV4aWJpbGl0eSB0byB0 aGUNCj4gZHJpdmVyIGltcGxlbWVudGF0aW9uIGFzIHdlbGwuDQo+IA0KPiAtQWtoaWwNCj4gPg0K PiA+PiAqLw0KPiA+Pj4NCj4gPj4+PiArICogZGVxdWV1ZSBvbmx5IChERVEpIG1vZGUgIGFuZCB0 aGUgc2Vjb25kIGFzIHRoZSBlbnF1ZXVlIC0NCj4gPj4+PiArIGRlcXVldWUNCj4gPj4+DQo+ID4+ PiBleHRyYSBzcGFjZSBiZXR3ZWVuICJtb2RlIiBhbmQgImFuZCINCj4gPj4gT2sNCj4gPj4+DQo+ ID4+Pj4gKyAqIChFTlFfREVRKSBtb2RlLiBUaGUgY2hvaWNlIG9mIG1vZGUgY2FuIGJlIHNwZWNp ZmllZCB3aGVuDQo+ID4+Pj4gKyBjcmVhdGluZw0KPiA+Pj4+ICsgKiB0aGUgYWRhcHRlci4NCj4g Pj4+PiArICogSW4gdGhlIGxhdHRlciBjaG9pY2UsIHRoZSBjcnlwdG9kZXYgYWRhcHRlciBpcyBh YmxlIHRvIHVzZQ0KPiA+Pj4+ICsgKiBSVEVfT1BfRk9SV0FSRCBhcyB0aGUgZXZlbnQgZGV2IGVu cXVldWUgdHlwZSwgdGhpcyBoYXMgYQ0KPiA+Pj4+ICsgcGVyZm9ybWFuY2UNCj4gPj4+PiArICog YWR2YW50YWdlIGluICJjbG9zZWQgc3lzdGVtIiBldmVudGRldnMgbGlrZSB0aGUgZXZlbnRkZXYg U1cgUE1EDQo+ID4+Pj4gKyBhbmQNCj4gPj4+DQo+ID4NCg0K