From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by mx.groups.io with SMTP id smtpd.web12.2766.1570607983823069596 for ; Wed, 09 Oct 2019 00:59:49 -0700 Authentication-Results: mx.groups.io; dkim=missing; spf=pass (domain: intel.com, ip: 134.134.136.20, mailfrom: kenji.chen@intel.com) X-Amp-Result: UNKNOWN X-Amp-Original-Verdict: FILE UNKNOWN X-Amp-File-Uploaded: False Received: from fmsmga003.fm.intel.com ([10.253.24.29]) by orsmga101.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 09 Oct 2019 00:59:42 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.67,273,1566889200"; d="txt'?scan'208,217";a="200062782" Received: from pgsmsx103.gar.corp.intel.com ([10.221.44.82]) by FMSMGA003.fm.intel.com with ESMTP; 09 Oct 2019 00:59:41 -0700 Received: from pgsmsx108.gar.corp.intel.com ([169.254.8.71]) by PGSMSX103.gar.corp.intel.com ([169.254.2.183]) with mapi id 14.03.0439.000; Wed, 9 Oct 2019 15:59:40 +0800 From: "Chen, Kenji" To: "devel@edk2.groups.io" Subject: Patch for Bug 2236 on Bugzilla Thread-Topic: Patch for Bug 2236 on Bugzilla Thread-Index: AdV+dzqldbXaiZg0SoCObEyNpWodTg== Date: Wed, 9 Oct 2019 07:59:40 +0000 Message-ID: Accept-Language: en-US X-MS-Has-Attach: yes X-MS-TNEF-Correlator: dlp-product: dlpe-windows dlp-version: 11.2.0.6 dlp-reaction: no-action x-originating-ip: [172.30.20.206] MIME-Version: 1.0 X-Groupsio-MsgNum: 48629 Content-Language: en-US Content-Type: multipart/mixed; boundary="_004_A7A4B3ECFA40144E98B82E71E29693557F59271EPGSMSX108garcor_" --_004_A7A4B3ECFA40144E98B82E71E29693557F59271EPGSMSX108garcor_ Content-Type: multipart/alternative; boundary="_000_A7A4B3ECFA40144E98B82E71E29693557F59271EPGSMSX108garcor_" --_000_A7A4B3ECFA40144E98B82E71E29693557F59271EPGSMSX108garcor_ Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Commit Message: FmpDevicePkg: Deferred LSV Commit after Platform Health Check - LSV variable in each FmpDevice is updated after each successful FmpSetIma= ge invocation. This blocks the deferred SVN mechanism performed by platfor = side. Add a PCD to remove it to make platform code feasible to handle the m= echanism of deferred LSV commit. - Add FmpDevieSetImageEx function to delivr LsvUpdate parameter for FmpDevi= ceSetImage function. The value is from Fmp capsule image header to indicate= platform side this is a LSV update. --_000_A7A4B3ECFA40144E98B82E71E29693557F59271EPGSMSX108garcor_ Content-Type: text/html; charset="us-ascii" Content-Transfer-Encoding: quoted-printable

Commit Message:

 

FmpDevicePkg: Deferred LSV Commit after Platform= Health Check

 

- LSV variable in each FmpDevice is updated afte= r each successful FmpSetImage invocation. This blocks the deferred SVN mech= anism performed by platfor side. Add a PCD to remove it to make platform code feasible to handle the mechanism of deferred LSV = commit.

- Add FmpDevieSetImageEx function to delivr LsvU= pdate parameter for FmpDeviceSetImage function. The value is from Fmp capsu= le image header to indicate platform side this is a LSV update.

--_000_A7A4B3ECFA40144E98B82E71E29693557F59271EPGSMSX108garcor_-- --_004_A7A4B3ECFA40144E98B82E71E29693557F59271EPGSMSX108garcor_ Content-Type: text/plain; name="patch_20191003_DLSV.txt" Content-Description: patch_20191003_DLSV.txt Content-Disposition: attachment; filename="patch_20191003_DLSV.txt"; size=15948; creation-date="Wed, 09 Oct 2019 07:57:10 GMT"; modification-date="Wed, 09 Oct 2019 07:57:10 GMT" Content-Transfer-Encoding: base64 ZGlmZiAtLWdpdCBhL0ZtcERldmljZVBrZy9GbXBEZXZpY2VQa2cuZGVjIGIvRm1wRGV2aWNlUGtn L0ZtcERldmljZVBrZy5kZWMKaW5kZXggODMxMmI3Y2IyMi4uMmEyNmRlMmQzZCAxMDA2NDQKLS0t IGEvRm1wRGV2aWNlUGtnL0ZtcERldmljZVBrZy5kZWMKKysrIGIvRm1wRGV2aWNlUGtnL0ZtcERl dmljZVBrZy5kZWMKQEAgLTcwLDYgKzcwLDExIEBACiAgICMgIHNldHRpbmcgdGhlIHZhbHVlIHRv IHswfS4NCiAgICMgQFByb21wdCBTSEEtMjU2IGhhc2ggb2YgUEtDUzcgdGVzdCBrZXkuDQogICBn Rm1wRGV2aWNlUGtnVG9rZW5TcGFjZUd1aWQuUGNkRm1wRGV2aWNlVGVzdEtleVNoYTI1NkRpZ2Vz dHx7MHgyRSwgMHg5NywgMHg4OSwgMHgxQiwgMHhEQiwgMHhFNywgMHgwOCwgMHhBQSwgIDB4OEMs IDB4QjIsIDB4OEYsIDB4QUQsIDB4MjAsIDB4QTksIDB4ODMsIDB4QzcsICAweDg0LCAweDdELCAw eDRGLCAweEVFLCAweDQ4LCAweDI1LCAweEU5LCAweDRELCAgMHgzOSwgMHhGQSwgMHgzNCwgMHg5 QSwgMHhCOCwgMHhCMSwgMHhDNCwgMHgyNn18Vk9JRCp8MHg0MDAwMDAwOQ0KKyAgIw0KKyAgIyBE ZWZlcnJlZCBMU1YgY29tbWl0IHRvIHN1cHBvcnQgUmVzaWxpZW5jeSBGVyB1cGRhdGUNCisgICMg ICBUUlVFICAtIExzdiBpcyBoYW5kbGVkIGJ5IHBsYXRmb3JtIGNvZGUNCisgICMgICBGQUxTRSAt IExzdiBpcyBoYW5kbGVkIGJ5IEZtcERldmljZVBrZw0KKyAgZ0ZtcERldmljZVBrZ1Rva2VuU3Bh Y2VHdWlkLlBjZExzdlBvbGljeXxGQUxTRXxCT09MRUFOfDB4NDAwMDAwMEENCiANCiBbUGNkc0Zp eGVkQXRCdWlsZCwgUGNkc1BhdGNoYWJsZUluTW9kdWxlXQ0KICAgIyMgVGhlIGNvbG9yIG9mIHRo ZSBwcm9ncmVzcyBiYXIgZHVyaW5nIGEgZmlybXdhcmUgdXBkYXRlLiAgRWFjaCBmaXJtd2FyZQ0K ZGlmZiAtLWdpdCBhL0ZtcERldmljZVBrZy9GbXBEZXZpY2VQa2cuZHNjIGIvRm1wRGV2aWNlUGtn L0ZtcERldmljZVBrZy5kc2MKaW5kZXggYmYyODNiOTNlYS4uYzYzOWMxZjMxOSAxMDA2NDQKLS0t IGEvRm1wRGV2aWNlUGtnL0ZtcERldmljZVBrZy5kc2MKKysrIGIvRm1wRGV2aWNlUGtnL0ZtcERl dmljZVBrZy5kc2MKQEAgLTEwNCw2ICsxMDQsMTAgQEAKICAgICAgICMNCiAgICAgICBnRm1wRGV2 aWNlUGtnVG9rZW5TcGFjZUd1aWQuUGNkRm1wRGV2aWNlSW1hZ2VJZE5hbWV8TCJTYW1wbGUgRmly bXdhcmUgRGV2aWNlIg0KICAgICAgICMNCisgICAgICAjIERlZmVycmVkIFNWTiBjb21taXQgdG8g c3VwcG9ydCBSZXNpbGllbmN5IEZXIHVwZGF0ZQ0KKyAgICAgICMNCisgICAgICBnRm1wRGV2aWNl UGtnVG9rZW5TcGFjZUd1aWQuUGNkTHN2UG9saWN5fEZBTFNFDQorICAgICAgIw0KICAgICAgICMg Q2VydGlmaWNhdGVzIHVzZWQgdG8gYXV0aGVudGljYXRlIGNhcHN1bGUgdXBkYXRlIGltYWdlDQog ICAgICAgIw0KICAgICAgICFpbmNsdWRlIEJhc2VUb29scy9Tb3VyY2UvUHl0aG9uL1BrY3M3U2ln bi9UZXN0Um9vdC5jZXIuZ0ZtcERldmljZVBrZ1Rva2VuU3BhY2VHdWlkLlBjZEZtcERldmljZVBr Y3M3Q2VydEJ1ZmZlclhkci5pbmMNCmRpZmYgLS1naXQgYS9GbXBEZXZpY2VQa2cvRm1wRHhlL0Zt cER4ZS5jIGIvRm1wRGV2aWNlUGtnL0ZtcER4ZS9GbXBEeGUuYwppbmRleCAzY2E5ZDM1MjZhLi45 ZmQ0NmFhM2FiIDEwMDY0NAotLS0gYS9GbXBEZXZpY2VQa2cvRm1wRHhlL0ZtcER4ZS5jCisrKyBi L0ZtcERldmljZVBrZy9GbXBEeGUvRm1wRHhlLmMKQEAgLTI1MCw5ICsyNTAsMTEgQEAgR2V0TG93 ZXN0U3VwcG9ydGVkVmVyc2lvbiAoCiAgIC8vDQogICAvLyBDaGVjayB0aGUgbG93ZXN0IHN1cHBv cnRlZCB2ZXJzaW9uIFVFRkkgdmFyaWFibGUgZm9yIHRoaXMgZGV2aWNlDQogICAvLw0KLSAgVmFy aWFibGVMb3dlc3RTdXBwb3J0ZWRWZXJzaW9uID0gR2V0TG93ZXN0U3VwcG9ydGVkVmVyc2lvbkZy b21WYXJpYWJsZSAoUHJpdmF0ZSk7DQotICBpZiAoVmFyaWFibGVMb3dlc3RTdXBwb3J0ZWRWZXJz aW9uID4gUmV0dXJuTHN2KSB7DQotICAgIFJldHVybkxzdiA9IFZhcmlhYmxlTG93ZXN0U3VwcG9y dGVkVmVyc2lvbjsNCisgIGlmICghRmVhdHVyZVBjZEdldCAoUGNkTHN2UG9saWN5KSkgew0KKyAg ICBWYXJpYWJsZUxvd2VzdFN1cHBvcnRlZFZlcnNpb24gPSBHZXRMb3dlc3RTdXBwb3J0ZWRWZXJz aW9uRnJvbVZhcmlhYmxlIChQcml2YXRlKTsNCisgICAgaWYgKFZhcmlhYmxlTG93ZXN0U3VwcG9y dGVkVmVyc2lvbiA+IFJldHVybkxzdikgew0KKyAgICAgIFJldHVybkxzdiA9IFZhcmlhYmxlTG93 ZXN0U3VwcG9ydGVkVmVyc2lvbjsNCisgICAgfQ0KICAgfQ0KIA0KICAgLy8NCkBAIC05NjMsNyAr OTY1LDcgQEAgU2V0VGhlSW1hZ2UgKAogICBWT0lEICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgKkZtcEhlYWRlcjsNCiAgIFVJTlROICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGbXBQ YXlsb2FkU2l6ZTsNCiAgIFVJTlQzMiAgICAgICAgICAgICAgICAgICAgICAgICAgICBBbGxIZWFk ZXJTaXplOw0KLSAgVUlOVDMyICAgICAgICAgICAgICAgICAgICAgICAgICAgIEluY29tbWluZ0Z3 VmVyc2lvbjsNCisgIFVJTlQzMiAgICAgICAgICAgICAgICAgICAgICAgICAgICBJbmNvbWluZ0Z3 VmVyc2lvbjsNCiAgIFVJTlQzMiAgICAgICAgICAgICAgICAgICAgICAgICAgICBMYXN0QXR0ZW1w dFN0YXR1czsNCiAgIFVJTlQzMiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWZXJzaW9uOw0K ICAgVUlOVDMyICAgICAgICAgICAgICAgICAgICAgICAgICAgIExvd2VzdFN1cHBvcnRlZFZlcnNp b247DQpAQCAtOTc1LDcgKzk3Nyw3IEBAIFNldFRoZUltYWdlICgKICAgRm1wSGVhZGVyICAgICAg ICAgID0gTlVMTDsNCiAgIEZtcFBheWxvYWRTaXplICAgICA9IDA7DQogICBBbGxIZWFkZXJTaXpl ICAgICAgPSAwOw0KLSAgSW5jb21taW5nRndWZXJzaW9uID0gMDsNCisgIEluY29taW5nRndWZXJz aW9uICA9IDA7DQogICBMYXN0QXR0ZW1wdFN0YXR1cyAgPSBMQVNUX0FUVEVNUFRfU1RBVFVTX0VS Uk9SX1VOU1VDQ0VTU0ZVTDsNCiANCiAgIGlmICghRmVhdHVyZVBjZEdldCAoUGNkRm1wRGV2aWNl U3RvcmFnZUFjY2Vzc0VuYWJsZSkpIHsNCkBAIC05OTYsNyArOTk4LDcgQEAgU2V0VGhlSW1hZ2Ug KAogICAvLw0KICAgLy8gU2V0IHRvIDAgdG8gY2xlYXIgYW55IHByZXZpb3VzIHJlc3VsdHMuDQog ICAvLw0KLSAgU2V0TGFzdEF0dGVtcHRWZXJzaW9uSW5WYXJpYWJsZSAoUHJpdmF0ZSwgSW5jb21t aW5nRndWZXJzaW9uKTsNCisgIFNldExhc3RBdHRlbXB0VmVyc2lvbkluVmFyaWFibGUgKFByaXZh dGUsIEluY29taW5nRndWZXJzaW9uKTsNCiANCiAgIC8vDQogICAvLyBpZiB3ZSBoYXZlIGxvY2tl ZCB0aGUgZGV2aWNlLCB0aGVuIHNraXAgdGhlIHNldCBvcGVyYXRpb24uDQpAQCAtMTAzMCwxMiAr MTAzMiwxMiBAQCBTZXRUaGVJbWFnZSAoCiAgICAgU3RhdHVzID0gRUZJX0FCT1JURUQ7DQogICAg IGdvdG8gY2xlYW51cDsNCiAgIH0NCi0gIFN0YXR1cyA9IEdldEZtcFBheWxvYWRIZWFkZXJWZXJz aW9uIChGbXBIZWFkZXIsIEZtcFBheWxvYWRTaXplLCAmSW5jb21taW5nRndWZXJzaW9uKTsNCisg IFN0YXR1cyA9IEdldEZtcFBheWxvYWRIZWFkZXJWZXJzaW9uIChGbXBIZWFkZXIsIEZtcFBheWxv YWRTaXplLCAmSW5jb21pbmdGd1ZlcnNpb24pOw0KICAgaWYgKCFFRklfRVJST1IgKFN0YXR1cykp IHsNCiAgICAgLy8NCiAgICAgLy8gU2V0IHRvIGFjdHVhbCB2YWx1ZQ0KICAgICAvLw0KLSAgICBT ZXRMYXN0QXR0ZW1wdFZlcnNpb25JblZhcmlhYmxlIChQcml2YXRlLCBJbmNvbW1pbmdGd1ZlcnNp b24pOw0KKyAgICBTZXRMYXN0QXR0ZW1wdFZlcnNpb25JblZhcmlhYmxlIChQcml2YXRlLCBJbmNv bWluZ0Z3VmVyc2lvbik7DQogICB9DQogDQogDQpAQCAtMTE1MywxNCArMTE1NSwzMSBAQCBTZXRU aGVJbWFnZSAoCiAgIC8vDQogICAvL0NvcHkgdGhlIHJlcXVlc3RlZCBpbWFnZSB0byB0aGUgZmly bXdhcmUgdXNpbmcgdGhlIEZtcERldmljZUxpYg0KICAgLy8NCi0gIFN0YXR1cyA9IEZtcERldmlj ZVNldEltYWdlICgNCi0gICAgICAgICAgICAgKCgoVUlOVDggKilJbWFnZSkgKyBBbGxIZWFkZXJT aXplKSwNCi0gICAgICAgICAgICAgSW1hZ2VTaXplIC0gQWxsSGVhZGVyU2l6ZSwNCi0gICAgICAg ICAgICAgVmVuZG9yQ29kZSwNCi0gICAgICAgICAgICAgRm1wRHhlUHJvZ3Jlc3MsDQotICAgICAg ICAgICAgIEluY29tbWluZ0Z3VmVyc2lvbiwNCi0gICAgICAgICAgICAgQWJvcnRSZWFzb24NCi0g ICAgICAgICAgICAgKTsNCisgIGlmIChGaXhlZFBjZEdldEJvb2woUGNkTHN2UG9saWN5KSA9PSAw KSB7DQorICAgIFN0YXR1cyA9IEZtcERldmljZVNldEltYWdlICgNCisgICAgICAgICAgICAgICAo KChVSU5UOCAqKUltYWdlKSArIEFsbEhlYWRlclNpemUpLA0KKyAgICAgICAgICAgICAgIEltYWdl U2l6ZSAtIEFsbEhlYWRlclNpemUsDQorICAgICAgICAgICAgICAgVmVuZG9yQ29kZSwNCisgICAg ICAgICAgICAgICBGbXBEeGVQcm9ncmVzcywNCisgICAgICAgICAgICAgICBJbmNvbWluZ0Z3VmVy c2lvbiwNCisgICAgICAgICAgICAgICBBYm9ydFJlYXNvbg0KKyAgICAgICAgICAgICAgICk7DQor ICB9IGVsc2Ugew0KKyAgICBTdGF0dXMgPSBHZXRGbXBQYXlsb2FkSGVhZGVyTG93ZXN0U3VwcG9y dGVkVmVyc2lvbiAoRm1wSGVhZGVyLCBGbXBQYXlsb2FkU2l6ZSwgJkxvd2VzdFN1cHBvcnRlZFZl cnNpb24pOw0KKyAgICBpZiAoRUZJX0VSUk9SKFN0YXR1cykpIHsNCisgICAgICBnb3RvIGNsZWFu dXA7DQorICAgIH0NCisgICAgU3RhdHVzID0gRm1wRGV2aWNlU2V0SW1hZ2VEZWZlcnJlZExzdkNv bW1pdCAoDQorICAgICAgICAgICAgICAgKCgoVUlOVDggKilJbWFnZSkgKyBBbGxIZWFkZXJTaXpl KSwNCisgICAgICAgICAgICAgICBJbWFnZVNpemUgLSBBbGxIZWFkZXJTaXplLA0KKyAgICAgICAg ICAgICAgIFZlbmRvckNvZGUsDQorICAgICAgICAgICAgICAgRm1wRHhlUHJvZ3Jlc3MsDQorICAg ICAgICAgICAgICAgSW5jb21pbmdGd1ZlcnNpb24sDQorICAgICAgICAgICAgICAgTG93ZXN0U3Vw cG9ydGVkVmVyc2lvbiwgDQorICAgICAgICAgICAgICAgQWJvcnRSZWFzb24NCisgICAgICAgICAg ICAgICApOw0KKyAgfQ0KKw0KICAgaWYgKEVGSV9FUlJPUiAoU3RhdHVzKSkgew0KICAgICBERUJV RyAoKERFQlVHX0VSUk9SLCAiRm1wRHhlKCVzKTogU2V0VGhlSW1hZ2UoKSBTZXRJbWFnZSBmcm9t IEZtcERldmljZUxpYiBmYWlsZWQuIFN0YXR1cyA9ICAlci5cbiIsIG1JbWFnZUlkTmFtZSwgU3Rh dHVzKSk7DQogICAgIGdvdG8gY2xlYW51cDsNCkBAIC0xMTg1LDkgKzEyMDQsMTEgQEAgU2V0VGhl SW1hZ2UgKAogICAvLw0KICAgLy8gVXBkYXRlIGxvd2VzdCBzdXBwb3J0ZWQgdmFyaWFibGUNCiAg IC8vDQotICBMb3dlc3RTdXBwb3J0ZWRWZXJzaW9uID0gREVGQVVMVF9MT1dFU1RTVVBQT1JURURW RVJTSU9OOw0KLSAgR2V0Rm1wUGF5bG9hZEhlYWRlckxvd2VzdFN1cHBvcnRlZFZlcnNpb24gKEZt cEhlYWRlciwgRm1wUGF5bG9hZFNpemUsICZMb3dlc3RTdXBwb3J0ZWRWZXJzaW9uKTsNCi0gIFNl dExvd2VzdFN1cHBvcnRlZFZlcnNpb25JblZhcmlhYmxlIChQcml2YXRlLCBMb3dlc3RTdXBwb3J0 ZWRWZXJzaW9uKTsNCisgIGlmICghRmVhdHVyZVBjZEdldCAoUGNkTHN2UG9saWN5KSkgew0KKyAg ICBMb3dlc3RTdXBwb3J0ZWRWZXJzaW9uID0gREVGQVVMVF9MT1dFU1RTVVBQT1JURURWRVJTSU9O Ow0KKyAgICBHZXRGbXBQYXlsb2FkSGVhZGVyTG93ZXN0U3VwcG9ydGVkVmVyc2lvbiAoRm1wSGVh ZGVyLCBGbXBQYXlsb2FkU2l6ZSwgJkxvd2VzdFN1cHBvcnRlZFZlcnNpb24pOw0KKyAgICBTZXRM b3dlc3RTdXBwb3J0ZWRWZXJzaW9uSW5WYXJpYWJsZSAoUHJpdmF0ZSwgTG93ZXN0U3VwcG9ydGVk VmVyc2lvbik7DQorICB9DQogDQogICBMYXN0QXR0ZW1wdFN0YXR1cyA9IExBU1RfQVRURU1QVF9T VEFUVVNfU1VDQ0VTUzsNCiANCmRpZmYgLS1naXQgYS9GbXBEZXZpY2VQa2cvRm1wRHhlL0ZtcER4 ZS5pbmYgYi9GbXBEZXZpY2VQa2cvRm1wRHhlL0ZtcER4ZS5pbmYKaW5kZXggYmVjNzNhYThmYi4u NGMwZmIyMTQ4YiAxMDA2NDQKLS0tIGEvRm1wRGV2aWNlUGtnL0ZtcER4ZS9GbXBEeGUuaW5mCisr KyBiL0ZtcERldmljZVBrZy9GbXBEeGUvRm1wRHhlLmluZgpAQCAtNzIsNiArNzIsNyBAQAogICBn Rm1wRGV2aWNlUGtnVG9rZW5TcGFjZUd1aWQuUGNkRm1wRGV2aWNlVGVzdEtleVNoYTI1NkRpZ2Vz dCAgICAgICAgICAgICAgIyMgQ09OU1VNRVMNCiAgIGdGbXBEZXZpY2VQa2dUb2tlblNwYWNlR3Vp ZC5QY2RGbXBEZXZpY2VJbWFnZVR5cGVJZEd1aWQgICAgICAgICAgICAgICAgICAjIyBDT05TVU1F Uw0KICAgZ0VmaU1kZU1vZHVsZVBrZ1Rva2VuU3BhY2VHdWlkLlBjZFRlc3RLZXlVc2VkICAgICAg ICAgICAgICAgICAgICAgICAgICAgICMjIFNPTUVUSU1FU19QUk9EVUNFUw0KKyAgZ0ZtcERldmlj ZVBrZ1Rva2VuU3BhY2VHdWlkLlBjZExzdlBvbGljeSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICMjIENPTlNVTUVTDQogDQogW0RlcGV4XQ0KICAgZ0VmaVZhcmlhYmxlV3JpdGVBcmNo UHJvdG9jb2xHdWlkIEFORCBnRWRraWlWYXJpYWJsZUxvY2tQcm90b2NvbEd1aWQNCmRpZmYgLS1n aXQgYS9GbXBEZXZpY2VQa2cvSW5jbHVkZS9MaWJyYXJ5L0ZtcERldmljZUxpYi5oIGIvRm1wRGV2 aWNlUGtnL0luY2x1ZGUvTGlicmFyeS9GbXBEZXZpY2VMaWIuaAppbmRleCAxZTQ5OGMxM2NlLi43 MDIyODE4OWFjIDEwMDY0NAotLS0gYS9GbXBEZXZpY2VQa2cvSW5jbHVkZS9MaWJyYXJ5L0ZtcERl dmljZUxpYi5oCisrKyBiL0ZtcERldmljZVBrZy9JbmNsdWRlL0xpYnJhcnkvRm1wRGV2aWNlTGli LmgKQEAgLTQ2Niw2ICs0NjYsNzMgQEAgRm1wRGV2aWNlU2V0SW1hZ2UgKAogICBPVVQgQ0hBUjE2 ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqKkFib3J0UmVhc29uDQog ICApOw0KIA0KKy8qKg0KKyAgVXBkYXRlcyBhIGZpcm13YXJlIGRldmljZSB3aXRoIGEgbmV3IGZp cm13YXJlIGltYWdlLiAgVGhpcyBmdW5jdGlvbiByZXR1cm5zDQorICBFRklfVU5TVVBQT1JURUQg aWYgdGhlIGZpcm13YXJlIGltYWdlIGlzIG5vdCB1cGRhdGFibGUuICBJZiB0aGUgZmlybXdhcmUg aW1hZ2UNCisgIGlzIHVwZGF0YWJsZSwgdGhlIGZ1bmN0aW9uIHNob3VsZCBwZXJmb3JtIHRoZSBm b2xsb3dpbmcgbWluaW1hbCB2YWxpZGF0aW9ucw0KKyAgYmVmb3JlIHByb2NlZWRpbmcgdG8gZG8g dGhlIGZpcm13YXJlIGltYWdlIHVwZGF0ZS4NCisgICAgLSBWYWxpZGF0ZSB0aGF0IHRoZSBpbWFn ZSBpcyBhIHN1cHBvcnRlZCBpbWFnZSBmb3IgdGhpcyBmaXJtd2FyZSBkZXZpY2UuDQorICAgICAg UmV0dXJuIEVGSV9BQk9SVEVEIGlmIHRoZSBpbWFnZSBpcyBub3Qgc3VwcG9ydGVkLiAgQWRkaXRp b25hbCBkZXRhaWxzDQorICAgICAgb24gd2h5IHRoZSBpbWFnZSBpcyBub3QgYSBzdXBwb3J0ZWQg aW1hZ2UgbWF5IGJlIHJldHVybmVkIGluIEFib3J0UmVhc29uLg0KKyAgICAtIFZhbGlkYXRlIHRo ZSBkYXRhIGZyb20gVmVuZG9yQ29kZSBpZiBpcyBub3QgTlVMTC4gIEZpcm13YXJlIGltYWdlDQor ICAgICAgdmFsaWRhdGlvbiBtdXN0IGJlIHBlcmZvcm1lZCBiZWZvcmUgVmVuZG9yQ29kZSBkYXRh IHZhbGlkYXRpb24uDQorICAgICAgVmVuZG9yQ29kZSBkYXRhIGlzIGlnbm9yZWQgb3IgY29uc2lk ZXJlZCBpbnZhbGlkIGlmIGltYWdlIHZhbGlkYXRpb24NCisgICAgICBmYWlscy4gIFJldHVybiBF RklfQUJPUlRFRCBpZiB0aGUgVmVuZG9yQ29kZSBkYXRhIGlzIGludmFsaWQuDQorDQorICBWZW5k b3JDb2RlIGVuYWJsZXMgdmVuZG9yIHRvIGltcGxlbWVudCB2ZW5kb3Itc3BlY2lmaWMgZmlybXdh cmUgaW1hZ2UgdXBkYXRlDQorICBwb2xpY3kuICBOdWxsIGlmIHRoZSBjYWxsZXIgZGlkIG5vdCBz cGVjaWZ5IHRoZSBwb2xpY3kgb3IgdXNlIHRoZSBkZWZhdWx0DQorICBwb2xpY3kuICBBcyBhbiBl eGFtcGxlLCB2ZW5kb3IgY2FuIGltcGxlbWVudCBhIHBvbGljeSB0byBhbGxvdyBhbiBvcHRpb24g dG8NCisgIGZvcmNlIGEgZmlybXdhcmUgaW1hZ2UgdXBkYXRlIHdoZW4gdGhlIGFib3J0IHJlYXNv biBpcyBkdWUgdG8gdGhlIG5ldyBmaXJtd2FyZQ0KKyAgaW1hZ2UgdmVyc2lvbiBpcyBvbGRlciB0 aGFuIHRoZSBjdXJyZW50IGZpcm13YXJlIGltYWdlIHZlcnNpb24gb3IgYmFkIGltYWdlDQorICBj aGVja3N1bS4gIFNlbnNpdGl2ZSBvcGVyYXRpb25zIHN1Y2ggYXMgdGhvc2Ugd2lwaW5nIHRoZSBl bnRpcmUgZmlybXdhcmUgaW1hZ2UNCisgIGFuZCByZW5kZXIgdGhlIGRldmljZSB0byBiZSBub24t ZnVuY3Rpb25hbCBzaG91bGQgYmUgZW5jb2RlZCBpbiB0aGUgaW1hZ2UNCisgIGl0c2VsZiByYXRo ZXIgdGhhbiBwYXNzZWQgd2l0aCB0aGUgVmVuZG9yQ29kZS4gIEFib3J0UmVhc29uIGVuYWJsZXMg dmVuZG9yIHRvDQorICBoYXZlIHRoZSBvcHRpb24gdG8gcHJvdmlkZSBhIG1vcmUgZGV0YWlsZWQg ZGVzY3JpcHRpb24gb2YgdGhlIGFib3J0IHJlYXNvbiB0bw0KKyAgdGhlIGNhbGxlci4NCisNCisg IEBwYXJhbVtpbl0gIEltYWdlICAgICAgICAgICAgIFBvaW50cyB0byB0aGUgbmV3IGZpcm13YXJl IGltYWdlLg0KKyAgQHBhcmFtW2luXSAgSW1hZ2VTaXplICAgICAgICAgU2l6ZSwgaW4gYnl0ZXMs IG9mIHRoZSBuZXcgZmlybXdhcmUgaW1hZ2UuDQorICBAcGFyYW1baW5dICBWZW5kb3JDb2RlICAg ICAgICBUaGlzIGVuYWJsZXMgdmVuZG9yIHRvIGltcGxlbWVudCB2ZW5kb3Itc3BlY2lmaWMNCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpcm13YXJlIGltYWdlIHVwZGF0ZSBwb2xp Y3kuICBOVUxMIGluZGljYXRlcw0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhl IGNhbGxlciBkaWQgbm90IHNwZWNpZnkgdGhlIHBvbGljeSBvciB1c2UgdGhlDQorICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0IHBvbGljeS4NCisgIEBwYXJhbVtpbl0gIFBy b2dyZXNzICAgICAgICAgIEEgZnVuY3Rpb24gdXNlZCB0byByZXBvcnQgdGhlIHByb2dyZXNzIG9m DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cGRhdGluZyB0aGUgZmlybXdhcmUg ZGV2aWNlIHdpdGggdGhlIG5ldw0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmly bXdhcmUgaW1hZ2UuDQorICBAcGFyYW1baW5dICBDYXBzdWxlRndWZXJzaW9uICBUaGUgdmVyc2lv biBvZiB0aGUgbmV3IGZpcm13YXJlIGltYWdlIGZyb20gdGhlDQorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICB1cGRhdGUgY2Fwc3VsZSB0aGF0IHByb3ZpZGVkIHRoZSBuZXcgZmlybXdh cmUNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGltYWdlLg0KKyAgQHBhcmFtW2lu XSAgTHN2VXBkYXRlICAgICAgICAgVGhlIExvd2VzdCBTdXBwb3J0ZWQgVmVyc2lvbiBvZiB0aGUg bmV3IGZpcm13YXJlDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbWFnZSBmcm9t IHRoZSB1cGRhdGUgY2Fwc3VsZSB0aGF0IHByb3ZpZGVkIHRoZSANCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIG5ldyBmaXJtd2FyZSBpbWFnZS4NCisgIEBwYXJhbVtvdXRdIEFib3J0 UmVhc29uICAgICAgIEEgcG9pbnRlciB0byBhIHBvaW50ZXIgdG8gYSBOdWxsLXRlcm1pbmF0ZWQN CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFVuaWNvZGUgc3RyaW5nIHByb3ZpZGlu ZyBtb3JlIGRldGFpbHMgb24gYW4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFi b3J0ZWQgb3BlcmF0aW9uLiBUaGUgYnVmZmVyIGlzIGFsbG9jYXRlZCBieQ0KKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgdGhpcyBmdW5jdGlvbiB3aXRoDQorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBFRklfQk9PVF9TRVJWSUNFUy5BbGxvY2F0ZVBvb2woKS4gIEl0IGlz IHRoZQ0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FsbGVyJ3MgcmVzcG9uc2li aWxpdHkgdG8gZnJlZSB0aGlzIGJ1ZmZlciB3aXRoDQorICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBFRklfQk9PVF9TRVJWSUNFUy5GcmVlUG9vbCgpLg0KKw0KKyAgQHJldHZhbCBFRklf U1VDQ0VTUyAgICAgICAgICAgIFRoZSBmaXJtd2FyZSBkZXZpY2Ugd2FzIHN1Y2Nlc3NmdWxseSB1 cGRhdGVkDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2l0aCB0aGUgbmV3IGZp cm13YXJlIGltYWdlLg0KKyAgQHJldHZhbCBFRklfQUJPUlRFRCAgICAgICAgICAgIFRoZSBvcGVy YXRpb24gaXMgYWJvcnRlZC4gIEFkZGl0aW9uYWwgZGV0YWlscw0KKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIGFyZSBwcm92aWRlZCBpbiBBYm9ydFJlYXNvbi4NCisgIEByZXR2YWwg RUZJX0lOVkFMSURfUEFSQU1FVEVSICBUaGUgSW1hZ2Ugd2FzIE5VTEwuDQorICBAcmV0dmFsIEVG SV9VTlNVUFBPUlRFRCAgICAgICAgVGhlIG9wZXJhdGlvbiBpcyBub3Qgc3VwcG9ydGVkLg0KKw0K KyoqLw0KK0VGSV9TVEFUVVMNCitFRklBUEkNCitGbXBEZXZpY2VTZXRJbWFnZURlZmVycmVkTHN2 Q29tbWl0ICgNCisgIElOICBDT05TVCBWT0lEICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICpJbWFnZSwNCisgIElOICBVSU5UTiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIEltYWdlU2l6ZSwNCisgIElOICBDT05TVCBWT0lEICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICpWZW5kb3JDb2RlLCAgICAgICBPUFRJT05BTA0KKyAgSU4g IEVGSV9GSVJNV0FSRV9NQU5BR0VNRU5UX1VQREFURV9JTUFHRV9QUk9HUkVTUyAgUHJvZ3Jlc3Ms ICAgICAgICAgIE9QVElPTkFMDQorICBJTiAgVUlOVDMyICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBDYXBzdWxlRndWZXJzaW9uLA0KKyAgSU4gIFVJTlQzMiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTHN2VXBkYXRlLA0KKyAgT1VUIENIQVIx NiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKipBYm9ydFJlYXNvbg0K KyAgKTsNCisNCiAvKioNCiAgIExvY2sgdGhlIGZpcm13YXJlIGRldmljZSB0aGF0IGNvbnRhaW5z IGEgZmlybXdhcmUgaW1hZ2UuICBPbmNlIGEgZmlybXdhcmUNCiAgIGRldmljZSBpcyBsb2NrZWQs IGFueSBhdHRlbXB0cyB0byBtb2RpZnkgdGhlIGZpcm13YXJlIGltYWdlIGNvbnRlbnRzIGluIHRo ZQ0KZGlmZiAtLWdpdCBhL0ZtcERldmljZVBrZy9MaWJyYXJ5L0ZtcERldmljZUxpYk51bGwvRm1w RGV2aWNlTGliLmMgYi9GbXBEZXZpY2VQa2cvTGlicmFyeS9GbXBEZXZpY2VMaWJOdWxsL0ZtcERl dmljZUxpYi5jCmluZGV4IGZkMjE5Y2I3MGIuLjY1MTMyNGNlZTMgMTAwNjQ0Ci0tLSBhL0ZtcERl dmljZVBrZy9MaWJyYXJ5L0ZtcERldmljZUxpYk51bGwvRm1wRGV2aWNlTGliLmMKKysrIGIvRm1w RGV2aWNlUGtnL0xpYnJhcnkvRm1wRGV2aWNlTGliTnVsbC9GbXBEZXZpY2VMaWIuYwpAQCAtNDEw LDYgKzQxMCw4NCBAQCBGbXBEZXZpY2VDaGVja0ltYWdlICgKICAgcmV0dXJuIEVGSV9TVUNDRVNT Ow0KIH0NCiANCisvKioNCisgIFVwZGF0ZXMgdGhlIGZpcm13YXJlIGltYWdlIG9mIHRoZSBkZXZp Y2UuDQorDQorICBUaGlzIGZ1bmN0aW9uIHVwZGF0ZXMgdGhlIGhhcmR3YXJlIHdpdGggdGhlIG5l dyBmaXJtd2FyZSBpbWFnZS4gIFRoaXMgZnVuY3Rpb24NCisgIHJldHVybnMgRUZJX1VOU1VQUE9S VEVEIGlmIHRoZSBmaXJtd2FyZSBpbWFnZSBpcyBub3QgdXBkYXRhYmxlLiAgSWYgdGhlDQorICBm aXJtd2FyZSBpbWFnZSBpcyB1cGRhdGFibGUsIHRoZSBmdW5jdGlvbiBzaG91bGQgcGVyZm9ybSB0 aGUgZm9sbG93aW5nIG1pbmltYWwNCisgIHZhbGlkYXRpb25zIGJlZm9yZSBwcm9jZWVkaW5nIHRv IGRvIHRoZSBmaXJtd2FyZSBpbWFnZSB1cGRhdGUuDQorICAgIC0gVmFsaWRhdGUgdGhlIGltYWdl IGlzIGEgc3VwcG9ydGVkIGltYWdlIGZvciB0aGlzIGRldmljZS4gIFRoZSBmdW5jdGlvbg0KKyAg ICAgIHJldHVybnMgRUZJX0FCT1JURUQgaWYgdGhlIGltYWdlIGlzIHVuc3VwcG9ydGVkLiAgVGhl IGZ1bmN0aW9uIGNhbg0KKyAgICAgIG9wdGlvbmFsbHkgcHJvdmlkZSBtb3JlIGRldGFpbGVkIGlu Zm9ybWF0aW9uIG9uIHdoeSB0aGUgaW1hZ2UgaXMgbm90IGENCisgICAgICBzdXBwb3J0ZWQgaW1h Z2UuDQorICAgIC0gVmFsaWRhdGUgdGhlIGRhdGEgZnJvbSBWZW5kb3JDb2RlIGlmIG5vdCBudWxs LiAgSW1hZ2UgdmFsaWRhdGlvbiBtdXN0IGJlDQorICAgICAgcGVyZm9ybWVkIGJlZm9yZSBWZW5k b3JDb2RlIGRhdGEgdmFsaWRhdGlvbi4gIFZlbmRvckNvZGUgZGF0YSBpcyBpZ25vcmVkDQorICAg ICAgb3IgY29uc2lkZXJlZCBpbnZhbGlkIGlmIGltYWdlIHZhbGlkYXRpb24gZmFpbGVkLiAgVGhl IGZ1bmN0aW9uIHJldHVybnMNCisgICAgICBFRklfQUJPUlRFRCBpZiB0aGUgZGF0YSBpcyBpbnZh bGlkLg0KKw0KKyAgVmVuZG9yQ29kZSBlbmFibGVzIHZlbmRvciB0byBpbXBsZW1lbnQgdmVuZG9y LXNwZWNpZmljIGZpcm13YXJlIGltYWdlIHVwZGF0ZQ0KKyAgcG9saWN5LiAgTnVsbCBpZiB0aGUg Y2FsbGVyIGRpZCBub3Qgc3BlY2lmeSB0aGUgcG9saWN5IG9yIHVzZSB0aGUgZGVmYXVsdA0KKyAg cG9saWN5LiAgQXMgYW4gZXhhbXBsZSwgdmVuZG9yIGNhbiBpbXBsZW1lbnQgYSBwb2xpY3kgdG8g YWxsb3cgYW4gb3B0aW9uIHRvDQorICBmb3JjZSBhIGZpcm13YXJlIGltYWdlIHVwZGF0ZSB3aGVu IHRoZSBhYm9ydCByZWFzb24gaXMgZHVlIHRvIHRoZSBuZXcgZmlybXdhcmUNCisgIGltYWdlIHZl cnNpb24gaXMgb2xkZXIgdGhhbiB0aGUgY3VycmVudCBmaXJtd2FyZSBpbWFnZSB2ZXJzaW9uIG9y IGJhZCBpbWFnZQ0KKyAgY2hlY2tzdW0uICBTZW5zaXRpdmUgb3BlcmF0aW9ucyBzdWNoIGFzIHRo b3NlIHdpcGluZyB0aGUgZW50aXJlIGZpcm13YXJlIGltYWdlDQorICBhbmQgcmVuZGVyIHRoZSBk ZXZpY2UgdG8gYmUgbm9uLWZ1bmN0aW9uYWwgc2hvdWxkIGJlIGVuY29kZWQgaW4gdGhlIGltYWdl DQorICBpdHNlbGYgcmF0aGVyIHRoYW4gcGFzc2VkIHdpdGggdGhlIFZlbmRvckNvZGUuICBBYm9y dFJlYXNvbiBlbmFibGVzIHZlbmRvciB0bw0KKyAgaGF2ZSB0aGUgb3B0aW9uIHRvIHByb3ZpZGUg YSBtb3JlIGRldGFpbGVkIGRlc2NyaXB0aW9uIG9mIHRoZSBhYm9ydCByZWFzb24gdG8NCisgIHRo ZSBjYWxsZXIuDQorDQorICBAcGFyYW1baW5dICBJbWFnZSAgICAgICAgICAgICBQb2ludHMgdG8g dGhlIG5ldyBpbWFnZS4NCisgIEBwYXJhbVtpbl0gIEltYWdlU2l6ZSAgICAgICAgIFNpemUgb2Yg dGhlIG5ldyBpbWFnZSBpbiBieXRlcy4NCisgIEBwYXJhbVtpbl0gIFZlbmRvckNvZGUgICAgICAg IFRoaXMgZW5hYmxlcyB2ZW5kb3IgdG8gaW1wbGVtZW50IHZlbmRvci1zcGVjaWZpYw0KKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlybXdhcmUgaW1hZ2UgdXBkYXRlIHBvbGljeS4g TnVsbCBpbmRpY2F0ZXMgdGhlDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYWxs ZXIgZGlkIG5vdCBzcGVjaWZ5IHRoZSBwb2xpY3kgb3IgdXNlIHRoZQ0KKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgZGVmYXVsdCBwb2xpY3kuDQorICBAcGFyYW1baW5dICBQcm9ncmVz cyAgICAgICAgICBBIGZ1bmN0aW9uIHVzZWQgYnkgdGhlIGRyaXZlciB0byByZXBvcnQgdGhlDQor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9ncmVzcyBvZiB0aGUgZmlybXdhcmUg dXBkYXRlLg0KKyAgQHBhcmFtW2luXSAgQ2Fwc3VsZUZ3VmVyc2lvbiAgRk1QIFBheWxvYWQgSGVh ZGVyIHZlcnNpb24gb2YgdGhlIGltYWdlLg0KKyAgQHBhcmFtW2luXSAgTHN2VXBkYXRlICAgICAg ICAgVGhlIExvd2VzdCBTdXBwb3J0ZWQgVmVyc2lvbiBvZiB0aGUgbmV3IGZpcm13YXJlDQorICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbWFnZSBmcm9tIHRoZSB1cGRhdGUgY2Fwc3Vs ZSB0aGF0IHByb3ZpZGVkIHRoZQ0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmV3 IGZpcm13YXJlIGltYWdlLg0KKyAgQHBhcmFtW291dF0gQWJvcnRSZWFzb24gICAgICAgQSBwb2lu dGVyIHRvIGEgcG9pbnRlciB0byBhIG51bGwtdGVybWluYXRlZA0KKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgc3RyaW5nIHByb3ZpZGluZyBtb3JlIGRldGFpbHMgZm9yIHRoZSBhYm9y dGVkDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcGVyYXRpb24uIFRoZSBidWZm ZXIgaXMgYWxsb2NhdGVkIGJ5IHRoaXMNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IGZ1bmN0aW9uIHdpdGggQWxsb2NhdGVQb29sKCksIGFuZCBpdCBpcyB0aGUNCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIGNhbGxlcidzIHJlc3BvbnNpYmlsaXR5IHRvIGZyZWUgaXQg d2l0aCBhIGNhbGwNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvIEZyZWVQb29s KCkuDQorDQorICBAcmV0dmFsIEVGSV9TVUNDRVNTICAgICAgICAgICAgVGhlIGRldmljZSB3YXMg c3VjY2Vzc2Z1bGx5IHVwZGF0ZWQgd2l0aCB0aGUNCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBuZXcgaW1hZ2UuDQorICBAcmV0dmFsIEVGSV9BQk9SVEVEICAgICAgICAgICAgVGhl IG9wZXJhdGlvbiBpcyBhYm9ydGVkLg0KKyAgQHJldHZhbCBFRklfSU5WQUxJRF9QQVJBTUVURVIg IFRoZSBJbWFnZSB3YXMgTlVMTC4NCisgIEByZXR2YWwgRUZJX1VOU1VQUE9SVEVEICAgICAgICBU aGUgb3BlcmF0aW9uIGlzIG5vdCBzdXBwb3J0ZWQuDQorDQorKiovDQorRUZJX1NUQVRVUw0KK0VG SUFQSQ0KK0ZtcERldmljZVNldEltYWdlRGVmZXJyZWRMc3ZDb21taXQgKA0KKyAgSU4gIENPTlNU IFZPSUQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKkltYWdlLA0KKyAgSU4g IFVJTlROICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSW1hZ2VTaXpl LA0KKyAgSU4gIENPTlNUIFZPSUQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg KlZlbmRvckNvZGUsDQorICBJTiAgRUZJX0ZJUk1XQVJFX01BTkFHRU1FTlRfVVBEQVRFX0lNQUdF X1BST0dSRVNTICBQcm9ncmVzcywNCisgIElOICBVSU5UMzIgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIENhcHN1bGVGd1ZlcnNpb24sDQorICBJTiAgVUlOVDMyICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMc3ZVcGRhdGUsDQorICBPVVQgQ0hB UjE2ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqKkFib3J0UmVhc29u DQorICApDQorew0KKyAgRUZJX1NUQVRVUyBTdGF0dXM7DQorDQorICBTdGF0dXMgPSBGbXBEZXZp Y2VTZXRJbWFnZSAoDQorICAgICAgICAgICAgIEltYWdlLA0KKyAgICAgICAgICAgICBJbWFnZVNp emUsDQorICAgICAgICAgICAgIFZlbmRvckNvZGUsDQorICAgICAgICAgICAgIFByb2dyZXNzLA0K KyAgICAgICAgICAgICBDYXBzdWxlRndWZXJzaW9uLA0KKyAgICAgICAgICAgICBBYm9ydFJlYXNv bg0KKyAgICAgICAgICAgICApOw0KKyAgcmV0dXJuIFN0YXR1czsNCit9DQorDQogLyoqDQogICBV cGRhdGVzIGEgZmlybXdhcmUgZGV2aWNlIHdpdGggYSBuZXcgZmlybXdhcmUgaW1hZ2UuICBUaGlz IGZ1bmN0aW9uIHJldHVybnMNCiAgIEVGSV9VTlNVUFBPUlRFRCBpZiB0aGUgZmlybXdhcmUgaW1h Z2UgaXMgbm90IHVwZGF0YWJsZS4gIElmIHRoZSBmaXJtd2FyZSBpbWFnZQ0K --_004_A7A4B3ECFA40144E98B82E71E29693557F59271EPGSMSX108garcor_--