From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <matan@mellanox.com>
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-eopbgr70050.outbound.protection.outlook.com [40.107.7.50])
 by dpdk.org (Postfix) with ESMTP id 3F931DED;
 Tue, 21 Aug 2018 12:56:03 +0200 (CEST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Mellanox.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=XHhNrWTiECmLPz2Bm50Y5Aa4svX8W00Y5zO+wSs4BvQ=;
 b=MsPj0eRjkRZZ2w1rqarFLitFN5uDwR9e44LfSpheAI1yH746EyTgpOVTpVugdXnAMgokuQbjvROBQz2QLHtXgkf9tiQ4ORtu4xe5dXT7EIKegsTxJGijQV4p2cTeGiyF+wKWFegMKJovbs2oDDYmiXeDaQ30ow91T80HDsqHPDg=
Received: from AM0PR0502MB4019.eurprd05.prod.outlook.com (52.133.41.11) by
 AM0PR0502MB4003.eurprd05.prod.outlook.com (52.133.40.159) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.1059.24; Tue, 21 Aug 2018 10:56:01 +0000
Received: from AM0PR0502MB4019.eurprd05.prod.outlook.com
 ([fe80::88fa:4498:85a5:9e5a]) by AM0PR0502MB4019.eurprd05.prod.outlook.com
 ([fe80::88fa:4498:85a5:9e5a%3]) with mapi id 15.20.1080.010; Tue, 21 Aug 2018
 10:56:01 +0000
From: Matan Azrad <matan@mellanox.com>
To: Chas Williams <3chas3@gmail.com>, "bluca@debian.org" <bluca@debian.org>
CC: "dev@dpdk.org" <dev@dpdk.org>, Declan Doherty <declan.doherty@intel.com>, 
 Chas Williams <chas3@att.com>, "stable@dpdk.org" <stable@dpdk.org>,
 "ekinzie@brocade.com" <ekinzie@brocade.com>
Thread-Topic: [dpdk-dev] [PATCH v4] net/bonding: per-slave intermediate rx ring
Thread-Index: AQHUOI/E3NTQqLjc6Ue5KNSkfeweUqTKBvcQ
Date: Tue, 21 Aug 2018 10:56:01 +0000
Message-ID: <AM0PR0502MB40199D1FFAEA65CD02997F17D2310@AM0PR0502MB4019.eurprd05.prod.outlook.com>
References: <20180816125202.15980-1-bluca@debian.org>
 <20180816133208.26566-1-bluca@debian.org>
 <CAG2-Gk=B3DUfRPNHFWVRKfQfyK=jh0V2BzO_D06==Obb1pOUow@mail.gmail.com>
In-Reply-To: <CAG2-Gk=B3DUfRPNHFWVRKfQfyK=jh0V2BzO_D06==Obb1pOUow@mail.gmail.com>
Accept-Language: en-US, he-IL
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
authentication-results: spf=none (sender IP is )
 smtp.mailfrom=matan@mellanox.com; 
x-originating-ip: [193.47.165.251]
x-ms-publictraffictype: Email
x-microsoft-exchange-diagnostics: 1; AM0PR0502MB4003;
 6:P63iSNzBYxHnuF0f/Va8JyobVLhT7znRdkZOlt+FVOIl/+EW5Bcg71Y0v4kq4U1T3sBPTXbVzR7DfWQGV7mv+GWR5R1RBI3vHEpDMlxE891mQhHs0p9qJV1lE2Cj0ZS18Mndf6vtPtdoyhCiyzMTf/XtGhT3Nl+GIMZsrmAU3a7g741qhYdA7PQzq8b1MbKzjJ6+/PylX1u30O+YF1gArmwUqcQBPEYdzsBux27fzUymgclJMpFIcAkbFIRrWFwREGeLrckcPbZMoLt63jqKjxn8S8qoRPGdA+Zo9VTwk95u9uaxTRvIT2Zvd6sA4h0IrlehCYYJznQTNvD/QaF68kqp53rBJv3OAwHnT4sqNB8i2DuzO5MH16+Z2eB/O9GUSucnnXrmhJP0e8h+FMphdwHZYT8/eTW1YQW5XobJcpH5xI0kTDuFOnbS7C16U0awqKUAsZm0FUzkHkON2Ava6A==;
 5:V31FS3IeMzB0S62wI1OYVjS5hxxlp/rkUcsRJOAkivunPtVe+8J+FT6CYj1S0Y9T9foQW8T1jaYusS8CvY2rvi4wbNRqcQLM2NaZlkahDSVWlmIstOjiTwIWJOjfvh0ijsw5dKbxJYrllqoAg6g266aL2is+YFEHVnOPPT5etFg=;
 7:XLsFIa/cGc3fKGLjx3Qd+2MXjiAbx3cOJI/uxNYoyF5b9v8vB73v6sWyhf1XBXvKOVv+8OvrAmUuTZ4vqGVhVQz2EMlun9S73Y/EIrFQiwwX/dHZ9HTu86smL5hDSpQ5PQh+CHKe0ho0fctbZqNZu5shc0BPMEU/PqujSa8ftDEklZ7kuHKhQCqupzeFEaT+b7lQLfFtE1fL12HeFbS8FmHIK3WuK8Zh656AcKF+1mNDq/5FBMcb9qB7QRIh1GJ9
x-ms-exchange-antispam-srfa-diagnostics: SOS;
x-ms-office365-filtering-correlation-id: 451fd345-71bd-4680-bc0d-08d60754af29
x-ms-office365-filtering-ht: Tenant
x-microsoft-antispam: BCL:0; PCL:0;
 RULEID:(7020095)(4652040)(8989137)(4534165)(4627221)(201703031133081)(201702281549075)(8990107)(5600074)(711020)(4618075)(2017052603328)(7153060)(7193020);
 SRVR:AM0PR0502MB4003; 
x-ms-traffictypediagnostic: AM0PR0502MB4003:
x-microsoft-antispam-prvs: <AM0PR0502MB400392B92D5E67759899546DD2310@AM0PR0502MB4003.eurprd05.prod.outlook.com>
x-exchange-antispam-report-test: UriScan:(97927398514766);
x-ms-exchange-senderadcheck: 1
x-exchange-antispam-report-cfa-test: BCL:0; PCL:0;
 RULEID:(8211001083)(6040522)(2401047)(8121501046)(5005006)(3002001)(10201501046)(3231311)(944501410)(52105095)(93006095)(93001095)(6055026)(149027)(150027)(6041310)(20161123558120)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123562045)(20161123560045)(20161123564045)(201708071742011)(7699016);
 SRVR:AM0PR0502MB4003; BCL:0; PCL:0; RULEID:; SRVR:AM0PR0502MB4003; 
x-forefront-prvs: 0771670921
x-forefront-antispam-report: SFV:NSPM;
 SFS:(10009020)(979002)(346002)(376002)(39860400002)(396003)(136003)(366004)(189003)(199004)(51234002)(66066001)(81156014)(7696005)(110136005)(76176011)(8936002)(14454004)(68736007)(99286004)(446003)(316002)(476003)(478600001)(2501003)(6436002)(33656002)(575784001)(5250100002)(86362001)(11346002)(81166006)(9686003)(54906003)(2900100001)(53936002)(55016002)(3846002)(229853002)(6116002)(5660300001)(7736002)(105586002)(186003)(53546011)(26005)(39060400002)(305945005)(106356001)(6506007)(4326008)(102836004)(486006)(25786009)(256004)(6246003)(2906002)(14444005)(74316002)(97736004)(969003)(989001)(999001)(1009001)(1019001);
 DIR:OUT; SFP:1101; SCL:1; SRVR:AM0PR0502MB4003;
 H:AM0PR0502MB4019.eurprd05.prod.outlook.com; FPR:; SPF:None; LANG:en;
 PTR:InfoNoRecords; MX:1; A:1; 
received-spf: None (protection.outlook.com: mellanox.com does not designate
 permitted sender hosts)
x-microsoft-antispam-message-info: PrMJKGtr90g8tZpVVZlvqDuWZmXCeINDkvooZS+Q9/2lg2sJOiXIQinj1ejPJlgYeYZFLJzLgq7D2ZeNoNztFKOThV3HnzLeUNSxKF5AVE1jlTw441CwLR5w3wiMgmtRyENPRizNHg9f7QJLrVg2iWwUdeMqhIEjBEaehK2z5ABT/5ZoH8B/5d3vzyy7zc/JULNBiWd1ENZvNn/0cIAYH57JNaaOaVSuTbuFo71c/0w8xmA0vRIeQyBwFfcF3O/9LZOq3dLtC2pDuu6vrChgyLTKfA/8MOu8B2mlapwgh43BBQFknI6ptFvpnH2FSO+upV4plSkUNnI+xtLPQys5SenXcO644aR/aYMP4NNUg68=
spamdiagnosticoutput: 1:99
spamdiagnosticmetadata: NSPM
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: Mellanox.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 451fd345-71bd-4680-bc0d-08d60754af29
X-MS-Exchange-CrossTenant-originalarrivaltime: 21 Aug 2018 10:56:01.5805 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: a652971c-7d2e-4d9b-a6a4-d149256f461b
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR0502MB4003
Subject: Re: [dpdk-dev] [PATCH v4] net/bonding: per-slave intermediate
	rx	ring
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: Tue, 21 Aug 2018 10:56:03 -0000

SGkNCg0KRnJvbTogQ2hhcyBXaWxsaWFtcw0KPiBUaGlzIHdpbGwgbmVlZCB0byBiZSBpbXBsZW1l
bnRlZCBmb3Igc29tZSBvZiB0aGUgb3RoZXIgUlggYnVyc3QgbWV0aG9kcyBhdA0KPiBzb21lIHBv
aW50IGZvciBvdGhlciBtb2RlcyB0byBzZWUgdGhpcyBwZXJmb3JtYW5jZSBpbXByb3ZlbWVudCAo
d2l0aCB0aGUNCj4gZXhjZXB0aW9uIG9mIGFjdGl2ZS1iYWNrdXApLg0KDQpZZXMsIEkgdGhpbmsg
aXQgc2hvdWxkIGJlIGRvbmUgYXQgbGVhc3QgdG8gYm9uZF9ldGhkZXZfcnhfYnVyc3RfODAyM2Fk
X2Zhc3RfcXVldWUgKHNob3VsZCBiZSBlYXN5KSBmb3Igbm93Lg0KDQo+IE9uIFRodSwgQXVnIDE2
LCAyMDE4IGF0IDk6MzIgQU0gTHVjYSBCb2NjYXNzaSA8Ymx1Y2FAZGViaWFuLm9yZz4gd3JvdGU6
DQo+IA0KPiA+IER1cmluZyBib25kIDgwMi4zYWQgcmVjZWl2ZSwgYSBidXJzdCBvZiBwYWNrZXRz
IGlzIGZldGNoZWQgZnJvbSBlYWNoDQo+ID4gc2xhdmUgaW50byBhIGxvY2FsIGFycmF5IGFuZCBh
cHBlbmRlZCB0byBwZXItc2xhdmUgcmluZyBidWZmZXIuDQo+ID4gUGFja2V0cyBhcmUgdGFrZW4g
ZnJvbSB0aGUgaGVhZCBvZiB0aGUgcmluZyBidWZmZXIgYW5kIHJldHVybmVkIHRvIHRoZQ0KPiA+
IGNhbGxlci4gIFRoZSBudW1iZXIgb2YgbWJ1ZnMgcHJvdmlkZWQgdG8gZWFjaCBzbGF2ZSBpcyBz
dWZmaWNpZW50IHRvDQo+ID4gbWVldCB0aGUgcmVxdWlyZW1lbnRzIG9mIHRoZSBpeGdiZSB2ZWN0
b3IgcmVjZWl2ZS4NCg0KTHVjYSwNCg0KQ2FuIHlvdSBleHBsYWluIHRoZXNlIHJlcXVpcmVtZW50
cyBvZiBpeGdiZT8NCkRpZCB5b3UgY2hlY2sgZm9yIG90aGVyIHZlbmRvciBQTURzPyBJdCBtYXkg
aHVydCBwZXJmb3JtYW5jZSB0aGVyZS4uDQoNCj4gPg0KPiA+IFRoaXMgc21hbGwgY2hhbmdlIGlt
cHJvdmVzIHBlcmZvcm1hbmNlcyBvZiB0aGUgYm9uZGluZyBkcml2ZXINCj4gPiBjb25zaWRlcmFi
bHkuIFZ5YXR0YSBoYXMgYmVlbiB1c2luZyBpdCBmb3IgeWVhcnMgaW4gcHJvZHVjdGlvbi4NCj4g
Pg0KPiA+IENjOiBzdGFibGVAZHBkay5vcmcNCj4gPg0KPiA+IFNpZ25lZC1vZmYtYnk6IEVyaWMg
S2luemllIDxla2luemllQGJyb2NhZGUuY29tPg0KPiA+IFNpZ25lZC1vZmYtYnk6IEx1Y2EgQm9j
Y2Fzc2kgPGJsdWNhQGRlYmlhbi5vcmc+DQo+ID4NCj4gDQo+IEFja2VkLWJ5OiBDaGFzIFdpbGxp
YW1zIDxjaGFzM0BhdHQuY29tPg0KPiANCj4gDQo+IA0KPiA+IC0tLQ0KPiA+IHYyIGFuZCB2Mzog
Zml4IGNoZWNrcGF0Y2ggd2FybmluZ3MNCj4gPiB2NDogYWRkIEVyaWMncyBvcmlnaW5hbCBzaWdu
ZWQtb2ZmLWJ5IGZyb20gdGhlIFZ5YXR0YSBpbnRlcm5hbCByZXBvDQo+ID4NCj4gPiAgZHJpdmVy
cy9uZXQvYm9uZGluZy9ydGVfZXRoX2JvbmRfYXBpLmMgICAgIHwgMTMgKysrDQo+ID4gIGRyaXZl
cnMvbmV0L2JvbmRpbmcvcnRlX2V0aF9ib25kX3BtZC5jICAgICB8IDk4ICsrKysrKysrKysrKysr
KysrLS0NCj4gLS0tDQo+ID4gIGRyaXZlcnMvbmV0L2JvbmRpbmcvcnRlX2V0aF9ib25kX3ByaXZh
dGUuaCB8ICA0ICsNCj4gPiAgMyBmaWxlcyBjaGFuZ2VkLCA5NSBpbnNlcnRpb25zKCspLCAyMCBk
ZWxldGlvbnMoLSkNCj4gPg0KPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9ib25kaW5nL3J0
ZV9ldGhfYm9uZF9hcGkuYw0KPiA+IGIvZHJpdmVycy9uZXQvYm9uZGluZy9ydGVfZXRoX2JvbmRf
YXBpLmMNCj4gPiBpbmRleCA4YmMwNGNmZDExLi4zZDIyMjAzZTkxIDEwMDY0NA0KPiA+IC0tLSBh
L2RyaXZlcnMvbmV0L2JvbmRpbmcvcnRlX2V0aF9ib25kX2FwaS5jDQo+ID4gKysrIGIvZHJpdmVy
cy9uZXQvYm9uZGluZy9ydGVfZXRoX2JvbmRfYXBpLmMNCj4gPiBAQCAtNTI0LDYgKzUyNCwxMCBA
QCBfX2V0aF9ib25kX3NsYXZlX3JlbW92ZV9sb2NrX2ZyZWUodWludDE2X3QNCj4gPiBib25kZWRf
cG9ydF9pZCwNCj4gPg0KPiA+IHNpemVvZigqKHJ0ZV9ldGhfZGV2aWNlc1tib25kZWRfcG9ydF9p
ZF0uZGF0YS0+bWFjX2FkZHJzKSkpOw0KPiA+ICAgICAgICAgfQ0KPiA+ICAgICAgICAgaWYgKGlu
dGVybmFscy0+c2xhdmVfY291bnQgPT0gMCkgew0KPiA+ICsgICAgICAgICAgICAgICAvKiBSZW1v
dmUgYW55IHJlbWFpbmluZyBwYWNrZXRzIGluIHRoZSByZWNlaXZlIHJpbmcgKi8NCj4gPiArICAg
ICAgICAgICAgICAgc3RydWN0IHJ0ZV9tYnVmICpidWZzW1BNRF9CT05EX1JFQ1ZfUEtUU19QRVJf
U0xBVkVdOw0KPiA+ICsgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQgaiwgY291bnQ7DQo+ID4g
Kw0KPiA+ICAgICAgICAgICAgICAgICBpbnRlcm5hbHMtPnJ4X29mZmxvYWRfY2FwYSA9IDA7DQo+
ID4gICAgICAgICAgICAgICAgIGludGVybmFscy0+dHhfb2ZmbG9hZF9jYXBhID0gMDsNCj4gPiAg
ICAgICAgICAgICAgICAgaW50ZXJuYWxzLT5yeF9xdWV1ZV9vZmZsb2FkX2NhcGEgPSAwOyBAQCAt
NTMyLDYNCj4gPiArNTM2LDE1IEBAIF9fZXRoX2JvbmRfc2xhdmVfcmVtb3ZlX2xvY2tfZnJlZSh1
aW50MTZfdA0KPiA+IGJvbmRlZF9wb3J0X2lkLA0KPiA+ICAgICAgICAgICAgICAgICBpbnRlcm5h
bHMtPnJldGFfc2l6ZSA9IDA7DQo+ID4gICAgICAgICAgICAgICAgIGludGVybmFscy0+Y2FuZGlk
YXRlX21heF9yeF9wa3RsZW4gPSAwOw0KPiA+ICAgICAgICAgICAgICAgICBpbnRlcm5hbHMtPm1h
eF9yeF9wa3RsZW4gPSAwOw0KPiA+ICsNCj4gPiArICAgICAgICAgICAgICAgZG8gew0KPiA+ICsg
ICAgICAgICAgICAgICAgICAgICAgIGNvdW50ID0gcnRlX3JpbmdfZGVxdWV1ZV9idXJzdChpbnRl
cm5hbHMtPnJ4X3JpbmcsDQo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICh2b2lkICoqKWJ1ZnMsDQo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIFBNRF9CT05EX1JFQ1ZfUEtUU19QRVJfU0xBVkUsDQo+ID4gKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIE5VTEwpOw0KPiA+ICsgICAgICAgICAgICAgICAgICAg
ICAgIGZvciAgKGogPSAwOyBqIDwgY291bnQ7IGorKykNCj4gPiArICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHJ0ZV9wa3RtYnVmX2ZyZWUoYnVmc1tqXSk7DQo+ID4gKyAgICAgICAgICAg
ICAgIH0gd2hpbGUgKGNvdW50ID4gMCk7DQo+ID4gICAgICAgICB9DQo+ID4gICAgICAgICByZXR1
cm4gMDsNCj4gPiAgfQ0KPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9ib25kaW5nL3J0ZV9l
dGhfYm9uZF9wbWQuYw0KPiA+IGIvZHJpdmVycy9uZXQvYm9uZGluZy9ydGVfZXRoX2JvbmRfcG1k
LmMNCj4gPiBpbmRleCA1OGY3Mzc3YzYwLi5hZTc1NmM0ZTNhIDEwMDY0NA0KPiA+IC0tLSBhL2Ry
aXZlcnMvbmV0L2JvbmRpbmcvcnRlX2V0aF9ib25kX3BtZC5jDQo+ID4gKysrIGIvZHJpdmVycy9u
ZXQvYm9uZGluZy9ydGVfZXRoX2JvbmRfcG1kLmMNCj4gPiBAQCAtMTgsNiArMTgsOCBAQA0KPiA+
ICAjaW5jbHVkZSA8cnRlX2FsYXJtLmg+DQo+ID4gICNpbmNsdWRlIDxydGVfY3ljbGVzLmg+DQo+
ID4gICNpbmNsdWRlIDxydGVfc3RyaW5nX2Zucy5oPg0KPiA+ICsjaW5jbHVkZSA8cnRlX2Vycm5v
Lmg+DQo+ID4gKyNpbmNsdWRlIDxydGVfbGNvcmUuaD4NCj4gPg0KPiA+ICAjaW5jbHVkZSAicnRl
X2V0aF9ib25kLmgiDQo+ID4gICNpbmNsdWRlICJydGVfZXRoX2JvbmRfcHJpdmF0ZS5oIg0KPiA+
IEBAIC00MDIsMTAgKzQwNCwxNSBAQCBib25kX2V0aGRldl9yeF9idXJzdF84MDIzYWQodm9pZCAq
cXVldWUsDQo+IHN0cnVjdA0KPiA+IHJ0ZV9tYnVmICoqYnVmcywNCj4gPiAgICAgICAgIHN0cnVj
dCBib25kX2Rldl9wcml2YXRlICppbnRlcm5hbHMgPSBiZF9yeF9xLT5kZXZfcHJpdmF0ZTsNCj4g
PiAgICAgICAgIHN0cnVjdCBldGhlcl9hZGRyIGJvbmRfbWFjOw0KPiA+DQo+ID4gKyAgICAgICB1
bnNpZ25lZCBpbnQgcnhfcmluZ19hdmFpbCA9DQo+ID4gcnRlX3JpbmdfZnJlZV9jb3VudChpbnRl
cm5hbHMtPnJ4X3JpbmcpOw0KPiA+ICsgICAgICAgc3RydWN0IHJ0ZV9tYnVmDQo+ICptYnVmX2Jv
dW5jZVtQTURfQk9ORF9SRUNWX1BLVFNfUEVSX1NMQVZFXTsNCj4gPiArDQo+ID4gICAgICAgICBz
dHJ1Y3QgZXRoZXJfaGRyICpoZHI7DQo+ID4NCj4gPiAgICAgICAgIGNvbnN0IHVpbnQxNl90IGV0
aGVyX3R5cGVfc2xvd19iZSA9DQo+ID4gcnRlX2JlX3RvX2NwdV8xNihFVEhFUl9UWVBFX1NMT1cp
Ow0KPiA+ICAgICAgICAgdWludDE2X3QgbnVtX3J4X3RvdGFsID0gMDsgICAgICAvKiBUb3RhbCBu
dW1iZXIgb2YgcmVjZWl2ZWQNCj4gPiBwYWNrZXRzICovDQo+ID4gKyAgICAgICB1aW50MTZfdCBu
dW1fcnhfc2xhdmU7DQo+ID4gKyAgICAgICB1aW50MTZfdCBudW1fZW5xX3NsYXZlOw0KPiA+ICAg
ICAgICAgdWludDE2X3Qgc2xhdmVzW1JURV9NQVhfRVRIUE9SVFNdOw0KPiA+ICAgICAgICAgdWlu
dDE2X3Qgc2xhdmVfY291bnQsIGlkeDsNCj4gPg0KPiA+IEBAIC00MTQsNiArNDIxLDkgQEAgYm9u
ZF9ldGhkZXZfcnhfYnVyc3RfODAyM2FkKHZvaWQgKnF1ZXVlLA0KPiBzdHJ1Y3QNCj4gPiBydGVf
bWJ1ZiAqKmJ1ZnMsDQo+ID4gICAgICAgICB1aW50OF90IGksIGosIGs7DQo+ID4gICAgICAgICB1
aW50OF90IHN1YnR5cGU7DQo+ID4NCj4gPiArICAgICAgIGlmIChyeF9yaW5nX2F2YWlsIDwgUE1E
X0JPTkRfUkVDVl9QS1RTX1BFUl9TTEFWRSkNCj4gPiArICAgICAgICAgICAgICAgZ290byBkZXF1
ZXVlOw0KPiA+ICsNCj4gPiAgICAgICAgIHJ0ZV9ldGhfbWFjYWRkcl9nZXQoaW50ZXJuYWxzLT5w
b3J0X2lkLCAmYm9uZF9tYWMpOw0KPiA+ICAgICAgICAgLyogQ29weSBzbGF2ZSBsaXN0IHRvIHBy
b3RlY3QgYWdhaW5zdCBzbGF2ZSB1cC9kb3duIGNoYW5nZXMNCj4gPiBkdXJpbmcgdHgNCj4gPiAg
ICAgICAgICAqIGJ1cnN0aW5nICovDQo+ID4gQEAgLTQyNiw2MiArNDM2LDk2IEBAIGJvbmRfZXRo
ZGV2X3J4X2J1cnN0XzgwMjNhZCh2b2lkICpxdWV1ZSwNCj4gc3RydWN0DQo+ID4gcnRlX21idWYg
KipidWZzLA0KPiA+ICAgICAgICAgICAgICAgICBpbnRlcm5hbHMtPmFjdGl2ZV9zbGF2ZSA9IDA7
DQo+ID4gICAgICAgICAgICAgICAgIGlkeCA9IDA7DQo+ID4gICAgICAgICB9DQo+ID4gLSAgICAg
ICBmb3IgKGkgPSAwOyBpIDwgc2xhdmVfY291bnQgJiYgbnVtX3J4X3RvdGFsIDwgbmJfcGt0czsg
aSsrKSB7DQo+ID4gLSAgICAgICAgICAgICAgIGogPSBudW1fcnhfdG90YWw7DQo+ID4gKyAgICAg
ICBmb3IgKGkgPSAwOyBpIDwgc2xhdmVfY291bnQgJiYgbnVtX3J4X3RvdGFsIDwgcnhfcmluZ19h
dmFpbDsgaSsrKSB7DQo+ID4gKyAgICAgICAgICAgICAgIGogPSAwOw0KPiA+ICAgICAgICAgICAg
ICAgICBjb2xsZWN0aW5nID0gQUNUT1JfU1RBVEUoJm1vZGVfODAyM2FkX3BvcnRzW3NsYXZlc1tp
ZHhdXSwNCj4gPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENPTExF
Q1RJTkcpOw0KPiA+DQo+ID4gICAgICAgICAgICAgICAgIC8qIFJlYWQgcGFja2V0cyBmcm9tIHRo
aXMgc2xhdmUgKi8NCj4gPiAtICAgICAgICAgICAgICAgbnVtX3J4X3RvdGFsICs9IHJ0ZV9ldGhf
cnhfYnVyc3Qoc2xhdmVzW2lkeF0sDQo+ID4gYmRfcnhfcS0+cXVldWVfaWQsDQo+ID4gLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAmYnVmc1tudW1fcnhfdG90YWxdLCBuYl9wa3RzIC0N
Cj4gPiBudW1fcnhfdG90YWwpOw0KPiA+ICsgICAgICAgICAgICAgICBpZiAodW5saWtlbHkocnhf
cmluZ19hdmFpbCAtIG51bV9yeF90b3RhbCA8DQo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBQTURfQk9ORF9SRUNWX1BLVFNfUEVSX1NMQVZFKSkNCj4gPiArICAgICAgICAgICAg
ICAgICAgICAgICBjb250aW51ZTsNCj4gPiArICAgICAgICAgICAgICAgbnVtX3J4X3NsYXZlID0g
cnRlX2V0aF9yeF9idXJzdChzbGF2ZXNbaWR4XSwNCj4gPiBiZF9yeF9xLT5xdWV1ZV9pZCwNCj4g
PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1idWZfYm91bmNlLA0KPiA+ICsgUE1E
X0JPTkRfUkVDVl9QS1RTX1BFUl9TTEFWRSk7DQo+ID4NCj4gPiAtICAgICAgICAgICAgICAgZm9y
IChrID0gajsgayA8IDIgJiYgayA8IG51bV9yeF90b3RhbDsgaysrKQ0KPiA+IC0gICAgICAgICAg
ICAgICAgICAgICAgIHJ0ZV9wcmVmZXRjaDAocnRlX3BrdG1idWZfbXRvZChidWZzW2tdLCB2b2lk
ICopKTsNCj4gPiArICAgICAgICAgICAgICAgZm9yIChrID0gajsgayA8IDIgJiYgayA8IG51bV9y
eF9zbGF2ZTsgaysrKQ0KPiA+ICsgICAgICAgICAgICAgICAgICAgICAgIHJ0ZV9wcmVmZXRjaDAo
cnRlX3BrdG1idWZfbXRvZChtYnVmX2JvdW5jZVtrXSwNCj4gPiB2b2lkICopKTsNCj4gPg0KPiA+
ICAgICAgICAgICAgICAgICAvKiBIYW5kbGUgc2xvdyBwcm90b2NvbCBwYWNrZXRzLiAqLw0KPiA+
IC0gICAgICAgICAgICAgICB3aGlsZSAoaiA8IG51bV9yeF90b3RhbCkgew0KPiA+ICsgICAgICAg
ICAgICAgICB3aGlsZSAoaiA8IG51bV9yeF9zbGF2ZSkgew0KPiA+DQo+ID4gICAgICAgICAgICAg
ICAgICAgICAgICAgLyogSWYgcGFja2V0IGlzIG5vdCBwdXJlIEwyIGFuZCBpcyBrbm93biwgc2tp
cA0KPiA+IGl0ICovDQo+ID4gLSAgICAgICAgICAgICAgICAgICAgICAgaWYgKChidWZzW2pdLT5w
YWNrZXRfdHlwZSAmIH5SVEVfUFRZUEVfTDJfRVRIRVIpDQo+ID4gIT0gMCkgew0KPiA+ICsgICAg
ICAgICAgICAgICAgICAgICAgIGlmICgobWJ1Zl9ib3VuY2Vbal0tPnBhY2tldF90eXBlICYNCj4g
PiB+UlRFX1BUWVBFX0wyX0VUSEVSKSAhPSAwKSB7DQo+ID4gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBqKys7DQo+ID4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250
aW51ZTsNCj4gPiAgICAgICAgICAgICAgICAgICAgICAgICB9DQo+ID4NCj4gPiAtICAgICAgICAg
ICAgICAgICAgICAgICBpZiAoaiArIDMgPCBudW1fcnhfdG90YWwpDQo+ID4gLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBydGVfcHJlZmV0Y2gwKHJ0ZV9wa3RtYnVmX210b2QoYnVmc1tq
ICsNCj4gPiAzXSwgdm9pZCAqKSk7DQo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgaWYgKGog
KyAzIDwgbnVtX3J4X3NsYXZlKQ0KPiA+ICsNCj4gPiAgcnRlX3ByZWZldGNoMChydGVfcGt0bWJ1
Zl9tdG9kKG1idWZfYm91bmNlW2ogKyAzXSwNCj4gPiArICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkDQo+ID4gKyAqKSk7DQo+
ID4NCj4gPiAtICAgICAgICAgICAgICAgICAgICAgICBoZHIgPSBydGVfcGt0bWJ1Zl9tdG9kKGJ1
ZnNbal0sIHN0cnVjdCBldGhlcl9oZHINCj4gPiAqKTsNCj4gPiArICAgICAgICAgICAgICAgICAg
ICAgICBoZHIgPSBydGVfcGt0bWJ1Zl9tdG9kKG1idWZfYm91bmNlW2pdLA0KPiA+ICsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IGV0aGVyX2hkciAq
KTsNCj4gPiAgICAgICAgICAgICAgICAgICAgICAgICBzdWJ0eXBlID0gKChzdHJ1Y3Qgc2xvd19w
cm90b2NvbF9mcmFtZQ0KPiA+ICopaGRyKS0+c2xvd19wcm90b2NvbC5zdWJ0eXBlOw0KPiA+DQo+
ID4gICAgICAgICAgICAgICAgICAgICAgICAgLyogUmVtb3ZlIHBhY2tldCBmcm9tIGFycmF5IGlm
IGl0IGlzIHNsb3cNCj4gPiBwYWNrZXQgb3Igc2xhdmUgaXMgbm90DQo+ID4gICAgICAgICAgICAg
ICAgICAgICAgICAgICogaW4gY29sbGVjdGluZyBzdGF0ZSBvciBib25kaW5nIGludGVyZmFjZSBp
cw0KPiA+IG5vdCBpbiBwcm9taXNjdW91cw0KPiA+ICAgICAgICAgICAgICAgICAgICAgICAgICAq
IG1vZGUgYW5kIHBhY2tldCBhZGRyZXNzIGRvZXMgbm90IG1hdGNoLiAqLw0KPiA+IC0gICAgICAg
ICAgICAgICAgICAgICAgIGlmICh1bmxpa2VseShpc19sYWNwX3BhY2tldHMoaGRyLT5ldGhlcl90
eXBlLA0KPiA+IHN1YnR5cGUsIGJ1ZnNbal0pIHx8DQo+ID4gKyAgICAgICAgICAgICAgICAgICAg
ICAgaWYgKHVubGlrZWx5KGlzX2xhY3BfcGFja2V0cyhoZHItPmV0aGVyX3R5cGUsDQo+ID4gKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdWJ0eXBl
LA0KPiA+IG1idWZfYm91bmNlW2pdKSB8fA0KPiA+ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIWNvbGxlY3RpbmcgfHwgKCFwcm9taXNjICYmDQo+ID4NCj4gPiAhaXNfbXVsdGljYXN0
X2V0aGVyX2FkZHIoJmhkci0+ZF9hZGRyKSAmJg0KPiA+ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAhaXNfc2FtZV9ldGhlcl9hZGRyKCZib25kX21hYywNCj4gPiAmaGRy
LT5kX2FkZHIpKSkpIHsNCj4gPg0KPiA+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aWYgKGhkci0+ZXRoZXJfdHlwZSA9PQ0KPiA+IGV0aGVyX3R5cGVfc2xvd19iZSkgew0KPiA+ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib25kX21vZGVfODAyM2FkX2hh
bmRsZV9zbG93X3BrdCgNCj4gPiAtICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGludGVybmFscywgc2xhdmVzW2lkeF0sDQo+ID4gYnVmc1tqXSk7DQo+ID4gKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnRlcm5hbHMsIHNsYXZlc1tp
ZHhdLA0KPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWJ1
Zl9ib3VuY2Vbal0pOw0KPiA+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNl
DQo+ID4gLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJ0ZV9wa3RtYnVm
X2ZyZWUoYnVmc1tqXSk7DQo+ID4gKw0KPiA+ICsgcnRlX3BrdG1idWZfZnJlZShtYnVmX2JvdW5j
ZVtqXSk7DQo+ID4NCj4gPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIFBhY2tl
dCBpcyBtYW5hZ2VkIGJ5IG1vZGUgNCBvcg0KPiA+IGRyb3BwZWQsIHNoaWZ0IHRoZSBhcnJheSAq
Lw0KPiA+IC0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbnVtX3J4X3RvdGFsLS07DQo+
ID4gLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoaiA8IG51bV9yeF90b3RhbCkg
ew0KPiA+IC0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtZW1tb3ZlKCZi
dWZzW2pdLCAmYnVmc1tqICsgMV0sDQo+ID4gc2l6ZW9mKGJ1ZnNbMF0pICoNCj4gPiAtICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAobnVtX3J4X3RvdGFsIC0g
aikpOw0KPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbnVtX3J4X3NsYXZlLS07
DQo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoaiA8IG51bV9yeF9zbGF2
ZSkgew0KPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtZW1tb3Zl
KCZtYnVmX2JvdW5jZVtqXSwNCj4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAmbWJ1Zl9ib3VuY2VbaiArIDFdLA0KPiA+ICsgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVvZihtYnVmX2JvdW5jZVswXSkgKg0K
PiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChudW1f
cnhfc2xhdmUgLSBqKSk7DQo+ID4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQo+
ID4gLSAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlDQo+ID4gKyAgICAgICAgICAgICAgICAg
ICAgICAgfSBlbHNlIHsNCj4gPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGorKzsN
Cj4gPiArICAgICAgICAgICAgICAgICAgICAgICB9DQo+ID4gICAgICAgICAgICAgICAgIH0NCj4g
PiArDQo+ID4gKyAgICAgICAgICAgICAgIGlmIChudW1fcnhfc2xhdmUgPiAwKSB7DQo+ID4gKyAg
ICAgICAgICAgICAgICAgICAgICAgaWYgKG1idWZfYm91bmNlWzBdID09IE5VTEwpDQo+ID4gKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSVEVfTE9HKEVSUiwgUE1ELCAiJXM6IEVucXVl
dWUgYSBOVUxMPz9cbiIsDQo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIF9fZnVuY19fKTsNCj4gPiArDQo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgbnVtX2Vu
cV9zbGF2ZSA9DQo+ID4gcnRlX3JpbmdfZW5xdWV1ZV9idXJzdChpbnRlcm5hbHMtPnJ4X3Jpbmcs
DQo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgKHZvaWQNCj4gPiAqKiltYnVmX2JvdW5jZSwNCj4gPiArDQo+ID4gbnVtX3J4
X3NsYXZlLA0KPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIE5VTEwpOw0KPiA+ICsNCj4gPiArICAgICAgICAgICAgICAgICAg
ICAgICBpZiAobnVtX2VucV9zbGF2ZSA8IG51bV9yeF9zbGF2ZSkgew0KPiA+ICsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgUlRFX0xPRyhFUlIsIFBNRCwNCj4gPiArICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIiVzOiBmYWlsZWQgdG8gZW5xdWV1ZSAldSBwYWNr
ZXRzIiwNCj4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX19mdW5j
X18sDQo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChudW1fcnhf
c2xhdmUgLSBudW1fZW5xX3NsYXZlKSk7DQo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBmb3IgKGogPSBudW1fZW5xX3NsYXZlOyBqIDwNCj4gPiArIG51bV9yeF9zbGF2ZTsNCj4g
PiBqKyspDQo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJ0ZV9w
a3RtYnVmX2ZyZWUobWJ1Zl9ib3VuY2Vbal0pOw0KPiA+ICsgICAgICAgICAgICAgICAgICAgICAg
IH0NCj4gPiArICAgICAgICAgICAgICAgICAgICAgICBudW1fcnhfdG90YWwgKz0gbnVtX2VucV9z
bGF2ZTsNCj4gPiArICAgICAgICAgICAgICAgfQ0KPiA+ICsNCj4gPiAgICAgICAgICAgICAgICAg
aWYgKHVubGlrZWx5KCsraWR4ID09IHNsYXZlX2NvdW50KSkNCj4gPiAgICAgICAgICAgICAgICAg
ICAgICAgICBpZHggPSAwOw0KPiA+ICAgICAgICAgfQ0KPiA+DQo+ID4gICAgICAgICBpbnRlcm5h
bHMtPmFjdGl2ZV9zbGF2ZSA9IGlkeDsNCj4gPiAtICAgICAgIHJldHVybiBudW1fcnhfdG90YWw7
DQo+ID4gK2RlcXVldWU6DQo+ID4gKyAgICAgICByZXR1cm4gcnRlX3JpbmdfZGVxdWV1ZV9idXJz
dChpbnRlcm5hbHMtPnJ4X3JpbmcsICh2b2lkICoqKWJ1ZnMsDQo+ID4gKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBuYl9wa3RzLCBOVUxMKTsNCj4gPiAgfQ0KPiA+DQo+ID4g
ICNpZiBkZWZpbmVkKFJURV9MSUJSVEVfQk9ORF9ERUJVR19BTEIpIHx8DQo+ID4gZGVmaW5lZChS
VEVfTElCUlRFX0JPTkRfREVCVUdfQUxCX0wxKQ0KPiA+IEBAIC0zMDY1LDYgKzMxMDksNyBAQCBi
b25kX2FsbG9jKHN0cnVjdCBydGVfdmRldl9kZXZpY2UgKmRldiwgdWludDhfdA0KPiBtb2RlKQ0K
PiA+ICAgICAgICAgc3RydWN0IGJvbmRfZGV2X3ByaXZhdGUgKmludGVybmFscyA9IE5VTEw7DQo+
ID4gICAgICAgICBzdHJ1Y3QgcnRlX2V0aF9kZXYgKmV0aF9kZXYgPSBOVUxMOw0KPiA+ICAgICAg
ICAgdWludDMyX3Qgdmxhbl9maWx0ZXJfYm1wX3NpemU7DQo+ID4gKyAgICAgICBjaGFyIG1lbV9u
YW1lW1JURV9FVEhfTkFNRV9NQVhfTEVOXTsNCj4gPg0KPiA+ICAgICAgICAgLyogbm93IGRvIGFs
bCBkYXRhIGFsbG9jYXRpb24gLSBmb3IgZXRoX2RldiBzdHJ1Y3R1cmUsIGR1bW15DQo+ID4gcGNp
IGRyaXZlcg0KPiA+ICAgICAgICAgICogYW5kIGludGVybmFsIChwcml2YXRlKSBkYXRhIEBAIC0z
MTI5LDYgKzMxNzQsMTkgQEANCj4gPiBib25kX2FsbG9jKHN0cnVjdCBydGVfdmRldl9kZXZpY2Ug
KmRldiwgdWludDhfdA0KPiA+IG1vZGUpDQo+ID4gICAgICAgICBUQUlMUV9JTklUKCZpbnRlcm5h
bHMtPmZsb3dfbGlzdCk7DQo+ID4gICAgICAgICBpbnRlcm5hbHMtPmZsb3dfaXNvbGF0ZWRfdmFs
aWQgPSAwOw0KPiA+DQo+ID4gKyAgICAgICBzbnByaW50ZihtZW1fbmFtZSwgUlRFX0RJTShtZW1f
bmFtZSksICJib25kXyV1X3J4IiwNCj4gPiBpbnRlcm5hbHMtPnBvcnRfaWQpOw0KPiA+ICsgICAg
ICAgaW50ZXJuYWxzLT5yeF9yaW5nID0gcnRlX3JpbmdfbG9va3VwKG1lbV9uYW1lKTsNCj4gPiAr
ICAgICAgIGlmIChpbnRlcm5hbHMtPnJ4X3JpbmcgPT0gTlVMTCkgew0KPiA+ICsgICAgICAgICAg
ICAgICBpbnRlcm5hbHMtPnJ4X3JpbmcgPSBydGVfcmluZ19jcmVhdGUobWVtX25hbWUsDQo+ID4g
Kw0KPiA+IHJ0ZV9hbGlnbjMycG93MihQTURfQk9ORF9SRUNWX1JJTkdfUEtUUyAqDQo+ID4gKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBydGVfbGNv
cmVfY291bnQoKSksDQo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNv
Y2tldF9pZCwgMCk7DQo+ID4gKyAgICAgICAgICAgICAgIGlmIChpbnRlcm5hbHMtPnJ4X3Jpbmcg
PT0gTlVMTCkNCj4gPiArICAgICAgICAgICAgICAgICAgICAgICBydGVfcGFuaWMoIiVzOiBGYWls
ZWQgdG8gY3JlYXRlIHJ4IHJpbmcgJyVzJzoNCj4gPiAlc1xuIiwgbmFtZSwNCj4gPiArICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgbWVtX25hbWUsIHJ0ZV9zdHJlcnJvcihydGVfZXJy
bm8pKTsNCj4gPiArICAgICAgIH0NCj4gPiArDQo+ID4gKw0KPiA+ICAgICAgICAgLyogU2V0IG1v
ZGUgNCBkZWZhdWx0IGNvbmZpZ3VyYXRpb24gKi8NCj4gPiAgICAgICAgIGJvbmRfbW9kZV84MDIz
YWRfc2V0dXAoZXRoX2RldiwgTlVMTCk7DQo+ID4gICAgICAgICBpZiAoYm9uZF9ldGhkZXZfbW9k
ZV9zZXQoZXRoX2RldiwgbW9kZSkpIHsgZGlmZiAtLWdpdA0KPiA+IGEvZHJpdmVycy9uZXQvYm9u
ZGluZy9ydGVfZXRoX2JvbmRfcHJpdmF0ZS5oDQo+ID4gYi9kcml2ZXJzL25ldC9ib25kaW5nL3J0
ZV9ldGhfYm9uZF9wcml2YXRlLmgNCj4gPiBpbmRleCA0M2UwZTQ0OGRmLi44MDI2MWM2YjE0IDEw
MDY0NA0KPiA+IC0tLSBhL2RyaXZlcnMvbmV0L2JvbmRpbmcvcnRlX2V0aF9ib25kX3ByaXZhdGUu
aA0KPiA+ICsrKyBiL2RyaXZlcnMvbmV0L2JvbmRpbmcvcnRlX2V0aF9ib25kX3ByaXZhdGUuaA0K
PiA+IEBAIC0yNiw2ICsyNiw4IEBADQo+ID4gICNkZWZpbmUgUE1EX0JPTkRfTFNDX1BPTExfUEVS
SU9EX0tWQVJHDQo+ICgibHNjX3BvbGxfcGVyaW9kX21zIikNCj4gPiAgI2RlZmluZSBQTURfQk9O
RF9MSU5LX1VQX1BST1BfREVMQVlfS1ZBUkcgICAgICAoInVwX2RlbGF5IikNCj4gPiAgI2RlZmlu
ZSBQTURfQk9ORF9MSU5LX0RPV05fUFJPUF9ERUxBWV9LVkFSRw0KPiAoImRvd25fZGVsYXkiKQ0K
PiA+ICsjZGVmaW5lIFBNRF9CT05EX1JFQ1ZfUklOR19QS1RTICAgICAgICAgICAgICAgIDUxMg0K
PiA+ICsjZGVmaW5lIFBNRF9CT05EX1JFQ1ZfUEtUU19QRVJfU0xBVkUgICAgICAgICAgIDMyDQo+
ID4NCj4gPiAgI2RlZmluZSBQTURfQk9ORF9YTUlUX1BPTElDWV9MQVlFUjJfS1ZBUkcgICAgICAo
ImwyIikNCj4gPiAgI2RlZmluZSBQTURfQk9ORF9YTUlUX1BPTElDWV9MQVlFUjIzX0tWQVJHICAg
ICAoImwyMyIpDQo+ID4gQEAgLTE3NSw2ICsxNzcsOCBAQCBzdHJ1Y3QgYm9uZF9kZXZfcHJpdmF0
ZSB7DQo+ID4NCj4gPiAgICAgICAgIHZvaWQgKnZsYW5fZmlsdGVyX2JtcG1lbTsgICAgICAgICAg
ICAgICAvKiBlbmFibGVkIHZsYW4gZmlsdGVyDQo+ID4gYml0bWFwICovDQo+ID4gICAgICAgICBz
dHJ1Y3QgcnRlX2JpdG1hcCAqdmxhbl9maWx0ZXJfYm1wOw0KPiA+ICsNCj4gPiArICAgICAgIHN0
cnVjdCBydGVfcmluZyAqcnhfcmluZzsNCj4gPiAgfTsNCj4gPg0KPiA+ICBleHRlcm4gY29uc3Qg
c3RydWN0IGV0aF9kZXZfb3BzIGRlZmF1bHRfZGV2X29wczsNCj4gPiAtLQ0KPiA+IDIuMTguMA0K
PiA+DQo+ID4NCg==