From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by spool.mail.gandi.net (Postfix) with ESMTPS id 665CC9413DB for ; Fri, 4 Aug 2023 07:17:25 +0000 (UTC) DKIM-Signature: a=rsa-sha256; bh=P8ZH7kpTmNf4IYhTpIst9OGSLF84ZDs6UsMHqY5vZCo=; c=relaxed/simple; d=groups.io; h=ARC-Seal:ARC-Message-Signature:ARC-Authentication-Results:From:To:CC:Subject:Thread-Topic:Thread-Index:Date:Message-ID:References:In-Reply-To:Accept-Language:MIME-Version:Precedence:List-Subscribe:List-Help:Sender:List-Id:Mailing-List:Delivered-To:Reply-To:List-Unsubscribe-Post:List-Unsubscribe:Content-Language:Content-Type:Content-Transfer-Encoding; s=20140610; t=1691133444; v=1; b=JjHmA3ARgm72WdY7b9IQ+NYojneoAFsFIDK2PydaXbcFOQJwOCk3Hsu6sQMNt4wY/ORMGJ6O b/xTGNg4CaX2oZOxZ6eANQ04kH4+/McQnJDV1BfK5NqA9qTfnSK0Gg7JKQVLZqS4c/RWfdzkGzW i8/xLKvHL7C5gRASnioOPIso= X-Received: by 127.0.0.2 with SMTP id xWGpYY7687511xNLdbwvD7Z4; Fri, 04 Aug 2023 00:17:24 -0700 X-Received: from mgamail.intel.com (mgamail.intel.com [134.134.136.65]) by mx.groups.io with SMTP id smtpd.web10.6433.1691133443020250772 for ; Fri, 04 Aug 2023 00:17:23 -0700 X-IronPort-AV: E=McAfee;i="6600,9927,10791"; a="373736911" X-IronPort-AV: E=Sophos;i="6.01,254,1684825200"; d="scan'208";a="373736911" X-Received: from orsmga007.jf.intel.com ([10.7.209.58]) by orsmga103.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 04 Aug 2023 00:17:17 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10791"; a="723534830" X-IronPort-AV: E=Sophos;i="6.01,254,1684825200"; d="scan'208";a="723534830" X-Received: from orsmsx603.amr.corp.intel.com ([10.22.229.16]) by orsmga007.jf.intel.com with ESMTP; 04 Aug 2023 00:17:17 -0700 X-Received: from orsmsx611.amr.corp.intel.com (10.22.229.24) by ORSMSX603.amr.corp.intel.com (10.22.229.16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.27; Fri, 4 Aug 2023 00:17:16 -0700 X-Received: from ORSEDG601.ED.cps.intel.com (10.7.248.6) by orsmsx611.amr.corp.intel.com (10.22.229.24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.27 via Frontend Transport; Fri, 4 Aug 2023 00:17:16 -0700 X-Received: from NAM04-DM6-obe.outbound.protection.outlook.com (104.47.73.44) by edgegateway.intel.com (134.134.137.102) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.27; Fri, 4 Aug 2023 00:17:16 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=FAsyHplnIsD1ARKihQhp064xNW3BwyguUiRJbTyej23QMNJ88MjxCMsqZem311sf3QgQwsXNq9OgtXd8eYJOBEC/eiCrSW0h3lgaZnVziwYP5xaOWeXt064F/+lhcrdpxj67v504csF1OhGQSJjOvnKkfuUB3VlWNTyBtF+/iv/woDRHusaIZf9OkmvAW/2wfW19xJdG8pMt65leBpgu7K09k99pw9Oaq/TaFVWEicvEn7J5Ph+JgObE8j67PUSYqT9WbUGv4LI+ITEP8IubLCDck8QF1ZGmrXqxsFWhrbPFndsffQ+wSEkeEVlg3+lD4yugE9WwqC1QJBEykONXYQ== 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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=WyQ4cMVO+mGHn5nVzaus2s+pjoZ/PlcTJoEr76CjQQ8=; b=aqe1h4NRXm1kQiB2CraSB6HPzRccB0jIxNyrBox4jMsOYqMIg6akMwQjbyB2hn5KR6aJlaXYgQR9wHdajHgeP/JxPF4IOFxv9UwCemjwZcyDOIBChMzisv2QgJVsOtyvMGBI075Z+OIKyBC78lZ0L/GisLCp8dyu2GT96Ff/dOzoKcwvYxf+JOTfVtiE9WG/ZgXXb4sd0LeIoFLamkQK762iWRdc/ED/OPpEIMpK87edjcvwo53BwjXmf0t4l5hVo1ULINtUe1EoxCjmnZm9FIWe9vrAFHVUvptQCfNHABEcszzPu2Fdd12wdUz6cGn+1ObpZrgZy+cQcvNXsYgQpA== 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 X-Received: from MN6PR11MB8242.namprd11.prod.outlook.com (2603:10b6:208:474::11) by MW6PR11MB8437.namprd11.prod.outlook.com (2603:10b6:303:249::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6631.47; Fri, 4 Aug 2023 07:17:08 +0000 X-Received: from MN6PR11MB8242.namprd11.prod.outlook.com ([fe80::669d:e74:3693:7622]) by MN6PR11MB8242.namprd11.prod.outlook.com ([fe80::669d:e74:3693:7622%7]) with mapi id 15.20.6631.046; Fri, 4 Aug 2023 07:17:08 +0000 From: "Dandan Bi" To: "Ni, Ray" , "devel@edk2.groups.io" , "Gao, Liming" , "Dong, Eric" , "Rothman, Michael A" CC: "Bi, Dandan" Subject: Re: [edk2-devel] [PATCH v2] MdeModulePkg/SetupBrowser: Load storage via GetVariable for EfiVarStore Thread-Topic: [edk2-devel] [PATCH v2] MdeModulePkg/SetupBrowser: Load storage via GetVariable for EfiVarStore Thread-Index: AQHZw0hzCpZ1TW3MiEyzRKWmWbjWMq/TUggggAMl+gCAAYu5QIABp+qAgAAETYCAAAxEIA== Date: Fri, 4 Aug 2023 07:17:08 +0000 Message-ID: References: <20230731004606.1740-1-dandan.bi@intel.com> <003b01d9c4ff$4a6f8f30$df4ead90$@byosoft.com.cn> In-Reply-To: Accept-Language: zh-CN, en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-publictraffictype: Email x-ms-traffictypediagnostic: MN6PR11MB8242:EE_|MW6PR11MB8437:EE_ x-ms-office365-filtering-correlation-id: 8f933bcc-da95-45e7-fbf4-08db94bad062 x-ld-processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam-message-info: BjVzTWQyuXY49rWWJHG5y85HqgJLEVuYEmk/bcg8JmPOdr3/PJwLUHJ897p9XmavZdao6xw/GR6tpH1+d3dlZbdsycD2Pf25aSNTl/EP/DeiIxvGlUKKKqusdO2MQu6in2IAiw6zS3Z64/Fud2Qavm1TkA6BK1gnGgK3Qh5lMJAPEGzIWlMPl8RC2EoJf7RRT4fxBuO+ViNYv+XnajT2CU2kS9BvC0y0nbuPyoJ4IkVDi42vH5ZvdFlDqVbsl61TAggqtirricO5hCSAZihSE+aaKwg8txfGF2FoO0MzbhQmK7Vp0Ssf4o7VZr/utq4I/bGrCz5xjJLE3MQz5z91/xehV7uyav9jw/sa2/8x+3b0GHUKwKmCXDMc63HAtBcog9Tx6BwkhwTJI+tk0mcbM0w0o9ItUgWrwf70bmX2nNK4u6qDaTiPwlrDVfKm2RO8L0jLR2YbpsnTITeykRXXr1QQd6xSnOegz92f9Hlxi6VWWy7R2Bz3538DEtfA3ZcBw1j/vTzgV6x4F5zthsySl+yA298m2+FB32HzHp0ymQsu7QaoCT/UzGJTQrhDn19PnWFoWxSkPk0FpckoXLPqUbxJeafAV6G1+d7J32Bw52tTaTQ6Uajf3WB1cAloEdfjsILkYpgRGWktZPeu2Z897g== x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?d2NlYnJqOG1KNk8yb3gzVHdFYnVEaHJRVjZET012S2RKWHFTejNOOEFNVEty?= =?utf-8?B?REJ0U044cjRpb1VBOGNGUXEwWVBVdm5peC9jL3V0K2pPTGdheUoxRmNnMGE0?= =?utf-8?B?Zmx1NHAzWnZoSS9ubUUxTjQ0N28wVjNKcEZTQ0dCd1plOER2L0xjblhnTGxS?= =?utf-8?B?RzZNYTBOQ3c3YVU2UVkvS05KSDRMQWt3WVE5SC84ZDdLRlNscW1TeTNuQjF5?= =?utf-8?B?eEQyb1BzOXo0RDJGbDNpa2lDSU54RGZsK3Q0cmt0T3g5N3E0K2hDU3lZM3Nx?= =?utf-8?B?aXJKUTFBMmFPWjF5U294WFBoMjMyQ1FuY3luZW01YkJsZWpITVl4WUZMa3kr?= =?utf-8?B?dTdwNFdBSHRreXo1S3c2bDFGUGJ1TUZ5WG5CUTdNNitiUDhoa3MveEZWK05U?= =?utf-8?B?V290SXVIRVRiMFgwWTZEblhUdzFINVVodnFwc2JHMUZYSmF5WjhwZmhEdWpl?= =?utf-8?B?ekhJR01vSy9RZjU4YmhucVlDL0pLRWxwY0o5N2lkNVpUMDlJNkJNbG0wNmsz?= =?utf-8?B?R21qRHNKWUF3MEQwNEpGZjNDTlprV3hUN2pnejZCcGgwcllhZWNOVTZXd0Jl?= =?utf-8?B?RlNCeitvclQ5dldjUUU4WnkyWWpqQ3dBbWFycStJdHlkN3MzbHVmTUY2Y0hL?= =?utf-8?B?Vm5XUlBuNnczS0RPMHBMcVk1dERrOXVtN1pETVdzQ2hQRmwwUHMrZVNoTDV1?= =?utf-8?B?K3hjT0lIVjRSdXliYmwvdDdjT0t4eDJnd0pobDFzUkMrUGpuZTZrVDcxTGdL?= =?utf-8?B?MGJEU3pWQnMySmVtVDRLalF2K0RxVkwvb0FpN1RjTW9NSnVFdnRFTUZ6dStG?= =?utf-8?B?SnJSWDZSQ2pkV2lDM1ZzK0lWeG85QVdkS01HdGliTXR5MFFvbUZkSm5uSnFL?= =?utf-8?B?STF4S0FPTXIzeVhGN0ZYTXdDQlQwT2hreElsdExqZnorOFJTbTloOGhDalZl?= =?utf-8?B?djlKTG5CcGM3R3ZCbHBGL0txWGVOR2pLUnlOenkyekZiTUxDR0Q5dTMzc1F5?= =?utf-8?B?RDUwcldaOVVCTk9MMml6N05yUGNlQnlTSFVRV28yQzJVUEpaeHFWc3hTTkJM?= =?utf-8?B?cURLTUljOU5FSEtmaUdQYkFwcUIrTS94UjE5Z0txRzFpUzljNEJIM3JMTXNJ?= =?utf-8?B?K3kwZWcreTJNeGRTQTM3cXlpRHdnQ2JOOWs0TkdPeHdkUHhrcGdRZm9qcitz?= =?utf-8?B?YVlFaDFCb3VaQ3AvYW1ZT2RGZTE5U3BxV2dRU2pvYzE0bVc5R1RGY2dJcXlU?= =?utf-8?B?SXpMSHYvZGFXOUxNZG1CZTJ3ejhTc2l4YnpjOUMzcFhLaTUydU9INlZYVGVX?= =?utf-8?B?THYzd00wbDFtcWZqL0pMcGpyZ1NQWGlZWGxWeEd6WFVzOUlKd3BJV3RiNVBa?= =?utf-8?B?TXpnSnAvUkdBeU5KcWNuRkVOUzZHdmo2MXhVdGJDa1gvNFZTOGxvWjIva2Vk?= =?utf-8?B?REQyc2dJWDcxY2dFdHVFR0ZhdUU0TFpLWUxYKy8xRjRTUGJ3SW5IVlQwMFZs?= =?utf-8?B?eWJ0Z2x2R0tsRVlmYVNTVi9rYlZQOXFtczJaSm5EWUp3VEUyY0JCZEFueVJ3?= =?utf-8?B?VkRHa1RwZTU0aTloZkxlYldPVUphNnRqVEc2MlMzaGtGUGh4ZDFGbzF6czZq?= =?utf-8?B?L3VuS1YrSWdENnFnQWRiQXF6VkpMT1Nrc0FHUWVDNDBySWt2V01tWmpIcGc1?= =?utf-8?B?ckFtbEVYOGE1TnhhMnNqZUxYTHJmT0I0MzBWWSs1VlR3QXI3b3RIMDBtcE5k?= =?utf-8?B?L3AwLzJEMjFWWVFlbFpZcTBoVjBrNk1TQis4eVpmWVJDQ1NIWm1lSDViSUMy?= =?utf-8?B?aDQ1eVRidGFJZit4VUkxTVFnbW9WQ3F2NWhlOVpwQkQ4NlpUZE1xOFFjZWhU?= =?utf-8?B?emxKR1Y1dXovSUkxcm0wSHdwYnpLRTRHSnliQ2R0M2pnOExTK2ZBUjBvUkRu?= =?utf-8?B?QzBCRXIyUlRWL1UzWUZIRWQvaitrWDdudnJNUEpMQkpPRExIQVUyU3JmOWts?= =?utf-8?B?VmtSQkRxeUpjNFgzZWgwR2tQWU54RVZzS0dDaE5pZE5CU3dCSEVqR2VKaE9C?= =?utf-8?B?Mk9XY2hPRkZWamRjUDdvUStpMWl1SWVLalpseWtXKzkvVWhxN0FUbENFUTgz?= =?utf-8?Q?e1cXoshHcwPqk9Tfg/gVR6jzl?= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: MN6PR11MB8242.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 8f933bcc-da95-45e7-fbf4-08db94bad062 X-MS-Exchange-CrossTenant-originalarrivaltime: 04 Aug 2023 07:17:08.3775 (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: A3liEbHY6VejK0PpsC1BoqDtS5T6iGGMKEH/pl+SAUdmKWPM4Zgea1dMCDoyzvRN8pt5OXzbfQfc+Phdxm+2YA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW6PR11MB8437 X-OriginatorOrg: intel.com Precedence: Bulk List-Subscribe: List-Help: Sender: devel@edk2.groups.io List-Id: Mailing-List: list devel@edk2.groups.io; contact devel+owner@edk2.groups.io Reply-To: devel@edk2.groups.io,dandan.bi@intel.com List-Unsubscribe-Post: List-Unsubscribe=One-Click List-Unsubscribe: X-Gm-Message-State: 0Gp54xtw5A8q1RjUZ7YzVxsNx7686176AA= Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 X-GND-Status: LEGIT Authentication-Results: spool.mail.gandi.net; dkim=pass header.d=groups.io header.s=20140610 header.b=JjHmA3AR; dmarc=fail reason="SPF not aligned (relaxed), DKIM not aligned (relaxed)" header.from=intel.com (policy=none); spf=pass (spool.mail.gandi.net: domain of bounce@groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce@groups.io SGkgUmF5LA0KDQpGb3IgdmFyc3RvcmUgb2YgRUZJX0hJSV9WQVJTVE9SRV9FRklfVkFSSUFCTEVf QlVGRkVSLCB3aGVuIFNldHVwQnJvd3NlciBsb2FkIHRoZSB2YWx1ZSBmcm9tIHZhcmlhYmxlLCBp dCB3aWxsIG5vdCBjYWxsIGludG8gSGlpQ29uZmlnQWNjZXNzIHByb3RvY29sLg0KQmVmb3JlIHRo aXMgY2hhbmdlLCBpdCB3aWxsIGNhbGwgSGlpQ29uZmlnUm91dGluZyBwcm90b2NvbCBpbiBIaWlE YXRhYmFzZSwgYW5kIEhpaURhdGFiYXNlIHdpbGwgYWxzbyBjYWxsIEdldFZhcmlhYmxlIGRpcmVj dGx5LCBkb2VzIG5vdCByb3V0ZSB0byBISUkgZHJpdmVyLg0KU28gd2l0aCB0aGlzIGNoYW5nZSwg aXQgd2lsbCBub3QgY2F1c2UgYW55IGZsZXhpYmlsaXR5IGxvc3QgaW4gSGlpQ29uZmlnQWNjZXNz IGltcGxlbWVudGF0aW9uIHdpdGhpbiBlYWNoIEhJSSBEcml2ZXIuDQoNCkJlZm9yZSB0aGlzIGNo YW5nZToNCkxvYWRTdG9yYWdlIChjYWxsZWQgYnkgU2V0dXBCcm93c2VyRHhlKSAtPkV4dHJhY3RD b25maWcgKGNhbGxlZCBieSBTZXR1cEJyb3dzZXJEeGUpIC0+R2V0VmFyaWFibGUoY2FsbGVkIGJ5 IEhpaURhdGFiYXNlKSAtPkhpaUJsb2NrVG9Db25maWcoY2FsbGVkIGJ5IEhpaURhdGFiYXNlKSAt PkNvbmZpZ1RvQmxvY2sgKGNhbGxlZCBieSBTZXR1cEJyb3dzZXJEeGUpDQoNCldpdGggdGhpcyBj aGFuZ2U6DQpMb2FkU3RvcmFnZSAoY2FsbGVkIGJ5IFNldHVwQnJvd3NlckR4ZSkgLT5HZXRWYXJp YWJsZSAoY2FsbGVkIGJ5IFNldHVwQnJvd3NlckR4ZSkNCg0KDQoNClRoYW5rcywNCkRhbmRhbg0K LS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCkZyb206IE5pLCBSYXkgPHJheS5uaUBpbnRlbC5j b20+IA0KU2VudDogRnJpZGF5LCBBdWd1c3QgNCwgMjAyMyAyOjE3IFBNDQpUbzogZGV2ZWxAZWRr Mi5ncm91cHMuaW87IEJpLCBEYW5kYW4gPGRhbmRhbi5iaUBpbnRlbC5jb20+OyBHYW8sIExpbWlu ZyA8Z2FvbGltaW5nQGJ5b3NvZnQuY29tLmNuPjsgRG9uZywgRXJpYyA8ZXJpYy5kb25nQGludGVs LmNvbT47IFJvdGhtYW4sIE1pY2hhZWwgQSA8bWljaGFlbC5hLnJvdGhtYW5AaW50ZWwuY29tPg0K U3ViamVjdDogUkU6IFtlZGsyLWRldmVsXSBbUEFUQ0ggdjJdIE1kZU1vZHVsZVBrZy9TZXR1cEJy b3dzZXI6IExvYWQgc3RvcmFnZSB2aWEgR2V0VmFyaWFibGUgZm9yIEVmaVZhclN0b3JlDQoNClRo ZSBzcGVjaWZpYyBhc2sgaXM6IGRvZXMgdGhlIGNoYW5nZSBjYXVzZSBhbnkgZmxleGliaWxpdHkg bG9zdCBpbiBIaWlDb25maWdBY2Nlc3MgaW1wbGVtZW50YXRpb24/IEUuZy46IHNvbWV0aGluZyB3 YXMgcG9zc2libGUgdG8gYmUgZG9uZSBpbiBIaWlDb25maWdBY2Nlc3MgaW1wbGVtZW50YXRpb24g ZXZlbiBmb3IgZWZpdmFyc3RvcmUgYnV0IGNhbm5vdCBiZSBkb25lIHdpdGggdGhpcyBjaGFuZ2Uu DQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogTmksIFJheQ0KPiBTZW50 OiBGcmlkYXksIEF1Z3VzdCA0LCAyMDIzIDI6MDEgUE0NCj4gVG86IGRldmVsQGVkazIuZ3JvdXBz LmlvOyBCaSwgRGFuZGFuIDxkYW5kYW4uYmlAaW50ZWwuY29tPjsgR2FvLCANCj4gTGltaW5nIDxn YW9saW1pbmdAYnlvc29mdC5jb20uY24+OyBEb25nLCBFcmljIDxlcmljLmRvbmdAaW50ZWwuY29t PjsgDQo+IFJvdGhtYW4sIE1pY2hhZWwgQSA8bWljaGFlbC5hLnJvdGhtYW5AaW50ZWwuY29tPg0K PiBTdWJqZWN0OiBSRTogW2VkazItZGV2ZWxdIFtQQVRDSCB2Ml0gTWRlTW9kdWxlUGtnL1NldHVw QnJvd3NlcjogTG9hZCANCj4gc3RvcmFnZSB2aWEgR2V0VmFyaWFibGUgZm9yIEVmaVZhclN0b3Jl DQo+IA0KPiArIEBSb3RobWFuLCBNaWNoYWVsIEEgd2hvIGRlc2lnbmVkIFVFRkkgSElJLg0KPiAN Cj4gVGhlIHBhdGNoIG1vdmVzIHRoZSB2YXJpYWJsZSBhY2Nlc3MgZnJvbSBpbXBsZW1lbnRhdGlv biBvZiANCj4gQ29uZmlnQWNjZXNzIHByb3RvY29sIHRvIFNldHVwIGRyaXZlciBmb3IgZWZpdmFy c3RvcmUuDQo+IElzIGl0IGEgdmFsaWQgYXNzdW1wdGlvbj8NCj4gDQo+IFRoYW5rcywNCj4gUmF5 DQo+IA0KPiA+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ID4gRnJvbTogZGV2ZWxAZWRr Mi5ncm91cHMuaW8gPGRldmVsQGVkazIuZ3JvdXBzLmlvPiBPbiBCZWhhbGYgT2YgDQo+ID4gRGFu ZGFuIEJpDQo+ID4gU2VudDogVGh1cnNkYXksIEF1Z3VzdCAzLCAyMDIzIDEyOjUzIFBNDQo+ID4g VG86IEdhbywgTGltaW5nIDxnYW9saW1pbmdAYnlvc29mdC5jb20uY24+OyBEb25nLCBFcmljIA0K PiA+IDxlcmljLmRvbmdAaW50ZWwuY29tPjsgZGV2ZWxAZWRrMi5ncm91cHMuaW8NCj4gPiBTdWJq ZWN0OiBSZTogW2VkazItZGV2ZWxdIFtQQVRDSCB2Ml0gTWRlTW9kdWxlUGtnL1NldHVwQnJvd3Nl cjogTG9hZCANCj4gPiBzdG9yYWdlIHZpYSBHZXRWYXJpYWJsZSBmb3IgRWZpVmFyU3RvcmUNCj4g Pg0KPiA+IEhpIExpbWluZywNCj4gPg0KPiA+IFllcywgd2l0aCB0aGlzIGNoYW5nZSwgdGhlIHBl cmZvcm1hbmNlIGlzIGJldHRlciB0aGFuIGJlZm9yZS4NCj4gPiBFc3BlY2lhbGx5IGZvciB0aGUg YmlnIGZvcm1zZXQgd2l0aCBsb3RzIG9mIGNvbmZpZ3VyYXRpb24sIGl0IGhhcyANCj4gPiBiZXR0 ZXIgdXNlIGV4cGVyaWVuY2Ugd2hlbiBsb2FkaW5nIHRoZSBmb3Jtc2V0IHRvIGRpc3BsYXkuDQo+ ID4NCj4gPiBDb3VsZCB5b3UgaGVscCByZXZpZXcgdGhpcyBwYXRjaD8gVGhhbmtzLg0KPiA+DQo+ ID4NCj4gPiBUaGFua3MsDQo+ID4gRGFuZGFuDQo+ID4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0t LS0NCj4gPiBGcm9tOiBnYW9saW1pbmcgPGdhb2xpbWluZ0BieW9zb2Z0LmNvbS5jbj4NCj4gPiBT ZW50OiBXZWRuZXNkYXksIEF1Z3VzdCAyLCAyMDIzIDE6MDggUE0NCj4gPiBUbzogRG9uZywgRXJp YyA8ZXJpYy5kb25nQGludGVsLmNvbT47IEJpLCBEYW5kYW4gDQo+ID4gPGRhbmRhbi5iaUBpbnRl bC5jb20+OyBkZXZlbEBlZGsyLmdyb3Vwcy5pbw0KPiA+IFN1YmplY3Q6IOWbnuWkjTogW1BBVENI IHYyXSBNZGVNb2R1bGVQa2cvU2V0dXBCcm93c2VyOiBMb2FkIHN0b3JhZ2UgdmlhIA0KPiA+IEdl dFZhcmlhYmxlIGZvciBFZmlWYXJTdG9yZQ0KPiA+DQo+ID4gRGFuZGFuOg0KPiA+ICAgSGF2ZSB5 b3UgY29sbGVjdGVkIHRoZSBwZXJmb3JtYW5jZSBkYXRhIGZvciB0aGlzIGVuaGFuY2VtZW50PyBJ cyANCj4gPiB0aGUgdXBkYXRlZCBvbmUgYmV0dGVyIHRoYW4gYmVmb3JlPw0KPiA+DQo+ID4gVGhh bmtzDQo+ID4gTGltaW5nDQo+ID4gPiAtLS0tLemCruS7tuWOn+S7ti0tLS0tDQo+ID4gPiDlj5Hk u7bkuro6IERvbmcsIEVyaWMgPGVyaWMuZG9uZ0BpbnRlbC5jb20+DQo+ID4gPiDlj5HpgIHml7bp l7Q6IDIwMjPlubQ35pyIMzHml6UgMTM6MDQNCj4gPiA+IOaUtuS7tuS6ujogQmksIERhbmRhbiA8 ZGFuZGFuLmJpQGludGVsLmNvbT47IGRldmVsQGVkazIuZ3JvdXBzLmlvDQo+ID4gPiDmioTpgIE6 IEdhbywgTGltaW5nIDxnYW9saW1pbmdAYnlvc29mdC5jb20uY24+DQo+ID4gPiDkuLvpopg6IFJF OiBbUEFUQ0ggdjJdIE1kZU1vZHVsZVBrZy9TZXR1cEJyb3dzZXI6IExvYWQgc3RvcmFnZSB2aWEg DQo+ID4gPiBHZXRWYXJpYWJsZSBmb3IgRWZpVmFyU3RvcmUNCj4gPiA+DQo+ID4gPiBSZXZpZXdl ZC1ieTogRXJpYyBEb25nIDxlcmljLmRvbmdAaW50ZWwuY29tPg0KPiA+ID4NCj4gPiA+IC0tLS0t T3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ID4gPiBGcm9tOiBCaSwgRGFuZGFuIDxkYW5kYW4uYmlA aW50ZWwuY29tPg0KPiA+ID4gU2VudDogTW9uZGF5LCBKdWx5IDMxLCAyMDIzIDg6NDYgQU0NCj4g PiA+IFRvOiBkZXZlbEBlZGsyLmdyb3Vwcy5pbw0KPiA+ID4gQ2M6IEdhbywgTGltaW5nIDxnYW9s aW1pbmdAYnlvc29mdC5jb20uY24+OyBEb25nLCBFcmljIA0KPiA+ID4gPGVyaWMuZG9uZ0BpbnRl bC5jb20+DQo+ID4gPiBTdWJqZWN0OiBbUEFUQ0ggdjJdIE1kZU1vZHVsZVBrZy9TZXR1cEJyb3dz ZXI6IExvYWQgc3RvcmFnZSB2aWEgDQo+ID4gPiBHZXRWYXJpYWJsZSBmb3IgRWZpVmFyU3RvcmUN Cj4gPiA+DQo+ID4gPiBGb3IgRWZpVmFyU3RvcmUgKEVGSV9ISUlfVkFSU1RPUkVfRUZJX1ZBUklB QkxFX0JVRkZFUiksIGl0IHdpbGwgDQo+ID4gPiBjYWxsIEV4dHJhY3RDb25maWctR2V0VmFyaWFi bGUtSGlpQmxvY2tUb0NvbmZpZy1Db25maWdUb0Jsb2NrIHdoZW4gDQo+ID4gPiBsb2FkIHN0b3Jh Z2UgdmFsdWUgaW4gTG9hZFN0b3JhZ2UgZnVuY3Rpb24uIEl0J3Mgbm90IG5lY2Vzc2FyeSBhbmQg DQo+ID4gPiBjb3N0cyBsb3RzIG9mIHRpbWUNCj4gPiB0byBkbw0KPiA+ID4gdGhlIGNvbnZlcnNp b24gYmV0d2VlbiBjb25maWcgYW5kIGJsb2NrLg0KPiA+ID4gU28gbm93IGVuaGFuY2UgaXQgdG8g Y2FsbCBHZXRWYXJpYWJsZSBkaXJlY3RseS4NCj4gPiA+DQo+ID4gPiBDYzogTGltaW5nIEdhbyA8 Z2FvbGltaW5nQGJ5b3NvZnQuY29tLmNuPg0KPiA+ID4gQ2M6IEVyaWMgRG9uZyA8ZXJpYy5kb25n QGludGVsLmNvbT4NCj4gPiA+IFNpZ25lZC1vZmYtYnk6IERhbmRhbiBCaSA8ZGFuZGFuLmJpQGlu dGVsLmNvbT4NCj4gPiA+IC0tLQ0KPiA+ID4gdjI6IEZpeCBjb2Rpbmcgc3R5bGUgaXNzdWUuDQo+ ID4gPg0KPiA+ID4gIC4uLi9Vbml2ZXJzYWwvU2V0dXBCcm93c2VyRHhlL1NldHVwLmMgICAgICAg ICB8IDU0ICsrKysrKysrKysrLS0tLS0tLS0NCj4gPiA+ICAxIGZpbGUgY2hhbmdlZCwgMzIgaW5z ZXJ0aW9ucygrKSwgMjIgZGVsZXRpb25zKC0pDQo+ID4gPg0KPiA+ID4gZGlmZiAtLWdpdCBhL01k ZU1vZHVsZVBrZy9Vbml2ZXJzYWwvU2V0dXBCcm93c2VyRHhlL1NldHVwLmMNCj4gPiA+IGIvTWRl TW9kdWxlUGtnL1VuaXZlcnNhbC9TZXR1cEJyb3dzZXJEeGUvU2V0dXAuYw0KPiA+ID4gaW5kZXgg NTE1OGJhZjViZC4uMmY3YjExYjFhYSAxMDA2NDQNCj4gPiA+IC0tLSBhL01kZU1vZHVsZVBrZy9V bml2ZXJzYWwvU2V0dXBCcm93c2VyRHhlL1NldHVwLmMNCj4gPiA+ICsrKyBiL01kZU1vZHVsZVBr Zy9Vbml2ZXJzYWwvU2V0dXBCcm93c2VyRHhlL1NldHVwLmMNCj4gPiA+IEBAIC01NjM0LDMyICs1 NjM0LDQyIEBAIExvYWRTdG9yYWdlICgNCj4gPiA+ICAgICAgQ29uZmlnUmVxdWVzdCA9IFN0b3Jh Z2UtPkNvbmZpZ1JlcXVlc3Q7DQo+ID4gPiAgICB9DQo+ID4gPg0KPiA+ID4gLSAgLy8NCj4gPiA+ IC0gIC8vIFJlcXVlc3QgY3VycmVudCBzZXR0aW5ncyBmcm9tIENvbmZpZ3VyYXRpb24gRHJpdmVy DQo+ID4gPiAtICAvLw0KPiA+ID4gLSAgU3RhdHVzID0gbUhpaUNvbmZpZ1JvdXRpbmctPkV4dHJh Y3RDb25maWcgKA0KPiA+ID4gLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbUhpaUNv bmZpZ1JvdXRpbmcsDQo+ID4gPiAtICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDb25m aWdSZXF1ZXN0LA0KPiA+ID4gLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJlByb2dy ZXNzLA0KPiA+ID4gLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJlJlc3VsdA0KPiA+ ID4gLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKTsNCj4gPiA+IC0NCj4gPiA+IC0g IC8vDQo+ID4gPiAtICAvLyBJZiBnZXQgdmFsdWUgZmFpbCwgZXh0cmFjdCBkZWZhdWx0IGZyb20g SUZSIGJpbmFyeQ0KPiA+ID4gLSAgLy8NCj4gPiA+IC0gIGlmIChFRklfRVJST1IgKFN0YXR1cykp IHsNCj4gPiA+IC0gICAgRXh0cmFjdERlZmF1bHQgKEZvcm1TZXQsIE5VTEwsIEVGSV9ISUlfREVG QVVMVF9DTEFTU19TVEFOREFSRCwNCj4gPiA+IEZvcm1TZXRMZXZlbCwgR2V0RGVmYXVsdEZvclN0 b3JhZ2UsIFN0b3JhZ2UtPkJyb3dzZXJTdG9yYWdlLCBUUlVFLCANCj4gPiA+IFRSVUUpOw0KPiA+ ID4gLSAgfSBlbHNlIHsNCj4gPiA+ICsgIGlmIChTdG9yYWdlLT5Ccm93c2VyU3RvcmFnZS0+VHlw ZSA9PQ0KPiA+ID4gKyBFRklfSElJX1ZBUlNUT1JFX0VGSV9WQVJJQUJMRV9CVUZGRVIpIHsNCj4g PiA+ICAgICAgLy8NCj4gPiA+IC0gICAgLy8gQ29udmVydCBSZXN1bHQgZnJvbSA8Q29uZmlnQWx0 UmVzcD4gdG8gPENvbmZpZ1Jlc3A+DQo+ID4gPiArICAgIC8vIENhbGwgR2V0VmFyaWFibGUgZGly ZWN0bHkgZm9yIEVmaVZhclN0b3JlDQo+ID4gPiAgICAgIC8vDQo+ID4gPiAtICAgIFN0clB0ciA9 IFN0clN0ciAoUmVzdWx0LCBMIiZHVUlEPSIpOw0KPiA+ID4gLSAgICBpZiAoU3RyUHRyICE9IE5V TEwpIHsNCj4gPiA+IC0gICAgICAqU3RyUHRyID0gTCdcMCc7DQo+ID4gPiArICAgIFN0YXR1cyA9 IGdSVC0+R2V0VmFyaWFibGUgKFN0b3JhZ2UtPkJyb3dzZXJTdG9yYWdlLT5OYW1lLA0KPiA+ID4g JihTdG9yYWdlLT5Ccm93c2VyU3RvcmFnZS0+R3VpZCksIE5VTEwsIChVSU5UTiANCj4gPiA+ICop KCYoU3RvcmFnZS0+QnJvd3NlclN0b3JhZ2UtPlNpemUpKSwNCj4gPiA+IFN0b3JhZ2UtPkJyb3dz ZXJTdG9yYWdlLT5FZGl0QnVmZmVyKTsNCj4gPiA+ICsgICAgaWYgKEVGSV9FUlJPUiAoU3RhdHVz KSkgew0KPiA+ID4gKyAgICAgIEV4dHJhY3REZWZhdWx0IChGb3JtU2V0LCBOVUxMLA0KPiA+ID4g RUZJX0hJSV9ERUZBVUxUX0NMQVNTX1NUQU5EQVJELA0KPiA+ID4gKyBGb3JtU2V0TGV2ZWwsIEdl dERlZmF1bHRGb3JTdG9yYWdlLCBTdG9yYWdlLT5Ccm93c2VyU3RvcmFnZSwgDQo+ID4gPiArIFRS VUUsIFRSVUUpOw0KPiA+ID4gICAgICB9DQo+ID4gPiArICB9IGVsc2Ugew0KPiA+ID4gKyAgICAv Lw0KPiA+ID4gKyAgICAvLyBSZXF1ZXN0IGN1cnJlbnQgc2V0dGluZ3MgZnJvbSBDb25maWd1cmF0 aW9uIERyaXZlcg0KPiA+ID4gKyAgICAvLw0KPiA+ID4gKyAgICBTdGF0dXMgPSBtSGlpQ29uZmln Um91dGluZy0+RXh0cmFjdENvbmZpZyAoDQo+ID4gPiArICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIG1IaWlDb25maWdSb3V0aW5nLA0KPiA+ID4gKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBDb25maWdSZXF1ZXN0LA0KPiA+ID4gKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAmUHJvZ3Jlc3MsDQo+ID4gPiArICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICZSZXN1bHQNCj4gPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgKTsNCj4gPiA+DQo+ID4gPiAtICAgIFN0YXR1cyA9IENvbmZpZ1Jlc3BUb1N0b3JhZ2UgKFN0 b3JhZ2UtPkJyb3dzZXJTdG9yYWdlLCBSZXN1bHQpOw0KPiA+ID4gLSAgICBGcmVlUG9vbCAoUmVz dWx0KTsNCj4gPiA+ICsgICAgLy8NCj4gPiA+ICsgICAgLy8gSWYgZ2V0IHZhbHVlIGZhaWwsIGV4 dHJhY3QgZGVmYXVsdCBmcm9tIElGUiBiaW5hcnkNCj4gPiA+ICsgICAgLy8NCj4gPiA+ICsgICAg aWYgKEVGSV9FUlJPUiAoU3RhdHVzKSkgew0KPiA+ID4gKyAgICAgIEV4dHJhY3REZWZhdWx0IChG b3JtU2V0LCBOVUxMLCANCj4gPiA+ICsgRUZJX0hJSV9ERUZBVUxUX0NMQVNTX1NUQU5EQVJELA0K PiA+ID4gRm9ybVNldExldmVsLCBHZXREZWZhdWx0Rm9yU3RvcmFnZSwgU3RvcmFnZS0+QnJvd3Nl clN0b3JhZ2UsIFRSVUUsIA0KPiA+ID4gVFJVRSk7DQo+ID4gPiArICAgIH0gZWxzZSB7DQo+ID4g PiArICAgICAgLy8NCj4gPiA+ICsgICAgICAvLyBDb252ZXJ0IFJlc3VsdCBmcm9tIDxDb25maWdB bHRSZXNwPiB0byA8Q29uZmlnUmVzcD4NCj4gPiA+ICsgICAgICAvLw0KPiA+ID4gKyAgICAgIFN0 clB0ciA9IFN0clN0ciAoUmVzdWx0LCBMIiZHVUlEPSIpOw0KPiA+ID4gKyAgICAgIGlmIChTdHJQ dHIgIT0gTlVMTCkgew0KPiA+ID4gKyAgICAgICAgKlN0clB0ciA9IEwnXDAnOw0KPiA+ID4gKyAg ICAgIH0NCj4gPiA+ICsNCj4gPiA+ICsgICAgICBTdGF0dXMgPSBDb25maWdSZXNwVG9TdG9yYWdl IChTdG9yYWdlLT5Ccm93c2VyU3RvcmFnZSwgUmVzdWx0KTsNCj4gPiA+ICsgICAgICBGcmVlUG9v bCAoUmVzdWx0KTsNCj4gPiA+ICsgICAgfQ0KPiA+ID4gICAgfQ0KPiA+ID4NCj4gPiA+ICAgIFN0 b3JhZ2UtPkJyb3dzZXJTdG9yYWdlLT5Db25maWdSZXF1ZXN0ID0gQWxsb2NhdGVDb3B5UG9vbCAN Cj4gPiA+IChTdHJTaXplIChTdG9yYWdlLT5Db25maWdSZXF1ZXN0KSwgU3RvcmFnZS0+Q29uZmln UmVxdWVzdCk7DQo+ID4gPiAtLQ0KPiA+ID4gMi4zOS4xLndpbmRvd3MuMQ0KPiA+DQo+ID4NCj4g Pg0KPiA+DQo+ID4NCj4gPiANCj4gPg0KDQoNCgotPS09LT0tPS09LT0tPS09LT0tPS09LQpHcm91 cHMuaW8gTGlua3M6IFlvdSByZWNlaXZlIGFsbCBtZXNzYWdlcyBzZW50IHRvIHRoaXMgZ3JvdXAu ClZpZXcvUmVwbHkgT25saW5lICgjMTA3NTYzKTogaHR0cHM6Ly9lZGsyLmdyb3Vwcy5pby9nL2Rl dmVsL21lc3NhZ2UvMTA3NTYzCk11dGUgVGhpcyBUb3BpYzogaHR0cHM6Ly9ncm91cHMuaW8vbXQv MTAwNTIwNzI0Lzc2ODYxNzYKR3JvdXAgT3duZXI6IGRldmVsK293bmVyQGVkazIuZ3JvdXBzLmlv ClVuc3Vic2NyaWJlOiBodHRwczovL2VkazIuZ3JvdXBzLmlvL2cvZGV2ZWwvdW5zdWIgW3JlYmVj Y2FAb3BlbmZ3LmlvXQotPS09LT0tPS09LT0tPS09LT0tPS09LQoKDQo=