From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received-SPF: Pass (sender SPF authorized) identity=helo; client-ip=104.47.33.83; helo=nam01-bn3-obe.outbound.protection.outlook.com; envelope-from=leo.duran@amd.com; receiver=edk2-devel@lists.01.org Received: from NAM01-BN3-obe.outbound.protection.outlook.com (mail-bn3nam01on0083.outbound.protection.outlook.com [104.47.33.83]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id 83DE92095D2CE for ; Wed, 18 Oct 2017 07:32:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amdcloud.onmicrosoft.com; s=selector1-amd-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=TCzsBfH48beXcutGYOU8QHjjdXLFdceSJpFOF3PSyFc=; b=S2SHElaE8Gn09JQzRe88Vb/xXdqXvMsVPR0kzWPUmYt51uLgF6ANjXSvH2iOMBO+w/NkO9zh0wtofCM5IUoKPszNwgoW9shoX3BA7FB53sfL4Jb+wt/xS6fg/Mq1PZMhKTzdQDDyfvWvzDx7NK8kDxC4FFQNEy9D8l2IVNWg/2M= Received: from DM5PR12MB1243.namprd12.prod.outlook.com (10.168.237.22) by DM5PR12MB1242.namprd12.prod.outlook.com (10.168.237.21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.77.7; Wed, 18 Oct 2017 14:36:01 +0000 Received: from DM5PR12MB1243.namprd12.prod.outlook.com ([10.168.237.22]) by DM5PR12MB1243.namprd12.prod.outlook.com ([10.168.237.22]) with mapi id 15.20.0077.022; Wed, 18 Oct 2017 14:36:01 +0000 From: "Duran, Leo" To: "'Yao, Jiewen'" , Laszlo Ersek , Paolo Bonzini , "edk2-devel@lists.01.org" CC: "Ni, Ruiyu" , "Justen, Jordan L" , "Gao, Liming" , "Kinney, Michael D" Thread-Topic: [edk2] [PATCH v5 1/2] UefiCpuPkg/SmmCpuFeaturesLib: Use global variables to replace macros Thread-Index: AQHTQsmHT6q8s1uDn0G572ZIQNr16aLoF+FAgAARNYCAAAaiAIAAsa4AgADUD1A= Date: Wed, 18 Oct 2017 14:36:00 +0000 Message-ID: References: <1507751131-32404-1-git-send-email-leo.duran@amd.com> <1507751131-32404-2-git-send-email-leo.duran@amd.com> <585e96dd-b15d-0710-9ad7-825e85f47b22@redhat.com> <74D8A39837DF1E4DA445A8C0B3885C503A9F94AB@shsmsx102.ccr.corp.intel.com> In-Reply-To: <74D8A39837DF1E4DA445A8C0B3885C503A9F94AB@shsmsx102.ccr.corp.intel.com> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: spf=none (sender IP is ) smtp.mailfrom=leo.duran@amd.com; x-originating-ip: [165.204.77.1] x-ms-publictraffictype: Email x-microsoft-exchange-diagnostics: 1; DM5PR12MB1242; 20:CVgerImTp7iHcEsgsS6i8Qnw+1iHcYbZWQyPVpCJBaOpILVI8x7VMLCK6UYHyRwHyYXtaFurytYBjNZCSwF8wFKaJlrrjlvixWUwdmUyURZDzMQFxhYVOlSmHJd0N7CV694j+Y+BryL84+3FGmpZw43GDoHiInWEPPWujjMBMjmNihf9r0B4ngTpqkgUGHz0gKpvlecSzgmhi0DwjJ9sT/Dd8MdD6xsm9K69PPWCHLcihCnuedCEU3YpqJOfa2iA x-ms-exchange-antispam-srfa-diagnostics: SSOS; x-ms-office365-filtering-correlation-id: 57b9990d-83cf-4632-822b-08d516358dc3 x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001)(2017030254152)(48565401081)(2017052603199)(201703131423075)(201703031133081)(201702281549075); SRVR:DM5PR12MB1242; x-ms-traffictypediagnostic: DM5PR12MB1242: x-exchange-antispam-report-test: UriScan:(20558992708506)(767451399110)(788757137089)(162533806227266)(21748063052155)(228905959029699); x-microsoft-antispam-prvs: x-exchange-antispam-report-cfa-test: BCL:0; PCL:0; RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(2401047)(5005006)(8121501046)(93006095)(93001095)(100000703101)(100105400095)(10201501046)(3002001)(6055026)(6041248)(20161123558100)(20161123562025)(20161123560025)(20161123564025)(20161123555025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(6072148)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095); SRVR:DM5PR12MB1242; BCL:0; PCL:0; RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095); SRVR:DM5PR12MB1242; x-forefront-prvs: 0464DBBBC4 x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(376002)(39860400002)(346002)(199003)(13464003)(24454002)(377454003)(189002)(6116002)(189998001)(2501003)(77096006)(14454004)(229853002)(3280700002)(606006)(66066001)(93886005)(15188155005)(2906002)(76176999)(53546010)(106356001)(16799955002)(6506006)(2950100002)(3846002)(7736002)(50986999)(6436002)(4326008)(105586002)(33656002)(54356999)(101416001)(97736004)(53946003)(53376002)(55016002)(8936002)(6306002)(316002)(68736007)(478600001)(16200700003)(99286003)(74316002)(7696004)(53936002)(2900100001)(102836003)(54896002)(5660300001)(9686003)(790700001)(86362001)(81166006)(54906003)(8676002)(6246003)(25786009)(966005)(575784001)(110136005)(81156014)(3660700001)(236005)(569006); DIR:OUT; SFP:1101; SCL:1; SRVR:DM5PR12MB1242; H:DM5PR12MB1243.namprd12.prod.outlook.com; FPR:; SPF:None; PTR:InfoNoRecords; A:1; MX:1; LANG:en; received-spf: None (protection.outlook.com: amd.com does not designate permitted sender hosts) spamdiagnosticoutput: 1:99 spamdiagnosticmetadata: NSPM MIME-Version: 1.0 X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-originalarrivaltime: 18 Oct 2017 14:36:00.6833 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM5PR12MB1242 X-Content-Filtered-By: Mailman/MimeDel 2.1.22 Subject: Re: [PATCH v5 1/2] UefiCpuPkg/SmmCpuFeaturesLib: Use global variables to replace macros 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: Wed, 18 Oct 2017 14:32:27 -0000 Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 WWFvLCBQYW9sbywgTGF6bG8sIGV0IGFsLA0KDQpUaGUgb2Zmc2V0IGRpc3Bhcml0eSBoYXMgcHJv dmVkIG1hbmFnZWFibGUgd2l0aGluIFNtbUNwdUZlYXR1cmVzTGliLCBzbyBJ4oCZbSBpbmNsaW5l ZCB0byBsZWF2ZSBtYWNybyBkZWZpbml0aW9ucyBhcy1pcyBhbmQganVzdCBkcm9wIHRoaXMgcGF0 Y2gtc2V0Lg0KDQpBZ3JlZWQ/DQpMZW8uDQoNCkZyb206IFlhbywgSmlld2VuIFttYWlsdG86amll d2VuLnlhb0BpbnRlbC5jb21dDQpTZW50OiBUdWVzZGF5LCBPY3RvYmVyIDE3LCAyMDE3IDg6NTEg UE0NClRvOiBMYXN6bG8gRXJzZWsgPGxlcnNla0ByZWRoYXQuY29tPjsgRHVyYW4sIExlbyA8bGVv LmR1cmFuQGFtZC5jb20+DQpDYzogTmksIFJ1aXl1IDxydWl5dS5uaUBpbnRlbC5jb20+OyBKdXN0 ZW4sIEpvcmRhbiBMIDxqb3JkYW4ubC5qdXN0ZW5AaW50ZWwuY29tPjsgZWRrMi1kZXZlbEBsaXN0 cy4wMS5vcmc7IEdhbywgTGltaW5nIDxsaW1pbmcuZ2FvQGludGVsLmNvbT47IEtpbm5leSwgTWlj aGFlbCBEIDxtaWNoYWVsLmQua2lubmV5QGludGVsLmNvbT47IFBhb2xvIEJvbnppbmkgPHBib256 aW5pQHJlZGhhdC5jb20+DQpTdWJqZWN0OiBSRTogW2VkazJdIFtQQVRDSCB2NSAxLzJdIFVlZmlD cHVQa2cvU21tQ3B1RmVhdHVyZXNMaWI6IFVzZSBnbG9iYWwgdmFyaWFibGVzIHRvIHJlcGxhY2Ug bWFjcm9zDQoNClRoYW5rcy4gVGhlbiBJIHRoaW5rIFBhb2xv4oCZcyBzdWdnZXN0aW9uIG1ha2Vz IG1vcmUgc2Vuc2UuDQoNCklmIHdlIGNhbiB1c2Ugc2FtZSBvZmYsIHRoYXQgd291bGQgYmUgZ3Jl YXQuDQpJZiBubywganVzdCBjaGVjayBBTUQgdmVyc2lvbiBJRCBpbiBTYXZlU3RhdGUuDQoNClRo YW5rIHlvdQ0KWWFvIEppZXdlbg0KDQpGcm9tOiBlZGsyLWRldmVsIFttYWlsdG86ZWRrMi1kZXZl bC1ib3VuY2VzQGxpc3RzLjAxLm9yZ10gT24gQmVoYWxmIE9mIExhc3psbyBFcnNlaw0KU2VudDog VHVlc2RheSwgT2N0b2JlciAxNywgMjAxNyAxMToxNSBQTQ0KVG86IFlhbywgSmlld2VuIDxqaWV3 ZW4ueWFvQGludGVsLmNvbTxtYWlsdG86amlld2VuLnlhb0BpbnRlbC5jb20+PjsgRHVyYW4sIExl byA8bGVvLmR1cmFuQGFtZC5jb208bWFpbHRvOmxlby5kdXJhbkBhbWQuY29tPj4NCkNjOiBOaSwg UnVpeXUgPHJ1aXl1Lm5pQGludGVsLmNvbTxtYWlsdG86cnVpeXUubmlAaW50ZWwuY29tPj47IEp1 c3RlbiwgSm9yZGFuIEwgPGpvcmRhbi5sLmp1c3RlbkBpbnRlbC5jb208bWFpbHRvOmpvcmRhbi5s Lmp1c3RlbkBpbnRlbC5jb20+PjsgZWRrMi1kZXZlbEBsaXN0cy4wMS5vcmc8bWFpbHRvOmVkazIt ZGV2ZWxAbGlzdHMuMDEub3JnPjsgR2FvLCBMaW1pbmcgPGxpbWluZy5nYW9AaW50ZWwuY29tPG1h aWx0bzpsaW1pbmcuZ2FvQGludGVsLmNvbT4+OyBLaW5uZXksIE1pY2hhZWwgRCA8bWljaGFlbC5k Lmtpbm5leUBpbnRlbC5jb208bWFpbHRvOm1pY2hhZWwuZC5raW5uZXlAaW50ZWwuY29tPj47IFBh b2xvIEJvbnppbmkgPHBib256aW5pQHJlZGhhdC5jb208bWFpbHRvOnBib256aW5pQHJlZGhhdC5j b20+Pg0KU3ViamVjdDogUmU6IFtlZGsyXSBbUEFUQ0ggdjUgMS8yXSBVZWZpQ3B1UGtnL1NtbUNw dUZlYXR1cmVzTGliOiBVc2UgZ2xvYmFsIHZhcmlhYmxlcyB0byByZXBsYWNlIG1hY3Jvcw0KDQpP biAxMC8xNy8xNyAxNjo1MCwgWWFvLCBKaWV3ZW4gd3JvdGU6DQo+IEkgdGhpbmsgaXQgaXMgdW5u ZWNlc3NhcnkuIEFsbCBpbnRlbCBDUFUgaXMgdXNpbmcgc2FtZSBvZmZzZXQuIEFsbCBhbWQgQ1BV IGlzIHVzaW5nIHNhbWUgb2Zmc2V0LiBJdCBjYW4gYmUgaWRlbnRpZmllZCBlYXNpbHkgYnkgY29k ZS4NCj4gQWRkaW5nIGEgbmV3IEFQSSBub3cgaXMgYWxzbyBhbiBpbmNvbXBhdGlibGUgY2hhbmdl IGJlY2F1c2UgdGhhdCByZXF1aXJlcyBhbGwgZXhpc3RpbmcgZmVhdHVyZWxpYiBjaGFuZ2UgdG8g YWRkIGEgbmV3IEFQSS4gV2UgaGF2ZSBsb3RzIG9mIGNsb3NlIHNvdXJjZSBwbGF0Zm9ybSB1c2lu ZyBpdHMgb3duIGZlYXR1cmVsaWIuDQo+DQo+IE1heSBJIGtub3cgd2hhdCBwcm9ibGVtIHdlIGFy ZSB0cnlpbmcgdG8gcmVzb2x2ZSBieSBhZGRpbmcgYSBuZXcgQVBJPw0KDQpRRU1VIChhbmQgaGVu Y2UgT1ZNRikgdXNlcyB0aGUgQU1EIHNhdmUgc3RhdGUgbWFwIGV2ZW4gd2hlbiBpdCBlbXVsYXRl cw0KSW50ZWwgQ1BVcy4NCg0KVGhlIHJlYXNvbiBpcyB0aGF0IHRoZSBJbnRlbCBTRE0gZG9lcyBu b3Qgc3BlY2lmeSB0aGUgSW50ZWwgc2F2ZSBzdGF0ZQ0KbWFwIGluIHN1ZmZpY2llbnQgZGV0YWls IChmb3IgZW11bGF0aW9uIGJ5IFFFTVUpLCB3aGlsZSB0aGUgQU1EIHNwZWMNCmRvZXMuIFNvLCBh cyBhbiBlbXVsYXRpb24gdGFyZ2V0LCBvbmx5IHRoZSBBTUQgb25lIGlzIGltcGxlbWVudGFibGUg aW4NClFFTVUgKGFuZCBzdXBwb3J0YWJsZSBpbiBPVk1GKSwgcmVnYXJkbGVzcyBvZiB3aGV0aGVy IFFFTVUgcmVwb3J0cyB0aGUNCnZpcnR1YWwgQ1BVIG1hbnVmYWN0dXJlciBhcyBJbnRlbCB2cy4g QU1ELg0KDQpJZiBQaVNtbUNwdUR4ZVNtbSB1c2VkIGEgQ1BVSUQgY2hlY2ssIHNhdyAiSW50ZWwi IGFzIG1hbnVmYWN0dXJlciwgYW5kDQp0aGVuIHVzZWQgdGhlIEludGVsIGRlZmluaXRpb24gb2Yg dGhlIHNhdmUgc3RhdGUgbWFwLCB0aGVuDQpQaVNtbUNwdUR4ZVNtbSB3b3VsZCBicmVhayBvbiBR RU1VIC8gYXMgcGFydCBvZiBPVk1GLg0KDQpUaGFua3MsDQpMYXN6bG8NCg0KPg0KPg0KPiB0aGFu ayB5b3UhDQo+IFlhbywgSmlld2VuDQo+DQo+DQo+PiDlnKggMjAxN+W5tDEw5pyIMTfml6XvvIzk uIvljYgxMDoyMO+8jER1cmFuLCBMZW8gPGxlby5kdXJhbkBhbWQuY29tPG1haWx0bzpsZW8uZHVy YW5AYW1kLmNvbT4+IOWGmemBk++8mg0KPj4NCj4+IFlhbywgTGF6bG8sIGV0IGFsLA0KPj4NCj4+ IEZvciB0aGUgU1JBTV9TQVZFX1NUQVRFX01BUF9PRkZTRVQ6DQo+PiBJIHByb3Bvc2UgcmV0dXJu aW5nIHRoZSB2YWx1ZSBieSBhIGZ1bmN0aW9uIGluIFNtbUNwdUZlYXR1cmVzTGliLi4uIEhlcmUn cyB0aGUgcmF0aW9uYWxlOg0KPj4gLSBUaGUgdmFsdWUgaXMgZml4ZWQgcGVyIENQVSBhcmNoaXRl Y3R1cmUsIHNvIHRoaXMgcXVhbGlmaWVzIGFzIGEgQ1BVIGZlYXR1cmUuDQo+PiAtIFRoZSBsb2dp YyBmb3IgQ1BVIGFyY2hpdGVjdHVyZSBkZXRlY3Rpb24gd291bGQgYmUgaW4gb25lIHBsYWNlIChl LmcuLCBQaVNtbUNwdUR4ZVNtbSB3b3VsZCBjYWxsIHRoZSBsaWJyYXJ5IGZ1bmN0aW9uKQ0KPj4g LSBUaGUgT1ZNRiBhbmQgUXVhcmsgaW5zdGFuY2VzIG9mIHRoZSBsaWJyYXJ5IGNvdWxkIGp1c3Qg cmV0dXJuIHRoZSBjdXJyZW50IChkZWZhdWx0KSB2YWx1ZSwgc28gbm8gY29tcGF0aWJpbGl0eSBp c3N1ZXMuDQo+Pg0KPj4gaWYgeW91IGFncmVlIHdpdGggdGhpcyBpcyBhbiBhY2NlcHRhYmxlIHNv bHV0aW9uLCBJIHdpbGwgc3VibWl0IGEgcmV2aXNlZCBwYXRjaC1zZXQgdG8gYWRkcmVzcyBqdXN0 IHRoZSBTUkFNX1NBVkVfU1RBVEVfTUFQX09GRlNFVC4NCj4+IChCVFcsIEknbSByZS1ldmFsdWF0 aW5nIHRoZSBjaGFuZ2VzIHN1Ym1pdHRlZCBmb3IgdGhlIFBTRCBvZmZzZXQsIHdpdGggdGhlIGdv YWwgb2YganVzdCB1c2luZyB0aGUgZGVmYXVsdCB2YWx1ZSBhbmQgZHJvcHBpbmcgdGhvc2UgY2hh bmdlcykNCj4+DQo+PiBUaGFua3MsDQo+PiBMZW8uDQo+Pg0KPj4+IC0tLS0tT3JpZ2luYWwgTWVz c2FnZS0tLS0tDQo+Pj4gRnJvbTogRHVyYW4sIExlbw0KPj4+IFNlbnQ6IFdlZG5lc2RheSwgT2N0 b2JlciAxMSwgMjAxNyAyOjQ2IFBNDQo+Pj4gVG86IGVkazItZGV2ZWxAbGlzdHMuMDEub3JnPG1h aWx0bzplZGsyLWRldmVsQGxpc3RzLjAxLm9yZz4NCj4+PiBDYzogRHVyYW4sIExlbyA8bGVvLmR1 cmFuQGFtZC5jb208bWFpbHRvOmxlby5kdXJhbkBhbWQuY29tPj47IEppZXdlbiBZYW8NCj4+PiA8 amlld2VuLnlhb0BpbnRlbC5jb208bWFpbHRvOmppZXdlbi55YW9AaW50ZWwuY29tPj47IFJ1aXl1 IE5pIDxydWl5dS5uaUBpbnRlbC5jb208bWFpbHRvOnJ1aXl1Lm5pQGludGVsLmNvbT4+OyBNaWNo YWVsIEQgS2lubmV5DQo+Pj4gPG1pY2hhZWwuZC5raW5uZXlAaW50ZWwuY29tPG1haWx0bzptaWNo YWVsLmQua2lubmV5QGludGVsLmNvbT4+OyBKb3JkYW4gSnVzdGVuIDxqb3JkYW4ubC5qdXN0ZW5A aW50ZWwuY29tPG1haWx0bzpqb3JkYW4ubC5qdXN0ZW5AaW50ZWwuY29tPj47DQo+Pj4gTGltaW5n IEdhbyA8bGltaW5nLmdhb0BpbnRlbC5jb208bWFpbHRvOmxpbWluZy5nYW9AaW50ZWwuY29tPj4N Cj4+PiBTdWJqZWN0OiBbUEFUQ0ggdjUgMS8yXSBVZWZpQ3B1UGtnL1NtbUNwdUZlYXR1cmVzTGli OiBVc2UgZ2xvYmFsDQo+Pj4gdmFyaWFibGVzIHRvIHJlcGxhY2UgbWFjcm9zDQo+Pj4NCj4+PiBT ZXQgZ2xvYmFsIHZhcmlhYmxlcyBvbiBDb25zdHJ1Y3RvciBmdW5jdGlvbiBiYXNlZCBvbiBDUFVJ RCBjaGVja3MuDQo+Pj4gVGhlIHZhcmlhYmxlcyByZXBsYWNlIEludGVsIG1hY3JvcyB0byBhbGxv dyBzdXBwb3J0IG9uIEFNRCB4ODYgc3lzdGVtcy4NCj4+Pg0KPj4+IFNwZWNpZmljYWxseSwgdGhl IHJlcGxhY2VkIG1hY3JvcyBhcmU6DQo+Pj4gMSkgU1JBTV9TQVZFX1NUQVRFX01BUF9PRkZTRVQN Cj4+PiAyKSBUWFRfU01NX1BTRF9PRkZTRVQNCj4+Pg0KPj4+IENjOiBKaWV3ZW4gWWFvIDxqaWV3 ZW4ueWFvQGludGVsLmNvbTxtYWlsdG86amlld2VuLnlhb0BpbnRlbC5jb20+Pg0KPj4+IENjOiBS dWl5dSBOaSA8cnVpeXUubmlAaW50ZWwuY29tPG1haWx0bzpydWl5dS5uaUBpbnRlbC5jb20+Pg0K Pj4+IENjOiBNaWNoYWVsIEQgS2lubmV5IDxtaWNoYWVsLmQua2lubmV5QGludGVsLmNvbTxtYWls dG86bWljaGFlbC5kLmtpbm5leUBpbnRlbC5jb20+Pg0KPj4+IENjOiBKb3JkYW4gSnVzdGVuIDxq b3JkYW4ubC5qdXN0ZW5AaW50ZWwuY29tPG1haWx0bzpqb3JkYW4ubC5qdXN0ZW5AaW50ZWwuY29t Pj4NCj4+PiBDYzogTGltaW5nIEdhbyA8bGltaW5nLmdhb0BpbnRlbC5jb208bWFpbHRvOmxpbWlu Zy5nYW9AaW50ZWwuY29tPj4NCj4+PiBDb250cmlidXRlZC11bmRlcjogVGlhbm9Db3JlIENvbnRy aWJ1dGlvbiBBZ3JlZW1lbnQgMS4xDQo+Pj4gU2lnbmVkLW9mZi1ieTogTGVvIER1cmFuIDxsZW8u ZHVyYW5AYW1kLmNvbTxtYWlsdG86bGVvLmR1cmFuQGFtZC5jb20+Pg0KPj4+IC0tLQ0KPj4+IC4u Li9MaWJyYXJ5L1NtbUNwdUZlYXR1cmVzTGliL0lhMzIvU21pRW50cnkuUyAgICAgIHwgMjggKysr KysrLS0tLQ0KPj4+IC4uLi9MaWJyYXJ5L1NtbUNwdUZlYXR1cmVzTGliL0lhMzIvU21pRW50cnku YXNtICAgIHwgMjkgKysrKysrKy0tLS0NCj4+PiAuLi4vTGlicmFyeS9TbW1DcHVGZWF0dXJlc0xp Yi9JYTMyL1NtaUVudHJ5Lm5hc20gICB8IDQzICsrKysrKysrKysrKy0tLQ0KPj4+IC0NCj4+PiBV ZWZpQ3B1UGtnL0xpYnJhcnkvU21tQ3B1RmVhdHVyZXNMaWIvU21tQ29tbW9uLmggICB8IDQ4DQo+ Pj4gKysrKysrKysrKysrKysrKysrDQo+Pj4gLi4uL0xpYnJhcnkvU21tQ3B1RmVhdHVyZXNMaWIv U21tQ3B1RmVhdHVyZXNMaWIuYyAgfCA1OQ0KPj4+ICsrKysrKysrKysrKysrKysrKy0tLS0NCj4+ PiAuLi4vU21tQ3B1RmVhdHVyZXNMaWIvU21tQ3B1RmVhdHVyZXNMaWIuaW5mICAgICAgICB8ICAz ICsrDQo+Pj4gLi4uL1NtbUNwdUZlYXR1cmVzTGliL1NtbUNwdUZlYXR1cmVzTGliU3RtLmluZiAg ICAgfCAgMyArKw0KPj4+IFVlZmlDcHVQa2cvTGlicmFyeS9TbW1DcHVGZWF0dXJlc0xpYi9TbW1T dG0uYyAgICAgIHwgMzkNCj4+PiArKysrKysrKysrKystLQ0KPj4+IC4uLi9MaWJyYXJ5L1NtbUNw dUZlYXR1cmVzTGliL1g2NC9TbWlFbnRyeS5TICAgICAgIHwgMjggKysrKysrLS0tLQ0KPj4+IC4u Li9MaWJyYXJ5L1NtbUNwdUZlYXR1cmVzTGliL1g2NC9TbWlFbnRyeS5hc20gICAgIHwgMzAgKysr KysrKy0tLS0NCj4+PiAuLi4vTGlicmFyeS9TbW1DcHVGZWF0dXJlc0xpYi9YNjQvU21pRW50cnku bmFzbSAgICB8IDQ3ICsrKysrKysrKysrKy0tLQ0KPj4+IC0tDQo+Pj4gMTEgZmlsZXMgY2hhbmdl ZCwgMjgyIGluc2VydGlvbnMoKyksIDc1IGRlbGV0aW9ucygtKSAgY3JlYXRlIG1vZGUgMTAwNjQ0 DQo+Pj4gVWVmaUNwdVBrZy9MaWJyYXJ5L1NtbUNwdUZlYXR1cmVzTGliL1NtbUNvbW1vbi5oDQo+ Pj4NCj4+PiBkaWZmIC0tZ2l0IGEvVWVmaUNwdVBrZy9MaWJyYXJ5L1NtbUNwdUZlYXR1cmVzTGli L0lhMzIvU21pRW50cnkuUw0KPj4+IGIvVWVmaUNwdVBrZy9MaWJyYXJ5L1NtbUNwdUZlYXR1cmVz TGliL0lhMzIvU21pRW50cnkuUw0KPj4+IGluZGV4IDRjMGY4YzguLmM3YjQ5ZDcgMTAwNjQ0DQo+ Pj4gLS0tIGEvVWVmaUNwdVBrZy9MaWJyYXJ5L1NtbUNwdUZlYXR1cmVzTGliL0lhMzIvU21pRW50 cnkuUw0KPj4+ICsrKyBiL1VlZmlDcHVQa2cvTGlicmFyeS9TbW1DcHVGZWF0dXJlc0xpYi9JYTMy L1NtaUVudHJ5LlMNCj4+PiBAQCAtMSw2ICsxLDggQEANCj4+PiAjLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tDQo+Pj4gIw0KPj4+ICMgQ29weXJpZ2h0IChjKSAyMDA5IC0gMjAxNiwgSW50ZWwgQ29ycG9y YXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuPEJSPg0KPj4+ICsjIENvcHlyaWdodCAoYykgMjAx NywgQU1EIEluY29ycG9yYXRlZC4gQWxsIHJpZ2h0cyByZXNlcnZlZC48QlI+ICMNCj4+PiAjIFRo aXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgICMgYXJlIGxpY2Vuc2Vk IGFuZCBtYWRlDQo+Pj4gYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBhbmQgY29uZGl0aW9ucyBv ZiB0aGUgQlNEIExpY2Vuc2UgICMgd2hpY2gNCj4+PiBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1 dGlvbi4gIFRoZSBmdWxsIHRleHQgb2YgdGhlIGxpY2Vuc2UgbWF5IGJlIGZvdW5kIGF0DQo+Pj4g QEAgLTI4LDYgKzMwLDkgQEAgQVNNX0dMT0JBTCAgQVNNX1BGWChnU3RtU21iYXNlKSAgQVNNX0dM T0JBTA0KPj4+IEFTTV9QRlgoZ1N0bVhkU3VwcG9ydGVkKSAgQVNNX0dMT0JBTCAgQVNNX1BGWChG ZWF0dXJlUGNkR2V0DQo+Pj4gKFBjZENwdVNtbVN0YWNrR3VhcmQpKSAgQVNNX0dMT0JBTCAgQVNN X1BGWChnU3RtU21pSGFuZGxlcklkdHIpDQo+Pj4gK0FTTV9HTE9CQUwgIEFTTV9QRlgoZ1N0bVBz ZE9mZnNldCkNCj4+PiArQVNNX0dMT0JBTCAgQVNNX1BGWChnU3RtR2R0U2l6ZSkNCj4+PiArQVNN X0dMT0JBTCAgQVNNX1BGWChnU3RtR2R0UHRyKQ0KPj4+DQo+Pj4gLmVxdSAgICAgICAgICAgIE1T Ul9JQTMyX01JU0NfRU5BQkxFLCAweDFBMA0KPj4+IC5lcXUgICAgICAgICAgICBNU1JfRUZFUiwg MHhjMDAwMDA4MA0KPj4+IEBAIC0zNiwxMiArNDEsMTMgQEAgQVNNX0dMT0JBTCAgQVNNX1BGWChn U3RtU21pSGFuZGxlcklkdHIpICAjICAjDQo+Pj4gQ29uc3RhbnRzIHJlbGF0aW5nIHRvIFRYVF9Q Uk9DRVNTT1JfU01NX0RFU0NSSVBUT1IgICMNCj4+PiAtLmVxdSAgICAgICAgICAgIERTQ19PRkZT RVQsIDB4ZmIwMA0KPj4+IC0uZXF1ICAgICAgICAgICAgRFNDX0dEVFBUUiwgMHg0OA0KPj4+IC0u ZXF1ICAgICAgICAgICAgRFNDX0dEVFNJWiwgMHg1MA0KPj4+IC0uZXF1ICAgICAgICAgICAgRFND X0NTLCAweDE0DQo+Pj4gLS5lcXUgICAgICAgICAgICBEU0NfRFMsIDB4MTYNCj4+PiAtLmVxdSAg ICAgICAgICAgIERTQ19TUywgMHgxOA0KPj4+ICsjIC5lcXUgICAgICAgICAgRFNDX09GRlNFVCwg ICAweGZiMDANCj4+PiArIyAuZXF1ICAgICAgICAgIERTQ19HRFRQVFIsICAgMHg0OA0KPj4+ICsj IC5lcXUgICAgICAgICAgRFNDX0dEVFNJWiwgICAweDUwDQo+Pj4gKyMNCj4+PiArLmVxdSAgICAg ICAgICAgIERTQ19DUywgICAgICAgMHgxNA0KPj4+ICsuZXF1ICAgICAgICAgICAgRFNDX0RTLCAg ICAgICAweDE2DQo+Pj4gKy5lcXUgICAgICAgICAgICBEU0NfU1MsICAgICAgIDB4MTgNCj4+PiAu ZXF1ICAgICAgICAgICAgRFNDX09USEVSU0VHLCAweDFBDQo+Pj4NCj4+PiAuZXF1ICAgICAgICAg ICAgUFJPVEVDVF9NT0RFX0NTLCAweDA4DQo+Pj4gQEAgLTU1LDExICs2MSwxMSBAQCBfU3RtU21p RW50cnlQb2ludDoNCj4+PiAgICAgLmJ5dGUgMHhiYiAgICAgICAgICAgICAgICAgICAgICAgICAg IyBtb3YgYngsIGltbTE2DQo+Pj4gICAgIC53b3JkIF9TdG1HZHREZXNjIC0gX1N0bVNtaUVudHJ5 UG9pbnQgKyAweDgwMDANCj4+PiAgICAgLmJ5dGUgMHgyZSwweGExICAgICAgICAgICAgICAgICAg ICAgIyBtb3YgYXgsIGNzOltvZmZzZXQxNl0NCj4+PiAtICAgIC53b3JkIERTQ19PRkZTRVQgKyBE U0NfR0RUU0laDQo+Pj4gK0FTTV9QRlgoZ1N0bUdkdFNpemUpOiAuc3BhY2UgMiAgICAgICAgICAj IC53b3JkIERTQ19PRkZTRVQgKyBEU0NfR0RUU0laDQo+Pj4gICAgIGRlY2wgICAgJWVheA0KPj4+ ICAgICBtb3ZsICAgICVlYXgsICVjczooJWVkaSkgICAgICAgICAgICAjIG1vdiBjczpbYnhdLCBh eA0KPj4+ICAgICAuYnl0ZSAweDY2LDB4MmUsMHhhMSAgICAgICAgICAgICAgICAjIG1vdiBlYXgs IGNzOltvZmZzZXQxNl0NCj4+PiAtICAgIC53b3JkICAgRFNDX09GRlNFVCArIERTQ19HRFRQVFIN Cj4+PiArQVNNX1BGWChnU3RtR2R0UHRyKTogLnNwYWNlIDIgICAgICAgICAgICMgLndvcmQgRFND X09GRlNFVCArIERTQ19HRFRQVFINCj4+PiAgICAgbW92dyAgICAlYXgsICVjczoyKCVlZGkpDQo+ Pj4gICAgIG1vdncgICAgJWF4LCAlYnAgICAgICAgICAgICAgICAgICAgICMgZWJwID0gR0RUIGJh c2UNCj4+PiAgICAgLmJ5dGUgMHg2Ng0KPj4+IEBAIC0xNjcsNyArMTczLDExIEBAIFhkRG9uZToN Cj4+PiAgICAgbW92bCAgICAlY3IwLCAlZWJ4DQo+Pj4gICAgIG9ybCAgICAgJDB4MDgwMDEwMDIz LCAlZWJ4ICAgICAgICAgICAgICMgZW5hYmxlIHBhZ2luZyArIFdQICsgTkUgKyBNUCArIFBFDQo+ Pj4gICAgIG1vdmwgICAgJWVieCwgJWNyMA0KPj4+IC0gICAgbGVhbCAgICBEU0NfT0ZGU0VUKCVl ZGkpLCVlYngNCj4+PiArDQo+Pj4gKyAgICBtb3ZsICAgICRBU01fUEZYKGdTdG1Qc2RPZmZzZXQp LCAlZWJ4ICAjIGxlYWwgICAgRFNDX09GRlNFVCglZWRpKSwNCj4+PiAlZWJ4DQo+Pj4gKyAgICBt b3Z6eHcgICglZWJ4KSwgJWVzaQ0KPj4+ICsgICAgbGVhbCAgICAoJWVkaSwgJWVzaSksICVlYngN Cj4+PiArDQo+Pj4gICAgIG1vdncgICAgRFNDX0RTKCVlYngpLCVheA0KPj4+ICAgICBtb3ZsICAg ICVlYXgsICVkcw0KPj4+ICAgICBtb3Z3ICAgIERTQ19PVEhFUlNFRyglZWJ4KSwlYXgNCj4+PiBk aWZmIC0tZ2l0IGEvVWVmaUNwdVBrZy9MaWJyYXJ5L1NtbUNwdUZlYXR1cmVzTGliL0lhMzIvU21p RW50cnkuYXNtDQo+Pj4gYi9VZWZpQ3B1UGtnL0xpYnJhcnkvU21tQ3B1RmVhdHVyZXNMaWIvSWEz Mi9TbWlFbnRyeS5hc20NCj4+PiBpbmRleCA5MWRjMWViLi40ZGJlMjc2IDEwMDY0NA0KPj4+IC0t LSBhL1VlZmlDcHVQa2cvTGlicmFyeS9TbW1DcHVGZWF0dXJlc0xpYi9JYTMyL1NtaUVudHJ5LmFz bQ0KPj4+ICsrKyBiL1VlZmlDcHVQa2cvTGlicmFyeS9TbW1DcHVGZWF0dXJlc0xpYi9JYTMyL1Nt aUVudHJ5LmFzbQ0KPj4+IEBAIC0xLDUgKzEsNyBAQA0KPj4+IDstLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0gOyAgOw0KPj4+IENvcHlyaWdodCAoYykgMjAwOSAtIDIwMTcsIEludGVsIENvcnBvcmF0aW9u LiBBbGwgcmlnaHRzIHJlc2VydmVkLjxCUj4NCj4+PiArOyBDb3B5cmlnaHQgKGMpIDIwMTcsIEFN RCBJbmNvcnBvcmF0ZWQuIEFsbCByaWdodHMgcmVzZXJ2ZWQuPEJSPiA7DQo+Pj4gOyBUaGlzIHBy b2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzICA7IGFyZSBsaWNlbnNlZCBhbmQg bWFkZQ0KPj4+IGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgYW5kIGNvbmRpdGlvbnMgb2YgdGhl IEJTRCBMaWNlbnNlICA7IHdoaWNoDQo+Pj4gYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24u ICBUaGUgZnVsbCB0ZXh0IG9mIHRoZSBsaWNlbnNlIG1heSBiZSBmb3VuZCBhdA0KPj4+IEBAIC0y OSwxMyArMzEsMTQgQEAgTVNSX0VGRVJfWEQgICBFUVUgICAgIDA4MDBoDQo+Pj4gOw0KPj4+IDsg Q29uc3RhbnRzIHJlbGF0aW5nIHRvIFRYVF9QUk9DRVNTT1JfU01NX0RFU0NSSVBUT1IgIDsNCj4+ PiAtRFNDX09GRlNFVCAgICBFUVUgICAgIDBmYjAwaA0KPj4+IC1EU0NfR0RUUFRSICAgIEVRVSAg ICAgNDhoDQo+Pj4gLURTQ19HRFRTSVogICAgRVFVICAgICA1MGgNCj4+PiAtRFNDX0NTICAgICAg ICBFUVUgICAgIDE0aA0KPj4+IC1EU0NfRFMgICAgICAgIEVRVSAgICAgMTZoDQo+Pj4gLURTQ19T UyAgICAgICAgRVFVICAgICAxOGgNCj4+PiAtRFNDX09USEVSU0VHICBFUVUgICAgIDFBaA0KPj4+ ICs7IERTQ19PRkZTRVQgRVFVICAgICAwZmIwMGgNCj4+PiArOyBEU0NfR0RUUFRSIEVRVSAgICAg NDhoDQo+Pj4gKzsgRFNDX0dEVFNJWiBFUVUgICAgIDUwaA0KPj4+ICs7DQo+Pj4gK0RTQ19DUyAg ICAgICBFUVUgICAgIDE0aA0KPj4+ICtEU0NfRFMgICAgICAgRVFVICAgICAxNmgNCj4+PiArRFND X1NTICAgICAgIEVRVSAgICAgMThoDQo+Pj4gK0RTQ19PVEhFUlNFRyBFUVUgICAgIDFBaA0KPj4+ DQo+Pj4gUFJPVEVDVF9NT0RFX0NTIEVRVSAgIDA4aA0KPj4+IFBST1RFQ1RfTU9ERV9EUyBFUVUg ICAyMGgNCj4+PiBAQCAtNTQsNiArNTcsOSBAQCBFWFRFUk5ERUYgICBnU3RtU21iYXNlOkRXT1JE DQo+Pj4gRVhURVJOREVGICAgZ1N0bVhkU3VwcG9ydGVkOkJZVEUNCj4+PiBFWFRFUk5ERUYgICBG ZWF0dXJlUGNkR2V0IChQY2RDcHVTbW1TdGFja0d1YXJkKTpCWVRFDQo+Pj4gRVhURVJOREVGICAg Z1N0bVNtaUhhbmRsZXJJZHRyOkZXT1JEDQo+Pj4gK0VYVEVSTkRFRiAgIGdTdG1Qc2RPZmZzZXQ6 V09SRA0KPj4+ICtFWFRFUk5ERUYgICBnU3RtR2R0U2l6ZTpXT1JEDQo+Pj4gK0VYVEVSTkRFRiAg IGdTdG1HZHRQdHI6V09SRA0KPj4+DQo+Pj4gICAgIC5jb2RlDQo+Pj4NCj4+PiBAQCAtNjMsMTEg KzY5LDExIEBAIF9TdG1TbWlFbnRyeVBvaW50Og0KPj4+ICAgICBEQiAgICAgIDBiYmggICAgICAg ICAgICAgICAgICAgICAgICA7IG1vdiBieCwgaW1tMTYNCj4+PiAgICAgRFcgICAgICBvZmZzZXQg X1N0bUdkdERlc2MgLSBfU3RtU21pRW50cnlQb2ludCArIDgwMDBoDQo+Pj4gICAgIERCICAgICAg MmVoLCAwYTFoICAgICAgICAgICAgICAgICAgIDsgbW92IGF4LCBjczpbb2Zmc2V0MTZdDQo+Pj4g LSAgICBEVyAgICAgIERTQ19PRkZTRVQgKyBEU0NfR0RUU0laDQo+Pj4gK2dTdG1HZHRTaXplICAg RFcgICAgPyAgICAgICAgICAgICAgICAgICA7IERTQ19PRkZTRVQgKyBEU0NfR0RUU0laDQo+Pj4g ICAgIGRlYyAgICAgZWF4DQo+Pj4gICAgIG1vdiAgICAgY3M6W2VkaV0sIGVheCAgICAgICAgICAg ICAgIDsgbW92IGNzOltieF0sIGF4DQo+Pj4gICAgIERCICAgICAgNjZoLCAyZWgsIDBhMWggICAg ICAgICAgICAgIDsgbW92IGVheCwgY3M6W29mZnNldDE2XQ0KPj4+IC0gICAgRFcgICAgICBEU0Nf T0ZGU0VUICsgRFNDX0dEVFBUUg0KPj4+ICtnU3RtR2R0UHRyICAgIERXICAgID8gICAgICAgICAg ICAgICAgICAgOyBEU0NfT0ZGU0VUICsgRFNDX0dEVFBUUg0KPj4+ICAgICBtb3YgICAgIGNzOltl ZGkgKyAyXSwgYXggICAgICAgICAgICA7IG1vdiBjczpbYnggKyAyXSwgZWF4DQo+Pj4gICAgIG1v diAgICAgYnAsIGF4ICAgICAgICAgICAgICAgICAgICAgIDsgZWJwID0gR0RUIGJhc2UNCj4+PiAg ICAgREIgICAgICA2NmgNCj4+PiBAQCAtMTc0LDcgKzE4MCwxMCBAQCBnU3RtWGRTdXBwb3J0ZWQg ICAgIERCICAgICAgMQ0KPj4+ICAgICBtb3YgICAgIGVieCwgY3IwDQo+Pj4gICAgIG9yICAgICAg ZWJ4LCAwODAwMTAwMjNoICAgICAgICAgICAgIDsgZW5hYmxlIHBhZ2luZyArIFdQICsgTkUgKyBN UCArIFBFDQo+Pj4gICAgIG1vdiAgICAgY3IwLCBlYngNCj4+PiAtICAgIGxlYSAgICAgZWJ4LCBb ZWRpICsgRFNDX09GRlNFVF0NCj4+PiArDQo+Pj4gKyAgICBtb3Z6eCAgIGVzaSwgd29yZCBwdHIg W2dTdG1Qc2RPZmZzZXRdICAgOyBsZWEgICAgIGVieCwgW2VkaSArIERTQ19PRkZTRVRdDQo+Pj4g KyAgICBsZWEgICAgIGVieCwgW2VkaSArIGVzaV0gICAgICAgICAgICAgICAgOw0KPj4+ICsNCj4+ PiAgICAgbW92ICAgICBheCwgW2VieCArIERTQ19EU10NCj4+PiAgICAgbW92ICAgICBkcywgZWF4 DQo+Pj4gICAgIG1vdiAgICAgYXgsIFtlYnggKyBEU0NfT1RIRVJTRUddDQo+Pj4gZGlmZiAtLWdp dCBhL1VlZmlDcHVQa2cvTGlicmFyeS9TbW1DcHVGZWF0dXJlc0xpYi9JYTMyL1NtaUVudHJ5Lm5h c20NCj4+PiBiL1VlZmlDcHVQa2cvTGlicmFyeS9TbW1DcHVGZWF0dXJlc0xpYi9JYTMyL1NtaUVu dHJ5Lm5hc20NCj4+PiBpbmRleCAwMGMwZjA2Ny4uMDIzOTIzYSAxMDA2NDQNCj4+PiAtLS0gYS9V ZWZpQ3B1UGtnL0xpYnJhcnkvU21tQ3B1RmVhdHVyZXNMaWIvSWEzMi9TbWlFbnRyeS5uYXNtDQo+ Pj4gKysrIGIvVWVmaUNwdVBrZy9MaWJyYXJ5L1NtbUNwdUZlYXR1cmVzTGliL0lhMzIvU21pRW50 cnkubmFzbQ0KPj4+IEBAIC0xLDUgKzEsNyBAQA0KPj4+IDstLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0g OyAgOw0KPj4+IENvcHlyaWdodCAoYykgMjAxNiAtIDIwMTcsIEludGVsIENvcnBvcmF0aW9uLiBB bGwgcmlnaHRzIHJlc2VydmVkLjxCUj4NCj4+PiArOyBDb3B5cmlnaHQgKGMpIDIwMTcsIEFNRCBJ bmNvcnBvcmF0ZWQuIEFsbCByaWdodHMgcmVzZXJ2ZWQuPEJSPiA7DQo+Pj4gOyBUaGlzIHByb2dy YW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzICA7IGFyZSBsaWNlbnNlZCBhbmQgbWFk ZQ0KPj4+IGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgYW5kIGNvbmRpdGlvbnMgb2YgdGhlIEJT RCBMaWNlbnNlICA7IHdoaWNoDQo+Pj4gYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24uICBU aGUgZnVsbCB0ZXh0IG9mIHRoZSBsaWNlbnNlIG1heSBiZSBmb3VuZCBhdA0KPj4+IEBAIC0yNSwx NyArMjcsMTggQEAgIDsgIDsgQ29uc3RhbnRzIHJlbGF0aW5nIHRvDQo+Pj4gVFhUX1BST0NFU1NP Ul9TTU1fREVTQ1JJUFRPUiAgOyAtJWRlZmluZSBEU0NfT0ZGU0VUIDB4ZmIwMCAtDQo+Pj4gJWRl ZmluZSBEU0NfR0RUUFRSIDB4NDggLSVkZWZpbmUgRFNDX0dEVFNJWiAweDUwIC0lZGVmaW5lIERT Q19DUw0KPj4+IDB4MTQgLSVkZWZpbmUgRFNDX0RTIDB4MTYgLSVkZWZpbmUgRFNDX1NTIDB4MTgg LSVkZWZpbmUgRFNDX09USEVSU0VHDQo+Pj4gMHgxYQ0KPj4+ICs7ICVkZWZpbmUgRFNDX09GRlNF VCAgIDB4ZmIwMA0KPj4+ICs7ICVkZWZpbmUgRFNDX0dEVFBUUiAgIDB4NDgNCj4+PiArOyAlZGVm aW5lIERTQ19HRFRTSVogICAweDUwDQo+Pj4gKzsNCj4+PiArJWRlZmluZSAgIERTQ19DUyAgICAg ICAweDE0DQo+Pj4gKyVkZWZpbmUgICBEU0NfRFMgICAgICAgMHgxNg0KPj4+ICslZGVmaW5lICAg RFNDX1NTICAgICAgIDB4MTgNCj4+PiArJWRlZmluZSAgIERTQ19PVEhFUlNFRyAweDFhDQo+Pj4N Cj4+PiAlZGVmaW5lIFBST1RFQ1RfTU9ERV9DUyAweDgNCj4+PiAlZGVmaW5lIFBST1RFQ1RfTU9E RV9EUyAweDIwDQo+Pj4gLSVkZWZpbmUgVFNTX1NFR01FTlQgMHg0MA0KPj4+ICslZGVmaW5lIFRT U19TRUdNRU5UICAgICAweDQwDQo+Pj4NCj4+PiBleHRlcm4gQVNNX1BGWChTbWlSZW5kZXp2b3Vz KQ0KPj4+IGV4dGVybiBBU01fUEZYKEZlYXR1cmVQY2RHZXQgKFBjZENwdVNtbVN0YWNrR3VhcmQp KSBAQCAtNTEsNg0KPj4+ICs1NCwxMCBAQCBnbG9iYWwgQVNNX1BGWChnU3RtU21iYXNlKSAgZ2xv YmFsDQo+Pj4gQVNNX1BGWChnU3RtWGRTdXBwb3J0ZWQpICBleHRlcm4gQVNNX1BGWChnU3RtU21p SGFuZGxlcklkdHIpDQo+Pj4NCj4+PiArZXh0ZXJuIEFTTV9QRlgoZ1N0bVBzZE9mZnNldCkNCj4+ PiArZ2xvYmFsIEFTTV9QRlgoZ1N0bUdkdFNpemUpDQo+Pj4gK2dsb2JhbCBBU01fUEZYKGdTdG1H ZHRQdHIpDQo+Pj4gKw0KPj4+IEFTTV9QRlgoZ1N0bVNtaUNyMykgICAgICBFUVUgU3RtU21pQ3Iz UGF0Y2ggLSA0DQo+Pj4gQVNNX1BGWChnU3RtU21pU3RhY2spICAgIEVRVSBTdG1TbWlTdGFja1Bh dGNoIC0gNA0KPj4+IEFTTV9QRlgoZ1N0bVNtYmFzZSkgICAgICBFUVUgU3RtU21iYXNlUGF0Y2gg LSA0DQo+Pj4gQEAgLTYyLDEwICs2OSwxOCBAQCBCSVRTIDE2DQo+Pj4gQVNNX1BGWChnY1N0bVNt aUhhbmRsZXJUZW1wbGF0ZSk6DQo+Pj4gX1N0bVNtaUVudHJ5UG9pbnQ6DQo+Pj4gICAgIG1vdiAg ICAgYngsIF9TdG1HZHREZXNjIC0gX1N0bVNtaUVudHJ5UG9pbnQgKyAweDgwMDANCj4+PiAtICAg IG1vdiAgICAgYXgsW2NzOkRTQ19PRkZTRVQgKyBEU0NfR0RUU0laXQ0KPj4+ICsNCj4+PiArICAg IG1vdiAgICAgZWF4LCBBU01fUEZYKGdTdG1HZHRTaXplKSAgICAgOyBtb3YgICAgIGF4LCBbY3M6 RFNDX09GRlNFVCArDQo+Pj4gRFNDX0dEVFNJWl0NCj4+PiArICAgIG1vdiAgICAgc2ksIFtjczpl YXhdICAgICAgICAgICAgICAgICAgOw0KPj4+ICsgICAgbW92ICAgICBheCwgW2NzOnNpXSAgICAg ICAgICAgICAgICAgICA7DQo+Pj4gKw0KPj4+ICAgICBkZWMgICAgIGF4DQo+Pj4gICAgIG1vdiAg ICAgW2NzOmJ4XSwgYXgNCj4+PiAtICAgIG1vdiAgICAgZWF4LCBbY3M6RFNDX09GRlNFVCArIERT Q19HRFRQVFJdDQo+Pj4gKw0KPj4+ICsgICAgbW92ICAgICBlYXgsIEFTTV9QRlgoZ1N0bUdkdFB0 cikgICAgICA7IG1vdiAgICAgZWF4LCBbY3M6RFNDX09GRlNFVCArDQo+Pj4gRFNDX0dEVFBUUl0N Cj4+PiArICAgIG1vdiAgICAgc2ksIFtjczplYXhdICAgICAgICAgICAgICAgICAgOw0KPj4+ICsg ICAgbW92ICAgICBlYXgsIFtjczpzaV0gICAgICAgICAgICAgICAgICA7DQo+Pj4gKw0KPj4+ICAg ICBtb3YgICAgIFtjczpieCArIDJdLCBlYXgNCj4+PiAgICAgbW92ICAgICBlYnAsIGVheCAgICAg ICAgICAgICAgICAgICAgICA7IGVicCA9IEdEVCBiYXNlDQo+Pj4gbzMyIGxnZHQgICAgW2NzOmJ4 XSAgICAgICAgICAgICAgICAgICAgICAgOyBsZ2R0IGZ3b3JkIHB0ciBjczpbYnhdDQo+Pj4gQEAg LTE2Niw3ICsxODEsMTAgQEAgU3RtWGRTdXBwb3J0ZWRQYXRjaDoNCj4+PiAgICAgbW92ICAgICBl YngsIGNyMA0KPj4+ICAgICBvciAgICAgIGVieCwgMHg4MDAxMDAyMyAgICAgICAgICAgICA7IGVu YWJsZSBwYWdpbmcgKyBXUCArIE5FICsgTVAgKyBQRQ0KPj4+ICAgICBtb3YgICAgIGNyMCwgZWJ4 DQo+Pj4gLSAgICBsZWEgICAgIGVieCwgW2VkaSArIERTQ19PRkZTRVRdDQo+Pj4gKw0KPj4+ICsg ICAgbW92enggICBlc2ksIHdvcmQgW0FTTV9QRlgoZ1N0bVBzZE9mZnNldCldICA7IGxlYSAgICAg ZWJ4LCBbZWRpICsNCj4+PiBEU0NfT0ZGU0VUXQ0KPj4+ICsgICAgbGVhICAgICBlYngsIFtlZGkg KyBlc2ldICAgICAgICAgICAgICAgICAgICA7DQo+Pj4gKw0KPj4+ICAgICBtb3YgICAgIGF4LCBb ZWJ4ICsgRFNDX0RTXQ0KPj4+ICAgICBtb3YgICAgIGRzLCBlYXgNCj4+PiAgICAgbW92ICAgICBh eCwgW2VieCArIERTQ19PVEhFUlNFR10NCj4+PiBAQCAtMjcxLDUgKzI4OSw4IEBAIF9TdG1TbWlI YW5kbGVyOg0KPj4+ICAgICA7IFNUTSBpbml0IGZpbmlzaA0KPj4+ICAgICBqbXAgICAgIENvbW1v bkhhbmRsZXINCj4+Pg0KPj4+ICtBU01fUEZYKGdTdG1HZHRTaXplKSAgICAgICAgICAgOiBSRVNX ICAgICAgMQ0KPj4+ICtBU01fUEZYKGdTdG1HZHRQdHIpICAgICAgICAgICAgOiBSRVNXICAgICAg MQ0KPj4+ICsNCj4+PiBBU01fUEZYKGdjU3RtU21pSGFuZGxlclNpemUpICAgOiBEVyAgICAgICAg JCAtIF9TdG1TbWlFbnRyeVBvaW50DQo+Pj4gQVNNX1BGWChnY1N0bVNtaUhhbmRsZXJPZmZzZXQp IDogRFcgICAgICAgIF9TdG1TbWlIYW5kbGVyIC0NCj4+PiBfU3RtU21pRW50cnlQb2ludA0KPj4+ IGRpZmYgLS1naXQgYS9VZWZpQ3B1UGtnL0xpYnJhcnkvU21tQ3B1RmVhdHVyZXNMaWIvU21tQ29t bW9uLmgNCj4+PiBiL1VlZmlDcHVQa2cvTGlicmFyeS9TbW1DcHVGZWF0dXJlc0xpYi9TbW1Db21t b24uaA0KPj4+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQo+Pj4gaW5kZXggMDAwMDAwMC4uNzhiM2E1 Yg0KPj4+IC0tLSAvZGV2L251bGwNCj4+PiArKysgYi9VZWZpQ3B1UGtnL0xpYnJhcnkvU21tQ3B1 RmVhdHVyZXNMaWIvU21tQ29tbW9uLmgNCj4+PiBAQCAtMCwwICsxLDQ4IEBADQo+Pj4gKy8qKiBA ZmlsZQ0KPj4+ICsgIENvbW1vbiBkZWNsYXJhdGlvbnMNCj4+PiArDQo+Pj4gKyAgQ29weXJpZ2h0 IChjKSAyMDE3LCBBTUQgSW5jb3Jwb3JhdGVkLiBBbGwgcmlnaHRzIHJlc2VydmVkLjxCUj4NCj4+ PiArDQo+Pj4gKyAgVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyAg YXJlIGxpY2Vuc2VkIGFuZCBtYWRlDQo+Pj4gKyBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIGFu ZCBjb25kaXRpb25zIG9mIHRoZSBCU0QgTGljZW5zZSAgd2hpY2gNCj4+PiArIGFjY29tcGFuaWVz IHRoaXMgZGlzdHJpYnV0aW9uLiAgVGhlIGZ1bGwgdGV4dCBvZiB0aGUgbGljZW5zZSBtYXkgYmUN Cj4+PiArIGZvdW5kIGF0ICBodHRwOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvYnNkLWxpY2Vu c2UucGhwLg0KPj4+ICsNCj4+PiArICBUSEUgUFJPR1JBTSBJUyBESVNUUklCVVRFRCBVTkRFUiBU SEUgQlNEIExJQ0VOU0UgT04gQU4gIkFTIElTIg0KPj4+IEJBU0lTLA0KPj4+ICsgV0lUSE9VVCBX QVJSQU5USUVTIE9SIFJFUFJFU0VOVEFUSU9OUyBPRiBBTlkgS0lORCwgRUlUSEVSDQo+Pj4gRVhQ UkVTUyBPUiBJTVBMSUVELg0KPj4+ICsNCj4+PiArKiovDQo+Pj4gKw0KPj4+ICsjaWZuZGVmIF9T TU1fQ09NTU9OX0hfDQo+Pj4gKyNkZWZpbmUgX1NNTV9DT01NT05fSF8NCj4+PiArDQo+Pj4gKyNp bmNsdWRlIDxSZWdpc3Rlci9BbWQvQ3B1aWQuaD4NCj4+PiArDQo+Pj4gKy8vDQo+Pj4gKy8vIERl ZmluaXRpb25zIGZvciBBTUQgc3lzdGVtcyBhcmUgYmFzZWQgb24gY29udGVudHMgb2YgdGhlIC8v IEFNRDY0DQo+Pj4gK0FyY2hpdGVjdHVyZSBQcm9ncmFtbWVyJ3MgTWFudWFsIC8vIFZvbHVtZSAy OiBTeXN0ZW0gUHJvZ3JhbW1pbmcsDQo+Pj4gK1NlY3Rpb24gMTAgU3lzdGVtLU1hbmFnZW1lbnQg TW9kZSAvLyAjZGVmaW5lDQo+Pj4gK0FNRF9TTVJBTV9TQVZFX1NUQVRFX01BUF9PRkZTRVQgMHhm ZTAwDQo+Pj4gKyNkZWZpbmUgICAgICAgQU1EX1NNTV9QU0RfT0ZGU0VUICAgICAgICAgMHhmYzAw DQo+Pj4gKw0KPj4+ICsvLw0KPj4+ICsvLyBFeHRlcm5hbCBnbG9iYWwgdmFyaWFibGVzIGZvciBT TVJBTSBvZmZzZXRzIC8vIGV4dGVybiBVSU5UMTYNCj4+PiArZ1NtcmFtU3RhdGVNYXBPZmZzZXQ7 IGV4dGVybiBVSU5UMTYgIGdTbW1Qc2RPZmZzZXQ7DQo+Pj4gKw0KPj4+ICsNCj4+PiArLyoqDQo+ Pj4gKyAgRGV0ZXJtaW5lIGlmIHRoZSBzdGFuZGFyZCBDUFUgc2lnbmF0dXJlIGlzICJBdXRoZW50 aWNBTUQiLg0KPj4+ICsNCj4+PiArICBAcmV0dmFsIFRSVUUgIFRoZSBDUFUgc2lnbmF0dXJlIG1h dGNoZXMuDQo+Pj4gKyAgQHJldHZhbCBGQUxTRSBUaGUgQ1BVIHNpZ25hdHVyZSBkb2VzIG5vdCBt YXRjaC4NCj4+PiArDQo+Pj4gKyoqLw0KPj4+ICtCT09MRUFODQo+Pj4gK1NtbVN0YW5kYXJkU2ln bmF0dXJlSXNBdXRoZW50aWNBTUQgKA0KPj4+ICsgIFZPSUQNCj4+PiArICApOw0KPj4+ICsNCj4+ PiArI2VuZGlmDQo+Pj4gZGlmZiAtLWdpdCBhL1VlZmlDcHVQa2cvTGlicmFyeS9TbW1DcHVGZWF0 dXJlc0xpYi9TbW1DcHVGZWF0dXJlc0xpYi5jDQo+Pj4gYi9VZWZpQ3B1UGtnL0xpYnJhcnkvU21t Q3B1RmVhdHVyZXNMaWIvU21tQ3B1RmVhdHVyZXNMaWIuYw0KPj4+IGluZGV4IDJkMmJjNmQuLjFj MTIwOTUgMTAwNjQ0DQo+Pj4gLS0tIGEvVWVmaUNwdVBrZy9MaWJyYXJ5L1NtbUNwdUZlYXR1cmVz TGliL1NtbUNwdUZlYXR1cmVzTGliLmMNCj4+PiArKysgYi9VZWZpQ3B1UGtnL0xpYnJhcnkvU21t Q3B1RmVhdHVyZXNMaWIvU21tQ3B1RmVhdHVyZXNMaWIuYw0KPj4+IEBAIC0xLDE0ICsxLDE2IEBA DQo+Pj4gLyoqIEBmaWxlDQo+Pj4gLVRoZSBDUFUgc3BlY2lmaWMgcHJvZ3JhbW1pbmcgZm9yIFBp U21tQ3B1RHhlU21tIG1vZHVsZS4NCj4+PiArICBUaGUgQ1BVIHNwZWNpZmljIHByb2dyYW1taW5n IGZvciBQaVNtbUNwdUR4ZVNtbSBtb2R1bGUuDQo+Pj4NCj4+PiAtQ29weXJpZ2h0IChjKSAyMDEw IC0gMjAxNiwgSW50ZWwgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuPEJSPiAtVGhp cw0KPj4+IHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIC1hcmUgbGljZW5z ZWQgYW5kIG1hZGUgYXZhaWxhYmxlDQo+Pj4gdW5kZXIgdGhlIHRlcm1zIGFuZCBjb25kaXRpb25z IG9mIHRoZSBCU0QgTGljZW5zZSAtd2hpY2ggYWNjb21wYW5pZXMgdGhpcw0KPj4+IGRpc3RyaWJ1 dGlvbi4gIFRoZSBmdWxsIHRleHQgb2YgdGhlIGxpY2Vuc2UgbWF5IGJlIGZvdW5kIGF0IC0NCj4+ PiBodHRwOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvYnNkLWxpY2Vuc2UucGhwDQo+Pj4gKyAg Q29weXJpZ2h0IChjKSAyMDEwIC0gMjAxNiwgSW50ZWwgQ29ycG9yYXRpb24uIEFsbCByaWdodHMN Cj4+PiArIHJlc2VydmVkLjxCUj4gIENvcHlyaWdodCAoYykgMjAxNywgQU1EIEluY29ycG9yYXRl ZC4gQWxsIHJpZ2h0cw0KPj4+ICsgcmVzZXJ2ZWQuPEJSPg0KPj4+DQo+Pj4gLVRIRSBQUk9HUkFN IElTIERJU1RSSUJVVEVEIFVOREVSIFRIRSBCU0QgTElDRU5TRSBPTiBBTiAiQVMgSVMiDQo+Pj4g QkFTSVMsIC1XSVRIT1VUIFdBUlJBTlRJRVMgT1IgUkVQUkVTRU5UQVRJT05TIE9GIEFOWSBLSU5E LCBFSVRIRVINCj4+PiBFWFBSRVNTIE9SIElNUExJRUQuDQo+Pj4gKyAgVGhpcyBwcm9ncmFtIGFu ZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyAgYXJlIGxpY2Vuc2VkIGFuZCBtYWRlDQo+Pj4g KyBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIGFuZCBjb25kaXRpb25zIG9mIHRoZSBCU0QgTGlj ZW5zZSAgd2hpY2gNCj4+PiArIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLiAgVGhlIGZ1 bGwgdGV4dCBvZiB0aGUgbGljZW5zZSBtYXkgYmUNCj4+PiArIGZvdW5kIGF0ICBodHRwOi8vb3Bl bnNvdXJjZS5vcmcvbGljZW5zZXMvYnNkLWxpY2Vuc2UucGhwDQo+Pj4gKw0KPj4+ICsgIFRIRSBQ Uk9HUkFNIElTIERJU1RSSUJVVEVEIFVOREVSIFRIRSBCU0QgTElDRU5TRSBPTiBBTiAiQVMgSVMi DQo+Pj4gQkFTSVMsDQo+Pj4gKyBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgUkVQUkVTRU5UQVRJT05T IE9GIEFOWSBLSU5ELCBFSVRIRVINCj4+PiBFWFBSRVNTIE9SIElNUExJRUQuDQo+Pj4NCj4+PiAq Ki8NCj4+Pg0KPj4+IEBAIC0yMiw2ICsyNCw4IEBAIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBSRVBS RVNFTlRBVElPTlMgT0YgQU5ZDQo+Pj4gS0lORCwgRUlUSEVSIEVYUFJFU1MgT1IgSU1QTElFRC4N Cj4+PiAjaW5jbHVkZSA8UmVnaXN0ZXIvQ3B1aWQuaD4NCj4+PiAjaW5jbHVkZSA8UmVnaXN0ZXIv U21yYW1TYXZlU3RhdGVNYXAuaD4NCj4+Pg0KPj4+ICsjaW5jbHVkZSAiU21tQ29tbW9uLmgiDQo+ Pj4gKw0KPj4+IC8vDQo+Pj4gLy8gTWFjaGluZSBTcGVjaWZpYyBSZWdpc3RlcnMgKE1TUnMpDQo+ Pj4gLy8NCj4+PiBAQCAtNDEsNiArNDUsNyBAQCBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgUkVQUkVT RU5UQVRJT05TIE9GIEFOWQ0KPj4+IEtJTkQsIEVJVEhFUiBFWFBSRVNTIE9SIElNUExJRUQuDQo+ Pj4gI2RlZmluZSBTTU1fRkVBVFVSRVNfTElCX0lBMzJfTUNBX0NBUCAgICAgICAgICAgICAgMHgx N0QNCj4+PiAjZGVmaW5lICAgU01NX0NPREVfQUNDRVNTX0NIS19CSVQgICAgICAgICAgICAgICAg ICBCSVQ1OA0KPj4+DQo+Pj4gKw0KPj4+IC8qKg0KPj4+ICAgSW50ZXJuYWwgd29ya2VyIGZ1bmN0 aW9uIHRoYXQgaXMgY2FsbGVkIHRvIGNvbXBsZXRlIENQVSBpbml0aWFsaXphdGlvbiBhdCB0aGUN Cj4+PiAgIGVuZCBvZiBTbW1DcHVGZWF0dXJlc0luaXRpYWxpemVQcm9jZXNzb3IoKS4NCj4+PiBA QCAtNzcsNiArODIsMTMgQEAgQk9PTEVBTiAgbU5lZWRDb25maWd1cmVNdHJycyA9IFRSVUU7ICAv Lw0KPj4+IEJPT0xFQU4gICptU21yckVuYWJsZWQ7DQo+Pj4NCj4+PiArLy8NCj4+PiArLy8gU2V0 IGRlZmF1bHQgdmFsdWUgZm9yIFNNUkFNIG9mZnNldA0KPj4+ICsvLyAgZnJvbSA8UmVnaXN0ZXIv U21yYW1TYXZlU3RhdGVNYXAuaD4gLy8NCj4+PiArVUlOVDE2ICBnU21yYW1TdGF0ZU1hcE9mZnNl dCA9IFNNUkFNX1NBVkVfU1RBVEVfTUFQX09GRlNFVDsNCj4+PiArDQo+Pj4gKw0KPj4+IC8qKg0K Pj4+ICAgVGhlIGNvbnN0cnVjdG9yIGZ1bmN0aW9uDQo+Pj4NCj4+PiBAQCAtOTksNiArMTExLDEz IEBAIFNtbUNwdUZlYXR1cmVzTGliQ29uc3RydWN0b3IgKA0KPj4+ICAgVUlOVE4gICBNb2RlbElk Ow0KPj4+DQo+Pj4gICAvLw0KPj4+ICsgIC8vIE92ZXJyaWRlIFNNUkFNIG9mZnNldCBmb3IgQU1E DQo+Pj4gKyAgLy8NCj4+PiArICBpZiAoU21tU3RhbmRhcmRTaWduYXR1cmVJc0F1dGhlbnRpY0FN RCAoKSkgew0KPj4+ICsgICAgZ1NtcmFtU3RhdGVNYXBPZmZzZXQgPSBBTURfU01SQU1fU0FWRV9T VEFURV9NQVBfT0ZGU0VUOyAgfQ0KPj4+ICsNCj4+PiArICAvLw0KPj4+ICAgLy8gUmV0cmlldmUg Q1BVIEZhbWlseSBhbmQgTW9kZWwNCj4+PiAgIC8vDQo+Pj4gICBBc21DcHVpZCAoQ1BVSURfVkVS U0lPTl9JTkZPLCAmUmVnRWF4LCBOVUxMLCBOVUxMLCAmUmVnRWR4KTsgQEAgLQ0KPj4+IDIyNCw3 ICsyNDMsNyBAQCBTbW1DcHVGZWF0dXJlc0luaXRpYWxpemVQcm9jZXNzb3IgKA0KPj4+ICAgLy8N Cj4+PiAgIC8vIENvbmZpZ3VyZSBTTUJBU0UuDQo+Pj4gICAvLw0KPj4+IC0gIENwdVN0YXRlID0g KFNNUkFNX1NBVkVfU1RBVEVfTUFQDQo+Pj4gKikoVUlOVE4pKFNNTV9ERUZBVUxUX1NNQkFTRSAr DQo+Pj4gU01SQU1fU0FWRV9TVEFURV9NQVBfT0ZGU0VUKTsNCj4+PiArICBDcHVTdGF0ZSA9IChT TVJBTV9TQVZFX1NUQVRFX01BUA0KPj4+ICopKFVJTlROKShTTU1fREVGQVVMVF9TTUJBU0UgKw0K Pj4+ICsgZ1NtcmFtU3RhdGVNYXBPZmZzZXQpOw0KPj4+ICAgQ3B1U3RhdGUtPng4Ni5TTUJBU0Ug PSAoVUlOVDMyKUNwdUhvdFBsdWdEYXRhLT5TbUJhc2VbQ3B1SW5kZXhdOw0KPj4+DQo+Pj4gICAv Lw0KPj4+IEBAIC02MzAsMyArNjQ5LDI1IEBAIFNtbUNwdUZlYXR1cmVzQWxsb2NhdGVQYWdlVGFi bGVNZW1vcnkgKA0KPj4+ICAgcmV0dXJuIE5VTEw7DQo+Pj4gfQ0KPj4+DQo+Pj4gKw0KPj4+ICsv KioNCj4+PiArICBEZXRlcm1pbmUgaWYgdGhlIHN0YW5kYXJkIENQVSBzaWduYXR1cmUgaXMgIkF1 dGhlbnRpY0FNRCIuDQo+Pj4gKw0KPj4+ICsgIEByZXR2YWwgVFJVRSAgVGhlIENQVSBzaWduYXR1 cmUgbWF0Y2hlcy4NCj4+PiArICBAcmV0dmFsIEZBTFNFIFRoZSBDUFUgc2lnbmF0dXJlIGRvZXMg bm90IG1hdGNoLg0KPj4+ICsNCj4+PiArKiovDQo+Pj4gK0JPT0xFQU4NCj4+PiArU21tU3RhbmRh cmRTaWduYXR1cmVJc0F1dGhlbnRpY0FNRCAoDQo+Pj4gKyAgVk9JRA0KPj4+ICsgICkNCj4+PiAr ew0KPj4+ICsgIFVJTlQzMiAgUmVnRWJ4Ow0KPj4+ICsgIFVJTlQzMiAgUmVnRWN4Ow0KPj4+ICsg IFVJTlQzMiAgUmVnRWR4Ow0KPj4+ICsNCj4+PiArICBBc21DcHVpZCAoQ1BVSURfU0lHTkFUVVJF LCBOVUxMLCAmUmVnRWJ4LCAmUmVnRWN4LCAmUmVnRWR4KTsNCj4+PiArICByZXR1cm4gKFJlZ0Vi eCA9PSBDUFVJRF9TSUdOQVRVUkVfQVVUSEVOVElDX0FNRF9FQlggJiYNCj4+PiArICAgICAgICAg IFJlZ0VjeCA9PSBDUFVJRF9TSUdOQVRVUkVfQVVUSEVOVElDX0FNRF9FQ1ggJiYNCj4+PiArICAg ICAgICAgIFJlZ0VkeCA9PSBDUFVJRF9TSUdOQVRVUkVfQVVUSEVOVElDX0FNRF9FRFgpOw0KPj4+ ICt9DQo+Pj4gZGlmZiAtLWdpdCBhL1VlZmlDcHVQa2cvTGlicmFyeS9TbW1DcHVGZWF0dXJlc0xp Yi9TbW1DcHVGZWF0dXJlc0xpYi5pbmYNCj4+PiBiL1VlZmlDcHVQa2cvTGlicmFyeS9TbW1DcHVG ZWF0dXJlc0xpYi9TbW1DcHVGZWF0dXJlc0xpYi5pbmYNCj4+PiBpbmRleCA3NzkwOGIwLi42YTM5 ZDRiIDEwMDY0NA0KPj4+IC0tLSBhL1VlZmlDcHVQa2cvTGlicmFyeS9TbW1DcHVGZWF0dXJlc0xp Yi9TbW1DcHVGZWF0dXJlc0xpYi5pbmYNCj4+PiArKysgYi9VZWZpQ3B1UGtnL0xpYnJhcnkvU21t Q3B1RmVhdHVyZXNMaWIvU21tQ3B1RmVhdHVyZXNMaWIuaW5mDQo+Pj4gQEAgLTIsNiArMiw4IEBA DQo+Pj4gIyAgVGhlIENQVSBzcGVjaWZpYyBwcm9ncmFtbWluZyBmb3IgUGlTbW1DcHVEeGVTbW0g bW9kdWxlLg0KPj4+ICMNCj4+PiAjICBDb3B5cmlnaHQgKGMpIDIwMDkgLSAyMDE2LCBJbnRlbCBD b3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC48QlI+DQo+Pj4gKyMgIENvcHlyaWdodCAo YykgMjAxNywgQU1EIEluY29ycG9yYXRlZC4gQWxsIHJpZ2h0cyByZXNlcnZlZC48QlI+ICMNCj4+ PiAjICBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzICAjICBhcmUg bGljZW5zZWQgYW5kIG1hZGUNCj4+PiBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIGFuZCBjb25k aXRpb25zIG9mIHRoZSBCU0QgTGljZW5zZSAgIyAgd2hpY2gNCj4+PiBhY2NvbXBhbmllcyB0aGlz IGRpc3RyaWJ1dGlvbi4gIFRoZSBmdWxsIHRleHQgb2YgdGhlIGxpY2Vuc2UgbWF5IGJlIGZvdW5k IGF0DQo+Pj4gQEAgLTI0LDYgKzI2LDcgQEANCj4+Pg0KPj4+IFtTb3VyY2VzXQ0KPj4+ICAgU21t Q3B1RmVhdHVyZXNMaWIuYw0KPj4+ICsgIFNtbUNvbW1vbi5oDQo+Pj4gICBTbW1DcHVGZWF0dXJl c0xpYk5vU3RtLmMNCj4+Pg0KPj4+IFtQYWNrYWdlc10NCj4+PiBkaWZmIC0tZ2l0DQo+Pj4gYS9V ZWZpQ3B1UGtnL0xpYnJhcnkvU21tQ3B1RmVhdHVyZXNMaWIvU21tQ3B1RmVhdHVyZXNMaWJTdG0u aW5mDQo+Pj4gYi9VZWZpQ3B1UGtnL0xpYnJhcnkvU21tQ3B1RmVhdHVyZXNMaWIvU21tQ3B1RmVh dHVyZXNMaWJTdG0uaW5mDQo+Pj4gaW5kZXggZGI4ZGNkYy4uYTc2YmVkNiAxMDA2NDQNCj4+PiAt LS0gYS9VZWZpQ3B1UGtnL0xpYnJhcnkvU21tQ3B1RmVhdHVyZXNMaWIvU21tQ3B1RmVhdHVyZXNM aWJTdG0uaW5mDQo+Pj4gKysrIGIvVWVmaUNwdVBrZy9MaWJyYXJ5L1NtbUNwdUZlYXR1cmVzTGli L1NtbUNwdUZlYXR1cmVzTGliU3RtLmluZg0KPj4+IEBAIC0zLDYgKzMsOCBAQA0KPj4+ICMgIGlz IGluY2x1ZGVkLg0KPj4+ICMNCj4+PiAjICBDb3B5cmlnaHQgKGMpIDIwMDkgLSAyMDE2LCBJbnRl bCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC48QlI+DQo+Pj4gKyMgIENvcHlyaWdo dCAoYykgMjAxNywgQU1EIEluY29ycG9yYXRlZC4gQWxsIHJpZ2h0cyByZXNlcnZlZC48QlI+ICMN Cj4+PiAjICBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzICAjICBh cmUgbGljZW5zZWQgYW5kIG1hZGUNCj4+PiBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIGFuZCBj b25kaXRpb25zIG9mIHRoZSBCU0QgTGljZW5zZSAgIyAgd2hpY2gNCj4+PiBhY2NvbXBhbmllcyB0 aGlzIGRpc3RyaWJ1dGlvbi4gIFRoZSBmdWxsIHRleHQgb2YgdGhlIGxpY2Vuc2UgbWF5IGJlIGZv dW5kIGF0DQo+Pj4gQEAgLTI1LDYgKzI3LDcgQEANCj4+Pg0KPj4+IFtTb3VyY2VzXQ0KPj4+ICAg U21tQ3B1RmVhdHVyZXNMaWIuYw0KPj4+ICsgIFNtbUNvbW1vbi5oDQo+Pj4gICBTbW1TdG0uYw0K Pj4+ICAgU21tU3RtLmgNCj4+Pg0KPj4+IGRpZmYgLS1naXQgYS9VZWZpQ3B1UGtnL0xpYnJhcnkv U21tQ3B1RmVhdHVyZXNMaWIvU21tU3RtLmMNCj4+PiBiL1VlZmlDcHVQa2cvTGlicmFyeS9TbW1D cHVGZWF0dXJlc0xpYi9TbW1TdG0uYw0KPj4+IGluZGV4IDQ1MDE1YjguLjVmN2MzZGIgMTAwNjQ0 DQo+Pj4gLS0tIGEvVWVmaUNwdVBrZy9MaWJyYXJ5L1NtbUNwdUZlYXR1cmVzTGliL1NtbVN0bS5j DQo+Pj4gKysrIGIvVWVmaUNwdVBrZy9MaWJyYXJ5L1NtbUNwdUZlYXR1cmVzTGliL1NtbVN0bS5j DQo+Pj4gQEAgLTIsNiArMiw4IEBADQo+Pj4gICBTTU0gU1RNIHN1cHBvcnQgZnVuY3Rpb25zDQo+ Pj4NCj4+PiAgIENvcHlyaWdodCAoYykgMjAxNSAtIDIwMTcsIEludGVsIENvcnBvcmF0aW9uLiBB bGwgcmlnaHRzIHJlc2VydmVkLjxCUj4NCj4+PiArICBDb3B5cmlnaHQgKGMpIDIwMTcsIEFNRCBJ bmNvcnBvcmF0ZWQuIEFsbCByaWdodHMgcmVzZXJ2ZWQuPEJSPg0KPj4+ICsNCj4+PiAgIFRoaXMg cHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCj4+PiAgIGFyZSBsaWNlbnNl ZCBhbmQgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIGFuZCBjb25kaXRpb25zIG9mIHRo ZSBCU0QNCj4+PiBMaWNlbnNlDQo+Pj4gICB3aGljaCBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1 dGlvbi4gIFRoZSBmdWxsIHRleHQgb2YgdGhlIGxpY2Vuc2UgbWF5IGJlDQo+Pj4gZm91bmQgYXQg QEAgLTI4LDYgKzMwLDggQEAgICNpbmNsdWRlIDxQcm90b2NvbC9NcFNlcnZpY2UuaD4NCj4+Pg0K Pj4+ICNpbmNsdWRlICJTbW1TdG0uaCINCj4+PiArI2luY2x1ZGUgIlNtbUNvbW1vbi5oIg0KPj4+ ICsNCj4+Pg0KPj4+ICNkZWZpbmUgVFhUX0VWVFlQRV9CQVNFICAgICAgICAgICAgICAgICAgMHg0 MDANCj4+PiAjZGVmaW5lIFRYVF9FVlRZUEVfU1RNX0hBU0ggICAgICAgICAgICAgIChUWFRfRVZU WVBFX0JBU0UgKyAxNCkNCj4+PiBAQCAtOTcsNiArMTAxLDIwIEBAIGV4dGVybiB2b2xhdGlsZSBV SU5UOA0KPj4+IGdjU3RtU21pSGFuZGxlclRlbXBsYXRlW107DQo+Pj4gZXh0ZXJuIENPTlNUIFVJ TlQxNiAgICAgICAgICAgICAgICAgICAgICAgIGdjU3RtU21pSGFuZGxlclNpemU7DQo+Pj4gZXh0 ZXJuIFVJTlQxNiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdjU3RtU21pSGFuZGxlck9m ZnNldDsNCj4+PiBleHRlcm4gQk9PTEVBTiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ1N0 bVhkU3VwcG9ydGVkOw0KPj4+ICtleHRlcm4gVUlOVDE2ICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgZ1N0bUdkdFNpemU7DQo+Pj4gK2V4dGVybiBVSU5UMTYgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBnU3RtR2R0UHRyOw0KPj4+ICsNCj4+PiArLy8NCj4+PiArLy8gQ29uc3RhbnRz IHJlbGF0aW5nIHRvIFRYVF9QUk9DRVNTT1JfU01NX0RFU0NSSVBUT1IgLy8NCj4+PiArI2RlZmlu ZSBUWFRfUFNEX0dEVFBUUiAgIDB4NDgNCj4+PiArI2RlZmluZSBUWFRfUFNEX0dEVFNJWkUgIDB4 NTANCj4+PiArDQo+Pj4gKy8vDQo+Pj4gKy8vIFNldCBkZWZhdWx0IHZhbHVlIGZvciBQU0Qgb2Zm c2V0IGluIFNNUkFNIC8vICBmcm9tDQo+Pj4gKzxSZWdpc3Rlci9TdG1BcGkuaD4gLy8NCj4+PiAr VUlOVDE2ICBnU3RtUHNkT2Zmc2V0ID0gVFhUX1NNTV9QU0RfT0ZGU0VUOw0KPj4+DQo+Pj4gLy8N Cj4+PiAvLyBWYXJpYWJsZXMgdXNlZCBieSBTTUkgSGFuZGxlcg0KPj4+IEBAIC0xNDUsNiArMTYz LDE5IEBAIFNtbUNwdUZlYXR1cmVzTGliU3RtQ29uc3RydWN0b3IgKA0KPj4+ICAgQVNTRVJUX0VG SV9FUlJPUiAoU3RhdHVzKTsNCj4+Pg0KPj4+ICAgLy8NCj4+PiArICAvLyBPdmVycmlkZSBQU0Qg b2Zmc2V0IGZvciBBTUQNCj4+PiArICAvLw0KPj4+ICsgIGlmIChTbW1TdGFuZGFyZFNpZ25hdHVy ZUlzQXV0aGVudGljQU1EICgpKSB7DQo+Pj4gKyAgICBnU3RtUHNkT2Zmc2V0ID0gQU1EX1NNTV9Q U0RfT0ZGU0VUOyAgfQ0KPj4+ICsNCj4+PiArICAvLw0KPj4+ICsgIC8vIEluaXRpYWxpemUgU1RN IGdsb2JhbCB2YXJpYWJsZXMgYXNzb2NpYXRlZCB3aXRoIFNNSSBIYW5kbGVyICAvLw0KPj4+ICsg Z1N0bUdkdFNpemUgPSBnU3RtUHNkT2Zmc2V0ICsgVFhUX1BTRF9HRFRTSVpFOyAgZ1N0bUdkdFB0 ciAgPQ0KPj4+ICsgZ1N0bVBzZE9mZnNldCArIFRYVF9QU0RfR0RUUFRSOw0KPj4+ICsNCj4+PiAr ICAvLw0KPj4+ICAgLy8gTG9va3VwIHRoZSBNUCBTZXJ2aWNlcyBQcm90b2NvbA0KPj4+ICAgLy8N Cj4+PiAgIFN0YXR1cyA9IGdCUy0+TG9jYXRlUHJvdG9jb2wgKA0KPj4+IEBAIC0yNzYsOCArMzA3 LDggQEAgU21tQ3B1RmVhdHVyZXNJbnN0YWxsU21pSGFuZGxlciAoDQo+Pj4gICBVSU5UMzIgICAg ICAgICAgICAgICAgICAgICAgICAgUmVnRWR4Ow0KPj4+ICAgRUZJX1BST0NFU1NPUl9JTkZPUk1B VElPTiAgICAgIFByb2Nlc3NvckluZm87DQo+Pj4NCj4+PiAtICBDb3B5TWVtICgoVk9JRCAqKSgo VUlOVE4pU21CYXNlICsgVFhUX1NNTV9QU0RfT0ZGU0VUKSwNCj4+PiAmZ2NTdG1Qc2QsIHNpemVv ZiAoZ2NTdG1Qc2QpKTsNCj4+PiAtICBQc2QgPSAoVFhUX1BST0NFU1NPUl9TTU1fREVTQ1JJUFRP UiAqKShWT0lEICopKChVSU5UTilTbUJhc2UgKw0KPj4+IFRYVF9TTU1fUFNEX09GRlNFVCk7DQo+ Pj4gKyAgQ29weU1lbSAoKFZPSUQgKikoKFVJTlROKVNtQmFzZSArIGdTdG1Qc2RPZmZzZXQpLCAm Z2NTdG1Qc2QsDQo+Pj4gc2l6ZW9mDQo+Pj4gKyAoZ2NTdG1Qc2QpKTsgIFBzZCA9IChUWFRfUFJP Q0VTU09SX1NNTV9ERVNDUklQVE9SICopKFZPSUQNCj4+PiArICopKChVSU5UTilTbUJhc2UgKyBn U3RtUHNkT2Zmc2V0KTsNCj4+PiAgIFBzZC0+U21tR2R0UHRyID0gR2R0QmFzZTsNCj4+PiAgIFBz ZC0+U21tR2R0U2l6ZSA9IChVSU5UMzIpR2R0U2l6ZTsNCj4+Pg0KPj4+IEBAIC00MTYsNyArNDQ3 LDcgQEAgU21tRW5kT2ZEeGVFdmVudE5vdGlmeSAoDQo+Pj4gICB9DQo+Pj4NCj4+PiAgIGZvciAo SW5kZXggPSAwOyBJbmRleCA8IGdTbXN0LT5OdW1iZXJPZkNwdXM7IEluZGV4KyspIHsNCj4+PiAt ICAgIFBzZCA9IChUWFRfUFJPQ0VTU09SX1NNTV9ERVNDUklQVE9SICopKChVSU5UTilnU21zdC0N Cj4+Pj4gQ3B1U2F2ZVN0YXRlW0luZGV4XSAtIFNNUkFNX1NBVkVfU1RBVEVfTUFQX09GRlNFVCAr DQo+Pj4gVFhUX1NNTV9QU0RfT0ZGU0VUKTsNCj4+PiArICAgIFBzZCA9IChUWFRfUFJPQ0VTU09S X1NNTV9ERVNDUklQVE9SDQo+Pj4gKyAqKSgoVUlOVE4pZ1Ntc3QtPkNwdVNhdmVTdGF0ZVtJbmRl eF0gLSBnU21yYW1TdGF0ZU1hcE9mZnNldCArDQo+Pj4gKyBnU3RtUHNkT2Zmc2V0KTsNCj4+PiAg ICAgREVCVUcgKChERUJVR19JTkZPLCAiSW5kZXg9JWQgIFBzZD0lcCAgUnNkcD0lcFxuIiwgSW5k ZXgsIFBzZCwNCj4+PiBSc2RwKSk7DQo+Pj4gICAgIFBzZC0+QWNwaVJzZHAgPSAoVUlOVDY0KShV SU5UTilSc2RwOw0KPj4+ICAgfQ0KPj4+IEBAIC0xMjY2LDcgKzEyOTcsNyBAQCBOb3RpZnlTdG1S ZXNvdXJjZUNoYW5nZSAoDQo+Pj4gICBUWFRfUFJPQ0VTU09SX1NNTV9ERVNDUklQVE9SICAqUHNk Ow0KPj4+DQo+Pj4gICBmb3IgKEluZGV4ID0gMDsgSW5kZXggPCBnU21zdC0+TnVtYmVyT2ZDcHVz OyBJbmRleCsrKSB7DQo+Pj4gLSAgICBQc2QgPSAoVFhUX1BST0NFU1NPUl9TTU1fREVTQ1JJUFRP UiAqKSgoVUlOVE4pZ1Ntc3QtDQo+Pj4+IENwdVNhdmVTdGF0ZVtJbmRleF0gLSBTTVJBTV9TQVZF X1NUQVRFX01BUF9PRkZTRVQgKw0KPj4+IFRYVF9TTU1fUFNEX09GRlNFVCk7DQo+Pj4gKyAgICBQ c2QgPSAoVFhUX1BST0NFU1NPUl9TTU1fREVTQ1JJUFRPUg0KPj4+ICsgKikoKFVJTlROKWdTbXN0 LT5DcHVTYXZlU3RhdGVbSW5kZXhdIC0gZ1NtcmFtU3RhdGVNYXBPZmZzZXQgKw0KPj4+ICsgZ1N0 bVBzZE9mZnNldCk7DQo+Pj4gICAgIFBzZC0+Qmlvc0h3UmVzb3VyY2VSZXF1aXJlbWVudHNQdHIg PSAoVUlOVDY0KShVSU5UTilTdG1SZXNvdXJjZTsNCj4+PiAgIH0NCj4+PiAgIHJldHVybiA7DQo+ Pj4gZGlmZiAtLWdpdCBhL1VlZmlDcHVQa2cvTGlicmFyeS9TbW1DcHVGZWF0dXJlc0xpYi9YNjQv U21pRW50cnkuUw0KPj4+IGIvVWVmaUNwdVBrZy9MaWJyYXJ5L1NtbUNwdUZlYXR1cmVzTGliL1g2 NC9TbWlFbnRyeS5TDQo+Pj4gaW5kZXggMWY5ZjkxYy4uNWYzMzg2YSAxMDA2NDQNCj4+PiAtLS0g YS9VZWZpQ3B1UGtnL0xpYnJhcnkvU21tQ3B1RmVhdHVyZXNMaWIvWDY0L1NtaUVudHJ5LlMNCj4+ PiArKysgYi9VZWZpQ3B1UGtnL0xpYnJhcnkvU21tQ3B1RmVhdHVyZXNMaWIvWDY0L1NtaUVudHJ5 LlMNCj4+PiBAQCAtMSw2ICsxLDggQEANCj4+PiAjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQo+Pj4g Iw0KPj4+ICMgQ29weXJpZ2h0IChjKSAyMDA5IC0gMjAxNiwgSW50ZWwgQ29ycG9yYXRpb24uIEFs bCByaWdodHMgcmVzZXJ2ZWQuPEJSPg0KPj4+ICsjIENvcHlyaWdodCAoYykgMjAxNywgQU1EIElu Y29ycG9yYXRlZC4gQWxsIHJpZ2h0cyByZXNlcnZlZC48QlI+ICMNCj4+PiAjIFRoaXMgcHJvZ3Jh bSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgICMgYXJlIGxpY2Vuc2VkIGFuZCBtYWRl DQo+Pj4gYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBhbmQgY29uZGl0aW9ucyBvZiB0aGUgQlNE IExpY2Vuc2UgICMgd2hpY2gNCj4+PiBhY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbi4gIFRo ZSBmdWxsIHRleHQgb2YgdGhlIGxpY2Vuc2UgbWF5IGJlIGZvdW5kIGF0DQo+Pj4gQEAgLTI3LDYg KzI5LDkgQEAgQVNNX0dMT0JBTCAgQVNNX1BGWChnU3RtU21pU3RhY2spICBBU01fR0xPQkFMDQo+ Pj4gQVNNX1BGWChnU3RtU21iYXNlKSAgQVNNX0dMT0JBTCAgQVNNX1BGWChnU3RtWGRTdXBwb3J0 ZWQpDQo+Pj4gQVNNX0dMT0JBTCAgQVNNX1BGWChnU3RtU21pSGFuZGxlcklkdHIpDQo+Pj4gK0FT TV9HTE9CQUwgIEFTTV9QRlgoZ1N0bVBzZE9mZnNldCkNCj4+PiArQVNNX0dMT0JBTCAgQVNNX1BG WChnU3RtR2R0U2l6ZSkNCj4+PiArQVNNX0dMT0JBTCAgQVNNX1BGWChnU3RtR2R0UHRyKQ0KPj4+ DQo+Pj4gLmVxdSAgICAgICAgICAgIE1TUl9JQTMyX01JU0NfRU5BQkxFLCAweDFBMA0KPj4+IC5l cXUgICAgICAgICAgICBNU1JfRUZFUiwgMHhjMDAwMDA4MA0KPj4+IEBAIC0zNSwxMiArNDAsMTMg QEAgQVNNX0dMT0JBTCAgQVNNX1BGWChnU3RtU21pSGFuZGxlcklkdHIpICAjICAjDQo+Pj4gQ29u c3RhbnRzIHJlbGF0aW5nIHRvIFRYVF9QUk9DRVNTT1JfU01NX0RFU0NSSVBUT1IgICMNCj4+PiAt LmVxdSAgICAgICAgICAgIERTQ19PRkZTRVQsIDB4ZmIwMA0KPj4+IC0uZXF1ICAgICAgICAgICAg RFNDX0dEVFBUUiwgMHg0OA0KPj4+IC0uZXF1ICAgICAgICAgICAgRFNDX0dEVFNJWiwgMHg1MA0K Pj4+IC0uZXF1ICAgICAgICAgICAgRFNDX0NTLCAweDE0DQo+Pj4gLS5lcXUgICAgICAgICAgICBE U0NfRFMsIDB4MTYNCj4+PiAtLmVxdSAgICAgICAgICAgIERTQ19TUywgMHgxOA0KPj4+ICsjIC5l cXUgICAgICAgICAgRFNDX09GRlNFVCwgICAweGZiMDANCj4+PiArIyAuZXF1ICAgICAgICAgIERT Q19HRFRQVFIsICAgMHg0OA0KPj4+ICsjIC5lcXUgICAgICAgICAgRFNDX0dEVFNJWiwgICAweDUw DQo+Pj4gKyMNCj4+PiArLmVxdSAgICAgICAgICAgIERTQ19DUywgICAgICAgMHgxNA0KPj4+ICsu ZXF1ICAgICAgICAgICAgRFNDX0RTLCAgICAgICAweDE2DQo+Pj4gKy5lcXUgICAgICAgICAgICBE U0NfU1MsICAgICAgIDB4MTgNCj4+PiAuZXF1ICAgICAgICAgICAgRFNDX09USEVSU0VHLCAweDFh DQo+Pj4gIw0KPj4+ICMgQ29uc3RhbnRzIHJlbGF0aW5nIHRvIENQVSBTdGF0ZSBTYXZlIEFyZWEg QEAgLTcxLDEyICs3NywxMiBAQA0KPj4+IF9TdG1TbWlFbnRyeVBvaW50Og0KPj4+ICAgICAjIGZp eCBHRFQgZGVzY3JpcHRvcg0KPj4+ICAgICAjDQo+Pj4gICAgIC5ieXRlIDB4MmUsMHhhMSAgICAg ICAgICAgICAgICAgICAgICMgbW92IGF4LCBjczpbb2Zmc2V0MTZdDQo+Pj4gLSAgICAud29yZCAg ICAgIERTQ19PRkZTRVQgKyBEU0NfR0RUU0laDQo+Pj4gK0FTTV9QRlgoZ1N0bUdkdFNpemUpOiAu c3BhY2UgMiAgICAgICAgICAjIC53b3JkIERTQ19PRkZTRVQgKyBEU0NfR0RUU0laDQo+Pj4gICAg IC5ieXRlIDB4NDggICAgICAgICAgICAgICAgICAgICAgICAgICMgZGVjIGF4DQo+Pj4gICAgIC5i eXRlIDB4MmUNCj4+PiAgICAgbW92bCAgICAlZWF4LCAoJXJkaSkgICAgICAgICAgICAgICAgIyBt b3YgY3M6W2J4XSwgYXgNCj4+PiAgICAgLmJ5dGUgMHg2NiwweDJlLDB4YTEgICAgICAgICAgICAg ICAgIyBtb3YgZWF4LCBjczpbb2Zmc2V0MTZdDQo+Pj4gLSAgICAud29yZCAgICAgIERTQ19PRkZT RVQgKyBEU0NfR0RUUFRSDQo+Pj4gK0FTTV9QRlgoZ1N0bUdkdFB0cik6IC5zcGFjZSAyICAgICAg ICAgICAjIC53b3JkIERTQ19PRkZTRVQgKyBEU0NfR0RUUFRSDQo+Pj4gICAgIC5ieXRlIDB4MmUN Cj4+PiAgICAgbW92dyAgICAlYXgsIDIoJXJkaSkNCj4+PiAgICAgLmJ5dGUgMHg2NiwweDJlDQo+ Pj4gQEAgLTE4Myw3ICsxODksMTEgQEAgQmFzZToNCj4+PiBMb25nTW9kZTogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIyBsb25nIG1vZGUgKDY0LWJpdCBjb2RlKSBzdGFydHMgaGVyZQ0K Pj4+ICAgICBtb3ZhYnNxICRBU01fUEZYKGdTdG1TbWlIYW5kbGVySWR0ciksICVyYXgNCj4+PiAg ICAgbGlkdCAgICAoJXJheCkNCj4+PiAtICAgIGxlYSAgICAgKERTQ19PRkZTRVQpKCVyZGkpLCAl ZWJ4DQo+Pj4gKw0KPj4+ICsgICAgbW92bCAgICAkQVNNX1BGWChnU3RtUHNkT2Zmc2V0KSwgJWVi eCAgIyBsZWEgICAgIChEU0NfT0ZGU0VUKSglcmRpKSwNCj4+PiAlZWJ4DQo+Pj4gKyAgICBtb3Z6 eHcgICglZWJ4KSwgJXJzaQ0KPj4+ICsgICAgbGVhbCAgICAoJXJkaSwgJXJzaSksICVlYngNCj4+ PiArDQo+Pj4gICAgIG1vdncgICAgRFNDX0RTKCVyYngpLCAlYXgNCj4+PiAgICAgbW92bCAgICAl ZWF4LCVkcw0KPj4+ICAgICBtb3Z3ICAgIERTQ19PVEhFUlNFRyglcmJ4KSwgJWF4DQo+Pj4gZGlm ZiAtLWdpdCBhL1VlZmlDcHVQa2cvTGlicmFyeS9TbW1DcHVGZWF0dXJlc0xpYi9YNjQvU21pRW50 cnkuYXNtDQo+Pj4gYi9VZWZpQ3B1UGtnL0xpYnJhcnkvU21tQ3B1RmVhdHVyZXNMaWIvWDY0L1Nt aUVudHJ5LmFzbQ0KPj4+IGluZGV4IGFkNTFlMDcuLjEwOTEzZGYgMTAwNjQ0DQo+Pj4gLS0tIGEv VWVmaUNwdVBrZy9MaWJyYXJ5L1NtbUNwdUZlYXR1cmVzTGliL1g2NC9TbWlFbnRyeS5hc20NCj4+ PiArKysgYi9VZWZpQ3B1UGtnL0xpYnJhcnkvU21tQ3B1RmVhdHVyZXNMaWIvWDY0L1NtaUVudHJ5 LmFzbQ0KPj4+IEBAIC0xLDUgKzEsNyBAQA0KPj4+IDstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gOyAg Ow0KPj4+IENvcHlyaWdodCAoYykgMjAwOSAtIDIwMTYsIEludGVsIENvcnBvcmF0aW9uLiBBbGwg cmlnaHRzIHJlc2VydmVkLjxCUj4NCj4+PiArOyBDb3B5cmlnaHQgKGMpIDIwMTcsIEFNRCBJbmNv cnBvcmF0ZWQuIEFsbCByaWdodHMgcmVzZXJ2ZWQuPEJSPiA7DQo+Pj4gOyBUaGlzIHByb2dyYW0g YW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzICA7IGFyZSBsaWNlbnNlZCBhbmQgbWFkZQ0K Pj4+IGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgYW5kIGNvbmRpdGlvbnMgb2YgdGhlIEJTRCBM aWNlbnNlICA7IHdoaWNoDQo+Pj4gYWNjb21wYW5pZXMgdGhpcyBkaXN0cmlidXRpb24uICBUaGUg ZnVsbCB0ZXh0IG9mIHRoZSBsaWNlbnNlIG1heSBiZSBmb3VuZCBhdA0KPj4+IEBAIC0zMiw2ICsz NCwxMCBAQCBFWFRFUk5ERUYgICBnU3RtU21pU3RhY2s6RFdPUkQNCj4+PiBFWFRFUk5ERUYgICBn U3RtU21iYXNlOkRXT1JEDQo+Pj4gRVhURVJOREVGICAgZ1N0bVhkU3VwcG9ydGVkOkJZVEUNCj4+ PiBFWFRFUk5ERUYgICBnU3RtU21pSGFuZGxlcklkdHI6RldPUkQNCj4+PiArRVhURVJOREVGICAg Z1N0bVBzZE9mZnNldDpXT1JEDQo+Pj4gK0VYVEVSTkRFRiAgIGdTdG1HZHRTaXplOldPUkQNCj4+ PiArRVhURVJOREVGICAgZ1N0bUdkdFB0cjpXT1JEDQo+Pj4gKw0KPj4+DQo+Pj4gTVNSX0lBMzJf TUlTQ19FTkFCTEUgIEVRVSAgICAgMUEwaA0KPj4+IE1TUl9FRkVSICAgICAgRVFVICAgICAwYzAw MDAwODBoDQo+Pj4gQEAgLTQwLDEzICs0NiwxNCBAQCBNU1JfRUZFUl9YRCAgIEVRVSAgICAgMDgw MGgNCj4+PiA7DQo+Pj4gOyBDb25zdGFudHMgcmVsYXRpbmcgdG8gVFhUX1BST0NFU1NPUl9TTU1f REVTQ1JJUFRPUiAgOw0KPj4+IC1EU0NfT0ZGU0VUICAgIEVRVSAgICAgMGZiMDBoDQo+Pj4gLURT Q19HRFRQVFIgICAgRVFVICAgICA0OGgNCj4+PiAtRFNDX0dEVFNJWiAgICBFUVUgICAgIDUwaA0K Pj4+IC1EU0NfQ1MgICAgICAgIEVRVSAgICAgMTRoDQo+Pj4gLURTQ19EUyAgICAgICAgRVFVICAg ICAxNmgNCj4+PiAtRFNDX1NTICAgICAgICBFUVUgICAgIDE4aA0KPj4+IC1EU0NfT1RIRVJTRUcg IEVRVSAgICAgMWFoDQo+Pj4gKzsgRFNDX09GRlNFVCBFUVUgICAgIDBmYjAwaA0KPj4+ICs7IERT Q19HRFRQVFIgRVFVICAgICA0OGgNCj4+PiArOyBEU0NfR0RUU0laIEVRVSAgICAgNTBoDQo+Pj4g KzsNCj4+PiArRFNDX0NTICAgICAgIEVRVSAgICAgMTRoDQo+Pj4gK0RTQ19EUyAgICAgICBFUVUg ICAgIDE2aA0KPj4+ICtEU0NfU1MgICAgICAgRVFVICAgICAxOGgNCj4+PiArRFNDX09USEVSU0VH IEVRVSAgICAgMWFoDQo+Pj4gOw0KPj4+IDsgQ29uc3RhbnRzIHJlbGF0aW5nIHRvIENQVSBTdGF0 ZSBTYXZlIEFyZWEgIDsgQEAgLTc0LDEyICs4MSwxMiBAQA0KPj4+IF9TdG1TbWlFbnRyeVBvaW50 Og0KPj4+ICAgICBEVyAgICAgIG9mZnNldCBfU3RtR2R0RGVzYyAtIF9TdG1TbWlFbnRyeVBvaW50 ICsgODAwMGggIDsgYnggPSBHZHREZXNjDQo+Pj4gb2Zmc2V0DQo+Pj4gOyBmaXggR0RUIGRlc2Ny aXB0b3INCj4+PiAgICAgREIgICAgICAyZWgsIDBhMWggICAgICAgICAgICAgICAgICAgOyBtb3Yg YXgsIGNzOltvZmZzZXQxNl0NCj4+PiAtICAgIERXICAgICAgRFNDX09GRlNFVCArIERTQ19HRFRT SVoNCj4+PiArZ1N0bUdkdFNpemUgICBEVyAgICA/ICAgICAgICAgICAgICAgICAgIDsgRFNDX09G RlNFVCArIERTQ19HRFRTSVoNCj4+PiAgICAgREIgICAgICA0OGggICAgICAgICAgICAgICAgICAg ICAgICAgOyBkZWMgYXgNCj4+PiAgICAgREIgICAgICAyZWgNCj4+PiAgICAgbW92ICAgICBbcmRp XSwgZWF4ICAgICAgICAgICAgICAgICAgOyBtb3YgY3M6W2J4XSwgYXgNCj4+PiAgICAgREIgICAg ICA2NmgsIDJlaCwgMGExaCAgICAgICAgICAgICAgOyBtb3YgZWF4LCBjczpbb2Zmc2V0MTZdDQo+ Pj4gLSAgICBEVyAgICAgIERTQ19PRkZTRVQgKyBEU0NfR0RUUFRSDQo+Pj4gK2dTdG1HZHRQdHIg ICAgRFcgICAgPyAgICAgICAgICAgICAgICAgICA7IERTQ19PRkZTRVQgKyBEU0NfR0RUUFRSDQo+ Pj4gICAgIERCICAgICAgMmVoDQo+Pj4gICAgIG1vdiAgICAgW3JkaSArIDJdLCBheCAgICAgICAg ICAgICAgIDsgbW92IGNzOltieCArIDJdLCBlYXgNCj4+PiAgICAgREIgICAgICA2NmgsIDJlaA0K Pj4+IEBAIC0xNzgsNyArMTg1LDEwIEBAIEJhc2U6DQo+Pj4gQExvbmdNb2RlOiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIDsgbG9uZyBtb2RlICg2NC1iaXQgY29kZSkgc3RhcnRzIGhlcmUN Cj4+PiAgICAgbW92ICAgICByYXgsIG9mZnNldCBnU3RtU21pSGFuZGxlcklkdHINCj4+PiAgICAg bGlkdCAgICBmd29yZCBwdHIgW3JheF0NCj4+PiAtICAgIGxlYSAgICAgZWJ4LCBbcmRpICsgRFND X09GRlNFVF0NCj4+PiArDQo+Pj4gKyAgICBtb3Z6eCAgIHJzaSwgd29yZCBwdHIgW2dTdG1Qc2RP ZmZzZXRdICAgOyBsZWEgICAgIGVieCwgW3JkaSArIERTQ19PRkZTRVRdDQo+Pj4gKyAgICBsZWEg ICAgIGVieCwgW3JkaSArIHJzaV0gICAgICAgICAgICAgICAgOw0KPj4+ICsNCj4+PiAgICAgbW92 ICAgICBheCwgW3JieCArIERTQ19EU10NCj4+PiAgICAgbW92ICAgICBkcywgZWF4DQo+Pj4gICAg IG1vdiAgICAgYXgsIFtyYnggKyBEU0NfT1RIRVJTRUddDQo+Pj4gZGlmZiAtLWdpdCBhL1VlZmlD cHVQa2cvTGlicmFyeS9TbW1DcHVGZWF0dXJlc0xpYi9YNjQvU21pRW50cnkubmFzbQ0KPj4+IGIv VWVmaUNwdVBrZy9MaWJyYXJ5L1NtbUNwdUZlYXR1cmVzTGliL1g2NC9TbWlFbnRyeS5uYXNtDQo+ Pj4gaW5kZXggYmNhYzY0My4uZGY0YzVhMiAxMDA2NDQNCj4+PiAtLS0gYS9VZWZpQ3B1UGtnL0xp YnJhcnkvU21tQ3B1RmVhdHVyZXNMaWIvWDY0L1NtaUVudHJ5Lm5hc20NCj4+PiArKysgYi9VZWZp Q3B1UGtnL0xpYnJhcnkvU21tQ3B1RmVhdHVyZXNMaWIvWDY0L1NtaUVudHJ5Lm5hc20NCj4+PiBA QCAtMSw1ICsxLDcgQEANCj4+PiA7LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIDsgIDsNCj4+PiBDb3B5 cmlnaHQgKGMpIDIwMTYgLSAyMDE3LCBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNl cnZlZC48QlI+DQo+Pj4gKzsgQ29weXJpZ2h0IChjKSAyMDE3LCBBTUQgSW5jb3Jwb3JhdGVkLiBB bGwgcmlnaHRzIHJlc2VydmVkLjxCUj4gOw0KPj4+IDsgVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNj b21wYW55aW5nIG1hdGVyaWFscyAgOyBhcmUgbGljZW5zZWQgYW5kIG1hZGUNCj4+PiBhdmFpbGFi bGUgdW5kZXIgdGhlIHRlcm1zIGFuZCBjb25kaXRpb25zIG9mIHRoZSBCU0QgTGljZW5zZSAgOyB3 aGljaA0KPj4+IGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLiAgVGhlIGZ1bGwgdGV4dCBv ZiB0aGUgbGljZW5zZSBtYXkgYmUgZm91bmQgYXQNCj4+PiBAQCAtMjksMTMgKzMxLDE0IEBAICA7 ICA7IENvbnN0YW50cyByZWxhdGluZyB0bw0KPj4+IFRYVF9QUk9DRVNTT1JfU01NX0RFU0NSSVBU T1IgIDsgLSVkZWZpbmUgRFNDX09GRlNFVCAweGZiMDAgLQ0KPj4+ICVkZWZpbmUgRFNDX0dEVFBU UiAweDQ4IC0lZGVmaW5lIERTQ19HRFRTSVogMHg1MCAtJWRlZmluZSBEU0NfQ1MNCj4+PiAweDE0 IC0lZGVmaW5lIERTQ19EUyAweDE2IC0lZGVmaW5lIERTQ19TUyAweDE4IC0lZGVmaW5lIERTQ19P VEhFUlNFRw0KPj4+IDB4MWENCj4+PiArOyAlZGVmaW5lIERTQ19PRkZTRVQgICAweGZiMDANCj4+ PiArOyAlZGVmaW5lIERTQ19HRFRQVFIgICAweDQ4DQo+Pj4gKzsgJWRlZmluZSBEU0NfR0RUU0la ICAgMHg1MA0KPj4+ICs7DQo+Pj4gKyVkZWZpbmUgICBEU0NfQ1MgICAgICAgMHgxNA0KPj4+ICsl ZGVmaW5lICAgRFNDX0RTICAgICAgIDB4MTYNCj4+PiArJWRlZmluZSAgIERTQ19TUyAgICAgICAw eDE4DQo+Pj4gKyVkZWZpbmUgICBEU0NfT1RIRVJTRUcgMHgxYQ0KPj4+IDsNCj4+PiA7IENvbnN0 YW50cyByZWxhdGluZyB0byBDUFUgU3RhdGUgU2F2ZSBBcmVhICA7IEBAIC00NCw5ICs0Nyw5IEBA DQo+Pj4NCj4+PiAlZGVmaW5lIFBST1RFQ1RfTU9ERV9DUyAweDgNCj4+PiAlZGVmaW5lIFBST1RF Q1RfTU9ERV9EUyAweDIwDQo+Pj4gLSVkZWZpbmUgTE9OR19NT0RFX0NTIDB4MzgNCj4+PiAtJWRl ZmluZSBUU1NfU0VHTUVOVCAweDQwDQo+Pj4gLSVkZWZpbmUgR0RUX1NJWkUgMHg1MA0KPj4+ICsl ZGVmaW5lIExPTkdfTU9ERV9DUyAgICAweDM4DQo+Pj4gKyVkZWZpbmUgVFNTX1NFR01FTlQgICAg IDB4NDANCj4+PiArJWRlZmluZSBHRFRfU0laRSAgICAgICAgMHg1MA0KPj4+DQo+Pj4gZXh0ZXJu IEFTTV9QRlgoU21pUmVuZGV6dm91cykNCj4+PiBleHRlcm4gQVNNX1BGWChnU3RtU21pSGFuZGxl cklkdHIpDQo+Pj4gQEAgLTYxLDYgKzY0LDEwIEBAIGdsb2JhbCBBU01fUEZYKGdjU3RtU21pSGFu ZGxlclRlbXBsYXRlKSAgZ2xvYmFsDQo+Pj4gQVNNX1BGWChnY1N0bVNtaUhhbmRsZXJTaXplKSAg Z2xvYmFsIEFTTV9QRlgoZ2NTdG1TbWlIYW5kbGVyT2Zmc2V0KQ0KPj4+DQo+Pj4gK2V4dGVybiBB U01fUEZYKGdTdG1Qc2RPZmZzZXQpDQo+Pj4gK2dsb2JhbCBBU01fUEZYKGdTdG1HZHRTaXplKQ0K Pj4+ICtnbG9iYWwgQVNNX1BGWChnU3RtR2R0UHRyKQ0KPj4+ICsNCj4+PiBBU01fUEZYKGdTdG1T bWJhc2UpICAgICAgRVFVIFN0bVNtYmFzZVBhdGNoIC0gNA0KPj4+IEFTTV9QRlgoZ1N0bVNtaVN0 YWNrKSAgICBFUVUgU3RtU21pU3RhY2tQYXRjaCAtIDQNCj4+PiBBU01fUEZYKGdTdG1TbWlDcjMp ICAgICAgRVFVIFN0bVNtaUNyM1BhdGNoIC0gNA0KPj4+IEBAIC03MywxMCArODAsMTggQEAgQklU UyAxNg0KPj4+IEFTTV9QRlgoZ2NTdG1TbWlIYW5kbGVyVGVtcGxhdGUpOg0KPj4+IF9TdG1TbWlF bnRyeVBvaW50Og0KPj4+ICAgICBtb3YgICAgIGJ4LCBfU3RtR2R0RGVzYyAtIF9TdG1TbWlFbnRy eVBvaW50ICsgMHg4MDAwDQo+Pj4gLSAgICBtb3YgICAgIGF4LFtjczpEU0NfT0ZGU0VUICsgRFND X0dEVFNJWl0NCj4+PiArDQo+Pj4gKyAgICBtb3YgICAgIGVheCwgQVNNX1BGWChnU3RtR2R0U2l6 ZSkgICAgIDsgbW92ICAgICBheCwgW2NzOkRTQ19PRkZTRVQgKw0KPj4+IERTQ19HRFRTSVpdDQo+ Pj4gKyAgICBtb3YgICAgIHNpLCBbY3M6ZWF4XSAgICAgICAgICAgICAgICAgIDsNCj4+PiArICAg IG1vdiAgICAgYXgsIFtjczpzaV0gICAgICAgICAgICAgICAgICAgOw0KPj4+ICsNCj4+PiAgICAg ZGVjICAgICBheA0KPj4+ICAgICBtb3YgICAgIFtjczpieF0sIGF4DQo+Pj4gLSAgICBtb3YgICAg IGVheCwgW2NzOkRTQ19PRkZTRVQgKyBEU0NfR0RUUFRSXQ0KPj4+ICsNCj4+PiArICAgIG1vdiAg ICAgZWF4LCBBU01fUEZYKGdTdG1HZHRQdHIpICAgICAgOyBtb3YgICAgIGVheCwgW2NzOkRTQ19P RkZTRVQgKw0KPj4+IERTQ19HRFRQVFJdDQo+Pj4gKyAgICBtb3YgICAgIHNpLCBbY3M6ZWF4XSAg ICAgICAgICAgICAgICAgIDsNCj4+PiArICAgIG1vdiAgICAgZWF4LCBbY3M6c2ldICAgICAgICAg ICAgICAgICAgOw0KPj4+ICsNCj4+PiAgICAgbW92ICAgICBbY3M6YnggKyAyXSwgZWF4DQo+Pj4g bzMyIGxnZHQgICAgW2NzOmJ4XSAgICAgICAgICAgICAgICAgICAgICAgOyBsZ2R0IGZ3b3JkIHB0 ciBjczpbYnhdDQo+Pj4gICAgIG1vdiAgICAgYXgsIFBST1RFQ1RfTU9ERV9DUw0KPj4+IEBAIC0x NjYsNyArMTgxLDEwIEBAIEJhc2U6DQo+Pj4gQExvbmdNb2RlOiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIDsgbG9uZyBtb2RlICg2NC1iaXQgY29kZSkgc3RhcnRzIGhlcmUNCj4+PiAgICAg bW92ICAgICByYXgsIEFTTV9QRlgoZ1N0bVNtaUhhbmRsZXJJZHRyKQ0KPj4+ICAgICBsaWR0ICAg IFtyYXhdDQo+Pj4gLSAgICBsZWEgICAgIGVieCwgW3JkaSArIERTQ19PRkZTRVRdDQo+Pj4gKw0K Pj4+ICsgICAgbW92enggICByc2ksIHdvcmQgW0FTTV9QRlgoZ1N0bVBzZE9mZnNldCldICA7IGxl YSAgICAgZWJ4LCBbcmRpICsNCj4+PiBEU0NfT0ZGU0VUXQ0KPj4+ICsgICAgbGVhICAgICBlYngs IFtyZGkgKyByc2ldICAgICAgICAgICAgICAgICAgICA7DQo+Pj4gKw0KPj4+ICAgICBtb3YgICAg IGF4LCBbcmJ4ICsgRFNDX0RTXQ0KPj4+ICAgICBtb3YgICAgIGRzLCBlYXgNCj4+PiAgICAgbW92 ICAgICBheCwgW3JieCArIERTQ19PVEhFUlNFR10NCj4+PiBAQCAtMjYyLDUgKzI4MCw4IEBAIF9T dG1TbWlIYW5kbGVyOg0KPj4+ICAgICA7IFNUTSBpbml0IGZpbmlzaA0KPj4+ICAgICBqbXAgICAg IENvbW1vbkhhbmRsZXINCj4+Pg0KPj4+ICtBU01fUEZYKGdTdG1HZHRTaXplKSAgICAgICAgICAg OiBSRVNXICAgIDENCj4+PiArQVNNX1BGWChnU3RtR2R0UHRyKSAgICAgICAgICAgIDogUkVTVyAg ICAxDQo+Pj4gKw0KPj4+IEFTTV9QRlgoZ2NTdG1TbWlIYW5kbGVyU2l6ZSkgICA6IERXICAgICAg JCAtIF9TdG1TbWlFbnRyeVBvaW50DQo+Pj4gQVNNX1BGWChnY1N0bVNtaUhhbmRsZXJPZmZzZXQp IDogRFcgICAgICBfU3RtU21pSGFuZGxlciAtDQo+Pj4gX1N0bVNtaUVudHJ5UG9pbnQNCj4+PiAt LQ0KPj4+IDIuNy40DQo+Pg0KDQpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fXw0KZWRrMi1kZXZlbCBtYWlsaW5nIGxpc3QNCmVkazItZGV2ZWxAbGlzdHMuMDEu b3JnPG1haWx0bzplZGsyLWRldmVsQGxpc3RzLjAxLm9yZz4NCmh0dHBzOi8vbGlzdHMuMDEub3Jn L21haWxtYW4vbGlzdGluZm8vZWRrMi1kZXZlbA0K