From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by mx.groups.io with SMTP id smtpd.web11.4405.1614762922573900761 for ; Wed, 03 Mar 2021 01:15:23 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=@intel.onmicrosoft.com header.s=selector2-intel-onmicrosoft-com header.b=vnNBRv2l; spf=pass (domain: intel.com, ip: 134.134.136.24, mailfrom: ray.ni@intel.com) IronPort-SDR: wIA/ywTiyCa+9CtIibZ6NNPcs+CJaO7vwo2OZ6fZEoI2bA0HY1MWXIsgYs3I0JvlSBZbu33Vxf NM/3TmI0mt9A== X-IronPort-AV: E=McAfee;i="6000,8403,9911"; a="187265269" X-IronPort-AV: E=Sophos;i="5.81,219,1610438400"; d="scan'208";a="187265269" Received: from fmsmga008.fm.intel.com ([10.253.24.58]) by orsmga102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 03 Mar 2021 01:15:16 -0800 IronPort-SDR: UGJaYKxPBQVg7oWL7rYBzyWWuH45fju9xCmG3hiyRdUgCbJO+brIAI+k/pgD2wnFOyQ/JJLR7n sguiJPUxw5XA== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.81,219,1610438400"; d="scan'208";a="399632210" Received: from fmsmsx605.amr.corp.intel.com ([10.18.126.85]) by fmsmga008.fm.intel.com with ESMTP; 03 Mar 2021 01:15:15 -0800 Received: from fmsmsx609.amr.corp.intel.com (10.18.126.89) by fmsmsx605.amr.corp.intel.com (10.18.126.85) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2106.2; Wed, 3 Mar 2021 01:15:15 -0800 Received: from fmsmsx612.amr.corp.intel.com (10.18.126.92) by fmsmsx609.amr.corp.intel.com (10.18.126.89) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2106.2; Wed, 3 Mar 2021 01:15:15 -0800 Received: from fmsedg602.ED.cps.intel.com (10.1.192.136) by fmsmsx612.amr.corp.intel.com (10.18.126.92) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2106.2 via Frontend Transport; Wed, 3 Mar 2021 01:15:15 -0800 Received: from NAM10-MW2-obe.outbound.protection.outlook.com (104.47.55.108) by edgegateway.intel.com (192.55.55.71) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2106.2; Wed, 3 Mar 2021 01:15:15 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=oBJVtCcpgJ+jW8iidyxm/xjRsqpcFHJBpRdMC8eLO8eSIGjUt0tkfQK+zaWVbzVCT1t97TY8UXgnZCzprTKxcr9W/+8mMr+3jeZwc5dZ1srZhTHQkgwPNCBOjxbUwesRz2PTmvObZSGcJdgVzoVtCMcLC5jyt2mGKjrjiirG6NInBgbhUr6zAb86YWrwUMtto4FvKD1s0OK9OtihpRMh/P00QqnpjB/LaIlQXnaq8NLPt+KH4t/kCetIZnfwDjAvHVehf3Pguz/0Y1/GWvNDjZYQGVWG/QgFVK2GnMSe6yJLPQ0i60014kdH58GrHK0XWqv9Glq/hMuOaNq031VV6Q== 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=aEudf88fNQLffcW96fN172xXc1q0XdFMYTk4vdawgOw=; b=HJWHSRO//zlAhV4zIkkKarZMkAE/JGKZDul/LEPOSIYec/y9dQyXdG3qkM1+kbF7L8irOuHR8BjfQL9SQvBDmcIYh9kDH/GubkdmfZmeB/qfTkIvgkfv3o0fPAhWtIiQMlUrIG13kzD/68W7fqNWoGjCqE6WCx0tWNGm/LHj3lfuQ0p39IqtqbMsjR45FvabjCsM34lNs9bo351hgF7/5rUgl2UsGJ/I2nh806joMIWGd5v/dwR/ZxzB8z/gZ3K/3wTKMEMIVrzK8FuMqN8/tZwkWtq7vqdxrj/YovqpusgLgMdiIXj6urfs791s/wydSVKfbvPBJiPKyCsLlTy0Lg== 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=aEudf88fNQLffcW96fN172xXc1q0XdFMYTk4vdawgOw=; b=vnNBRv2lmUtjd8sYmM6s5da44f9Df8turGJiAbH5qsUu/fHGBBmgBItEpwCeeBGHxbjroC/EkCpQAu+O7mz6xWZg3SPSQEOYCwTH9By6em7fg+Ke86yPV4KM5I9q0nlI8O719IgAC+VDqAxKT1lNa6b1ag4u8lrnI0O3lmqlWvI= Received: from CO1PR11MB4930.namprd11.prod.outlook.com (2603:10b6:303:9b::11) by CO1PR11MB4884.namprd11.prod.outlook.com (2603:10b6:303:6c::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3890.23; Wed, 3 Mar 2021 09:15:14 +0000 Received: from CO1PR11MB4930.namprd11.prod.outlook.com ([fe80::8d64:91ed:c259:e95]) by CO1PR11MB4930.namprd11.prod.outlook.com ([fe80::8d64:91ed:c259:e95%7]) with mapi id 15.20.3890.028; Wed, 3 Mar 2021 09:15:14 +0000 From: "Ni, Ray" To: Patrick Rudolph CC: "devel@edk2.groups.io" , "Chaganty, Rangasai V" , "Bi, Dandan" , "Zeng, Star" , "Gao, Zhichao" , "You, Benjamin" , "philipp.deppenwiese@9elements.com" , "Ma, Maurice" , "Dong, Guo" Subject: Re: [edk2-devel] [PATCH - resend] MdeModulePkg/Universal/SmbiosDxe: Scan for existing tables Thread-Topic: [edk2-devel] [PATCH - resend] MdeModulePkg/Universal/SmbiosDxe: Scan for existing tables Thread-Index: AQHXDqfJQ3mfUuaKHUOh0HlWMv2zCqpx0qnwgAAhD4CAAAWu4A== Date: Wed, 3 Mar 2021 09:15:14 +0000 Message-ID: References: <20210301143221.2775162-1-patrick.rudolph@9elements.com> In-Reply-To: Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: 9elements.com; dkim=none (message not signed) header.d=none;9elements.com; dmarc=none action=none header.from=intel.com; x-originating-ip: [192.198.147.194] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 61edf075-c42a-4a4e-d4f5-08d8de24daca x-ms-traffictypediagnostic: CO1PR11MB4884: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:5516; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: nGsi7HOOKTdorftvL1v40OqOX3/YTuBIg1Q2lYtcsva/0mchDWJOiS1YVhwP38z5AVciBUnq7agFOJESdn+DJi3HQWG+bRtYI4AYr+ZFS3zZLwDEXAnu3MOZlZ8g8xoOgUBq+zi8wZMDTAoo9Xgki9soUpMv5KAe+u6imnO/2Rw8GkXw6wMqNo1mLQ3vXPdcPlY3Dr9YzXLT22aqz00TeMcQHoexSUmQ2uAQXnkqFSoVBLQt/LAf7I8ok6v44mVMTdWLITe5P5LPhFognprFGzNXVe0l0yPuvPIBIVjzSX45klvYncqOeaBmNwQWGA7StAc6lryCIvzDFky6zd+rzvroKE5+C4ityClKeFVJT+ZU4dbYRxtEtNctU0PQ9fO6DkqsytxDbBH1gmJBZim44ccRZHmHjLRZ3ce462KmEy5YSEydvQhLEUcJ4R/SxfTQU0dRPQ4D4llQIALZFGjD1UN1Nwwy+0HCKQGXHEx6hF1kMNQJe16uzryhi3VjRHrAITde3ReVts49VLfb2EgE9Q== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CO1PR11MB4930.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(366004)(136003)(346002)(376002)(39860400002)(396003)(66446008)(33656002)(76116006)(66556008)(66476007)(83380400001)(107886003)(64756008)(9686003)(86362001)(4326008)(2906002)(26005)(8936002)(66946007)(54906003)(71200400001)(8676002)(478600001)(52536014)(5660300002)(55016002)(6506007)(186003)(7696005)(53546011)(6916009)(316002);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata: =?utf-8?B?WUFwNlhjeWVRNjVsYWRqOG9sOEFHOVYwZ21LYm1idEUwMmpNNGhrSnJFclVN?= =?utf-8?B?cm1PRnYycC9obnA0aTA2ZU5heVZoRXk1RTRFb3RPYW1SOWx6MXhoZUZzVkxK?= =?utf-8?B?NTBxQjN5T2E1TVRvdDFTWGMzWUFtVmMxa0ZpUzlnVldqaFh0bU5icjFQMGkw?= =?utf-8?B?cGw1VEhRTmxsbWtQZWVyWnVON3JibEQ3OE11bHB6K204eFIzNGdHUUJxK0FO?= =?utf-8?B?TU9VaWhSY1paWUFrZjhteXZ0alpHZnlGQTg4RVE4NEg0eFQ5cmJVYTV3aS92?= =?utf-8?B?TzNGTDF6bnRkZGt5T3JGbWQ3dmxPUHcrekI4YzAwY0Y5Z0pNOC83d3lESjdh?= =?utf-8?B?UzFlb2p3cCthSFBMb3FmbnJvSGZjM2tCQmNlQUxycStyTDRua3JPSVlCTFd3?= =?utf-8?B?ZDNWVks1bTBINndxTXcrZWl1dE9hK2dESW13OXlDVHR4bWJNLzhjTHpya2x4?= =?utf-8?B?K0FWdkFhb3JrZ1E4Syt4Mk4vL2x3dEovRWFrU1drQ0E0SWkyY2VxTkZzeFYz?= =?utf-8?B?YThJVXEycHRZY3I2TW1vRG9CLytxNHllMStrbmY0QXhKbFVWTlR5UG54UmFT?= =?utf-8?B?N1ByZlBLRXNQOFhSejZFOUF1REFZUUF1SmhjQ3JLVHpVd1pzdlk3eEVxOTF4?= =?utf-8?B?ZHlLTW1vUGErbDBIZ1U2M1E4S3dzdUhIam15OGoreldjSmhrb2dOaUdiS1Nz?= =?utf-8?B?WkFNblFqa29LaDlqTVRkRTJkVlZnT2ZNMm1td01XOStlK05YUS9NdkFWc2JZ?= =?utf-8?B?bDFKazJaRUwyaU4zOG9ISUZldTdEOU14bUdaM0Y1a1psVDBhV0pNMFprbXhQ?= =?utf-8?B?aFIwbHhLMUp2TXEzcTNIdFNYZzl2UVZoRjBrZlJ6SUZMNkZTM2xyaXNDT3B3?= =?utf-8?B?N01HdWFZZkcwa0JoYTdaUEFSc1FBc290Z1pCRitGbFFGaUZzTU9yemplakZJ?= =?utf-8?B?MnorcEZwa3BTNHRacmYxL3NNWi9hcFdyS2xuQWhLZU5XMFNITkZuSUpNQjFV?= =?utf-8?B?V0dlUGJWQ1U2dzVrcEZMeUxQTDJjd0gxcFB2djJlMzhobU91THVBWExjZTdO?= =?utf-8?B?UlAydjJMYUtXYnkvV0tUM1A1OFZUV0lnWS9aMXV4aGVDcHh4eDZEL1A2SmtT?= =?utf-8?B?QlZ2Zm9zV3JTNURhYTFGQTRxWHo3WDJ3WWNtMXlWY2JRZjhRaW91NDVDMjc3?= =?utf-8?B?YzA5TDhjK1lQTWFON1Fxai95MDAwWWpxaWc5cGVIV2lpbDhQYnJFZnhjZlUw?= =?utf-8?B?NXFveFByUzBGVnNBUXFoWGU3MzRhUHY5TG9iMGFHb3Ntb0FOL2VEWFBYdDJW?= =?utf-8?B?OGlVT0NUQnM0SkIzUG5kUlBBWlJSeW5YRmcza011OVNYVUprSXZzUncxRFp1?= =?utf-8?B?RmJmNHFjRmg0UVYzb01uUDZ2Rk5PbmgvUWFVTG5RYkdYYUgyWGdjeEFoNE5M?= =?utf-8?B?cU5rN0FDNy9waUluUm1nMlhzcGFKb0J5T1BGOGNia2tNREs3U25NQ1BvcVpj?= =?utf-8?B?UnpMWlpIRk1NejkrY3dDcHpQUFJiRmZGODlvNERFNUl0M0NGYXFZMVJXblJq?= =?utf-8?B?aS93d0dldXhzdUh2QU4rZWdIc2dkVGJVK3NuZHhTNUk2QUl1UjdIQUdvbkw1?= =?utf-8?B?OWM2OFhHR2hXMVI0eVBaV3FjVkFDK1IzM0Jyek9IbUEyN20zV29mSnl1RjRy?= =?utf-8?B?Q1Rta2xuTnhXWUJSSWZDUHRQZWVQMXFtdS84c3ZuZUhBdlRwa0t5eXhLRTVT?= =?utf-8?Q?x2sdatPB4jj1bLjFnyajEjAt/ECfdZ1/HB7zZdP?= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: CO1PR11MB4930.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 61edf075-c42a-4a4e-d4f5-08d8de24daca X-MS-Exchange-CrossTenant-originalarrivaltime: 03 Mar 2021 09:15:14.1450 (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: SvPlTbYumdpNv2WZvchUFniMJyamMGIvdd0PiNk9Ox3JRaMLAGSAvUyEfpIrqOrTJm/km3/hl4BdqPn/qW+MzQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CO1PR11MB4884 Return-Path: ray.ni@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 SSBoYXZlIDUgbW9yZSBjb21tZW50cyBlbWJlZGRlZCwgY2FuIHlvdSByZWFkIGFuZCByZXBseT8N Cg0KPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBQYXRyaWNrIFJ1ZG9scGgg PHBhdHJpY2sucnVkb2xwaEA5ZWxlbWVudHMuY29tPg0KPiBTZW50OiBXZWRuZXNkYXksIE1hcmNo IDMsIDIwMjEgNDozOCBQTQ0KPiBUbzogTmksIFJheSA8cmF5Lm5pQGludGVsLmNvbT4NCj4gQ2M6 IGRldmVsQGVkazIuZ3JvdXBzLmlvOyBDaGFnYW50eSwgUmFuZ2FzYWkgVg0KPiA8cmFuZ2FzYWku di5jaGFnYW50eUBpbnRlbC5jb20+OyBCaSwgRGFuZGFuIDxkYW5kYW4uYmlAaW50ZWwuY29tPjsg WmVuZywNCj4gU3RhciA8c3Rhci56ZW5nQGludGVsLmNvbT47IEdhbywgWmhpY2hhbyA8emhpY2hh by5nYW9AaW50ZWwuY29tPjsgWW91LA0KPiBCZW5qYW1pbiA8YmVuamFtaW4ueW91QGludGVsLmNv bT47DQo+IHBoaWxpcHAuZGVwcGVud2llc2VAOWVsZW1lbnRzLmNvbTsgTWEsIE1hdXJpY2UNCj4g PG1hdXJpY2UubWFAaW50ZWwuY29tPjsgRG9uZywgR3VvIDxndW8uZG9uZ0BpbnRlbC5jb20+DQo+ IFN1YmplY3Q6IFJlOiBbZWRrMi1kZXZlbF0gW1BBVENIIC0gcmVzZW5kXQ0KPiBNZGVNb2R1bGVQ a2cvVW5pdmVyc2FsL1NtYmlvc0R4ZTogU2NhbiBmb3IgZXhpc3RpbmcgdGFibGVzDQo+IA0KPiBI aSBSYXksDQo+IHRoYW5rcyBmb3IgeW91ciBmZWVkYmFjay4NCj4gDQo+IEN1cnJlbnRseSBhIHNp bmdsZSBIT0IgY29udGFpbmluZyBhbGwgdGhlIFNNQklPUyB0YWJsZSBpcyBleHBvcnRlZCBieQ0K PiBjb3JlYm9vdC4NCj4gQXMgY29yZWJvb3QgZG9lc24ndCBzdXBwb3J0IG11bHRpcGxlIEhPQnMg d2l0aCB0aGUgc2FtZSBJRCwgIzIgaXNuJ3QgYQ0KPiBzb2x1dGlvbi4NCj4gDQo+IEknbGwgbG9v ayBpbnRvIHBhc3NpbmcgYSBIT0IgaW5zdGVhZCBvZiB1c2luZw0KPiBFZmlHZXRTeXN0ZW1Db25m aWd1cmF0aW9uVGFibGUgYW5kIHNlZSBpZiBJIGNhbiBnZXQgcmlkIG9mIHRoZSB0YWJsZQ0KPiBz aGFkb3cgY29weS4NCj4gDQo+IFJlZ2FyZHMsDQo+IFBhdHJpY2sgUnVkb2xwaA0KPiANCj4gT24g V2VkLCBNYXIgMywgMjAyMSBhdCA5OjEzIEFNIE5pLCBSYXkgPHJheS5uaUBpbnRlbC5jb20+IHdy b3RlOg0KPiA+DQo+ID4gSW4gZ2VuZXJhbCwgSSBhZ3JlZSB0aGlzIHNvbHV0aW9uIHRoYXQgbGV0 cyBTTUJJT1MgZHJpdmVyIGRpcmVjdGx5IGFic29yYnMgdGhlDQo+IFNNQklPUyB0YWJsZSBmcm9t IFBFSS4NCj4gPiBUaGlzIGNhbiBlbGltaW5hdGUgdGhlIG5lZWRzIG9mIGEgc2VwYXJhdGUgZHJp dmVyIHRoYXQgY29uc3VtZXMgdGhlIEhPQg0KPiBhbmQgY2FsbHMgU01CSU9TIHByb3RvY29sIHRv IGFkZCB0aGUgU01CSU9TIHN0cnVjdHVyZXMuDQo+ID4NCj4gPiBUaGVyZSBhcmUgdHdvIG9wdGlv bnMgZm9yIHRoZSBIT0IgZGVzaWduOg0KPiA+IDEuIEEgc2luZ2xlIEhPQiB0aGF0IHBvaW50cyB0 byB0aGUgU01CSU9TIHRhYmxlLg0KPiA+IDIuIE11bHRpcGxlIEhPQnMgdGhhdCBlYWNoIHBvaW50 cyB0byBhIFNNQklPUyBzdHJ1Y3R1cmUuDQo+ID4NCj4gPiBJbiBteSBvcGluaW9uLCBvcHRpb24g IzIgaXMgbW9yZSBmbGV4aWJsZSBiZWNhdXNlIGl0IGRvZXNuJ3QgcmVxdWlyZSB0aGUNCj4gYm9v dGxvYWRlciB0byBjb25zb2xpZGF0ZSBhbGwgdGhlIFNNQklPUyBzdHJ1Y3R1cmVzIHRvZ2V0aGVy Lg0KPiA+IFRoZSBDUFUgbW9kdWxlIGluIHRoZSBib290bG9hZGVyIGNhbiBwcm9kdWNlIHRoZSB0 eXBlIDQgYW5kIDcgc3RydWN0dXJlcy4NCj4gPiBUaGUgUENJIG1vZHVsZSBpbiB0aGUgYm9vdGxv YWRlciBjYW4gcHJvZHVjZSB0aGUgdHlwZSA5IHN0cnVjdHVyZXMuDQo+ID4NCj4gPiBCdXQsIEkg YW0gbm90IHN1cmUgaWYgb3B0aW9uICMyIGlzIGNvbmZsaWN0IHdpdGggd2hhdCBjb3JlYm9vdCBk b2VzLiBEb2VzDQo+IGNvcmVib290IHByb2R1Y2UgdGhlIHdob2xlIFNNQklPUyB0YWJsZSBpbiBh IHNpbmdsZSBidWZmZXI/DQo+ID4gT3B0aW9uICMyIGFsc28gZG9lc24ndCBjYXJlIHdoZXRoZXIg aXQncyBhIFNNQklPUyAzLjAgdGFibGUgb3IgMi54IHRhYmxlLg0KPiA+DQo+ID4gPisgIFN0YXR1 cyA9IEVmaUdldFN5c3RlbUNvbmZpZ3VyYXRpb25UYWJsZSAoDQo+ID4NCj4gPiAxLiBXaHkgZG9u J3QgeW91IGRpcmVjdGx5IGdldCB0aGUgZGF0YSBmcm9tIEhPQiBsaXN0PyBUaGlzIGNhbiBlbGlt aW5hdGUgdGhlDQo+IGNvZGUgaW4gQmxTdXBwb3J0RHhlIHRoYXQgZ2V0cyBkYXRhIGluIEhPQiBh bmQgcHVibGlzaGVzIHRvDQo+ID4gY29uZmlndXJhdGlvbiB0YWJsZS4NCj4gPg0KPiA+ID4gK1Zh bGlkYXRlU21iaW9zMjBUYWJsZSgNCj4gPiA+ICtWYWxpZGF0ZVNtYmlvczMwVGFibGUoDQo+ID4N Cj4gPiAyLiBJIHdpbGwgZGVmZXIgdG8gZXhwZXJ0cyAoRGFuZGFuLCBTdGFyIGFuZCBaaGljaGFv KSB0byByZXZpZXcgd2hldGhlciB0aGUNCj4gYWJvdmUgdHdvIGZ1bmN0aW9ucyBhcmUgaW1wbGVt ZW50ZWQgcHJvcGVybHkuDQo+ID4NCj4gPiA+DQo+ID4gPiArUGFyc2VBbmRBZGRFeGlzdGluZ1Nt Ymlvc1RhYmxlKA0KPiA+ID4gKyAgSU4gRUZJX0hBTkRMRSAgICAgICAgICAgICAgICAgICAgSW1h Z2VIYW5kbGUsDQo+ID4gPiArICBJTiBTTUJJT1NfU1RSVUNUVVJFX1BPSU5URVIgICAgICBTbWJp b3MsDQo+ID4gPiArICBJTiBVSU5UTiAgICAgICAgICAgICAgICAgICAgICAgICBMZW5ndGgNCj4g PiA+ICspIHsNCj4gPiA+ICsgIEVGSV9TVEFUVVMgICAgICAgICAgICAgICAgICAgIFN0YXR1czsN Cj4gPiA+ICsgIENIQVI4ICAgICAgICAgICAgICAgICAgICAgICAgICpTdHJpbmc7DQo+ID4gPiAr ICBFRklfU01CSU9TX0hBTkRMRSAgICAgICAgICAgICBTbWJpb3NIYW5kbGU7DQo+ID4gPiArICBT TUJJT1NfU1RSVUNUVVJFX1BPSU5URVIgICAgICBTbWJpb3NFbmQ7DQo+ID4gPiArDQo+ID4gPiAr ICBTbWJpb3NFbmQuUmF3ID0gU21iaW9zLlJhdyArIExlbmd0aDsNCj4gPiA+ICsNCj4gPiA+ICsg IGRvIHsNCj4gPiA+ICsgICAgLy8gQ2hlY2sgZm9yIGVuZCBtYXJrZXINCj4gPiA+ICsgICAgaWYg KFNtYmlvcy5IZHItPlR5cGUgPT0gMTI3KSB7DQo+ID4NCj4gPiAzLiBQbGVhc2UgdXNlIFNNQklP U19UWVBFX0VORF9PRl9UQUJMRSBpbnN0ZWFkIG9mIGhhcmRjb2RlIDEyNy4NCj4gPg0KPiA+ID4N Cj4gPiA+ICsgICAgQ29weU1lbSAoU21iaW9zLlJhdywgKFZPSUQgKilTbWJpb3MzMFRhYmxlLCBT bWJpb3MzMFRhYmxlLQ0KPiA+ID4gPlRhYmxlTWF4aW11bVNpemUpOw0KPiA+DQo+ID4gNC4gU2hv dWxkIHdlIGNvcHkgZnJvbSBTbWJpb3MzMFRhYmxlLT5UYWJsZUFkZHJlc3MgaW5zdGVhZCBvZg0K PiBTbWJpb3MzMFRhYmxlPw0KPiA+DQo+ID4gPg0KPiA+ID4gKyAgICBTdGF0dXMgPSBQYXJzZUFu ZEFkZEV4aXN0aW5nU21iaW9zVGFibGUoSW1hZ2VIYW5kbGUsIFNtYmlvcywNCj4gPiA+IFNtYmlv czMwVGFibGUtPlRhYmxlTWF4aW11bVNpemUpOw0KPiA+DQo+ID4gNS4gQ2FuIHlvdSBleHBsYWlu IGluIHNwZWNpZmljIHdoeSBTTUJJT1MgdGFibGUgc2hvdWxkIGJlIGR1cGxpY2F0ZWQNCj4gYmVm b3JlIHBhcnNpbmc/DQo+ID4NCj4gPg0K