From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received-SPF: Pass (sender SPF authorized) identity=mailfrom; client-ip=192.55.52.120; helo=mga04.intel.com; envelope-from=hao.a.wu@intel.com; receiver=edk2-devel@lists.01.org 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 28C2C21A07A92 for ; Tue, 9 Oct 2018 04:28:09 -0700 (PDT) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga003.fm.intel.com ([10.253.24.29]) by fmsmga104.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 09 Oct 2018 04:28:09 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.54,360,1534834800"; d="scan'208";a="86916987" Received: from fmsmsx105.amr.corp.intel.com ([10.18.124.203]) by FMSMGA003.fm.intel.com with ESMTP; 09 Oct 2018 04:22:57 -0700 Received: from fmsmsx117.amr.corp.intel.com (10.18.116.17) by FMSMSX105.amr.corp.intel.com (10.18.124.203) with Microsoft SMTP Server (TLS) id 14.3.319.2; Tue, 9 Oct 2018 04:22:56 -0700 Received: from shsmsx103.ccr.corp.intel.com (10.239.4.69) by fmsmsx117.amr.corp.intel.com (10.18.116.17) with Microsoft SMTP Server (TLS) id 14.3.319.2; Tue, 9 Oct 2018 04:22:56 -0700 Received: from shsmsx104.ccr.corp.intel.com ([169.254.5.48]) by SHSMSX103.ccr.corp.intel.com ([169.254.4.245]) with mapi id 14.03.0319.002; Tue, 9 Oct 2018 19:22:54 +0800 From: "Wu, Hao A" To: Ard Biesheuvel , Marcin Wojtas , "Ni, Ruiyu" CC: "Tian, Feng" , Tomasz Michalec , "Dong, Eric" , edk2-devel-01 , "Gao, Liming" , Nadav Haklai , "Kinney, Michael D" , "Zeng, Star" Thread-Topic: [edk2] [PATCH v2 2/4] MdeModulePkg/SdMmcPciHcDxe: Add UhsSignaling to SdMmcOverride protocol Thread-Index: AQHUXwwV9xDmMtTosEqPN6RwXbpX5aUU1aMAgAATHgCAAAUDAIABnRlA Date: Tue, 9 Oct 2018 11:22:54 +0000 Message-ID: References: <1538745911-22484-1-git-send-email-mw@semihalf.com> <1538745911-22484-3-git-send-email-mw@semihalf.com> In-Reply-To: Accept-Language: zh-CN, en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.239.127.40] MIME-Version: 1.0 Subject: Re: [PATCH v2 2/4] MdeModulePkg/SdMmcPciHcDxe: Add UhsSignaling to SdMmcOverride protocol X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 09 Oct 2018 11:28:10 -0000 Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBlZGsyLWRldmVsIFttYWlsdG86 ZWRrMi1kZXZlbC1ib3VuY2VzQGxpc3RzLjAxLm9yZ10gT24gQmVoYWxmIE9mIEFyZA0KPiBCaWVz aGV1dmVsDQo+IFNlbnQ6IE1vbmRheSwgT2N0b2JlciAwOCwgMjAxOCAxMToxMCBQTQ0KPiBUbzog TWFyY2luIFdvanRhczsgTmksIFJ1aXl1OyBXdSwgSGFvIEENCj4gQ2M6IFRpYW4sIEZlbmc7IFRv bWFzeiBNaWNoYWxlYzsgRG9uZywgRXJpYzsgZWRrMi1kZXZlbC0wMTsgR2FvLCBMaW1pbmc7DQo+ IE5hZGF2IEhha2xhaTsgS2lubmV5LCBNaWNoYWVsIEQ7IFplbmcsIFN0YXINCj4gU3ViamVjdDog UmU6IFtlZGsyXSBbUEFUQ0ggdjIgMi80XSBNZGVNb2R1bGVQa2cvU2RNbWNQY2lIY0R4ZTogQWRk DQo+IFVoc1NpZ25hbGluZyB0byBTZE1tY092ZXJyaWRlIHByb3RvY29sDQo+IA0KPiBPbiA4IE9j dG9iZXIgMjAxOCBhdCAxNjo1MiwgTWFyY2luIFdvanRhcyA8bXdAc2VtaWhhbGYuY29tPiB3cm90 ZToNCj4gPiBwb24uLCA4IHBhxbogMjAxOCBvIDE1OjQzIEFyZCBCaWVzaGV1dmVsIDxhcmQuYmll c2hldXZlbEBsaW5hcm8ub3JnPg0KPiBuYXBpc2HFgihhKToNCj4gPj4NCj4gPj4gT24gOCBPY3Rv YmVyIDIwMTggYXQgMTU6MzcsIE1hcmNpbiBXb2p0YXMgPG13QHNlbWloYWxmLmNvbT4gd3JvdGU6 DQo+ID4+ID4gcG9uLiwgOCBwYcW6IDIwMTggbyAxNToyNyBBcmQgQmllc2hldXZlbCA8YXJkLmJp ZXNoZXV2ZWxAbGluYXJvLm9yZz4NCj4gbmFwaXNhxYIoYSk6DQo+ID4+ID4+DQo+ID4+ID4+IE9u IDggT2N0b2JlciAyMDE4IGF0IDE1OjE3LCBNYXJjaW4gV29qdGFzIDxtd0BzZW1paGFsZi5jb20+ IHdyb3RlOg0KPiA+PiA+PiA+IHBvbi4sIDggcGHFuiAyMDE4IG8gMTU6MDcgQXJkIEJpZXNoZXV2 ZWwgPGFyZC5iaWVzaGV1dmVsQGxpbmFyby5vcmc+DQo+IG5hcGlzYcWCKGEpOg0KPiA+PiA+PiA+ Pg0KPiA+PiA+PiA+PiBPbiA4IE9jdG9iZXIgMjAxOCBhdCAxNDo1OSwgTWFyY2luIFdvanRhcyA8 bXdAc2VtaWhhbGYuY29tPg0KPiB3cm90ZToNCj4gPj4gPj4gPj4gPiBIaSBBcmQsDQo+ID4+ID4+ ID4+ID4NCj4gPj4gPj4gPj4gPiBwb24uLCA4IHBhxbogMjAxOCBvIDE0OjQxIEFyZCBCaWVzaGV1 dmVsIDxhcmQuYmllc2hldXZlbEBsaW5hcm8ub3JnPg0KPiBuYXBpc2HFgihhKToNCj4gPj4gPj4g Pj4gPj4NCj4gPj4gPj4gPj4gPj4gKGFkZCBNZGVNb2R1bGVQa2cgbWFpbnRhaW5lcnMpDQo+ID4+ ID4+ID4+ID4+DQo+ID4+ID4+ID4+ID4+IE9uIDUgT2N0b2JlciAyMDE4IGF0IDE1OjI1LCBNYXJj aW4gV29qdGFzIDxtd0BzZW1paGFsZi5jb20+DQo+IHdyb3RlOg0KPiA+PiA+PiA+PiA+PiA+IEZy b206IFRvbWFzeiBNaWNoYWxlYyA8dG1Ac2VtaWhhbGYuY29tPg0KPiA+PiA+PiA+PiA+PiA+DQo+ ID4+ID4+ID4+ID4+ID4gU29tZSBTRCBIb3N0IENvbnRyb2xlcnMgdXNlIGRpZmZlcmVudCB2YWx1 ZXMgaW4gSG9zdCBDb250cm9sIDINCj4gUmVnaXN0ZXINCj4gPj4gPj4gPj4gPj4gPiB0byBzZWxl Y3QgVUhTIE1vZGUuIFRoaXMgcGF0Y2ggYWRkcyBhIG5ldyBVaHNTaWduYWxpbmcgdHlwZQ0KPiBy b3V0aW5lIHRvDQo+ID4+ID4+ID4+ID4+ID4gdGhlIE5vdGlmeVBoYXNlIG9mIHRoZSBTZE1tY092 ZXJyaWRlIHByb3RvY29sLg0KPiA+PiA+PiA+PiA+PiA+DQo+ID4+ID4+ID4+ID4+ID4gVUhTIHNp Z25hbGluZyBjb25maWd1cmF0aW9uIGlzIG1vdmVkIHRvIGEgY29tbW9uLCBkZWZhdWx0DQo+IHJv dXRpbmUNCj4gPj4gPj4gPj4gPj4gPiAoU2RNbWNIY1Voc1NpZ25hbGluZyksIHdoaWNoIGlzIGNh bGxlZCB3aGVuIFNkTW1jT3ZlcnJpZGUNCj4gZG9lcyBub3QNCj4gPj4gPj4gPj4gPj4gPiBjb3Zl ciB0aGlzIGZ1bmN0aW9uYWxpdHkuDQo+ID4+ID4+ID4+ID4+ID4NCj4gPj4gPj4gPj4gPj4gPiBD b250cmlidXRlZC11bmRlcjogVGlhbm9Db3JlIENvbnRyaWJ1dGlvbiBBZ3JlZW1lbnQgMS4xDQo+ ID4+ID4+ID4+ID4+ID4gU2lnbmVkLW9mZi1ieTogTWFyY2luIFdvanRhcyA8bXdAc2VtaWhhbGYu Y29tPg0KPiA+PiA+PiA+PiA+PiA+IC0tLQ0KPiA+PiA+PiA+PiA+PiA+ICBNZGVNb2R1bGVQa2cv QnVzL1BjaS9TZE1tY1BjaUhjRHhlL1NkTW1jUGNpSGNpLmggfCAgNTANCj4gKysrKysrKw0KPiA+ PiA+PiA+PiA+PiA+ICBNZGVNb2R1bGVQa2cvSW5jbHVkZS9Qcm90b2NvbC9TZE1tY092ZXJyaWRl LmggICAgfCAgIDIgKw0KPiA+PiA+PiA+PiA+PiA+ICBNZGVNb2R1bGVQa2cvQnVzL1BjaS9TZE1t Y1BjaUhjRHhlL0VtbWNEZXZpY2UuYyAgfCAxNTMNCj4gKysrKysrKysrKysrLS0tLS0tLS0NCj4g Pj4gPj4gPj4gPj4gPiAgTWRlTW9kdWxlUGtnL0J1cy9QY2kvU2RNbWNQY2lIY0R4ZS9TZERldmlj ZS5jICAgIHwgIDM3DQo+ICsrKy0tDQo+ID4+ID4+ID4+ID4+ID4gIE1kZU1vZHVsZVBrZy9CdXMv UGNpL1NkTW1jUGNpSGNEeGUvU2RNbWNQY2lIY2kuYyB8ICA2OQ0KPiArKysrKysrKysNCj4gPj4g Pj4gPj4gPj4gPiAgNSBmaWxlcyBjaGFuZ2VkLCAyNDMgaW5zZXJ0aW9ucygrKSwgNjggZGVsZXRp b25zKC0pDQo+ID4+ID4+ID4+ID4+ID4NCj4gPj4gPj4gPj4gPj4gPiBkaWZmIC0tZ2l0DQo+IGEv TWRlTW9kdWxlUGtnL0J1cy9QY2kvU2RNbWNQY2lIY0R4ZS9TZE1tY1BjaUhjaS5oDQo+IGIvTWRl TW9kdWxlUGtnL0J1cy9QY2kvU2RNbWNQY2lIY0R4ZS9TZE1tY1BjaUhjaS5oDQo+ID4+ID4+ID4+ ID4+ID4gaW5kZXggZTM4OWQ1Mi4uYTAzMTYwZCAxMDA2NDQNCj4gPj4gPj4gPj4gPj4gPiAtLS0g YS9NZGVNb2R1bGVQa2cvQnVzL1BjaS9TZE1tY1BjaUhjRHhlL1NkTW1jUGNpSGNpLmgNCj4gPj4g Pj4gPj4gPj4gPiArKysgYi9NZGVNb2R1bGVQa2cvQnVzL1BjaS9TZE1tY1BjaUhjRHhlL1NkTW1j UGNpSGNpLmgNCj4gPj4gPj4gPj4gPj4gPiBAQCAtNjMsNiArNjMsMzkgQEAgV0lUSE9VVCBXQVJS QU5USUVTIE9SDQo+IFJFUFJFU0VOVEFUSU9OUyBPRiBBTlkgS0lORCwgRUlUSEVSIEVYUFJFU1Mg T1IgSU1QTElFRC4NCj4gPj4gPj4gPj4gPj4gPiAgI2RlZmluZSBTRF9NTUNfSENfQ1RSTF9WRVIg ICAgICAgICAgICAweEZFDQo+ID4+ID4+ID4+ID4+ID4NCj4gPj4gPj4gPj4gPj4gPiAgLy8NCj4g Pj4gPj4gPj4gPj4gPiArLy8gU0QgSG9zdCBDb250cm9sZXIgYml0cyB0byBIT1NUX0NUUkwyIHJl Z2lzdGVyDQo+ID4+ID4+ID4+ID4+ID4gKy8vDQo+ID4+ID4+ID4+ID4+ID4gKyNkZWZpbmUgU0Rf TU1DX0hDX0NUUkxfVUhTX01BU0sgICAgICAgMHgwMDA3DQo+ID4+ID4+ID4+ID4+ID4gKyNkZWZp bmUgU0RfTU1DX0hDX0NUUkxfVUhTX1NEUjEyICAgICAgMHgwMDAwDQo+ID4+ID4+ID4+ID4+ID4g KyNkZWZpbmUgU0RfTU1DX0hDX0NUUkxfVUhTX1NEUjI1ICAgICAgMHgwMDAxDQo+ID4+ID4+ID4+ ID4+ID4gKyNkZWZpbmUgU0RfTU1DX0hDX0NUUkxfVUhTX1NEUjUwICAgICAgMHgwMDAyDQo+ID4+ ID4+ID4+ID4+ID4gKyNkZWZpbmUgU0RfTU1DX0hDX0NUUkxfVUhTX1NEUjEwNCAgICAgMHgwMDAz DQo+ID4+ID4+ID4+ID4+ID4gKyNkZWZpbmUgU0RfTU1DX0hDX0NUUkxfVUhTX0REUjUwICAgICAg MHgwMDA0DQo+ID4+ID4+ID4+ID4+ID4gKyNkZWZpbmUgU0RfTU1DX0hDX0NUUkxfTU1DX0REUjUy ICAgICAgMHgwMDA0DQo+ID4+ID4+ID4+ID4+ID4gKyNkZWZpbmUgU0RfTU1DX0hDX0NUUkxfTU1D X1NEUjUwICAgICAgMHgwMDAyDQo+ID4+ID4+ID4+ID4+ID4gKyNkZWZpbmUgU0RfTU1DX0hDX0NU UkxfTU1DX1NEUjI1ICAgICAgMHgwMDAxDQo+ID4+ID4+ID4+ID4+ID4gKyNkZWZpbmUgU0RfTU1D X0hDX0NUUkxfTU1DX1NEUjEyICAgICAgMHgwMDAwDQo+ID4+ID4+ID4+ID4+ID4gKyNkZWZpbmUg U0RfTU1DX0hDX0NUUkxfSFMyMDAgICAgICAgICAgMHgwMDAzDQo+ID4+ID4+ID4+ID4+ID4gKyNk ZWZpbmUgU0RfTU1DX0hDX0NUUkxfSFM0MDAgICAgICAgICAgMHgwMDA1DQo+ID4+ID4+ID4+ID4+ ID4gKw0KPiA+PiA+DQo+ID4+ID4gSW4gY2FzZSB3ZSBtb3ZlIGVudW1zIHRvIFNkTW1jT3ZlcnJp ZGUuaCwgd291bGQgaXQgYmUgZGVzaXJlZCwgdG8NCj4gbW92ZQ0KPiA+PiA+IHRoZXJlIHJlZ2lz dGVyIGZpZWxkcyB2YWx1ZXMgYXMgd2VsbD8gT3Igc2hvdWxkIEkgcmF0aGVyIHVzZSBYZW5vbg0K PiA+PiA+IG1hY3JvcyBmb3IgYWxsIG9mIGFib3ZlIGxvY2FsbHk/DQo+ID4+ID4NCj4gPj4NCj4g Pj4gTm8sIEkgdGhpbmsgdGhlIG1hY3JvcyBzaG91bGQgYmUga2VwdCBsb2NhbGx5Lg0KPiA+Pg0K PiA+PiA+PiA+PiA+PiA+ICsvLw0KPiA+PiA+PiA+PiA+PiA+ICsvLyBUaW1pbmcgbW9kZXMgZm9y IHVocw0KPiA+PiA+PiA+PiA+PiA+ICsvLw0KPiA+PiA+PiA+PiA+PiA+ICt0eXBlZGVmIGVudW0g ew0KPiA+PiA+PiA+PiA+PiA+ICsgIFNkTW1jVWhzU2RyMTIsDQo+ID4+ID4+ID4+ID4+ID4gKyAg U2RNbWNVaHNTZHIyNSwNCj4gPj4gPj4gPj4gPj4gPiArICBTZE1tY1Voc1NkcjUwLA0KPiA+PiA+ PiA+PiA+PiA+ICsgIFNkTW1jVWhzU2RyMTA0LA0KPiA+PiA+PiA+PiA+PiA+ICsgIFNkTW1jVWhz RGRyNTAsDQo+ID4+ID4+ID4+ID4+ID4gKyAgU2RNbWNNbWNEZHI1MiwNCj4gPj4gPj4gPj4gPj4g PiArICBTZE1tY01tY1NkcjUwLA0KPiA+PiA+PiA+PiA+PiA+ICsgIFNkTW1jTW1jU2RyMjUsDQo+ ID4+ID4+ID4+ID4+ID4gKyAgU2RNbWNNbWNTZHIxMiwNCj4gPj4gPj4gPj4gPj4gPiArICBTZE1t Y01tY0hzMjAwLA0KPiA+PiA+PiA+PiA+PiA+ICsgIFNkTW1jTW1jSHM0MDAsDQo+ID4+ID4+ID4+ ID4+ID4gK30gU0RfTU1DX1VIU19USU1JTkc7DQo+ID4+ID4+ID4+ID4+ID4gKw0KPiA+PiA+PiA+ PiA+Pg0KPiA+PiA+PiA+PiA+PiBIZXJlLCB3ZSBlbmQgdXAgd2l0aCB0d28gc2V0cyBvZiBzeW1i b2xpYyBjb25zdGFudHMgZm9yIHRoZSBzYW1lDQo+ID4+ID4+ID4+ID4+IHRoaW5nLCBhbmQgSSBz dXBwb3NlIHRoaXMgZW51bSB3aWxsIGJlIGR1cGxpY2F0ZWQgaW4geW91cg0KPiA+PiA+PiA+PiA+ PiBTZE1tY092ZXJyaWRlIGltcGxlbWVudGF0aW9uPw0KPiA+PiA+PiA+PiA+Pg0KPiA+PiA+PiA+ PiA+DQo+ID4+ID4+ID4+ID4gV2h5IGR1cGxpY2F0ZWQ/IE1hY3JvcyBhcmUgZm9yIGdlbmVyaWMg VUhTX01PREVfU0VMIGZpZWxkDQo+IHZhbHVlcyBmb3INCj4gPj4gPj4gPj4gPiBTRCBhbmQgTU1D IGluIEhvc3RDb250cm9sMlJlZ2lzdGVyLg0KPiA+PiA+PiA+PiA+DQo+ID4+ID4+ID4+ID4gU0Rf TU1DX1VIU19USU1JTkcgaXMganVzdCBhIHRpbWluZyBtb2RlIGluZGljYXRvciwgaXQgY2FuIGJl DQo+IHVzZWQgbm90DQo+ID4+ID4+ID4+ID4gb25seSBpbiBVaHNTaWduYWxpbmcgcm91dGluZSAo YWN0dWFsbHkgdGhlIG5leHQgcGF0Y2gsIHdpdGgNCj4gPj4gPj4gPj4gPiBTd2l0Y2hDbG9ja0Zy ZXFQb3N0LCB1c2UgaXQuLi4pLg0KPiA+PiA+PiA+PiA+DQo+ID4+ID4+ID4+ID4gSW4gbXkgU2RN bWNPdmVycmlkZSBpbXBsZW1lbnRhdGlvbiB0aGlzIGVudW0gaXMgbm90IGR1cGxpY2F0ZWQsDQo+ ID4+ID4+ID4+ID4gYmVjYXVzZSB0aGlzIGZpbGUgKFNkTW1jUGNpSGNpLmgpIGlzIGluY2x1ZGVk IHZpYQ0KPiA+PiA+PiA+PiA+IFByb3RvY29sL1NkTW1jT3ZlcnJpZGUuaC4NCj4gPj4gPj4gPj4g Pg0KPiA+PiA+PiA+Pg0KPiA+PiA+PiA+PiBBaCBvay4gUGxlYXNlIGRvbid0IGV4cG9zZSBpbnRl cm5hbCBoZWFkZXJzIG9mIHRoZSBTRC9NTUMgZHJpdmVyIHZpYQ0KPiA+PiA+PiA+PiBQcm90b2Nv bC9TZE1tY092ZXJyaWRlLmgNCj4gPj4gPj4gPj4NCj4gPj4gPj4gPg0KPiA+PiA+PiA+IE9LLg0K PiA+PiA+PiA+DQo+ID4+ID4+ID4+IEkgdGhpbmsgaXQgc2hvdWxkIGJlIGZpbmUgdG8gYWRkIHRo ZSBlbnVtIGRlZmluaXRpb24gdG8NCj4gPj4gPj4gPj4gUHJvdG9jb2wvU2RNbWNPdmVycmlkZS5o IGluc3RlYWQuDQo+ID4+ID4+ID4+DQo+ID4+ID4+ID4NCj4gPj4gPj4gPiBPSy4NCj4gPj4gPj4g Pg0KPiA+PiA+PiA+PiBCdXQgd291bGRuJ3QgaXQgYmUgbXVjaCBlYXNpZXIgdG8gaGF2ZSBhIGhv b2sgZm9yIHNldHRpbmcNCj4gPj4gPj4gPj4gSG9zdENvbnRyb2wyUmVnaXN0ZXIgdGhhdCBkZWNv ZGVzIHRoZSB2YWx1ZSBhbmQgbW9kaWZpZXMgaXQgYWNjb3JkaW5nDQo+ID4+ID4+ID4+IHRvIHdo YXQgdGhlIHBsYXRmb3JtIHJlcXVpcmVzPw0KPiA+PiA+PiA+Pg0KPiA+PiA+PiA+DQo+ID4+ID4+ ID4gQ2FuIHlvdSBwbGVhc2UgZXhwbGFpbiwgaG93IGl0IHdpbGwgYmUgZGlmZmVyZW50IGZyb20g VWhzU2lnbmFsaW5nIGluDQo+ID4+ID4+ID4gY3VycmVudCBzaGFwZSAocmVhZCByZXF1aXJlZCB0 aW1pbmcgdmFsdWUgYW5kIHVwZGF0ZSBVSFNfTU9ERV9TRUwNCj4gPj4gPj4gPiBmaWVsZCk/DQo+ ID4+ID4+ID4NCj4gPj4gPj4NCj4gPj4gPj4gV2VsbCwgeW91IGRlY29kZSB0aGUgdmFsdWUsIGFu ZCBpZiwgZS5nLiwgdGhlIFNEX01NQ19IQ19DVFJMX0hTMjAwDQo+ID4+ID4+IGJpdHMgYXJlIHNl dCwgeW91IHN1YnN0aXR1dGUgdGhlbSB3aXRoIHRoZSBhcHByb3ByaWF0ZSB4ZW5vbiB2YWx1ZXMu DQo+ID4+ID4NCj4gPj4gPiBCZWNhdXNlIHZhbHVlcyBjYW4gYmUgc2FtZSBmb3IgU0QgYW5kIE1N QyAoZS5nLiBVSFNfMTA0IGFuZCBIUzIwMCksDQo+ID4+ID4gZnJvbSB0aGUgY29udHJvbGxlciBk cml2ZXIgcGVyc3BlY3RpdmUsIGhvdyB3b3VsZCBJIGtub3csIHdoaWNoIG1vZGUNCj4gPj4gPiBp cyByZXF1ZXN0ZWQ/DQo+ID4+ID4NCj4gPj4NCj4gPj4gR29vZCBwb2ludC4NCj4gPj4NCj4gPj4g Pj4NCj4gPj4gPj4gQWxzbywgaG93IGltcG9ydGFudCBpcyBpdCB0byBkcml2ZSB0aGUgU0QvTU1D IGF0IGl0cyBtYXggcmF0ZWQgc3BlZWQNCj4gPj4gPj4gYXQgYm9vdCB0aW1lPyBPbiBTeW5xdWFj ZXIsIEkganVzdCBkaXNhYmxlIEhTMjAwIGluIHRoZSBjYXBhYmlsaXR5DQo+ID4+ID4+IHN0cnVj dCBzbyBJIGNhbiBmb3JnZXQgYWJvdXQgYWxsIHRoaXMgc3R1ZmYNCj4gPj4gPg0KPiA+PiA+IFNv bWUgY3VzdG9tZXJzIHdhbnQgaXQgLSBhIHJlYWwgbGlmZSBzY2VuYXJpbyBmcm9tIG9uZSBvZiB0 aGVtOg0KPiA+PiA+IGFwcGxpY2F0aW9ucywgTGludXggYmluYXJpZXMgYW5kIHJvb3RmcyBzdG9y ZXMgaW4gdGhlIE1NQy4gRWFjaCBib290IGENCj4gPj4gPiBjb3VwbGUgb2YgaHVuZHJlZHMgb2Yg TUIgdG8gYmUgbG9hZGVkLiBUaGFua3MgdG8gSFMyMDAgd2UgaGF2ZSBodWdlDQo+ID4+ID4gdGlt ZSBzYXZpbmcuDQo+ID4+ID4NCj4gPj4NCj4gPj4gRG8geW91IG1lYW4gaW4gdGhlIGluaXRyZD8g QmVjYXVzZSBvdGhlcndpc2UsIExpbnV4IHdpbGwgdXNlIGl0cyBvd24NCj4gPj4gZHJpdmVyIGFu ZCBzZWxlY3QgaXRzIG93biBtb2RlLg0KPiA+DQo+ID4gTm8sIEkgbWVhbiBsb2FkaW5nID4zMDBN QiBpbWFnZXMgZnJvbSBlTU1DIHRvIG1lbW9yeSBpbiB0aGUgRFhFIHBoYXNlLA0KPiA+IGJlZm9y ZSBib290aW5nIGFueXRoaW5nLg0KPiA+DQo+IA0KPiBZaWtlcw0KPiANCj4gPj4NCj4gPj4gQW5k IGJ0dywgZG9lcyB0aGUgc3BlYyBwZXJtaXQgdXNpbmcgZGlmZmVyZW50IEhDMiB2YWx1ZXMgZm9y IEhTMjAwIC8gSFM0MDAgPw0KPiA+DQo+ID4gQWNjb3JkaW5nIHRvIFNEIEhvc3QgQ29udHJvbGxl ciBTcGVjaWZpY2F0aW9uIHY0LjIwLCBVSFNfTU9ERV9TRUwNCj4gPiB2YWx1ZXMgMHg1IGFuZCAw eDYgYXJlICJyZXNlcnZlZCIuIEFjY29yZGluZyB0byBMaW51eCBjb2RlLCBIUzQwMA0KPiA+IHZh bHVlIGlzIHRyZWF0ZWQgYXMgIm5vbi1zdGFuZGFyZCIgYW5kIEhTMjAwIHNob3VsZCBiZSBzYW1l IGFzIGZvcg0KPiA+IFNEUjEwNCAoMHgzKS4gTm90aGluZyBpcyB3cml0dGVuIGFib3V0IHBlcm1p dGluZyBkaWZmZXJlbnQgdmFsdWVzLCBidXQNCj4gPiBnaXZlbiBMaW51eCAnc2RoY2lfc2V0X3Vo c19zaWduYWxpbmcnIGFuZCB3aG9sZSBidW5jaCBvZiBvdGhlciBxdWlya3MNCj4gPiB1c2VkIHVu ZGVyIGRyaXZlcnMvbW1jIG92ZXJyaWRpbmcgc3RhbmRhcmQgYmVoYXZpb3IgaXMgdmVyeSBjb21t b24uDQo+ID4gUGxlYXNlIGxldCBrbm93IHlvdXIgZGVzaXJlZCB3YXkgb2YgaGFuZGxpbmcgY3Vz dG9tIFVoc1NpZ25hbGluZy4NCj4gPg0KPiANCj4gSSBzdXBwb3NlIHRoaXMgaXMgZGVmaW5lZCBi eSB0aGUgZU1NQyBzcGVjLg0KPiANCj4gUnVpeXUsIEhhbywgY291bGQgeW91IGNsYXJpZnk/IEFy ZSB0aGUgaG9zdCBjb250cm9sIDIgcmVnaXN0ZXIgdmFsdWVzDQo+IGZvciBIUzIwMC9IUzQwMCBk ZWZpbmVkIGJ5IHRoZSBlTU1DIHNwZWM/DQoNCkhpIEFyZCBhbmQgTWFyY2luLA0KDQpBcyBmYXIg YXMgSSBrbm93LCB0aGUgRU1NQyBFbGVjdHJpY2FsIFN0YW5kYXJkIFNwZWMgNS4xIChsYXRlc3Qp IGRvZXMgbm90DQptZW50aW9uIG9uIGhvdyB0byBzZXQgdGhlICJVSFMgTW9kZSBTZWxlY3QiIGZp ZWxkIG9mIHRoZSBIb3N0IENvbnRyb2wgMg0KUmVnaXN0ZXIgd2hlbiBzd2l0Y2hpbmcgdG8gSFMy MDAvSFM0MDAuIChBY3R1YWxseSwgdGhlIEVNTUMgc3BlYyBkb2VzIG5vdA0KbWVudGlvbiBIb3N0 IENvbnRyb2wgMiBSZWdpc3RlciBhdCBhbGwpDQoNCldoZW4gaXQgY29tZXMgdG8gc2V0dGluZyB0 aGUgYnVzIG1vZGUgZm9yIEVNTUMgZGV2aWNlcywgdGhlIGN1cnJlbnQNCmltcGxlbWVudGF0aW9u IG9mIHRoZSBTZE1tY1BjaUhjRHhlIGRyaXZlciBkb2VzIGEgbWFwcGluZyB3aGVuIHNldHRpbmcg dGhlDQpIb3N0IENvbnRyb2wgMiBSZWdpc3RlcjoNCg0KRU1NQyBIaWdoIFNwZWVkIFNEUiAtIEZy ZXE6IDAtNTIgTUh6LCBEYXRhIFJhdGU6IFNpbmdsZQ0KbWF0Y2hlcw0KU0QgICBTRFIyNSAgICAg ICAgICAtIEZyZXE6IDAtNTAgTUh6LCBEYXRhIFJhdGU6IFNpbmdsZQ0KDQpFTU1DIEhpZ2ggU3Bl ZWQgRERSIC0gRnJlcTogMC01MiBNSHosIERhdGEgUmF0ZTogRHVhbA0KbWF0Y2hlcw0KU0QgICBE RFI1MCAgICAgICAgICAtIEZyZXE6IDAtNTAgTUh6LCBEYXRhIFJhdGU6IER1YWwNCg0KRU1NQyBI UzIwMCAgICAgICAgICAtIEZyZXE6IDAtMjAwIE1IeiwgRGF0YSBSYXRlOiBTaW5nbGUNCm1hdGNo ZXMNClNEICAgU0RSMTA0ICAgICAgICAgLSBGcmVxOiAwLTIwOCBNSHosIERhdGEgUmF0ZTogU2lu Z2xlDQoNCkVNTUMgSFM0MDAgICAgICAgICAgLSBGcmVxOiAwLTIwMCBNSHosIERhdGEgUmF0ZTog RHVhbA0KbWF0Y2hlcw0KU0QgICBOb25lDQoNCkFuZCB0aGVyZSBpcyBubyBvYnZpb3VzIGNvdW50 ZXJwYXJ0IGZvciB0aGUgRU1NQyBIUzQwMCBtb2RlIGluIHRoZSBTRA0Kc3BlYy4gVGhlIGRyaXZl ciBjdXJyZW50bHkgc2V0cyB0aGUgIlVIUyBNb2RlIFNlbGVjdCIgZmllbGQgdG8gYSByZXNlcnZl ZA0KdmFsdWUgMHg1Lg0KDQoNCkJlc3QgUmVnYXJkcywNCkhhbyBXdQ0KDQoNCj4gX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18NCj4gZWRrMi1kZXZlbCBtYWls aW5nIGxpc3QNCj4gZWRrMi1kZXZlbEBsaXN0cy4wMS5vcmcNCj4gaHR0cHM6Ly9saXN0cy4wMS5v cmcvbWFpbG1hbi9saXN0aW5mby9lZGsyLWRldmVsDQo=