From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <Tone.Zhang@arm.com>
Received: from EUR02-AM5-obe.outbound.protection.outlook.com
 (mail-eopbgr00088.outbound.protection.outlook.com [40.107.0.88])
 by dpdk.org (Postfix) with ESMTP id 9352B2D13
 for <dev@dpdk.org>; Thu, 15 Nov 2018 01:49:04 +0100 (CET)
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=kFqjmKZbz5KhvglcaVGPV1V7zdx8X6TQ469H/enrsIc=;
 b=fO3l5b+L/joNMy0SdRNatjoT1ty1tB9S5AWx+gPtRuI9PWmudfqt9LzVmGllCHgLs0w0RGNt6CzT//AGs/dk5PdMVZ1bnALG2SuUc9buRJ8e6Sddb9F8v7zPm5ZWkMrIv8Hy/cO1KxzFJJAghciIP2hDeQY+jF5APyXGwuUDhHk=
Received: from AM0PR08MB3409.eurprd08.prod.outlook.com (20.177.109.139) by
 AM0PR08MB3140.eurprd08.prod.outlook.com (52.134.93.145) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.1294.45; Thu, 15 Nov 2018 00:49:03 +0000
Received: from AM0PR08MB3409.eurprd08.prod.outlook.com
 ([fe80::2927:5a10:ee9d:6f3b]) by AM0PR08MB3409.eurprd08.prod.outlook.com
 ([fe80::2927:5a10:ee9d:6f3b%3]) with mapi id 15.20.1339.021; Thu, 15 Nov 2018
 00:49:03 +0000
From: "Tone Zhang (Arm Technology China)" <Tone.Zhang@arm.com>
To: "Burakov, Anatoly" <anatoly.burakov@intel.com>, "dev@dpdk.org"
 <dev@dpdk.org>
CC: "Gavin Hu (Arm Technology China)" <Gavin.Hu@arm.com>, Honnappa Nagarahalli
 <Honnappa.Nagarahalli@arm.com>, Steve Capper <Steve.Capper@arm.com>, nd
 <nd@arm.com>
Thread-Topic: [PATCH v2] pci_vfio: Support 64KB kernel page_size with vfio-pci
 driver
Thread-Index: AQHUeCXaYw29mHEoBkeQvc6IBXfx6aVQB2rQ
Date: Thu, 15 Nov 2018 00:49:03 +0000
Message-ID: <AM0PR08MB3409F30EF4AB36BEBAF7F3C48FDC0@AM0PR08MB3409.eurprd08.prod.outlook.com>
References: <1540347604-18590-1-git-send-email-tone.zhang@arm.com>
 <1541743077-27994-1-git-send-email-tone.zhang@arm.com>
 <68c31d94-3e4d-7b03-209b-1e63c564aa74@intel.com>
In-Reply-To: <68c31d94-3e4d-7b03-209b-1e63c564aa74@intel.com>
Accept-Language: zh-CN, en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
authentication-results: spf=none (sender IP is )
 smtp.mailfrom=Tone.Zhang@arm.com; 
x-originating-ip: [113.29.88.7]
x-ms-publictraffictype: Email
x-microsoft-exchange-diagnostics: 1; AM0PR08MB3140;
 6:wNaBMwsz8rqGETBdvXbVBk9D+bE8PUEyZFTV5ua6gMgH4LtXXpMhArLUPn94ZeRT62c14tvIsq/VkgZst+mUtMlPEtce6XBJrX2q0InRcsS+pTabIWCeMfStKJMFNQz9n/FqSHKEC6jVMznYtU9CxFh3oslo7JfieoYzuKN38qyNVTZF4L9FmVM/InkbcxDkf80GmvrOltsU49iRuwChH53jw0oKm919DWpRnbCxFit6wcxDyPOz6t75CPkIXY6cOSLtS9+0U4ZJvEAVQFWqrU8QTBGIcvwbLsQmgQsLHS+oKfqO09GoP/7cKAP6IuSCXqjeQJ45S9goFeIniyh+W5rb2T/cCbF0EPXOm91YH23ejFsRWMWHD7abC/leoPQ5c1hopAwLH+CgOhRYpkiWho5t2apI/KrAdr8m6bk7HsO/38K86IWipCn4uDulD+DF+Bf7jpgGsUjb3DqLElBECg==;
 5:oVSRqzvieomCJuS4nqXknmsUvhnrQSBGBbBrUAfIx3fQItzxhyryJAenNtTjJylmAHIXJd2aoN0SZ1y4j4IZLY/d/eqKHwmyLUeGmyl73j6w0U5jgodYm2PNku6a64lNjSKAbLmCmcpOuIfq899PXOJbXFO1tOJ32nX9LOzyPIs=;
 7:Uk49HdaNOpykXWKQ83qsstyX8LMQK9SeOkxybSnJdWXt7VWgrfq5D70K3oEY6MWSDlcVeH86GLycRjSTlK/w1YtZsFLSzZmoZ7wWgCv9qnfR0yLRm96L2B6q5DNrnXG/wqzsfqFnXgMeZ0faJxXFJw==
x-ms-exchange-antispam-srfa-diagnostics: SOS;SOR;
x-ms-office365-filtering-correlation-id: a7656ba9-5f7b-4241-5717-08d64a9423ce
x-ms-office365-filtering-ht: Tenant
x-microsoft-antispam: BCL:0; PCL:0;
 RULEID:(2390098)(7020095)(4652040)(8989299)(5600074)(711020)(4618075)(4534185)(7168020)(4627221)(201703031133081)(201702281549075)(8990200)(2017052603328)(7153060)(7193020);
 SRVR:AM0PR08MB3140; 
x-ms-traffictypediagnostic: AM0PR08MB3140:
nodisclaimer: True
x-microsoft-antispam-prvs: <AM0PR08MB3140F6DB1A903B010A667BAF8FDC0@AM0PR08MB3140.eurprd08.prod.outlook.com>
x-exchange-antispam-report-test: UriScan:(228905959029699)(180628864354917);
x-ms-exchange-senderadcheck: 1
x-exchange-antispam-report-cfa-test: BCL:0; PCL:0;
 RULEID:(8211001083)(6040522)(2401047)(8121501046)(5005006)(10201501046)(3002001)(3231415)(944501410)(52105112)(93006095)(93001095)(6055026)(148016)(149066)(150057)(6041310)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123562045)(20161123564045)(20161123560045)(20161123558120)(201708071742011)(7699051)(76991095);
 SRVR:AM0PR08MB3140; BCL:0; PCL:0; RULEID:; SRVR:AM0PR08MB3140; 
x-forefront-prvs: 08572BD77F
x-forefront-antispam-report: SFV:NSPM;
 SFS:(10009020)(39860400002)(346002)(376002)(396003)(136003)(366004)(189003)(199004)(13464003)(6246003)(25786009)(81156014)(8676002)(81166006)(5660300001)(4326008)(8936002)(2906002)(97736004)(106356001)(105586002)(66066001)(110136005)(54906003)(316002)(14454004)(3846002)(6116002)(9686003)(7736002)(2501003)(33656002)(7696005)(74316002)(53936002)(305945005)(6506007)(68736007)(186003)(86362001)(102836004)(72206003)(575784001)(6436002)(14444005)(256004)(476003)(99286004)(26005)(71200400001)(486006)(478600001)(71190400001)(55236004)(55016002)(2900100001)(11346002)(53546011)(76176011)(229853002)(446003);
 DIR:OUT; SFP:1101; SCL:1; SRVR:AM0PR08MB3140;
 H:AM0PR08MB3409.eurprd08.prod.outlook.com; FPR:; SPF:None; LANG:en;
 PTR:InfoNoRecords; MX:1; A:1; 
received-spf: None (protection.outlook.com: arm.com does not designate
 permitted sender hosts)
x-microsoft-antispam-message-info: oZY9yZNPVCk8MSzjUwWLC8kzQJZlxWBhdVxbFqrxwlAzHaqDY3mxyzhLYSJlJ9xGmdjU8X1GQhqs0cmTvQRpvZjCUa1ESZOO7gOkytzYHkwXMO5dHu6gDBXvwTFDYobWz32o6lsRhG+B4E4WOJEssXJ0GvKN/C8qPFm3AOQIDVL8Yp08WkXXxBI3FnIzChAtBkX1VVQ0O7t6rIbCC3B3kN9RA4anYDk9k1cHwLoTnppsnaiuJpY6ngGJYpR12lJ3sc9VSWKEhngLbUaFdSJnEovtS5n9PxYilT4v5Wc9xCGZqQLkaY0BSwJ0oTz2SINGQOhR1lh3tpY26MUrVNGvOhhIhiMXyzMCNevahEcr1YI=
spamdiagnosticoutput: 1:99
spamdiagnosticmetadata: NSPM
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-Network-Message-Id: a7656ba9-5f7b-4241-5717-08d64a9423ce
X-MS-Exchange-CrossTenant-originalarrivaltime: 15 Nov 2018 00:49:03.4750 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR08MB3140
Subject: Re: [dpdk-dev] [PATCH v2] pci_vfio: Support 64KB kernel page_size
 with vfio-pci driver
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: Thu, 15 Nov 2018 00:49:04 -0000

SGkgQW5hdG9seSwNCg0KU29ycnkgZm9yIHRoZSBsYXRlIHJlc3BvbnNlLg0KDQo+IC0tLS0tT3Jp
Z2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IEJ1cmFrb3YsIEFuYXRvbHkgPGFuYXRvbHkuYnVy
YWtvdkBpbnRlbC5jb20+DQo+IFNlbnQ6IEZyaWRheSwgTm92ZW1iZXIgOSwgMjAxOCA4OjE1IFBN
DQo+IFRvOiBUb25lIFpoYW5nIChBcm0gVGVjaG5vbG9neSBDaGluYSkgPFRvbmUuWmhhbmdAYXJt
LmNvbT47DQo+IGRldkBkcGRrLm9yZw0KPiBDYzogR2F2aW4gSHUgKEFybSBUZWNobm9sb2d5IENo
aW5hKSA8R2F2aW4uSHVAYXJtLmNvbT47IEhvbm5hcHBhDQo+IE5hZ2FyYWhhbGxpIDxIb25uYXBw
YS5OYWdhcmFoYWxsaUBhcm0uY29tPjsgU3RldmUgQ2FwcGVyDQo+IDxTdGV2ZS5DYXBwZXJAYXJt
LmNvbT47IG5kIDxuZEBhcm0uY29tPg0KPiBTdWJqZWN0OiBSZTogW1BBVENIIHYyXSBwY2lfdmZp
bzogU3VwcG9ydCA2NEtCIGtlcm5lbCBwYWdlX3NpemUgd2l0aCB2ZmlvLXBjaQ0KPiBkcml2ZXIN
Cj4gDQo+IE9uIDA5LU5vdi0xOCA1OjU3IEFNLCB0b25lLnpoYW5nIHdyb3RlOg0KPiA+IFdpdGgg
YSBsYXJnZXIgUEFHRV9TSVpFIGl0IGlzIHBvc3NpYmxlIGZvciB0aGUgTVNJIHRhYmxlIHRvIHZl
cnkgY2xvc2UNCj4gPiB0byB0aGUgZW5kIG9mIHRoZSBCQVIgcy50LiB3aGVuIHdlIGFsaWduIHRo
ZSBzdGFydCBhbmQgZW5kIG9mIHRoZSBNU0kNCj4gPiB0YWJsZSB0byB0aGUgUEFHRV9TSVpFLCB0
aGUgZW5kIG9mZnNldCBvZiB0aGUgTVNJIHRhYmxlIGlzIG91dCBvZiB0aGUNCj4gPiBQQ0kgQkFS
IGJvdW5kYXJ5Lg0KPiA+DQo+ID4gVGhpcyBwYXRjaCBhZGRyZXNzZXMgdGhlIGlzc3VlIGJ5IGNv
bXBhcmluZyBib3RoIHRoZSBzdGFydCBhbmQgdGhlIGVuZA0KPiA+IG9mZnNldCBvZiB0aGUgTVNJ
IHRhYmxlIHdpdGggdGhlIEJBUiBzaXplLCBhbmQgc2tpcCB0aGUgbWFwcGluZyBpZiBpdA0KPiA+
IGlzIG91dCBvZiBCYXIgc2NvcGUuDQo+ID4NCj4gPiBUaGUgcGF0Y2ggZml4ZXMgdGhlIGRlYnVn
IGxvZyBhcyBiZWxvdzoNCj4gPiBFQUw6IFNraXBwaW5nIEJBUjANCj4gPg0KPiA+IFNpZ25lZC1v
ZmYtYnk6IHRvbmUuemhhbmcgPHRvbmUuemhhbmdAYXJtLmNvbT4NCj4gPiBSZXZpZXdlZC1ieTog
R2F2aW4gSHUgPEdhdmluLkh1QGFybS5jb20+DQo+ID4gUmV2aWV3ZWQtYnk6IEhvbm5hcHBhIE5h
Z2FyYWhhbGxpIDxob25uYXBwYS5uYWdhcmFoYWxsaUBhcm0uY29tPg0KPiA+IFJldmlld2VkLWJ5
OiBTdGV2ZSBDYXBwZXIgPFN0ZXZlLkNhcHBlckBhcm0uY29tPg0KPiA+IFJldmlld2VkLWJ5OiBC
dXJha292IEFuYXRvbHkgPGFuYXRvbHkuYnVyYWtvdkBpbnRlbC5jb20+DQo+IA0KPiBJbiB0aGUg
ZnV0dXJlLCBwbGVhc2UgZG9uJ3QgaW5jbHVkZSBteSBSZXZpZXdlZCB0YWcgdW5sZXNzIGkgYWN0
dWFsbHkgc2VudCBvbmUgOikNCg0KVGhhbmtzIGEgbG90ISBXaWxsIGtlZXAgaW4gbWluZC4g8J+Y
ig0KDQo+IA0KPiA+IC0tLQ0KPiA+ICAgZHJpdmVycy9idXMvcGNpL2xpbnV4L3BjaV92ZmlvLmMg
fCAzNiArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tDQo+IC0tDQo+ID4gICAxIGZp
bGUgY2hhbmdlZCwgMzEgaW5zZXJ0aW9ucygrKSwgNSBkZWxldGlvbnMoLSkNCj4gPg0KPiA+IGRp
ZmYgLS1naXQgYS9kcml2ZXJzL2J1cy9wY2kvbGludXgvcGNpX3ZmaW8uYw0KPiA+IGIvZHJpdmVy
cy9idXMvcGNpL2xpbnV4L3BjaV92ZmlvLmMNCj4gPiBpbmRleCAzMDVjYzA2Li45YTBhZmZlIDEw
MDY0NA0KPiA+IC0tLSBhL2RyaXZlcnMvYnVzL3BjaS9saW51eC9wY2lfdmZpby5jDQo+ID4gKysr
IGIvZHJpdmVycy9idXMvcGNpL2xpbnV4L3BjaV92ZmlvLmMNCj4gPiBAQCAtNDQ1LDkgKzQ0NSwx
MSBAQCBwY2lfdmZpb19tbWFwX2JhcihpbnQgdmZpb19kZXZfZmQsIHN0cnVjdA0KPiBtYXBwZWRf
cGNpX3Jlc291cmNlICp2ZmlvX3JlcywNCj4gPiAgIAlzdHJ1Y3QgcGNpX21zaXhfdGFibGUgKm1z
aXhfdGFibGUgPSAmdmZpb19yZXMtPm1zaXhfdGFibGU7DQo+ID4gICAJc3RydWN0IHBjaV9tYXAg
KmJhciA9ICZ2ZmlvX3Jlcy0+bWFwc1tiYXJfaW5kZXhdOw0KPiA+DQo+ID4gLQlpZiAoYmFyLT5z
aXplID09IDApDQo+ID4gKwlpZiAoYmFyLT5zaXplID09IDApIHsNCj4gPiAgIAkJLyogU2tpcCB0
aGlzIEJBUiAqLw0KPiA+ICsJCVJURV9MT0coSU5GTywgRUFMLCAiU2tpcHBpbmcgQkFSJWRcbiIs
IGJhcl9pbmRleCk7DQo+ID4gICAJCXJldHVybiAwOw0KPiA+ICsJfQ0KPiA+DQo+ID4gICAJaWYg
KG1zaXhfdGFibGUtPmJhcl9pbmRleCA9PSBiYXJfaW5kZXgpIHsNCj4gPiAgIAkJLyoNCj4gPiBA
QCAtNDU2LDggKzQ1OCwyMiBAQCBwY2lfdmZpb19tbWFwX2JhcihpbnQgdmZpb19kZXZfZmQsIHN0
cnVjdA0KPiBtYXBwZWRfcGNpX3Jlc291cmNlICp2ZmlvX3JlcywNCj4gPiAgIAkJICovDQo+ID4g
ICAJCXVpbnQzMl90IHRhYmxlX3N0YXJ0ID0gbXNpeF90YWJsZS0+b2Zmc2V0Ow0KPiA+ICAgCQl1
aW50MzJfdCB0YWJsZV9lbmQgPSB0YWJsZV9zdGFydCArIG1zaXhfdGFibGUtPnNpemU7DQo+ID4g
LQkJdGFibGVfZW5kID0gKHRhYmxlX2VuZCArIH5QQUdFX01BU0spICYgUEFHRV9NQVNLOw0KPiA+
IC0JCXRhYmxlX3N0YXJ0ICY9IFBBR0VfTUFTSzsNCj4gPiArCQl0YWJsZV9lbmQgPSBSVEVfQUxJ
R04odGFibGVfZW5kLCBQQUdFX1NJWkUpOw0KPiA+ICsJCXRhYmxlX3N0YXJ0ID0gUlRFX0FMSUdO
KHRhYmxlX3N0YXJ0LCBQQUdFX1NJWkUpOw0KPiA+ICsJCS8qIGFmdGVyIHJvdW5kaW5nIHRvIFBB
R0VfU0laRSwgaXQgaXMgb3ZlciB0aGUgYmFyLT5zaXplLA0KPiA+ICsJCSAqIGZhbGwgYmFjayB0
byB0aGUgTVNJLVggdGFibGUgb2Zmc2V0IGluIHRoZSBiYXIgYW5kDQo+ID4gKwkJICogYWxpZ24g
d2l0aCBQQUdFX1NJWkUuDQo+ID4gKwkJICovDQo+IA0KPiBNaW5vciBuaXRwaWNrIC0gd29yZGlu
ZyBvZiBjb21tZW50IGNvdWxkIGJlIGJldHRlciwgZm9yIGV4YW1wbGU6DQo+IA0KPiBpZiBwYWdl
LWFsaWduZWQgc3RhcnQgb2YgTVNJLVggdGFibGUgaXMgYmV5b25kIEJBUiBzaXplLCBzaHJpbmsg
dGhlIG1hcHBpbmcgc2l6ZQ0KPiB0byBNU0ktWCB0YWJsZSBzdGFydCBhZGRyZXNzLg0KPiANCj4g
QWxzbywgcHJvYmFibHkgbmVlZHMgbmV3bGluZSBiZWZvcmUgY29tbWVudC4NCj4NCg0KV2lsbCB1
cGRhdGUgdGhlIGNvZGUgaW4gbmV4dCB2ZXJzaW9uLiBUaGFua3MhDQoNCj4gPiArCQlpZiAodGFi
bGVfc3RhcnQgPj0gYmFyLT5zaXplKSB7DQo+ID4gKwkJCXRhYmxlX3N0YXJ0ID0gUlRFX0FMSUdO
X0ZMT09SKG1zaXhfdGFibGUtPm9mZnNldCwNCj4gPiArCQkJCQkJCVBBR0VfU0laRSk7DQo+ID4g
KwkJCS8qIGFmdGVyIGFsaWduaW5nIHdpdGggUEFHRV9TSVpFLCBpZiBpdCBpcyBsZXNzIHRoYW4N
Cj4gPiArCQkJICogdGhlIE1TSS1YIHRhYmxlIG9mZnNldCwgY29udGludWUgZmFsbGluZyBiYWNr
IHRvDQo+ID4gKwkJCSAqIHRoZSBhY3R1YWwgTVNJLVggdGFibGUgb2Zmc2V0IGluIHRoZSBiYXIu
DQo+ID4gKwkJCSAqLw0KPiANCj4gU2FtZSBoZXJlLCB3b3JkaW5nIGNvdWxkIHByb2JhYmx5IGJl
IGltcHJvdmVkLiBTdWdnZXN0ZWQgcmV3b3JkaW5nOg0KPiANCj4gSWYgTVNJLVggdGFibGUgYWRk
cmVzcywgZmxvb3ItYWxpZ25lZCBieSBwYWdlIHNpemUsIGlzIGxvd2VyIHRoYW4gYWN0dWFsIE1T
SS1YDQo+IHRhYmxlIG9mZnNldCwgZmFsbCBiYWNrIHRvIHVzaW5nIE1TSS1YIHRhYmxlIG9mZnNl
dCBhcyB0YWJsZSBzdGFydC4NCj4gDQo+IE5vdyB0aGF0IGkgdGhpbmsgb2YgaXQsIHRoaXMgY291
bGQgcmVhbGx5IGJlIGV4cHJlc3NlZCBsaWtlIHRoaXM6DQo+IA0KPiB1aW50MzJfdCBhbGlnbmVk
ID0gUlRFX0FMSUdOX0ZMT09SKG1zaXhfdGFibGUtPm9mZnNldCwgUEFHRV9TSVpFKTsNCj4gdGFi
bGVfc3RhcnQgPSBSVEVfTUFYKGFsaWduZWQsIG1zaXhfdGFibGVfb2Zmc2V0KTsNCj4gDQo+IEkg
YmVsaWV2ZSB0aGlzIHdvdWxkIGJlIG11Y2ggY2xlYXJlci4NCj4NCg0KV2lsbCB1cGRhdGUgdGhl
IHBhdGNoLg0KIA0KPiA+ICsJCQlpZiAodGFibGVfc3RhcnQgPCBtc2l4X3RhYmxlLT5vZmZzZXQp
DQo+ID4gKwkJCQl0YWJsZV9zdGFydCA9IG1zaXhfdGFibGUtPm9mZnNldDsNCj4gPiArCQl9DQo+
ID4NCj4gPiAgIAkJaWYgKHRhYmxlX3N0YXJ0ID09IDAgJiYgdGFibGVfZW5kID49IGJhci0+c2l6
ZSkgew0KPiA+ICAgCQkJLyogQ2Fubm90IG1hcCB0aGlzIEJBUiAqLw0KPiA+IEBAIC00NjksOCAr
NDg1LDE4IEBAIHBjaV92ZmlvX21tYXBfYmFyKGludCB2ZmlvX2Rldl9mZCwgc3RydWN0DQo+ID4g
bWFwcGVkX3BjaV9yZXNvdXJjZSAqdmZpb19yZXMsDQo+ID4NCj4gPiAgIAkJbWVtcmVnWzBdLm9m
ZnNldCA9IGJhci0+b2Zmc2V0Ow0KPiA+ICAgCQltZW1yZWdbMF0uc2l6ZSA9IHRhYmxlX3N0YXJ0
Ow0KPiA+IC0JCW1lbXJlZ1sxXS5vZmZzZXQgPSBiYXItPm9mZnNldCArIHRhYmxlX2VuZDsNCj4g
PiAtCQltZW1yZWdbMV0uc2l6ZSA9IGJhci0+c2l6ZSAtIHRhYmxlX2VuZDsNCj4gPiArCQlpZiAo
YmFyLT5zaXplIDwgdGFibGVfZW5kKSB7DQo+ID4gKwkJCS8qDQo+ID4gKwkJCSAqIGFmdGVyIHJv
dW5kaW5nIHRvIFBBR0VfU0laRSB3ZSBkb24ndCBoYXZlIGFueSBzcGFjZQ0KPiA+ICsJCQkgKiBs
ZWZ0IGFmdGVyIHRoZSBNU0kgdGFibGUsIHNvIGRvbid0IHRyeSBhbmQgbWFwIGl0Lg0KPiA+ICsJ
CQkgKi8NCj4gDQo+IFN1Z2dlc3RlZCByZXdvcmRpbmc6DQo+IA0KPiBJZiBNU0ktWCB0YWJsZSBl
bmQgaXMgYmV5b25kIEJBUiBlbmQsIGRvbid0IGF0dGVtcHQgdG8gcGVyZm9ybSBzZWNvbmQgbWFw
cGluZy4NCj4gDQoNClRoYW5rcyBhIGxvdC4gV2lsbCB1cGRhdGUuDQoNCj4gPiArCQkJbWVtcmVn
WzFdLm9mZnNldCA9IDA7DQo+ID4gKwkJCW1lbXJlZ1sxXS5zaXplID0gMDsNCj4gPiArCQl9DQo+
ID4gKwkJZWxzZSB7DQo+ID4gKwkJCW1lbXJlZ1sxXS5vZmZzZXQgPSBiYXItPm9mZnNldCArIHRh
YmxlX2VuZDsNCj4gPiArCQkJbWVtcmVnWzFdLnNpemUgPSBiYXItPnNpemUgLSB0YWJsZV9lbmQ7
DQo+ID4gKwkJfQ0KPiA+DQo+ID4gICAJCVJURV9MT0coREVCVUcsIEVBTCwNCj4gPiAgIAkJCSJU
cnlpbmcgdG8gbWFwIEJBUiVkIHRoYXQgY29udGFpbnMgdGhlIE1TSS1YICINCj4gPg0KPiANCj4g
SG93ZXZlciwgdGhlIHBhdGNoIGNhbiBnbyBpbiBhcyBpcyBpZiBuZWVkZWQsIHNvDQo+IA0KPiBS
ZXZpZXdlZC1ieTogQW5hdG9seSBCdXJha292IDxhbmF0b2x5LmJ1cmFrb3ZAaW50ZWwuY29tPg0K
PiANCg0KVGhhbmtzISDwn5iJDQoNCj4gLS0NCj4gVGhhbmtzLA0KPiBBbmF0b2x5DQoNCkJyLA0K
VG9uZQ0K