From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <Ola.Liljedahl@arm.com>
Received: from EUR02-AM5-obe.outbound.protection.outlook.com
 (mail-eopbgr00057.outbound.protection.outlook.com [40.107.0.57])
 by dpdk.org (Postfix) with ESMTP id 39ECE3772
 for <dev@dpdk.org>; Wed, 29 Aug 2018 10:47:58 +0200 (CEST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; 
 s=selector1-arm-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=SCQ/whd8jqfV2+XMM3CFZoOgvOx00MMYyLw0CMUst3A=;
 b=Ay8lgFxLYKxzksy+pQu5qyPBKAquJMYPukSH7iHvy8Uu48yQDUoa2hj7dpCPXr04EsJMR/b7QVZx9hptQc31K4qcW8kGTDRqWRvxKCkvFK/m1PhiR3CoRmkR0EiSoOxxQ9Mn/Kz13j6FWcONm/2cSDAZdBbtDnr0T4eXsijp/8I=
Received: from DB6PR0801MB2071.eurprd08.prod.outlook.com (10.168.86.140) by
 DB6PR0801MB1784.eurprd08.prod.outlook.com (10.169.227.19) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.1080.17; Wed, 29 Aug 2018 08:47:56 +0000
Received: from DB6PR0801MB2071.eurprd08.prod.outlook.com
 ([fe80::65cf:334a:cbd4:c7e2]) by DB6PR0801MB2071.eurprd08.prod.outlook.com
 ([fe80::65cf:334a:cbd4:c7e2%5]) with mapi id 15.20.1080.015; Wed, 29 Aug 2018
 08:47:56 +0000
From: Ola Liljedahl <Ola.Liljedahl@arm.com>
To: Jerin Jacob <jerin.jacob@caviumnetworks.com>
CC: "Kokkilagadda, Kiran" <Kiran.Kokkilagadda@cavium.com>, Honnappa
 Nagarahalli <Honnappa.Nagarahalli@arm.com>, Gavin Hu <Gavin.Hu@arm.com>,
 Ferruh Yigit <ferruh.yigit@intel.com>, "Jacob,  Jerin"
 <Jerin.JacobKollanukkaran@cavium.com>, "dev@dpdk.org" <dev@dpdk.org>, nd
 <nd@arm.com>, Steve Capper <Steve.Capper@arm.com>
Thread-Topic: [dpdk-dev] [PATCH v2] kni: fix kni Rx fifo producer
 synchronization
Thread-Index: AQHUNUdKSc1c/oZwbU+GnieJTul+F6TTtAyAgAAZ24CAAT+YgIAAkzgAgACezwCAAA4jAIAAPsUA///tegCAACcGAA==
Date: Wed, 29 Aug 2018 08:47:56 +0000
Message-ID: <9CD1E941-1C51-4942-B0C8-30F6177124A5@arm.com>
References: <1533810233-7706-1-git-send-email-kkokkilagadda@caviumnetworks.com>
 <1534413317-644-1-git-send-email-kkokkilagadda@caviumnetworks.com>
 <649064d2-430c-d761-44ce-453e1a14031a@intel.com>
 <VI1PR08MB31672E6BFECA652376D9F2058F0B0@VI1PR08MB3167.eurprd08.prod.outlook.com>
 <BYAPR07MB495006817D97094249331ADDE60A0@BYAPR07MB4950.namprd07.prod.outlook.com>
 <VI1PR08MB3167751502A039043C424C718F0A0@VI1PR08MB3167.eurprd08.prod.outlook.com>
 <AM6PR08MB3672030A29D132285C0B0E9398090@AM6PR08MB3672.eurprd08.prod.outlook.com>
 <BYAPR07MB4950A51F6FD6BB49216A588BE6090@BYAPR07MB4950.namprd07.prod.outlook.com>
 <7C80C637-DF76-423E-92AA-868EA06EF2C3@arm.com> <20180829082814.GA15610@jerin>
In-Reply-To: <20180829082814.GA15610@jerin>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
user-agent: Microsoft-MacOutlook/10.10.0.180812
authentication-results: spf=none (sender IP is )
 smtp.mailfrom=Ola.Liljedahl@arm.com; 
x-originating-ip: [158.174.8.16]
x-ms-publictraffictype: Email
x-microsoft-exchange-diagnostics: 1; DB6PR0801MB1784;
 6:obn5kQb0sb/XxBecix6z5k9t+wx7NJ8B0Rj88LjM8EelliKPfhObzIQ9F4R14OJoI0zx3iKQegZQTHd6rseq2wnBgWO1+47dAiOYf0yL1XbYmSMus8oFuJ/DTk/Bs5dwcHZpnTlYln5h4sDNWallXWGCtekij81RY6mRqakP6Ur9wCa6aBH/4nCSegdLxwFLqpkOzBqKZJBwM1eZh4u15EGm19Q3Ly5IjftILgFfAicQSGe6ATutfID9WuDbC7BiqbV4jDS7Di+LH0GRtHl/t1EyOccnmwxhYT8H2ZVg3vFRgNvjdOeD1rj/jYlBj47OGg88uc3UNHx9NnMIJSgHmCJaIr/NYjcFL4OVJRwVwUSpIdD+DItMUYw3XEJuhtKYv0S1m1w+Mfylc6b+J++WKWw1lOG/HZOqZkbrqqZ33ETKtBWC4nMd6y7I1HNsWE1wDcEAUoNweAPDxZUkgYSzNQ==;
 5:uMA/hxQInfP3v31IjdTM8EUwu2FXLnBOxD8C5vw6brApXNEkxMaRMnbapLtzeKr3Di+C82T7FFFpVgcN3DpJr7MzkAoxlhK63++nowU+OvmV5jFGWfDE0Sx1y3/s4XDdxJy1c5AbMIY5jgVoLna8BDvNfRqGC0l7OhQuGWUQYXc=;
 7:ie9TqZmNhzNl4l2zG8nIdDzknJOiDCv/etKLhiy9a0Bta6wbs2lXDH7IlbuoSJk3GWDMhuJZO2/R1HEjgHHOEbRAW9HPf0zn+uzJJqVbpszwNdym0n8kVn6+0X6A7TuuH/s4Y34ZgpdZlNjnTG7zaaMz06YfrZJfqpT3TMxhSA+ef6dWXln2Z9/bbjQMw/7h20hqdmNz0gJtrHkpa/18fZOPPmI7vc7nSinVn2KqCgH1N8h8Wqm1Bzrk0ZeqtDFi
x-ms-exchange-antispam-srfa-diagnostics: SOS;SOR;
x-ms-office365-filtering-correlation-id: 8dcc7f0e-63a6-482d-2912-08d60d8c1ded
x-ms-office365-filtering-ht: Tenant
x-microsoft-antispam: BCL:0; PCL:0;
 RULEID:(7020095)(4652040)(8989137)(5600074)(711020)(4618075)(4534165)(4627221)(201703031133081)(201702281549075)(8990107)(2017052603328)(7153060)(7193020);
 SRVR:DB6PR0801MB1784; 
x-ms-traffictypediagnostic: DB6PR0801MB1784:
nodisclaimer: True
x-microsoft-antispam-prvs: <DB6PR0801MB1784C16DA5BB5ABF4EC7685AE0090@DB6PR0801MB1784.eurprd08.prod.outlook.com>
x-exchange-antispam-report-test: UriScan:(180628864354917)(228905959029699);
x-ms-exchange-senderadcheck: 1
x-exchange-antispam-report-cfa-test: BCL:0; PCL:0;
 RULEID:(8211001083)(6040522)(2401047)(8121501046)(5005006)(823301075)(3002001)(93006095)(93001095)(3231311)(944501410)(52105095)(10201501046)(6055026)(149027)(150027)(6041310)(20161123560045)(20161123564045)(20161123562045)(20161123558120)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(201708071742011)(7699016);
 SRVR:DB6PR0801MB1784; BCL:0; PCL:0; RULEID:; SRVR:DB6PR0801MB1784; 
x-forefront-prvs: 077929D941
x-forefront-antispam-report: SFV:NSPM;
 SFS:(10009020)(39860400002)(376002)(346002)(366004)(396003)(136003)(13464003)(199004)(189003)(40434004)(99286004)(4326008)(106356001)(966005)(5024004)(6306002)(8676002)(186003)(33656002)(105586002)(6512007)(14444005)(86362001)(5660300001)(6486002)(82746002)(7736002)(256004)(76176011)(305945005)(229853002)(6436002)(81156014)(81166006)(53936002)(2906002)(66066001)(3846002)(45080400002)(53546011)(478600001)(102836004)(26005)(45954006)(6916009)(19627235002)(6116002)(83716003)(316002)(6506007)(2900100001)(54906003)(2616005)(8936002)(486006)(476003)(11346002)(5250100002)(68736007)(25786009)(6246003)(97736004)(36756003)(72206003)(446003)(58126008)(14454004)(93886005);
 DIR:OUT; SFP:1101; SCL:1; SRVR:DB6PR0801MB1784;
 H:DB6PR0801MB2071.eurprd08.prod.outlook.com; FPR:; SPF:None; LANG:en;
 PTR:InfoNoRecords; A:1; MX:1; 
received-spf: None (protection.outlook.com: arm.com does not designate
 permitted sender hosts)
x-microsoft-antispam-message-info: 93SOB11B7ZXXHjzFnvTgxtQUDvCzynBGlxKlIFFb/eB2Gjcp1+GtWIpzqxgaRNci4hCjjcHfQ00zHiFXD24pcu0eOJHMYqD1/ujIQybRY3YDwDsBx5hcnyZnMIpGVtsIPZcuWB8WRqs3o0B7a/7AZVDdjm+zHubigvhQ3JcBeor4k5VkYdIBGwdyWUltd6j96dzQbAZpqWKfZb1ja1UcAg+8hBYN0ilnHqS8+stWZ61HCjkT2ql9ZSUM4UMg9T40Ep7KqGkYaVHJhvxgHHaKzEdOZzpy+gyV8WCLXf/HGRTS0c9t29vkCSokoPCnmenRcy2+lilwqCy6bnS7cxXUxkrMaz0YQ6GAP+Y41vrZcvY=
spamdiagnosticoutput: 1:99
spamdiagnosticmetadata: NSPM
Content-Type: text/plain; charset="utf-8"
Content-ID: <6402D40E3F4DB7478BD30EDF3A90E68C@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 8dcc7f0e-63a6-482d-2912-08d60d8c1ded
X-MS-Exchange-CrossTenant-originalarrivaltime: 29 Aug 2018 08:47:56.7386 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB6PR0801MB1784
Subject: Re: [dpdk-dev] [PATCH v2] kni: fix kni Rx fifo producer
 synchronization
X-BeenThere: dev@dpdk.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: DPDK patches and discussions <dev.dpdk.org>
List-Unsubscribe: <https://mails.dpdk.org/options/dev>,
 <mailto:dev-request@dpdk.org?subject=unsubscribe>
List-Archive: <http://mails.dpdk.org/archives/dev/>
List-Post: <mailto:dev@dpdk.org>
List-Help: <mailto:dev-request@dpdk.org?subject=help>
List-Subscribe: <https://mails.dpdk.org/listinfo/dev>,
 <mailto:dev-request@dpdk.org?subject=subscribe>
X-List-Received-Date: Wed, 29 Aug 2018 08:47:58 -0000

VGhlcmUgd2FzIGEgbWVudGlvbiBvZiBydGVfcmluZyB3aGljaCBpcyBhIGRpZmZlcmVudCBkYXRh
IHN0cnVjdHVyZS4gQnV0IHBlcmhhcHMgSSBtaXN1bmRlcnN0b29kIHdoeSB0aGlzIHdhcyBtZW50
aW9uZWQgYW5kIHRoZSBpZGVhIHdhcyBvbmx5IHRvIHVzZSB0aGUgQzExIG1lbW9yeSBtb2RlbCBh
cyBpcyBhbHNvIHVzZWQgaW4gcnRlX3Jpbmcgbm93YWRheXMuDQoNCkJ1dCB3aHkgd291bGQgd2Ug
aGF2ZSBkaWZmZXJlbnQgY29kZSBmb3IgeDg2IGFuZCBmb3Igb3RoZXIgYXJjaGl0ZWN0dXJlcyAo
QVJNLCBQb3dlcik/IElmIHdlIHVzZSB0aGUgQzExIG1lbW9yeSBtb2RlbCAoYW5kIGUuZy4gR0ND
IF9fYXRvbWljIGJ1aWx0aW5zKSwgdGhlIGNvZGUgZ2VuZXJhdGVkIGZvciB4ODYgd2lsbCBiZSB0
aGUgc2FtZS4gX19hdG9taWNfbG9hZChfX0FUT01JQ19BQ1FVSVJFKSBhbmQgX19hdG9taWNfc3Rv
cmUoX19BVE9NSUNfUkVMRUFTRSkgc2hvdWxkIHRyYW5zbGF0ZSB0byBwbGFpbiBsb2FkcyBhbmQg
c3RvcmVzIG9uIHg4Nj8NCg0KLS0gT2xhDQoNCu+7v09uIDI5LzA4LzIwMTgsIDEwOjI4LCAiSmVy
aW4gSmFjb2IiIDxqZXJpbi5qYWNvYkBjYXZpdW1uZXR3b3Jrcy5jb20+IHdyb3RlOg0KDQogICAg
LS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCiAgICA+IERhdGU6IFdlZCwgMjkgQXVnIDIwMTgg
MDc6MzQ6MzQgKzAwMDANCiAgICA+IEZyb206IE9sYSBMaWxqZWRhaGwgPE9sYS5MaWxqZWRhaGxA
YXJtLmNvbT4NCiAgICA+IFRvOiAiS29ra2lsYWdhZGRhLCBLaXJhbiIgPEtpcmFuLktva2tpbGFn
YWRkYUBjYXZpdW0uY29tPiwgSG9ubmFwcGENCiAgICA+ICBOYWdhcmFoYWxsaSA8SG9ubmFwcGEu
TmFnYXJhaGFsbGlAYXJtLmNvbT4sIEdhdmluIEh1IDxHYXZpbi5IdUBhcm0uY29tPiwNCiAgICA+
ICBGZXJydWggWWlnaXQgPGZlcnJ1aC55aWdpdEBpbnRlbC5jb20+LCAiSmFjb2IsICBKZXJpbiIN
CiAgICA+ICA8SmVyaW4uSmFjb2JLb2xsYW51a2thcmFuQGNhdml1bS5jb20+DQogICAgPiBDQzog
ImRldkBkcGRrLm9yZyIgPGRldkBkcGRrLm9yZz4sIG5kIDxuZEBhcm0uY29tPiwgU3RldmUgQ2Fw
cGVyDQogICAgPiAgPFN0ZXZlLkNhcHBlckBhcm0uY29tPg0KICAgID4gU3ViamVjdDogUmU6IFtk
cGRrLWRldl0gW1BBVENIIHYyXSBrbmk6IGZpeCBrbmkgUnggZmlmbyBwcm9kdWNlcg0KICAgID4g
IHN5bmNocm9uaXphdGlvbg0KICAgID4gdXNlci1hZ2VudDogTWljcm9zb2Z0LU1hY091dGxvb2sv
MTAuMTAuMC4xODA4MTINCiAgICA+IA0KICAgID4gSXMgdGhlIHJ0ZV9rbmkga2VybmVsL3VzZXIg
YmluYXJ5IGludGVyZmFjZSBzdWJqZWN0IHRvIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5IHJlcXVp
cmVtZW50cz8gT3IgY2FuIHdlIGNoYW5nZSBpdCBmb3IgYSBuZXcgRFBESyByZWxlYXNlPw0KICAg
IA0KICAgIFdoYXQgd291bGQgYmUgdGhlIGNoYW5nZSBpbiBpbnRlcmZhY2U/IElzIGl0IHJlbW92
aW5nIHRoZSB2b2xhdGlsZSBmb3INCiAgICBDMTEgY2FzZSwgVGhlbiB5b3UgY2FuIHVzZSBhbm9u
eW1vdXMgdW5pb24gT1IgI2RlZmluZSB0byBrZWVwIHRoZSBzaXplIA0KICAgIGFuZCBvZmZzZXQg
b2YgdGhlIGVsZW1lbnQgaW50YWN0Lg0KICAgIA0KICAgIHN0cnVjdCBydGVfa25pX2ZpZm8geyAN
CiAgICAjaWZuZGVmIFJURV9DMTEuLi4NCiAgICAgICAgICAgIHZvbGF0aWxlIHVuc2lnbmVkIHdy
aXRlOyAgICAgLyoqPCBOZXh0IHBvc2l0aW9uIHRvIGJlIHdyaXR0ZW4qLw0KICAgICAgICAgICAg
dm9sYXRpbGUgdW5zaWduZWQgcmVhZDsgICAgICAvKio8IE5leHQgcG9zaXRpb24gdG8gYmUgcmVh
ZCAqLw0KICAgICNlbHNlDQogICAgICAgICAgICB1bnNpZ25lZCB3cml0ZTsgICAgIC8qKjwgTmV4
dCBwb3NpdGlvbiB0byBiZSB3cml0dGVuKi8NCiAgICAgICAgICAgIHVuc2lnbmVkIHJlYWQ7ICAg
ICAgLyoqPCBOZXh0IHBvc2l0aW9uIHRvIGJlIHJlYWQgKi8NCiAgICAjZW5kaWYNCiAgICAgICAg
ICAgIHVuc2lnbmVkIGxlbjsgICAgICAgICAgICAgICAgLyoqPCBDaXJjdWxhciBidWZmZXIgbGVu
Z3RoICovDQogICAgICAgICAgICB1bnNpZ25lZCBlbGVtX3NpemU7ICAgICAgICAgIC8qKjwgUG9p
bnRlciBzaXplIC0gZm9yIDMyLzY0IGJpdE9TICovDQogICAgICAgICAgICB2b2lkICp2b2xhdGls
ZSBidWZmZXJbXTsgICAgIC8qKjwgVGhlIGJ1ZmZlciBjb250YWlucyBtYnVmDQogICAgcG9pbnRl
cnMgKi8NCiAgICB9Ow0KICAgIA0KICAgIEFub255bW91cyB1bmlvbiBleGFtcGxlOg0KICAgIGh0
dHBzOi8vZ2l0LmRwZGsub3JnL2RwZGsvdHJlZS9saWIvbGlicnRlX21idWYvcnRlX21idWYuaCNu
NDYxDQogICAgDQogICAgWW91IGNhbiBjaGVjayB0aGUgQUJJIGJyZWFrYWdlIGJ5IGRldnRvb2xz
L3ZhbGlkYXRlLWFiaS5zaA0KICAgIA0KICAgID4gDQogICAgPiAtLSBPbGENCiAgICA+IA0KICAg
ID4gRnJvbTogIktva2tpbGFnYWRkYSwgS2lyYW4iIDxLaXJhbi5Lb2traWxhZ2FkZGFAY2F2aXVt
LmNvbT4NCiAgICA+IERhdGU6IFdlZG5lc2RheSwgMjkgQXVndXN0IDIwMTggYXQgMDc6NTANCiAg
ICA+IFRvOiBIb25uYXBwYSBOYWdhcmFoYWxsaSA8SG9ubmFwcGEuTmFnYXJhaGFsbGlAYXJtLmNv
bT4sIEdhdmluIEh1IDxHYXZpbi5IdUBhcm0uY29tPiwgRmVycnVoIFlpZ2l0IDxmZXJydWgueWln
aXRAaW50ZWwuY29tPiwgIkphY29iLCBKZXJpbiIgPEplcmluLkphY29iS29sbGFudWtrYXJhbkBj
YXZpdW0uY29tPg0KICAgID4gQ2M6ICJkZXZAZHBkay5vcmciIDxkZXZAZHBkay5vcmc+LCBuZCA8
bmRAYXJtLmNvbT4sIE9sYSBMaWxqZWRhaGwgPE9sYS5MaWxqZWRhaGxAYXJtLmNvbT4sIFN0ZXZl
IENhcHBlciA8U3RldmUuQ2FwcGVyQGFybS5jb20+DQogICAgPiBTdWJqZWN0OiBSZTogW2RwZGst
ZGV2XSBbUEFUQ0ggdjJdIGtuaTogZml4IGtuaSBSeCBmaWZvIHByb2R1Y2VyIHN5bmNocm9uaXph
dGlvbg0KICAgID4gDQogICAgPiANCiAgICA+IEFncmVlZC4gUGxlYXNlIGdvIGEgaGVhZCBhbmQg
bWFrZSB0aGUgY2hhbmdlcy4gWW91IG5lZWQgdG8gbWFrZSBzYW1lIGNoYW5nZSBpbiBrZXJuZWwg
c2lkZSBhbHNvLiBBbmQgcGxlYXNlIHVzZSBjMTEgcmluZyAoc2VlIHJ0ZV9yaW5nKSBtZWNoYW5p
c20gc28gdGhhdCBpdCB3b24ndCBpbXBhY3Qgb3RoZXIgcGxhdGZvcm1zIGxpa2UgaW50ZWwuIFdl
IG5lZWQgdGhpcyBjaGFuZ2UganVzdCBmb3IgYXJtIGFuZCBwcGMuDQogICAgPiANCiAgICA+IF9f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fDQogICAgPiBGcm9tOiBIb25uYXBwYSBOYWdh
cmFoYWxsaSA8SG9ubmFwcGEuTmFnYXJhaGFsbGlAYXJtLmNvbT4NCiAgICA+IFNlbnQ6IFdlZG5l
c2RheSwgQXVndXN0IDI5LCAyMDE4IDEwOjI5IEFNDQogICAgPiBUbzogR2F2aW4gSHU7IEtva2tp
bGFnYWRkYSwgS2lyYW47IEZlcnJ1aCBZaWdpdDsgSmFjb2IsIEplcmluDQogICAgPiBDYzogZGV2
QGRwZGsub3JnOyBuZDsgT2xhIExpbGplZGFobDsgU3RldmUgQ2FwcGVyDQogICAgPiBTdWJqZWN0
OiBSRTogW2RwZGstZGV2XSBbUEFUQ0ggdjJdIGtuaTogZml4IGtuaSBSeCBmaWZvIHByb2R1Y2Vy
IHN5bmNocm9uaXphdGlvbg0KICAgID4gDQogICAgPiANCiAgICA+IEV4dGVybmFsIEVtYWlsDQog
ICAgPiANCiAgICA+IEkgYWdyZWUgd2l0aCBHYXZpbiBoZXJlLiBTdG9yZSB0byBmaWZvLT53cml0
ZSBhbmQgZmlmby0+cmVhZCBjYW4gZ2V0IGhvaXN0ZWQgcmVzdWx0aW5nIGluIGFjY2Vzc2luZyBp
bnZhbGlkIGJ1ZmZlciBhcnJheSBlbnRyaWVzIG9yIG92ZXIgd3JpdGluZyBvZiB0aGUgYnVmZmVy
IGFycmF5IGVudHJpZXMuDQogICAgPiANCiAgICA+IElNTywgd2Ugc2hvdWxkIHNvbHZlIHRoaXMg
dXNpbmcgYzExIGF0b21pY3MuIFRoaXMgd2lsbCBhbHNvIGhlbHAgcmVtb3ZlIHRoZSB1c2Ugb2Yg
4oCYdm9sYXRpbGXigJkgZnJvbSDigJhydGVfa25pX2ZpZm/igJkgc3RydWN0dXJlLg0KICAgID4g
DQogICAgPiANCiAgICA+IA0KICAgID4gSWYgeW91IHdhbnQgdXMgdG8gcHV0IHRvZ2V0aGVyIGEg
cGF0Y2ggd2l0aCB0aGlzIGlkZWEsIHBsZWFzZSBsZXQgdXMga25vdy4NCiAgICA+IA0KICAgID4g
DQogICAgPiANCiAgICA+IFRoYW5rIHlvdSwNCiAgICA+IA0KICAgID4gSG9ubmFwcGENCiAgICA+
IA0KICAgID4gDQogICAgPiANCiAgICA+IEZyb206IEdhdmluIEh1DQogICAgPiBTZW50OiBUdWVz
ZGF5LCBBdWd1c3QgMjgsIDIwMTggMjozMSBQTQ0KICAgID4gVG86IEtva2tpbGFnYWRkYSwgS2ly
YW4gPEtpcmFuLktva2tpbGFnYWRkYUBjYXZpdW0uY29tPjsgRmVycnVoIFlpZ2l0IDxmZXJydWgu
eWlnaXRAaW50ZWwuY29tPjsgSmFjb2IsIEplcmluIDxKZXJpbi5KYWNvYktvbGxhbnVra2FyYW5A
Y2F2aXVtLmNvbT4NCiAgICA+IENjOiBkZXZAZHBkay5vcmc7IEhvbm5hcHBhIE5hZ2FyYWhhbGxp
IDxIb25uYXBwYS5OYWdhcmFoYWxsaUBhcm0uY29tPjsgbmQgPG5kQGFybS5jb20+OyBPbGEgTGls
amVkYWhsIDxPbGEuTGlsamVkYWhsQGFybS5jb20+OyBTdGV2ZSBDYXBwZXIgPFN0ZXZlLkNhcHBl
ckBhcm0uY29tPg0KICAgID4gU3ViamVjdDogUkU6IFtkcGRrLWRldl0gW1BBVENIIHYyXSBrbmk6
IGZpeCBrbmkgUnggZmlmbyBwcm9kdWNlciBzeW5jaHJvbml6YXRpb24NCiAgICA+IA0KICAgID4g
DQogICAgPiANCiAgICA+IEFzc3VtaW5nIHJlYWRlciBhbmQgd3JpdGVyIG1heSBleGVjdXRlIG9u
IGRpZmZlcmVudCBDUFUncywgdGhpcyBiZWNvbWUgc3RhbmRhcmQgbXVsdGl0aHJlYWRlZCBwcm9n
cmFtbWluZy4NCiAgICA+IA0KICAgID4gV2UgYXJlIGNvbmNlcm5lZCBhYm91dCB0aGF0IHVwZGF0
ZSB0aGUgcmVhZGVyIHBvaW50ZXIgdG9vIGVhcmx5KHdlYWsgb3JkZXJpbmcgbWF5IHJlb3JkZXIg
aXQgYmVmb3JlIHJlYWRpbmcgZnJvbSB0aGUgc2xvdHMpLCB0aGF0IG1lYW5zIHRoZSBzbG90cyBh
cmUgcmVsZWFzZWQgYW5kIG1heSBpbW1lZGlhdGVseSBvdmVyd3JpdHRlbiBieSB0aGUgd3JpdGVy
IHRoZW4geW91IGdldCDigJx0b28gbmV34oCdIGRhdGEgYW5kIGdldCBsb3N0IG9mIHRoZSBvbGQg
ZGF0YS4NCiAgICA+IA0KICAgID4gDQogICAgPiANCiAgICA+IEZyb206IEtva2tpbGFnYWRkYSwg
S2lyYW4gPEtpcmFuLktva2tpbGFnYWRkYUBjYXZpdW0uY29tPG1haWx0bzpLaXJhbi5Lb2traWxh
Z2FkZGFAY2F2aXVtLmNvbT4+DQogICAgPiBTZW50OiBUdWVzZGF5LCBBdWd1c3QgMjgsIDIwMTgg
Njo0NCBQTQ0KICAgID4gVG86IEdhdmluIEh1IDxHYXZpbi5IdUBhcm0uY29tPG1haWx0bzpHYXZp
bi5IdUBhcm0uY29tPj47IEZlcnJ1aCBZaWdpdCA8ZmVycnVoLnlpZ2l0QGludGVsLmNvbTxtYWls
dG86ZmVycnVoLnlpZ2l0QGludGVsLmNvbT4+OyBKYWNvYiwgSmVyaW4gPEplcmluLkphY29iS29s
bGFudWtrYXJhbkBjYXZpdW0uY29tPG1haWx0bzpKZXJpbi5KYWNvYktvbGxhbnVra2FyYW5AY2F2
aXVtLmNvbT4+DQogICAgPiBDYzogZGV2QGRwZGsub3JnPG1haWx0bzpkZXZAZHBkay5vcmc+OyBI
b25uYXBwYSBOYWdhcmFoYWxsaSA8SG9ubmFwcGEuTmFnYXJhaGFsbGlAYXJtLmNvbTxtYWlsdG86
SG9ubmFwcGEuTmFnYXJhaGFsbGlAYXJtLmNvbT4+DQogICAgPiBTdWJqZWN0OiBSZTogW2RwZGst
ZGV2XSBbUEFUQ0ggdjJdIGtuaTogZml4IGtuaSBSeCBmaWZvIHByb2R1Y2VyIHN5bmNocm9uaXph
dGlvbg0KICAgID4gDQogICAgPiANCiAgICA+IA0KICAgID4gSW4gdGhpcyBpbnN0YW5jZSB0aGVy
ZSB3b24ndCBiZSBhbnkgcHJvYmxlbSwgYXMgdW50aWwgdGhlIHZhbHVlIG9mIGZpZm8tPndyaXRl
IGNoYW5nZXMsIHRoaXMgbG9vcCB3b24ndCBnZXQgZXhlY3V0ZWQuIEFzIG9mIG5vdyB3ZSBkaWRu
J3Qgc2VlIGFueSBpc3N1ZSB3aXRoIGl0IGFuZCBmb3IgcGVyZm9ybWFuY2UgcmVhc29ucywgd2Ug
ZG9uJ3Qgd2FudCB0byBrZWVwIHJlYWQgYmFycmllci4NCiAgICA+IA0KICAgID4gDQogICAgPiAN
CiAgICA+IA0KICAgID4gDQogICAgPiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXw0K
ICAgID4gDQogICAgPiBGcm9tOiBHYXZpbiBIdSA8R2F2aW4uSHVAYXJtLmNvbTxtYWlsdG86R2F2
aW4uSHVAYXJtLmNvbT4+DQogICAgPiBTZW50OiBNb25kYXksIEF1Z3VzdCAyNywgMjAxOCA5OjEw
IFBNDQogICAgPiBUbzogRmVycnVoIFlpZ2l0OyBLb2traWxhZ2FkZGEsIEtpcmFuOyBKYWNvYiwg
SmVyaW4NCiAgICA+IENjOiBkZXZAZHBkay5vcmc8bWFpbHRvOmRldkBkcGRrLm9yZz47IEhvbm5h
cHBhIE5hZ2FyYWhhbGxpDQogICAgPiBTdWJqZWN0OiBSRTogW2RwZGstZGV2XSBbUEFUQ0ggdjJd
IGtuaTogZml4IGtuaSBSeCBmaWZvIHByb2R1Y2VyIHN5bmNocm9uaXphdGlvbg0KICAgID4gDQog
ICAgPiANCiAgICA+IA0KICAgID4gRXh0ZXJuYWwgRW1haWwNCiAgICA+IA0KICAgID4gVGhpcyBm
aXggaXMgbm90IGNvbXBsZXRlLCBrbmlfZmlmb19nZXQgcmVxdWlyZXMgYSByZWFkIGZlbmNlIGFs
c28sIG90aGVyd2lzZSBpdCBwcm9iYWJseSBnZXRzIHN0YWxlIGRhdGEgb24gYSB3ZWFrIG9yZGVy
aW5nIHBsYXRmb3JtLg0KICAgID4gDQogICAgPiA+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0t
DQogICAgPiA+IEZyb206IGRldiA8ZGV2LWJvdW5jZXNAZHBkay5vcmc8bWFpbHRvOmRldi1ib3Vu
Y2VzQGRwZGsub3JnPj4gT24gQmVoYWxmIE9mIEZlcnJ1aCBZaWdpdA0KICAgID4gPiBTZW50OiBN
b25kYXksIEF1Z3VzdCAyNywgMjAxOCAxMDowOCBQTQ0KICAgID4gPiBUbzogS2lyYW4gS3VtYXIg
PGtrb2traWxhZ2FkZGFAY2F2aXVtbmV0d29ya3MuY29tPG1haWx0bzpra29ra2lsYWdhZGRhQGNh
dml1bW5ldHdvcmtzLmNvbT4+Ow0KICAgID4gPiBqZXJpbi5qYWNvYkBjYXZpdW1uZXR3b3Jrcy5j
b208bWFpbHRvOmplcmluLmphY29iQGNhdml1bW5ldHdvcmtzLmNvbT4NCiAgICA+ID4gQ2M6IGRl
dkBkcGRrLm9yZzxtYWlsdG86ZGV2QGRwZGsub3JnPg0KICAgID4gPiBTdWJqZWN0OiBSZTogW2Rw
ZGstZGV2XSBbUEFUQ0ggdjJdIGtuaTogZml4IGtuaSBSeCBmaWZvIHByb2R1Y2VyDQogICAgPiA+
IHN5bmNocm9uaXphdGlvbg0KICAgID4gPg0KICAgID4gPiBPbiA4LzE2LzIwMTggMTA6NTUgQU0s
IEtpcmFuIEt1bWFyIHdyb3RlOg0KICAgID4gPiA+IFdpdGggZXhpc3RpbmcgY29kZSBpbiBrbmlf
Zmlmb19wdXQsIHJ4X3EgdmFsdWVzIGFyZSBub3QgYmVpbmcgdXBkYXRlZA0KICAgID4gPiA+IGJl
Zm9yZSB1cGRhdGluZyBmaWZvX3dyaXRlLiBXaGlsZSByZWFkaW5nIHJ4X3EgaW4ga25pX25ldF9y
eF9ub3JtYWwsDQogICAgPiA+ID4gVGhpcyBpcyBjYXVzaW5nIHRoZSBzeW5jIGlzc3VlIG9uIG90
aGVyIGNvcmUuIFNvIGFkZGluZyBhIHdyaXRlDQogICAgPiA+ID4gYmFycmllciB0byBtYWtlIHN1
cmUgdGhlIHZhbHVlcyBiZWluZyBzeW5jZWQgYmVmb3JlIHVwZGF0aW5nIGZpZm9fd3JpdGUuDQog
ICAgPiA+ID4NCiAgICA+ID4gPiBGaXhlczogM2ZjNWNhMmY2MzUyICgia25pOiBpbml0aWFsIGlt
cG9ydCIpDQogICAgPiA+ID4NCiAgICA+ID4gPiBTaWduZWQtb2ZmLWJ5OiBLaXJhbiBLdW1hciA8
a2tva2tpbGFnYWRkYUBjYXZpdW1uZXR3b3Jrcy5jb208bWFpbHRvOmtrb2traWxhZ2FkZGFAY2F2
aXVtbmV0d29ya3MuY29tPj4NCiAgICA+ID4gPiBBY2tlZC1ieTogSmVyaW4gSmFjb2IgPGplcmlu
LmphY29iQGNhdml1bW5ldHdvcmtzLmNvbTxtYWlsdG86amVyaW4uamFjb2JAY2F2aXVtbmV0d29y
a3MuY29tPj4NCiAgICA+ID4NCiAgICA+ID4gQWNrZWQtYnk6IEZlcnJ1aCBZaWdpdCA8ZmVycnVo
LnlpZ2l0QGludGVsLmNvbTxtYWlsdG86ZmVycnVoLnlpZ2l0QGludGVsLmNvbT4+DQogICAgPiBJ
TVBPUlRBTlQgTk9USUNFOiBUaGUgY29udGVudHMgb2YgdGhpcyBlbWFpbCBhbmQgYW55IGF0dGFj
aG1lbnRzIGFyZSBjb25maWRlbnRpYWwgYW5kIG1heSBhbHNvIGJlIHByaXZpbGVnZWQuIElmIHlv
dSBhcmUgbm90IHRoZSBpbnRlbmRlZCByZWNpcGllbnQsIHBsZWFzZSBub3RpZnkgdGhlIHNlbmRl
ciBpbW1lZGlhdGVseSBhbmQgZG8gbm90IGRpc2Nsb3NlIHRoZSBjb250ZW50cyB0byBhbnkgb3Ro
ZXIgcGVyc29uLCB1c2UgaXQgZm9yIGFueSBwdXJwb3NlLCBvciBzdG9yZSBvciBjb3B5IHRoZSBp
bmZvcm1hdGlvbiBpbiBhbnkgbWVkaXVtLiBUaGFuayB5b3UuDQogICAgDQoNCg==