From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <konstantin.ananyev@intel.com>
Received: from mga04.intel.com (mga04.intel.com [192.55.52.120])
 by dpdk.org (Postfix) with ESMTP id 41BA21B17F;
 Fri,  5 Oct 2018 15:45:00 +0200 (CEST)
X-Amp-Result: SKIPPED(no attachment in message)
X-Amp-File-Uploaded: False
Received: from fmsmga004.fm.intel.com ([10.253.24.48])
 by fmsmga104.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384;
 05 Oct 2018 06:45:00 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="5.54,344,1534834800"; d="scan'208";a="94910679"
Received: from irsmsx108.ger.corp.intel.com ([163.33.3.3])
 by fmsmga004.fm.intel.com with ESMTP; 05 Oct 2018 06:44:43 -0700
Received: from irsmsx106.ger.corp.intel.com ([169.254.8.45]) by
 IRSMSX108.ger.corp.intel.com ([169.254.11.187]) with mapi id 14.03.0319.002;
 Fri, 5 Oct 2018 14:44:42 +0100
From: "Ananyev, Konstantin" <konstantin.ananyev@intel.com>
To: Ola Liljedahl <Ola.Liljedahl@arm.com>, "Gavin Hu (Arm Technology China)"
 <Gavin.Hu@arm.com>, Jerin Jacob <jerin.jacob@caviumnetworks.com>
CC: "dev@dpdk.org" <dev@dpdk.org>, Honnappa Nagarahalli
 <Honnappa.Nagarahalli@arm.com>, Steve Capper <Steve.Capper@arm.com>, nd
 <nd@arm.com>, "stable@dpdk.org" <stable@dpdk.org>
Thread-Topic: [PATCH v3 1/3] ring: read tail using atomic load
Thread-Index: AQHUXEUzcUjYt7AXu0OsxPH+FH4ynqUQTyGggAAhEACAAAXfgIAAMcjg
Date: Fri, 5 Oct 2018 13:44:41 +0000
Message-ID: <2601191342CEEE43887BDE71AB9772580102FE2951@IRSMSX106.ger.corp.intel.com>
References: <20180807031943.5331-1-gavin.hu@arm.com>
 <1537172244-64874-1-git-send-email-gavin.hu@arm.com>
 <20180929104857.GA30457@jerin>
 <VI1PR08MB316716BE3A6CE22E70F044838FEB0@VI1PR08MB3167.eurprd08.prod.outlook.com>
 <2601191342CEEE43887BDE71AB9772580102FE261A@IRSMSX106.ger.corp.intel.com>
 <ACCAF4F3-1C57-43EB-A399-E1449E4C1277@arm.com>
 <621E373E-048D-4808-8CE8-84373EA98D2F@arm.com>
In-Reply-To: <621E373E-048D-4808-8CE8-84373EA98D2F@arm.com>
Accept-Language: en-IE, en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-titus-metadata-40: eyJDYXRlZ29yeUxhYmVscyI6IiIsIk1ldGFkYXRhIjp7Im5zIjoiaHR0cDpcL1wvd3d3LnRpdHVzLmNvbVwvbnNcL0ludGVsMyIsImlkIjoiYzExNGZmODUtYjc0Zi00M2M3LWEzYjAtOTA1ZDY2YTExMmRiIiwicHJvcHMiOlt7Im4iOiJDVFBDbGFzc2lmaWNhdGlvbiIsInZhbHMiOlt7InZhbHVlIjoiQ1RQX05UIn1dfV19LCJTdWJqZWN0TGFiZWxzIjpbXSwiVE1DVmVyc2lvbiI6IjE3LjEwLjE4MDQuNDkiLCJUcnVzdGVkTGFiZWxIYXNoIjoiZUUzYmViMjZoN0pVeE1sWDNlVE1cL3NFXC9DZXhKWEJ6RHE5SGp5aWlHMnREb1lqcUc0aWw2NnRreHVXN29HUkcyIn0=
x-ctpclassification: CTP_NT
dlp-product: dlpe-windows
dlp-version: 11.0.400.15
dlp-reaction: no-action
x-originating-ip: [163.33.239.180]
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
Subject: Re: [dpdk-stable] [PATCH v3 1/3] ring: read tail using atomic load
X-BeenThere: stable@dpdk.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: patches for DPDK stable branches <stable.dpdk.org>
List-Unsubscribe: <https://mails.dpdk.org/options/stable>,
 <mailto:stable-request@dpdk.org?subject=unsubscribe>
List-Archive: <http://mails.dpdk.org/archives/stable/>
List-Post: <mailto:stable@dpdk.org>
List-Help: <mailto:stable-request@dpdk.org?subject=help>
List-Subscribe: <https://mails.dpdk.org/listinfo/stable>,
 <mailto:stable-request@dpdk.org?subject=subscribe>
X-List-Received-Date: Fri, 05 Oct 2018 13:45:02 -0000

DQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogT2xhIExpbGplZGFobCBb
bWFpbHRvOk9sYS5MaWxqZWRhaGxAYXJtLmNvbV0NCj4gU2VudDogRnJpZGF5LCBPY3RvYmVyIDUs
IDIwMTggMTI6MzcgUE0NCj4gVG86IEFuYW55ZXYsIEtvbnN0YW50aW4gPGtvbnN0YW50aW4uYW5h
bnlldkBpbnRlbC5jb20+OyBHYXZpbiBIdSAoQXJtIFRlY2hub2xvZ3kgQ2hpbmEpIDxHYXZpbi5I
dUBhcm0uY29tPjsgSmVyaW4gSmFjb2INCj4gPGplcmluLmphY29iQGNhdml1bW5ldHdvcmtzLmNv
bT4NCj4gQ2M6IGRldkBkcGRrLm9yZzsgSG9ubmFwcGEgTmFnYXJhaGFsbGkgPEhvbm5hcHBhLk5h
Z2FyYWhhbGxpQGFybS5jb20+OyBTdGV2ZSBDYXBwZXIgPFN0ZXZlLkNhcHBlckBhcm0uY29tPjsg
bmQNCj4gPG5kQGFybS5jb20+OyBzdGFibGVAZHBkay5vcmcNCj4gU3ViamVjdDogUmU6IFtQQVRD
SCB2MyAxLzNdIHJpbmc6IHJlYWQgdGFpbCB1c2luZyBhdG9taWMgbG9hZA0KPiANCj4gaHR0cHM6
Ly9lbi5jcHByZWZlcmVuY2UuY29tL3cvY3BwL2xhbmd1YWdlL21lbW9yeV9tb2RlbA0KPiA8cXVv
dGU+DQo+IFdoZW4gYW4gZXZhbHVhdGlvbiBvZiBhbiBleHByZXNzaW9uIHdyaXRlcyB0byBhIG1l
bW9yeSBsb2NhdGlvbiBhbmQgYW5vdGhlciBldmFsdWF0aW9uIHJlYWRzIG9yIG1vZGlmaWVzIHRo
ZSBzYW1lIG1lbW9yeSBsb2NhdGlvbiwgdGhlDQo+IGV4cHJlc3Npb25zIGFyZSBzYWlkIHRvIGNv
bmZsaWN0LiBBIHByb2dyYW0gdGhhdCBoYXMgdHdvIGNvbmZsaWN0aW5nIGV2YWx1YXRpb25zIGhh
cyBhIGRhdGEgcmFjZSB1bmxlc3MNCj4gDQo+ICogYm90aCBldmFsdWF0aW9ucyBleGVjdXRlIG9u
IHRoZSBzYW1lIHRocmVhZCBvciBpbiB0aGUgc2FtZSBzaWduYWwgaGFuZGxlciwgb3INCj4gKiBi
b3RoIGNvbmZsaWN0aW5nIGV2YWx1YXRpb25zIGFyZSBhdG9taWMgb3BlcmF0aW9ucyAoc2VlIHN0
ZDo6YXRvbWljKSwgb3INCj4gKiBvbmUgb2YgdGhlIGNvbmZsaWN0aW5nIGV2YWx1YXRpb25zIGhh
cHBlbnMtYmVmb3JlIGFub3RoZXIgKHNlZSBzdGQ6Om1lbW9yeV9vcmRlcikNCj4gSWYgYSBkYXRh
IHJhY2Ugb2NjdXJzLCB0aGUgYmVoYXZpb3Igb2YgdGhlIHByb2dyYW0gaXMgdW5kZWZpbmVkLg0K
PiA8L3F1b3RlPg0KPiANCj4gQzExIGFuZCBDKysxMSBoYXZlIHRoZSBzYW1lIG1lbW9yeSBtb2Rl
bCAob3RoZXJ3aXNlIGludGVyb3BlcmFiaWxpdHkgd291bGQgYmUgZGlmZmljdWx0KS4NCj4gDQo+
IE9yIGFzIEplZmYgUHJlc2hpbmcgZXhwbGFpbnMgaXQ6DQo+ICJBbnkgdGltZSB0d28gdGhyZWFk
cyBvcGVyYXRlIG9uIGEgc2hhcmVkIHZhcmlhYmxlIGNvbmN1cnJlbnRseSwgYW5kIG9uZSBvZiB0
aG9zZSBvcGVyYXRpb25zIHBlcmZvcm1zIGEgd3JpdGUsIGJvdGggdGhyZWFkcyBtdXN0IHVzZQ0K
PiBhdG9taWMgb3BlcmF0aW9ucy4iDQo+IGh0dHBzOi8vcHJlc2hpbmcuY29tLzIwMTMwNjE4L2F0
b21pYy12cy1ub24tYXRvbWljLW9wZXJhdGlvbnMvDQo+IA0KPiBTbyBpZiBodC0+dGFpbCBpcyB3
cml0dGVuIHVzaW5nIGUuZy4gX19hdG9taWNfc3RvcmVfbigmaHQtPnRhaWwsIHZhbCwgbW8pLCB3
ZSBuZWVkIHRvIGFsc28gcmVhZCBpdCB1c2luZyBlLmcuIF9fYXRvbWljX2xvYWRfbigpLg0KPiAN
Cj4gLS0gT2xhDQo+IA0KPiANCj4g77u/T24gMDUvMTAvMjAxOCwgMTM6MTUsICJPbGEgTGlsamVk
YWhsIiA8T2xhLkxpbGplZGFobEBhcm0uY29tPiB3cm90ZToNCj4gDQo+IA0KPiANCj4gICAgIE9u
IDA1LzEwLzIwMTgsIDEwOjIyLCAiQW5hbnlldiwgS29uc3RhbnRpbiIgPGtvbnN0YW50aW4uYW5h
bnlldkBpbnRlbC5jb20+IHdyb3RlOg0KPiANCj4gDQo+IA0KPiAgICAgICAgID4gLS0tLS1Pcmln
aW5hbCBNZXNzYWdlLS0tLS0NCj4gICAgICAgICA+IEZyb206IGRldiBbbWFpbHRvOmRldi1ib3Vu
Y2VzQGRwZGsub3JnXSBPbiBCZWhhbGYgT2YgR2F2aW4gSHUgKEFybSBUZWNobm9sb2d5IENoaW5h
KQ0KPiAgICAgICAgID4gU2VudDogRnJpZGF5LCBPY3RvYmVyIDUsIDIwMTggMTo0NyBBTQ0KPiAg
ICAgICAgID4gVG86IEplcmluIEphY29iIDxqZXJpbi5qYWNvYkBjYXZpdW1uZXR3b3Jrcy5jb20+
DQo+ICAgICAgICAgPiBDYzogZGV2QGRwZGsub3JnOyBIb25uYXBwYSBOYWdhcmFoYWxsaSA8SG9u
bmFwcGEuTmFnYXJhaGFsbGlAYXJtLmNvbT47IFN0ZXZlIENhcHBlciA8U3RldmUuQ2FwcGVyQGFy
bS5jb20+OyBPbGENCj4gTGlsamVkYWhsDQo+ICAgICAgICAgPiA8T2xhLkxpbGplZGFobEBhcm0u
Y29tPjsgbmQgPG5kQGFybS5jb20+OyBzdGFibGVAZHBkay5vcmcNCj4gICAgICAgICA+IFN1Ympl
Y3Q6IFJlOiBbZHBkay1kZXZdIFtQQVRDSCB2MyAxLzNdIHJpbmc6IHJlYWQgdGFpbCB1c2luZyBh
dG9taWMgbG9hZA0KPiAgICAgICAgID4NCj4gICAgICAgICA+IEhpIEplcmluLA0KPiAgICAgICAg
ID4NCj4gICAgICAgICA+IFRoYW5rcyBmb3IgeW91ciByZXZpZXcsIGlubGluZSBjb21tZW50cyBm
cm9tIG91ciBpbnRlcm5hbCBkaXNjdXNzaW9ucy4NCj4gICAgICAgICA+DQo+ICAgICAgICAgPiBC
Ui4gR2F2aW4NCj4gICAgICAgICA+DQo+ICAgICAgICAgPiA+IC0tLS0tT3JpZ2luYWwgTWVzc2Fn
ZS0tLS0tDQo+ICAgICAgICAgPiA+IEZyb206IEplcmluIEphY29iIDxqZXJpbi5qYWNvYkBjYXZp
dW1uZXR3b3Jrcy5jb20+DQo+ICAgICAgICAgPiA+IFNlbnQ6IFNhdHVyZGF5LCBTZXB0ZW1iZXIg
MjksIDIwMTggNjo0OSBQTQ0KPiAgICAgICAgID4gPiBUbzogR2F2aW4gSHUgKEFybSBUZWNobm9s
b2d5IENoaW5hKSA8R2F2aW4uSHVAYXJtLmNvbT4NCj4gICAgICAgICA+ID4gQ2M6IGRldkBkcGRr
Lm9yZzsgSG9ubmFwcGEgTmFnYXJhaGFsbGkNCj4gICAgICAgICA+ID4gPEhvbm5hcHBhLk5hZ2Fy
YWhhbGxpQGFybS5jb20+OyBTdGV2ZSBDYXBwZXINCj4gICAgICAgICA+ID4gPFN0ZXZlLkNhcHBl
ckBhcm0uY29tPjsgT2xhIExpbGplZGFobCA8T2xhLkxpbGplZGFobEBhcm0uY29tPjsgbmQNCj4g
ICAgICAgICA+ID4gPG5kQGFybS5jb20+OyBzdGFibGVAZHBkay5vcmcNCj4gICAgICAgICA+ID4g
U3ViamVjdDogUmU6IFtQQVRDSCB2MyAxLzNdIHJpbmc6IHJlYWQgdGFpbCB1c2luZyBhdG9taWMg
bG9hZA0KPiAgICAgICAgID4gPg0KPiAgICAgICAgID4gPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2Ut
LS0tLQ0KPiAgICAgICAgID4gPiA+IERhdGU6IE1vbiwgMTcgU2VwIDIwMTggMTY6MTc6MjIgKzA4
MDANCj4gICAgICAgICA+ID4gPiBGcm9tOiBHYXZpbiBIdSA8Z2F2aW4uaHVAYXJtLmNvbT4NCj4g
ICAgICAgICA+ID4gPiBUbzogZGV2QGRwZGsub3JnDQo+ICAgICAgICAgPiA+ID4gQ0M6IGdhdmlu
Lmh1QGFybS5jb20sIEhvbm5hcHBhLk5hZ2FyYWhhbGxpQGFybS5jb20sDQo+ICAgICAgICAgPiA+
ID4gc3RldmUuY2FwcGVyQGFybS5jb20sICBPbGEuTGlsamVkYWhsQGFybS5jb20sDQo+ICAgICAg
ICAgPiA+ID4gamVyaW4uamFjb2JAY2F2aXVtbmV0d29ya3MuY29tLCBuZEBhcm0uY29tLCAgc3Rh
YmxlQGRwZGsub3JnDQo+ICAgICAgICAgPiA+ID4gU3ViamVjdDogW1BBVENIIHYzIDEvM10gcmlu
ZzogcmVhZCB0YWlsIHVzaW5nIGF0b21pYyBsb2FkDQo+ICAgICAgICAgPiA+ID4gWC1NYWlsZXI6
IGdpdC1zZW5kLWVtYWlsIDIuNy40DQo+ICAgICAgICAgPiA+ID4NCj4gICAgICAgICA+ID4gPiBF
eHRlcm5hbCBFbWFpbA0KPiAgICAgICAgID4gPiA+DQo+ICAgICAgICAgPiA+ID4gSW4gdXBkYXRl
X3RhaWwsIHJlYWQgaHQtPnRhaWwgdXNpbmcgX19hdG9taWNfbG9hZC5BbHRob3VnaCB0aGUNCj4g
ICAgICAgICA+ID4gPiBjb21waWxlciBjdXJyZW50bHkgc2VlbXMgdG8gYmUgZG9pbmcgdGhlIHJp
Z2h0IHRoaW5nIGV2ZW4gd2l0aG91dA0KPiAgICAgICAgID4gPiA+IF9hdG9taWNfbG9hZCwgd2Ug
ZG9uJ3Qgd2FudCB0byBnaXZlIHRoZSBjb21waWxlciBmcmVlZG9tIHRvIG9wdGltaXNlDQo+ICAg
ICAgICAgPiA+ID4gd2hhdCBzaG91bGQgYmUgYW4gYXRvbWljIGxvYWQsIGl0IHNob3VsZCBub3Qg
YmUgYXJiaXRhcmlseSBtb3ZlZA0KPiAgICAgICAgID4gPiA+IGFyb3VuZC4NCj4gICAgICAgICA+
ID4gPg0KPiAgICAgICAgID4gPiA+IEZpeGVzOiAzOTM2OGViZmM2ICgicmluZzogaW50cm9kdWNl
IEMxMSBtZW1vcnkgbW9kZWwgYmFycmllciBvcHRpb24iKQ0KPiAgICAgICAgID4gPiA+IENjOiBz
dGFibGVAZHBkay5vcmcNCj4gICAgICAgICA+ID4gPg0KPiAgICAgICAgID4gPiA+IFNpZ25lZC1v
ZmYtYnk6IEdhdmluIEh1IDxnYXZpbi5odUBhcm0uY29tPg0KPiAgICAgICAgID4gPiA+IFJldmll
d2VkLWJ5OiBIb25uYXBwYSBOYWdhcmFoYWxsaSA8SG9ubmFwcGEuTmFnYXJhaGFsbGlAYXJtLmNv
bT4NCj4gICAgICAgICA+ID4gPiBSZXZpZXdlZC1ieTogU3RldmUgQ2FwcGVyIDxzdGV2ZS5jYXBw
ZXJAYXJtLmNvbT4NCj4gICAgICAgICA+ID4gPiBSZXZpZXdlZC1ieTogT2xhIExpbGplZGFobCA8
T2xhLkxpbGplZGFobEBhcm0uY29tPg0KPiAgICAgICAgID4gPiA+IC0tLQ0KPiAgICAgICAgID4g
PiA+ICBsaWIvbGlicnRlX3JpbmcvcnRlX3JpbmdfYzExX21lbS5oIHwgMyArKy0NCj4gICAgICAg
ICA+ID4gPiAgMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQ0K
PiAgICAgICAgID4gPiA+DQo+ICAgICAgICAgPiBUaGUgcmVhZCBvZiBodC0+dGFpbCBuZWVkcyB0
byBiZSBhdG9taWMsIGEgbm9uLWF0b21pYyByZWFkIHdvdWxkIG5vdCBiZSBjb3JyZWN0Lg0KPiAN
Cj4gICAgICAgICBUaGF0J3MgYSAzMmJpdCB2YWx1ZSBsb2FkLg0KPiAgICAgICAgIEFGQUlLIG9u
IGFsbCBDUFVzIHRoYXQgd2Ugc3VwcG9ydCBpdCBpcyBhbiBhdG9taWMgb3BlcmF0aW9uLg0KPiAg
ICAgW09sYV0gQnV0IHRoYXQgdGhlIG9yZGluYXJ5IEMgbG9hZCBpcyB0cmFuc2xhdGVkIHRvIGFu
IGF0b21pYyBsb2FkIGZvciB0aGUgdGFyZ2V0IGFyY2hpdGVjdHVyZSBpcyBpbmNpZGVudGFsLg0K
PiANCj4gICAgIElmIHRoZSBkZXNpZ24gcmVxdWlyZXMgYW4gYXRvbWljIGxvYWQgKHdoaWNoIGlz
IHRoZSBjYXNlIGhlcmUpLCB3ZSBzaG91bGQgdXNlIGFuIGF0b21pYyBsb2FkIG9uIHRoZSBsYW5n
dWFnZSBsZXZlbC4gVGhlbiB3ZSBjYW4gYmUgc3VyZSBpdA0KPiB3aWxsIGFsd2F5cyBiZSB0cmFu
c2xhdGVkIHRvIGFuIGF0b21pYyBsb2FkIGZvciB0aGUgdGFyZ2V0IGluIHF1ZXN0aW9uIG9yIGNv
bXBpbGF0aW9uIHdpbGwgZmFpbC4gV2UgZG9uJ3QgaGF2ZSB0byBkZXBlbmQgb24gYXNzdW1wdGlv
bnMuDQoNCldlIGFsbCBrbm93IHRoYXQgMzJiaXQgbG9hZC9zdG9yZSBvbiBjcHUgd2Ugc3VwcG9y
dCAtIGFyZSBhdG9taWMuDQpJZiBpdCB3b3VsZG4ndCBiZSB0aGUgY2FzZSAtIERQREsgd291bGQg
YmUgYnJva2VuIGluIGRvemVuIHBsYWNlcy4NClNvIHdoYXQgdGhlIHBvaW50IHRvIHByZXRlbmQg
dGhhdCAiaXQgbWlnaHQgYmUgbm90IGF0b21pYyIgaWYgd2UgZG8ga25vdyBmb3Igc3VyZSB0aGF0
IGl0IGlzPw0KSSBkbyB1bmRlcnN0YW5kIHRoYXQgeW91IHdhbnQgdG8gdXNlIGF0b21pY19sb2Fk
KHJlbGF4ZWQpIGhlcmUgZm9yIGNvbnNpc3RlbmN5LA0KYW5kIHRvIGNvbmZvcm0gd2l0aCBDMTEg
bWVtLW1vZGVsIGFuZCBJIGRvbid0IHNlZSBhbnkgaGFybSBpbiB0aGF0Lg0KQnV0IGFyZ3VtZW50
IHRoYXQgd2Ugc2hvdWxkbid0IGFzc3VtZSAzMmJpdCBsb2FkL3N0b3JlIG9wcyBhcyBhdG9taWMg
c291bmRzIGEgYml0IGZsYWt5IHRvIG1lLg0KS29uc3RhbnRpbg0KDQoNCj4gDQo+IA0KPiANCj4g
ICAgICAgICA+IEJ1dCB0aGVyZSBhcmUgbm8gbWVtb3J5IG9yZGVyaW5nIHJlcXVpcmVtZW50cyAo
d2l0aA0KPiAgICAgICAgID4gcmVnYXJkcyB0byBvdGhlciBsb2FkcyBhbmQvb3Igc3RvcmVzIGJ5
IHRoaXMgdGhyZWFkKSBzbyByZWxheGVkIG1lbW9yeSBvcmRlciBpcyBzdWZmaWNpZW50Lg0KPiAg
ICAgICAgID4gQW5vdGhlciBhc3BlY3Qgb2YgdXNpbmcgX19hdG9taWNfbG9hZF9uKCkgaXMgdGhh
dCB0aGUgY29tcGlsZXIgY2Fubm90ICJvcHRpbWlzZSIgdGhpcyBsb2FkIChlLmcuIGNvbWJpbmUs
IGhvaXN0IGV0YyksIGl0IGhhcyB0byBiZSBkb25lDQo+IGFzDQo+ICAgICAgICAgPiBzcGVjaWZp
ZWQgaW4gdGhlIHNvdXJjZSBjb2RlIHdoaWNoIGlzIGFsc28gd2hhdCB3ZSBuZWVkIGhlcmUuDQo+
IA0KPiAgICAgICAgIEkgdGhpbmsgSmVyaW4gcG9pbnRzIHRoYXQgcnRlX3BhdXNlKCkgYWN0cyBo
ZXJlIGFzIGNvbXBpbGVyIGJhcnJpZXIgdG9vLA0KPiAgICAgICAgIHNvIG5vIG5lZWQgdG8gd29y
cnkgdGhhdCBjb21waWxlciB3b3VsZCBvcHRpbWl6ZSBvdXQgdGhlIGxvb3AuDQo+ICAgICBbT2xh
XSBTb3JyeSBtaXNzZWQgdGhhdC4gQnV0IHRoZSBiYXJyaWVyIGJlaGF2aW91ciBvZiBydGVfcGF1
c2UoKSBpcyBub3QgcGFydCBvZiBDMTEsIGlzIGl0IGVzc2VudGlhbGx5IGEgaGFuZC1tYWRlIGZl
YXR1cmUgdG8gc3VwcG9ydCB0aGUNCj4gbGVnYWN5IG11bHRpdGhyZWFkZWQgbWVtb3J5IG1vZGVs
ICh3aGljaCB1c2VzIGV4cGxpY2l0IEhXIGFuZCBjb21waWxlciBiYXJyaWVycykuIEknZCBwcmVm
ZXIgY29kZSB1c2luZyB0aGUgQzExIG1lbW9yeSBtb2RlbCBub3QgdG8NCj4gZGVwZW5kIG9uIHN1
Y2ggbGVnYWN5IGZlYXR1cmVzLg0KPiANCj4gDQo+IA0KPiAgICAgICAgIEtvbnN0YW50aW4NCj4g
DQo+ICAgICAgICAgPg0KPiAgICAgICAgID4gT25lIHBvaW50IHdvcnRoIG1lbnRpb25pbmcgdGhv
dWdoIGlzIHRoYXQgdGhpcyBjaGFuZ2UgaXMgZm9yIHRoZSBydGVfcmluZ19jMTFfbWVtLmggZmls
ZSwgbm90IHRoZSBsZWdhY3kgcmluZy4gSXQgbWF5IGJlIHdvcnRoDQo+IHBlcnNpc3RpbmcNCj4g
ICAgICAgICA+IHdpdGggZ2V0dGluZyB0aGUgQzExIGNvZGUgcmlnaHQgd2hlbiBwZW9wbGUgYXJl
IGxlc3MgZXhjaXRlZCBhYm91dCBzZW5kaW5nIGEgcmVsZWFzZSBvdXQ/DQo+ICAgICAgICAgPg0K
PiAgICAgICAgID4gV2UgY2FuIGV4cGxhaW4gdGhhdCBmb3IgQzExIHdlIHdvdWxkIHByZWZlciB0
byBkbyBsb2FkcyBhbmQgc3RvcmVzIGFzIHBlciB0aGUgQzExIG1lbW9yeSBtb2RlbC4gSW4gdGhl
IGNhc2Ugb2YgcnRlX3JpbmcsIHRoZSBjb2RlIGlzDQo+ICAgICAgICAgPiBzZXBhcmF0ZWQgY2xl
YW5seSBpbnRvIEMxMSBzcGVjaWZpYyBmaWxlcyBhbnl3YXkuDQo+ICAgICAgICAgPg0KPiAgICAg
ICAgID4gSSB0aGluayByZWFkaW5nIGh0LT50YWlsIHVzaW5nIF9fYXRvbWljX2xvYWRfbigpIGlz
IHRoZSBtb3N0IGFwcHJvcHJpYXRlIHdheS4gV2Ugc2hvdyB0aGF0IGh0LT50YWlsIGlzIHVzZWQg
Zm9yIHN5bmNocm9uaXphdGlvbiwgd2UNCj4gICAgICAgICA+IGFja25vd2xlZGdlIHRoYXQgaHQt
PnRhaWwgbWF5IGJlIHdyaXR0ZW4gYnkgb3RoZXIgdGhyZWFkcyB3aXRob3V0IGFueSBvdGhlciBr
aW5kIG9mIHN5bmNocm9uaXphdGlvbiAoZS5nLiBubyBsb2NrIGludm9sdmVkKSBhbmQgd2UNCj4g
cmVxdWlyZQ0KPiAgICAgICAgID4gYW4gYXRvbWljIGxvYWQgKGFueSB3cml0ZSB0byBodC0+dGFp
bCBtdXN0IGFsc28gYmUgYXRvbWljKS4NCj4gICAgICAgICA+DQo+ICAgICAgICAgPiBVc2luZyB2
b2xhdGlsZSBhbmQgZXhwbGljaXQgY29tcGlsZXIgKG9yIHByb2Nlc3NvcikgbWVtb3J5IGJhcnJp
ZXJzIChmZW5jZXMpIGlzIHRoZSBsZWdhY3kgcHJlLUMxMSB3YXkgb2YgYWNjb21wbGlzaGluZyB0
aGVzZSB0aGluZ3MuDQo+IFRoZXJlJ3MNCj4gICAgICAgICA+IGEgcmVhc29uIHdoeSBDMTEvQysr
MTEgbW92ZWQgYXdheSBmcm9tIHRoZSBvbGQgd2F5cy4NCj4gICAgICAgICA+ID4gPg0KPiAgICAg
ICAgID4gPiA+ICAgICAgICAgX19hdG9taWNfc3RvcmVfbigmaHQtPnRhaWwsIG5ld192YWwsIF9f
QVRPTUlDX1JFTEVBU0UpOw0KPiAgICAgICAgID4gPiA+IC0tDQo+ICAgICAgICAgPiA+ID4gMi43
LjQNCj4gICAgICAgICA+ID4gPg0KPiANCj4gDQo+IA0KDQo=