From mboxrd@z Thu Jan 1 00:00:00 1970 Authentication-Results: mx.groups.io; dkim=missing; spf=pass (domain: intel.com, ip: 192.55.52.120, mailfrom: michael.d.kinney@intel.com) Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by groups.io with SMTP; Wed, 24 Apr 2019 09:50:29 -0700 X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga005.jf.intel.com ([10.7.209.41]) by fmsmga104.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 24 Apr 2019 09:50:28 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.60,390,1549958400"; d="scan'208";a="318620238" Received: from orsmsx109.amr.corp.intel.com ([10.22.240.7]) by orsmga005.jf.intel.com with ESMTP; 24 Apr 2019 09:50:28 -0700 Received: from orsmsx152.amr.corp.intel.com (10.22.226.39) by ORSMSX109.amr.corp.intel.com (10.22.240.7) with Microsoft SMTP Server (TLS) id 14.3.408.0; Wed, 24 Apr 2019 09:50:28 -0700 Received: from orsmsx113.amr.corp.intel.com ([169.254.9.24]) by ORSMSX152.amr.corp.intel.com ([169.254.8.32]) with mapi id 14.03.0415.000; Wed, 24 Apr 2019 09:50:28 -0700 From: "Michael D Kinney" To: "Loh, Tien Hock" , "Wu, Hao A" , "devel@edk2.groups.io" , "thloh85@gmail.com" , "Kinney, Michael D" CC: "Wang, Jian J" Subject: Re: [edk2-devel] [PATCH 1/1] MdeModulePkg: BaseSerialPortLib16550: Add Mmio32 support Thread-Topic: [edk2-devel] [PATCH 1/1] MdeModulePkg: BaseSerialPortLib16550: Add Mmio32 support Thread-Index: AQHU+kq0JGPi1c4bKkqR0p9srG+i0aZKoZHggAAJZxCAAKwHgIAALbSw Date: Wed, 24 Apr 2019 16:50:27 +0000 Message-ID: References: <1556075112-185791-1-git-send-email-tien.hock.loh@intel.com> In-Reply-To: Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-product: dlpe-windows dlp-version: 11.0.600.7 dlp-reaction: no-action x-originating-ip: [10.22.254.140] MIME-Version: 1.0 Return-Path: michael.d.kinney@intel.com Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 SGksDQoNCkNhbiB3ZSBjaGFuZ2UgdGhlIG5hbWUgb2YgdGhlIGFjY2VzcyBzaXplIFBDRCBzbyBp dA0KZG9lcyBub3QgdXNlIE1taW8gaW4gdGhlIG5hbWU/DQoNCkkgYW0gb2sgd2l0aCBub3QgaW1w bGVtZW50aW5nIHN1cHBvcnQgZm9yIGRpZmZlcmVudA0KYWNjZXNzIHdpZHRocyBmb3IgSS9PLCBi dXQgaXQgd291bGQgYmUgZ29vZCBpZiB0aGUgUENEDQpuYW1lIGFuZCBkZXNjcmlwdGlvbiBpcyBm b3IgdGhlIGFjY2VzcyB3aWR0aCBzbyBpdCANCmNvdWxkIHBvdGVudGlhbGx5IGJlIHVzZWQgZm9y IEkvTyBpbiB0aGUgZnV0dXJlIGlmIA0KdGhlcmUgaXMgYSBuZWVkLiAgVGhlIGRlZmF1bHQgYWNj ZXNzIHdpZHRoIGNhbiBiZSA4LWJpdHMNCnNvIGl0IGlzIGEgY29tcGF0aWJsZSBjaGFuZ2UuDQoN CkhvdyBhYm91dCB0aGUgZm9sbG93aW5nIG5hbWUgYW5kIGRlc2NyaXB0aW9uIGluIHRoZSBERUMg ZmlsZT8NCg0KICAjIyBJbmRpY2F0ZXMgdGhlIGFjY2VzcyB3aWR0aCBmb3IgMTY1NTAgc2VyaWFs IHBvcnQgcmVnaXN0ZXJzLg0KICAjIERlZmF1bHQgaXMgOC1iaXQgYWNjZXNzIG1vZGUuPEJSPjxC Uj4NCiAgIyAgIDggIC0gMTY1NTAgc2VyaWFsIHBvcnQgcmVnaXN0ZXJzIGFyZSBhY2Nlc3NlZCBp biA4LWJpdCB3aWR0aC48QlI+DQogICMgICAzMiAtIDE2NTUwIHNlcmlhbCBwb3J0IHJlZ2lzdGVy cyBhcmUgYWNjZXNzZWQgaW4gMzItYml0IHdpZHRoLjxCUj4NCiAgIyBAUHJvbXB0IFNlcmlhbCBw b3J0IHJlZ2lzdGVyIGFjY2VzcyB3aWR0aC4NCiAgZ0VmaU1kZU1vZHVsZVBrZ1Rva2VuU3BhY2VH dWlkLlBjZFNlcmlhbFJlZ2lzdGVyQWNjZXNzV2lkdGh8OHxVSU5UOHwweDAwMDIwMDA3DQoNClRo YW5rcywNCg0KTWlrZQ0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IExv aCwgVGllbiBIb2NrDQo+IFNlbnQ6IFR1ZXNkYXksIEFwcmlsIDIzLCAyMDE5IDExOjU4IFBNDQo+ IFRvOiBLaW5uZXksIE1pY2hhZWwgRCA8bWljaGFlbC5kLmtpbm5leUBpbnRlbC5jb20+OyBXdSwN Cj4gSGFvIEEgPGhhby5hLnd1QGludGVsLmNvbT47IGRldmVsQGVkazIuZ3JvdXBzLmlvOw0KPiB0 aGxvaDg1QGdtYWlsLmNvbQ0KPiBDYzogV2FuZywgSmlhbiBKIDxqaWFuLmoud2FuZ0BpbnRlbC5j b20+DQo+IFN1YmplY3Q6IFJlOiBbZWRrMi1kZXZlbF0gW1BBVENIIDEvMV0gTWRlTW9kdWxlUGtn Og0KPiBCYXNlU2VyaWFsUG9ydExpYjE2NTUwOiBBZGQgTW1pbzMyIHN1cHBvcnQNCj4gDQo+IEhp IE1pa2UsIEhhbywNCj4gDQo+IFJlcGxpZXMgaW5saW5lZC4NCj4gDQo+IE9uIFdlZCwgMjAxOS0w NC0yNCBhdCAwMzo0NSArMDAwMCwgTWljaGFlbCBEIEtpbm5leQ0KPiB3cm90ZToNCj4gPiBPbmUg aXNzdWUgSSBzZWUgaXMgdXNpbmcgYSBGZWF0dXJlRmxhZyBQQ0QuDQo+ID4gVGhlc2UgUENEcyBj YW4gb25seSBiZSBUUlVFIG9yIEZBTFNFLCBzbyB0aGV5IGNhbiBub3QNCj4gYmUNCj4gPiBleHRl bmRlZCBsYXRlci4gIEEgRml4ZWRBdEJ1aWxkIFBDRCBvZiB0eXBlIEJPT0wgaGFzDQo+IHRoZQ0K PiA+IHNhbWUgaXNzdWUuDQo+ID4NCj4gPiBJdCB3b3VsZCBiZSBiZXR0ZXIgdG8gdXNlIGEgVUlO VHggRml4ZWRBdEJ1aWxkIFBDRCwgYW5kDQo+ID4gZGVmaW5lIGEgYml0IG9yIGEgdmFsdWUgZm9y IDMyLWJpdCBhY2Nlc3MuICBUaGF0IHdheSwNCj4gaWYNCj4gPiB0aGVyZSBpcyBhIGRldmljZSB0 aGF0IHJlcXVpcmVzIDE2LWJpdCBhY2Nlc3MsIGl0IGNhbg0KPiBiZQ0KPiA+IGFkZGVkIGluIHRo ZSBzYW1lIFBDRC4NCj4gPg0KPiBPSyBub3RlZC4gSSdsbCB1cGRhdGUgd2l0aCBVSU5UOCwgYW5k IHNldCAweDAgdG8gZGVmYXVsdA0KPiA4Yml0cyBhbmQgMHgxDQo+IHRvIDMyIGJpdHMgYWNjZXNz DQo+IA0KPiA+IEFsc28sIHNob3VsZCB0aGUgbmV3IFBDRCBiZSBsaW1pdGVkIHRvIE1NSU8/ICBJ dCBjb3VsZA0KPiBiZQ0KPiA+IGFuIGFjY2VzcyB3aWR0aCBQQ0QgdGhhdCBjb3VsZCBiZSBhcHBs aWVkIHRvIEkvTyBvcg0KPiBNTUlPDQo+ID4gQWNjZXNzLg0KPiA+DQo+IEknbSBub3Qgc3VyZSBp ZiB0aGlzIHNob3VsZCBhZmZlY3QgdGhlIEkvTy4gSSB3b3VsZA0KPiBzZXBhcmF0ZSB0aGUgSS9P DQo+IGFjY2VzcyB3aXRoIE1NSU8gYWNjZXNzIHdpdGggZGlmZmVyZW50IFBDRCwgSSdsbCBza2lw DQo+IHRoaXMgZm9yIG5vdyBhcyBJDQo+IGRvbid0IGhhdmUgcGxhdGZvcm0gdGhhdCB1c2VzIEkv TyBzcGFjZSwgdGh1cyBJJ20gdW5hYmxlDQo+IHRvIHRlc3QgdGhlDQo+IGNoYW5nZXMuDQo+IA0K PiA+IE1pa2UNCj4gPg0KPiA+ID4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gPiA+IEZy b206IGRldmVsQGVkazIuZ3JvdXBzLmlvDQo+IFttYWlsdG86ZGV2ZWxAZWRrMi5ncm91cHMuaW9d DQo+ID4gPiBPbiBCZWhhbGYgT2YgV3UsIEhhbyBBDQo+ID4gPiBTZW50OiBUdWVzZGF5LCBBcHJp bCAyMywgMjAxOSA4OjIwIFBNDQo+ID4gPiBUbzogTG9oLCBUaWVuIEhvY2sgPHRpZW4uaG9jay5s b2hAaW50ZWwuY29tPjsNCj4gPiA+IGRldmVsQGVkazIuZ3JvdXBzLmlvOyB0aGxvaDg1QGdtYWls LmNvbQ0KPiA+ID4gQ2M6IFdhbmcsIEppYW4gSiA8amlhbi5qLndhbmdAaW50ZWwuY29tPg0KPiA+ ID4gU3ViamVjdDogUmU6IFtlZGsyLWRldmVsXSBbUEFUQ0ggMS8xXSBNZGVNb2R1bGVQa2c6DQo+ ID4gPiBCYXNlU2VyaWFsUG9ydExpYjE2NTUwOiBBZGQgTW1pbzMyIHN1cHBvcnQNCj4gPiA+DQo+ ID4gPiA+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ID4gPiA+IEZyb206IExvaCwgVGll biBIb2NrDQo+ID4gPiA+IFNlbnQ6IFdlZG5lc2RheSwgQXByaWwgMjQsIDIwMTkgMTE6MDUgQU0N Cj4gPiA+ID4gVG86IGRldmVsQGVkazIuZ3JvdXBzLmlvOyB0aGxvaDg1QGdtYWlsLmNvbQ0KPiA+ ID4gPiBDYzogTG9oLCBUaWVuIEhvY2s7IFdhbmcsIEppYW4gSjsgV3UsIEhhbyBBDQo+ID4gPiA+ IFN1YmplY3Q6IFtQQVRDSCAxLzFdIE1kZU1vZHVsZVBrZzoNCj4gPiA+DQo+ID4gPiBCYXNlU2Vy aWFsUG9ydExpYjE2NTUwOiBBZGQgTW1pbzMyDQo+ID4gPiA+IHN1cHBvcnQNCj4gPiA+ID4NCj4g PiA+ID4gRnJvbTogIlRpZW4gSG9jaywgTG9oIiA8dGllbi5ob2NrLmxvaEBpbnRlbC5jb20+DQo+ ID4gPiA+DQo+ID4gPiA+IFNvbWUgYnVzc2VzIGRvZXNuJ3QgYWxsb3cgOCBiaXQgTU1JTyByZWFk L3dyaXRlLA0KPiB0aGlzDQo+ID4gPg0KPiA+ID4gYWRkcyBzdXBwb3J0IGZvcg0KPiA+ID4gPiAz MiBiaXRzIHJlYWQvd3JpdGUNCj4gPiA+DQo+ID4gPiBIZWxsbyBUaWVuIEhvY2ssDQo+ID4gPg0K PiA+ID4gWW91ciBWMiBwYXRjaCBzZWVtcyB0byBiZSBiYXNlZCBvbiB5b3VyIFYxIHBhdGNoLg0K PiA+ID4NCj4gPiA+IENvdWxkIHlvdSBoZWxwIHRvIHVwZGF0ZSB0aGUgVjIgcGF0Y2ggdG8gYmFz ZSBvbiB0aGUNCj4gdGlwDQo+ID4gPiBvZiB0aGUgZWRrMg0KPiA+ID4gbWFzdGVyIGJyYW5jaD8g VGhhbmtzLg0KPiA+ID4NCj4gPiA+IE9uZSBlYXN5IHdheSB0byBkbyB0aGlzIGlzIHRvIHNxdWFz aCB0aGUgMiBjb21taXRzDQo+IGludG8NCj4gPiA+IG9uZS4NCj4gPiA+DQo+IFllcyBzb3JyeSBJ IHdhc24ndCBhd2FyZSBJJ20gbWFraW5nIHBhdGNoIG9uIHRvcCBvZiBhDQo+IHBhdGNoLg0KPiA+ ID4NCj4gPiA+IFNvbWUgbWlub3IgY29tbWVudHM6DQo+ID4gPiBBLiBQbGVhc2UgaGVscCB0byB1 cGRhdGUgdGhlIGNvcHlyaWdodCB5ZWFyIGZvciB0aGUNCj4gPiA+IGZpbGVzOg0KPiA+ID4gICAg QmFzZVNlcmlhbFBvcnRMaWIxNjU1MC5jDQo+ID4gPiAgICBCYXNlU2VyaWFsUG9ydExpYjE2NTUw LmluZg0KPiA+ID4NCj4gT0sgbm90ZWQuIEknbGwgdXBkYXRlIHRoZSBjb3B5cmlnaHQgeWVhci4N Cj4gDQo+ID4gPiBCLiBGb3IgQmFzZVNlcmlhbFBvcnRMaWIxNjU1MC5pbmYsIG1heWJlOg0KPiA+ ID4NCj4gPiA+DQo+IGdFZmlNZGVNb2R1bGVQa2dUb2tlblNwYWNlR3VpZC5QY2RTZXJpYWxNbWlv MzJCaXRBY2Nlc3MNCj4gPiA+ICMjIFNPTUVUSU1FU19DT05TVU1FUw0KPiA+ID4NCj4gT0sgbm90 ZWQuDQo+IA0KPiA+ID4gaXMgbW9yZSBhcHByb3ByaWF0ZSBoZXJlLg0KPiA+ID4NCj4gPiA+IEJl c3QgUmVnYXJkcywNCj4gPiA+IEhhbyBXdQ0KPiA+ID4NCj4gPiA+ID4NCj4gPiA+ID4gU2lnbmVk LW9mZi1ieTogIlRpZW4gSG9jaywgTG9oIg0KPiA+ID4NCj4gPiA+IDx0aWVuLmhvY2subG9oQGlu dGVsLmNvbT4NCj4gPiA+ID4gQ2M6IEppYW4gSiBXYW5nIDxqaWFuLmoud2FuZ0BpbnRlbC5jb20+ DQo+ID4gPiA+IENjOiBIYW8gV3UgPGhhby5hLnd1QGludGVsLmNvbT4NCj4gPiA+ID4NCj4gPiA+ ID4gLS0NCj4gPiA+ID4gdjI6DQo+ID4gPiA+IC0gVXBkYXRlcyB0aGUgUGNkIG5hbWUgdG8gUGNk U2VyaWFsTW1pbzMyQml0QWNjZXNzDQo+IGFuZA0KPiA+ID4NCj4gPiA+IGFjY2VzcyAzMiBiaXRz DQo+ID4gPiA+IHJlZ2lzdGVyIGlmIFBjZFNlcmlhbFVzZU1taW8gYW5kDQo+ID4gPg0KPiA+ID4g UGNkU2VyaWFsTW1pbzMyQml0QWNjZXNzIGlzIHNldA0KPiA+ID4gPiAtLS0NCj4gPiA+ID4NCj4g Li4uL0Jhc2VTZXJpYWxQb3J0TGliMTY1NTAvQmFzZVNlcmlhbFBvcnRMaWIxNjU1MC5jDQo+ID4g PiA+IDE2ICsrKysrKysrLS0tLS0tLS0NCj4gPiA+ID4NCj4gLi4uL0Jhc2VTZXJpYWxQb3J0TGli MTY1NTAvQmFzZVNlcmlhbFBvcnRMaWIxNjU1MC5pbmYNCj4gPiA+ID4gIDIgKy0NCj4gPiA+ID4g IE1kZU1vZHVsZVBrZy9NZGVNb2R1bGVQa2cuZGVjDQo+ID4gPiA+IDEyICsrKysrKystLS0tLQ0K PiA+ID4gPiAgMyBmaWxlcyBjaGFuZ2VkLCAxNiBpbnNlcnRpb25zKCspLCAxNCBkZWxldGlvbnMo LSkNCj4gPiA+ID4NCj4gPiA+ID4gZGlmZiAtLWdpdA0KPiA+ID4gPg0KPiA+ID4NCj4gPiA+DQo+ IGEvTWRlTW9kdWxlUGtnL0xpYnJhcnkvQmFzZVNlcmlhbFBvcnRMaWIxNjU1MC9CYXNlU2VyaWFs UA0KPiA+ID4gb3J0TGliMTY1NTAuYw0KPiA+ID4gPg0KPiA+ID4NCj4gPiA+DQo+IGIvTWRlTW9k dWxlUGtnL0xpYnJhcnkvQmFzZVNlcmlhbFBvcnRMaWIxNjU1MC9CYXNlU2VyaWFsUA0KPiA+ID4g b3J0TGliMTY1NTAuYw0KPiA+ID4gPiBpbmRleCBiMjQyYjIzLi5mOTBmYjU1IDEwMDY0NA0KPiA+ ID4gPiAtLS0NCj4gPiA+DQo+ID4gPg0KPiBhL01kZU1vZHVsZVBrZy9MaWJyYXJ5L0Jhc2VTZXJp YWxQb3J0TGliMTY1NTAvQmFzZVNlcmlhbFANCj4gPiA+IG9ydExpYjE2NTUwLmMNCj4gPiA+ID4g KysrDQo+ID4gPiA+DQo+ID4gPg0KPiA+ID4NCj4gYi9NZGVNb2R1bGVQa2cvTGlicmFyeS9CYXNl U2VyaWFsUG9ydExpYjE2NTUwL0Jhc2VTZXJpYWxQDQo+ID4gPiBvcnRMaWIxNjU1MC5jDQo+ID4g PiA+IEBAIC03NiwxMCArNzYsMTAgQEAgU2VyaWFsUG9ydFJlYWRSZWdpc3RlciAoDQo+ID4gPiA+ ICAgIFVJTlROICBPZmZzZXQNCj4gPiA+ID4gICAgKQ0KPiA+ID4gPiAgew0KPiA+ID4gPiAtICBp ZiAoUGNkR2V0Qm9vbCAoUGNkU2VyaWFsVXNlTW1pbzMyKSkgew0KPiA+ID4gPiAtICAgIHJldHVy biAoVUlOVDgpIE1taW9SZWFkMzIgKEJhc2UgKyBPZmZzZXQgKg0KPiA+ID4NCj4gPiA+IFBjZEdl dDMyDQo+ID4gPiA+IChQY2RTZXJpYWxSZWdpc3RlclN0cmlkZSkpOw0KPiA+ID4gPiAtICB9DQo+ ID4gPiA+IC0gIGVsc2UgaWYgKFBjZEdldEJvb2wgKFBjZFNlcmlhbFVzZU1taW8pKSB7DQo+ID4g PiA+ICsgIGlmIChQY2RHZXRCb29sIChQY2RTZXJpYWxVc2VNbWlvKSkgew0KPiA+ID4gPiArICAg IGlmIChQY2RHZXRCb29sIChQY2RTZXJpYWxNbWlvMzJCaXRBY2Nlc3MpKSB7DQo+ID4gPiA+ICsg ICAgICByZXR1cm4gKFVJTlQ4KSBNbWlvUmVhZDMyIChCYXNlICsgT2Zmc2V0ICoNCj4gPiA+DQo+ ID4gPiBQY2RHZXQzMg0KPiA+ID4gPiAoUGNkU2VyaWFsUmVnaXN0ZXJTdHJpZGUpKTsNCj4gPiA+ ID4gKyAgICB9DQo+ID4gPiA+ICAgICAgcmV0dXJuIE1taW9SZWFkOCAoQmFzZSArIE9mZnNldCAq IFBjZEdldDMyDQo+ID4gPg0KPiA+ID4gKFBjZFNlcmlhbFJlZ2lzdGVyU3RyaWRlKSk7DQo+ID4g PiA+ICAgIH0gZWxzZSB7DQo+ID4gPiA+ICAgICAgcmV0dXJuIElvUmVhZDggKEJhc2UgKyBPZmZz ZXQgKiBQY2RHZXQzMg0KPiA+ID4NCj4gPiA+IChQY2RTZXJpYWxSZWdpc3RlclN0cmlkZSkpOw0K PiA+ID4gPiBAQCAtMTA2LDEwICsxMDYsMTAgQEAgU2VyaWFsUG9ydFdyaXRlUmVnaXN0ZXIgKA0K PiA+ID4gPiAgICBVSU5UOCAgVmFsdWUNCj4gPiA+ID4gICAgKQ0KPiA+ID4gPiAgew0KPiA+ID4g PiAtICBpZiAoUGNkR2V0Qm9vbCAoUGNkU2VyaWFsVXNlTW1pbzMyKSkgew0KPiA+ID4gPiAtICAg IHJldHVybiBNbWlvV3JpdGUzMiAoQmFzZSArIE9mZnNldCAqIFBjZEdldDMyDQo+ID4gPg0KPiA+ ID4gKFBjZFNlcmlhbFJlZ2lzdGVyU3RyaWRlKSwNCj4gPiA+ID4gKFVJTlQ4KVZhbHVlKTsNCj4g PiA+ID4gLSAgfQ0KPiA+ID4gPiAtICBlbHNlIGlmIChQY2RHZXRCb29sIChQY2RTZXJpYWxVc2VN bWlvKSkgew0KPiA+ID4gPiArICBpZiAoUGNkR2V0Qm9vbCAoUGNkU2VyaWFsVXNlTW1pbykpIHsN Cj4gPiA+ID4gKyAgICBpZiAoUGNkR2V0Qm9vbCAoUGNkU2VyaWFsTW1pbzMyQml0QWNjZXNzKSkg ew0KPiA+ID4gPiArICAgICAgcmV0dXJuIChVSU5UOCkgTW1pb1dyaXRlMzIgKEJhc2UgKyBPZmZz ZXQgKg0KPiA+ID4NCj4gPiA+IFBjZEdldDMyDQo+ID4gPiA+IChQY2RTZXJpYWxSZWdpc3RlclN0 cmlkZSksIChVSU5UOClWYWx1ZSk7DQo+ID4gPiA+ICsgICAgfQ0KPiA+ID4gPiAgICAgIHJldHVy biBNbWlvV3JpdGU4IChCYXNlICsgT2Zmc2V0ICogUGNkR2V0MzINCj4gPiA+DQo+ID4gPiAoUGNk U2VyaWFsUmVnaXN0ZXJTdHJpZGUpLA0KPiA+ID4gPiBWYWx1ZSk7DQo+ID4gPiA+ICAgIH0gZWxz ZSB7DQo+ID4gPiA+ICAgICAgcmV0dXJuIElvV3JpdGU4IChCYXNlICsgT2Zmc2V0ICogUGNkR2V0 MzINCj4gPiA+DQo+ID4gPiAoUGNkU2VyaWFsUmVnaXN0ZXJTdHJpZGUpLCBWYWx1ZSk7DQo+ID4g PiA+IGRpZmYgLS1naXQNCj4gPiA+ID4NCj4gPiA+DQo+ID4gPg0KPiBhL01kZU1vZHVsZVBrZy9M aWJyYXJ5L0Jhc2VTZXJpYWxQb3J0TGliMTY1NTAvQmFzZVNlcmlhbFANCj4gPiA+IG9ydExpYjE2 NTUwLmluZg0KPiA+ID4gPg0KPiA+ID4NCj4gPiA+DQo+IGIvTWRlTW9kdWxlUGtnL0xpYnJhcnkv QmFzZVNlcmlhbFBvcnRMaWIxNjU1MC9CYXNlU2VyaWFsUA0KPiA+ID4gb3J0TGliMTY1NTAuaW5m DQo+ID4gPiA+IGluZGV4IDU3NTcyOGEuLmMwM2Q5MGQgMTAwNjQ0DQo+ID4gPiA+IC0tLQ0KPiA+ ID4gPg0KPiA+ID4NCj4gPiA+DQo+IGEvTWRlTW9kdWxlUGtnL0xpYnJhcnkvQmFzZVNlcmlhbFBv cnRMaWIxNjU1MC9CYXNlU2VyaWFsUA0KPiA+ID4gb3J0TGliMTY1NTAuaW5mDQo+ID4gPiA+ICsr Kw0KPiA+ID4gPg0KPiA+ID4NCj4gPiA+DQo+IGIvTWRlTW9kdWxlUGtnL0xpYnJhcnkvQmFzZVNl cmlhbFBvcnRMaWIxNjU1MC9CYXNlU2VyaWFsUA0KPiA+ID4gb3J0TGliMTY1NTAuaW5mDQo+ID4g PiA+IEBAIC0yOSw3ICsyOSw3IEBADQo+ID4gPiA+ICAgIEJhc2VTZXJpYWxQb3J0TGliMTY1NTAu Yw0KPiA+ID4gPg0KPiA+ID4gPiAgW1BjZF0NCj4gPiA+ID4gLQ0KPiBnRWZpTWRlTW9kdWxlUGtn VG9rZW5TcGFjZUd1aWQuUGNkU2VyaWFsVXNlTW1pbzMyDQo+ID4gPg0KPiA+ID4gIyMNCj4gPiA+ ID4gQ09OU1VNRVMNCj4gPiA+ID4gKw0KPiA+ID4NCj4gPiA+DQo+IGdFZmlNZGVNb2R1bGVQa2dU b2tlblNwYWNlR3VpZC5QY2RTZXJpYWxNbWlvMzJCaXRBY2Nlc3MNCj4gPiA+ICMjDQo+ID4gPiA+ IENPTlNVTUVTDQo+ID4gPiA+ICAgIGdFZmlNZGVNb2R1bGVQa2dUb2tlblNwYWNlR3VpZC5QY2RT ZXJpYWxVc2VNbWlvDQo+ID4gPg0KPiA+ID4gIyMNCj4gPiA+ID4gQ09OU1VNRVMNCj4gPiA+ID4N Cj4gPiA+DQo+ID4gPg0KPiBnRWZpTWRlTW9kdWxlUGtnVG9rZW5TcGFjZUd1aWQuUGNkU2VyaWFs VXNlSGFyZHdhcmVGbG93Q28NCj4gPiA+IG50cm9sICAjIw0KPiA+ID4gPiBDT05TVU1FUw0KPiA+ ID4gPg0KPiBnRWZpTWRlTW9kdWxlUGtnVG9rZW5TcGFjZUd1aWQuUGNkU2VyaWFsRGV0ZWN0Q2Fi bGUNCj4gPiA+DQo+ID4gPiAjIw0KPiA+ID4gPiBTT01FVElNRVNfQ09OU1VNRVMNCj4gPiA+ID4g ZGlmZiAtLWdpdCBhL01kZU1vZHVsZVBrZy9NZGVNb2R1bGVQa2cuZGVjDQo+ID4gPiA+IGIvTWRl TW9kdWxlUGtnL01kZU1vZHVsZVBrZy5kZWMNCj4gPiA+ID4gaW5kZXggNGU1MzYyNS4uZjg2ODg1 MCAxMDA2NDQNCj4gPiA+ID4gLS0tIGEvTWRlTW9kdWxlUGtnL01kZU1vZHVsZVBrZy5kZWMNCj4g PiA+ID4gKysrIGIvTWRlTW9kdWxlUGtnL01kZU1vZHVsZVBrZy5kZWMNCj4gPiA+ID4gQEAgLTEx NzAsMTEgKzExNzAsMTMgQEANCj4gPiA+ID4gICAgIyBAUHJvbXB0IFNlcmlhbCBwb3J0IHJlZ2lz dGVycyB1c2UgTU1JTy4NCj4gPiA+ID4NCj4gPiA+ID4NCj4gPiA+DQo+ID4gPg0KPiBnRWZpTWRl TW9kdWxlUGtnVG9rZW5TcGFjZUd1aWQuUGNkU2VyaWFsVXNlTW1pb3xGQUxTRXxCT08NCj4gPiA+ IExFQU58MHgwMA0KPiA+ID4gPiAwMjAwMDANCj4gPiA+ID4NCj4gPiA+ID4gLSAgIyMgSW5kaWNh dGVzIHRoZSAxNjU1MCBzZXJpYWwgcG9ydCByZWdpc3RlcnMgYXJlDQo+IGluDQo+ID4gPg0KPiA+ ID4gTU1JTyAzMiBiaXQgc3BhY2UsIG9yIGluDQo+ID4gPiA+IEkvTyBzcGFjZS4gRGVmYXVsdCBp cyBJL08gc3BhY2UuPEJSPjxCUj4NCj4gPiA+ID4gLSAgIyAgIFRSVUUgIC0gMTY1NTAgc2VyaWFs IHBvcnQgcmVnaXN0ZXJzIGFyZSBpbg0KPiBNTUlPDQo+ID4gPg0KPiA+ID4gMzIgYml0IHNwYWNl LjxCUj4NCj4gPiA+ID4gLSAgIyAgIEZBTFNFIC0gMTY1NTAgc2VyaWFsIHBvcnQgcmVnaXN0ZXJz IGFyZSBpbg0KPiBJL08NCj4gPiA+DQo+ID4gPiBzcGFjZS48QlI+DQo+ID4gPiA+IC0gICMgQFBy b21wdCBTZXJpYWwgcG9ydCByZWdpc3RlcnMgdXNlIE1NSU8uDQo+ID4gPiA+IC0NCj4gPiA+ID4N Cj4gPiA+DQo+ID4gPg0KPiBnRWZpTWRlTW9kdWxlUGtnVG9rZW5TcGFjZUd1aWQuUGNkU2VyaWFs VXNlTW1pbzMyfEZBTFNFfEINCj4gPiA+IE9PTEVBTnwweA0KPiA+ID4gPiAwMDAyMDAwNw0KPiA+ ID4gPiArICAjIyBJbmRpY2F0ZXMgdGhlIGFjY2VzcyBtb2RlIGZvciAxNjU1MCBzZXJpYWwNCj4g cG9ydA0KPiA+ID4NCj4gPiA+IHJlZ2lzdGVycyB3aGVuIHRoZXkgYXJlIGluDQo+ID4gPiA+IE1N SU8gc3BhY2UuDQo+ID4gPiA+ICsgICMgVGhlIFBDRCBpcyBvbmx5IHZhbGlkIGlmIFBjZFNlcmlh bFVzZU1taW8gaXMNCj4gc2V0DQo+ID4gPg0KPiA+ID4gdG8gVFJVRS4NCj4gPiA+ID4gKyAgIyBE ZWZhdWx0IGlzIDgtYml0IGFjY2VzcyBtb2RlLjxCUj48QlI+DQo+ID4gPiA+ICsgICMgICBUUlVF ICAtIDE2NTUwIHNlcmlhbCBwb3J0IE1NSU8gcmVnaXN0ZXJzIGFyZQ0KPiA+ID4NCj4gPiA+IGFj Y2Vzc2VkIGluIDMyLWJpdA0KPiA+ID4gPiB3aWR0aC48QlI+DQo+ID4gPiA+ICsgICMgICBGQUxT RSAtIDE2NTUwIHNlcmlhbCBwb3J0IE1NSU8gcmVnaXN0ZXJzIGFyZQ0KPiA+ID4NCj4gPiA+IGFj Y2Vzc2VkIGluIDgtYml0IHdpZHRoLjxCUj4NCj4gPiA+ID4gKyAgIyBAUHJvbXB0IFNlcmlhbCBw b3J0IE1NSU8gcmVnaXN0ZXJzIGFjY2Vzcw0KPiBtb2RlLg0KPiA+ID4gPiArDQo+ID4gPiA+DQo+ ID4gPg0KPiA+ID4NCj4gZ0VmaU1kZU1vZHVsZVBrZ1Rva2VuU3BhY2VHdWlkLlBjZFNlcmlhbE1t aW8zMkJpdEFjY2Vzc3xGDQo+ID4gPiBBTFNFfEJPT0xFDQo+ID4gPiA+IEFOfDB4MDAwMjAwMDcN Cj4gPiA+ID4NCj4gPiA+ID4gICAgIyMgSW5kaWNhdGVzIGlmIHRoZSAxNjU1MCBzZXJpYWwgcG9y dCBoYXJkd2FyZQ0KPiBmbG93DQo+ID4gPg0KPiA+ID4gY29udHJvbCB3aWxsIGJlIGVuYWJsZWQu DQo+ID4gPiA+IERlZmF1bHQgaXMgRkFMU0UuPEJSPjxCUj4NCj4gPiA+ID4gICAgIyAgIFRSVUUg IC0gMTY1NTAgc2VyaWFsIHBvcnQgaGFyZHdhcmUgZmxvdw0KPiBjb250cm9sDQo+ID4gPg0KPiA+ ID4gd2lsbCBiZSBlbmFibGVkLjxCUj4NCj4gPiA+ID4gLS0NCj4gPiA+ID4gMi4yLjINCj4gPiA+ DQo+ID4gPg0KPiA+ID4NCj4gPg0KPiA+DQo+ID4gDQo+ID4NCg==