From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received-SPF: Pass (sender SPF authorized) identity=mailfrom; client-ip=40.92.3.39; helo=nam02-bl2-obe.outbound.protection.outlook.com; envelope-from=vanjeff_919@hotmail.com; receiver=edk2-devel@lists.01.org Received: from NAM02-BL2-obe.outbound.protection.outlook.com (mail-oln040092003039.outbound.protection.outlook.com [40.92.3.39]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id C7AB92034AB39 for ; Sun, 5 Nov 2017 19:06:24 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=hotmail.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=y1WnrwQV/d6AU0deoefC7E29UIFzZtA7DIC6ugmpMXE=; b=YsuKGtIViWn0fUql8/j257ST3THBOFxFxZUnx3RexH/gs/tFzBkdlXTAfzJ/BOprdPno5lt0+GREl3K2G7iJiHYqgJMQoIM0qg1EkrXhSeOOVsjn/+zR8nsJDsFhB9wzvHhjLk24nH8WXBemBF/eKxQXpFXB+frfLSuxsTr2qhopUCTKFOVV0Emtk1zct+elYjsXUXGmFeB/VvJxkrVmROIxGAZ7kGJy1hVVKWt/6WGaO8lvQm5oNwlSOsS6wM3rMg+TX8G9cmPin33KFQ4ROg7GMBpL9C24c04DekyFwdmuFH3HL9Laar46tHnaCYrEtIm2QWXrrG8cDAfsLRg6KQ== Received: from BL2NAM02FT008.eop-nam02.prod.protection.outlook.com (10.152.76.59) by BL2NAM02HT131.eop-nam02.prod.protection.outlook.com (10.152.76.160) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.20.197.9; Mon, 6 Nov 2017 03:10:19 +0000 Received: from CY1PR19MB0283.namprd19.prod.outlook.com (10.152.76.54) by BL2NAM02FT008.mail.protection.outlook.com (10.152.76.162) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.20.197.9 via Frontend Transport; Mon, 6 Nov 2017 03:10:19 +0000 Received: from CY1PR19MB0283.namprd19.prod.outlook.com ([10.163.54.13]) by CY1PR19MB0283.namprd19.prod.outlook.com ([10.163.54.13]) with mapi id 15.20.0197.019; Mon, 6 Nov 2017 03:10:18 +0000 From: Fan Jeff To: "Yao, Jiewen" , "Wang, Jian J" CC: "Kinney, Michael D" , "edk2-devel@lists.01.org" , "Dong, Eric" , "Zeng, Star" Thread-Topic: [PATCH 3/3] UefiCpuPkg/CpuExceptionHandlerLib: Add stack switch support Thread-Index: AQHTUrSw3pJrU3cRZEmMYx4YdaVISaL+y3RDgADfOwCAAjUBgIAAcILqgAANEIaABCo5gIAAF3GAgAAA4cQ= Date: Mon, 6 Nov 2017 03:10:18 +0000 Message-ID: References: <20171031142412.21680-1-jian.j.wang@intel.com> <20171031142412.21680-4-jian.j.wang@intel.com>, <74D8A39837DF1E4DA445A8C0B3885C503AA0AED6@shsmsx102.ccr.corp.intel.com> , <74D8A39837DF1E4DA445A8C0B3885C503AA0DA30@shsmsx102.ccr.corp.intel.com>, , , <1B8B2A1E-869E-4B29-91E7-6A423F89FCDA@intel.com> In-Reply-To: <1B8B2A1E-869E-4B29-91E7-6A423F89FCDA@intel.com> Accept-Language: zh-CN, en-US X-MS-Has-Attach: yes X-MS-TNEF-Correlator: authentication-results: intel.com; dkim=none (message not signed) header.d=none;intel.com; dmarc=none action=none header.from=hotmail.com; x-incomingtopheadermarker: OriginalChecksum:D586AE22DD8BA7B313A9F5B6373B7F1130C3D58CAD8304D6A8ECB27CF99F33EB; UpperCasedChecksum:9D46B52195E477C00608DC691708BE7496FF1D161F0459C059879C313C2FDF5E; SizeAsReceived:7989; Count:47 x-ms-exchange-messagesentrepresentingtype: 1 x-tmn: [6ncF9hYU8WhJXQmBEpQj1bfA/Q+Qig9x] x-ms-publictraffictype: Email x-microsoft-exchange-diagnostics: 1; BL2NAM02HT131; 7:NHysw78nqxAth2gYbOGFT9cHXkdUhpaaMdqBWs86H2D5ok9o0WB3BlRXT7irMzd8cdIjNM3YkdEUGl5UQyYPJ70sI1ysYz0A8ZJ/548KbafPpBRRpFKB87CmPpDaysqaT+CaaSNcZzi6yzx1jVInHoNCJjLqI/MTT+60Bo2Lt0DRZVDC5askNKitl+CRJTOuVsvIZuNpXuXwT/KuqlvsQ37vmFHkTIXILRHIOwSJiqp/S0tHTrLSow+bW0S/wlGa x-incomingheadercount: 47 x-eopattributedmessage: 0 x-ms-office365-filtering-correlation-id: 1b16835e-b292-4a5c-dd0d-08d524c3e904 x-microsoft-antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001)(201702061074)(5061506573)(5061507331)(1603103135)(2017031320274)(2017031324274)(2017031323274)(2017031322404)(1601125374)(1603101448)(1701031045); SRVR:BL2NAM02HT131; x-ms-traffictypediagnostic: BL2NAM02HT131: x-exchange-antispam-report-test: UriScan:(166708455590820)(788757137089)(162533806227266)(130873036417446)(194151415913766)(21748063052155)(228905959029699); x-exchange-antispam-report-cfa-test: BCL:0; PCL:0; RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(444000031); SRVR:BL2NAM02HT131; BCL:0; PCL:0; RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095); SRVR:BL2NAM02HT131; x-forefront-prvs: 048396AFA0 x-forefront-antispam-report: SFV:NSPM; SFS:(7070007)(98901004); DIR:OUT; SFP:1901; SCL:1; SRVR:BL2NAM02HT131; H:CY1PR19MB0283.namprd19.prod.outlook.com; FPR:; SPF:None; LANG:; spamdiagnosticoutput: 1:99 spamdiagnosticmetadata: NSPM MIME-Version: 1.0 X-OriginatorOrg: hotmail.com X-MS-Exchange-CrossTenant-Network-Message-Id: 1b16835e-b292-4a5c-dd0d-08d524c3e904 X-MS-Exchange-CrossTenant-originalarrivaltime: 06 Nov 2017 03:10:18.8332 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Internet X-MS-Exchange-CrossTenant-id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL2NAM02HT131 X-Content-Filtered-By: Mailman/MimeDel 2.1.22 Subject: =?UTF-8?B?562U5aSNOiBbUEFUQ0ggMy8zXSBVZWZpQ3B1UGtnL0NwdUV4Y2VwdGlvbkhhbmRsZXJMaWI6IEFkZCBzdGFjayBzd2l0Y2ggc3VwcG9ydA==?= X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.22 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 06 Nov 2017 03:06:25 -0000 Content-Language: zh-CN Content-Type: text/plain; charset="gb2312" Content-Transfer-Encoding: base64 Smlld2VuLA0KDQpGb3IgMSksIHRoaXMgaXMgZ29vZCBxdWVzdGlvbiBmb3IgYm90aCBnbG9iYWwg dmFyaWFibGUgc29sdXRpb24gYW5kIG5ldyBBUEkgc29sdXRpb24uDQpNeSBzdWdnZXN0aW9uIGlz IG9ubHkgdG8gdXNlIG9uZSBnbG9iYWwgc3RhY2sgZm9yIEJTUCwgc2luY2Ugb25seSBCU1AgaXMg c3VwcG9ydCBiZWZvcmUgQ3B1RHhlIHByb2R1Y2VkIENwdSBNUCBzZXJ2aWNlIFByb3RvY29sLg0K QW5kIGluIEluaXRpYWxpemVDcHVJbnRlcnJ1cHRIYW5kbGVycygpIChjb25zdW1lZCBieSBDcHVE eGUpIHRvIHJlZ2lzdGVyIGNhbGxiYWNrIGZ1bmN0aW9uIG9uIENQVSBNUCBQcm90b2NvbCB0byBh bGxvY2F0ZSBzdGFjayBmb3IgQXBzLg0KDQpGb3IgMiksd2UgY291bGQgY29uc2lkZXIgbmV3IEFQ SSBzb2x1dGlvbiBpZiBQRUkgcGhhc2UgZG9lcyBzdXBwb3J0IHRoaXMgbmV3IGZlYXR1cmUuDQoN CkplZmYNCg0Kt6K8/sjLOiBZYW8sIEppZXdlbjxtYWlsdG86amlld2VuLnlhb0BpbnRlbC5jb20+ DQq3osvNyrG85DogMjAxN8TqMTHUwjbI1SA5OjU1DQrK1bz+yMs6IFdhbmcsIEppYW4gSjxtYWls dG86amlhbi5qLndhbmdAaW50ZWwuY29tPg0Ks63LzTogRmFuIEplZmY8bWFpbHRvOnZhbmplZmZf OTE5QGhvdG1haWwuY29tPjsgS2lubmV5LCBNaWNoYWVsIEQ8bWFpbHRvOm1pY2hhZWwuZC5raW5u ZXlAaW50ZWwuY29tPjsgZWRrMi1kZXZlbEBsaXN0cy4wMS5vcmc8bWFpbHRvOmVkazItZGV2ZWxA bGlzdHMuMDEub3JnPjsgRG9uZywgRXJpYzxtYWlsdG86ZXJpYy5kb25nQGludGVsLmNvbT47IFpl bmcsIFN0YXI8bWFpbHRvOnN0YXIuemVuZ0BpbnRlbC5jb20+DQrW98ziOiBSZTogW1BBVENIIDMv M10gVWVmaUNwdVBrZy9DcHVFeGNlcHRpb25IYW5kbGVyTGliOiBBZGQgc3RhY2sgc3dpdGNoIHN1 cHBvcnQNCg0KSSB0aGluayB3ZSBuZWVkIGNvbnNpZGVyIDIgYWRkaXRpb25hbCB0aGluZ3M6DQoN CjEpICBob3cgdG8gc3VwcG9ydCBkaWZmZXJlbnQgc3RhY2sgZm9yIGFwPw0KDQoNCjIpIGhvdyB0 byBzdXBwb3J0IHBlaSBwaGFzZSwgd2hlbiB0aGUgZ2xvYmFsIHZhcmlhYmxlIGlzIHJlYWQgb25s eT8NCg0KdGhhbmsgeW91IQ0KWWFvLCBKaWV3ZW4NCg0KDQrU2iAyMDE3xOoxMdTCNsjVo6zJz87n ODozMKOsV2FuZywgSmlhbiBKIDxqaWFuLmoud2FuZ0BpbnRlbC5jb208bWFpbHRvOmppYW4uai53 YW5nQGludGVsLmNvbT4+INC0tcCjug0KSmVmZiwNCg0KVGhhdKGvcyBhIGdvb2Qgc3VnZ2VzdGlv bi4gRG8geW91IGtub3cgaWYgdGhlcmWhr3MgYW55IHBpdGZhbGwgaW4gdXNpbmcgZGF0YSBzZWdt ZW50IG1lbW9yeSBhcyBzdGFjaz8NCg0KVGhhbmtzLA0KSmlhbg0KDQpGcm9tOiBGYW4gSmVmZiBb bWFpbHRvOnZhbmplZmZfOTE5QGhvdG1haWwuY29tXQ0KU2VudDogRnJpZGF5LCBOb3ZlbWJlciAw MywgMjAxNyA0OjU5IFBNDQpUbzogWWFvLCBKaWV3ZW4gPGppZXdlbi55YW9AaW50ZWwuY29tPG1h aWx0bzpqaWV3ZW4ueWFvQGludGVsLmNvbT4+OyBLaW5uZXksIE1pY2hhZWwgRCA8bWljaGFlbC5k Lmtpbm5leUBpbnRlbC5jb208bWFpbHRvOm1pY2hhZWwuZC5raW5uZXlAaW50ZWwuY29tPj47IFdh bmcsIEppYW4gSiA8amlhbi5qLndhbmdAaW50ZWwuY29tPG1haWx0bzpqaWFuLmoud2FuZ0BpbnRl bC5jb20+PjsgZWRrMi1kZXZlbEBsaXN0cy4wMS5vcmc8bWFpbHRvOmVkazItZGV2ZWxAbGlzdHMu MDEub3JnPg0KQ2M6IERvbmcsIEVyaWMgPGVyaWMuZG9uZ0BpbnRlbC5jb208bWFpbHRvOmVyaWMu ZG9uZ0BpbnRlbC5jb20+PjsgWmVuZywgU3RhciA8c3Rhci56ZW5nQGludGVsLmNvbTxtYWlsdG86 c3Rhci56ZW5nQGludGVsLmNvbT4+DQpTdWJqZWN0OiC08Li0OiBbUEFUQ0ggMy8zXSBVZWZpQ3B1 UGtnL0NwdUV4Y2VwdGlvbkhhbmRsZXJMaWI6IEFkZCBzdGFjayBzd2l0Y2ggc3VwcG9ydA0KDQoN CkppYW4sDQoNCg0KDQpGb3IgZXhhbXBsZSwgeW91IGNvdWxkIHVzZSB0aGUgZ2xvYmFsIHZhcmlh YmxlIFVJTlQ4IE5ld1N0YWNrWzI1Nl0gaW5zdGVhZCBvZiBhbGxvY2F0ZSBtZW1vcnkgZm9yIHN0 YWNrIGFuZCB0cnkgdG8gdXNlIHRoZSBvdGhlciBnbG9iYWwgdmFyaWFibGVzIGZvciBvdGhlciBh bGxvY2F0ZWQgZGF0YS4NCg0KDQoNCkRvZXMgaXQgd29yayBmb3IgeW91ciBjYXNlPw0KDQoNCg0K VGhhbmtzIQ0KDQpKZWZmDQoNCg0KDQpGcm9tOiBlZGsyLWRldmVsIDxlZGsyLWRldmVsLWJvdW5j ZXNAbGlzdHMuMDEub3JnPG1haWx0bzplZGsyLWRldmVsLWJvdW5jZXNAbGlzdHMuMDEub3JnPj4g b24gYmVoYWxmIG9mIEZhbiBKZWZmIDx2YW5qZWZmXzkxOUBob3RtYWlsLmNvbTxtYWlsdG86dmFu amVmZl85MTlAaG90bWFpbC5jb20+Pg0KU2VudDogRnJpZGF5LCBOb3ZlbWJlciAzLCAyMDE3IDQ6 MjE6MjIgUE0NClRvOiBZYW8sIEppZXdlbjsgS2lubmV5LCBNaWNoYWVsIEQ7IFdhbmcsIEppYW4g SjsgZWRrMi1kZXZlbEBsaXN0cy4wMS5vcmc8bWFpbHRvOmVkazItZGV2ZWxAbGlzdHMuMDEub3Jn Pg0KQ2M6IERvbmcsIEVyaWM7IFplbmcsIFN0YXINClN1YmplY3Q6IFtlZGsyXSC08Li0OiBbUEFU Q0ggMy8zXSBVZWZpQ3B1UGtnL0NwdUV4Y2VwdGlvbkhhbmRsZXJMaWI6IEFkZCBzdGFjayBzd2l0 Y2ggc3VwcG9ydA0KDQpKaWFuLA0KDQpDb3VsZCB5b3UgdXNlIHNvbWUgZ2xvYmFsIHZhcmlhYmxl cyBpbiBodHRwczovL2dpdGh1Yi5jb20vdGlhbm9jb3JlL2VkazIvYmxvYi9tYXN0ZXIvVWVmaUNw dVBrZy9MaWJyYXJ5L0NwdUV4Y2VwdGlvbkhhbmRsZXJMaWIvRHhlRXhjZXB0aW9uLmMgdG8gYXZv aWQgYWRkaW5nIG5ldyBBUEk/DQoNCkplZmYNCreivP7IyzogWWFvLCBKaWV3ZW48bWFpbHRvOmpp ZXdlbi55YW9AaW50ZWwuY29tPg0Kt6LLzcqxvOQ6IDIwMTfE6jEx1MIzyNUgOToyNA0KytW8/sjL OiBLaW5uZXksIE1pY2hhZWwgRDxtYWlsdG86bWljaGFlbC5kLmtpbm5leUBpbnRlbC5jb20+OyBG YW4gSmVmZjxtYWlsdG86dmFuamVmZl85MTlAaG90bWFpbC5jb20+OyBXYW5nLCBKaWFuIEo8bWFp bHRvOmppYW4uai53YW5nQGludGVsLmNvbT47IGVkazItZGV2ZWxAbGlzdHMuMDEub3JnPG1haWx0 bzplZGsyLWRldmVsQGxpc3RzLjAxLm9yZzxtYWlsdG86ZWRrMi1kZXZlbEBsaXN0cy4wMS5vcmcl M2NtYWlsdG86ZWRrMi1kZXZlbEBsaXN0cy4wMS5vcmc+Pg0Ks63LzTogRG9uZywgRXJpYzxtYWls dG86ZXJpYy5kb25nQGludGVsLmNvbT47IFplbmcsIFN0YXI8bWFpbHRvOnN0YXIuemVuZ0BpbnRl bC5jb20+DQrW98ziOiBSRTogW1BBVENIIDMvM10gVWVmaUNwdVBrZy9DcHVFeGNlcHRpb25IYW5k bGVyTGliOiBBZGQgc3RhY2sgc3dpdGNoIHN1cHBvcnQNCg0KSEkgSmlhbg0KVGhlcmUgaXMgYW5v dGhlciBwb3RlbnRpYWwgcHJvYmxlbS4NCg0KVGhpcyBmZWF0dXJlIGlzIGVuYWJsZWQgaW4gSW5p dGlhbGl6ZUNwdUludGVycnVwdEhhbmRsZXJzKCkuIEhvd2V2ZXIsIHdlIGV4cGVjdCB0aGlzIGlz IGVuYWJsZWQgaW4gSW5pdGlhbGl6ZUNwdUV4Y2VwdGlvbkhhbmRsZXJzKCkuDQoNCkluIG9yZGVy IHRvIGdldCB0aGUgZXhjZXB0aW9uIHN0YWNrIGluIEluaXRpYWxpemVDcHVFeGNlcHRpb25IYW5k bGVycygpLiBXZSBjYW4gaGF2ZSAyIHdheXM6DQpBKSBMZXQgSW5pdGlhbGl6ZUNwdUV4Y2VwdGlv bkhhbmRsZXJzKCkgYWxsb2NhdGUgdGhlIGV4Y2VwdGlvbiBzdGFjay4NCkIpIExldCBjYWxsZXIg dG8gcGFzcyB0aGUgZXhjZXB0aW9uIHN0YWNrIHRvIEluaXRpYWxpemVDcHVFeGNlcHRpb25IYW5k bGVycygpLg0KDQpGb3IgQSksIGl0IGlzIGhhcmQsIGJlY2F1c2UgRHhlQ29yZSBjYWxscyBJbml0 aWFsaXplQ3B1RXhjZXB0aW9uSGFuZGxlcnMoKSBlYXJsaWVyIHRoYW4gQ29yZUluaXRpYWxpemVN ZW1vcnlTZXJ2aWNlcygpLg0KRm9yIEIpLCBJbml0aWFsaXplQ3B1RXhjZXB0aW9uSGFuZGxlcnMo KSBpbnRlcmZhY2UgZG9lcyBub3QgY29udGFpbiBzdWNoIGluZm9ybWF0aW9uLiBXZSBtaWdodCBu ZWVkIGFkZCBhIG5ldyBBUEkgdG8gYWRkIHRoZSBleGNlcHRpb24gc3RhY2sgaW5mb3JtYXRpb24s IHN1Y2ggYXMgSW5pdGlhbGl6ZUNwdVN3aXRjaFN0YWNrRXhjZXB0aW9uSGFuZGxlcnMgKCkuDQoN Ck9uY2UgdGhpcyBmZWF0dXJlIGlzIGRvbmUsIGNhbiB3ZSBjbGVhbiB1cCB0aGUgU01NIGNvZGUg dG8gdXNlIHRoZSBuZXcgQVBJLCBpbnN0ZWFkIG9mIGR1cGxpY2F0ZSB0aGUgU01NIGNvcHkgb2Yg ZXhjZXB0aW9uIGhhbmRsZXIgPyBUaGUgZXhpc3RpbmcgU01NIGNvcHkgaGFzIHNvbWUgYXNzdW1w dGlvbiBvbiBDUjQgYW5kIEZYU0FWRS9SRVNUT1JFLCBhbmQgaXQgYnJva2UgUXVhcmsgcGxhdGZv cm0uDQoNClRoYW5rIHlvdQ0KWWFvIEppZXdlbg0KDQoNCg0KPiAtLS0tLU9yaWdpbmFsIE1lc3Nh Z2UtLS0tLQ0KPiBGcm9tOiBLaW5uZXksIE1pY2hhZWwgRA0KPiBTZW50OiBXZWRuZXNkYXksIE5v dmVtYmVyIDEsIDIwMTcgMTE6NDMgUE0NCj4gVG86IEZhbiBKZWZmIDx2YW5qZWZmXzkxOUBob3Rt YWlsLmNvbTxtYWlsdG86dmFuamVmZl85MTlAaG90bWFpbC5jb20+PjsgWWFvLCBKaWV3ZW4gPGpp ZXdlbi55YW9AaW50ZWwuY29tPG1haWx0bzpqaWV3ZW4ueWFvQGludGVsLmNvbT4+Ow0KPiBXYW5n LCBKaWFuIEogPGppYW4uai53YW5nQGludGVsLmNvbTxtYWlsdG86amlhbi5qLndhbmdAaW50ZWwu Y29tPj47IGVkazItZGV2ZWxAbGlzdHMuMDEub3JnPG1haWx0bzplZGsyLWRldmVsQGxpc3RzLjAx Lm9yZz47IEtpbm5leSwgTWljaGFlbA0KPiBEIDxtaWNoYWVsLmQua2lubmV5QGludGVsLmNvbTxt YWlsdG86bWljaGFlbC5kLmtpbm5leUBpbnRlbC5jb20+Pg0KPiBDYzogRG9uZywgRXJpYyA8ZXJp Yy5kb25nQGludGVsLmNvbTxtYWlsdG86ZXJpYy5kb25nQGludGVsLmNvbT4+OyBaZW5nLCBTdGFy IDxzdGFyLnplbmdAaW50ZWwuY29tPG1haWx0bzpzdGFyLnplbmdAaW50ZWwuY29tPj4NCj4gU3Vi amVjdDogUkU6IFtQQVRDSCAzLzNdIFVlZmlDcHVQa2cvQ3B1RXhjZXB0aW9uSGFuZGxlckxpYjog QWRkIHN0YWNrIHN3aXRjaA0KPiBzdXBwb3J0DQo+DQo+IEkgYWdyZWUgdGhhdCBhZGRpbmcgQXNt V3JpdGVUciwgSUEzMl9UQVNLX1NUQVRFX1NFR01FTlQsDQo+IElBMzJfVFNTX0RFU0NSSVBUT1Ig dG8gTWRlUGtnIEJhc2VMaWIgaXMgYSBnb29kIGlkZWEuDQo+DQo+IE1pa2UNCj4NCj4gLS0tLS1P cmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogZWRrMi1kZXZlbCBbbWFpbHRvOmVkazItZGV2 ZWwtYm91bmNlc0BsaXN0cy4wMS5vcmddIE9uIEJlaGFsZiBPZiBGYW4NCj4gSmVmZg0KPiBTZW50 OiBUdWVzZGF5LCBPY3RvYmVyIDMxLCAyMDE3IDc6MzMgUE0NCj4gVG86IFlhbywgSmlld2VuIDxq aWV3ZW4ueWFvQGludGVsLmNvbTxtYWlsdG86amlld2VuLnlhb0BpbnRlbC5jb20+PjsgV2FuZywg SmlhbiBKIDxqaWFuLmoud2FuZ0BpbnRlbC5jb208bWFpbHRvOmppYW4uai53YW5nQGludGVsLmNv bT4+Ow0KPiBlZGsyLWRldmVsQGxpc3RzLjAxLm9yZzxtYWlsdG86ZWRrMi1kZXZlbEBsaXN0cy4w MS5vcmc+DQo+IENjOiBLaW5uZXksIE1pY2hhZWwgRCA8bWljaGFlbC5kLmtpbm5leUBpbnRlbC5j b208bWFpbHRvOm1pY2hhZWwuZC5raW5uZXlAaW50ZWwuY29tPj47IERvbmcsIEVyaWMNCj4gPGVy aWMuZG9uZ0BpbnRlbC5jb208bWFpbHRvOmVyaWMuZG9uZ0BpbnRlbC5jb20+PjsgWmVuZywgU3Rh ciA8c3Rhci56ZW5nQGludGVsLmNvbTxtYWlsdG86c3Rhci56ZW5nQGludGVsLmNvbT4+DQo+IFN1 YmplY3Q6IFtlZGsyXSC08Li0OiBbUEFUQ0ggMy8zXSBVZWZpQ3B1UGtnL0NwdUV4Y2VwdGlvbkhh bmRsZXJMaWI6IEFkZA0KPiBzdGFjayBzd2l0Y2ggc3VwcG9ydA0KPg0KPiBQZXIgaHR0cHM6Ly9i dWd6aWxsYS50aWFub2NvcmUub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDksIFRSIHNob3VsZCBiZSBz ZXR1cA0KPiAoU3VjaCBhcyBpbiBEeGVJcGxQZWltKSBldmVuIHRob3VnaCBOVUxMIENwdSBFeGNl cHRpb24gSGFuZGxlciBpbnN0YW5jZSBpcw0KPiBjaG9zZW4uDQo+DQo+IEZvciBsb25nIHRlcm0s IEkgYWdyZWUgd2UgbmVlZCB0byBtb3ZlIEFzbVdyaXRlVHIsDQo+IElBMzJfVEFTS19TVEFURV9T RUdNRU5ULCBJQTMyX1RTU19ERVNDUklQVE9SIHRvIE1kZVBrZyhTdWNoIGFzIEJhc2VMaWIpDQo+ IEZvciB0aGlzIHBhdGNoLCBJIGhhdmUgbm8gc3Ryb25nIG9waW5pb24uDQo+DQo+DQo+ILeivP7I yzogWWFvLCBKaWV3ZW48bWFpbHRvOmppZXdlbi55YW9AaW50ZWwuY29tPg0KPiC3osvNyrG85Dog MjAxN8TqMTHUwjHI1SA5OjU2DQo+IMrVvP7IyzogV2FuZywgSmlhbiBKPG1haWx0bzpqaWFuLmou d2FuZ0BpbnRlbC5jb20+Ow0KPiBlZGsyLWRldmVsQGxpc3RzLjAxLm9yZzxtYWlsdG86ZWRrMi1k ZXZlbEBsaXN0cy4wMS5vcmc8bWFpbHRvOmVkazItZGV2ZWxAbGlzdHMuMDEub3JnJTNjbWFpbHRv OmVkazItZGV2ZWxAbGlzdHMuMDEub3JnPj4NCj4gs63LzTogS2lubmV5LCBNaWNoYWVsIEQ8bWFp bHRvOm1pY2hhZWwuZC5raW5uZXlAaW50ZWwuY29tPjsgRG9uZywNCj4gRXJpYzxtYWlsdG86ZXJp Yy5kb25nQGludGVsLmNvbT47IFplbmcsIFN0YXI8bWFpbHRvOnN0YXIuemVuZ0BpbnRlbC5jb20+ DQo+INb3zOI6IFJlOiBbZWRrMl0gW1BBVENIIDMvM10gVWVmaUNwdVBrZy9DcHVFeGNlcHRpb25I YW5kbGVyTGliOiBBZGQgc3RhY2sNCj4gc3dpdGNoIHN1cHBvcnQNCj4NCj4gSGkgSmlhbg0KPiBU aGFua3MgZm9yIHRoZSBwYXRjaC4NCj4NCj4gQ2FuIHdlIG1vdmUgYWxsIElBMzIgZGVmaW5lZCBk YXRhIHN0cnVjdHVyZSBvciBmdW5jdGlvbiB0byBNZGVQa2c/DQo+IFN1Y2ggYXM6IEFzbVdyaXRl VHIsIElBMzJfVEFTS19TVEFURV9TRUdNRU5ULCBJQTMyX1RTU19ERVNDUklQVE9SDQo+DQo+IEkg YW0gYWxzbyBjdXJpb3VzIHdoeSB3ZSB1c2UgZGlmZmVyZW50IHBvbGljeSBmb3Igb3RoZXIgYm9v dCBtb2RlLg0KPiBDYW4gd2UgdXNlIGNvbnNpc3RlbnQgcG9saWN5Pw0KPiA+ICsgIGlmIChQY2RH ZXRCb29sIChQY2RDcHVTdGFja0d1YXJkKSkgew0KPiA+ICsgICAgLy8NCj4gPiArICAgIC8vIFN0 YWNrIEd1YXJkIHdvcmtzIHdpdGggdGhlIHN1cHBvcnQgb2YgcGFnZSB0YWJsZSBlc3RhYmxpc2hl ZCBhbmQNCj4gPiArICAgIC8vIG1lbW9yeSBtYW5hZ2VtZW50LiBTbyB3ZSBoYXZlIHRvIGV4Y2x1 ZGUgdGhvc2UgYm9vdCBtb2Rlcw0KPiA+IHdpdGhvdXQNCj4gPiArICAgIC8vIHRoZW0uDQo+ID4g KyAgICAvLw0KPiA+ICsgICAgc3dpdGNoIChHZXRCb290TW9kZUhvYigpKSB7DQo+ID4gKyAgICBj YXNlIEJPT1RfT05fRkxBU0hfVVBEQVRFOg0KPiA+ICsgICAgY2FzZSBCT09UX0lOX1JFQ09WRVJZ X01PREU6DQo+ID4gKyAgICBjYXNlIEJPT1RfT05fUzNfUkVTVU1FOg0KPiA+ICsgICAgICBicmVh azsNCj4gPiArDQo+ID4gKyAgICBkZWZhdWx0Og0KPiA+ICsgICAgICBBcmNoU2V0dXBFeGNwZXRp b25TdGFjayAoSWR0VGFibGUpOw0KPiA+ICsgICAgICBicmVhazsNCj4gPiArICAgIH0NCj4gPiAr ICB9DQo+DQo+DQo+IFRoYW5rIHlvdQ0KPiBZYW8gSmlld2VuDQo+DQo+DQo+ID4gLS0tLS1Pcmln aW5hbCBNZXNzYWdlLS0tLS0NCj4gPiBGcm9tOiBXYW5nLCBKaWFuIEoNCj4gPiBTZW50OiBUdWVz ZGF5LCBPY3RvYmVyIDMxLCAyMDE3IDEwOjI0IFBNDQo+ID4gVG86IGVkazItZGV2ZWxAbGlzdHMu MDEub3JnPG1haWx0bzplZGsyLWRldmVsQGxpc3RzLjAxLm9yZz4NCj4gPiBDYzogWmVuZywgU3Rh ciA8c3Rhci56ZW5nQGludGVsLmNvbTxtYWlsdG86c3Rhci56ZW5nQGludGVsLmNvbT4+OyBEb25n LCBFcmljDQo+ID4gPGVyaWMuZG9uZ0BpbnRlbC5jb208bWFpbHRvOmVyaWMuZG9uZ0BpbnRlbC5j b20+PjsgWWFvLCBKaWV3ZW4gPGppZXdlbi55YW9AaW50ZWwuY29tPG1haWx0bzpqaWV3ZW4ueWFv QGludGVsLmNvbT4+OyBLaW5uZXksDQo+ID4gTWljaGFlbCBEIDxtaWNoYWVsLmQua2lubmV5QGlu dGVsLmNvbTxtYWlsdG86bWljaGFlbC5kLmtpbm5leUBpbnRlbC5jb20+Pg0KPiA+IFN1YmplY3Q6 IFtQQVRDSCAzLzNdIFVlZmlDcHVQa2cvQ3B1RXhjZXB0aW9uSGFuZGxlckxpYjogQWRkIHN0YWNr DQo+ID4gc3dpdGNoIHN1cHBvcnQNCj4gPg0KPiA+IElmIFN0YWNrIEd1YXJkIGlzIGVuYWJsZWQg YW5kIHRoZXJlJ3MgcmVhbGx5IGEgc3RhY2sgb3ZlcmZsb3cgaGFwcGVuZWQNCj4gPiBkdXJpbmcg Ym9vdCwgYSBQYWdlIEZhdWx0IGV4Y2VwdGlvbiB3aWxsIGJlIHRyaWdnZXJlZC4gQmVjYXVzZSB0 aGUNCj4gPiBzdGFjayBpcyBvdXQgb2YgdXNhZ2UsIHRoZSBleGNlcHRpb24gaGFuZGxlciwgd2hp Y2ggc2hhcmVzIHRoZSBzdGFjaw0KPiA+IHdpdGggbm9ybWFsIFVFRkkgZHJpdmVyLCBjYW5ub3Qg YmUgZXhlY3V0ZWQgYW5kIGNhbm5vdCBkdW1wIHRoZSBwcm9jZXNzb3INCj4gaW5mb3JtYXRpb24u DQo+ID4NCj4gPiBXaXRob3V0IHRob3NlIGluZm9ybWF0aW9uLCBpdCdzIHZlcnkgZGlmZmljdWx0 IGZvciB0aGUgQklPUyBkZXZlbG9wZXJzDQo+ID4gbG9jYXRlIHRoZSByb290IGNhdXNlIG9mIHN0 YWNrIG92ZXJmbG93LiBBbmQgd2l0aG91dCBhIHdvcmthYmxlIHN0YWNrLA0KPiA+IHRoZSBkZXZl bG9wZXIgY2Fubm90IGV2ZW50IHVzZSBzaW5nbGUgc3RlcCB0byBkZWJ1ZyB0aGUgVUVGSSBkcml2 ZXIgd2l0aCBKVEFHDQo+IGRlYnVnZ2VyLg0KPiA+DQo+ID4gSW4gb3JkZXIgdG8gbWFrZSBzdXJl IHRoZSBleGNlcHRpb24gaGFuZGxlciB0byBleGVjdXRlIG5vcm1hbGx5IGFmdGVyDQo+ID4gc3Rh Y2sgb3ZlcmZsb3cuIFdlIG5lZWQgc2VwYXJhdGUgc3RhY2tzIGZvciBleGNlcHRpb24gaGFuZGxl cnMgaW4gY2FzZQ0KPiA+IG9mIHVudXNhYmxlIHN0YWNrLg0KPiA+DQo+ID4gSUEgcHJvY2Vzc29y IGFsbG93cyB0byBzd2l0Y2ggdG8gYSBuZXcgc3RhY2sgZHVyaW5nIGhhbmRsaW5nIGludGVycnVw dA0KPiA+IGFuZCBleGNlcHRpb24uIEJ1dCBYNjQgYW5kIElBMzIgcHJvdmlkZXMgZGlmZmVyZW50 IHdheXMgdG8gbWFrZSBpdC4NCj4gPiBYNjQgcHJvdmlkZXMgaW50ZXJydXB0IHN0YWNrIHRhYmxl IChJU1QpIHRvIGFsbG93IG1heGltdW0gNyBkaWZmZXJlbnQNCj4gPiBleGNlcHRpb25zIHRvIGhh dmUgbmV3IHN0YWNrIGZvciBpdHMgaGFuZGxlci4gSUEzMiBkb2Vzbid0IGhhdmUgSVNUDQo+ID4g bWVjaGFuaXNtIGFuZCBjYW4gb25seSB1c2UgdGFzayBnYXRlIHRvIGRvIGl0IHNpbmNlIHRhc2sg c3dpdGNoIGFsbG93cw0KPiA+IHRvIGxvYWQgYSBuZXcgc3RhY2sgdGhyb3VnaCBpdHMgdGFzay1z dGF0ZSBzZWdtZW50IChUU1MpLg0KPiA+DQo+ID4gTm90ZTogU3RhY2sgc3dpdGNoIG5lZWRzIHRv IGFsbG9jYXRlIG1lbW9yeSBwYWdlcyB0byBiZSBuZXcgc3RhY2tzLiBTbyB0aGlzDQo+ID4gICAg ICAgZnVuY3Rpb25hbGl0eSB3b3JrcyBvbmx5IGluIHRoZSBib290IHBoYXNlcyBjYXBhYmxlIG9m IG1lbW9yeQ0KPiA+ICAgICAgIGFsbG9jYXRpb24gKGJlc2lkZXMgdGhlIHBhZ2luZywgZm9yIHRo ZSBzYWtlIG9mIFN0YWNrIEd1YXJkKS4gSW4NCj4gPiAgICAgICBvdGhlciB3b3Jkcywgb25seSBE WEUgcGhhc2UgY2FuIHN1cHBvcnRzIFN0YWNrIEd1YXJkIHdpdGggc3RhY2sNCj4gc3dpdGNoLg0K PiA+DQo+ID4gQ2M6IFN0YXIgWmVuZyA8c3Rhci56ZW5nQGludGVsLmNvbTxtYWlsdG86c3Rhci56 ZW5nQGludGVsLmNvbT4+DQo+ID4gQ2M6IEVyaWMgRG9uZyA8ZXJpYy5kb25nQGludGVsLmNvbTxt YWlsdG86ZXJpYy5kb25nQGludGVsLmNvbT4+DQo+ID4gQ2M6IEppZXdlbiBZYW8gPGppZXdlbi55 YW9AaW50ZWwuY29tPG1haWx0bzpqaWV3ZW4ueWFvQGludGVsLmNvbT4+DQo+ID4gQ2M6IE1pY2hh ZWwgS2lubmV5IDxtaWNoYWVsLmQua2lubmV5QGludGVsLmNvbTxtYWlsdG86bWljaGFlbC5kLmtp bm5leUBpbnRlbC5jb20+Pg0KPiA+IFN1Z2dlc3RlZC1ieTogQXllbGxldCBXb2xtYW4gPGF5ZWxs ZXQud29sbWFuQGludGVsLmNvbTxtYWlsdG86YXllbGxldC53b2xtYW5AaW50ZWwuY29tPj4NCj4g PiBDb250cmlidXRlZC11bmRlcjogVGlhbm9Db3JlIENvbnRyaWJ1dGlvbiBBZ3JlZW1lbnQgMS4x DQo+ID4gU2lnbmVkLW9mZi1ieTogSmlhbiBKIFdhbmcgPGppYW4uai53YW5nQGludGVsLmNvbTxt YWlsdG86amlhbi5qLndhbmdAaW50ZWwuY29tPj4NCj4gPiAtLS0NCj4gPiAgLi4uL0NwdUV4Y2Vw dGlvbkhhbmRsZXJMaWIvQ3B1RXhjZXB0aW9uQ29tbW9uLmggICAgfCAgMjIgKysNCj4gPiAgLi4u L0R4ZUNwdUV4Y2VwdGlvbkhhbmRsZXJMaWIuaW5mICAgICAgICAgICAgICAgICAgfCAgIDUgKw0K PiA+ICAuLi4vTGlicmFyeS9DcHVFeGNlcHRpb25IYW5kbGVyTGliL0R4ZUV4Y2VwdGlvbi5jICB8 ICAxOSArDQo+ID4gIC4uLi9JYTMyL0FyY2hFeGNlcHRpb25IYW5kbGVyLmMgICAgICAgICAgICAg ICAgICAgIHwgMTM1ICsrKysrKysNCj4gPiAgLi4uL0lhMzIvQXJjaEludGVycnVwdERlZnMuaCAg ICAgICAgICAgICAgICAgICAgICAgfCAxMzYgKysrKysrKw0KPiA+ICAuLi4vSWEzMi9FeGNlcHRp b25Uc3NFbnRyeUFzbS5uYXNtICAgICAgICAgICAgICAgICB8IDM5OA0KPiA+ICsrKysrKysrKysr KysrKysrKysrKw0KPiA+ICAuLi4vUGVpQ3B1RXhjZXB0aW9uSGFuZGxlckxpYi5pbmYgICAgICAg ICAgICAgICAgICB8ICAgMSArDQo+ID4gIC4uLi9TZWNQZWlDcHVFeGNlcHRpb25IYW5kbGVyTGli LmluZiAgICAgICAgICAgICAgIHwgICAzICsNCj4gPiAgLi4uL1NtbUNwdUV4Y2VwdGlvbkhhbmRs ZXJMaWIuaW5mICAgICAgICAgICAgICAgICAgfCAgIDEgKw0KPiA+ICAuLi4vWDY0L0FyY2hFeGNl cHRpb25IYW5kbGVyLmMgICAgICAgICAgICAgICAgICAgICB8IDEwOCArKysrKysNCj4gPiAgLi4u L0NwdUV4Y2VwdGlvbkhhbmRsZXJMaWIvWDY0L0FyY2hJbnRlcnJ1cHREZWZzLmggfCAgNDAgKysr DQo+ID4gIC4uLi9YNjQvRXhjZXB0aW9uSGFuZGxlckFzbS5TICAgICAgICAgICAgICAgICAgICAg IHwgIDEyICsNCj4gPiAgLi4uL1g2NC9FeGNlcHRpb25IYW5kbGVyQXNtLmFzbSAgICAgICAgICAg ICAgICAgICAgfCAgMTIgKw0KPiA+ICAuLi4vWDY0L0V4Y2VwdGlvbkhhbmRsZXJBc20ubmFzbSAg ICAgICAgICAgICAgICAgICB8ICAxMiArDQo+ID4gIDE0IGZpbGVzIGNoYW5nZWQsIDkwNCBpbnNl cnRpb25zKCspDQo+ID4gIGNyZWF0ZSBtb2RlIDEwMDY0NA0KPiA+IFVlZmlDcHVQa2cvTGlicmFy eS9DcHVFeGNlcHRpb25IYW5kbGVyTGliL0lhMzIvRXhjZXB0aW9uVHNzRW50cnlBc20ubmENCj4g PiBzbQ0KPiA+DQo+ID4gZGlmZiAtLWdpdA0KPiA+IGEvVWVmaUNwdVBrZy9MaWJyYXJ5L0NwdUV4 Y2VwdGlvbkhhbmRsZXJMaWIvQ3B1RXhjZXB0aW9uQ29tbW9uLmgNCj4gPiBiL1VlZmlDcHVQa2cv TGlicmFyeS9DcHVFeGNlcHRpb25IYW5kbGVyTGliL0NwdUV4Y2VwdGlvbkNvbW1vbi5oDQo+ID4g aW5kZXggNzQwYTU4ODI4Yi4uZmQ0YTI2YTQ1OCAxMDA2NDQNCj4gPiAtLS0gYS9VZWZpQ3B1UGtn L0xpYnJhcnkvQ3B1RXhjZXB0aW9uSGFuZGxlckxpYi9DcHVFeGNlcHRpb25Db21tb24uaA0KPiA+ ICsrKyBiL1VlZmlDcHVQa2cvTGlicmFyeS9DcHVFeGNlcHRpb25IYW5kbGVyTGliL0NwdUV4Y2Vw dGlvbkNvbW1vbi5oDQo+ID4gQEAgLTI1LDYgKzI1LDcgQEANCj4gPiAgI2luY2x1ZGUgPExpYnJh cnkvQmFzZU1lbW9yeUxpYi5oPg0KPiA+ICAjaW5jbHVkZSA8TGlicmFyeS9TeW5jaHJvbml6YXRp b25MaWIuaD4gICNpbmNsdWRlDQo+ID4gPExpYnJhcnkvQ3B1RXhjZXB0aW9uSGFuZGxlckxpYi5o Pg0KPiA+ICsjaW5jbHVkZSA8TGlicmFyeS9NZW1vcnlBbGxvY2F0aW9uTGliLmg+DQo+ID4NCj4g PiAgI2RlZmluZSAgQ1BVX0VYQ0VQVElPTl9OVU0gICAgICAgICAgMzINCj4gPiAgI2RlZmluZSAg Q1BVX0lOVEVSUlVQVF9OVU0gICAgICAgICAyNTYNCj4gPiBAQCAtMjg4LDUgKzI4OSwyNiBAQCBD b21tb25FeGNlcHRpb25IYW5kbGVyV29ya2VyICgNCj4gPiAgICBJTiBFWENFUFRJT05fSEFORExF Ul9EQVRBICAgICAgKkV4Y2VwdGlvbkhhbmRsZXJEYXRhDQo+ID4gICAgKTsNCj4gPg0KPiA+ICsv KioNCj4gPiArICBMb2FkIGdpdmVuIHNlbGVjdG9yIGludG8gVFIgcmVnaXN0ZXINCj4gPiArDQo+ ID4gKyAgQHBhcmFtIFNlbGVjdG9yICAgICAgICAgVGFzayBzZWdtZW50IHNlbGVjdG9yDQo+ID4g KyoqLw0KPiA+ICtWT0lEDQo+ID4gK0FzbVdyaXRlVHIgKA0KPiA+ICsgIFVJTlQxNiBTZWxlY3Rv cg0KPiA+ICsgICk7DQo+ID4gKw0KPiA+ICsvKioNCj4gPiArICBTZXR1cCBzZXBhcmF0ZSBzdGFj ayBmb3Igc3BlY2lmaWMgZXhjZXB0aW9ucy4NCj4gPiArDQo+ID4gKyAgQHBhcmFtW2luXSBJZHRU YWJsZSAgICAgICAgSURUIHRhYmxlIGJhc2UuDQo+ID4gKyoqLw0KPiA+ICtWT0lEDQo+ID4gK0VG SUFQSQ0KPiA+ICtBcmNoU2V0dXBFeGNwZXRpb25TdGFjayAoDQo+ID4gKyAgSU4gSUEzMl9JRFRf R0FURV9ERVNDUklQVE9SICAgICAgICAgICAqSWR0VGFibGUNCj4gPiArICApOw0KPiA+ICsNCj4g PiAgI2VuZGlmDQo+ID4NCj4gPiBkaWZmIC0tZ2l0DQo+ID4gYS9VZWZpQ3B1UGtnL0xpYnJhcnkv Q3B1RXhjZXB0aW9uSGFuZGxlckxpYi9EeGVDcHVFeGNlcHRpb25IYW5kbGVyTGliLg0KPiA+IGlu Zg0KPiA+IGIvVWVmaUNwdVBrZy9MaWJyYXJ5L0NwdUV4Y2VwdGlvbkhhbmRsZXJMaWIvRHhlQ3B1 RXhjZXB0aW9uSGFuZGxlckxpYi4NCj4gPiBpbmYNCj4gPiBpbmRleCBmNGE4ZDAxYzgwLi5iMDk5 ZWY0ZGFkIDEwMDY0NA0KPiA+IC0tLQ0KPiA+IGEvVWVmaUNwdVBrZy9MaWJyYXJ5L0NwdUV4Y2Vw dGlvbkhhbmRsZXJMaWIvRHhlQ3B1RXhjZXB0aW9uSGFuZGxlckxpYi4NCj4gPiBpbmYNCj4gPiAr KysNCj4gPiBiL1VlZmlDcHVQa2cvTGlicmFyeS9DcHVFeGNlcHRpb25IYW5kbGVyTGliL0R4ZUNw dUV4Y2VwdGlvbkhhbmRsZXJMaWIuDQo+ID4gaW5mDQo+ID4gQEAgLTMwLDYgKzMwLDcgQEANCj4g PiAgW1NvdXJjZXMuSWEzMl0NCj4gPiAgICBJYTMyL0V4Y2VwdGlvbkhhbmRsZXJBc20uYXNtDQo+ ID4gICAgSWEzMi9FeGNlcHRpb25IYW5kbGVyQXNtLm5hc20NCj4gPiArICBJYTMyL0V4Y2VwdGlv blRzc0VudHJ5QXNtLm5hc20NCj4gPiAgICBJYTMyL0V4Y2VwdGlvbkhhbmRsZXJBc20uUw0KPiA+ ICAgIElhMzIvQXJjaEV4Y2VwdGlvbkhhbmRsZXIuYw0KPiA+ICAgIElhMzIvQXJjaEludGVycnVw dERlZnMuaA0KPiA+IEBAIC00Nyw2ICs0OCw5IEBADQo+ID4gICAgUGVpRHhlU21tQ3B1RXhjZXB0 aW9uLmMNCj4gPiAgICBEeGVFeGNlcHRpb24uYw0KPiA+DQo+ID4gK1tQY2RdDQo+ID4gKyAgZ0Vm aU1kZU1vZHVsZVBrZ1Rva2VuU3BhY2VHdWlkLlBjZENwdVN0YWNrR3VhcmQNCj4gPiArDQo+ID4g IFtQYWNrYWdlc10NCj4gPiAgICBNZGVQa2cvTWRlUGtnLmRlYw0KPiA+ICAgIE1kZU1vZHVsZVBr Zy9NZGVNb2R1bGVQa2cuZGVjDQo+ID4gQEAgLTYxLDMgKzY1LDQgQEANCj4gPiAgICBQZUNvZmZH ZXRFbnRyeVBvaW50TGliDQo+ID4gICAgTWVtb3J5QWxsb2NhdGlvbkxpYg0KPiA+ICAgIERlYnVn TGliDQo+ID4gKyAgSG9iTGliDQo+ID4gZGlmZiAtLWdpdCBhL1VlZmlDcHVQa2cvTGlicmFyeS9D cHVFeGNlcHRpb25IYW5kbGVyTGliL0R4ZUV4Y2VwdGlvbi5jDQo+ID4gYi9VZWZpQ3B1UGtnL0xp YnJhcnkvQ3B1RXhjZXB0aW9uSGFuZGxlckxpYi9EeGVFeGNlcHRpb24uYw0KPiA+IGluZGV4IDMx ZmViZWM5NzYuLmU5ZGNkMDBlMDIgMTAwNjQ0DQo+ID4gLS0tIGEvVWVmaUNwdVBrZy9MaWJyYXJ5 L0NwdUV4Y2VwdGlvbkhhbmRsZXJMaWIvRHhlRXhjZXB0aW9uLmMNCj4gPiArKysgYi9VZWZpQ3B1 UGtnL0xpYnJhcnkvQ3B1RXhjZXB0aW9uSGFuZGxlckxpYi9EeGVFeGNlcHRpb24uYw0KPiA+IEBA IC0xNiw2ICsxNiw3IEBADQo+ID4gICNpbmNsdWRlICJDcHVFeGNlcHRpb25Db21tb24uaCINCj4g PiAgI2luY2x1ZGUgPExpYnJhcnkvRGVidWdMaWIuaD4NCj4gPiAgI2luY2x1ZGUgPExpYnJhcnkv TWVtb3J5QWxsb2NhdGlvbkxpYi5oPg0KPiA+ICsjaW5jbHVkZSA8TGlicmFyeS9Ib2JMaWIuaD4N Cj4gPg0KPiA+ICBDT05TVCBVSU5UTiAgICBtRG9GYXJSZXR1cm5GbGFnICA9IDA7DQo+ID4NCj4g PiBAQCAtMTU1LDYgKzE1NiwyNCBAQCBJbml0aWFsaXplQ3B1SW50ZXJydXB0SGFuZGxlcnMgKA0K PiA+DQo+ID4gICAgVXBkYXRlSWR0VGFibGUgKElkdFRhYmxlLCAmVGVtcGxhdGVNYXAsICZtRXhj ZXB0aW9uSGFuZGxlckRhdGEpOw0KPiA+DQo+ID4gKyAgaWYgKFBjZEdldEJvb2wgKFBjZENwdVN0 YWNrR3VhcmQpKSB7DQo+ID4gKyAgICAvLw0KPiA+ICsgICAgLy8gU3RhY2sgR3VhcmQgd29ya3Mg d2l0aCB0aGUgc3VwcG9ydCBvZiBwYWdlIHRhYmxlIGVzdGFibGlzaGVkIGFuZA0KPiA+ICsgICAg Ly8gbWVtb3J5IG1hbmFnZW1lbnQuIFNvIHdlIGhhdmUgdG8gZXhjbHVkZSB0aG9zZSBib290IG1v ZGVzDQo+ID4gd2l0aG91dA0KPiA+ICsgICAgLy8gdGhlbS4NCj4gPiArICAgIC8vDQo+ID4gKyAg ICBzd2l0Y2ggKEdldEJvb3RNb2RlSG9iKCkpIHsNCj4gPiArICAgIGNhc2UgQk9PVF9PTl9GTEFT SF9VUERBVEU6DQo+ID4gKyAgICBjYXNlIEJPT1RfSU5fUkVDT1ZFUllfTU9ERToNCj4gPiArICAg IGNhc2UgQk9PVF9PTl9TM19SRVNVTUU6DQo+ID4gKyAgICAgIGJyZWFrOw0KPiA+ICsNCj4gPiAr ICAgIGRlZmF1bHQ6DQo+ID4gKyAgICAgIEFyY2hTZXR1cEV4Y3BldGlvblN0YWNrIChJZHRUYWJs ZSk7DQo+ID4gKyAgICAgIGJyZWFrOw0KPiA+ICsgICAgfQ0KPiA+ICsgIH0NCj4gPiArDQo+ID4g ICAgLy8NCj4gPiAgICAvLyBMb2FkIEludGVycnVwdCBEZXNjcmlwdG9yIFRhYmxlDQo+ID4gICAg Ly8NCj4gPiBkaWZmIC0tZ2l0DQo+ID4gYS9VZWZpQ3B1UGtnL0xpYnJhcnkvQ3B1RXhjZXB0aW9u SGFuZGxlckxpYi9JYTMyL0FyY2hFeGNlcHRpb25IYW5kbGVyLg0KPiA+IGMNCj4gPiBiL1VlZmlD cHVQa2cvTGlicmFyeS9DcHVFeGNlcHRpb25IYW5kbGVyTGliL0lhMzIvQXJjaEV4Y2VwdGlvbkhh bmRsZXIuDQo+ID4gYw0KPiA+IGluZGV4IGYyYzM5ZWIxOTMuLjNkNDFkZjc1YTUgMTAwNjQ0DQo+ ID4gLS0tDQo+ID4gYS9VZWZpQ3B1UGtnL0xpYnJhcnkvQ3B1RXhjZXB0aW9uSGFuZGxlckxpYi9J YTMyL0FyY2hFeGNlcHRpb25IYW5kbGVyLg0KPiA+IGMNCj4gPiArKysNCj4gPiBiL1VlZmlDcHVQ a2cvTGlicmFyeS9DcHVFeGNlcHRpb25IYW5kbGVyTGliL0lhMzIvQXJjaEV4Y2VwdGlvbkhhbmRs ZXIuDQo+ID4gYw0KPiA+IEBAIC0xNCw2ICsxNCwxOSBAQA0KPiA+DQo+ID4gICNpbmNsdWRlICJD cHVFeGNlcHRpb25Db21tb24uaCINCj4gPg0KPiA+ICsvLw0KPiA+ICsvLyBMaXN0IG9mIGV4Y2Vw dGlvbnMgbmVlZGluZyBzZXBhcmF0ZSBzdGFjayAvLyBTVEFUSUMNCj4gPiArSUEzMl9FWENFUFRJ T05fVFNfRU5UUlkgbUV4Y2VwdGlvbnNXaXRoU3RhY2tbXSA9IHsNCj4gPiArICB7NiwgIEV4Y2Vw dGlvblRhc2tTd3RpY2hFbnRyeTZ9LCAgLy8jVUQ6IEludmFsaWQgT3Bjb2RlIEV4Y2VwdGlvbg0K PiA+ICsgIHs4LCAgRXhjZXB0aW9uVGFza1N3dGljaEVudHJ5OH0sICAvLyNERjogRG91YmxlIEZh dWx0IEV4Y2VwdGlvbg0KPiA+ICsgIHsxMiwgRXhjZXB0aW9uVGFza1N3dGljaEVudHJ5MTJ9LCAv LyNTUzogU3RhY2sgRmF1bHQgRXhjZXB0aW9uDQo+ID4gKyAgezEzLCBFeGNlcHRpb25UYXNrU3d0 aWNoRW50cnkxM30sIC8vI0dQOiBHZW5lcmFsIFByb3RlY3Rpb24NCj4gPiArRXhjZXB0aW9uDQo+ ID4gKyAgezE0LCBFeGNlcHRpb25UYXNrU3d0aWNoRW50cnkxNH0sIC8vI1BGOiBQYWdlLUZhdWx0 IEV4Y2VwdGlvbg0KPiA+ICsgIHsxNywgRXhjZXB0aW9uVGFza1N3dGljaEVudHJ5MTd9LCAvLyNB QzogQWxpZ25tZW50IENoZWNrIEV4Y2VwdGlvbg0KPiA+ICsgIHsxOCwgRXhjZXB0aW9uVGFza1N3 dGljaEVudHJ5MTh9ICAvLyNNQzogTWFjaGluZS1DaGVjayBFeGNlcHRpb24gfTsNCj4gPiArDQo+ ID4gIC8qKg0KPiA+ICAgIFJldHVybiBhZGRyZXNzIG1hcCBvZiBleGNlcHRpb24gaGFuZGxlciB0 ZW1wbGF0ZSBzbyB0aGF0IEMgY29kZSBjYW4NCj4gPiBnZW5lcmF0ZQ0KPiA+ICAgIGV4Y2VwdGlv biB0YWJsZXMuDQo+ID4gQEAgLTEwNyw2ICsxMjAsMTI4IEBAIEFyY2hSZXN0b3JlRXhjZXB0aW9u Q29udGV4dCAoDQo+ID4gICAgU3lzdGVtQ29udGV4dC5TeXN0ZW1Db250ZXh0SWEzMi0+RXhjZXB0 aW9uRGF0YSA9DQo+ID4gUmVzZXJ2ZWRWZWN0b3JzW0V4Y2VwdGlvblR5cGVdLkV4Y2VwdGlvbkRh dGE7DQo+ID4gIH0NCj4gPg0KPiA+ICsvKioNCj4gPiArICBTZXR1cCBzZXBhcmF0ZSBzdGFjayBm b3Igc3BlY2lmaWMgZXhjZXB0aW9ucy4NCj4gPiArDQo+ID4gKyAgIEBwYXJhbVtpbl0gSWR0VGFi bGUgICAgICAgIElEVCB0YWJsZSBiYXNlLg0KPiA+ICsqKi8NCj4gPiArVk9JRA0KPiA+ICtFRklB UEkNCj4gPiArQXJjaFNldHVwRXhjcGV0aW9uU3RhY2sgKA0KPiA+ICsgIElOIElBMzJfSURUX0dB VEVfREVTQ1JJUFRPUiAgICAgICAgICAgKklkdFRhYmxlDQo+ID4gKyAgKQ0KPiA+ICt7DQo+ID4g KyAgVk9JRCAgICAgICAgICAgICAgICAgICAgICAqTmV3R2R0Ow0KPiA+ICsgIElBMzJfREVTQ1JJ UFRPUiAgICAgICAgICAgR2R0RGVzYzsNCj4gPiArICBVSU5UTiAgICAgICAgICAgICAgICAgICAg IE9sZEdkdFNpemU7DQo+ID4gKyAgVFNTX0VOVFJJRVMgICAgICAgICAgICAgICAqVHNzRW50cnk7 DQo+ID4gKyAgSUEzMl9UU1NfREVTQ1JJUFRPUiAgICAgICAqVHNzRGVzYzsNCj4gPiArICBJQTMy X1RBU0tfU1RBVEVfU0VHTUVOVCAgICpUc3M7DQo+ID4gKyAgVUlOVE4gICAgICAgICAgICAgICAg ICAgICBTdGFja0Jhc2U7DQo+ID4gKyAgVUlOVE4gICAgICAgICAgICAgICAgICAgICBTdGFja1Rv cDsNCj4gPiArICBVSU5UTiAgICAgICAgICAgICAgICAgICAgIFN0YWNrU2l6ZTsNCj4gPiArICBV SU5UTiAgICAgICAgICAgICAgICAgICAgIEluZGV4Ow0KPiA+ICsgIFVJTlROICAgICAgICAgICAg ICAgICAgICAgVmVjdG9yOw0KPiA+ICsgIFVJTlROICAgICAgICAgICAgICAgICAgICAgVHNzQmFz ZTsNCj4gPiArDQo+ID4gKyAgLy8NCj4gPiArICAvLyBBbGxvY2F0ZSBSdW50aW1lIERhdGEgZm9y IHRoZSBHRFQgIC8vICBBc21SZWFkR2R0cigmR2R0RGVzYyk7DQo+ID4gKyBPbGRHZHRTaXplID0g R2R0RGVzYy5MaW1pdCArIDE7ICBOZXdHZHQgPQ0KPiA+ICsgQWxsb2NhdGVSdW50aW1lWmVyb1Bv b2woT2xkR2R0U2l6ZSArIHNpemVvZihUU1NfRU5UUklFUykNCj4gPiArICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICArIElBMzJfR0RUX0FMSUdOTUVOVCk7ICBpZg0KPiAoTmV3R2R0 DQo+ID4gKyA9PSBOVUxMKSB7DQo+ID4gKyAgICByZXR1cm47DQo+ID4gKyAgfQ0KPiA+ICsgIE5l d0dkdCA9IEFMSUdOX1BPSU5URVIgKE5ld0dkdCwgSUEzMl9HRFRfQUxJR05NRU5UKTsNCj4gPiAr DQo+ID4gKyAgLy8NCj4gPiArICAvLyBJbml0aWFsaXplIG5ldyBHRFQgZW50cmllcw0KPiA+ICsg IC8vDQo+ID4gKyAgQ29weU1lbShOZXdHZHQsIChWT0lEICopR2R0RGVzYy5CYXNlLCBPbGRHZHRT aXplKTsgIEdkdERlc2MuQmFzZSA9DQo+ID4gKyAoVUlOVE4pKFZPSUQqKU5ld0dkdDsgIEdkdERl c2MuTGltaXQgPSAoVUlOVDE2KShPbGRHZHRTaXplICsNCj4gPiArIFRTU19PRkZTRVQgLSAxKTsN Cj4gPiArDQo+ID4gKyAgLy8NCj4gPiArICAvLyBSZXNlcnZlIHN0YXRjayBtZW1vcnkgZm9yIGdp dmVuIGV4Y2VwdGlvbnMgIC8vICBTdGFja1NpemUgPQ0KPiA+ICsgQVJSQVlfU0laRSAobUV4Y2Vw dGlvbnNXaXRoU3RhY2spICogRVhDRVBUSU9OX1NUQUNLX1NJWkU7ICBTdGFja1NpemUNCj4gPiAr ID0gRUZJX1BBR0VTX1RPX1NJWkUgKEVGSV9TSVpFX1RPX1BBR0VTIChTdGFja1NpemUpKTsgIFN0 YWNrQmFzZSA9DQo+ID4gKyAoVUlOVDY0KShVSU5UTilBbGxvY2F0ZVBhZ2VzIChFRklfU0laRV9U T19QQUdFUw0KPiA+IChTdGFja1NpemUpKTsNCj4gPiArICBpZiAoU3RhY2tCYXNlID09IDApIHsN Cj4gPiArICAgIEZyZWVQb29sIChOZXdHZHQpOw0KPiA+ICsgICAgcmV0dXJuOw0KPiA+ICsgIH0N Cj4gPiArDQo+ID4gKyAgLy8NCj4gPiArICAvLyBGaXh1cCBUU1MgZGVzY3JpcHRvcnMgYW5kIHNl Z21lbnRzICAvLyAgVHNzRW50cnkgPSAoVk9JRA0KPiA+ICsgKikoR2R0RGVzYy5CYXNlICsgT2xk R2R0U2l6ZSk7DQo+ID4gKw0KPiA+ICsgIFRzc0Jhc2UgPSAoVUlOVE4pKFZPSUQgKikmVHNzRW50 cnktPlRzczsNCj4gPiArICBUc3NFbnRyeS0+VHNzU2VnLkxpbWl0MTVfMCAgICAgICAgICAgID0N Cj4gPiBzaXplb2YoSUEzMl9UQVNLX1NUQVRFX1NFR01FTlQpIC0gMTsNCj4gPiArICBUc3NFbnRy eS0+VHNzU2VnLkJhc2UxNV8wICAgICAgICAgICAgID0gKFVJTlQxNilUc3NCYXNlOw0KPiA+ICsg IFRzc0VudHJ5LT5Uc3NTZWcuQmFzZTIzXzE2ICAgICAgICAgICAgPSAoVUlOVDgpKFRzc0Jhc2Ug Pj4gMTYpOw0KPiA+ICsgIFRzc0VudHJ5LT5Uc3NTZWcuVHlwZSAgICAgICAgICAgICAgICAgPSBJ QTMyX0dEVF9UWVBFX1RTUzsNCj4gPiArICBUc3NFbnRyeS0+VHNzU2VnLkxpbWl0MTlfMTZfYW5k X2ZsYWdzID0gMDsNCj4gPiArICBUc3NFbnRyeS0+VHNzU2VnLkJhc2UzMV8yNCAgICAgICAgICAg ID0gKFVJTlQ4KShUc3NCYXNlID4+IDI0KTsNCj4gPiArDQo+ID4gKyAgU3RhY2tUb3AgID0gU3Rh Y2tCYXNlICsgU3RhY2tTaXplIC0gQ1BVX1NUQUNLX0FMSUdOTUVOVDsgIFN0YWNrVG9wDQo+ID4g KyA9IChVSU5UTilBTElHTl9QT0lOVEVSIChTdGFja1RvcCwgQ1BVX1NUQUNLX0FMSUdOTUVOVCk7 ICBmb3IgKEluZGV4DQo+ID4gKyA9IDA7IEluZGV4IDwgQVJSQVlfU0laRSAobUV4Y2VwdGlvbnNX aXRoU3RhY2spOyArK0luZGV4KSB7DQo+ID4gKyAgICAvLw0KPiA+ICsgICAgLy8gRml4dXAgVFNT IGRlc2NyaXB0b3INCj4gPiArICAgIC8vDQo+ID4gKyAgICBUc3NCYXNlID0gKFVJTlROKShWT0lE ICopJlRzc0VudHJ5LT5FeGNlcHRpb25Uc3NbSW5kZXhdOw0KPiA+ICsgICAgVHNzRGVzYyA9ICZU c3NFbnRyeS0+RXhjZXB0aW9uVHNzU2VnW0luZGV4XTsNCj4gPiArDQo+ID4gKyAgICBUc3NEZXNj LT5MaW1pdDE1XzAgICAgICAgICAgICA9IHNpemVvZihJQTMyX1RBU0tfU1RBVEVfU0VHTUVOVCkg LQ0KPiAxOw0KPiA+ICsgICAgVHNzRGVzYy0+QmFzZTE1XzAgICAgICAgICAgICAgPSAoVUlOVDE2 KVRzc0Jhc2U7DQo+ID4gKyAgICBUc3NEZXNjLT5CYXNlMjNfMTYgICAgICAgICAgICA9IChVSU5U OCkoVHNzQmFzZSA+PiAxNik7DQo+ID4gKyAgICBUc3NEZXNjLT5UeXBlICAgICAgICAgICAgICAg ICA9IElBMzJfR0RUX1RZUEVfVFNTOw0KPiA+ICsgICAgVHNzRGVzYy0+TGltaXQxOV8xNl9hbmRf ZmxhZ3MgPSAwOw0KPiA+ICsgICAgVHNzRGVzYy0+QmFzZTMxXzI0ICAgICAgICAgICAgPSAoVUlO VDgpKFRzc0Jhc2UgPj4gMjQpOw0KPiA+ICsNCj4gPiArICAgIC8vDQo+ID4gKyAgICAvLyBGaXh1 cCBUU1MNCj4gPiArICAgIC8vDQo+ID4gKyAgICBUc3MgPSAmVHNzRW50cnktPkV4Y2VwdGlvblRz c1tJbmRleF07DQo+ID4gKyAgICBUc3MtPkNSMyAgICA9IEFzbVJlYWRDcjMoKTsNCj4gPiArICAg IFRzcy0+RUlQICAgID0gKFVJTlQzMiltRXhjZXB0aW9uc1dpdGhTdGFja1tJbmRleF0uRW50cnlQ b2ludDsNCj4gPiArICAgIFRzcy0+RUZMQUdTID0gMHgyOw0KPiA+ICsgICAgVHNzLT5FU1AgICAg PSBTdGFja1RvcDsNCj4gPiArICAgIFRzcy0+RVMgICAgID0gQXNtUmVhZEVzKCk7DQo+ID4gKyAg ICBUc3MtPkNTICAgICA9IEFzbVJlYWRDcygpOw0KPiA+ICsgICAgVHNzLT5TUyAgICAgPSBBc21S ZWFkU3MoKTsNCj4gPiArICAgIFRzcy0+RFMgICAgID0gQXNtUmVhZERzKCk7DQo+ID4gKyAgICBU c3MtPkZTICAgICA9IEFzbVJlYWRGcygpOw0KPiA+ICsgICAgVHNzLT5HUyAgICAgPSBBc21SZWFk R3MoKTsNCj4gPiArICAgIFN0YWNrVG9wICAgLT0gRVhDRVBUSU9OX1NUQUNLX1NJWkU7DQo+ID4g Kw0KPiA+ICsgICAgLy8NCj4gPiArICAgIC8vIENoYW5nZSBzcGVjaWZpZWQgZXhjZXB0aW9ucyBp biBJRFQgdG8gdXNlIFRTUw0KPiA+ICsgICAgLy8NCj4gPiArICAgIFZlY3RvciA9IG1FeGNlcHRp b25zV2l0aFN0YWNrW0luZGV4XS5WZWN0b3I7DQo+ID4gKw0KPiA+ICsgICAgSWR0VGFibGVbVmVj dG9yXS5CaXRzLk9mZnNldExvdyAgPSAwOw0KPiA+ICsgICAgSWR0VGFibGVbVmVjdG9yXS5CaXRz LlNlbGVjdG9yICAgPSBPbGRHZHRTaXplICsNCj4gPiBFWENFUFRJT05fVFNTX1NFTChJbmRleCk7 DQo+ID4gKyAgICBJZHRUYWJsZVtWZWN0b3JdLkJpdHMuUmVzZXJ2ZWRfMCA9IDA7DQo+ID4gKyAg ICBJZHRUYWJsZVtWZWN0b3JdLkJpdHMuR2F0ZVR5cGUgICA9IElBMzJfSURUX0dBVEVfVFlQRV9U QVNLOw0KPiA+ICsgICAgSWR0VGFibGVbVmVjdG9yXS5CaXRzLk9mZnNldEhpZ2ggPSAwOyAgfQ0K PiA+ICsNCj4gPiArICAvLw0KPiA+ICsgIC8vIFB1Ymxpc2ggdGhlIGNoYW5nZXMNCj4gPiArICAv Lw0KPiA+ICsgIEFzbVdyaXRlR2R0cigmR2R0RGVzYyk7DQo+ID4gKw0KPiA+ICsgIC8vDQo+ID4g KyAgLy8gTG9hZCB0YXNrIHJlZ2lzdGVyDQo+ID4gKyAgLy8NCj4gPiArICBBc21Xcml0ZVRyICgo VUlOVDE2KShPbGRHZHRTaXplICsgVFNTX1NFTCkpOyB9DQo+ID4gKw0KPiA+ICAvKioNCj4gPiAg ICBEaXNwbGF5IHByb2Nlc3NvciBjb250ZXh0Lg0KPiA+DQo+ID4gZGlmZiAtLWdpdA0KPiA+IGEv VWVmaUNwdVBrZy9MaWJyYXJ5L0NwdUV4Y2VwdGlvbkhhbmRsZXJMaWIvSWEzMi9BcmNoSW50ZXJy dXB0RGVmcy5oDQo+ID4gYi9VZWZpQ3B1UGtnL0xpYnJhcnkvQ3B1RXhjZXB0aW9uSGFuZGxlckxp Yi9JYTMyL0FyY2hJbnRlcnJ1cHREZWZzLmgNCj4gPiBpbmRleCBhOGQzNTU2YTgwLi43N2NjNmY5 OTE5IDEwMDY0NA0KPiA+IC0tLQ0KPiA+IGEvVWVmaUNwdVBrZy9MaWJyYXJ5L0NwdUV4Y2VwdGlv bkhhbmRsZXJMaWIvSWEzMi9BcmNoSW50ZXJydXB0RGVmcy5oDQo+ID4gKysrIGIvVWVmaUNwdVBr Zy9MaWJyYXJ5L0NwdUV4Y2VwdGlvbkhhbmRsZXJMaWIvSWEzMi9BcmNoSW50ZXJydXB0RGVmcw0K PiA+ICsrKyAuaA0KPiA+IEBAIC00MSw0ICs0MSwxNDAgQEAgdHlwZWRlZiBzdHJ1Y3Qgew0KPiA+ ICAgIFVJTlQ4ICAgICAgIEhvb2tBZnRlclN0dWJIZWFkZXJDb2RlW0hPT0tBRlRFUl9TVFVCX1NJ WkVdOw0KPiA+ICB9IFJFU0VSVkVEX1ZFQ1RPUlNfREFUQTsNCj4gPg0KPiA+ICsjcHJhZ21hIHBh Y2sgKDEpDQo+ID4gKw0KPiA+ICsjZGVmaW5lIEVYQ0VQVElPTl9MSVNUX01BWCAgICAgICAgICA3 DQo+ID4gKyNkZWZpbmUgRVhDRVBUSU9OX1NUQUNLX1NJWkUgICAgICAgIEVGSV9QQUdFX1NJWkUN Cj4gPiArI2RlZmluZSBJQTMyX0dEVF9UWVBFX1RTUyAgICAgICAgICAgMHg4OQ0KPiA+ICsjZGVm aW5lIElBMzJfR0RUX0FMSUdOTUVOVCAgICAgICAgICA4DQo+ID4gKw0KPiA+ICsvLw0KPiA+ICsv LyBJQTMyIFRTUyBEZWZpbml0aW9uDQo+ID4gKy8vDQo+ID4gK3R5cGVkZWYgc3RydWN0IHsNCj4g PiArICBVSU5UMTYgICAgUHJldmlvdXNUYXNrTGluazsgLy8gMDANCj4gPiArICBVSU5UMTYgICAg UmVzZXJ2ZWRfMjsNCj4gPiArICBVSU5UMzIgICAgRVNQMDsgICAgICAgICAgICAgLy8gMDQNCj4g PiArICBVSU5UMTYgICAgU1MwOyAgICAgICAgICAgICAgLy8gMDgNCj4gPiArICBVSU5UMTYgICAg UmVzZXJ2ZWRfMTA7DQo+ID4gKyAgVUlOVDMyICAgIEVTUDE7ICAgICAgICAgICAgIC8vIDBDDQo+ ID4gKyAgVUlOVDE2ICAgIFNTMTsgICAgICAgICAgICAgIC8vIDEwDQo+ID4gKyAgVUlOVDE2ICAg IFJlc2VydmVkXzE4Ow0KPiA+ICsgIFVJTlQzMiAgICBFU1AyOyAgICAgICAgICAgICAvLyAxNA0K PiA+ICsgIFVJTlQxNiAgICBTUzI7ICAgICAgICAgICAgICAvLyAxOA0KPiA+ICsgIFVJTlQxNiAg ICBSZXNlcnZlZF8yNjsNCj4gPiArICBVSU5UMzIgICAgQ1IzOyAgICAgICAgICAgICAgLy8gMUMN Cj4gPiArICBVSU5UMzIgICAgRUlQOyAgICAgICAgICAgICAgLy8gMjANCj4gPiArICBVSU5UMzIg ICAgRUZMQUdTOyAgICAgICAgICAgLy8gMjQNCj4gPiArICBVSU5UMzIgICAgRUFYOyAgICAgICAg ICAgICAgLy8gMjgNCj4gPiArICBVSU5UMzIgICAgRUNYOyAgICAgICAgICAgICAgLy8gMkMNCj4g PiArICBVSU5UMzIgICAgRURYOyAgICAgICAgICAgICAgLy8gMzANCj4gPiArICBVSU5UMzIgICAg RUJYOyAgICAgICAgICAgICAgLy8gMzQNCj4gPiArICBVSU5UMzIgICAgRVNQOyAgICAgICAgICAg ICAgLy8gMzgNCj4gPiArICBVSU5UMzIgICAgRUJQOw0KPiA+ICsgIFVJTlQzMiAgICBFU0k7DQo+ ID4gKyAgVUlOVDMyICAgIEVESTsNCj4gPiArICBVSU5UMTYgICAgRVM7DQo+ID4gKyAgVUlOVDE2 ICAgIFJlc2VydmVkXzc0Ow0KPiA+ICsgIFVJTlQxNiAgICBDUzsNCj4gPiArICBVSU5UMTYgICAg UmVzZXJ2ZWRfNzg7DQo+ID4gKyAgVUlOVDE2ICAgIFNTOw0KPiA+ICsgIFVJTlQxNiAgICBSZXNl cnZlZF84MjsNCj4gPiArICBVSU5UMTYgICAgRFM7DQo+ID4gKyAgVUlOVDE2ICAgIFJlc2VydmVk Xzg2Ow0KPiA+ICsgIFVJTlQxNiAgICBGUzsNCj4gPiArICBVSU5UMTYgICAgUmVzZXJ2ZWRfOTA7 DQo+ID4gKyAgVUlOVDE2ICAgIEdTOw0KPiA+ICsgIFVJTlQxNiAgICBSZXNlcnZlZF85NDsNCj4g PiArICBVSU5UMTYgICAgTERUU2VnbWVudFNlbGVjdG9yOw0KPiA+ICsgIFVJTlQxNiAgICBSZXNl cnZlZF85ODsNCj4gPiArICBVSU5UMTYgICAgVDsNCj4gPiArICBVSU5UMTYgICAgSU9NYXBCYXNl QWRkcmVzczsNCj4gPiArfSBJQTMyX1RBU0tfU1RBVEVfU0VHTUVOVDsNCj4gPiArDQo+ID4gK3R5 cGVkZWYgc3RydWN0IHsNCj4gPiArICBVSU5UMTYgICAgTGltaXQxNV8wOw0KPiA+ICsgIFVJTlQx NiAgICBCYXNlMTVfMDsNCj4gPiArICBVSU5UOCAgICAgQmFzZTIzXzE2Ow0KPiA+ICsgIFVJTlQ4 ICAgICBUeXBlOw0KPiA+ICsgIFVJTlQ4ICAgICBMaW1pdDE5XzE2X2FuZF9mbGFnczsNCj4gPiAr ICBVSU5UOCAgICAgQmFzZTMxXzI0Ow0KPiA+ICt9IElBMzJfVFNTX0RFU0NSSVBUT1I7DQo+ID4g Kw0KPiA+ICt0eXBlZGVmIHN0cnVjdCB7DQo+ID4gKyAgSUEzMl9UU1NfREVTQ1JJUFRPUiAgICAg ICAgICAgVHNzU2VnOw0KPiA+ICsgIElBMzJfVFNTX0RFU0NSSVBUT1INCj4gRXhjZXB0aW9uVHNz U2VnW0VYQ0VQVElPTl9MSVNUX01BWF07DQo+ID4gKyAgSUEzMl9UQVNLX1NUQVRFX1NFR01FTlQg ICAgICAgVHNzOw0KPiA+ICsgIElBMzJfVEFTS19TVEFURV9TRUdNRU5UICAgICAgIEV4Y2VwdGlv blRzc1tFWENFUFRJT05fTElTVF9NQVhdOw0KPiA+ICt9IFRTU19FTlRSSUVTOw0KPiA+ICsNCj4g PiArI3ByYWdtYSBwYWNrICgpDQo+ID4gKw0KPiA+ICsjZGVmaW5lIFRTU19TRUwgICAgICAgICAg ICAgICBPRkZTRVRfT0YgKFRTU19FTlRSSUVTLCBUc3NTZWcpDQo+ID4gKyNkZWZpbmUgRVhDRVBU SU9OX1RTU19TRUwobikgIE9GRlNFVF9PRiAoVFNTX0VOVFJJRVMsDQo+ID4gRXhjZXB0aW9uVHNz U2VnW25dKQ0KPiA+ICsjZGVmaW5lIFRTU19PRkZTRVQgICAgICAgICAgICBPRkZTRVRfT0YgKFRT U19FTlRSSUVTLCBUc3MpDQo+ID4gKw0KPiA+ICt0eXBlZGVmIFZPSUQgKCpFWENFUFRJT05fRU5U UlkpIChWT0lEKTsNCj4gPiArDQo+ID4gK3R5cGVkZWYgc3RydWN0IHsNCj4gPiArICBVSU5UTiAg ICAgICAgICAgICBWZWN0b3I7DQo+ID4gKyAgRVhDRVBUSU9OX0VOVFJZICAgRW50cnlQb2ludDsN Cj4gPiArfSBJQTMyX0VYQ0VQVElPTl9UU19FTlRSWTsNCj4gPiArDQo+ID4gKy8qKg0KPiA+ICsg RXhjZXB0aW9uIGhhbmRsaW5nIGVudHJ5IHRocm91Z2ggdGFzayBnYXRlIGZvciBleGNlcHRpb24g I1VELg0KPiA+ICsgKiovDQo+ID4gK1ZPSUQNCj4gPiArRXhjZXB0aW9uVGFza1N3dGljaEVudHJ5 NiAoDQo+ID4gKyAgVk9JRA0KPiA+ICsgICk7DQo+ID4gKw0KPiA+ICsvKioNCj4gPiArIEV4Y2Vw dGlvbiBoYW5kbGluZyBlbnRyeSB0aHJvdWdoIHRhc2sgZ2F0ZSBmb3IgZXhjZXB0aW9uICNERi4N Cj4gPiArICoqLw0KPiA+ICtWT0lEDQo+ID4gK0V4Y2VwdGlvblRhc2tTd3RpY2hFbnRyeTggKA0K PiA+ICsgIFZPSUQNCj4gPiArICApOw0KPiA+ICsNCj4gPiArLyoqDQo+ID4gKyBFeGNlcHRpb24g aGFuZGxpbmcgZW50cnkgdGhyb3VnaCB0YXNrIGdhdGUgZm9yIGV4Y2VwdGlvbiAjU1MuDQo+ID4g KyAqKi8NCj4gPiArVk9JRA0KPiA+ICtFeGNlcHRpb25UYXNrU3d0aWNoRW50cnkxMiAoDQo+ID4g KyAgVk9JRA0KPiA+ICsgICk7DQo+ID4gKw0KPiA+ICsvKioNCj4gPiArIEV4Y2VwdGlvbiBoYW5k bGluZyBlbnRyeSB0aHJvdWdoIHRhc2sgZ2F0ZSBmb3IgZXhjZXB0aW9uICNHUC4NCj4gPiArICoq Lw0KPiA+ICtWT0lEDQo+ID4gK0V4Y2VwdGlvblRhc2tTd3RpY2hFbnRyeTEzICgNCj4gPiArICBW T0lEDQo+ID4gKyAgKTsNCj4gPiArDQo+ID4gKy8qKg0KPiA+ICsgRXhjZXB0aW9uIGhhbmRsaW5n IGVudHJ5IHRocm91Z2ggdGFzayBnYXRlIGZvciBleGNlcHRpb24gI1BGLg0KPiA+ICsgKiovDQo+ ID4gK1ZPSUQNCj4gPiArRXhjZXB0aW9uVGFza1N3dGljaEVudHJ5MTQgKA0KPiA+ICsgIFZPSUQN Cj4gPiArICApOw0KPiA+ICsNCj4gPiArLyoqDQo+ID4gKyBFeGNlcHRpb24gaGFuZGxpbmcgZW50 cnkgdGhyb3VnaCB0YXNrIGdhdGUgZm9yIGV4Y2VwdGlvbiAjQUMuDQo+ID4gKyAqKi8NCj4gPiAr Vk9JRA0KPiA+ICtFeGNlcHRpb25UYXNrU3d0aWNoRW50cnkxNyAoDQo+ID4gKyAgVk9JRA0KPiA+ ICsgICk7DQo+ID4gKw0KPiA+ICsvKioNCj4gPiArIEV4Y2VwdGlvbiBoYW5kbGluZyBlbnRyeSB0 aHJvdWdoIHRhc2sgZ2F0ZSBmb3IgZXhjZXB0aW9uICNNQy4NCj4gPiArICoqLw0KPiA+ICtWT0lE DQo+ID4gK0V4Y2VwdGlvblRhc2tTd3RpY2hFbnRyeTE4ICgNCj4gPiArICBWT0lEDQo+ID4gKyAg KTsNCj4gPiArDQo+ID4gICNlbmRpZg0KPiA+IGRpZmYgLS1naXQNCj4gPiBhL1VlZmlDcHVQa2cv TGlicmFyeS9DcHVFeGNlcHRpb25IYW5kbGVyTGliL0lhMzIvRXhjZXB0aW9uVHNzRW50cnlBc20u DQo+ID4gbmFzDQo+ID4gbQ0KPiA+IGIvVWVmaUNwdVBrZy9MaWJyYXJ5L0NwdUV4Y2VwdGlvbkhh bmRsZXJMaWIvSWEzMi9FeGNlcHRpb25Uc3NFbnRyeUFzbS4NCj4gPiBuYXMNCj4gPiBtDQo+ID4g bmV3IGZpbGUgbW9kZSAxMDA2NDQNCj4gPiBpbmRleCAwMDAwMDAwMDAwLi5kYmZiY2ZjZjUxDQo+ ID4gLS0tIC9kZXYvbnVsbA0KPiA+ICsrKw0KPiA+IGIvVWVmaUNwdVBrZy9MaWJyYXJ5L0NwdUV4 Y2VwdGlvbkhhbmRsZXJMaWIvSWEzMi9FeGNlcHRpb25Uc3NFbnRyeUFzbS4NCj4gPiBuYXMNCj4g PiBtDQo+ID4gQEAgLTAsMCArMSwzOTggQEANCj4gPiArOy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQo+ID4gKy0tLS0t LS0tLS0gOyA7IENvcHlyaWdodCAoYykgMjAxNywgSW50ZWwgQ29ycG9yYXRpb24uIEFsbCByaWdo dHMNCj4gPiArcmVzZXJ2ZWQuPEJSPiA7IFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWlu ZyBtYXRlcmlhbHMgOyBhcmUNCj4gPiArbGljZW5zZWQgYW5kIG1hZGUgYXZhaWxhYmxlIHVuZGVy IHRoZSB0ZXJtcyBhbmQgY29uZGl0aW9ucyBvZiB0aGUgQlNEDQo+ID4gTGljZW5zZQ0KPiA+ICs7 IHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLiAgVGhlIGZ1bGwgdGV4dCBvZiB0 aGUgbGljZW5zZQ0KPiA+ICttYXkgYmUgZm91bmQNCj4gPiBhdA0KPiA+ICs7IGh0dHA6Ly9vcGVu c291cmNlLm9yZy9saWNlbnNlcy9ic2QtbGljZW5zZS5waHAuDQo+ID4gKzsNCj4gPiArOyBUSEUg UFJPR1JBTSBJUyBESVNUUklCVVRFRCBVTkRFUiBUSEUgQlNEIExJQ0VOU0UgT04gQU4gIkFTIElT Ig0KPiA+ICtCQVNJUywgOyBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgUkVQUkVTRU5UQVRJT05TIE9G IEFOWSBLSU5ELCBFSVRIRVINCj4gPiArRVhQUkVTUw0KPiA+IE9SIElNUExJRUQuDQo+ID4gKzsN Cj4gPiArOyBNb2R1bGUgTmFtZToNCj4gPiArOw0KPiA+ICs7ICAgRXhjZXB0aW9uVHNzRW50cnlB c20uQXNtDQo+ID4gKzsNCj4gPiArOyBBYnN0cmFjdDoNCj4gPiArOw0KPiA+ICs7ICAgSUEzMiBD UFUgRXhjZXB0aW9uIEhhbmRsZXIgd2l0aCBTZXBhcmF0ZSBTdGFjaw0KPiA+ICs7DQo+ID4gKzsg Tm90ZXM6DQo+ID4gKzsNCj4gPiArOy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQo+ID4gKy0tLS0tLS0tLS0NCj4gPiAr DQo+ID4gKzsNCj4gPiArOyBJQTMyIFRTUyBNZW1vcnkgTGF5b3V0IERlc2NyaXB0aW9uDQo+ID4g KzsNCj4gPiArc3RydWMgSUEzMl9UU1MNCj4gPiArICAgICAgICAgICAgICAgICAgICByZXN3IDEN Cj4gPiArICAgICAgICAgICAgICAgICAgICByZXN3IDENCj4gPiArICAuRVNQMDogICAgcmVzZCAx DQo+ID4gKyAgLlNTMDogICAgIHJlc3cgMQ0KPiA+ICsgICAgICAgICAgICAgICAgICAgIHJlc3cg MQ0KPiA+ICsgIC5FU1AxOiAgICByZXNkIDENCj4gPiArICAuU1MxOiAgICAgcmVzdyAxDQo+ID4g KyAgICAgICAgICAgICAgICAgICAgcmVzdyAxDQo+ID4gKyAgLkVTUDI6ICAgIHJlc2QgMQ0KPiA+ ICsgIC5TUzI6ICAgICByZXN3IDENCj4gPiArICAgICAgICAgICAgICAgICAgICByZXN3IDENCj4g PiArICAuX0NSMzogICAgcmVzZCAxDQo+ID4gKyAgLkVJUDogICAgIHJlc2QgMQ0KPiA+ICsgIC5F RkxBR1M6ICByZXNkIDENCj4gPiArICAuX0VBWDogICAgcmVzZCAxDQo+ID4gKyAgLl9FQ1g6ICAg IHJlc2QgMQ0KPiA+ICsgIC5fRURYOiAgICByZXNkIDENCj4gPiArICAuX0VCWDogICAgcmVzZCAx DQo+ID4gKyAgLl9FU1A6ICAgIHJlc2QgMQ0KPiA+ICsgIC5fRUJQOiAgICByZXNkIDENCj4gPiAr ICAuX0VTSTogICAgcmVzZCAxDQo+ID4gKyAgLl9FREk6ICAgIHJlc2QgMQ0KPiA+ICsgIC5fRVM6 ICAgICByZXN3IDENCj4gPiArICAgICAgICAgICAgICAgICAgICByZXN3IDENCj4gPiArICAuX0NT OiAgICAgcmVzdyAxDQo+ID4gKyAgICAgICAgICAgICAgICAgICAgcmVzdyAxDQo+ID4gKyAgLl9T UzogICAgIHJlc3cgMQ0KPiA+ICsgICAgICAgICAgICAgICAgICAgIHJlc3cgMQ0KPiA+ICsgIC5f RFM6ICAgICByZXN3IDENCj4gPiArICAgICAgICAgICAgICAgICAgICByZXN3IDENCj4gPiArICAu X0ZTOiAgICAgcmVzdyAxDQo+ID4gKyAgICAgICAgICAgICAgICAgICAgcmVzdyAxDQo+ID4gKyAg Ll9HUzogICAgIHJlc3cgMQ0KPiA+ICsgICAgICAgICAgICAgICAgICAgIHJlc3cgMQ0KPiA+ICsg IC5MRFQ6ICAgICByZXN3IDENCj4gPiArICAgICAgICAgICAgICAgICAgICByZXN3IDENCj4gPiAr ICAgICAgICAgICAgICAgICAgICByZXN3IDENCj4gPiArICAgICAgICAgICAgICAgICAgICByZXN3 IDENCj4gPiArZW5kc3RydWMNCj4gPiArDQo+ID4gKzsNCj4gPiArOyBDb21tb25FeGNlcHRpb25I YW5kbGVyKCkNCj4gPiArOw0KPiA+ICtleHRlcm4gQVNNX1BGWChDb21tb25FeGNlcHRpb25IYW5k bGVyKQ0KPiA+ICsNCj4gPiArU0VDVElPTiAuZGF0YQ0KPiA+ICsNCj4gPiArU0VDVElPTiAudGV4 dA0KPiA+ICsNCj4gPiArQUxJR04gICA4DQo+ID4gKw0KPiA+ICs7DQo+ID4gKzsgZXhjZXB0aW9u IGhhbmRsZXIgc3R1YiB0YWJsZQ0KPiA+ICs7DQo+ID4gKyVtYWNybyBEZWZFeGNlcHRpb25UYXNr U3d0aWNoRW50cnkgMQ0KPiA+ICslJURvSXJldDoNCj4gPiArICAgIGlyZXRkDQo+ID4gKw0KPiA+ ICtnbG9iYWwgQVNNX1BGWChFeGNlcHRpb25UYXNrU3d0aWNoRW50cnklMSkNCj4gPiArQVNNX1BG WChFeGNlcHRpb25UYXNrU3d0aWNoRW50cnklMSk6DQo+ID4gKyAgICBkYiAgICAgIDB4NmEgICAg ICAgIDsgcHVzaCAgI1ZlY3Rvck51bQ0KPiA+ICsgICAgZGIgICAgICAlMSAgICAgICAgICA7IFZl Y3Rvck51bQ0KPiA+ICsgICAgbW92ICAgICBlYXgsIEFTTV9QRlgoQ29tbW9uVGFza1N3dGljaEVu dHJ5UG9pbnQpDQo+ID4gKyAgICBjYWxsICAgIGVheA0KPiA+ICsgICAgbW92ICAgICBlc3AsIGVh eCAgICA7IFJlc3RvcmUgc3RhY2sgdG9wDQo+ID4gKyAgICBqbXAgICAgICUlRG9JcmV0DQo+ID4g KyVlbmRtYWNybw0KPiA+ICsNCj4gPiArZ2xvYmFsIEFTTV9QRlgoQ29tbW9uVGFza1N3dGljaEVu dHJ5UG9pbnQpDQo+ID4gK0FTTV9QRlgoQ29tbW9uVGFza1N3dGljaEVudHJ5UG9pbnQpOg0KPiA+ ICsgICAgOw0KPiA+ICsgICAgOyBTdGFjazoNCj4gPiArICAgIDsgKy0tLS0tLS0tLS0tLS0tLS0t LS0tLSsgPC0tIEVCUCAtIDgNCj4gPiArICAgIDsgKyAgICAgICBUU1MgQmFzZSAgICAgICsNCj4g PiArICAgIDsgKy0tLS0tLS0tLS0tLS0tLS0tLS0tLSsgPC0tIEVCUCAtIDQNCj4gPiArICAgIDsg KyAgICAgIENQVUlELkVEWCAgICAgICsNCj4gPiArICAgIDsgKy0tLS0tLS0tLS0tLS0tLS0tLS0t LSsgPC0tIEVCUA0KPiA+ICsgICAgOyArICAgICAgICAgRUlQICAgICAgICAgKw0KPiA+ICsgICAg OyArLS0tLS0tLS0tLS0tLS0tLS0tLS0tKyA8LS0gRUJQICsgNA0KPiA+ICsgICAgOyArICAgIFZl Y3RvciBOdW1iZXIgICAgKw0KPiA+ICsgICAgOyArLS0tLS0tLS0tLS0tLS0tLS0tLS0tKyA8LS0g RUJQICsgOA0KPiA+ICsgICAgOyArICAgIEVycm9yIENvZGUgICAgICAgKw0KPiA+ICsgICAgOyAr LS0tLS0tLS0tLS0tLS0tLS0tLS0tKw0KPiA+ICsgICAgOw0KPiA+ICs7DQo+ID4gKzsgR2V0IFRT UyBvZiBpbnRlcnJ1cHRlZCB0YXNrDQo+ID4gKzsNCj4gPiArICAgIG1vdiAgICAgZWJwLCBlc3Ag ICAgICAgICAgICAgICAgICAgIDsgU3RhY2sgZnJhbWUNCj4gPiArDQo+ID4gKzsgVXNlIENQVUlE IHRvIGRldGVybWluZSBpZiBGWFNBVkUvRlhSRVNUT1IgYW5kIERFIGFyZSBzdXBwb3J0ZWQNCj4g PiArICAgIG1vdiAgICAgZWF4LCAxDQo+ID4gKyAgICBjcHVpZA0KPiA+ICsgICAgcHVzaCAgICBl ZHgNCj4gPiArDQo+ID4gKzsgR2V0IFRTUyBiYXNlIG9mIGludGVycnVwdGVkIHRhc2sgdGhyb3Vn aCBQcmV2aW91c1Rhc2tMaW5rIGZpZWxkIGluDQo+ID4gKzsgY3VycmVudCBUU1MgYmFzZQ0KPiA+ ICsgICAgc3ViICAgICBlc3AsIDgNCj4gPiArICAgIHNnZHQgICAgW2VzcCArIDJdDQo+ID4gKyAg ICBtb3YgICAgIGVheCwgW2VzcCArIDRdICAgICAgICAgICAgICA7IEdEVCBiYXNlDQo+ID4gKyAg ICBhZGQgICAgIGVzcCwgOA0KPiA+ICsNCj4gPiArICAgIHhvciAgICAgZWJ4LCBlYngNCj4gPiAr ICAgIHN0ciAgICAgYnggICAgICAgICAgICAgICAgICAgICAgICAgIDsgQ3VycmVudCBUUg0KPiA+ ICsNCj4gPiArICAgIG1vdiAgICAgZWN4LCBbZWF4ICsgZWJ4ICsgMl0NCj4gPiArICAgIHNobCAg ICAgZWN4LCA4DQo+ID4gKyAgICBtb3YgICAgIGNsLCBbZWF4ICsgZWJ4ICsgN10NCj4gPiArICAg IHJvciAgICAgZWN4LCA4ICAgICAgICAgICAgICAgICAgICAgIDsgZWN4ID0gQ3VycmVudCBUU1Mg YmFzZQ0KPiA+ICsgICAgcHVzaCAgICBlY3ggICAgICAgICAgICAgICAgICAgICAgICAgOyBrZWVw IGl0IGluIHN0YWNrIGZvciBsYXRlciB1c2UNCj4gPiArDQo+ID4gKyAgICBtb3Z6eCAgIGVieCwg d29yZCBbZWN4XSAgICAgICAgICAgICA7IFByZXZpb3VzIFRhc2sgTGluaw0KPiA+ICsgICAgbW92 ICAgICBlY3gsIFtlYXggKyBlYnggKyAyXQ0KPiA+ICsgICAgc2hsICAgICBlY3gsIDgNCj4gPiAr ICAgIG1vdiAgICAgY2wsIFtlYXggKyBlYnggKyA3XQ0KPiA+ICsgICAgcm9yICAgICBlY3gsIDgg ICAgICAgICAgICAgICAgICAgICAgOyBlY3ggPSBQcmV2aW91cyBUU1MgYmFzZQ0KPiA+ICsNCj4g PiArOw0KPiA+ICs7IEFsaWduIHN0YWNrIHRvIG1ha2Ugc3VyZSB0aGF0IEVGSV9GWF9TQVZFX1NU QVRFX0lBMzIgb2YNCj4gPiBFRklfU1lTVEVNX0NPTlRFWFRfSUEzMg0KPiA+ICs7IGlzIDE2LWJ5 dGUgYWxpZ25lZA0KPiA+ICs7DQo+ID4gKyAgICBhbmQgICAgIGVzcCwgMHhmZmZmZmZmMA0KPiA+ ICsgICAgc3ViICAgICBlc3AsIDEyDQo+ID4gKw0KPiA+ICs7OyBVSU5UMzIgIEVkaSwgRXNpLCBF YnAsIEVzcCwgRWJ4LCBFZHgsIEVjeCwgRWF4Ow0KPiA+ICsgICAgcHVzaCAgICBkd29yZCBbZWN4 ICsgSUEzMl9UU1MuX0VBWF0NCj4gPiArICAgIHB1c2ggICAgZHdvcmQgW2VjeCArIElBMzJfVFNT Ll9FQ1hdDQo+ID4gKyAgICBwdXNoICAgIGR3b3JkIFtlY3ggKyBJQTMyX1RTUy5fRURYXQ0KPiA+ ICsgICAgcHVzaCAgICBkd29yZCBbZWN4ICsgSUEzMl9UU1MuX0VCWF0NCj4gPiArICAgIHB1c2gg ICAgZHdvcmQgW2VjeCArIElBMzJfVFNTLl9FU1BdDQo+ID4gKyAgICBwdXNoICAgIGR3b3JkIFtl Y3ggKyBJQTMyX1RTUy5fRUJQXQ0KPiA+ICsgICAgcHVzaCAgICBkd29yZCBbZWN4ICsgSUEzMl9U U1MuX0VTSV0NCj4gPiArICAgIHB1c2ggICAgZHdvcmQgW2VjeCArIElBMzJfVFNTLl9FREldDQo+ ID4gKw0KPiA+ICs7OyBVSU5UMzIgIEdzLCBGcywgRXMsIERzLCBDcywgU3M7DQo+ID4gKyAgICBt b3Z6eCAgIGVheCwgd29yZCBbZWN4ICsgSUEzMl9UU1MuX1NTXQ0KPiA+ICsgICAgcHVzaCAgICBl YXgNCj4gPiArICAgIG1vdnp4ICAgZWF4LCB3b3JkIFtlY3ggKyBJQTMyX1RTUy5fQ1NdDQo+ID4g KyAgICBwdXNoICAgIGVheA0KPiA+ICsgICAgbW92enggICBlYXgsIHdvcmQgW2VjeCArIElBMzJf VFNTLl9EU10NCj4gPiArICAgIHB1c2ggICAgZWF4DQo+ID4gKyAgICBtb3Z6eCAgIGVheCwgd29y ZCBbZWN4ICsgSUEzMl9UU1MuX0VTXQ0KPiA+ICsgICAgcHVzaCAgICBlYXgNCj4gPiArICAgIG1v dnp4ICAgZWF4LCB3b3JkIFtlY3ggKyBJQTMyX1RTUy5fRlNdDQo+ID4gKyAgICBwdXNoICAgIGVh eA0KPiA+ICsgICAgbW92enggICBlYXgsIHdvcmQgW2VjeCArIElBMzJfVFNTLl9HU10NCj4gPiAr ICAgIHB1c2ggICAgZWF4DQo+ID4gKw0KPiA+ICs7OyBVSU5UMzIgIEVpcDsNCj4gPiArICAgIHB1 c2ggICAgZHdvcmQgW2VjeCArIElBMzJfVFNTLkVJUF0NCj4gPiArDQo+ID4gKzs7IFVJTlQzMiAg R2R0clsyXSwgSWR0clsyXTsNCj4gPiArICAgIHN1YiAgICAgZXNwLCA4DQo+ID4gKyAgICBzaWR0 ICAgIFtlc3BdDQo+ID4gKyAgICBtb3YgICAgIGVheCwgW2VzcCArIDJdDQo+ID4gKyAgICB4Y2hn ICAgIGVheCwgW2VzcF0NCj4gPiArICAgIGFuZCAgICAgZWF4LCAweEZGRkYNCj4gPiArICAgIG1v diAgICAgW2VzcCs0XSwgZWF4DQo+ID4gKw0KPiA+ICsgICAgc3ViICAgICBlc3AsIDgNCj4gPiAr ICAgIHNnZHQgICAgW2VzcF0NCj4gPiArICAgIG1vdiAgICAgZWF4LCBbZXNwICsgMl0NCj4gPiAr ICAgIHhjaGcgICAgZWF4LCBbZXNwXQ0KPiA+ICsgICAgYW5kICAgICBlYXgsIDB4RkZGRg0KPiA+ ICsgICAgbW92ICAgICBbZXNwKzRdLCBlYXgNCj4gPiArDQo+ID4gKzs7IFVJTlQzMiAgTGR0ciwg VHI7DQo+ID4gKyAgICBtb3YgICAgIGVheCwgZWJ4ICAgIDsgZWJ4IHN0aWxsIGtlZXBzIHNlbGVj dG9yIG9mIGludGVycnVwdGVkIHRhc2sNCj4gPiArICAgIHB1c2ggICAgZWF4DQo+ID4gKyAgICBt b3Z6eCAgIGVheCwgd29yZCBbZWN4ICsgSUEzMl9UU1MuTERUXQ0KPiA+ICsgICAgcHVzaCAgICBl YXgNCj4gPiArDQo+ID4gKzs7IFVJTlQzMiAgRUZsYWdzOw0KPiA+ICsgICAgcHVzaCAgICBkd29y ZCBbZWN4ICsgSUEzMl9UU1MuRUZMQUdTXQ0KPiA+ICsNCj4gPiArOzsgVUlOVDMyICBDcjAsIENy MSwgQ3IyLCBDcjMsIENyNDsNCj4gPiArICAgIG1vdiAgICAgZWF4LCBjcjQNCj4gPiArICAgIHB1 c2ggICAgZWF4ICAgICAgICAgICAgIDsgcHVzaCBjcjQgZmlyc3RseQ0KPiA+ICsNCj4gPiArICAg IG1vdiAgICAgZWR4LCBbZWJwIC0gNF0gIDsgY3B1aWQuZWR4DQo+ID4gKyAgICB0ZXN0ICAgIGVk eCwgQklUMjQgICAgICA7IFRlc3QgZm9yIEZYU0FWRS9GWFJFU1RPUiBzdXBwb3J0DQo+ID4gKyAg ICBqeiAgICAgIC4xDQo+ID4gKyAgICBvciAgICAgIGVheCwgQklUOSAgICAgICA7IFNldCBDUjQu T1NGWFNSDQo+ID4gKy4xOg0KPiA+ICsgICAgdGVzdCAgICBlZHgsIEJJVDIgICAgICAgOyBUZXN0 IGZvciBEZWJ1Z2dpbmcgRXh0ZW5zaW9ucyBzdXBwb3J0DQo+ID4gKyAgICBqeiAgICAgIC4yDQo+ ID4gKyAgICBvciAgICAgIGVheCwgQklUMyAgICAgICA7IFNldCBDUjQuREUNCj4gPiArLjI6DQo+ ID4gKyAgICBtb3YgICAgIGNyNCwgZWF4DQo+ID4gKw0KPiA+ICsgICAgbW92ICAgICBlYXgsIGNy Mw0KPiA+ICsgICAgcHVzaCAgICBlYXgNCj4gPiArICAgIG1vdiAgICAgZWF4LCBjcjINCj4gPiAr ICAgIHB1c2ggICAgZWF4DQo+ID4gKyAgICB4b3IgICAgIGVheCwgZWF4DQo+ID4gKyAgICBwdXNo ICAgIGVheA0KPiA+ICsgICAgbW92ICAgICBlYXgsIGNyMA0KPiA+ICsgICAgcHVzaCAgICBlYXgN Cj4gPiArDQo+ID4gKzs7IFVJTlQzMiAgRHIwLCBEcjEsIERyMiwgRHIzLCBEcjYsIERyNzsNCj4g PiArICAgIG1vdiAgICAgZWF4LCBkcjcNCj4gPiArICAgIHB1c2ggICAgZWF4DQo+ID4gKyAgICBt b3YgICAgIGVheCwgZHI2DQo+ID4gKyAgICBwdXNoICAgIGVheA0KPiA+ICsgICAgbW92ICAgICBl YXgsIGRyMw0KPiA+ICsgICAgcHVzaCAgICBlYXgNCj4gPiArICAgIG1vdiAgICAgZWF4LCBkcjIN Cj4gPiArICAgIHB1c2ggICAgZWF4DQo+ID4gKyAgICBtb3YgICAgIGVheCwgZHIxDQo+ID4gKyAg ICBwdXNoICAgIGVheA0KPiA+ICsgICAgbW92ICAgICBlYXgsIGRyMA0KPiA+ICsgICAgcHVzaCAg ICBlYXgNCj4gPiArDQo+ID4gKzs7IEZYX1NBVkVfU1RBVEVfSUEzMiBGeFNhdmVTdGF0ZTsNCj4g PiArOzsgQ2xlYXIgVFMgYml0IGluIENSMCB0byBhdm9pZCBEZXZpY2UgTm90IEF2YWlsYWJsZSBF eGNlcHRpb24gKCNOTSkNCj4gPiArOzsgd2hlbiBleGVjdXRpbmcgZnhzYXZlL2Z4cnN0b3IgaW5z dHJ1Y3Rpb24NCj4gPiArICAgIHRlc3QgICAgZWR4LCBCSVQyNCAgOyBUZXN0IGZvciBGWFNBVkUv RlhSRVNUT1Igc3VwcG9ydC4NCj4gPiArICAgICAgICAgICAgICAgICAgICAgICAgOyBlZHggc3Rp bGwgY29udGFpbnMgcmVzdWx0IGZyb20gQ1BVSUQgYWJvdmUNCj4gPiArICAgIGp6ICAgICAgLjMN Cj4gPiArICAgIGNsdHMNCj4gPiArICAgIHN1YiAgICAgZXNwLCA1MTINCj4gPiArICAgIG1vdiAg ICAgZWRpLCBlc3ANCj4gPiArICAgIGRiICAgICAgMHhmLCAweGFlLCAweDcgO2Z4c2F2ZSBbZWRp XQ0KPiA+ICsuMzoNCj4gPiArDQo+ID4gKzs7IFVJTlQzMiAgRXhjZXB0aW9uRGF0YTsNCj4gPiAr ICAgIHB1c2ggICAgZHdvcmQgW2VicCArIDhdDQo+ID4gKw0KPiA+ICs7OyBVRUZJIGNhbGxpbmcg Y29udmVudGlvbiBmb3IgSUEzMiByZXF1aXJlcyB0aGF0IERpcmVjdGlvbiBmbGFnIGluIEVGTEFH cyBpcyBjbGVhcg0KPiA+ICsgICAgY2xkDQo+ID4gKw0KPiA+ICs7OyBjYWxsIGludG8gZXhjZXB0 aW9uIGhhbmRsZXINCj4gPiArICAgIG1vdiAgICAgZXNpLCBlY3ggICAgICAgICAgICA7IEtlZXAg VFNTIGJhc2UgdG8gYXZvaWQgb3ZlcndyaXRlDQo+ID4gKyAgICBtb3YgICAgIGVheCwgQVNNX1BG WChDb21tb25FeGNlcHRpb25IYW5kbGVyKQ0KPiA+ICsNCj4gPiArOzsgUHJlcGFyZSBwYXJhbWV0 ZXIgYW5kIGNhbGwNCj4gPiArICAgIG1vdiAgICAgZWR4LCBlc3ANCj4gPiArICAgIHB1c2ggICAg ZWR4ICAgICAgICAgICAgICAgICA7IEVGSV9TWVNURU1fQ09OVEVYVA0KPiA+ICsgICAgcHVzaCAg ICBkd29yZCBbZWJwICsgNF0gICAgIDsgRUZJX0VYQ0VQVElPTl9UWVBFICh2ZWN0b3IgbnVtYmVy KQ0KPiA+ICsNCj4gPiArICAgIDsNCj4gPiArICAgIDsgQ2FsbCBFeHRlcm5hbCBFeGNlcHRpb24g SGFuZGxlcg0KPiA+ICsgICAgOw0KPiA+ICsgICAgY2FsbCAgICBlYXgNCj4gPiArICAgIGFkZCAg ICAgZXNwLCA4ICAgICAgICAgICAgICA7IFJlc3RvcmUgc3RhY2sgYmVmb3JlIGNhbGxpbmcNCj4g PiArICAgIG1vdiAgICAgZWN4LCBlc2kgICAgICAgICAgICA7IFJlc3RvcmUgVFNTIGJhc2UNCj4g PiArDQo+ID4gKzs7IFVJTlQzMiAgRXhjZXB0aW9uRGF0YTsNCj4gPiArICAgIGFkZCAgICAgZXNw LCA0DQo+ID4gKw0KPiA+ICs7OyBGWF9TQVZFX1NUQVRFX0lBMzIgRnhTYXZlU3RhdGU7DQo+ID4g KyAgICBtb3YgICAgIGVkeCwgW2VicCAtIDRdICA7IGNwdWlkLmVkeA0KPiA+ICsgICAgdGVzdCAg ICBlZHgsIEJJVDI0ICAgICAgOyBUZXN0IGZvciBGWFNBVkUvRlhSRVNUT1Igc3VwcG9ydA0KPiA+ ICsgICAganogICAgICAuNA0KPiA+ICsgICAgbW92ICAgICBlc2ksIGVzcA0KPiA+ICsgICAgZGIg ICAgICAweGYsIDB4YWUsIDB4ZSAgOyBmeHJzdG9yIFtlc2ldDQo+ID4gKy40Og0KPiA+ICsgICAg YWRkICAgICBlc3AsIDUxMg0KPiA+ICsNCj4gPiArOzsgVUlOVDMyICBEcjAsIERyMSwgRHIyLCBE cjMsIERyNiwgRHI3OyA7OyBTa2lwIHJlc3RvcmF0aW9uIG9mIERSeA0KPiA+ICtyZWdpc3RlcnMg dG8gc3VwcG9ydCBkZWJ1Z2dlcnMgOzsgdGhhdCBzZXQgYnJlYWtwb2ludHMgaW4NCj4gPiAraW50 ZXJydXB0L2V4Y2VwdGlvbiBjb250ZXh0DQo+ID4gKyAgICBhZGQgICAgIGVzcCwgNCAqIDYNCj4g PiArDQo+ID4gKzs7IFVJTlQzMiAgQ3IwLCBDcjEsIENyMiwgQ3IzLCBDcjQ7DQo+ID4gKyAgICBw b3AgICAgIGVheA0KPiA+ICsgICAgbW92ICAgICBjcjAsIGVheA0KPiA+ICsgICAgYWRkICAgICBl c3AsIDQgICAgOyBub3QgZm9yIENyMQ0KPiA+ICsgICAgcG9wICAgICBlYXgNCj4gPiArICAgIG1v diAgICAgY3IyLCBlYXgNCj4gPiArICAgIHBvcCAgICAgZWF4DQo+ID4gKyAgICBtb3YgICAgIGR3 b3JkIFtlY3ggKyBJQTMyX1RTUy5fQ1IzXSwgZWF4DQo+ID4gKyAgICBwb3AgICAgIGVheA0KPiA+ ICsgICAgbW92ICAgICBjcjQsIGVheA0KPiA+ICsNCj4gPiArOzsgVUlOVDMyICBFRmxhZ3M7DQo+ ID4gKyAgICBwb3AgICAgIGR3b3JkIFtlY3ggKyBJQTMyX1RTUy5FRkxBR1NdDQo+ID4gKyAgICBt b3YgICAgIGVieCwgZHdvcmQgW2VjeCArIElBMzJfVFNTLkVGTEFHU10NCj4gPiArICAgIGJ0ciAg ICAgZWJ4LCA5ICAgICAgOyBEbyAnY2xpJw0KPiA+ICsgICAgbW92ICAgICBkd29yZCBbZWN4ICsg SUEzMl9UU1MuRUZMQUdTXSwgZWJ4DQo+ID4gKw0KPiA+ICs7OyBVSU5UMzIgIExkdHIsIFRyOw0K PiA+ICs7OyBVSU5UMzIgIEdkdHJbMl0sIElkdHJbMl07DQo+ID4gKzs7IEJlc3Qgbm90IGxldCBh bnlvbmUgbWVzcyB3aXRoIHRoZXNlIHBhcnRpY3VsYXIgcmVnaXN0ZXJzLi4uDQo+ID4gKyAgICBh ZGQgICAgIGVzcCwgMjQNCj4gPiArDQo+ID4gKzs7IFVJTlQzMiAgRWlwOw0KPiA+ICsgICAgcG9w ICAgICBkd29yZCBbZWN4ICsgSUEzMl9UU1MuRUlQXQ0KPiA+ICsNCj4gPiArOzsgVUlOVDMyICBH cywgRnMsIEVzLCBEcywgQ3MsIFNzOw0KPiA+ICs7OyBOT1RFIC0gbW9kaWZpZWQgc2VnbWVudCBy ZWdpc3RlcnMgY291bGQgaGFuZyB0aGUgZGVidWdnZXIuLi4gIFdlDQo+ID4gKzs7ICAgICAgICBj b3VsZCBhdHRlbXB0IHRvIGluc3VsYXRlIG91cnNlbHZlcyBhZ2FpbnN0IHRoaXMgcG9zc2liaWxp dHksDQo+ID4gKzs7ICAgICAgICBidXQgdGhhdCBwb3NlcyByaXNrcyBhcyB3ZWxsLg0KPiA+ICs7 Ow0KPiA+ICsgICAgcG9wICAgICBlYXgNCj4gPiArbzE2IG1vdiAgICAgW2VjeCArIElBMzJfVFNT Ll9HU10sIGF4DQo+ID4gKyAgICBwb3AgICAgIGVheA0KPiA+ICtvMTYgbW92ICAgICBbZWN4ICsg SUEzMl9UU1MuX0ZTXSwgYXgNCj4gPiArICAgIHBvcCAgICAgZWF4DQo+ID4gK28xNiBtb3YgICAg IFtlY3ggKyBJQTMyX1RTUy5fRVNdLCBheA0KPiA+ICsgICAgcG9wICAgICBlYXgNCj4gPiArbzE2 IG1vdiAgICAgW2VjeCArIElBMzJfVFNTLl9EU10sIGF4DQo+ID4gKyAgICBwb3AgICAgIGVheA0K PiA+ICtvMTYgbW92ICAgICBbZWN4ICsgSUEzMl9UU1MuX0NTXSwgYXgNCj4gPiArICAgIHBvcCAg ICAgZWF4DQo+ID4gK28xNiBtb3YgICAgIFtlY3ggKyBJQTMyX1RTUy5fU1NdLCBheA0KPiA+ICsN Cj4gPiArOzsgVUlOVDMyICBFZGksIEVzaSwgRWJwLCBFc3AsIEVieCwgRWR4LCBFY3gsIEVheDsN Cj4gPiArICAgIHBvcCAgICAgZHdvcmQgW2VjeCArIElBMzJfVFNTLl9FREldDQo+ID4gKyAgICBw b3AgICAgIGR3b3JkIFtlY3ggKyBJQTMyX1RTUy5fRVNJXQ0KPiA+ICsgICAgYWRkICAgICBlc3As IDQgICA7IG5vdCBmb3IgZWJwDQo+ID4gKyAgICBhZGQgICAgIGVzcCwgNCAgIDsgbm90IGZvciBl c3ANCj4gPiArICAgIHBvcCAgICAgZHdvcmQgW2VjeCArIElBMzJfVFNTLl9FQlhdDQo+ID4gKyAg ICBwb3AgICAgIGR3b3JkIFtlY3ggKyBJQTMyX1RTUy5fRURYXQ0KPiA+ICsgICAgcG9wICAgICBk d29yZCBbZWN4ICsgSUEzMl9UU1MuX0VDWF0NCj4gPiArICAgIHBvcCAgICAgZHdvcmQgW2VjeCAr IElBMzJfVFNTLl9FQVhdDQo+ID4gKw0KPiA+ICs7IFNldCBzaW5nbGUgc3RlcCBEQiMgdG8gYWxs b3cgZGVidWdnZXIgdG8gYWJsZSB0byBnbyBiYWNrIHRvIHRoZSBFSVANCj4gPiArOyB3aGVyZSB0 aGUgZXhjZXB0aW9uIGlzIHRyaWdnZXJlZC4NCj4gPiArDQo+ID4gKzs7IENyZWF0ZSByZXR1cm4g Y29udGV4dCBmb3IgaXJldGQgaW4gc3R1YiBmdW5jdGlvbg0KPiA+ICsgICAgbW92ICAgIGVheCwg ZHdvcmQgW2VjeCArIElBMzJfVFNTLl9FU1BdICAgICAgOyBHZXQgb2xkIHN0YWNrIHBvaW50ZXIN Cj4gPiArICAgIG1vdiAgICBlYngsIGR3b3JkIFtlY3ggKyBJQTMyX1RTUy5FSVBdDQo+ID4gKyAg ICBtb3YgICAgW2VheCAtIDB4Y10sIGVieCAgICAgICAgICAgICAgICAgICAgICA7IGNyZWF0ZSBF SVAgaW4gb2xkIHN0YWNrDQo+ID4gKyAgICBtb3Z6eCAgZWJ4LCB3b3JkIFtlY3ggKyBJQTMyX1RT Uy5fQ1NdDQo+ID4gKyAgICBtb3YgICAgW2VheCAtIDB4OF0sIGVieCAgICAgICAgICAgICAgICAg ICAgICA7IGNyZWF0ZSBDUyBpbiBvbGQgc3RhY2sNCj4gPiArICAgIG1vdiAgICBlYngsIGR3b3Jk IFtlY3ggKyBJQTMyX1RTUy5FRkxBR1NdDQo+ID4gKyAgICBidHMgICAgZWJ4LCA4DQo+ID4gKyAg ICBtb3YgICAgW2VheCAtIDB4NF0sIGVieCAgICAgICAgICAgICAgICAgICAgICA7IGNyZWF0ZSBl ZmxhZ3MgaW4gb2xkDQo+IHN0YWNrDQo+ID4gKyAgICBtb3YgICAgZHdvcmQgW2VjeCArIElBMzJf VFNTLkVGTEFHU10sIGVieCAgICA7IHVwZGF0ZSBlZmxhZ3MgaW4gb2xkDQo+IFRTUw0KPiA+ICsg ICAgbW92ICAgIGVheCwgZHdvcmQgW2VjeCArIElBMzJfVFNTLl9FU1BdICAgICAgOyBHZXQgb2xk IHN0YWNrIHBvaW50ZXINCj4gPiArICAgIHN1YiAgICBlYXgsIDB4YyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIDsgbWludXMgMTIgYnl0ZQ0KPiA+ICsgICAgbW92ICAgIGR3b3JkIFtlY3gg KyBJQTMyX1RTUy5fRVNQXSwgZWF4ICAgICAgOyBTZXQgbmV3IHN0YWNrIHBvaW50ZXINCj4gPiAr DQo+ID4gKzs7IFJlcGxhY2UgdGhlIEVJUCBvZiBpbnRlcnJ1cHRlZCB0YXNrIHdpdGggc3R1YiBm dW5jdGlvbg0KPiA+ICsgICAgbW92ICAgIGVheCwgQVNNX1BGWChTaW5nbGVTdGVwU3R1YkZ1bmN0 aW9uKQ0KPiA+ICsgICAgbW92ICAgIGR3b3JkIFtlY3ggKyBJQTMyX1RTUy5FSVBdLCBlYXgNCj4g PiArDQo+ID4gKyAgICBtb3YgICAgIGVjeCwgW2VicCAtIDhdICAgICAgICAgICAgICAgICAgICAg ICA7IEdldCBjdXJyZW50IFRTUyBiYXNlDQo+ID4gKyAgICBtb3YgICAgIGVheCwgZHdvcmQgW2Vj eCArIElBMzJfVFNTLl9FU1BdICAgICA7IFJldHVybiBjdXJyZW50IHN0YWNrDQo+IHRvcA0KPiA+ ICsgICAgbW92ICAgICBlc3AsIGVicA0KPiA+ICsNCj4gPiArICAgIHJldA0KPiA+ICsNCj4gPiAr Z2xvYmFsIEFTTV9QRlgoU2luZ2xlU3RlcFN0dWJGdW5jdGlvbikNCj4gPiArQVNNX1BGWChTaW5n bGVTdGVwU3R1YkZ1bmN0aW9uKToNCj4gPiArOw0KPiA+ICs7IHdlIG5lZWQgY2xlYW4gVFMgYml0 IGluIENSMCB0byBleGVjdXRlIDsgeDg3DQo+ID4gK0ZQVS9NTVgvU1NFL1NTRTIvU1NFMy9TU1NF My9TU0U0IGluc3RydWN0aW9ucy4NCj4gPiArOw0KPiA+ICsgICAgY2x0cw0KPiA+ICsgICAgaXJl dGQNCj4gPiArDQo+ID4gKzstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KPiA+ICstLS0tLS0tLS0tDQo+ID4gKzsgVk9J RA0KPiA+ICs7IEFzbVdyaXRlVHIgKA0KPiA+ICs7ICAgVUlOVDE2IFNlbGVjdG9yDQo+ID4gKzsg ICApOw0KPiA+ICs7LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCj4gPiArLS0tLS0tLS0tLQ0KPiA+ICtnbG9iYWwgQVNN X1BGWChBc21Xcml0ZVRyKQ0KPiA+ICtBU01fUEZYKEFzbVdyaXRlVHIpOg0KPiA+ICsgICAgbW92 ICAgICBlYXgsIFtlc3ArNF0NCj4gPiArICAgIGx0ciAgICAgYXgNCj4gPiArICAgIHJldA0KPiA+ ICsNCj4gPiArRGVmRXhjZXB0aW9uVGFza1N3dGljaEVudHJ5IDYNCj4gPiArRGVmRXhjZXB0aW9u VGFza1N3dGljaEVudHJ5IDgNCj4gPiArRGVmRXhjZXB0aW9uVGFza1N3dGljaEVudHJ5IDEyDQo+ ID4gK0RlZkV4Y2VwdGlvblRhc2tTd3RpY2hFbnRyeSAxMw0KPiA+ICtEZWZFeGNlcHRpb25UYXNr U3d0aWNoRW50cnkgMTQNCj4gPiArRGVmRXhjZXB0aW9uVGFza1N3dGljaEVudHJ5IDE3DQo+ID4g K0RlZkV4Y2VwdGlvblRhc2tTd3RpY2hFbnRyeSAxOA0KPiA+ICsNCj4gPiBkaWZmIC0tZ2l0DQo+ ID4gYS9VZWZpQ3B1UGtnL0xpYnJhcnkvQ3B1RXhjZXB0aW9uSGFuZGxlckxpYi9QZWlDcHVFeGNl cHRpb25IYW5kbGVyTGliLg0KPiA+IGluZg0KPiA+IGIvVWVmaUNwdVBrZy9MaWJyYXJ5L0NwdUV4 Y2VwdGlvbkhhbmRsZXJMaWIvUGVpQ3B1RXhjZXB0aW9uSGFuZGxlckxpYi4NCj4gPiBpbmYNCj4g PiBpbmRleCA3NTQ0MzI4OGE5Li40YzBkNDM1MTM2IDEwMDY0NA0KPiA+IC0tLQ0KPiA+IGEvVWVm aUNwdVBrZy9MaWJyYXJ5L0NwdUV4Y2VwdGlvbkhhbmRsZXJMaWIvUGVpQ3B1RXhjZXB0aW9uSGFu ZGxlckxpYi4NCj4gPiBpbmYNCj4gPiArKysNCj4gPiBiL1VlZmlDcHVQa2cvTGlicmFyeS9DcHVF eGNlcHRpb25IYW5kbGVyTGliL1BlaUNwdUV4Y2VwdGlvbkhhbmRsZXJMaWIuDQo+ID4gaW5mDQo+ ID4gQEAgLTMwLDYgKzMwLDcgQEANCj4gPiAgW1NvdXJjZXMuSWEzMl0NCj4gPiAgICBJYTMyL0V4 Y2VwdGlvbkhhbmRsZXJBc20uYXNtDQo+ID4gICAgSWEzMi9FeGNlcHRpb25IYW5kbGVyQXNtLm5h c20NCj4gPiArICBJYTMyL0V4Y2VwdGlvblRzc0VudHJ5QXNtLm5hc20NCj4gPiAgICBJYTMyL0V4 Y2VwdGlvbkhhbmRsZXJBc20uUw0KPiA+ICAgIElhMzIvQXJjaEV4Y2VwdGlvbkhhbmRsZXIuYw0K PiA+ICAgIElhMzIvQXJjaEludGVycnVwdERlZnMuaA0KPiA+IGRpZmYgLS1naXQNCj4gPiBhL1Vl ZmlDcHVQa2cvTGlicmFyeS9DcHVFeGNlcHRpb25IYW5kbGVyTGliL1NlY1BlaUNwdUV4Y2VwdGlv bkhhbmRsZXJMDQo+ID4gaWIuaQ0KPiA+IG5mDQo+ID4gYi9VZWZpQ3B1UGtnL0xpYnJhcnkvQ3B1 RXhjZXB0aW9uSGFuZGxlckxpYi9TZWNQZWlDcHVFeGNlcHRpb25IYW5kbGVyTA0KPiA+IGliLmkN Cj4gPiBuZg0KPiA+IGluZGV4IGQ3MGE5OWMxMDAuLmFkYjQxNWJhNWEgMTAwNjQ0DQo+ID4gLS0t DQo+ID4gYS9VZWZpQ3B1UGtnL0xpYnJhcnkvQ3B1RXhjZXB0aW9uSGFuZGxlckxpYi9TZWNQZWlD cHVFeGNlcHRpb25IYW5kbGVyTA0KPiA+IGliLmkNCj4gPiBuZg0KPiA+ICsrKw0KPiA+IGIvVWVm aUNwdVBrZy9MaWJyYXJ5L0NwdUV4Y2VwdGlvbkhhbmRsZXJMaWIvU2VjUGVpQ3B1RXhjZXB0aW9u SGFuZGxlckwNCj4gPiBpYi5pDQo+ID4gbmYNCj4gPiBAQCAtMzAsNiArMzAsNyBAQA0KPiA+ICBb U291cmNlcy5JYTMyXQ0KPiA+ICAgIElhMzIvRXhjZXB0aW9uSGFuZGxlckFzbS5hc20NCj4gPiAg ICBJYTMyL0V4Y2VwdGlvbkhhbmRsZXJBc20ubmFzbQ0KPiA+ICsgIElhMzIvRXhjZXB0aW9uVHNz RW50cnlBc20ubmFzbQ0KPiA+ICAgIElhMzIvRXhjZXB0aW9uSGFuZGxlckFzbS5TDQo+ID4gICAg SWEzMi9BcmNoRXhjZXB0aW9uSGFuZGxlci5jDQo+ID4gICAgSWEzMi9BcmNoSW50ZXJydXB0RGVm cy5oDQo+ID4gQEAgLTU3LDMgKzU4LDUgQEANCj4gPiAgICBQcmludExpYg0KPiA+ICAgIExvY2Fs QXBpY0xpYg0KPiA+ICAgIFBlQ29mZkdldEVudHJ5UG9pbnRMaWINCj4gPiArICBNZW1vcnlBbGxv Y2F0aW9uTGliDQo+ID4gKw0KPiA+IGRpZmYgLS1naXQNCj4gPiBhL1VlZmlDcHVQa2cvTGlicmFy eS9DcHVFeGNlcHRpb25IYW5kbGVyTGliL1NtbUNwdUV4Y2VwdGlvbkhhbmRsZXJMaWIuDQo+ID4g aW5mDQo+ID4gYi9VZWZpQ3B1UGtnL0xpYnJhcnkvQ3B1RXhjZXB0aW9uSGFuZGxlckxpYi9TbW1D cHVFeGNlcHRpb25IYW5kbGVyTGliLg0KPiA+IGluZg0KPiA+IGluZGV4IDYzNGZmY2IyMWQuLjU2 Yjg3NWI3YzggMTAwNjQ0DQo+ID4gLS0tDQo+ID4gYS9VZWZpQ3B1UGtnL0xpYnJhcnkvQ3B1RXhj ZXB0aW9uSGFuZGxlckxpYi9TbW1DcHVFeGNlcHRpb25IYW5kbGVyTGliLg0KPiA+IGluZg0KPiA+ ICsrKw0KPiA+IGIvVWVmaUNwdVBrZy9MaWJyYXJ5L0NwdUV4Y2VwdGlvbkhhbmRsZXJMaWIvU21t Q3B1RXhjZXB0aW9uSGFuZGxlckxpYi4NCj4gPiBpbmYNCj4gPiBAQCAtMzAsNiArMzAsNyBAQA0K PiA+ICBbU291cmNlcy5JYTMyXQ0KPiA+ICAgIElhMzIvRXhjZXB0aW9uSGFuZGxlckFzbS5hc20N Cj4gPiAgICBJYTMyL0V4Y2VwdGlvbkhhbmRsZXJBc20ubmFzbQ0KPiA+ICsgIElhMzIvRXhjZXB0 aW9uVHNzRW50cnlBc20ubmFzbQ0KPiA+ICAgIElhMzIvRXhjZXB0aW9uSGFuZGxlckFzbS5TDQo+ ID4gICAgSWEzMi9BcmNoRXhjZXB0aW9uSGFuZGxlci5jDQo+ID4gICAgSWEzMi9BcmNoSW50ZXJy dXB0RGVmcy5oDQo+ID4gZGlmZiAtLWdpdA0KPiA+IGEvVWVmaUNwdVBrZy9MaWJyYXJ5L0NwdUV4 Y2VwdGlvbkhhbmRsZXJMaWIvWDY0L0FyY2hFeGNlcHRpb25IYW5kbGVyLmMNCj4gPiBiL1VlZmlD cHVQa2cvTGlicmFyeS9DcHVFeGNlcHRpb25IYW5kbGVyTGliL1g2NC9BcmNoRXhjZXB0aW9uSGFu ZGxlci5jDQo+ID4gaW5kZXggNjVmMGNmZjY4MC4uMjRmMmE4NDg2YSAxMDA2NDQNCj4gPiAtLS0N Cj4gPiBhL1VlZmlDcHVQa2cvTGlicmFyeS9DcHVFeGNlcHRpb25IYW5kbGVyTGliL1g2NC9BcmNo RXhjZXB0aW9uSGFuZGxlci5jDQo+ID4gKysrIGIvVWVmaUNwdVBrZy9MaWJyYXJ5L0NwdUV4Y2Vw dGlvbkhhbmRsZXJMaWIvWDY0L0FyY2hFeGNlcHRpb25IYW5kbA0KPiA+ICsrKyBlci5jDQo+ID4g QEAgLTE0LDYgKzE0LDE5IEBADQo+ID4NCj4gPiAgI2luY2x1ZGUgIkNwdUV4Y2VwdGlvbkNvbW1v bi5oIg0KPiA+DQo+ID4gKy8vDQo+ID4gKy8vIExpc3Qgb2YgZXhjZXB0aW9ucyBuZWVkaW5nIHNl cGFyYXRlIHN0YWNrIC8vIFNUQVRJQyBVSU5UTg0KPiA+ICttRXhjZXB0aW9uc1dpdGhTdGFja1td ID0gew0KPiA+ICsgIDYsICAvLyNVRDogSW52YWxpZCBPcGNvZGUgRXhjZXB0aW9uDQo+ID4gKyAg OCwgIC8vI0RGOiBEb3VibGUgRmF1bHQgRXhjZXB0aW9uDQo+ID4gKyAgMTIsIC8vI1NTOiBTdGFj ayBGYXVsdCBFeGNlcHRpb24NCj4gPiArICAxMywgLy8jR1A6IEdlbmVyYWwgUHJvdGVjdGlvbiBF eGNlcHRpb24NCj4gPiArICAxNCwgLy8jUEY6IFBhZ2UtRmF1bHQgRXhjZXB0aW9uDQo+ID4gKyAg MTcsIC8vI0FDOiBBbGlnbm1lbnQgQ2hlY2sgRXhjZXB0aW9uDQo+ID4gKyAgMTggIC8vI01DOiBN YWNoaW5lLUNoZWNrIEV4Y2VwdGlvbg0KPiA+ICsgIH07DQo+ID4gKw0KPiA+ICAvKioNCj4gPiAg ICBSZXR1cm4gYWRkcmVzcyBtYXAgb2YgZXhjZXB0aW9uIGhhbmRsZXIgdGVtcGxhdGUgc28gdGhh dCBDIGNvZGUgY2FuDQo+ID4gZ2VuZXJhdGUNCj4gPiAgICBleGNlcHRpb24gdGFibGVzLg0KPiA+ IEBAIC0xMTIsNiArMTI1LDEwMSBAQCBBcmNoUmVzdG9yZUV4Y2VwdGlvbkNvbnRleHQgKA0KPiA+ ICAgIFN5c3RlbUNvbnRleHQuU3lzdGVtQ29udGV4dFg2NC0+RXhjZXB0aW9uRGF0YSA9DQo+ID4g UmVzZXJ2ZWRWZWN0b3JzW0V4Y2VwdGlvblR5cGVdLkV4Y2VwdGlvbkRhdGE7DQo+ID4gIH0NCj4g Pg0KPiA+ICsvKioNCj4gPiArICBTZXR1cCBzZXBhcmF0ZSBzdGFjayBmb3Igc3BlY2lmaWMgZXhj ZXB0aW9ucy4NCj4gPiArDQo+ID4gKyAgQHBhcmFtW2luXSBJZHRUYWJsZSAgICAgICAgSURUIHRh YmxlIGJhc2UuDQo+ID4gKyoqLw0KPiA+ICtWT0lEDQo+ID4gK0VGSUFQSQ0KPiA+ICtBcmNoU2V0 dXBFeGNwZXRpb25TdGFjayAoDQo+ID4gKyAgSU4gSUEzMl9JRFRfR0FURV9ERVNDUklQVE9SICAg ICAgICAgICAqSWR0VGFibGUNCj4gPiArICApDQo+ID4gK3sNCj4gPiArICBWT0lEICAgICAgICAg ICAgICAgICAgICAgICpOZXdHZHQ7DQo+ID4gKyAgSUEzMl9ERVNDUklQVE9SICAgICAgICAgICBH ZHREZXNjOw0KPiA+ICsgIFVJTlROICAgICAgICAgICAgICAgICAgICAgT2xkR2R0U2l6ZTsNCj4g PiArICBUU1NfRU5UUklFUyAgICAgICAgICAgICAgICpUc3NFbnRyeTsNCj4gPiArICBVSU5UTiAg ICAgICAgICAgICAgICAgICAgIFN0YWNrQmFzZTsNCj4gPiArICBVSU5UTiAgICAgICAgICAgICAg ICAgICAgIFN0YWNrVG9wOw0KPiA+ICsgIFVJTlROICAgICAgICAgICAgICAgICAgICAgU3RhY2tT aXplOw0KPiA+ICsgIFVJTlROICAgICAgICAgICAgICAgICAgICAgVHNzQmFzZTsNCj4gPiArICBV SU5UTiAgICAgICAgICAgICAgICAgICAgIEluZGV4Ow0KPiA+ICsNCj4gPiArICAvLw0KPiA+ICsg IC8vIEFsbG9jYXRlIFJ1bnRpbWUgRGF0YSBmb3IgdGhlIEdEVCAgLy8gIEFzbVJlYWRHZHRyKCZH ZHREZXNjKTsNCj4gPiArIE9sZEdkdFNpemUgPSBHZHREZXNjLkxpbWl0ICsgMTsgIE5ld0dkdCA9 DQo+ID4gKyBBbGxvY2F0ZVJ1bnRpbWVaZXJvUG9vbChPbGRHZHRTaXplICsgc2l6ZW9mKFRTU19F TlRSSUVTKQ0KPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICsgSUEzMl9HRFRf QUxJR05NRU5UKTsgIGlmIChOZXdHZHQNCj4gPT0NCj4gPiArIE5VTEwpIHsNCj4gPiArICAgIHJl dHVybjsNCj4gPiArICB9DQo+ID4gKyAgTmV3R2R0ID0gQUxJR05fUE9JTlRFUiAoTmV3R2R0LCBJ QTMyX0dEVF9BTElHTk1FTlQpOw0KPiA+ICsNCj4gPiArICAvLw0KPiA+ICsgIC8vIEluaXRpYWxp emUgbmV3IEdEVCBlbnRyaWVzDQo+ID4gKyAgLy8NCj4gPiArICBDb3B5TWVtKE5ld0dkdCwgKFZP SUQgKilHZHREZXNjLkJhc2UsIE9sZEdkdFNpemUpOyAgR2R0RGVzYy5CYXNlID0NCj4gPiArIChV SU5UTikoVk9JRCopTmV3R2R0OyAgR2R0RGVzYy5MaW1pdCA9IChVSU5UMTYpKE9sZEdkdFNpemUg Kw0KPiA+ICsgVFNTX09GRlNFVCAtIDEpOw0KPiA+ICsNCj4gPiArICAvLw0KPiA+ICsgIC8vIFJl c2VydmUgc3RhdGNrIG1lbW9yeSBmb3Igc3VwcG9ydGVkIGV4Y2VwdGlvbnMgIC8vICBTdGFja1Np emUgPQ0KPiA+ICsgQVJSQVlfU0laRSAobUV4Y2VwdGlvbnNXaXRoU3RhY2spICogRVhDRVBUSU9O X1NUQUNLX1NJWkU7ICBTdGFja1NpemUNCj4gPiArID0gRUZJX1BBR0VTX1RPX1NJWkUgKEVGSV9T SVpFX1RPX1BBR0VTIChTdGFja1NpemUpKTsgIFN0YWNrQmFzZSA9DQo+ID4gKyAoVUlOVDY0KUFs bG9jYXRlUGFnZXMgKEVGSV9TSVpFX1RPX1BBR0VTIChTdGFja1NpemUpKTsgIGlmDQo+ID4gKyAo U3RhY2tCYXNlID09IDApIHsNCj4gPiArICAgIEZyZWVQb29sIChOZXdHZHQpOw0KPiA+ICsgICAg cmV0dXJuOw0KPiA+ICsgIH0NCj4gPiArDQo+ID4gKyAgLy8NCj4gPiArICAvLyBGaXh1cCBUU1Mg ZGVzY3JpcHRvcnMNCj4gPiArICAvLw0KPiA+ICsgIFRzc0VudHJ5ID0gKFZPSUQgKikoR2R0RGVz Yy5CYXNlICsgT2xkR2R0U2l6ZSk7ICBUc3NCYXNlID0NCj4gPiArIChVSU5UTikoVk9JRCAqKSZU c3NFbnRyeS0+VHNzOw0KPiA+ICsNCj4gPiArICBUc3NFbnRyeS0+VHNzU2VnLkxpbWl0MTVfMCAg ICAgICAgICAgID0NCj4gPiBzaXplb2YoSUEzMl9UQVNLX1NUQVRFX1NFR01FTlQpIC0gMTsNCj4g PiArICBUc3NFbnRyeS0+VHNzU2VnLkJhc2UxNV8wICAgICAgICAgICAgID0gKFVJTlQxNilUc3NC YXNlOw0KPiA+ICsgIFRzc0VudHJ5LT5Uc3NTZWcuQmFzZTIzXzE2ICAgICAgICAgICAgPSAoVUlO VDgpKFRzc0Jhc2UgPj4gMTYpOw0KPiA+ICsgIFRzc0VudHJ5LT5Uc3NTZWcuVHlwZSAgICAgICAg ICAgICAgICAgPSBJQTMyX0dEVF9UWVBFX1RTUzsNCj4gPiArICBUc3NFbnRyeS0+VHNzU2VnLkxp bWl0MTlfMTZfYW5kX2ZsYWdzID0gMDsNCj4gPiArICBUc3NFbnRyeS0+VHNzU2VnLkJhc2UzMV8y NCAgICAgICAgICAgID0gKFVJTlQ4KShUc3NCYXNlID4+IDI0KTsNCj4gPiArICBUc3NFbnRyeS0+ VHNzU2VnLkJhc2U2M18zMiAgICAgICAgICAgID0gKFVJTlQzMikoVHNzQmFzZSA+PiAzMik7DQo+ ID4gKyAgVHNzRW50cnktPlRzc1NlZy5SZXNlcnZlZCAgICAgICAgICAgICA9IDA7DQo+ID4gKw0K PiA+ICsgIC8vDQo+ID4gKyAgLy8gRW5hYmxlIEludGVycnVwdCBTdGFjayBUYWJsZSAoSVNUKSBm b3IgZWFjaCByZXF1aXJlZCBleGNlcHRpb24NCj4gPiArIC8vICBTdGFja1RvcCAgPSBTdGFja0Jh c2UgKyBTdGFja1NpemUgLSBDUFVfU1RBQ0tfQUxJR05NRU5UOw0KPiA+ICsgU3RhY2tUb3AgID0g KFVJTlROKUFMSUdOX1BPSU5URVIgKFN0YWNrVG9wLCBDUFVfU1RBQ0tfQUxJR05NRU5UKTsNCj4g PiArIGZvciAoSW5kZXggPSAwOyBJbmRleCA8IEFSUkFZX1NJWkUgKG1FeGNlcHRpb25zV2l0aFN0 YWNrKTsgKytJbmRleCkgew0KPiA+ICsgICAgLy8NCj4gPiArICAgIC8vIEZpeHVwIFRTUw0KPiA+ ICsgICAgLy8NCj4gPiArICAgIFRzc0VudHJ5LT5Uc3MuSVNUW0luZGV4XSA9IFN0YWNrVG9wOw0K PiA+ICsgICAgU3RhY2tUb3AgLT0gRVhDRVBUSU9OX1NUQUNLX1NJWkU7DQo+ID4gKw0KPiA+ICsg ICAgLy8NCj4gPiArICAgIC8vIFNldCB0aGUgSVNUIGZpZWxkIHRvIDEgdG8gZW5hYmxlIGNvcnJl c3BvbmRpbmcgSVNUDQo+ID4gKyAgICAvLw0KPiA+ICsgICAgSWR0VGFibGVbbUV4Y2VwdGlvbnNX aXRoU3RhY2tbSW5kZXhdXS5CaXRzLlJlc2VydmVkXzAgPQ0KPiA+ICsgKFVJTlQ4KShJbmRleCAr DQo+ID4gMSk7DQo+ID4gKyAgfQ0KPiA+ICsNCj4gPiArICAvLw0KPiA+ICsgIC8vIFB1Ymxpc2gg dGhlIGNoYW5nZXMNCj4gPiArICAvLw0KPiA+ICsgIEFzbVdyaXRlR2R0cigmR2R0RGVzYyk7DQo+ ID4gKw0KPiA+ICsgIC8vDQo+ID4gKyAgLy8gTG9hZCB0YXNrIHJlZ2lzdGVyDQo+ID4gKyAgLy8N Cj4gPiArICBBc21Xcml0ZVRyICgoVUlOVDE2KShPbGRHZHRTaXplICsgVFNTX1NFTCkpOyB9DQo+ ID4gKw0KPiA+ICAvKioNCj4gPiAgICBEaXNwbGF5IENQVSBpbmZvcm1hdGlvbi4NCj4gPg0KPiA+ IGRpZmYgLS1naXQNCj4gPiBhL1VlZmlDcHVQa2cvTGlicmFyeS9DcHVFeGNlcHRpb25IYW5kbGVy TGliL1g2NC9BcmNoSW50ZXJydXB0RGVmcy5oDQo+ID4gYi9VZWZpQ3B1UGtnL0xpYnJhcnkvQ3B1 RXhjZXB0aW9uSGFuZGxlckxpYi9YNjQvQXJjaEludGVycnVwdERlZnMuaA0KPiA+IGluZGV4IDkw NjQ4MDEzNGEuLjVhOTEzYmFlN2IgMTAwNjQ0DQo+ID4gLS0tDQo+ID4gYS9VZWZpQ3B1UGtnL0xp YnJhcnkvQ3B1RXhjZXB0aW9uSGFuZGxlckxpYi9YNjQvQXJjaEludGVycnVwdERlZnMuaA0KPiA+ ICsrKyBiL1VlZmlDcHVQa2cvTGlicmFyeS9DcHVFeGNlcHRpb25IYW5kbGVyTGliL1g2NC9BcmNo SW50ZXJydXB0RGVmcy4NCj4gPiArKysgaA0KPiA+IEBAIC00Myw0ICs0Myw0NCBAQCB0eXBlZGVm IHN0cnVjdCB7DQo+ID4gICAgVUlOVDggICAgICAgSG9va0FmdGVyU3R1YkhlYWRlckNvZGVbSE9P S0FGVEVSX1NUVUJfU0laRV07DQo+ID4gIH0gUkVTRVJWRURfVkVDVE9SU19EQVRBOw0KPiA+DQo+ ID4gKyNwcmFnbWEgcGFjayAoMSkNCj4gPiArDQo+ID4gKyNkZWZpbmUgRVhDRVBUSU9OX0xJU1Rf TUFYICAgICAgICA3DQo+ID4gKyNkZWZpbmUgRVhDRVBUSU9OX1NUQUNLX1NJWkUgICAgICBFRklf UEFHRV9TSVpFDQo+ID4gKyNkZWZpbmUgSUEzMl9HRFRfVFlQRV9UU1MgICAgICAgICAweDg5DQo+ ID4gKyNkZWZpbmUgSUEzMl9HRFRfQUxJR05NRU5UICAgICAgICA4DQo+ID4gKw0KPiA+ICt0eXBl ZGVmIHN0cnVjdCB7DQo+ID4gKyAgVUlOVDMyICAgIFJlc2VydmVkXzA7DQo+ID4gKyAgVUlOVDY0 ICAgIFJTUDA7DQo+ID4gKyAgVUlOVDY0ICAgIFJTUDE7DQo+ID4gKyAgVUlOVDY0ICAgIFJTUDI7 DQo+ID4gKyAgVUlOVDY0ICAgIFJlc2VydmVkXzI4Ow0KPiA+ICsgIFVJTlQ2NCAgICBJU1RbN107 DQo+ID4gKyAgVUlOVDY0ICAgIFJlc2VydmVkXzkyOw0KPiA+ICsgIFVJTlQxNiAgICBSZXNlcnZl ZF8xMDA7DQo+ID4gKyAgVUlOVDE2ICAgIElPTWFwQmFzZUFkZHJlc3M7DQo+ID4gK30gSUEzMl9U QVNLX1NUQVRFX1NFR01FTlQ7DQo+ID4gKw0KPiA+ICt0eXBlZGVmIHN0cnVjdCB7DQo+ID4gKyAg VUlOVDE2ICAgIExpbWl0MTVfMDsNCj4gPiArICBVSU5UMTYgICAgQmFzZTE1XzA7DQo+ID4gKyAg VUlOVDggICAgIEJhc2UyM18xNjsNCj4gPiArICBVSU5UOCAgICAgVHlwZTsNCj4gPiArICBVSU5U OCAgICAgTGltaXQxOV8xNl9hbmRfZmxhZ3M7DQo+ID4gKyAgVUlOVDggICAgIEJhc2UzMV8yNDsN Cj4gPiArICBVSU5UMzIgICAgQmFzZTYzXzMyOw0KPiA+ICsgIFVJTlQzMiAgICBSZXNlcnZlZDsN Cj4gPiArfSBJQTMyX1RTU19ERVNDUklQVE9SOw0KPiA+ICsNCj4gPiArdHlwZWRlZiBzdHJ1Y3Qg ew0KPiA+ICsgIElBMzJfVFNTX0RFU0NSSVBUT1IgICAgICAgICAgIFRzc1NlZzsNCj4gPiArICBJ QTMyX1RBU0tfU1RBVEVfU0VHTUVOVCAgICAgICBUc3M7DQo+ID4gK30gVFNTX0VOVFJJRVM7DQo+ ID4gKw0KPiA+ICsjcHJhZ21hIHBhY2sgKCkNCj4gPiArDQo+ID4gKyNkZWZpbmUgVFNTX1NFTCAg ICAgICAgICAgT0ZGU0VUX09GIChUU1NfRU5UUklFUywgVHNzU2VnKQ0KPiA+ICsjZGVmaW5lIFRT U19PRkZTRVQgICAgICAgIE9GRlNFVF9PRiAoVFNTX0VOVFJJRVMsIFRzcykNCj4gPiArDQo+ID4g ICNlbmRpZg0KPiA+IGRpZmYgLS1naXQNCj4gPiBhL1VlZmlDcHVQa2cvTGlicmFyeS9DcHVFeGNl cHRpb25IYW5kbGVyTGliL1g2NC9FeGNlcHRpb25IYW5kbGVyQXNtLlMNCj4gPiBiL1VlZmlDcHVQ a2cvTGlicmFyeS9DcHVFeGNlcHRpb25IYW5kbGVyTGliL1g2NC9FeGNlcHRpb25IYW5kbGVyQXNt LlMNCj4gPiBpbmRleCBlZGQzNjNjZGFhLi5iZGFmMTMyY2Y1IDEwMDY0NA0KPiA+IC0tLQ0KPiA+ IGEvVWVmaUNwdVBrZy9MaWJyYXJ5L0NwdUV4Y2VwdGlvbkhhbmRsZXJMaWIvWDY0L0V4Y2VwdGlv bkhhbmRsZXJBc20uUw0KPiA+ICsrKw0KPiA+IGIvVWVmaUNwdVBrZy9MaWJyYXJ5L0NwdUV4Y2Vw dGlvbkhhbmRsZXJMaWIvWDY0L0V4Y2VwdGlvbkhhbmRsZXJBc20uUw0KPiA+IEBAIC00MjksNiAr NDI5LDE4IEBAIEFTTV9QRlgoQXNtVmVjdG9yTnVtRml4dXApOg0KPiA+ICAgICAgcG9wcSAgICAg ICVyYnANCj4gPiAgICAgIHJldA0KPiA+DQo+ID4gKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KPiA+ICstLS0tLS0t LS0tDQo+ID4gKyMgVk9JRA0KPiA+ICsjIEFzbVdyaXRlVHIgKA0KPiA+ICsjICAgVUlOVDE2IFNl bGVjdG9yDQo+ID4gKyMgICApOw0KPiA+ICsjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCj4gPiArLS0tLS0tLS0tLQ0K PiA+ICtBU01fR0xPQkFMIEFTTV9QRlgoQXNtV3JpdGVUcikNCj4gPiArQVNNX1BGWChBc21Xcml0 ZVRyKToNCj4gPiArICAgIG1vdmwgICAgJWVjeCwgJWVheA0KPiA+ICsgICAgbHRydyAgICAlYXgN Cj4gPiArICAgIHJldA0KPiA+ICsNCj4gPiAgI0VORA0KPiA+DQo+ID4NCj4gPiBkaWZmIC0tZ2l0 DQo+ID4gYS9VZWZpQ3B1UGtnL0xpYnJhcnkvQ3B1RXhjZXB0aW9uSGFuZGxlckxpYi9YNjQvRXhj ZXB0aW9uSGFuZGxlckFzbS5hcw0KPiA+IG0NCj4gPiBiL1VlZmlDcHVQa2cvTGlicmFyeS9DcHVF eGNlcHRpb25IYW5kbGVyTGliL1g2NC9FeGNlcHRpb25IYW5kbGVyQXNtLmFzDQo+ID4gbQ0KPiA+ IGluZGV4IDcyNmM2NGExNDAuLmFlYzU2ZWY0YmYgMTAwNjQ0DQo+ID4gLS0tDQo+ID4gYS9VZWZp Q3B1UGtnL0xpYnJhcnkvQ3B1RXhjZXB0aW9uSGFuZGxlckxpYi9YNjQvRXhjZXB0aW9uSGFuZGxl ckFzbS5hcw0KPiA+IG0NCj4gPiArKysNCj4gPg0KPiBiL1VlZmlDcHVQa2cvTGlicmFyeS9DcHVF eGNlcHRpb25IYW5kbGVyTGliL1g2NC9FeGNlcHRpb25IYW5kbGVyQXNtLmFzbQ0KPiA+IEBAIC0z ODYsNCArMzg2LDE2IEBAIEFzbVZlY3Rvck51bUZpeHVwICAgUFJPQw0KPiA+ICAgICAgcmV0DQo+ ID4gIEFzbVZlY3Rvck51bUZpeHVwICAgRU5EUA0KPiA+DQo+ID4gKzstLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KPiA+ ICstLS0tLS0tLS0tDQo+ID4gKzsgVk9JRA0KPiA+ICs7IEFzbVdyaXRlVHIgKA0KPiA+ICs7ICAg VUlOVDE2IFNlbGVjdG9yDQo+ID4gKzsgICApOw0KPiA+ICs7LS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCj4gPiArLS0t LS0tLS0tLQ0KPiA+ICtBc21Xcml0ZVRyIFBST0MgUFVCTElDDQo+ID4gKyAgICBtb3YgICAgIGVh eCwgZWN4DQo+ID4gKyAgICBsdHIgICAgIGF4DQo+ID4gKyAgICByZXQNCj4gPiArQXNtV3JpdGVU ciBFTkRQDQo+ID4gKw0KPiA+ICBFTkQNCj4gPiBkaWZmIC0tZ2l0DQo+ID4gYS9VZWZpQ3B1UGtn L0xpYnJhcnkvQ3B1RXhjZXB0aW9uSGFuZGxlckxpYi9YNjQvRXhjZXB0aW9uSGFuZGxlckFzbS5u YQ0KPiA+IHNtDQo+ID4gYi9VZWZpQ3B1UGtnL0xpYnJhcnkvQ3B1RXhjZXB0aW9uSGFuZGxlckxp Yi9YNjQvRXhjZXB0aW9uSGFuZGxlckFzbS5uYQ0KPiA+IHNtDQo+ID4gaW5kZXggYmE4OTkzZDg0 Yi4uMWUyYWM0MTFiMCAxMDA2NDQNCj4gPiAtLS0NCj4gPiBhL1VlZmlDcHVQa2cvTGlicmFyeS9D cHVFeGNlcHRpb25IYW5kbGVyTGliL1g2NC9FeGNlcHRpb25IYW5kbGVyQXNtLm5hDQo+ID4gc20N Cj4gPiArKysNCj4gPiBiL1VlZmlDcHVQa2cvTGlicmFyeS9DcHVFeGNlcHRpb25IYW5kbGVyTGli L1g2NC9FeGNlcHRpb25IYW5kbGVyQXNtLm5hDQo+ID4gc20gQEAgLTM4NSwzICszODUsMTUgQEAg QVNNX1BGWChBc21WZWN0b3JOdW1GaXh1cCk6DQo+ID4gICAgICBtb3YgICAgIFtyY3ggKyAoQFZl Y3Rvck51bSAtIEhvb2tBZnRlclN0dWJIZWFkZXJCZWdpbildLCBhbA0KPiA+ICAgICAgcmV0DQo+ ID4NCj4gPiArOy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tDQo+ID4gKy0tLS0tLS0tLS0NCj4gPiArOyBWT0lEDQo+ID4g KzsgQXNtV3JpdGVUciAoDQo+ID4gKzsgICBVSU5UMTYgU2VsZWN0b3INCj4gPiArOyAgICk7DQo+ ID4gKzstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLQ0KPiA+ICstLS0tLS0tLS0tDQo+ID4gK2dsb2JhbCBBU01fUEZYKEFz bVdyaXRlVHIpDQo+ID4gK0FTTV9QRlgoQXNtV3JpdGVUcik6DQo+ID4gKyAgICBtb3YgICAgIGVh eCwgZWN4DQo+ID4gKyAgICBsdHIgICAgIGF4DQo+ID4gKyAgICByZXQNCj4gPiArDQo+ID4gLS0N Cj4gPiAyLjE0LjEud2luZG93cy4xDQo+DQo+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fDQo+IGVkazItZGV2ZWwgbWFpbGluZyBsaXN0DQo+IGVkazItZGV2 ZWxAbGlzdHMuMDEub3JnPG1haWx0bzplZGsyLWRldmVsQGxpc3RzLjAxLm9yZz4NCj4gaHR0cHM6 Ly9saXN0cy4wMS5vcmcvbWFpbG1hbi9saXN0aW5mby9lZGsyLWRldmVsDQo+DQo+IF9fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fDQo+IGVkazItZGV2ZWwgbWFp bGluZyBsaXN0DQo+IGVkazItZGV2ZWxAbGlzdHMuMDEub3JnPG1haWx0bzplZGsyLWRldmVsQGxp c3RzLjAxLm9yZz4NCj4gaHR0cHM6Ly9saXN0cy4wMS5vcmcvbWFpbG1hbi9saXN0aW5mby9lZGsy LWRldmVsDQoNCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f DQplZGsyLWRldmVsIG1haWxpbmcgbGlzdA0KZWRrMi1kZXZlbEBsaXN0cy4wMS5vcmc8bWFpbHRv OmVkazItZGV2ZWxAbGlzdHMuMDEub3JnPg0KaHR0cHM6Ly9saXN0cy4wMS5vcmcvbWFpbG1hbi9s aXN0aW5mby9lZGsyLWRldmVsDQoNCg==