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 DA6041B4E1 for ; Wed, 19 Dec 2018 18:38:33 +0100 (CET) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga008.jf.intel.com ([10.7.209.65]) by orsmga103.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 19 Dec 2018 09:38:32 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.56,373,1539673200"; d="scan'208";a="102950867" Received: from fmsmsx103.amr.corp.intel.com ([10.18.124.201]) by orsmga008.jf.intel.com with ESMTP; 19 Dec 2018 09:38:32 -0800 Received: from fmsmsx111.amr.corp.intel.com (10.18.116.5) by FMSMSX103.amr.corp.intel.com (10.18.124.201) with Microsoft SMTP Server (TLS) id 14.3.408.0; Wed, 19 Dec 2018 09:38:32 -0800 Received: from fmsmsx117.amr.corp.intel.com ([169.254.3.209]) by fmsmsx111.amr.corp.intel.com ([169.254.12.61]) with mapi id 14.03.0415.000; Wed, 19 Dec 2018 09:38:32 -0800 From: "Wiles, Keith" To: Thomas Monjalon CC: "dev@dpdk.org" Thread-Topic: [dpdk-dev] [PATCH v3 1/3] dfs:add FUSE based filesystem for DPDK Thread-Index: AQHUlWdO/reySZzRC0GuxdDtx7Cfp6WDV0IAgAA2toCAA1ClAA== Date: Wed, 19 Dec 2018 17:38:31 +0000 Message-ID: References: <20181216174604.91445-1-keith.wiles@intel.com> <2437900.lBdCot2IvA@xps> <57278D80-18C5-4207-BE72-AFC61BA98419@intel.com> In-Reply-To: <57278D80-18C5-4207-BE72-AFC61BA98419@intel.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.251.157.139] Content-Type: text/plain; charset="utf-8" Content-ID: Content-Transfer-Encoding: base64 MIME-Version: 1.0 Subject: Re: [dpdk-dev] [PATCH v3 1/3] dfs:add FUSE based filesystem for DPDK 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, 19 Dec 2018 17:38:34 -0000 DQoNCj4gT24gRGVjIDE3LCAyMDE4LCBhdCA5OjAxIEFNLCBXaWxlcywgS2VpdGggPGtlaXRoLndp bGVzQGludGVsLmNvbT4gd3JvdGU6DQo+IA0KPiANCj4gDQo+PiBPbiBEZWMgMTcsIDIwMTgsIGF0 IDU6NDUgQU0sIFRob21hcyBNb25qYWxvbiA8dGhvbWFzQG1vbmphbG9uLm5ldD4gd3JvdGU6DQo+ PiANCj4+IEhpIEtlaXRoLA0KPj4gDQo+PiAxNi8xMi8yMDE4IDE4OjQ2LCBLZWl0aCBXaWxlczoN Cj4+PiBERlMgc3RhbmRzIGZvciBEUERLIEZpbGVzeXN0ZW0sIHdoaWNoIGhlbHBzIGV4cG9zZSBk YXRhDQo+Pj4gYW5kIGNvbnRyb2wgZmlsZXMgaW4gYSBGVVNFIGJhc2VkIGZpbGVzeXN0ZW0uIFRo ZSBkZnMgcmVxdWlyZXMNCj4+PiBsaWJmdXNlMyBhbmQgbGliamFuc3NvbiB0byBiZSBwcmVzZW50 IGluIHRoZSBMaW51eCBzeXN0ZW0uDQo+PiANCj4+IFlvdSBwcmVzZW50ZWQgdGhpcyBpZGVhIGF0 IHRoZSBEUERLIFN1bW1pdCBpbiBEdWJsaW4sDQo+PiBhbmQgSSBoYXZlIG5vdCBzZWVuIGFueSBw dWJsaWMgZGlzY3Vzc2lvbiBhYm91dCB0aGUgaWRlYS4NCj4+IExldCdzIHRyeSB0byBkZWJhdGUg aXQgaGVyZS4NCj4+IA0KPj4+IERGUyBwcm92aWRlcyBhIHNpbXBsaWZpZWQgQVBJIG9uIHRvcCBv ZiB0aGUgRlVTRSBBUElzIHRvDQo+Pj4gc2ltcGxpZnkgY3JlYXRpbmcgYW5kIHVzaW5nIEZVU0Uu DQo+Pj4gDQo+Pj4gSGVyZSBpcyB0aGUgZ2l0aHViIHJlcG86IGh0dHBzOi8vZ2l0aHViLmNvbS9h a2hlcm9uL2phbnNzb24NCj4+PiBIZXJlIGlzIHRoZSBnaXRodWIgcmVwbzogaHR0cHM6Ly9naXRo dWIuY29tL2xpYmZ1c2UvbGliZnVzZQ0KPj4+IA0KPj4+IFBsZWFzZSB1c2UgeW91IHN5c3RlbSB1 cGRhdGVyIHRvb2wgeXVtLCBhcHQtZ2V0LCAuLi4gdG8gYWRkDQo+Pj4gc3VwcG9ydCBmb3IgdGhl c2UgdHdvIGxpYnJhcmllcy4gQWxzbyByZWFkIHRoZSBkZnMgZG9jdW1lbnRhdGlvbg0KPj4+IGlu IHRoZSBkb2NzIGRpcmVjdG9yeSBmb3IgbW9yZSBkZXRhaWxzLg0KPj4gWy4uLl0NCj4+PiArRFBE SyBGaWxlIFN5c3RlbSAoREZTKQ0KPj4+ICs9PT09PT09PT09PT09PT09PT09PT09DQo+Pj4gKw0K Pj4+ICtUaGlzIERQREsgbGlicmFyeSBwcm92aWRlcyBhIHBzZXVkbyBmaWxlIHN5c3RlbSBtdWNo IGxpa2UgTGludXggL3Byb2Mgb3IgL3N5c3RlbQ0KPj4+ICtmaWxlIHN5c3RlbXMsIGJ1dCB0aGlz IG9uZSBpcyBhIHVzZXJzcGFjZSBmaWxlIHN5c3RlbS4gQWxsb3dpbmcgYXBwbGljYXRpb25zIHRv DQo+Pj4gK2NyZWF0ZSBhbmQgZGVzaWduIGZpbGUgc3lzdGVtIGRpcmVjdG9yaWVzIGFuZCBmaWxl cyB1c2luZyB0aGUgRlVTRSAzLjINCj4+PiAraHR0cHM6Ly9naXRodWIuY29tL2xpYmZ1c2UvbGli ZnVzZSBjb2RlLg0KPj4gDQo+PiBNeSBmaXJzdCB0aG91Z2h0IGlzIHdlIGFyZSBtaXNzaW5nIHRo ZSBwcm9ibGVtIHN0YXRlbWVudC4NCj4+IFdoYXQgYXJlIHlvdSB0cnlpbmcgdG8gc29sdmU/IFdo aWNoIHVzZSBjYXNlPw0KPiANCj4gVGhlIGlzc3VlIGlzIHdlIGRvIG5vdCBoYXZlIGEgY2xlYW4g d2F5IGZvciB1c2VycyBhbmQgZGV2ZWxvcGVycyB0byBleHRyYWN0IGluZm9ybWF0aW9uIGZyb20g RFBESyBvciB0aGUgYXBwbGljYXRpb24gZm9yIG1vbml0b3JpbmcvY29udHJvbC4gVXNpbmcgQVBJ cyBpcyBmaW5lIGZyb20gdGhlIGFwcGxpY2F0aW9uIHBlcnNwZWN0aXZlIHRvIGdldCBpbmZvcm1h dGlvbiBhbmQgc2V0IGluZm9ybWF0aW9uLCBidXQgdGhlIHVzZXIgb3IgYWRtaW4gb2YgYSBzeXN0 ZW0gZG9lcyBub3QgaGF2ZSBhY2Nlc3MgdG8gdGhvc2UgQVBJcyB3aXRob3V0IGEgZGV2ZWxvcGVy IGdpdmluZyBhY2Nlc3MgdmlhIGEgY29tbWFuZCBsaW5lIG9yIG90aGVyIG1ldGhvZC4gRWFjaCBk ZXZlbG9wZXIgY3JlYXRpbmcgYW4gYXBwbGljYXRpb24gd291bGQgaGF2ZSB0byBwcm92aWRlIHRo aXMgYmFzaWMgbGV2ZWwgb2YgaW5mb3JtYXRpb24gdmlhIHNvbWUgbWV0aG9kIGluIGEgY2xvdWQg b3IgVk5GIHN5c3RlbSB0byBhbGxvdyB0aGUgdXNlciBvciBvcmNoZXN0cmF0aW9uIGFjY2Vzcy4g VXNpbmcgREZTIHRoZSBkZXZlbG9wZXIgd291bGQgbm90IG5vcm1hbGx5IGhhdmUgdG8gd3JpdGUg dGhlIGFjY2VzcyBtZXRob2RzL2Rpc3BsYXkgaGltc2VsZiwgc2F2aW5nIGhpbSB0aW1lIHRvIGRl dmVsb3AgaGlzIGFwcGxpY2F0aW9uLg0KPiANCj4gQSBmaWxlIHN5c3RlbSBpcyB0aGUgc2ltcGxl c3QgYW5kIGVhc2llc3QgbWV0aG9kIHRvIGdldCBob3N0IGNvbW1hbmQgbGluZSBhY2Nlc3MgdG8g dGhhdCBpbmZvcm1hdGlvbi4gQ29udHJvbCBvciBpbml0aWFsaXphdGlvbiBjYW4gYWxzbyBiZSBh ZGRlZCBhdCB0aGlzIHNhbWUgc2ltcGxlIG1ldGhvZCBmb3IgRFBESyBhbmQgdGhlIGFwcGxpY2F0 aW9uLiBDdXJyZW50bHkgSSBkbyBub3QgaGF2ZSBhbnkgY29udHJvbCBzdXBwb3J0IGluIERGUyBh bmQgaXQgd291bGQgYmUgcmVhc29uYWJsZSB0byBhZGQgdGhlc2UgY29udHJvbHMgKGluIGEgbGlt aXRlZCB3YXkpIHRvIHJlbW92ZSBEUERLIGNvbW1hbmQgbGluZSBvcHRpb25zIG9yIGNtZGxpbmUg Y21kcyB3aGVuIHN0YXJ0aW5nIERQREsuIEdpdmluZyBzb21lIHJ1bnRpbWUgY29udHJvbCBpcyBi ZXR0ZXIgZm9yIHRoZSBhcHBsaWNhdGlvbiBpbiBhIGNsb3VkIG9yIE5GViBlbnZpcm9ubWVudHMu DQo+IA0KPj4gDQo+PiBJbiBEUERLLCB3ZSBoYXZlIHNvbWUgcnVuLXRpbWUgb3B0aW9ucyBhY2Nl c3NpYmxlIGZyb20gdGhlIGNvbW1hbmQgbGluZSwNCj4+IGFuZCBzb21lIHB1YmxpYyBBUEkgZnVu Y3Rpb25zLg0KPiANCj4gV2UgaGF2ZSBjbWRsaW5lIGFjY2VzcyB0byB0aGVzZSBmdW5jdGlvbnMg YW5kIGxldHMgZmFjZSBpdCBjbWRsaW5lIGlzIHZlcnkgZGlmZmljdWx0IGZvciBtb3N0IHRvIHVz ZSA6LSksIGJ1dCB3ZSBkbyBub3QgaGF2ZSBhY2Nlc3MgZnJvbSB0aGUgc3lzdGVtIGxldmVsLiBU aGUgQVBJcyBpbiBERlMgaXMgbXVjaCBlYXNpZXIgYW5kIGNsZWFuZXIgdG8gYWxsb3cgYWNjZXNz IHRvIHRoZSByZXF1aXJlZCBpbmZvcm1hdGlvbi4gVGhlIGFwcGxpY2F0aW9uIGRldmVsb3BlciBh bHNvIGNhbiB1c2UgdGhlc2UgQVBJcyB0byBleHBvc2UgdGhpcyBpbmZvcm1hdGlvbiB3aXRob3V0 IGhhdmluZyB0byBnaXZlIHNvbWUgdHlwZSBvZiBjbWRsaW5lIGFjY2Vzcy4gVGhlIGFwcGxpY2F0 aW9uIG1heSBub3Qgd2FudCBhIGNtZGxpbmUgaW50ZXJmYWNlIChvciBhbGxvd2VkIHRvIGdpdmUg Y21kbGluZSBhY2Nlc3MpLCBidXQgZG9lcyB3YW50IHRvIGdldCBhY2Nlc3MgdG8gdGhlIGluZm9y bWF0aW9uIGluIHRoZSBhcHBsaWNhdGlvbiBhbmQgRFBESy4gDQo+IA0KPiBIYXZpbmcgYWNjZXNz IHZpYSB0aGUgY29tbWFuZCBsaW5lIG9yIGJhc2ggc2hlbGwgaXMgbXVjaCBlYXNpZXIgdG8gdXNl IGFuZCBwcm92aWRlcyBzaW1wbGUgYWNjZXNzIGJ5IG90aGVyIGxhbmd1YWdlcyBsaWtlIEdvLCBQ eXRob24sIEJhc2gsIEx1YSDigKYgYW55IGxhbmd1YWdlIHRoYXQgY2FuIHJlYWQgb3Igd3JpdGUg aW50byBhIG5vcm1hbCBmaWxlc3lzdGVtLiBUaGVuIHRoZSBzeXN0ZW0gbGV2ZWwgYWRtaW5pc3Ry YXRvciBvciBhcHBsaWNhdGlvbiBkZXZlbG9wZXIgY2FuIHdyaXRlIHRvb2xzIGluIGFueSBsYW5n dWFnZSBoZSBzZWUgZml0Lg0KPiANCj4+IEkgdGhpbmsgaXQgaXMgYWdyZWVkIHRoYXQgdGhlIHBy aW1hcnkgaW50ZXJmYWNlIG11c3QgYmUgdGhlIEFQSSBmdW5jdGlvbnMuDQo+PiBUaGUgY29tbWFu ZCBsaW5lIG9wdGlvbnMgc2hvdWxkIGJlIGEgcmVzcG9uc2liaWxpdHkgb2YgdGhlIGFwcGxpY2F0 aW9uDQo+PiB0byBpbXBsZW1lbnQgdGhlbSBvciBub3QuDQo+IA0KPiBJdCBpcyBub3QgYWdyZWVk LCBjdXN0b21lcnMgSSBoYXZlIHNwb2tlIHdpdGggZG8gbm90IGFncmVlIHRoYXQgRFBESyBpbmZv cm1hdGlvbiBtdXN0IGJlIHN1cHBsaWVkIGJ5IHRoZSBhcHBsaWNhdGlvbiwgaXQgc2hvdWxkIGJl IHRoZSByZXNwb25zaWJpbGl0eSBvZiBEUERLIGluIHRoaXMgY2FzZSB0byBwcm92aWRlIHRoYXQg aW5mb3JtYXRpb24gaW4gc29tZSBlYXN5IHRvIGFjY2VzcyBtZXRob2QuIElmIHRoZSBhcHBsaWNh dGlvbiBzaWRlIHdhbnRzIHRvIHByb3ZpZGUgaW5mb3JtYXRpb24gb3IgY29udHJvbCB0aGVuIHRo ZSBkZXZlbG9wZXIgY2FuIGFsc28gdXNlIERGUyBvciBub3QuDQo+PiANCj4+IEkgdGhpbmsgZXhw b3NpbmcgYSBmaWxlc3lzdGVtIHRyZWUgaW50ZXJmYWNlIHdvdWxkIGJlIGFsc28gYW4gYXBwbGlj YXRpb24NCj4+IHJlc3BvbnNpYmlsaXR5LiBBY3R1YWxseSwgaXQgY291bGQgYmUgcGFydCBvZiBh IERQREsgYXBwbGljYXRpb24sDQo+PiBvciBiZSBydW4gYXMgYSBzZWNvbmRhcnkgcHJvY2VzcyBh cHBsaWNhdGlvbi4NCj4gDQo+IFRoZSBzZWNvbmRhcnkgcHJvY2VzcyBtZXRob2QgbWVhbnMgdGhl IHVzZXIgbXVzdCB1c2UgdGhlIHNhbWUgdmVyc2lvbiBvZiB0aGUgYXBwbGljYXRpb24gYW5kIERQ REsgdG8gYWNjZXNzIHRoZSBwcmltYXJ5IG9yIHdlIGNhbiBjcmFzaCB0aGUgc2Vjb25kYXJ5IG9y IHByaW1hcnkgYXBwbGljYXRpb24uIEl0IGlzIHZlcnkgZWFzeSB0byB1c2UgdGhlIHdyb25nIHZl cnNpb24gb2YgRFBESyBzZWNvbmRhcnkgYXBwbGljYXRpb24gYW5kIGdldCBpbnZhbGlkIGluZm9y bWF0aW9uIGFzIHRoZSBwcmltYXJ5IGlzIGRpZmZlcmVudCBpcyBzb21lIG9mZnNldCBpbiBhIHN0 cnVjdHVyZS4NCj4gDQo+IFJlbWVtYmVyIGNsb3VkIG9yIE5GViBzeXN0ZW1zIHdpbGwgaGF2ZSBh IGxhcmdlIG51bWJlciBvZiBhcHBsaWNhdGlvbnMgYW5kIHZlcnNpb25zLiBVc2luZyBhIHNlY29u ZGFyeSBwcm9jZXNzIG1vZGVsIGlzIGFsc28gYSBiaXQgb2YgYSBzZWN1cml0eSBwcm9ibGVtIGFu ZCBjYW4gY2F1c2UgdGhlIHByaW1hcnkgYXBwbGljYXRpb24gdG8gY3Jhc2ggaWYgdGhlIHNlY29u ZGFyeSBkb2VzIHNvbWV0aGluZyB3cm9uZy4gQWxzbyB0aGUgc3lzdGVtIHdvdWxkIGhhdmUgdG8g cHJvdmlkZSBhIGRpZmZlcmVudCBzZWNvbmRhcnkgYXBwbGljYXRpb24gbWF0Y2hpbmcgZXZlcnkg RFBESy9BcHBsaWNhdGlvbiBvbiB0aGUgcGxhdGZvcm0uIEhhdmluZyB0byBtYXRjaCB1cCBzZWNv bmRhcnkgYXBwbGljYXRpb25zIHRvIGVhY2ggYW5kIGV2ZXJ5IGFwcGxpY2F0aW9uIGlzIGEgbmln aHRtYXJlIGZvciB0aGUgYWRtaW4gb3IgZGV2ZWxvcGVyLg0KPiANCj4+IEl0IGlzIHByb2JhYmx5 IGEgZ29vZCBpZGVhIHRvIGltcGxlbWVudCBpdCBhcyBhIHJlYWR5LXRvLXVzZSBsaWJyYXJ5Lg0K Pj4gQXMgaXQgY2FuIGJlIGltcGxlbWVudGVkIG9uIHRvcCBvZiBEUERLIEFQSSwgSSB0aGluayBp dCBzaG91bGQgbGl2ZQ0KPj4gb3V0c2lkZSBvZiB0aGUgbWFpbiByZXBvc2l0b3J5LiBBcyBhbnkg b3RoZXIgRFBESyBhcHBsaWNhdGlvbnMsIGl0IHdpbGwNCj4+IHJlcXVpcmUgdG8gYmUgdXBkYXRl ZCB3aGVuIHRoZSBEUERLIEFQSXMgYXJlIHVwZGF0ZWQgb3IgZXh0ZW5kZWQuDQo+PiBJbiBteSBv cGluaW9uLCB3ZSBzaG91bGQgbm90IG1hbmRhdGUgRFBESyBjb250cmlidXRvcnMgdG8gdXBkYXRl IERGUw0KPj4gd2hlbiBhZGRpbmcgb3IgdXBkYXRpbmcgYW4gQVBJLiBUaGF0J3Mgd2h5IGl0IHNo b3VsZCBub3QgYmUgcGFydCBvZiB0aGUNCj4+IERQREsgcGFja2FnZS4NCj4gDQo+IFRoZSBvbmx5 IGNoYW5nZXMgZnJvbSBEUERLIGRldmVsb3BlcnMgaXMgd2hlbiBhIGNvbW1vbiBBUEkgaW4gRFBE SyBjaGFuZ2VzIGFuZCBpcyB1c2VkIGJ5IERGUy4gSXQgd291bGQgbm90IGJlIGRpZmZpY3VsdCB0 byBrZWVwIHRoZXNlIGNoYW5nZXMgdXBkYXRlZCBhcyB0aGVzZSBjaGFuZ2VzIGluIEFQSSBkbyBu b3QgaGFwcGVuIG9mdGVuLiBSZXF1aXJpbmcgdGhlIGRldmVsb3BlciBvZiBEUERLIHRvIG1haW50 YWluIHRoZSBjaGFuZ2VzIGlzIGFscmVhZHkgcmVxdWlyZWQgZm9yIG90aGVyIHBhcnRzIG9mIERQ REssIGNvcnJlY3Q/DQo+IA0KPiBNYWludGFpbmluZyBERlMgb3V0c2lkZSBvZiBEUERLIGlzIGFu IGFydGlmaWNpYWwgcmVxdWlyZW1lbnQgYXMgaXQgZG9lcyBub3QgcGxhY2VkIGFueSBtb3JlIGJ1 cmRlbiBvbiBEUERLIGRldmVsb3BlcnMgSU1PLiBJdCBkb2VzIHBsYWNlIHNvbWUgb25lIHRpbWUg d29yayBvbiB0aGUgdGVzdCBzeXN0ZW0gZm9yIERQREsgdG8gdGVzdCBERlMuIFRoZSB0ZXN0aW5n IHN5c3RlbSB3b3VsZCBuZWVkIHRvIGJ1aWxkIERQREsgd2l0aCBERlMgYW5kIHByb3ZpZGUgc29t ZSBiYXNpYyBsZXZlbCBvZiB2ZXJpZmljYXRpb24uDQo+IA0KPiBUaGUgdGVzdCBzeXN0ZW0gY2Fu IGFsc28gdXNlIERGUyBpbiBub3JtYWwgdGVzdGluZyB0byBleHRyYWN0IERQREsgaW5mb3JtYXRp b24gd2l0aG91dCBoYXZpbmcgdG8gdXNlIGV4cGVjdCBzY3JpcHRzIGFnYWluc3QgdGhlIGNtZGxp bmUgc3lzdGVtLCB3aGljaCBhcmUgdmVyeSBlcnJvciBwcm9uZSBhbmQgdGhlIHN5bnRheCBvZiB0 aGUgY29tbWFuZCBjb3VsZCBjaGFuZ2UuIElmIHRoZSB0ZXN0aW5nIHN5c3RlbSBpbiBEUERLIGRv ZXMgbm90IGRvIHRoaXMgbGV2ZWwgb2YgdGVzdGluZyBJIHRoaW5rIHdlIHNob3VsZCBiZSBhZGRp bmcgdGhhdCBsZXZlbCB0byB2ZXJpZnkgRFBESy4NCj4gDQo+PiBPbmUgbW9yZSBhcmd1bWVudCB0 byBrZWVwIGl0IG91dHNpZGU6IGZvciBkaXZlcnNpdHkgYW5kIGlubm92YXRpb24sDQo+PiBpdCBp cyBiZXR0ZXIgdG8gbm90IGVuZm9yY2Ugb25lIChuZXcpIGNvbnRyb2wgaW50ZXJmYWNlIGFzIHRo ZSBvZmZpY2lhbA0KPj4gKGFuZCBzdWdnZXN0ZWQpIG9uZSB3YXkuDQo+IA0KPiBUaGUgY3VycmVu dCBjb250cm9sIG1ldGhvZCBkb2VzIG5vdCB3b3JrIGZvciBhbGwgY2FzZXMsIGl0IHdvcmtzIG9u bHkgZm9yIHRoZSBkZXZlbG9wZXIuIFRoZSBzeXN0ZW0gYWRtaW4gb3IgdGhlIGRldmVsb3BlciBt dXN0IHJlbWVtYmVyIGNtZGxpbmUgc3ludGF4ZXMsIHdoaWNoIGFyZSBkaWZmaWN1bHQgdG8gdXNl IChMb29rIGF0IHRlc3RwbWQgOy0pLiBJbiBzb21lIGNhc2VzIHVzaW5nIGEgY29tbWFuZCBsaW5l IGJ1aWx0IGludG8gdGhlIGFwcGxpY2F0aW9uIG1heSBub3QgYmUgcmVhc29uYWJsZSBpbiBhIG5v cm1hbCBydW50aW1lIGVudmlyb25tZW50LiBBY2Nlc3NpbmcgdGhlIGZpbGVzeXN0ZW0gaXMgbm9y bWFsIGFuZCBlYXN5IGFzIGFkbWluLCBkZXZlbG9wZXIsIHVzZXIgYW5kIG9yY2hlc3RyYXRpb24g aGF2ZSBhY2Nlc3MgdG8gdGhlIGZpbGVzeXN0ZW0uDQo+IA0KPj4gDQo+PiBPbmUgbW9yZSBxdWVz dGlvbiwNCj4+IElzIHRoZXJlIHNvbWV0aGluZyBleHBvc2VkIGluIERGUyB0aGF0IGhhcyBub3Qg YSBwdWJsaWMgRFBESyBBUEk/DQo+PiBJZiBzbywgd2Ugc2hvdWxkIHRyeSBmaWxsIHRoZSBnYXBz Lg0KPiANCj4gWWVzLCBvbmx5IGEgY291cGxlIG9mIGRlYnVnIHJvdXRpbmUgcmluZyBhbmQgdGFp bHEgd2FsayByb3V0aW5lcyBJIGluY2x1ZGVkIGluIHRoZSBwYXRjaC4gSSB3YXMgbm90IGZvY3Vz ZWQgb24gYWRkaW5nIG1vcmUgQVBJcyB0byBEUERLIG1haW4gY29kZSBvbmx5IGV4cG9zaW5nIHRo ZSBpbmZvcm1hdGlvbiBpbiBEUERLIHVzaW5nIHRoZSBjdXJyZW50IEFQSXMuIERGUyBzaG91bGQg b25seSB1c2Ugc3RhbmRhcmQgRFBESyBBUElzIHRvIGV4cG9zZSBpbmZvcm1hdGlvbiB0byB0aGUg ZmlsZSBzeXN0ZW0gYW5kIHRoZSBhcHBsaWNhdGlvbiBjYW4gd3JpdGUgdmVyeSBzaW1wbGUgcm91 dGluZXMgdG8gZXhwb3NlIGFueSBvdGhlciBpbmZvcm1hdGlvbiBoZSB3YW50cyB2aWEgREZTIGZy b20gaGlzIGFwcGxpY2F0aW9uLg0KPiANCj4gVGhlIGN1cnJlbnQgZXhwb3NlZCBBUElzIGluIERG UyBhcmUganVzdCB0aGUgc2ltcGxlIHN0YXRzIGFuZCBpbmZvcm1hdGlvbiBJIGNvdWxkIGNvbGxl Y3QgZnJvbSBEUERLIHRvZGF5LCBidXQgSSBiZWxpZXZlIHdlIGNhbiBleHBvc2Ugb3RoZXIgaW5m b3JtYXRpb24gYXMgd2UgZGVmaW5lIHRoZXNlIHZlcnkgcXVpY2tseS4NCg0KRG9lcyBhbnlvbmUg aGF2ZSBjb21tZW50cyBvciByZXZpZXdzIG9uIHRoaXMgcGF0Y2g/DQoNClRoYW5rcw0KPiANCj4+ IA0KPj4gDQo+IA0KPiBSZWdhcmRzLA0KPiBLZWl0aA0KDQpSZWdhcmRzLA0KS2VpdGgNCg0K