From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <reshma.pattan@intel.com>
Received: from mga01.intel.com (mga01.intel.com [192.55.52.88])
 by dpdk.org (Postfix) with ESMTP id 21FD87E79
 for <dev@dpdk.org>; Fri, 17 Oct 2014 11:36:58 +0200 (CEST)
Received: from fmsmga003.fm.intel.com ([10.253.24.29])
 by fmsmga101.fm.intel.com with ESMTP; 17 Oct 2014 02:44:52 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="4.97,862,1389772800"; 
 d="scan'208,217";a="401737710"
Received: from irsmsx101.ger.corp.intel.com ([163.33.3.153])
 by FMSMGA003.fm.intel.com with ESMTP; 17 Oct 2014 02:37:30 -0700
Received: from irsmsx105.ger.corp.intel.com (163.33.3.28) by
 IRSMSX101.ger.corp.intel.com (163.33.3.153) with Microsoft SMTP Server (TLS)
 id 14.3.195.1; Fri, 17 Oct 2014 10:44:50 +0100
Received: from irsmsx109.ger.corp.intel.com ([169.254.13.253]) by
 IRSMSX105.ger.corp.intel.com ([169.254.7.174]) with mapi id 14.03.0195.001;
 Fri, 17 Oct 2014 10:44:49 +0100
From: "Pattan, Reshma" <reshma.pattan@intel.com>
To: Jay Rolette <rolette@infiniteio.com>
Thread-Topic: [dpdk-dev] [PATCH RFC] librte_reorder: new reorder library
Thread-Index: AQHP4/OZU+RTHixTRkWECYEECGuHbJw0Ei8w
Date: Fri, 17 Oct 2014 09:44:49 +0000
Message-ID: <3AEA2BF9852C6F48A459DA490692831FE240FC@IRSMSX109.ger.corp.intel.com>
References: <3AEA2BF9852C6F48A459DA490692831FE21954@IRSMSX109.ger.corp.intel.com>
 <CADNuJVpwfiC2x3joDnkgUX=fpEMe2MAS46ozkvojsaKy0=UGZA@mail.gmail.com>
In-Reply-To: <CADNuJVpwfiC2x3joDnkgUX=fpEMe2MAS46ozkvojsaKy0=UGZA@mail.gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [163.33.239.182]
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
X-Content-Filtered-By: Mailman/MimeDel 2.1.15
Cc: "dev@dpdk.org" <dev@dpdk.org>
Subject: Re: [dpdk-dev] [PATCH RFC] librte_reorder: new reorder library
X-BeenThere: dev@dpdk.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: patches and discussions about DPDK <dev.dpdk.org>
List-Unsubscribe: <http://dpdk.org/ml/options/dev>,
 <mailto:dev-request@dpdk.org?subject=unsubscribe>
List-Archive: <http://dpdk.org/ml/archives/dev/>
List-Post: <mailto:dev@dpdk.org>
List-Help: <mailto:dev-request@dpdk.org?subject=help>
List-Subscribe: <http://dpdk.org/ml/listinfo/dev>,
 <mailto:dev-request@dpdk.org?subject=subscribe>
X-List-Received-Date: Fri, 17 Oct 2014 09:37:00 -0000

SGkgSmF5LA0KDQpQbGVhc2UgZmluZCBjb21tZW50cyBpbmxpbmUuDQoNClRoYW5rcywNClJlc2ht
YQ0KDQpGcm9tOiBKYXkgUm9sZXR0ZSBbbWFpbHRvOnJvbGV0dGVAaW5maW5pdGVpby5jb21dDQpT
ZW50OiBUaHVyc2RheSwgT2N0b2JlciA5LCAyMDE0IDg6MDIgUE0NClRvOiBQYXR0YW4sIFJlc2ht
YQ0KQ2M6IGRldkBkcGRrLm9yZw0KU3ViamVjdDogUmU6IFtkcGRrLWRldl0gW1BBVENIIFJGQ10g
bGlicnRlX3Jlb3JkZXI6IG5ldyByZW9yZGVyIGxpYnJhcnkNCg0KSGkgUmVzaG1hLA0KDQpBIGZl
dyBjb21tZW50cyBhbmQgcXVlc3Rpb25zIGFib3V0IHlvdXIgZGVzaWduLi4uDQoNCjEpIEhvdyBk
byB5b3UgZW52aXNpb24gdGhlIHJlb3JkZXIgbGlicmFyeSB0byBiZSB1c2VkPyBCYXNlZCBvbiB0
aGUgZGVzY3JpcHRpb24sIGl0IHNlZW1zIGxpa2UgdGhlIGV4cGVjdGF0aW9uIGlzIHRoYXQgcGFj
a2V0IG9yZGVyIHdvdWxkIGJlIG1haW50YWluZWQgYXQgZWl0aGVyIHRoZSBpbnRlcmZhY2UvcG9y
dCBsZXZlbCBvciBtYXliZSBhdCB0aGUgUlggcXVldWUgbGV2ZWwuIElzIHRoYXQgcmlnaHQgb3Ig
YW0gSSByZWFkaW5nIHRvbyBtdWNoIGJldHdlZW4gdGhlIGxpbmVzPw0KDQpGb3IgbXkgcHVycG9z
ZXMgKGFuZCBmb3IgbmV0d29yayBzZWN1cml0eSBwcm9kdWN0cyBJJ3ZlIGRldmVsb3BlZCBpbiB0
aGUgcGFzdCksIEkgbW9zdGx5IGRvbid0IGNhcmUgYWJvdXQgYm94IG9yIHBvcnQtbGV2ZWwgb3Jk
ZXIuIFRoZSBtb3N0IGltcG9ydGFudCB0aGluZyBpcyB0byBtYWludGFpbiBwYWNrZXQgb3JkZXIg
d2l0aGluIGEgZmxvdy4gUmVsYXRpdmUgb3JkZXIgZnJvbSBwYWNrZXRzIGluIGRpZmZlcmVudCBm
bG93cyBkb2Vzbid0IG1hdHRlci4gSWYgdGhlcmUgaXMgYSB3YXkgSSBjYW4gcHJvY2VzcyBwYWNr
ZXRzIGluIHBhcmFsbGVsIGFuZCB0cmFuc21pdCBvdXQtb2Ytb3JkZXIgdHJhbnNtaXNzaW9uICp3
aXRoaW4gdGhlIGZsb3cqLCB0aGF0J3MgdmVyeSB1c2VmdWwuIEFyY2hpdGVjdHVyYWxseSwgaXQg
aGVscHMgYXZvaWQgaG90LXNwb3R0aW5nIGluIG15IHBhY2tldCBwcm9jZXNzaW5nIHBpcGVsaW5l
IGFuZCB3YXN0aW5nIGN5Y2xlcyB3aGVuIGxvYWQtYmFsYW5jaW5nIGlzbid0IHBlcmZlY3QgKGFu
ZCBpdCBuZXZlciBpcykuDQpbUmVzaG1hXTogR2VuZXJpYyBwYXJhbGxlbCBwcm9jZXNzaW5nIG9m
IHBhY2tldHMgaXMgcGxhbm5lZCBpbiBwaGFzZTIgdmVyc2lvbiBvZiBkaXN0cmlidXRvciBiYXNl
ZCBvbiBzZXF1ZW5jZSBudW1iZXJzLCBidXQgbm90IGZsb3cgYmFzZWQgIHBhcmFsbGVsIHByb2Nl
c3NpbmcuDQoNCjIpIElmIHRoZSByZW9yZGVyIGxpYnJhcnkgaXMgImZsb3cgYXdhcmUiLCB0aGVu
IGdpdmUgbWUgZmxleGliaWxpdHkgb24gZGVjaWRpbmcgd2hhdCBhIGZsb3cgaXMuIExldCBtZSBk
ZWZpbmUgcHNldWRvLWZsb3dzIGV2ZW4gaWYgdGhlIHByb3RvY29sIGl0c2VsZiBpc24ndCBjb25u
ZWN0aW9uIG9yaWVudGVkIChpZS4sIGZyZXF1ZW50bHkgdXNlZnVsIHRvIHRyZWF0IFVEUCA1LXR1
cGxlcyBhcyBhIGZsb3cpLiBJIG1heSB3YW50IHRvIGluY2x1ZGUgdHVubmVscy9WTEFOcy9ldGMu
IGFzIHBhcnQgb2YgbXkgImZsb3ciIGRlZmluaXRpb24uIEkgbWF5IG5lZWQgdG8gaW5jbHVkZSB0
aGUgcGh5c2ljYWwgcG9ydCBhcyBwYXJ0IG9mIHRoZSBmbG93IGRlZmluaXRpb24uDQoNCklkZWFs
bHksIHRoZSBsaWJyYXJ5IGluY2x1ZGVzIHRoZSBjb21tb24gY2FzZXMgYW5kIGdpdmVzIG1lIHRo
ZSBvcHRpb24gdG8gcmVnaXN0ZXIgYSBjYWxsYmFjayBmdW5jdGlvbiBmb3IgZG9pbmcgd2hhdGV2
ZXIgc29ydCBvZiAiZmxvd3MiIEkgcmVxdWlyZSBmb3IgbXkgYXBwLg0KW1Jlc2htYV06SXQgaXMg
bm90IGZsb3cgYXdhcmUuIEJ1dCB0byByZW9yZGVyIHBhY2tldHMgb2YgcGFydGljdWxhciBmbG93
LCB5b3UgY2FuIGhhbmRvdmVyIHBhcnRpY3VsYXIgZmxvdyB0byB0aGUgbGlicmFyeSBhbmQgbGli
cmFyeSB3aWxsIGdpdmUgeW91IGJhY2sgdGhlIHJlb3JkZXJlZCBkYXRhLg0KDQozKSBJcyB0aGVy
ZSBhIHdheSB0byBhcHBseSB0aGUgcmVvcmRlciBsaWJyYXJ5IHRvIHNvbWUgcGFja2V0cyBhbmQg
bm90IG90aGVycz8gSSBtaWdodCB3YW50IHRvIHVzZSBmb3IgVENQIGFuZCBVRFAsIGJ1dCBub3Qg
Y2FyZSBhYm91dCBvcmRlciBmb3Igb3RoZXIgSVAgdHJhZmZpYyAoZm9yIGV4YW1wbGUpLg0KW1Jl
c2htYV06Tm8sIHJlb3JkZXIgbGlicmFyeSB3aWxsIG5vdCBoYXZlIGludGVsbGlnZW5jZSBhYm91
dCAgdHJhZmZpYyB0eXBlIChpLmUuIGZsb3cgb3IgcHJvdG9jb2xzIGJhc2VkKS4NCkFwcGxpY2F0
aW9ucyBjYW4gZG8gIHRyYWZmaWMgIHNwbGl0dGluZyBpbnRvIGZsb3dzIG9yICBwcm90b2NvbCBi
YXNlZCBhbmQgIGhhbmRvdmVyIHRvIGxpYnJhcnkgZm9yIHJlb3JkZXJpbmcNCg0KNCkgSG93IGFy
ZSB5b3UgZGVhbGluZyB3aXRoIGludGVybmFsIGNvbmdlc3Rpb24/IElmIEkgZHJvcCBhIHBhY2tl
dCBzb21ld2hlcmUgaW4gbXkgcHJvY2Vzc2luZyBwaXBlbGluZSwgaG93IGRvZXMgdGhlIFRYIHNp
ZGUgb2YgdGhlIHJlb3JkZXIgcXVldWUvYnVmZmVyIGRlYWwgd2l0aCB0aGUgbWlzc2luZyBzZXF1
ZW5jZSBudW1iZXI/IElzIHRoZXJlIHNvbWUgc29ydCBvZiB0aW1lb3V0IG1lY2hhbmlzbSBzbyB0
aGF0IGl0IHdpbGwgb25seSB3YWl0IGZvciBYIG1pY3Jvc2Vjb25kcyBmb3IgYSBtaXNzaW5nIHNl
cXVlbmNlIG51bWJlcj8NCltSZXNobWFdOiBMaWJyYXJ5IGp1c3QgdGFrZXMgY2FyZSBvZiBwYWNr
ZXRzIHdoYXQgaXQgaGFzICBnb3QuIE5vIHdhaXRpbmcgbWVjaGFuaXNtIGlzIHVzZWQgZm9yIG1p
c3NpbmcgcGFja2V0cy4NClJlb3JkZXIgcHJvY2Vzc2luZyB3aWxsIHNraXAgdGhlIGRyb3BwZWQg
cGFja2V0cyhpLmUuIHdpbGwgY3JlYXRlIGEgZ2FwIGluIHJlb3JkZXIgYnVmZmVyKSBhbmQgcHJv
Y2VlZCB3aXRoIGFsbG9jYXRpb24gb2Ygc2xvdCB0byB0aGUgbGF0ZXIgcGFja2V0cyB3aGljaCBh
cmUgYXZhaWxhYmxlLg0KDQpOZWVkIHRoZSBhYmlsaXR5IHRvIGJvdW5kIGhvdyBsb25nIHBhY2tl
dHMgYXJlIGhlbGQgdXAgaW4gdGhlIHJlb3JkZXIgZW5naW5lIGJlZm9yZSB0aGV5IGFyZSByZWxl
YXNlZC4NCltSZXNobWFdOiBUaGlzIGlzIGRlcGVuZGVudCB1cG9uIGhvdyBmcmVxdWVudGx5IHBh
Y2tldHMgYXJlIGVucXVldWVkIGFuZCBkZXF1ZXVlZCBmcm9tIGl0LiBQYWNrZXRzIHdoaWNoIGFy
ZSBpbiBvcmRlciBhbmQgd2l0aG91dCBnYXBzIGFyZSBkZXF1ZXVlZCBhdCB0aGUgbmV4dCBjYWxs
IHRvIHRoZSBkZXF1ZXVlIGFwaS4gSWYgdGhlcmUgaXMgYSBnYXAsIHRoZSB0aW1lIHRha2VuIHRv
IHNraXAgb3ZlciB0aGUgZ2FwIHdpbGwgZGVwZW5kIG9uIHRoZSBzaXplIG9mIHRoZSByZW9yZGVy
IHJpbmcuDQoNCkFzc3VtaW5nIHlvdSBhZGRyZXNzIHRoaXMsIHRoZSByZW9yZGVyIGVuZ2luZSB3
aWxsIGFsc28gbmVlZCB0byBkZWFsIHdpdGggc2xvdyBwYWNrZXRzIHRoYXQgc2hvdyB1cCBhZnRl
ciAibGF0ZXIiIHBhY2tldHMgd2VyZSB0cmFuc21pdHRlZC4NCltSZXNobWFdOiBBcyBvZiBub3cs
IHBsYW4gaXMgdG8gY2hlY2sgc2VxdWVuY2UgbnVtYmVyIG9mIGN1cnJlbnQgcGFja2V0IHRoYXQg
bGlicmFyeSBoYXMgZ290IHdpdGggdGhlIG1pbiBzZXF1ZW5jZSBudW1iZXIgbWFpbnRhaW5lZCBp
biB0aGUgbGlicmFyeS4NClRoZSBkaWZmZXJlbmNlIGJldHdlZW4gdGhlbSBzaG91bGQgbm90IGNy
b3NzIDIqcmVvcmRlcl9idWZmZXJfc2l6ZSAuIElmIHNvIHdlIGRvbuKAmXQgaGFuZGxlIHN1Y2gg
cGFja2V0IGFuZCBkcm9wIGl0Lg0KQnV0LCB3ZSBhcmUgb3BlbiB0byBzdWdnZXN0aW9ucyBvbiBo
b3cgdG8gaGFuZGxlIGxhdGUgcGFja2V0cz8gU2hvdWxkIHdlIGhhdmUgY29uZmlnIG9wdGlvbiB0
byBkcm9wIHRoZW0gb3IganVzdCBkZXF1ZSB0aGVtIGluIG5leHQgaW1tZWRpYXRlIGRlcXVldWUg
b3BlcmF0aW9uLg0KDQpSZWdhcmRzLA0KSmF5DQoNCg0KT24gVHVlLCBPY3QgNywgMjAxNCBhdCA0
OjMzIEFNLCBQYXR0YW4sIFJlc2htYSA8cmVzaG1hLnBhdHRhbkBpbnRlbC5jb208bWFpbHRvOnJl
c2htYS5wYXR0YW5AaW50ZWwuY29tPj4gd3JvdGU6DQpIaSBBbGwsDQoNCkkgYW0gcGxhbm5pbmcg
IHRvIGltcGxlbWVudCBwYWNrZXQgcmVvcmRlciBsaWJyYXJ5LiBEZXRhaWxzIGFyZSBhcyBiZWxv
dywgcGxlYXNlIGdvIHRocm91Z2ggdGhlbSBhbmQgcHJvdmlkZSB0aGUgY29tbWVudHMuDQoNClJl
cXVpcmVtZW50Og0KICAgICAgICAgICAgICAgVG8gcmVvcmRlciBvdXQgb2Ygb3JkZXJlZCBwYWNr
ZXRzIHRoYXQgYXJlIHJlY2VpdmVkIGZyb20gZGlmZmVyZW50IGNvcmVzLg0KDQpVc2FnZToNClRv
IGJlIHVzZWQgYWxvbmcgd2l0aCBkaXN0cmlidXRvciBsaWJyYXJ5LiBOZXh0IHZlcnNpb24gb2Yg
ZGlzdHJpYnV0b3IgYXJlIHBsYW5uZWQgdG8gZGlzdHJpYnV0ZSBpbmNvbWluZyBwYWNrZXRzIHRv
IGFsbCB3b3JrZXIgY29yZXMgaXJyZXNwZWN0aXZlIG9mIHRoZSBmbG93IHR5cGUuDQpJbiB0aGlz
IGNhc2UgdG8gZW5zdXJlIGluIG9yZGVyIGRlbGl2ZXJ5IG9mIHRoZSBwYWNrZXRzIGF0IG91dHB1
dCBzaWRlIHJlb3JkZXIgbGlicmFyeSB3aWxsIHVzZWQgYnkgdGhlIHR4IGVuZC4NCg0KQXNzdW1w
dGlvbjoNCkFsbCBpbnB1dCBwYWNrZXRzIHdpbGwgYmUgbWFya2VkIHdpdGggc2VxdWVuY2UgbnVt
YmVyIGluIHNlcW4gZmllbGQgb2YgbWJ1ZiwgdGhpcyB3aWxsIGJlIHRoZSByZWZlcmVuY2UgZm9y
IHJlb3JkZXJpbmcgYXQgdGhlIHR4IGVuZC4NClNlcXVlbmNlIG51bWJlciB3aWxsIGJlIG9mIHR5
cGUgdWludDMyX3QuIE5ldyBzZXF1ZW5jZSBudW1iZXIgZmllbGQgc2VxbiB3aWxsIGJlIGFkZGVk
IHRvIG1idWYgc3RydWN0dXJlLg0KDQpEZXNpZ246DQphKVRoZXJlIHdpbGwgYmUgcmVvcmRlciBi
dWZmZXIoY2lyY3VsYXIgYnVmZmVyKSBzdHJ1Y3R1cmUgbWFpbnRhaW5lZCBpbiByZW9yZGVyIGxp
YnJhcnkgdG8gc3RvcmUgcmVvcmRlcmVkIHBhY2tldHMgYW5kIG90aGVyIGRldGFpbHMgb2YgYnVm
ZmVyIGxpa2UgaGVhZCB0byBkcmFpbiB0aGUgcGFja2V0IGZyb20sIG1pbiBzZXF1ZW5jZSBudW1i
ZXIgYW5kIG90aGVyIGRldGFpbHMuDQogICAgICAgICAgICAgICBiKUxpYnJhcnkgd2lsbCBwcm92
aWRlIGluc2VydCBhbmQgZHJhaW4gZnVuY3Rpb25zIHRvIHJlb3JkZXIgYW5kIGZldGNoIG91dCB0
aGUgcmVvcmRlcmVkIHBhY2tldHMgcmVzcGVjdGl2ZWx5Lg0KYylVc2VycyBvZiBsaWJyYXJ5IHNo
b3VsZCBwYXNzIHRoZSBwYWNrZXRzIHRvIGluc2VydCBmdW5jdGlvbnMgZm9yIHJlb3JkZXJpbmcu
DQoNCkluc2VydGlvbiBsb2dpYzoNClNlcXVlbmNlIG51bWJlciBvZiBjdXJyZW50IHBhY2tldCB3
aWxsIGJlIHVzZWQgdG8gY2FsY3VsYXRlIG9mZnNldCBpbiByZW9yZGVyIGJ1ZmZlciBhbmQgd3Jp
dGUgcGFja2V0IHRvIHRoZSBsb2NhdGlvbiAgaW4gdGhlIHJlb3JkZXIgYnVmZmVyIGNvcnJlc3Bv
bmRpbmcgdG8gb2Zmc2V0Lg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICBPZmZzZXQgaXMg
Y2FsY3VsYXRlZCBhcyBkaWZmZXJlbmNlIG9mIGN1cnJlbnQgcGFja2V0ICBzZXF1ZW5jZSBudW1i
ZXIgYW5kIHNlcXVlbmNlIG51bWJlciBhc3NvY2lhdGVkIHdpdGggIHJlb3JkZXIgYnVmZmVyLg0K
DQpEdXJpbmcgc2VxdWVuY2UgbnVtYmVyIHdyYXBwaW5nIG9yIHdyYXBwaW5nIG92ZXIgb2YgcmVv
cmRlciBidWZmZXIgc2l6ZSwgYmVmb3JlIGluc2VydGluZyB0aGUgbmV3IHBhY2tldCB3ZSBzaG91
bGQgbW92ZSBvZmZzZXQgbnVtYmVyIG9mIHBhY2tldHMgdG8gb3RoZXIgYnVmZmVyIGNhbGxlZCBv
dmVyZmxvdyBidWZmZXIgYW5kIGFkdmFuY2UgdGhlIGhlYWQgb2YgcmVvcmRlciBidWZmZXIgYnkg
Im9mZnNldC1yZW9yZGVyIGJ1ZmZlciBzaXplIiBhbmQgaW5zZXJ0IHRoZSBuZXcgcGFja2V0Lg0K
DQpJbnNlcnQgZnVuY3Rpb246DQppbnQgcnRlX3Jlb3JkZXJfaW5zZXJ0KHN0cnVjdCBydGVfcmVv
cmRlcl9idWZmZXIgKmJ1ZmZlciwgc3RydWN0IHJ0ZV9tYnVmICptYnVmKTsNCk5vdGU6IE90aGVy
IGluc2VydCBmdW5jdGlvbiBpcyBhbHNvIHVuZGVyIHBsYW4gdG8gaW5zZXJ0IGJ1cnN0IG9mIHBh
Y2tldHMuDQoNCiAgICAgICAgICAgICAgIFJlb3JkZXIgYnVmZmVyOg0Kc3RydWN0IHJ0ZV9yZW9y
ZGVyX2J1ZmZlciB7DQogICAgICAgIHVuc2lnbmVkIGludCBzaXplOyAgICAgIC8qIFRoZSBzaXpl
IChudW1iZXIgb2YgZW50cmllcykgb2YgdGhlIGJ1ZmZlci4gKi8NCiAgICAgICAgdW5zaWduZWQg
aW50IG1hc2s7ICAgICAgLyogTWFzayAoc2l6ZSAtIDEpIG9mIHRoZSBidWZmZXIgKi8NCiAgICAg
ICAgdW5zaWduZWQgaW50IGhlYWQ7ICAgICAgLyogQ3VycmVudCBoZWFkIG9mIGJ1ZmZlciAqLw0K
ICAgICAgICB1aW50MzJfdCBtaW5fc2VxbjsgICAgICAvKiBsYXRlc3Qgc2VxdWVuY2UgbnVtYmVy
IGFzc29jaWF0ZWQgd2l0aCBidWZmZXIgKi8NCiAgICAgICAgc3RydWN0IHJ0ZV9tYnVmICplbnRy
aWVzW01BWF9SRU9SREVSX0JVRkZFUl9TSVpFXTsgLyogYnVmZmVyIHRvIGhvbGQgcmVvcmRlcmVk
IG1idWZzICovDQp9Ow0KDQpkKVVzZXJzIGNhbiBmZXRjaCBvdXQgdGhlIHJlb3JkZXJlZCBwYWNr
ZXRzIGJ5IGRyYWluIGZ1bmN0aW9uIHByb3ZpZGVkIGJ5IGxpYnJhcnkuIFVzZXJzIG11c3QgcGFz
cyB0aGUgbWJ1ZiBhcnJheSAsIGRyYWluIGZ1bmN0aW9uIHNob3VsZCBmaWxsICBwYXNzZWQgbWJ1
ZmYgYXJyYXkgIHdpdGggdGhlIHJlb3JkZXJlZCBidWZmZXIgcGFja2V0cy4NCkR1cmluZyBkcmFp
biBvcGVyYXRpb24sIG92ZXJmbG93IGJ1ZmZlciAgcGFja2V0cyB3aWxsIGJlIGZldGNoZWQgb3V0
IGZpcnN0IGFuZCB0aGVuIHJlb3JkZXIgYnVmZmVyLg0KDQpEcmFpbiBmdW5jdGlvbjoNCiAgICAg
ICAgICAgICAgIGludCBydGVfcmVvcmRlcl9kcmFpbihzdHJ1Y3QgcnRlX3Jlb3JkZXJfYnVmZmVy
ICpidWZmZXIsIHN0cnVjdCBydGVfbWJ1ZiAqKm1idWZzKQ0KDQpUaGFua3MsDQpSZXNobWENCg0K
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0NCkludGVsIFNoYW5ub24gTGltaXRlZA0KUmVnaXN0ZXJlZCBpbiBJcmVsYW5kDQpSZWdp
c3RlcmVkIE9mZmljZTogQ29sbGluc3Rvd24gSW5kdXN0cmlhbCBQYXJrLCBMZWl4bGlwLCBDb3Vu
dHkgS2lsZGFyZQ0KUmVnaXN0ZXJlZCBOdW1iZXI6IDMwODI2Mw0KQnVzaW5lc3MgYWRkcmVzczog
RHJvbW9yZSBIb3VzZSwgRWFzdCBQYXJrLCBTaGFubm9uLCBDby4gQ2xhcmUNCg0KVGhpcyBlLW1h
aWwgYW5kIGFueSBhdHRhY2htZW50cyBtYXkgY29udGFpbiBjb25maWRlbnRpYWwgbWF0ZXJpYWwg
Zm9yIHRoZSBzb2xlIHVzZSBvZiB0aGUgaW50ZW5kZWQgcmVjaXBpZW50KHMpLiBBbnkgcmV2aWV3
IG9yIGRpc3RyaWJ1dGlvbiBieSBvdGhlcnMgaXMgc3RyaWN0bHkgcHJvaGliaXRlZC4gSWYgeW91
IGFyZSBub3QgdGhlIGludGVuZGVkIHJlY2lwaWVudCwgcGxlYXNlIGNvbnRhY3QgdGhlIHNlbmRl
ciBhbmQgZGVsZXRlIGFsbCBjb3BpZXMuDQoNCg==