From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id A955F21967BE3 for ; Mon, 12 Jun 2017 07:52:54 -0700 (PDT) Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by fmsmga104.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 12 Jun 2017 07:54:08 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.39,333,1493708400"; d="scan'208";a="1159490027" Received: from fmsmsx103.amr.corp.intel.com ([10.18.124.201]) by fmsmga001.fm.intel.com with ESMTP; 12 Jun 2017 07:54:07 -0700 Received: from shsmsx101.ccr.corp.intel.com (10.239.4.153) by FMSMSX103.amr.corp.intel.com (10.18.124.201) with Microsoft SMTP Server (TLS) id 14.3.319.2; Mon, 12 Jun 2017 07:49:01 -0700 Received: from shsmsx102.ccr.corp.intel.com ([169.254.2.146]) by SHSMSX101.ccr.corp.intel.com ([169.254.1.197]) with mapi id 14.03.0319.002; Mon, 12 Jun 2017 22:48:58 +0800 From: "Gao, Liming" To: Laszlo Ersek , "edk2-devel@lists.01.org" CC: "Justen, Jordan L" , "Kinney, Michael D" Thread-Topic: [edk2] [PATCH staging][BaseToolsOpt 0/4] Enable multiple driver combination Thread-Index: AQHS4CRT4RpvIr7zcUWxARw+5edB3qIa7toAgAMvg4CAAqhLgIAAjmrA Date: Mon, 12 Jun 2017 14:48:58 +0000 Message-ID: <4A89E2EF3DFEDB4C8BFDE51014F606A14D747FC7@shsmsx102.ccr.corp.intel.com> References: <1496904940-11364-1-git-send-email-liming.gao@intel.com> <4A89E2EF3DFEDB4C8BFDE51014F606A14D747A82@shsmsx102.ccr.corp.intel.com> In-Reply-To: Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-product: dlpe-windows dlp-version: 10.0.102.7 dlp-reaction: no-action x-originating-ip: [10.239.127.40] MIME-Version: 1.0 Subject: Re: [PATCH staging][BaseToolsOpt 0/4] Enable multiple driver combination X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.22 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 12 Jun 2017 14:52:54 -0000 Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 TGFzemxvOg0KICBUaGFua3MgZm9yIHlvdXIgY29tbWVudHMuIEkgd2lsbCBjcmVhdGUgU2FtcGxl UGtnIHRvIGluY2x1ZGUgdGhpcyB1c2FnZS4gQW5kLCBJIHdpbGwgZG9jdW1lbnQgdGhlIGNvbWJp bmVkIGJlaGF2aW9yIG9uIERFUEVYIGluIGJyYW5jaCBSZWFkbWUuTUQuIFRoZSBERVBFWCB3aWxs IGJlIGNvbWJpbmVkIHRvZ2V0aGVyIHdpdGggQU5EIHdoZW4gdGhlIGRyaXZlciB3aWxsIGJlIGNv bWJpbmVkLiANCg0KVGhhbmtzDQpMaW1pbmcNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0N Cj4gRnJvbTogTGFzemxvIEVyc2VrIFttYWlsdG86bGVyc2VrQHJlZGhhdC5jb21dDQo+IFNlbnQ6 IE1vbmRheSwgSnVuZSAxMiwgMjAxNyAxMDoxNyBQTQ0KPiBUbzogR2FvLCBMaW1pbmcgPGxpbWlu Zy5nYW9AaW50ZWwuY29tPjsgZWRrMi1kZXZlbEBsaXN0cy4wMS5vcmcNCj4gQ2M6IEp1c3Rlbiwg Sm9yZGFuIEwgPGpvcmRhbi5sLmp1c3RlbkBpbnRlbC5jb20+OyBLaW5uZXksIE1pY2hhZWwgRCA8 bWljaGFlbC5kLmtpbm5leUBpbnRlbC5jb20+DQo+IFN1YmplY3Q6IFJlOiBbZWRrMl0gW1BBVENI IHN0YWdpbmddW0Jhc2VUb29sc09wdCAwLzRdIEVuYWJsZSBtdWx0aXBsZSBkcml2ZXIgY29tYmlu YXRpb24NCj4gDQo+IChDQyBNaWtlKQ0KPiANCj4gT24gMDYvMTAvMTcgMTU6NDksIEdhbywgTGlt aW5nIHdyb3RlOg0KPiA+IExhc3psbzoNCj4gPiBJIHJlYWxseSBjcmVhdGUgb25lIGV4YW1wbGUg dG8gc2hvdyB0aGUgY29tYmluZWQgZHJpdmVyIHVzYWdlLiBJDQo+ID4gZG9uJ3QgcGxhbiB0byBw dXNoIHRoaXMgY2hhbmdlIGludG8gT3ZtZlBrZyBtYXN0ZXIuDQo+IA0KPiBBaCwgSSBzZWUuDQo+ IA0KPiA+IElmIHRoaXMgcGF0Y2ggYnJpbmdzIGNvbmZ1c2UgdG8geW91LCBJIHdpbGwgY3JlYXRl IG9uZSBTYW1wbGVQa2cgdG8NCj4gPiBpbmNsdWRlIGl0Lg0KPiBJJ2QganVzdCBsaWtlIHRvIHVu ZGVyc3RhbmQgdGhlIHdvcmtmbG93IGludGVuZGVkIGZvciB0aGUgQmFzZVRvb2xzT3B0DQo+IGJy YW5jaC4gQWZ0ZXIgYWxsLCB5b3UgZGlkIG1vZGlmeSBPdm1mUGtnIG9uIHRoYXQgYnJhbmNoLCB0 byBwcm92aWRlIGFuDQo+IGV4YW1wbGUuIEJ1dCwgd2hhdCBpcyBnb2luZyB0byBoYXBwZW4gdG8g dGhpcyBjaGFuZ2UgbGF0ZXIgb24/DQo+IA0KPiBJIG1lYW4sIHBhdGNoICMxIGlzIHRoZSBCYXNl VG9vbHMgZmVhdHVyZSBpdHNlbGYsIHNvIHlvdSBzdXJlbHkgd2FudCB0bw0KPiBicmluZyB0aGF0 IHRvIGVkazIgbWFzdGVyIGF0IHNvbWUgcG9pbnQsIHJpZ2h0PyBIb3cgY2FuIHdlIHRlbGwgbGF0 ZXINCj4gdGhhdCBwYXRjaCAjMSBzaG91bGQgYmUgbWVyZ2VkIGludG8gZWRrMiBtYXN0ZXIgYnV0 IHBhdGNoICMyIGFuZCBwYXRjaA0KPiAjMyAodGhlIE92bWZQa2cgZXhhbXBsZSBjb2RlKSBzaG91 bGQgbm90Pw0KPiANCj4gTXkgdW5kZXJzdGFuZGluZyB3YXMgdGhhdCBzdGFnaW5nIGJyYW5jaGVz IHdvdWxkIGJlICptZXJnZWQqIGludG8gZWRrMg0KPiBtYXN0ZXIsIHdpdGggYSBnaXQgbWVyZ2Ug b3BlcmF0aW9uLCBwdWxsaW5nIGluIGFsbCB0aGUgY2hhbmdlcyBmcm9tIHRoZQ0KPiBzdGFnaW5n IGJyYW5jaC4gSWYgdGhhdCdzIHRoZSBjYXNlLCBJIGRvbid0IHRoaW5rIHdlIGNhbiByZWFsaXN0 aWNhbGx5DQo+IHNlcGFyYXRlIG91dCBPdm1mUGtnIChvciBzaW1pbGFyKSBwbGF0Zm9ybSBjb2Rl IGF0IHRoZSB0aW1lIG9mIG1lcmdlLg0KPiANCj4gSWYgeW91IGFyZSBnb2luZyB0byBkbyBhIGZp bmFsIHJlYmFzZSB0byBlZGsyIG1hc3RlciAoaW5zdGVhZCBvZiBhDQo+IG1lcmdlKSwgd2hlbiB0 aGUgQmFzZVRvb2xzT3B0IGNoYW5nZXMgYXJlIHJlYWR5IGZvciBlZGsyIG1hc3RlciwgdGhlbg0K PiB5b3UgY2FuIGluZGVlZCBkcm9wIHRoZSBPdm1mUGtnIHBhdGNoZXMgYXQgdGhhdCBwb2ludC4g QnV0IHRoZW4gdGhlDQo+IGV4YW1wbGUgY29kZSB3aWxsIGJlIGxvc3QgKGl0IHdpbGwgbmV2ZXIg Z28gYmV5b25kIHRoZSBtYWlsaW5nIGxpc3QgYW5kDQo+IHRoZSBCYXNlVG9vbHNPcHQgc3RhZ2lu ZyBicmFuY2gpLg0KPiANCj4gLi4uIEhpc3RvcmljYWxseSwgaW4gdGhpcyBtZXNzYWdlOg0KPiA8 aHR0cDovL21pZC5tYWlsLWFyY2hpdmUuY29tL0U5MkVFOTgxN0EzMUUyNEVCMDU4NUZERjczNTQx MkY1NjQ4NUYyRTdAT1JTTVNYMTEzLmFtci5jb3JwLmludGVsLmNvbT4sDQo+IE1pa2Ugc2VlbXMg dG8gaGF2ZSBzdWdnZXN0ZWQgYSBmaW5hbCByZWJhc2UgLyByZXBvc3QsIGZvciB0aGUgSFRUUFMt VExTDQo+IGZlYXR1cmUuIEEgcmViYXNlIGNlcnRhaW5seSBtYWtlcyBpdCBwb3NzaWJsZSB0byBk cm9wIHRoZSBPdm1mUGtnDQo+IGV4YW1wbGUgY29kZSBmcm9tIHRoZSBmaW5hbCB2ZXJzaW9uIG9m IHRoaXMgc2V0LCBidXQgdGhlbiB0aGUgZXhhbXBsZQ0KPiBjb2RlIC0tIHdoaWNoICppcyogdmFs dWFibGUgLS0gd2lsbCBuZXZlciBiZSBwYXJ0IG9mIGVkazIgbWFzdGVyLiBUaGF0J3MNCj4gbm90 IG9wdGltYWwgSU1PICh1bmxlc3MgeW91IGFkZCB0aGUgc2FtZSBleGFtcGxlIHRvIHRoZSBEU0Mg c3BlYykuDQo+IA0KPiBTbywgSSB0aGluayBTYW1wbGVQa2cgaXMgYSBnb29kIGlkZWEuIFlvdSBj YW4gcHJvdmlkZSBhIGxvbmctdGVybQ0KPiBleGFtcGxlIGluIHRoYXQgcGFja2FnZSwgZXZlbiBp biBlZGsyIG1hc3Rlciwgd2l0aG91dCBkaXN0dXJiaW5nIGN1cnJlbnQNCj4gcGxhdGZvcm1zLg0K PiANCj4gKFBsZWFzZSBjb3JyZWN0IG1lIGlmIEknbSBpbmNvcnJlY3QgYWJvdXQgdGhlIHN0YWdp bmcgYnJhbmNoIHdvcmtmbG93Lg0KPiBDQydpbmcgTWlrZSBqdXN0IHRvIGJlIHN1cmUuKQ0KPiAN Cj4gPiBBbmQsIEkgZG9uJ3Qgd2FudCB0byBsaW1pdCB0aGlzIGZlYXR1cmUgaW50byB0aGUgc3Bl Y2lmaWMgZHJpdmVyDQo+ID4gdHlwZS4gSSB3b3VsZCBsaWtlIHBsYXRmb3JtIGRldmVsb3BlciBt YWtlIHRoZSBkZWNpc2lvbi4gSWYgdXNlcg0KPiA+IGNvbWJpbmVzIHNvbWUgUEVJTSBvciBzb21l IERYRSBkcml2ZXJzIGluIGl0cyBQbGF0Zm9ybS5kc2MsIGl0IGNhbg0KPiA+IHNwZWNpZnkgdGhl IGNvbWJpbmVkIGRyaXZlciBpbiBBUFJJT1IgbGlzdCB0byBtYWtlIHN1cmUgaXQgYmUNCj4gPiBk aXNwYXRjaGVkIGNvcnJlY3RseS4NCj4gSSBhZ3JlZSwgYnV0IHNob3VsZCB3ZSBkb2N1bWVudCB3 aGF0IGhhcHBlbnMgdG8gdGhlIERFUEVYIHNlY3Rpb25zIHRoYXQNCj4gd2VyZSBkZWZpbmVkIGlu IHRoZSBvcmlnaW5hbCAoc2VwYXJhdGUpIElORiBmaWxlcz8gQXJlIHRoZXkgZHJvcHBlZD8gQXJl DQo+IHRoZXkgY29tYmluZWQgaW4gc29tZSB3YXkgKGxpa2UsIGFyZSB0aGV5IEFORC1lZCB0b2dl dGhlcik/DQo+IA0KPiBJdCdzIGZpbmUgaWYgdGhlIHBsYXRmb3JtIGRldmVsb3BlciBtYWtlcyB0 aGUgZGVjaXNpb24sIGJ1dCB0aGV5IG5lZWQgdG8NCj4gdW5kZXJzdGFuZCB0aGUgREVQRVggYmVo YXZpb3IgdG8gZGVjaWRlIGFib3V0IGl0Lg0KPiANCj4gKE15IGFwb2xvZ2llcyBpZiB0aGUgREVQ RVggYmVoYXZpb3IgaXMgYWxyZWFkeSBkb2N1bWVudGVkIGZvciBjb21iaW5lZA0KPiBkcml2ZXJz LCBJIG1pc3NlZCBpdCB0aGVuLikNCj4gDQo+IFRoYW5rcyENCj4gTGFzemxvDQo+IA0KPiA+DQo+ ID4gVGhhbmtzDQo+ID4gTGltaW5nDQo+ID4+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ ID4+IEZyb206IExhc3psbyBFcnNlayBbbWFpbHRvOmxlcnNla0ByZWRoYXQuY29tXQ0KPiA+PiBT ZW50OiBGcmlkYXksIEp1bmUgOSwgMjAxNyA1OjAzIEFNDQo+ID4+IFRvOiBHYW8sIExpbWluZyA8 bGltaW5nLmdhb0BpbnRlbC5jb20+OyBlZGsyLWRldmVsQGxpc3RzLjAxLm9yZw0KPiA+PiBDYzog SnVzdGVuLCBKb3JkYW4gTCA8am9yZGFuLmwuanVzdGVuQGludGVsLmNvbT4NCj4gPj4gU3ViamVj dDogUmU6IFtlZGsyXSBbUEFUQ0ggc3RhZ2luZ11bQmFzZVRvb2xzT3B0IDAvNF0gRW5hYmxlIG11 bHRpcGxlIGRyaXZlciBjb21iaW5hdGlvbg0KPiA+Pg0KPiA+PiBIaSBMaW1pbmcsDQo+ID4+DQo+ ID4+IChDQyBKb3JkYW4pDQo+ID4+DQo+ID4+IE9uIDA2LzA4LzE3IDA4OjU1LCBMaW1pbmcgR2Fv IHdyb3RlOg0KPiA+Pj4gQ29tYmluZSBtb3JlIGRyaXZlcnMgaW50byB0aGUgc2luZ2xlIG9uZSBj YW4gcmVkdWNlIHRoZSBpbWFnZSBzaXplIGFuZA0KPiA+Pj4gY29tcGlsZSBsaW5rIHRpbWUuIFRo aXMgcGF0Y2ggYWRkcyB0aGlzIHN1cHBvcnQgaW4gQmFzZVRvb2xzLg0KPiA+Pj4NCj4gPj4+IExp bWluZyBHYW8gKDQpOg0KPiA+Pj4gICBCYXNlVG9vbHM6IE1lcmdlIG11bHRpcGxlIGRyaXZlcnMg aW50byBvbmUgZm9yIHNpemUgYW5kIGxpbmsNCj4gPj4+ICAgICBwZXJmb3JtYW5jZQ0KPiA+Pj4g ICBPdm1mUGtnOiBVcGRhdGUgUWVtdVZpZGVvIGFuZCBWaXJ0aW9HcHVEeGUgdG8gdXNlIE5VTEwg YXMNCj4gPj4+ICAgICBEcml2ZXJCaW5kaW5nSGFuZGxlDQo+ID4+PiAgIE92bWZQa2c6IENvbWJp bmUgUWVtdVZpZGVvRHhlIGFuZCBWaXJ0aW9HcHVEeGUgdG8gb25lIGRyaXZlcg0KPiA+Pj4gICBV cGRhdGUgUmVhZG1lLk1EIHRvIGluY2x1ZGUgbXVsdGlwbGUgZHJpdmVyIGNvbWJpbmF0aW9uLg0K PiA+Pj4NCj4gPj4+ICBCYXNlVG9vbHMvU291cmNlL1B5dGhvbi9BdXRvR2VuL0dlbkMucHkgfCAy NCArKysrKysrKysrKysrKysrKysrLS0tLS0NCj4gPj4+ICBPdm1mUGtnL092bWZQa2dJYTMyWDY0 LmRzYyAgICAgICAgICAgICAgfCAgNiArKysrLS0NCj4gPj4+ICBPdm1mUGtnL092bWZQa2dJYTMy WDY0LmZkZiAgICAgICAgICAgICAgfCAgMiArLQ0KPiA+Pj4gIE92bWZQa2cvUWVtdVZpZGVvRHhl L0RyaXZlci5jICAgICAgICAgICB8ICAyICstDQo+ID4+PiAgT3ZtZlBrZy9WaXJ0aW9HcHVEeGUv RHJpdmVyQmluZGluZy5jICAgIHwgIDIgKy0NCj4gPj4+ICBSZWFkbWUuTUQgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgfCAgMSArDQo+ID4+PiAgNiBmaWxlcyBjaGFuZ2VkLCAyNyBpbnNl cnRpb25zKCspLCAxMCBkZWxldGlvbnMoLSkNCj4gPj4+DQo+ID4+DQo+ID4+IEkgZG9uJ3QgaGF2 ZSBhIGxvdCBvZiBoYW5kcy1vbiBwcmFjdGljZSB3aXRoIHN0YWdpbmcgYnJhbmNoZXMsIGJ1dCBJ DQo+ID4+IGJlbGlldmUgdGhhdCB1bHRpbWF0ZWx5IHN1Y2ggY2hhbmdlcyBhcmUgbWVhbnQgdG8g YmUgbWVyZ2VkIGludG8gdGhlDQo+ID4+IGVkazIgbWFzdGVyIGJyYW5jaC4gSXMgdGhhdCByaWdo dD8NCj4gPj4NCj4gPj4gSWYgdGhhdCdzIHRoZSBjYXNlLCB0aGVuIEkgZG9uJ3QgdGhpbmsgd2Ug c2hvdWxkIGRvIHRoaXMgaW4gT3ZtZlBrZyAob24NCj4gPj4gdGhlIG1hc3RlciBicmFuY2gpLiBJ bnN0ZWFkLCBJIHRoaW5rIGV4YW1wbGUgdXNhZ2Ugc2hvdWxkIGJlIHNob3duIGluOg0KPiA+Pg0K PiA+PiAtIHRoZSBjb21taXQgbWVzc2FnZSAoaXQncyBhbHJlYWR5IHRoZXJlLCBzbyB0aGF0J3Mg Z3JlYXQpLA0KPiA+Pg0KPiA+PiAtIGluIHRoZSBEU0Mgc3BlY2lmaWNhdGlvbi4NCj4gPj4NCj4g Pj4gSWYgeW91IGFic29sdXRlbHkgbmVlZCBhbiBpbi10cmVlIHBsYXRmb3JtIHRvIHVzZSB0aGlz IEJhc2VUb29scw0KPiA+PiBmZWF0dXJlLCBhbmQgeW91IHRoaW5rIE92bWZQa2cgaXMgYmV0dGVy IGZvciB0aGlzIHB1cnBvc2UgdGhhbiwgc2F5LA0KPiA+PiBFbXVsYXRvclBrZyBvciBOdDMyUGtn LCB0aGVuOg0KPiA+Pg0KPiA+PiAoMSkgUGxlYXNlIG1ha2UgdGhpcyBkZXBlbmRlbnQgb24gYSBu ZXcgYnVpbGQgZmxhZyAoLUQpLCB3aGljaCBzaG91bGQNCj4gPj4gZGVmYXVsdCB0byBGQUxTRS4N Cj4gPj4NCj4gPj4gKDIpIFBsZWFzZSBtYWtlIHRoZSBzYW1lIGNoYW5nZSB0byBhbGwgdGhyZWUg RFNDIGZpbGVzIHVuZGVyIE92bWZQa2cuDQo+ID4+DQo+ID4+ICgzKSBQbGVhc2UgaW50cm9kdWNl IGEgbmV3IEZlYXR1cmVQQ0Qgd2hpY2ggY29ycmVzcG9uZHMgdG8gdGhlIG5ldyBidWlsZA0KPiA+ PiBmbGFnLCBhbmQgY29udHJvbHMgdGhlIGhhbmRsZSB2YWx1ZSBpbiB0aGUgZW50cnkgcG9pbnRz IG9mIHRoZSBhZmZlY3RlZA0KPiA+PiBkcml2ZXJzLg0KPiA+Pg0KPiA+PiBJbiBwYXJ0aWN1bGFy IEknbSBhc2tpbmcgZm9yICgzKSBiZWNhdXNlIHRoZSBVRUZJIERyaXZlciBXcml0ZXIncyBHdWlk ZQ0KPiA+PiAoVmVyc2lvbiAxLjAxLCAwMy8wOC8yMDEyKSBzYXlzOg0KPiA+Pg0KPiA+PiAgIDYu MS40IERldmljZSBkcml2ZXJzIHdpdGggb25lIGRyaXZlciBiaW5kaW5nIHByb3RvY29sDQo+ID4+ DQo+ID4+ICAgWy4uLl0gVGhlIGRyaXZlciBlbnRyeSBwb2ludCBpcyByZXNwb25zaWJsZSBmb3Ig aW5zdGFsbGluZyB0aGUgRHJpdmVyDQo+ID4+ICAgQmluZGluZyBQcm90b2NvbCBvbnRvIHRoZSBk cml2ZXLigJlzIGltYWdlIGhhbmRsZS4gWy4uLl0NCj4gPj4NCj4gPj4gICA2LjEuNSBEZXZpY2Ug ZHJpdmVycyB3aXRoIG11bHRpcGxlIGRyaXZlciBiaW5kaW5nIHByb3RvY29scw0KPiA+Pg0KPiA+ PiAgIFsuLi5dIFRoZSBmaXJzdCBpbnN0YW5jZSBvZiBFRklfRFJJVkVSX0JJTkRJTkdfUFJPVE9D T0wgaXMgaW5zdGFsbGVkDQo+ID4+ICAgb250byB0aGUgZHJpdmVy4oCZcyBpbWFnZSBoYW5kbGUs IGFuZCB0aGUgYWRkaXRpb25hbCBpbnN0YW5jZXMgb2YgdGhlDQo+ID4+ICAgRHJpdmVyIEJpbmRp bmcgUHJvdG9jb2wgYXJlIGluc3RhbGxlZCBvbnRvIG5ld2x5IGNyZWF0ZWQgZHJpdmVyDQo+ID4+ ICAgYmluZGluZyBoYW5kbGVzLiBbLi4uXQ0KPiA+Pg0KPiA+PiBTbywgaW4gb3JkZXIgdG8gZm9s bG93IHRoZXNlIHJlY29tbWVuZGF0aW9ucywNCj4gPj4gLSB3aGVuIHRoZSBkcml2ZXJzIGFyZSBu b3QgY29tYmluZWQsIGVhY2ggZHJpdmVyIHNob3VsZCBzdGljayB3aXRoIGl0cw0KPiA+PiBub24t TlVMTCBpbWFnZSBoYW5kbGUsDQo+ID4+IC0gd2hlbiB0aGUgZHJpdmVycyBhcmUgY29tYmluZWQs IG9uZSBkcml2ZXIgc2hvdWxkIHN0aWNrIHdpdGggaXRzIGltYWdlDQo+ID4+IGhhbmRsZSwgYW5k IHRoZSByZXN0IHNob3VsZCB1c2UgTlVMTCAoYmFzZWQgb24gdGhlIGZlYXR1cmUgUENEKQ0KPiA+ Pg0KPiA+Pg0KPiA+PiBSZWdhcmRpbmcgdGhlIEJhc2VUb29scyBmZWF0dXJlIGl0c2VsZiwgSSB0 aGluayBpdCBzaG91bGQgYmUgcmVzdHJpY3RlZA0KPiA+PiB0byBVRUZJX0RSSVZFUiBtb2R1bGVz IChtYXliZSBpdCBpcyBhbHJlYWR5IHJlc3RyaWN0ZWQsIGJ1dCB0aGVuIHRoZQ0KPiA+PiBkb2N1 bWVudGF0aW9uIHNob3VsZCBzYXkgaXQpLiBJJ20gc3VnZ2VzdGluZyB0aGF0IGJlY2FzdWUgVUVG SV9EUklWRVJzDQo+ID4+IGFyZSBzdXBwb3NlZCB0byBoYXZlIGlkZW50aWNhbCBERVBFWGVzLiBX aXRoIERYRV9EUklWRVIgbW9kdWxlcyBmb3INCj4gPj4gZXhhbXBsZSwgdGhlaXIgREVQRVhlcyBj b3VsZCBiZSBkaWZmZXJlbnQsIGFuZCBJIGNvdWxkbid0IHNheSBob3cgdGhvc2UNCj4gPj4gc2hv dWxkIGJlIGNvbWJpbmVkLg0KPiA+Pg0KPiA+PiBUaGFua3MsDQo+ID4+IExhc3psbw0KDQo=