From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:56599) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gZG5O-0002Vq-FG for qemu-devel@nongnu.org; Tue, 18 Dec 2018 09:11:14 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gZG5C-0003D9-73 for qemu-devel@nongnu.org; Tue, 18 Dec 2018 09:11:02 -0500 Received: from mail-eopbgr750137.outbound.protection.outlook.com ([40.107.75.137]:39184 helo=NAM02-BL2-obe.outbound.protection.outlook.com) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1gZG5B-0003Cp-I0 for qemu-devel@nongnu.org; Tue, 18 Dec 2018 09:10:50 -0500 From: Stefan Markovic Date: Tue, 18 Dec 2018 13:26:14 +0000 Message-ID: <08ad8d32-1b6d-3b2b-6c0b-d5aa102bd3f0@wavecomp.com> References: <20181217171007.5007-1-aleksandar.markovic@rt-rk.com> <20181217171007.5007-5-aleksandar.markovic@rt-rk.com> In-Reply-To: <20181217171007.5007-5-aleksandar.markovic@rt-rk.com> Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-ID: Content-Transfer-Encoding: base64 MIME-Version: 1.0 Subject: Re: [Qemu-devel] [PATCH v2 4/5] disas: nanoMIPS: Fix order of some invocations List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Aleksandar Markovic , "qemu-devel@nongnu.org" , Aleksandar Markovic DQpPbiAxNy4xMi4xOC4gMTg6MTAsIEFsZWtzYW5kYXIgTWFya292aWMgd3JvdGU6DQo+IEZyb206 IEFsZWtzYW5kYXIgTWFya292aWMgPGFtYXJrb3ZpY0B3YXZlY29tcC5jb20+DQo+DQo+IEZpeCBv cmRlciBvZiBleHRyYWN0aW9uIGZ1bmN0aW9uIGludm9jYXRpb25zIHNvIHRoYXQgZXh0cmFjdGlv bg0KPiBnb2VzIGZyb20gTVNCIHNpZGUgdG8gTFNCIHNpZGUgb2YgdGhlIGdpdmVuIGluc3RydWN0 aW9uIGNvZGluZw0KPiBjb250ZW50LiBUaGlzIGlzIGRlc2lyZWFibGUgYmVjYXVzZSBvZiBjb25z aXN0ZW5jeSBhbmQgZWFzaWVyDQo+IHZpc3VhbCBzcG90dGluZyBvZiBlcnJvcnMuDQo+DQo+IFNp Z25lZC1vZmYtYnk6IEFsZWtzYW5kYXIgTWFya292aWMgPGFtYXJrb3ZpY0B3YXZlY29tcC5jb20+ DQo+IC0tLQ0KPiAgIGRpc2FzL25hbm9taXBzLmNwcCB8IDc3NiArKysrKysrKysrKysrKysrKysr KysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCj4gICAxIGZpbGUgY2hhbmdlZCwgMzg4IGluc2Vy dGlvbnMoKyksIDM4OCBkZWxldGlvbnMoLSkNCg0KDQpSZXZpZXdlZC1ieTogU3RlZmFuIE1hcmtv dmljIDxzbWFya292aWNAd2F2ZWNvbXAuY29tPg0KDQoNCj4gZGlmZiAtLWdpdCBhL2Rpc2FzL25h bm9taXBzLmNwcCBiL2Rpc2FzL25hbm9taXBzLmNwcA0KPiBpbmRleCBjZmFkMWVjODQ1Li45ZTg3 NjMwNWYxIDEwMDY0NA0KPiAtLS0gYS9kaXNhcy9uYW5vbWlwcy5jcHANCj4gKysrIGIvZGlzYXMv bmFub21pcHMuY3BwDQo+IEBAIC0xNTk3LDggKzE1OTcsOCBAQCBib29sIE5NRDo6U0xUVV9jb25k KHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gICAgKi8NCj4gICBzdGQ6OnN0cmluZyBOTUQ6OkFCU19E KHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gICB7DQo+IC0gICAgdWludDY0IGZzX3ZhbHVlID0gZXh0 cmFjdF9mc18xNV8xNF8xM18xMl8xMShpbnN0cnVjdGlvbik7DQo+ICAgICAgIHVpbnQ2NCBmZF92 YWx1ZSA9IGV4dHJhY3RfZnRfMjBfMTlfMThfMTdfMTYoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVp bnQ2NCBmc192YWx1ZSA9IGV4dHJhY3RfZnNfMTVfMTRfMTNfMTJfMTEoaW5zdHJ1Y3Rpb24pOw0K PiAgIA0KPiAgICAgICBzdGQ6OnN0cmluZyBmcyA9IEZQUihjb3B5KGZzX3ZhbHVlKSk7DQo+ICAg ICAgIHN0ZDo6c3RyaW5nIGZkID0gRlBSKGNvcHkoZmRfdmFsdWUpKTsNCj4gQEAgLTE2MTksOCAr MTYxOSw4IEBAIHN0ZDo6c3RyaW5nIE5NRDo6QUJTX0QodWludDY0IGluc3RydWN0aW9uKQ0KPiAg ICAqLw0KPiAgIHN0ZDo6c3RyaW5nIE5NRDo6QUJTX1ModWludDY0IGluc3RydWN0aW9uKQ0KPiAg IHsNCj4gLSAgICB1aW50NjQgZnNfdmFsdWUgPSBleHRyYWN0X2ZzXzE1XzE0XzEzXzEyXzExKGlu c3RydWN0aW9uKTsNCj4gICAgICAgdWludDY0IGZkX3ZhbHVlID0gZXh0cmFjdF9mdF8yMF8xOV8x OF8xN18xNihpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IGZzX3ZhbHVlID0gZXh0cmFjdF9m c18xNV8xNF8xM18xMl8xMShpbnN0cnVjdGlvbik7DQo+ICAgDQo+ICAgICAgIHN0ZDo6c3RyaW5n IGZzID0gRlBSKGNvcHkoZnNfdmFsdWUpKTsNCj4gICAgICAgc3RkOjpzdHJpbmcgZmQgPSBGUFIo Y29weShmZF92YWx1ZSkpOw0KPiBAQCAtMTcyNyw4ICsxNzI3LDggQEAgc3RkOjpzdHJpbmcgTk1E OjpBQ0xSKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gICBzdGQ6OnN0cmluZyBOTUQ6OkFERCh1aW50 NjQgaW5zdHJ1Y3Rpb24pDQo+ICAgew0KPiAgICAgICB1aW50NjQgcnRfdmFsdWUgPSBleHRyYWN0 X3J0XzI1XzI0XzIzXzIyXzIxKGluc3RydWN0aW9uKTsNCj4gLSAgICB1aW50NjQgcmRfdmFsdWUg PSBleHRyYWN0X3JkXzE1XzE0XzEzXzEyXzExKGluc3RydWN0aW9uKTsNCj4gICAgICAgdWludDY0 IHJzX3ZhbHVlID0gZXh0cmFjdF9yc18yMF8xOV8xOF8xN18xNihpbnN0cnVjdGlvbik7DQo+ICsg ICAgdWludDY0IHJkX3ZhbHVlID0gZXh0cmFjdF9yZF8xNV8xNF8xM18xMl8xMShpbnN0cnVjdGlv bik7DQo+ICAgDQo+ICAgICAgIHN0ZDo6c3RyaW5nIHJkID0gR1BSKGNvcHkocmRfdmFsdWUpKTsN Cj4gICAgICAgc3RkOjpzdHJpbmcgcnMgPSBHUFIoY29weShyc192YWx1ZSkpOw0KPiBAQCAtMTgw MCw4ICsxODAwLDggQEAgc3RkOjpzdHJpbmcgTk1EOjpBRERfUyh1aW50NjQgaW5zdHJ1Y3Rpb24p DQo+ICAgc3RkOjpzdHJpbmcgTk1EOjpBRERJVV8zMl8odWludDY0IGluc3RydWN0aW9uKQ0KPiAg IHsNCj4gICAgICAgdWludDY0IHJ0X3ZhbHVlID0gZXh0cmFjdF9ydF8yNV8yNF8yM18yMl8yMShp bnN0cnVjdGlvbik7DQo+IC0gICAgdWludDY0IHVfdmFsdWUgPSBleHRyYWN0X3VfMTVfdG9fMChp bnN0cnVjdGlvbik7DQo+ICAgICAgIHVpbnQ2NCByc192YWx1ZSA9IGV4dHJhY3RfcnNfMjBfMTlf MThfMTdfMTYoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCB1X3ZhbHVlID0gZXh0cmFjdF91 XzE1X3RvXzAoaW5zdHJ1Y3Rpb24pOw0KPiAgIA0KPiAgICAgICBzdGQ6OnN0cmluZyBydCA9IEdQ Uihjb3B5KHJ0X3ZhbHVlKSk7DQo+ICAgICAgIHN0ZDo6c3RyaW5nIHJzID0gR1BSKGNvcHkocnNf dmFsdWUpKTsNCj4gQEAgLTE5MDcsOCArMTkwNyw4IEBAIHN0ZDo6c3RyaW5nIE5NRDo6QURESVVf R1BfV18odWludDY0IGluc3RydWN0aW9uKQ0KPiAgIHN0ZDo6c3RyaW5nIE5NRDo6QURESVVfTkVH Xyh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICAgew0KPiAgICAgICB1aW50NjQgcnRfdmFsdWUgPSBl eHRyYWN0X3J0XzI1XzI0XzIzXzIyXzIxKGluc3RydWN0aW9uKTsNCj4gLSAgICB1aW50NjQgdV92 YWx1ZSA9IGV4dHJhY3RfdV8xMV8xMF85XzhfN182XzVfNF8zXzJfMV8wKGluc3RydWN0aW9uKTsN Cj4gICAgICAgdWludDY0IHJzX3ZhbHVlID0gZXh0cmFjdF9yc18yMF8xOV8xOF8xN18xNihpbnN0 cnVjdGlvbik7DQo+ICsgICAgdWludDY0IHVfdmFsdWUgPSBleHRyYWN0X3VfMTFfMTBfOV84Xzdf Nl81XzRfM18yXzFfMChpbnN0cnVjdGlvbik7DQo+ICAgDQo+ICAgICAgIHN0ZDo6c3RyaW5nIHJ0 ID0gR1BSKGNvcHkocnRfdmFsdWUpKTsNCj4gICAgICAgc3RkOjpzdHJpbmcgcnMgPSBHUFIoY29w eShyc192YWx1ZSkpOw0KPiBAQCAtMjAzOSw4ICsyMDM5LDggQEAgc3RkOjpzdHJpbmcgTk1EOjpB RERJVVBDXzQ4Xyh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICAgc3RkOjpzdHJpbmcgTk1EOjpBRERR X1BIKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gICB7DQo+ICAgICAgIHVpbnQ2NCBydF92YWx1ZSA9 IGV4dHJhY3RfcnRfMjVfMjRfMjNfMjJfMjEoaW5zdHJ1Y3Rpb24pOw0KPiAtICAgIHVpbnQ2NCBy ZF92YWx1ZSA9IGV4dHJhY3RfcmRfMTVfMTRfMTNfMTJfMTEoaW5zdHJ1Y3Rpb24pOw0KPiAgICAg ICB1aW50NjQgcnNfdmFsdWUgPSBleHRyYWN0X3JzXzIwXzE5XzE4XzE3XzE2KGluc3RydWN0aW9u KTsNCj4gKyAgICB1aW50NjQgcmRfdmFsdWUgPSBleHRyYWN0X3JkXzE1XzE0XzEzXzEyXzExKGlu c3RydWN0aW9uKTsNCj4gICANCj4gICAgICAgc3RkOjpzdHJpbmcgcmQgPSBHUFIoY29weShyZF92 YWx1ZSkpOw0KPiAgICAgICBzdGQ6OnN0cmluZyBycyA9IEdQUihjb3B5KHJzX3ZhbHVlKSk7DQo+ IEBAIC0yMDYzLDggKzIwNjMsOCBAQCBzdGQ6OnN0cmluZyBOTUQ6OkFERFFfUEgodWludDY0IGlu c3RydWN0aW9uKQ0KPiAgIHN0ZDo6c3RyaW5nIE5NRDo6QUREUV9TX1BIKHVpbnQ2NCBpbnN0cnVj dGlvbikNCj4gICB7DQo+ICAgICAgIHVpbnQ2NCBydF92YWx1ZSA9IGV4dHJhY3RfcnRfMjVfMjRf MjNfMjJfMjEoaW5zdHJ1Y3Rpb24pOw0KPiAtICAgIHVpbnQ2NCByZF92YWx1ZSA9IGV4dHJhY3Rf cmRfMTVfMTRfMTNfMTJfMTEoaW5zdHJ1Y3Rpb24pOw0KPiAgICAgICB1aW50NjQgcnNfdmFsdWUg PSBleHRyYWN0X3JzXzIwXzE5XzE4XzE3XzE2KGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQg cmRfdmFsdWUgPSBleHRyYWN0X3JkXzE1XzE0XzEzXzEyXzExKGluc3RydWN0aW9uKTsNCj4gICAN Cj4gICAgICAgc3RkOjpzdHJpbmcgcmQgPSBHUFIoY29weShyZF92YWx1ZSkpOw0KPiAgICAgICBz dGQ6OnN0cmluZyBycyA9IEdQUihjb3B5KHJzX3ZhbHVlKSk7DQo+IEBAIC0yMDg3LDggKzIwODcs OCBAQCBzdGQ6OnN0cmluZyBOTUQ6OkFERFFfU19QSCh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICAg c3RkOjpzdHJpbmcgTk1EOjpBRERRX1NfVyh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICAgew0KPiAg ICAgICB1aW50NjQgcnRfdmFsdWUgPSBleHRyYWN0X3J0XzI1XzI0XzIzXzIyXzIxKGluc3RydWN0 aW9uKTsNCj4gLSAgICB1aW50NjQgcmRfdmFsdWUgPSBleHRyYWN0X3JkXzE1XzE0XzEzXzEyXzEx KGluc3RydWN0aW9uKTsNCj4gICAgICAgdWludDY0IHJzX3ZhbHVlID0gZXh0cmFjdF9yc18yMF8x OV8xOF8xN18xNihpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IHJkX3ZhbHVlID0gZXh0cmFj dF9yZF8xNV8xNF8xM18xMl8xMShpbnN0cnVjdGlvbik7DQo+ICAgDQo+ICAgICAgIHN0ZDo6c3Ry aW5nIHJkID0gR1BSKGNvcHkocmRfdmFsdWUpKTsNCj4gICAgICAgc3RkOjpzdHJpbmcgcnMgPSBH UFIoY29weShyc192YWx1ZSkpOw0KPiBAQCAtMjExMiw4ICsyMTEyLDggQEAgc3RkOjpzdHJpbmcg Tk1EOjpBRERRX1NfVyh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICAgc3RkOjpzdHJpbmcgTk1EOjpB RERRSF9QSCh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICAgew0KPiAgICAgICB1aW50NjQgcnRfdmFs dWUgPSBleHRyYWN0X3J0XzI1XzI0XzIzXzIyXzIxKGluc3RydWN0aW9uKTsNCj4gLSAgICB1aW50 NjQgcmRfdmFsdWUgPSBleHRyYWN0X3JkXzE1XzE0XzEzXzEyXzExKGluc3RydWN0aW9uKTsNCj4g ICAgICAgdWludDY0IHJzX3ZhbHVlID0gZXh0cmFjdF9yc18yMF8xOV8xOF8xN18xNihpbnN0cnVj dGlvbik7DQo+ICsgICAgdWludDY0IHJkX3ZhbHVlID0gZXh0cmFjdF9yZF8xNV8xNF8xM18xMl8x MShpbnN0cnVjdGlvbik7DQo+ICAgDQo+ICAgICAgIHN0ZDo6c3RyaW5nIHJkID0gR1BSKGNvcHko cmRfdmFsdWUpKTsNCj4gICAgICAgc3RkOjpzdHJpbmcgcnMgPSBHUFIoY29weShyc192YWx1ZSkp Ow0KPiBAQCAtMjEzNyw4ICsyMTM3LDggQEAgc3RkOjpzdHJpbmcgTk1EOjpBRERRSF9QSCh1aW50 NjQgaW5zdHJ1Y3Rpb24pDQo+ICAgc3RkOjpzdHJpbmcgTk1EOjpBRERRSF9SX1BIKHVpbnQ2NCBp bnN0cnVjdGlvbikNCj4gICB7DQo+ICAgICAgIHVpbnQ2NCBydF92YWx1ZSA9IGV4dHJhY3RfcnRf MjVfMjRfMjNfMjJfMjEoaW5zdHJ1Y3Rpb24pOw0KPiAtICAgIHVpbnQ2NCByZF92YWx1ZSA9IGV4 dHJhY3RfcmRfMTVfMTRfMTNfMTJfMTEoaW5zdHJ1Y3Rpb24pOw0KPiAgICAgICB1aW50NjQgcnNf dmFsdWUgPSBleHRyYWN0X3JzXzIwXzE5XzE4XzE3XzE2KGluc3RydWN0aW9uKTsNCj4gKyAgICB1 aW50NjQgcmRfdmFsdWUgPSBleHRyYWN0X3JkXzE1XzE0XzEzXzEyXzExKGluc3RydWN0aW9uKTsN Cj4gICANCj4gICAgICAgc3RkOjpzdHJpbmcgcmQgPSBHUFIoY29weShyZF92YWx1ZSkpOw0KPiAg ICAgICBzdGQ6OnN0cmluZyBycyA9IEdQUihjb3B5KHJzX3ZhbHVlKSk7DQo+IEBAIC0yMTYxLDgg KzIxNjEsOCBAQCBzdGQ6OnN0cmluZyBOTUQ6OkFERFFIX1JfUEgodWludDY0IGluc3RydWN0aW9u KQ0KPiAgIHN0ZDo6c3RyaW5nIE5NRDo6QUREUUhfUl9XKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4g ICB7DQo+ICAgICAgIHVpbnQ2NCBydF92YWx1ZSA9IGV4dHJhY3RfcnRfMjVfMjRfMjNfMjJfMjEo aW5zdHJ1Y3Rpb24pOw0KPiAtICAgIHVpbnQ2NCByZF92YWx1ZSA9IGV4dHJhY3RfcmRfMTVfMTRf MTNfMTJfMTEoaW5zdHJ1Y3Rpb24pOw0KPiAgICAgICB1aW50NjQgcnNfdmFsdWUgPSBleHRyYWN0 X3JzXzIwXzE5XzE4XzE3XzE2KGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgcmRfdmFsdWUg PSBleHRyYWN0X3JkXzE1XzE0XzEzXzEyXzExKGluc3RydWN0aW9uKTsNCj4gICANCj4gICAgICAg c3RkOjpzdHJpbmcgcmQgPSBHUFIoY29weShyZF92YWx1ZSkpOw0KPiAgICAgICBzdGQ6OnN0cmlu ZyBycyA9IEdQUihjb3B5KHJzX3ZhbHVlKSk7DQo+IEBAIC0yMTg1LDggKzIxODUsOCBAQCBzdGQ6 OnN0cmluZyBOTUQ6OkFERFFIX1JfVyh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICAgc3RkOjpzdHJp bmcgTk1EOjpBRERRSF9XKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gICB7DQo+ICAgICAgIHVpbnQ2 NCBydF92YWx1ZSA9IGV4dHJhY3RfcnRfMjVfMjRfMjNfMjJfMjEoaW5zdHJ1Y3Rpb24pOw0KPiAt ICAgIHVpbnQ2NCByZF92YWx1ZSA9IGV4dHJhY3RfcmRfMTVfMTRfMTNfMTJfMTEoaW5zdHJ1Y3Rp b24pOw0KPiAgICAgICB1aW50NjQgcnNfdmFsdWUgPSBleHRyYWN0X3JzXzIwXzE5XzE4XzE3XzE2 KGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgcmRfdmFsdWUgPSBleHRyYWN0X3JkXzE1XzE0 XzEzXzEyXzExKGluc3RydWN0aW9uKTsNCj4gICANCj4gICAgICAgc3RkOjpzdHJpbmcgcmQgPSBH UFIoY29weShyZF92YWx1ZSkpOw0KPiAgICAgICBzdGQ6OnN0cmluZyBycyA9IEdQUihjb3B5KHJz X3ZhbHVlKSk7DQo+IEBAIC0yMjA5LDggKzIyMDksOCBAQCBzdGQ6OnN0cmluZyBOTUQ6OkFERFFI X1codWludDY0IGluc3RydWN0aW9uKQ0KPiAgIHN0ZDo6c3RyaW5nIE5NRDo6QUREU0ModWludDY0 IGluc3RydWN0aW9uKQ0KPiAgIHsNCj4gICAgICAgdWludDY0IHJ0X3ZhbHVlID0gZXh0cmFjdF9y dF8yNV8yNF8yM18yMl8yMShpbnN0cnVjdGlvbik7DQo+IC0gICAgdWludDY0IHJkX3ZhbHVlID0g ZXh0cmFjdF9yZF8xNV8xNF8xM18xMl8xMShpbnN0cnVjdGlvbik7DQo+ICAgICAgIHVpbnQ2NCBy c192YWx1ZSA9IGV4dHJhY3RfcnNfMjBfMTlfMThfMTdfMTYoaW5zdHJ1Y3Rpb24pOw0KPiArICAg IHVpbnQ2NCByZF92YWx1ZSA9IGV4dHJhY3RfcmRfMTVfMTRfMTNfMTJfMTEoaW5zdHJ1Y3Rpb24p Ow0KPiAgIA0KPiAgICAgICBzdGQ6OnN0cmluZyByZCA9IEdQUihjb3B5KHJkX3ZhbHVlKSk7DQo+ ICAgICAgIHN0ZDo6c3RyaW5nIHJzID0gR1BSKGNvcHkocnNfdmFsdWUpKTsNCj4gQEAgLTIyNTYs OCArMjI1Niw4IEBAIHN0ZDo6c3RyaW5nIE5NRDo6QUREVV8xNl8odWludDY0IGluc3RydWN0aW9u KQ0KPiAgIHN0ZDo6c3RyaW5nIE5NRDo6QUREVV8zMl8odWludDY0IGluc3RydWN0aW9uKQ0KPiAg IHsNCj4gICAgICAgdWludDY0IHJ0X3ZhbHVlID0gZXh0cmFjdF9ydF8yNV8yNF8yM18yMl8yMShp bnN0cnVjdGlvbik7DQo+IC0gICAgdWludDY0IHJkX3ZhbHVlID0gZXh0cmFjdF9yZF8xNV8xNF8x M18xMl8xMShpbnN0cnVjdGlvbik7DQo+ICAgICAgIHVpbnQ2NCByc192YWx1ZSA9IGV4dHJhY3Rf cnNfMjBfMTlfMThfMTdfMTYoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCByZF92YWx1ZSA9 IGV4dHJhY3RfcmRfMTVfMTRfMTNfMTJfMTEoaW5zdHJ1Y3Rpb24pOw0KPiAgIA0KPiAgICAgICBz dGQ6OnN0cmluZyByZCA9IEdQUihjb3B5KHJkX3ZhbHVlKSk7DQo+ICAgICAgIHN0ZDo6c3RyaW5n IHJzID0gR1BSKGNvcHkocnNfdmFsdWUpKTsNCj4gQEAgLTIyNzksOCArMjI3OSw4IEBAIHN0ZDo6 c3RyaW5nIE5NRDo6QUREVV8zMl8odWludDY0IGluc3RydWN0aW9uKQ0KPiAgICAqLw0KPiAgIHN0 ZDo6c3RyaW5nIE5NRDo6QUREVV80WDRfKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gICB7DQo+IC0g ICAgdWludDY0IHJzNF92YWx1ZSA9IGV4dHJhY3RfcnM0XzRfMl8xXzAoaW5zdHJ1Y3Rpb24pOw0K PiAgICAgICB1aW50NjQgcnQ0X3ZhbHVlID0gZXh0cmFjdF9ydDRfOV83XzZfNShpbnN0cnVjdGlv bik7DQo+ICsgICAgdWludDY0IHJzNF92YWx1ZSA9IGV4dHJhY3RfcnM0XzRfMl8xXzAoaW5zdHJ1 Y3Rpb24pOw0KPiAgIA0KPiAgICAgICBzdGQ6OnN0cmluZyByczQgPSBHUFIoZW5jb2RlX2dwcjQo cnM0X3ZhbHVlKSk7DQo+ICAgICAgIHN0ZDo6c3RyaW5nIHJ0NCA9IEdQUihlbmNvZGVfZ3ByNChy dDRfdmFsdWUpKTsNCj4gQEAgLTIzMDIsOCArMjMwMiw4IEBAIHN0ZDo6c3RyaW5nIE5NRDo6QURE VV80WDRfKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gICBzdGQ6OnN0cmluZyBOTUQ6OkFERFVfUEgo dWludDY0IGluc3RydWN0aW9uKQ0KPiAgIHsNCj4gICAgICAgdWludDY0IHJ0X3ZhbHVlID0gZXh0 cmFjdF9ydF8yNV8yNF8yM18yMl8yMShpbnN0cnVjdGlvbik7DQo+IC0gICAgdWludDY0IHJkX3Zh bHVlID0gZXh0cmFjdF9yZF8xNV8xNF8xM18xMl8xMShpbnN0cnVjdGlvbik7DQo+ICAgICAgIHVp bnQ2NCByc192YWx1ZSA9IGV4dHJhY3RfcnNfMjBfMTlfMThfMTdfMTYoaW5zdHJ1Y3Rpb24pOw0K PiArICAgIHVpbnQ2NCByZF92YWx1ZSA9IGV4dHJhY3RfcmRfMTVfMTRfMTNfMTJfMTEoaW5zdHJ1 Y3Rpb24pOw0KPiAgIA0KPiAgICAgICBzdGQ6OnN0cmluZyByZCA9IEdQUihjb3B5KHJkX3ZhbHVl KSk7DQo+ICAgICAgIHN0ZDo6c3RyaW5nIHJzID0gR1BSKGNvcHkocnNfdmFsdWUpKTsNCj4gQEAg LTIzMjYsOCArMjMyNiw4IEBAIHN0ZDo6c3RyaW5nIE5NRDo6QUREVV9QSCh1aW50NjQgaW5zdHJ1 Y3Rpb24pDQo+ICAgc3RkOjpzdHJpbmcgTk1EOjpBRERVX1FCKHVpbnQ2NCBpbnN0cnVjdGlvbikN Cj4gICB7DQo+ICAgICAgIHVpbnQ2NCBydF92YWx1ZSA9IGV4dHJhY3RfcnRfMjVfMjRfMjNfMjJf MjEoaW5zdHJ1Y3Rpb24pOw0KPiAtICAgIHVpbnQ2NCByZF92YWx1ZSA9IGV4dHJhY3RfcmRfMTVf MTRfMTNfMTJfMTEoaW5zdHJ1Y3Rpb24pOw0KPiAgICAgICB1aW50NjQgcnNfdmFsdWUgPSBleHRy YWN0X3JzXzIwXzE5XzE4XzE3XzE2KGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgcmRfdmFs dWUgPSBleHRyYWN0X3JkXzE1XzE0XzEzXzEyXzExKGluc3RydWN0aW9uKTsNCj4gICANCj4gICAg ICAgc3RkOjpzdHJpbmcgcmQgPSBHUFIoY29weShyZF92YWx1ZSkpOw0KPiAgICAgICBzdGQ6OnN0 cmluZyBycyA9IEdQUihjb3B5KHJzX3ZhbHVlKSk7DQo+IEBAIC0yMzUwLDggKzIzNTAsOCBAQCBz dGQ6OnN0cmluZyBOTUQ6OkFERFVfUUIodWludDY0IGluc3RydWN0aW9uKQ0KPiAgIHN0ZDo6c3Ry aW5nIE5NRDo6QUREVV9TX1BIKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gICB7DQo+ICAgICAgIHVp bnQ2NCBydF92YWx1ZSA9IGV4dHJhY3RfcnRfMjVfMjRfMjNfMjJfMjEoaW5zdHJ1Y3Rpb24pOw0K PiAtICAgIHVpbnQ2NCByZF92YWx1ZSA9IGV4dHJhY3RfcmRfMTVfMTRfMTNfMTJfMTEoaW5zdHJ1 Y3Rpb24pOw0KPiAgICAgICB1aW50NjQgcnNfdmFsdWUgPSBleHRyYWN0X3JzXzIwXzE5XzE4XzE3 XzE2KGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgcmRfdmFsdWUgPSBleHRyYWN0X3JkXzE1 XzE0XzEzXzEyXzExKGluc3RydWN0aW9uKTsNCj4gICANCj4gICAgICAgc3RkOjpzdHJpbmcgcmQg PSBHUFIoY29weShyZF92YWx1ZSkpOw0KPiAgICAgICBzdGQ6OnN0cmluZyBycyA9IEdQUihjb3B5 KHJzX3ZhbHVlKSk7DQo+IEBAIC0yMzc0LDggKzIzNzQsOCBAQCBzdGQ6OnN0cmluZyBOTUQ6OkFE RFVfU19QSCh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICAgc3RkOjpzdHJpbmcgTk1EOjpBRERVX1Nf UUIodWludDY0IGluc3RydWN0aW9uKQ0KPiAgIHsNCj4gICAgICAgdWludDY0IHJ0X3ZhbHVlID0g ZXh0cmFjdF9ydF8yNV8yNF8yM18yMl8yMShpbnN0cnVjdGlvbik7DQo+IC0gICAgdWludDY0IHJk X3ZhbHVlID0gZXh0cmFjdF9yZF8xNV8xNF8xM18xMl8xMShpbnN0cnVjdGlvbik7DQo+ICAgICAg IHVpbnQ2NCByc192YWx1ZSA9IGV4dHJhY3RfcnNfMjBfMTlfMThfMTdfMTYoaW5zdHJ1Y3Rpb24p Ow0KPiArICAgIHVpbnQ2NCByZF92YWx1ZSA9IGV4dHJhY3RfcmRfMTVfMTRfMTNfMTJfMTEoaW5z dHJ1Y3Rpb24pOw0KPiAgIA0KPiAgICAgICBzdGQ6OnN0cmluZyByZCA9IEdQUihjb3B5KHJkX3Zh bHVlKSk7DQo+ICAgICAgIHN0ZDo6c3RyaW5nIHJzID0gR1BSKGNvcHkocnNfdmFsdWUpKTsNCj4g QEAgLTIzOTksOCArMjM5OSw4IEBAIHN0ZDo6c3RyaW5nIE5NRDo6QUREVV9TX1FCKHVpbnQ2NCBp bnN0cnVjdGlvbikNCj4gICBzdGQ6OnN0cmluZyBOTUQ6OkFERFVIX1FCKHVpbnQ2NCBpbnN0cnVj dGlvbikNCj4gICB7DQo+ICAgICAgIHVpbnQ2NCBydF92YWx1ZSA9IGV4dHJhY3RfcnRfMjVfMjRf MjNfMjJfMjEoaW5zdHJ1Y3Rpb24pOw0KPiAtICAgIHVpbnQ2NCByZF92YWx1ZSA9IGV4dHJhY3Rf cmRfMTVfMTRfMTNfMTJfMTEoaW5zdHJ1Y3Rpb24pOw0KPiAgICAgICB1aW50NjQgcnNfdmFsdWUg PSBleHRyYWN0X3JzXzIwXzE5XzE4XzE3XzE2KGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQg cmRfdmFsdWUgPSBleHRyYWN0X3JkXzE1XzE0XzEzXzEyXzExKGluc3RydWN0aW9uKTsNCj4gICAN Cj4gICAgICAgc3RkOjpzdHJpbmcgcmQgPSBHUFIoY29weShyZF92YWx1ZSkpOw0KPiAgICAgICBz dGQ6OnN0cmluZyBycyA9IEdQUihjb3B5KHJzX3ZhbHVlKSk7DQo+IEBAIC0yNDI0LDggKzI0MjQs OCBAQCBzdGQ6OnN0cmluZyBOTUQ6OkFERFVIX1FCKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gICBz dGQ6OnN0cmluZyBOTUQ6OkFERFVIX1JfUUIodWludDY0IGluc3RydWN0aW9uKQ0KPiAgIHsNCj4g ICAgICAgdWludDY0IHJ0X3ZhbHVlID0gZXh0cmFjdF9ydF8yNV8yNF8yM18yMl8yMShpbnN0cnVj dGlvbik7DQo+IC0gICAgdWludDY0IHJkX3ZhbHVlID0gZXh0cmFjdF9yZF8xNV8xNF8xM18xMl8x MShpbnN0cnVjdGlvbik7DQo+ICAgICAgIHVpbnQ2NCByc192YWx1ZSA9IGV4dHJhY3RfcnNfMjBf MTlfMThfMTdfMTYoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCByZF92YWx1ZSA9IGV4dHJh Y3RfcmRfMTVfMTRfMTNfMTJfMTEoaW5zdHJ1Y3Rpb24pOw0KPiAgIA0KPiAgICAgICBzdGQ6OnN0 cmluZyByZCA9IEdQUihjb3B5KHJkX3ZhbHVlKSk7DQo+ICAgICAgIHN0ZDo6c3RyaW5nIHJzID0g R1BSKGNvcHkocnNfdmFsdWUpKTsNCj4gQEAgLTI0NDcsOCArMjQ0Nyw4IEBAIHN0ZDo6c3RyaW5n IE5NRDo6QUREVUhfUl9RQih1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICAgc3RkOjpzdHJpbmcgTk1E OjpBRERXQyh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICAgew0KPiAgICAgICB1aW50NjQgcnRfdmFs dWUgPSBleHRyYWN0X3J0XzI1XzI0XzIzXzIyXzIxKGluc3RydWN0aW9uKTsNCj4gLSAgICB1aW50 NjQgcmRfdmFsdWUgPSBleHRyYWN0X3JkXzE1XzE0XzEzXzEyXzExKGluc3RydWN0aW9uKTsNCj4g ICAgICAgdWludDY0IHJzX3ZhbHVlID0gZXh0cmFjdF9yc18yMF8xOV8xOF8xN18xNihpbnN0cnVj dGlvbik7DQo+ICsgICAgdWludDY0IHJkX3ZhbHVlID0gZXh0cmFjdF9yZF8xNV8xNF8xM18xMl8x MShpbnN0cnVjdGlvbik7DQo+ICAgDQo+ICAgICAgIHN0ZDo6c3RyaW5nIHJkID0gR1BSKGNvcHko cmRfdmFsdWUpKTsNCj4gICAgICAgc3RkOjpzdHJpbmcgcnMgPSBHUFIoY29weShyc192YWx1ZSkp Ow0KPiBAQCAtMjUxNCw4ICsyNTE0LDggQEAgc3RkOjpzdHJpbmcgTk1EOjpBTkRfMTZfKHVpbnQ2 NCBpbnN0cnVjdGlvbikNCj4gICBzdGQ6OnN0cmluZyBOTUQ6OkFORF8zMl8odWludDY0IGluc3Ry dWN0aW9uKQ0KPiAgIHsNCj4gICAgICAgdWludDY0IHJ0X3ZhbHVlID0gZXh0cmFjdF9ydF8yNV8y NF8yM18yMl8yMShpbnN0cnVjdGlvbik7DQo+IC0gICAgdWludDY0IHJkX3ZhbHVlID0gZXh0cmFj dF9yZF8xNV8xNF8xM18xMl8xMShpbnN0cnVjdGlvbik7DQo+ICAgICAgIHVpbnQ2NCByc192YWx1 ZSA9IGV4dHJhY3RfcnNfMjBfMTlfMThfMTdfMTYoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2 NCByZF92YWx1ZSA9IGV4dHJhY3RfcmRfMTVfMTRfMTNfMTJfMTEoaW5zdHJ1Y3Rpb24pOw0KPiAg IA0KPiAgICAgICBzdGQ6OnN0cmluZyByZCA9IEdQUihjb3B5KHJkX3ZhbHVlKSk7DQo+ICAgICAg IHN0ZDo6c3RyaW5nIHJzID0gR1BSKGNvcHkocnNfdmFsdWUpKTsNCj4gQEAgLTI1NjEsOCArMjU2 MSw4IEBAIHN0ZDo6c3RyaW5nIE5NRDo6QU5ESV8xNl8odWludDY0IGluc3RydWN0aW9uKQ0KPiAg IHN0ZDo6c3RyaW5nIE5NRDo6QU5ESV8zMl8odWludDY0IGluc3RydWN0aW9uKQ0KPiAgIHsNCj4g ICAgICAgdWludDY0IHJ0X3ZhbHVlID0gZXh0cmFjdF9ydF8yNV8yNF8yM18yMl8yMShpbnN0cnVj dGlvbik7DQo+IC0gICAgdWludDY0IHVfdmFsdWUgPSBleHRyYWN0X3VfMTFfMTBfOV84XzdfNl81 XzRfM18yXzFfMChpbnN0cnVjdGlvbik7DQo+ICAgICAgIHVpbnQ2NCByc192YWx1ZSA9IGV4dHJh Y3RfcnNfMjBfMTlfMThfMTdfMTYoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCB1X3ZhbHVl ID0gZXh0cmFjdF91XzExXzEwXzlfOF83XzZfNV80XzNfMl8xXzAoaW5zdHJ1Y3Rpb24pOw0KPiAg IA0KPiAgICAgICBzdGQ6OnN0cmluZyBydCA9IEdQUihjb3B5KHJ0X3ZhbHVlKSk7DQo+ICAgICAg IHN0ZDo6c3RyaW5nIHJzID0gR1BSKGNvcHkocnNfdmFsdWUpKTsNCj4gQEAgLTI1ODUsOCArMjU4 NSw4IEBAIHN0ZDo6c3RyaW5nIE5NRDo6QU5ESV8zMl8odWludDY0IGluc3RydWN0aW9uKQ0KPiAg IHN0ZDo6c3RyaW5nIE5NRDo6QVBQRU5EKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gICB7DQo+ICAg ICAgIHVpbnQ2NCBydF92YWx1ZSA9IGV4dHJhY3RfcnRfMjVfMjRfMjNfMjJfMjEoaW5zdHJ1Y3Rp b24pOw0KPiAtICAgIHVpbnQ2NCBzYV92YWx1ZSA9IGV4dHJhY3Rfc2FfMTVfMTRfMTNfMTJfMTEo aW5zdHJ1Y3Rpb24pOw0KPiAgICAgICB1aW50NjQgcnNfdmFsdWUgPSBleHRyYWN0X3JzXzIwXzE5 XzE4XzE3XzE2KGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgc2FfdmFsdWUgPSBleHRyYWN0 X3NhXzE1XzE0XzEzXzEyXzExKGluc3RydWN0aW9uKTsNCj4gICANCj4gICAgICAgc3RkOjpzdHJp bmcgcnQgPSBHUFIoY29weShydF92YWx1ZSkpOw0KPiAgICAgICBzdGQ6OnN0cmluZyBycyA9IEdQ Uihjb3B5KHJzX3ZhbHVlKSk7DQo+IEBAIC0zMzc4LDggKzMzNzgsOCBAQCBzdGQ6OnN0cmluZyBO TUQ6OkNBQ0hFRSh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICAgICovDQo+ICAgc3RkOjpzdHJpbmcg Tk1EOjpDRUlMX0xfRCh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICAgew0KPiAtICAgIHVpbnQ2NCBm c192YWx1ZSA9IGV4dHJhY3RfZnNfMTVfMTRfMTNfMTJfMTEoaW5zdHJ1Y3Rpb24pOw0KPiAgICAg ICB1aW50NjQgZnRfdmFsdWUgPSBleHRyYWN0X2Z0XzIwXzE5XzE4XzE3XzE2KGluc3RydWN0aW9u KTsNCj4gKyAgICB1aW50NjQgZnNfdmFsdWUgPSBleHRyYWN0X2ZzXzE1XzE0XzEzXzEyXzExKGlu c3RydWN0aW9uKTsNCj4gICANCj4gICAgICAgc3RkOjpzdHJpbmcgZnQgPSBGUFIoY29weShmdF92 YWx1ZSkpOw0KPiAgICAgICBzdGQ6OnN0cmluZyBmcyA9IEZQUihjb3B5KGZzX3ZhbHVlKSk7DQo+ IEBAIC0zNDAwLDggKzM0MDAsOCBAQCBzdGQ6OnN0cmluZyBOTUQ6OkNFSUxfTF9EKHVpbnQ2NCBp bnN0cnVjdGlvbikNCj4gICAgKi8NCj4gICBzdGQ6OnN0cmluZyBOTUQ6OkNFSUxfTF9TKHVpbnQ2 NCBpbnN0cnVjdGlvbikNCj4gICB7DQo+IC0gICAgdWludDY0IGZzX3ZhbHVlID0gZXh0cmFjdF9m c18xNV8xNF8xM18xMl8xMShpbnN0cnVjdGlvbik7DQo+ICAgICAgIHVpbnQ2NCBmdF92YWx1ZSA9 IGV4dHJhY3RfZnRfMjBfMTlfMThfMTdfMTYoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCBm c192YWx1ZSA9IGV4dHJhY3RfZnNfMTVfMTRfMTNfMTJfMTEoaW5zdHJ1Y3Rpb24pOw0KPiAgIA0K PiAgICAgICBzdGQ6OnN0cmluZyBmdCA9IEZQUihjb3B5KGZ0X3ZhbHVlKSk7DQo+ICAgICAgIHN0 ZDo6c3RyaW5nIGZzID0gRlBSKGNvcHkoZnNfdmFsdWUpKTsNCj4gQEAgLTM0MjIsOCArMzQyMiw4 IEBAIHN0ZDo6c3RyaW5nIE5NRDo6Q0VJTF9MX1ModWludDY0IGluc3RydWN0aW9uKQ0KPiAgICAq Lw0KPiAgIHN0ZDo6c3RyaW5nIE5NRDo6Q0VJTF9XX0QodWludDY0IGluc3RydWN0aW9uKQ0KPiAg IHsNCj4gLSAgICB1aW50NjQgZnNfdmFsdWUgPSBleHRyYWN0X2ZzXzE1XzE0XzEzXzEyXzExKGlu c3RydWN0aW9uKTsNCj4gICAgICAgdWludDY0IGZ0X3ZhbHVlID0gZXh0cmFjdF9mdF8yMF8xOV8x OF8xN18xNihpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IGZzX3ZhbHVlID0gZXh0cmFjdF9m c18xNV8xNF8xM18xMl8xMShpbnN0cnVjdGlvbik7DQo+ICAgDQo+ICAgICAgIHN0ZDo6c3RyaW5n IGZ0ID0gRlBSKGNvcHkoZnRfdmFsdWUpKTsNCj4gICAgICAgc3RkOjpzdHJpbmcgZnMgPSBGUFIo Y29weShmc192YWx1ZSkpOw0KPiBAQCAtMzQ0NCw4ICszNDQ0LDggQEAgc3RkOjpzdHJpbmcgTk1E OjpDRUlMX1dfRCh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICAgICovDQo+ICAgc3RkOjpzdHJpbmcg Tk1EOjpDRUlMX1dfUyh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICAgew0KPiAtICAgIHVpbnQ2NCBm c192YWx1ZSA9IGV4dHJhY3RfZnNfMTVfMTRfMTNfMTJfMTEoaW5zdHJ1Y3Rpb24pOw0KPiAgICAg ICB1aW50NjQgZnRfdmFsdWUgPSBleHRyYWN0X2Z0XzIwXzE5XzE4XzE3XzE2KGluc3RydWN0aW9u KTsNCj4gKyAgICB1aW50NjQgZnNfdmFsdWUgPSBleHRyYWN0X2ZzXzE1XzE0XzEzXzEyXzExKGlu c3RydWN0aW9uKTsNCj4gICANCj4gICAgICAgc3RkOjpzdHJpbmcgZnQgPSBGUFIoY29weShmdF92 YWx1ZSkpOw0KPiAgICAgICBzdGQ6OnN0cmluZyBmcyA9IEZQUihjb3B5KGZzX3ZhbHVlKSk7DQo+ IEBAIC0zNDY2LDggKzM0NjYsOCBAQCBzdGQ6OnN0cmluZyBOTUQ6OkNFSUxfV19TKHVpbnQ2NCBp bnN0cnVjdGlvbikNCj4gICAgKi8NCj4gICBzdGQ6OnN0cmluZyBOTUQ6OkNGQzEodWludDY0IGlu c3RydWN0aW9uKQ0KPiAgIHsNCj4gLSAgICB1aW50NjQgY3NfdmFsdWUgPSBleHRyYWN0X2NzXzIw XzE5XzE4XzE3XzE2KGluc3RydWN0aW9uKTsNCj4gICAgICAgdWludDY0IHJ0X3ZhbHVlID0gZXh0 cmFjdF9ydF8yNV8yNF8yM18yMl8yMShpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IGNzX3Zh bHVlID0gZXh0cmFjdF9jc18yMF8xOV8xOF8xN18xNihpbnN0cnVjdGlvbik7DQo+ICAgDQo+ICAg ICAgIHN0ZDo6c3RyaW5nIHJ0ID0gR1BSKGNvcHkocnRfdmFsdWUpKTsNCj4gICAgICAgc3RkOjpz dHJpbmcgY3MgPSBDUFIoY29weShjc192YWx1ZSkpOw0KPiBAQCAtMzQ4OCw4ICszNDg4LDggQEAg c3RkOjpzdHJpbmcgTk1EOjpDRkMxKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gICAgKi8NCj4gICBz dGQ6OnN0cmluZyBOTUQ6OkNGQzIodWludDY0IGluc3RydWN0aW9uKQ0KPiAgIHsNCj4gLSAgICB1 aW50NjQgY3NfdmFsdWUgPSBleHRyYWN0X2NzXzIwXzE5XzE4XzE3XzE2KGluc3RydWN0aW9uKTsN Cj4gICAgICAgdWludDY0IHJ0X3ZhbHVlID0gZXh0cmFjdF9ydF8yNV8yNF8yM18yMl8yMShpbnN0 cnVjdGlvbik7DQo+ICsgICAgdWludDY0IGNzX3ZhbHVlID0gZXh0cmFjdF9jc18yMF8xOV8xOF8x N18xNihpbnN0cnVjdGlvbik7DQo+ICAgDQo+ICAgICAgIHN0ZDo6c3RyaW5nIHJ0ID0gR1BSKGNv cHkocnRfdmFsdWUpKTsNCj4gICAgICAgc3RkOjpzdHJpbmcgY3MgPSBDUFIoY29weShjc192YWx1 ZSkpOw0KPiBAQCAtMzUxMCw4ICszNTEwLDggQEAgc3RkOjpzdHJpbmcgTk1EOjpDRkMyKHVpbnQ2 NCBpbnN0cnVjdGlvbikNCj4gICAgKi8NCj4gICBzdGQ6OnN0cmluZyBOTUQ6OkNMQVNTX0QodWlu dDY0IGluc3RydWN0aW9uKQ0KPiAgIHsNCj4gLSAgICB1aW50NjQgZnNfdmFsdWUgPSBleHRyYWN0 X2ZzXzE1XzE0XzEzXzEyXzExKGluc3RydWN0aW9uKTsNCj4gICAgICAgdWludDY0IGZ0X3ZhbHVl ID0gZXh0cmFjdF9mdF8yMF8xOV8xOF8xN18xNihpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0 IGZzX3ZhbHVlID0gZXh0cmFjdF9mc18xNV8xNF8xM18xMl8xMShpbnN0cnVjdGlvbik7DQo+ICAg DQo+ICAgICAgIHN0ZDo6c3RyaW5nIGZ0ID0gRlBSKGNvcHkoZnRfdmFsdWUpKTsNCj4gICAgICAg c3RkOjpzdHJpbmcgZnMgPSBGUFIoY29weShmc192YWx1ZSkpOw0KPiBAQCAtMzUzMiw4ICszNTMy LDggQEAgc3RkOjpzdHJpbmcgTk1EOjpDTEFTU19EKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gICAg Ki8NCj4gICBzdGQ6OnN0cmluZyBOTUQ6OkNMQVNTX1ModWludDY0IGluc3RydWN0aW9uKQ0KPiAg IHsNCj4gLSAgICB1aW50NjQgZnNfdmFsdWUgPSBleHRyYWN0X2ZzXzE1XzE0XzEzXzEyXzExKGlu c3RydWN0aW9uKTsNCj4gICAgICAgdWludDY0IGZ0X3ZhbHVlID0gZXh0cmFjdF9mdF8yMF8xOV8x OF8xN18xNihpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IGZzX3ZhbHVlID0gZXh0cmFjdF9m c18xNV8xNF8xM18xMl8xMShpbnN0cnVjdGlvbik7DQo+ICAgDQo+ICAgICAgIHN0ZDo6c3RyaW5n IGZ0ID0gRlBSKGNvcHkoZnRfdmFsdWUpKTsNCj4gICAgICAgc3RkOjpzdHJpbmcgZnMgPSBGUFIo Y29weShmc192YWx1ZSkpOw0KPiBAQCAtMzU5OCw5ICszNTk4LDkgQEAgc3RkOjpzdHJpbmcgTk1E OjpDTFoodWludDY0IGluc3RydWN0aW9uKQ0KPiAgICAqLw0KPiAgIHN0ZDo6c3RyaW5nIE5NRDo6 Q01QX0FGX0QodWludDY0IGluc3RydWN0aW9uKQ0KPiAgIHsNCj4gLSAgICB1aW50NjQgZmRfdmFs dWUgPSBleHRyYWN0X2ZkXzEwXzlfOF83XzYoaW5zdHJ1Y3Rpb24pOw0KPiAtICAgIHVpbnQ2NCBm c192YWx1ZSA9IGV4dHJhY3RfZnNfMTVfMTRfMTNfMTJfMTEoaW5zdHJ1Y3Rpb24pOw0KPiAgICAg ICB1aW50NjQgZnRfdmFsdWUgPSBleHRyYWN0X2Z0XzIwXzE5XzE4XzE3XzE2KGluc3RydWN0aW9u KTsNCj4gKyAgICB1aW50NjQgZnNfdmFsdWUgPSBleHRyYWN0X2ZzXzE1XzE0XzEzXzEyXzExKGlu c3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgZmRfdmFsdWUgPSBleHRyYWN0X2ZkXzEwXzlfOF83 XzYoaW5zdHJ1Y3Rpb24pOw0KPiAgIA0KPiAgICAgICBzdGQ6OnN0cmluZyBmZCA9IEZQUihjb3B5 KGZkX3ZhbHVlKSk7DQo+ICAgICAgIHN0ZDo6c3RyaW5nIGZzID0gRlBSKGNvcHkoZnNfdmFsdWUp KTsNCj4gQEAgLTM2MjIsOSArMzYyMiw5IEBAIHN0ZDo6c3RyaW5nIE5NRDo6Q01QX0FGX0QodWlu dDY0IGluc3RydWN0aW9uKQ0KPiAgICAqLw0KPiAgIHN0ZDo6c3RyaW5nIE5NRDo6Q01QX0FGX1Mo dWludDY0IGluc3RydWN0aW9uKQ0KPiAgIHsNCj4gLSAgICB1aW50NjQgZmRfdmFsdWUgPSBleHRy YWN0X2ZkXzEwXzlfOF83XzYoaW5zdHJ1Y3Rpb24pOw0KPiAtICAgIHVpbnQ2NCBmc192YWx1ZSA9 IGV4dHJhY3RfZnNfMTVfMTRfMTNfMTJfMTEoaW5zdHJ1Y3Rpb24pOw0KPiAgICAgICB1aW50NjQg ZnRfdmFsdWUgPSBleHRyYWN0X2Z0XzIwXzE5XzE4XzE3XzE2KGluc3RydWN0aW9uKTsNCj4gKyAg ICB1aW50NjQgZnNfdmFsdWUgPSBleHRyYWN0X2ZzXzE1XzE0XzEzXzEyXzExKGluc3RydWN0aW9u KTsNCj4gKyAgICB1aW50NjQgZmRfdmFsdWUgPSBleHRyYWN0X2ZkXzEwXzlfOF83XzYoaW5zdHJ1 Y3Rpb24pOw0KPiAgIA0KPiAgICAgICBzdGQ6OnN0cmluZyBmZCA9IEZQUihjb3B5KGZkX3ZhbHVl KSk7DQo+ICAgICAgIHN0ZDo6c3RyaW5nIGZzID0gRlBSKGNvcHkoZnNfdmFsdWUpKTsNCj4gQEAg LTM2NDYsOSArMzY0Niw5IEBAIHN0ZDo6c3RyaW5nIE5NRDo6Q01QX0FGX1ModWludDY0IGluc3Ry dWN0aW9uKQ0KPiAgICAqLw0KPiAgIHN0ZDo6c3RyaW5nIE5NRDo6Q01QX0VRX0QodWludDY0IGlu c3RydWN0aW9uKQ0KPiAgIHsNCj4gLSAgICB1aW50NjQgZmRfdmFsdWUgPSBleHRyYWN0X2ZkXzEw XzlfOF83XzYoaW5zdHJ1Y3Rpb24pOw0KPiAtICAgIHVpbnQ2NCBmc192YWx1ZSA9IGV4dHJhY3Rf ZnNfMTVfMTRfMTNfMTJfMTEoaW5zdHJ1Y3Rpb24pOw0KPiAgICAgICB1aW50NjQgZnRfdmFsdWUg PSBleHRyYWN0X2Z0XzIwXzE5XzE4XzE3XzE2KGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQg ZnNfdmFsdWUgPSBleHRyYWN0X2ZzXzE1XzE0XzEzXzEyXzExKGluc3RydWN0aW9uKTsNCj4gKyAg ICB1aW50NjQgZmRfdmFsdWUgPSBleHRyYWN0X2ZkXzEwXzlfOF83XzYoaW5zdHJ1Y3Rpb24pOw0K PiAgIA0KPiAgICAgICBzdGQ6OnN0cmluZyBmZCA9IEZQUihjb3B5KGZkX3ZhbHVlKSk7DQo+ICAg ICAgIHN0ZDo6c3RyaW5nIGZzID0gRlBSKGNvcHkoZnNfdmFsdWUpKTsNCj4gQEAgLTM2OTIsOSAr MzY5Miw5IEBAIHN0ZDo6c3RyaW5nIE5NRDo6Q01QX0VRX1BIKHVpbnQ2NCBpbnN0cnVjdGlvbikN Cj4gICAgKi8NCj4gICBzdGQ6OnN0cmluZyBOTUQ6OkNNUF9FUV9TKHVpbnQ2NCBpbnN0cnVjdGlv bikNCj4gICB7DQo+IC0gICAgdWludDY0IGZkX3ZhbHVlID0gZXh0cmFjdF9mZF8xMF85XzhfN182 KGluc3RydWN0aW9uKTsNCj4gLSAgICB1aW50NjQgZnNfdmFsdWUgPSBleHRyYWN0X2ZzXzE1XzE0 XzEzXzEyXzExKGluc3RydWN0aW9uKTsNCj4gICAgICAgdWludDY0IGZ0X3ZhbHVlID0gZXh0cmFj dF9mdF8yMF8xOV8xOF8xN18xNihpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IGZzX3ZhbHVl ID0gZXh0cmFjdF9mc18xNV8xNF8xM18xMl8xMShpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0 IGZkX3ZhbHVlID0gZXh0cmFjdF9mZF8xMF85XzhfN182KGluc3RydWN0aW9uKTsNCj4gICANCj4g ICAgICAgc3RkOjpzdHJpbmcgZmQgPSBGUFIoY29weShmZF92YWx1ZSkpOw0KPiAgICAgICBzdGQ6 OnN0cmluZyBmcyA9IEZQUihjb3B5KGZzX3ZhbHVlKSk7DQo+IEBAIC0zNzE2LDkgKzM3MTYsOSBA QCBzdGQ6OnN0cmluZyBOTUQ6OkNNUF9FUV9TKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gICAgKi8N Cj4gICBzdGQ6OnN0cmluZyBOTUQ6OkNNUF9MRV9EKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gICB7 DQo+IC0gICAgdWludDY0IGZkX3ZhbHVlID0gZXh0cmFjdF9mZF8xMF85XzhfN182KGluc3RydWN0 aW9uKTsNCj4gLSAgICB1aW50NjQgZnNfdmFsdWUgPSBleHRyYWN0X2ZzXzE1XzE0XzEzXzEyXzEx KGluc3RydWN0aW9uKTsNCj4gICAgICAgdWludDY0IGZ0X3ZhbHVlID0gZXh0cmFjdF9mdF8yMF8x OV8xOF8xN18xNihpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IGZzX3ZhbHVlID0gZXh0cmFj dF9mc18xNV8xNF8xM18xMl8xMShpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IGZkX3ZhbHVl ID0gZXh0cmFjdF9mZF8xMF85XzhfN182KGluc3RydWN0aW9uKTsNCj4gICANCj4gICAgICAgc3Rk OjpzdHJpbmcgZmQgPSBGUFIoY29weShmZF92YWx1ZSkpOw0KPiAgICAgICBzdGQ6OnN0cmluZyBm cyA9IEZQUihjb3B5KGZzX3ZhbHVlKSk7DQo+IEBAIC0zNzYyLDkgKzM3NjIsOSBAQCBzdGQ6OnN0 cmluZyBOTUQ6OkNNUF9MRV9QSCh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICAgICovDQo+ICAgc3Rk OjpzdHJpbmcgTk1EOjpDTVBfTEVfUyh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICAgew0KPiAtICAg IHVpbnQ2NCBmZF92YWx1ZSA9IGV4dHJhY3RfZmRfMTBfOV84XzdfNihpbnN0cnVjdGlvbik7DQo+ IC0gICAgdWludDY0IGZzX3ZhbHVlID0gZXh0cmFjdF9mc18xNV8xNF8xM18xMl8xMShpbnN0cnVj dGlvbik7DQo+ICAgICAgIHVpbnQ2NCBmdF92YWx1ZSA9IGV4dHJhY3RfZnRfMjBfMTlfMThfMTdf MTYoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCBmc192YWx1ZSA9IGV4dHJhY3RfZnNfMTVf MTRfMTNfMTJfMTEoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCBmZF92YWx1ZSA9IGV4dHJh Y3RfZmRfMTBfOV84XzdfNihpbnN0cnVjdGlvbik7DQo+ICAgDQo+ICAgICAgIHN0ZDo6c3RyaW5n IGZkID0gRlBSKGNvcHkoZmRfdmFsdWUpKTsNCj4gICAgICAgc3RkOjpzdHJpbmcgZnMgPSBGUFIo Y29weShmc192YWx1ZSkpOw0KPiBAQCAtMzc4Niw5ICszNzg2LDkgQEAgc3RkOjpzdHJpbmcgTk1E OjpDTVBfTEVfUyh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICAgICovDQo+ICAgc3RkOjpzdHJpbmcg Tk1EOjpDTVBfTFRfRCh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICAgew0KPiAtICAgIHVpbnQ2NCBm ZF92YWx1ZSA9IGV4dHJhY3RfZmRfMTBfOV84XzdfNihpbnN0cnVjdGlvbik7DQo+IC0gICAgdWlu dDY0IGZzX3ZhbHVlID0gZXh0cmFjdF9mc18xNV8xNF8xM18xMl8xMShpbnN0cnVjdGlvbik7DQo+ ICAgICAgIHVpbnQ2NCBmdF92YWx1ZSA9IGV4dHJhY3RfZnRfMjBfMTlfMThfMTdfMTYoaW5zdHJ1 Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCBmc192YWx1ZSA9IGV4dHJhY3RfZnNfMTVfMTRfMTNfMTJf MTEoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCBmZF92YWx1ZSA9IGV4dHJhY3RfZmRfMTBf OV84XzdfNihpbnN0cnVjdGlvbik7DQo+ICAgDQo+ICAgICAgIHN0ZDo6c3RyaW5nIGZkID0gRlBS KGNvcHkoZmRfdmFsdWUpKTsNCj4gICAgICAgc3RkOjpzdHJpbmcgZnMgPSBGUFIoY29weShmc192 YWx1ZSkpOw0KPiBAQCAtMzgzMiw5ICszODMyLDkgQEAgc3RkOjpzdHJpbmcgTk1EOjpDTVBfTFRf UEgodWludDY0IGluc3RydWN0aW9uKQ0KPiAgICAqLw0KPiAgIHN0ZDo6c3RyaW5nIE5NRDo6Q01Q X0xUX1ModWludDY0IGluc3RydWN0aW9uKQ0KPiAgIHsNCj4gLSAgICB1aW50NjQgZmRfdmFsdWUg PSBleHRyYWN0X2ZkXzEwXzlfOF83XzYoaW5zdHJ1Y3Rpb24pOw0KPiAtICAgIHVpbnQ2NCBmc192 YWx1ZSA9IGV4dHJhY3RfZnNfMTVfMTRfMTNfMTJfMTEoaW5zdHJ1Y3Rpb24pOw0KPiAgICAgICB1 aW50NjQgZnRfdmFsdWUgPSBleHRyYWN0X2Z0XzIwXzE5XzE4XzE3XzE2KGluc3RydWN0aW9uKTsN Cj4gKyAgICB1aW50NjQgZnNfdmFsdWUgPSBleHRyYWN0X2ZzXzE1XzE0XzEzXzEyXzExKGluc3Ry dWN0aW9uKTsNCj4gKyAgICB1aW50NjQgZmRfdmFsdWUgPSBleHRyYWN0X2ZkXzEwXzlfOF83XzYo aW5zdHJ1Y3Rpb24pOw0KPiAgIA0KPiAgICAgICBzdGQ6OnN0cmluZyBmZCA9IEZQUihjb3B5KGZk X3ZhbHVlKSk7DQo+ICAgICAgIHN0ZDo6c3RyaW5nIGZzID0gRlBSKGNvcHkoZnNfdmFsdWUpKTsN Cj4gQEAgLTM4NTYsOSArMzg1Niw5IEBAIHN0ZDo6c3RyaW5nIE5NRDo6Q01QX0xUX1ModWludDY0 IGluc3RydWN0aW9uKQ0KPiAgICAqLw0KPiAgIHN0ZDo6c3RyaW5nIE5NRDo6Q01QX05FX0QodWlu dDY0IGluc3RydWN0aW9uKQ0KPiAgIHsNCj4gLSAgICB1aW50NjQgZmRfdmFsdWUgPSBleHRyYWN0 X2ZkXzEwXzlfOF83XzYoaW5zdHJ1Y3Rpb24pOw0KPiAtICAgIHVpbnQ2NCBmc192YWx1ZSA9IGV4 dHJhY3RfZnNfMTVfMTRfMTNfMTJfMTEoaW5zdHJ1Y3Rpb24pOw0KPiAgICAgICB1aW50NjQgZnRf dmFsdWUgPSBleHRyYWN0X2Z0XzIwXzE5XzE4XzE3XzE2KGluc3RydWN0aW9uKTsNCj4gKyAgICB1 aW50NjQgZnNfdmFsdWUgPSBleHRyYWN0X2ZzXzE1XzE0XzEzXzEyXzExKGluc3RydWN0aW9uKTsN Cj4gKyAgICB1aW50NjQgZmRfdmFsdWUgPSBleHRyYWN0X2ZkXzEwXzlfOF83XzYoaW5zdHJ1Y3Rp b24pOw0KPiAgIA0KPiAgICAgICBzdGQ6OnN0cmluZyBmZCA9IEZQUihjb3B5KGZkX3ZhbHVlKSk7 DQo+ICAgICAgIHN0ZDo6c3RyaW5nIGZzID0gRlBSKGNvcHkoZnNfdmFsdWUpKTsNCj4gQEAgLTM4 ODAsOSArMzg4MCw5IEBAIHN0ZDo6c3RyaW5nIE5NRDo6Q01QX05FX0QodWludDY0IGluc3RydWN0 aW9uKQ0KPiAgICAqLw0KPiAgIHN0ZDo6c3RyaW5nIE5NRDo6Q01QX05FX1ModWludDY0IGluc3Ry dWN0aW9uKQ0KPiAgIHsNCj4gLSAgICB1aW50NjQgZmRfdmFsdWUgPSBleHRyYWN0X2ZkXzEwXzlf OF83XzYoaW5zdHJ1Y3Rpb24pOw0KPiAtICAgIHVpbnQ2NCBmc192YWx1ZSA9IGV4dHJhY3RfZnNf MTVfMTRfMTNfMTJfMTEoaW5zdHJ1Y3Rpb24pOw0KPiAgICAgICB1aW50NjQgZnRfdmFsdWUgPSBl eHRyYWN0X2Z0XzIwXzE5XzE4XzE3XzE2KGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgZnNf dmFsdWUgPSBleHRyYWN0X2ZzXzE1XzE0XzEzXzEyXzExKGluc3RydWN0aW9uKTsNCj4gKyAgICB1 aW50NjQgZmRfdmFsdWUgPSBleHRyYWN0X2ZkXzEwXzlfOF83XzYoaW5zdHJ1Y3Rpb24pOw0KPiAg IA0KPiAgICAgICBzdGQ6OnN0cmluZyBmZCA9IEZQUihjb3B5KGZkX3ZhbHVlKSk7DQo+ICAgICAg IHN0ZDo6c3RyaW5nIGZzID0gRlBSKGNvcHkoZnNfdmFsdWUpKTsNCj4gQEAgLTM5MDQsOSArMzkw NCw5IEBAIHN0ZDo6c3RyaW5nIE5NRDo6Q01QX05FX1ModWludDY0IGluc3RydWN0aW9uKQ0KPiAg ICAqLw0KPiAgIHN0ZDo6c3RyaW5nIE5NRDo6Q01QX09SX0QodWludDY0IGluc3RydWN0aW9uKQ0K PiAgIHsNCj4gLSAgICB1aW50NjQgZmRfdmFsdWUgPSBleHRyYWN0X2ZkXzEwXzlfOF83XzYoaW5z dHJ1Y3Rpb24pOw0KPiAtICAgIHVpbnQ2NCBmc192YWx1ZSA9IGV4dHJhY3RfZnNfMTVfMTRfMTNf MTJfMTEoaW5zdHJ1Y3Rpb24pOw0KPiAgICAgICB1aW50NjQgZnRfdmFsdWUgPSBleHRyYWN0X2Z0 XzIwXzE5XzE4XzE3XzE2KGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgZnNfdmFsdWUgPSBl eHRyYWN0X2ZzXzE1XzE0XzEzXzEyXzExKGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgZmRf dmFsdWUgPSBleHRyYWN0X2ZkXzEwXzlfOF83XzYoaW5zdHJ1Y3Rpb24pOw0KPiAgIA0KPiAgICAg ICBzdGQ6OnN0cmluZyBmZCA9IEZQUihjb3B5KGZkX3ZhbHVlKSk7DQo+ICAgICAgIHN0ZDo6c3Ry aW5nIGZzID0gRlBSKGNvcHkoZnNfdmFsdWUpKTsNCj4gQEAgLTM5MjgsOSArMzkyOCw5IEBAIHN0 ZDo6c3RyaW5nIE5NRDo6Q01QX09SX0QodWludDY0IGluc3RydWN0aW9uKQ0KPiAgICAqLw0KPiAg IHN0ZDo6c3RyaW5nIE5NRDo6Q01QX09SX1ModWludDY0IGluc3RydWN0aW9uKQ0KPiAgIHsNCj4g LSAgICB1aW50NjQgZmRfdmFsdWUgPSBleHRyYWN0X2ZkXzEwXzlfOF83XzYoaW5zdHJ1Y3Rpb24p Ow0KPiAtICAgIHVpbnQ2NCBmc192YWx1ZSA9IGV4dHJhY3RfZnNfMTVfMTRfMTNfMTJfMTEoaW5z dHJ1Y3Rpb24pOw0KPiAgICAgICB1aW50NjQgZnRfdmFsdWUgPSBleHRyYWN0X2Z0XzIwXzE5XzE4 XzE3XzE2KGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgZnNfdmFsdWUgPSBleHRyYWN0X2Zz XzE1XzE0XzEzXzEyXzExKGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgZmRfdmFsdWUgPSBl eHRyYWN0X2ZkXzEwXzlfOF83XzYoaW5zdHJ1Y3Rpb24pOw0KPiAgIA0KPiAgICAgICBzdGQ6OnN0 cmluZyBmZCA9IEZQUihjb3B5KGZkX3ZhbHVlKSk7DQo+ICAgICAgIHN0ZDo6c3RyaW5nIGZzID0g RlBSKGNvcHkoZnNfdmFsdWUpKTsNCj4gQEAgLTM5NTIsOSArMzk1Miw5IEBAIHN0ZDo6c3RyaW5n IE5NRDo6Q01QX09SX1ModWludDY0IGluc3RydWN0aW9uKQ0KPiAgICAqLw0KPiAgIHN0ZDo6c3Ry aW5nIE5NRDo6Q01QX1NBRl9EKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gICB7DQo+IC0gICAgdWlu dDY0IGZkX3ZhbHVlID0gZXh0cmFjdF9mZF8xMF85XzhfN182KGluc3RydWN0aW9uKTsNCj4gLSAg ICB1aW50NjQgZnNfdmFsdWUgPSBleHRyYWN0X2ZzXzE1XzE0XzEzXzEyXzExKGluc3RydWN0aW9u KTsNCj4gICAgICAgdWludDY0IGZ0X3ZhbHVlID0gZXh0cmFjdF9mdF8yMF8xOV8xOF8xN18xNihp bnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IGZzX3ZhbHVlID0gZXh0cmFjdF9mc18xNV8xNF8x M18xMl8xMShpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IGZkX3ZhbHVlID0gZXh0cmFjdF9m ZF8xMF85XzhfN182KGluc3RydWN0aW9uKTsNCj4gICANCj4gICAgICAgc3RkOjpzdHJpbmcgZmQg PSBGUFIoY29weShmZF92YWx1ZSkpOw0KPiAgICAgICBzdGQ6OnN0cmluZyBmcyA9IEZQUihjb3B5 KGZzX3ZhbHVlKSk7DQo+IEBAIC0zOTc2LDkgKzM5NzYsOSBAQCBzdGQ6OnN0cmluZyBOTUQ6OkNN UF9TQUZfRCh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICAgICovDQo+ICAgc3RkOjpzdHJpbmcgTk1E OjpDTVBfU0FGX1ModWludDY0IGluc3RydWN0aW9uKQ0KPiAgIHsNCj4gLSAgICB1aW50NjQgZmRf dmFsdWUgPSBleHRyYWN0X2ZkXzEwXzlfOF83XzYoaW5zdHJ1Y3Rpb24pOw0KPiAtICAgIHVpbnQ2 NCBmc192YWx1ZSA9IGV4dHJhY3RfZnNfMTVfMTRfMTNfMTJfMTEoaW5zdHJ1Y3Rpb24pOw0KPiAg ICAgICB1aW50NjQgZnRfdmFsdWUgPSBleHRyYWN0X2Z0XzIwXzE5XzE4XzE3XzE2KGluc3RydWN0 aW9uKTsNCj4gKyAgICB1aW50NjQgZnNfdmFsdWUgPSBleHRyYWN0X2ZzXzE1XzE0XzEzXzEyXzEx KGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgZmRfdmFsdWUgPSBleHRyYWN0X2ZkXzEwXzlf OF83XzYoaW5zdHJ1Y3Rpb24pOw0KPiAgIA0KPiAgICAgICBzdGQ6OnN0cmluZyBmZCA9IEZQUihj b3B5KGZkX3ZhbHVlKSk7DQo+ICAgICAgIHN0ZDo6c3RyaW5nIGZzID0gRlBSKGNvcHkoZnNfdmFs dWUpKTsNCj4gQEAgLTQwMDAsOSArNDAwMCw5IEBAIHN0ZDo6c3RyaW5nIE5NRDo6Q01QX1NBRl9T KHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gICAgKi8NCj4gICBzdGQ6OnN0cmluZyBOTUQ6OkNNUF9T RVFfRCh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICAgew0KPiAtICAgIHVpbnQ2NCBmZF92YWx1ZSA9 IGV4dHJhY3RfZmRfMTBfOV84XzdfNihpbnN0cnVjdGlvbik7DQo+IC0gICAgdWludDY0IGZzX3Zh bHVlID0gZXh0cmFjdF9mc18xNV8xNF8xM18xMl8xMShpbnN0cnVjdGlvbik7DQo+ICAgICAgIHVp bnQ2NCBmdF92YWx1ZSA9IGV4dHJhY3RfZnRfMjBfMTlfMThfMTdfMTYoaW5zdHJ1Y3Rpb24pOw0K PiArICAgIHVpbnQ2NCBmc192YWx1ZSA9IGV4dHJhY3RfZnNfMTVfMTRfMTNfMTJfMTEoaW5zdHJ1 Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCBmZF92YWx1ZSA9IGV4dHJhY3RfZmRfMTBfOV84XzdfNihp bnN0cnVjdGlvbik7DQo+ICAgDQo+ICAgICAgIHN0ZDo6c3RyaW5nIGZkID0gRlBSKGNvcHkoZmRf dmFsdWUpKTsNCj4gICAgICAgc3RkOjpzdHJpbmcgZnMgPSBGUFIoY29weShmc192YWx1ZSkpOw0K PiBAQCAtNDAyNCw5ICs0MDI0LDkgQEAgc3RkOjpzdHJpbmcgTk1EOjpDTVBfU0VRX0QodWludDY0 IGluc3RydWN0aW9uKQ0KPiAgICAqLw0KPiAgIHN0ZDo6c3RyaW5nIE5NRDo6Q01QX1NFUV9TKHVp bnQ2NCBpbnN0cnVjdGlvbikNCj4gICB7DQo+IC0gICAgdWludDY0IGZkX3ZhbHVlID0gZXh0cmFj dF9mZF8xMF85XzhfN182KGluc3RydWN0aW9uKTsNCj4gLSAgICB1aW50NjQgZnNfdmFsdWUgPSBl eHRyYWN0X2ZzXzE1XzE0XzEzXzEyXzExKGluc3RydWN0aW9uKTsNCj4gICAgICAgdWludDY0IGZ0 X3ZhbHVlID0gZXh0cmFjdF9mdF8yMF8xOV8xOF8xN18xNihpbnN0cnVjdGlvbik7DQo+ICsgICAg dWludDY0IGZzX3ZhbHVlID0gZXh0cmFjdF9mc18xNV8xNF8xM18xMl8xMShpbnN0cnVjdGlvbik7 DQo+ICsgICAgdWludDY0IGZkX3ZhbHVlID0gZXh0cmFjdF9mZF8xMF85XzhfN182KGluc3RydWN0 aW9uKTsNCj4gICANCj4gICAgICAgc3RkOjpzdHJpbmcgZmQgPSBGUFIoY29weShmZF92YWx1ZSkp Ow0KPiAgICAgICBzdGQ6OnN0cmluZyBmcyA9IEZQUihjb3B5KGZzX3ZhbHVlKSk7DQo+IEBAIC00 MDQ4LDkgKzQwNDgsOSBAQCBzdGQ6OnN0cmluZyBOTUQ6OkNNUF9TRVFfUyh1aW50NjQgaW5zdHJ1 Y3Rpb24pDQo+ICAgICovDQo+ICAgc3RkOjpzdHJpbmcgTk1EOjpDTVBfU0xFX0QodWludDY0IGlu c3RydWN0aW9uKQ0KPiAgIHsNCj4gLSAgICB1aW50NjQgZmRfdmFsdWUgPSBleHRyYWN0X2ZkXzEw XzlfOF83XzYoaW5zdHJ1Y3Rpb24pOw0KPiAtICAgIHVpbnQ2NCBmc192YWx1ZSA9IGV4dHJhY3Rf ZnNfMTVfMTRfMTNfMTJfMTEoaW5zdHJ1Y3Rpb24pOw0KPiAgICAgICB1aW50NjQgZnRfdmFsdWUg PSBleHRyYWN0X2Z0XzIwXzE5XzE4XzE3XzE2KGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQg ZnNfdmFsdWUgPSBleHRyYWN0X2ZzXzE1XzE0XzEzXzEyXzExKGluc3RydWN0aW9uKTsNCj4gKyAg ICB1aW50NjQgZmRfdmFsdWUgPSBleHRyYWN0X2ZkXzEwXzlfOF83XzYoaW5zdHJ1Y3Rpb24pOw0K PiAgIA0KPiAgICAgICBzdGQ6OnN0cmluZyBmZCA9IEZQUihjb3B5KGZkX3ZhbHVlKSk7DQo+ICAg ICAgIHN0ZDo6c3RyaW5nIGZzID0gRlBSKGNvcHkoZnNfdmFsdWUpKTsNCj4gQEAgLTQwNzIsOSAr NDA3Miw5IEBAIHN0ZDo6c3RyaW5nIE5NRDo6Q01QX1NMRV9EKHVpbnQ2NCBpbnN0cnVjdGlvbikN Cj4gICAgKi8NCj4gICBzdGQ6OnN0cmluZyBOTUQ6OkNNUF9TTEVfUyh1aW50NjQgaW5zdHJ1Y3Rp b24pDQo+ICAgew0KPiAtICAgIHVpbnQ2NCBmZF92YWx1ZSA9IGV4dHJhY3RfZmRfMTBfOV84Xzdf NihpbnN0cnVjdGlvbik7DQo+IC0gICAgdWludDY0IGZzX3ZhbHVlID0gZXh0cmFjdF9mc18xNV8x NF8xM18xMl8xMShpbnN0cnVjdGlvbik7DQo+ICAgICAgIHVpbnQ2NCBmdF92YWx1ZSA9IGV4dHJh Y3RfZnRfMjBfMTlfMThfMTdfMTYoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCBmc192YWx1 ZSA9IGV4dHJhY3RfZnNfMTVfMTRfMTNfMTJfMTEoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2 NCBmZF92YWx1ZSA9IGV4dHJhY3RfZmRfMTBfOV84XzdfNihpbnN0cnVjdGlvbik7DQo+ICAgDQo+ ICAgICAgIHN0ZDo6c3RyaW5nIGZkID0gRlBSKGNvcHkoZmRfdmFsdWUpKTsNCj4gICAgICAgc3Rk OjpzdHJpbmcgZnMgPSBGUFIoY29weShmc192YWx1ZSkpOw0KPiBAQCAtNDA5Niw5ICs0MDk2LDkg QEAgc3RkOjpzdHJpbmcgTk1EOjpDTVBfU0xFX1ModWludDY0IGluc3RydWN0aW9uKQ0KPiAgICAq Lw0KPiAgIHN0ZDo6c3RyaW5nIE5NRDo6Q01QX1NMVF9EKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4g ICB7DQo+IC0gICAgdWludDY0IGZkX3ZhbHVlID0gZXh0cmFjdF9mZF8xMF85XzhfN182KGluc3Ry dWN0aW9uKTsNCj4gLSAgICB1aW50NjQgZnNfdmFsdWUgPSBleHRyYWN0X2ZzXzE1XzE0XzEzXzEy XzExKGluc3RydWN0aW9uKTsNCj4gICAgICAgdWludDY0IGZ0X3ZhbHVlID0gZXh0cmFjdF9mdF8y MF8xOV8xOF8xN18xNihpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IGZzX3ZhbHVlID0gZXh0 cmFjdF9mc18xNV8xNF8xM18xMl8xMShpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IGZkX3Zh bHVlID0gZXh0cmFjdF9mZF8xMF85XzhfN182KGluc3RydWN0aW9uKTsNCj4gICANCj4gICAgICAg c3RkOjpzdHJpbmcgZmQgPSBGUFIoY29weShmZF92YWx1ZSkpOw0KPiAgICAgICBzdGQ6OnN0cmlu ZyBmcyA9IEZQUihjb3B5KGZzX3ZhbHVlKSk7DQo+IEBAIC00MTIwLDkgKzQxMjAsOSBAQCBzdGQ6 OnN0cmluZyBOTUQ6OkNNUF9TTFRfRCh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICAgICovDQo+ICAg c3RkOjpzdHJpbmcgTk1EOjpDTVBfU0xUX1ModWludDY0IGluc3RydWN0aW9uKQ0KPiAgIHsNCj4g LSAgICB1aW50NjQgZmRfdmFsdWUgPSBleHRyYWN0X2ZkXzEwXzlfOF83XzYoaW5zdHJ1Y3Rpb24p Ow0KPiAtICAgIHVpbnQ2NCBmc192YWx1ZSA9IGV4dHJhY3RfZnNfMTVfMTRfMTNfMTJfMTEoaW5z dHJ1Y3Rpb24pOw0KPiAgICAgICB1aW50NjQgZnRfdmFsdWUgPSBleHRyYWN0X2Z0XzIwXzE5XzE4 XzE3XzE2KGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgZnNfdmFsdWUgPSBleHRyYWN0X2Zz XzE1XzE0XzEzXzEyXzExKGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgZmRfdmFsdWUgPSBl eHRyYWN0X2ZkXzEwXzlfOF83XzYoaW5zdHJ1Y3Rpb24pOw0KPiAgIA0KPiAgICAgICBzdGQ6OnN0 cmluZyBmZCA9IEZQUihjb3B5KGZkX3ZhbHVlKSk7DQo+ICAgICAgIHN0ZDo6c3RyaW5nIGZzID0g RlBSKGNvcHkoZnNfdmFsdWUpKTsNCj4gQEAgLTQxNDQsOSArNDE0NCw5IEBAIHN0ZDo6c3RyaW5n IE5NRDo6Q01QX1NMVF9TKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gICAgKi8NCj4gICBzdGQ6OnN0 cmluZyBOTUQ6OkNNUF9TTkVfRCh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICAgew0KPiAtICAgIHVp bnQ2NCBmZF92YWx1ZSA9IGV4dHJhY3RfZmRfMTBfOV84XzdfNihpbnN0cnVjdGlvbik7DQo+IC0g ICAgdWludDY0IGZzX3ZhbHVlID0gZXh0cmFjdF9mc18xNV8xNF8xM18xMl8xMShpbnN0cnVjdGlv bik7DQo+ICAgICAgIHVpbnQ2NCBmdF92YWx1ZSA9IGV4dHJhY3RfZnRfMjBfMTlfMThfMTdfMTYo aW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCBmc192YWx1ZSA9IGV4dHJhY3RfZnNfMTVfMTRf MTNfMTJfMTEoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCBmZF92YWx1ZSA9IGV4dHJhY3Rf ZmRfMTBfOV84XzdfNihpbnN0cnVjdGlvbik7DQo+ICAgDQo+ICAgICAgIHN0ZDo6c3RyaW5nIGZk ID0gRlBSKGNvcHkoZmRfdmFsdWUpKTsNCj4gICAgICAgc3RkOjpzdHJpbmcgZnMgPSBGUFIoY29w eShmc192YWx1ZSkpOw0KPiBAQCAtNDE2OCw5ICs0MTY4LDkgQEAgc3RkOjpzdHJpbmcgTk1EOjpD TVBfU05FX0QodWludDY0IGluc3RydWN0aW9uKQ0KPiAgICAqLw0KPiAgIHN0ZDo6c3RyaW5nIE5N RDo6Q01QX1NORV9TKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gICB7DQo+IC0gICAgdWludDY0IGZk X3ZhbHVlID0gZXh0cmFjdF9mZF8xMF85XzhfN182KGluc3RydWN0aW9uKTsNCj4gLSAgICB1aW50 NjQgZnNfdmFsdWUgPSBleHRyYWN0X2ZzXzE1XzE0XzEzXzEyXzExKGluc3RydWN0aW9uKTsNCj4g ICAgICAgdWludDY0IGZ0X3ZhbHVlID0gZXh0cmFjdF9mdF8yMF8xOV8xOF8xN18xNihpbnN0cnVj dGlvbik7DQo+ICsgICAgdWludDY0IGZzX3ZhbHVlID0gZXh0cmFjdF9mc18xNV8xNF8xM18xMl8x MShpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IGZkX3ZhbHVlID0gZXh0cmFjdF9mZF8xMF85 XzhfN182KGluc3RydWN0aW9uKTsNCj4gICANCj4gICAgICAgc3RkOjpzdHJpbmcgZmQgPSBGUFIo Y29weShmZF92YWx1ZSkpOw0KPiAgICAgICBzdGQ6OnN0cmluZyBmcyA9IEZQUihjb3B5KGZzX3Zh bHVlKSk7DQo+IEBAIC00MTkyLDkgKzQxOTIsOSBAQCBzdGQ6OnN0cmluZyBOTUQ6OkNNUF9TTkVf Uyh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICAgICovDQo+ICAgc3RkOjpzdHJpbmcgTk1EOjpDTVBf U09SX0QodWludDY0IGluc3RydWN0aW9uKQ0KPiAgIHsNCj4gLSAgICB1aW50NjQgZmRfdmFsdWUg PSBleHRyYWN0X2ZkXzEwXzlfOF83XzYoaW5zdHJ1Y3Rpb24pOw0KPiAtICAgIHVpbnQ2NCBmc192 YWx1ZSA9IGV4dHJhY3RfZnNfMTVfMTRfMTNfMTJfMTEoaW5zdHJ1Y3Rpb24pOw0KPiAgICAgICB1 aW50NjQgZnRfdmFsdWUgPSBleHRyYWN0X2Z0XzIwXzE5XzE4XzE3XzE2KGluc3RydWN0aW9uKTsN Cj4gKyAgICB1aW50NjQgZnNfdmFsdWUgPSBleHRyYWN0X2ZzXzE1XzE0XzEzXzEyXzExKGluc3Ry dWN0aW9uKTsNCj4gKyAgICB1aW50NjQgZmRfdmFsdWUgPSBleHRyYWN0X2ZkXzEwXzlfOF83XzYo aW5zdHJ1Y3Rpb24pOw0KPiAgIA0KPiAgICAgICBzdGQ6OnN0cmluZyBmZCA9IEZQUihjb3B5KGZk X3ZhbHVlKSk7DQo+ICAgICAgIHN0ZDo6c3RyaW5nIGZzID0gRlBSKGNvcHkoZnNfdmFsdWUpKTsN Cj4gQEAgLTQyMTYsOSArNDIxNiw5IEBAIHN0ZDo6c3RyaW5nIE5NRDo6Q01QX1NPUl9EKHVpbnQ2 NCBpbnN0cnVjdGlvbikNCj4gICAgKi8NCj4gICBzdGQ6OnN0cmluZyBOTUQ6OkNNUF9TT1JfUyh1 aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICAgew0KPiAtICAgIHVpbnQ2NCBmZF92YWx1ZSA9IGV4dHJh Y3RfZmRfMTBfOV84XzdfNihpbnN0cnVjdGlvbik7DQo+IC0gICAgdWludDY0IGZzX3ZhbHVlID0g ZXh0cmFjdF9mc18xNV8xNF8xM18xMl8xMShpbnN0cnVjdGlvbik7DQo+ICAgICAgIHVpbnQ2NCBm dF92YWx1ZSA9IGV4dHJhY3RfZnRfMjBfMTlfMThfMTdfMTYoaW5zdHJ1Y3Rpb24pOw0KPiArICAg IHVpbnQ2NCBmc192YWx1ZSA9IGV4dHJhY3RfZnNfMTVfMTRfMTNfMTJfMTEoaW5zdHJ1Y3Rpb24p Ow0KPiArICAgIHVpbnQ2NCBmZF92YWx1ZSA9IGV4dHJhY3RfZmRfMTBfOV84XzdfNihpbnN0cnVj dGlvbik7DQo+ICAgDQo+ICAgICAgIHN0ZDo6c3RyaW5nIGZkID0gRlBSKGNvcHkoZmRfdmFsdWUp KTsNCj4gICAgICAgc3RkOjpzdHJpbmcgZnMgPSBGUFIoY29weShmc192YWx1ZSkpOw0KPiBAQCAt NDI0MCw5ICs0MjQwLDkgQEAgc3RkOjpzdHJpbmcgTk1EOjpDTVBfU09SX1ModWludDY0IGluc3Ry dWN0aW9uKQ0KPiAgICAqLw0KPiAgIHN0ZDo6c3RyaW5nIE5NRDo6Q01QX1NVRVFfRCh1aW50NjQg aW5zdHJ1Y3Rpb24pDQo+ICAgew0KPiAtICAgIHVpbnQ2NCBmZF92YWx1ZSA9IGV4dHJhY3RfZmRf MTBfOV84XzdfNihpbnN0cnVjdGlvbik7DQo+IC0gICAgdWludDY0IGZzX3ZhbHVlID0gZXh0cmFj dF9mc18xNV8xNF8xM18xMl8xMShpbnN0cnVjdGlvbik7DQo+ICAgICAgIHVpbnQ2NCBmdF92YWx1 ZSA9IGV4dHJhY3RfZnRfMjBfMTlfMThfMTdfMTYoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2 NCBmc192YWx1ZSA9IGV4dHJhY3RfZnNfMTVfMTRfMTNfMTJfMTEoaW5zdHJ1Y3Rpb24pOw0KPiAr ICAgIHVpbnQ2NCBmZF92YWx1ZSA9IGV4dHJhY3RfZmRfMTBfOV84XzdfNihpbnN0cnVjdGlvbik7 DQo+ICAgDQo+ICAgICAgIHN0ZDo6c3RyaW5nIGZkID0gRlBSKGNvcHkoZmRfdmFsdWUpKTsNCj4g ICAgICAgc3RkOjpzdHJpbmcgZnMgPSBGUFIoY29weShmc192YWx1ZSkpOw0KPiBAQCAtNDI2NCw5 ICs0MjY0LDkgQEAgc3RkOjpzdHJpbmcgTk1EOjpDTVBfU1VFUV9EKHVpbnQ2NCBpbnN0cnVjdGlv bikNCj4gICAgKi8NCj4gICBzdGQ6OnN0cmluZyBOTUQ6OkNNUF9TVUVRX1ModWludDY0IGluc3Ry dWN0aW9uKQ0KPiAgIHsNCj4gLSAgICB1aW50NjQgZmRfdmFsdWUgPSBleHRyYWN0X2ZkXzEwXzlf OF83XzYoaW5zdHJ1Y3Rpb24pOw0KPiAtICAgIHVpbnQ2NCBmc192YWx1ZSA9IGV4dHJhY3RfZnNf MTVfMTRfMTNfMTJfMTEoaW5zdHJ1Y3Rpb24pOw0KPiAgICAgICB1aW50NjQgZnRfdmFsdWUgPSBl eHRyYWN0X2Z0XzIwXzE5XzE4XzE3XzE2KGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgZnNf dmFsdWUgPSBleHRyYWN0X2ZzXzE1XzE0XzEzXzEyXzExKGluc3RydWN0aW9uKTsNCj4gKyAgICB1 aW50NjQgZmRfdmFsdWUgPSBleHRyYWN0X2ZkXzEwXzlfOF83XzYoaW5zdHJ1Y3Rpb24pOw0KPiAg IA0KPiAgICAgICBzdGQ6OnN0cmluZyBmZCA9IEZQUihjb3B5KGZkX3ZhbHVlKSk7DQo+ICAgICAg IHN0ZDo6c3RyaW5nIGZzID0gRlBSKGNvcHkoZnNfdmFsdWUpKTsNCj4gQEAgLTQyODgsOSArNDI4 OCw5IEBAIHN0ZDo6c3RyaW5nIE5NRDo6Q01QX1NVRVFfUyh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ ICAgICovDQo+ICAgc3RkOjpzdHJpbmcgTk1EOjpDTVBfU1VMRV9EKHVpbnQ2NCBpbnN0cnVjdGlv bikNCj4gICB7DQo+IC0gICAgdWludDY0IGZkX3ZhbHVlID0gZXh0cmFjdF9mZF8xMF85XzhfN182 KGluc3RydWN0aW9uKTsNCj4gLSAgICB1aW50NjQgZnNfdmFsdWUgPSBleHRyYWN0X2ZzXzE1XzE0 XzEzXzEyXzExKGluc3RydWN0aW9uKTsNCj4gICAgICAgdWludDY0IGZ0X3ZhbHVlID0gZXh0cmFj dF9mdF8yMF8xOV8xOF8xN18xNihpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IGZzX3ZhbHVl ID0gZXh0cmFjdF9mc18xNV8xNF8xM18xMl8xMShpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0 IGZkX3ZhbHVlID0gZXh0cmFjdF9mZF8xMF85XzhfN182KGluc3RydWN0aW9uKTsNCj4gICANCj4g ICAgICAgc3RkOjpzdHJpbmcgZmQgPSBGUFIoY29weShmZF92YWx1ZSkpOw0KPiAgICAgICBzdGQ6 OnN0cmluZyBmcyA9IEZQUihjb3B5KGZzX3ZhbHVlKSk7DQo+IEBAIC00MzEyLDkgKzQzMTIsOSBA QCBzdGQ6OnN0cmluZyBOTUQ6OkNNUF9TVUxFX0QodWludDY0IGluc3RydWN0aW9uKQ0KPiAgICAq Lw0KPiAgIHN0ZDo6c3RyaW5nIE5NRDo6Q01QX1NVTEVfUyh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ ICAgew0KPiAtICAgIHVpbnQ2NCBmZF92YWx1ZSA9IGV4dHJhY3RfZmRfMTBfOV84XzdfNihpbnN0 cnVjdGlvbik7DQo+IC0gICAgdWludDY0IGZzX3ZhbHVlID0gZXh0cmFjdF9mc18xNV8xNF8xM18x Ml8xMShpbnN0cnVjdGlvbik7DQo+ICAgICAgIHVpbnQ2NCBmdF92YWx1ZSA9IGV4dHJhY3RfZnRf MjBfMTlfMThfMTdfMTYoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCBmc192YWx1ZSA9IGV4 dHJhY3RfZnNfMTVfMTRfMTNfMTJfMTEoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCBmZF92 YWx1ZSA9IGV4dHJhY3RfZmRfMTBfOV84XzdfNihpbnN0cnVjdGlvbik7DQo+ICAgDQo+ICAgICAg IHN0ZDo6c3RyaW5nIGZkID0gRlBSKGNvcHkoZmRfdmFsdWUpKTsNCj4gICAgICAgc3RkOjpzdHJp bmcgZnMgPSBGUFIoY29weShmc192YWx1ZSkpOw0KPiBAQCAtNDMzNiw5ICs0MzM2LDkgQEAgc3Rk OjpzdHJpbmcgTk1EOjpDTVBfU1VMRV9TKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gICAgKi8NCj4g ICBzdGQ6OnN0cmluZyBOTUQ6OkNNUF9TVUxUX0QodWludDY0IGluc3RydWN0aW9uKQ0KPiAgIHsN Cj4gLSAgICB1aW50NjQgZmRfdmFsdWUgPSBleHRyYWN0X2ZkXzEwXzlfOF83XzYoaW5zdHJ1Y3Rp b24pOw0KPiAtICAgIHVpbnQ2NCBmc192YWx1ZSA9IGV4dHJhY3RfZnNfMTVfMTRfMTNfMTJfMTEo aW5zdHJ1Y3Rpb24pOw0KPiAgICAgICB1aW50NjQgZnRfdmFsdWUgPSBleHRyYWN0X2Z0XzIwXzE5 XzE4XzE3XzE2KGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgZnNfdmFsdWUgPSBleHRyYWN0 X2ZzXzE1XzE0XzEzXzEyXzExKGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgZmRfdmFsdWUg PSBleHRyYWN0X2ZkXzEwXzlfOF83XzYoaW5zdHJ1Y3Rpb24pOw0KPiAgIA0KPiAgICAgICBzdGQ6 OnN0cmluZyBmZCA9IEZQUihjb3B5KGZkX3ZhbHVlKSk7DQo+ICAgICAgIHN0ZDo6c3RyaW5nIGZz ID0gRlBSKGNvcHkoZnNfdmFsdWUpKTsNCj4gQEAgLTQzNjAsOSArNDM2MCw5IEBAIHN0ZDo6c3Ry aW5nIE5NRDo6Q01QX1NVTFRfRCh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICAgICovDQo+ICAgc3Rk OjpzdHJpbmcgTk1EOjpDTVBfU1VMVF9TKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gICB7DQo+IC0g ICAgdWludDY0IGZkX3ZhbHVlID0gZXh0cmFjdF9mZF8xMF85XzhfN182KGluc3RydWN0aW9uKTsN Cj4gLSAgICB1aW50NjQgZnNfdmFsdWUgPSBleHRyYWN0X2ZzXzE1XzE0XzEzXzEyXzExKGluc3Ry dWN0aW9uKTsNCj4gICAgICAgdWludDY0IGZ0X3ZhbHVlID0gZXh0cmFjdF9mdF8yMF8xOV8xOF8x N18xNihpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IGZzX3ZhbHVlID0gZXh0cmFjdF9mc18x NV8xNF8xM18xMl8xMShpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IGZkX3ZhbHVlID0gZXh0 cmFjdF9mZF8xMF85XzhfN182KGluc3RydWN0aW9uKTsNCj4gICANCj4gICAgICAgc3RkOjpzdHJp bmcgZmQgPSBGUFIoY29weShmZF92YWx1ZSkpOw0KPiAgICAgICBzdGQ6OnN0cmluZyBmcyA9IEZQ Uihjb3B5KGZzX3ZhbHVlKSk7DQo+IEBAIC00Mzg0LDkgKzQzODQsOSBAQCBzdGQ6OnN0cmluZyBO TUQ6OkNNUF9TVUxUX1ModWludDY0IGluc3RydWN0aW9uKQ0KPiAgICAqLw0KPiAgIHN0ZDo6c3Ry aW5nIE5NRDo6Q01QX1NVTl9EKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gICB7DQo+IC0gICAgdWlu dDY0IGZkX3ZhbHVlID0gZXh0cmFjdF9mZF8xMF85XzhfN182KGluc3RydWN0aW9uKTsNCj4gLSAg ICB1aW50NjQgZnNfdmFsdWUgPSBleHRyYWN0X2ZzXzE1XzE0XzEzXzEyXzExKGluc3RydWN0aW9u KTsNCj4gICAgICAgdWludDY0IGZ0X3ZhbHVlID0gZXh0cmFjdF9mdF8yMF8xOV8xOF8xN18xNihp bnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IGZzX3ZhbHVlID0gZXh0cmFjdF9mc18xNV8xNF8x M18xMl8xMShpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IGZkX3ZhbHVlID0gZXh0cmFjdF9m ZF8xMF85XzhfN182KGluc3RydWN0aW9uKTsNCj4gICANCj4gICAgICAgc3RkOjpzdHJpbmcgZmQg PSBGUFIoY29weShmZF92YWx1ZSkpOw0KPiAgICAgICBzdGQ6OnN0cmluZyBmcyA9IEZQUihjb3B5 KGZzX3ZhbHVlKSk7DQo+IEBAIC00NDA4LDkgKzQ0MDgsOSBAQCBzdGQ6OnN0cmluZyBOTUQ6OkNN UF9TVU5fRCh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICAgICovDQo+ICAgc3RkOjpzdHJpbmcgTk1E OjpDTVBfU1VORV9EKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gICB7DQo+IC0gICAgdWludDY0IGZk X3ZhbHVlID0gZXh0cmFjdF9mZF8xMF85XzhfN182KGluc3RydWN0aW9uKTsNCj4gLSAgICB1aW50 NjQgZnNfdmFsdWUgPSBleHRyYWN0X2ZzXzE1XzE0XzEzXzEyXzExKGluc3RydWN0aW9uKTsNCj4g ICAgICAgdWludDY0IGZ0X3ZhbHVlID0gZXh0cmFjdF9mdF8yMF8xOV8xOF8xN18xNihpbnN0cnVj dGlvbik7DQo+ICsgICAgdWludDY0IGZzX3ZhbHVlID0gZXh0cmFjdF9mc18xNV8xNF8xM18xMl8x MShpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IGZkX3ZhbHVlID0gZXh0cmFjdF9mZF8xMF85 XzhfN182KGluc3RydWN0aW9uKTsNCj4gICANCj4gICAgICAgc3RkOjpzdHJpbmcgZmQgPSBGUFIo Y29weShmZF92YWx1ZSkpOw0KPiAgICAgICBzdGQ6OnN0cmluZyBmcyA9IEZQUihjb3B5KGZzX3Zh bHVlKSk7DQo+IEBAIC00NDMyLDkgKzQ0MzIsOSBAQCBzdGQ6OnN0cmluZyBOTUQ6OkNNUF9TVU5F X0QodWludDY0IGluc3RydWN0aW9uKQ0KPiAgICAqLw0KPiAgIHN0ZDo6c3RyaW5nIE5NRDo6Q01Q X1NVTkVfUyh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICAgew0KPiAtICAgIHVpbnQ2NCBmZF92YWx1 ZSA9IGV4dHJhY3RfZmRfMTBfOV84XzdfNihpbnN0cnVjdGlvbik7DQo+IC0gICAgdWludDY0IGZz X3ZhbHVlID0gZXh0cmFjdF9mc18xNV8xNF8xM18xMl8xMShpbnN0cnVjdGlvbik7DQo+ICAgICAg IHVpbnQ2NCBmdF92YWx1ZSA9IGV4dHJhY3RfZnRfMjBfMTlfMThfMTdfMTYoaW5zdHJ1Y3Rpb24p Ow0KPiArICAgIHVpbnQ2NCBmc192YWx1ZSA9IGV4dHJhY3RfZnNfMTVfMTRfMTNfMTJfMTEoaW5z dHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCBmZF92YWx1ZSA9IGV4dHJhY3RfZmRfMTBfOV84Xzdf NihpbnN0cnVjdGlvbik7DQo+ICAgDQo+ICAgICAgIHN0ZDo6c3RyaW5nIGZkID0gRlBSKGNvcHko ZmRfdmFsdWUpKTsNCj4gICAgICAgc3RkOjpzdHJpbmcgZnMgPSBGUFIoY29weShmc192YWx1ZSkp Ow0KPiBAQCAtNDQ1Niw5ICs0NDU2LDkgQEAgc3RkOjpzdHJpbmcgTk1EOjpDTVBfU1VORV9TKHVp bnQ2NCBpbnN0cnVjdGlvbikNCj4gICAgKi8NCj4gICBzdGQ6OnN0cmluZyBOTUQ6OkNNUF9TVU5f Uyh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICAgew0KPiAtICAgIHVpbnQ2NCBmZF92YWx1ZSA9IGV4 dHJhY3RfZmRfMTBfOV84XzdfNihpbnN0cnVjdGlvbik7DQo+IC0gICAgdWludDY0IGZzX3ZhbHVl ID0gZXh0cmFjdF9mc18xNV8xNF8xM18xMl8xMShpbnN0cnVjdGlvbik7DQo+ICAgICAgIHVpbnQ2 NCBmdF92YWx1ZSA9IGV4dHJhY3RfZnRfMjBfMTlfMThfMTdfMTYoaW5zdHJ1Y3Rpb24pOw0KPiAr ICAgIHVpbnQ2NCBmc192YWx1ZSA9IGV4dHJhY3RfZnNfMTVfMTRfMTNfMTJfMTEoaW5zdHJ1Y3Rp b24pOw0KPiArICAgIHVpbnQ2NCBmZF92YWx1ZSA9IGV4dHJhY3RfZmRfMTBfOV84XzdfNihpbnN0 cnVjdGlvbik7DQo+ICAgDQo+ICAgICAgIHN0ZDo6c3RyaW5nIGZkID0gRlBSKGNvcHkoZmRfdmFs dWUpKTsNCj4gICAgICAgc3RkOjpzdHJpbmcgZnMgPSBGUFIoY29weShmc192YWx1ZSkpOw0KPiBA QCAtNDQ4MCw5ICs0NDgwLDkgQEAgc3RkOjpzdHJpbmcgTk1EOjpDTVBfU1VOX1ModWludDY0IGlu c3RydWN0aW9uKQ0KPiAgICAqLw0KPiAgIHN0ZDo6c3RyaW5nIE5NRDo6Q01QX1VFUV9EKHVpbnQ2 NCBpbnN0cnVjdGlvbikNCj4gICB7DQo+IC0gICAgdWludDY0IGZkX3ZhbHVlID0gZXh0cmFjdF9m ZF8xMF85XzhfN182KGluc3RydWN0aW9uKTsNCj4gLSAgICB1aW50NjQgZnNfdmFsdWUgPSBleHRy YWN0X2ZzXzE1XzE0XzEzXzEyXzExKGluc3RydWN0aW9uKTsNCj4gICAgICAgdWludDY0IGZ0X3Zh bHVlID0gZXh0cmFjdF9mdF8yMF8xOV8xOF8xN18xNihpbnN0cnVjdGlvbik7DQo+ICsgICAgdWlu dDY0IGZzX3ZhbHVlID0gZXh0cmFjdF9mc18xNV8xNF8xM18xMl8xMShpbnN0cnVjdGlvbik7DQo+ ICsgICAgdWludDY0IGZkX3ZhbHVlID0gZXh0cmFjdF9mZF8xMF85XzhfN182KGluc3RydWN0aW9u KTsNCj4gICANCj4gICAgICAgc3RkOjpzdHJpbmcgZmQgPSBGUFIoY29weShmZF92YWx1ZSkpOw0K PiAgICAgICBzdGQ6OnN0cmluZyBmcyA9IEZQUihjb3B5KGZzX3ZhbHVlKSk7DQo+IEBAIC00NTA0 LDkgKzQ1MDQsOSBAQCBzdGQ6OnN0cmluZyBOTUQ6OkNNUF9VRVFfRCh1aW50NjQgaW5zdHJ1Y3Rp b24pDQo+ICAgICovDQo+ICAgc3RkOjpzdHJpbmcgTk1EOjpDTVBfVUVRX1ModWludDY0IGluc3Ry dWN0aW9uKQ0KPiAgIHsNCj4gLSAgICB1aW50NjQgZmRfdmFsdWUgPSBleHRyYWN0X2ZkXzEwXzlf OF83XzYoaW5zdHJ1Y3Rpb24pOw0KPiAtICAgIHVpbnQ2NCBmc192YWx1ZSA9IGV4dHJhY3RfZnNf MTVfMTRfMTNfMTJfMTEoaW5zdHJ1Y3Rpb24pOw0KPiAgICAgICB1aW50NjQgZnRfdmFsdWUgPSBl eHRyYWN0X2Z0XzIwXzE5XzE4XzE3XzE2KGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgZnNf dmFsdWUgPSBleHRyYWN0X2ZzXzE1XzE0XzEzXzEyXzExKGluc3RydWN0aW9uKTsNCj4gKyAgICB1 aW50NjQgZmRfdmFsdWUgPSBleHRyYWN0X2ZkXzEwXzlfOF83XzYoaW5zdHJ1Y3Rpb24pOw0KPiAg IA0KPiAgICAgICBzdGQ6OnN0cmluZyBmZCA9IEZQUihjb3B5KGZkX3ZhbHVlKSk7DQo+ICAgICAg IHN0ZDo6c3RyaW5nIGZzID0gRlBSKGNvcHkoZnNfdmFsdWUpKTsNCj4gQEAgLTQ1MjgsOSArNDUy OCw5IEBAIHN0ZDo6c3RyaW5nIE5NRDo6Q01QX1VFUV9TKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4g ICAgKi8NCj4gICBzdGQ6OnN0cmluZyBOTUQ6OkNNUF9VTEVfRCh1aW50NjQgaW5zdHJ1Y3Rpb24p DQo+ICAgew0KPiAtICAgIHVpbnQ2NCBmZF92YWx1ZSA9IGV4dHJhY3RfZmRfMTBfOV84XzdfNihp bnN0cnVjdGlvbik7DQo+IC0gICAgdWludDY0IGZzX3ZhbHVlID0gZXh0cmFjdF9mc18xNV8xNF8x M18xMl8xMShpbnN0cnVjdGlvbik7DQo+ICAgICAgIHVpbnQ2NCBmdF92YWx1ZSA9IGV4dHJhY3Rf ZnRfMjBfMTlfMThfMTdfMTYoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCBmc192YWx1ZSA9 IGV4dHJhY3RfZnNfMTVfMTRfMTNfMTJfMTEoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCBm ZF92YWx1ZSA9IGV4dHJhY3RfZmRfMTBfOV84XzdfNihpbnN0cnVjdGlvbik7DQo+ICAgDQo+ICAg ICAgIHN0ZDo6c3RyaW5nIGZkID0gRlBSKGNvcHkoZmRfdmFsdWUpKTsNCj4gICAgICAgc3RkOjpz dHJpbmcgZnMgPSBGUFIoY29weShmc192YWx1ZSkpOw0KPiBAQCAtNDU1Miw5ICs0NTUyLDkgQEAg c3RkOjpzdHJpbmcgTk1EOjpDTVBfVUxFX0QodWludDY0IGluc3RydWN0aW9uKQ0KPiAgICAqLw0K PiAgIHN0ZDo6c3RyaW5nIE5NRDo6Q01QX1VMRV9TKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gICB7 DQo+IC0gICAgdWludDY0IGZkX3ZhbHVlID0gZXh0cmFjdF9mZF8xMF85XzhfN182KGluc3RydWN0 aW9uKTsNCj4gLSAgICB1aW50NjQgZnNfdmFsdWUgPSBleHRyYWN0X2ZzXzE1XzE0XzEzXzEyXzEx KGluc3RydWN0aW9uKTsNCj4gICAgICAgdWludDY0IGZ0X3ZhbHVlID0gZXh0cmFjdF9mdF8yMF8x OV8xOF8xN18xNihpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IGZzX3ZhbHVlID0gZXh0cmFj dF9mc18xNV8xNF8xM18xMl8xMShpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IGZkX3ZhbHVl ID0gZXh0cmFjdF9mZF8xMF85XzhfN182KGluc3RydWN0aW9uKTsNCj4gICANCj4gICAgICAgc3Rk OjpzdHJpbmcgZmQgPSBGUFIoY29weShmZF92YWx1ZSkpOw0KPiAgICAgICBzdGQ6OnN0cmluZyBm cyA9IEZQUihjb3B5KGZzX3ZhbHVlKSk7DQo+IEBAIC00NTc2LDkgKzQ1NzYsOSBAQCBzdGQ6OnN0 cmluZyBOTUQ6OkNNUF9VTEVfUyh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICAgICovDQo+ICAgc3Rk OjpzdHJpbmcgTk1EOjpDTVBfVUxUX0QodWludDY0IGluc3RydWN0aW9uKQ0KPiAgIHsNCj4gLSAg ICB1aW50NjQgZmRfdmFsdWUgPSBleHRyYWN0X2ZkXzEwXzlfOF83XzYoaW5zdHJ1Y3Rpb24pOw0K PiAtICAgIHVpbnQ2NCBmc192YWx1ZSA9IGV4dHJhY3RfZnNfMTVfMTRfMTNfMTJfMTEoaW5zdHJ1 Y3Rpb24pOw0KPiAgICAgICB1aW50NjQgZnRfdmFsdWUgPSBleHRyYWN0X2Z0XzIwXzE5XzE4XzE3 XzE2KGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgZnNfdmFsdWUgPSBleHRyYWN0X2ZzXzE1 XzE0XzEzXzEyXzExKGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgZmRfdmFsdWUgPSBleHRy YWN0X2ZkXzEwXzlfOF83XzYoaW5zdHJ1Y3Rpb24pOw0KPiAgIA0KPiAgICAgICBzdGQ6OnN0cmlu ZyBmZCA9IEZQUihjb3B5KGZkX3ZhbHVlKSk7DQo+ICAgICAgIHN0ZDo6c3RyaW5nIGZzID0gRlBS KGNvcHkoZnNfdmFsdWUpKTsNCj4gQEAgLTQ2MDAsOSArNDYwMCw5IEBAIHN0ZDo6c3RyaW5nIE5N RDo6Q01QX1VMVF9EKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gICAgKi8NCj4gICBzdGQ6OnN0cmlu ZyBOTUQ6OkNNUF9VTFRfUyh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICAgew0KPiAtICAgIHVpbnQ2 NCBmZF92YWx1ZSA9IGV4dHJhY3RfZmRfMTBfOV84XzdfNihpbnN0cnVjdGlvbik7DQo+IC0gICAg dWludDY0IGZzX3ZhbHVlID0gZXh0cmFjdF9mc18xNV8xNF8xM18xMl8xMShpbnN0cnVjdGlvbik7 DQo+ICAgICAgIHVpbnQ2NCBmdF92YWx1ZSA9IGV4dHJhY3RfZnRfMjBfMTlfMThfMTdfMTYoaW5z dHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCBmc192YWx1ZSA9IGV4dHJhY3RfZnNfMTVfMTRfMTNf MTJfMTEoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCBmZF92YWx1ZSA9IGV4dHJhY3RfZmRf MTBfOV84XzdfNihpbnN0cnVjdGlvbik7DQo+ICAgDQo+ICAgICAgIHN0ZDo6c3RyaW5nIGZkID0g RlBSKGNvcHkoZmRfdmFsdWUpKTsNCj4gICAgICAgc3RkOjpzdHJpbmcgZnMgPSBGUFIoY29weShm c192YWx1ZSkpOw0KPiBAQCAtNDYyNCw5ICs0NjI0LDkgQEAgc3RkOjpzdHJpbmcgTk1EOjpDTVBf VUxUX1ModWludDY0IGluc3RydWN0aW9uKQ0KPiAgICAqLw0KPiAgIHN0ZDo6c3RyaW5nIE5NRDo6 Q01QX1VOX0QodWludDY0IGluc3RydWN0aW9uKQ0KPiAgIHsNCj4gLSAgICB1aW50NjQgZmRfdmFs dWUgPSBleHRyYWN0X2ZkXzEwXzlfOF83XzYoaW5zdHJ1Y3Rpb24pOw0KPiAtICAgIHVpbnQ2NCBm c192YWx1ZSA9IGV4dHJhY3RfZnNfMTVfMTRfMTNfMTJfMTEoaW5zdHJ1Y3Rpb24pOw0KPiAgICAg ICB1aW50NjQgZnRfdmFsdWUgPSBleHRyYWN0X2Z0XzIwXzE5XzE4XzE3XzE2KGluc3RydWN0aW9u KTsNCj4gKyAgICB1aW50NjQgZnNfdmFsdWUgPSBleHRyYWN0X2ZzXzE1XzE0XzEzXzEyXzExKGlu c3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgZmRfdmFsdWUgPSBleHRyYWN0X2ZkXzEwXzlfOF83 XzYoaW5zdHJ1Y3Rpb24pOw0KPiAgIA0KPiAgICAgICBzdGQ6OnN0cmluZyBmZCA9IEZQUihjb3B5 KGZkX3ZhbHVlKSk7DQo+ICAgICAgIHN0ZDo6c3RyaW5nIGZzID0gRlBSKGNvcHkoZnNfdmFsdWUp KTsNCj4gQEAgLTQ2NDgsOSArNDY0OCw5IEBAIHN0ZDo6c3RyaW5nIE5NRDo6Q01QX1VOX0QodWlu dDY0IGluc3RydWN0aW9uKQ0KPiAgICAqLw0KPiAgIHN0ZDo6c3RyaW5nIE5NRDo6Q01QX1VORV9E KHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gICB7DQo+IC0gICAgdWludDY0IGZkX3ZhbHVlID0gZXh0 cmFjdF9mZF8xMF85XzhfN182KGluc3RydWN0aW9uKTsNCj4gLSAgICB1aW50NjQgZnNfdmFsdWUg PSBleHRyYWN0X2ZzXzE1XzE0XzEzXzEyXzExKGluc3RydWN0aW9uKTsNCj4gICAgICAgdWludDY0 IGZ0X3ZhbHVlID0gZXh0cmFjdF9mdF8yMF8xOV8xOF8xN18xNihpbnN0cnVjdGlvbik7DQo+ICsg ICAgdWludDY0IGZzX3ZhbHVlID0gZXh0cmFjdF9mc18xNV8xNF8xM18xMl8xMShpbnN0cnVjdGlv bik7DQo+ICsgICAgdWludDY0IGZkX3ZhbHVlID0gZXh0cmFjdF9mZF8xMF85XzhfN182KGluc3Ry dWN0aW9uKTsNCj4gICANCj4gICAgICAgc3RkOjpzdHJpbmcgZmQgPSBGUFIoY29weShmZF92YWx1 ZSkpOw0KPiAgICAgICBzdGQ6OnN0cmluZyBmcyA9IEZQUihjb3B5KGZzX3ZhbHVlKSk7DQo+IEBA IC00NjcyLDkgKzQ2NzIsOSBAQCBzdGQ6OnN0cmluZyBOTUQ6OkNNUF9VTkVfRCh1aW50NjQgaW5z dHJ1Y3Rpb24pDQo+ICAgICovDQo+ICAgc3RkOjpzdHJpbmcgTk1EOjpDTVBfVU5FX1ModWludDY0 IGluc3RydWN0aW9uKQ0KPiAgIHsNCj4gLSAgICB1aW50NjQgZmRfdmFsdWUgPSBleHRyYWN0X2Zk XzEwXzlfOF83XzYoaW5zdHJ1Y3Rpb24pOw0KPiAtICAgIHVpbnQ2NCBmc192YWx1ZSA9IGV4dHJh Y3RfZnNfMTVfMTRfMTNfMTJfMTEoaW5zdHJ1Y3Rpb24pOw0KPiAgICAgICB1aW50NjQgZnRfdmFs dWUgPSBleHRyYWN0X2Z0XzIwXzE5XzE4XzE3XzE2KGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50 NjQgZnNfdmFsdWUgPSBleHRyYWN0X2ZzXzE1XzE0XzEzXzEyXzExKGluc3RydWN0aW9uKTsNCj4g KyAgICB1aW50NjQgZmRfdmFsdWUgPSBleHRyYWN0X2ZkXzEwXzlfOF83XzYoaW5zdHJ1Y3Rpb24p Ow0KPiAgIA0KPiAgICAgICBzdGQ6OnN0cmluZyBmZCA9IEZQUihjb3B5KGZkX3ZhbHVlKSk7DQo+ ICAgICAgIHN0ZDo6c3RyaW5nIGZzID0gRlBSKGNvcHkoZnNfdmFsdWUpKTsNCj4gQEAgLTQ2OTYs OSArNDY5Niw5IEBAIHN0ZDo6c3RyaW5nIE5NRDo6Q01QX1VORV9TKHVpbnQ2NCBpbnN0cnVjdGlv bikNCj4gICAgKi8NCj4gICBzdGQ6OnN0cmluZyBOTUQ6OkNNUF9VTl9TKHVpbnQ2NCBpbnN0cnVj dGlvbikNCj4gICB7DQo+IC0gICAgdWludDY0IGZkX3ZhbHVlID0gZXh0cmFjdF9mZF8xMF85Xzhf N182KGluc3RydWN0aW9uKTsNCj4gLSAgICB1aW50NjQgZnNfdmFsdWUgPSBleHRyYWN0X2ZzXzE1 XzE0XzEzXzEyXzExKGluc3RydWN0aW9uKTsNCj4gICAgICAgdWludDY0IGZ0X3ZhbHVlID0gZXh0 cmFjdF9mdF8yMF8xOV8xOF8xN18xNihpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IGZzX3Zh bHVlID0gZXh0cmFjdF9mc18xNV8xNF8xM18xMl8xMShpbnN0cnVjdGlvbik7DQo+ICsgICAgdWlu dDY0IGZkX3ZhbHVlID0gZXh0cmFjdF9mZF8xMF85XzhfN182KGluc3RydWN0aW9uKTsNCj4gICAN Cj4gICAgICAgc3RkOjpzdHJpbmcgZmQgPSBGUFIoY29weShmZF92YWx1ZSkpOw0KPiAgICAgICBz dGQ6OnN0cmluZyBmcyA9IEZQUihjb3B5KGZzX3ZhbHVlKSk7DQo+IEBAIC00NzIxLDggKzQ3MjEs OCBAQCBzdGQ6OnN0cmluZyBOTUQ6OkNNUF9VTl9TKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gICBz dGQ6OnN0cmluZyBOTUQ6OkNNUEdEVV9FUV9RQih1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICAgew0K PiAgICAgICB1aW50NjQgcnRfdmFsdWUgPSBleHRyYWN0X3J0XzI1XzI0XzIzXzIyXzIxKGluc3Ry dWN0aW9uKTsNCj4gLSAgICB1aW50NjQgcmRfdmFsdWUgPSBleHRyYWN0X3JkXzE1XzE0XzEzXzEy XzExKGluc3RydWN0aW9uKTsNCj4gICAgICAgdWludDY0IHJzX3ZhbHVlID0gZXh0cmFjdF9yc18y MF8xOV8xOF8xN18xNihpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IHJkX3ZhbHVlID0gZXh0 cmFjdF9yZF8xNV8xNF8xM18xMl8xMShpbnN0cnVjdGlvbik7DQo+ICAgDQo+ICAgICAgIHN0ZDo6 c3RyaW5nIHJkID0gR1BSKGNvcHkocmRfdmFsdWUpKTsNCj4gICAgICAgc3RkOjpzdHJpbmcgcnMg PSBHUFIoY29weShyc192YWx1ZSkpOw0KPiBAQCAtNDc0NSw4ICs0NzQ1LDggQEAgc3RkOjpzdHJp bmcgTk1EOjpDTVBHRFVfRVFfUUIodWludDY0IGluc3RydWN0aW9uKQ0KPiAgIHN0ZDo6c3RyaW5n IE5NRDo6Q01QR0RVX0xFX1FCKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gICB7DQo+ICAgICAgIHVp bnQ2NCBydF92YWx1ZSA9IGV4dHJhY3RfcnRfMjVfMjRfMjNfMjJfMjEoaW5zdHJ1Y3Rpb24pOw0K PiAtICAgIHVpbnQ2NCByZF92YWx1ZSA9IGV4dHJhY3RfcmRfMTVfMTRfMTNfMTJfMTEoaW5zdHJ1 Y3Rpb24pOw0KPiAgICAgICB1aW50NjQgcnNfdmFsdWUgPSBleHRyYWN0X3JzXzIwXzE5XzE4XzE3 XzE2KGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgcmRfdmFsdWUgPSBleHRyYWN0X3JkXzE1 XzE0XzEzXzEyXzExKGluc3RydWN0aW9uKTsNCj4gICANCj4gICAgICAgc3RkOjpzdHJpbmcgcmQg PSBHUFIoY29weShyZF92YWx1ZSkpOw0KPiAgICAgICBzdGQ6OnN0cmluZyBycyA9IEdQUihjb3B5 KHJzX3ZhbHVlKSk7DQo+IEBAIC00NzY5LDggKzQ3NjksOCBAQCBzdGQ6OnN0cmluZyBOTUQ6OkNN UEdEVV9MRV9RQih1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICAgc3RkOjpzdHJpbmcgTk1EOjpDTVBH RFVfTFRfUUIodWludDY0IGluc3RydWN0aW9uKQ0KPiAgIHsNCj4gICAgICAgdWludDY0IHJ0X3Zh bHVlID0gZXh0cmFjdF9ydF8yNV8yNF8yM18yMl8yMShpbnN0cnVjdGlvbik7DQo+IC0gICAgdWlu dDY0IHJkX3ZhbHVlID0gZXh0cmFjdF9yZF8xNV8xNF8xM18xMl8xMShpbnN0cnVjdGlvbik7DQo+ ICAgICAgIHVpbnQ2NCByc192YWx1ZSA9IGV4dHJhY3RfcnNfMjBfMTlfMThfMTdfMTYoaW5zdHJ1 Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCByZF92YWx1ZSA9IGV4dHJhY3RfcmRfMTVfMTRfMTNfMTJf MTEoaW5zdHJ1Y3Rpb24pOw0KPiAgIA0KPiAgICAgICBzdGQ6OnN0cmluZyByZCA9IEdQUihjb3B5 KHJkX3ZhbHVlKSk7DQo+ICAgICAgIHN0ZDo6c3RyaW5nIHJzID0gR1BSKGNvcHkocnNfdmFsdWUp KTsNCj4gQEAgLTQ3OTMsOCArNDc5Myw4IEBAIHN0ZDo6c3RyaW5nIE5NRDo6Q01QR0RVX0xUX1FC KHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gICBzdGQ6OnN0cmluZyBOTUQ6OkNNUEdVX0VRX1FCKHVp bnQ2NCBpbnN0cnVjdGlvbikNCj4gICB7DQo+ICAgICAgIHVpbnQ2NCBydF92YWx1ZSA9IGV4dHJh Y3RfcnRfMjVfMjRfMjNfMjJfMjEoaW5zdHJ1Y3Rpb24pOw0KPiAtICAgIHVpbnQ2NCByZF92YWx1 ZSA9IGV4dHJhY3RfcmRfMTVfMTRfMTNfMTJfMTEoaW5zdHJ1Y3Rpb24pOw0KPiAgICAgICB1aW50 NjQgcnNfdmFsdWUgPSBleHRyYWN0X3JzXzIwXzE5XzE4XzE3XzE2KGluc3RydWN0aW9uKTsNCj4g KyAgICB1aW50NjQgcmRfdmFsdWUgPSBleHRyYWN0X3JkXzE1XzE0XzEzXzEyXzExKGluc3RydWN0 aW9uKTsNCj4gICANCj4gICAgICAgc3RkOjpzdHJpbmcgcmQgPSBHUFIoY29weShyZF92YWx1ZSkp Ow0KPiAgICAgICBzdGQ6OnN0cmluZyBycyA9IEdQUihjb3B5KHJzX3ZhbHVlKSk7DQo+IEBAIC00 ODE3LDggKzQ4MTcsOCBAQCBzdGQ6OnN0cmluZyBOTUQ6OkNNUEdVX0VRX1FCKHVpbnQ2NCBpbnN0 cnVjdGlvbikNCj4gICBzdGQ6OnN0cmluZyBOTUQ6OkNNUEdVX0xFX1FCKHVpbnQ2NCBpbnN0cnVj dGlvbikNCj4gICB7DQo+ICAgICAgIHVpbnQ2NCBydF92YWx1ZSA9IGV4dHJhY3RfcnRfMjVfMjRf MjNfMjJfMjEoaW5zdHJ1Y3Rpb24pOw0KPiAtICAgIHVpbnQ2NCByZF92YWx1ZSA9IGV4dHJhY3Rf cmRfMTVfMTRfMTNfMTJfMTEoaW5zdHJ1Y3Rpb24pOw0KPiAgICAgICB1aW50NjQgcnNfdmFsdWUg PSBleHRyYWN0X3JzXzIwXzE5XzE4XzE3XzE2KGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQg cmRfdmFsdWUgPSBleHRyYWN0X3JkXzE1XzE0XzEzXzEyXzExKGluc3RydWN0aW9uKTsNCj4gICAN Cj4gICAgICAgc3RkOjpzdHJpbmcgcmQgPSBHUFIoY29weShyZF92YWx1ZSkpOw0KPiAgICAgICBz dGQ6OnN0cmluZyBycyA9IEdQUihjb3B5KHJzX3ZhbHVlKSk7DQo+IEBAIC00ODQxLDggKzQ4NDEs OCBAQCBzdGQ6OnN0cmluZyBOTUQ6OkNNUEdVX0xFX1FCKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4g ICBzdGQ6OnN0cmluZyBOTUQ6OkNNUEdVX0xUX1FCKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gICB7 DQo+ICAgICAgIHVpbnQ2NCBydF92YWx1ZSA9IGV4dHJhY3RfcnRfMjVfMjRfMjNfMjJfMjEoaW5z dHJ1Y3Rpb24pOw0KPiAtICAgIHVpbnQ2NCByZF92YWx1ZSA9IGV4dHJhY3RfcmRfMTVfMTRfMTNf MTJfMTEoaW5zdHJ1Y3Rpb24pOw0KPiAgICAgICB1aW50NjQgcnNfdmFsdWUgPSBleHRyYWN0X3Jz XzIwXzE5XzE4XzE3XzE2KGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgcmRfdmFsdWUgPSBl eHRyYWN0X3JkXzE1XzE0XzEzXzEyXzExKGluc3RydWN0aW9uKTsNCj4gICANCj4gICAgICAgc3Rk OjpzdHJpbmcgcmQgPSBHUFIoY29weShyZF92YWx1ZSkpOw0KPiAgICAgICBzdGQ6OnN0cmluZyBy cyA9IEdQUihjb3B5KHJzX3ZhbHVlKSk7DQo+IEBAIC00OTUwLDggKzQ5NTAsOCBAQCBzdGQ6OnN0 cmluZyBOTUQ6OkNPUDJfMSh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICAgICovDQo+ICAgc3RkOjpz dHJpbmcgTk1EOjpDVEMxKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gICB7DQo+IC0gICAgdWludDY0 IGNzX3ZhbHVlID0gZXh0cmFjdF9jc18yMF8xOV8xOF8xN18xNihpbnN0cnVjdGlvbik7DQo+ICAg ICAgIHVpbnQ2NCBydF92YWx1ZSA9IGV4dHJhY3RfcnRfMjVfMjRfMjNfMjJfMjEoaW5zdHJ1Y3Rp b24pOw0KPiArICAgIHVpbnQ2NCBjc192YWx1ZSA9IGV4dHJhY3RfY3NfMjBfMTlfMThfMTdfMTYo aW5zdHJ1Y3Rpb24pOw0KPiAgIA0KPiAgICAgICBzdGQ6OnN0cmluZyBydCA9IEdQUihjb3B5KHJ0 X3ZhbHVlKSk7DQo+ICAgICAgIHN0ZDo6c3RyaW5nIGNzID0gQ1BSKGNvcHkoY3NfdmFsdWUpKTsN Cj4gQEAgLTQ5NzIsOCArNDk3Miw4IEBAIHN0ZDo6c3RyaW5nIE5NRDo6Q1RDMSh1aW50NjQgaW5z dHJ1Y3Rpb24pDQo+ICAgICovDQo+ICAgc3RkOjpzdHJpbmcgTk1EOjpDVEMyKHVpbnQ2NCBpbnN0 cnVjdGlvbikNCj4gICB7DQo+IC0gICAgdWludDY0IGNzX3ZhbHVlID0gZXh0cmFjdF9jc18yMF8x OV8xOF8xN18xNihpbnN0cnVjdGlvbik7DQo+ICAgICAgIHVpbnQ2NCBydF92YWx1ZSA9IGV4dHJh Y3RfcnRfMjVfMjRfMjNfMjJfMjEoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCBjc192YWx1 ZSA9IGV4dHJhY3RfY3NfMjBfMTlfMThfMTdfMTYoaW5zdHJ1Y3Rpb24pOw0KPiAgIA0KPiAgICAg ICBzdGQ6OnN0cmluZyBydCA9IEdQUihjb3B5KHJ0X3ZhbHVlKSk7DQo+ICAgICAgIHN0ZDo6c3Ry aW5nIGNzID0gQ1BSKGNvcHkoY3NfdmFsdWUpKTsNCj4gQEAgLTQ5OTQsOCArNDk5NCw4IEBAIHN0 ZDo6c3RyaW5nIE5NRDo6Q1RDMih1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICAgICovDQo+ICAgc3Rk OjpzdHJpbmcgTk1EOjpDVlRfRF9MKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gICB7DQo+IC0gICAg dWludDY0IGZzX3ZhbHVlID0gZXh0cmFjdF9mc18xNV8xNF8xM18xMl8xMShpbnN0cnVjdGlvbik7 DQo+ICAgICAgIHVpbnQ2NCBmdF92YWx1ZSA9IGV4dHJhY3RfZnRfMjBfMTlfMThfMTdfMTYoaW5z dHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCBmc192YWx1ZSA9IGV4dHJhY3RfZnNfMTVfMTRfMTNf MTJfMTEoaW5zdHJ1Y3Rpb24pOw0KPiAgIA0KPiAgICAgICBzdGQ6OnN0cmluZyBmdCA9IEZQUihj b3B5KGZ0X3ZhbHVlKSk7DQo+ICAgICAgIHN0ZDo6c3RyaW5nIGZzID0gRlBSKGNvcHkoZnNfdmFs dWUpKTsNCj4gQEAgLTUwMTYsOCArNTAxNiw4IEBAIHN0ZDo6c3RyaW5nIE5NRDo6Q1ZUX0RfTCh1 aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICAgICovDQo+ICAgc3RkOjpzdHJpbmcgTk1EOjpDVlRfRF9T KHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gICB7DQo+IC0gICAgdWludDY0IGZzX3ZhbHVlID0gZXh0 cmFjdF9mc18xNV8xNF8xM18xMl8xMShpbnN0cnVjdGlvbik7DQo+ICAgICAgIHVpbnQ2NCBmdF92 YWx1ZSA9IGV4dHJhY3RfZnRfMjBfMTlfMThfMTdfMTYoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVp bnQ2NCBmc192YWx1ZSA9IGV4dHJhY3RfZnNfMTVfMTRfMTNfMTJfMTEoaW5zdHJ1Y3Rpb24pOw0K PiAgIA0KPiAgICAgICBzdGQ6OnN0cmluZyBmdCA9IEZQUihjb3B5KGZ0X3ZhbHVlKSk7DQo+ICAg ICAgIHN0ZDo6c3RyaW5nIGZzID0gRlBSKGNvcHkoZnNfdmFsdWUpKTsNCj4gQEAgLTUwMzgsOCAr NTAzOCw4IEBAIHN0ZDo6c3RyaW5nIE5NRDo6Q1ZUX0RfUyh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ ICAgICovDQo+ICAgc3RkOjpzdHJpbmcgTk1EOjpDVlRfRF9XKHVpbnQ2NCBpbnN0cnVjdGlvbikN Cj4gICB7DQo+IC0gICAgdWludDY0IGZzX3ZhbHVlID0gZXh0cmFjdF9mc18xNV8xNF8xM18xMl8x MShpbnN0cnVjdGlvbik7DQo+ICAgICAgIHVpbnQ2NCBmdF92YWx1ZSA9IGV4dHJhY3RfZnRfMjBf MTlfMThfMTdfMTYoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCBmc192YWx1ZSA9IGV4dHJh Y3RfZnNfMTVfMTRfMTNfMTJfMTEoaW5zdHJ1Y3Rpb24pOw0KPiAgIA0KPiAgICAgICBzdGQ6OnN0 cmluZyBmdCA9IEZQUihjb3B5KGZ0X3ZhbHVlKSk7DQo+ICAgICAgIHN0ZDo6c3RyaW5nIGZzID0g RlBSKGNvcHkoZnNfdmFsdWUpKTsNCj4gQEAgLTUwNjAsOCArNTA2MCw4IEBAIHN0ZDo6c3RyaW5n IE5NRDo6Q1ZUX0RfVyh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICAgICovDQo+ICAgc3RkOjpzdHJp bmcgTk1EOjpDVlRfTF9EKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gICB7DQo+IC0gICAgdWludDY0 IGZzX3ZhbHVlID0gZXh0cmFjdF9mc18xNV8xNF8xM18xMl8xMShpbnN0cnVjdGlvbik7DQo+ICAg ICAgIHVpbnQ2NCBmdF92YWx1ZSA9IGV4dHJhY3RfZnRfMjBfMTlfMThfMTdfMTYoaW5zdHJ1Y3Rp b24pOw0KPiArICAgIHVpbnQ2NCBmc192YWx1ZSA9IGV4dHJhY3RfZnNfMTVfMTRfMTNfMTJfMTEo aW5zdHJ1Y3Rpb24pOw0KPiAgIA0KPiAgICAgICBzdGQ6OnN0cmluZyBmdCA9IEZQUihjb3B5KGZ0 X3ZhbHVlKSk7DQo+ICAgICAgIHN0ZDo6c3RyaW5nIGZzID0gRlBSKGNvcHkoZnNfdmFsdWUpKTsN Cj4gQEAgLTUwODIsOCArNTA4Miw4IEBAIHN0ZDo6c3RyaW5nIE5NRDo6Q1ZUX0xfRCh1aW50NjQg aW5zdHJ1Y3Rpb24pDQo+ICAgICovDQo+ICAgc3RkOjpzdHJpbmcgTk1EOjpDVlRfTF9TKHVpbnQ2 NCBpbnN0cnVjdGlvbikNCj4gICB7DQo+IC0gICAgdWludDY0IGZzX3ZhbHVlID0gZXh0cmFjdF9m c18xNV8xNF8xM18xMl8xMShpbnN0cnVjdGlvbik7DQo+ICAgICAgIHVpbnQ2NCBmdF92YWx1ZSA9 IGV4dHJhY3RfZnRfMjBfMTlfMThfMTdfMTYoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCBm c192YWx1ZSA9IGV4dHJhY3RfZnNfMTVfMTRfMTNfMTJfMTEoaW5zdHJ1Y3Rpb24pOw0KPiAgIA0K PiAgICAgICBzdGQ6OnN0cmluZyBmdCA9IEZQUihjb3B5KGZ0X3ZhbHVlKSk7DQo+ICAgICAgIHN0 ZDo6c3RyaW5nIGZzID0gRlBSKGNvcHkoZnNfdmFsdWUpKTsNCj4gQEAgLTUxMDQsOCArNTEwNCw4 IEBAIHN0ZDo6c3RyaW5nIE5NRDo6Q1ZUX0xfUyh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICAgICov DQo+ICAgc3RkOjpzdHJpbmcgTk1EOjpDVlRfU19EKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gICB7 DQo+IC0gICAgdWludDY0IGZzX3ZhbHVlID0gZXh0cmFjdF9mc18xNV8xNF8xM18xMl8xMShpbnN0 cnVjdGlvbik7DQo+ICAgICAgIHVpbnQ2NCBmdF92YWx1ZSA9IGV4dHJhY3RfZnRfMjBfMTlfMThf MTdfMTYoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCBmc192YWx1ZSA9IGV4dHJhY3RfZnNf MTVfMTRfMTNfMTJfMTEoaW5zdHJ1Y3Rpb24pOw0KPiAgIA0KPiAgICAgICBzdGQ6OnN0cmluZyBm dCA9IEZQUihjb3B5KGZ0X3ZhbHVlKSk7DQo+ICAgICAgIHN0ZDo6c3RyaW5nIGZzID0gRlBSKGNv cHkoZnNfdmFsdWUpKTsNCj4gQEAgLTUxMjYsOCArNTEyNiw4IEBAIHN0ZDo6c3RyaW5nIE5NRDo6 Q1ZUX1NfRCh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICAgICovDQo+ICAgc3RkOjpzdHJpbmcgTk1E OjpDVlRfU19MKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gICB7DQo+IC0gICAgdWludDY0IGZzX3Zh bHVlID0gZXh0cmFjdF9mc18xNV8xNF8xM18xMl8xMShpbnN0cnVjdGlvbik7DQo+ICAgICAgIHVp bnQ2NCBmdF92YWx1ZSA9IGV4dHJhY3RfZnRfMjBfMTlfMThfMTdfMTYoaW5zdHJ1Y3Rpb24pOw0K PiArICAgIHVpbnQ2NCBmc192YWx1ZSA9IGV4dHJhY3RfZnNfMTVfMTRfMTNfMTJfMTEoaW5zdHJ1 Y3Rpb24pOw0KPiAgIA0KPiAgICAgICBzdGQ6OnN0cmluZyBmdCA9IEZQUihjb3B5KGZ0X3ZhbHVl KSk7DQo+ICAgICAgIHN0ZDo6c3RyaW5nIGZzID0gRlBSKGNvcHkoZnNfdmFsdWUpKTsNCj4gQEAg LTUxNDgsOCArNTE0OCw4IEBAIHN0ZDo6c3RyaW5nIE5NRDo6Q1ZUX1NfTCh1aW50NjQgaW5zdHJ1 Y3Rpb24pDQo+ICAgICovDQo+ICAgc3RkOjpzdHJpbmcgTk1EOjpDVlRfU19QTCh1aW50NjQgaW5z dHJ1Y3Rpb24pDQo+ICAgew0KPiAtICAgIHVpbnQ2NCBmc192YWx1ZSA9IGV4dHJhY3RfZnNfMTVf MTRfMTNfMTJfMTEoaW5zdHJ1Y3Rpb24pOw0KPiAgICAgICB1aW50NjQgZnRfdmFsdWUgPSBleHRy YWN0X2Z0XzIwXzE5XzE4XzE3XzE2KGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgZnNfdmFs dWUgPSBleHRyYWN0X2ZzXzE1XzE0XzEzXzEyXzExKGluc3RydWN0aW9uKTsNCj4gICANCj4gICAg ICAgc3RkOjpzdHJpbmcgZnQgPSBGUFIoY29weShmdF92YWx1ZSkpOw0KPiAgICAgICBzdGQ6OnN0 cmluZyBmcyA9IEZQUihjb3B5KGZzX3ZhbHVlKSk7DQo+IEBAIC01MTcwLDggKzUxNzAsOCBAQCBz dGQ6OnN0cmluZyBOTUQ6OkNWVF9TX1BMKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gICAgKi8NCj4g ICBzdGQ6OnN0cmluZyBOTUQ6OkNWVF9TX1BVKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gICB7DQo+ IC0gICAgdWludDY0IGZzX3ZhbHVlID0gZXh0cmFjdF9mc18xNV8xNF8xM18xMl8xMShpbnN0cnVj dGlvbik7DQo+ICAgICAgIHVpbnQ2NCBmdF92YWx1ZSA9IGV4dHJhY3RfZnRfMjBfMTlfMThfMTdf MTYoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCBmc192YWx1ZSA9IGV4dHJhY3RfZnNfMTVf MTRfMTNfMTJfMTEoaW5zdHJ1Y3Rpb24pOw0KPiAgIA0KPiAgICAgICBzdGQ6OnN0cmluZyBmdCA9 IEZQUihjb3B5KGZ0X3ZhbHVlKSk7DQo+ICAgICAgIHN0ZDo6c3RyaW5nIGZzID0gRlBSKGNvcHko ZnNfdmFsdWUpKTsNCj4gQEAgLTUxOTIsOCArNTE5Miw4IEBAIHN0ZDo6c3RyaW5nIE5NRDo6Q1ZU X1NfUFUodWludDY0IGluc3RydWN0aW9uKQ0KPiAgICAqLw0KPiAgIHN0ZDo6c3RyaW5nIE5NRDo6 Q1ZUX1NfVyh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICAgew0KPiAtICAgIHVpbnQ2NCBmc192YWx1 ZSA9IGV4dHJhY3RfZnNfMTVfMTRfMTNfMTJfMTEoaW5zdHJ1Y3Rpb24pOw0KPiAgICAgICB1aW50 NjQgZnRfdmFsdWUgPSBleHRyYWN0X2Z0XzIwXzE5XzE4XzE3XzE2KGluc3RydWN0aW9uKTsNCj4g KyAgICB1aW50NjQgZnNfdmFsdWUgPSBleHRyYWN0X2ZzXzE1XzE0XzEzXzEyXzExKGluc3RydWN0 aW9uKTsNCj4gICANCj4gICAgICAgc3RkOjpzdHJpbmcgZnQgPSBGUFIoY29weShmdF92YWx1ZSkp Ow0KPiAgICAgICBzdGQ6OnN0cmluZyBmcyA9IEZQUihjb3B5KGZzX3ZhbHVlKSk7DQo+IEBAIC01 MjE0LDggKzUyMTQsOCBAQCBzdGQ6OnN0cmluZyBOTUQ6OkNWVF9TX1codWludDY0IGluc3RydWN0 aW9uKQ0KPiAgICAqLw0KPiAgIHN0ZDo6c3RyaW5nIE5NRDo6Q1ZUX1dfRCh1aW50NjQgaW5zdHJ1 Y3Rpb24pDQo+ICAgew0KPiAtICAgIHVpbnQ2NCBmc192YWx1ZSA9IGV4dHJhY3RfZnNfMTVfMTRf MTNfMTJfMTEoaW5zdHJ1Y3Rpb24pOw0KPiAgICAgICB1aW50NjQgZnRfdmFsdWUgPSBleHRyYWN0 X2Z0XzIwXzE5XzE4XzE3XzE2KGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgZnNfdmFsdWUg PSBleHRyYWN0X2ZzXzE1XzE0XzEzXzEyXzExKGluc3RydWN0aW9uKTsNCj4gICANCj4gICAgICAg c3RkOjpzdHJpbmcgZnQgPSBGUFIoY29weShmdF92YWx1ZSkpOw0KPiAgICAgICBzdGQ6OnN0cmlu ZyBmcyA9IEZQUihjb3B5KGZzX3ZhbHVlKSk7DQo+IEBAIC01MjM2LDggKzUyMzYsOCBAQCBzdGQ6 OnN0cmluZyBOTUQ6OkNWVF9XX0QodWludDY0IGluc3RydWN0aW9uKQ0KPiAgICAqLw0KPiAgIHN0 ZDo6c3RyaW5nIE5NRDo6Q1ZUX1dfUyh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICAgew0KPiAtICAg IHVpbnQ2NCBmc192YWx1ZSA9IGV4dHJhY3RfZnNfMTVfMTRfMTNfMTJfMTEoaW5zdHJ1Y3Rpb24p Ow0KPiAgICAgICB1aW50NjQgZnRfdmFsdWUgPSBleHRyYWN0X2Z0XzIwXzE5XzE4XzE3XzE2KGlu c3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgZnNfdmFsdWUgPSBleHRyYWN0X2ZzXzE1XzE0XzEz XzEyXzExKGluc3RydWN0aW9uKTsNCj4gICANCj4gICAgICAgc3RkOjpzdHJpbmcgZnQgPSBGUFIo Y29weShmdF92YWx1ZSkpOw0KPiAgICAgICBzdGQ6OnN0cmluZyBmcyA9IEZQUihjb3B5KGZzX3Zh bHVlKSk7DQo+IEBAIC01MjgxLDggKzUyODEsOCBAQCBzdGQ6OnN0cmluZyBOTUQ6OkRBRERJVV80 OF8odWludDY0IGluc3RydWN0aW9uKQ0KPiAgIHN0ZDo6c3RyaW5nIE5NRDo6REFERElVX05FR18o dWludDY0IGluc3RydWN0aW9uKQ0KPiAgIHsNCj4gICAgICAgdWludDY0IHJ0X3ZhbHVlID0gZXh0 cmFjdF9ydF8yNV8yNF8yM18yMl8yMShpbnN0cnVjdGlvbik7DQo+IC0gICAgdWludDY0IHVfdmFs dWUgPSBleHRyYWN0X3VfMTFfMTBfOV84XzdfNl81XzRfM18yXzFfMChpbnN0cnVjdGlvbik7DQo+ ICAgICAgIHVpbnQ2NCByc192YWx1ZSA9IGV4dHJhY3RfcnNfMjBfMTlfMThfMTdfMTYoaW5zdHJ1 Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCB1X3ZhbHVlID0gZXh0cmFjdF91XzExXzEwXzlfOF83XzZf NV80XzNfMl8xXzAoaW5zdHJ1Y3Rpb24pOw0KPiAgIA0KPiAgICAgICBzdGQ6OnN0cmluZyBydCA9 IEdQUihjb3B5KHJ0X3ZhbHVlKSk7DQo+ICAgICAgIHN0ZDo6c3RyaW5nIHJzID0gR1BSKGNvcHko cnNfdmFsdWUpKTsNCj4gQEAgLTUzMDUsOCArNTMwNSw4IEBAIHN0ZDo6c3RyaW5nIE5NRDo6REFE RElVX05FR18odWludDY0IGluc3RydWN0aW9uKQ0KPiAgIHN0ZDo6c3RyaW5nIE5NRDo6REFERElV X1UxMl8odWludDY0IGluc3RydWN0aW9uKQ0KPiAgIHsNCj4gICAgICAgdWludDY0IHJ0X3ZhbHVl ID0gZXh0cmFjdF9ydF8yNV8yNF8yM18yMl8yMShpbnN0cnVjdGlvbik7DQo+IC0gICAgdWludDY0 IHVfdmFsdWUgPSBleHRyYWN0X3VfMTFfMTBfOV84XzdfNl81XzRfM18yXzFfMChpbnN0cnVjdGlv bik7DQo+ICAgICAgIHVpbnQ2NCByc192YWx1ZSA9IGV4dHJhY3RfcnNfMjBfMTlfMThfMTdfMTYo aW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCB1X3ZhbHVlID0gZXh0cmFjdF91XzExXzEwXzlf OF83XzZfNV80XzNfMl8xXzAoaW5zdHJ1Y3Rpb24pOw0KPiAgIA0KPiAgICAgICBzdGQ6OnN0cmlu ZyBydCA9IEdQUihjb3B5KHJ0X3ZhbHVlKSk7DQo+ICAgICAgIHN0ZDo6c3RyaW5nIHJzID0gR1BS KGNvcHkocnNfdmFsdWUpKTsNCj4gQEAgLTUzMjksOCArNTMyOSw4IEBAIHN0ZDo6c3RyaW5nIE5N RDo6REFERElVX1UxMl8odWludDY0IGluc3RydWN0aW9uKQ0KPiAgIHN0ZDo6c3RyaW5nIE5NRDo6 REFERCh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICAgew0KPiAgICAgICB1aW50NjQgcnRfdmFsdWUg PSBleHRyYWN0X3J0XzI1XzI0XzIzXzIyXzIxKGluc3RydWN0aW9uKTsNCj4gLSAgICB1aW50NjQg cmRfdmFsdWUgPSBleHRyYWN0X3JkXzE1XzE0XzEzXzEyXzExKGluc3RydWN0aW9uKTsNCj4gICAg ICAgdWludDY0IHJzX3ZhbHVlID0gZXh0cmFjdF9yc18yMF8xOV8xOF8xN18xNihpbnN0cnVjdGlv bik7DQo+ICsgICAgdWludDY0IHJkX3ZhbHVlID0gZXh0cmFjdF9yZF8xNV8xNF8xM18xMl8xMShp bnN0cnVjdGlvbik7DQo+ICAgDQo+ICAgICAgIHN0ZDo6c3RyaW5nIHJkID0gR1BSKGNvcHkocmRf dmFsdWUpKTsNCj4gICAgICAgc3RkOjpzdHJpbmcgcnMgPSBHUFIoY29weShyc192YWx1ZSkpOw0K PiBAQCAtNTM1Myw4ICs1MzUzLDggQEAgc3RkOjpzdHJpbmcgTk1EOjpEQUREKHVpbnQ2NCBpbnN0 cnVjdGlvbikNCj4gICBzdGQ6OnN0cmluZyBOTUQ6OkRBRERVKHVpbnQ2NCBpbnN0cnVjdGlvbikN Cj4gICB7DQo+ICAgICAgIHVpbnQ2NCBydF92YWx1ZSA9IGV4dHJhY3RfcnRfMjVfMjRfMjNfMjJf MjEoaW5zdHJ1Y3Rpb24pOw0KPiAtICAgIHVpbnQ2NCByZF92YWx1ZSA9IGV4dHJhY3RfcmRfMTVf MTRfMTNfMTJfMTEoaW5zdHJ1Y3Rpb24pOw0KPiAgICAgICB1aW50NjQgcnNfdmFsdWUgPSBleHRy YWN0X3JzXzIwXzE5XzE4XzE3XzE2KGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgcmRfdmFs dWUgPSBleHRyYWN0X3JkXzE1XzE0XzEzXzEyXzExKGluc3RydWN0aW9uKTsNCj4gICANCj4gICAg ICAgc3RkOjpzdHJpbmcgcmQgPSBHUFIoY29weShyZF92YWx1ZSkpOw0KPiAgICAgICBzdGQ6OnN0 cmluZyBycyA9IEdQUihjb3B5KHJzX3ZhbHVlKSk7DQo+IEBAIC01NDIxLDggKzU0MjEsOCBAQCBz dGQ6OnN0cmluZyBOTUQ6OkRDTFoodWludDY0IGluc3RydWN0aW9uKQ0KPiAgIHN0ZDo6c3RyaW5n IE5NRDo6RERJVih1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICAgew0KPiAgICAgICB1aW50NjQgcnRf dmFsdWUgPSBleHRyYWN0X3J0XzI1XzI0XzIzXzIyXzIxKGluc3RydWN0aW9uKTsNCj4gLSAgICB1 aW50NjQgcmRfdmFsdWUgPSBleHRyYWN0X3JkXzE1XzE0XzEzXzEyXzExKGluc3RydWN0aW9uKTsN Cj4gICAgICAgdWludDY0IHJzX3ZhbHVlID0gZXh0cmFjdF9yc18yMF8xOV8xOF8xN18xNihpbnN0 cnVjdGlvbik7DQo+ICsgICAgdWludDY0IHJkX3ZhbHVlID0gZXh0cmFjdF9yZF8xNV8xNF8xM18x Ml8xMShpbnN0cnVjdGlvbik7DQo+ICAgDQo+ICAgICAgIHN0ZDo6c3RyaW5nIHJkID0gR1BSKGNv cHkocmRfdmFsdWUpKTsNCj4gICAgICAgc3RkOjpzdHJpbmcgcnMgPSBHUFIoY29weShyc192YWx1 ZSkpOw0KPiBAQCAtNTQ0NSw4ICs1NDQ1LDggQEAgc3RkOjpzdHJpbmcgTk1EOjpERElWKHVpbnQ2 NCBpbnN0cnVjdGlvbikNCj4gICBzdGQ6OnN0cmluZyBOTUQ6OkRESVZVKHVpbnQ2NCBpbnN0cnVj dGlvbikNCj4gICB7DQo+ICAgICAgIHVpbnQ2NCBydF92YWx1ZSA9IGV4dHJhY3RfcnRfMjVfMjRf MjNfMjJfMjEoaW5zdHJ1Y3Rpb24pOw0KPiAtICAgIHVpbnQ2NCByZF92YWx1ZSA9IGV4dHJhY3Rf cmRfMTVfMTRfMTNfMTJfMTEoaW5zdHJ1Y3Rpb24pOw0KPiAgICAgICB1aW50NjQgcnNfdmFsdWUg PSBleHRyYWN0X3JzXzIwXzE5XzE4XzE3XzE2KGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQg cmRfdmFsdWUgPSBleHRyYWN0X3JkXzE1XzE0XzEzXzEyXzExKGluc3RydWN0aW9uKTsNCj4gICAN Cj4gICAgICAgc3RkOjpzdHJpbmcgcmQgPSBHUFIoY29weShyZF92YWx1ZSkpOw0KPiAgICAgICBz dGQ6OnN0cmluZyBycyA9IEdQUihjb3B5KHJzX3ZhbHVlKSk7DQo+IEBAIC01NDg3LDkgKzU0ODcs OSBAQCBzdGQ6OnN0cmluZyBOTUQ6OkRFUkVUKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gICBzdGQ6 OnN0cmluZyBOTUQ6OkRFWFRNKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gICB7DQo+ICAgICAgIHVp bnQ2NCBydF92YWx1ZSA9IGV4dHJhY3RfcnRfMjVfMjRfMjNfMjJfMjEoaW5zdHJ1Y3Rpb24pOw0K PiArICAgIHVpbnQ2NCByc192YWx1ZSA9IGV4dHJhY3RfcnNfMjBfMTlfMThfMTdfMTYoaW5zdHJ1 Y3Rpb24pOw0KPiAgICAgICB1aW50NjQgbXNiZF92YWx1ZSA9IGV4dHJhY3RfbXNidF8xMF85Xzhf N182KGluc3RydWN0aW9uKTsNCj4gICAgICAgdWludDY0IGxzYl92YWx1ZSA9IGV4dHJhY3RfbHNi XzRfM18yXzFfMChpbnN0cnVjdGlvbik7DQo+IC0gICAgdWludDY0IHJzX3ZhbHVlID0gZXh0cmFj dF9yc18yMF8xOV8xOF8xN18xNihpbnN0cnVjdGlvbik7DQo+ICAgDQo+ICAgICAgIHN0ZDo6c3Ry aW5nIHJ0ID0gR1BSKGNvcHkocnRfdmFsdWUpKTsNCj4gICAgICAgc3RkOjpzdHJpbmcgcnMgPSBH UFIoY29weShyc192YWx1ZSkpOw0KPiBAQCAtNTUxMyw5ICs1NTEzLDkgQEAgc3RkOjpzdHJpbmcg Tk1EOjpERVhUTSh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICAgc3RkOjpzdHJpbmcgTk1EOjpERVhU KHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gICB7DQo+ICAgICAgIHVpbnQ2NCBydF92YWx1ZSA9IGV4 dHJhY3RfcnRfMjVfMjRfMjNfMjJfMjEoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCByc192 YWx1ZSA9IGV4dHJhY3RfcnNfMjBfMTlfMThfMTdfMTYoaW5zdHJ1Y3Rpb24pOw0KPiAgICAgICB1 aW50NjQgbXNiZF92YWx1ZSA9IGV4dHJhY3RfbXNidF8xMF85XzhfN182KGluc3RydWN0aW9uKTsN Cj4gICAgICAgdWludDY0IGxzYl92YWx1ZSA9IGV4dHJhY3RfbHNiXzRfM18yXzFfMChpbnN0cnVj dGlvbik7DQo+IC0gICAgdWludDY0IHJzX3ZhbHVlID0gZXh0cmFjdF9yc18yMF8xOV8xOF8xN18x NihpbnN0cnVjdGlvbik7DQo+ICAgDQo+ICAgICAgIHN0ZDo6c3RyaW5nIHJ0ID0gR1BSKGNvcHko cnRfdmFsdWUpKTsNCj4gICAgICAgc3RkOjpzdHJpbmcgcnMgPSBHUFIoY29weShyc192YWx1ZSkp Ow0KPiBAQCAtNTUzOSw5ICs1NTM5LDkgQEAgc3RkOjpzdHJpbmcgTk1EOjpERVhUKHVpbnQ2NCBp bnN0cnVjdGlvbikNCj4gICBzdGQ6OnN0cmluZyBOTUQ6OkRFWFRVKHVpbnQ2NCBpbnN0cnVjdGlv bikNCj4gICB7DQo+ICAgICAgIHVpbnQ2NCBydF92YWx1ZSA9IGV4dHJhY3RfcnRfMjVfMjRfMjNf MjJfMjEoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCByc192YWx1ZSA9IGV4dHJhY3RfcnNf MjBfMTlfMThfMTdfMTYoaW5zdHJ1Y3Rpb24pOw0KPiAgICAgICB1aW50NjQgbXNiZF92YWx1ZSA9 IGV4dHJhY3RfbXNidF8xMF85XzhfN182KGluc3RydWN0aW9uKTsNCj4gICAgICAgdWludDY0IGxz Yl92YWx1ZSA9IGV4dHJhY3RfbHNiXzRfM18yXzFfMChpbnN0cnVjdGlvbik7DQo+IC0gICAgdWlu dDY0IHJzX3ZhbHVlID0gZXh0cmFjdF9yc18yMF8xOV8xOF8xN18xNihpbnN0cnVjdGlvbik7DQo+ ICAgDQo+ICAgICAgIHN0ZDo6c3RyaW5nIHJ0ID0gR1BSKGNvcHkocnRfdmFsdWUpKTsNCj4gICAg ICAgc3RkOjpzdHJpbmcgcnMgPSBHUFIoY29weShyc192YWx1ZSkpOw0KPiBAQCAtNTU2NSw5ICs1 NTY1LDkgQEAgc3RkOjpzdHJpbmcgTk1EOjpERVhUVSh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICAg c3RkOjpzdHJpbmcgTk1EOjpESU5TTSh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICAgew0KPiAgICAg ICB1aW50NjQgcnRfdmFsdWUgPSBleHRyYWN0X3J0XzI1XzI0XzIzXzIyXzIxKGluc3RydWN0aW9u KTsNCj4gKyAgICB1aW50NjQgcnNfdmFsdWUgPSBleHRyYWN0X3JzXzIwXzE5XzE4XzE3XzE2KGlu c3RydWN0aW9uKTsNCj4gICAgICAgdWludDY0IG1zYmRfdmFsdWUgPSBleHRyYWN0X21zYnRfMTBf OV84XzdfNihpbnN0cnVjdGlvbik7DQo+ICAgICAgIHVpbnQ2NCBsc2JfdmFsdWUgPSBleHRyYWN0 X2xzYl80XzNfMl8xXzAoaW5zdHJ1Y3Rpb24pOw0KPiAtICAgIHVpbnQ2NCByc192YWx1ZSA9IGV4 dHJhY3RfcnNfMjBfMTlfMThfMTdfMTYoaW5zdHJ1Y3Rpb24pOw0KPiAgIA0KPiAgICAgICBzdGQ6 OnN0cmluZyBydCA9IEdQUihjb3B5KHJ0X3ZhbHVlKSk7DQo+ICAgICAgIHN0ZDo6c3RyaW5nIHJz ID0gR1BSKGNvcHkocnNfdmFsdWUpKTsNCj4gQEAgLTU1OTMsOSArNTU5Myw5IEBAIHN0ZDo6c3Ry aW5nIE5NRDo6RElOU00odWludDY0IGluc3RydWN0aW9uKQ0KPiAgIHN0ZDo6c3RyaW5nIE5NRDo6 RElOUyh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICAgew0KPiAgICAgICB1aW50NjQgcnRfdmFsdWUg PSBleHRyYWN0X3J0XzI1XzI0XzIzXzIyXzIxKGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQg cnNfdmFsdWUgPSBleHRyYWN0X3JzXzIwXzE5XzE4XzE3XzE2KGluc3RydWN0aW9uKTsNCj4gICAg ICAgdWludDY0IG1zYmRfdmFsdWUgPSBleHRyYWN0X21zYnRfMTBfOV84XzdfNihpbnN0cnVjdGlv bik7DQo+ICAgICAgIHVpbnQ2NCBsc2JfdmFsdWUgPSBleHRyYWN0X2xzYl80XzNfMl8xXzAoaW5z dHJ1Y3Rpb24pOw0KPiAtICAgIHVpbnQ2NCByc192YWx1ZSA9IGV4dHJhY3RfcnNfMjBfMTlfMThf MTdfMTYoaW5zdHJ1Y3Rpb24pOw0KPiAgIA0KPiAgICAgICBzdGQ6OnN0cmluZyBydCA9IEdQUihj b3B5KHJ0X3ZhbHVlKSk7DQo+ICAgICAgIHN0ZDo6c3RyaW5nIHJzID0gR1BSKGNvcHkocnNfdmFs dWUpKTsNCj4gQEAgLTU2MjEsOSArNTYyMSw5IEBAIHN0ZDo6c3RyaW5nIE5NRDo6RElOUyh1aW50 NjQgaW5zdHJ1Y3Rpb24pDQo+ICAgc3RkOjpzdHJpbmcgTk1EOjpESU5TVSh1aW50NjQgaW5zdHJ1 Y3Rpb24pDQo+ICAgew0KPiAgICAgICB1aW50NjQgcnRfdmFsdWUgPSBleHRyYWN0X3J0XzI1XzI0 XzIzXzIyXzIxKGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgcnNfdmFsdWUgPSBleHRyYWN0 X3JzXzIwXzE5XzE4XzE3XzE2KGluc3RydWN0aW9uKTsNCj4gICAgICAgdWludDY0IG1zYmRfdmFs dWUgPSBleHRyYWN0X21zYnRfMTBfOV84XzdfNihpbnN0cnVjdGlvbik7DQo+ICAgICAgIHVpbnQ2 NCBsc2JfdmFsdWUgPSBleHRyYWN0X2xzYl80XzNfMl8xXzAoaW5zdHJ1Y3Rpb24pOw0KPiAtICAg IHVpbnQ2NCByc192YWx1ZSA9IGV4dHJhY3RfcnNfMjBfMTlfMThfMTdfMTYoaW5zdHJ1Y3Rpb24p Ow0KPiAgIA0KPiAgICAgICBzdGQ6OnN0cmluZyBydCA9IEdQUihjb3B5KHJ0X3ZhbHVlKSk7DQo+ ICAgICAgIHN0ZDo6c3RyaW5nIHJzID0gR1BSKGNvcHkocnNfdmFsdWUpKTsNCj4gQEAgLTU2Njks OCArNTY2OSw4IEBAIHN0ZDo6c3RyaW5nIE5NRDo6REkodWludDY0IGluc3RydWN0aW9uKQ0KPiAg IHN0ZDo6c3RyaW5nIE5NRDo6RElWKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gICB7DQo+ICAgICAg IHVpbnQ2NCBydF92YWx1ZSA9IGV4dHJhY3RfcnRfMjVfMjRfMjNfMjJfMjEoaW5zdHJ1Y3Rpb24p Ow0KPiAtICAgIHVpbnQ2NCByZF92YWx1ZSA9IGV4dHJhY3RfcmRfMTVfMTRfMTNfMTJfMTEoaW5z dHJ1Y3Rpb24pOw0KPiAgICAgICB1aW50NjQgcnNfdmFsdWUgPSBleHRyYWN0X3JzXzIwXzE5XzE4 XzE3XzE2KGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgcmRfdmFsdWUgPSBleHRyYWN0X3Jk XzE1XzE0XzEzXzEyXzExKGluc3RydWN0aW9uKTsNCj4gICANCj4gICAgICAgc3RkOjpzdHJpbmcg cmQgPSBHUFIoY29weShyZF92YWx1ZSkpOw0KPiAgICAgICBzdGQ6OnN0cmluZyBycyA9IEdQUihj b3B5KHJzX3ZhbHVlKSk7DQo+IEBAIC01NjkyLDggKzU2OTIsOCBAQCBzdGQ6OnN0cmluZyBOTUQ6 OkRJVih1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICAgICovDQo+ICAgc3RkOjpzdHJpbmcgTk1EOjpE SVZfRCh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICAgew0KPiAtICAgIHVpbnQ2NCBmc192YWx1ZSA9 IGV4dHJhY3RfZnNfMTVfMTRfMTNfMTJfMTEoaW5zdHJ1Y3Rpb24pOw0KPiAgICAgICB1aW50NjQg ZnRfdmFsdWUgPSBleHRyYWN0X2Z0XzIwXzE5XzE4XzE3XzE2KGluc3RydWN0aW9uKTsNCj4gKyAg ICB1aW50NjQgZnNfdmFsdWUgPSBleHRyYWN0X2ZzXzE1XzE0XzEzXzEyXzExKGluc3RydWN0aW9u KTsNCj4gICAgICAgdWludDY0IGZkX3ZhbHVlID0gZXh0cmFjdF9mZF8xMF85XzhfN182KGluc3Ry dWN0aW9uKTsNCj4gICANCj4gICAgICAgc3RkOjpzdHJpbmcgZmQgPSBGUFIoY29weShmZF92YWx1 ZSkpOw0KPiBAQCAtNTcxNiw4ICs1NzE2LDggQEAgc3RkOjpzdHJpbmcgTk1EOjpESVZfRCh1aW50 NjQgaW5zdHJ1Y3Rpb24pDQo+ICAgICovDQo+ICAgc3RkOjpzdHJpbmcgTk1EOjpESVZfUyh1aW50 NjQgaW5zdHJ1Y3Rpb24pDQo+ICAgew0KPiAtICAgIHVpbnQ2NCBmc192YWx1ZSA9IGV4dHJhY3Rf ZnNfMTVfMTRfMTNfMTJfMTEoaW5zdHJ1Y3Rpb24pOw0KPiAgICAgICB1aW50NjQgZnRfdmFsdWUg PSBleHRyYWN0X2Z0XzIwXzE5XzE4XzE3XzE2KGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQg ZnNfdmFsdWUgPSBleHRyYWN0X2ZzXzE1XzE0XzEzXzEyXzExKGluc3RydWN0aW9uKTsNCj4gICAg ICAgdWludDY0IGZkX3ZhbHVlID0gZXh0cmFjdF9mZF8xMF85XzhfN182KGluc3RydWN0aW9uKTsN Cj4gICANCj4gICAgICAgc3RkOjpzdHJpbmcgZmQgPSBGUFIoY29weShmZF92YWx1ZSkpOw0KPiBA QCAtNTc0MSw4ICs1NzQxLDggQEAgc3RkOjpzdHJpbmcgTk1EOjpESVZfUyh1aW50NjQgaW5zdHJ1 Y3Rpb24pDQo+ICAgc3RkOjpzdHJpbmcgTk1EOjpESVZVKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4g ICB7DQo+ICAgICAgIHVpbnQ2NCBydF92YWx1ZSA9IGV4dHJhY3RfcnRfMjVfMjRfMjNfMjJfMjEo aW5zdHJ1Y3Rpb24pOw0KPiAtICAgIHVpbnQ2NCByZF92YWx1ZSA9IGV4dHJhY3RfcmRfMTVfMTRf MTNfMTJfMTEoaW5zdHJ1Y3Rpb24pOw0KPiAgICAgICB1aW50NjQgcnNfdmFsdWUgPSBleHRyYWN0 X3JzXzIwXzE5XzE4XzE3XzE2KGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgcmRfdmFsdWUg PSBleHRyYWN0X3JkXzE1XzE0XzEzXzEyXzExKGluc3RydWN0aW9uKTsNCj4gICANCj4gICAgICAg c3RkOjpzdHJpbmcgcmQgPSBHUFIoY29weShyZF92YWx1ZSkpOw0KPiAgICAgICBzdGQ6OnN0cmlu ZyBycyA9IEdQUihjb3B5KHJzX3ZhbHVlKSk7DQo+IEBAIC01NzY1LDkgKzU3NjUsOSBAQCBzdGQ6 OnN0cmluZyBOTUQ6OkRJVlUodWludDY0IGluc3RydWN0aW9uKQ0KPiAgIHN0ZDo6c3RyaW5nIE5N RDo6RExTQSh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICAgew0KPiAgICAgICB1aW50NjQgcnRfdmFs dWUgPSBleHRyYWN0X3J0XzI1XzI0XzIzXzIyXzIxKGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50 NjQgcnNfdmFsdWUgPSBleHRyYWN0X3JzXzIwXzE5XzE4XzE3XzE2KGluc3RydWN0aW9uKTsNCj4g ICAgICAgdWludDY0IHJkX3ZhbHVlID0gZXh0cmFjdF9yZF8xNV8xNF8xM18xMl8xMShpbnN0cnVj dGlvbik7DQo+ICAgICAgIHVpbnQ2NCB1Ml92YWx1ZSA9IGV4dHJhY3RfdTJfMTBfOShpbnN0cnVj dGlvbik7DQo+IC0gICAgdWludDY0IHJzX3ZhbHVlID0gZXh0cmFjdF9yc18yMF8xOV8xOF8xN18x NihpbnN0cnVjdGlvbik7DQo+ICAgDQo+ICAgICAgIHN0ZDo6c3RyaW5nIHJkID0gR1BSKGNvcHko cmRfdmFsdWUpKTsNCj4gICAgICAgc3RkOjpzdHJpbmcgcnMgPSBHUFIoY29weShyc192YWx1ZSkp Ow0KPiBAQCAtNTg1OCw4ICs1ODU4LDggQEAgc3RkOjpzdHJpbmcgTk1EOjpETUZDMSh1aW50NjQg aW5zdHJ1Y3Rpb24pDQo+ICAgICovDQo+ICAgc3RkOjpzdHJpbmcgTk1EOjpETUZDMih1aW50NjQg aW5zdHJ1Y3Rpb24pDQo+ICAgew0KPiAtICAgIHVpbnQ2NCBjc192YWx1ZSA9IGV4dHJhY3RfY3Nf MjBfMTlfMThfMTdfMTYoaW5zdHJ1Y3Rpb24pOw0KPiAgICAgICB1aW50NjQgcnRfdmFsdWUgPSBl eHRyYWN0X3J0XzI1XzI0XzIzXzIyXzIxKGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgY3Nf dmFsdWUgPSBleHRyYWN0X2NzXzIwXzE5XzE4XzE3XzE2KGluc3RydWN0aW9uKTsNCj4gICANCj4g ICAgICAgc3RkOjpzdHJpbmcgcnQgPSBHUFIoY29weShydF92YWx1ZSkpOw0KPiAgICAgICBzdGQ6 OnN0cmluZyBjcyA9IENQUihjb3B5KGNzX3ZhbHVlKSk7DQo+IEBAIC01OTA1LDggKzU5MDUsOCBA QCBzdGQ6OnN0cmluZyBOTUQ6OkRNRkdDMCh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICAgc3RkOjpz dHJpbmcgTk1EOjpETU9EKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gICB7DQo+ICAgICAgIHVpbnQ2 NCBydF92YWx1ZSA9IGV4dHJhY3RfcnRfMjVfMjRfMjNfMjJfMjEoaW5zdHJ1Y3Rpb24pOw0KPiAt ICAgIHVpbnQ2NCByZF92YWx1ZSA9IGV4dHJhY3RfcmRfMTVfMTRfMTNfMTJfMTEoaW5zdHJ1Y3Rp b24pOw0KPiAgICAgICB1aW50NjQgcnNfdmFsdWUgPSBleHRyYWN0X3JzXzIwXzE5XzE4XzE3XzE2 KGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgcmRfdmFsdWUgPSBleHRyYWN0X3JkXzE1XzE0 XzEzXzEyXzExKGluc3RydWN0aW9uKTsNCj4gICANCj4gICAgICAgc3RkOjpzdHJpbmcgcmQgPSBH UFIoY29weShyZF92YWx1ZSkpOw0KPiAgICAgICBzdGQ6OnN0cmluZyBycyA9IEdQUihjb3B5KHJz X3ZhbHVlKSk7DQo+IEBAIC01OTI5LDggKzU5MjksOCBAQCBzdGQ6OnN0cmluZyBOTUQ6OkRNT0Qo dWludDY0IGluc3RydWN0aW9uKQ0KPiAgIHN0ZDo6c3RyaW5nIE5NRDo6RE1PRFUodWludDY0IGlu c3RydWN0aW9uKQ0KPiAgIHsNCj4gICAgICAgdWludDY0IHJ0X3ZhbHVlID0gZXh0cmFjdF9ydF8y NV8yNF8yM18yMl8yMShpbnN0cnVjdGlvbik7DQo+IC0gICAgdWludDY0IHJkX3ZhbHVlID0gZXh0 cmFjdF9yZF8xNV8xNF8xM18xMl8xMShpbnN0cnVjdGlvbik7DQo+ICAgICAgIHVpbnQ2NCByc192 YWx1ZSA9IGV4dHJhY3RfcnNfMjBfMTlfMThfMTdfMTYoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVp bnQ2NCByZF92YWx1ZSA9IGV4dHJhY3RfcmRfMTVfMTRfMTNfMTJfMTEoaW5zdHJ1Y3Rpb24pOw0K PiAgIA0KPiAgICAgICBzdGQ6OnN0cmluZyByZCA9IEdQUihjb3B5KHJkX3ZhbHVlKSk7DQo+ICAg ICAgIHN0ZDo6c3RyaW5nIHJzID0gR1BSKGNvcHkocnNfdmFsdWUpKTsNCj4gQEAgLTU5OTgsOCAr NTk5OCw4IEBAIHN0ZDo6c3RyaW5nIE5NRDo6RE1UQzEodWludDY0IGluc3RydWN0aW9uKQ0KPiAg ICAqLw0KPiAgIHN0ZDo6c3RyaW5nIE5NRDo6RE1UQzIodWludDY0IGluc3RydWN0aW9uKQ0KPiAg IHsNCj4gLSAgICB1aW50NjQgY3NfdmFsdWUgPSBleHRyYWN0X2NzXzIwXzE5XzE4XzE3XzE2KGlu c3RydWN0aW9uKTsNCj4gICAgICAgdWludDY0IHJ0X3ZhbHVlID0gZXh0cmFjdF9ydF8yNV8yNF8y M18yMl8yMShpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IGNzX3ZhbHVlID0gZXh0cmFjdF9j c18yMF8xOV8xOF8xN18xNihpbnN0cnVjdGlvbik7DQo+ICAgDQo+ICAgICAgIHN0ZDo6c3RyaW5n IHJ0ID0gR1BSKGNvcHkocnRfdmFsdWUpKTsNCj4gICAgICAgc3RkOjpzdHJpbmcgY3MgPSBDUFIo Y29weShjc192YWx1ZSkpOw0KPiBAQCAtNjA2NSw4ICs2MDY1LDggQEAgc3RkOjpzdHJpbmcgTk1E OjpETVQodWludDY0IGluc3RydWN0aW9uKQ0KPiAgIHN0ZDo6c3RyaW5nIE5NRDo6RE1VSCh1aW50 NjQgaW5zdHJ1Y3Rpb24pDQo+ICAgew0KPiAgICAgICB1aW50NjQgcnRfdmFsdWUgPSBleHRyYWN0 X3J0XzI1XzI0XzIzXzIyXzIxKGluc3RydWN0aW9uKTsNCj4gLSAgICB1aW50NjQgcmRfdmFsdWUg PSBleHRyYWN0X3JkXzE1XzE0XzEzXzEyXzExKGluc3RydWN0aW9uKTsNCj4gICAgICAgdWludDY0 IHJzX3ZhbHVlID0gZXh0cmFjdF9yc18yMF8xOV8xOF8xN18xNihpbnN0cnVjdGlvbik7DQo+ICsg ICAgdWludDY0IHJkX3ZhbHVlID0gZXh0cmFjdF9yZF8xNV8xNF8xM18xMl8xMShpbnN0cnVjdGlv bik7DQo+ICAgDQo+ICAgICAgIHN0ZDo6c3RyaW5nIHJkID0gR1BSKGNvcHkocmRfdmFsdWUpKTsN Cj4gICAgICAgc3RkOjpzdHJpbmcgcnMgPSBHUFIoY29weShyc192YWx1ZSkpOw0KPiBAQCAtNjA4 OSw4ICs2MDg5LDggQEAgc3RkOjpzdHJpbmcgTk1EOjpETVVIKHVpbnQ2NCBpbnN0cnVjdGlvbikN Cj4gICBzdGQ6OnN0cmluZyBOTUQ6OkRNVUhVKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gICB7DQo+ ICAgICAgIHVpbnQ2NCBydF92YWx1ZSA9IGV4dHJhY3RfcnRfMjVfMjRfMjNfMjJfMjEoaW5zdHJ1 Y3Rpb24pOw0KPiAtICAgIHVpbnQ2NCByZF92YWx1ZSA9IGV4dHJhY3RfcmRfMTVfMTRfMTNfMTJf MTEoaW5zdHJ1Y3Rpb24pOw0KPiAgICAgICB1aW50NjQgcnNfdmFsdWUgPSBleHRyYWN0X3JzXzIw XzE5XzE4XzE3XzE2KGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgcmRfdmFsdWUgPSBleHRy YWN0X3JkXzE1XzE0XzEzXzEyXzExKGluc3RydWN0aW9uKTsNCj4gICANCj4gICAgICAgc3RkOjpz dHJpbmcgcmQgPSBHUFIoY29weShyZF92YWx1ZSkpOw0KPiAgICAgICBzdGQ6OnN0cmluZyBycyA9 IEdQUihjb3B5KHJzX3ZhbHVlKSk7DQo+IEBAIC02MTEzLDggKzYxMTMsOCBAQCBzdGQ6OnN0cmlu ZyBOTUQ6OkRNVUhVKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gICBzdGQ6OnN0cmluZyBOTUQ6OkRN VUwodWludDY0IGluc3RydWN0aW9uKQ0KPiAgIHsNCj4gICAgICAgdWludDY0IHJ0X3ZhbHVlID0g ZXh0cmFjdF9ydF8yNV8yNF8yM18yMl8yMShpbnN0cnVjdGlvbik7DQo+IC0gICAgdWludDY0IHJk X3ZhbHVlID0gZXh0cmFjdF9yZF8xNV8xNF8xM18xMl8xMShpbnN0cnVjdGlvbik7DQo+ICAgICAg IHVpbnQ2NCByc192YWx1ZSA9IGV4dHJhY3RfcnNfMjBfMTlfMThfMTdfMTYoaW5zdHJ1Y3Rpb24p Ow0KPiArICAgIHVpbnQ2NCByZF92YWx1ZSA9IGV4dHJhY3RfcmRfMTVfMTRfMTNfMTJfMTEoaW5z dHJ1Y3Rpb24pOw0KPiAgIA0KPiAgICAgICBzdGQ6OnN0cmluZyByZCA9IEdQUihjb3B5KHJkX3Zh bHVlKSk7DQo+ICAgICAgIHN0ZDo6c3RyaW5nIHJzID0gR1BSKGNvcHkocnNfdmFsdWUpKTsNCj4g QEAgLTYxMzcsOCArNjEzNyw4IEBAIHN0ZDo6c3RyaW5nIE5NRDo6RE1VTCh1aW50NjQgaW5zdHJ1 Y3Rpb24pDQo+ICAgc3RkOjpzdHJpbmcgTk1EOjpETVVMVSh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ ICAgew0KPiAgICAgICB1aW50NjQgcnRfdmFsdWUgPSBleHRyYWN0X3J0XzI1XzI0XzIzXzIyXzIx KGluc3RydWN0aW9uKTsNCj4gLSAgICB1aW50NjQgcmRfdmFsdWUgPSBleHRyYWN0X3JkXzE1XzE0 XzEzXzEyXzExKGluc3RydWN0aW9uKTsNCj4gICAgICAgdWludDY0IHJzX3ZhbHVlID0gZXh0cmFj dF9yc18yMF8xOV8xOF8xN18xNihpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IHJkX3ZhbHVl ID0gZXh0cmFjdF9yZF8xNV8xNF8xM18xMl8xMShpbnN0cnVjdGlvbik7DQo+ICAgDQo+ICAgICAg IHN0ZDo6c3RyaW5nIHJkID0gR1BSKGNvcHkocmRfdmFsdWUpKTsNCj4gICAgICAgc3RkOjpzdHJp bmcgcnMgPSBHUFIoY29weShyc192YWx1ZSkpOw0KPiBAQCAtNjE2MSw4ICs2MTYxLDggQEAgc3Rk OjpzdHJpbmcgTk1EOjpETVVMVSh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICAgc3RkOjpzdHJpbmcg Tk1EOjpEUEFfV19QSCh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICAgew0KPiAgICAgICB1aW50NjQg cnRfdmFsdWUgPSBleHRyYWN0X3J0XzI1XzI0XzIzXzIyXzIxKGluc3RydWN0aW9uKTsNCj4gLSAg ICB1aW50NjQgYWNfdmFsdWUgPSBleHRyYWN0X2FjXzEzXzEyKGluc3RydWN0aW9uKTsNCj4gICAg ICAgdWludDY0IHJzX3ZhbHVlID0gZXh0cmFjdF9yc18yMF8xOV8xOF8xN18xNihpbnN0cnVjdGlv bik7DQo+ICsgICAgdWludDY0IGFjX3ZhbHVlID0gZXh0cmFjdF9hY18xM18xMihpbnN0cnVjdGlv bik7DQo+ICAgDQo+ICAgICAgIHN0ZDo6c3RyaW5nIGFjID0gQUMoY29weShhY192YWx1ZSkpOw0K PiAgICAgICBzdGQ6OnN0cmluZyBycyA9IEdQUihjb3B5KHJzX3ZhbHVlKSk7DQo+IEBAIC02MTg1 LDggKzYxODUsOCBAQCBzdGQ6OnN0cmluZyBOTUQ6OkRQQV9XX1BIKHVpbnQ2NCBpbnN0cnVjdGlv bikNCj4gICBzdGQ6OnN0cmluZyBOTUQ6OkRQQVFfU0FfTF9XKHVpbnQ2NCBpbnN0cnVjdGlvbikN Cj4gICB7DQo+ICAgICAgIHVpbnQ2NCBydF92YWx1ZSA9IGV4dHJhY3RfcnRfMjVfMjRfMjNfMjJf MjEoaW5zdHJ1Y3Rpb24pOw0KPiAtICAgIHVpbnQ2NCBhY192YWx1ZSA9IGV4dHJhY3RfYWNfMTNf MTIoaW5zdHJ1Y3Rpb24pOw0KPiAgICAgICB1aW50NjQgcnNfdmFsdWUgPSBleHRyYWN0X3JzXzIw XzE5XzE4XzE3XzE2KGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgYWNfdmFsdWUgPSBleHRy YWN0X2FjXzEzXzEyKGluc3RydWN0aW9uKTsNCj4gICANCj4gICAgICAgc3RkOjpzdHJpbmcgYWMg PSBBQyhjb3B5KGFjX3ZhbHVlKSk7DQo+ICAgICAgIHN0ZDo6c3RyaW5nIHJzID0gR1BSKGNvcHko cnNfdmFsdWUpKTsNCj4gQEAgLTYyMDksOCArNjIwOSw4IEBAIHN0ZDo6c3RyaW5nIE5NRDo6RFBB UV9TQV9MX1codWludDY0IGluc3RydWN0aW9uKQ0KPiAgIHN0ZDo6c3RyaW5nIE5NRDo6RFBBUV9T X1dfUEgodWludDY0IGluc3RydWN0aW9uKQ0KPiAgIHsNCj4gICAgICAgdWludDY0IHJ0X3ZhbHVl ID0gZXh0cmFjdF9ydF8yNV8yNF8yM18yMl8yMShpbnN0cnVjdGlvbik7DQo+IC0gICAgdWludDY0 IGFjX3ZhbHVlID0gZXh0cmFjdF9hY18xM18xMihpbnN0cnVjdGlvbik7DQo+ICAgICAgIHVpbnQ2 NCByc192YWx1ZSA9IGV4dHJhY3RfcnNfMjBfMTlfMThfMTdfMTYoaW5zdHJ1Y3Rpb24pOw0KPiAr ICAgIHVpbnQ2NCBhY192YWx1ZSA9IGV4dHJhY3RfYWNfMTNfMTIoaW5zdHJ1Y3Rpb24pOw0KPiAg IA0KPiAgICAgICBzdGQ6OnN0cmluZyBhYyA9IEFDKGNvcHkoYWNfdmFsdWUpKTsNCj4gICAgICAg c3RkOjpzdHJpbmcgcnMgPSBHUFIoY29weShyc192YWx1ZSkpOw0KPiBAQCAtNjIzMyw4ICs2MjMz LDggQEAgc3RkOjpzdHJpbmcgTk1EOjpEUEFRX1NfV19QSCh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ ICAgc3RkOjpzdHJpbmcgTk1EOjpEUEFRWF9TQV9XX1BIKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4g ICB7DQo+ICAgICAgIHVpbnQ2NCBydF92YWx1ZSA9IGV4dHJhY3RfcnRfMjVfMjRfMjNfMjJfMjEo aW5zdHJ1Y3Rpb24pOw0KPiAtICAgIHVpbnQ2NCBhY192YWx1ZSA9IGV4dHJhY3RfYWNfMTNfMTIo aW5zdHJ1Y3Rpb24pOw0KPiAgICAgICB1aW50NjQgcnNfdmFsdWUgPSBleHRyYWN0X3JzXzIwXzE5 XzE4XzE3XzE2KGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgYWNfdmFsdWUgPSBleHRyYWN0 X2FjXzEzXzEyKGluc3RydWN0aW9uKTsNCj4gICANCj4gICAgICAgc3RkOjpzdHJpbmcgYWMgPSBB Qyhjb3B5KGFjX3ZhbHVlKSk7DQo+ICAgICAgIHN0ZDo6c3RyaW5nIHJzID0gR1BSKGNvcHkocnNf dmFsdWUpKTsNCj4gQEAgLTYyNTcsOCArNjI1Nyw4IEBAIHN0ZDo6c3RyaW5nIE5NRDo6RFBBUVhf U0FfV19QSCh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICAgc3RkOjpzdHJpbmcgTk1EOjpEUEFRWF9T X1dfUEgodWludDY0IGluc3RydWN0aW9uKQ0KPiAgIHsNCj4gICAgICAgdWludDY0IHJ0X3ZhbHVl ID0gZXh0cmFjdF9ydF8yNV8yNF8yM18yMl8yMShpbnN0cnVjdGlvbik7DQo+IC0gICAgdWludDY0 IGFjX3ZhbHVlID0gZXh0cmFjdF9hY18xM18xMihpbnN0cnVjdGlvbik7DQo+ICAgICAgIHVpbnQ2 NCByc192YWx1ZSA9IGV4dHJhY3RfcnNfMjBfMTlfMThfMTdfMTYoaW5zdHJ1Y3Rpb24pOw0KPiAr ICAgIHVpbnQ2NCBhY192YWx1ZSA9IGV4dHJhY3RfYWNfMTNfMTIoaW5zdHJ1Y3Rpb24pOw0KPiAg IA0KPiAgICAgICBzdGQ6OnN0cmluZyBhYyA9IEFDKGNvcHkoYWNfdmFsdWUpKTsNCj4gICAgICAg c3RkOjpzdHJpbmcgcnMgPSBHUFIoY29weShyc192YWx1ZSkpOw0KPiBAQCAtNjI4MSw4ICs2Mjgx LDggQEAgc3RkOjpzdHJpbmcgTk1EOjpEUEFRWF9TX1dfUEgodWludDY0IGluc3RydWN0aW9uKQ0K PiAgIHN0ZDo6c3RyaW5nIE5NRDo6RFBBVV9IX1FCTCh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICAg ew0KPiAgICAgICB1aW50NjQgcnRfdmFsdWUgPSBleHRyYWN0X3J0XzI1XzI0XzIzXzIyXzIxKGlu c3RydWN0aW9uKTsNCj4gLSAgICB1aW50NjQgYWNfdmFsdWUgPSBleHRyYWN0X2FjXzEzXzEyKGlu c3RydWN0aW9uKTsNCj4gICAgICAgdWludDY0IHJzX3ZhbHVlID0gZXh0cmFjdF9yc18yMF8xOV8x OF8xN18xNihpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IGFjX3ZhbHVlID0gZXh0cmFjdF9h Y18xM18xMihpbnN0cnVjdGlvbik7DQo+ICAgDQo+ICAgICAgIHN0ZDo6c3RyaW5nIGFjID0gQUMo Y29weShhY192YWx1ZSkpOw0KPiAgICAgICBzdGQ6OnN0cmluZyBycyA9IEdQUihjb3B5KHJzX3Zh bHVlKSk7DQo+IEBAIC02MzA1LDggKzYzMDUsOCBAQCBzdGQ6OnN0cmluZyBOTUQ6OkRQQVVfSF9R QkwodWludDY0IGluc3RydWN0aW9uKQ0KPiAgIHN0ZDo6c3RyaW5nIE5NRDo6RFBBVV9IX1FCUih1 aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICAgew0KPiAgICAgICB1aW50NjQgcnRfdmFsdWUgPSBleHRy YWN0X3J0XzI1XzI0XzIzXzIyXzIxKGluc3RydWN0aW9uKTsNCj4gLSAgICB1aW50NjQgYWNfdmFs dWUgPSBleHRyYWN0X2FjXzEzXzEyKGluc3RydWN0aW9uKTsNCj4gICAgICAgdWludDY0IHJzX3Zh bHVlID0gZXh0cmFjdF9yc18yMF8xOV8xOF8xN18xNihpbnN0cnVjdGlvbik7DQo+ICsgICAgdWlu dDY0IGFjX3ZhbHVlID0gZXh0cmFjdF9hY18xM18xMihpbnN0cnVjdGlvbik7DQo+ICAgDQo+ICAg ICAgIHN0ZDo6c3RyaW5nIGFjID0gQUMoY29weShhY192YWx1ZSkpOw0KPiAgICAgICBzdGQ6OnN0 cmluZyBycyA9IEdQUihjb3B5KHJzX3ZhbHVlKSk7DQo+IEBAIC02MzI5LDggKzYzMjksOCBAQCBz dGQ6OnN0cmluZyBOTUQ6OkRQQVVfSF9RQlIodWludDY0IGluc3RydWN0aW9uKQ0KPiAgIHN0ZDo6 c3RyaW5nIE5NRDo6RFBBWF9XX1BIKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gICB7DQo+ICAgICAg IHVpbnQ2NCBydF92YWx1ZSA9IGV4dHJhY3RfcnRfMjVfMjRfMjNfMjJfMjEoaW5zdHJ1Y3Rpb24p Ow0KPiAtICAgIHVpbnQ2NCBhY192YWx1ZSA9IGV4dHJhY3RfYWNfMTNfMTIoaW5zdHJ1Y3Rpb24p Ow0KPiAgICAgICB1aW50NjQgcnNfdmFsdWUgPSBleHRyYWN0X3JzXzIwXzE5XzE4XzE3XzE2KGlu c3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgYWNfdmFsdWUgPSBleHRyYWN0X2FjXzEzXzEyKGlu c3RydWN0aW9uKTsNCj4gICANCj4gICAgICAgc3RkOjpzdHJpbmcgYWMgPSBBQyhjb3B5KGFjX3Zh bHVlKSk7DQo+ICAgICAgIHN0ZDo6c3RyaW5nIHJzID0gR1BSKGNvcHkocnNfdmFsdWUpKTsNCj4g QEAgLTYzNTMsOCArNjM1Myw4IEBAIHN0ZDo6c3RyaW5nIE5NRDo6RFBBWF9XX1BIKHVpbnQ2NCBp bnN0cnVjdGlvbikNCj4gICBzdGQ6OnN0cmluZyBOTUQ6OkRQU19XX1BIKHVpbnQ2NCBpbnN0cnVj dGlvbikNCj4gICB7DQo+ICAgICAgIHVpbnQ2NCBydF92YWx1ZSA9IGV4dHJhY3RfcnRfMjVfMjRf MjNfMjJfMjEoaW5zdHJ1Y3Rpb24pOw0KPiAtICAgIHVpbnQ2NCBhY192YWx1ZSA9IGV4dHJhY3Rf YWNfMTNfMTIoaW5zdHJ1Y3Rpb24pOw0KPiAgICAgICB1aW50NjQgcnNfdmFsdWUgPSBleHRyYWN0 X3JzXzIwXzE5XzE4XzE3XzE2KGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgYWNfdmFsdWUg PSBleHRyYWN0X2FjXzEzXzEyKGluc3RydWN0aW9uKTsNCj4gICANCj4gICAgICAgc3RkOjpzdHJp bmcgYWMgPSBBQyhjb3B5KGFjX3ZhbHVlKSk7DQo+ICAgICAgIHN0ZDo6c3RyaW5nIHJzID0gR1BS KGNvcHkocnNfdmFsdWUpKTsNCj4gQEAgLTYzNzcsOCArNjM3Nyw4IEBAIHN0ZDo6c3RyaW5nIE5N RDo6RFBTX1dfUEgodWludDY0IGluc3RydWN0aW9uKQ0KPiAgIHN0ZDo6c3RyaW5nIE5NRDo6RFBT UV9TQV9MX1codWludDY0IGluc3RydWN0aW9uKQ0KPiAgIHsNCj4gICAgICAgdWludDY0IHJ0X3Zh bHVlID0gZXh0cmFjdF9ydF8yNV8yNF8yM18yMl8yMShpbnN0cnVjdGlvbik7DQo+IC0gICAgdWlu dDY0IGFjX3ZhbHVlID0gZXh0cmFjdF9hY18xM18xMihpbnN0cnVjdGlvbik7DQo+ICAgICAgIHVp bnQ2NCByc192YWx1ZSA9IGV4dHJhY3RfcnNfMjBfMTlfMThfMTdfMTYoaW5zdHJ1Y3Rpb24pOw0K PiArICAgIHVpbnQ2NCBhY192YWx1ZSA9IGV4dHJhY3RfYWNfMTNfMTIoaW5zdHJ1Y3Rpb24pOw0K PiAgIA0KPiAgICAgICBzdGQ6OnN0cmluZyBhYyA9IEFDKGNvcHkoYWNfdmFsdWUpKTsNCj4gICAg ICAgc3RkOjpzdHJpbmcgcnMgPSBHUFIoY29weShyc192YWx1ZSkpOw0KPiBAQCAtNjQwMSw4ICs2 NDAxLDggQEAgc3RkOjpzdHJpbmcgTk1EOjpEUFNRX1NBX0xfVyh1aW50NjQgaW5zdHJ1Y3Rpb24p DQo+ICAgc3RkOjpzdHJpbmcgTk1EOjpEUFNRX1NfV19QSCh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ ICAgew0KPiAgICAgICB1aW50NjQgcnRfdmFsdWUgPSBleHRyYWN0X3J0XzI1XzI0XzIzXzIyXzIx KGluc3RydWN0aW9uKTsNCj4gLSAgICB1aW50NjQgYWNfdmFsdWUgPSBleHRyYWN0X2FjXzEzXzEy KGluc3RydWN0aW9uKTsNCj4gICAgICAgdWludDY0IHJzX3ZhbHVlID0gZXh0cmFjdF9yc18yMF8x OV8xOF8xN18xNihpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IGFjX3ZhbHVlID0gZXh0cmFj dF9hY18xM18xMihpbnN0cnVjdGlvbik7DQo+ICAgDQo+ICAgICAgIHN0ZDo6c3RyaW5nIGFjID0g QUMoY29weShhY192YWx1ZSkpOw0KPiAgICAgICBzdGQ6OnN0cmluZyBycyA9IEdQUihjb3B5KHJz X3ZhbHVlKSk7DQo+IEBAIC02NDI1LDggKzY0MjUsOCBAQCBzdGQ6OnN0cmluZyBOTUQ6OkRQU1Ff U19XX1BIKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gICBzdGQ6OnN0cmluZyBOTUQ6OkRQU1FYX1NB X1dfUEgodWludDY0IGluc3RydWN0aW9uKQ0KPiAgIHsNCj4gICAgICAgdWludDY0IHJ0X3ZhbHVl ID0gZXh0cmFjdF9ydF8yNV8yNF8yM18yMl8yMShpbnN0cnVjdGlvbik7DQo+IC0gICAgdWludDY0 IGFjX3ZhbHVlID0gZXh0cmFjdF9hY18xM18xMihpbnN0cnVjdGlvbik7DQo+ICAgICAgIHVpbnQ2 NCByc192YWx1ZSA9IGV4dHJhY3RfcnNfMjBfMTlfMThfMTdfMTYoaW5zdHJ1Y3Rpb24pOw0KPiAr ICAgIHVpbnQ2NCBhY192YWx1ZSA9IGV4dHJhY3RfYWNfMTNfMTIoaW5zdHJ1Y3Rpb24pOw0KPiAg IA0KPiAgICAgICBzdGQ6OnN0cmluZyBhYyA9IEFDKGNvcHkoYWNfdmFsdWUpKTsNCj4gICAgICAg c3RkOjpzdHJpbmcgcnMgPSBHUFIoY29weShyc192YWx1ZSkpOw0KPiBAQCAtNjQ0OSw4ICs2NDQ5 LDggQEAgc3RkOjpzdHJpbmcgTk1EOjpEUFNRWF9TQV9XX1BIKHVpbnQ2NCBpbnN0cnVjdGlvbikN Cj4gICBzdGQ6OnN0cmluZyBOTUQ6OkRQU1FYX1NfV19QSCh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ ICAgew0KPiAgICAgICB1aW50NjQgcnRfdmFsdWUgPSBleHRyYWN0X3J0XzI1XzI0XzIzXzIyXzIx KGluc3RydWN0aW9uKTsNCj4gLSAgICB1aW50NjQgYWNfdmFsdWUgPSBleHRyYWN0X2FjXzEzXzEy KGluc3RydWN0aW9uKTsNCj4gICAgICAgdWludDY0IHJzX3ZhbHVlID0gZXh0cmFjdF9yc18yMF8x OV8xOF8xN18xNihpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IGFjX3ZhbHVlID0gZXh0cmFj dF9hY18xM18xMihpbnN0cnVjdGlvbik7DQo+ICAgDQo+ICAgICAgIHN0ZDo6c3RyaW5nIGFjID0g QUMoY29weShhY192YWx1ZSkpOw0KPiAgICAgICBzdGQ6OnN0cmluZyBycyA9IEdQUihjb3B5KHJz X3ZhbHVlKSk7DQo+IEBAIC02NDczLDggKzY0NzMsOCBAQCBzdGQ6OnN0cmluZyBOTUQ6OkRQU1FY X1NfV19QSCh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICAgc3RkOjpzdHJpbmcgTk1EOjpEUFNVX0hf UUJMKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gICB7DQo+ICAgICAgIHVpbnQ2NCBydF92YWx1ZSA9 IGV4dHJhY3RfcnRfMjVfMjRfMjNfMjJfMjEoaW5zdHJ1Y3Rpb24pOw0KPiAtICAgIHVpbnQ2NCBh Y192YWx1ZSA9IGV4dHJhY3RfYWNfMTNfMTIoaW5zdHJ1Y3Rpb24pOw0KPiAgICAgICB1aW50NjQg cnNfdmFsdWUgPSBleHRyYWN0X3JzXzIwXzE5XzE4XzE3XzE2KGluc3RydWN0aW9uKTsNCj4gKyAg ICB1aW50NjQgYWNfdmFsdWUgPSBleHRyYWN0X2FjXzEzXzEyKGluc3RydWN0aW9uKTsNCj4gICAN Cj4gICAgICAgc3RkOjpzdHJpbmcgYWMgPSBBQyhjb3B5KGFjX3ZhbHVlKSk7DQo+ICAgICAgIHN0 ZDo6c3RyaW5nIHJzID0gR1BSKGNvcHkocnNfdmFsdWUpKTsNCj4gQEAgLTY0OTcsOCArNjQ5Nyw4 IEBAIHN0ZDo6c3RyaW5nIE5NRDo6RFBTVV9IX1FCTCh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICAg c3RkOjpzdHJpbmcgTk1EOjpEUFNVX0hfUUJSKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gICB7DQo+ ICAgICAgIHVpbnQ2NCBydF92YWx1ZSA9IGV4dHJhY3RfcnRfMjVfMjRfMjNfMjJfMjEoaW5zdHJ1 Y3Rpb24pOw0KPiAtICAgIHVpbnQ2NCBhY192YWx1ZSA9IGV4dHJhY3RfYWNfMTNfMTIoaW5zdHJ1 Y3Rpb24pOw0KPiAgICAgICB1aW50NjQgcnNfdmFsdWUgPSBleHRyYWN0X3JzXzIwXzE5XzE4XzE3 XzE2KGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgYWNfdmFsdWUgPSBleHRyYWN0X2FjXzEz XzEyKGluc3RydWN0aW9uKTsNCj4gICANCj4gICAgICAgc3RkOjpzdHJpbmcgYWMgPSBBQyhjb3B5 KGFjX3ZhbHVlKSk7DQo+ICAgICAgIHN0ZDo6c3RyaW5nIHJzID0gR1BSKGNvcHkocnNfdmFsdWUp KTsNCj4gQEAgLTY1MjEsOCArNjUyMSw4IEBAIHN0ZDo6c3RyaW5nIE5NRDo6RFBTVV9IX1FCUih1 aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICAgc3RkOjpzdHJpbmcgTk1EOjpEUFNYX1dfUEgodWludDY0 IGluc3RydWN0aW9uKQ0KPiAgIHsNCj4gICAgICAgdWludDY0IHJ0X3ZhbHVlID0gZXh0cmFjdF9y dF8yNV8yNF8yM18yMl8yMShpbnN0cnVjdGlvbik7DQo+IC0gICAgdWludDY0IGFjX3ZhbHVlID0g ZXh0cmFjdF9hY18xM18xMihpbnN0cnVjdGlvbik7DQo+ICAgICAgIHVpbnQ2NCByc192YWx1ZSA9 IGV4dHJhY3RfcnNfMjBfMTlfMThfMTdfMTYoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCBh Y192YWx1ZSA9IGV4dHJhY3RfYWNfMTNfMTIoaW5zdHJ1Y3Rpb24pOw0KPiAgIA0KPiAgICAgICBz dGQ6OnN0cmluZyBhYyA9IEFDKGNvcHkoYWNfdmFsdWUpKTsNCj4gICAgICAgc3RkOjpzdHJpbmcg cnMgPSBHUFIoY29weShyc192YWx1ZSkpOw0KPiBAQCAtNjU0NSw4ICs2NTQ1LDggQEAgc3RkOjpz dHJpbmcgTk1EOjpEUFNYX1dfUEgodWludDY0IGluc3RydWN0aW9uKQ0KPiAgIHN0ZDo6c3RyaW5n IE5NRDo6RFJPVFIodWludDY0IGluc3RydWN0aW9uKQ0KPiAgIHsNCj4gICAgICAgdWludDY0IHJ0 X3ZhbHVlID0gZXh0cmFjdF9ydF8yNV8yNF8yM18yMl8yMShpbnN0cnVjdGlvbik7DQo+IC0gICAg dWludDY0IHNoaWZ0X3ZhbHVlID0gZXh0cmFjdF9zaGlmdF80XzNfMl8xXzAoaW5zdHJ1Y3Rpb24p Ow0KPiAgICAgICB1aW50NjQgcnNfdmFsdWUgPSBleHRyYWN0X3JzXzIwXzE5XzE4XzE3XzE2KGlu c3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgc2hpZnRfdmFsdWUgPSBleHRyYWN0X3NoaWZ0XzRf M18yXzFfMChpbnN0cnVjdGlvbik7DQo+ICAgDQo+ICAgICAgIHN0ZDo6c3RyaW5nIHJ0ID0gR1BS KGNvcHkocnRfdmFsdWUpKTsNCj4gICAgICAgc3RkOjpzdHJpbmcgcnMgPSBHUFIoY29weShyc192 YWx1ZSkpOw0KPiBAQCAtNjU2OSw4ICs2NTY5LDggQEAgc3RkOjpzdHJpbmcgTk1EOjpEUk9UUih1 aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICAgc3RkOjpzdHJpbmcgTk1EOjpEUk9UUjMyKHVpbnQ2NCBp bnN0cnVjdGlvbikNCj4gICB7DQo+ICAgICAgIHVpbnQ2NCBydF92YWx1ZSA9IGV4dHJhY3RfcnRf MjVfMjRfMjNfMjJfMjEoaW5zdHJ1Y3Rpb24pOw0KPiAtICAgIHVpbnQ2NCBzaGlmdF92YWx1ZSA9 IGV4dHJhY3Rfc2hpZnRfNF8zXzJfMV8wKGluc3RydWN0aW9uKTsNCj4gICAgICAgdWludDY0IHJz X3ZhbHVlID0gZXh0cmFjdF9yc18yMF8xOV8xOF8xN18xNihpbnN0cnVjdGlvbik7DQo+ICsgICAg dWludDY0IHNoaWZ0X3ZhbHVlID0gZXh0cmFjdF9zaGlmdF80XzNfMl8xXzAoaW5zdHJ1Y3Rpb24p Ow0KPiAgIA0KPiAgICAgICBzdGQ6OnN0cmluZyBydCA9IEdQUihjb3B5KHJ0X3ZhbHVlKSk7DQo+ ICAgICAgIHN0ZDo6c3RyaW5nIHJzID0gR1BSKGNvcHkocnNfdmFsdWUpKTsNCj4gQEAgLTY1OTMs OCArNjU5Myw4IEBAIHN0ZDo6c3RyaW5nIE5NRDo6RFJPVFIzMih1aW50NjQgaW5zdHJ1Y3Rpb24p DQo+ICAgc3RkOjpzdHJpbmcgTk1EOjpEUk9UUlYodWludDY0IGluc3RydWN0aW9uKQ0KPiAgIHsN Cj4gICAgICAgdWludDY0IHJ0X3ZhbHVlID0gZXh0cmFjdF9ydF8yNV8yNF8yM18yMl8yMShpbnN0 cnVjdGlvbik7DQo+IC0gICAgdWludDY0IHJkX3ZhbHVlID0gZXh0cmFjdF9yZF8xNV8xNF8xM18x Ml8xMShpbnN0cnVjdGlvbik7DQo+ICAgICAgIHVpbnQ2NCByc192YWx1ZSA9IGV4dHJhY3RfcnNf MjBfMTlfMThfMTdfMTYoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCByZF92YWx1ZSA9IGV4 dHJhY3RfcmRfMTVfMTRfMTNfMTJfMTEoaW5zdHJ1Y3Rpb24pOw0KPiAgIA0KPiAgICAgICBzdGQ6 OnN0cmluZyByZCA9IEdQUihjb3B5KHJkX3ZhbHVlKSk7DQo+ICAgICAgIHN0ZDo6c3RyaW5nIHJz ID0gR1BSKGNvcHkocnNfdmFsdWUpKTsNCj4gQEAgLTY2MTcsOSArNjYxNyw5IEBAIHN0ZDo6c3Ry aW5nIE5NRDo6RFJPVFJWKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gICBzdGQ6OnN0cmluZyBOTUQ6 OkRST1RYKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gICB7DQo+ICAgICAgIHVpbnQ2NCBydF92YWx1 ZSA9IGV4dHJhY3RfcnRfMjVfMjRfMjNfMjJfMjEoaW5zdHJ1Y3Rpb24pOw0KPiAtICAgIHVpbnQ2 NCBzaGlmdF92YWx1ZSA9IGV4dHJhY3Rfc2hpZnRfNV80XzNfMl8xXzAoaW5zdHJ1Y3Rpb24pOw0K PiAtICAgIHVpbnQ2NCBzaGlmdHhfdmFsdWUgPSBleHRyYWN0X3NoaWZ0eF8xMV8xMF85XzhfN182 KGluc3RydWN0aW9uKTsNCj4gICAgICAgdWludDY0IHJzX3ZhbHVlID0gZXh0cmFjdF9yc18yMF8x OV8xOF8xN18xNihpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IHNoaWZ0eF92YWx1ZSA9IGV4 dHJhY3Rfc2hpZnR4XzExXzEwXzlfOF83XzYoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCBz aGlmdF92YWx1ZSA9IGV4dHJhY3Rfc2hpZnRfNV80XzNfMl8xXzAoaW5zdHJ1Y3Rpb24pOw0KPiAg IA0KPiAgICAgICBzdGQ6OnN0cmluZyBydCA9IEdQUihjb3B5KHJ0X3ZhbHVlKSk7DQo+ICAgICAg IHN0ZDo6c3RyaW5nIHJzID0gR1BSKGNvcHkocnNfdmFsdWUpKTsNCj4gQEAgLTY2NDMsOCArNjY0 Myw4IEBAIHN0ZDo6c3RyaW5nIE5NRDo6RFJPVFgodWludDY0IGluc3RydWN0aW9uKQ0KPiAgIHN0 ZDo6c3RyaW5nIE5NRDo6RFNMTCh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICAgew0KPiAgICAgICB1 aW50NjQgcnRfdmFsdWUgPSBleHRyYWN0X3J0XzI1XzI0XzIzXzIyXzIxKGluc3RydWN0aW9uKTsN Cj4gLSAgICB1aW50NjQgc2hpZnRfdmFsdWUgPSBleHRyYWN0X3NoaWZ0XzRfM18yXzFfMChpbnN0 cnVjdGlvbik7DQo+ICAgICAgIHVpbnQ2NCByc192YWx1ZSA9IGV4dHJhY3RfcnNfMjBfMTlfMThf MTdfMTYoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCBzaGlmdF92YWx1ZSA9IGV4dHJhY3Rf c2hpZnRfNF8zXzJfMV8wKGluc3RydWN0aW9uKTsNCj4gICANCj4gICAgICAgc3RkOjpzdHJpbmcg cnQgPSBHUFIoY29weShydF92YWx1ZSkpOw0KPiAgICAgICBzdGQ6OnN0cmluZyBycyA9IEdQUihj b3B5KHJzX3ZhbHVlKSk7DQo+IEBAIC02NjY3LDggKzY2NjcsOCBAQCBzdGQ6OnN0cmluZyBOTUQ6 OkRTTEwodWludDY0IGluc3RydWN0aW9uKQ0KPiAgIHN0ZDo6c3RyaW5nIE5NRDo6RFNMTDMyKHVp bnQ2NCBpbnN0cnVjdGlvbikNCj4gICB7DQo+ICAgICAgIHVpbnQ2NCBydF92YWx1ZSA9IGV4dHJh Y3RfcnRfMjVfMjRfMjNfMjJfMjEoaW5zdHJ1Y3Rpb24pOw0KPiAtICAgIHVpbnQ2NCBzaGlmdF92 YWx1ZSA9IGV4dHJhY3Rfc2hpZnRfNF8zXzJfMV8wKGluc3RydWN0aW9uKTsNCj4gICAgICAgdWlu dDY0IHJzX3ZhbHVlID0gZXh0cmFjdF9yc18yMF8xOV8xOF8xN18xNihpbnN0cnVjdGlvbik7DQo+ ICsgICAgdWludDY0IHNoaWZ0X3ZhbHVlID0gZXh0cmFjdF9zaGlmdF80XzNfMl8xXzAoaW5zdHJ1 Y3Rpb24pOw0KPiAgIA0KPiAgICAgICBzdGQ6OnN0cmluZyBydCA9IEdQUihjb3B5KHJ0X3ZhbHVl KSk7DQo+ICAgICAgIHN0ZDo6c3RyaW5nIHJzID0gR1BSKGNvcHkocnNfdmFsdWUpKTsNCj4gQEAg LTY2OTEsOCArNjY5MSw4IEBAIHN0ZDo6c3RyaW5nIE5NRDo6RFNMTDMyKHVpbnQ2NCBpbnN0cnVj dGlvbikNCj4gICBzdGQ6OnN0cmluZyBOTUQ6OkRTTExWKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4g ICB7DQo+ICAgICAgIHVpbnQ2NCBydF92YWx1ZSA9IGV4dHJhY3RfcnRfMjVfMjRfMjNfMjJfMjEo aW5zdHJ1Y3Rpb24pOw0KPiAtICAgIHVpbnQ2NCByZF92YWx1ZSA9IGV4dHJhY3RfcmRfMTVfMTRf MTNfMTJfMTEoaW5zdHJ1Y3Rpb24pOw0KPiAgICAgICB1aW50NjQgcnNfdmFsdWUgPSBleHRyYWN0 X3JzXzIwXzE5XzE4XzE3XzE2KGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgcmRfdmFsdWUg PSBleHRyYWN0X3JkXzE1XzE0XzEzXzEyXzExKGluc3RydWN0aW9uKTsNCj4gICANCj4gICAgICAg c3RkOjpzdHJpbmcgcmQgPSBHUFIoY29weShyZF92YWx1ZSkpOw0KPiAgICAgICBzdGQ6OnN0cmlu ZyBycyA9IEdQUihjb3B5KHJzX3ZhbHVlKSk7DQo+IEBAIC02NzE1LDggKzY3MTUsOCBAQCBzdGQ6 OnN0cmluZyBOTUQ6OkRTTExWKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gICBzdGQ6OnN0cmluZyBO TUQ6OkRTUkEodWludDY0IGluc3RydWN0aW9uKQ0KPiAgIHsNCj4gICAgICAgdWludDY0IHJ0X3Zh bHVlID0gZXh0cmFjdF9ydF8yNV8yNF8yM18yMl8yMShpbnN0cnVjdGlvbik7DQo+IC0gICAgdWlu dDY0IHNoaWZ0X3ZhbHVlID0gZXh0cmFjdF9zaGlmdF80XzNfMl8xXzAoaW5zdHJ1Y3Rpb24pOw0K PiAgICAgICB1aW50NjQgcnNfdmFsdWUgPSBleHRyYWN0X3JzXzIwXzE5XzE4XzE3XzE2KGluc3Ry dWN0aW9uKTsNCj4gKyAgICB1aW50NjQgc2hpZnRfdmFsdWUgPSBleHRyYWN0X3NoaWZ0XzRfM18y XzFfMChpbnN0cnVjdGlvbik7DQo+ICAgDQo+ICAgICAgIHN0ZDo6c3RyaW5nIHJ0ID0gR1BSKGNv cHkocnRfdmFsdWUpKTsNCj4gICAgICAgc3RkOjpzdHJpbmcgcnMgPSBHUFIoY29weShyc192YWx1 ZSkpOw0KPiBAQCAtNjczOSw4ICs2NzM5LDggQEAgc3RkOjpzdHJpbmcgTk1EOjpEU1JBKHVpbnQ2 NCBpbnN0cnVjdGlvbikNCj4gICBzdGQ6OnN0cmluZyBOTUQ6OkRTUkEzMih1aW50NjQgaW5zdHJ1 Y3Rpb24pDQo+ICAgew0KPiAgICAgICB1aW50NjQgcnRfdmFsdWUgPSBleHRyYWN0X3J0XzI1XzI0 XzIzXzIyXzIxKGluc3RydWN0aW9uKTsNCj4gLSAgICB1aW50NjQgc2hpZnRfdmFsdWUgPSBleHRy YWN0X3NoaWZ0XzRfM18yXzFfMChpbnN0cnVjdGlvbik7DQo+ICAgICAgIHVpbnQ2NCByc192YWx1 ZSA9IGV4dHJhY3RfcnNfMjBfMTlfMThfMTdfMTYoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2 NCBzaGlmdF92YWx1ZSA9IGV4dHJhY3Rfc2hpZnRfNF8zXzJfMV8wKGluc3RydWN0aW9uKTsNCj4g ICANCj4gICAgICAgc3RkOjpzdHJpbmcgcnQgPSBHUFIoY29weShydF92YWx1ZSkpOw0KPiAgICAg ICBzdGQ6OnN0cmluZyBycyA9IEdQUihjb3B5KHJzX3ZhbHVlKSk7DQo+IEBAIC02NzYzLDggKzY3 NjMsOCBAQCBzdGQ6OnN0cmluZyBOTUQ6OkRTUkEzMih1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICAg c3RkOjpzdHJpbmcgTk1EOjpEU1JBVih1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICAgew0KPiAgICAg ICB1aW50NjQgcnRfdmFsdWUgPSBleHRyYWN0X3J0XzI1XzI0XzIzXzIyXzIxKGluc3RydWN0aW9u KTsNCj4gLSAgICB1aW50NjQgcmRfdmFsdWUgPSBleHRyYWN0X3JkXzE1XzE0XzEzXzEyXzExKGlu c3RydWN0aW9uKTsNCj4gICAgICAgdWludDY0IHJzX3ZhbHVlID0gZXh0cmFjdF9yc18yMF8xOV8x OF8xN18xNihpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IHJkX3ZhbHVlID0gZXh0cmFjdF9y ZF8xNV8xNF8xM18xMl8xMShpbnN0cnVjdGlvbik7DQo+ICAgDQo+ICAgICAgIHN0ZDo6c3RyaW5n IHJkID0gR1BSKGNvcHkocmRfdmFsdWUpKTsNCj4gICAgICAgc3RkOjpzdHJpbmcgcnMgPSBHUFIo Y29weShyc192YWx1ZSkpOw0KPiBAQCAtNjc4Nyw4ICs2Nzg3LDggQEAgc3RkOjpzdHJpbmcgTk1E OjpEU1JBVih1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICAgc3RkOjpzdHJpbmcgTk1EOjpEU1JMKHVp bnQ2NCBpbnN0cnVjdGlvbikNCj4gICB7DQo+ICAgICAgIHVpbnQ2NCBydF92YWx1ZSA9IGV4dHJh Y3RfcnRfMjVfMjRfMjNfMjJfMjEoaW5zdHJ1Y3Rpb24pOw0KPiAtICAgIHVpbnQ2NCBzaGlmdF92 YWx1ZSA9IGV4dHJhY3Rfc2hpZnRfNF8zXzJfMV8wKGluc3RydWN0aW9uKTsNCj4gICAgICAgdWlu dDY0IHJzX3ZhbHVlID0gZXh0cmFjdF9yc18yMF8xOV8xOF8xN18xNihpbnN0cnVjdGlvbik7DQo+ ICsgICAgdWludDY0IHNoaWZ0X3ZhbHVlID0gZXh0cmFjdF9zaGlmdF80XzNfMl8xXzAoaW5zdHJ1 Y3Rpb24pOw0KPiAgIA0KPiAgICAgICBzdGQ6OnN0cmluZyBydCA9IEdQUihjb3B5KHJ0X3ZhbHVl KSk7DQo+ICAgICAgIHN0ZDo6c3RyaW5nIHJzID0gR1BSKGNvcHkocnNfdmFsdWUpKTsNCj4gQEAg LTY4MTEsOCArNjgxMSw4IEBAIHN0ZDo6c3RyaW5nIE5NRDo6RFNSTCh1aW50NjQgaW5zdHJ1Y3Rp b24pDQo+ICAgc3RkOjpzdHJpbmcgTk1EOjpEU1JMMzIodWludDY0IGluc3RydWN0aW9uKQ0KPiAg IHsNCj4gICAgICAgdWludDY0IHJ0X3ZhbHVlID0gZXh0cmFjdF9ydF8yNV8yNF8yM18yMl8yMShp bnN0cnVjdGlvbik7DQo+IC0gICAgdWludDY0IHNoaWZ0X3ZhbHVlID0gZXh0cmFjdF9zaGlmdF80 XzNfMl8xXzAoaW5zdHJ1Y3Rpb24pOw0KPiAgICAgICB1aW50NjQgcnNfdmFsdWUgPSBleHRyYWN0 X3JzXzIwXzE5XzE4XzE3XzE2KGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgc2hpZnRfdmFs dWUgPSBleHRyYWN0X3NoaWZ0XzRfM18yXzFfMChpbnN0cnVjdGlvbik7DQo+ICAgDQo+ICAgICAg IHN0ZDo6c3RyaW5nIHJ0ID0gR1BSKGNvcHkocnRfdmFsdWUpKTsNCj4gICAgICAgc3RkOjpzdHJp bmcgcnMgPSBHUFIoY29weShyc192YWx1ZSkpOw0KPiBAQCAtNjgzNSw4ICs2ODM1LDggQEAgc3Rk OjpzdHJpbmcgTk1EOjpEU1JMMzIodWludDY0IGluc3RydWN0aW9uKQ0KPiAgIHN0ZDo6c3RyaW5n IE5NRDo6RFNSTFYodWludDY0IGluc3RydWN0aW9uKQ0KPiAgIHsNCj4gICAgICAgdWludDY0IHJ0 X3ZhbHVlID0gZXh0cmFjdF9ydF8yNV8yNF8yM18yMl8yMShpbnN0cnVjdGlvbik7DQo+IC0gICAg dWludDY0IHJkX3ZhbHVlID0gZXh0cmFjdF9yZF8xNV8xNF8xM18xMl8xMShpbnN0cnVjdGlvbik7 DQo+ICAgICAgIHVpbnQ2NCByc192YWx1ZSA9IGV4dHJhY3RfcnNfMjBfMTlfMThfMTdfMTYoaW5z dHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCByZF92YWx1ZSA9IGV4dHJhY3RfcmRfMTVfMTRfMTNf MTJfMTEoaW5zdHJ1Y3Rpb24pOw0KPiAgIA0KPiAgICAgICBzdGQ6OnN0cmluZyByZCA9IEdQUihj b3B5KHJkX3ZhbHVlKSk7DQo+ICAgICAgIHN0ZDo6c3RyaW5nIHJzID0gR1BSKGNvcHkocnNfdmFs dWUpKTsNCj4gQEAgLTY4NTksOCArNjg1OSw4IEBAIHN0ZDo6c3RyaW5nIE5NRDo6RFNSTFYodWlu dDY0IGluc3RydWN0aW9uKQ0KPiAgIHN0ZDo6c3RyaW5nIE5NRDo6RFNVQih1aW50NjQgaW5zdHJ1 Y3Rpb24pDQo+ICAgew0KPiAgICAgICB1aW50NjQgcnRfdmFsdWUgPSBleHRyYWN0X3J0XzI1XzI0 XzIzXzIyXzIxKGluc3RydWN0aW9uKTsNCj4gLSAgICB1aW50NjQgcmRfdmFsdWUgPSBleHRyYWN0 X3JkXzE1XzE0XzEzXzEyXzExKGluc3RydWN0aW9uKTsNCj4gICAgICAgdWludDY0IHJzX3ZhbHVl ID0gZXh0cmFjdF9yc18yMF8xOV8xOF8xN18xNihpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0 IHJkX3ZhbHVlID0gZXh0cmFjdF9yZF8xNV8xNF8xM18xMl8xMShpbnN0cnVjdGlvbik7DQo+ICAg DQo+ICAgICAgIHN0ZDo6c3RyaW5nIHJkID0gR1BSKGNvcHkocmRfdmFsdWUpKTsNCj4gICAgICAg c3RkOjpzdHJpbmcgcnMgPSBHUFIoY29weShyc192YWx1ZSkpOw0KPiBAQCAtNjg4Myw4ICs2ODgz LDggQEAgc3RkOjpzdHJpbmcgTk1EOjpEU1VCKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gICBzdGQ6 OnN0cmluZyBOTUQ6OkRTVUJVKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gICB7DQo+ICAgICAgIHVp bnQ2NCBydF92YWx1ZSA9IGV4dHJhY3RfcnRfMjVfMjRfMjNfMjJfMjEoaW5zdHJ1Y3Rpb24pOw0K PiAtICAgIHVpbnQ2NCByZF92YWx1ZSA9IGV4dHJhY3RfcmRfMTVfMTRfMTNfMTJfMTEoaW5zdHJ1 Y3Rpb24pOw0KPiAgICAgICB1aW50NjQgcnNfdmFsdWUgPSBleHRyYWN0X3JzXzIwXzE5XzE4XzE3 XzE2KGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgcmRfdmFsdWUgPSBleHRyYWN0X3JkXzE1 XzE0XzEzXzEyXzExKGluc3RydWN0aW9uKTsNCj4gICANCj4gICAgICAgc3RkOjpzdHJpbmcgcmQg PSBHUFIoY29weShyZF92YWx1ZSkpOw0KPiAgICAgICBzdGQ6OnN0cmluZyBycyA9IEdQUihjb3B5 KHJzX3ZhbHVlKSk7DQo+IEBAIC03MTA4LDggKzcxMDgsOCBAQCBzdGQ6OnN0cmluZyBOTUQ6OkVY VEQodWludDY0IGluc3RydWN0aW9uKQ0KPiAgIHsNCj4gICAgICAgdWludDY0IHJ0X3ZhbHVlID0g ZXh0cmFjdF9ydF8yNV8yNF8yM18yMl8yMShpbnN0cnVjdGlvbik7DQo+ICAgICAgIHVpbnQ2NCBz aGlmdF92YWx1ZSA9IGV4dHJhY3Rfc2hpZnRfMTBfOV84XzdfNihpbnN0cnVjdGlvbik7DQo+IC0g ICAgdWludDY0IHJkX3ZhbHVlID0gZXh0cmFjdF9yZF8xNV8xNF8xM18xMl8xMShpbnN0cnVjdGlv bik7DQo+ICAgICAgIHVpbnQ2NCByc192YWx1ZSA9IGV4dHJhY3RfcnNfMjBfMTlfMThfMTdfMTYo aW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCByZF92YWx1ZSA9IGV4dHJhY3RfcmRfMTVfMTRf MTNfMTJfMTEoaW5zdHJ1Y3Rpb24pOw0KPiAgIA0KPiAgICAgICBzdGQ6OnN0cmluZyByZCA9IEdQ Uihjb3B5KHJkX3ZhbHVlKSk7DQo+ICAgICAgIHN0ZDo6c3RyaW5nIHJzID0gR1BSKGNvcHkocnNf dmFsdWUpKTsNCj4gQEAgLTcxMzQsOCArNzEzNCw4IEBAIHN0ZDo6c3RyaW5nIE5NRDo6RVhURDMy KHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gICB7DQo+ICAgICAgIHVpbnQ2NCBydF92YWx1ZSA9IGV4 dHJhY3RfcnRfMjVfMjRfMjNfMjJfMjEoaW5zdHJ1Y3Rpb24pOw0KPiAgICAgICB1aW50NjQgc2hp ZnRfdmFsdWUgPSBleHRyYWN0X3NoaWZ0XzEwXzlfOF83XzYoaW5zdHJ1Y3Rpb24pOw0KPiAtICAg IHVpbnQ2NCByZF92YWx1ZSA9IGV4dHJhY3RfcmRfMTVfMTRfMTNfMTJfMTEoaW5zdHJ1Y3Rpb24p Ow0KPiAgICAgICB1aW50NjQgcnNfdmFsdWUgPSBleHRyYWN0X3JzXzIwXzE5XzE4XzE3XzE2KGlu c3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgcmRfdmFsdWUgPSBleHRyYWN0X3JkXzE1XzE0XzEz XzEyXzExKGluc3RydWN0aW9uKTsNCj4gICANCj4gICAgICAgc3RkOjpzdHJpbmcgcmQgPSBHUFIo Y29weShyZF92YWx1ZSkpOw0KPiAgICAgICBzdGQ6OnN0cmluZyBycyA9IEdQUihjb3B5KHJzX3Zh bHVlKSk7DQo+IEBAIC03MTgzLDggKzcxODMsOCBAQCBzdGQ6OnN0cmluZyBOTUQ6OkVYVFBEUCh1 aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICAgc3RkOjpzdHJpbmcgTk1EOjpFWFRQRFBWKHVpbnQ2NCBp bnN0cnVjdGlvbikNCj4gICB7DQo+ICAgICAgIHVpbnQ2NCBydF92YWx1ZSA9IGV4dHJhY3RfcnRf MjVfMjRfMjNfMjJfMjEoaW5zdHJ1Y3Rpb24pOw0KPiAtICAgIHVpbnQ2NCBhY192YWx1ZSA9IGV4 dHJhY3RfYWNfMTNfMTIoaW5zdHJ1Y3Rpb24pOw0KPiAgICAgICB1aW50NjQgcnNfdmFsdWUgPSBl eHRyYWN0X3JzXzIwXzE5XzE4XzE3XzE2KGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgYWNf dmFsdWUgPSBleHRyYWN0X2FjXzEzXzEyKGluc3RydWN0aW9uKTsNCj4gICANCj4gICAgICAgc3Rk OjpzdHJpbmcgcnQgPSBHUFIoY29weShydF92YWx1ZSkpOw0KPiAgICAgICBzdGQ6OnN0cmluZyBh YyA9IEFDKGNvcHkoYWNfdmFsdWUpKTsNCj4gQEAgLTcyMzEsOCArNzIzMSw4IEBAIHN0ZDo6c3Ry aW5nIE5NRDo6RVhUUCh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICAgc3RkOjpzdHJpbmcgTk1EOjpF WFRQVih1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICAgew0KPiAgICAgICB1aW50NjQgcnRfdmFsdWUg PSBleHRyYWN0X3J0XzI1XzI0XzIzXzIyXzIxKGluc3RydWN0aW9uKTsNCj4gLSAgICB1aW50NjQg YWNfdmFsdWUgPSBleHRyYWN0X2FjXzEzXzEyKGluc3RydWN0aW9uKTsNCj4gICAgICAgdWludDY0 IHJzX3ZhbHVlID0gZXh0cmFjdF9yc18yMF8xOV8xOF8xN18xNihpbnN0cnVjdGlvbik7DQo+ICsg ICAgdWludDY0IGFjX3ZhbHVlID0gZXh0cmFjdF9hY18xM18xMihpbnN0cnVjdGlvbik7DQo+ICAg DQo+ICAgICAgIHN0ZDo6c3RyaW5nIHJ0ID0gR1BSKGNvcHkocnRfdmFsdWUpKTsNCj4gICAgICAg c3RkOjpzdHJpbmcgYWMgPSBBQyhjb3B5KGFjX3ZhbHVlKSk7DQo+IEBAIC03MzUxLDggKzczNTEs OCBAQCBzdGQ6OnN0cmluZyBOTUQ6OkVYVFJfVyh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICAgc3Rk OjpzdHJpbmcgTk1EOjpFWFRSVl9SU19XKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gICB7DQo+ICAg ICAgIHVpbnQ2NCBydF92YWx1ZSA9IGV4dHJhY3RfcnRfMjVfMjRfMjNfMjJfMjEoaW5zdHJ1Y3Rp b24pOw0KPiAtICAgIHVpbnQ2NCBhY192YWx1ZSA9IGV4dHJhY3RfYWNfMTNfMTIoaW5zdHJ1Y3Rp b24pOw0KPiAgICAgICB1aW50NjQgcnNfdmFsdWUgPSBleHRyYWN0X3JzXzIwXzE5XzE4XzE3XzE2 KGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgYWNfdmFsdWUgPSBleHRyYWN0X2FjXzEzXzEy KGluc3RydWN0aW9uKTsNCj4gICANCj4gICAgICAgc3RkOjpzdHJpbmcgcnQgPSBHUFIoY29weShy dF92YWx1ZSkpOw0KPiAgICAgICBzdGQ6OnN0cmluZyBhYyA9IEFDKGNvcHkoYWNfdmFsdWUpKTsN Cj4gQEAgLTczNzUsOCArNzM3NSw4IEBAIHN0ZDo6c3RyaW5nIE5NRDo6RVhUUlZfUlNfVyh1aW50 NjQgaW5zdHJ1Y3Rpb24pDQo+ICAgc3RkOjpzdHJpbmcgTk1EOjpFWFRSVl9SX1codWludDY0IGlu c3RydWN0aW9uKQ0KPiAgIHsNCj4gICAgICAgdWludDY0IHJ0X3ZhbHVlID0gZXh0cmFjdF9ydF8y NV8yNF8yM18yMl8yMShpbnN0cnVjdGlvbik7DQo+IC0gICAgdWludDY0IGFjX3ZhbHVlID0gZXh0 cmFjdF9hY18xM18xMihpbnN0cnVjdGlvbik7DQo+ICAgICAgIHVpbnQ2NCByc192YWx1ZSA9IGV4 dHJhY3RfcnNfMjBfMTlfMThfMTdfMTYoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCBhY192 YWx1ZSA9IGV4dHJhY3RfYWNfMTNfMTIoaW5zdHJ1Y3Rpb24pOw0KPiAgIA0KPiAgICAgICBzdGQ6 OnN0cmluZyBydCA9IEdQUihjb3B5KHJ0X3ZhbHVlKSk7DQo+ICAgICAgIHN0ZDo6c3RyaW5nIGFj ID0gQUMoY29weShhY192YWx1ZSkpOw0KPiBAQCAtNzM5OSw4ICs3Mzk5LDggQEAgc3RkOjpzdHJp bmcgTk1EOjpFWFRSVl9SX1codWludDY0IGluc3RydWN0aW9uKQ0KPiAgIHN0ZDo6c3RyaW5nIE5N RDo6RVhUUlZfU19IKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gICB7DQo+ICAgICAgIHVpbnQ2NCBy dF92YWx1ZSA9IGV4dHJhY3RfcnRfMjVfMjRfMjNfMjJfMjEoaW5zdHJ1Y3Rpb24pOw0KPiAtICAg IHVpbnQ2NCBhY192YWx1ZSA9IGV4dHJhY3RfYWNfMTNfMTIoaW5zdHJ1Y3Rpb24pOw0KPiAgICAg ICB1aW50NjQgcnNfdmFsdWUgPSBleHRyYWN0X3JzXzIwXzE5XzE4XzE3XzE2KGluc3RydWN0aW9u KTsNCj4gKyAgICB1aW50NjQgYWNfdmFsdWUgPSBleHRyYWN0X2FjXzEzXzEyKGluc3RydWN0aW9u KTsNCj4gICANCj4gICAgICAgc3RkOjpzdHJpbmcgcnQgPSBHUFIoY29weShydF92YWx1ZSkpOw0K PiAgICAgICBzdGQ6OnN0cmluZyBhYyA9IEFDKGNvcHkoYWNfdmFsdWUpKTsNCj4gQEAgLTc0MjMs OCArNzQyMyw4IEBAIHN0ZDo6c3RyaW5nIE5NRDo6RVhUUlZfU19IKHVpbnQ2NCBpbnN0cnVjdGlv bikNCj4gICBzdGQ6OnN0cmluZyBOTUQ6OkVYVFJWX1codWludDY0IGluc3RydWN0aW9uKQ0KPiAg IHsNCj4gICAgICAgdWludDY0IHJ0X3ZhbHVlID0gZXh0cmFjdF9ydF8yNV8yNF8yM18yMl8yMShp bnN0cnVjdGlvbik7DQo+IC0gICAgdWludDY0IGFjX3ZhbHVlID0gZXh0cmFjdF9hY18xM18xMihp bnN0cnVjdGlvbik7DQo+ICAgICAgIHVpbnQ2NCByc192YWx1ZSA9IGV4dHJhY3RfcnNfMjBfMTlf MThfMTdfMTYoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCBhY192YWx1ZSA9IGV4dHJhY3Rf YWNfMTNfMTIoaW5zdHJ1Y3Rpb24pOw0KPiAgIA0KPiAgICAgICBzdGQ6OnN0cmluZyBydCA9IEdQ Uihjb3B5KHJ0X3ZhbHVlKSk7DQo+ICAgICAgIHN0ZDo6c3RyaW5nIGFjID0gQUMoY29weShhY192 YWx1ZSkpOw0KPiBAQCAtNzQ0OSw4ICs3NDQ5LDggQEAgc3RkOjpzdHJpbmcgTk1EOjpFWFRXKHVp bnQ2NCBpbnN0cnVjdGlvbikNCj4gICB7DQo+ICAgICAgIHVpbnQ2NCBydF92YWx1ZSA9IGV4dHJh Y3RfcnRfMjVfMjRfMjNfMjJfMjEoaW5zdHJ1Y3Rpb24pOw0KPiAgICAgICB1aW50NjQgc2hpZnRf dmFsdWUgPSBleHRyYWN0X3NoaWZ0XzEwXzlfOF83XzYoaW5zdHJ1Y3Rpb24pOw0KPiAtICAgIHVp bnQ2NCByZF92YWx1ZSA9IGV4dHJhY3RfcmRfMTVfMTRfMTNfMTJfMTEoaW5zdHJ1Y3Rpb24pOw0K PiAgICAgICB1aW50NjQgcnNfdmFsdWUgPSBleHRyYWN0X3JzXzIwXzE5XzE4XzE3XzE2KGluc3Ry dWN0aW9uKTsNCj4gKyAgICB1aW50NjQgcmRfdmFsdWUgPSBleHRyYWN0X3JkXzE1XzE0XzEzXzEy XzExKGluc3RydWN0aW9uKTsNCj4gICANCj4gICAgICAgc3RkOjpzdHJpbmcgcmQgPSBHUFIoY29w eShyZF92YWx1ZSkpOw0KPiAgICAgICBzdGQ6OnN0cmluZyBycyA9IEdQUihjb3B5KHJzX3ZhbHVl KSk7DQo+IEBAIC03NDczLDggKzc0NzMsOCBAQCBzdGQ6OnN0cmluZyBOTUQ6OkVYVFcodWludDY0 IGluc3RydWN0aW9uKQ0KPiAgICAqLw0KPiAgIHN0ZDo6c3RyaW5nIE5NRDo6RkxPT1JfTF9EKHVp bnQ2NCBpbnN0cnVjdGlvbikNCj4gICB7DQo+IC0gICAgdWludDY0IGZzX3ZhbHVlID0gZXh0cmFj dF9mc18xNV8xNF8xM18xMl8xMShpbnN0cnVjdGlvbik7DQo+ICAgICAgIHVpbnQ2NCBmdF92YWx1 ZSA9IGV4dHJhY3RfZnRfMjBfMTlfMThfMTdfMTYoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2 NCBmc192YWx1ZSA9IGV4dHJhY3RfZnNfMTVfMTRfMTNfMTJfMTEoaW5zdHJ1Y3Rpb24pOw0KPiAg IA0KPiAgICAgICBzdGQ6OnN0cmluZyBmdCA9IEZQUihjb3B5KGZ0X3ZhbHVlKSk7DQo+ICAgICAg IHN0ZDo6c3RyaW5nIGZzID0gRlBSKGNvcHkoZnNfdmFsdWUpKTsNCj4gQEAgLTc0OTUsOCArNzQ5 NSw4IEBAIHN0ZDo6c3RyaW5nIE5NRDo6RkxPT1JfTF9EKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4g ICAgKi8NCj4gICBzdGQ6OnN0cmluZyBOTUQ6OkZMT09SX0xfUyh1aW50NjQgaW5zdHJ1Y3Rpb24p DQo+ICAgew0KPiAtICAgIHVpbnQ2NCBmc192YWx1ZSA9IGV4dHJhY3RfZnNfMTVfMTRfMTNfMTJf MTEoaW5zdHJ1Y3Rpb24pOw0KPiAgICAgICB1aW50NjQgZnRfdmFsdWUgPSBleHRyYWN0X2Z0XzIw XzE5XzE4XzE3XzE2KGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgZnNfdmFsdWUgPSBleHRy YWN0X2ZzXzE1XzE0XzEzXzEyXzExKGluc3RydWN0aW9uKTsNCj4gICANCj4gICAgICAgc3RkOjpz dHJpbmcgZnQgPSBGUFIoY29weShmdF92YWx1ZSkpOw0KPiAgICAgICBzdGQ6OnN0cmluZyBmcyA9 IEZQUihjb3B5KGZzX3ZhbHVlKSk7DQo+IEBAIC03NTE3LDggKzc1MTcsOCBAQCBzdGQ6OnN0cmlu ZyBOTUQ6OkZMT09SX0xfUyh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICAgICovDQo+ICAgc3RkOjpz dHJpbmcgTk1EOjpGTE9PUl9XX0QodWludDY0IGluc3RydWN0aW9uKQ0KPiAgIHsNCj4gLSAgICB1 aW50NjQgZnNfdmFsdWUgPSBleHRyYWN0X2ZzXzE1XzE0XzEzXzEyXzExKGluc3RydWN0aW9uKTsN Cj4gICAgICAgdWludDY0IGZ0X3ZhbHVlID0gZXh0cmFjdF9mdF8yMF8xOV8xOF8xN18xNihpbnN0 cnVjdGlvbik7DQo+ICsgICAgdWludDY0IGZzX3ZhbHVlID0gZXh0cmFjdF9mc18xNV8xNF8xM18x Ml8xMShpbnN0cnVjdGlvbik7DQo+ICAgDQo+ICAgICAgIHN0ZDo6c3RyaW5nIGZ0ID0gRlBSKGNv cHkoZnRfdmFsdWUpKTsNCj4gICAgICAgc3RkOjpzdHJpbmcgZnMgPSBGUFIoY29weShmc192YWx1 ZSkpOw0KPiBAQCAtNzUzOSw4ICs3NTM5LDggQEAgc3RkOjpzdHJpbmcgTk1EOjpGTE9PUl9XX0Qo dWludDY0IGluc3RydWN0aW9uKQ0KPiAgICAqLw0KPiAgIHN0ZDo6c3RyaW5nIE5NRDo6RkxPT1Jf V19TKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gICB7DQo+IC0gICAgdWludDY0IGZzX3ZhbHVlID0g ZXh0cmFjdF9mc18xNV8xNF8xM18xMl8xMShpbnN0cnVjdGlvbik7DQo+ICAgICAgIHVpbnQ2NCBm dF92YWx1ZSA9IGV4dHJhY3RfZnRfMjBfMTlfMThfMTdfMTYoaW5zdHJ1Y3Rpb24pOw0KPiArICAg IHVpbnQ2NCBmc192YWx1ZSA9IGV4dHJhY3RfZnNfMTVfMTRfMTNfMTJfMTEoaW5zdHJ1Y3Rpb24p Ow0KPiAgIA0KPiAgICAgICBzdGQ6OnN0cmluZyBmdCA9IEZQUihjb3B5KGZ0X3ZhbHVlKSk7DQo+ ICAgICAgIHN0ZDo6c3RyaW5nIGZzID0gRlBSKGNvcHkoZnNfdmFsdWUpKTsNCj4gQEAgLTc1NjIs OCArNzU2Miw4IEBAIHN0ZDo6c3RyaW5nIE5NRDo6RkxPT1JfV19TKHVpbnQ2NCBpbnN0cnVjdGlv bikNCj4gICBzdGQ6OnN0cmluZyBOTUQ6OkZPUksodWludDY0IGluc3RydWN0aW9uKQ0KPiAgIHsN Cj4gICAgICAgdWludDY0IHJ0X3ZhbHVlID0gZXh0cmFjdF9ydF8yNV8yNF8yM18yMl8yMShpbnN0 cnVjdGlvbik7DQo+IC0gICAgdWludDY0IHJkX3ZhbHVlID0gZXh0cmFjdF9yZF8xNV8xNF8xM18x Ml8xMShpbnN0cnVjdGlvbik7DQo+ICAgICAgIHVpbnQ2NCByc192YWx1ZSA9IGV4dHJhY3RfcnNf MjBfMTlfMThfMTdfMTYoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCByZF92YWx1ZSA9IGV4 dHJhY3RfcmRfMTVfMTRfMTNfMTJfMTEoaW5zdHJ1Y3Rpb24pOw0KPiAgIA0KPiAgICAgICBzdGQ6 OnN0cmluZyByZCA9IEdQUihjb3B5KHJkX3ZhbHVlKSk7DQo+ICAgICAgIHN0ZDo6c3RyaW5nIHJz ID0gR1BSKGNvcHkocnNfdmFsdWUpKTsNCj4gQEAgLTc4NDgsOCArNzg0OCw4IEBAIHN0ZDo6c3Ry aW5nIE5NRDo6TEJfUzlfKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gICBzdGQ6OnN0cmluZyBOTUQ6 OkxCX1UxMl8odWludDY0IGluc3RydWN0aW9uKQ0KPiAgIHsNCj4gICAgICAgdWludDY0IHJ0X3Zh bHVlID0gZXh0cmFjdF9ydF8yNV8yNF8yM18yMl8yMShpbnN0cnVjdGlvbik7DQo+IC0gICAgdWlu dDY0IHVfdmFsdWUgPSBleHRyYWN0X3VfMTFfMTBfOV84XzdfNl81XzRfM18yXzFfMChpbnN0cnVj dGlvbik7DQo+ICAgICAgIHVpbnQ2NCByc192YWx1ZSA9IGV4dHJhY3RfcnNfMjBfMTlfMThfMTdf MTYoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCB1X3ZhbHVlID0gZXh0cmFjdF91XzExXzEw XzlfOF83XzZfNV80XzNfMl8xXzAoaW5zdHJ1Y3Rpb24pOw0KPiAgIA0KPiAgICAgICBzdGQ6OnN0 cmluZyBydCA9IEdQUihjb3B5KHJ0X3ZhbHVlKSk7DQo+ICAgICAgIHN0ZDo6c3RyaW5nIHUgPSBJ TU1FRElBVEUoY29weSh1X3ZhbHVlKSk7DQo+IEBAIC03OTY2LDggKzc5NjYsOCBAQCBzdGQ6OnN0 cmluZyBOTUQ6OkxCVV9TOV8odWludDY0IGluc3RydWN0aW9uKQ0KPiAgIHN0ZDo6c3RyaW5nIE5N RDo6TEJVX1UxMl8odWludDY0IGluc3RydWN0aW9uKQ0KPiAgIHsNCj4gICAgICAgdWludDY0IHJ0 X3ZhbHVlID0gZXh0cmFjdF9ydF8yNV8yNF8yM18yMl8yMShpbnN0cnVjdGlvbik7DQo+IC0gICAg dWludDY0IHVfdmFsdWUgPSBleHRyYWN0X3VfMTFfMTBfOV84XzdfNl81XzRfM18yXzFfMChpbnN0 cnVjdGlvbik7DQo+ICAgICAgIHVpbnQ2NCByc192YWx1ZSA9IGV4dHJhY3RfcnNfMjBfMTlfMThf MTdfMTYoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCB1X3ZhbHVlID0gZXh0cmFjdF91XzEx XzEwXzlfOF83XzZfNV80XzNfMl8xXzAoaW5zdHJ1Y3Rpb24pOw0KPiAgIA0KPiAgICAgICBzdGQ6 OnN0cmluZyBydCA9IEdQUihjb3B5KHJ0X3ZhbHVlKSk7DQo+ICAgICAgIHN0ZDo6c3RyaW5nIHUg PSBJTU1FRElBVEUoY29weSh1X3ZhbHVlKSk7DQo+IEBAIC04MDE0LDggKzgwMTQsOCBAQCBzdGQ6 OnN0cmluZyBOTUQ6OkxCVUUodWludDY0IGluc3RydWN0aW9uKQ0KPiAgIHN0ZDo6c3RyaW5nIE5N RDo6TEJVWCh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICAgew0KPiAgICAgICB1aW50NjQgcnRfdmFs dWUgPSBleHRyYWN0X3J0XzI1XzI0XzIzXzIyXzIxKGluc3RydWN0aW9uKTsNCj4gLSAgICB1aW50 NjQgcmRfdmFsdWUgPSBleHRyYWN0X3JkXzE1XzE0XzEzXzEyXzExKGluc3RydWN0aW9uKTsNCj4g ICAgICAgdWludDY0IHJzX3ZhbHVlID0gZXh0cmFjdF9yc18yMF8xOV8xOF8xN18xNihpbnN0cnVj dGlvbik7DQo+ICsgICAgdWludDY0IHJkX3ZhbHVlID0gZXh0cmFjdF9yZF8xNV8xNF8xM18xMl8x MShpbnN0cnVjdGlvbik7DQo+ICAgDQo+ICAgICAgIHN0ZDo6c3RyaW5nIHJkID0gR1BSKGNvcHko cmRfdmFsdWUpKTsNCj4gICAgICAgc3RkOjpzdHJpbmcgcnMgPSBHUFIoY29weShyc192YWx1ZSkp Ow0KPiBAQCAtODAzOCw4ICs4MDM4LDggQEAgc3RkOjpzdHJpbmcgTk1EOjpMQlVYKHVpbnQ2NCBp bnN0cnVjdGlvbikNCj4gICBzdGQ6OnN0cmluZyBOTUQ6OkxCWCh1aW50NjQgaW5zdHJ1Y3Rpb24p DQo+ICAgew0KPiAgICAgICB1aW50NjQgcnRfdmFsdWUgPSBleHRyYWN0X3J0XzI1XzI0XzIzXzIy XzIxKGluc3RydWN0aW9uKTsNCj4gLSAgICB1aW50NjQgcmRfdmFsdWUgPSBleHRyYWN0X3JkXzE1 XzE0XzEzXzEyXzExKGluc3RydWN0aW9uKTsNCj4gICAgICAgdWludDY0IHJzX3ZhbHVlID0gZXh0 cmFjdF9yc18yMF8xOV8xOF8xN18xNihpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IHJkX3Zh bHVlID0gZXh0cmFjdF9yZF8xNV8xNF8xM18xMl8xMShpbnN0cnVjdGlvbik7DQo+ICAgDQo+ICAg ICAgIHN0ZDo6c3RyaW5nIHJkID0gR1BSKGNvcHkocmRfdmFsdWUpKTsNCj4gICAgICAgc3RkOjpz dHJpbmcgcnMgPSBHUFIoY29weShyc192YWx1ZSkpOw0KPiBAQCAtODEwOCw4ICs4MTA4LDggQEAg c3RkOjpzdHJpbmcgTk1EOjpMRF9TOV8odWludDY0IGluc3RydWN0aW9uKQ0KPiAgIHN0ZDo6c3Ry aW5nIE5NRDo6TERfVTEyXyh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICAgew0KPiAgICAgICB1aW50 NjQgcnRfdmFsdWUgPSBleHRyYWN0X3J0XzI1XzI0XzIzXzIyXzIxKGluc3RydWN0aW9uKTsNCj4g LSAgICB1aW50NjQgdV92YWx1ZSA9IGV4dHJhY3RfdV8xMV8xMF85XzhfN182XzVfNF8zXzJfMV8w KGluc3RydWN0aW9uKTsNCj4gICAgICAgdWludDY0IHJzX3ZhbHVlID0gZXh0cmFjdF9yc18yMF8x OV8xOF8xN18xNihpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IHVfdmFsdWUgPSBleHRyYWN0 X3VfMTFfMTBfOV84XzdfNl81XzRfM18yXzFfMChpbnN0cnVjdGlvbik7DQo+ICAgDQo+ICAgICAg IHN0ZDo6c3RyaW5nIHJ0ID0gR1BSKGNvcHkocnRfdmFsdWUpKTsNCj4gICAgICAgc3RkOjpzdHJp bmcgdSA9IElNTUVESUFURShjb3B5KHVfdmFsdWUpKTsNCj4gQEAgLTgzMjIsOCArODMyMiw4IEBA IHN0ZDo6c3RyaW5nIE5NRDo6TERQQ180OF8odWludDY0IGluc3RydWN0aW9uKQ0KPiAgIHN0ZDo6 c3RyaW5nIE5NRDo6TERYKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gICB7DQo+ICAgICAgIHVpbnQ2 NCBydF92YWx1ZSA9IGV4dHJhY3RfcnRfMjVfMjRfMjNfMjJfMjEoaW5zdHJ1Y3Rpb24pOw0KPiAt ICAgIHVpbnQ2NCByZF92YWx1ZSA9IGV4dHJhY3RfcmRfMTVfMTRfMTNfMTJfMTEoaW5zdHJ1Y3Rp b24pOw0KPiAgICAgICB1aW50NjQgcnNfdmFsdWUgPSBleHRyYWN0X3JzXzIwXzE5XzE4XzE3XzE2 KGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgcmRfdmFsdWUgPSBleHRyYWN0X3JkXzE1XzE0 XzEzXzEyXzExKGluc3RydWN0aW9uKTsNCj4gICANCj4gICAgICAgc3RkOjpzdHJpbmcgcmQgPSBH UFIoY29weShyZF92YWx1ZSkpOw0KPiAgICAgICBzdGQ6OnN0cmluZyBycyA9IEdQUihjb3B5KHJz X3ZhbHVlKSk7DQo+IEBAIC04MzQ2LDggKzgzNDYsOCBAQCBzdGQ6OnN0cmluZyBOTUQ6OkxEWCh1 aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICAgc3RkOjpzdHJpbmcgTk1EOjpMRFhTKHVpbnQ2NCBpbnN0 cnVjdGlvbikNCj4gICB7DQo+ICAgICAgIHVpbnQ2NCBydF92YWx1ZSA9IGV4dHJhY3RfcnRfMjVf MjRfMjNfMjJfMjEoaW5zdHJ1Y3Rpb24pOw0KPiAtICAgIHVpbnQ2NCByZF92YWx1ZSA9IGV4dHJh Y3RfcmRfMTVfMTRfMTNfMTJfMTEoaW5zdHJ1Y3Rpb24pOw0KPiAgICAgICB1aW50NjQgcnNfdmFs dWUgPSBleHRyYWN0X3JzXzIwXzE5XzE4XzE3XzE2KGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50 NjQgcmRfdmFsdWUgPSBleHRyYWN0X3JkXzE1XzE0XzEzXzEyXzExKGluc3RydWN0aW9uKTsNCj4g ICANCj4gICAgICAgc3RkOjpzdHJpbmcgcmQgPSBHUFIoY29weShyZF92YWx1ZSkpOw0KPiAgICAg ICBzdGQ6OnN0cmluZyBycyA9IEdQUihjb3B5KHJzX3ZhbHVlKSk7DQo+IEBAIC04NDQwLDggKzg0 NDAsOCBAQCBzdGQ6OnN0cmluZyBOTUQ6OkxIX1M5Xyh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICAg c3RkOjpzdHJpbmcgTk1EOjpMSF9VMTJfKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gICB7DQo+ICAg ICAgIHVpbnQ2NCBydF92YWx1ZSA9IGV4dHJhY3RfcnRfMjVfMjRfMjNfMjJfMjEoaW5zdHJ1Y3Rp b24pOw0KPiAtICAgIHVpbnQ2NCB1X3ZhbHVlID0gZXh0cmFjdF91XzExXzEwXzlfOF83XzZfNV80 XzNfMl8xXzAoaW5zdHJ1Y3Rpb24pOw0KPiAgICAgICB1aW50NjQgcnNfdmFsdWUgPSBleHRyYWN0 X3JzXzIwXzE5XzE4XzE3XzE2KGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgdV92YWx1ZSA9 IGV4dHJhY3RfdV8xMV8xMF85XzhfN182XzVfNF8zXzJfMV8wKGluc3RydWN0aW9uKTsNCj4gICAN Cj4gICAgICAgc3RkOjpzdHJpbmcgcnQgPSBHUFIoY29weShydF92YWx1ZSkpOw0KPiAgICAgICBz dGQ6OnN0cmluZyB1ID0gSU1NRURJQVRFKGNvcHkodV92YWx1ZSkpOw0KPiBAQCAtODU1OCw4ICs4 NTU4LDggQEAgc3RkOjpzdHJpbmcgTk1EOjpMSFVfUzlfKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4g ICBzdGQ6OnN0cmluZyBOTUQ6OkxIVV9VMTJfKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gICB7DQo+ ICAgICAgIHVpbnQ2NCBydF92YWx1ZSA9IGV4dHJhY3RfcnRfMjVfMjRfMjNfMjJfMjEoaW5zdHJ1 Y3Rpb24pOw0KPiAtICAgIHVpbnQ2NCB1X3ZhbHVlID0gZXh0cmFjdF91XzExXzEwXzlfOF83XzZf NV80XzNfMl8xXzAoaW5zdHJ1Y3Rpb24pOw0KPiAgICAgICB1aW50NjQgcnNfdmFsdWUgPSBleHRy YWN0X3JzXzIwXzE5XzE4XzE3XzE2KGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgdV92YWx1 ZSA9IGV4dHJhY3RfdV8xMV8xMF85XzhfN182XzVfNF8zXzJfMV8wKGluc3RydWN0aW9uKTsNCj4g ICANCj4gICAgICAgc3RkOjpzdHJpbmcgcnQgPSBHUFIoY29weShydF92YWx1ZSkpOw0KPiAgICAg ICBzdGQ6OnN0cmluZyB1ID0gSU1NRURJQVRFKGNvcHkodV92YWx1ZSkpOw0KPiBAQCAtODYwNiw4 ICs4NjA2LDggQEAgc3RkOjpzdHJpbmcgTk1EOjpMSFVFKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4g ICBzdGQ6OnN0cmluZyBOTUQ6OkxIVVgodWludDY0IGluc3RydWN0aW9uKQ0KPiAgIHsNCj4gICAg ICAgdWludDY0IHJ0X3ZhbHVlID0gZXh0cmFjdF9ydF8yNV8yNF8yM18yMl8yMShpbnN0cnVjdGlv bik7DQo+IC0gICAgdWludDY0IHJkX3ZhbHVlID0gZXh0cmFjdF9yZF8xNV8xNF8xM18xMl8xMShp bnN0cnVjdGlvbik7DQo+ICAgICAgIHVpbnQ2NCByc192YWx1ZSA9IGV4dHJhY3RfcnNfMjBfMTlf MThfMTdfMTYoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCByZF92YWx1ZSA9IGV4dHJhY3Rf cmRfMTVfMTRfMTNfMTJfMTEoaW5zdHJ1Y3Rpb24pOw0KPiAgIA0KPiAgICAgICBzdGQ6OnN0cmlu ZyByZCA9IEdQUihjb3B5KHJkX3ZhbHVlKSk7DQo+ICAgICAgIHN0ZDo6c3RyaW5nIHJzID0gR1BS KGNvcHkocnNfdmFsdWUpKTsNCj4gQEAgLTg2MzAsOCArODYzMCw4IEBAIHN0ZDo6c3RyaW5nIE5N RDo6TEhVWCh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICAgc3RkOjpzdHJpbmcgTk1EOjpMSFVYUyh1 aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICAgew0KPiAgICAgICB1aW50NjQgcnRfdmFsdWUgPSBleHRy YWN0X3J0XzI1XzI0XzIzXzIyXzIxKGluc3RydWN0aW9uKTsNCj4gLSAgICB1aW50NjQgcmRfdmFs dWUgPSBleHRyYWN0X3JkXzE1XzE0XzEzXzEyXzExKGluc3RydWN0aW9uKTsNCj4gICAgICAgdWlu dDY0IHJzX3ZhbHVlID0gZXh0cmFjdF9yc18yMF8xOV8xOF8xN18xNihpbnN0cnVjdGlvbik7DQo+ ICsgICAgdWludDY0IHJkX3ZhbHVlID0gZXh0cmFjdF9yZF8xNV8xNF8xM18xMl8xMShpbnN0cnVj dGlvbik7DQo+ICAgDQo+ICAgICAgIHN0ZDo6c3RyaW5nIHJkID0gR1BSKGNvcHkocmRfdmFsdWUp KTsNCj4gICAgICAgc3RkOjpzdHJpbmcgcnMgPSBHUFIoY29weShyc192YWx1ZSkpOw0KPiBAQCAt ODY1NCw4ICs4NjU0LDggQEAgc3RkOjpzdHJpbmcgTk1EOjpMSFVYUyh1aW50NjQgaW5zdHJ1Y3Rp b24pDQo+ICAgc3RkOjpzdHJpbmcgTk1EOjpMSFhTKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gICB7 DQo+ICAgICAgIHVpbnQ2NCBydF92YWx1ZSA9IGV4dHJhY3RfcnRfMjVfMjRfMjNfMjJfMjEoaW5z dHJ1Y3Rpb24pOw0KPiAtICAgIHVpbnQ2NCByZF92YWx1ZSA9IGV4dHJhY3RfcmRfMTVfMTRfMTNf MTJfMTEoaW5zdHJ1Y3Rpb24pOw0KPiAgICAgICB1aW50NjQgcnNfdmFsdWUgPSBleHRyYWN0X3Jz XzIwXzE5XzE4XzE3XzE2KGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgcmRfdmFsdWUgPSBl eHRyYWN0X3JkXzE1XzE0XzEzXzEyXzExKGluc3RydWN0aW9uKTsNCj4gICANCj4gICAgICAgc3Rk OjpzdHJpbmcgcmQgPSBHUFIoY29weShyZF92YWx1ZSkpOw0KPiAgICAgICBzdGQ6OnN0cmluZyBy cyA9IEdQUihjb3B5KHJzX3ZhbHVlKSk7DQo+IEBAIC04Njc4LDggKzg2NzgsOCBAQCBzdGQ6OnN0 cmluZyBOTUQ6OkxIWFModWludDY0IGluc3RydWN0aW9uKQ0KPiAgIHN0ZDo6c3RyaW5nIE5NRDo6 TEhYKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gICB7DQo+ICAgICAgIHVpbnQ2NCBydF92YWx1ZSA9 IGV4dHJhY3RfcnRfMjVfMjRfMjNfMjJfMjEoaW5zdHJ1Y3Rpb24pOw0KPiAtICAgIHVpbnQ2NCBy ZF92YWx1ZSA9IGV4dHJhY3RfcmRfMTVfMTRfMTNfMTJfMTEoaW5zdHJ1Y3Rpb24pOw0KPiAgICAg ICB1aW50NjQgcnNfdmFsdWUgPSBleHRyYWN0X3JzXzIwXzE5XzE4XzE3XzE2KGluc3RydWN0aW9u KTsNCj4gKyAgICB1aW50NjQgcmRfdmFsdWUgPSBleHRyYWN0X3JkXzE1XzE0XzEzXzEyXzExKGlu c3RydWN0aW9uKTsNCj4gICANCj4gICAgICAgc3RkOjpzdHJpbmcgcmQgPSBHUFIoY29weShyZF92 YWx1ZSkpOw0KPiAgICAgICBzdGQ6OnN0cmluZyBycyA9IEdQUihjb3B5KHJzX3ZhbHVlKSk7DQo+ IEBAIC04Nzk0LDggKzg3OTQsOCBAQCBzdGQ6OnN0cmluZyBOTUQ6OkxMRCh1aW50NjQgaW5zdHJ1 Y3Rpb24pDQo+ICAgc3RkOjpzdHJpbmcgTk1EOjpMTERQKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4g ICB7DQo+ICAgICAgIHVpbnQ2NCBydF92YWx1ZSA9IGV4dHJhY3RfcnRfMjVfMjRfMjNfMjJfMjEo aW5zdHJ1Y3Rpb24pOw0KPiAtICAgIHVpbnQ2NCBydV92YWx1ZSA9IGV4dHJhY3RfcnVfN182XzVf NF8zKGluc3RydWN0aW9uKTsNCj4gICAgICAgdWludDY0IHJzX3ZhbHVlID0gZXh0cmFjdF9yc18y MF8xOV8xOF8xN18xNihpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IHJ1X3ZhbHVlID0gZXh0 cmFjdF9ydV83XzZfNV80XzMoaW5zdHJ1Y3Rpb24pOw0KPiAgIA0KPiAgICAgICBzdGQ6OnN0cmlu ZyBydCA9IEdQUihjb3B5KHJ0X3ZhbHVlKSk7DQo+ICAgICAgIHN0ZDo6c3RyaW5nIHJ1ID0gR1BS KGNvcHkocnVfdmFsdWUpKTsNCj4gQEAgLTg4NDIsOCArODg0Miw4IEBAIHN0ZDo6c3RyaW5nIE5N RDo6TExFKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gICBzdGQ6OnN0cmluZyBOTUQ6OkxMV1AodWlu dDY0IGluc3RydWN0aW9uKQ0KPiAgIHsNCj4gICAgICAgdWludDY0IHJ0X3ZhbHVlID0gZXh0cmFj dF9ydF8yNV8yNF8yM18yMl8yMShpbnN0cnVjdGlvbik7DQo+IC0gICAgdWludDY0IHJ1X3ZhbHVl ID0gZXh0cmFjdF9ydV83XzZfNV80XzMoaW5zdHJ1Y3Rpb24pOw0KPiAgICAgICB1aW50NjQgcnNf dmFsdWUgPSBleHRyYWN0X3JzXzIwXzE5XzE4XzE3XzE2KGluc3RydWN0aW9uKTsNCj4gKyAgICB1 aW50NjQgcnVfdmFsdWUgPSBleHRyYWN0X3J1XzdfNl81XzRfMyhpbnN0cnVjdGlvbik7DQo+ICAg DQo+ICAgICAgIHN0ZDo6c3RyaW5nIHJ0ID0gR1BSKGNvcHkocnRfdmFsdWUpKTsNCj4gICAgICAg c3RkOjpzdHJpbmcgcnUgPSBHUFIoY29weShydV92YWx1ZSkpOw0KPiBAQCAtODg2Niw4ICs4ODY2 LDggQEAgc3RkOjpzdHJpbmcgTk1EOjpMTFdQKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gICBzdGQ6 OnN0cmluZyBOTUQ6OkxMV1BFKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gICB7DQo+ICAgICAgIHVp bnQ2NCBydF92YWx1ZSA9IGV4dHJhY3RfcnRfMjVfMjRfMjNfMjJfMjEoaW5zdHJ1Y3Rpb24pOw0K PiAtICAgIHVpbnQ2NCBydV92YWx1ZSA9IGV4dHJhY3RfcnVfN182XzVfNF8zKGluc3RydWN0aW9u KTsNCj4gICAgICAgdWludDY0IHJzX3ZhbHVlID0gZXh0cmFjdF9yc18yMF8xOV8xOF8xN18xNihp bnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IHJ1X3ZhbHVlID0gZXh0cmFjdF9ydV83XzZfNV80 XzMoaW5zdHJ1Y3Rpb24pOw0KPiAgIA0KPiAgICAgICBzdGQ6OnN0cmluZyBydCA9IEdQUihjb3B5 KHJ0X3ZhbHVlKSk7DQo+ICAgICAgIHN0ZDo6c3RyaW5nIHJ1ID0gR1BSKGNvcHkocnVfdmFsdWUp KTsNCj4gQEAgLTkwNzYsOCArOTA3Niw4IEBAIHN0ZDo6c3RyaW5nIE5NRDo6TFdfU1BfKHVpbnQ2 NCBpbnN0cnVjdGlvbikNCj4gICBzdGQ6OnN0cmluZyBOTUQ6OkxXX1UxMl8odWludDY0IGluc3Ry dWN0aW9uKQ0KPiAgIHsNCj4gICAgICAgdWludDY0IHJ0X3ZhbHVlID0gZXh0cmFjdF9ydF8yNV8y NF8yM18yMl8yMShpbnN0cnVjdGlvbik7DQo+IC0gICAgdWludDY0IHVfdmFsdWUgPSBleHRyYWN0 X3VfMTFfMTBfOV84XzdfNl81XzRfM18yXzFfMChpbnN0cnVjdGlvbik7DQo+ICAgICAgIHVpbnQ2 NCByc192YWx1ZSA9IGV4dHJhY3RfcnNfMjBfMTlfMThfMTdfMTYoaW5zdHJ1Y3Rpb24pOw0KPiAr ICAgIHVpbnQ2NCB1X3ZhbHVlID0gZXh0cmFjdF91XzExXzEwXzlfOF83XzZfNV80XzNfMl8xXzAo aW5zdHJ1Y3Rpb24pOw0KPiAgIA0KPiAgICAgICBzdGQ6OnN0cmluZyBydCA9IEdQUihjb3B5KHJ0 X3ZhbHVlKSk7DQo+ICAgICAgIHN0ZDo6c3RyaW5nIHUgPSBJTU1FRElBVEUoY29weSh1X3ZhbHVl KSk7DQo+IEBAIC05MzYwLDggKzkzNjAsOCBAQCBzdGQ6OnN0cmluZyBOTUQ6OkxXVV9TOV8odWlu dDY0IGluc3RydWN0aW9uKQ0KPiAgIHN0ZDo6c3RyaW5nIE5NRDo6TFdVX1UxMl8odWludDY0IGlu c3RydWN0aW9uKQ0KPiAgIHsNCj4gICAgICAgdWludDY0IHJ0X3ZhbHVlID0gZXh0cmFjdF9ydF8y NV8yNF8yM18yMl8yMShpbnN0cnVjdGlvbik7DQo+IC0gICAgdWludDY0IHVfdmFsdWUgPSBleHRy YWN0X3VfMTFfMTBfOV84XzdfNl81XzRfM18yXzFfMChpbnN0cnVjdGlvbik7DQo+ICAgICAgIHVp bnQ2NCByc192YWx1ZSA9IGV4dHJhY3RfcnNfMjBfMTlfMThfMTdfMTYoaW5zdHJ1Y3Rpb24pOw0K PiArICAgIHVpbnQ2NCB1X3ZhbHVlID0gZXh0cmFjdF91XzExXzEwXzlfOF83XzZfNV80XzNfMl8x XzAoaW5zdHJ1Y3Rpb24pOw0KPiAgIA0KPiAgICAgICBzdGQ6OnN0cmluZyBydCA9IEdQUihjb3B5 KHJ0X3ZhbHVlKSk7DQo+ICAgICAgIHN0ZDo6c3RyaW5nIHUgPSBJTU1FRElBVEUoY29weSh1X3Zh bHVlKSk7DQo+IEBAIC05Mzg0LDggKzkzODQsOCBAQCBzdGQ6OnN0cmluZyBOTUQ6OkxXVV9VMTJf KHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gICBzdGQ6OnN0cmluZyBOTUQ6OkxXVVgodWludDY0IGlu c3RydWN0aW9uKQ0KPiAgIHsNCj4gICAgICAgdWludDY0IHJ0X3ZhbHVlID0gZXh0cmFjdF9ydF8y NV8yNF8yM18yMl8yMShpbnN0cnVjdGlvbik7DQo+IC0gICAgdWludDY0IHJkX3ZhbHVlID0gZXh0 cmFjdF9yZF8xNV8xNF8xM18xMl8xMShpbnN0cnVjdGlvbik7DQo+ICAgICAgIHVpbnQ2NCByc192 YWx1ZSA9IGV4dHJhY3RfcnNfMjBfMTlfMThfMTdfMTYoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVp bnQ2NCByZF92YWx1ZSA9IGV4dHJhY3RfcmRfMTVfMTRfMTNfMTJfMTEoaW5zdHJ1Y3Rpb24pOw0K PiAgIA0KPiAgICAgICBzdGQ6OnN0cmluZyByZCA9IEdQUihjb3B5KHJkX3ZhbHVlKSk7DQo+ICAg ICAgIHN0ZDo6c3RyaW5nIHJzID0gR1BSKGNvcHkocnNfdmFsdWUpKTsNCj4gQEAgLTk0MDgsOCAr OTQwOCw4IEBAIHN0ZDo6c3RyaW5nIE5NRDo6TFdVWCh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICAg c3RkOjpzdHJpbmcgTk1EOjpMV1VYUyh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICAgew0KPiAgICAg ICB1aW50NjQgcnRfdmFsdWUgPSBleHRyYWN0X3J0XzI1XzI0XzIzXzIyXzIxKGluc3RydWN0aW9u KTsNCj4gLSAgICB1aW50NjQgcmRfdmFsdWUgPSBleHRyYWN0X3JkXzE1XzE0XzEzXzEyXzExKGlu c3RydWN0aW9uKTsNCj4gICAgICAgdWludDY0IHJzX3ZhbHVlID0gZXh0cmFjdF9yc18yMF8xOV8x OF8xN18xNihpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IHJkX3ZhbHVlID0gZXh0cmFjdF9y ZF8xNV8xNF8xM18xMl8xMShpbnN0cnVjdGlvbik7DQo+ICAgDQo+ICAgICAgIHN0ZDo6c3RyaW5n IHJkID0gR1BSKGNvcHkocmRfdmFsdWUpKTsNCj4gICAgICAgc3RkOjpzdHJpbmcgcnMgPSBHUFIo Y29weShyc192YWx1ZSkpOw0KPiBAQCAtOTQzMiw4ICs5NDMyLDggQEAgc3RkOjpzdHJpbmcgTk1E OjpMV1VYUyh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICAgc3RkOjpzdHJpbmcgTk1EOjpMV1godWlu dDY0IGluc3RydWN0aW9uKQ0KPiAgIHsNCj4gICAgICAgdWludDY0IHJ0X3ZhbHVlID0gZXh0cmFj dF9ydF8yNV8yNF8yM18yMl8yMShpbnN0cnVjdGlvbik7DQo+IC0gICAgdWludDY0IHJkX3ZhbHVl ID0gZXh0cmFjdF9yZF8xNV8xNF8xM18xMl8xMShpbnN0cnVjdGlvbik7DQo+ICAgICAgIHVpbnQ2 NCByc192YWx1ZSA9IGV4dHJhY3RfcnNfMjBfMTlfMThfMTdfMTYoaW5zdHJ1Y3Rpb24pOw0KPiAr ICAgIHVpbnQ2NCByZF92YWx1ZSA9IGV4dHJhY3RfcmRfMTVfMTRfMTNfMTJfMTEoaW5zdHJ1Y3Rp b24pOw0KPiAgIA0KPiAgICAgICBzdGQ6OnN0cmluZyByZCA9IEdQUihjb3B5KHJkX3ZhbHVlKSk7 DQo+ICAgICAgIHN0ZDo6c3RyaW5nIHJzID0gR1BSKGNvcHkocnNfdmFsdWUpKTsNCj4gQEAgLTk0 NTUsOSArOTQ1NSw5IEBAIHN0ZDo6c3RyaW5nIE5NRDo6TFdYKHVpbnQ2NCBpbnN0cnVjdGlvbikN Cj4gICAgKi8NCj4gICBzdGQ6OnN0cmluZyBOTUQ6OkxXWFNfMTZfKHVpbnQ2NCBpbnN0cnVjdGlv bikNCj4gICB7DQo+IC0gICAgdWludDY0IHJkM192YWx1ZSA9IGV4dHJhY3RfcmQzXzNfMl8xKGlu c3RydWN0aW9uKTsNCj4gICAgICAgdWludDY0IHJ0M192YWx1ZSA9IGV4dHJhY3RfcnQzXzlfOF83 KGluc3RydWN0aW9uKTsNCj4gICAgICAgdWludDY0IHJzM192YWx1ZSA9IGV4dHJhY3RfcnMzXzZf NV80KGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgcmQzX3ZhbHVlID0gZXh0cmFjdF9yZDNf M18yXzEoaW5zdHJ1Y3Rpb24pOw0KPiAgIA0KPiAgICAgICBzdGQ6OnN0cmluZyByZDMgPSBHUFIo ZW5jb2RlX2dwcjMocmQzX3ZhbHVlKSk7DQo+ICAgICAgIHN0ZDo6c3RyaW5nIHJzMyA9IEdQUihl bmNvZGVfZ3ByMyhyczNfdmFsdWUpKTsNCj4gQEAgLTk0ODAsOCArOTQ4MCw4IEBAIHN0ZDo6c3Ry aW5nIE5NRDo6TFdYU18xNl8odWludDY0IGluc3RydWN0aW9uKQ0KPiAgIHN0ZDo6c3RyaW5nIE5N RDo6TFdYU18zMl8odWludDY0IGluc3RydWN0aW9uKQ0KPiAgIHsNCj4gICAgICAgdWludDY0IHJ0 X3ZhbHVlID0gZXh0cmFjdF9ydF8yNV8yNF8yM18yMl8yMShpbnN0cnVjdGlvbik7DQo+IC0gICAg dWludDY0IHJkX3ZhbHVlID0gZXh0cmFjdF9yZF8xNV8xNF8xM18xMl8xMShpbnN0cnVjdGlvbik7 DQo+ICAgICAgIHVpbnQ2NCByc192YWx1ZSA9IGV4dHJhY3RfcnNfMjBfMTlfMThfMTdfMTYoaW5z dHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCByZF92YWx1ZSA9IGV4dHJhY3RfcmRfMTVfMTRfMTNf MTJfMTEoaW5zdHJ1Y3Rpb24pOw0KPiAgIA0KPiAgICAgICBzdGQ6OnN0cmluZyByZCA9IEdQUihj b3B5KHJkX3ZhbHVlKSk7DQo+ICAgICAgIHN0ZDo6c3RyaW5nIHJzID0gR1BSKGNvcHkocnNfdmFs dWUpKTsNCj4gQEAgLTk1MDQsOCArOTUwNCw4IEBAIHN0ZDo6c3RyaW5nIE5NRDo6TFdYU18zMl8o dWludDY0IGluc3RydWN0aW9uKQ0KPiAgIHN0ZDo6c3RyaW5nIE5NRDo6TUFERF9EU1BfKHVpbnQ2 NCBpbnN0cnVjdGlvbikNCj4gICB7DQo+ICAgICAgIHVpbnQ2NCBydF92YWx1ZSA9IGV4dHJhY3Rf cnRfMjVfMjRfMjNfMjJfMjEoaW5zdHJ1Y3Rpb24pOw0KPiAtICAgIHVpbnQ2NCBhY192YWx1ZSA9 IGV4dHJhY3RfYWNfMTNfMTIoaW5zdHJ1Y3Rpb24pOw0KPiAgICAgICB1aW50NjQgcnNfdmFsdWUg PSBleHRyYWN0X3JzXzIwXzE5XzE4XzE3XzE2KGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQg YWNfdmFsdWUgPSBleHRyYWN0X2FjXzEzXzEyKGluc3RydWN0aW9uKTsNCj4gICANCj4gICAgICAg c3RkOjpzdHJpbmcgYWMgPSBBQyhjb3B5KGFjX3ZhbHVlKSk7DQo+ICAgICAgIHN0ZDo6c3RyaW5n IHJzID0gR1BSKGNvcHkocnNfdmFsdWUpKTsNCj4gQEAgLTk1MjcsOCArOTUyNyw4IEBAIHN0ZDo6 c3RyaW5nIE5NRDo6TUFERF9EU1BfKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gICAgKi8NCj4gICBz dGQ6OnN0cmluZyBOTUQ6Ok1BRERGX0QodWludDY0IGluc3RydWN0aW9uKQ0KPiAgIHsNCj4gLSAg ICB1aW50NjQgZnNfdmFsdWUgPSBleHRyYWN0X2ZzXzE1XzE0XzEzXzEyXzExKGluc3RydWN0aW9u KTsNCj4gICAgICAgdWludDY0IGZ0X3ZhbHVlID0gZXh0cmFjdF9mdF8yMF8xOV8xOF8xN18xNihp bnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IGZzX3ZhbHVlID0gZXh0cmFjdF9mc18xNV8xNF8x M18xMl8xMShpbnN0cnVjdGlvbik7DQo+ICAgICAgIHVpbnQ2NCBmZF92YWx1ZSA9IGV4dHJhY3Rf ZmRfMTBfOV84XzdfNihpbnN0cnVjdGlvbik7DQo+ICAgDQo+ICAgICAgIHN0ZDo6c3RyaW5nIGZk ID0gRlBSKGNvcHkoZmRfdmFsdWUpKTsNCj4gQEAgLTk1NTEsOCArOTU1MSw4IEBAIHN0ZDo6c3Ry aW5nIE5NRDo6TUFEREZfRCh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICAgICovDQo+ICAgc3RkOjpz dHJpbmcgTk1EOjpNQURERl9TKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gICB7DQo+IC0gICAgdWlu dDY0IGZzX3ZhbHVlID0gZXh0cmFjdF9mc18xNV8xNF8xM18xMl8xMShpbnN0cnVjdGlvbik7DQo+ ICAgICAgIHVpbnQ2NCBmdF92YWx1ZSA9IGV4dHJhY3RfZnRfMjBfMTlfMThfMTdfMTYoaW5zdHJ1 Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCBmc192YWx1ZSA9IGV4dHJhY3RfZnNfMTVfMTRfMTNfMTJf MTEoaW5zdHJ1Y3Rpb24pOw0KPiAgICAgICB1aW50NjQgZmRfdmFsdWUgPSBleHRyYWN0X2ZkXzEw XzlfOF83XzYoaW5zdHJ1Y3Rpb24pOw0KPiAgIA0KPiAgICAgICBzdGQ6OnN0cmluZyBmZCA9IEZQ Uihjb3B5KGZkX3ZhbHVlKSk7DQo+IEBAIC05NTc2LDggKzk1NzYsOCBAQCBzdGQ6OnN0cmluZyBO TUQ6Ok1BRERGX1ModWludDY0IGluc3RydWN0aW9uKQ0KPiAgIHN0ZDo6c3RyaW5nIE5NRDo6TUFE RFVfRFNQXyh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICAgew0KPiAgICAgICB1aW50NjQgcnRfdmFs dWUgPSBleHRyYWN0X3J0XzI1XzI0XzIzXzIyXzIxKGluc3RydWN0aW9uKTsNCj4gLSAgICB1aW50 NjQgYWNfdmFsdWUgPSBleHRyYWN0X2FjXzEzXzEyKGluc3RydWN0aW9uKTsNCj4gICAgICAgdWlu dDY0IHJzX3ZhbHVlID0gZXh0cmFjdF9yc18yMF8xOV8xOF8xN18xNihpbnN0cnVjdGlvbik7DQo+ ICsgICAgdWludDY0IGFjX3ZhbHVlID0gZXh0cmFjdF9hY18xM18xMihpbnN0cnVjdGlvbik7DQo+ ICAgDQo+ICAgICAgIHN0ZDo6c3RyaW5nIGFjID0gQUMoY29weShhY192YWx1ZSkpOw0KPiAgICAg ICBzdGQ6OnN0cmluZyBycyA9IEdQUihjb3B5KHJzX3ZhbHVlKSk7DQo+IEBAIC05NjAwLDggKzk2 MDAsOCBAQCBzdGQ6OnN0cmluZyBOTUQ6Ok1BRERVX0RTUF8odWludDY0IGluc3RydWN0aW9uKQ0K PiAgIHN0ZDo6c3RyaW5nIE5NRDo6TUFRX1NfV19QSEwodWludDY0IGluc3RydWN0aW9uKQ0KPiAg IHsNCj4gICAgICAgdWludDY0IHJ0X3ZhbHVlID0gZXh0cmFjdF9ydF8yNV8yNF8yM18yMl8yMShp bnN0cnVjdGlvbik7DQo+IC0gICAgdWludDY0IGFjX3ZhbHVlID0gZXh0cmFjdF9hY18xM18xMihp bnN0cnVjdGlvbik7DQo+ICAgICAgIHVpbnQ2NCByc192YWx1ZSA9IGV4dHJhY3RfcnNfMjBfMTlf MThfMTdfMTYoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCBhY192YWx1ZSA9IGV4dHJhY3Rf YWNfMTNfMTIoaW5zdHJ1Y3Rpb24pOw0KPiAgIA0KPiAgICAgICBzdGQ6OnN0cmluZyBhYyA9IEFD KGNvcHkoYWNfdmFsdWUpKTsNCj4gICAgICAgc3RkOjpzdHJpbmcgcnMgPSBHUFIoY29weShyc192 YWx1ZSkpOw0KPiBAQCAtOTYyNCw4ICs5NjI0LDggQEAgc3RkOjpzdHJpbmcgTk1EOjpNQVFfU19X X1BITCh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICAgc3RkOjpzdHJpbmcgTk1EOjpNQVFfU19XX1BI Uih1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICAgew0KPiAgICAgICB1aW50NjQgcnRfdmFsdWUgPSBl eHRyYWN0X3J0XzI1XzI0XzIzXzIyXzIxKGluc3RydWN0aW9uKTsNCj4gLSAgICB1aW50NjQgYWNf dmFsdWUgPSBleHRyYWN0X2FjXzEzXzEyKGluc3RydWN0aW9uKTsNCj4gICAgICAgdWludDY0IHJz X3ZhbHVlID0gZXh0cmFjdF9yc18yMF8xOV8xOF8xN18xNihpbnN0cnVjdGlvbik7DQo+ICsgICAg dWludDY0IGFjX3ZhbHVlID0gZXh0cmFjdF9hY18xM18xMihpbnN0cnVjdGlvbik7DQo+ICAgDQo+ ICAgICAgIHN0ZDo6c3RyaW5nIGFjID0gQUMoY29weShhY192YWx1ZSkpOw0KPiAgICAgICBzdGQ6 OnN0cmluZyBycyA9IEdQUihjb3B5KHJzX3ZhbHVlKSk7DQo+IEBAIC05NjQ4LDggKzk2NDgsOCBA QCBzdGQ6OnN0cmluZyBOTUQ6Ok1BUV9TX1dfUEhSKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gICBz dGQ6OnN0cmluZyBOTUQ6Ok1BUV9TQV9XX1BITCh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICAgew0K PiAgICAgICB1aW50NjQgcnRfdmFsdWUgPSBleHRyYWN0X3J0XzI1XzI0XzIzXzIyXzIxKGluc3Ry dWN0aW9uKTsNCj4gLSAgICB1aW50NjQgYWNfdmFsdWUgPSBleHRyYWN0X2FjXzEzXzEyKGluc3Ry dWN0aW9uKTsNCj4gICAgICAgdWludDY0IHJzX3ZhbHVlID0gZXh0cmFjdF9yc18yMF8xOV8xOF8x N18xNihpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IGFjX3ZhbHVlID0gZXh0cmFjdF9hY18x M18xMihpbnN0cnVjdGlvbik7DQo+ICAgDQo+ICAgICAgIHN0ZDo6c3RyaW5nIGFjID0gQUMoY29w eShhY192YWx1ZSkpOw0KPiAgICAgICBzdGQ6OnN0cmluZyBycyA9IEdQUihjb3B5KHJzX3ZhbHVl KSk7DQo+IEBAIC05NjcyLDggKzk2NzIsOCBAQCBzdGQ6OnN0cmluZyBOTUQ6Ok1BUV9TQV9XX1BI TCh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICAgc3RkOjpzdHJpbmcgTk1EOjpNQVFfU0FfV19QSFIo dWludDY0IGluc3RydWN0aW9uKQ0KPiAgIHsNCj4gICAgICAgdWludDY0IHJ0X3ZhbHVlID0gZXh0 cmFjdF9ydF8yNV8yNF8yM18yMl8yMShpbnN0cnVjdGlvbik7DQo+IC0gICAgdWludDY0IGFjX3Zh bHVlID0gZXh0cmFjdF9hY18xM18xMihpbnN0cnVjdGlvbik7DQo+ICAgICAgIHVpbnQ2NCByc192 YWx1ZSA9IGV4dHJhY3RfcnNfMjBfMTlfMThfMTdfMTYoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVp bnQ2NCBhY192YWx1ZSA9IGV4dHJhY3RfYWNfMTNfMTIoaW5zdHJ1Y3Rpb24pOw0KPiAgIA0KPiAg ICAgICBzdGQ6OnN0cmluZyBhYyA9IEFDKGNvcHkoYWNfdmFsdWUpKTsNCj4gICAgICAgc3RkOjpz dHJpbmcgcnMgPSBHUFIoY29weShyc192YWx1ZSkpOw0KPiBAQCAtOTY5NSw4ICs5Njk1LDggQEAg c3RkOjpzdHJpbmcgTk1EOjpNQVFfU0FfV19QSFIodWludDY0IGluc3RydWN0aW9uKQ0KPiAgICAq Lw0KPiAgIHN0ZDo6c3RyaW5nIE5NRDo6TUFYX0QodWludDY0IGluc3RydWN0aW9uKQ0KPiAgIHsN Cj4gLSAgICB1aW50NjQgZnNfdmFsdWUgPSBleHRyYWN0X2ZzXzE1XzE0XzEzXzEyXzExKGluc3Ry dWN0aW9uKTsNCj4gICAgICAgdWludDY0IGZ0X3ZhbHVlID0gZXh0cmFjdF9mdF8yMF8xOV8xOF8x N18xNihpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IGZzX3ZhbHVlID0gZXh0cmFjdF9mc18x NV8xNF8xM18xMl8xMShpbnN0cnVjdGlvbik7DQo+ICAgICAgIHVpbnQ2NCBmZF92YWx1ZSA9IGV4 dHJhY3RfZmRfMTBfOV84XzdfNihpbnN0cnVjdGlvbik7DQo+ICAgDQo+ICAgICAgIHN0ZDo6c3Ry aW5nIGZkID0gRlBSKGNvcHkoZmRfdmFsdWUpKTsNCj4gQEAgLTk3MTksOCArOTcxOSw4IEBAIHN0 ZDo6c3RyaW5nIE5NRDo6TUFYX0QodWludDY0IGluc3RydWN0aW9uKQ0KPiAgICAqLw0KPiAgIHN0 ZDo6c3RyaW5nIE5NRDo6TUFYX1ModWludDY0IGluc3RydWN0aW9uKQ0KPiAgIHsNCj4gLSAgICB1 aW50NjQgZnNfdmFsdWUgPSBleHRyYWN0X2ZzXzE1XzE0XzEzXzEyXzExKGluc3RydWN0aW9uKTsN Cj4gICAgICAgdWludDY0IGZ0X3ZhbHVlID0gZXh0cmFjdF9mdF8yMF8xOV8xOF8xN18xNihpbnN0 cnVjdGlvbik7DQo+ICsgICAgdWludDY0IGZzX3ZhbHVlID0gZXh0cmFjdF9mc18xNV8xNF8xM18x Ml8xMShpbnN0cnVjdGlvbik7DQo+ICAgICAgIHVpbnQ2NCBmZF92YWx1ZSA9IGV4dHJhY3RfZmRf MTBfOV84XzdfNihpbnN0cnVjdGlvbik7DQo+ICAgDQo+ICAgICAgIHN0ZDo6c3RyaW5nIGZkID0g RlBSKGNvcHkoZmRfdmFsdWUpKTsNCj4gQEAgLTk3NDMsOCArOTc0Myw4IEBAIHN0ZDo6c3RyaW5n IE5NRDo6TUFYX1ModWludDY0IGluc3RydWN0aW9uKQ0KPiAgICAqLw0KPiAgIHN0ZDo6c3RyaW5n IE5NRDo6TUFYQV9EKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gICB7DQo+IC0gICAgdWludDY0IGZz X3ZhbHVlID0gZXh0cmFjdF9mc18xNV8xNF8xM18xMl8xMShpbnN0cnVjdGlvbik7DQo+ICAgICAg IHVpbnQ2NCBmdF92YWx1ZSA9IGV4dHJhY3RfZnRfMjBfMTlfMThfMTdfMTYoaW5zdHJ1Y3Rpb24p Ow0KPiArICAgIHVpbnQ2NCBmc192YWx1ZSA9IGV4dHJhY3RfZnNfMTVfMTRfMTNfMTJfMTEoaW5z dHJ1Y3Rpb24pOw0KPiAgICAgICB1aW50NjQgZmRfdmFsdWUgPSBleHRyYWN0X2ZkXzEwXzlfOF83 XzYoaW5zdHJ1Y3Rpb24pOw0KPiAgIA0KPiAgICAgICBzdGQ6OnN0cmluZyBmZCA9IEZQUihjb3B5 KGZkX3ZhbHVlKSk7DQo+IEBAIC05NzY3LDggKzk3NjcsOCBAQCBzdGQ6OnN0cmluZyBOTUQ6Ok1B WEFfRCh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICAgICovDQo+ICAgc3RkOjpzdHJpbmcgTk1EOjpN QVhBX1ModWludDY0IGluc3RydWN0aW9uKQ0KPiAgIHsNCj4gLSAgICB1aW50NjQgZnNfdmFsdWUg PSBleHRyYWN0X2ZzXzE1XzE0XzEzXzEyXzExKGluc3RydWN0aW9uKTsNCj4gICAgICAgdWludDY0 IGZ0X3ZhbHVlID0gZXh0cmFjdF9mdF8yMF8xOV8xOF8xN18xNihpbnN0cnVjdGlvbik7DQo+ICsg ICAgdWludDY0IGZzX3ZhbHVlID0gZXh0cmFjdF9mc18xNV8xNF8xM18xMl8xMShpbnN0cnVjdGlv bik7DQo+ICAgICAgIHVpbnQ2NCBmZF92YWx1ZSA9IGV4dHJhY3RfZmRfMTBfOV84XzdfNihpbnN0 cnVjdGlvbik7DQo+ICAgDQo+ICAgICAgIHN0ZDo6c3RyaW5nIGZkID0gRlBSKGNvcHkoZmRfdmFs dWUpKTsNCj4gQEAgLTk4MzcsOCArOTgzNyw4IEBAIHN0ZDo6c3RyaW5nIE5NRDo6TUZDMSh1aW50 NjQgaW5zdHJ1Y3Rpb24pDQo+ICAgICovDQo+ICAgc3RkOjpzdHJpbmcgTk1EOjpNRkMyKHVpbnQ2 NCBpbnN0cnVjdGlvbikNCj4gICB7DQo+IC0gICAgdWludDY0IGNzX3ZhbHVlID0gZXh0cmFjdF9j c18yMF8xOV8xOF8xN18xNihpbnN0cnVjdGlvbik7DQo+ICAgICAgIHVpbnQ2NCBydF92YWx1ZSA9 IGV4dHJhY3RfcnRfMjVfMjRfMjNfMjJfMjEoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCBj c192YWx1ZSA9IGV4dHJhY3RfY3NfMjBfMTlfMThfMTdfMTYoaW5zdHJ1Y3Rpb24pOw0KPiAgIA0K PiAgICAgICBzdGQ6OnN0cmluZyBydCA9IEdQUihjb3B5KHJ0X3ZhbHVlKSk7DQo+ICAgICAgIHN0 ZDo6c3RyaW5nIGNzID0gQ1BSKGNvcHkoY3NfdmFsdWUpKTsNCj4gQEAgLTk5MjksOCArOTkyOSw4 IEBAIHN0ZDo6c3RyaW5nIE5NRDo6TUZIQzEodWludDY0IGluc3RydWN0aW9uKQ0KPiAgICAqLw0K PiAgIHN0ZDo6c3RyaW5nIE5NRDo6TUZIQzIodWludDY0IGluc3RydWN0aW9uKQ0KPiAgIHsNCj4g LSAgICB1aW50NjQgY3NfdmFsdWUgPSBleHRyYWN0X2NzXzIwXzE5XzE4XzE3XzE2KGluc3RydWN0 aW9uKTsNCj4gICAgICAgdWludDY0IHJ0X3ZhbHVlID0gZXh0cmFjdF9ydF8yNV8yNF8yM18yMl8y MShpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IGNzX3ZhbHVlID0gZXh0cmFjdF9jc18yMF8x OV8xOF8xN18xNihpbnN0cnVjdGlvbik7DQo+ICAgDQo+ICAgICAgIHN0ZDo6c3RyaW5nIHJ0ID0g R1BSKGNvcHkocnRfdmFsdWUpKTsNCj4gICAgICAgc3RkOjpzdHJpbmcgY3MgPSBDUFIoY29weShj c192YWx1ZSkpOw0KPiBAQCAtMTAwNzEsOCArMTAwNzEsOCBAQCBzdGQ6OnN0cmluZyBOTUQ6Ok1G VFIodWludDY0IGluc3RydWN0aW9uKQ0KPiAgICAqLw0KPiAgIHN0ZDo6c3RyaW5nIE5NRDo6TUlO X0QodWludDY0IGluc3RydWN0aW9uKQ0KPiAgIHsNCj4gLSAgICB1aW50NjQgZnNfdmFsdWUgPSBl eHRyYWN0X2ZzXzE1XzE0XzEzXzEyXzExKGluc3RydWN0aW9uKTsNCj4gICAgICAgdWludDY0IGZ0 X3ZhbHVlID0gZXh0cmFjdF9mdF8yMF8xOV8xOF8xN18xNihpbnN0cnVjdGlvbik7DQo+ICsgICAg dWludDY0IGZzX3ZhbHVlID0gZXh0cmFjdF9mc18xNV8xNF8xM18xMl8xMShpbnN0cnVjdGlvbik7 DQo+ICAgICAgIHVpbnQ2NCBmZF92YWx1ZSA9IGV4dHJhY3RfZmRfMTBfOV84XzdfNihpbnN0cnVj dGlvbik7DQo+ICAgDQo+ICAgICAgIHN0ZDo6c3RyaW5nIGZkID0gRlBSKGNvcHkoZmRfdmFsdWUp KTsNCj4gQEAgLTEwMDk1LDggKzEwMDk1LDggQEAgc3RkOjpzdHJpbmcgTk1EOjpNSU5fRCh1aW50 NjQgaW5zdHJ1Y3Rpb24pDQo+ICAgICovDQo+ICAgc3RkOjpzdHJpbmcgTk1EOjpNSU5fUyh1aW50 NjQgaW5zdHJ1Y3Rpb24pDQo+ICAgew0KPiAtICAgIHVpbnQ2NCBmc192YWx1ZSA9IGV4dHJhY3Rf ZnNfMTVfMTRfMTNfMTJfMTEoaW5zdHJ1Y3Rpb24pOw0KPiAgICAgICB1aW50NjQgZnRfdmFsdWUg PSBleHRyYWN0X2Z0XzIwXzE5XzE4XzE3XzE2KGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQg ZnNfdmFsdWUgPSBleHRyYWN0X2ZzXzE1XzE0XzEzXzEyXzExKGluc3RydWN0aW9uKTsNCj4gICAg ICAgdWludDY0IGZkX3ZhbHVlID0gZXh0cmFjdF9mZF8xMF85XzhfN182KGluc3RydWN0aW9uKTsN Cj4gICANCj4gICAgICAgc3RkOjpzdHJpbmcgZmQgPSBGUFIoY29weShmZF92YWx1ZSkpOw0KPiBA QCAtMTAxMTksOCArMTAxMTksOCBAQCBzdGQ6OnN0cmluZyBOTUQ6Ok1JTl9TKHVpbnQ2NCBpbnN0 cnVjdGlvbikNCj4gICAgKi8NCj4gICBzdGQ6OnN0cmluZyBOTUQ6Ok1JTkFfRCh1aW50NjQgaW5z dHJ1Y3Rpb24pDQo+ICAgew0KPiAtICAgIHVpbnQ2NCBmc192YWx1ZSA9IGV4dHJhY3RfZnNfMTVf MTRfMTNfMTJfMTEoaW5zdHJ1Y3Rpb24pOw0KPiAgICAgICB1aW50NjQgZnRfdmFsdWUgPSBleHRy YWN0X2Z0XzIwXzE5XzE4XzE3XzE2KGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgZnNfdmFs dWUgPSBleHRyYWN0X2ZzXzE1XzE0XzEzXzEyXzExKGluc3RydWN0aW9uKTsNCj4gICAgICAgdWlu dDY0IGZkX3ZhbHVlID0gZXh0cmFjdF9mZF8xMF85XzhfN182KGluc3RydWN0aW9uKTsNCj4gICAN Cj4gICAgICAgc3RkOjpzdHJpbmcgZmQgPSBGUFIoY29weShmZF92YWx1ZSkpOw0KPiBAQCAtMTAx NDMsOCArMTAxNDMsOCBAQCBzdGQ6OnN0cmluZyBOTUQ6Ok1JTkFfRCh1aW50NjQgaW5zdHJ1Y3Rp b24pDQo+ICAgICovDQo+ICAgc3RkOjpzdHJpbmcgTk1EOjpNSU5BX1ModWludDY0IGluc3RydWN0 aW9uKQ0KPiAgIHsNCj4gLSAgICB1aW50NjQgZnNfdmFsdWUgPSBleHRyYWN0X2ZzXzE1XzE0XzEz XzEyXzExKGluc3RydWN0aW9uKTsNCj4gICAgICAgdWludDY0IGZ0X3ZhbHVlID0gZXh0cmFjdF9m dF8yMF8xOV8xOF8xN18xNihpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IGZzX3ZhbHVlID0g ZXh0cmFjdF9mc18xNV8xNF8xM18xMl8xMShpbnN0cnVjdGlvbik7DQo+ICAgICAgIHVpbnQ2NCBm ZF92YWx1ZSA9IGV4dHJhY3RfZmRfMTBfOV84XzdfNihpbnN0cnVjdGlvbik7DQo+ICAgDQo+ICAg ICAgIHN0ZDo6c3RyaW5nIGZkID0gRlBSKGNvcHkoZmRfdmFsdWUpKTsNCj4gQEAgLTEwMTY4LDgg KzEwMTY4LDggQEAgc3RkOjpzdHJpbmcgTk1EOjpNSU5BX1ModWludDY0IGluc3RydWN0aW9uKQ0K PiAgIHN0ZDo6c3RyaW5nIE5NRDo6TU9EKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gICB7DQo+ICAg ICAgIHVpbnQ2NCBydF92YWx1ZSA9IGV4dHJhY3RfcnRfMjVfMjRfMjNfMjJfMjEoaW5zdHJ1Y3Rp b24pOw0KPiAtICAgIHVpbnQ2NCByZF92YWx1ZSA9IGV4dHJhY3RfcmRfMTVfMTRfMTNfMTJfMTEo aW5zdHJ1Y3Rpb24pOw0KPiAgICAgICB1aW50NjQgcnNfdmFsdWUgPSBleHRyYWN0X3JzXzIwXzE5 XzE4XzE3XzE2KGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgcmRfdmFsdWUgPSBleHRyYWN0 X3JkXzE1XzE0XzEzXzEyXzExKGluc3RydWN0aW9uKTsNCj4gICANCj4gICAgICAgc3RkOjpzdHJp bmcgcmQgPSBHUFIoY29weShyZF92YWx1ZSkpOw0KPiAgICAgICBzdGQ6OnN0cmluZyBycyA9IEdQ Uihjb3B5KHJzX3ZhbHVlKSk7DQo+IEBAIC0xMDE5Miw4ICsxMDE5Miw4IEBAIHN0ZDo6c3RyaW5n IE5NRDo6TU9EKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gICBzdGQ6OnN0cmluZyBOTUQ6Ok1PRFNV Qih1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICAgew0KPiAgICAgICB1aW50NjQgcnRfdmFsdWUgPSBl eHRyYWN0X3J0XzI1XzI0XzIzXzIyXzIxKGluc3RydWN0aW9uKTsNCj4gLSAgICB1aW50NjQgcmRf dmFsdWUgPSBleHRyYWN0X3JkXzE1XzE0XzEzXzEyXzExKGluc3RydWN0aW9uKTsNCj4gICAgICAg dWludDY0IHJzX3ZhbHVlID0gZXh0cmFjdF9yc18yMF8xOV8xOF8xN18xNihpbnN0cnVjdGlvbik7 DQo+ICsgICAgdWludDY0IHJkX3ZhbHVlID0gZXh0cmFjdF9yZF8xNV8xNF8xM18xMl8xMShpbnN0 cnVjdGlvbik7DQo+ICAgDQo+ICAgICAgIHN0ZDo6c3RyaW5nIHJkID0gR1BSKGNvcHkocmRfdmFs dWUpKTsNCj4gICAgICAgc3RkOjpzdHJpbmcgcnMgPSBHUFIoY29weShyc192YWx1ZSkpOw0KPiBA QCAtMTAyMTYsOCArMTAyMTYsOCBAQCBzdGQ6OnN0cmluZyBOTUQ6Ok1PRFNVQih1aW50NjQgaW5z dHJ1Y3Rpb24pDQo+ICAgc3RkOjpzdHJpbmcgTk1EOjpNT0RVKHVpbnQ2NCBpbnN0cnVjdGlvbikN Cj4gICB7DQo+ICAgICAgIHVpbnQ2NCBydF92YWx1ZSA9IGV4dHJhY3RfcnRfMjVfMjRfMjNfMjJf MjEoaW5zdHJ1Y3Rpb24pOw0KPiAtICAgIHVpbnQ2NCByZF92YWx1ZSA9IGV4dHJhY3RfcmRfMTVf MTRfMTNfMTJfMTEoaW5zdHJ1Y3Rpb24pOw0KPiAgICAgICB1aW50NjQgcnNfdmFsdWUgPSBleHRy YWN0X3JzXzIwXzE5XzE4XzE3XzE2KGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgcmRfdmFs dWUgPSBleHRyYWN0X3JkXzE1XzE0XzEzXzEyXzExKGluc3RydWN0aW9uKTsNCj4gICANCj4gICAg ICAgc3RkOjpzdHJpbmcgcmQgPSBHUFIoY29weShyZF92YWx1ZSkpOw0KPiAgICAgICBzdGQ6OnN0 cmluZyBycyA9IEdQUihjb3B5KHJzX3ZhbHVlKSk7DQo+IEBAIC0xMDIzOSw4ICsxMDIzOSw4IEBA IHN0ZDo6c3RyaW5nIE5NRDo6TU9EVSh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICAgICovDQo+ICAg c3RkOjpzdHJpbmcgTk1EOjpNT1ZfRCh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICAgew0KPiAtICAg IHVpbnQ2NCBmc192YWx1ZSA9IGV4dHJhY3RfZnNfMTVfMTRfMTNfMTJfMTEoaW5zdHJ1Y3Rpb24p Ow0KPiAgICAgICB1aW50NjQgZnRfdmFsdWUgPSBleHRyYWN0X2Z0XzIwXzE5XzE4XzE3XzE2KGlu c3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgZnNfdmFsdWUgPSBleHRyYWN0X2ZzXzE1XzE0XzEz XzEyXzExKGluc3RydWN0aW9uKTsNCj4gICANCj4gICAgICAgc3RkOjpzdHJpbmcgZnQgPSBGUFIo Y29weShmdF92YWx1ZSkpOw0KPiAgICAgICBzdGQ6OnN0cmluZyBmcyA9IEZQUihjb3B5KGZzX3Zh bHVlKSk7DQo+IEBAIC0xMDI2MSw4ICsxMDI2MSw4IEBAIHN0ZDo6c3RyaW5nIE5NRDo6TU9WX0Qo dWludDY0IGluc3RydWN0aW9uKQ0KPiAgICAqLw0KPiAgIHN0ZDo6c3RyaW5nIE5NRDo6TU9WX1Mo dWludDY0IGluc3RydWN0aW9uKQ0KPiAgIHsNCj4gLSAgICB1aW50NjQgZnNfdmFsdWUgPSBleHRy YWN0X2ZzXzE1XzE0XzEzXzEyXzExKGluc3RydWN0aW9uKTsNCj4gICAgICAgdWludDY0IGZ0X3Zh bHVlID0gZXh0cmFjdF9mdF8yMF8xOV8xOF8xN18xNihpbnN0cnVjdGlvbik7DQo+ICsgICAgdWlu dDY0IGZzX3ZhbHVlID0gZXh0cmFjdF9mc18xNV8xNF8xM18xMl8xMShpbnN0cnVjdGlvbik7DQo+ ICAgDQo+ICAgICAgIHN0ZDo6c3RyaW5nIGZ0ID0gRlBSKGNvcHkoZnRfdmFsdWUpKTsNCj4gICAg ICAgc3RkOjpzdHJpbmcgZnMgPSBGUFIoY29weShmc192YWx1ZSkpOw0KPiBAQCAtMTAyODMsOSAr MTAyODMsOSBAQCBzdGQ6OnN0cmluZyBOTUQ6Ok1PVl9TKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4g ICAgKi8NCj4gICBzdGQ6OnN0cmluZyBOTUQ6Ok1PVkVfQkFMQyh1aW50NjQgaW5zdHJ1Y3Rpb24p DQo+ICAgew0KPiArICAgIHVpbnQ2NCBydHo0X3ZhbHVlID0gZXh0cmFjdF9ydHo0XzI3XzI2XzI1 XzIzXzIyXzIxKGluc3RydWN0aW9uKTsNCj4gICAgICAgdWludDY0IHJkMV92YWx1ZSA9IGV4dHJh Y3RfcmRsXzI1XzI0KGluc3RydWN0aW9uKTsNCj4gICAgICAgaW50NjQgc192YWx1ZSA9IGV4dHJf c2lsMGlsMjFiczFfaWwxaWwxYnMyMFRtc2IyMShpbnN0cnVjdGlvbik7DQo+IC0gICAgdWludDY0 IHJ0ejRfdmFsdWUgPSBleHRyYWN0X3J0ejRfMjdfMjZfMjVfMjNfMjJfMjEoaW5zdHJ1Y3Rpb24p Ow0KPiAgIA0KPiAgICAgICBzdGQ6OnN0cmluZyByZDEgPSBHUFIoZW5jb2RlX3JkMV9mcm9tX3Jk KHJkMV92YWx1ZSkpOw0KPiAgICAgICBzdGQ6OnN0cmluZyBydHo0ID0gR1BSKGVuY29kZV9ncHI0 X3plcm8ocnR6NF92YWx1ZSkpOw0KPiBAQCAtMTAzODQsOCArMTAzODQsOCBAQCBzdGQ6OnN0cmlu ZyBOTUQ6Ok1PVkUodWludDY0IGluc3RydWN0aW9uKQ0KPiAgIHN0ZDo6c3RyaW5nIE5NRDo6TU9W Tih1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICAgew0KPiAgICAgICB1aW50NjQgcnRfdmFsdWUgPSBl eHRyYWN0X3J0XzI1XzI0XzIzXzIyXzIxKGluc3RydWN0aW9uKTsNCj4gLSAgICB1aW50NjQgcmRf dmFsdWUgPSBleHRyYWN0X3JkXzE1XzE0XzEzXzEyXzExKGluc3RydWN0aW9uKTsNCj4gICAgICAg dWludDY0IHJzX3ZhbHVlID0gZXh0cmFjdF9yc18yMF8xOV8xOF8xN18xNihpbnN0cnVjdGlvbik7 DQo+ICsgICAgdWludDY0IHJkX3ZhbHVlID0gZXh0cmFjdF9yZF8xNV8xNF8xM18xMl8xMShpbnN0 cnVjdGlvbik7DQo+ICAgDQo+ICAgICAgIHN0ZDo6c3RyaW5nIHJkID0gR1BSKGNvcHkocmRfdmFs dWUpKTsNCj4gICAgICAgc3RkOjpzdHJpbmcgcnMgPSBHUFIoY29weShyc192YWx1ZSkpOw0KPiBA QCAtMTA0MDgsOCArMTA0MDgsOCBAQCBzdGQ6OnN0cmluZyBOTUQ6Ok1PVk4odWludDY0IGluc3Ry dWN0aW9uKQ0KPiAgIHN0ZDo6c3RyaW5nIE5NRDo6TU9WWih1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ ICAgew0KPiAgICAgICB1aW50NjQgcnRfdmFsdWUgPSBleHRyYWN0X3J0XzI1XzI0XzIzXzIyXzIx KGluc3RydWN0aW9uKTsNCj4gLSAgICB1aW50NjQgcmRfdmFsdWUgPSBleHRyYWN0X3JkXzE1XzE0 XzEzXzEyXzExKGluc3RydWN0aW9uKTsNCj4gICAgICAgdWludDY0IHJzX3ZhbHVlID0gZXh0cmFj dF9yc18yMF8xOV8xOF8xN18xNihpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IHJkX3ZhbHVl ID0gZXh0cmFjdF9yZF8xNV8xNF8xM18xMl8xMShpbnN0cnVjdGlvbik7DQo+ICAgDQo+ICAgICAg IHN0ZDo6c3RyaW5nIHJkID0gR1BSKGNvcHkocmRfdmFsdWUpKTsNCj4gICAgICAgc3RkOjpzdHJp bmcgcnMgPSBHUFIoY29weShyc192YWx1ZSkpOw0KPiBAQCAtMTA0MzIsOCArMTA0MzIsOCBAQCBz dGQ6OnN0cmluZyBOTUQ6Ok1PVloodWludDY0IGluc3RydWN0aW9uKQ0KPiAgIHN0ZDo6c3RyaW5n IE5NRDo6TVNVQl9EU1BfKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gICB7DQo+ICAgICAgIHVpbnQ2 NCBydF92YWx1ZSA9IGV4dHJhY3RfcnRfMjVfMjRfMjNfMjJfMjEoaW5zdHJ1Y3Rpb24pOw0KPiAt ICAgIHVpbnQ2NCBhY192YWx1ZSA9IGV4dHJhY3RfYWNfMTNfMTIoaW5zdHJ1Y3Rpb24pOw0KPiAg ICAgICB1aW50NjQgcnNfdmFsdWUgPSBleHRyYWN0X3JzXzIwXzE5XzE4XzE3XzE2KGluc3RydWN0 aW9uKTsNCj4gKyAgICB1aW50NjQgYWNfdmFsdWUgPSBleHRyYWN0X2FjXzEzXzEyKGluc3RydWN0 aW9uKTsNCj4gICANCj4gICAgICAgc3RkOjpzdHJpbmcgYWMgPSBBQyhjb3B5KGFjX3ZhbHVlKSk7 DQo+ICAgICAgIHN0ZDo6c3RyaW5nIHJzID0gR1BSKGNvcHkocnNfdmFsdWUpKTsNCj4gQEAgLTEw NDU1LDggKzEwNDU1LDggQEAgc3RkOjpzdHJpbmcgTk1EOjpNU1VCX0RTUF8odWludDY0IGluc3Ry dWN0aW9uKQ0KPiAgICAqLw0KPiAgIHN0ZDo6c3RyaW5nIE5NRDo6TVNVQkZfRCh1aW50NjQgaW5z dHJ1Y3Rpb24pDQo+ICAgew0KPiAtICAgIHVpbnQ2NCBmc192YWx1ZSA9IGV4dHJhY3RfZnNfMTVf MTRfMTNfMTJfMTEoaW5zdHJ1Y3Rpb24pOw0KPiAgICAgICB1aW50NjQgZnRfdmFsdWUgPSBleHRy YWN0X2Z0XzIwXzE5XzE4XzE3XzE2KGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgZnNfdmFs dWUgPSBleHRyYWN0X2ZzXzE1XzE0XzEzXzEyXzExKGluc3RydWN0aW9uKTsNCj4gICAgICAgdWlu dDY0IGZkX3ZhbHVlID0gZXh0cmFjdF9mZF8xMF85XzhfN182KGluc3RydWN0aW9uKTsNCj4gICAN Cj4gICAgICAgc3RkOjpzdHJpbmcgZmQgPSBGUFIoY29weShmZF92YWx1ZSkpOw0KPiBAQCAtMTA0 NzksOCArMTA0NzksOCBAQCBzdGQ6OnN0cmluZyBOTUQ6Ok1TVUJGX0QodWludDY0IGluc3RydWN0 aW9uKQ0KPiAgICAqLw0KPiAgIHN0ZDo6c3RyaW5nIE5NRDo6TVNVQkZfUyh1aW50NjQgaW5zdHJ1 Y3Rpb24pDQo+ICAgew0KPiAtICAgIHVpbnQ2NCBmc192YWx1ZSA9IGV4dHJhY3RfZnNfMTVfMTRf MTNfMTJfMTEoaW5zdHJ1Y3Rpb24pOw0KPiAgICAgICB1aW50NjQgZnRfdmFsdWUgPSBleHRyYWN0 X2Z0XzIwXzE5XzE4XzE3XzE2KGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgZnNfdmFsdWUg PSBleHRyYWN0X2ZzXzE1XzE0XzEzXzEyXzExKGluc3RydWN0aW9uKTsNCj4gICAgICAgdWludDY0 IGZkX3ZhbHVlID0gZXh0cmFjdF9mZF8xMF85XzhfN182KGluc3RydWN0aW9uKTsNCj4gICANCj4g ICAgICAgc3RkOjpzdHJpbmcgZmQgPSBGUFIoY29weShmZF92YWx1ZSkpOw0KPiBAQCAtMTA1MDQs OCArMTA1MDQsOCBAQCBzdGQ6OnN0cmluZyBOTUQ6Ok1TVUJGX1ModWludDY0IGluc3RydWN0aW9u KQ0KPiAgIHN0ZDo6c3RyaW5nIE5NRDo6TVNVQlVfRFNQXyh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ ICAgew0KPiAgICAgICB1aW50NjQgcnRfdmFsdWUgPSBleHRyYWN0X3J0XzI1XzI0XzIzXzIyXzIx KGluc3RydWN0aW9uKTsNCj4gLSAgICB1aW50NjQgYWNfdmFsdWUgPSBleHRyYWN0X2FjXzEzXzEy KGluc3RydWN0aW9uKTsNCj4gICAgICAgdWludDY0IHJzX3ZhbHVlID0gZXh0cmFjdF9yc18yMF8x OV8xOF8xN18xNihpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IGFjX3ZhbHVlID0gZXh0cmFj dF9hY18xM18xMihpbnN0cnVjdGlvbik7DQo+ICAgDQo+ICAgICAgIHN0ZDo6c3RyaW5nIGFjID0g QUMoY29weShhY192YWx1ZSkpOw0KPiAgICAgICBzdGQ6OnN0cmluZyBycyA9IEdQUihjb3B5KHJz X3ZhbHVlKSk7DQo+IEBAIC0xMDU3Myw4ICsxMDU3Myw4IEBAIHN0ZDo6c3RyaW5nIE5NRDo6TVRD MSh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICAgICovDQo+ICAgc3RkOjpzdHJpbmcgTk1EOjpNVEMy KHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gICB7DQo+IC0gICAgdWludDY0IGNzX3ZhbHVlID0gZXh0 cmFjdF9jc18yMF8xOV8xOF8xN18xNihpbnN0cnVjdGlvbik7DQo+ICAgICAgIHVpbnQ2NCBydF92 YWx1ZSA9IGV4dHJhY3RfcnRfMjVfMjRfMjNfMjJfMjEoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVp bnQ2NCBjc192YWx1ZSA9IGV4dHJhY3RfY3NfMjBfMTlfMThfMTdfMTYoaW5zdHJ1Y3Rpb24pOw0K PiAgIA0KPiAgICAgICBzdGQ6OnN0cmluZyBydCA9IEdQUihjb3B5KHJ0X3ZhbHVlKSk7DQo+ICAg ICAgIHN0ZDo6c3RyaW5nIGNzID0gQ1BSKGNvcHkoY3NfdmFsdWUpKTsNCj4gQEAgLTEwNjY1LDgg KzEwNjY1LDggQEAgc3RkOjpzdHJpbmcgTk1EOjpNVEhDMSh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ ICAgICovDQo+ICAgc3RkOjpzdHJpbmcgTk1EOjpNVEhDMih1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ ICAgew0KPiAtICAgIHVpbnQ2NCBjc192YWx1ZSA9IGV4dHJhY3RfY3NfMjBfMTlfMThfMTdfMTYo aW5zdHJ1Y3Rpb24pOw0KPiAgICAgICB1aW50NjQgcnRfdmFsdWUgPSBleHRyYWN0X3J0XzI1XzI0 XzIzXzIyXzIxKGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgY3NfdmFsdWUgPSBleHRyYWN0 X2NzXzIwXzE5XzE4XzE3XzE2KGluc3RydWN0aW9uKTsNCj4gICANCj4gICAgICAgc3RkOjpzdHJp bmcgcnQgPSBHUFIoY29weShydF92YWx1ZSkpOw0KPiAgICAgICBzdGQ6OnN0cmluZyBjcyA9IENQ Uihjb3B5KGNzX3ZhbHVlKSk7DQo+IEBAIC0xMDcxMSw4ICsxMDcxMSw4IEBAIHN0ZDo6c3RyaW5n IE5NRDo6TVRIR0MwKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gICAgKi8NCj4gICBzdGQ6OnN0cmlu ZyBOTUQ6Ok1USElfRFNQXyh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICAgew0KPiAtICAgIHVpbnQ2 NCBhY192YWx1ZSA9IGV4dHJhY3RfYWNfMTNfMTIoaW5zdHJ1Y3Rpb24pOw0KPiAgICAgICB1aW50 NjQgcnNfdmFsdWUgPSBleHRyYWN0X3JzXzIwXzE5XzE4XzE3XzE2KGluc3RydWN0aW9uKTsNCj4g KyAgICB1aW50NjQgYWNfdmFsdWUgPSBleHRyYWN0X2FjXzEzXzEyKGluc3RydWN0aW9uKTsNCj4g ICANCj4gICAgICAgc3RkOjpzdHJpbmcgcnMgPSBHUFIoY29weShyc192YWx1ZSkpOw0KPiAgICAg ICBzdGQ6OnN0cmluZyBhYyA9IEFDKGNvcHkoYWNfdmFsdWUpKTsNCj4gQEAgLTEwNzMzLDggKzEw NzMzLDggQEAgc3RkOjpzdHJpbmcgTk1EOjpNVEhJX0RTUF8odWludDY0IGluc3RydWN0aW9uKQ0K PiAgICAqLw0KPiAgIHN0ZDo6c3RyaW5nIE5NRDo6TVRITElQKHVpbnQ2NCBpbnN0cnVjdGlvbikN Cj4gICB7DQo+IC0gICAgdWludDY0IGFjX3ZhbHVlID0gZXh0cmFjdF9hY18xM18xMihpbnN0cnVj dGlvbik7DQo+ICAgICAgIHVpbnQ2NCByc192YWx1ZSA9IGV4dHJhY3RfcnNfMjBfMTlfMThfMTdf MTYoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCBhY192YWx1ZSA9IGV4dHJhY3RfYWNfMTNf MTIoaW5zdHJ1Y3Rpb24pOw0KPiAgIA0KPiAgICAgICBzdGQ6OnN0cmluZyBycyA9IEdQUihjb3B5 KHJzX3ZhbHVlKSk7DQo+ICAgICAgIHN0ZDo6c3RyaW5nIGFjID0gQUMoY29weShhY192YWx1ZSkp Ow0KPiBAQCAtMTA3ODEsOCArMTA3ODEsOCBAQCBzdGQ6OnN0cmluZyBOTUQ6Ok1USFRSKHVpbnQ2 NCBpbnN0cnVjdGlvbikNCj4gICAgKi8NCj4gICBzdGQ6OnN0cmluZyBOTUQ6Ok1UTE9fRFNQXyh1 aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICAgew0KPiAtICAgIHVpbnQ2NCBhY192YWx1ZSA9IGV4dHJh Y3RfYWNfMTNfMTIoaW5zdHJ1Y3Rpb24pOw0KPiAgICAgICB1aW50NjQgcnNfdmFsdWUgPSBleHRy YWN0X3JzXzIwXzE5XzE4XzE3XzE2KGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgYWNfdmFs dWUgPSBleHRyYWN0X2FjXzEzXzEyKGluc3RydWN0aW9uKTsNCj4gICANCj4gICAgICAgc3RkOjpz dHJpbmcgcnMgPSBHUFIoY29weShyc192YWx1ZSkpOw0KPiAgICAgICBzdGQ6OnN0cmluZyBhYyA9 IEFDKGNvcHkoYWNfdmFsdWUpKTsNCj4gQEAgLTEwODMwLDggKzEwODMwLDggQEAgc3RkOjpzdHJp bmcgTk1EOjpNVFRSKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gICBzdGQ6OnN0cmluZyBOTUQ6Ok1V SCh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICAgew0KPiAgICAgICB1aW50NjQgcnRfdmFsdWUgPSBl eHRyYWN0X3J0XzI1XzI0XzIzXzIyXzIxKGluc3RydWN0aW9uKTsNCj4gLSAgICB1aW50NjQgcmRf dmFsdWUgPSBleHRyYWN0X3JkXzE1XzE0XzEzXzEyXzExKGluc3RydWN0aW9uKTsNCj4gICAgICAg dWludDY0IHJzX3ZhbHVlID0gZXh0cmFjdF9yc18yMF8xOV8xOF8xN18xNihpbnN0cnVjdGlvbik7 DQo+ICsgICAgdWludDY0IHJkX3ZhbHVlID0gZXh0cmFjdF9yZF8xNV8xNF8xM18xMl8xMShpbnN0 cnVjdGlvbik7DQo+ICAgDQo+ICAgICAgIHN0ZDo6c3RyaW5nIHJkID0gR1BSKGNvcHkocmRfdmFs dWUpKTsNCj4gICAgICAgc3RkOjpzdHJpbmcgcnMgPSBHUFIoY29weShyc192YWx1ZSkpOw0KPiBA QCAtMTA4NTQsOCArMTA4NTQsOCBAQCBzdGQ6OnN0cmluZyBOTUQ6Ok1VSCh1aW50NjQgaW5zdHJ1 Y3Rpb24pDQo+ICAgc3RkOjpzdHJpbmcgTk1EOjpNVUhVKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4g ICB7DQo+ICAgICAgIHVpbnQ2NCBydF92YWx1ZSA9IGV4dHJhY3RfcnRfMjVfMjRfMjNfMjJfMjEo aW5zdHJ1Y3Rpb24pOw0KPiAtICAgIHVpbnQ2NCByZF92YWx1ZSA9IGV4dHJhY3RfcmRfMTVfMTRf MTNfMTJfMTEoaW5zdHJ1Y3Rpb24pOw0KPiAgICAgICB1aW50NjQgcnNfdmFsdWUgPSBleHRyYWN0 X3JzXzIwXzE5XzE4XzE3XzE2KGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgcmRfdmFsdWUg PSBleHRyYWN0X3JkXzE1XzE0XzEzXzEyXzExKGluc3RydWN0aW9uKTsNCj4gICANCj4gICAgICAg c3RkOjpzdHJpbmcgcmQgPSBHUFIoY29weShyZF92YWx1ZSkpOw0KPiAgICAgICBzdGQ6OnN0cmlu ZyBycyA9IEdQUihjb3B5KHJzX3ZhbHVlKSk7DQo+IEBAIC0xMDg3OCw4ICsxMDg3OCw4IEBAIHN0 ZDo6c3RyaW5nIE5NRDo6TVVIVSh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICAgc3RkOjpzdHJpbmcg Tk1EOjpNVUxfMzJfKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gICB7DQo+ICAgICAgIHVpbnQ2NCBy dF92YWx1ZSA9IGV4dHJhY3RfcnRfMjVfMjRfMjNfMjJfMjEoaW5zdHJ1Y3Rpb24pOw0KPiAtICAg IHVpbnQ2NCByZF92YWx1ZSA9IGV4dHJhY3RfcmRfMTVfMTRfMTNfMTJfMTEoaW5zdHJ1Y3Rpb24p Ow0KPiAgICAgICB1aW50NjQgcnNfdmFsdWUgPSBleHRyYWN0X3JzXzIwXzE5XzE4XzE3XzE2KGlu c3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgcmRfdmFsdWUgPSBleHRyYWN0X3JkXzE1XzE0XzEz XzEyXzExKGluc3RydWN0aW9uKTsNCj4gICANCj4gICAgICAgc3RkOjpzdHJpbmcgcmQgPSBHUFIo Y29weShyZF92YWx1ZSkpOw0KPiAgICAgICBzdGQ6OnN0cmluZyBycyA9IEdQUihjb3B5KHJzX3Zh bHVlKSk7DQo+IEBAIC0xMDkyMyw4ICsxMDkyMyw4IEBAIHN0ZDo6c3RyaW5nIE5NRDo6TVVMXzRY NF8odWludDY0IGluc3RydWN0aW9uKQ0KPiAgICAqLw0KPiAgIHN0ZDo6c3RyaW5nIE5NRDo6TVVM X0QodWludDY0IGluc3RydWN0aW9uKQ0KPiAgIHsNCj4gLSAgICB1aW50NjQgZnNfdmFsdWUgPSBl eHRyYWN0X2ZzXzE1XzE0XzEzXzEyXzExKGluc3RydWN0aW9uKTsNCj4gICAgICAgdWludDY0IGZ0 X3ZhbHVlID0gZXh0cmFjdF9mdF8yMF8xOV8xOF8xN18xNihpbnN0cnVjdGlvbik7DQo+ICsgICAg dWludDY0IGZzX3ZhbHVlID0gZXh0cmFjdF9mc18xNV8xNF8xM18xMl8xMShpbnN0cnVjdGlvbik7 DQo+ICAgICAgIHVpbnQ2NCBmZF92YWx1ZSA9IGV4dHJhY3RfZmRfMTBfOV84XzdfNihpbnN0cnVj dGlvbik7DQo+ICAgDQo+ICAgICAgIHN0ZDo6c3RyaW5nIGZkID0gRlBSKGNvcHkoZmRfdmFsdWUp KTsNCj4gQEAgLTEwOTQ4LDggKzEwOTQ4LDggQEAgc3RkOjpzdHJpbmcgTk1EOjpNVUxfRCh1aW50 NjQgaW5zdHJ1Y3Rpb24pDQo+ICAgc3RkOjpzdHJpbmcgTk1EOjpNVUxfUEgodWludDY0IGluc3Ry dWN0aW9uKQ0KPiAgIHsNCj4gICAgICAgdWludDY0IHJ0X3ZhbHVlID0gZXh0cmFjdF9ydF8yNV8y NF8yM18yMl8yMShpbnN0cnVjdGlvbik7DQo+IC0gICAgdWludDY0IHJkX3ZhbHVlID0gZXh0cmFj dF9yZF8xNV8xNF8xM18xMl8xMShpbnN0cnVjdGlvbik7DQo+ICAgICAgIHVpbnQ2NCByc192YWx1 ZSA9IGV4dHJhY3RfcnNfMjBfMTlfMThfMTdfMTYoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2 NCByZF92YWx1ZSA9IGV4dHJhY3RfcmRfMTVfMTRfMTNfMTJfMTEoaW5zdHJ1Y3Rpb24pOw0KPiAg IA0KPiAgICAgICBzdGQ6OnN0cmluZyByZCA9IEdQUihjb3B5KHJkX3ZhbHVlKSk7DQo+ICAgICAg IHN0ZDo6c3RyaW5nIHJzID0gR1BSKGNvcHkocnNfdmFsdWUpKTsNCj4gQEAgLTEwOTcyLDggKzEw OTcyLDggQEAgc3RkOjpzdHJpbmcgTk1EOjpNVUxfUEgodWludDY0IGluc3RydWN0aW9uKQ0KPiAg IHN0ZDo6c3RyaW5nIE5NRDo6TVVMX1NfUEgodWludDY0IGluc3RydWN0aW9uKQ0KPiAgIHsNCj4g ICAgICAgdWludDY0IHJ0X3ZhbHVlID0gZXh0cmFjdF9ydF8yNV8yNF8yM18yMl8yMShpbnN0cnVj dGlvbik7DQo+IC0gICAgdWludDY0IHJkX3ZhbHVlID0gZXh0cmFjdF9yZF8xNV8xNF8xM18xMl8x MShpbnN0cnVjdGlvbik7DQo+ICAgICAgIHVpbnQ2NCByc192YWx1ZSA9IGV4dHJhY3RfcnNfMjBf MTlfMThfMTdfMTYoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCByZF92YWx1ZSA9IGV4dHJh Y3RfcmRfMTVfMTRfMTNfMTJfMTEoaW5zdHJ1Y3Rpb24pOw0KPiAgIA0KPiAgICAgICBzdGQ6OnN0 cmluZyByZCA9IEdQUihjb3B5KHJkX3ZhbHVlKSk7DQo+ICAgICAgIHN0ZDo6c3RyaW5nIHJzID0g R1BSKGNvcHkocnNfdmFsdWUpKTsNCj4gQEAgLTEwOTk1LDggKzEwOTk1LDggQEAgc3RkOjpzdHJp bmcgTk1EOjpNVUxfU19QSCh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICAgICovDQo+ICAgc3RkOjpz dHJpbmcgTk1EOjpNVUxfUyh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICAgew0KPiAtICAgIHVpbnQ2 NCBmc192YWx1ZSA9IGV4dHJhY3RfZnNfMTVfMTRfMTNfMTJfMTEoaW5zdHJ1Y3Rpb24pOw0KPiAg ICAgICB1aW50NjQgZnRfdmFsdWUgPSBleHRyYWN0X2Z0XzIwXzE5XzE4XzE3XzE2KGluc3RydWN0 aW9uKTsNCj4gKyAgICB1aW50NjQgZnNfdmFsdWUgPSBleHRyYWN0X2ZzXzE1XzE0XzEzXzEyXzEx KGluc3RydWN0aW9uKTsNCj4gICAgICAgdWludDY0IGZkX3ZhbHVlID0gZXh0cmFjdF9mZF8xMF85 XzhfN182KGluc3RydWN0aW9uKTsNCj4gICANCj4gICAgICAgc3RkOjpzdHJpbmcgZmQgPSBGUFIo Y29weShmZF92YWx1ZSkpOw0KPiBAQCAtMTEwMjAsOCArMTEwMjAsOCBAQCBzdGQ6OnN0cmluZyBO TUQ6Ok1VTF9TKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gICBzdGQ6OnN0cmluZyBOTUQ6Ok1VTEVR X1NfV19QSEwodWludDY0IGluc3RydWN0aW9uKQ0KPiAgIHsNCj4gICAgICAgdWludDY0IHJ0X3Zh bHVlID0gZXh0cmFjdF9ydF8yNV8yNF8yM18yMl8yMShpbnN0cnVjdGlvbik7DQo+IC0gICAgdWlu dDY0IHJkX3ZhbHVlID0gZXh0cmFjdF9yZF8xNV8xNF8xM18xMl8xMShpbnN0cnVjdGlvbik7DQo+ ICAgICAgIHVpbnQ2NCByc192YWx1ZSA9IGV4dHJhY3RfcnNfMjBfMTlfMThfMTdfMTYoaW5zdHJ1 Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCByZF92YWx1ZSA9IGV4dHJhY3RfcmRfMTVfMTRfMTNfMTJf MTEoaW5zdHJ1Y3Rpb24pOw0KPiAgIA0KPiAgICAgICBzdGQ6OnN0cmluZyByZCA9IEdQUihjb3B5 KHJkX3ZhbHVlKSk7DQo+ICAgICAgIHN0ZDo6c3RyaW5nIHJzID0gR1BSKGNvcHkocnNfdmFsdWUp KTsNCj4gQEAgLTExMDQ0LDggKzExMDQ0LDggQEAgc3RkOjpzdHJpbmcgTk1EOjpNVUxFUV9TX1df UEhMKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gICBzdGQ6OnN0cmluZyBOTUQ6Ok1VTEVRX1NfV19Q SFIodWludDY0IGluc3RydWN0aW9uKQ0KPiAgIHsNCj4gICAgICAgdWludDY0IHJ0X3ZhbHVlID0g ZXh0cmFjdF9ydF8yNV8yNF8yM18yMl8yMShpbnN0cnVjdGlvbik7DQo+IC0gICAgdWludDY0IHJk X3ZhbHVlID0gZXh0cmFjdF9yZF8xNV8xNF8xM18xMl8xMShpbnN0cnVjdGlvbik7DQo+ICAgICAg IHVpbnQ2NCByc192YWx1ZSA9IGV4dHJhY3RfcnNfMjBfMTlfMThfMTdfMTYoaW5zdHJ1Y3Rpb24p Ow0KPiArICAgIHVpbnQ2NCByZF92YWx1ZSA9IGV4dHJhY3RfcmRfMTVfMTRfMTNfMTJfMTEoaW5z dHJ1Y3Rpb24pOw0KPiAgIA0KPiAgICAgICBzdGQ6OnN0cmluZyByZCA9IEdQUihjb3B5KHJkX3Zh bHVlKSk7DQo+ICAgICAgIHN0ZDo6c3RyaW5nIHJzID0gR1BSKGNvcHkocnNfdmFsdWUpKTsNCj4g QEAgLTExMDY4LDggKzExMDY4LDggQEAgc3RkOjpzdHJpbmcgTk1EOjpNVUxFUV9TX1dfUEhSKHVp bnQ2NCBpbnN0cnVjdGlvbikNCj4gICBzdGQ6OnN0cmluZyBOTUQ6Ok1VTEVVX1NfUEhfUUJMKHVp bnQ2NCBpbnN0cnVjdGlvbikNCj4gICB7DQo+ICAgICAgIHVpbnQ2NCBydF92YWx1ZSA9IGV4dHJh Y3RfcnRfMjVfMjRfMjNfMjJfMjEoaW5zdHJ1Y3Rpb24pOw0KPiAtICAgIHVpbnQ2NCByZF92YWx1 ZSA9IGV4dHJhY3RfcmRfMTVfMTRfMTNfMTJfMTEoaW5zdHJ1Y3Rpb24pOw0KPiAgICAgICB1aW50 NjQgcnNfdmFsdWUgPSBleHRyYWN0X3JzXzIwXzE5XzE4XzE3XzE2KGluc3RydWN0aW9uKTsNCj4g KyAgICB1aW50NjQgcmRfdmFsdWUgPSBleHRyYWN0X3JkXzE1XzE0XzEzXzEyXzExKGluc3RydWN0 aW9uKTsNCj4gICANCj4gICAgICAgc3RkOjpzdHJpbmcgcmQgPSBHUFIoY29weShyZF92YWx1ZSkp Ow0KPiAgICAgICBzdGQ6OnN0cmluZyBycyA9IEdQUihjb3B5KHJzX3ZhbHVlKSk7DQo+IEBAIC0x MTA5Miw4ICsxMTA5Miw4IEBAIHN0ZDo6c3RyaW5nIE5NRDo6TVVMRVVfU19QSF9RQkwodWludDY0 IGluc3RydWN0aW9uKQ0KPiAgIHN0ZDo6c3RyaW5nIE5NRDo6TVVMRVVfU19QSF9RQlIodWludDY0 IGluc3RydWN0aW9uKQ0KPiAgIHsNCj4gICAgICAgdWludDY0IHJ0X3ZhbHVlID0gZXh0cmFjdF9y dF8yNV8yNF8yM18yMl8yMShpbnN0cnVjdGlvbik7DQo+IC0gICAgdWludDY0IHJkX3ZhbHVlID0g ZXh0cmFjdF9yZF8xNV8xNF8xM18xMl8xMShpbnN0cnVjdGlvbik7DQo+ICAgICAgIHVpbnQ2NCBy c192YWx1ZSA9IGV4dHJhY3RfcnNfMjBfMTlfMThfMTdfMTYoaW5zdHJ1Y3Rpb24pOw0KPiArICAg IHVpbnQ2NCByZF92YWx1ZSA9IGV4dHJhY3RfcmRfMTVfMTRfMTNfMTJfMTEoaW5zdHJ1Y3Rpb24p Ow0KPiAgIA0KPiAgICAgICBzdGQ6OnN0cmluZyByZCA9IEdQUihjb3B5KHJkX3ZhbHVlKSk7DQo+ ICAgICAgIHN0ZDo6c3RyaW5nIHJzID0gR1BSKGNvcHkocnNfdmFsdWUpKTsNCj4gQEAgLTExMTE2 LDggKzExMTE2LDggQEAgc3RkOjpzdHJpbmcgTk1EOjpNVUxFVV9TX1BIX1FCUih1aW50NjQgaW5z dHJ1Y3Rpb24pDQo+ICAgc3RkOjpzdHJpbmcgTk1EOjpNVUxRX1JTX1BIKHVpbnQ2NCBpbnN0cnVj dGlvbikNCj4gICB7DQo+ICAgICAgIHVpbnQ2NCBydF92YWx1ZSA9IGV4dHJhY3RfcnRfMjVfMjRf MjNfMjJfMjEoaW5zdHJ1Y3Rpb24pOw0KPiAtICAgIHVpbnQ2NCByZF92YWx1ZSA9IGV4dHJhY3Rf cmRfMTVfMTRfMTNfMTJfMTEoaW5zdHJ1Y3Rpb24pOw0KPiAgICAgICB1aW50NjQgcnNfdmFsdWUg PSBleHRyYWN0X3JzXzIwXzE5XzE4XzE3XzE2KGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQg cmRfdmFsdWUgPSBleHRyYWN0X3JkXzE1XzE0XzEzXzEyXzExKGluc3RydWN0aW9uKTsNCj4gICAN Cj4gICAgICAgc3RkOjpzdHJpbmcgcmQgPSBHUFIoY29weShyZF92YWx1ZSkpOw0KPiAgICAgICBz dGQ6OnN0cmluZyBycyA9IEdQUihjb3B5KHJzX3ZhbHVlKSk7DQo+IEBAIC0xMTE0MCw4ICsxMTE0 MCw4IEBAIHN0ZDo6c3RyaW5nIE5NRDo6TVVMUV9SU19QSCh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ ICAgc3RkOjpzdHJpbmcgTk1EOjpNVUxRX1JTX1codWludDY0IGluc3RydWN0aW9uKQ0KPiAgIHsN Cj4gICAgICAgdWludDY0IHJ0X3ZhbHVlID0gZXh0cmFjdF9ydF8yNV8yNF8yM18yMl8yMShpbnN0 cnVjdGlvbik7DQo+IC0gICAgdWludDY0IHJkX3ZhbHVlID0gZXh0cmFjdF9yZF8xNV8xNF8xM18x Ml8xMShpbnN0cnVjdGlvbik7DQo+ICAgICAgIHVpbnQ2NCByc192YWx1ZSA9IGV4dHJhY3RfcnNf MjBfMTlfMThfMTdfMTYoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCByZF92YWx1ZSA9IGV4 dHJhY3RfcmRfMTVfMTRfMTNfMTJfMTEoaW5zdHJ1Y3Rpb24pOw0KPiAgIA0KPiAgICAgICBzdGQ6 OnN0cmluZyByZCA9IEdQUihjb3B5KHJkX3ZhbHVlKSk7DQo+ICAgICAgIHN0ZDo6c3RyaW5nIHJz ID0gR1BSKGNvcHkocnNfdmFsdWUpKTsNCj4gQEAgLTExMTY0LDggKzExMTY0LDggQEAgc3RkOjpz dHJpbmcgTk1EOjpNVUxRX1JTX1codWludDY0IGluc3RydWN0aW9uKQ0KPiAgIHN0ZDo6c3RyaW5n IE5NRDo6TVVMUV9TX1BIKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gICB7DQo+ICAgICAgIHVpbnQ2 NCBydF92YWx1ZSA9IGV4dHJhY3RfcnRfMjVfMjRfMjNfMjJfMjEoaW5zdHJ1Y3Rpb24pOw0KPiAt ICAgIHVpbnQ2NCByZF92YWx1ZSA9IGV4dHJhY3RfcmRfMTVfMTRfMTNfMTJfMTEoaW5zdHJ1Y3Rp b24pOw0KPiAgICAgICB1aW50NjQgcnNfdmFsdWUgPSBleHRyYWN0X3JzXzIwXzE5XzE4XzE3XzE2 KGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgcmRfdmFsdWUgPSBleHRyYWN0X3JkXzE1XzE0 XzEzXzEyXzExKGluc3RydWN0aW9uKTsNCj4gICANCj4gICAgICAgc3RkOjpzdHJpbmcgcmQgPSBH UFIoY29weShyZF92YWx1ZSkpOw0KPiAgICAgICBzdGQ6OnN0cmluZyBycyA9IEdQUihjb3B5KHJz X3ZhbHVlKSk7DQo+IEBAIC0xMTE4OCw4ICsxMTE4OCw4IEBAIHN0ZDo6c3RyaW5nIE5NRDo6TVVM UV9TX1BIKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gICBzdGQ6OnN0cmluZyBOTUQ6Ok1VTFFfU19X KHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gICB7DQo+ICAgICAgIHVpbnQ2NCBydF92YWx1ZSA9IGV4 dHJhY3RfcnRfMjVfMjRfMjNfMjJfMjEoaW5zdHJ1Y3Rpb24pOw0KPiAtICAgIHVpbnQ2NCByZF92 YWx1ZSA9IGV4dHJhY3RfcmRfMTVfMTRfMTNfMTJfMTEoaW5zdHJ1Y3Rpb24pOw0KPiAgICAgICB1 aW50NjQgcnNfdmFsdWUgPSBleHRyYWN0X3JzXzIwXzE5XzE4XzE3XzE2KGluc3RydWN0aW9uKTsN Cj4gKyAgICB1aW50NjQgcmRfdmFsdWUgPSBleHRyYWN0X3JkXzE1XzE0XzEzXzEyXzExKGluc3Ry dWN0aW9uKTsNCj4gICANCj4gICAgICAgc3RkOjpzdHJpbmcgcmQgPSBHUFIoY29weShyZF92YWx1 ZSkpOw0KPiAgICAgICBzdGQ6OnN0cmluZyBycyA9IEdQUihjb3B5KHJzX3ZhbHVlKSk7DQo+IEBA IC0xMTIxMiw4ICsxMTIxMiw4IEBAIHN0ZDo6c3RyaW5nIE5NRDo6TVVMUV9TX1codWludDY0IGlu c3RydWN0aW9uKQ0KPiAgIHN0ZDo6c3RyaW5nIE5NRDo6TVVMU0FfV19QSCh1aW50NjQgaW5zdHJ1 Y3Rpb24pDQo+ICAgew0KPiAgICAgICB1aW50NjQgcnRfdmFsdWUgPSBleHRyYWN0X3J0XzI1XzI0 XzIzXzIyXzIxKGluc3RydWN0aW9uKTsNCj4gLSAgICB1aW50NjQgYWNfdmFsdWUgPSBleHRyYWN0 X2FjXzEzXzEyKGluc3RydWN0aW9uKTsNCj4gICAgICAgdWludDY0IHJzX3ZhbHVlID0gZXh0cmFj dF9yc18yMF8xOV8xOF8xN18xNihpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IGFjX3ZhbHVl ID0gZXh0cmFjdF9hY18xM18xMihpbnN0cnVjdGlvbik7DQo+ICAgDQo+ICAgICAgIHN0ZDo6c3Ry aW5nIGFjID0gQUMoY29weShhY192YWx1ZSkpOw0KPiAgICAgICBzdGQ6OnN0cmluZyBycyA9IEdQ Uihjb3B5KHJzX3ZhbHVlKSk7DQo+IEBAIC0xMTIzNiw4ICsxMTIzNiw4IEBAIHN0ZDo6c3RyaW5n IE5NRDo6TVVMU0FfV19QSCh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICAgc3RkOjpzdHJpbmcgTk1E OjpNVUxTQVFfU19XX1BIKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gICB7DQo+ICAgICAgIHVpbnQ2 NCBydF92YWx1ZSA9IGV4dHJhY3RfcnRfMjVfMjRfMjNfMjJfMjEoaW5zdHJ1Y3Rpb24pOw0KPiAt ICAgIHVpbnQ2NCBhY192YWx1ZSA9IGV4dHJhY3RfYWNfMTNfMTIoaW5zdHJ1Y3Rpb24pOw0KPiAg ICAgICB1aW50NjQgcnNfdmFsdWUgPSBleHRyYWN0X3JzXzIwXzE5XzE4XzE3XzE2KGluc3RydWN0 aW9uKTsNCj4gKyAgICB1aW50NjQgYWNfdmFsdWUgPSBleHRyYWN0X2FjXzEzXzEyKGluc3RydWN0 aW9uKTsNCj4gICANCj4gICAgICAgc3RkOjpzdHJpbmcgYWMgPSBBQyhjb3B5KGFjX3ZhbHVlKSk7 DQo+ICAgICAgIHN0ZDo6c3RyaW5nIHJzID0gR1BSKGNvcHkocnNfdmFsdWUpKTsNCj4gQEAgLTEx MjYwLDggKzExMjYwLDggQEAgc3RkOjpzdHJpbmcgTk1EOjpNVUxTQVFfU19XX1BIKHVpbnQ2NCBp bnN0cnVjdGlvbikNCj4gICBzdGQ6OnN0cmluZyBOTUQ6Ok1VTFRfRFNQXyh1aW50NjQgaW5zdHJ1 Y3Rpb24pDQo+ICAgew0KPiAgICAgICB1aW50NjQgcnRfdmFsdWUgPSBleHRyYWN0X3J0XzI1XzI0 XzIzXzIyXzIxKGluc3RydWN0aW9uKTsNCj4gLSAgICB1aW50NjQgYWNfdmFsdWUgPSBleHRyYWN0 X2FjXzEzXzEyKGluc3RydWN0aW9uKTsNCj4gICAgICAgdWludDY0IHJzX3ZhbHVlID0gZXh0cmFj dF9yc18yMF8xOV8xOF8xN18xNihpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IGFjX3ZhbHVl ID0gZXh0cmFjdF9hY18xM18xMihpbnN0cnVjdGlvbik7DQo+ICAgDQo+ICAgICAgIHN0ZDo6c3Ry aW5nIGFjID0gQUMoY29weShhY192YWx1ZSkpOw0KPiAgICAgICBzdGQ6OnN0cmluZyBycyA9IEdQ Uihjb3B5KHJzX3ZhbHVlKSk7DQo+IEBAIC0xMTI4NCw4ICsxMTI4NCw4IEBAIHN0ZDo6c3RyaW5n IE5NRDo6TVVMVF9EU1BfKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gICBzdGQ6OnN0cmluZyBOTUQ6 Ok1VTFRVX0RTUF8odWludDY0IGluc3RydWN0aW9uKQ0KPiAgIHsNCj4gICAgICAgdWludDY0IHJ0 X3ZhbHVlID0gZXh0cmFjdF9ydF8yNV8yNF8yM18yMl8yMShpbnN0cnVjdGlvbik7DQo+IC0gICAg dWludDY0IGFjX3ZhbHVlID0gZXh0cmFjdF9hY18xM18xMihpbnN0cnVjdGlvbik7DQo+ICAgICAg IHVpbnQ2NCByc192YWx1ZSA9IGV4dHJhY3RfcnNfMjBfMTlfMThfMTdfMTYoaW5zdHJ1Y3Rpb24p Ow0KPiArICAgIHVpbnQ2NCBhY192YWx1ZSA9IGV4dHJhY3RfYWNfMTNfMTIoaW5zdHJ1Y3Rpb24p Ow0KPiAgIA0KPiAgICAgICBzdGQ6OnN0cmluZyBhYyA9IEFDKGNvcHkoYWNfdmFsdWUpKTsNCj4g ICAgICAgc3RkOjpzdHJpbmcgcnMgPSBHUFIoY29weShyc192YWx1ZSkpOw0KPiBAQCAtMTEzMDgs OCArMTEzMDgsOCBAQCBzdGQ6OnN0cmluZyBOTUQ6Ok1VTFRVX0RTUF8odWludDY0IGluc3RydWN0 aW9uKQ0KPiAgIHN0ZDo6c3RyaW5nIE5NRDo6TVVMVSh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICAg ew0KPiAgICAgICB1aW50NjQgcnRfdmFsdWUgPSBleHRyYWN0X3J0XzI1XzI0XzIzXzIyXzIxKGlu c3RydWN0aW9uKTsNCj4gLSAgICB1aW50NjQgcmRfdmFsdWUgPSBleHRyYWN0X3JkXzE1XzE0XzEz XzEyXzExKGluc3RydWN0aW9uKTsNCj4gICAgICAgdWludDY0IHJzX3ZhbHVlID0gZXh0cmFjdF9y c18yMF8xOV8xOF8xN18xNihpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IHJkX3ZhbHVlID0g ZXh0cmFjdF9yZF8xNV8xNF8xM18xMl8xMShpbnN0cnVjdGlvbik7DQo+ICAgDQo+ICAgICAgIHN0 ZDo6c3RyaW5nIHJkID0gR1BSKGNvcHkocmRfdmFsdWUpKTsNCj4gICAgICAgc3RkOjpzdHJpbmcg cnMgPSBHUFIoY29weShyc192YWx1ZSkpOw0KPiBAQCAtMTEzMzEsOCArMTEzMzEsOCBAQCBzdGQ6 OnN0cmluZyBOTUQ6Ok1VTFUodWludDY0IGluc3RydWN0aW9uKQ0KPiAgICAqLw0KPiAgIHN0ZDo6 c3RyaW5nIE5NRDo6TkVHX0QodWludDY0IGluc3RydWN0aW9uKQ0KPiAgIHsNCj4gLSAgICB1aW50 NjQgZnNfdmFsdWUgPSBleHRyYWN0X2ZzXzE1XzE0XzEzXzEyXzExKGluc3RydWN0aW9uKTsNCj4g ICAgICAgdWludDY0IGZ0X3ZhbHVlID0gZXh0cmFjdF9mdF8yMF8xOV8xOF8xN18xNihpbnN0cnVj dGlvbik7DQo+ICsgICAgdWludDY0IGZzX3ZhbHVlID0gZXh0cmFjdF9mc18xNV8xNF8xM18xMl8x MShpbnN0cnVjdGlvbik7DQo+ICAgDQo+ICAgICAgIHN0ZDo6c3RyaW5nIGZ0ID0gRlBSKGNvcHko ZnRfdmFsdWUpKTsNCj4gICAgICAgc3RkOjpzdHJpbmcgZnMgPSBGUFIoY29weShmc192YWx1ZSkp Ow0KPiBAQCAtMTEzNTMsOCArMTEzNTMsOCBAQCBzdGQ6OnN0cmluZyBOTUQ6Ok5FR19EKHVpbnQ2 NCBpbnN0cnVjdGlvbikNCj4gICAgKi8NCj4gICBzdGQ6OnN0cmluZyBOTUQ6Ok5FR19TKHVpbnQ2 NCBpbnN0cnVjdGlvbikNCj4gICB7DQo+IC0gICAgdWludDY0IGZzX3ZhbHVlID0gZXh0cmFjdF9m c18xNV8xNF8xM18xMl8xMShpbnN0cnVjdGlvbik7DQo+ICAgICAgIHVpbnQ2NCBmdF92YWx1ZSA9 IGV4dHJhY3RfZnRfMjBfMTlfMThfMTdfMTYoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCBm c192YWx1ZSA9IGV4dHJhY3RfZnNfMTVfMTRfMTNfMTJfMTEoaW5zdHJ1Y3Rpb24pOw0KPiAgIA0K PiAgICAgICBzdGQ6OnN0cmluZyBmdCA9IEZQUihjb3B5KGZ0X3ZhbHVlKSk7DQo+ICAgICAgIHN0 ZDo6c3RyaW5nIGZzID0gRlBSKGNvcHkoZnNfdmFsdWUpKTsNCj4gQEAgLTExNDEyLDggKzExNDEy LDggQEAgc3RkOjpzdHJpbmcgTk1EOjpOT1BfMzJfKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gICBz dGQ6OnN0cmluZyBOTUQ6Ok5PUih1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICAgew0KPiAgICAgICB1 aW50NjQgcnRfdmFsdWUgPSBleHRyYWN0X3J0XzI1XzI0XzIzXzIyXzIxKGluc3RydWN0aW9uKTsN Cj4gLSAgICB1aW50NjQgcmRfdmFsdWUgPSBleHRyYWN0X3JkXzE1XzE0XzEzXzEyXzExKGluc3Ry dWN0aW9uKTsNCj4gICAgICAgdWludDY0IHJzX3ZhbHVlID0gZXh0cmFjdF9yc18yMF8xOV8xOF8x N18xNihpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IHJkX3ZhbHVlID0gZXh0cmFjdF9yZF8x NV8xNF8xM18xMl8xMShpbnN0cnVjdGlvbik7DQo+ICAgDQo+ICAgICAgIHN0ZDo6c3RyaW5nIHJk ID0gR1BSKGNvcHkocmRfdmFsdWUpKTsNCj4gICAgICAgc3RkOjpzdHJpbmcgcnMgPSBHUFIoY29w eShyc192YWx1ZSkpOw0KPiBAQCAtMTE0ODAsOCArMTE0ODAsOCBAQCBzdGQ6OnN0cmluZyBOTUQ6 Ok9SXzE2Xyh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICAgc3RkOjpzdHJpbmcgTk1EOjpPUl8zMl8o dWludDY0IGluc3RydWN0aW9uKQ0KPiAgIHsNCj4gICAgICAgdWludDY0IHJ0X3ZhbHVlID0gZXh0 cmFjdF9ydF8yNV8yNF8yM18yMl8yMShpbnN0cnVjdGlvbik7DQo+IC0gICAgdWludDY0IHJkX3Zh bHVlID0gZXh0cmFjdF9yZF8xNV8xNF8xM18xMl8xMShpbnN0cnVjdGlvbik7DQo+ICAgICAgIHVp bnQ2NCByc192YWx1ZSA9IGV4dHJhY3RfcnNfMjBfMTlfMThfMTdfMTYoaW5zdHJ1Y3Rpb24pOw0K PiArICAgIHVpbnQ2NCByZF92YWx1ZSA9IGV4dHJhY3RfcmRfMTVfMTRfMTNfMTJfMTEoaW5zdHJ1 Y3Rpb24pOw0KPiAgIA0KPiAgICAgICBzdGQ6OnN0cmluZyByZCA9IEdQUihjb3B5KHJkX3ZhbHVl KSk7DQo+ICAgICAgIHN0ZDo6c3RyaW5nIHJzID0gR1BSKGNvcHkocnNfdmFsdWUpKTsNCj4gQEAg LTExNTA0LDggKzExNTA0LDggQEAgc3RkOjpzdHJpbmcgTk1EOjpPUl8zMl8odWludDY0IGluc3Ry dWN0aW9uKQ0KPiAgIHN0ZDo6c3RyaW5nIE5NRDo6T1JJKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4g ICB7DQo+ICAgICAgIHVpbnQ2NCBydF92YWx1ZSA9IGV4dHJhY3RfcnRfMjVfMjRfMjNfMjJfMjEo aW5zdHJ1Y3Rpb24pOw0KPiAtICAgIHVpbnQ2NCB1X3ZhbHVlID0gZXh0cmFjdF91XzExXzEwXzlf OF83XzZfNV80XzNfMl8xXzAoaW5zdHJ1Y3Rpb24pOw0KPiAgICAgICB1aW50NjQgcnNfdmFsdWUg PSBleHRyYWN0X3JzXzIwXzE5XzE4XzE3XzE2KGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQg dV92YWx1ZSA9IGV4dHJhY3RfdV8xMV8xMF85XzhfN182XzVfNF8zXzJfMV8wKGluc3RydWN0aW9u KTsNCj4gICANCj4gICAgICAgc3RkOjpzdHJpbmcgcnQgPSBHUFIoY29weShydF92YWx1ZSkpOw0K PiAgICAgICBzdGQ6OnN0cmluZyBycyA9IEdQUihjb3B5KHJzX3ZhbHVlKSk7DQo+IEBAIC0xMTUy OCw4ICsxMTUyOCw4IEBAIHN0ZDo6c3RyaW5nIE5NRDo6T1JJKHVpbnQ2NCBpbnN0cnVjdGlvbikN Cj4gICBzdGQ6OnN0cmluZyBOTUQ6OlBBQ0tSTF9QSCh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICAg ew0KPiAgICAgICB1aW50NjQgcnRfdmFsdWUgPSBleHRyYWN0X3J0XzI1XzI0XzIzXzIyXzIxKGlu c3RydWN0aW9uKTsNCj4gLSAgICB1aW50NjQgcmRfdmFsdWUgPSBleHRyYWN0X3JkXzE1XzE0XzEz XzEyXzExKGluc3RydWN0aW9uKTsNCj4gICAgICAgdWludDY0IHJzX3ZhbHVlID0gZXh0cmFjdF9y c18yMF8xOV8xOF8xN18xNihpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IHJkX3ZhbHVlID0g ZXh0cmFjdF9yZF8xNV8xNF8xM18xMl8xMShpbnN0cnVjdGlvbik7DQo+ICAgDQo+ICAgICAgIHN0 ZDo6c3RyaW5nIHJkID0gR1BSKGNvcHkocmRfdmFsdWUpKTsNCj4gICAgICAgc3RkOjpzdHJpbmcg cnMgPSBHUFIoY29weShyc192YWx1ZSkpOw0KPiBAQCAtMTE1NzAsOCArMTE1NzAsOCBAQCBzdGQ6 OnN0cmluZyBOTUQ6OlBBVVNFKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gICBzdGQ6OnN0cmluZyBO TUQ6OlBJQ0tfUEgodWludDY0IGluc3RydWN0aW9uKQ0KPiAgIHsNCj4gICAgICAgdWludDY0IHJ0 X3ZhbHVlID0gZXh0cmFjdF9ydF8yNV8yNF8yM18yMl8yMShpbnN0cnVjdGlvbik7DQo+IC0gICAg dWludDY0IHJkX3ZhbHVlID0gZXh0cmFjdF9yZF8xNV8xNF8xM18xMl8xMShpbnN0cnVjdGlvbik7 DQo+ICAgICAgIHVpbnQ2NCByc192YWx1ZSA9IGV4dHJhY3RfcnNfMjBfMTlfMThfMTdfMTYoaW5z dHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCByZF92YWx1ZSA9IGV4dHJhY3RfcmRfMTVfMTRfMTNf MTJfMTEoaW5zdHJ1Y3Rpb24pOw0KPiAgIA0KPiAgICAgICBzdGQ6OnN0cmluZyByZCA9IEdQUihj b3B5KHJkX3ZhbHVlKSk7DQo+ICAgICAgIHN0ZDo6c3RyaW5nIHJzID0gR1BSKGNvcHkocnNfdmFs dWUpKTsNCj4gQEAgLTExNTk0LDggKzExNTk0LDggQEAgc3RkOjpzdHJpbmcgTk1EOjpQSUNLX1BI KHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gICBzdGQ6OnN0cmluZyBOTUQ6OlBJQ0tfUUIodWludDY0 IGluc3RydWN0aW9uKQ0KPiAgIHsNCj4gICAgICAgdWludDY0IHJ0X3ZhbHVlID0gZXh0cmFjdF9y dF8yNV8yNF8yM18yMl8yMShpbnN0cnVjdGlvbik7DQo+IC0gICAgdWludDY0IHJkX3ZhbHVlID0g ZXh0cmFjdF9yZF8xNV8xNF8xM18xMl8xMShpbnN0cnVjdGlvbik7DQo+ICAgICAgIHVpbnQ2NCBy c192YWx1ZSA9IGV4dHJhY3RfcnNfMjBfMTlfMThfMTdfMTYoaW5zdHJ1Y3Rpb24pOw0KPiArICAg IHVpbnQ2NCByZF92YWx1ZSA9IGV4dHJhY3RfcmRfMTVfMTRfMTNfMTJfMTEoaW5zdHJ1Y3Rpb24p Ow0KPiAgIA0KPiAgICAgICBzdGQ6OnN0cmluZyByZCA9IEdQUihjb3B5KHJkX3ZhbHVlKSk7DQo+ ICAgICAgIHN0ZDo6c3RyaW5nIHJzID0gR1BSKGNvcHkocnNfdmFsdWUpKTsNCj4gQEAgLTExODM4 LDggKzExODM4LDggQEAgc3RkOjpzdHJpbmcgTk1EOjpQUkVDRVVfUEhfUUJSKHVpbnQ2NCBpbnN0 cnVjdGlvbikNCj4gICBzdGQ6OnN0cmluZyBOTUQ6OlBSRUNSX1FCX1BIKHVpbnQ2NCBpbnN0cnVj dGlvbikNCj4gICB7DQo+ICAgICAgIHVpbnQ2NCBydF92YWx1ZSA9IGV4dHJhY3RfcnRfMjVfMjRf MjNfMjJfMjEoaW5zdHJ1Y3Rpb24pOw0KPiAtICAgIHVpbnQ2NCByZF92YWx1ZSA9IGV4dHJhY3Rf cmRfMTVfMTRfMTNfMTJfMTEoaW5zdHJ1Y3Rpb24pOw0KPiAgICAgICB1aW50NjQgcnNfdmFsdWUg PSBleHRyYWN0X3JzXzIwXzE5XzE4XzE3XzE2KGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQg cmRfdmFsdWUgPSBleHRyYWN0X3JkXzE1XzE0XzEzXzEyXzExKGluc3RydWN0aW9uKTsNCj4gICAN Cj4gICAgICAgc3RkOjpzdHJpbmcgcmQgPSBHUFIoY29weShyZF92YWx1ZSkpOw0KPiAgICAgICBz dGQ6OnN0cmluZyBycyA9IEdQUihjb3B5KHJzX3ZhbHVlKSk7DQo+IEBAIC0xMTkxMCw4ICsxMTkx MCw4IEBAIHN0ZDo6c3RyaW5nIE5NRDo6UFJFQ1JfU1JBX1JfUEhfVyh1aW50NjQgaW5zdHJ1Y3Rp b24pDQo+ICAgc3RkOjpzdHJpbmcgTk1EOjpQUkVDUlFfUEhfVyh1aW50NjQgaW5zdHJ1Y3Rpb24p DQo+ICAgew0KPiAgICAgICB1aW50NjQgcnRfdmFsdWUgPSBleHRyYWN0X3J0XzI1XzI0XzIzXzIy XzIxKGluc3RydWN0aW9uKTsNCj4gLSAgICB1aW50NjQgcmRfdmFsdWUgPSBleHRyYWN0X3JkXzE1 XzE0XzEzXzEyXzExKGluc3RydWN0aW9uKTsNCj4gICAgICAgdWludDY0IHJzX3ZhbHVlID0gZXh0 cmFjdF9yc18yMF8xOV8xOF8xN18xNihpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IHJkX3Zh bHVlID0gZXh0cmFjdF9yZF8xNV8xNF8xM18xMl8xMShpbnN0cnVjdGlvbik7DQo+ICAgDQo+ICAg ICAgIHN0ZDo6c3RyaW5nIHJkID0gR1BSKGNvcHkocmRfdmFsdWUpKTsNCj4gICAgICAgc3RkOjpz dHJpbmcgcnMgPSBHUFIoY29weShyc192YWx1ZSkpOw0KPiBAQCAtMTE5MzQsOCArMTE5MzQsOCBA QCBzdGQ6OnN0cmluZyBOTUQ6OlBSRUNSUV9QSF9XKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gICBz dGQ6OnN0cmluZyBOTUQ6OlBSRUNSUV9RQl9QSCh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICAgew0K PiAgICAgICB1aW50NjQgcnRfdmFsdWUgPSBleHRyYWN0X3J0XzI1XzI0XzIzXzIyXzIxKGluc3Ry dWN0aW9uKTsNCj4gLSAgICB1aW50NjQgcmRfdmFsdWUgPSBleHRyYWN0X3JkXzE1XzE0XzEzXzEy XzExKGluc3RydWN0aW9uKTsNCj4gICAgICAgdWludDY0IHJzX3ZhbHVlID0gZXh0cmFjdF9yc18y MF8xOV8xOF8xN18xNihpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IHJkX3ZhbHVlID0gZXh0 cmFjdF9yZF8xNV8xNF8xM18xMl8xMShpbnN0cnVjdGlvbik7DQo+ICAgDQo+ICAgICAgIHN0ZDo6 c3RyaW5nIHJkID0gR1BSKGNvcHkocmRfdmFsdWUpKTsNCj4gICAgICAgc3RkOjpzdHJpbmcgcnMg PSBHUFIoY29weShyc192YWx1ZSkpOw0KPiBAQCAtMTE5NTgsOCArMTE5NTgsOCBAQCBzdGQ6OnN0 cmluZyBOTUQ6OlBSRUNSUV9RQl9QSCh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICAgc3RkOjpzdHJp bmcgTk1EOjpQUkVDUlFfUlNfUEhfVyh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICAgew0KPiAgICAg ICB1aW50NjQgcnRfdmFsdWUgPSBleHRyYWN0X3J0XzI1XzI0XzIzXzIyXzIxKGluc3RydWN0aW9u KTsNCj4gLSAgICB1aW50NjQgcmRfdmFsdWUgPSBleHRyYWN0X3JkXzE1XzE0XzEzXzEyXzExKGlu c3RydWN0aW9uKTsNCj4gICAgICAgdWludDY0IHJzX3ZhbHVlID0gZXh0cmFjdF9yc18yMF8xOV8x OF8xN18xNihpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IHJkX3ZhbHVlID0gZXh0cmFjdF9y ZF8xNV8xNF8xM18xMl8xMShpbnN0cnVjdGlvbik7DQo+ICAgDQo+ICAgICAgIHN0ZDo6c3RyaW5n IHJkID0gR1BSKGNvcHkocmRfdmFsdWUpKTsNCj4gICAgICAgc3RkOjpzdHJpbmcgcnMgPSBHUFIo Y29weShyc192YWx1ZSkpOw0KPiBAQCAtMTE5ODIsOCArMTE5ODIsOCBAQCBzdGQ6OnN0cmluZyBO TUQ6OlBSRUNSUV9SU19QSF9XKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gICBzdGQ6OnN0cmluZyBO TUQ6OlBSRUNSUVVfU19RQl9QSCh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICAgew0KPiAgICAgICB1 aW50NjQgcnRfdmFsdWUgPSBleHRyYWN0X3J0XzI1XzI0XzIzXzIyXzIxKGluc3RydWN0aW9uKTsN Cj4gLSAgICB1aW50NjQgcmRfdmFsdWUgPSBleHRyYWN0X3JkXzE1XzE0XzEzXzEyXzExKGluc3Ry dWN0aW9uKTsNCj4gICAgICAgdWludDY0IHJzX3ZhbHVlID0gZXh0cmFjdF9yc18yMF8xOV8xOF8x N18xNihpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IHJkX3ZhbHVlID0gZXh0cmFjdF9yZF8x NV8xNF8xM18xMl8xMShpbnN0cnVjdGlvbik7DQo+ICAgDQo+ICAgICAgIHN0ZDo6c3RyaW5nIHJk ID0gR1BSKGNvcHkocmRfdmFsdWUpKTsNCj4gICAgICAgc3RkOjpzdHJpbmcgcnMgPSBHUFIoY29w eShyc192YWx1ZSkpOw0KPiBAQCAtMTIwMDUsOSArMTIwMDUsOSBAQCBzdGQ6OnN0cmluZyBOTUQ6 OlBSRUNSUVVfU19RQl9QSCh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICAgICovDQo+ICAgc3RkOjpz dHJpbmcgTk1EOjpQUkVGX1M5Xyh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICAgew0KPiAtICAgIGlu dDY0IHNfdmFsdWUgPSBleHRyX3NpbDBpbDBiczhfaWwxNWlsOGJzMVRtc2I4KGluc3RydWN0aW9u KTsNCj4gICAgICAgdWludDY0IGhpbnRfdmFsdWUgPSBleHRyYWN0X2hpbnRfMjVfMjRfMjNfMjJf MjEoaW5zdHJ1Y3Rpb24pOw0KPiAgICAgICB1aW50NjQgcnNfdmFsdWUgPSBleHRyYWN0X3JzXzIw XzE5XzE4XzE3XzE2KGluc3RydWN0aW9uKTsNCj4gKyAgICBpbnQ2NCBzX3ZhbHVlID0gZXh0cl9z aWwwaWwwYnM4X2lsMTVpbDhiczFUbXNiOChpbnN0cnVjdGlvbik7DQo+ICAgDQo+ICAgICAgIHN0 ZDo6c3RyaW5nIGhpbnQgPSBJTU1FRElBVEUoY29weShoaW50X3ZhbHVlKSk7DQo+ICAgICAgIHN0 ZDo6c3RyaW5nIHMgPSBJTU1FRElBVEUoY29weShzX3ZhbHVlKSk7DQo+IEBAIC0xMjAzMCw4ICsx MjAzMCw4IEBAIHN0ZDo6c3RyaW5nIE5NRDo6UFJFRl9TOV8odWludDY0IGluc3RydWN0aW9uKQ0K PiAgIHN0ZDo6c3RyaW5nIE5NRDo6UFJFRl9VMTJfKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gICB7 DQo+ICAgICAgIHVpbnQ2NCBoaW50X3ZhbHVlID0gZXh0cmFjdF9oaW50XzI1XzI0XzIzXzIyXzIx KGluc3RydWN0aW9uKTsNCj4gLSAgICB1aW50NjQgdV92YWx1ZSA9IGV4dHJhY3RfdV8xMV8xMF85 XzhfN182XzVfNF8zXzJfMV8wKGluc3RydWN0aW9uKTsNCj4gICAgICAgdWludDY0IHJzX3ZhbHVl ID0gZXh0cmFjdF9yc18yMF8xOV8xOF8xN18xNihpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0 IHVfdmFsdWUgPSBleHRyYWN0X3VfMTFfMTBfOV84XzdfNl81XzRfM18yXzFfMChpbnN0cnVjdGlv bik7DQo+ICAgDQo+ICAgICAgIHN0ZDo6c3RyaW5nIGhpbnQgPSBJTU1FRElBVEUoY29weShoaW50 X3ZhbHVlKSk7DQo+ICAgICAgIHN0ZDo6c3RyaW5nIHUgPSBJTU1FRElBVEUoY29weSh1X3ZhbHVl KSk7DQo+IEBAIC0xMjE5MSw4ICsxMjE5MSw4IEBAIHN0ZDo6c3RyaW5nIE5NRDo6UkRQR1BSKHVp bnQ2NCBpbnN0cnVjdGlvbikNCj4gICAgKi8NCj4gICBzdGQ6OnN0cmluZyBOTUQ6OlJFQ0lQX0Qo dWludDY0IGluc3RydWN0aW9uKQ0KPiAgIHsNCj4gLSAgICB1aW50NjQgZnNfdmFsdWUgPSBleHRy YWN0X2ZzXzE1XzE0XzEzXzEyXzExKGluc3RydWN0aW9uKTsNCj4gICAgICAgdWludDY0IGZ0X3Zh bHVlID0gZXh0cmFjdF9mdF8yMF8xOV8xOF8xN18xNihpbnN0cnVjdGlvbik7DQo+ICsgICAgdWlu dDY0IGZzX3ZhbHVlID0gZXh0cmFjdF9mc18xNV8xNF8xM18xMl8xMShpbnN0cnVjdGlvbik7DQo+ ICAgDQo+ICAgICAgIHN0ZDo6c3RyaW5nIGZ0ID0gRlBSKGNvcHkoZnRfdmFsdWUpKTsNCj4gICAg ICAgc3RkOjpzdHJpbmcgZnMgPSBGUFIoY29weShmc192YWx1ZSkpOw0KPiBAQCAtMTIyMTMsOCAr MTIyMTMsOCBAQCBzdGQ6OnN0cmluZyBOTUQ6OlJFQ0lQX0QodWludDY0IGluc3RydWN0aW9uKQ0K PiAgICAqLw0KPiAgIHN0ZDo6c3RyaW5nIE5NRDo6UkVDSVBfUyh1aW50NjQgaW5zdHJ1Y3Rpb24p DQo+ICAgew0KPiAtICAgIHVpbnQ2NCBmc192YWx1ZSA9IGV4dHJhY3RfZnNfMTVfMTRfMTNfMTJf MTEoaW5zdHJ1Y3Rpb24pOw0KPiAgICAgICB1aW50NjQgZnRfdmFsdWUgPSBleHRyYWN0X2Z0XzIw XzE5XzE4XzE3XzE2KGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgZnNfdmFsdWUgPSBleHRy YWN0X2ZzXzE1XzE0XzEzXzEyXzExKGluc3RydWN0aW9uKTsNCj4gICANCj4gICAgICAgc3RkOjpz dHJpbmcgZnQgPSBGUFIoY29weShmdF92YWx1ZSkpOw0KPiAgICAgICBzdGQ6OnN0cmluZyBmcyA9 IEZQUihjb3B5KGZzX3ZhbHVlKSk7DQo+IEBAIC0xMjM2OCw4ICsxMjM2OCw4IEBAIHN0ZDo6c3Ry aW5nIE5NRDo6UkVTVE9SRV9KUkNfMTZfKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gICAgKi8NCj4g ICBzdGQ6OnN0cmluZyBOTUQ6OlJFU1RPUkVfSlJDXzMyXyh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ ICAgew0KPiAtICAgIHVpbnQ2NCBjb3VudF92YWx1ZSA9IGV4dHJhY3RfY291bnRfMTlfMThfMTdf MTYoaW5zdHJ1Y3Rpb24pOw0KPiAgICAgICB1aW50NjQgcnRfdmFsdWUgPSBleHRyYWN0X3J0XzI1 XzI0XzIzXzIyXzIxKGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgY291bnRfdmFsdWUgPSBl eHRyYWN0X2NvdW50XzE5XzE4XzE3XzE2KGluc3RydWN0aW9uKTsNCj4gICAgICAgdWludDY0IHVf dmFsdWUgPSBleHRyX3VpbDNpbDNiczlGbXNiMTEoaW5zdHJ1Y3Rpb24pOw0KPiAgICAgICB1aW50 NjQgZ3BfdmFsdWUgPSBleHRyYWN0X2dwXzIoaW5zdHJ1Y3Rpb24pOw0KPiAgIA0KPiBAQCAtMTI0 MTMsOCArMTI0MTMsOCBAQCBzdGQ6OnN0cmluZyBOTUQ6OlJFU1RPUkVGKHVpbnQ2NCBpbnN0cnVj dGlvbikNCj4gICAgKi8NCj4gICBzdGQ6OnN0cmluZyBOTUQ6OlJJTlRfRCh1aW50NjQgaW5zdHJ1 Y3Rpb24pDQo+ICAgew0KPiAtICAgIHVpbnQ2NCBmc192YWx1ZSA9IGV4dHJhY3RfZnNfMTVfMTRf MTNfMTJfMTEoaW5zdHJ1Y3Rpb24pOw0KPiAgICAgICB1aW50NjQgZnRfdmFsdWUgPSBleHRyYWN0 X2Z0XzIwXzE5XzE4XzE3XzE2KGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgZnNfdmFsdWUg PSBleHRyYWN0X2ZzXzE1XzE0XzEzXzEyXzExKGluc3RydWN0aW9uKTsNCj4gICANCj4gICAgICAg c3RkOjpzdHJpbmcgZnQgPSBGUFIoY29weShmdF92YWx1ZSkpOw0KPiAgICAgICBzdGQ6OnN0cmlu ZyBmcyA9IEZQUihjb3B5KGZzX3ZhbHVlKSk7DQo+IEBAIC0xMjQzNSw4ICsxMjQzNSw4IEBAIHN0 ZDo6c3RyaW5nIE5NRDo6UklOVF9EKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gICAgKi8NCj4gICBz dGQ6OnN0cmluZyBOTUQ6OlJJTlRfUyh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICAgew0KPiAtICAg IHVpbnQ2NCBmc192YWx1ZSA9IGV4dHJhY3RfZnNfMTVfMTRfMTNfMTJfMTEoaW5zdHJ1Y3Rpb24p Ow0KPiAgICAgICB1aW50NjQgZnRfdmFsdWUgPSBleHRyYWN0X2Z0XzIwXzE5XzE4XzE3XzE2KGlu c3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgZnNfdmFsdWUgPSBleHRyYWN0X2ZzXzE1XzE0XzEz XzEyXzExKGluc3RydWN0aW9uKTsNCj4gICANCj4gICAgICAgc3RkOjpzdHJpbmcgZnQgPSBGUFIo Y29weShmdF92YWx1ZSkpOw0KPiAgICAgICBzdGQ6OnN0cmluZyBmcyA9IEZQUihjb3B5KGZzX3Zh bHVlKSk7DQo+IEBAIC0xMjQ1OCw4ICsxMjQ1OCw4IEBAIHN0ZDo6c3RyaW5nIE5NRDo6UklOVF9T KHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gICBzdGQ6OnN0cmluZyBOTUQ6OlJPVFIodWludDY0IGlu c3RydWN0aW9uKQ0KPiAgIHsNCj4gICAgICAgdWludDY0IHJ0X3ZhbHVlID0gZXh0cmFjdF9ydF8y NV8yNF8yM18yMl8yMShpbnN0cnVjdGlvbik7DQo+IC0gICAgdWludDY0IHNoaWZ0X3ZhbHVlID0g ZXh0cmFjdF9zaGlmdF80XzNfMl8xXzAoaW5zdHJ1Y3Rpb24pOw0KPiAgICAgICB1aW50NjQgcnNf dmFsdWUgPSBleHRyYWN0X3JzXzIwXzE5XzE4XzE3XzE2KGluc3RydWN0aW9uKTsNCj4gKyAgICB1 aW50NjQgc2hpZnRfdmFsdWUgPSBleHRyYWN0X3NoaWZ0XzRfM18yXzFfMChpbnN0cnVjdGlvbik7 DQo+ICAgDQo+ICAgICAgIHN0ZDo6c3RyaW5nIHJ0ID0gR1BSKGNvcHkocnRfdmFsdWUpKTsNCj4g ICAgICAgc3RkOjpzdHJpbmcgcnMgPSBHUFIoY29weShyc192YWx1ZSkpOw0KPiBAQCAtMTI0ODIs OCArMTI0ODIsOCBAQCBzdGQ6OnN0cmluZyBOTUQ6OlJPVFIodWludDY0IGluc3RydWN0aW9uKQ0K PiAgIHN0ZDo6c3RyaW5nIE5NRDo6Uk9UUlYodWludDY0IGluc3RydWN0aW9uKQ0KPiAgIHsNCj4g ICAgICAgdWludDY0IHJ0X3ZhbHVlID0gZXh0cmFjdF9ydF8yNV8yNF8yM18yMl8yMShpbnN0cnVj dGlvbik7DQo+IC0gICAgdWludDY0IHJkX3ZhbHVlID0gZXh0cmFjdF9yZF8xNV8xNF8xM18xMl8x MShpbnN0cnVjdGlvbik7DQo+ICAgICAgIHVpbnQ2NCByc192YWx1ZSA9IGV4dHJhY3RfcnNfMjBf MTlfMThfMTdfMTYoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCByZF92YWx1ZSA9IGV4dHJh Y3RfcmRfMTVfMTRfMTNfMTJfMTEoaW5zdHJ1Y3Rpb24pOw0KPiAgIA0KPiAgICAgICBzdGQ6OnN0 cmluZyByZCA9IEdQUihjb3B5KHJkX3ZhbHVlKSk7DQo+ICAgICAgIHN0ZDo6c3RyaW5nIHJzID0g R1BSKGNvcHkocnNfdmFsdWUpKTsNCj4gQEAgLTEyNTA2LDEwICsxMjUwNiwxMCBAQCBzdGQ6OnN0 cmluZyBOTUQ6OlJPVFJWKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gICBzdGQ6OnN0cmluZyBOTUQ6 OlJPVFgodWludDY0IGluc3RydWN0aW9uKQ0KPiAgIHsNCj4gICAgICAgdWludDY0IHJ0X3ZhbHVl ID0gZXh0cmFjdF9ydF8yNV8yNF8yM18yMl8yMShpbnN0cnVjdGlvbik7DQo+IC0gICAgdWludDY0 IHNoaWZ0X3ZhbHVlID0gZXh0cmFjdF9zaGlmdF80XzNfMl8xXzAoaW5zdHJ1Y3Rpb24pOw0KPiAr ICAgIHVpbnQ2NCByc192YWx1ZSA9IGV4dHJhY3RfcnNfMjBfMTlfMThfMTdfMTYoaW5zdHJ1Y3Rp b24pOw0KPiAgICAgICB1aW50NjQgc2hpZnR4X3ZhbHVlID0gZXh0cl9zaGlmdHhpbDdpbDFiczRG bXNiNChpbnN0cnVjdGlvbik7DQo+ICAgICAgIHVpbnQ2NCBzdHJpcGVfdmFsdWUgPSBleHRyYWN0 X3N0cmlwZV82KGluc3RydWN0aW9uKTsNCj4gLSAgICB1aW50NjQgcnNfdmFsdWUgPSBleHRyYWN0 X3JzXzIwXzE5XzE4XzE3XzE2KGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgc2hpZnRfdmFs dWUgPSBleHRyYWN0X3NoaWZ0XzRfM18yXzFfMChpbnN0cnVjdGlvbik7DQo+ICAgDQo+ICAgICAg IHN0ZDo6c3RyaW5nIHJ0ID0gR1BSKGNvcHkocnRfdmFsdWUpKTsNCj4gICAgICAgc3RkOjpzdHJp bmcgcnMgPSBHUFIoY29weShyc192YWx1ZSkpOw0KPiBAQCAtMTI1MzQsOCArMTI1MzQsOCBAQCBz dGQ6OnN0cmluZyBOTUQ6OlJPVFgodWludDY0IGluc3RydWN0aW9uKQ0KPiAgICAqLw0KPiAgIHN0 ZDo6c3RyaW5nIE5NRDo6Uk9VTkRfTF9EKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gICB7DQo+IC0g ICAgdWludDY0IGZzX3ZhbHVlID0gZXh0cmFjdF9mc18xNV8xNF8xM18xMl8xMShpbnN0cnVjdGlv bik7DQo+ICAgICAgIHVpbnQ2NCBmdF92YWx1ZSA9IGV4dHJhY3RfZnRfMjBfMTlfMThfMTdfMTYo aW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCBmc192YWx1ZSA9IGV4dHJhY3RfZnNfMTVfMTRf MTNfMTJfMTEoaW5zdHJ1Y3Rpb24pOw0KPiAgIA0KPiAgICAgICBzdGQ6OnN0cmluZyBmdCA9IEZQ Uihjb3B5KGZ0X3ZhbHVlKSk7DQo+ICAgICAgIHN0ZDo6c3RyaW5nIGZzID0gRlBSKGNvcHkoZnNf dmFsdWUpKTsNCj4gQEAgLTEyNTU2LDggKzEyNTU2LDggQEAgc3RkOjpzdHJpbmcgTk1EOjpST1VO RF9MX0QodWludDY0IGluc3RydWN0aW9uKQ0KPiAgICAqLw0KPiAgIHN0ZDo6c3RyaW5nIE5NRDo6 Uk9VTkRfTF9TKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gICB7DQo+IC0gICAgdWludDY0IGZzX3Zh bHVlID0gZXh0cmFjdF9mc18xNV8xNF8xM18xMl8xMShpbnN0cnVjdGlvbik7DQo+ICAgICAgIHVp bnQ2NCBmdF92YWx1ZSA9IGV4dHJhY3RfZnRfMjBfMTlfMThfMTdfMTYoaW5zdHJ1Y3Rpb24pOw0K PiArICAgIHVpbnQ2NCBmc192YWx1ZSA9IGV4dHJhY3RfZnNfMTVfMTRfMTNfMTJfMTEoaW5zdHJ1 Y3Rpb24pOw0KPiAgIA0KPiAgICAgICBzdGQ6OnN0cmluZyBmdCA9IEZQUihjb3B5KGZ0X3ZhbHVl KSk7DQo+ICAgICAgIHN0ZDo6c3RyaW5nIGZzID0gRlBSKGNvcHkoZnNfdmFsdWUpKTsNCj4gQEAg LTEyNTc4LDggKzEyNTc4LDggQEAgc3RkOjpzdHJpbmcgTk1EOjpST1VORF9MX1ModWludDY0IGlu c3RydWN0aW9uKQ0KPiAgICAqLw0KPiAgIHN0ZDo6c3RyaW5nIE5NRDo6Uk9VTkRfV19EKHVpbnQ2 NCBpbnN0cnVjdGlvbikNCj4gICB7DQo+IC0gICAgdWludDY0IGZzX3ZhbHVlID0gZXh0cmFjdF9m c18xNV8xNF8xM18xMl8xMShpbnN0cnVjdGlvbik7DQo+ICAgICAgIHVpbnQ2NCBmdF92YWx1ZSA9 IGV4dHJhY3RfZnRfMjBfMTlfMThfMTdfMTYoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCBm c192YWx1ZSA9IGV4dHJhY3RfZnNfMTVfMTRfMTNfMTJfMTEoaW5zdHJ1Y3Rpb24pOw0KPiAgIA0K PiAgICAgICBzdGQ6OnN0cmluZyBmdCA9IEZQUihjb3B5KGZ0X3ZhbHVlKSk7DQo+ICAgICAgIHN0 ZDo6c3RyaW5nIGZzID0gRlBSKGNvcHkoZnNfdmFsdWUpKTsNCj4gQEAgLTEyNjAwLDggKzEyNjAw LDggQEAgc3RkOjpzdHJpbmcgTk1EOjpST1VORF9XX0QodWludDY0IGluc3RydWN0aW9uKQ0KPiAg ICAqLw0KPiAgIHN0ZDo6c3RyaW5nIE5NRDo6Uk9VTkRfV19TKHVpbnQ2NCBpbnN0cnVjdGlvbikN Cj4gICB7DQo+IC0gICAgdWludDY0IGZzX3ZhbHVlID0gZXh0cmFjdF9mc18xNV8xNF8xM18xMl8x MShpbnN0cnVjdGlvbik7DQo+ICAgICAgIHVpbnQ2NCBmdF92YWx1ZSA9IGV4dHJhY3RfZnRfMjBf MTlfMThfMTdfMTYoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCBmc192YWx1ZSA9IGV4dHJh Y3RfZnNfMTVfMTRfMTNfMTJfMTEoaW5zdHJ1Y3Rpb24pOw0KPiAgIA0KPiAgICAgICBzdGQ6OnN0 cmluZyBmdCA9IEZQUihjb3B5KGZ0X3ZhbHVlKSk7DQo+ICAgICAgIHN0ZDo6c3RyaW5nIGZzID0g RlBSKGNvcHkoZnNfdmFsdWUpKTsNCj4gQEAgLTEyNjIyLDggKzEyNjIyLDggQEAgc3RkOjpzdHJp bmcgTk1EOjpST1VORF9XX1ModWludDY0IGluc3RydWN0aW9uKQ0KPiAgICAqLw0KPiAgIHN0ZDo6 c3RyaW5nIE5NRDo6UlNRUlRfRCh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICAgew0KPiAtICAgIHVp bnQ2NCBmc192YWx1ZSA9IGV4dHJhY3RfZnNfMTVfMTRfMTNfMTJfMTEoaW5zdHJ1Y3Rpb24pOw0K PiAgICAgICB1aW50NjQgZnRfdmFsdWUgPSBleHRyYWN0X2Z0XzIwXzE5XzE4XzE3XzE2KGluc3Ry dWN0aW9uKTsNCj4gKyAgICB1aW50NjQgZnNfdmFsdWUgPSBleHRyYWN0X2ZzXzE1XzE0XzEzXzEy XzExKGluc3RydWN0aW9uKTsNCj4gICANCj4gICAgICAgc3RkOjpzdHJpbmcgZnQgPSBGUFIoY29w eShmdF92YWx1ZSkpOw0KPiAgICAgICBzdGQ6OnN0cmluZyBmcyA9IEZQUihjb3B5KGZzX3ZhbHVl KSk7DQo+IEBAIC0xMjY0NCw4ICsxMjY0NCw4IEBAIHN0ZDo6c3RyaW5nIE5NRDo6UlNRUlRfRCh1 aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICAgICovDQo+ICAgc3RkOjpzdHJpbmcgTk1EOjpSU1FSVF9T KHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gICB7DQo+IC0gICAgdWludDY0IGZzX3ZhbHVlID0gZXh0 cmFjdF9mc18xNV8xNF8xM18xMl8xMShpbnN0cnVjdGlvbik7DQo+ICAgICAgIHVpbnQ2NCBmdF92 YWx1ZSA9IGV4dHJhY3RfZnRfMjBfMTlfMThfMTdfMTYoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVp bnQ2NCBmc192YWx1ZSA9IGV4dHJhY3RfZnNfMTVfMTRfMTNfMTJfMTEoaW5zdHJ1Y3Rpb24pOw0K PiAgIA0KPiAgICAgICBzdGQ6OnN0cmluZyBmdCA9IEZQUihjb3B5KGZ0X3ZhbHVlKSk7DQo+ICAg ICAgIHN0ZDo6c3RyaW5nIGZzID0gRlBSKGNvcHkoZnNfdmFsdWUpKTsNCj4gQEAgLTEyODA0LDgg KzEyODA0LDggQEAgc3RkOjpzdHJpbmcgTk1EOjpTQl9TOV8odWludDY0IGluc3RydWN0aW9uKQ0K PiAgIHN0ZDo6c3RyaW5nIE5NRDo6U0JfVTEyXyh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICAgew0K PiAgICAgICB1aW50NjQgcnRfdmFsdWUgPSBleHRyYWN0X3J0XzI1XzI0XzIzXzIyXzIxKGluc3Ry dWN0aW9uKTsNCj4gLSAgICB1aW50NjQgdV92YWx1ZSA9IGV4dHJhY3RfdV8xMV8xMF85XzhfN182 XzVfNF8zXzJfMV8wKGluc3RydWN0aW9uKTsNCj4gICAgICAgdWludDY0IHJzX3ZhbHVlID0gZXh0 cmFjdF9yc18yMF8xOV8xOF8xN18xNihpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IHVfdmFs dWUgPSBleHRyYWN0X3VfMTFfMTBfOV84XzdfNl81XzRfM18yXzFfMChpbnN0cnVjdGlvbik7DQo+ ICAgDQo+ICAgICAgIHN0ZDo6c3RyaW5nIHJ0ID0gR1BSKGNvcHkocnRfdmFsdWUpKTsNCj4gICAg ICAgc3RkOjpzdHJpbmcgdSA9IElNTUVESUFURShjb3B5KHVfdmFsdWUpKTsNCj4gQEAgLTEyODUy LDggKzEyODUyLDggQEAgc3RkOjpzdHJpbmcgTk1EOjpTQkUodWludDY0IGluc3RydWN0aW9uKQ0K PiAgIHN0ZDo6c3RyaW5nIE5NRDo6U0JYKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gICB7DQo+ICAg ICAgIHVpbnQ2NCBydF92YWx1ZSA9IGV4dHJhY3RfcnRfMjVfMjRfMjNfMjJfMjEoaW5zdHJ1Y3Rp b24pOw0KPiAtICAgIHVpbnQ2NCByZF92YWx1ZSA9IGV4dHJhY3RfcmRfMTVfMTRfMTNfMTJfMTEo aW5zdHJ1Y3Rpb24pOw0KPiAgICAgICB1aW50NjQgcnNfdmFsdWUgPSBleHRyYWN0X3JzXzIwXzE5 XzE4XzE3XzE2KGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgcmRfdmFsdWUgPSBleHRyYWN0 X3JkXzE1XzE0XzEzXzEyXzExKGluc3RydWN0aW9uKTsNCj4gICANCj4gICAgICAgc3RkOjpzdHJp bmcgcmQgPSBHUFIoY29weShyZF92YWx1ZSkpOw0KPiAgICAgICBzdGQ6OnN0cmluZyBycyA9IEdQ Uihjb3B5KHJzX3ZhbHVlKSk7DQo+IEBAIC0xMjkyNCw4ICsxMjkyNCw4IEBAIHN0ZDo6c3RyaW5n IE5NRDo6U0NEKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gICBzdGQ6OnN0cmluZyBOTUQ6OlNDRFAo dWludDY0IGluc3RydWN0aW9uKQ0KPiAgIHsNCj4gICAgICAgdWludDY0IHJ0X3ZhbHVlID0gZXh0 cmFjdF9ydF8yNV8yNF8yM18yMl8yMShpbnN0cnVjdGlvbik7DQo+IC0gICAgdWludDY0IHJ1X3Zh bHVlID0gZXh0cmFjdF9ydV83XzZfNV80XzMoaW5zdHJ1Y3Rpb24pOw0KPiAgICAgICB1aW50NjQg cnNfdmFsdWUgPSBleHRyYWN0X3JzXzIwXzE5XzE4XzE3XzE2KGluc3RydWN0aW9uKTsNCj4gKyAg ICB1aW50NjQgcnVfdmFsdWUgPSBleHRyYWN0X3J1XzdfNl81XzRfMyhpbnN0cnVjdGlvbik7DQo+ ICAgDQo+ICAgICAgIHN0ZDo6c3RyaW5nIHJ0ID0gR1BSKGNvcHkocnRfdmFsdWUpKTsNCj4gICAg ICAgc3RkOjpzdHJpbmcgcnUgPSBHUFIoY29weShydV92YWx1ZSkpOw0KPiBAQCAtMTI5NzIsOCAr MTI5NzIsOCBAQCBzdGQ6OnN0cmluZyBOTUQ6OlNDRSh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICAg c3RkOjpzdHJpbmcgTk1EOjpTQ1dQKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gICB7DQo+ICAgICAg IHVpbnQ2NCBydF92YWx1ZSA9IGV4dHJhY3RfcnRfMjVfMjRfMjNfMjJfMjEoaW5zdHJ1Y3Rpb24p Ow0KPiAtICAgIHVpbnQ2NCBydV92YWx1ZSA9IGV4dHJhY3RfcnVfN182XzVfNF8zKGluc3RydWN0 aW9uKTsNCj4gICAgICAgdWludDY0IHJzX3ZhbHVlID0gZXh0cmFjdF9yc18yMF8xOV8xOF8xN18x NihpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IHJ1X3ZhbHVlID0gZXh0cmFjdF9ydV83XzZf NV80XzMoaW5zdHJ1Y3Rpb24pOw0KPiAgIA0KPiAgICAgICBzdGQ6OnN0cmluZyBydCA9IEdQUihj b3B5KHJ0X3ZhbHVlKSk7DQo+ICAgICAgIHN0ZDo6c3RyaW5nIHJ1ID0gR1BSKGNvcHkocnVfdmFs dWUpKTsNCj4gQEAgLTEyOTk2LDggKzEyOTk2LDggQEAgc3RkOjpzdHJpbmcgTk1EOjpTQ1dQKHVp bnQ2NCBpbnN0cnVjdGlvbikNCj4gICBzdGQ6OnN0cmluZyBOTUQ6OlNDV1BFKHVpbnQ2NCBpbnN0 cnVjdGlvbikNCj4gICB7DQo+ICAgICAgIHVpbnQ2NCBydF92YWx1ZSA9IGV4dHJhY3RfcnRfMjVf MjRfMjNfMjJfMjEoaW5zdHJ1Y3Rpb24pOw0KPiAtICAgIHVpbnQ2NCBydV92YWx1ZSA9IGV4dHJh Y3RfcnVfN182XzVfNF8zKGluc3RydWN0aW9uKTsNCj4gICAgICAgdWludDY0IHJzX3ZhbHVlID0g ZXh0cmFjdF9yc18yMF8xOV8xOF8xN18xNihpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IHJ1 X3ZhbHVlID0gZXh0cmFjdF9ydV83XzZfNV80XzMoaW5zdHJ1Y3Rpb24pOw0KPiAgIA0KPiAgICAg ICBzdGQ6OnN0cmluZyBydCA9IEdQUihjb3B5KHJ0X3ZhbHVlKSk7DQo+ICAgICAgIHN0ZDo6c3Ry aW5nIHJ1ID0gR1BSKGNvcHkocnVfdmFsdWUpKTsNCj4gQEAgLTEzMDY2LDggKzEzMDY2LDggQEAg c3RkOjpzdHJpbmcgTk1EOjpTRF9TOV8odWludDY0IGluc3RydWN0aW9uKQ0KPiAgIHN0ZDo6c3Ry aW5nIE5NRDo6U0RfVTEyXyh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICAgew0KPiAgICAgICB1aW50 NjQgcnRfdmFsdWUgPSBleHRyYWN0X3J0XzI1XzI0XzIzXzIyXzIxKGluc3RydWN0aW9uKTsNCj4g LSAgICB1aW50NjQgdV92YWx1ZSA9IGV4dHJhY3RfdV8xMV8xMF85XzhfN182XzVfNF8zXzJfMV8w KGluc3RydWN0aW9uKTsNCj4gICAgICAgdWludDY0IHJzX3ZhbHVlID0gZXh0cmFjdF9yc18yMF8x OV8xOF8xN18xNihpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IHVfdmFsdWUgPSBleHRyYWN0 X3VfMTFfMTBfOV84XzdfNl81XzRfM18yXzFfMChpbnN0cnVjdGlvbik7DQo+ICAgDQo+ICAgICAg IHN0ZDo6c3RyaW5nIHJ0ID0gR1BSKGNvcHkocnRfdmFsdWUpKTsNCj4gICAgICAgc3RkOjpzdHJp bmcgdSA9IElNTUVESUFURShjb3B5KHVfdmFsdWUpKTsNCj4gQEAgLTEzMzIwLDggKzEzMzIwLDgg QEAgc3RkOjpzdHJpbmcgTk1EOjpTRFBDXzQ4Xyh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICAgc3Rk OjpzdHJpbmcgTk1EOjpTRFhTKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gICB7DQo+ICAgICAgIHVp bnQ2NCBydF92YWx1ZSA9IGV4dHJhY3RfcnRfMjVfMjRfMjNfMjJfMjEoaW5zdHJ1Y3Rpb24pOw0K PiAtICAgIHVpbnQ2NCByZF92YWx1ZSA9IGV4dHJhY3RfcmRfMTVfMTRfMTNfMTJfMTEoaW5zdHJ1 Y3Rpb24pOw0KPiAgICAgICB1aW50NjQgcnNfdmFsdWUgPSBleHRyYWN0X3JzXzIwXzE5XzE4XzE3 XzE2KGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgcmRfdmFsdWUgPSBleHRyYWN0X3JkXzE1 XzE0XzEzXzEyXzExKGluc3RydWN0aW9uKTsNCj4gICANCj4gICAgICAgc3RkOjpzdHJpbmcgcmQg PSBHUFIoY29weShyZF92YWx1ZSkpOw0KPiAgICAgICBzdGQ6OnN0cmluZyBycyA9IEdQUihjb3B5 KHJzX3ZhbHVlKSk7DQo+IEBAIC0xMzM0NCw4ICsxMzM0NCw4IEBAIHN0ZDo6c3RyaW5nIE5NRDo6 U0RYUyh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICAgc3RkOjpzdHJpbmcgTk1EOjpTRFgodWludDY0 IGluc3RydWN0aW9uKQ0KPiAgIHsNCj4gICAgICAgdWludDY0IHJ0X3ZhbHVlID0gZXh0cmFjdF9y dF8yNV8yNF8yM18yMl8yMShpbnN0cnVjdGlvbik7DQo+IC0gICAgdWludDY0IHJkX3ZhbHVlID0g ZXh0cmFjdF9yZF8xNV8xNF8xM18xMl8xMShpbnN0cnVjdGlvbik7DQo+ICAgICAgIHVpbnQ2NCBy c192YWx1ZSA9IGV4dHJhY3RfcnNfMjBfMTlfMThfMTdfMTYoaW5zdHJ1Y3Rpb24pOw0KPiArICAg IHVpbnQ2NCByZF92YWx1ZSA9IGV4dHJhY3RfcmRfMTVfMTRfMTNfMTJfMTEoaW5zdHJ1Y3Rpb24p Ow0KPiAgIA0KPiAgICAgICBzdGQ6OnN0cmluZyByZCA9IEdQUihjb3B5KHJkX3ZhbHVlKSk7DQo+ ICAgICAgIHN0ZDo6c3RyaW5nIHJzID0gR1BSKGNvcHkocnNfdmFsdWUpKTsNCj4gQEAgLTEzNDEx LDggKzEzNDExLDggQEAgc3RkOjpzdHJpbmcgTk1EOjpTRUgodWludDY0IGluc3RydWN0aW9uKQ0K PiAgICAqLw0KPiAgIHN0ZDo6c3RyaW5nIE5NRDo6U0VMX0QodWludDY0IGluc3RydWN0aW9uKQ0K PiAgIHsNCj4gLSAgICB1aW50NjQgZnNfdmFsdWUgPSBleHRyYWN0X2ZzXzE1XzE0XzEzXzEyXzEx KGluc3RydWN0aW9uKTsNCj4gICAgICAgdWludDY0IGZ0X3ZhbHVlID0gZXh0cmFjdF9mdF8yMF8x OV8xOF8xN18xNihpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IGZzX3ZhbHVlID0gZXh0cmFj dF9mc18xNV8xNF8xM18xMl8xMShpbnN0cnVjdGlvbik7DQo+ICAgICAgIHVpbnQ2NCBmZF92YWx1 ZSA9IGV4dHJhY3RfZmRfMTBfOV84XzdfNihpbnN0cnVjdGlvbik7DQo+ICAgDQo+ICAgICAgIHN0 ZDo6c3RyaW5nIGZkID0gRlBSKGNvcHkoZmRfdmFsdWUpKTsNCj4gQEAgLTEzNDM1LDggKzEzNDM1 LDggQEAgc3RkOjpzdHJpbmcgTk1EOjpTRUxfRCh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICAgICov DQo+ICAgc3RkOjpzdHJpbmcgTk1EOjpTRUxfUyh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICAgew0K PiAtICAgIHVpbnQ2NCBmc192YWx1ZSA9IGV4dHJhY3RfZnNfMTVfMTRfMTNfMTJfMTEoaW5zdHJ1 Y3Rpb24pOw0KPiAgICAgICB1aW50NjQgZnRfdmFsdWUgPSBleHRyYWN0X2Z0XzIwXzE5XzE4XzE3 XzE2KGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgZnNfdmFsdWUgPSBleHRyYWN0X2ZzXzE1 XzE0XzEzXzEyXzExKGluc3RydWN0aW9uKTsNCj4gICAgICAgdWludDY0IGZkX3ZhbHVlID0gZXh0 cmFjdF9mZF8xMF85XzhfN182KGluc3RydWN0aW9uKTsNCj4gICANCj4gICAgICAgc3RkOjpzdHJp bmcgZmQgPSBGUFIoY29weShmZF92YWx1ZSkpOw0KPiBAQCAtMTM0NTksOCArMTM0NTksOCBAQCBz dGQ6OnN0cmluZyBOTUQ6OlNFTF9TKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gICAgKi8NCj4gICBz dGQ6OnN0cmluZyBOTUQ6OlNFTEVRWl9EKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gICB7DQo+IC0g ICAgdWludDY0IGZzX3ZhbHVlID0gZXh0cmFjdF9mc18xNV8xNF8xM18xMl8xMShpbnN0cnVjdGlv bik7DQo+ICAgICAgIHVpbnQ2NCBmdF92YWx1ZSA9IGV4dHJhY3RfZnRfMjBfMTlfMThfMTdfMTYo aW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCBmc192YWx1ZSA9IGV4dHJhY3RfZnNfMTVfMTRf MTNfMTJfMTEoaW5zdHJ1Y3Rpb24pOw0KPiAgICAgICB1aW50NjQgZmRfdmFsdWUgPSBleHRyYWN0 X2ZkXzEwXzlfOF83XzYoaW5zdHJ1Y3Rpb24pOw0KPiAgIA0KPiAgICAgICBzdGQ6OnN0cmluZyBm ZCA9IEZQUihjb3B5KGZkX3ZhbHVlKSk7DQo+IEBAIC0xMzQ4Myw4ICsxMzQ4Myw4IEBAIHN0ZDo6 c3RyaW5nIE5NRDo6U0VMRVFaX0QodWludDY0IGluc3RydWN0aW9uKQ0KPiAgICAqLw0KPiAgIHN0 ZDo6c3RyaW5nIE5NRDo6U0VMRVFaX1ModWludDY0IGluc3RydWN0aW9uKQ0KPiAgIHsNCj4gLSAg ICB1aW50NjQgZnNfdmFsdWUgPSBleHRyYWN0X2ZzXzE1XzE0XzEzXzEyXzExKGluc3RydWN0aW9u KTsNCj4gICAgICAgdWludDY0IGZ0X3ZhbHVlID0gZXh0cmFjdF9mdF8yMF8xOV8xOF8xN18xNihp bnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IGZzX3ZhbHVlID0gZXh0cmFjdF9mc18xNV8xNF8x M18xMl8xMShpbnN0cnVjdGlvbik7DQo+ICAgICAgIHVpbnQ2NCBmZF92YWx1ZSA9IGV4dHJhY3Rf ZmRfMTBfOV84XzdfNihpbnN0cnVjdGlvbik7DQo+ICAgDQo+ICAgICAgIHN0ZDo6c3RyaW5nIGZk ID0gRlBSKGNvcHkoZmRfdmFsdWUpKTsNCj4gQEAgLTEzNTA3LDggKzEzNTA3LDggQEAgc3RkOjpz dHJpbmcgTk1EOjpTRUxFUVpfUyh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICAgICovDQo+ICAgc3Rk OjpzdHJpbmcgTk1EOjpTRUxORVpfRCh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICAgew0KPiAtICAg IHVpbnQ2NCBmc192YWx1ZSA9IGV4dHJhY3RfZnNfMTVfMTRfMTNfMTJfMTEoaW5zdHJ1Y3Rpb24p Ow0KPiAgICAgICB1aW50NjQgZnRfdmFsdWUgPSBleHRyYWN0X2Z0XzIwXzE5XzE4XzE3XzE2KGlu c3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgZnNfdmFsdWUgPSBleHRyYWN0X2ZzXzE1XzE0XzEz XzEyXzExKGluc3RydWN0aW9uKTsNCj4gICAgICAgdWludDY0IGZkX3ZhbHVlID0gZXh0cmFjdF9m ZF8xMF85XzhfN182KGluc3RydWN0aW9uKTsNCj4gICANCj4gICAgICAgc3RkOjpzdHJpbmcgZmQg PSBGUFIoY29weShmZF92YWx1ZSkpOw0KPiBAQCAtMTM1MzEsOCArMTM1MzEsOCBAQCBzdGQ6OnN0 cmluZyBOTUQ6OlNFTE5FWl9EKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gICAgKi8NCj4gICBzdGQ6 OnN0cmluZyBOTUQ6OlNFTE5FWl9TKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gICB7DQo+IC0gICAg dWludDY0IGZzX3ZhbHVlID0gZXh0cmFjdF9mc18xNV8xNF8xM18xMl8xMShpbnN0cnVjdGlvbik7 DQo+ICAgICAgIHVpbnQ2NCBmdF92YWx1ZSA9IGV4dHJhY3RfZnRfMjBfMTlfMThfMTdfMTYoaW5z dHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCBmc192YWx1ZSA9IGV4dHJhY3RfZnNfMTVfMTRfMTNf MTJfMTEoaW5zdHJ1Y3Rpb24pOw0KPiAgICAgICB1aW50NjQgZmRfdmFsdWUgPSBleHRyYWN0X2Zk XzEwXzlfOF83XzYoaW5zdHJ1Y3Rpb24pOw0KPiAgIA0KPiAgICAgICBzdGQ6OnN0cmluZyBmZCA9 IEZQUihjb3B5KGZkX3ZhbHVlKSk7DQo+IEBAIC0xMzU1Niw4ICsxMzU1Niw4IEBAIHN0ZDo6c3Ry aW5nIE5NRDo6U0VMTkVaX1ModWludDY0IGluc3RydWN0aW9uKQ0KPiAgIHN0ZDo6c3RyaW5nIE5N RDo6U0VRSSh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICAgew0KPiAgICAgICB1aW50NjQgcnRfdmFs dWUgPSBleHRyYWN0X3J0XzI1XzI0XzIzXzIyXzIxKGluc3RydWN0aW9uKTsNCj4gLSAgICB1aW50 NjQgdV92YWx1ZSA9IGV4dHJhY3RfdV8xMV8xMF85XzhfN182XzVfNF8zXzJfMV8wKGluc3RydWN0 aW9uKTsNCj4gICAgICAgdWludDY0IHJzX3ZhbHVlID0gZXh0cmFjdF9yc18yMF8xOV8xOF8xN18x NihpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IHVfdmFsdWUgPSBleHRyYWN0X3VfMTFfMTBf OV84XzdfNl81XzRfM18yXzFfMChpbnN0cnVjdGlvbik7DQo+ICAgDQo+ICAgICAgIHN0ZDo6c3Ry aW5nIHJ0ID0gR1BSKGNvcHkocnRfdmFsdWUpKTsNCj4gICAgICAgc3RkOjpzdHJpbmcgcnMgPSBH UFIoY29weShyc192YWx1ZSkpOw0KPiBAQCAtMTM2NTAsOCArMTM2NTAsOCBAQCBzdGQ6OnN0cmlu ZyBOTUQ6OlNIX1M5Xyh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICAgc3RkOjpzdHJpbmcgTk1EOjpT SF9VMTJfKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gICB7DQo+ICAgICAgIHVpbnQ2NCBydF92YWx1 ZSA9IGV4dHJhY3RfcnRfMjVfMjRfMjNfMjJfMjEoaW5zdHJ1Y3Rpb24pOw0KPiAtICAgIHVpbnQ2 NCB1X3ZhbHVlID0gZXh0cmFjdF91XzExXzEwXzlfOF83XzZfNV80XzNfMl8xXzAoaW5zdHJ1Y3Rp b24pOw0KPiAgICAgICB1aW50NjQgcnNfdmFsdWUgPSBleHRyYWN0X3JzXzIwXzE5XzE4XzE3XzE2 KGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgdV92YWx1ZSA9IGV4dHJhY3RfdV8xMV8xMF85 XzhfN182XzVfNF8zXzJfMV8wKGluc3RydWN0aW9uKTsNCj4gICANCj4gICAgICAgc3RkOjpzdHJp bmcgcnQgPSBHUFIoY29weShydF92YWx1ZSkpOw0KPiAgICAgICBzdGQ6OnN0cmluZyB1ID0gSU1N RURJQVRFKGNvcHkodV92YWx1ZSkpOw0KPiBAQCAtMTM4MzgsOCArMTM4MzgsOCBAQCBzdGQ6OnN0 cmluZyBOTUQ6OlNITExfU19XKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gICBzdGQ6OnN0cmluZyBO TUQ6OlNITExWX1BIKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gICB7DQo+ICAgICAgIHVpbnQ2NCBy dF92YWx1ZSA9IGV4dHJhY3RfcnRfMjVfMjRfMjNfMjJfMjEoaW5zdHJ1Y3Rpb24pOw0KPiAtICAg IHVpbnQ2NCByZF92YWx1ZSA9IGV4dHJhY3RfcmRfMTVfMTRfMTNfMTJfMTEoaW5zdHJ1Y3Rpb24p Ow0KPiAgICAgICB1aW50NjQgcnNfdmFsdWUgPSBleHRyYWN0X3JzXzIwXzE5XzE4XzE3XzE2KGlu c3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgcmRfdmFsdWUgPSBleHRyYWN0X3JkXzE1XzE0XzEz XzEyXzExKGluc3RydWN0aW9uKTsNCj4gICANCj4gICAgICAgc3RkOjpzdHJpbmcgcmQgPSBHUFIo Y29weShyZF92YWx1ZSkpOw0KPiAgICAgICBzdGQ6OnN0cmluZyBydCA9IEdQUihjb3B5KHJ0X3Zh bHVlKSk7DQo+IEBAIC0xMzg2Miw4ICsxMzg2Miw4IEBAIHN0ZDo6c3RyaW5nIE5NRDo6U0hMTFZf UEgodWludDY0IGluc3RydWN0aW9uKQ0KPiAgIHN0ZDo6c3RyaW5nIE5NRDo6U0hMTFZfUUIodWlu dDY0IGluc3RydWN0aW9uKQ0KPiAgIHsNCj4gICAgICAgdWludDY0IHJ0X3ZhbHVlID0gZXh0cmFj dF9ydF8yNV8yNF8yM18yMl8yMShpbnN0cnVjdGlvbik7DQo+IC0gICAgdWludDY0IHJkX3ZhbHVl ID0gZXh0cmFjdF9yZF8xNV8xNF8xM18xMl8xMShpbnN0cnVjdGlvbik7DQo+ICAgICAgIHVpbnQ2 NCByc192YWx1ZSA9IGV4dHJhY3RfcnNfMjBfMTlfMThfMTdfMTYoaW5zdHJ1Y3Rpb24pOw0KPiAr ICAgIHVpbnQ2NCByZF92YWx1ZSA9IGV4dHJhY3RfcmRfMTVfMTRfMTNfMTJfMTEoaW5zdHJ1Y3Rp b24pOw0KPiAgIA0KPiAgICAgICBzdGQ6OnN0cmluZyByZCA9IEdQUihjb3B5KHJkX3ZhbHVlKSk7 DQo+ICAgICAgIHN0ZDo6c3RyaW5nIHJ0ID0gR1BSKGNvcHkocnRfdmFsdWUpKTsNCj4gQEAgLTEz ODg2LDggKzEzODg2LDggQEAgc3RkOjpzdHJpbmcgTk1EOjpTSExMVl9RQih1aW50NjQgaW5zdHJ1 Y3Rpb24pDQo+ICAgc3RkOjpzdHJpbmcgTk1EOjpTSExMVl9TX1BIKHVpbnQ2NCBpbnN0cnVjdGlv bikNCj4gICB7DQo+ICAgICAgIHVpbnQ2NCBydF92YWx1ZSA9IGV4dHJhY3RfcnRfMjVfMjRfMjNf MjJfMjEoaW5zdHJ1Y3Rpb24pOw0KPiAtICAgIHVpbnQ2NCByZF92YWx1ZSA9IGV4dHJhY3RfcmRf MTVfMTRfMTNfMTJfMTEoaW5zdHJ1Y3Rpb24pOw0KPiAgICAgICB1aW50NjQgcnNfdmFsdWUgPSBl eHRyYWN0X3JzXzIwXzE5XzE4XzE3XzE2KGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgcmRf dmFsdWUgPSBleHRyYWN0X3JkXzE1XzE0XzEzXzEyXzExKGluc3RydWN0aW9uKTsNCj4gICANCj4g ICAgICAgc3RkOjpzdHJpbmcgcmQgPSBHUFIoY29weShyZF92YWx1ZSkpOw0KPiAgICAgICBzdGQ6 OnN0cmluZyBydCA9IEdQUihjb3B5KHJ0X3ZhbHVlKSk7DQo+IEBAIC0xMzkxMCw4ICsxMzkxMCw4 IEBAIHN0ZDo6c3RyaW5nIE5NRDo6U0hMTFZfU19QSCh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICAg c3RkOjpzdHJpbmcgTk1EOjpTSExMVl9TX1codWludDY0IGluc3RydWN0aW9uKQ0KPiAgIHsNCj4g ICAgICAgdWludDY0IHJ0X3ZhbHVlID0gZXh0cmFjdF9ydF8yNV8yNF8yM18yMl8yMShpbnN0cnVj dGlvbik7DQo+IC0gICAgdWludDY0IHJkX3ZhbHVlID0gZXh0cmFjdF9yZF8xNV8xNF8xM18xMl8x MShpbnN0cnVjdGlvbik7DQo+ICAgICAgIHVpbnQ2NCByc192YWx1ZSA9IGV4dHJhY3RfcnNfMjBf MTlfMThfMTdfMTYoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCByZF92YWx1ZSA9IGV4dHJh Y3RfcmRfMTVfMTRfMTNfMTJfMTEoaW5zdHJ1Y3Rpb24pOw0KPiAgIA0KPiAgICAgICBzdGQ6OnN0 cmluZyByZCA9IEdQUihjb3B5KHJkX3ZhbHVlKSk7DQo+ICAgICAgIHN0ZDo6c3RyaW5nIHJ0ID0g R1BSKGNvcHkocnRfdmFsdWUpKTsNCj4gQEAgLTE0MDU0LDggKzE0MDU0LDggQEAgc3RkOjpzdHJp bmcgTk1EOjpTSFJBX1JfVyh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICAgc3RkOjpzdHJpbmcgTk1E OjpTSFJBVl9QSCh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICAgew0KPiAgICAgICB1aW50NjQgcnRf dmFsdWUgPSBleHRyYWN0X3J0XzI1XzI0XzIzXzIyXzIxKGluc3RydWN0aW9uKTsNCj4gLSAgICB1 aW50NjQgcmRfdmFsdWUgPSBleHRyYWN0X3JkXzE1XzE0XzEzXzEyXzExKGluc3RydWN0aW9uKTsN Cj4gICAgICAgdWludDY0IHJzX3ZhbHVlID0gZXh0cmFjdF9yc18yMF8xOV8xOF8xN18xNihpbnN0 cnVjdGlvbik7DQo+ICsgICAgdWludDY0IHJkX3ZhbHVlID0gZXh0cmFjdF9yZF8xNV8xNF8xM18x Ml8xMShpbnN0cnVjdGlvbik7DQo+ICAgDQo+ICAgICAgIHN0ZDo6c3RyaW5nIHJkID0gR1BSKGNv cHkocmRfdmFsdWUpKTsNCj4gICAgICAgc3RkOjpzdHJpbmcgcnQgPSBHUFIoY29weShydF92YWx1 ZSkpOw0KPiBAQCAtMTQwNzgsOCArMTQwNzgsOCBAQCBzdGQ6OnN0cmluZyBOTUQ6OlNIUkFWX1BI KHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gICBzdGQ6OnN0cmluZyBOTUQ6OlNIUkFWX1FCKHVpbnQ2 NCBpbnN0cnVjdGlvbikNCj4gICB7DQo+ICAgICAgIHVpbnQ2NCBydF92YWx1ZSA9IGV4dHJhY3Rf cnRfMjVfMjRfMjNfMjJfMjEoaW5zdHJ1Y3Rpb24pOw0KPiAtICAgIHVpbnQ2NCByZF92YWx1ZSA9 IGV4dHJhY3RfcmRfMTVfMTRfMTNfMTJfMTEoaW5zdHJ1Y3Rpb24pOw0KPiAgICAgICB1aW50NjQg cnNfdmFsdWUgPSBleHRyYWN0X3JzXzIwXzE5XzE4XzE3XzE2KGluc3RydWN0aW9uKTsNCj4gKyAg ICB1aW50NjQgcmRfdmFsdWUgPSBleHRyYWN0X3JkXzE1XzE0XzEzXzEyXzExKGluc3RydWN0aW9u KTsNCj4gICANCj4gICAgICAgc3RkOjpzdHJpbmcgcmQgPSBHUFIoY29weShyZF92YWx1ZSkpOw0K PiAgICAgICBzdGQ6OnN0cmluZyBydCA9IEdQUihjb3B5KHJ0X3ZhbHVlKSk7DQo+IEBAIC0xNDEw Miw4ICsxNDEwMiw4IEBAIHN0ZDo6c3RyaW5nIE5NRDo6U0hSQVZfUUIodWludDY0IGluc3RydWN0 aW9uKQ0KPiAgIHN0ZDo6c3RyaW5nIE5NRDo6U0hSQVZfUl9QSCh1aW50NjQgaW5zdHJ1Y3Rpb24p DQo+ICAgew0KPiAgICAgICB1aW50NjQgcnRfdmFsdWUgPSBleHRyYWN0X3J0XzI1XzI0XzIzXzIy XzIxKGluc3RydWN0aW9uKTsNCj4gLSAgICB1aW50NjQgcmRfdmFsdWUgPSBleHRyYWN0X3JkXzE1 XzE0XzEzXzEyXzExKGluc3RydWN0aW9uKTsNCj4gICAgICAgdWludDY0IHJzX3ZhbHVlID0gZXh0 cmFjdF9yc18yMF8xOV8xOF8xN18xNihpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IHJkX3Zh bHVlID0gZXh0cmFjdF9yZF8xNV8xNF8xM18xMl8xMShpbnN0cnVjdGlvbik7DQo+ICAgDQo+ICAg ICAgIHN0ZDo6c3RyaW5nIHJkID0gR1BSKGNvcHkocmRfdmFsdWUpKTsNCj4gICAgICAgc3RkOjpz dHJpbmcgcnQgPSBHUFIoY29weShydF92YWx1ZSkpOw0KPiBAQCAtMTQxMjYsOCArMTQxMjYsOCBA QCBzdGQ6OnN0cmluZyBOTUQ6OlNIUkFWX1JfUEgodWludDY0IGluc3RydWN0aW9uKQ0KPiAgIHN0 ZDo6c3RyaW5nIE5NRDo6U0hSQVZfUl9RQih1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICAgew0KPiAg ICAgICB1aW50NjQgcnRfdmFsdWUgPSBleHRyYWN0X3J0XzI1XzI0XzIzXzIyXzIxKGluc3RydWN0 aW9uKTsNCj4gLSAgICB1aW50NjQgcmRfdmFsdWUgPSBleHRyYWN0X3JkXzE1XzE0XzEzXzEyXzEx KGluc3RydWN0aW9uKTsNCj4gICAgICAgdWludDY0IHJzX3ZhbHVlID0gZXh0cmFjdF9yc18yMF8x OV8xOF8xN18xNihpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IHJkX3ZhbHVlID0gZXh0cmFj dF9yZF8xNV8xNF8xM18xMl8xMShpbnN0cnVjdGlvbik7DQo+ICAgDQo+ICAgICAgIHN0ZDo6c3Ry aW5nIHJkID0gR1BSKGNvcHkocmRfdmFsdWUpKTsNCj4gICAgICAgc3RkOjpzdHJpbmcgcnQgPSBH UFIoY29weShydF92YWx1ZSkpOw0KPiBAQCAtMTQxNTAsOCArMTQxNTAsOCBAQCBzdGQ6OnN0cmlu ZyBOTUQ6OlNIUkFWX1JfUUIodWludDY0IGluc3RydWN0aW9uKQ0KPiAgIHN0ZDo6c3RyaW5nIE5N RDo6U0hSQVZfUl9XKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gICB7DQo+ICAgICAgIHVpbnQ2NCBy dF92YWx1ZSA9IGV4dHJhY3RfcnRfMjVfMjRfMjNfMjJfMjEoaW5zdHJ1Y3Rpb24pOw0KPiAtICAg IHVpbnQ2NCByZF92YWx1ZSA9IGV4dHJhY3RfcmRfMTVfMTRfMTNfMTJfMTEoaW5zdHJ1Y3Rpb24p Ow0KPiAgICAgICB1aW50NjQgcnNfdmFsdWUgPSBleHRyYWN0X3JzXzIwXzE5XzE4XzE3XzE2KGlu c3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgcmRfdmFsdWUgPSBleHRyYWN0X3JkXzE1XzE0XzEz XzEyXzExKGluc3RydWN0aW9uKTsNCj4gICANCj4gICAgICAgc3RkOjpzdHJpbmcgcmQgPSBHUFIo Y29weShyZF92YWx1ZSkpOw0KPiAgICAgICBzdGQ6OnN0cmluZyBydCA9IEdQUihjb3B5KHJ0X3Zh bHVlKSk7DQo+IEBAIC0xNDIyMiw4ICsxNDIyMiw4IEBAIHN0ZDo6c3RyaW5nIE5NRDo6U0hSTF9R Qih1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICAgc3RkOjpzdHJpbmcgTk1EOjpTSFJMVl9QSCh1aW50 NjQgaW5zdHJ1Y3Rpb24pDQo+ICAgew0KPiAgICAgICB1aW50NjQgcnRfdmFsdWUgPSBleHRyYWN0 X3J0XzI1XzI0XzIzXzIyXzIxKGluc3RydWN0aW9uKTsNCj4gLSAgICB1aW50NjQgcmRfdmFsdWUg PSBleHRyYWN0X3JkXzE1XzE0XzEzXzEyXzExKGluc3RydWN0aW9uKTsNCj4gICAgICAgdWludDY0 IHJzX3ZhbHVlID0gZXh0cmFjdF9yc18yMF8xOV8xOF8xN18xNihpbnN0cnVjdGlvbik7DQo+ICsg ICAgdWludDY0IHJkX3ZhbHVlID0gZXh0cmFjdF9yZF8xNV8xNF8xM18xMl8xMShpbnN0cnVjdGlv bik7DQo+ICAgDQo+ICAgICAgIHN0ZDo6c3RyaW5nIHJkID0gR1BSKGNvcHkocmRfdmFsdWUpKTsN Cj4gICAgICAgc3RkOjpzdHJpbmcgcnQgPSBHUFIoY29weShydF92YWx1ZSkpOw0KPiBAQCAtMTQy NDYsOCArMTQyNDYsOCBAQCBzdGQ6OnN0cmluZyBOTUQ6OlNIUkxWX1BIKHVpbnQ2NCBpbnN0cnVj dGlvbikNCj4gICBzdGQ6OnN0cmluZyBOTUQ6OlNIUkxWX1FCKHVpbnQ2NCBpbnN0cnVjdGlvbikN Cj4gICB7DQo+ICAgICAgIHVpbnQ2NCBydF92YWx1ZSA9IGV4dHJhY3RfcnRfMjVfMjRfMjNfMjJf MjEoaW5zdHJ1Y3Rpb24pOw0KPiAtICAgIHVpbnQ2NCByZF92YWx1ZSA9IGV4dHJhY3RfcmRfMTVf MTRfMTNfMTJfMTEoaW5zdHJ1Y3Rpb24pOw0KPiAgICAgICB1aW50NjQgcnNfdmFsdWUgPSBleHRy YWN0X3JzXzIwXzE5XzE4XzE3XzE2KGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgcmRfdmFs dWUgPSBleHRyYWN0X3JkXzE1XzE0XzEzXzEyXzExKGluc3RydWN0aW9uKTsNCj4gICANCj4gICAg ICAgc3RkOjpzdHJpbmcgcmQgPSBHUFIoY29weShyZF92YWx1ZSkpOw0KPiAgICAgICBzdGQ6OnN0 cmluZyBydCA9IEdQUihjb3B5KHJ0X3ZhbHVlKSk7DQo+IEBAIC0xNDI3MCw4ICsxNDI3MCw4IEBA IHN0ZDo6c3RyaW5nIE5NRDo6U0hSTFZfUUIodWludDY0IGluc3RydWN0aW9uKQ0KPiAgIHN0ZDo6 c3RyaW5nIE5NRDo6U0hYKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gICB7DQo+ICAgICAgIHVpbnQ2 NCBydF92YWx1ZSA9IGV4dHJhY3RfcnRfMjVfMjRfMjNfMjJfMjEoaW5zdHJ1Y3Rpb24pOw0KPiAt ICAgIHVpbnQ2NCByZF92YWx1ZSA9IGV4dHJhY3RfcmRfMTVfMTRfMTNfMTJfMTEoaW5zdHJ1Y3Rp b24pOw0KPiAgICAgICB1aW50NjQgcnNfdmFsdWUgPSBleHRyYWN0X3JzXzIwXzE5XzE4XzE3XzE2 KGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgcmRfdmFsdWUgPSBleHRyYWN0X3JkXzE1XzE0 XzEzXzEyXzExKGluc3RydWN0aW9uKTsNCj4gICANCj4gICAgICAgc3RkOjpzdHJpbmcgcmQgPSBH UFIoY29weShyZF92YWx1ZSkpOw0KPiAgICAgICBzdGQ6OnN0cmluZyBycyA9IEdQUihjb3B5KHJz X3ZhbHVlKSk7DQo+IEBAIC0xNDI5NCw4ICsxNDI5NCw4IEBAIHN0ZDo6c3RyaW5nIE5NRDo6U0hY KHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gICBzdGQ6OnN0cmluZyBOTUQ6OlNIWFModWludDY0IGlu c3RydWN0aW9uKQ0KPiAgIHsNCj4gICAgICAgdWludDY0IHJ0X3ZhbHVlID0gZXh0cmFjdF9ydF8y NV8yNF8yM18yMl8yMShpbnN0cnVjdGlvbik7DQo+IC0gICAgdWludDY0IHJkX3ZhbHVlID0gZXh0 cmFjdF9yZF8xNV8xNF8xM18xMl8xMShpbnN0cnVjdGlvbik7DQo+ICAgICAgIHVpbnQ2NCByc192 YWx1ZSA9IGV4dHJhY3RfcnNfMjBfMTlfMThfMTdfMTYoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVp bnQ2NCByZF92YWx1ZSA9IGV4dHJhY3RfcmRfMTVfMTRfMTNfMTJfMTEoaW5zdHJ1Y3Rpb24pOw0K PiAgIA0KPiAgICAgICBzdGQ6OnN0cmluZyByZCA9IEdQUihjb3B5KHJkX3ZhbHVlKSk7DQo+ICAg ICAgIHN0ZDo6c3RyaW5nIHJzID0gR1BSKGNvcHkocnNfdmFsdWUpKTsNCj4gQEAgLTE0MzYyLDgg KzE0MzYyLDggQEAgc3RkOjpzdHJpbmcgTk1EOjpTTExfMTZfKHVpbnQ2NCBpbnN0cnVjdGlvbikN Cj4gICBzdGQ6OnN0cmluZyBOTUQ6OlNMTF8zMl8odWludDY0IGluc3RydWN0aW9uKQ0KPiAgIHsN Cj4gICAgICAgdWludDY0IHJ0X3ZhbHVlID0gZXh0cmFjdF9ydF8yNV8yNF8yM18yMl8yMShpbnN0 cnVjdGlvbik7DQo+IC0gICAgdWludDY0IHNoaWZ0X3ZhbHVlID0gZXh0cmFjdF9zaGlmdF80XzNf Ml8xXzAoaW5zdHJ1Y3Rpb24pOw0KPiAgICAgICB1aW50NjQgcnNfdmFsdWUgPSBleHRyYWN0X3Jz XzIwXzE5XzE4XzE3XzE2KGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgc2hpZnRfdmFsdWUg PSBleHRyYWN0X3NoaWZ0XzRfM18yXzFfMChpbnN0cnVjdGlvbik7DQo+ICAgDQo+ICAgICAgIHN0 ZDo6c3RyaW5nIHJ0ID0gR1BSKGNvcHkocnRfdmFsdWUpKTsNCj4gICAgICAgc3RkOjpzdHJpbmcg cnMgPSBHUFIoY29weShyc192YWx1ZSkpOw0KPiBAQCAtMTQzODYsOCArMTQzODYsOCBAQCBzdGQ6 OnN0cmluZyBOTUQ6OlNMTF8zMl8odWludDY0IGluc3RydWN0aW9uKQ0KPiAgIHN0ZDo6c3RyaW5n IE5NRDo6U0xMVih1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICAgew0KPiAgICAgICB1aW50NjQgcnRf dmFsdWUgPSBleHRyYWN0X3J0XzI1XzI0XzIzXzIyXzIxKGluc3RydWN0aW9uKTsNCj4gLSAgICB1 aW50NjQgcmRfdmFsdWUgPSBleHRyYWN0X3JkXzE1XzE0XzEzXzEyXzExKGluc3RydWN0aW9uKTsN Cj4gICAgICAgdWludDY0IHJzX3ZhbHVlID0gZXh0cmFjdF9yc18yMF8xOV8xOF8xN18xNihpbnN0 cnVjdGlvbik7DQo+ICsgICAgdWludDY0IHJkX3ZhbHVlID0gZXh0cmFjdF9yZF8xNV8xNF8xM18x Ml8xMShpbnN0cnVjdGlvbik7DQo+ICAgDQo+ICAgICAgIHN0ZDo6c3RyaW5nIHJkID0gR1BSKGNv cHkocmRfdmFsdWUpKTsNCj4gICAgICAgc3RkOjpzdHJpbmcgcnMgPSBHUFIoY29weShyc192YWx1 ZSkpOw0KPiBAQCAtMTQ0MTAsOCArMTQ0MTAsOCBAQCBzdGQ6OnN0cmluZyBOTUQ6OlNMTFYodWlu dDY0IGluc3RydWN0aW9uKQ0KPiAgIHN0ZDo6c3RyaW5nIE5NRDo6U0xUKHVpbnQ2NCBpbnN0cnVj dGlvbikNCj4gICB7DQo+ICAgICAgIHVpbnQ2NCBydF92YWx1ZSA9IGV4dHJhY3RfcnRfMjVfMjRf MjNfMjJfMjEoaW5zdHJ1Y3Rpb24pOw0KPiAtICAgIHVpbnQ2NCByZF92YWx1ZSA9IGV4dHJhY3Rf cmRfMTVfMTRfMTNfMTJfMTEoaW5zdHJ1Y3Rpb24pOw0KPiAgICAgICB1aW50NjQgcnNfdmFsdWUg PSBleHRyYWN0X3JzXzIwXzE5XzE4XzE3XzE2KGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQg cmRfdmFsdWUgPSBleHRyYWN0X3JkXzE1XzE0XzEzXzEyXzExKGluc3RydWN0aW9uKTsNCj4gICAN Cj4gICAgICAgc3RkOjpzdHJpbmcgcmQgPSBHUFIoY29weShyZF92YWx1ZSkpOw0KPiAgICAgICBz dGQ6OnN0cmluZyBycyA9IEdQUihjb3B5KHJzX3ZhbHVlKSk7DQo+IEBAIC0xNDQzNCw4ICsxNDQz NCw4IEBAIHN0ZDo6c3RyaW5nIE5NRDo6U0xUKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gICBzdGQ6 OnN0cmluZyBOTUQ6OlNMVEkodWludDY0IGluc3RydWN0aW9uKQ0KPiAgIHsNCj4gICAgICAgdWlu dDY0IHJ0X3ZhbHVlID0gZXh0cmFjdF9ydF8yNV8yNF8yM18yMl8yMShpbnN0cnVjdGlvbik7DQo+ IC0gICAgdWludDY0IHVfdmFsdWUgPSBleHRyYWN0X3VfMTFfMTBfOV84XzdfNl81XzRfM18yXzFf MChpbnN0cnVjdGlvbik7DQo+ICAgICAgIHVpbnQ2NCByc192YWx1ZSA9IGV4dHJhY3RfcnNfMjBf MTlfMThfMTdfMTYoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCB1X3ZhbHVlID0gZXh0cmFj dF91XzExXzEwXzlfOF83XzZfNV80XzNfMl8xXzAoaW5zdHJ1Y3Rpb24pOw0KPiAgIA0KPiAgICAg ICBzdGQ6OnN0cmluZyBydCA9IEdQUihjb3B5KHJ0X3ZhbHVlKSk7DQo+ICAgICAgIHN0ZDo6c3Ry aW5nIHJzID0gR1BSKGNvcHkocnNfdmFsdWUpKTsNCj4gQEAgLTE0NDU4LDggKzE0NDU4LDggQEAg c3RkOjpzdHJpbmcgTk1EOjpTTFRJKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gICBzdGQ6OnN0cmlu ZyBOTUQ6OlNMVElVKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gICB7DQo+ICAgICAgIHVpbnQ2NCBy dF92YWx1ZSA9IGV4dHJhY3RfcnRfMjVfMjRfMjNfMjJfMjEoaW5zdHJ1Y3Rpb24pOw0KPiAtICAg IHVpbnQ2NCB1X3ZhbHVlID0gZXh0cmFjdF91XzExXzEwXzlfOF83XzZfNV80XzNfMl8xXzAoaW5z dHJ1Y3Rpb24pOw0KPiAgICAgICB1aW50NjQgcnNfdmFsdWUgPSBleHRyYWN0X3JzXzIwXzE5XzE4 XzE3XzE2KGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgdV92YWx1ZSA9IGV4dHJhY3RfdV8x MV8xMF85XzhfN182XzVfNF8zXzJfMV8wKGluc3RydWN0aW9uKTsNCj4gICANCj4gICAgICAgc3Rk OjpzdHJpbmcgcnQgPSBHUFIoY29weShydF92YWx1ZSkpOw0KPiAgICAgICBzdGQ6OnN0cmluZyBy cyA9IEdQUihjb3B5KHJzX3ZhbHVlKSk7DQo+IEBAIC0xNDQ4Miw4ICsxNDQ4Miw4IEBAIHN0ZDo6 c3RyaW5nIE5NRDo6U0xUSVUodWludDY0IGluc3RydWN0aW9uKQ0KPiAgIHN0ZDo6c3RyaW5nIE5N RDo6U0xUVSh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICAgew0KPiAgICAgICB1aW50NjQgcnRfdmFs dWUgPSBleHRyYWN0X3J0XzI1XzI0XzIzXzIyXzIxKGluc3RydWN0aW9uKTsNCj4gLSAgICB1aW50 NjQgcmRfdmFsdWUgPSBleHRyYWN0X3JkXzE1XzE0XzEzXzEyXzExKGluc3RydWN0aW9uKTsNCj4g ICAgICAgdWludDY0IHJzX3ZhbHVlID0gZXh0cmFjdF9yc18yMF8xOV8xOF8xN18xNihpbnN0cnVj dGlvbik7DQo+ICsgICAgdWludDY0IHJkX3ZhbHVlID0gZXh0cmFjdF9yZF8xNV8xNF8xM18xMl8x MShpbnN0cnVjdGlvbik7DQo+ICAgDQo+ICAgICAgIHN0ZDo6c3RyaW5nIHJkID0gR1BSKGNvcHko cmRfdmFsdWUpKTsNCj4gICAgICAgc3RkOjpzdHJpbmcgcnMgPSBHUFIoY29weShyc192YWx1ZSkp Ow0KPiBAQCAtMTQ1MDYsOCArMTQ1MDYsOCBAQCBzdGQ6OnN0cmluZyBOTUQ6OlNMVFUodWludDY0 IGluc3RydWN0aW9uKQ0KPiAgIHN0ZDo6c3RyaW5nIE5NRDo6U09WKHVpbnQ2NCBpbnN0cnVjdGlv bikNCj4gICB7DQo+ICAgICAgIHVpbnQ2NCBydF92YWx1ZSA9IGV4dHJhY3RfcnRfMjVfMjRfMjNf MjJfMjEoaW5zdHJ1Y3Rpb24pOw0KPiAtICAgIHVpbnQ2NCByZF92YWx1ZSA9IGV4dHJhY3RfcmRf MTVfMTRfMTNfMTJfMTEoaW5zdHJ1Y3Rpb24pOw0KPiAgICAgICB1aW50NjQgcnNfdmFsdWUgPSBl eHRyYWN0X3JzXzIwXzE5XzE4XzE3XzE2KGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgcmRf dmFsdWUgPSBleHRyYWN0X3JkXzE1XzE0XzEzXzEyXzExKGluc3RydWN0aW9uKTsNCj4gICANCj4g ICAgICAgc3RkOjpzdHJpbmcgcmQgPSBHUFIoY29weShyZF92YWx1ZSkpOw0KPiAgICAgICBzdGQ6 OnN0cmluZyBycyA9IEdQUihjb3B5KHJzX3ZhbHVlKSk7DQo+IEBAIC0xNDU0OSw4ICsxNDU0OSw4 IEBAIHN0ZDo6c3RyaW5nIE5NRDo6U1BFQ0lBTDIodWludDY0IGluc3RydWN0aW9uKQ0KPiAgICAq Lw0KPiAgIHN0ZDo6c3RyaW5nIE5NRDo6U1FSVF9EKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gICB7 DQo+IC0gICAgdWludDY0IGZzX3ZhbHVlID0gZXh0cmFjdF9mc18xNV8xNF8xM18xMl8xMShpbnN0 cnVjdGlvbik7DQo+ICAgICAgIHVpbnQ2NCBmdF92YWx1ZSA9IGV4dHJhY3RfZnRfMjBfMTlfMThf MTdfMTYoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCBmc192YWx1ZSA9IGV4dHJhY3RfZnNf MTVfMTRfMTNfMTJfMTEoaW5zdHJ1Y3Rpb24pOw0KPiAgIA0KPiAgICAgICBzdGQ6OnN0cmluZyBm dCA9IEZQUihjb3B5KGZ0X3ZhbHVlKSk7DQo+ICAgICAgIHN0ZDo6c3RyaW5nIGZzID0gRlBSKGNv cHkoZnNfdmFsdWUpKTsNCj4gQEAgLTE0NTcxLDggKzE0NTcxLDggQEAgc3RkOjpzdHJpbmcgTk1E OjpTUVJUX0QodWludDY0IGluc3RydWN0aW9uKQ0KPiAgICAqLw0KPiAgIHN0ZDo6c3RyaW5nIE5N RDo6U1FSVF9TKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gICB7DQo+IC0gICAgdWludDY0IGZzX3Zh bHVlID0gZXh0cmFjdF9mc18xNV8xNF8xM18xMl8xMShpbnN0cnVjdGlvbik7DQo+ICAgICAgIHVp bnQ2NCBmdF92YWx1ZSA9IGV4dHJhY3RfZnRfMjBfMTlfMThfMTdfMTYoaW5zdHJ1Y3Rpb24pOw0K PiArICAgIHVpbnQ2NCBmc192YWx1ZSA9IGV4dHJhY3RfZnNfMTVfMTRfMTNfMTJfMTEoaW5zdHJ1 Y3Rpb24pOw0KPiAgIA0KPiAgICAgICBzdGQ6OnN0cmluZyBmdCA9IEZQUihjb3B5KGZ0X3ZhbHVl KSk7DQo+ICAgICAgIHN0ZDo6c3RyaW5nIGZzID0gRlBSKGNvcHkoZnNfdmFsdWUpKTsNCj4gQEAg LTE0NjE4LDggKzE0NjE4LDggQEAgc3RkOjpzdHJpbmcgTk1EOjpTUkEodWludDY0IGluc3RydWN0 aW9uKQ0KPiAgIHN0ZDo6c3RyaW5nIE5NRDo6U1JBVih1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICAg ew0KPiAgICAgICB1aW50NjQgcnRfdmFsdWUgPSBleHRyYWN0X3J0XzI1XzI0XzIzXzIyXzIxKGlu c3RydWN0aW9uKTsNCj4gLSAgICB1aW50NjQgcmRfdmFsdWUgPSBleHRyYWN0X3JkXzE1XzE0XzEz XzEyXzExKGluc3RydWN0aW9uKTsNCj4gICAgICAgdWludDY0IHJzX3ZhbHVlID0gZXh0cmFjdF9y c18yMF8xOV8xOF8xN18xNihpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IHJkX3ZhbHVlID0g ZXh0cmFjdF9yZF8xNV8xNF8xM18xMl8xMShpbnN0cnVjdGlvbik7DQo+ICAgDQo+ICAgICAgIHN0 ZDo6c3RyaW5nIHJkID0gR1BSKGNvcHkocmRfdmFsdWUpKTsNCj4gICAgICAgc3RkOjpzdHJpbmcg cnMgPSBHUFIoY29weShyc192YWx1ZSkpOw0KPiBAQCAtMTQ2NjYsOCArMTQ2NjYsOCBAQCBzdGQ6 OnN0cmluZyBOTUQ6OlNSTF8xNl8odWludDY0IGluc3RydWN0aW9uKQ0KPiAgIHN0ZDo6c3RyaW5n IE5NRDo6U1JMXzMyXyh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICAgew0KPiAgICAgICB1aW50NjQg cnRfdmFsdWUgPSBleHRyYWN0X3J0XzI1XzI0XzIzXzIyXzIxKGluc3RydWN0aW9uKTsNCj4gLSAg ICB1aW50NjQgc2hpZnRfdmFsdWUgPSBleHRyYWN0X3NoaWZ0XzRfM18yXzFfMChpbnN0cnVjdGlv bik7DQo+ICAgICAgIHVpbnQ2NCByc192YWx1ZSA9IGV4dHJhY3RfcnNfMjBfMTlfMThfMTdfMTYo aW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCBzaGlmdF92YWx1ZSA9IGV4dHJhY3Rfc2hpZnRf NF8zXzJfMV8wKGluc3RydWN0aW9uKTsNCj4gICANCj4gICAgICAgc3RkOjpzdHJpbmcgcnQgPSBH UFIoY29weShydF92YWx1ZSkpOw0KPiAgICAgICBzdGQ6OnN0cmluZyBycyA9IEdQUihjb3B5KHJz X3ZhbHVlKSk7DQo+IEBAIC0xNDY5MCw4ICsxNDY5MCw4IEBAIHN0ZDo6c3RyaW5nIE5NRDo6U1JM XzMyXyh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICAgc3RkOjpzdHJpbmcgTk1EOjpTUkxWKHVpbnQ2 NCBpbnN0cnVjdGlvbikNCj4gICB7DQo+ICAgICAgIHVpbnQ2NCBydF92YWx1ZSA9IGV4dHJhY3Rf cnRfMjVfMjRfMjNfMjJfMjEoaW5zdHJ1Y3Rpb24pOw0KPiAtICAgIHVpbnQ2NCByZF92YWx1ZSA9 IGV4dHJhY3RfcmRfMTVfMTRfMTNfMTJfMTEoaW5zdHJ1Y3Rpb24pOw0KPiAgICAgICB1aW50NjQg cnNfdmFsdWUgPSBleHRyYWN0X3JzXzIwXzE5XzE4XzE3XzE2KGluc3RydWN0aW9uKTsNCj4gKyAg ICB1aW50NjQgcmRfdmFsdWUgPSBleHRyYWN0X3JkXzE1XzE0XzEzXzEyXzExKGluc3RydWN0aW9u KTsNCj4gICANCj4gICAgICAgc3RkOjpzdHJpbmcgcmQgPSBHUFIoY29weShyZF92YWx1ZSkpOw0K PiAgICAgICBzdGQ6OnN0cmluZyBycyA9IEdQUihjb3B5KHJzX3ZhbHVlKSk7DQo+IEBAIC0xNDcx NCw4ICsxNDcxNCw4IEBAIHN0ZDo6c3RyaW5nIE5NRDo6U1JMVih1aW50NjQgaW5zdHJ1Y3Rpb24p DQo+ICAgc3RkOjpzdHJpbmcgTk1EOjpTVUIodWludDY0IGluc3RydWN0aW9uKQ0KPiAgIHsNCj4g ICAgICAgdWludDY0IHJ0X3ZhbHVlID0gZXh0cmFjdF9ydF8yNV8yNF8yM18yMl8yMShpbnN0cnVj dGlvbik7DQo+IC0gICAgdWludDY0IHJkX3ZhbHVlID0gZXh0cmFjdF9yZF8xNV8xNF8xM18xMl8x MShpbnN0cnVjdGlvbik7DQo+ICAgICAgIHVpbnQ2NCByc192YWx1ZSA9IGV4dHJhY3RfcnNfMjBf MTlfMThfMTdfMTYoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCByZF92YWx1ZSA9IGV4dHJh Y3RfcmRfMTVfMTRfMTNfMTJfMTEoaW5zdHJ1Y3Rpb24pOw0KPiAgIA0KPiAgICAgICBzdGQ6OnN0 cmluZyByZCA9IEdQUihjb3B5KHJkX3ZhbHVlKSk7DQo+ICAgICAgIHN0ZDo6c3RyaW5nIHJzID0g R1BSKGNvcHkocnNfdmFsdWUpKTsNCj4gQEAgLTE0NzM3LDggKzE0NzM3LDggQEAgc3RkOjpzdHJp bmcgTk1EOjpTVUIodWludDY0IGluc3RydWN0aW9uKQ0KPiAgICAqLw0KPiAgIHN0ZDo6c3RyaW5n IE5NRDo6U1VCX0QodWludDY0IGluc3RydWN0aW9uKQ0KPiAgIHsNCj4gLSAgICB1aW50NjQgZnNf dmFsdWUgPSBleHRyYWN0X2ZzXzE1XzE0XzEzXzEyXzExKGluc3RydWN0aW9uKTsNCj4gICAgICAg dWludDY0IGZ0X3ZhbHVlID0gZXh0cmFjdF9mdF8yMF8xOV8xOF8xN18xNihpbnN0cnVjdGlvbik7 DQo+ICsgICAgdWludDY0IGZzX3ZhbHVlID0gZXh0cmFjdF9mc18xNV8xNF8xM18xMl8xMShpbnN0 cnVjdGlvbik7DQo+ICAgICAgIHVpbnQ2NCBmZF92YWx1ZSA9IGV4dHJhY3RfZmRfMTBfOV84Xzdf NihpbnN0cnVjdGlvbik7DQo+ICAgDQo+ICAgICAgIHN0ZDo6c3RyaW5nIGZkID0gRlBSKGNvcHko ZmRfdmFsdWUpKTsNCj4gQEAgLTE0NzYxLDggKzE0NzYxLDggQEAgc3RkOjpzdHJpbmcgTk1EOjpT VUJfRCh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICAgICovDQo+ICAgc3RkOjpzdHJpbmcgTk1EOjpT VUJfUyh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICAgew0KPiAtICAgIHVpbnQ2NCBmc192YWx1ZSA9 IGV4dHJhY3RfZnNfMTVfMTRfMTNfMTJfMTEoaW5zdHJ1Y3Rpb24pOw0KPiAgICAgICB1aW50NjQg ZnRfdmFsdWUgPSBleHRyYWN0X2Z0XzIwXzE5XzE4XzE3XzE2KGluc3RydWN0aW9uKTsNCj4gKyAg ICB1aW50NjQgZnNfdmFsdWUgPSBleHRyYWN0X2ZzXzE1XzE0XzEzXzEyXzExKGluc3RydWN0aW9u KTsNCj4gICAgICAgdWludDY0IGZkX3ZhbHVlID0gZXh0cmFjdF9mZF8xMF85XzhfN182KGluc3Ry dWN0aW9uKTsNCj4gICANCj4gICAgICAgc3RkOjpzdHJpbmcgZmQgPSBGUFIoY29weShmZF92YWx1 ZSkpOw0KPiBAQCAtMTQ3ODYsOCArMTQ3ODYsOCBAQCBzdGQ6OnN0cmluZyBOTUQ6OlNVQl9TKHVp bnQ2NCBpbnN0cnVjdGlvbikNCj4gICBzdGQ6OnN0cmluZyBOTUQ6OlNVQlFfUEgodWludDY0IGlu c3RydWN0aW9uKQ0KPiAgIHsNCj4gICAgICAgdWludDY0IHJ0X3ZhbHVlID0gZXh0cmFjdF9ydF8y NV8yNF8yM18yMl8yMShpbnN0cnVjdGlvbik7DQo+IC0gICAgdWludDY0IHJkX3ZhbHVlID0gZXh0 cmFjdF9yZF8xNV8xNF8xM18xMl8xMShpbnN0cnVjdGlvbik7DQo+ICAgICAgIHVpbnQ2NCByc192 YWx1ZSA9IGV4dHJhY3RfcnNfMjBfMTlfMThfMTdfMTYoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVp bnQ2NCByZF92YWx1ZSA9IGV4dHJhY3RfcmRfMTVfMTRfMTNfMTJfMTEoaW5zdHJ1Y3Rpb24pOw0K PiAgIA0KPiAgICAgICBzdGQ6OnN0cmluZyByZCA9IEdQUihjb3B5KHJkX3ZhbHVlKSk7DQo+ICAg ICAgIHN0ZDo6c3RyaW5nIHJzID0gR1BSKGNvcHkocnNfdmFsdWUpKTsNCj4gQEAgLTE0ODExLDgg KzE0ODExLDggQEAgc3RkOjpzdHJpbmcgTk1EOjpTVUJRX1BIKHVpbnQ2NCBpbnN0cnVjdGlvbikN Cj4gICBzdGQ6OnN0cmluZyBOTUQ6OlNVQlFfU19QSCh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICAg ew0KPiAgICAgICB1aW50NjQgcnRfdmFsdWUgPSBleHRyYWN0X3J0XzI1XzI0XzIzXzIyXzIxKGlu c3RydWN0aW9uKTsNCj4gLSAgICB1aW50NjQgcmRfdmFsdWUgPSBleHRyYWN0X3JkXzE1XzE0XzEz XzEyXzExKGluc3RydWN0aW9uKTsNCj4gICAgICAgdWludDY0IHJzX3ZhbHVlID0gZXh0cmFjdF9y c18yMF8xOV8xOF8xN18xNihpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IHJkX3ZhbHVlID0g ZXh0cmFjdF9yZF8xNV8xNF8xM18xMl8xMShpbnN0cnVjdGlvbik7DQo+ICAgDQo+ICAgICAgIHN0 ZDo6c3RyaW5nIHJkID0gR1BSKGNvcHkocmRfdmFsdWUpKTsNCj4gICAgICAgc3RkOjpzdHJpbmcg cnMgPSBHUFIoY29weShyc192YWx1ZSkpOw0KPiBAQCAtMTQ4MzYsOCArMTQ4MzYsOCBAQCBzdGQ6 OnN0cmluZyBOTUQ6OlNVQlFfU19QSCh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICAgc3RkOjpzdHJp bmcgTk1EOjpTVUJRX1NfVyh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICAgew0KPiAgICAgICB1aW50 NjQgcnRfdmFsdWUgPSBleHRyYWN0X3J0XzI1XzI0XzIzXzIyXzIxKGluc3RydWN0aW9uKTsNCj4g LSAgICB1aW50NjQgcmRfdmFsdWUgPSBleHRyYWN0X3JkXzE1XzE0XzEzXzEyXzExKGluc3RydWN0 aW9uKTsNCj4gICAgICAgdWludDY0IHJzX3ZhbHVlID0gZXh0cmFjdF9yc18yMF8xOV8xOF8xN18x NihpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IHJkX3ZhbHVlID0gZXh0cmFjdF9yZF8xNV8x NF8xM18xMl8xMShpbnN0cnVjdGlvbik7DQo+ICAgDQo+ICAgICAgIHN0ZDo6c3RyaW5nIHJkID0g R1BSKGNvcHkocmRfdmFsdWUpKTsNCj4gICAgICAgc3RkOjpzdHJpbmcgcnMgPSBHUFIoY29weShy c192YWx1ZSkpOw0KPiBAQCAtMTQ4NjEsOCArMTQ4NjEsOCBAQCBzdGQ6OnN0cmluZyBOTUQ6OlNV QlFfU19XKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gICBzdGQ6OnN0cmluZyBOTUQ6OlNVQlFIX1BI KHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gICB7DQo+ICAgICAgIHVpbnQ2NCBydF92YWx1ZSA9IGV4 dHJhY3RfcnRfMjVfMjRfMjNfMjJfMjEoaW5zdHJ1Y3Rpb24pOw0KPiAtICAgIHVpbnQ2NCByZF92 YWx1ZSA9IGV4dHJhY3RfcmRfMTVfMTRfMTNfMTJfMTEoaW5zdHJ1Y3Rpb24pOw0KPiAgICAgICB1 aW50NjQgcnNfdmFsdWUgPSBleHRyYWN0X3JzXzIwXzE5XzE4XzE3XzE2KGluc3RydWN0aW9uKTsN Cj4gKyAgICB1aW50NjQgcmRfdmFsdWUgPSBleHRyYWN0X3JkXzE1XzE0XzEzXzEyXzExKGluc3Ry dWN0aW9uKTsNCj4gICANCj4gICAgICAgc3RkOjpzdHJpbmcgcmQgPSBHUFIoY29weShyZF92YWx1 ZSkpOw0KPiAgICAgICBzdGQ6OnN0cmluZyBycyA9IEdQUihjb3B5KHJzX3ZhbHVlKSk7DQo+IEBA IC0xNDg4Niw4ICsxNDg4Niw4IEBAIHN0ZDo6c3RyaW5nIE5NRDo6U1VCUUhfUEgodWludDY0IGlu c3RydWN0aW9uKQ0KPiAgIHN0ZDo6c3RyaW5nIE5NRDo6U1VCUUhfUl9QSCh1aW50NjQgaW5zdHJ1 Y3Rpb24pDQo+ICAgew0KPiAgICAgICB1aW50NjQgcnRfdmFsdWUgPSBleHRyYWN0X3J0XzI1XzI0 XzIzXzIyXzIxKGluc3RydWN0aW9uKTsNCj4gLSAgICB1aW50NjQgcmRfdmFsdWUgPSBleHRyYWN0 X3JkXzE1XzE0XzEzXzEyXzExKGluc3RydWN0aW9uKTsNCj4gICAgICAgdWludDY0IHJzX3ZhbHVl ID0gZXh0cmFjdF9yc18yMF8xOV8xOF8xN18xNihpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0 IHJkX3ZhbHVlID0gZXh0cmFjdF9yZF8xNV8xNF8xM18xMl8xMShpbnN0cnVjdGlvbik7DQo+ICAg DQo+ICAgICAgIHN0ZDo6c3RyaW5nIHJkID0gR1BSKGNvcHkocmRfdmFsdWUpKTsNCj4gICAgICAg c3RkOjpzdHJpbmcgcnMgPSBHUFIoY29weShyc192YWx1ZSkpOw0KPiBAQCAtMTQ5MTEsOCArMTQ5 MTEsOCBAQCBzdGQ6OnN0cmluZyBOTUQ6OlNVQlFIX1JfUEgodWludDY0IGluc3RydWN0aW9uKQ0K PiAgIHN0ZDo6c3RyaW5nIE5NRDo6U1VCUUhfUl9XKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gICB7 DQo+ICAgICAgIHVpbnQ2NCBydF92YWx1ZSA9IGV4dHJhY3RfcnRfMjVfMjRfMjNfMjJfMjEoaW5z dHJ1Y3Rpb24pOw0KPiAtICAgIHVpbnQ2NCByZF92YWx1ZSA9IGV4dHJhY3RfcmRfMTVfMTRfMTNf MTJfMTEoaW5zdHJ1Y3Rpb24pOw0KPiAgICAgICB1aW50NjQgcnNfdmFsdWUgPSBleHRyYWN0X3Jz XzIwXzE5XzE4XzE3XzE2KGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgcmRfdmFsdWUgPSBl eHRyYWN0X3JkXzE1XzE0XzEzXzEyXzExKGluc3RydWN0aW9uKTsNCj4gICANCj4gICAgICAgc3Rk OjpzdHJpbmcgcmQgPSBHUFIoY29weShyZF92YWx1ZSkpOw0KPiAgICAgICBzdGQ6OnN0cmluZyBy cyA9IEdQUihjb3B5KHJzX3ZhbHVlKSk7DQo+IEBAIC0xNDkzNiw4ICsxNDkzNiw4IEBAIHN0ZDo6 c3RyaW5nIE5NRDo6U1VCUUhfUl9XKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gICBzdGQ6OnN0cmlu ZyBOTUQ6OlNVQlFIX1codWludDY0IGluc3RydWN0aW9uKQ0KPiAgIHsNCj4gICAgICAgdWludDY0 IHJ0X3ZhbHVlID0gZXh0cmFjdF9ydF8yNV8yNF8yM18yMl8yMShpbnN0cnVjdGlvbik7DQo+IC0g ICAgdWludDY0IHJkX3ZhbHVlID0gZXh0cmFjdF9yZF8xNV8xNF8xM18xMl8xMShpbnN0cnVjdGlv bik7DQo+ICAgICAgIHVpbnQ2NCByc192YWx1ZSA9IGV4dHJhY3RfcnNfMjBfMTlfMThfMTdfMTYo aW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCByZF92YWx1ZSA9IGV4dHJhY3RfcmRfMTVfMTRf MTNfMTJfMTEoaW5zdHJ1Y3Rpb24pOw0KPiAgIA0KPiAgICAgICBzdGQ6OnN0cmluZyByZCA9IEdQ Uihjb3B5KHJkX3ZhbHVlKSk7DQo+ICAgICAgIHN0ZDo6c3RyaW5nIHJzID0gR1BSKGNvcHkocnNf dmFsdWUpKTsNCj4gQEAgLTE0OTU5LDkgKzE0OTU5LDkgQEAgc3RkOjpzdHJpbmcgTk1EOjpTVUJR SF9XKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gICAgKi8NCj4gICBzdGQ6OnN0cmluZyBOTUQ6OlNV QlVfMTZfKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gICB7DQo+IC0gICAgdWludDY0IHJkM192YWx1 ZSA9IGV4dHJhY3RfcmQzXzNfMl8xKGluc3RydWN0aW9uKTsNCj4gICAgICAgdWludDY0IHJ0M192 YWx1ZSA9IGV4dHJhY3RfcnQzXzlfOF83KGluc3RydWN0aW9uKTsNCj4gICAgICAgdWludDY0IHJz M192YWx1ZSA9IGV4dHJhY3RfcnMzXzZfNV80KGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQg cmQzX3ZhbHVlID0gZXh0cmFjdF9yZDNfM18yXzEoaW5zdHJ1Y3Rpb24pOw0KPiAgIA0KPiAgICAg ICBzdGQ6OnN0cmluZyByZDMgPSBHUFIoZW5jb2RlX2dwcjMocmQzX3ZhbHVlKSk7DQo+ICAgICAg IHN0ZDo6c3RyaW5nIHJzMyA9IEdQUihlbmNvZGVfZ3ByMyhyczNfdmFsdWUpKTsNCj4gQEAgLTE0 OTg0LDggKzE0OTg0LDggQEAgc3RkOjpzdHJpbmcgTk1EOjpTVUJVXzE2Xyh1aW50NjQgaW5zdHJ1 Y3Rpb24pDQo+ICAgc3RkOjpzdHJpbmcgTk1EOjpTVUJVXzMyXyh1aW50NjQgaW5zdHJ1Y3Rpb24p DQo+ICAgew0KPiAgICAgICB1aW50NjQgcnRfdmFsdWUgPSBleHRyYWN0X3J0XzI1XzI0XzIzXzIy XzIxKGluc3RydWN0aW9uKTsNCj4gLSAgICB1aW50NjQgcmRfdmFsdWUgPSBleHRyYWN0X3JkXzE1 XzE0XzEzXzEyXzExKGluc3RydWN0aW9uKTsNCj4gICAgICAgdWludDY0IHJzX3ZhbHVlID0gZXh0 cmFjdF9yc18yMF8xOV8xOF8xN18xNihpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0IHJkX3Zh bHVlID0gZXh0cmFjdF9yZF8xNV8xNF8xM18xMl8xMShpbnN0cnVjdGlvbik7DQo+ICAgDQo+ICAg ICAgIHN0ZDo6c3RyaW5nIHJkID0gR1BSKGNvcHkocmRfdmFsdWUpKTsNCj4gICAgICAgc3RkOjpz dHJpbmcgcnMgPSBHUFIoY29weShyc192YWx1ZSkpOw0KPiBAQCAtMTUwMDgsOCArMTUwMDgsOCBA QCBzdGQ6OnN0cmluZyBOTUQ6OlNVQlVfMzJfKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gICBzdGQ6 OnN0cmluZyBOTUQ6OlNVQlVfUEgodWludDY0IGluc3RydWN0aW9uKQ0KPiAgIHsNCj4gICAgICAg dWludDY0IHJ0X3ZhbHVlID0gZXh0cmFjdF9ydF8yNV8yNF8yM18yMl8yMShpbnN0cnVjdGlvbik7 DQo+IC0gICAgdWludDY0IHJkX3ZhbHVlID0gZXh0cmFjdF9yZF8xNV8xNF8xM18xMl8xMShpbnN0 cnVjdGlvbik7DQo+ICAgICAgIHVpbnQ2NCByc192YWx1ZSA9IGV4dHJhY3RfcnNfMjBfMTlfMThf MTdfMTYoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCByZF92YWx1ZSA9IGV4dHJhY3RfcmRf MTVfMTRfMTNfMTJfMTEoaW5zdHJ1Y3Rpb24pOw0KPiAgIA0KPiAgICAgICBzdGQ6OnN0cmluZyBy ZCA9IEdQUihjb3B5KHJkX3ZhbHVlKSk7DQo+ICAgICAgIHN0ZDo6c3RyaW5nIHJzID0gR1BSKGNv cHkocnNfdmFsdWUpKTsNCj4gQEAgLTE1MDMyLDggKzE1MDMyLDggQEAgc3RkOjpzdHJpbmcgTk1E OjpTVUJVX1BIKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gICBzdGQ6OnN0cmluZyBOTUQ6OlNVQlVf UUIodWludDY0IGluc3RydWN0aW9uKQ0KPiAgIHsNCj4gICAgICAgdWludDY0IHJ0X3ZhbHVlID0g ZXh0cmFjdF9ydF8yNV8yNF8yM18yMl8yMShpbnN0cnVjdGlvbik7DQo+IC0gICAgdWludDY0IHJk X3ZhbHVlID0gZXh0cmFjdF9yZF8xNV8xNF8xM18xMl8xMShpbnN0cnVjdGlvbik7DQo+ICAgICAg IHVpbnQ2NCByc192YWx1ZSA9IGV4dHJhY3RfcnNfMjBfMTlfMThfMTdfMTYoaW5zdHJ1Y3Rpb24p Ow0KPiArICAgIHVpbnQ2NCByZF92YWx1ZSA9IGV4dHJhY3RfcmRfMTVfMTRfMTNfMTJfMTEoaW5z dHJ1Y3Rpb24pOw0KPiAgIA0KPiAgICAgICBzdGQ6OnN0cmluZyByZCA9IEdQUihjb3B5KHJkX3Zh bHVlKSk7DQo+ICAgICAgIHN0ZDo6c3RyaW5nIHJzID0gR1BSKGNvcHkocnNfdmFsdWUpKTsNCj4g QEAgLTE1MDU2LDggKzE1MDU2LDggQEAgc3RkOjpzdHJpbmcgTk1EOjpTVUJVX1FCKHVpbnQ2NCBp bnN0cnVjdGlvbikNCj4gICBzdGQ6OnN0cmluZyBOTUQ6OlNVQlVfU19QSCh1aW50NjQgaW5zdHJ1 Y3Rpb24pDQo+ICAgew0KPiAgICAgICB1aW50NjQgcnRfdmFsdWUgPSBleHRyYWN0X3J0XzI1XzI0 XzIzXzIyXzIxKGluc3RydWN0aW9uKTsNCj4gLSAgICB1aW50NjQgcmRfdmFsdWUgPSBleHRyYWN0 X3JkXzE1XzE0XzEzXzEyXzExKGluc3RydWN0aW9uKTsNCj4gICAgICAgdWludDY0IHJzX3ZhbHVl ID0gZXh0cmFjdF9yc18yMF8xOV8xOF8xN18xNihpbnN0cnVjdGlvbik7DQo+ICsgICAgdWludDY0 IHJkX3ZhbHVlID0gZXh0cmFjdF9yZF8xNV8xNF8xM18xMl8xMShpbnN0cnVjdGlvbik7DQo+ICAg DQo+ICAgICAgIHN0ZDo6c3RyaW5nIHJkID0gR1BSKGNvcHkocmRfdmFsdWUpKTsNCj4gICAgICAg c3RkOjpzdHJpbmcgcnMgPSBHUFIoY29weShyc192YWx1ZSkpOw0KPiBAQCAtMTUwODAsOCArMTUw ODAsOCBAQCBzdGQ6OnN0cmluZyBOTUQ6OlNVQlVfU19QSCh1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ ICAgc3RkOjpzdHJpbmcgTk1EOjpTVUJVX1NfUUIodWludDY0IGluc3RydWN0aW9uKQ0KPiAgIHsN Cj4gICAgICAgdWludDY0IHJ0X3ZhbHVlID0gZXh0cmFjdF9ydF8yNV8yNF8yM18yMl8yMShpbnN0 cnVjdGlvbik7DQo+IC0gICAgdWludDY0IHJkX3ZhbHVlID0gZXh0cmFjdF9yZF8xNV8xNF8xM18x Ml8xMShpbnN0cnVjdGlvbik7DQo+ICAgICAgIHVpbnQ2NCByc192YWx1ZSA9IGV4dHJhY3RfcnNf MjBfMTlfMThfMTdfMTYoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCByZF92YWx1ZSA9IGV4 dHJhY3RfcmRfMTVfMTRfMTNfMTJfMTEoaW5zdHJ1Y3Rpb24pOw0KPiAgIA0KPiAgICAgICBzdGQ6 OnN0cmluZyByZCA9IEdQUihjb3B5KHJkX3ZhbHVlKSk7DQo+ICAgICAgIHN0ZDo6c3RyaW5nIHJz ID0gR1BSKGNvcHkocnNfdmFsdWUpKTsNCj4gQEAgLTE1MTA1LDggKzE1MTA1LDggQEAgc3RkOjpz dHJpbmcgTk1EOjpTVUJVX1NfUUIodWludDY0IGluc3RydWN0aW9uKQ0KPiAgIHN0ZDo6c3RyaW5n IE5NRDo6U1VCVUhfUUIodWludDY0IGluc3RydWN0aW9uKQ0KPiAgIHsNCj4gICAgICAgdWludDY0 IHJ0X3ZhbHVlID0gZXh0cmFjdF9ydF8yNV8yNF8yM18yMl8yMShpbnN0cnVjdGlvbik7DQo+IC0g ICAgdWludDY0IHJkX3ZhbHVlID0gZXh0cmFjdF9yZF8xNV8xNF8xM18xMl8xMShpbnN0cnVjdGlv bik7DQo+ICAgICAgIHVpbnQ2NCByc192YWx1ZSA9IGV4dHJhY3RfcnNfMjBfMTlfMThfMTdfMTYo aW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCByZF92YWx1ZSA9IGV4dHJhY3RfcmRfMTVfMTRf MTNfMTJfMTEoaW5zdHJ1Y3Rpb24pOw0KPiAgIA0KPiAgICAgICBzdGQ6OnN0cmluZyByZCA9IEdQ Uihjb3B5KHJkX3ZhbHVlKSk7DQo+ICAgICAgIHN0ZDo6c3RyaW5nIHJzID0gR1BSKGNvcHkocnNf dmFsdWUpKTsNCj4gQEAgLTE1MTMwLDggKzE1MTMwLDggQEAgc3RkOjpzdHJpbmcgTk1EOjpTVUJV SF9RQih1aW50NjQgaW5zdHJ1Y3Rpb24pDQo+ICAgc3RkOjpzdHJpbmcgTk1EOjpTVUJVSF9SX1FC KHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gICB7DQo+ICAgICAgIHVpbnQ2NCBydF92YWx1ZSA9IGV4 dHJhY3RfcnRfMjVfMjRfMjNfMjJfMjEoaW5zdHJ1Y3Rpb24pOw0KPiAtICAgIHVpbnQ2NCByZF92 YWx1ZSA9IGV4dHJhY3RfcmRfMTVfMTRfMTNfMTJfMTEoaW5zdHJ1Y3Rpb24pOw0KPiAgICAgICB1 aW50NjQgcnNfdmFsdWUgPSBleHRyYWN0X3JzXzIwXzE5XzE4XzE3XzE2KGluc3RydWN0aW9uKTsN Cj4gKyAgICB1aW50NjQgcmRfdmFsdWUgPSBleHRyYWN0X3JkXzE1XzE0XzEzXzEyXzExKGluc3Ry dWN0aW9uKTsNCj4gICANCj4gICAgICAgc3RkOjpzdHJpbmcgcmQgPSBHUFIoY29weShyZF92YWx1 ZSkpOw0KPiAgICAgICBzdGQ6OnN0cmluZyBycyA9IEdQUihjb3B5KHJzX3ZhbHVlKSk7DQo+IEBA IC0xNTI5Miw4ICsxNTI5Miw4IEBAIHN0ZDo6c3RyaW5nIE5NRDo6U1dfU1BfKHVpbnQ2NCBpbnN0 cnVjdGlvbikNCj4gICBzdGQ6OnN0cmluZyBOTUQ6OlNXX1UxMl8odWludDY0IGluc3RydWN0aW9u KQ0KPiAgIHsNCj4gICAgICAgdWludDY0IHJ0X3ZhbHVlID0gZXh0cmFjdF9ydF8yNV8yNF8yM18y Ml8yMShpbnN0cnVjdGlvbik7DQo+IC0gICAgdWludDY0IHVfdmFsdWUgPSBleHRyYWN0X3VfMTFf MTBfOV84XzdfNl81XzRfM18yXzFfMChpbnN0cnVjdGlvbik7DQo+ICAgICAgIHVpbnQ2NCByc192 YWx1ZSA9IGV4dHJhY3RfcnNfMjBfMTlfMThfMTdfMTYoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVp bnQ2NCB1X3ZhbHVlID0gZXh0cmFjdF91XzExXzEwXzlfOF83XzZfNV80XzNfMl8xXzAoaW5zdHJ1 Y3Rpb24pOw0KPiAgIA0KPiAgICAgICBzdGQ6OnN0cmluZyBydCA9IEdQUihjb3B5KHJ0X3ZhbHVl KSk7DQo+ICAgICAgIHN0ZDo6c3RyaW5nIHUgPSBJTU1FRElBVEUoY29weSh1X3ZhbHVlKSk7DQo+ IEBAIC0xNTUzMCw4ICsxNTUzMCw4IEBAIHN0ZDo6c3RyaW5nIE5NRDo6U1dQQ180OF8odWludDY0 IGluc3RydWN0aW9uKQ0KPiAgIHN0ZDo6c3RyaW5nIE5NRDo6U1dYKHVpbnQ2NCBpbnN0cnVjdGlv bikNCj4gICB7DQo+ICAgICAgIHVpbnQ2NCBydF92YWx1ZSA9IGV4dHJhY3RfcnRfMjVfMjRfMjNf MjJfMjEoaW5zdHJ1Y3Rpb24pOw0KPiAtICAgIHVpbnQ2NCByZF92YWx1ZSA9IGV4dHJhY3RfcmRf MTVfMTRfMTNfMTJfMTEoaW5zdHJ1Y3Rpb24pOw0KPiAgICAgICB1aW50NjQgcnNfdmFsdWUgPSBl eHRyYWN0X3JzXzIwXzE5XzE4XzE3XzE2KGluc3RydWN0aW9uKTsNCj4gKyAgICB1aW50NjQgcmRf dmFsdWUgPSBleHRyYWN0X3JkXzE1XzE0XzEzXzEyXzExKGluc3RydWN0aW9uKTsNCj4gICANCj4g ICAgICAgc3RkOjpzdHJpbmcgcmQgPSBHUFIoY29weShyZF92YWx1ZSkpOw0KPiAgICAgICBzdGQ6 OnN0cmluZyBycyA9IEdQUihjb3B5KHJzX3ZhbHVlKSk7DQo+IEBAIC0xNTU1NCw4ICsxNTU1NCw4 IEBAIHN0ZDo6c3RyaW5nIE5NRDo6U1dYKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gICBzdGQ6OnN0 cmluZyBOTUQ6OlNXWFModWludDY0IGluc3RydWN0aW9uKQ0KPiAgIHsNCj4gICAgICAgdWludDY0 IHJ0X3ZhbHVlID0gZXh0cmFjdF9ydF8yNV8yNF8yM18yMl8yMShpbnN0cnVjdGlvbik7DQo+IC0g ICAgdWludDY0IHJkX3ZhbHVlID0gZXh0cmFjdF9yZF8xNV8xNF8xM18xMl8xMShpbnN0cnVjdGlv bik7DQo+ICAgICAgIHVpbnQ2NCByc192YWx1ZSA9IGV4dHJhY3RfcnNfMjBfMTlfMThfMTdfMTYo aW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCByZF92YWx1ZSA9IGV4dHJhY3RfcmRfMTVfMTRf MTNfMTJfMTEoaW5zdHJ1Y3Rpb24pOw0KPiAgIA0KPiAgICAgICBzdGQ6OnN0cmluZyByZCA9IEdQ Uihjb3B5KHJkX3ZhbHVlKSk7DQo+ICAgICAgIHN0ZDo6c3RyaW5nIHJzID0gR1BSKGNvcHkocnNf dmFsdWUpKTsNCj4gQEAgLTE1OTM5LDggKzE1OTM5LDggQEAgc3RkOjpzdHJpbmcgTk1EOjpUTkUo dWludDY0IGluc3RydWN0aW9uKQ0KPiAgICAqLw0KPiAgIHN0ZDo6c3RyaW5nIE5NRDo6VFJVTkNf TF9EKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gICB7DQo+IC0gICAgdWludDY0IGZzX3ZhbHVlID0g ZXh0cmFjdF9mc18xNV8xNF8xM18xMl8xMShpbnN0cnVjdGlvbik7DQo+ICAgICAgIHVpbnQ2NCBm dF92YWx1ZSA9IGV4dHJhY3RfZnRfMjBfMTlfMThfMTdfMTYoaW5zdHJ1Y3Rpb24pOw0KPiArICAg IHVpbnQ2NCBmc192YWx1ZSA9IGV4dHJhY3RfZnNfMTVfMTRfMTNfMTJfMTEoaW5zdHJ1Y3Rpb24p Ow0KPiAgIA0KPiAgICAgICBzdGQ6OnN0cmluZyBmdCA9IEZQUihjb3B5KGZ0X3ZhbHVlKSk7DQo+ ICAgICAgIHN0ZDo6c3RyaW5nIGZzID0gRlBSKGNvcHkoZnNfdmFsdWUpKTsNCj4gQEAgLTE1OTYx LDggKzE1OTYxLDggQEAgc3RkOjpzdHJpbmcgTk1EOjpUUlVOQ19MX0QodWludDY0IGluc3RydWN0 aW9uKQ0KPiAgICAqLw0KPiAgIHN0ZDo6c3RyaW5nIE5NRDo6VFJVTkNfTF9TKHVpbnQ2NCBpbnN0 cnVjdGlvbikNCj4gICB7DQo+IC0gICAgdWludDY0IGZzX3ZhbHVlID0gZXh0cmFjdF9mc18xNV8x NF8xM18xMl8xMShpbnN0cnVjdGlvbik7DQo+ICAgICAgIHVpbnQ2NCBmdF92YWx1ZSA9IGV4dHJh Y3RfZnRfMjBfMTlfMThfMTdfMTYoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCBmc192YWx1 ZSA9IGV4dHJhY3RfZnNfMTVfMTRfMTNfMTJfMTEoaW5zdHJ1Y3Rpb24pOw0KPiAgIA0KPiAgICAg ICBzdGQ6OnN0cmluZyBmdCA9IEZQUihjb3B5KGZ0X3ZhbHVlKSk7DQo+ICAgICAgIHN0ZDo6c3Ry aW5nIGZzID0gRlBSKGNvcHkoZnNfdmFsdWUpKTsNCj4gQEAgLTE1OTgzLDggKzE1OTgzLDggQEAg c3RkOjpzdHJpbmcgTk1EOjpUUlVOQ19MX1ModWludDY0IGluc3RydWN0aW9uKQ0KPiAgICAqLw0K PiAgIHN0ZDo6c3RyaW5nIE5NRDo6VFJVTkNfV19EKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gICB7 DQo+IC0gICAgdWludDY0IGZzX3ZhbHVlID0gZXh0cmFjdF9mc18xNV8xNF8xM18xMl8xMShpbnN0 cnVjdGlvbik7DQo+ICAgICAgIHVpbnQ2NCBmdF92YWx1ZSA9IGV4dHJhY3RfZnRfMjBfMTlfMThf MTdfMTYoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCBmc192YWx1ZSA9IGV4dHJhY3RfZnNf MTVfMTRfMTNfMTJfMTEoaW5zdHJ1Y3Rpb24pOw0KPiAgIA0KPiAgICAgICBzdGQ6OnN0cmluZyBm dCA9IEZQUihjb3B5KGZ0X3ZhbHVlKSk7DQo+ICAgICAgIHN0ZDo6c3RyaW5nIGZzID0gRlBSKGNv cHkoZnNfdmFsdWUpKTsNCj4gQEAgLTE2MDA1LDggKzE2MDA1LDggQEAgc3RkOjpzdHJpbmcgTk1E OjpUUlVOQ19XX0QodWludDY0IGluc3RydWN0aW9uKQ0KPiAgICAqLw0KPiAgIHN0ZDo6c3RyaW5n IE5NRDo6VFJVTkNfV19TKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4gICB7DQo+IC0gICAgdWludDY0 IGZzX3ZhbHVlID0gZXh0cmFjdF9mc18xNV8xNF8xM18xMl8xMShpbnN0cnVjdGlvbik7DQo+ICAg ICAgIHVpbnQ2NCBmdF92YWx1ZSA9IGV4dHJhY3RfZnRfMjBfMTlfMThfMTdfMTYoaW5zdHJ1Y3Rp b24pOw0KPiArICAgIHVpbnQ2NCBmc192YWx1ZSA9IGV4dHJhY3RfZnNfMTVfMTRfMTNfMTJfMTEo aW5zdHJ1Y3Rpb24pOw0KPiAgIA0KPiAgICAgICBzdGQ6OnN0cmluZyBmdCA9IEZQUihjb3B5KGZ0 X3ZhbHVlKSk7DQo+ICAgICAgIHN0ZDo6c3RyaW5nIGZzID0gRlBSKGNvcHkoZnNfdmFsdWUpKTsN Cj4gQEAgLTE2MjgzLDggKzE2MjgzLDggQEAgc3RkOjpzdHJpbmcgTk1EOjpYT1JfMTZfKHVpbnQ2 NCBpbnN0cnVjdGlvbikNCj4gICBzdGQ6OnN0cmluZyBOTUQ6OlhPUl8zMl8odWludDY0IGluc3Ry dWN0aW9uKQ0KPiAgIHsNCj4gICAgICAgdWludDY0IHJ0X3ZhbHVlID0gZXh0cmFjdF9ydF8yNV8y NF8yM18yMl8yMShpbnN0cnVjdGlvbik7DQo+IC0gICAgdWludDY0IHJkX3ZhbHVlID0gZXh0cmFj dF9yZF8xNV8xNF8xM18xMl8xMShpbnN0cnVjdGlvbik7DQo+ICAgICAgIHVpbnQ2NCByc192YWx1 ZSA9IGV4dHJhY3RfcnNfMjBfMTlfMThfMTdfMTYoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2 NCByZF92YWx1ZSA9IGV4dHJhY3RfcmRfMTVfMTRfMTNfMTJfMTEoaW5zdHJ1Y3Rpb24pOw0KPiAg IA0KPiAgICAgICBzdGQ6OnN0cmluZyByZCA9IEdQUihjb3B5KHJkX3ZhbHVlKSk7DQo+ICAgICAg IHN0ZDo6c3RyaW5nIHJzID0gR1BSKGNvcHkocnNfdmFsdWUpKTsNCj4gQEAgLTE2MzA3LDggKzE2 MzA3LDggQEAgc3RkOjpzdHJpbmcgTk1EOjpYT1JfMzJfKHVpbnQ2NCBpbnN0cnVjdGlvbikNCj4g ICBzdGQ6OnN0cmluZyBOTUQ6OlhPUkkodWludDY0IGluc3RydWN0aW9uKQ0KPiAgIHsNCj4gICAg ICAgdWludDY0IHJ0X3ZhbHVlID0gZXh0cmFjdF9ydF8yNV8yNF8yM18yMl8yMShpbnN0cnVjdGlv bik7DQo+IC0gICAgdWludDY0IHVfdmFsdWUgPSBleHRyYWN0X3VfMTFfMTBfOV84XzdfNl81XzRf M18yXzFfMChpbnN0cnVjdGlvbik7DQo+ICAgICAgIHVpbnQ2NCByc192YWx1ZSA9IGV4dHJhY3Rf cnNfMjBfMTlfMThfMTdfMTYoaW5zdHJ1Y3Rpb24pOw0KPiArICAgIHVpbnQ2NCB1X3ZhbHVlID0g ZXh0cmFjdF91XzExXzEwXzlfOF83XzZfNV80XzNfMl8xXzAoaW5zdHJ1Y3Rpb24pOw0KPiAgIA0K PiAgICAgICBzdGQ6OnN0cmluZyBydCA9IEdQUihjb3B5KHJ0X3ZhbHVlKSk7DQo+ICAgICAgIHN0 ZDo6c3RyaW5nIHJzID0gR1BSKGNvcHkocnNfdmFsdWUpKTsNCg==