From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by mx.groups.io with SMTP id smtpd.web12.179.1592347200813765163 for ; Tue, 16 Jun 2020 15:40:00 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@intel.onmicrosoft.com header.s=selector2-intel-onmicrosoft-com header.b=vWu5cQ9r; spf=pass (domain: intel.com, ip: 192.55.52.120, mailfrom: michael.d.kinney@intel.com) IronPort-SDR: n9ipIJP9Kk519bMcNSuG9V4wJRFUaO+Xcqx9fF93GjoGmPsQ5X40qUfQUuG1jMR0Orec1sXzQ2 QKDy+uERxtYg== 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/ECDHE-RSA-AES256-GCM-SHA384; 16 Jun 2020 15:39:59 -0700 IronPort-SDR: ADQp9Cu3+cyRGefqZCRGvp+3jOZ5QHztlLEC6vHC7NK2EFHiGAGarM36hWkv7gWJT99JESVq6t W6fqr+a0DF9g== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.73,520,1583222400"; d="scan'208";a="317358545" Received: from fmsmsx105.amr.corp.intel.com ([10.18.124.203]) by FMSMGA003.fm.intel.com with ESMTP; 16 Jun 2020 15:39:58 -0700 Received: from FMSEDG002.ED.cps.intel.com (10.1.192.134) by FMSMSX105.amr.corp.intel.com (10.18.124.203) with Microsoft SMTP Server (TLS) id 14.3.439.0; Tue, 16 Jun 2020 15:39:58 -0700 Received: from NAM10-MW2-obe.outbound.protection.outlook.com (104.47.55.102) by edgegateway.intel.com (192.55.55.69) with Microsoft SMTP Server (TLS) id 14.3.439.0; Tue, 16 Jun 2020 15:39:54 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=HgwPa+liddO5Nk4+JKJlnsFRjt5t4blinD+tYzV36XU1SXmsTPtsGbcJARSJEtJxo+C/+FmkUoHPyybmxAoGytJwhu9WfZnO+BY9bgNuhsJkjCCUsn8EBO+WhP+ul0ulyWnITBWfpe5pQL7embryNrtm4GP1d63nLvBLah5OIlo7WIjeQNI7MBX6UJJ9E0Nwv1FcTx83XDLObpBD1y3qu7IHoVjz117MCVAag72DiVP7tMbKhH5XnCTUsJR/G534Rb78cjmUsX5SLeY1tc203WtBmudz9togSDV3CrNbQhsCwu1PufkSjIo+WwjGa/ke5/CARYgLgSk9kVkWS5gtCg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=almM97R65HEqmtITtcygZSP2JuVXQv461lf3Y6YDxZ0=; b=GQ9E5u0ye/udzYRaI2fW20h/st8J6AI7Q0aq43sVJqac4S+aM6AxNJwLcW+mJ1y9LtB3bNZGTSP5fH2GUQHx1JmqCwMZ6XjcBhO3PoEYSvxNFpHfLux6a6/kt5d0olydltGCJJIyiwfLTdg1/+s31xlnVo2Mo71+a9uK3pDVYoP6ZW0LRHOVfQ5pNXMHqv9W/0Plk4Yt2ydgU00h6YknjbsKMl9rlDSTA90ActjgQ850/Ne9GvLuxXwNB4hkaL1D5He6a/XAUkFv7xOF8CT82u7VxuTSMLei9HxXHjryACzb5fdkWFy6PgMLB2TwIRzvuy4Bue4a8dpRFlq1xlWk1g== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=intel.onmicrosoft.com; s=selector2-intel-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=almM97R65HEqmtITtcygZSP2JuVXQv461lf3Y6YDxZ0=; b=vWu5cQ9rVtleu5hnkxMcOPxhUB23ZZDusbi2/+kdo5mP/Cs4J6+pjv769O4hMRjdW8H6Nxbe8KcvQMrWZkm6FJdqkFpDLeO5lwVhT6aFOPWyp+rLZI4k2wiRWmOsVa/18M1etWPyuRFRCjD85+pBdlLyfzZ8SBw+au93OBuPoBw= Received: from MN2PR11MB4461.namprd11.prod.outlook.com (2603:10b6:208:192::29) by BL0PR11MB3427.namprd11.prod.outlook.com (2603:10b6:208:7b::30) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3088.18; Tue, 16 Jun 2020 22:39:52 +0000 Received: from MN2PR11MB4461.namprd11.prod.outlook.com ([fe80::10bc:1a4e:4745:ffc1]) by MN2PR11MB4461.namprd11.prod.outlook.com ([fe80::10bc:1a4e:4745:ffc1%3]) with mapi id 15.20.3109.021; Tue, 16 Jun 2020 22:39:52 +0000 From: "Michael D Kinney" To: "Liu, Zhiguang" , "devel@edk2.groups.io" , "Kinney, Michael D" CC: "Tian, Feng" , "Zeng, Star" , Laszlo Ersek , "Yao, Jiewen" Subject: Re: [PATCH 2/5] MdeModulePkg/SmmCore: Remove UEFI LOADED_IMAGE from SMM. Thread-Topic: [PATCH 2/5] MdeModulePkg/SmmCore: Remove UEFI LOADED_IMAGE from SMM. Thread-Index: AQHWQ70193OMb6SQIEibeo6Bs8/6Eajb1kMg Date: Tue, 16 Jun 2020 22:39:51 +0000 Message-ID: References: <20200616090434.1201-1-zhiguang.liu@intel.com> <20200616090434.1201-2-zhiguang.liu@intel.com> In-Reply-To: <20200616090434.1201-2-zhiguang.liu@intel.com> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-product: dlpe-windows dlp-reaction: no-action dlp-version: 11.2.0.6 authentication-results: intel.com; dkim=none (message not signed) header.d=none;intel.com; dmarc=none action=none header.from=intel.com; x-originating-ip: [134.134.136.208] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: c08dae6e-f22f-4403-1471-08d812462f1a x-ms-traffictypediagnostic: BL0PR11MB3427: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:10000; x-forefront-prvs: 04362AC73B x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: gy7eRDsWuJzO9FPzrt3vtulor2cfqhtI00lZHfncI92aEAB0FsPadGsloL617wUjHok2iZZfz5hpdDh2qtI1GPlo+MgGZYIk8M2130fNBo1qM4L+zo//zx7vzGMRQilDmK5W2XHwyOLwcYP3jDyJs1ZQhilaehBK6xCKUhvDp4sDclMv/O7m64dtVaznd6CXz27S+uXfm5aeZd06HhY1rD+aIDIzWqyVRequUjm70KOfV+yKocO9g1MJ2Gb7cNPbetqBrZeRTxaP0a091HnxeMdB7b5FQpkZjbU5mYyrSVzIzZT27jx9LnMvoGM9Nl0hO1NEKsNQoU55zw6ZScTX0cpFIv3cYKr66/n9vtx/1nyfUGKIrC64jE15Y2zRZXZKbMd5mwIKlxPNt/PDtVCP6CRzROM4+/H3w9WZ1Kz7t7bzDXaRH/KCyi9o+TJ8fq3zjN+4N8Fq5TuoHJA4zIXKsg== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MN2PR11MB4461.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFTY:;SFS:(4636009)(396003)(376002)(136003)(366004)(346002)(39860400002)(2906002)(107886003)(55016002)(30864003)(110136005)(71200400001)(54906003)(83380400001)(316002)(478600001)(9686003)(52536014)(186003)(8676002)(6506007)(8936002)(966005)(86362001)(66946007)(33656002)(66476007)(66446008)(66556008)(64756008)(5660300002)(7696005)(26005)(76116006)(4326008)(53546011)(44824005);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata: Akv44ZNY/aOuVwZPTyXJh+qVgJ7NSm/A4BHzbbOA6cAcjfbYT59wo6NEEKOuSHUk1KN6xfsqGPlWnbPxoBQBI++4DACV/2HxOyTSPgtF/KYB5lx3QtutWlZiMRpzFyX9ncTP7d/+cNpAKGpAu9enAXZWE6EGxRkkejjYX6kzJpHpl0eg8WkgdENaJfr0MACBTg695S9HFo/BJUhQAyAJaHsu/28OQkP9CLE3swNJJ6/rl/wf3HJCefRwq3MeCW2AHkxsIfGUEa8FK1cgAvtvfcbOUADywHVf6+GKgnJEn5AomN6CP9e0NntwGc3ekU2BgqJtV5XSCJNMIQWJarFkx14VxPPtmpigQIoe6OHIH8IrEvcYrjLuqHJRR/d8mE3Mq5unJqBYrA+L6Ylq4ha2e6ncEpK7GrJN8TxDZPnxEtBxtLbvaDNhC6fMvllR0kCdxSkugYaORPdsJVkLBEJUmhRzLJppbE3YrbmkKE2HjnjZvwqhiifS0NexTkGzJUd+ MIME-Version: 1.0 X-MS-Exchange-CrossTenant-Network-Message-Id: c08dae6e-f22f-4403-1471-08d812462f1a X-MS-Exchange-CrossTenant-originalarrivaltime: 16 Jun 2020 22:39:51.9224 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: FQykPHVm2F7qWh21yFZePG/9onB9Ryh0Xtndky1qIlCBp5LjlmSUOahrXv1riUlZD2V5oZ4aFA0PIX8OD4XbfNWle6JWlWDzqgbitzaBJyI= X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL0PR11MB3427 Return-Path: michael.d.kinney@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 WmhpZ3VhbmcsDQoNClRoZXJlIGFyZSBzb21lIHNvdXJjZSBsZXZlbCBkZWJ1ZyBzb2x1dGlvbnMg dGhhdCBkZXBlbmQNCm9uIHRoZSBFRElfTE9BREVEX0lNQUdFX1BST1RPQ09MIHN0cnVjdHVyZS4g IERvZXMgdGhpcyANCmNoYW5nZSByZWR1Y2UgdGhlIHNvdXJjZSBsZXZlbCBkZWJ1ZyBjYXBhYmls aXRpZXMgZm9yDQpTTU0gZHJpdmVycyB1bmRlciBkZXZlbG9wbWVudD8NCg0KVGhhbmtzLA0KDQpN aWtlDQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogTGl1LCBaaGlndWFu ZyA8emhpZ3VhbmcubGl1QGludGVsLmNvbT4NCj4gU2VudDogVHVlc2RheSwgSnVuZSAxNiwgMjAy MCAyOjA1IEFNDQo+IFRvOiBkZXZlbEBlZGsyLmdyb3Vwcy5pbw0KPiBDYzogVGlhbiwgRmVuZyA8 ZmVuZy50aWFuQGludGVsLmNvbT47IFplbmcsIFN0YXINCj4gPHN0YXIuemVuZ0BpbnRlbC5jb20+ OyBLaW5uZXksIE1pY2hhZWwgRA0KPiA8bWljaGFlbC5kLmtpbm5leUBpbnRlbC5jb20+OyBMYXN6 bG8gRXJzZWsNCj4gPGxlcnNla0ByZWRoYXQuY29tPjsgWWFvLCBKaWV3ZW4gPGppZXdlbi55YW9A aW50ZWwuY29tPg0KPiBTdWJqZWN0OiBbUEFUQ0ggMi81XSBNZGVNb2R1bGVQa2cvU21tQ29yZTog UmVtb3ZlIFVFRkkNCj4gTE9BREVEX0lNQUdFIGZyb20gU01NLg0KPiANCj4gUkVGOiBodHRwczov L2J1Z3ppbGxhLnRpYW5vY29yZS5vcmcvc2hvd19idWcuY2dpP2lkPTIzMTcNCj4gDQo+IFRoaXMg cGF0Y2ggcmVtb3ZlcyBFRklfTE9BREVEX0lNQUdFX1BST1RPQ09MIGZyb20gRFhFDQo+IGRhdGFi YXNlLg0KPiBUaGUgU21tQ29yZSBvbmx5IGluc3RhbGwgRUZJX0xPQURFRF9JTUFHRV9QUk9UT0NP TCB0bw0KPiBTTU0gZGF0YWJhc2UuDQo+IA0KPiBFeHBvc2luZyBMT0FERURfSU1BR0VfUFJPVE9D T0wgbWF5IGNhdXNlIFNNTSBpbmZvcm1hdGlvbg0KPiBsZWFrYWdlDQo+IHRvIG5vbi1TTU0gY29t cG9uZW50Lg0KPiANCj4gQ2M6IEZlbmcgVGlhbiA8ZmVuZy50aWFuQGludGVsLmNvbT4NCj4gQ2M6 IFN0YXIgWmVuZyA8c3Rhci56ZW5nQGludGVsLmNvbT4NCj4gQ2M6IE1pY2hhZWwgRCBLaW5uZXkg PG1pY2hhZWwuZC5raW5uZXlAaW50ZWwuY29tPg0KPiBDYzogTGFzemxvIEVyc2VrIDxsZXJzZWtA cmVkaGF0LmNvbT4NCj4gU2lnbmVkLW9mZi1ieTogSmlld2VuIFlhbyA8amlld2VuLnlhb0BpbnRl bC5jb20+DQo+IFNpZ25lZC1vZmYtYnk6IFpoaWd1YW5nIExpdSA8emhpZ3VhbmcubGl1QGludGVs LmNvbT4NCj4gLS0tDQo+ICBNZGVNb2R1bGVQa2cvQ29yZS9QaVNtbUNvcmUvRGlzcGF0Y2hlci5j IHwgMTA0DQo+ICsrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tDQo+IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLQ0KPiAgTWRlTW9kdWxlUGtnL0NvcmUvUGlTbW1Db3JlL1BpU21tQ29yZS5jICB8ICAzNCAt LS0tLS0tLQ0KPiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KPiAgTWRlTW9kdWxlUGtnL0Nv cmUvUGlTbW1Db3JlL1BpU21tQ29yZS5oICB8ICAgNCArKy0tDQo+ICAzIGZpbGVzIGNoYW5nZWQs IDEzIGluc2VydGlvbnMoKyksIDEyOSBkZWxldGlvbnMoLSkNCj4gDQo+IGRpZmYgLS1naXQgYS9N ZGVNb2R1bGVQa2cvQ29yZS9QaVNtbUNvcmUvRGlzcGF0Y2hlci5jDQo+IGIvTWRlTW9kdWxlUGtn L0NvcmUvUGlTbW1Db3JlL0Rpc3BhdGNoZXIuYw0KPiBpbmRleCA3NmVlOWUwYjg5Li4yYmUyODY2 MjM0IDEwMDY0NA0KPiAtLS0gYS9NZGVNb2R1bGVQa2cvQ29yZS9QaVNtbUNvcmUvRGlzcGF0Y2hl ci5jDQo+ICsrKyBiL01kZU1vZHVsZVBrZy9Db3JlL1BpU21tQ29yZS9EaXNwYXRjaGVyLmMNCj4g QEAgLTMxNiw3ICszMTYsNyBAQCBTbW1Mb2FkSW1hZ2UgKA0KPiAgICBFRklfRklSTVdBUkVfVk9M VU1FMl9QUk9UT0NPTCAgKkZ2Ow0KPiANCj4gICAgUEVfQ09GRl9MT0FERVJfSU1BR0VfQ09OVEVY VCAgIEltYWdlQ29udGV4dDsNCj4gDQo+IA0KPiANCj4gLSAgUEVSRl9MT0FEX0lNQUdFX0JFR0lO IChEcml2ZXJFbnRyeS0+SW1hZ2VIYW5kbGUpOw0KPiANCj4gKyAgUEVSRl9MT0FEX0lNQUdFX0JF R0lOIChEcml2ZXJFbnRyeS0+U21tSW1hZ2VIYW5kbGUpOw0KPiANCj4gDQo+IA0KPiAgICBCdWZm ZXIgICAgICAgICAgICAgICA9IE5VTEw7DQo+IA0KPiAgICBTaXplICAgICAgICAgICAgICAgICA9 IDA7DQo+IA0KPiBAQCAtNTQ2LDUxICs1NDYsMTQgQEAgU21tTG9hZEltYWdlICgNCj4gICAgRHJp dmVyRW50cnktPkltYWdlQnVmZmVyICAgICAgPSBEc3RCdWZmZXI7DQo+IA0KPiAgICBEcml2ZXJF bnRyeS0+TnVtYmVyT2ZQYWdlICAgICA9IFBhZ2VDb3VudDsNCj4gDQo+IA0KPiANCj4gLSAgLy8N Cj4gDQo+IC0gIC8vIEFsbG9jYXRlIGEgTG9hZGVkIEltYWdlIFByb3RvY29sIGluDQo+IEVmaUJv b3RTZXJ2aWNlc0RhdGENCj4gDQo+IC0gIC8vDQo+IA0KPiAtICBTdGF0dXMgPSBnQlMtPkFsbG9j YXRlUG9vbCAoRWZpQm9vdFNlcnZpY2VzRGF0YSwNCj4gc2l6ZW9mIChFRklfTE9BREVEX0lNQUdF X1BST1RPQ09MKSwgKFZPSUQNCj4gKiopJkRyaXZlckVudHJ5LT5Mb2FkZWRJbWFnZSk7DQo+IA0K PiAtICBpZiAoRUZJX0VSUk9SIChTdGF0dXMpKSB7DQo+IA0KPiAtICAgIGlmIChCdWZmZXIgIT0g TlVMTCkgew0KPiANCj4gLSAgICAgIGdCUy0+RnJlZVBvb2wgKEJ1ZmZlcik7DQo+IA0KPiAtICAg IH0NCj4gDQo+IC0gICAgU21tRnJlZVBhZ2VzIChEc3RCdWZmZXIsIFBhZ2VDb3VudCk7DQo+IA0K PiAtICAgIHJldHVybiBTdGF0dXM7DQo+IA0KPiAtICB9DQo+IA0KPiAtDQo+IA0KPiAtICBaZXJv TWVtIChEcml2ZXJFbnRyeS0+TG9hZGVkSW1hZ2UsIHNpemVvZg0KPiAoRUZJX0xPQURFRF9JTUFH RV9QUk9UT0NPTCkpOw0KPiANCj4gICAgLy8NCj4gDQo+ICAgIC8vIEZpbGwgaW4gdGhlIHJlbWFp bmluZyBmaWVsZHMgb2YgdGhlIExvYWRlZCBJbWFnZQ0KPiBQcm90b2NvbCBpbnN0YW5jZS4NCj4g DQo+IC0gIC8vIE5vdGU6IEltYWdlQmFzZSBpcyBhbiBTTVJBTSBhZGRyZXNzIHRoYXQgY2FuIG5v dA0KPiBiZSBhY2Nlc3NlZCBvdXRzaWRlIG9mIFNNUkFNIGlmIFNNUkFNIHdpbmRvdyBpcyBjbG9z ZWQuDQo+IA0KPiAgICAvLw0KPiANCj4gLSAgRHJpdmVyRW50cnktPkxvYWRlZEltYWdlLT5SZXZp c2lvbiAgICAgID0NCj4gRUZJX0xPQURFRF9JTUFHRV9QUk9UT0NPTF9SRVZJU0lPTjsNCj4gDQo+ IC0gIERyaXZlckVudHJ5LT5Mb2FkZWRJbWFnZS0+UGFyZW50SGFuZGxlICA9DQo+IGdTbW1Db3Jl UHJpdmF0ZS0+U21tSXBsSW1hZ2VIYW5kbGU7DQo+IA0KPiAtICBEcml2ZXJFbnRyeS0+TG9hZGVk SW1hZ2UtPlN5c3RlbVRhYmxlICAgPSBnU1Q7DQo+IA0KPiAtICBEcml2ZXJFbnRyeS0+TG9hZGVk SW1hZ2UtPkRldmljZUhhbmRsZSAgPQ0KPiBEZXZpY2VIYW5kbGU7DQo+IA0KPiAtDQo+IA0KPiAg ICBEcml2ZXJFbnRyeS0+U21tTG9hZGVkSW1hZ2UuUmV2aXNpb24gICAgID0NCj4gRUZJX0xPQURF RF9JTUFHRV9QUk9UT0NPTF9SRVZJU0lPTjsNCj4gDQo+ICAgIERyaXZlckVudHJ5LT5TbW1Mb2Fk ZWRJbWFnZS5QYXJlbnRIYW5kbGUgPQ0KPiBnU21tQ29yZVByaXZhdGUtPlNtbUlwbEltYWdlSGFu ZGxlOw0KPiANCj4gICAgRHJpdmVyRW50cnktPlNtbUxvYWRlZEltYWdlLlN5c3RlbVRhYmxlICA9 IGdTVDsNCj4gDQo+ICAgIERyaXZlckVudHJ5LT5TbW1Mb2FkZWRJbWFnZS5EZXZpY2VIYW5kbGUg PQ0KPiBEZXZpY2VIYW5kbGU7DQo+IA0KPiANCj4gDQo+IC0gIC8vDQo+IA0KPiAtICAvLyBNYWtl IGFuIEVmaUJvb3RTZXJ2aWNlc0RhdGEgYnVmZmVyIGNvcHkgb2YNCj4gRmlsZVBhdGgNCj4gDQo+ IC0gIC8vDQo+IA0KPiAtICBTdGF0dXMgPSBnQlMtPkFsbG9jYXRlUG9vbCAoRWZpQm9vdFNlcnZp Y2VzRGF0YSwNCj4gR2V0RGV2aWNlUGF0aFNpemUgKEZpbGVQYXRoKSwgKFZPSUQgKiopJkRyaXZl ckVudHJ5LQ0KPiA+TG9hZGVkSW1hZ2UtPkZpbGVQYXRoKTsNCj4gDQo+IC0gIGlmIChFRklfRVJS T1IgKFN0YXR1cykpIHsNCj4gDQo+IC0gICAgaWYgKEJ1ZmZlciAhPSBOVUxMKSB7DQo+IA0KPiAt ICAgICAgZ0JTLT5GcmVlUG9vbCAoQnVmZmVyKTsNCj4gDQo+IC0gICAgfQ0KPiANCj4gLSAgICBT bW1GcmVlUGFnZXMgKERzdEJ1ZmZlciwgUGFnZUNvdW50KTsNCj4gDQo+IC0gICAgcmV0dXJuIFN0 YXR1czsNCj4gDQo+IC0gIH0NCj4gDQo+IC0gIENvcHlNZW0gKERyaXZlckVudHJ5LT5Mb2FkZWRJ bWFnZS0+RmlsZVBhdGgsDQo+IEZpbGVQYXRoLCBHZXREZXZpY2VQYXRoU2l6ZSAoRmlsZVBhdGgp KTsNCj4gDQo+IC0NCj4gDQo+IC0gIERyaXZlckVudHJ5LT5Mb2FkZWRJbWFnZS0+SW1hZ2VCYXNl ICAgICA9IChWT0lEDQo+ICopKFVJTlROKSBJbWFnZUNvbnRleHQuSW1hZ2VBZGRyZXNzOw0KPiAN Cj4gLSAgRHJpdmVyRW50cnktPkxvYWRlZEltYWdlLT5JbWFnZVNpemUgICAgID0NCj4gSW1hZ2VD b250ZXh0LkltYWdlU2l6ZTsNCj4gDQo+IC0gIERyaXZlckVudHJ5LT5Mb2FkZWRJbWFnZS0+SW1h Z2VDb2RlVHlwZSA9DQo+IEVmaVJ1bnRpbWVTZXJ2aWNlc0NvZGU7DQo+IA0KPiAtICBEcml2ZXJF bnRyeS0+TG9hZGVkSW1hZ2UtPkltYWdlRGF0YVR5cGUgPQ0KPiBFZmlSdW50aW1lU2VydmljZXNE YXRhOw0KPiANCj4gLQ0KPiANCj4gICAgLy8NCj4gDQo+ICAgIC8vIE1ha2UgYSBidWZmZXIgY29w eSBvZiBGaWxlUGF0aA0KPiANCj4gICAgLy8NCj4gDQo+IEBAIC01OTksNyArNTYyLDYgQEAgU21t TG9hZEltYWdlICgNCj4gICAgICBpZiAoQnVmZmVyICE9IE5VTEwpIHsNCj4gDQo+ICAgICAgICBn QlMtPkZyZWVQb29sIChCdWZmZXIpOw0KPiANCj4gICAgICB9DQo+IA0KPiAtICAgIGdCUy0+RnJl ZVBvb2wgKERyaXZlckVudHJ5LT5Mb2FkZWRJbWFnZS0+RmlsZVBhdGgpOw0KPiANCj4gICAgICBT bW1GcmVlUGFnZXMgKERzdEJ1ZmZlciwgUGFnZUNvdW50KTsNCj4gDQo+ICAgICAgcmV0dXJuIFN0 YXR1czsNCj4gDQo+ICAgIH0NCj4gDQo+IEBAIC02MTAsMTYgKzU3Miw2IEBAIFNtbUxvYWRJbWFn ZSAoDQo+ICAgIERyaXZlckVudHJ5LT5TbW1Mb2FkZWRJbWFnZS5JbWFnZUNvZGVUeXBlID0NCj4g RWZpUnVudGltZVNlcnZpY2VzQ29kZTsNCj4gDQo+ICAgIERyaXZlckVudHJ5LT5TbW1Mb2FkZWRJ bWFnZS5JbWFnZURhdGFUeXBlID0NCj4gRWZpUnVudGltZVNlcnZpY2VzRGF0YTsNCj4gDQo+IA0K PiANCj4gLSAgLy8NCj4gDQo+IC0gIC8vIENyZWF0ZSBhIG5ldyBpbWFnZSBoYW5kbGUgaW4gdGhl IFVFRkkgaGFuZGxlDQo+IGRhdGFiYXNlIGZvciB0aGUgU01NIERyaXZlcg0KPiANCj4gLSAgLy8N Cj4gDQo+IC0gIERyaXZlckVudHJ5LT5JbWFnZUhhbmRsZSA9IE5VTEw7DQo+IA0KPiAtICBTdGF0 dXMgPSBnQlMtPkluc3RhbGxNdWx0aXBsZVByb3RvY29sSW50ZXJmYWNlcyAoDQo+IA0KPiAtICAg ICAgICAgICAgICAgICAgJkRyaXZlckVudHJ5LT5JbWFnZUhhbmRsZSwNCj4gDQo+IC0gICAgICAg ICAgICAgICAgICAmZ0VmaUxvYWRlZEltYWdlUHJvdG9jb2xHdWlkLA0KPiBEcml2ZXJFbnRyeS0+ TG9hZGVkSW1hZ2UsDQo+IA0KPiAtICAgICAgICAgICAgICAgICAgTlVMTA0KPiANCj4gLSAgICAg ICAgICAgICAgICAgICk7DQo+IA0KPiAtDQo+IA0KPiAgICAvLw0KPiANCj4gICAgLy8gQ3JlYXRl IGEgbmV3IGltYWdlIGhhbmRsZSBpbiB0aGUgU01NIGhhbmRsZQ0KPiBkYXRhYmFzZSBmb3IgdGhl IFNNTSBEcml2ZXINCj4gDQo+ICAgIC8vDQo+IA0KPiBAQCAtNjMxLDcgKzU4Myw3IEBAIFNtbUxv YWRJbWFnZSAoDQo+ICAgICAgICAgICAgICAgJkRyaXZlckVudHJ5LT5TbW1Mb2FkZWRJbWFnZQ0K PiANCj4gICAgICAgICAgICAgICApOw0KPiANCj4gDQo+IA0KPiAtICBQRVJGX0xPQURfSU1BR0Vf RU5EIChEcml2ZXJFbnRyeS0+SW1hZ2VIYW5kbGUpOw0KPiANCj4gKyAgUEVSRl9MT0FEX0lNQUdF X0VORCAoRHJpdmVyRW50cnktPlNtbUltYWdlSGFuZGxlKTsNCj4gDQo+IA0KPiANCj4gICAgLy8N Cj4gDQo+ICAgIC8vIFByaW50IHRoZSBsb2FkIGFkZHJlc3MgYW5kIHRoZSBQREIgZmlsZSBuYW1l IGlmIGl0DQo+IGlzIGF2YWlsYWJsZQ0KPiANCj4gQEAgLTg1Niw3ICs4MDgsNyBAQCBTbW1EaXNw YXRjaGVyICgNCj4gICAgICAgIC8vIFVudHJ1c2VkIHRvIFNjaGVkdWxlZCBpdCB3b3VsZCBoYXZl IGFscmVhZHkNCj4gYmVlbiBsb2FkZWQgc28gd2UgbWF5IG5lZWQgdG8NCj4gDQo+ICAgICAgICAv LyBza2lwIHRoZSBMb2FkSW1hZ2UNCj4gDQo+ICAgICAgICAvLw0KPiANCj4gLSAgICAgIGlmIChE cml2ZXJFbnRyeS0+SW1hZ2VIYW5kbGUgPT0gTlVMTCkgew0KPiANCj4gKyAgICAgIGlmIChEcml2 ZXJFbnRyeS0+U21tSW1hZ2VIYW5kbGUgPT0gTlVMTCkgew0KPiANCj4gICAgICAgICAgU3RhdHVz ID0gU21tTG9hZEltYWdlIChEcml2ZXJFbnRyeSk7DQo+IA0KPiANCj4gDQo+ICAgICAgICAgIC8v DQo+IA0KPiBAQCAtODg1LDggKzgzNyw4IEBAIFNtbURpc3BhdGNoZXIgKA0KPiAgICAgICAgUkVQ T1JUX1NUQVRVU19DT0RFX1dJVEhfRVhURU5ERURfREFUQSAoDQo+IA0KPiAgICAgICAgICBFRklf UFJPR1JFU1NfQ09ERSwNCj4gDQo+ICAgICAgICAgIEVGSV9TT0ZUV0FSRV9TTU1fRFJJVkVSIHwg RUZJX1NXX1BDX0lOSVRfQkVHSU4sDQo+IA0KPiAtICAgICAgICAmRHJpdmVyRW50cnktPkltYWdl SGFuZGxlLA0KPiANCj4gLSAgICAgICAgc2l6ZW9mIChEcml2ZXJFbnRyeS0+SW1hZ2VIYW5kbGUp DQo+IA0KPiArICAgICAgICAmRHJpdmVyRW50cnktPlNtbUltYWdlSGFuZGxlLA0KPiANCj4gKyAg ICAgICAgc2l6ZW9mIChEcml2ZXJFbnRyeS0+U21tSW1hZ2VIYW5kbGUpDQo+IA0KPiAgICAgICAg ICApOw0KPiANCj4gDQo+IA0KPiAgICAgICAgLy8NCj4gDQo+IEBAIC04OTgsOSArODUwLDEwIEBA IFNtbURpc3BhdGNoZXIgKA0KPiAgICAgICAgLy8gRm9yIGVhY2ggU01NIGRyaXZlciwgcGFzcyBO VUxMIGFzIEltYWdlSGFuZGxlDQo+IA0KPiAgICAgICAgLy8NCj4gDQo+ICAgICAgICBSZWdpc3Rl clNtcmFtUHJvZmlsZUltYWdlIChEcml2ZXJFbnRyeSwgVFJVRSk7DQo+IA0KPiAtICAgICAgUEVS Rl9TVEFSVF9JTUFHRV9CRUdJTiAoRHJpdmVyRW50cnktDQo+ID5JbWFnZUhhbmRsZSk7DQo+IA0K PiAtICAgICAgU3RhdHVzID0NCj4gKChFRklfSU1BR0VfRU5UUllfUE9JTlQpKFVJTlROKURyaXZl ckVudHJ5LQ0KPiA+SW1hZ2VFbnRyeVBvaW50KShEcml2ZXJFbnRyeS0+SW1hZ2VIYW5kbGUsIGdT VCk7DQo+IA0KPiAtICAgICAgUEVSRl9TVEFSVF9JTUFHRV9FTkQgKERyaXZlckVudHJ5LT5JbWFn ZUhhbmRsZSk7DQo+IA0KPiArICAgICAgREVCVUcgKChERUJVR19JTkZPLCAiU01NIFN0YXJ0SW1h Z2UgLSAweCUxMXBcbiIsDQo+IERyaXZlckVudHJ5LT5JbWFnZUVudHJ5UG9pbnQpKTsNCj4gDQo+ ICsgICAgICBQRVJGX1NUQVJUX0lNQUdFX0JFR0lOIChEcml2ZXJFbnRyeS0NCj4gPlNtbUltYWdl SGFuZGxlKTsNCj4gDQo+ICsgICAgICBTdGF0dXMgPQ0KPiAoKEVGSV9JTUFHRV9FTlRSWV9QT0lO VCkoVUlOVE4pRHJpdmVyRW50cnktDQo+ID5JbWFnZUVudHJ5UG9pbnQpKERyaXZlckVudHJ5LT5T bW1JbWFnZUhhbmRsZSwgZ1NUKTsNCj4gDQo+ICsgICAgICBQRVJGX1NUQVJUX0lNQUdFX0VORCAo RHJpdmVyRW50cnktDQo+ID5TbW1JbWFnZUhhbmRsZSk7DQo+IA0KPiAgICAgICAgaWYgKEVGSV9F UlJPUihTdGF0dXMpKXsNCj4gDQo+ICAgICAgICAgIERFQlVHICgoDQo+IA0KPiAgICAgICAgICAg IERFQlVHX0VSUk9SLA0KPiANCj4gQEAgLTkxMCwyMCArODYzLDYgQEAgU21tRGlzcGF0Y2hlciAo DQo+ICAgICAgICAgICAgKSk7DQo+IA0KPiAgICAgICAgICBVbnJlZ2lzdGVyU21yYW1Qcm9maWxl SW1hZ2UgKERyaXZlckVudHJ5LA0KPiBUUlVFKTsNCj4gDQo+ICAgICAgICAgIFNtbUZyZWVQYWdl cyhEcml2ZXJFbnRyeS0+SW1hZ2VCdWZmZXIsDQo+IERyaXZlckVudHJ5LT5OdW1iZXJPZlBhZ2Up Ow0KPiANCj4gLSAgICAgICAgLy8NCj4gDQo+IC0gICAgICAgIC8vIFVuaW5zdGFsbCBMb2FkZWRJ bWFnZQ0KPiANCj4gLSAgICAgICAgLy8NCj4gDQo+IC0gICAgICAgIFN0YXR1cyA9IGdCUy0+VW5p bnN0YWxsUHJvdG9jb2xJbnRlcmZhY2UgKA0KPiANCj4gLSAgICAgICAgICAgICAgICAgICAgICAg IERyaXZlckVudHJ5LT5JbWFnZUhhbmRsZSwNCj4gDQo+IC0gICAgICAgICAgICAgICAgICAgICAg ICAmZ0VmaUxvYWRlZEltYWdlUHJvdG9jb2xHdWlkLA0KPiANCj4gLSAgICAgICAgICAgICAgICAg ICAgICAgIERyaXZlckVudHJ5LT5Mb2FkZWRJbWFnZQ0KPiANCj4gLSAgICAgICAgICAgICAgICAg ICAgICAgICk7DQo+IA0KPiAtICAgICAgICBpZiAoIUVGSV9FUlJPUiAoU3RhdHVzKSkgew0KPiAN Cj4gLSAgICAgICAgICBpZiAoRHJpdmVyRW50cnktPkxvYWRlZEltYWdlLT5GaWxlUGF0aCAhPQ0K PiBOVUxMKSB7DQo+IA0KPiAtICAgICAgICAgICAgZ0JTLT5GcmVlUG9vbCAoRHJpdmVyRW50cnkt PkxvYWRlZEltYWdlLQ0KPiA+RmlsZVBhdGgpOw0KPiANCj4gLSAgICAgICAgICB9DQo+IA0KPiAt ICAgICAgICAgIGdCUy0+RnJlZVBvb2wgKERyaXZlckVudHJ5LT5Mb2FkZWRJbWFnZSk7DQo+IA0K PiAtICAgICAgICB9DQo+IA0KPiAgICAgICAgICBTdGF0dXMgPSBTbW1Vbmluc3RhbGxQcm90b2Nv bEludGVyZmFjZSAoDQo+IA0KPiAgICAgICAgICAgICAgICAgICAgIERyaXZlckVudHJ5LT5TbW1J bWFnZUhhbmRsZSwNCj4gDQo+ICAgICAgICAgICAgICAgICAgICAgJmdFZmlMb2FkZWRJbWFnZVBy b3RvY29sR3VpZCwNCj4gDQo+IEBAIC05MzksOCArODc4LDggQEAgU21tRGlzcGF0Y2hlciAoDQo+ ICAgICAgICBSRVBPUlRfU1RBVFVTX0NPREVfV0lUSF9FWFRFTkRFRF9EQVRBICgNCj4gDQo+ICAg ICAgICAgIEVGSV9QUk9HUkVTU19DT0RFLA0KPiANCj4gICAgICAgICAgRUZJX1NPRlRXQVJFX1NN TV9EUklWRVIgfCBFRklfU1dfUENfSU5JVF9FTkQsDQo+IA0KPiAtICAgICAgICAmRHJpdmVyRW50 cnktPkltYWdlSGFuZGxlLA0KPiANCj4gLSAgICAgICAgc2l6ZW9mIChEcml2ZXJFbnRyeS0+SW1h Z2VIYW5kbGUpDQo+IA0KPiArICAgICAgICAmRHJpdmVyRW50cnktPlNtbUltYWdlSGFuZGxlLA0K PiANCj4gKyAgICAgICAgc2l6ZW9mIChEcml2ZXJFbnRyeS0+U21tSW1hZ2VIYW5kbGUpDQo+IA0K PiAgICAgICAgICApOw0KPiANCj4gDQo+IA0KPiAgICAgICAgaWYgKCFQcmV2aW91c1NtbUVudHJ5 UG9pbnRSZWdpc3RlcmVkICYmDQo+IGdTbW1Db3JlUHJpdmF0ZS0+U21tRW50cnlQb2ludFJlZ2lz dGVyZWQpIHsNCj4gDQo+IEBAIC0xMzQ0LDI3ICsxMjgzLDYgQEAgU21tRHJpdmVyRGlzcGF0Y2hI YW5kbGVyICgNCj4gICAgICAgICAgICAgIC8vDQo+IA0KPiAgICAgICAgICAgICAgLy8gSWYgdGhp cyBpcyB0aGUgU01NIGNvcmUgZmlsbCBpbiBpdCdzDQo+IERldmljZVBhdGggJiBEZXZpY2VIYW5k bGUNCj4gDQo+ICAgICAgICAgICAgICAvLw0KPiANCj4gLSAgICAgICAgICAgIGlmIChtU21tQ29y ZUxvYWRlZEltYWdlLT5GaWxlUGF0aCA9PSBOVUxMKQ0KPiB7DQo+IA0KPiAtICAgICAgICAgICAg ICAvLw0KPiANCj4gLSAgICAgICAgICAgICAgLy8gTWF5YmUgb25lIHNwZWNpYWwgRlYgY29udGFp bnMgb25seSBvbmUNCj4gU01NX0NPUkUgbW9kdWxlLCBzbyBpdHMgZGV2aWNlIHBhdGggbXVzdA0K PiANCj4gLSAgICAgICAgICAgICAgLy8gYmUgaW5pdGlhbGl6ZWQgY29tcGxldGVseS4NCj4gDQo+ IC0gICAgICAgICAgICAgIC8vDQo+IA0KPiAtICAgICAgICAgICAgICBFZmlJbml0aWFsaXplRndW b2xEZXZpY2VwYXRoTm9kZQ0KPiAoJm1GdkRldmljZVBhdGguRmlsZSwgJk5hbWVHdWlkKTsNCj4g DQo+IC0gICAgICAgICAgICAgIFNldERldmljZVBhdGhFbmROb2RlDQo+ICgmbUZ2RGV2aWNlUGF0 aC5FbmQpOw0KPiANCj4gLQ0KPiANCj4gLSAgICAgICAgICAgICAgLy8NCj4gDQo+IC0gICAgICAg ICAgICAgIC8vIE1ha2UgYW4gRWZpQm9vdFNlcnZpY2VzRGF0YSBidWZmZXINCj4gY29weSBvZiBG aWxlUGF0aA0KPiANCj4gLSAgICAgICAgICAgICAgLy8NCj4gDQo+IC0gICAgICAgICAgICAgIFN0 YXR1cyA9IGdCUy0+QWxsb2NhdGVQb29sICgNCj4gDQo+IC0gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBFZmlCb290U2VydmljZXNEYXRhLA0KPiANCj4gLSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIEdldERldmljZVBhdGhTaXplDQo+ICgoRUZJX0RFVklDRV9QQVRIX1BST1RPQ09M ICopJm1GdkRldmljZVBhdGgpLA0KPiANCj4gLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IChWT0lEDQo+ICoqKSZtU21tQ29yZUxvYWRlZEltYWdlLT5GaWxlUGF0aA0KPiANCj4gLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICk7DQo+IA0KPiAtICAgICAgICAgICAgICBBU1NFUlRf RUZJX0VSUk9SIChTdGF0dXMpOw0KPiANCj4gLSAgICAgICAgICAgICAgQ29weU1lbSAobVNtbUNv cmVMb2FkZWRJbWFnZS0+RmlsZVBhdGgsDQo+ICZtRnZEZXZpY2VQYXRoLCBHZXREZXZpY2VQYXRo U2l6ZQ0KPiAoKEVGSV9ERVZJQ0VfUEFUSF9QUk9UT0NPTCAqKSZtRnZEZXZpY2VQYXRoKSk7DQo+ IA0KPiAtDQo+IA0KPiAtICAgICAgICAgICAgICBtU21tQ29yZUxvYWRlZEltYWdlLT5EZXZpY2VI YW5kbGUgPQ0KPiBGdkhhbmRsZTsNCj4gDQo+IC0gICAgICAgICAgICB9DQo+IA0KPiAgICAgICAg ICAgICAgaWYgKG1TbW1Db3JlRHJpdmVyRW50cnktDQo+ID5TbW1Mb2FkZWRJbWFnZS5GaWxlUGF0 aCA9PSBOVUxMKSB7DQo+IA0KPiAgICAgICAgICAgICAgICAvLw0KPiANCj4gICAgICAgICAgICAg ICAgLy8gTWF5YmUgb25lIHNwZWNpYWwgRlYgY29udGFpbnMgb25seSBvbmUNCj4gU01NX0NPUkUg bW9kdWxlLCBzbyBpdHMgZGV2aWNlIHBhdGggbXVzdA0KPiANCj4gZGlmZiAtLWdpdCBhL01kZU1v ZHVsZVBrZy9Db3JlL1BpU21tQ29yZS9QaVNtbUNvcmUuYw0KPiBiL01kZU1vZHVsZVBrZy9Db3Jl L1BpU21tQ29yZS9QaVNtbUNvcmUuYw0KPiBpbmRleCBjZmE5OTIyY2JkLi5jMWIxOGIwNDdlIDEw MDY0NA0KPiAtLS0gYS9NZGVNb2R1bGVQa2cvQ29yZS9QaVNtbUNvcmUvUGlTbW1Db3JlLmMNCj4g KysrIGIvTWRlTW9kdWxlUGtnL0NvcmUvUGlTbW1Db3JlL1BpU21tQ29yZS5jDQo+IEBAIC0xMDQs OCArMTA0LDYgQEAgRUZJX1NNUkFNX0RFU0NSSVBUT1INCj4gKm1GdWxsU21yYW1SYW5nZXM7DQo+ IA0KPiANCj4gIEVGSV9TTU1fRFJJVkVSX0VOVFJZICAgICAgICAgICAgKm1TbW1Db3JlRHJpdmVy RW50cnk7DQo+IA0KPiANCj4gDQo+IC1FRklfTE9BREVEX0lNQUdFX1BST1RPQ09MICAgICAgICpt U21tQ29yZUxvYWRlZEltYWdlOw0KPiANCj4gLQ0KPiANCj4gIC8qKg0KPiANCj4gICAgUGxhY2Ug aG9sZGVyIGZ1bmN0aW9uIHVudGlsIGFsbCB0aGUgU01NIFN5c3RlbSBUYWJsZQ0KPiBTZXJ2aWNl IGFyZSBhdmFpbGFibGUuDQo+IA0KPiANCj4gDQo+IEBAIC03NTYsMzggKzc1NCw2IEBAIFNtbUNv cmVJbnN0YWxsTG9hZGVkSW1hZ2UgKA0KPiAgICApDQo+IA0KPiAgew0KPiANCj4gICAgRUZJX1NU QVRVUyAgICAgICAgICAgICAgICAgU3RhdHVzOw0KPiANCj4gLSAgRUZJX0hBTkRMRSAgICAgICAg ICAgICAgICAgSGFuZGxlOw0KPiANCj4gLQ0KPiANCj4gLSAgLy8NCj4gDQo+IC0gIC8vIEFsbG9j YXRlIGEgTG9hZGVkIEltYWdlIFByb3RvY29sIGluDQo+IEVmaUJvb3RTZXJ2aWNlc0RhdGENCj4g DQo+IC0gIC8vDQo+IA0KPiAtICBTdGF0dXMgPSBnQlMtPkFsbG9jYXRlUG9vbCAoRWZpQm9vdFNl cnZpY2VzRGF0YSwNCj4gc2l6ZW9mKEVGSV9MT0FERURfSU1BR0VfUFJPVE9DT0wpLCAoVk9JRA0K PiAqKikmbVNtbUNvcmVMb2FkZWRJbWFnZSk7DQo+IA0KPiAtICBBU1NFUlRfRUZJX0VSUk9SIChT dGF0dXMpOw0KPiANCj4gLQ0KPiANCj4gLSAgWmVyb01lbSAobVNtbUNvcmVMb2FkZWRJbWFnZSwg c2l6ZW9mDQo+IChFRklfTE9BREVEX0lNQUdFX1BST1RPQ09MKSk7DQo+IA0KPiAtICAvLw0KPiAN Cj4gLSAgLy8gRmlsbCBpbiB0aGUgcmVtYWluaW5nIGZpZWxkcyBvZiB0aGUgTG9hZGVkIEltYWdl DQo+IFByb3RvY29sIGluc3RhbmNlLg0KPiANCj4gLSAgLy8gTm90ZTogSW1hZ2VCYXNlIGlzIGFu IFNNUkFNIGFkZHJlc3MgdGhhdCBjYW4gbm90DQo+IGJlIGFjY2Vzc2VkIG91dHNpZGUgb2YgU01S QU0gaWYgU01SQU0gd2luZG93IGlzIGNsb3NlZC4NCj4gDQo+IC0gIC8vDQo+IA0KPiAtICBtU21t Q29yZUxvYWRlZEltYWdlLT5SZXZpc2lvbiAgICAgID0NCj4gRUZJX0xPQURFRF9JTUFHRV9QUk9U T0NPTF9SRVZJU0lPTjsNCj4gDQo+IC0gIG1TbW1Db3JlTG9hZGVkSW1hZ2UtPlBhcmVudEhhbmRs ZSAgPSBnU21tQ29yZVByaXZhdGUtDQo+ID5TbW1JcGxJbWFnZUhhbmRsZTsNCj4gDQo+IC0gIG1T bW1Db3JlTG9hZGVkSW1hZ2UtPlN5c3RlbVRhYmxlICAgPSBnU1Q7DQo+IA0KPiAtDQo+IA0KPiAt ICBtU21tQ29yZUxvYWRlZEltYWdlLT5JbWFnZUJhc2UgICAgID0gKFZPSUQNCj4gKikoVUlOVE4p Z1NtbUNvcmVQcml2YXRlLT5QaVNtbUNvcmVJbWFnZUJhc2U7DQo+IA0KPiAtICBtU21tQ29yZUxv YWRlZEltYWdlLT5JbWFnZVNpemUgICAgID0gZ1NtbUNvcmVQcml2YXRlLQ0KPiA+UGlTbW1Db3Jl SW1hZ2VTaXplOw0KPiANCj4gLSAgbVNtbUNvcmVMb2FkZWRJbWFnZS0+SW1hZ2VDb2RlVHlwZSA9 DQo+IEVmaVJ1bnRpbWVTZXJ2aWNlc0NvZGU7DQo+IA0KPiAtICBtU21tQ29yZUxvYWRlZEltYWdl LT5JbWFnZURhdGFUeXBlID0NCj4gRWZpUnVudGltZVNlcnZpY2VzRGF0YTsNCj4gDQo+IC0NCj4g DQo+IC0gIC8vDQo+IA0KPiAtICAvLyBDcmVhdGUgYSBuZXcgaW1hZ2UgaGFuZGxlIGluIHRoZSBV RUZJIGhhbmRsZQ0KPiBkYXRhYmFzZSBmb3IgdGhlIFNNTSBEcml2ZXINCj4gDQo+IC0gIC8vDQo+ IA0KPiAtICBIYW5kbGUgPSBOVUxMOw0KPiANCj4gLSAgU3RhdHVzID0gZ0JTLT5JbnN0YWxsTXVs dGlwbGVQcm90b2NvbEludGVyZmFjZXMgKA0KPiANCj4gLSAgICAgICAgICAgICAgICAgICZIYW5k bGUsDQo+IA0KPiAtICAgICAgICAgICAgICAgICAgJmdFZmlMb2FkZWRJbWFnZVByb3RvY29sR3Vp ZCwNCj4gbVNtbUNvcmVMb2FkZWRJbWFnZSwNCj4gDQo+IC0gICAgICAgICAgICAgICAgICBOVUxM DQo+IA0KPiAtICAgICAgICAgICAgICAgICAgKTsNCj4gDQo+IC0gIEFTU0VSVF9FRklfRVJST1Ig KFN0YXR1cyk7DQo+IA0KPiANCj4gDQo+ICAgIC8vDQo+IA0KPiAgICAvLyBBbGxvY2F0ZSBhIExv YWRlZCBJbWFnZSBQcm90b2NvbCBpbiBTTU0NCj4gDQo+IGRpZmYgLS1naXQgYS9NZGVNb2R1bGVQ a2cvQ29yZS9QaVNtbUNvcmUvUGlTbW1Db3JlLmgNCj4gYi9NZGVNb2R1bGVQa2cvQ29yZS9QaVNt bUNvcmUvUGlTbW1Db3JlLmgNCj4gaW5kZXggNTBhN2ZjMDAwMC4uM2JiZDFlMTYwMyAxMDA2NDQN Cj4gLS0tIGEvTWRlTW9kdWxlUGtnL0NvcmUvUGlTbW1Db3JlL1BpU21tQ29yZS5oDQo+ICsrKyBi L01kZU1vZHVsZVBrZy9Db3JlL1BpU21tQ29yZS9QaVNtbUNvcmUuaA0KPiBAQCAtMTIyLDggKzEy Miw4IEBAIHR5cGVkZWYgc3RydWN0IHsNCj4gICAgQk9PTEVBTiAgICAgICAgICAgICAgICAgICAg ICAgICBJbml0aWFsaXplZDsNCj4gDQo+ICAgIEJPT0xFQU4gICAgICAgICAgICAgICAgICAgICAg ICAgRGVwZXhQcm90b2NvbEVycm9yOw0KPiANCj4gDQo+IA0KPiAtICBFRklfSEFORExFICAgICAg ICAgICAgICAgICAgICAgIEltYWdlSGFuZGxlOw0KPiANCj4gLSAgRUZJX0xPQURFRF9JTUFHRV9Q Uk9UT0NPTCAgICAgICAqTG9hZGVkSW1hZ2U7DQo+IA0KPiArICBFRklfSEFORExFDQo+IEltYWdl SGFuZGxlX1Jlc2VydmVkMTsNCj4gDQo+ICsgIEVGSV9MT0FERURfSU1BR0VfUFJPVE9DT0wNCj4g KkxvYWRlZEltYWdlX1Jlc2VydmVkMjsNCj4gDQo+ICAgIC8vDQo+IA0KPiAgICAvLyBJbWFnZSBF bnRyeVBvaW50IGluIFNNUkFNDQo+IA0KPiAgICAvLw0KPiANCj4gLS0NCj4gMi4yNS4xLndpbmRv d3MuMQ0KDQo=