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.303.1593044495218659336 for ; Wed, 24 Jun 2020 17:21:35 -0700 Authentication-Results: mx.groups.io; dkim=missing; spf=pass (domain: intel.com, ip: 134.134.136.20, mailfrom: ray.ni@intel.com) IronPort-SDR: cFH+cOLux4KSuSjgQ/e+o/sX4Ae2fiBVDrka4pNC7tofPIWXGkw/gtzOQcTwJu/Ofw1CYwbwra viVjYDlAj3xg== X-IronPort-AV: E=McAfee;i="6000,8403,9662"; a="133116022" X-IronPort-AV: E=Sophos;i="5.75,277,1589266800"; d="scan'208";a="133116022" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by orsmga101.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 24 Jun 2020 17:21:33 -0700 IronPort-SDR: 2o/1Tt31S6/Qr2kJBiZ8AslWHayErwCU0fWAFgLd08uuaP3G6Za9GmUyZ1UXxyxPVw1V9BotzC gEyYccEH0kCQ== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.75,277,1589266800"; d="scan'208";a="311822326" Received: from fmsmsx108.amr.corp.intel.com ([10.18.124.206]) by fmsmga002.fm.intel.com with ESMTP; 24 Jun 2020 17:21:33 -0700 Received: from shsmsx151.ccr.corp.intel.com (10.239.6.50) by FMSMSX108.amr.corp.intel.com (10.18.124.206) with Microsoft SMTP Server (TLS) id 14.3.439.0; Wed, 24 Jun 2020 17:21:33 -0700 Received: from shsmsx104.ccr.corp.intel.com ([169.254.5.161]) by SHSMSX151.ccr.corp.intel.com ([169.254.3.174]) with mapi id 14.03.0439.000; Thu, 25 Jun 2020 08:21:29 +0800 From: "Ni, Ray" To: Laszlo Ersek , "devel@edk2.groups.io" , "Gao, Zhichao" CC: "Wu, Hao A" , "Wang, Jian J" , "Gao, Liming" Subject: Re: [edk2-devel] [PATCH] MdeModulePkg/PartitionDxe: Seperate the Udf handler Thread-Topic: [edk2-devel] [PATCH] MdeModulePkg/PartitionDxe: Seperate the Udf handler Thread-Index: AQHWSew7PLCnQJWhREa5iLSmiIY1Kqjnb68g//+zqQCAAVTUYA== Date: Thu, 25 Jun 2020 00:21:29 +0000 Message-ID: <734D49CCEBEEF84792F5B80ED585239D5C5D2639@SHSMSX104.ccr.corp.intel.com> References: <20200624055610.13984-1-zhichao.gao@intel.com> <734D49CCEBEEF84792F5B80ED585239D5C5D1BBB@SHSMSX104.ccr.corp.intel.com> <2f85dc90-41ae-0b51-4512-d65dbdd143b5@redhat.com> In-Reply-To: <2f85dc90-41ae-0b51-4512-d65dbdd143b5@redhat.com> Accept-Language: en-US, zh-CN X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-product: dlpe-windows dlp-version: 11.2.0.6 dlp-reaction: no-action x-originating-ip: [10.239.127.40] MIME-Version: 1.0 Return-Path: ray.ni@intel.com Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 TGFzemxvLA0KWW91IGFyZSBzdXJwcmlzZWQgYmVjYXVzZSB0aGUgaXNzdWUgaXMgcmVsYXRlZCB0 byBSZWRoYXQsIG9yIGJlY2F1c2UNCnRoZSB3b3JkICJSZWRoYXQiIHNob3VsZCBub3QgYmUgbWVu dGlvbmVkIGluIHRoZSBCdWd6aWxsYT8NCg0KaHR0cDovL21hbnBhZ2VzLnVidW50dS5jb20vbWFu cGFnZXMvYmlvbmljL21hbjgvbWt1ZGZmcy44Lmh0bWwNCmlzIGEgdG9vbCB0aGF0IGNyZWF0ZXMg VURGIGZpbGUgc3lzdGVtIHdpdGggYSBjb21wYXRpYmxlIE1CUiB0YWJsZSBpbiB0aGUNCnRvcCAz MktCIHNwZWNpYWxseSBmb3IgV2luZG93cy4NCg0KU2VhcmNoICIgV0hPTEUgRElTSyBWUyBQQVJU SVRJT04iIGluIHRoZSB3ZWIgcGFnZS4NCg0KSSB0aGluayBtYXliZSBlZGsyIE1iciBsb2dpYyBz aG91bGQgKGJ1dCBkb2Vzbid0KSBza2lwIE1CUiB3aG9zZQ0KcGFydGl0aW9uIHN0YXJ0cyBmcm9t IExCQSAjMCAoaW5jbHVkZXMgTUJSIGl0c2VsZikuDQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdl LS0tLS0NCj4gRnJvbTogTGFzemxvIEVyc2VrIDxsZXJzZWtAcmVkaGF0LmNvbT4NCj4gU2VudDog V2VkbmVzZGF5LCBKdW5lIDI0LCAyMDIwIDc6NTggUE0NCj4gVG86IGRldmVsQGVkazIuZ3JvdXBz LmlvOyBOaSwgUmF5IDxyYXkubmlAaW50ZWwuY29tPjsgR2FvLCBaaGljaGFvIDx6aGljaGFvLmdh b0BpbnRlbC5jb20+DQo+IENjOiBXdSwgSGFvIEEgPGhhby5hLnd1QGludGVsLmNvbT47IFdhbmcs IEppYW4gSiA8amlhbi5qLndhbmdAaW50ZWwuY29tPjsgR2FvLCBMaW1pbmcgPGxpbWluZy5nYW9A aW50ZWwuY29tPg0KPiBTdWJqZWN0OiBSZTogW2VkazItZGV2ZWxdIFtQQVRDSF0gTWRlTW9kdWxl UGtnL1BhcnRpdGlvbkR4ZTogU2VwZXJhdGUgdGhlIFVkZiBoYW5kbGVyDQo+IA0KPiBPbiAwNi8y NC8yMCAxMDozMiwgTmksIFJheSB3cm90ZToNCj4gPiBaaGljaGFvLA0KPiA+IFdpbGwgdHdvIEJs b2NrSW8gY2hpbGQgZGV2aWNlcyBjb3ZlciB0aGUgc2FtZSByYW5nZSBpbiB0aGUgSVNPIGFmdGVy IHlvdXIgcGF0Y2g/DQo+ID4NCj4gPiBJIGRvbid0IHRoaW5rIHRoYXQncyBhIHZhbGlkIGJlaGF2 aW9yLg0KPiANCj4gUmlnaHQ7IEknbSBzdXJwcmlzZWQgdG8gZmluZCB0aGUgUmVkIEhhdCByZWZl cmVuY2UgaW4gYm90aCB0aGUgY29tbWl0DQo+IG1lc3NhZ2UgYW5kIHRoZSBCWi4NCj4gDQo+IEkg Y2FuJ3Qgc2F5IEkgdW5kZXJzdGFuZCB0aGUgaXNzdWUgYXQgaGFuZCwgYnV0IGFyZSB3ZSBzdXJl IHRoaXMgaXNuJ3QgYQ0KPiBidWcgLS0gYSBzdGFuZGFyZHMgY29uZm9ybWFuY2UgcHJvYmxlbSAt LSB3aXRoIHRoZSBJU08gaW4gcXVlc3Rpb24/DQo+IA0KPiBaaGljaGFvLCBkbyB5b3UgaGF2ZSBh IGxpbmsgdG8gYW4gSVNPIGltYWdlIHRoYXQgdHJpZ2dlcnMgdGhlIHByb2JsZW0sDQo+IGFuZCBj YW4geW91IHByb3ZpZGUgYSBoZXhkdW1wIG9mIHRoZSBwYXJ0IG9mIHRoZSBpbWFnZSB0aGF0IGlz IGVpdGhlcg0KPiBidWdneSwgb3IgdHJpZ2dlcnMgdGhlIHByb2JsZW0gaW4gZWRrMj8gV2l0aCBh IG1vcmUgc3BlY2lmaWMgaXNzdWUNCj4gZGVzY3JpcHRpb24sIEkgbWlnaHQgYmUgYWJsZSB0byBm aW5kIHNvbWVvbmUgYXQgUmVkIEhhdCB3aG8gY291bGQNCj4gY29tbWVudCB3aXRoIG1vcmUgaW5z aWdodCB0aGFuIG15c2VsZi4NCj4gDQo+IFRoYW5rcyENCj4gTGFzemxvDQo+IA0KPiA+DQo+ID4g VGhhbmtzLA0KPiA+IFJheQ0KPiA+DQo+ID4+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ ID4+IEZyb206IEdhbywgWmhpY2hhbyA8emhpY2hhby5nYW9AaW50ZWwuY29tPg0KPiA+PiBTZW50 OiBXZWRuZXNkYXksIEp1bmUgMjQsIDIwMjAgMTo1NiBQTQ0KPiA+PiBUbzogZGV2ZWxAZWRrMi5n cm91cHMuaW8NCj4gPj4gQ2M6IFd1LCBIYW8gQSA8aGFvLmEud3VAaW50ZWwuY29tPjsgTmksIFJh eSA8cmF5Lm5pQGludGVsLmNvbT47IFdhbmcsIEppYW4gSiA8amlhbi5qLndhbmdAaW50ZWwuY29t PjsgR2FvLCBMaW1pbmcNCj4gPj4gPGxpbWluZy5nYW9AaW50ZWwuY29tPg0KPiA+PiBTdWJqZWN0 OiBbUEFUQ0hdIE1kZU1vZHVsZVBrZy9QYXJ0aXRpb25EeGU6IFNlcGVyYXRlIHRoZSBVZGYgaGFu ZGxlcg0KPiA+Pg0KPiA+PiBSRUY6IGh0dHBzOi8vYnVnemlsbGEudGlhbm9jb3JlLm9yZy9zaG93 X2J1Zy5jZ2k/aWQ9MjgyMw0KPiA+Pg0KPiA+PiBTb21lIGxpbnV4IGlzbyBsaWtlIFJlZGhhdCB3 b3VsZCBjb250YWluIGJvdGggTUJSIGluZm8gaW4gdGhlIGZpcnN0DQo+ID4+IDUxMiBieXRlcyBh bmQgdm9sdW1lIGluZm8gYXQgdGhlIGJlZ2lubmluZyBvZiAzMktCIG9mZnNldC4NCj4gPj4gQnV0 IHRoZSBwYXJ0aXRpb24gZHJpdmVyIHdvdWxkIG9ubHkgY2hvb3NlIG9uZSBvZiB0aGUgR1BULCBN QlIsIGFuZA0KPiA+PiBVREYoZWwgdG9yaXRvIGNvbXBhdGlibGUpIHRvIGluc3RhbGwgdGhlIHBh cnRpdGlvbi4gVGhhdCB3b3VsZCBsb3NlDQo+ID4+IG9uZSBpbmZvIGZvciBzdWNoIGxpbnV4IElT TyBkdXJpbmcgb25lIGNvbm5lY3QuIEFuZCBVREYoZWwgdG9yaXRvDQo+ID4+IGNvbXBhdGlibGUp IGlzIG5vdCBjb25mbGljdGVkIHdpdGggTUJSL0dQVC4gU28gcGFydGl0aW9uIGRyaXZlciBzaG91 bGQNCj4gPj4gY2hlY2sgVURGIGFuZCBNQlIvR1BUIHNlcGFyYXRlbHkuDQo+ID4+DQo+ID4+IENj OiBIYW8gQSBXdSA8aGFvLmEud3VAaW50ZWwuY29tPg0KPiA+PiBDYzogUmF5IE5pIDxyYXkubmlA aW50ZWwuY29tPg0KPiA+PiBDYzogSmlhbiBKIFdhbmcgPGppYW4uai53YW5nQGludGVsLmNvbT4N Cj4gPj4gQ2M6IExpbWluZyBHYW8gPGxpbWluZy5nYW9AaW50ZWwuY29tPg0KPiA+PiBTaWduZWQt b2ZmLWJ5OiBaaGljaGFvIEdhbyA8emhpY2hhby5nYW9AaW50ZWwuY29tPg0KPiA+PiAtLS0NCj4g Pj4gIC4uLi9Vbml2ZXJzYWwvRGlzay9QYXJ0aXRpb25EeGUvUGFydGl0aW9uLmMgICB8IDUyICsr KysrKysrKysrKystLS0tLS0NCj4gPj4gIDEgZmlsZSBjaGFuZ2VkLCAzNyBpbnNlcnRpb25zKCsp LCAxNSBkZWxldGlvbnMoLSkNCj4gPj4NCj4gPj4gZGlmZiAtLWdpdCBhL01kZU1vZHVsZVBrZy9V bml2ZXJzYWwvRGlzay9QYXJ0aXRpb25EeGUvUGFydGl0aW9uLmMNCj4gPj4gYi9NZGVNb2R1bGVQ a2cvVW5pdmVyc2FsL0Rpc2svUGFydGl0aW9uRHhlL1BhcnRpdGlvbi5jDQo+ID4+IGluZGV4IGQx Yzg3OGFkMmUuLjU2MjQ5MGRiNGYgMTAwNjQ0DQo+ID4+IC0tLSBhL01kZU1vZHVsZVBrZy9Vbml2 ZXJzYWwvRGlzay9QYXJ0aXRpb25EeGUvUGFydGl0aW9uLmMNCj4gPj4gKysrIGIvTWRlTW9kdWxl UGtnL1VuaXZlcnNhbC9EaXNrL1BhcnRpdGlvbkR4ZS9QYXJ0aXRpb24uYw0KPiA+PiBAQCAtNSw3 ICs1LDcgQEANCj4gPj4gICAgTUJSLCBhbmQgR1BUIHBhcnRpdGlvbiBzY2hlbWVzIGFyZSBzdXBw b3J0ZWQuDQo+ID4+DQo+ID4+ICBDb3B5cmlnaHQgKGMpIDIwMTggUXVhbGNvbW0gRGF0YWNlbnRl ciBUZWNobm9sb2dpZXMsIEluYy4NCj4gPj4gLUNvcHlyaWdodCAoYykgMjAwNiAtIDIwMTgsIElu dGVsIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLjxCUj4NCj4gPj4gK0NvcHlyaWdo dCAoYykgMjAwNiAtIDIwMjAsIEludGVsIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVk LjxCUj4NCj4gPj4gIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMi1DbGF1c2UtUGF0ZW50 DQo+ID4+DQo+ID4+ICAqKi8NCj4gPj4gQEAgLTM5LDcgKzM5LDYgQEAgRUZJX0RSSVZFUl9CSU5E SU5HX1BST1RPQ09MIGdQYXJ0aXRpb25Ecml2ZXJCaW5kaW5nID0gew0KPiA+PiAgUEFSVElUSU9O X0RFVEVDVF9ST1VUSU5FIG1QYXJ0aXRpb25EZXRlY3RSb3V0aW5lVGFibGVbXSA9IHsNCj4gPj4g ICAgUGFydGl0aW9uSW5zdGFsbEdwdENoaWxkSGFuZGxlcywNCj4gPj4gICAgUGFydGl0aW9uSW5z dGFsbE1ickNoaWxkSGFuZGxlcywNCj4gPj4gLSAgUGFydGl0aW9uSW5zdGFsbFVkZkNoaWxkSGFu ZGxlcywNCj4gPj4gICAgTlVMTA0KPiA+PiAgfTsNCj4gPj4NCj4gPj4gQEAgLTE4OSw2ICsxODgs OCBAQCBQYXJ0aXRpb25Ecml2ZXJCaW5kaW5nU3RhcnQgKA0KPiA+PiAgew0KPiA+PiAgICBFRklf U1RBVFVTICAgICAgICAgICAgICAgIFN0YXR1czsNCj4gPj4gICAgRUZJX1NUQVRVUyAgICAgICAg ICAgICAgICBPcGVuU3RhdHVzOw0KPiA+PiArICBFRklfU1RBVFVTICAgICAgICAgICAgICAgIFVk ZlN0YXR1czsNCj4gPj4gKyAgRUZJX1NUQVRVUyAgICAgICAgICAgICAgICBHcHRNYnJTdGF0dXM7 DQo+ID4+ICAgIEVGSV9CTE9DS19JT19QUk9UT0NPTCAgICAgKkJsb2NrSW87DQo+ID4+ICAgIEVG SV9CTE9DS19JTzJfUFJPVE9DT0wgICAgKkJsb2NrSW8yOw0KPiA+PiAgICBFRklfRElTS19JT19Q Uk9UT0NPTCAgICAgICpEaXNrSW87DQo+ID4+IEBAIC0zMDAsMjYgKzMwMSw0NyBAQCBQYXJ0aXRp b25Ecml2ZXJCaW5kaW5nU3RhcnQgKA0KPiA+PiAgICBpZiAoQmxvY2tJby0+TWVkaWEtPk1lZGlh UHJlc2VudCB8fA0KPiA+PiAgICAgICAgKEJsb2NrSW8tPk1lZGlhLT5SZW1vdmFibGVNZWRpYSAm JiAhQmxvY2tJby0+TWVkaWEtPkxvZ2ljYWxQYXJ0aXRpb24pKSB7DQo+ID4+ICAgICAgLy8NCj4g Pj4gLSAgICAvLyBUcnkgZm9yIEdQVCwgdGhlbiBsZWdhY3kgTUJSIHBhcnRpdGlvbiB0eXBlcywg YW5kIHRoZW4gVURGIGFuZCBFbCBUb3JpdG8uDQo+ID4+IC0gICAgLy8gSWYgdGhlIG1lZGlhIHN1 cHBvcnRzIGEgZ2l2ZW4gcGFydGl0aW9uIHR5cGUgaW5zdGFsbCBjaGlsZCBoYW5kbGVzIHRvDQo+ ID4+IC0gICAgLy8gcmVwcmVzZW50IHRoZSBwYXJ0aXRpb25zIGRlc2NyaWJlZCBieSB0aGUgbWVk aWEuDQo+ID4+ICsgICAgLy8gVHJ5IGZvciBVREYgKEVsIFRPcml0byBjb21wYXRpYmxlKSBhbmQg R1BUL01CUiBwYXJ0aXRpb24gdHlwZXMuDQo+ID4+ICsgICAgLy8gSWYgdGhlIG1lZGlhIHN1cHBv cnRzIGEgZ2l2ZW4gcGFydGl0aW9uIHR5cGUsIGl0IHdvdWxkIGluc3RhbGwgY2hpbGQgaGFuZGxl cw0KPiA+PiArICAgIC8vIHRvIHJlcHJlc2VudCB0aGUgcGFydGl0aW9ucyBkZXNjcmliZWQgYnkg dGhlIG1lZGlhLg0KPiA+PiArICAgIC8vIE5vdGVzOiBHUFQgaXMgY29uZmxpY3RlZCB3aXRoIE1C Ui4gSXQgd291bGQgb25seSBpbnN0YWxsIG9uZSBvZiB0aGVtIHRvIGRlc2NyaWJlDQo+ID4+ICsg ICAgLy8gdGhlIHBhcnRpdGlvbi4gVURGIChvciBFbCBUb3JpdG8pIGNhbiBleGlzdCB3aXRoIE1C Uiwgc28gbmVlZCB0byBjaGVjayBpdCBhbG9uZyB3aXRoDQo+ID4+ICsgICAgLy8gR1BUL01CUi4N Cj4gPj4gICAgICAvLw0KPiA+PiArICAgIFVkZlN0YXR1cyA9IFBhcnRpdGlvbkluc3RhbGxVZGZD aGlsZEhhbmRsZXMgKA0KPiA+PiArICAgICAgICAgICAgICAgICAgVGhpcywNCj4gPj4gKyAgICAg ICAgICAgICAgICAgIENvbnRyb2xsZXJIYW5kbGUsDQo+ID4+ICsgICAgICAgICAgICAgICAgICBE aXNrSW8sDQo+ID4+ICsgICAgICAgICAgICAgICAgICBEaXNrSW8yLA0KPiA+PiArICAgICAgICAg ICAgICAgICAgQmxvY2tJbywNCj4gPj4gKyAgICAgICAgICAgICAgICAgIEJsb2NrSW8yLA0KPiA+ PiArICAgICAgICAgICAgICAgICAgUGFyZW50RGV2aWNlUGF0aA0KPiA+PiArICAgICAgICAgICAg ICAgICAgKTsNCj4gPj4gKw0KPiA+PiAgICAgIFJvdXRpbmUgPSAmbVBhcnRpdGlvbkRldGVjdFJv dXRpbmVUYWJsZVswXTsNCj4gPj4gICAgICB3aGlsZSAoKlJvdXRpbmUgIT0gTlVMTCkgew0KPiA+ PiAtICAgICAgU3RhdHVzID0gKCpSb3V0aW5lKSAoDQo+ID4+IC0gICAgICAgICAgICAgICAgICAg VGhpcywNCj4gPj4gLSAgICAgICAgICAgICAgICAgICBDb250cm9sbGVySGFuZGxlLA0KPiA+PiAt ICAgICAgICAgICAgICAgICAgIERpc2tJbywNCj4gPj4gLSAgICAgICAgICAgICAgICAgICBEaXNr SW8yLA0KPiA+PiAtICAgICAgICAgICAgICAgICAgIEJsb2NrSW8sDQo+ID4+IC0gICAgICAgICAg ICAgICAgICAgQmxvY2tJbzIsDQo+ID4+IC0gICAgICAgICAgICAgICAgICAgUGFyZW50RGV2aWNl UGF0aA0KPiA+PiAtICAgICAgICAgICAgICAgICAgICk7DQo+ID4+IC0gICAgICBpZiAoIUVGSV9F UlJPUiAoU3RhdHVzKSB8fCBTdGF0dXMgPT0gRUZJX01FRElBX0NIQU5HRUQgfHwgU3RhdHVzID09 IEVGSV9OT19NRURJQSkgew0KPiA+PiArICAgICAgR3B0TWJyU3RhdHVzID0gKCpSb3V0aW5lKSAo DQo+ID4+ICsgICAgICAgICAgICAgICAgICAgICAgICBUaGlzLA0KPiA+PiArICAgICAgICAgICAg ICAgICAgICAgICAgQ29udHJvbGxlckhhbmRsZSwNCj4gPj4gKyAgICAgICAgICAgICAgICAgICAg ICAgIERpc2tJbywNCj4gPj4gKyAgICAgICAgICAgICAgICAgICAgICAgIERpc2tJbzIsDQo+ID4+ ICsgICAgICAgICAgICAgICAgICAgICAgICBCbG9ja0lvLA0KPiA+PiArICAgICAgICAgICAgICAg ICAgICAgICAgQmxvY2tJbzIsDQo+ID4+ICsgICAgICAgICAgICAgICAgICAgICAgICBQYXJlbnRE ZXZpY2VQYXRoDQo+ID4+ICsgICAgICAgICAgICAgICAgICAgICAgICApOw0KPiA+PiArICAgICAg aWYgKCFFRklfRVJST1IgKEdwdE1iclN0YXR1cykgfHwgR3B0TWJyU3RhdHVzID09IEVGSV9NRURJ QV9DSEFOR0VEIHx8IEdwdE1iclN0YXR1cyA9PSBFRklfTk9fTUVESUEpIHsNCj4gPj4gICAgICAg ICAgYnJlYWs7DQo+ID4+ICAgICAgICB9DQo+ID4+ICAgICAgICBSb3V0aW5lKys7DQo+ID4+ICAg ICAgfQ0KPiA+PiArDQo+ID4+ICsgICAgaWYgKCFFRklfRVJST1IgKFVkZlN0YXR1cykgfHwgIUVG SV9FUlJPUiAoR3B0TWJyU3RhdHVzKSkgew0KPiA+PiArICAgICAgU3RhdHVzID0gRUZJX1NVQ0NF U1M7DQo+ID4+ICsgICAgfSBlbHNlIGlmIChVZGZTdGF0dXMgPT0gRUZJX01FRElBX0NIQU5HRUQg fHwgR3B0TWJyU3RhdHVzID09IEVGSV9NRURJQV9DSEFOR0VEKSB7DQo+ID4+ICsgICAgICBTdGF0 dXMgPSBFRklfTUVESUFfQ0hBTkdFRDsNCj4gPj4gKyAgICB9IGVsc2UgaWYgKFVkZlN0YXR1cyA9 PSBFRklfTk9fTUVESUEgfHwgR3B0TWJyU3RhdHVzID09IEVGSV9OT19NRURJQSkgew0KPiA+PiAr ICAgICAgU3RhdHVzID0gRUZJX05PX01FRElBOw0KPiA+PiArICAgIH0NCj4gPj4gICAgfQ0KPiA+ PiAgICAvLw0KPiA+PiAgICAvLyBJbiB0aGUgY2FzZSB0aGF0IHRoZSBkcml2ZXIgaXMgYWxyZWFk eSBzdGFydGVkIChPcGVuU3RhdHVzID09IEVGSV9BTFJFQURZX1NUQVJURUQpLA0KPiA+PiAtLQ0K PiA+PiAyLjIxLjAud2luZG93cy4xDQo+ID4NCj4gPg0KPiA+IA0KPiA+DQoNCg==