From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by mx.groups.io with SMTP id smtpd.web12.448.1603168505715810715 for ; Mon, 19 Oct 2020 21:35:06 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@intel.onmicrosoft.com header.s=selector2-intel-onmicrosoft-com header.b=rAHF9ZGU; spf=pass (domain: intel.com, ip: 192.55.52.93, mailfrom: bob.c.feng@intel.com) IronPort-SDR: 83ugsfWivUdotHTF/ROvi+b6qeHOsi0yhr0U3U0xu6BMfaJoalmt3NmV64Ka9KjWmxDT7e+8CT QoCbt5zPBTkg== X-IronPort-AV: E=McAfee;i="6000,8403,9779"; a="163664139" X-IronPort-AV: E=Sophos;i="5.77,396,1596524400"; d="scan'208";a="163664139" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga002.jf.intel.com ([10.7.209.21]) by fmsmga102.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 19 Oct 2020 21:35:04 -0700 IronPort-SDR: W6qpfeRgWzB2vs/ToIhMCy2RCmHy462RM4zmxubp+O9J1hNfgyhuVVFC/TalY8mjJueMGlXWw9 WDbnLYsxprgg== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.77,396,1596524400"; d="scan'208";a="332119388" Received: from fmsmsx603.amr.corp.intel.com ([10.18.126.83]) by orsmga002.jf.intel.com with ESMTP; 19 Oct 2020 21:35:04 -0700 Received: from fmsmsx603.amr.corp.intel.com (10.18.126.83) by fmsmsx603.amr.corp.intel.com (10.18.126.83) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Mon, 19 Oct 2020 21:35:03 -0700 Received: from fmsedg601.ED.cps.intel.com (10.1.192.135) by fmsmsx603.amr.corp.intel.com (10.18.126.83) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5 via Frontend Transport; Mon, 19 Oct 2020 21:35:03 -0700 Received: from NAM10-MW2-obe.outbound.protection.outlook.com (104.47.55.103) by edgegateway.intel.com (192.55.55.70) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.1713.5; Mon, 19 Oct 2020 21:35:03 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=i/U4nPNI/2OgTDXd7TcaARWtCyF7CeHswut5wcc6zYfMMfKxjBBGpdLT9y30bbDakmnhC8smzz0wXTnxl7lNvYEpfQ1RRH+bez5+xXEQsXyYdQ+B/+2Yl3Y+a8snUvODh08VFLBMUVrQWZqrNg2huOg/7I56SkL9gDcw9ONE/3B3UncQJgMwx/WkgYBT2i9GNpAl1aURVImuPbhh4Vd0xOXH1TgXzSLF9zO1YtqL6aZIaMOkNdjeV0YCAiKkBL/65D+J4fay2n9kLFTFA9JJuZgxdKFJmemncLP6amJ5LerNWOmE3Oag2f5vWl1EMgeHz5mQp2FxFWPa9B3svbkTJA== 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=QXYzqzHikjkC8N52DhKi9vK4io4IIYWhwoY7DqFmVbI=; b=ko/jv+cWAJmAeHqzGcsXhhiocz/R3A5j0+qgp6X2hzzL0xudXAJKikf/aHEs0z9+9OAvS9DVh1ayC+mNm0dZwbV216ctFYZOI8vL35ODtXMi8uXZybgq/cqxX2B+P4MvutJAFsDHwTNWrSSdikmboHVagfHjN9Qtqsrsf3bm2YKGQPVt3Tcj/mITAu5sa58sN14D4Sy5/yL784+nYZgJCKuO/vtsxFmUe3AFtOfYqu3Kz2vdXt+5x7WdC4Ca7atrIjCxXtWsKx7SxktcUHJWCgO0D9hxtDEiHY1wEJFT78QLFY+XbJNxdIuCiDWJCdUErUA2DCkFyKRlDiTSv03LpQ== 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=QXYzqzHikjkC8N52DhKi9vK4io4IIYWhwoY7DqFmVbI=; b=rAHF9ZGUkkCxkDdy0faqxbSi0WYRtzk7qJc71oE5KFwldYOaL8GeSI+j/Jf5B689HkncaS+VCzjnQdWUHI9S2VRPzE/9udc8DSLFNZj0o4b/DBefVDLQllCHb2xy4k+pI9FLlLe8tKfva1ijS2z+AYmWsTZbWpwum8lomMbQHmk= Received: from DM6PR11MB4073.namprd11.prod.outlook.com (2603:10b6:5:19f::22) by DM5PR11MB1932.namprd11.prod.outlook.com (2603:10b6:3:114::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3477.27; Tue, 20 Oct 2020 04:35:00 +0000 Received: from DM6PR11MB4073.namprd11.prod.outlook.com ([fe80::cd42:ed68:e66a:1eaa]) by DM6PR11MB4073.namprd11.prod.outlook.com ([fe80::cd42:ed68:e66a:1eaa%7]) with mapi id 15.20.3477.028; Tue, 20 Oct 2020 04:35:00 +0000 From: "Bob Feng" To: fengyunhua , "devel@edk2.groups.io" , "Wang, Jian J" CC: 'Liming Gao' , "Chen, Christine" Subject: Re: [edk2-devel] [PATCH] BaseTools: fix decoding issue in file operation Thread-Topic: [edk2-devel] [PATCH] BaseTools: fix decoding issue in file operation Thread-Index: AQHWo4/K7u31HGKcZ0ySaNHAWF7Jgqmeo/+AgAFCbNA= Date: Tue, 20 Oct 2020 04:35:00 +0000 Message-ID: References: <20201016074124.831-1-jian.j.wang@intel.com> <000001d6a5f5$90086c50$b01944f0$@byosoft.com.cn> In-Reply-To: <000001d6a5f5$90086c50$b01944f0$@byosoft.com.cn> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: byosoft.com.cn; dkim=none (message not signed) header.d=none;byosoft.com.cn; dmarc=none action=none header.from=intel.com; x-originating-ip: [192.55.46.36] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 47972132-8ba4-498a-07a2-08d874b181dc x-ms-traffictypediagnostic: DM5PR11MB1932: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:1923; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: xwzCHTq1vLXnOHG5f3uelfhmbJQV8BSzVexUBgcYPrbI67YlxGTs25ffD0XE/divrA+XBj5Rd8I2GiaSXIzUqqb+M+rRtzlkDWVdQJrSapligNtUIW1N8od0g9NZDlm4hfO+dQ8WwPDD7wuF7RX28N1mkIlLY6KlgjKnuNAKGGXT9l3yWPxdOuZk+5WjlVPu1hhKx4uqrKsFyihpEIp7kOh0Q2j0FHaHp6++rAVtl7V6fkSQ66Sv+Xjvk+n6K48dVddQpE8nMzgONJl6+P45dLPOZVNNQUXM2TJeuXXTV4HysT6+SF3FUzbT2fe5HjEPR+FtU02FdsmalfIM9BIvj92apnwtDUogxIjGt+Rr8vr1lncAg7qae4SU/TjyXgmS+GkvJi80qfnvad832IJwWA== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM6PR11MB4073.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(136003)(376002)(366004)(346002)(39860400002)(396003)(26005)(110136005)(71200400001)(9686003)(2906002)(4326008)(316002)(86362001)(186003)(52536014)(76116006)(55016002)(66446008)(64756008)(66476007)(66556008)(66946007)(966005)(5660300002)(54906003)(478600001)(7696005)(53546011)(6506007)(6636002)(8936002)(33656002)(107886003)(8676002)(83380400001);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata: r8itBP+YNR4YrumSt4HQzwlk9IYqIjJxbJFWdHwsdxoSsWrvWYpOqVuyHSMPO6lJ+dIIW26K+JvmuiDgoITVKAb27ONp+2oyNWWsmN221kMELUZcHfwbTMV3ZjASYtFsRshyq+RDPrrBUdXj3ja/oPz6AaYJMf9tGAO+MgwteiSWbEAcI5nEqcbp7vuABp48+vkile/C0fIjxiL1vzNRcO5QEyVDj9HSSdO0WQjWenYJICXoT+S/qWElMsTO8iALKIfH6bQWQdP2yFTqzajII4kWgGrVMYBIIR4iOspERpivMXJAgHl1TOeTcFvwWcS5BFVwgtqahqjbepLXvjUkHvKaiKNKyF9dhEvDCS4XAL0N9658IfZZcPI3d/jW79k66m1lsE2OiyIViYCT4kUoayfFhP+X7SYx+gvO1TMHty8gGNvo/cwbVLnOwk6I0eS1jHmM3DNdhA/7HeK/d+Wfn/V7EfwTF2DW++lKyQSFlQjYZegzU+y44hSsZlLqkhIk1BkyGomcAIBzrPAIaA7EFhJQiNzcf8kpfxY5CHnPKkceqBOAQ46b2xX8/EoA21b6AEJ2FWT3spEnOWVPMlGM3DZvo/s+LF5SE4JCHobS39bB9d4iZpf/EIbagtJy6BJv7H7g4eLxhOmboYcxNYHJWA== MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DM6PR11MB4073.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 47972132-8ba4-498a-07a2-08d874b181dc X-MS-Exchange-CrossTenant-originalarrivaltime: 20 Oct 2020 04:35:00.7640 (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: zR1cS/iKp2SaCUJp3r99w4uHeMKl7/SmDy1SvMLSr1bYNrPJH3VZuFxQr/T2Toih9QtA6uosTqE5M5VHPD5v3A== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM5PR11MB1932 Return-Path: bob.c.feng@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 VGhpcyBwYXRjaCBpcyBpbmNvbXBhdGlibGUgd2l0aCBweXRob24yLiANCg0KaHR0cHM6Ly9kb2Nz LnB5dGhvbi5vcmcvMi43L2xpYnJhcnkvZnVuY3Rpb25zLmh0bWwjb3Blbg0Kb3BlbihuYW1lWywg bW9kZVssIGJ1ZmZlcmluZ11dKQ0KDQpJbiBQeXRob24yLCBvcGVuIGhhcyBubyB0aGUgRW5jb2Rp bmcgYXJndW1lbnQNCg0KDQpUaGFua3MsDQpCb2INCg0KLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0t LS0NCkZyb206IGZlbmd5dW5odWEgPGZlbmd5dW5odWFAYnlvc29mdC5jb20uY24+IA0KU2VudDog TW9uZGF5LCBPY3RvYmVyIDE5LCAyMDIwIDQ6NTUgUE0NClRvOiBkZXZlbEBlZGsyLmdyb3Vwcy5p bzsgV2FuZywgSmlhbiBKIDxqaWFuLmoud2FuZ0BpbnRlbC5jb20+DQpDYzogRmVuZywgQm9iIEMg PGJvYi5jLmZlbmdAaW50ZWwuY29tPjsgJ0xpbWluZyBHYW8nIDxnYW9saW1pbmdAYnlvc29mdC5j b20uY24+OyBDaGVuLCBDaHJpc3RpbmUgPHl1d2VpLmNoZW5AaW50ZWwuY29tPg0KU3ViamVjdDog 5Zue5aSNOiBbZWRrMi1kZXZlbF0gW1BBVENIXSBCYXNlVG9vbHM6IGZpeCBkZWNvZGluZyBpc3N1 ZSBpbiBmaWxlIG9wZXJhdGlvbg0KDQpUZXN0ZWQtYnk6IFl1bmh1YSBGZW5nIDxmZW5neXVuaHVh QGJ5b3NvZnQuY29tLmNuPg0KDQoNCi0tLS0t6YKu5Lu25Y6f5Lu2LS0tLS0NCuWPkeS7tuS6ujog Ym91bmNlKzI3OTUyKzY2MzE2KzUwNDkxOTArODk1MzEyMEBncm91cHMuaW8gPGJvdW5jZSsyNzk1 Mis2NjMxNis1MDQ5MTkwKzg5NTMxMjBAZ3JvdXBzLmlvPiDku6PooaggV2FuZywgSmlhbiBKDQrl j5HpgIHml7bpl7Q6IDIwMjDlubQxMOaciDE25pelIDE1OjQxDQrmlLbku7bkuro6IGRldmVsQGVk azIuZ3JvdXBzLmlvDQrmioTpgIE6IEJvYiBGZW5nIDxib2IuYy5mZW5nQGludGVsLmNvbT47IExp bWluZyBHYW8gPGdhb2xpbWluZ0BieW9zb2Z0LmNvbS5jbj47IFl1d2VpIENoZW4gPHl1d2VpLmNo ZW5AaW50ZWwuY29tPg0K5Li76aKYOiBbZWRrMi1kZXZlbF0gW1BBVENIXSBCYXNlVG9vbHM6IGZp eCBkZWNvZGluZyBpc3N1ZSBpbiBmaWxlIG9wZXJhdGlvbg0KDQpUaGUgYnVpbGQgdG9vbCByZXBv cnRzIGZhaWx1cmUgdXBvbiBmaWxlIHJlYWQsIHN1Y2ggYXMgY2FsbGluZyB0cmltIHRvIGNsZWFu IHByZXByb2Nlc3NlZCBzb3VyY2UgZmlsZXMsIGlmIHRoZSB0b29sIGlzIHJ1bm5pbmcgb24gT1Mg d2l0aCBub24td2VzdGVybiBjb2RlLXBhZ2UgYW5kIHRoZSBzb3VyY2UgZmlsZSBoYXMgbm9uLWFz Y2lpIGNoYXJhY3RlcnMuDQoNCkV2ZW4gaWYgdXRmLTggaGFzIGFsc28gcHJvYmxlbSB3aGVuIGVu Y291bnRlcmluZyBzb21lIGNoYXJhY3RlcnMgZW5jb2RlZCBpbiBjcDEyNTIgKHN1Y2ggMHg5Miwg MHg5NiwgMHhhMCwgZXRjKS4NCg0KQ3VycmVudGx5LCB0aGUgc2FmZXN0IHdheSB0byByZWFkIGZp bGUgaW4gcHl0aG9uIGNvZGUgaXMgdXNpbmcgJ2xhdGluLTEnIChpc28tODg1OS0xKSBiZWNhdXNl IGl0IHVzZXMgZXZlcnkgYnl0ZSBiZXR3ZWVuIDAwLUZGIGFuZCB0aGVuIHdvbid0IGNhdXNlIGVu Y29kaW5nL2RlY29kaW5nIGlzc3VlLiBJdCBiZWhhdmVzIGFsbW9zdCB0aGUgc2FtZSBhcyByZWFk aW5nIGZpbGUgaW4gYmluYXJ5IG1vZGUuDQoNCg0KDQpjcDEyNTIgaXMgc2ltaWxhciB0byBsYXRp bi0xIGJ1dCBpdCBkb2Vzbid0IHN1cHBvcnQgZW5jb2RpbmcgJ1x4ODAnDQoNCnRvICdceGZmJyBh bmQgZG9lc24ndCBzdXBwb3J0IGRlY29kaW5nIGZvbGxvd2luZyBieXRlczoNCg0KDQoNCiAgJ1x4 ODEnLCAnXHg4ZCcsICdceDhmJywgJ1x4OTAnLCAnXHg5ZCcNCg0KDQpTbyBpZiB0aGVyZSdyZSB1 dGYtOC8xNiBlbmNvZGVkIGNoYXJhY3RlcnMgaW4gZmlsZSwgaXQgd2lsbCBmYWlsDQoNCnNvbWV0 aW1lcy4NCg0KDQoNClJlZmVyIHRvIGZvbGxvd2luZyBsaW5rcyBmb3IgZGV0YWlsczoNCg0KICBo dHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9MYXRpbi0xX1N1cHBsZW1lbnRfKFVuaWNvZGVf YmxvY2spDQoNCiAgaHR0cHM6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvV2luZG93cy0xMjUyDQoN CiAgaHR0cHM6Ly9rYi5pdS5lZHUvZC9hZXB1DQoNCiAgaHR0cHM6Ly93d3cuaTE4bnFhLmNvbS9k ZWJ1Zy90YWJsZS1pc284ODU5LTEtdnMtd2luZG93cy0xMjUyLmh0bWwNCg0KDQpPbmUgY2FuIHVz ZSBmb2xsb3dpbmcgcHl0aG9uIGNvZGUgdG8gdmVyaWZ5IHRoaXMuDQoNCmZvciBpIGluIHJhbmdl KDB4MTAwKToNCiAgICB0cnk6DQogICAgICAgIGNocihpKS5lbmNvZGUoJ2xhdGluLTEnKQ0KICAg IGV4Y2VwdDoNCiAgICAgICAgcHJpbnQoIiAgICAlcyBjYW5ub3QgZW5jb2RlICUwMngiICUgKCds YXRpbi0xJywgaSkpDQoNCmZvciBpIGluIHJhbmdlKDB4MTAwKToNCiAgICB0cnk6DQogICAgICAg IGIgPSBieXRlcyhbaV0pDQogICAgICAgIGIuZGVjb2RlKCdsYXRpbi0xJykNCiAgICBleGNlcHQ6 DQogICAgICAgIHByaW50KCIgICAgJXMgY2Fubm90IGRlY29kZSAlMDJ4IiAlICgnbGF0aW4tMScs IGkpKQ0KDQpUaGlzIHBhdGNoIGFkZCBjb2RlIHRvIGVuZm9yY2UgdXNpbmcgJ2xhdGluLTEnIGFz IGVuY29kaW5nIGFyZ3VtZW50IG9mIG9wZW4oKSBpbiBmdW5jdGlvbiBPcGVuTG9uZ0ZpbGVQYXRo KCksIGlmIHRoZSBvcGVuIG1vZGUgaXMgZm9yIHRleHQgZmlsZSBvbmx5LiBUaGlzIGNhbiBzb2x2 ZSB0aGUgZmlsZSBkZWNvZGluZyBpc3N1ZSBjb21wbGV0ZWx5Lg0KDQoNClRoZSBwb3NzaWJsZSBy ZWxhdGVkIEJaczoNCg0KICAgIGh0dHBzOi8vYnVnemlsbGEudGlhbm9jb3JlLm9yZy9zaG93X2J1 Zy5jZ2k/aWQ9MTQzNA0KDQogICAgaHR0cHM6Ly9idWd6aWxsYS50aWFub2NvcmUub3JnL3Nob3df YnVnLmNnaT9pZD0xNjM3DQoNCiAgICBodHRwczovL2J1Z3ppbGxhLnRpYW5vY29yZS5vcmcvc2hv d19idWcuY2dpP2lkPTI1NzgNCg0KICAgIGh0dHBzOi8vYnVnemlsbGEudGlhbm9jb3JlLm9yZy9z aG93X2J1Zy5jZ2k/aWQ9MjcwOQ0KDQogICAgaHR0cHM6Ly9idWd6aWxsYS50aWFub2NvcmUub3Jn L3Nob3dfYnVnLmNnaT9pZD0yODI5DQoNCg0KQ2M6IEJvYiBGZW5nIDxib2IuYy5mZW5nQGludGVs LmNvbT4NCkNjOiBMaW1pbmcgR2FvIDxnYW9saW1pbmdAYnlvc29mdC5jb20uY24+DQpDYzogWXV3 ZWkgQ2hlbiA8eXV3ZWkuY2hlbkBpbnRlbC5jb20+DQpTaWduZWQtb2ZmLWJ5OiBKaWFuIEogV2Fu ZyA8amlhbi5qLndhbmdAaW50ZWwuY29tPg0KLS0tDQogQmFzZVRvb2xzL1NvdXJjZS9QeXRob24v Q29tbW9uL0xvbmdGaWxlUGF0aFN1cHBvcnQucHkgfCAzICsrLQ0KIDEgZmlsZSBjaGFuZ2VkLCAy IGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkNCg0KZGlmZiAtLWdpdCBhL0Jhc2VUb29scy9T b3VyY2UvUHl0aG9uL0NvbW1vbi9Mb25nRmlsZVBhdGhTdXBwb3J0LnB5IGIvQmFzZVRvb2xzL1Nv dXJjZS9QeXRob24vQ29tbW9uL0xvbmdGaWxlUGF0aFN1cHBvcnQucHkNCmluZGV4IDM4YzQzOTY1 NDQuLmM4ZGNlMDc3ZjIgMTAwNjQ0DQotLS0gYS9CYXNlVG9vbHMvU291cmNlL1B5dGhvbi9Db21t b24vTG9uZ0ZpbGVQYXRoU3VwcG9ydC5weQ0KKysrIGIvQmFzZVRvb2xzL1NvdXJjZS9QeXRob24v Q29tbW9uL0xvbmdGaWxlUGF0aFN1cHBvcnQucHkNCkBAIC0zMCw3ICszMCw4IEBAIGRlZiBMb25n RmlsZVBhdGgoRmlsZU5hbWUpOg0KICMgd3JhcCBvcGVuIHRvIHN1cHBvcnQgb3BlbmluZyBhIGxv bmcgZmlsZSBwYXRoDQoNCiAjDQoNCiBkZWYgT3BlbkxvbmdGaWxlUGF0aChGaWxlTmFtZSwgTW9k ZT0ncicsIEJ1ZmZlcj0gLTEpOg0KDQotICAgIHJldHVybiBvcGVuKExvbmdGaWxlUGF0aChGaWxl TmFtZSksIE1vZGUsIEJ1ZmZlcikNCg0KKyAgICBFbmNvZGluZyA9IE5vbmUgaWYgJ2InIGluIE1v ZGUgZWxzZSAnbGF0aW4tMScNCg0KKyAgICByZXR1cm4gb3BlbihMb25nRmlsZVBhdGgoRmlsZU5h bWUpLCBNb2RlLCBCdWZmZXIsIEVuY29kaW5nKQ0KDQogDQoNCiBkZWYgQ29kZWNPcGVuTG9uZ0Zp bGVQYXRoKEZpbGVuYW1lLCBNb2RlPSdyYicsIEVuY29kaW5nPU5vbmUsIEVycm9ycz0nc3RyaWN0 JywgQnVmZmVyaW5nPTEpOg0KDQogICAgIHJldHVybiBjb2RlY3Mub3BlbihMb25nRmlsZVBhdGgo RmlsZW5hbWUpLCBNb2RlLCBFbmNvZGluZywgRXJyb3JzLCBCdWZmZXJpbmcpDQoNCi0tDQoyLjI0 LjAud2luZG93cy4yDQoNCg0KDQotPS09LT0tPS09LT0NCkdyb3Vwcy5pbyBMaW5rczogWW91IHJl Y2VpdmUgYWxsIG1lc3NhZ2VzIHNlbnQgdG8gdGhpcyBncm91cC4NClZpZXcvUmVwbHkgT25saW5l ICgjNjYzMTYpOiBodHRwczovL2VkazIuZ3JvdXBzLmlvL2cvZGV2ZWwvbWVzc2FnZS82NjMxNg0K TXV0ZSBUaGlzIFRvcGljOiBodHRwczovL2dyb3Vwcy5pby9tdC83NzU0NjEwNS81MDQ5MTkwDQpH cm91cCBPd25lcjogZGV2ZWwrb3duZXJAZWRrMi5ncm91cHMuaW8NClVuc3Vic2NyaWJlOiBodHRw czovL2VkazIuZ3JvdXBzLmlvL2cvZGV2ZWwvdW5zdWIgW2Zlbmd5dW5odWFAYnlvc29mdC5jb20u Y25dDQotPS09LT0tPS09LT0NCg0KDQoNCg0K