From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received-SPF: Pass (sender SPF authorized) identity=mailfrom; client-ip=40.107.3.42; helo=eur03-am5-obe.outbound.protection.outlook.com; envelope-from=udit.kumar@nxp.com; receiver=edk2-devel@lists.01.org Received: from EUR03-AM5-obe.outbound.protection.outlook.com (mail-eopbgr30042.outbound.protection.outlook.com [40.107.3.42]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id BE28D22183C9C for ; Fri, 1 Dec 2017 09:53:31 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=z0qwuLPwi9IjswOaKzcW8kSFIlDV+Dlk4WlK3Zqos0Y=; b=NzWeh34RP85V2IwZ1j+8HyvoZ7KIzBBcgEvXnV+x2rqEO0UrADrJQhOWkXuMs7tWDpwFc+g0yWOqYWKdl7udkTyS5pdQKhgKAaEU0E2y2lgtvDnocu/iPsssLFDhkgoLynfISR5EiEV3mYV/e/lVIbn3p51BOwRyDJCHfs0TF4w= Received: from AM6PR0402MB3334.eurprd04.prod.outlook.com (52.133.18.151) by HE1PR04MB3002.eurprd04.prod.outlook.com (10.170.255.148) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.282.5; Fri, 1 Dec 2017 17:57:53 +0000 Received: from AM6PR0402MB3334.eurprd04.prod.outlook.com ([fe80::51eb:bed3:cf67:f4be]) by AM6PR0402MB3334.eurprd04.prod.outlook.com ([fe80::51eb:bed3:cf67:f4be%13]) with mapi id 15.20.0282.007; Fri, 1 Dec 2017 17:57:52 +0000 From: Udit Kumar To: Leif Lindholm , Meenakshi Aggarwal , Varun Sethi CC: "Kinney, Michael D" , "edk2-devel@lists.01.org" , "Gao, Liming" , Ard Biesheuvel Thread-Topic: [edk2] [PATCH 1/1] MdePkg/IoLib: Add support for big-endian MMIO Thread-Index: AQHSJf8g4WbKjSWeTUGVohhhcxe8iqCr++gAgAAQ+YCAADsgAIAAJeEAgjcV3KCABIjHYIAAVAOQgEHVTuCAA5+mAIADBQPqgABl4eA= Date: Fri, 1 Dec 2017 17:57:52 +0000 Message-ID: References: <4A89E2EF3DFEDB4C8BFDE51014F606A14E16B65D@SHSMSX104.ccr.corp.intel.com> <20171129125114.i3y446ds4qrkohxl@bivouac.eciton.net> <20171129194836.dqsbtbqi5budvppl@bivouac.eciton.net> <20171201105744.mlspp4gsmibbpolz@bivouac.eciton.net> In-Reply-To: <20171201105744.mlspp4gsmibbpolz@bivouac.eciton.net> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: spf=none (sender IP is ) smtp.mailfrom=udit.kumar@nxp.com; x-originating-ip: [42.111.48.51] x-ms-publictraffictype: Email x-microsoft-exchange-diagnostics: 1; HE1PR04MB3002; 6:tXobL8bTht5BuYTm4kFcF5XXDA5BrO8ijlHQwtLcJ8nWlBvfQY1ccxfAcL6p4BjYH3+jcO5cZaCIGQA31LPQaFs79QMo5QG8tc9MoojdCgBvaw2b1kKwtiP7U1pgHiJYC8DZPaYx4tY6rUhQTmdJrWspEGnL4ooIUVLecLAbh+LkcbDZat0XlKljAzNBNLq89o3FwZ4Nm+zyo85lhstiJkCihE3SMWpeJr6c7TmGbSRDHJaFIhIfIogDZBM+I4YyKI3L82i69f+N/g/45t1rxIWHBEHYAgVQUkveqwb898AJBSJHpWn4mVtaLbVnr82wQsl96MQl04cGt6QBh670xin7E8ibl3pSsJKM7p8cgeY=; 5:DKOduSmjKrZMKQbQE7jWkIdPimetmJxFINrb6m2oCjsRPTTs3yXUOH0WjEG38RK2AgDjxcIY8ZSXudw/HjCj2baXes1IFi5Oj/C8pZlX+sBJra4ANmngYR8lka6xOzZOW/j4YlfpGeAA3urt3tiJsFyhrcWDKwAYpjg5AxzgP7o=; 24:ufS25urwUF0ibfO8mg3aeF06NmSm7RE8M4SzusacuLCI2biKMbOGyDSBdkqMg35FP9qGcUiSObYsMuNjx6jMn2KA/TVjFI5U6ZN3fzhiqNc=; 7:vtRvFn36rEktCB3XKebCxoCa3WocLMvSkCNvdT+L+dmNKThTnnc0ThfxOzWk9AHV8SrqGOpExF8WOr0qR966eNuIJ8xeSMvp2FEt1OIrbzJcl6ALNM1+PYEkANWy5xf/KI98BaON942DEz2IBC4xClag5QBHuJCgt/ZEO5GCDdP0xy/mmZb/8SmGJp5HgsxCeZxEhgnPEp8Un6owYscrPxB3UPIKiKXBT65uvT23yEI0pC7iEiwfQ5FZqq/v1fjG x-ms-exchange-antispam-srfa-diagnostics: SSOS;SSOR; x-forefront-antispam-report: SFV:SKI; SCL:-1; SFV:NSPM; SFS:(10009020)(6029001)(6009001)(346002)(39860400002)(376002)(366004)(13464003)(43544003)(199003)(24454002)(53754006)(189002)(2900100001)(33656002)(6636002)(2950100002)(2906002)(101416001)(53546010)(6116002)(102836003)(55016002)(105586002)(3280700002)(106356001)(8936002)(3660700001)(25786009)(68736007)(966005)(3846002)(14454004)(7736002)(45080400002)(4326008)(99286004)(97736004)(478600001)(6506006)(6246003)(53936002)(6436002)(305945005)(316002)(76176011)(54906003)(110136005)(7696005)(81156014)(81166006)(8676002)(9686003)(189998001)(93886005)(66066001)(6306002)(53946003)(86362001)(54356011)(5250100002)(5660300001)(74316002)(229853002)(579004); DIR:OUT; SFP:1101; SCL:1; SRVR:HE1PR04MB3002; H:AM6PR0402MB3334.eurprd04.prod.outlook.com; FPR:; SPF:None; PTR:InfoNoRecords; A:1; MX:1; LANG:en; x-ms-office365-filtering-correlation-id: b10833ad-b278-47a6-2135-08d538e50b0c x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: UriScan:; BCL:0; PCL:0; RULEID:(5600026)(4604075)(4534020)(4602075)(4627115)(201703031133081)(201702281549075)(48565401081)(2017052603286); SRVR:HE1PR04MB3002; x-ms-traffictypediagnostic: HE1PR04MB3002: x-microsoft-antispam-prvs: x-exchange-antispam-report-test: UriScan:(189930954265078)(185117386973197)(162533806227266)(45079756050767)(228905959029699); x-exchange-antispam-report-cfa-test: BCL:0; PCL:0; RULEID:(6040450)(2401047)(5005006)(8121501046)(93006095)(93001095)(3231022)(3002001)(10201501046)(6055026)(6041248)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123562025)(20161123560025)(20161123564025)(20161123555025)(20161123558100)(6072148)(201708071742011); SRVR:HE1PR04MB3002; BCL:0; PCL:0; RULEID:(100000803101)(100110400095); SRVR:HE1PR04MB3002; x-forefront-prvs: 05087F0C24 received-spf: None (protection.outlook.com: nxp.com does not designate permitted sender hosts) spamdiagnosticoutput: 1:99 spamdiagnosticmetadata: NSPM MIME-Version: 1.0 X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: b10833ad-b278-47a6-2135-08d538e50b0c X-MS-Exchange-CrossTenant-originalarrivaltime: 01 Dec 2017 17:57:52.5710 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-Transport-CrossTenantHeadersStamped: HE1PR04MB3002 Subject: Re: [PATCH 1/1] MdePkg/IoLib: Add support for big-endian MMIO 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: Fri, 01 Dec 2017 17:53:32 -0000 Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 VGhhbmtzIExlaWYsIA0KDQo+IEl0IG1heSByZXF1aXJlIGEgbGl0dGxlIGJpdCBtb3JlIG9mIHVw LWZyb250IHdvcmssIGJ1dCB0aGUgZW5kIHJlc3VsdCB3aWxsIGJlIGENCj4gcGxhdGZvcm0gcG9y dCB0aGF0IHdvcmtzIHdpdGggdGhlIGludGVuZGVkIGVkazIgZGVzaWduIHByaW5jaXBsZXMgcmF0 aGVyIHRoYW4NCg0KWWVzLCB0aGlzIHdpbGwgYmUgcmUtZGVzaWduL2NvZGUgZm9yIHVzLCBicmVh a2luZyBhbGwgc29mdHdhcmUgcGllY2VzIGludG8NCnNtYWxsZXIgYmxvY2tzIGFuZCBleHBvc2lu ZyBwcm90b2NvbCBmcm9tIHRoZSBzYW1lLiANClRoaXMgY291bGQgYmUgbWFuYWdlZC4NCg0KQnV0 IGhvdyBkbyB5b3Ugc2VlLCAgaWYgdGhlcmUgaXMgc3VjaCBkZXBlbmRlbmN5IG9OIGxpYi4gDQpT YXkgYSBkcml2ZXIgd2hpY2ggaXMgaW4gQkUgbW9kZSwgYW5kIGlzIHVzaW5nIERlYnVnTGliIChC YXNlRGVidWdMaWJTZXJpYWxQb3J0KQ0KQW5kIERlYnVnTGliIHVzZXMgU2VyaWFsUG9ydExpYiwg d2hpY2ggaXMgaW4gTEUgbW9kZSANCg0KVGhhbmtzIA0KVWRpdA0KDQo+IC0tLS0tT3JpZ2luYWwg TWVzc2FnZS0tLS0tDQo+IEZyb206IGVkazItZGV2ZWwgW21haWx0bzplZGsyLWRldmVsLWJvdW5j ZXNAbGlzdHMuMDEub3JnXSBPbiBCZWhhbGYgT2YgTGVpZg0KPiBMaW5kaG9sbQ0KPiBTZW50OiBG cmlkYXksIERlY2VtYmVyIDAxLCAyMDE3IDQ6MjggUE0NCj4gVG86IE1lZW5ha3NoaSBBZ2dhcndh bCA8bWVlbmFrc2hpLmFnZ2Fyd2FsQG54cC5jb20+DQo+IENjOiBLaW5uZXksIE1pY2hhZWwgRCA8 bWljaGFlbC5kLmtpbm5leUBpbnRlbC5jb20+OyBlZGsyLWRldmVsQGxpc3RzLjAxLm9yZzsNCj4g R2FvLCBMaW1pbmcgPGxpbWluZy5nYW9AaW50ZWwuY29tPjsgQXJkIEJpZXNoZXV2ZWwNCj4gPGFy ZC5iaWVzaGV1dmVsQGxpbmFyby5vcmc+DQo+IFN1YmplY3Q6IFJlOiBbZWRrMl0gW1BBVENIIDEv MV0gTWRlUGtnL0lvTGliOiBBZGQgc3VwcG9ydCBmb3IgYmlnLWVuZGlhbg0KPiBNTUlPDQo+IA0K PiBPbiBUaHUsIE5vdiAzMCwgMjAxNyBhdCAwNDoxNTozOEFNICswMDAwLCBNZWVuYWtzaGkgQWdn YXJ3YWwgd3JvdGU6DQo+ID4gSGkgTGVpZiwgTWlrZSwNCj4gPg0KPiA+DQo+ID4gTlhQIGJvYXJk cywgYXQgcHJlc2VudCwgaGF2ZSBmZXcgY29udHJvbGxlcnMgd2l0aCBiaWcgZW5kaWFuIGFuZCBv dGhlcg0KPiA+IHdpdGggbGl0dGxlIGVuZGlhbiBtZW1vcnkgYWNjZXNzLg0KPiANCj4gU3VyZSwg dGhpcyBpcyBub3QgYSBwcm9ibGVtLg0KPiANCj4gPiBNYXhpbXVtIGNvbnRyb2xsZXJzIGRlcGVu ZCBvbiBTb2NMaWIgbGlicmFyeSBmb3IgY2xvY2sgaW5mb3JtYXRpb24gYW5kDQo+ID4gZW5kaWFu bmVzcyBmb3IgU29jTGliIGFuZCBjb250cm9sbGVycyBpcyBkaWZmZXJlbnQuDQo+IA0KPiBPSywg SSBzZWUgaW4gU29jTGliIHlvdSBoYXZlIHNvbWV0aGluZyBjYWxsZWQgYSBHdXIgdGhhdCBpcyBy ZWFkIG9uY2UgKGFuZCBhZ2Fpbg0KPiBkb2VzIGEgc3BlY2lhbCBwZXItZGV2aWNlIFBjZCBkYW5j ZSBmb3IgcnVudGltZSBzZWxlY3Rpb24gYmV0d2Vlbg0KPiBieXRlc3dhcHBpbmcgTW1pbyBhbmQg cGxhaW4gTW1pbykuDQo+IA0KPiA+IFNvIHRoaXMgb3B0aW9uIHdpbGwgbm90IHdvcmsgZm9yIHVz LA0KPiA+ICAgWW91IHdvdWxkIHRoZW4ganVzdCBkbyAoaW4geW91ciAuZHNjKToNCj4gPiAgIFBs YXRmb3JtL05YUC9Ecml2ZXJzL1dhdGNoRG9nL1dhdGNoRG9nRHhlLmluZiB7DQo+ID4gICAgICAg SW9MaWJ8PHBhdGggdG8gQmVJb0xpYiAuaW5mPg0KPiA+ICAgfQ0KPiA+DQo+ID4gQmVjYXVzZSBh bGwgbGlicmFyaWVzIGluY2x1ZGVkIGJ5IFdhdGNoRG9nIHdpbGwgdGhlbiBhY2Nlc3MgQkUgbW9k ZSBNbWlvDQo+IEFQSXMuDQo+IA0KPiBXaGljaCBsaWJyYXJpZXMgcGVyZm9ybWluZyBNbWlvIGFj Y2Vzc2VzIGFyZSB5b3UgaW50ZW5kaW5nIHRvIGluY2x1ZGUgaW4geW91cg0KPiB3YXRjaGRvZyBk cml2ZXI/IFlvdSBoYXZlIHN1Ym1pdHRlZCBub25lIGFzIHBhcnQgb2YgdGhpcyBzZXJpZXMuDQo+ IA0KPiA+IEFuZCBicmVha2luZyBjb2RlIGludG8gc2VwYXJhdGUgbW9kdWxlcyB3aXRoIGRpZmZl cmVudCBhY2Nlc3Mgd2lsbCBiZQ0KPiA+IHZlcnkgZGlmZmljdWx0Lg0KPiANCj4gSXQgbWF5IHJl cXVpcmUgYSBsaXR0bGUgYml0IG1vcmUgb2YgdXAtZnJvbnQgd29yaywgYnV0IHRoZSBlbmQgcmVz dWx0IHdpbGwgYmUgYQ0KPiBwbGF0Zm9ybSBwb3J0IHRoYXQgd29ya3Mgd2l0aCB0aGUgaW50ZW5k ZWQgZWRrMiBkZXNpZ24gcHJpbmNpcGxlcyByYXRoZXIgdGhhbg0KPiBhZ2FpbnN0IHRoZW0uIEFu ZCB0aGF0IHdpbGwgcmVkdWNlIHRoZSBvdmVyYWxsIGVmZm9ydCAobm90IHRvIG1lbnRpb24gY29k ZQ0KPiBkdXBsaWNhdGlvbikuDQo+IA0KPiBGcm9tIHRoZSBwYXRjaGVzIHlvdSBoYXZlIHNlbnQs IHRoZSBvbmx5IHJlcXVpcmVkIGNoYW5nZSBJIHNlZSAoaWYgYQ0KPiBieXRlc3dhcHBpbmcgSW9M aWIgd2FzIGFkZGVkIHRvIGVkazIpIHdvdWxkIGJlIHRvIGNyZWF0ZSBhIHRpbnkgZHJpdmVyIGZv ciB0aGlzDQo+ICJHdXIiIGRldmljZSB0aGF0IGluc3RhbGxzIGEgcHJvdG9jb2wgY29udGFpbmlu ZyBhIHNpbmdsZSBmdW5jdGlvbiBmb3IgcmVhZGluZw0KPiBmcm9tIHRoYXQgZGV2aWNlJ3MgcmVn aXN0ZXIgc3BhY2UuIFRoYXQgZHJpdmVyIGNhbiBiZSBidWlsdCBhZ2FpbnN0IHRoZSBzd2FwcGlu Zw0KPiBvciBub24tc3dhcHBpbmcgSW9MaWIgYXMgYXBwcm9wcmlhdGUuDQo+IA0KPiA+IFdhdGNo ZG9nIGlzIG5vdCB0aGUgb25seSBtb2R1bGUgd2hpY2ggbmVlZCBCRSBNbWlvIEFQSXMsIHdlIGhh dmUgTU1DDQo+ID4gYW5kIG90aGVyIGNvbnRyb2xsZXJzIGFsc28gd2l0aCBzYW1lIHJlcXVpcmVt ZW50Lg0KPiANCj4gQW5kIHRoZSBzYW1lIHNvbHV0aW9ucyBhcmUgcG9zc2libGUgZXZlcnl3aGVy ZS4NCj4gDQo+IEJlc3QgUmVnYXJkcywNCj4gDQo+IExlaWYNCj4gDQo+ID4gV2UgbmVlZCBCRSBN bWlvIEFQSXMgd2l0aCBhIGRpZmZlcmVudCBuYW1lLg0KPiA+DQo+ID4gUGxlYXNlIHNlZSB0aGUg cG9zc2liaWxpdHkuDQo+ID4NCj4gPiBUaGFua3MgJiBSZWdhcmRzLA0KPiA+IE1lZW5ha3NoaQ0K PiA+DQo+ID4gPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+ID4gRnJvbTogTGVpZiBM aW5kaG9sbSBbbWFpbHRvOmxlaWYubGluZGhvbG1AbGluYXJvLm9yZ10NCj4gPiA+IFNlbnQ6IFRo dXJzZGF5LCBOb3ZlbWJlciAzMCwgMjAxNyAxOjE5IEFNDQo+ID4gPiBUbzogS2lubmV5LCBNaWNo YWVsIEQgPG1pY2hhZWwuZC5raW5uZXlAaW50ZWwuY29tPg0KPiA+ID4gQ2M6IE1lZW5ha3NoaSBB Z2dhcndhbCA8bWVlbmFrc2hpLmFnZ2Fyd2FsQG54cC5jb20+OyBHYW8sIExpbWluZw0KPiA+ID4g PGxpbWluZy5nYW9AaW50ZWwuY29tPjsgZWRrMi1kZXZlbEBsaXN0cy4wMS5vcmc7IEFyZCBCaWVz aGV1dmVsDQo+ID4gPiA8YXJkLmJpZXNoZXV2ZWxAbGluYXJvLm9yZz4NCj4gPiA+IFN1YmplY3Q6 IFJlOiBbZWRrMl0gW1BBVENIIDEvMV0gTWRlUGtnL0lvTGliOiBBZGQgc3VwcG9ydCBmb3INCj4g PiA+IGJpZy1lbmRpYW4gTU1JTw0KPiA+ID4NCj4gPiA+IEkgZ3Vlc3MgdGhlcmUgaXMgbm8gc3Ry aWN0IHJ1bGUgYWJvdXQgYSBkcml2ZXIgb25seSBkaXJlY3RseQ0KPiA+ID4gYWNjZXNzaW5nIG9u ZSBwaWVjZSBvZiBIVz8NCj4gPiA+DQo+ID4gPiBTdGlsbCwgdGhhdCB3b3VsZCBiZSBvbmUgcG9z c2libGUgc29sdXRpb246IGJyZWFraW5nIGFjY2Vzc2VzIHRvIGENCj4gPiA+IHNlcGFyYXRlIEhX IGluIG5lZWQgb2YgYnl0ZXN3YXBwaW5nIG91dCBpbnRvIGl0cyBvd24gbW9kdWxlIGFuZA0KPiA+ ID4gbGV0dGluZyBpdCBvdmVycmlkZSBJb0xpYiB2ZXJzaW9uIHRoZXJlLg0KPiA+ID4NCj4gPiA+ IFJlZ2FyZHMsDQo+ID4gPg0KPiA+ID4gTGVpZg0KPiA+ID4NCj4gPiA+IE9uIFdlZCwgTm92IDI5 LCAyMDE3IGF0IDA3OjI1OjA1UE0gKzAwMDAsIEtpbm5leSwgTWljaGFlbCBEIHdyb3RlOg0KPiA+ ID4gPiBMZWlmLA0KPiA+ID4gPg0KPiA+ID4gPiBJIGFncmVlIHRoYXQgdGhpcyBzaG91bGQgYmUg ZGVzY3JpYmVkIGFzIGJ5dGUgc3dhcHBpbmcuDQo+ID4gPiA+DQo+ID4gPiA+IFdoYXQgYWJvdXQg YSBtb2R1bGUgdGhhdCBuZWVkcyB0byBhY2Nlc3MgSFcgd2l0aCBhbmQgd2l0aG91dCB0aGUNCj4g PiA+ID4gYnl0ZXMgc3dhcHBlZD8gIEl0IGdldHMgbW9yZSBjb21wbGV4IGlmIGEgbW9kdWxlIGlz IGxpbmtlZCBhZ2FpbnN0DQo+ID4gPiA+IHNldmVyYWwgbGlicyBhbmQgc29tZSBsaWJzIGFjY2Vz cyBIVyB3aXRoIGJ5dGVzIHN3YXBwZWQgYW5kIHNvbWUNCj4gPiA+ID4gZG8gbm90Lg0KPiA+ID4g Pg0KPiA+ID4gPiBUaGFua3MsDQo+ID4gPiA+DQo+ID4gPiA+IE1pa2UNCj4gPiA+ID4NCj4gPiA+ ID4gPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+ID4gPiA+IEZyb206IGVkazItZGV2 ZWwgW21haWx0bzplZGsyLWRldmVsLSBib3VuY2VzQGxpc3RzLjAxLm9yZ10gT24NCj4gPiA+ID4g PiBCZWhhbGYgT2YgTGVpZiBMaW5kaG9sbQ0KPiA+ID4gPiA+IFNlbnQ6IFdlZG5lc2RheSwgTm92 ZW1iZXIgMjksIDIwMTcgNDo1MSBBTQ0KPiA+ID4gPiA+IFRvOiBNZWVuYWtzaGkgQWdnYXJ3YWwg PG1lZW5ha3NoaS5hZ2dhcndhbEBueHAuY29tPjsgR2FvLCBMaW1pbmcNCj4gPiA+ID4gPiA8bGlt aW5nLmdhb0BpbnRlbC5jb20+DQo+ID4gPiA+ID4gQ2M6IEtpbm5leSwgTWljaGFlbCBEIDxtaWNo YWVsLmQua2lubmV5QGludGVsLmNvbT47DQo+ID4gPiA+ID4gZWRrMi1kZXZlbEBsaXN0cy4wMS5v cmc7IEFyZCBCaWVzaGV1dmVsDQo+ID4gPiA+ID4gPGFyZC5iaWVzaGV1dmVsQGxpbmFyby5vcmc+ DQo+ID4gPiA+ID4gU3ViamVjdDogUmU6IFtlZGsyXSBbUEFUQ0ggMS8xXSBNZGVQa2cvSW9MaWI6 IEFkZCBzdXBwb3J0IGZvcg0KPiA+ID4gPiA+IGJpZy1lbmRpYW4gTU1JTw0KPiA+ID4gPiA+DQo+ ID4gPiA+ID4gSGkgTWVlbmFrc2hpLA0KPiA+ID4gPiA+DQo+ID4gPiA+ID4gSSBmaW5hbGx5IGdv dCBhcm91bmQgdG8gbG9va2luZyBhdCB0aGUgd2F0Y2hkb2cgY29kZSAodGhhdCB1c2VzDQo+ID4g PiA+ID4gdGhpcyBsaWJyYXJ5KSwgYW5kIHRoYXQgaGFzIGNvbnZpbmNlZCBtZSB0aGUgYmVzdCBz b2x1dGlvbiBpcyB0bw0KPiA+ID4gPiA+IGRvIHdoYXQgTGltaW5nIHByb3Bvc2VkLg0KPiA+ID4g PiA+DQo+ID4gPiA+ID4gTG9va2luZyBhdCB0aGlzIHNuaXBwZXQ6DQo+ID4gPiA+ID4NCj4gPiA+ ID4gPiA+ICtTVEFUSUMNCj4gPiA+ID4gPiA+ICtVSU5UMTYNCj4gPiA+ID4gPiA+ICtFRklBUEkN Cj4gPiA+ID4gPiA+ICtXZG9nUmVhZCAoDQo+ID4gPiA+ID4gPiArIMKgSU4gwqBVSU5UTiDCoCDC oCBBZGRyZXNzDQo+ID4gPiA+ID4gPiArIMKgKQ0KPiA+ID4gPiA+ID4gK3sNCj4gPiA+ID4gPiA+ ICsgwqBpZiAoRml4ZWRQY2RHZXRCb29sIChQY2RXZG9nQmlnRW5kaWFuKSkgew0KPiA+ID4gPiA+ ID4gKyDCoCDCoHJldHVybiBCZU1taW9SZWFkMTYgKEFkZHJlc3MpOw0KPiA+ID4gPiA+ID4gKyDC oH0gZWxzZSB7DQo+ID4gPiA+ID4gPiArIMKgIMKgcmV0dXJuIE1taW9SZWFkMTYoQWRkcmVzcyk7 DQo+ID4gPiA+ID4gPiArIMKgfQ0KPiA+ID4gPiA+DQo+ID4gPiA+ID4gVGhpcyBpcyBhY3R1YWxs eSBhIHByZXR0eSBnb29kIGRlbW9uc3RyYXRpb24gb2YgdGhlIGFyZ3VtZW50cw0KPiA+ID4gPiA+ IHRoYXQgd2VyZSBtYWRlIHdpdGggcmVnYXJkcyB0byBob3cgdGhlIEJlSW9MaWIgY291bGQgYmUg anVzdA0KPiA+ID4gPiA+IGFub3RoZXIgaW1wbGVtZW50YXRpb24gb2YgSW9MaWIuDQo+ID4gPiA+ ID4NCj4gPiA+ID4gPiBZb3Ugd291bGQgdGhlbiBqdXN0IGRvIChpbiB5b3VyIC5kc2MpOg0KPiA+ ID4gPiA+IMKgIFBsYXRmb3JtL05YUC9Ecml2ZXJzL1dhdGNoRG9nL1dhdGNoRG9nRHhlLmluZiB7 DQo+ID4gPiA+ID4gwqAgwqAgSW9MaWJ8PHBhdGggdG8gQmVJb0xpYiAuaW5mPg0KPiA+ID4gPiA+ IMKgIH0NCj4gPiA+ID4gPg0KPiA+ID4gPiA+IFRoaXMgY2F1c2VzIHRoZSBiaWctZW5kaWFuIHZl cnNpb24gb2YgdGhlIGxpYnJhcnkgdG8gYmUgdXNlZCBmb3INCj4gPiA+ID4gPiB0aGlzIGNvbXBv bmVudC4gVGhpcyBtYWtlcyB0aGVzZSBXZG9nPGFjY2Vzcz4gZnVuY3Rpb25zIGFuZCB0aGUNCj4g PiA+ID4gPiBQY2QgcmVkdW5kYW50LCBhbmQgdGhlIHJlc3Qgb2YgdGhlIGNvZGUgY2FuIHVzZQ0K PiA+ID4gPiA+IE1taW9SZWFkMTYoKS9NbWlvV3JpdGUxNigpDQo+ID4gPiA+ID4gZGlyZWN0bHku DQo+ID4gPiA+ID4NCj4gPiA+ID4gPiBCdXQgdGhlbiwgaXQgaXMgbm90IHJlYWxseSBhIGJpZy1l bmRpYW4gb3IgbGl0dGUtZW5kaWFuIHZlcnNpb24NCj4gPiA+ID4gPiBvZiB0aGUgbGlicmFyeSB3 ZSBuZWVkLiBXZSBhbHdheXMga25vdyB3aGljaCBlbmRpYW5uZXNzIHdlIGFyZQ0KPiA+ID4gPiA+ IGJ1aWxkaW5nIGZvci4NCj4gPiA+ID4gPiBXaGF0IHdlIG5lZWQgaXMgYSBieXRlc3dhcHBpbmcg Zmxhdm91ciBvZiBJb0xpYi4NCj4gPiA+ID4gPg0KPiA+ID4gPiA+IFNvIExpbWluZywgd2hhdCBp ZiB3ZSBkbyBzb21ldGhpbmcgbGlrZSBhZGRpbmcgYQ0KPiA+ID4gPiA+IE1kZVBrZy9MaWJyYXJ5 L0Jhc2VJb0xpYkludHJpbnNpYy9CYXNlSW9MaWJJbnRyaW5zaWNTd2ENCj4gPiA+ID4gPiBwLmlu Zg0KPiA+ID4gPiA+IC0tLQ0KPiA+ID4gPiA+IFtEZWZpbmVzXQ0KPiA+ID4gPiA+ICAgSU5GX1ZF UlNJT04gICAgICAgICAgICAgICAgICAgID0gMHgwMDAxMDAxQQ0KPiA+ID4gPiA+ICAgQkFTRV9O QU1FICAgICAgICAgICAgICAgICAgICAgID0NCj4gPiA+ID4gPiBCYXNlSW9MaWJJbnRyaW5zaWNT d2FwDQo+ID4gPiA+ID4gICBNT0RVTEVfVU5JX0ZJTEUgICAgICAgICAgICAgICAgPQ0KPiA+ID4g PiA+IEJhc2VJb0xpYkludHJpbnNpYy51bmkNCj4gPiA+ID4gPiAgIEZJTEVfR1VJRCAgICAgICAg ICAgICAgICAgICAgICA9IGQ0YTYwZDQ0LTM2ODgtNGE1MC0NCj4gPiA+ID4gPiBiMmQwLTVjNmZj MjQyMjUyMw0KPiA+ID4gPiA+ICAgTU9EVUxFX1RZUEUgICAgICAgICAgICAgICAgICAgID0gQkFT RQ0KPiA+ID4gPiA+ICAgVkVSU0lPTl9TVFJJTkcgICAgICAgICAgICAgICAgID0gMS4wDQo+ID4g PiA+ID4gICBMSUJSQVJZX0NMQVNTICAgICAgICAgICAgICAgICAgPSBJb0xpYg0KPiA+ID4gPiA+ DQo+ID4gPiA+ID4NCj4gPiA+ID4gPiAjDQo+ID4gPiA+ID4gIyAgVkFMSURfQVJDSElURUNUVVJF UyAgICAgICAgICAgPSBJQTMyIFg2NCBFQkMgSVBGIEFSTQ0KPiA+ID4gPiA+IEFBUkNINjQNCj4g PiA+ID4gPiAjDQo+ID4gPiA+ID4NCj4gPiA+ID4gPiBbU291cmNlc10NCj4gPiA+ID4gPiAgIEJh c2VJb0xpYkludHJpbnNpY0ludGVybmFsLmgNCj4gPiA+ID4gPiAgIElvSGlnaExldmVsLmMNCj4g PiA+ID4gPiAgIElvTGliLmMNCj4gPiA+ID4gPiAgIElvTGliRWJjLmMgICAgICAgICAjIEFzc2Vy dHMgb24gYWxsIGkvbyBwb3J0IGFjY2Vzc2VzDQo+ID4gPiA+ID4gICBJb0xpYk1taW9CdWZmZXIu Yw0KPiA+ID4gPiA+DQo+ID4gPiA+ID4gW1BhY2thZ2VzXQ0KPiA+ID4gPiA+ICAgTWRlUGtnL01k ZVBrZy5kZWMNCj4gPiA+ID4gPg0KPiA+ID4gPiA+IFtMaWJyYXJ5Q2xhc3Nlc10NCj4gPiA+ID4g PiAgIERlYnVnTGliDQo+ID4gPiA+ID4gICBCYXNlTGliDQo+ID4gPiA+ID4NCj4gPiA+ID4gPiBb QnVpbGRPcHRpb25zXQ0KPiA+ID4gPiA+ICAgR0NDOipfKl8qX0NDX0ZMQUdTICA9IC1EU1dBUF9C WVRFUw0KPiA+ID4gPiA+IC0tLQ0KPiA+ID4gPiA+DQo+ID4gPiA+ID4gQW5kIHRoZW4gYWRkDQo+ ID4gPiA+ID4NCj4gPiA+ID4gPiAjaWZkZWYgU1dBUF9CWVRFUw0KPiA+ID4gPiA+ICAgcmV0dXJu IFN3YXBCeXRlc1hYIChWYWx1ZSk7DQo+ID4gPiA+ID4gI2Vsc2UNCj4gPiA+ID4gPiAgIHJldHVy biBWYWx1ZTsNCj4gPiA+ID4gPiAjZmkNCj4gPiA+ID4gPg0KPiA+ID4gPiA+IGZvciB0aGUgcmVh ZCBvcGVyYXRpb25zIGFuZA0KPiA+ID4gPiA+DQo+ID4gPiA+ID4gI2lmZGVmIFNXQVBfQllURVMN Cj4gPiA+ID4gPiAgICoodHlwZSlBZGRyZXNzID0gU3dhcEJ5dGVzWFggKFZhbHVlKTsgI2Vsc2UN Cj4gPiA+ID4gPiAgICoodHlwZSlBZGRyZXNzID0gVmFsdWU7DQo+ID4gPiA+ID4gI2ZpDQo+ID4g PiA+ID4NCj4gPiA+ID4gPiBmb3IgdGhlIHdyaXRlIG9wZXJhdGlvbnMgaW4gSW9MaWIuYz8NCj4g PiA+ID4gPg0KPiA+ID4gPiA+IC8NCj4gPiA+ID4gPiAgICAgTGVpZg0KPiA+ID4gPiA+DQo+ID4g PiA+ID4gT24gTW9uLCBOb3YgMjcsIDIwMTcgYXQgMDY6MDY6MzNBTSArMDAwMCwgTWVlbmFrc2hp IEFnZ2Fyd2FsDQo+ID4gPiA+ID4gd3JvdGU6DQo+ID4gPiA+ID4gPiBIaSBMZWlmLA0KPiA+ID4g PiA+ID4NCj4gPiA+ID4gPiA+IFRoaXMgaXMgcmVnYXJkaW5nIEJpZy1FbmRpYW4gTGlicmFyeSBw YXRjaCAoW1BBVENIIHYyDQo+ID4gPiA+ID4gMS85XQ0KPiA+ID4gPiA+ID4gUGxhdGZvcm0vTlhQ OiBBZGQgc3VwcG9ydCBmb3IgQmlnIEVuZGlhbiBNbWlvIEFQSXMpDQo+ID4gPiA+ID4gPg0KPiA+ ID4gPiA+ID4gV2UgaGF2ZSBzdGFydGVkIHRoaXMgZGlzY3Vzc2lvbiBiZWZvcmUgYW5kIHRoZQ0K PiA+ID4gPiA+IHN1Z2dlc3Rpb24gd2FzIHRvDQo+ID4gPiA+ID4gPiBjcmVhdGUgYSBzZXBhcmF0 ZSAuaW5mIGZpbGUga2VlcGluZyBBUElzIG5hbWUgc2FtZSBlLmcuDQo+ID4gPiA+ID4gPiBNbWlv UmVhZC9NbWlvV3JpdGUgaW4gTWRlUGtnLg0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+IEJ1dCB3 ZSBjYW4ndCBnbyB3aXRoIHRoaXMgYXBwcm9hY2ggKHJlYXNvbiBtZW50aW9uZWQNCj4gPiA+ID4g PiBieSBVZGl0KS4NCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiBTbyBwbGVhc2Ugc3VnZ2VzdCBp ZiB3ZSBzaG91bGQga2VlcCB0aGlzIGxpYnJhcnkNCj4gPiA+ID4gPiB1bmRlciBQbGF0Zm9ybS9O WFANCj4gPiA+ID4gPiA+IG9yIEkgc2VuZCBhIG5ldyBwYXRjaCBtb3ZpbmcgdGhpcyBsaWJyYXJ5 IGluIE1kZVBrZy4NCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiBCdXQgd2UgaGF2ZSB0byBrZWVw IGEgZGlmZmVyZW50IG5hbWUgZm9yIEJpZyBFbmRpYW4NCj4gPiA+ID4gPiBNTUlPIEFQSXMuDQo+ ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+IFRoYW5rcywNCj4gPiA+ID4gPiA+ IE1lZW5ha3NoaQ0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiA+IC0tLS0t T3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ID4gPiA+ID4gPiA+IEZyb206IFVkaXQgS3VtYXINCj4g PiA+ID4gPiA+ID4gU2VudDogTW9uZGF5LCBPY3RvYmVyIDIzLCAyMDE3IDEyOjM4IFBNDQo+ID4g PiA+ID4gPiA+IFRvOiBHYW8sIExpbWluZyA8bGltaW5nLmdhb0BpbnRlbC5jb20+OyBNZWVuYWtz aGkNCj4gPiA+ID4gPiBBZ2dhcndhbA0KPiA+ID4gPiA+ID4gPiA8bWVlbmFrc2hpLmFnZ2Fyd2Fs QG54cC5jb20+OyBBcmQgQmllc2hldXZlbA0KPiA+ID4gPiA+ID4gPiA8YXJkLmJpZXNoZXV2ZWxA bGluYXJvLm9yZz47IEtpbm5leSwgTWljaGFlbCBEDQo+ID4gPiA+ID4gPiA+IDxtaWNoYWVsLmQu a2lubmV5QGludGVsLmNvbT47IGVkazItDQo+ID4gPiA+ID4gZGV2ZWxAbGlzdHMuMDEub3JnDQo+ ID4gPiA+ID4gPiA+IFN1YmplY3Q6IFJFOiBbZWRrMl0gW1BBVENIIDEvMV0gTWRlUGtnL0lvTGli OiBBZGQNCj4gPiA+ID4gPiBzdXBwb3J0IGZvciBiaWctZW5kaWFuDQo+ID4gPiA+ID4gPiA+IE1N SU8NCj4gPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ID4gSGkgTWVlbmFrc2hpL0xpbWluZywNCj4g PiA+ID4gPiA+ID4gTXkgMiBjZW50cywgYXJvdW5kIHRoaXMuDQo+ID4gPiA+ID4gPiA+DQo+ID4g PiA+ID4gPiA+IDEpDQo+ID4gPiA+ID4gPiA+IEhhdmluZyBhIG5ldyBsaWIgZm9yIEJFIHJlYWQg bWlnaHQgbm90IGJlIGhlbHBmdWwNCj4gPiA+ID4gPiBmb3IgdXMsIGUuZy4gYSBJUCB3aGljaCBp cyBpbg0KPiA+ID4gPiA+ID4gPiBCRSBtb2RlIGFjY2VzcyB0aGUgVUFSVCBmb3IgcHJpbnQgb3Ig c3lzdGVtDQo+ID4gPiA+ID4gcmVnaXN0ZXJzIHdoaWNoIGFyZSBpbiBMRSwgdGhlbg0KPiA+ID4g PiA+ID4gPiB3aXRoIG5ldyBMaWIsIHdlIHdpbGwgZ2V0IGFsbCByZWFkL3dyaXRlIGluIEJFIG1v ZGUNCj4gPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ID4gMikNCj4gPiA+ID4gPiA+ID4gRXNwZWNp YWxseSBmb3Igb3VyIElQcywgd2hpY2ggYXJlIGNoYW5naW5nIGZyb20gQkUNCj4gPiA+ID4gPiB0 byBMRSBkZXBlbmRpbmcgb24NCj4gPiA+ID4gPiA+ID4gcGxhdGZvcm0uDQo+ID4gPiA+ID4gPiA+ IEFzIHNhaWQgYmVmb3JlLCBoYXZpbmcgQkUgcmVhZCBsaWIgd2l0aCBBUEkgbmFtZSBvZg0KPiA+ ID4gPiA+IE1taW9SZWFkMzIgZXRjLCB3aWxsIG5vdA0KPiA+ID4gPiA+ID4gPiBoZWxwIChJIGd1 ZXNzIE1lZW5ha3NoaSBhbHJlYWR5IHNlZW4gc29tZSBwcm9ibGVtcw0KPiA+ID4gPiA+IGFyb3Vu ZCB0aGlzKSBBZGRpbmcgYQ0KPiA+ID4gPiA+ID4gPiBuZXcgbGliIHdpdGggTW1pb1JlYWQzMkJF IEFQSSBuYW1lIGNvdWxkIGhlbHAsIGJ1dA0KPiA+ID4gPiA+IElQIGRyaXZlciB3ZSBuZWVkIHRv DQo+ID4gPiA+ID4gPiA+IHRha2UgY2FyZSBvZiBJUCBtb2RlIGVpdGhlciBieSBQY2Qgb3IgI2Rl ZmluZSwgdG8NCj4gPiA+ID4gPiBzZWxlY3QgTW1pb1JlYWQzMiBvcg0KPiA+ID4gPiA+ID4gPiBN bWlvUmVhZDMyQkUuDQo+ID4gPiA+ID4gPiA+IFRoaXMgY29uZGl0aW9uYWwgY29tcGlsZSBuZWVk cyB0byBiZSBkb25lIGZvciBhbGwNCj4gPiA+ID4gPiBJUHMgKHdoaWNoIHdvcmtzIGluIEJFL0xF DQo+ID4gPiA+ID4gPiA+IG1vZGUgb24gZGlmZmVyZW50IHBsYXRmb3JtcykuDQo+ID4gPiA+ID4g PiA+DQo+ID4gPiA+ID4gPiA+IE15IHByZWZlcnJlZCB3YXkgb2YgaW1wbGVtZW50YXRpb24gdG8g dXNlIG9uZQ0KPiA+ID4gPiA+IGZ1bmN0aW9uIGluIElQIGRyaXZlciwgQW5kDQo+ID4gPiA+ID4g PiA+IGJhc2VkIG9uIElQIG1vZGUsIGRvIHRoZSBzd2l0Y2guDQo+ID4gPiA+ID4gPiA+DQo+ID4g PiA+ID4gPiA+IE5ldyBMaWIgY291bGQgaGF2ZSBmdW5jdGlvbiBsaWtlIGJlbG93DQo+ID4gPiA+ ID4gPiA+IE1taW9SZWFkMzJHZW5lcmljKElOICBVSU5UTiAgICAgQWRkcmVzcywgQk9PTA0KPiA+ ID4gPiA+IElzSVBCRSkgew0KPiA+ID4gPiA+ID4gPiAgICBVSU5UMzIgICAgICAgICAgICAgICAg ICAgICAgICAgICAgVmFsdWU7DQo+ID4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiA+ICAgIEFTU0VS VCAoKEFkZHJlc3MgJiAzKSA9PSAwKTsNCj4gPiA+ID4gPiA+ID4gICAgVmFsdWUgPSAqKHZvbGF0 aWxlIFVJTlQzMiopQWRkcmVzczsNCj4gPiA+ID4gPiA+ID4gICAgSWYoSXNJUEJFKQ0KPiA+ID4g PiA+ID4gPiAgICAgIFZhbHVlID0gU3dhcEJ5dGVzMzIoVmFsdWUpOyAgcmV0dXJuICBWYWx1ZTsg fQ0KPiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gPiBBbmQgSVAgZHJpdmVyIGNhbiB1c2UgaXQN Cj4gPiA+ID4gPiA+ID4gTW1pb1JlYWQzMkdlbmVyaWMoQUREUiwNCj4gPiA+ID4gPiA+ID4gRml4 ZWRQY2RHZXQoVGhpc19JUF9Nb2RlX0Zvcl9UaGlzX3BsYXRmb3JtKQ0KPiA+ID4gPiA+ID4gPg0K PiA+ID4gPiA+ID4gPiBDb21tZW50cyBhcmUgd2VsY29tZS4NCj4gPiA+ID4gPiA+ID4NCj4gPiA+ ID4gPiA+ID4gUmVnYXJkcw0KPiA+ID4gPiA+ID4gPiBVZGl0DQo+ID4gPiA+ID4gPiA+DQo+ID4g PiA+ID4gPiA+ID4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gPiA+ID4gPiA+ID4gPiBG cm9tOiBlZGsyLWRldmVsIFttYWlsdG86ZWRrMi1kZXZlbC0NCj4gPiA+ID4gPiBib3VuY2VzQGxp c3RzLjAxLm9yZ10gT24gQmVoYWxmIE9mDQo+ID4gPiA+ID4gPiA+ID4gR2FvLCBMaW1pbmcNCj4g PiA+ID4gPiA+ID4gPiBTZW50OiBNb25kYXksIE9jdG9iZXIgMTYsIDIwMTcgODo0OCBBTQ0KPiA+ ID4gPiA+ID4gPiA+IFRvOiBNZWVuYWtzaGkgQWdnYXJ3YWwNCj4gPiA+ID4gPiA8bWVlbmFrc2hp LmFnZ2Fyd2FsQG54cC5jb20+OyBBcmQgQmllc2hldXZlbA0KPiA+ID4gPiA+ID4gPiA+IDxhcmQu Ymllc2hldXZlbEBsaW5hcm8ub3JnPjsgS2lubmV5LCBNaWNoYWVsIEQNCj4gPiA+ID4gPiA+ID4g PiA8bWljaGFlbC5kLmtpbm5leUBpbnRlbC5jb20+OyBlZGsyLQ0KPiA+ID4gPiA+IGRldmVsQGxp c3RzLjAxLm9yZw0KPiA+ID4gPiA+ID4gPiA+IFN1YmplY3Q6IFJlOiBbZWRrMl0gW1BBVENIIDEv MV0gTWRlUGtnL0lvTGliOiBBZGQNCj4gPiA+ID4gPiBzdXBwb3J0IGZvcg0KPiA+ID4gPiA+ID4g PiA+IGJpZy1lbmRpYW4gTU1JTw0KPiA+ID4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiA+ID4gTWVl bmFrc2hpOg0KPiA+ID4gPiA+ID4gPiA+ICAgSSBzdWdnZXN0IHRvIGludHJvZHVjZSBuZXcgSW9M aWIgbGlicmFyeQ0KPiA+ID4gPiA+IGluc3RhbmNlLCBub3QgdG8gYWRkIG5ldyBJb0xpYg0KPiA+ ID4gPiA+ID4gPiBBUElzLg0KPiA+ID4gPiA+ID4gPiA+IE5ldyBJb0xpYiBsaWJyYXJ5IGluc3Rh bmNlIHdpbGwgcGVyZm9ybSBJTw0KPiA+ID4gPiA+IG9wZXJhdGlvbiBhcyB0aGUgYmlnDQo+ID4g PiA+ID4gPiA+ID4gZW5kaWFuLiBZb3UgY2FuIHVwZGF0ZQ0KPiA+ID4gPiA+IE1kZVBrZy9MaWJy YXJ5L0Jhc2VJb0xpYkludHJpbnNpYyBpbnN0YW5jZSwgYWRkDQo+ID4gPiA+ID4gPiA+ID4gbmV3 IHNvdXJjZSBmaWxlIGFuZCBuZXcgSU5GIGZvciBpdC4NCj4gPiA+ID4gPiA+ID4gPg0KPiA+ID4g PiA+ID4gPiA+IFVJTlQzMg0KPiA+ID4gPiA+ID4gPiA+IEVGSUFQSQ0KPiA+ID4gPiA+ID4gPiA+ IE1taW9SZWFkMzIgKA0KPiA+ID4gPiA+ID4gPiA+ICAgSU4gIFVJTlROICAgICBBZGRyZXNzDQo+ ID4gPiA+ID4gPiA+ID4gICApDQo+ID4gPiA+ID4gPiA+ID4gew0KPiA+ID4gPiA+ID4gPiA+ICAg VUlOVDMyICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZhbHVlOw0KPiA+ID4gPiA+ID4gPiA+ DQo+ID4gPiA+ID4gPiA+ID4gICBBU1NFUlQgKChBZGRyZXNzICYgMykgPT0gMCk7DQo+ID4gPiA+ ID4gPiA+ID4gICBWYWx1ZSA9ICoodm9sYXRpbGUgVUlOVDMyKilBZGRyZXNzOw0KPiA+ID4gPiA+ ID4gPiA+ICAgcmV0dXJuIFN3YXBCeXRlczMyKFZhbHVlKTsgfQ0KPiA+ID4gPiA+ID4gPiA+DQo+ ID4gPiA+ID4gPiA+ID4gVGhhbmtzDQo+ID4gPiA+ID4gPiA+ID4gTGltaW5nDQo+ID4gPiA+ID4g PiA+ID4gPi0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ID4gPiA+ID4gPiA+ID4gPkZyb206 IE1lZW5ha3NoaSBBZ2dhcndhbA0KPiA+ID4gPiA+IFttYWlsdG86bWVlbmFrc2hpLmFnZ2Fyd2Fs QG54cC5jb21dDQo+ID4gPiA+ID4gPiA+ID4gPlNlbnQ6IEZyaWRheSwgT2N0b2JlciAxMywgMjAx NyAyOjA3IFBNDQo+ID4gPiA+ID4gPiA+ID4gPlRvOiBBcmQgQmllc2hldXZlbCA8YXJkLmJpZXNo ZXV2ZWxAbGluYXJvLm9yZz47DQo+ID4gPiA+ID4gS2lubmV5LCBNaWNoYWVsIEQNCj4gPiA+ID4g PiA+ID4gPiA+PG1pY2hhZWwuZC5raW5uZXlAaW50ZWwuY29tPjsgZWRrMi0NCj4gPiA+ID4gPiBk ZXZlbEBsaXN0cy4wMS5vcmc7IEdhbywgTGltaW5nDQo+ID4gPiA+ID4gPiA+ID4gPjxsaW1pbmcu Z2FvQGludGVsLmNvbT4NCj4gPiA+ID4gPiA+ID4gPiA+U3ViamVjdDogUkU6IFtlZGsyXSBbUEFU Q0ggMS8xXSBNZGVQa2cvSW9MaWI6DQo+ID4gPiA+ID4gQWRkIHN1cHBvcnQgZm9yDQo+ID4gPiA+ ID4gPiA+ID4gPmJpZy1lbmRpYW4gTU1JTw0KPiA+ID4gPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ ID4gPiA+SGkgQWxsLA0KPiA+ID4gPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ID4gPiA+DQo+ID4g PiA+ID4gPiA+ID4gPkl04oCZcyBhIHByZXR0eSBvbGQgZGlzY3Vzc2lvbiwgd2UgaGF2ZSBsZWZ0 IHRoZQ0KPiA+ID4gPiA+IHVwc3RyZWFtaW5nIG9mIE5YUA0KPiA+ID4gPiA+ID4gPiA+ID5wYWNr YWdlIGluIGJldHdlZW4gYmVjYXVzZSBvZiBzb21lIG90aGVyIHdvcmssDQo+ID4gPiA+ID4gYnV0 IGhhdmUgc3RhcnRlZCBpdA0KPiA+ID4gPiA+ID4gPiA+ID5hZ2Fpbg0KPiA+ID4gPiA+ID4gPiA+ IG5vdy4NCj4gPiA+ID4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4g PiA+ID5Jc3N1ZSAgOiBGZXcgTlhQIG1vZHVsZXMgc3VwcG9ydCBCaWcgRW5kaWFuDQo+ID4gPiA+ ID4gTU1JT3MgYXMgdGhlc2UgYXJlIHBvcnRlZA0KPiA+ID4gPiA+ID4gPiA+ID5mcm9tIFBvd2Vy UEMuDQo+ID4gPiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gPiA+ID5Tb2x1dGlvbiBzdWdnZXN0 ZWQgOiBDcmVhdGUgYSBzZXBhcmF0ZSBsaWJyYXJ5DQo+ID4gPiA+ID4gZm9yIEJFIE1NSU8gQVBJ cy4NCj4gPiA+ID4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gPiA+ ID5TbyB3aGF0IEkgaGF2ZSBkb25lIGlzLCBJIGhhdmUgY3JlYXRlZCBhDQo+ID4gPiA+ID4gc2Vw YXJhdGUgbGlicmFyeSB0byBzdXBwb3J0DQo+ID4gPiA+ID4gPiA+ID4gPkJFIE1NSU8gQVBJcyBh bmQgY3VycmVudGx5IGtlZXBpbmcgaXQgdG8gbXkNCj4gPiA+ID4gPiBwYWNrYWdlLg0KPiA+ID4g PiA+ID4gPiA+ID5UaGlzIGxpYnJhcnkgaXMgYmFzaWNhbGx5IGEgd3JhcHBlciBvdmVyDQo+ID4g PiA+ID4gZXhpc3RpbmcgTU1JTyBBUElzLg0KPiA+ID4gPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ ID4gPiA+VUlOVDMyDQo+ID4gPiA+ID4gPiA+ID4gPkVGSUFQSQ0KPiA+ID4gPiA+ID4gPiA+ID5C ZU1taW9SZWFkMzIgKA0KPiA+ID4gPiA+ID4gPiA+ID4gIElOICBVSU5UTiAgICAgQWRkcmVzcw0K PiA+ID4gPiA+ID4gPiA+ID4gICkNCj4gPiA+ID4gPiA+ID4gPiA+ew0KPiA+ID4gPiA+ID4gPiA+ ID4gIFVJTlQzMiAgVmFsdWU7DQo+ID4gPiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gPiA+ID4g IFZhbHVlID0gTW1pb1JlYWQzMihBZGRyZXNzKTsNCj4gPiA+ID4gPiA+ID4gPiA+DQo+ID4gPiA+ ID4gPiA+ID4gPiAgcmV0dXJuIFN3YXBCeXRlczMyKFZhbHVlKTsgfQ0KPiA+ID4gPiA+ID4gPiA+ ID4NCj4gPiA+ID4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiA+ID4gPk5lZWQgeW91ciBvcGluaW9u IG9uIGJlbG93IG9wdGlub3M6DQo+ID4gPiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gPiA+ID4x LiBXaWxsIHRoaXMgYmUgYSBnb29kIGlkZWEgdG8gbWFrZSB0aGlzIGxpYnJhcnkNCj4gPiA+ID4g PiBhIHBhcnQgb2YgTWRlUGtnPyBPUg0KPiA+ID4gPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ID4g PiA+Mi4gQWRkIGEgbmV3IGZpbGUgZS5nLiBJb0JlTW1pby5jIGxpa2UNCj4gPiA+ID4gPiBJb0hp Z2hMZXZlbC5jIGluDQo+ID4gPiA+ID4gPiA+ID4gPk1kZVBrZy9MaWJyYXJ5L0Jhc2VJb0xpYklu dHJpbnNpYy8NCj4gPiA+ID4gPiA+ID4gPiA+IEFuZCBtYWRlIHRoZXNlIEFQSXMgYSBwYXJ0IG9m IElvTGliIGl0c2VsZi4gT1INCj4gPiA+ID4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiA+ID4gPjMu IEtlZXAgdGhpcyBsaWJyYXJ5IGludGVybmFsIHRvIE5YUCBwYWNrYWdlLg0KPiA+ID4gPiA+ID4g PiA+ID4NCj4gPiA+ID4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiA+ID4gPlBsZWFzZSBwcm92aWRl IHlvdXIgaW5wdXRzLg0KPiA+ID4gPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ID4gPiA+DQo+ID4g PiA+ID4gPiA+ID4gPlRoYW5rcyAmIFJlZ2FyZHMsDQo+ID4gPiA+ID4gPiA+ID4gPk1lZW5ha3No aQ0KPiA+ID4gPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ID4gPiA+PiAtLS0tLU9yaWdpbmFsIE1l c3NhZ2UtLS0tLQ0KPiA+ID4gPiA+ID4gPiA+ID4+IEZyb206IEJodXBlc2ggU2hhcm1hDQo+ID4g PiA+ID4gPiA+ID4gPj4gU2VudDogTW9uZGF5LCBPY3RvYmVyIDE3LCAyMDE2IDM6MjggUE0NCj4g PiA+ID4gPiA+ID4gPiA+PiBUbzogQXJkIEJpZXNoZXV2ZWwNCj4gPiA+ID4gPiA8YXJkLmJpZXNo ZXV2ZWxAbGluYXJvLm9yZz47IEtpbm5leSwgTWljaGFlbCBEDQo+ID4gPiA+ID4gPiA+ID4gPj4g PG1pY2hhZWwuZC5raW5uZXlAaW50ZWwuY29tPg0KPiA+ID4gPiA+ID4gPiA+ID4+IENjOiBHYW8s IExpbWluZyA8bGltaW5nLmdhb0BpbnRlbC5jb20+OyBlZGsyLQ0KPiA+ID4gPiA+IGRldmVsQG1s MDEuMDEub3JnOw0KPiA+ID4gPiA+ID4gPiA+ID4+IE1lZW5ha3NoaSBBZ2dhcndhbA0KPiA+ID4g PiA+IDxtZWVuYWtzaGkuYWdnYXJ3YWxAbnhwLmNvbT4NCj4gPiA+ID4gPiA+ID4gPiA+PiBTdWJq ZWN0OiBSRTogW2VkazJdIFtQQVRDSCAxLzFdIE1kZVBrZy9Jb0xpYjoNCj4gPiA+ID4gPiBBZGQg c3VwcG9ydCBmb3INCj4gPiA+ID4gPiA+ID4gPiA+PiBiaWctZW5kaWFuIE1NSU8NCj4gPiA+ID4g PiA+ID4gPiA+Pg0KPiA+ID4gPiA+ID4gPiA+ID4+IEhpIEFyZCwNCj4gPiA+ID4gPiA+ID4gPiA+ Pg0KPiA+ID4gPiA+ID4gPiA+ID4+ID4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gPiA+ ID4gPiA+ID4gPiA+PiA+IEZyb206IEFyZCBCaWVzaGV1dmVsDQo+ID4gPiA+ID4gW21haWx0bzph cmQuYmllc2hldXZlbEBsaW5hcm8ub3JnXQ0KPiA+ID4gPiA+ID4gPiA+ID4+ID4gU2VudDogTW9u ZGF5LCBPY3RvYmVyIDE3LCAyMDE2IDE6MTIgUE0NCj4gPiA+ID4gPiA+ID4gPiA+PiA+IFRvOiBL aW5uZXksIE1pY2hhZWwgRA0KPiA+ID4gPiA+IDxtaWNoYWVsLmQua2lubmV5QGludGVsLmNvbT4N Cj4gPiA+ID4gPiA+ID4gPiA+PiA+IENjOiBHYW8sIExpbWluZyA8bGltaW5nLmdhb0BpbnRlbC5j b20+Ow0KPiA+ID4gPiA+IEJodXBlc2ggU2hhcm1hDQo+ID4gPiA+ID4gPiA+ID4gPj4gPiA8Ymh1 cGVzaC5zaGFybWFAbnhwLmNvbT47IGVkazItDQo+ID4gPiA+ID4gZGV2ZWxAbWwwMS4wMS5vcmcN Cj4gPiA+ID4gPiA+ID4gPiA+PiA+IFN1YmplY3Q6IFJlOiBbZWRrMl0gW1BBVENIIDEvMV0NCj4g PiA+ID4gPiBNZGVQa2cvSW9MaWI6IEFkZCBzdXBwb3J0IGZvcg0KPiA+ID4gPiA+ID4gPiA+ID4+ ID4gYmlnLSBlbmRpYW4gTU1JTw0KPiA+ID4gPiA+ID4gPiA+ID4+ID4NCj4gPiA+ID4gPiA+ID4g PiA+PiA+IE9uIDE3IE9jdG9iZXIgMjAxNiBhdCAwNToxMCwgS2lubmV5LCBNaWNoYWVsDQo+ID4g PiA+ID4gRA0KPiA+ID4gPiA+ID4gPiA+ID4+ID4gPG1pY2hhZWwuZC5raW5uZXlAaW50ZWwuY29t PiB3cm90ZToNCj4gPiA+ID4gPiA+ID4gPiA+PiA+ID4gQmh1cGVzaCwNCj4gPiA+ID4gPiA+ID4g PiA+PiA+ID4NCj4gPiA+ID4gPiA+ID4gPiA+PiA+ID4gSXQgaXMgYWxzbyBwb3NzaWJsZSB0byBh ZGQgYW4gQVJNIHNwZWNpZmljDQo+ID4gPiA+ID4gUENEIHRvIHNlbGVjdA0KPiA+ID4gPiA+ID4g PiA+ID4+ID4gPiBlbmRpYW5uZXNzIGFuZCB1cGRhdGUNCj4gPiA+ID4gPiA+ID4gPiA+PiA+ID4N Cj4gPiA+ID4gPiBNZGVQa2cvTGlicmFyeS9CYXNlSW9MaWJJbnRyaW5zaWMvSW9MaWJBcm0uYyB0 byB1c2UgdGhhdCBQQ0QgaW4NCj4gPiA+ID4gPiA+ID4gPiA+PiA+ID4gTW1pb1JlYWQvV3JpdGUo KSBBUElzIGluIHRoYXQgZmlsZSB0bw0KPiA+ID4gPiA+IHN1cHBvcnQgYm90aCBlbmRpYW4gdHlw ZXMuDQo+ID4gPiA+ID4gPiA+ID4gPj4gPiA+IFlvdSBjYW4gdXNlIHRoZSBTd2FwQnl0ZXN4eCgp IGZ1bmN0aW9ucw0KPiA+ID4gPiA+IGZyb20gQmFzZUxpYihhcw0KPiA+ID4gPiA+ID4gPiA+ID4+ ID4gTGFzemxvDQo+ID4gPiA+ID4gPiA+ID4gPj4gPiA+IHN1Z2dlc3RlZCkgYmFzZWQgb24gdGhl IHNldHRpbmcgb2YgdGhpcw0KPiA+ID4gPiA+IEFSTSBzcGVjaWZpYyBQQ0QuDQo+ID4gPiA+ID4g PiA+ID4gPj4gPiA+DQo+ID4gPiA+ID4gPiA+ID4gPj4gPiA+IE1vZHVsZXMgdGhhdCBsaW5rIGFn YWluc3QgdGhpcyBsaWIgY2FuDQo+ID4gPiA+ID4gc2VsZWN0IGVuZGlhbm5lc3MgYnkNCj4gPiA+ ID4gPiA+ID4gPiA+PiA+ID4gc2V0dGluZyBQQ0QgaW4gdGhlIHNjb3BlIG9mIHRoYXQgbW9kdWxl Lg0KPiA+ID4gPiA+ID4gPiA+ID4+ID4gPg0KPiA+ID4gPiA+ID4gPiA+ID4+ID4gPiBUaGUgSVBG IHZlcnNpb24gb2YgSW9MaWIgdXNlcyBhbiBJUEYNCj4gPiA+ID4gPiBzcGVjaWZpYyBQQ0QgdG8g dHJhbnNsYXRlDQo+ID4gPiA+ID4gPiA+ID4gPj4gPiA+IEkvTyBwb3J0IGFjY2Vzc2VzIHRvIE1N SU8gYWNjZXNzZXMuICBTbw0KPiA+ID4gPiA+IHRoZXJlIGlzIGFscmVhZHkgYW4NCj4gPiA+ID4g PiA+ID4gPiA+PiA+ID4gZXhhbXBsZSBvZiBhbiBhcmNoIHNwZWNpZmljIFBDRCBpbiB0aGlzDQo+ ID4gPiA+ID4gbGliIGluc3RhbmNlLg0KPiA+ID4gPiA+ID4gPiA+ID4+ID4gPg0KPiA+ID4gPiA+ ID4gPiA+ID4+ID4NCj4gPiA+ID4gPiA+ID4gPiA+PiA+IFRoaXMgaXMgbm90IGEgcGxhdGZvcm0g d2lkZSB0aGluZywgaXQgaXMgYQ0KPiA+ID4gPiA+IHBlci1kZXZpY2UgcHJvcGVydHkNCj4gPiA+ ID4gPiA+ID4gPiA+PiA+IHdoZXRoZXIgdGhlIE1NSU8gb2NjdXJzIGluIGJpZyBlbmRpYW4gb3IN Cj4gPiA+ID4gPiBsaXR0bGUgZW5kaWFuIG1hbm5lci4NCj4gPiA+ID4gPiA+ID4gPiA+PiA+DQo+ ID4gPiA+ID4gPiA+ID4gPj4gPiBTbyBJIHRoaW5rIExpbWluZydzIHN1Z2dlc3Rpb24gbWFrZXMg c2Vuc2U6DQo+ID4gPiA+ID4gY3JlYXRlIGFuIElvTGliDQo+ID4gPiA+ID4gPiA+ID4gPj4gPiBp bXBsZW1lbnRhdGlvbiB0aGF0IHBlcmZvcm1zIHRoZSBieXRlDQo+ID4gPiA+ID4gc3dhcHBpbmcs IGFuZCBzZWxlY3RpdmVseQ0KPiA+ID4gPiA+ID4gPiA+ID4+ID4gaW5jb3Jwb3JhdGUgaXQgaW50 byBkcml2ZXJzIHRoYXQgcmVxdWlyZSBpdA0KPiA+ID4gPiA+IHVzaW5nDQo+ID4gPiA+ID4gPiA+ ID4gPj4gPg0KPiA+ID4gPiA+ID4gPiA+ID4+ID4gQmVNbWlvRGV2aWNlRHhlLmluZiB7DQo+ID4g PiA+ID4gPiA+ID4gPj4gPiAgIDxMaWJyYXJ5Q2xhc3Nlcz4NCj4gPiA+ID4gPiA+ID4gPiA+PiA+ ICAgICBJb0xpYnxTb21lUGtnL0xpYnJhcnkvQmlnRW5kaWFuSW9MaWIuaW5mDQo+ID4gPiA+ID4g PiA+ID4gPj4gPiB9DQo+ID4gPiA+ID4gPiA+ID4gPj4NCj4gPiA+ID4gPiA+ID4gPiA+PiBUaGF0 J3MgY29ycmVjdC4gSSB0aGluayBjcmVhdGluZyBhIHNlcGFyYXRlDQo+ID4gPiA+ID4gSW9MaWIg Zm9yIGJ5dGUtc3dhcHBpbmcNCj4gPiA+ID4gPiA+ID4gPiA+PiBtYWtlcyBzZW5zZS4NCj4gPiA+ ID4gPiA+ID4gPiA+Pg0KPiA+ID4gPiA+ID4gPiA+ID4+IFdlIHdpbGwgcmV3b3JrIHRoZSBwYXRj aCBhY2NvcmRpbmdseS4NCj4gPiA+ID4gPiA+ID4gPiA+Pg0KPiA+ID4gPiA+ID4gPiA+ID4+IFJl Z2FyZHMsDQo+ID4gPiA+ID4gPiA+ID4gPj4gQmh1cGVzaA0KPiA+ID4gPiA+ID4gPiA+IF9fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fDQo+ID4gPiA+ID4gPiA+ ID4gZWRrMi1kZXZlbCBtYWlsaW5nIGxpc3QNCj4gPiA+ID4gPiA+ID4gPiBlZGsyLWRldmVsQGxp c3RzLjAxLm9yZw0KPiA+ID4gPiA+ID4gPiA+DQo+ID4gPiBodHRwczovL2VtZWEwMS5zYWZlbGlu a3MucHJvdGVjdGlvbi5vdXRsb29rLmNvbS8/dXJsPWh0dHBzJTNBJTJGJTJGbA0KPiA+ID4gaXN0 DQo+ID4gPiBzLjAxLm9yZyUyRm1haWxtYW4lMkZsaXN0aW5mbyUyRmVkazItDQo+ID4gPg0KPiBk ZXZlbCZkYXRhPTAyJTdDMDElN0NtZWVuYWtzaGkuYWdnYXJ3YWwlNDBueHAuY29tJTdDNjk1ZTQz Y2JiNTENCj4gPiA+DQo+IGE0NzFjZDQ0NjA4ZDUzNzYyMzBiMCU3QzY4NmVhMWQzYmMyYjRjNmZh OTJjZDk5YzVjMzAxNjM1JTdDMCU3QzANCj4gPiA+ICU3QzYzNjQ3NTgxNzIyMDY2MzYxMiZzZGF0 YT1od1FoOGRmVWtWR3ptN3VRQjklMkZpcmV4bVlFa2RFUQ0KPiA+ID4gJTJCdTk3NjA2TCUyRkhF ZmclM0QmcmVzZXJ2ZWQ9MA0KPiA+ID4gPiA+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fDQo+ID4gPiA+ID4gZWRrMi1kZXZlbCBtYWlsaW5nIGxpc3QNCj4g PiA+ID4gPiBlZGsyLWRldmVsQGxpc3RzLjAxLm9yZw0KPiA+ID4gPiA+DQo+ID4gPiBodHRwczov L2VtZWEwMS5zYWZlbGlua3MucHJvdGVjdGlvbi5vdXRsb29rLmNvbS8/dXJsPWh0dHBzJTNBJTJG JTJGbA0KPiA+ID4gaXN0DQo+ID4gPiBzLjAxLm9yZyUyRm1haWxtYW4lMkZsaXN0aW5mbyUyRmVk azItDQo+ID4gPg0KPiBkZXZlbCZkYXRhPTAyJTdDMDElN0NtZWVuYWtzaGkuYWdnYXJ3YWwlNDBu eHAuY29tJTdDNjk1ZTQzY2JiNTENCj4gPiA+DQo+IGE0NzFjZDQ0NjA4ZDUzNzYyMzBiMCU3QzY4 NmVhMWQzYmMyYjRjNmZhOTJjZDk5YzVjMzAxNjM1JTdDMCU3QzANCj4gPiA+ICU3QzYzNjQ3NTgx NzIyMDY2MzYxMiZzZGF0YT1od1FoOGRmVWtWR3ptN3VRQjklMkZpcmV4bVlFa2RFUQ0KPiA+ID4g JTJCdTk3NjA2TCUyRkhFZmclM0QmcmVzZXJ2ZWQ9MA0KPiBfX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fXw0KPiBlZGsyLWRldmVsIG1haWxpbmcgbGlzdA0KPiBl ZGsyLWRldmVsQGxpc3RzLjAxLm9yZw0KPiBodHRwczovL2VtZWEwMS5zYWZlbGlua3MucHJvdGVj dGlvbi5vdXRsb29rLmNvbS8/dXJsPWh0dHBzJTNBJTJGJTJGbGlzdHMuMDENCj4gLm9yZyUyRm1h aWxtYW4lMkZsaXN0aW5mbyUyRmVkazItDQo+IGRldmVsJmRhdGE9MDIlN0MwMSU3Q3VkaXQua3Vt YXIlNDBueHAuY29tJTdDZDA2MDE4MzM2YTA2NDhmYThlNDQwDQo+IDhkNTM4YWE1ZjE5JTdDNjg2 ZWExZDNiYzJiNGM2ZmE5MmNkOTljNWMzMDE2MzUlN0MwJTdDMCU3QzYzNjQ3NzINCj4gMjY3NjEy NTMxMjQmc2RhdGE9YkFVJTJCT2lkYnpiS3c3Nk9PcTUlMkZVcGx3UWJvOGlNbkUzYWxIWTRwdEFY DQo+IE1VJTNEJnJlc2VydmVkPTANCg==