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=star.zeng@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 9F89B20971757 for ; Mon, 28 May 2018 21:43:42 -0700 (PDT) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga008.fm.intel.com ([10.253.24.58]) by fmsmga104.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 28 May 2018 21:43:41 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.49,455,1520924400"; d="scan'208,217";a="43559804" Received: from fmsmsx104.amr.corp.intel.com ([10.18.124.202]) by fmsmga008.fm.intel.com with ESMTP; 28 May 2018 21:43:40 -0700 Received: from fmsmsx112.amr.corp.intel.com (10.18.116.6) by fmsmsx104.amr.corp.intel.com (10.18.124.202) with Microsoft SMTP Server (TLS) id 14.3.319.2; Mon, 28 May 2018 19:34:27 -0700 Received: from shsmsx104.ccr.corp.intel.com (10.239.4.70) by FMSMSX112.amr.corp.intel.com (10.18.116.6) with Microsoft SMTP Server (TLS) id 14.3.319.2; Mon, 28 May 2018 18:15:49 -0700 Received: from shsmsx102.ccr.corp.intel.com ([169.254.2.223]) by SHSMSX104.ccr.corp.intel.com ([169.254.5.87]) with mapi id 14.03.0319.002; Tue, 29 May 2018 09:15:47 +0800 From: "Zeng, Star" To: Abhishek Singh , Marvin H?user CC: "edk2-devel@lists.01.org" , Laszlo Ersek , "afish@apple.com" , "Ni, Ruiyu" , "Dong, Eric" , "Zeng, Star" , "Yao, Jiewen" Thread-Topic: [edk2] smm lock query Thread-Index: AQHT9QLqM2X7DNIsAUu1RaxT9IVG8KRDRMuAgABCAYCAAO58gIAAM/+AgABCkoCAAP1zQA== Date: Tue, 29 May 2018 01:15:47 +0000 Message-ID: <0C09AFA07DD0434D9E2A0C6AEB0483103BB47EC2@shsmsx102.ccr.corp.intel.com> References: <0C4E04D0-E863-4779-AFFA-44A0E6F8FB20@apple.com> <0b422b9a-6995-896d-4166-cd9792e818de@redhat.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 X-Content-Filtered-By: Mailman/MimeDel 2.1.26 Subject: Re: smm lock query X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.26 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 29 May 2018 04:43:42 -0000 Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 SSBkbyBub3Qgc2VlIGlzc3VlIGFjY29yZGluZyB0byB0aGUgc3BlYy4NClBsYXRmb3JtIHNob3Vs ZCBrbm93IHdoZW4gdG8gc2lnbmFsIER4ZVNtbVJlYWR5VG9Mb2NrIChhZnRlciBFbmRPZkR4ZSku DQpEeGVTbW1SZWFkeVRvTG9jayBldmVudCBpcyB0byBub3RpZnkgRFhFIGhhbmRsZXJzLg0KTW9k dWxlcyBhcmUgcmVzcG9uc2libGUgdG8gbG9jayBvciBwcm90ZWN0IHRoZWlyIHJlc291cmNlIGFu ZCBlZmZlY3QgdGhlIGFwcHJvcHJpYXRlIHByb3RlY3Rpb25zIGluIHRoZWlyIG5vdGlmaWNhdGlv biBoYW5kbGVycy4NClNtbUlwbEd1aWRlZEV2ZW50Tm90aWZ5IGlzIHVzZWQgdG8gaW5mb3JtIFNN TSBlbnZpcm9ubWVudCB0byBzaWduYWwgU21tUmVhZHlUb0xvY2suDQpTbW1SZWFkeVRvTG9jayBl dmVudCBpcyB0byBub3RpZnkgU01NIGhhbmRsZXJzLg0KDQpEWEUgaGFuZGxlcnMgY291bGQgbm90 IHRvdWNoIFNNUkFNIChhZnRlciBTTVJBTSBpcyBsb2NrZWQgb3IgZXZlbiBhZnRlciBTTVJSIGlz IGNvbmZpZ3VyZWQgaW4gUGlTbW1DcHVEeGVTbW0gaWYgSSBrbm93IGl0IGlzIGNvcnJlY3QpLg0K DQrigJxUaGlzIHByb3RvY29sIGluIHRhbmRlbSB3aXRoIHRoZSBFbmQgb2YgRFhFIEV2ZW50IGZh Y2lsaXRhdGVzIHRyYW5zaXRpb24gb2YgdGhlIHBsYXRmb3JtIGZyb20gdGhlIGVudmlyb25tZW50 IHdoZXJlIGFsbCBvZiB0aGUgY29tcG9uZW50cyBhcmUgdW5kZXIgdGhlIGF1dGhvcml0eSBvZiB0 aGUgcGxhdGZvcm0gbWFudWZhY3R1cmVyIHRvIHRoZSBlbnZpcm9ubWVudCB3aGVyZSB0aGlyZCBw YXJ0eSBleHRlbnNpYmxlIG1vZHVsZXMgc3VjaCBhcyBVRUZJIGRyaXZlcnMgYW5kIFVFRkkgYXBw bGljYXRpb25zIGFyZSBleGVjdXRlZC4NCg0KVGhlIHByb3RvY29sIGlzIHB1Ymxpc2hlZCBpbW1l ZGlhdGVseSBhZnRlciBzaWduYWxpbmcgb2YgdGhlIEVuZCBvZiBEWEUgRXZlbnQuDQpQSSBtb2R1 bGVzIHRoYXQgbmVlZCB0byBsb2NrIG9yIHByb3RlY3QgdGhlaXIgcmVzb3VyY2VzIGluIGFudGlj aXBhdGlvbiBvZiB0aGUgaW52b2NhdGlvbiBvZiAzcmQgcGFydHkgZXh0ZW5zaWJsZSBtb2R1bGVz IHNob3VsZCByZWdpc3RlciBmb3Igbm90aWZpY2F0aW9uIG9uIGluc3RhbGxhdGlvbiBvZiB0aGlz IHByb3RvY29sIGFuZCBlZmZlY3QgdGhlIGFwcHJvcHJpYXRlIHByb3RlY3Rpb25zIGluIHRoZWly IG5vdGlmaWNhdGlvbiBoYW5kbGVycy4gRm9yIGV4YW1wbGUsIFBJIHBsYXRmb3JtIGNvZGUgbWF5 IGNob29zZSB0byB1c2Ugbm90aWZpY2F0aW9uIGhhbmRsZXIgdG8gbG9jayBNTSBieSBpbnZva2lu ZyBFRklfTU1fQUNDRVNTX1BST1RPQ09MLkxvY2soKSBmdW5jdGlvbi7igJ0NCg0KDQpTTU0gZW52 aXJvbm1lbnQgaXMgYSAqcnVudGltZSogZW52aXJvbm1lbnQuIFNNUkFNIHdpbGwgYmUgZXZlbiBj aGFuZ2VkIGFmdGVyIFNtbVJlYWR5VG9Mb2NrLCBmb3IgZXhhbXBsZSwgYnkgU01NIGhhbmRsZXIg Zm9yIFNNTSBjb21tdW5pY2F0aW9uIGZyb20gRFhFLg0KDQoNClRoYW5rcywNClN0YXINCkZyb206 IEFiaGlzaGVrIFNpbmdoIFttYWlsdG86YWJoQGNzLnVuYy5lZHVdDQpTZW50OiBUdWVzZGF5LCBN YXkgMjksIDIwMTggMjowMiBBTQ0KVG86IE1hcnZpbiBIw6R1c2VyIDxNYXJ2aW4uSGFldXNlckBv dXRsb29rLmNvbT4NCkNjOiBlZGsyLWRldmVsQGxpc3RzLjAxLm9yZzsgTGFzemxvIEVyc2VrIDxs ZXJzZWtAcmVkaGF0LmNvbT47IGFmaXNoQGFwcGxlLmNvbTsgTmksIFJ1aXl1IDxydWl5dS5uaUBp bnRlbC5jb20+OyBEb25nLCBFcmljIDxlcmljLmRvbmdAaW50ZWwuY29tPjsgWmVuZywgU3RhciA8 c3Rhci56ZW5nQGludGVsLmNvbT4NClN1YmplY3Q6IFJlOiBbZWRrMl0gc21tIGxvY2sgcXVlcnkN Cg0KVGhhbmsgeW91IGV2ZXJ5b25lIGZvciB5b3VyIGlucHV0cyBhbmQgY2xhcmlmaWNhdGlvbnMu IFRoZXkgYXJlIGhlbHBpbmcgbWUgdG8gYmV0dGVyIHVuZGVyc3RhbmQgdGhlIHVlZmkgY29kZSwg dG8gd2hpY2ggSSBhbSB2ZXJ5IG5ldy4gSSBkbyBub3QgbWVhbiB0byBoaWphY2sgdGhlIHRocmVh ZDogc28gcGxlYXNlIGNvbnRpbnVlIHlvdXIgZGlzY3Vzc2lvbnMgYWJvdXQgd2hldGhlciB0aGUg aW1wbGVtZW50YXRpb24gbWF0Y2hlcyB0aGUgc3BlYy4NCg0KSG93ZXZlciwgSSB3YW50IHRvIHN0 YXRlIHdoeSBJIGFtIGludGVyZXN0ZWQgaW4gdGhlIElQTCBjb2RlLiBGb3IgbXkgcmVzZWFyY2gs IEkgd2lzaCB0byBkdW1wIHRoZSBjb250ZW50cyBvZiBTTVJBTSB3aGVuIGl0IGhhcyByZWFjaGVk IHN0ZWFkeSBzdGF0ZSwgaS5lLiwgYWxsIHRoZSBkcml2ZXJzIGhhdmUgbWFkZSBjaGFuZ2VzIHRv IHNtcmFtIGFuZCBpdCBoYXMgYmVlbiBsb2NrZWQuIFRoZSBjdXJyZW50IGltcGxlbWVudGF0aW9u IChzbW0gaXBsKSBsb2NrcyBzbXJhbSB3aGVuIGl0IHJlY2VpdmVzIHRoZSBTbW1SZWFkeVRvTG9j ayBldmVudCBhbmQgdGhlbiBwcm9wYWdhdGVzIHRoZSBldmVudCB0byB0aGUgc21tIGRyaXZlcnMg dGhhdCBtYWtlIGZ1cnRoZXIgY2hhbmdlcyB0byBzbXJhbS4gVW5mb3J0dW5hdGVseSwgSSBjYW5u b3QgdGFrZSBhIHNuYXBzaG90IG9mIHNtcmFtIGFmdGVyIGl0IGhhcyBiZWVuIGxvY2tlZCEgVGh1 cywgSSBoYXZlIHNvbHZlZCB0aGlzIGlzc3VlIGJ5IHByb3BhZ2F0aW5nIHRoZSBldmVudCB0byB0 aGUgc21tIGRyaXZlcnMgZmlyc3QgKHVzaW5nIFNtbUlwbEd1aWRlZEV2ZW50Tm90aWZ5KSwgdGhl biBvcGVuaW5nIGFjY2VzcyB0byBhbmQgZHVtcGluZyB0aGUgY29udGVudHMgb2YgU01SQU0sIGFu ZCBmaW5hbGx5IGNsb3NpbmcgYWNjZXNzIHRvIGFuZCBsb2NraW5nIHNtcmFtLiBXb3VsZCBpdCBi ZSBmYWlyIHRvIHNheSB0aGF0IHRoaXMgd291bGQgZ2l2ZSBtZSB0aGUgZnVsbHkgaW5pdGlhbGl6 ZWQgY29udGVudHMgb2Ygc21yYW0/DQoNCg0KDQpNeSBzZWNvbmQgb2JzZXJ2YXRpb24gaXMgdGhh dCBkZXNwaXRlIG9wZW5pbmcgYWNjZXNzIHRvIHNtcmFtLCBJIGFtIHVuYWJsZSB0byBhY2Nlc3Mg aXRzIGNvbnRlbnRzLCB3aGljaCBpcyBhIHZpb2xhdGlvbiBvZiB0aGUgRUZJX01NX0FDQ0VTU19Q Uk9UT0NPTC5PcGVuKCkgZGVzY3JpcHRpb24gaW4gdGhlIHNwZWMsIHdoaWNoIHNheXM6ICJUaGlz IGZ1bmN0aW9uIOKAnG9wZW5z4oCdIE1NUkFNIHNvIHRoYXQgaXQgaXMgdmlzaWJsZSB3aGlsZSBu b3QgaW5zaWRlIG9mIE1NLiIgTm90ZSB0aGF0IEkgYW0gd29ya2luZyB3aXRoIG1pbm5vd2JvYXJk IGZpcm13YXJlIHJlbGVhc2UgMC45Ny4gU28gc29tZSBvZiB0aGUgYmluYXJpZXMgbGlrZSBTbW1B Y2Nlc3MuZWZpIGFyZSBwcm92aWRlZCBieSBJbnRlbCwgd2hpbGUgb3RoZXJzIGhhdmUgYmVlbiBi dWlsdCBmcm9tIHRoZSBlZGsgc291cmNlIHRyZWU6IHRodXMsIHRoaXMgbWF5IG5vdCBiZSBhbiBF REsgaXNzdWUuIFBsZWFzZSBzdWdnZXN0IGZ1cnRoZXIgc3RlcHMgYW5kL29yIHdvcmthcm91bmRz LiBTaG91bGQgSSBjb250YWN0IGVkazItcGxhdGZvcm1zIG1haW50YWluZXJzLCBvciBzdGFydCBh IG5ldyB0aHJlYWQgaGVyZSBmb3IgdGhpcyBpc3N1ZT8NCg0KLUFiaGlzaGVrDQoNCg0KT24gTW9u LCBNYXkgMjgsIDIwMTggYXQgMTA6MDMgQU0sIE1hcnZpbiBIw6R1c2VyIDxNYXJ2aW4uSGFldXNl ckBvdXRsb29rLmNvbTxtYWlsdG86TWFydmluLkhhZXVzZXJAb3V0bG9vay5jb20+PiB3cm90ZToN CkhlbGxvIEFuZHJldyBhbmQgTGFzemxvLA0KDQpUaGFua3MgZm9yIHlvdXIgY29tbWVudHMhDQpP ZiBjb3Vyc2UgSSdtIHdpdGggeW91IHRoYXQgaXQgaXMgdGhlIHBsYXRmb3JtIHRoYXQgc2lnbmFs cyB0aGUgU21tUmVhZHlUb0xvY2sgZXZlbnQgYW5kIHRoZXJlZm9yIGlzIGF3YXJlLg0KSG93ZXZl ciwgdGhleSBtaWdodCByZWx5IG9uIHRoZSBwcm90b2NvbCdzIGRlc2NyaXB0aW9uIHRoYXQgdGhl IHJlc291cmNlcyBhcmUgYWJvdXQoISkgdG8gYmUgbG9ja2VkIGFuZCBjb2RlIGFjY29yZGluZ2x5 LCBub3QgY29uc2lkZXJpbmcgdGhlIGV2ZW50IGNoYXJhY3RlcmlzdGljIG9mIHRoZSBoYW5kbGVy IGluIFBpU21tSXBsLg0KVGhlIGNvZGUgbWlnaHQgYmUgd3JpdHRlbiBieSBkaWZmZXJlbnQgcGVv cGxlLCBub3QgZXNwZWNpYWxseSByZXZpZXdlZCBhZ2FpbnN0IGVkazIncyBhY3Rpb25zLCBvciBh ZGRpdGlvbmFsIGNvZGUgbWlnaHQgYmUgc3VwcGxpZWQgYnkgdGhpcmQgcGFydGllcyB0aGF0IGRv IG5vdCBoYXZlIHRyZWUgY29kZSBhY2Nlc3MgKHdoaWNoLCBieSBpbnRlZ3JhdGlvbiwgd291bGQg YmUgInBsYXRmb3JtIGJpbmFyaWVzIiBieSB0aGUgZGVmaW5pdGlvbiBhcHBseWluZyBoZXJlKS4N Cg0KVGhlcmVmb3IgSSB3b3VsZCBzdGlsbCBhc2sgZXZlcnlvbmUgdG8gY29uc2lkZXIgZmlndXJp bmcgb3V0IGEgc29sdXRpb24gdG8gdGhpcyBkaXNjcmVwYW5jeSBmcm9tIHRoZSBzcGVjaWZpY2F0 aW9uLCBzdWNoIGFzIHRoZSBpbnRlcm5hbCAiZHVtbXkgZXZlbnQiIEkgcHJvcG9zZWQuDQoNClRo YW5rcywNCk1hcnZpbi4NCg0KPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBM YXN6bG8gRXJzZWsgPGxlcnNla0ByZWRoYXQuY29tPG1haWx0bzpsZXJzZWtAcmVkaGF0LmNvbT4+ DQo+IFNlbnQ6IE1vbmRheSwgTWF5IDI4LCAyMDE4IDEyOjU4IFBNDQo+IFRvOiBBbmRyZXcgRmlz aCA8YWZpc2hAYXBwbGUuY29tPG1haWx0bzphZmlzaEBhcHBsZS5jb20+PjsgTWFydmluIEg/dXNl cg0KPiA8TWFydmluLkhhZXVzZXJAb3V0bG9vay5jb208bWFpbHRvOk1hcnZpbi5IYWV1c2VyQG91 dGxvb2suY29tPj4NCj4gQ2M6IGVkazItZGV2ZWxAbGlzdHMuMDEub3JnPG1haWx0bzplZGsyLWRl dmVsQGxpc3RzLjAxLm9yZz47IEFiaGlzaGVrIFNpbmdoIDxhYmhAY3MudW5jLmVkdTxtYWlsdG86 YWJoQGNzLnVuYy5lZHU+PjsNCj4gcnVpeXUubmlAaW50ZWwuY29tPG1haWx0bzpydWl5dS5uaUBp bnRlbC5jb20+OyBlcmljLmRvbmdAaW50ZWwuY29tPG1haWx0bzplcmljLmRvbmdAaW50ZWwuY29t Pjsgc3Rhci56ZW5nQGludGVsLmNvbTxtYWlsdG86c3Rhci56ZW5nQGludGVsLmNvbT4NCj4gU3Vi amVjdDogUmU6IFtlZGsyXSBzbW0gbG9jayBxdWVyeQ0KPg0KPiBPbiAwNS8yNy8xOCAyMjo0NCwg QW5kcmV3IEZpc2ggd3JvdGU6DQo+ID4NCj4gPg0KPiA+PiBPbiBNYXkgMjcsIDIwMTgsIGF0IDk6 NDcgQU0sIE1hcnZpbiBIP3VzZXINCj4gPE1hcnZpbi5IYWV1c2VyQG91dGxvb2suY29tPG1haWx0 bzpNYXJ2aW4uSGFldXNlckBvdXRsb29rLmNvbT4+IHdyb3RlOg0KPiA+Pg0KPiA+PiBHb29kIGRh eSBBYmhpc2hlaywNCj4gPj4NCj4gPj4gSSBDQydkIHRoZSBNZGVNb2R1bGVQa2cgbWFpbnRhaW5l cnMsIFJ1aXl1IGZvciB0aGUgUGxhdGZvcm0gQkRTIGFzcGVjdA0KPiAoZXhwb3NlcyB0aGUgUmVh ZHlUb0xvY2sgcHJvdG9jb2wpIGFuZCBMYXN6bG8gZm9yIGhpcyBoaWdoLXF1YWxpdHkgYW5zd2Vy cy4NCj4gPj4NCj4gPj4gU3RyaWN0bHkgc3BlYWtpbmcgeW91IGFyZSwgcmlnaHQsIGJlY2F1c2Ug b2YgdGhlIGRlc2NyaXB0aW9uIGZvciB0aGUgTU0NCj4gcHJvdG9jb2w6DQo+ID4+ICJJbmRpY2F0 ZXMgdGhhdCBNTSByZXNvdXJjZXMgYW5kIHNlcnZpY2VzIHRoYXQgc2hvdWxkIG5vdCBiZSB1c2Vk IGJ5IHRoZQ0KPiB0aGlyZCBwYXJ0eSBjb2RlIGFyZSBhYm91dFtNYXJ2aW46ICghKV0gdG8gYmUg bG9ja2VkLiINCj4gPj4gUHJhY3RpY2FsbHkgaG93ZXZlciwgSSBkb24ndCBzZWUgYW55IGlzc3Vl IHdpdGggdGhlIGN1cnJlbnQNCj4gaW1wbGVtZW50YXRpb24uIENvZGUgaW5zaWRlIE1NUkFNIGlz IG5vdCBhZmZlY3RlZCBkaXJlY3RseSBieSB0aGUgbG9jaywgaXQgaXMNCj4ganVzdCBub3RpZmll ZC4NCj4gPj4gSG93ZXZlciwgZWl0aGVyIHRoZSBjb2RlIG9yIHRoZSBzcGVjaWZpY2F0aW9uIHNo b3VsZCBiZSBzbGlnaHRseSB1cGRhdGVkDQo+IHRvIGJlIGluIHN5bmMuIEEgY29kZSB1cGRhdGUg bWlnaHQgcmVxdWlyZSByZXZpZXcgb2YgdGhlIGNhbGxlciBhc3N1bXB0aW9ucywNCj4ganVzdCB0 byBiZSBzdXJlLg0KPiA+Pg0KPiA+PiBJIGhhdmUgYSBkaWZmZXJlbnQgY29uY2VybiB0aG91Z2gg YW5kIGhvcGUgSSdtIGFjdHVhbGx5IG92ZXJsb29raW5nDQo+IHNvbWV0aGluZy4NCj4gPj4gSWYg SSB1bmRlcnN0YW5kIHRoZSBjb2RlIGNvcnJlY3RseSwgaXQgaXMgdGhlIFBsYXRmb3JtIEJEUyB0 aGF0IGV4cG9zZXMgdGhlDQo+IChTKU1tUmVhZHlUb0xvY2sgcHJvdG9jb2wuIFBpU21tSXBsIHNl ZW1zIHRvIGNvbnN1bWUgdGhhdCBldmVudCBhbmQNCj4gbG9jayBTTU0gcmVzb3VyY2VzIGJhc2Vk IG9uIHRoZSBldmVudC4NCj4gPj4gQmVjYXVzZSBvZiBsYXR0ZXIgYmVpbmcgYW4gZXZlbnQgaG93 ZXZlciwgSSBkb24ndCB0aGluayBpdCBpcywgb3IgY2FuIGJlLA0KPiBndWFyYW50ZWVkIHRvIGJl IHRoZSBsYXN0IGV2ZW50IGdyb3VwIG1lbWJlciBleGVjdXRpbmcuDQo+ID4+IFdoZW4gaXQgaXMg bm90IHRoZSBsYXN0LCB0aGUgImFib3V0IHRvIGJlIGxvY2tlZCIgcGFydCBpcyBub3QgdHJ1ZSBm b3IgYW55DQo+IHN1YnNlcXVlbnQgY2FsbGJhY2tzLCB0aGF0IGNvdWxkIGFjdHVhbGx5IGJlIGEg cmlza3kgYnJlYWsgb2YgdGhlIHNwZWNpZmljYXRpb24NCj4gLSBpZiBpdCBpcy4NCj4gPj4gSWYg aXQgaXMgYSBicmVhayBvZiB0aGUgc3BlY2lmaWNhdGlvbiwgSSBjYW4gb25seSB0aGluayBvZiBs ZXR0aW5nIFBsYXRmb3JtIEJEUw0KPiBleHBvc2UgYW4gImludGVybmFsIiBldmVudCBncm91cCwg d2hpY2ggaXMgb25seSBjYXVnaHQgYnkgUGlTbW1JcGwsIHdoaWNoDQo+IHRoZW4gZHJpdmVzIHRo ZSBhY3R1YWwgU21tUmVhZHlUb0xvY2sgZmxvdy4NCj4gPj4gVGhpcyB3b3VsZCByZXF1aXJlIHVw ZGF0ZXMgdG8gYWxsIHBsYXRmb3JtIHRyZWVzIGFuZCBoZW5jZSBJIHdvdWxkDQo+IHByb3Bvc2Ug YSB0ZW1wb3JhcnkgYmFja3dhcmRzLWNvbXBhdGliaWxpdHkuDQo+ID4+DQo+ID4+IEFueSBjb21t ZW50cz8gRGlkIEkgb3Zlcmxvb2sgc29tZXRoaW5nIChJIGhvcGUpPw0KPiA+Pg0KPiA+DQo+ID4g TWF2dmluLA0KPiA+DQo+ID4gWW91IGFyZSBjb3JyZWN0IHRoZXJlIGlzIG5vIGd1YXJhbnRlZSBv ZiBvcmRlciBpbiBldmVudHMuIFRoYW5rcyBmb3IgY2MnaW5nDQo+IHRoZSByaWdodCBmb2xrcywg YXMgSSBkb24ndCByZW1lbWJlciBhbGwgdGhlIGxvdyBsZXZlbCBkZXRhaWxzLi4uDQo+ID4NCj4g PiBJbiBnZW5lcmFsIHRoZSBpZGVhIGJlaGluZCB0aGUgTU0gY29kZSBpcyBpdCBvbmx5IGNvbWVz IGZyb20gdGhlIHBsYXRmb3JtLA0KPiB0aGVuIGJ5IGRlZmluaXRpb24gdGhhdCBjb2RlIHNob3Vs ZCBiZSBhd2FyZSB3aGVuIHRoZSBwbGF0Zm9ybSB3YXMgZ29pbmcNCj4gdG8gbG9jayBNTS4gSW4g YSBwcmFjdGljYWwgc2Vuc2UgYW55IE1NIG1vZHVsZSB0aGF0IGhhZCBhIGRlcGV4IGV2YWx1YXRl DQo+IHRvIHRydWUgd291bGQgaGF2ZSBkaXNwYXRjaGVkIGluIERYRSBwcmlvciB0byBCRFMgYmVp bmcgbGF1bmNoZWQuIEluIGdlbmVyYWwNCj4gQkRTIGlzIHRoZSBjb2RlIHRoYXQgZW51bWVyYXRl cyBQQ0kgYW5kIGNvbm5lY3RzIGRldmljZXMsIHRodXMgdGhlcmUgaXMgbm8NCj4gY2hhbmNlIGZv ciAzcmQgcGFydHkgc29mdHdhcmUgdG8gcnVuIGJlZm9yZSB0aGF0IHBvaW50IGluIHRoZSBib290 LiBTbyBpbiBhbg0KPiBhYnN0cmFjdCBzZW5zZSB0aGF0IGxvY2sgcmVwcmVzZW50cyB0aGUgZW5k IG9mIERYRSBkaXNwYXRjaC4NCj4NCj4gVGhpcyBpcyBteSB1bmRlcnN0YW5kaW5nIGFzIHdlbGwu IGdFZmlEeGVTbW1SZWFkeVRvTG9ja1Byb3RvY29sR3VpZCBpcw0KPiBpbnN0YWxsZWQgYnkgUGxh Zm9ybSBCRFMgYmVmb3JlIGFueSBub24tcGxhdGZvcm0gYmluYXJpZXMgZ2V0IGEgY2hhbmNlIHRv DQo+IHJ1bi4gSW4gdGVybXMgb2YgdGhlIGN1cnJlbnQgUGxhdGZvcm1Cb290TWFuYWdlckxpYiBp bnRlcmZhY2VzLCB0aGF0IG1lYW5zDQo+IHRoZSBwcm90b2NvbCBzaG91bGQgYmUgaW5zdGFsbGVk IGZyb20NCj4gUGxhdGZvcm1Cb290TWFuYWdlckJlZm9yZUNvbnNvbGUoKSAoYXMgbm90ZWQgb24g dGhlIEFQSSBkZWNsYXJhdGlvbg0KPiBpdHNlbGYpLg0KPg0KPiBUaGFua3MNCj4gTGFzemxvDQoN Cg==