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.587.1611243180479133737 for ; Thu, 21 Jan 2021 07:33:00 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=@intel.onmicrosoft.com header.s=selector2-intel-onmicrosoft-com header.b=HUtUBRHh; spf=pass (domain: intel.com, ip: 134.134.136.20, mailfrom: maurice.ma@intel.com) IronPort-SDR: 0bEIeQcukn4uHGpjlKWWL1qyk9MAvpQI2DmLn1dvdM9gsIBOOPzb+je5GjQ+LkW7Ro/V56tdZo zQ6PODdPO8Yw== X-IronPort-AV: E=McAfee;i="6000,8403,9870"; a="166383181" X-IronPort-AV: E=Sophos;i="5.79,364,1602572400"; d="scan'208";a="166383181" Received: from fmsmga004.fm.intel.com ([10.253.24.48]) by orsmga101.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 21 Jan 2021 07:32:59 -0800 IronPort-SDR: IpeU1EsDt4ekR0LGMBofuVpTDcJkm95wVfUAivlzuE/wxL3tL7Jah5IYgJFh2dXzRJvc3hvXBM HlHm6HKDlJdA== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.79,364,1602572400"; d="scan'208";a="400204034" Received: from orsmsx603.amr.corp.intel.com ([10.22.229.16]) by fmsmga004.fm.intel.com with ESMTP; 21 Jan 2021 07:32:57 -0800 Received: from orsmsx612.amr.corp.intel.com (10.22.229.25) 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.1713.5; Thu, 21 Jan 2021 07:32:56 -0800 Received: from orsmsx604.amr.corp.intel.com (10.22.229.17) by ORSMSX612.amr.corp.intel.com (10.22.229.25) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Thu, 21 Jan 2021 07:32:56 -0800 Received: from orsedg603.ED.cps.intel.com (10.7.248.4) by orsmsx604.amr.corp.intel.com (10.22.229.17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5 via Frontend Transport; Thu, 21 Jan 2021 07:32:56 -0800 Received: from NAM12-BN8-obe.outbound.protection.outlook.com (104.47.55.174) by edgegateway.intel.com (134.134.137.100) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.1713.5; Thu, 21 Jan 2021 07:32:56 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=WGXDZjqFq5TTOkdThg0Hl2cprxQEmYu9XC3sY5b8hS7oBvOERPWPLCWp/7ReSWe+NhHfmsl60q1PV11CQyzxx8RVlKLVJeU14q1BihWUmQUOawXX8QHOPGNtLRm226zjMJXR0BwYiLy2n8b8aPESwOCeyt2fyeuTHEet94+So0m/D8NoxKq+roEM0mJ7VoVIvlc2ZSB0af5DZh1uYEHn0ojj719UvTdMz44cOouVX1xle9tpARKh5uzjaJ0iS7CgTI6Lz+WPpPh0YIJjJKwTl0a4yM4xUXBbXFOWqeq7GkCBSupv4463tPM/KG/2GmgZr3AS9h6QB/dCwug4OvsHOg== 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=LC2n6WvEBMcBUtjY8vCZ3H642x3KrhMd0oV1cnuMdvo=; b=g9SShyKQDTYy297R4kbCUW1QyrA6W8YkY/fheJDbI3NsNHDdSZork1ZZYRmWhSfOLtMd8apRcvVACYIkRoAI2jXRZEQSLRvt7HjuYOGF84t0VqWwqd0CVNIc0Zwf8v4sOQ5c7QZ4BLWHXvgbrIzvf4k4GhBL6vxjdg5d97qzeS2SmrNtJeuRTu6WblYrdRIm3b6X7xVHT1Q3QJv5NP1fUvh5WOu9uwAD3Pbtz5lvSseOs7v9JlPXgRDXXEGPupHCfoEBSXA9T4NoEHsVjTkijmiCgxNbhQMUZ5+wsYjLIkcs//eFPnsIvOO276k8Y6QQQYg37zI35RpMMZFiowUnIg== 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=LC2n6WvEBMcBUtjY8vCZ3H642x3KrhMd0oV1cnuMdvo=; b=HUtUBRHhdWbPNzyb8MOfTMuAOmQimG2nAJIEMnhGRDl00PxRTgpIq6IEkHGpzPtIQ65Yax4rKKefjferI7+7ynY23+p6NiRWnhxhZqIFl299Zwc4Hw8w8Ez1sxoMyFu7ZdY668ukpY1AuBEjrnLLvktrk/nU3pFTwp75m+XuogM= Received: from DM6PR11MB2793.namprd11.prod.outlook.com (2603:10b6:5:c0::29) by DM6PR11MB4378.namprd11.prod.outlook.com (2603:10b6:5:1d8::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3763.12; Thu, 21 Jan 2021 15:32:53 +0000 Received: from DM6PR11MB2793.namprd11.prod.outlook.com ([fe80::19ca:d5c5:d1d4:a22f]) by DM6PR11MB2793.namprd11.prod.outlook.com ([fe80::19ca:d5c5:d1d4:a22f%6]) with mapi id 15.20.3763.014; Thu, 21 Jan 2021 15:32:53 +0000 From: "Ma, Maurice" To: Patrick Rudolph CC: "devel@edk2.groups.io" , "Dong, Guo" , "You, Benjamin" Subject: Re: [PATCH] UefiPayloadPkg/BlSupportDxe: Use EfiSmbiosProtocol to install tables Thread-Topic: [PATCH] UefiPayloadPkg/BlSupportDxe: Use EfiSmbiosProtocol to install tables Thread-Index: AQHW70WiLur1MrywAUW4rsf7F9hjHqoxPzuggAB8NwCAAHFKYA== Date: Thu, 21 Jan 2021 15:32:53 +0000 Message-ID: References: <20210120160157.3343911-1-patrick.rudolph@9elements.com> In-Reply-To: Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-product: dlpe-windows dlp-version: 11.5.1.3 dlp-reaction: no-action 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: [134.134.136.192] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 45f47933-7249-47d7-341d-08d8be21d1ea x-ms-traffictypediagnostic: DM6PR11MB4378: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:10000; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: hbrT/i8G97IOj/yk7ZztKJOXAp2x6+ougG9r+n2+LwAG5/CeHnGXiEMrbFscGvZDRzQf/sHqnVyAbW7GgwPktHu6EZuSL3v0UafBFHaebmJ9kXLitpAiw8Fi/Ioc3LbR9gn+eVY/IcK4Vu4yieadOU3K1R1jW7N0zDc2xvAs/2L9suJvv+dRWYuim1SgwACUvUaoZA7ahVblB2kJ9va0XcaxDRUJF0BCh17baN3qvEriJX5HlKR9UdmDRDXSj5BiTV4NQ0mdyzusx8mv0t8We3ikbX5F3+Ll+CK5jjiLACVvMDm7nW48iG2MOXIZCEb11gImHSZ9wjGbA41br4SoU5xxz4XT4BkLh9WgcVjJ3UYMy6LgQNQ79i3KTTYc1c0Ru+yN5RG4siSFTEfHL4mawQ== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM6PR11MB2793.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(6029001)(4636009)(366004)(2906002)(107886003)(8676002)(76116006)(86362001)(66556008)(71200400001)(54906003)(4326008)(6506007)(66476007)(66946007)(8936002)(55016002)(186003)(53546011)(66446008)(52536014)(83380400001)(26005)(6916009)(33656002)(5660300002)(9686003)(64756008)(498600001)(7696005);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata: =?utf-8?B?TGdvZm9DOTVsUEZGSmdPZmtuU3I3OVFPVkZlVjUrazFvd1dPaEloSXJjWXNN?= =?utf-8?B?aVdkZlJJeUI4RzVXTEhibGwvQUJZTm5uRFlSalh5cTNUMEJGVEtlMVlvMFM3?= =?utf-8?B?b3ZVckg0U3VWRm9hcXdzbm04NDBJN29LRDhWcnhUVVRqZ0pCM1VLVnhmNUxn?= =?utf-8?B?OHRTWktqN3pYako5QytsU0tKNmJtSlBwdmFESHdleUgwMkd1aSt0bi8yZUxz?= =?utf-8?B?enRQUC9vRitjSXNGVEttb3JRYmF2T0E2R05FU0RFU3JrTitUbHQxTitRdllT?= =?utf-8?B?dXZqZXdoQ2pUVXJJa1NMZE5UWTZTVFFKcFpmdit2ZkNVbXNUVk5ySWpRKzVX?= =?utf-8?B?ak9hTTNYTVp5dUNGS2VBM3lxbzBsZmtGcVpVRW5wZEl0QkhRa1NRTWdoVHVK?= =?utf-8?B?b2pmWDYzZi9CMEN4ZmxnWnpLbk5JclZpWGRmRDFqMWp4RlYyWmx5S1QyRUxk?= =?utf-8?B?UFMwNDFHeXFIb1ZEYytONjV4NEVXNTdvOGw0NXNYVDBVSm1WRExjRjl2RXJN?= =?utf-8?B?cHdYejZZMFBDTDlHb0hpYlc1NFVZRlBEaFJNb1djb2FHcWY0RTBrczF1bStN?= =?utf-8?B?SXFHUUdDUUgxNVFveFFlTkVsM05WUkZ6RXY2RW5lQWhEelpnOEs1dXpDdWpP?= =?utf-8?B?TUNWa0EvK0t3dzNrMHNzeGxWNUFveTNjVjJad2RMdms4SWo2aEZPUXFvL2Nr?= =?utf-8?B?WUQ2ME1NR1BSN2RYMUFWd2pUaW1qdG04VzBSQWh5MDlIcmxlTFFmV2NXY0Z1?= =?utf-8?B?OXRBSVZEaWpHVGU3RnpJbEMyV2N4b2NaN0RkdXJxZDVpUlIvd2ZNa25mOTRE?= =?utf-8?B?dDJoOWJ2VW1EazljblZxbGx6SXg1eUhFZjMwUFZoT1czcTMwQ0JWNjBJak9X?= =?utf-8?B?TXdQUjRxWnRESFJVMnNVQXBSaHN1NFBwZW5MQUFocWgydm5WR1NsV0NnQlVU?= =?utf-8?B?a3dNSUkyUEZvY2ZoM0gxZGdlbjZzNjFnYjFwaHFqZW9xcllQSnJnWU5nNit0?= =?utf-8?B?YUJVY0FiMDRVQkU0UmFFMVRsc0dDUW9zdlcvdU5FM3ZLTDkzbjROcEs0MTlG?= =?utf-8?B?cTZSeUJhd1lwSUJZdUVHQVNFOFRkbk01MU10M1Q4azhLVCtPZUgyTFVUbm9U?= =?utf-8?B?NkVCOHdIU0lLbzZTeUV5aFo1cjBuWnVUS2U2SWVCaEptSElSK0svL0pTVml3?= =?utf-8?B?R0pTQkVMK1A5RXdBZ2RYQ1ROdCtOc0dFcys3OCtWVlFQTmFTbjBnbmNjNDRK?= =?utf-8?B?dUtacWpQcjRLbEIxd0VOTmRmaG56a0tlRk5jaEhiSngzMEFSS0tEbWFDZ2tC?= =?utf-8?Q?vR/ABwpPUrOO9MXpL+2LYZ0z2pedB9G558?= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DM6PR11MB2793.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 45f47933-7249-47d7-341d-08d8be21d1ea X-MS-Exchange-CrossTenant-originalarrivaltime: 21 Jan 2021 15:32:53.7150 (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: WhoVIuxifMdwrhVBM7eyD8TGKCThQT+gCc8gfzanHkXG+lCUmC0zLmTRXrumSnqH3taXS1oRAry6zZ+w2/JPfg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR11MB4378 Return-Path: maurice.ma@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 SGksIFBhdHJpY2ssDQoNClNpbmNlIEJsU3VwcG9ydER4ZSBkb2VzIHNvbWUgdmVyeSBiYXNpYyBp bml0aWFsaXphdGlvbiBmb3IgVUVGSSBwYXlsb2FkIChFWDogIEluaXRpYWxpemUgUGNkUGNpRXhw cmVzc0Jhc2VBZGRyZXNzIGR5bmFtaWMgUENEKSwgYW5kIGl0IG5lZWRzIHRvIGJlIGRvbmUgaW4g dmVyeSBlYXJseSBwaGFzZS4gIFNvIGl0IGlzIGRlc2lyZWQgbm90IHRvIHB1c2ggdGhlIGRpc3Bh dGNoaW5nIG9yZGVyIGJ5IGFkZGluZyBtb3JlIGRlcGVuZGVuY2llcy4gIE90aGVyd2lzZSwgZHJp dmVycyBkaXNwYXRjaGVkIGJlZm9yZSBpdCBtaWdodCBnZXQgaW5jb3JyZWN0IFBDRCB2YWx1ZXMu DQoNClllcywgSSBrbm93IFJlZ2lzdGVyUHJvdG9jb2xOb3RpZnkoKSBpcyBkaXNjb3VyYWdlZCBm b3IgVUVGSSBkcml2ZXIuICAgVGhpcyBkcml2ZXIgaXMgbm90IFVFRkkgZHJpdmVyLCBzbyB3ZSBj YW5ub3QgdXNlIFVFRkkgZHJpdmVyIG1vZGVsIHRvIGFkZHJlc3MgaXQgaGVyZS4gICBEbyB3ZSBo YXZlIGFueSBhbHRlcm5hdGl2ZSB3YXkgd2l0aG91dCBhZGRpbmcgbmV3IGRlcGVuZGVuY2llcyBp biBJTkYgPyAgDQoNClRoYW5rcw0KTWF1cmljZQ0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0t LS0tDQo+IEZyb206IFBhdHJpY2sgUnVkb2xwaCA8cGF0cmljay5ydWRvbHBoQDllbGVtZW50cy5j b20+DQo+IFNlbnQ6IFRodXJzZGF5LCBKYW51YXJ5IDIxLCAyMDIxIDA6MTENCj4gVG86IE1hLCBN YXVyaWNlIDxtYXVyaWNlLm1hQGludGVsLmNvbT4NCj4gQ2M6IGRldmVsQGVkazIuZ3JvdXBzLmlv OyBEb25nLCBHdW8gPGd1by5kb25nQGludGVsLmNvbT47IFlvdSwgQmVuamFtaW4NCj4gPGJlbmph bWluLnlvdUBpbnRlbC5jb20+DQo+IFN1YmplY3Q6IFJlOiBbUEFUQ0hdIFVlZmlQYXlsb2FkUGtn L0JsU3VwcG9ydER4ZTogVXNlIEVmaVNtYmlvc1Byb3RvY29sIHRvDQo+IGluc3RhbGwgdGFibGVz DQo+IA0KPiBIaSBNYXVyaWNlLA0KPiBJJ2xsIGFkYXB0IHRoZSBmdW5jdGlvbiBuYW1lcyB0byBt YXRjaCBFREsyIG5hbWluZyBjb252ZW50aW9ucy4NCj4gDQo+IFRoZSBTbWJpb3NEeGUgaXMgYWxy ZWFkeSBwYXJ0IG9mIFVlZmlQYXlsb2FkUGtnLCBzbyBpdCdzIG5vdCBvcHRpb25hbCAocmlnaHQg bm93KS4NCj4gSSBkb24ndCBzZWUgaG93IHJlZ2lzdGVyaW5nIGdFZmlTbWJpb3NQcm90b2NvbEd1 aWQgY291bGQgZmFpbC4NCj4gSWYgeW91IHRoaW5rIERlcGV4IG11c3QgYmUgdHJ1ZSwgdGhlcmUg c2hvdWxkIGJlDQo+IGEpIGEgY29tbWVudCBzdGF0aW5nIHRoZSByZWFzb25zIHdoeSBEZXBleCBt dXN0IG5vdCBiZSBjaGFuZ2VkDQo+IGIpIEknbGwgaGF2ZSB0byBtb3ZlIHRoZSBTTUJJT1MgY29k ZSBvdXQgb2YgQmxTdXBwb3J0RHhlIGludG8NCj4gQmxTdXBwb3J0U21iaW9zRHhlIGFuZCBhZGQg dGhlIERlcGV4IHNlY3Rpb24gdGhlcmUuDQo+ICAgICBBIGZhaWxlZCBkaXNwYXRjaCBvZiBCbFN1 cHBvcnRTbWJpb3NEeGUgd291bGQgdGhlbiBiZSBub24gY3JpdGljYWwuDQo+IA0KPiBEbyB5b3Ug dGhpbmsgdGhpcyB3b3VsZCBiZSBhIGJldHRlciBzb2x1dGlvbj8NCj4gDQo+IEkgZG9uJ3Qgd2Fu dCB0byB1c2UgUmVnaXN0ZXJQcm90b2NvbE5vdGlmeSgpIGFzIGl0J3MgZGlzY291cmFnZWQsIGlz bid0IGl0Pw0KPiANCj4gS2luZCBSZWdhcmRzLA0KPiBQYXRyaWNrIFJ1ZG9scGgNCj4gDQo+IE9u IFRodSwgSmFuIDIxLCAyMDIxIGF0IDI6MTQgQU0gTWEsIE1hdXJpY2UgPG1hdXJpY2UubWFAaW50 ZWwuY29tPiB3cm90ZToNCj4gPg0KPiA+IEhpLCBQYXRyaWNrDQo+ID4NCj4gPiBJbiB0aGlzIHBh dGNoIEkgbm90aWNlZCB0aGF0IHdlIGNoYW5nZWQgdGhlIEJsU3VwcG9ydER4ZSBkZXBlbmRlbmN5 IGZyb20NCj4gVHJ1ZSB0byBnRWZpU21iaW9zUHJvdG9jb2xHdWlkLg0KPiA+IFNpbmNlIEJsU3Vw cG9ydER4ZSBpcyBjb25zaWRlcmVkIGFzIGNyaXRpY2FsIGZvciBVRUZJIHBheWxvYWQsICBhbmQg b24gdGhlIG90aGVyDQo+IHNpZGUgU01CSU9TIGRyaXZlciBjb3VsZCBiZSBvcHRpb25hbCBpbiBz b21lIGNhc2UsICBkbyB5b3UgdGhpbmsgaXQgaXMgYmV0dGVyIHRvDQo+IGhhbmRsZSBpdCB0aHJv dWdoIFJlZ2lzdGVyUHJvdG9jb2xOb3RpZnkoKSA/ICAgSW4gdGhpcyB3YXksICBpZg0KPiBnRWZp U21iaW9zUHJvdG9jb2xHdWlkIGlzIG5vdCBpbnN0YWxsZWQgZm9yIGFueSByZWFzb24sICBCbFN1 cHBvcnREeGUgY2FuIHN0aWxsIGJlDQo+IGRpc3BhdGNoZWQgYW5kIHRoZSBib290IGZsb3cgY2Fu IGNvbnRpbnVlLg0KPiA+DQo+ID4gU29tZSBvdGhlciBjb21tZW50czoNCj4gPiAtICBQbGVhc2Ug YWRkIGZ1bmN0aW9uIGFuZCBwYXJhbWV0ZXIgZGVzY3JpcHRpb24gZm9yDQo+IEJsRHhlSW5zdGFs bFNNQklPU3RhYmxlcygpLg0KPiA+IC0gIFRvIGZvbGxvdyB0aGUgbmFtaW5nIGNvbnZlbnRpb24g aW4gRURLMiwgICBtYXliZSAgdXNlDQo+IEJsRHhlSW5zdGFsbFNtYmlvc1RhYmxlcyBpbnN0ZWFk IG9mIEJsRHhlSW5zdGFsbFNNQklPU3RhYmxlcygpLg0KPiA+DQo+ID4gVGhhbmtzDQo+ID4gTWF1 cmljZQ0KPiA+ID4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gPiA+IEZyb206IFBhdHJp Y2sgUnVkb2xwaCA8cGF0cmljay5ydWRvbHBoQDllbGVtZW50cy5jb20+DQo+ID4gPiBTZW50OiBX ZWRuZXNkYXksIEphbnVhcnkgMjAsIDIwMjEgODowMg0KPiA+ID4gVG86IGRldmVsQGVkazIuZ3Jv dXBzLmlvDQo+ID4gPiBDYzogTWEsIE1hdXJpY2UgPG1hdXJpY2UubWFAaW50ZWwuY29tPjsgRG9u ZywgR3VvDQo+ID4gPiA8Z3VvLmRvbmdAaW50ZWwuY29tPjsgWW91LCBCZW5qYW1pbiA8YmVuamFt aW4ueW91QGludGVsLmNvbT4NCj4gPiA+IFN1YmplY3Q6IFtQQVRDSF0gVWVmaVBheWxvYWRQa2cv QmxTdXBwb3J0RHhlOiBVc2UgRWZpU21iaW9zUHJvdG9jb2wNCj4gPiA+IHRvIGluc3RhbGwgdGFi bGVzDQo+ID4gPg0KPiA+ID4gVGhlIGRlZmF1bHQgRWZpU21iaW9zUHJvdG9jb2wgb3BlcmF0ZXMg b24gYW4gZW1wdHkgU01CSU9TIHRhYmxlLg0KPiA+ID4gQXMgdGhlIFNNQklPUyB0YWJsZXMgYXJl IHByb3ZpZGVkIGJ5IHRoZSBib290bG9hZGVyLCBpbnN0YWxsIHRoZQ0KPiA+ID4gU01CSU9TIHRh YmxlcyB1c2luZyB0aGUgRWZpU21iaW9zUHJvdG9jb2wuDQo+ID4gPg0KPiA+ID4gVGhpcyBmaXhl cyB0aGUgc2V0dGluZ3MgbWVudSBub3Qgc2hvd2luZyBhbnkgaGFyZHdhcmUgaW5mb3JtYXRpb24s DQo+ID4gPiBpbnN0ZWFkIG9ubHkNCj4gPiA+ICIwIE1CIFJBTSIgd2FzIGRpc3BsYXllZC4NCj4g PiA+DQo+ID4gPiBUZXN0cyBzaG93ZWQgdGhhdCB0aGUgT1MgY2FuIHN0aWxsIHNlZSB0aGUgU01C SU9TIHRhYmxlcy4NCj4gPiA+DQo+ID4gPiBTaWduZWQtb2ZmLWJ5OiBQYXRyaWNrIFJ1ZG9scGgg PHBhdHJpY2sucnVkb2xwaEA5ZWxlbWVudHMuY29tPg0KPiA+ID4gLS0tDQo+ID4gPiAgVWVmaVBh eWxvYWRQa2cvQmxTdXBwb3J0RHhlL0JsU3VwcG9ydER4ZS5jICAgfCAxMTENCj4gPiA+ICsrKysr KysrKysrKysrKysrKystDQo+ID4gPiAgVWVmaVBheWxvYWRQa2cvQmxTdXBwb3J0RHhlL0JsU3Vw cG9ydER4ZS5oICAgfCAgIDMgKw0KPiA+ID4gIFVlZmlQYXlsb2FkUGtnL0JsU3VwcG9ydER4ZS9C bFN1cHBvcnREeGUuaW5mIHwgICA1ICstDQo+ID4gPiAgMyBmaWxlcyBjaGFuZ2VkLCAxMTUgaW5z ZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMoLSkNCj4gPiA+DQo+ID4gPiBkaWZmIC0tZ2l0IGEvVWVm aVBheWxvYWRQa2cvQmxTdXBwb3J0RHhlL0JsU3VwcG9ydER4ZS5jDQo+ID4gPiBiL1VlZmlQYXls b2FkUGtnL0JsU3VwcG9ydER4ZS9CbFN1cHBvcnREeGUuYw0KPiA+ID4gaW5kZXggYTc0NmQwNTgx ZS4uZGI0NzhjMWFiYyAxMDA2NDQNCj4gPiA+IC0tLSBhL1VlZmlQYXlsb2FkUGtnL0JsU3VwcG9y dER4ZS9CbFN1cHBvcnREeGUuYw0KPiA+ID4gKysrIGIvVWVmaVBheWxvYWRQa2cvQmxTdXBwb3J0 RHhlL0JsU3VwcG9ydER4ZS5jDQo+ID4gPiBAQCAtNzksNiArNzksMTA3IEBAIFJlc2VydmVSZXNv dXJjZUluR2NkICgNCj4gPiA+ICAgIHJldHVybiBTdGF0dXM7IH0gK0VGSV9TVEFUVVMrRUZJQVBJ K0JsRHhlSW5zdGFsbFNNQklPU3RhYmxlcygrICBJTg0KPiBVSU5UNjQNCj4gPiA+IFNtYmlvc1Rh YmxlQmFzZSwrICBJTiBVSU5UMzIgICAgU21iaW9zVGFibGVTaXplKykreysgIEVGSV9TVEFUVVMN Cj4gPiA+IFN0YXR1czsrICBTTUJJT1NfVEFCTEVfRU5UUllfUE9JTlQgICAgICAqU21iaW9zVGFi bGU7Kw0KPiA+ID4gU01CSU9TX1RBQkxFXzNfMF9FTlRSWV9QT0lOVCAgKlNtYmlvczMwVGFibGU7 Kw0KPiA+ID4gU01CSU9TX1NUUlVDVFVSRV9QT0lOVEVSICAgICAgU21iaW9zOysgIFNNQklPU19T VFJVQ1RVUkVfUE9JTlRFUg0KPiA+ID4gU21iaW9zRW5kOysgIENIQVI4ICAgICAgICAgICAgICAg ICAgICAgICAgICpTdHJpbmc7KyAgRUZJX1NNQklPU19IQU5ETEUNCj4gPiA+IFNtYmlvc0hhbmRs ZTsrICBFRklfU01CSU9TX1BST1RPQ09MICAgICAgICAgICAqU21iaW9zUHJvdG87KysgIC8vKyAg Ly8NCj4gTG9jYXRlDQo+ID4gPiBTbWJpb3MgcHJvdG9jb2wuKyAgLy8rICBTdGF0dXMgPSBnQlMt PkxvY2F0ZVByb3RvY29sDQo+ICgmZ0VmaVNtYmlvc1Byb3RvY29sR3VpZCwNCj4gPiA+IE5VTEws IChWT0lEICoqKSZTbWJpb3NQcm90byk7KyAgaWYgKEVGSV9FUlJPUiAoU3RhdHVzKSkgeysgICAg REVCVUcNCj4gPiA+ICgoREVCVUdfRVJST1IsICIlYTogRmFpbGVkIHRvIGxvY2F0ZSBnRWZpU21i aW9zUHJvdG9jb2xHdWlkXG4iLCsNCj4gPiA+IF9fRlVOQ1RJT05fXykpOysgICAgcmV0dXJuIFN0 YXR1czsrICB9KysgIFNtYmlvczMwVGFibGUgPQ0KPiA+ID4gKFNNQklPU19UQUJMRV8zXzBfRU5U UllfUE9JTlQgKikoVUlOVE4pKFNtYmlvc1RhYmxlQmFzZSk7Kw0KPiA+ID4gU21iaW9zVGFibGUg PSAoU01CSU9TX1RBQkxFX0VOVFJZX1BPSU5UDQo+ID4gPiAqKShVSU5UTikoU21iaW9zVGFibGVC YXNlKTsrKyBpZiAoQ29tcGFyZU1lbQ0KPiA+ID4gKFNtYmlvczMwVGFibGUtPkFuY2hvclN0cmlu ZywgIl9TTTNfIiwgNSkgPT0gMCkgeysgU21iaW9zLkhkciA9DQo+ID4gPiAoU01CSU9TX1NUUlVD VFVSRSAqKSAoVUlOVE4pIFNtYmlvczMwVGFibGUtDQo+ID4gPiA+VGFibGVBZGRyZXNzOysgICAg U21iaW9zRW5kLlJhdyA9IChVSU5UOCAqKSAoVUlOVE4pIChTbWJpb3MzMFRhYmxlLQ0KPiA+ID4g PlRhYmxlQWRkcmVzcyArIFNtYmlvczMwVGFibGUtPlRhYmxlTWF4aW11bVNpemUpOysgICAgaWYN Cj4gKFNtYmlvczMwVGFibGUtDQo+ID4gPiA+VGFibGVNYXhpbXVtU2l6ZSA+IFNtYmlvc1RhYmxl U2l6ZSkgeysgICAgICBERUJVRygoREVCVUdfSU5GTywgIiVhOg0KPiA+ID4gU01CSU9TIHRhYmxl IHNpemUgZ3JlYXRlciB0aGFuIHJlcG9ydGVkIGJ5IGJvb3Rsb2FkZXJcbiIsKw0KPiA+ID4gX19G VU5DVElPTl9fKSk7KyAgICB9KyAgfSBlbHNlIGlmIChDb21wYXJlTWVtIChTbWJpb3NUYWJsZS0N Cj4gPkFuY2hvclN0cmluZywNCj4gPiA+ICJfU01fIiwgNCkgPT0gMCkgeysgICAgU21iaW9zLkhk ciAgICA9IChTTUJJT1NfU1RSVUNUVVJFICopIChVSU5UTikNCj4gPiA+IFNtYmlvc1RhYmxlLT5U YWJsZUFkZHJlc3M7KyAgICBTbWJpb3NFbmQuUmF3ID0gKFVJTlQ4ICopICgoVUlOVE4pDQo+ID4g PiBTbWJpb3NUYWJsZS0+VGFibGVBZGRyZXNzICsgU21iaW9zVGFibGUtPlRhYmxlTGVuZ3RoKTsr KyAgICBpZg0KPiAoU21iaW9zVGFibGUtDQo+ID4gPiA+VGFibGVMZW5ndGggPiBTbWJpb3NUYWJs ZVNpemUpIHsrICAgICAgREVCVUcoKERFQlVHX0lORk8sICIlYTogU01CSU9TDQo+ID4gPiB0YWJs ZSBzaXplIGdyZWF0ZXIgdGhhbiByZXBvcnRlZCBieSBib290bG9hZGVyXG4iLCsNCj4gPiA+IF9f RlVOQ1RJT05fXykpOysgICAgfSsgIH0gZWxzZSB7KyAgICBERUJVRyAoKERFQlVHX0VSUk9SLCAi JWE6IE5vIHZhbGlkDQo+ID4gPiBTTUJJT1MgdGFibGUgZm91bmRcbiIsIF9fRlVOQ1RJT05fXyAp KTsrICAgIHJldHVybg0KPiBFRklfTk9UX0ZPVU5EOysgIH0rKw0KPiA+ID4gZG8geysgICAgLy8g Q2hlY2sgZm9yIGVuZCBtYXJrZXIrICAgIGlmIChTbWJpb3MuSGRyLT5UeXBlID09IDEyNykgeysN Cj4gPiA+IGJyZWFrOysgICAgfSsrICAgIC8vIEluc3RhbGwgdGhlIHRhYmxlKyAgICBTbWJpb3NI YW5kbGUgPQ0KPiA+ID4gU01CSU9TX0hBTkRMRV9QSV9SRVNFUlZFRDsrICAgIFN0YXR1cyA9IFNt Ymlvc1Byb3RvLT5BZGQgKCsNCj4gPiA+IFNtYmlvc1Byb3RvLCsgICAgICAgICAgICAgICAgICAg ICAgICAgIGdJbWFnZUhhbmRsZSwrICAgICAgICAgICAgICAgICAgICAgICAgICAmU21iaW9zSGFu ZGxlLCsNCj4gPiA+IFNtYmlvcy5IZHIrICAgICAgICAgICAgICAgICAgICAgICAgICApOysgICAg QVNTRVJUX0VGSV9FUlJPUiAoU3RhdHVzKTsrICAgIGlmDQo+IChFRklfRVJST1INCj4gPiA+IChT dGF0dXMpKSB7KyAgICAgIHJldHVybiBTdGF0dXM7KyAgICB9KyAgICAvLysgICAgLy8gR28gdG8g dGhlIG5leHQgU01CSU9TIHN0cnVjdHVyZS4NCj4gPiA+IEVhY2ggU01CSU9TIHN0cnVjdHVyZSBt YXkgaW5jbHVkZSAyIHBhcnRzOisgICAgLy8gMS4gRm9ybWF0dGVkIHNlY3Rpb247IDIuDQo+ID4g PiBVbmZvcm1hdHRlZCBzdHJpbmcgc2VjdGlvbi4gU28sIDIgc3RlcHMgYXJlIG5lZWRlZCsgICAg Ly8gdG8gc2tpcCBvbmUgU01CSU9TDQo+ID4gPiBzdHJ1Y3R1cmUuKyAgICAvLysrICAgIC8vKyAg ICAvLyBTdGVwIDE6IFNraXAgb3ZlciBmb3JtYXR0ZWQgc2VjdGlvbi4rICAgIC8vKw0KPiBTdHJp bmcgPQ0KPiA+ID4gKENIQVI4ICopIChTbWJpb3MuUmF3ICsgU21iaW9zLkhkci0+TGVuZ3RoKTsr KyAgICAvLysgICAgLy8gU3RlcCAyOiBTa2lwDQo+IG92ZXINCj4gPiA+IHVuZm9ybWF0dGVkIHN0 cmluZyBzZWN0aW9uLisgICAgLy8rICAgIGRvIHsrICAgICAgLy8rICAgICAgLy8gRWFjaCBzdHJp bmcgaXMNCj4gdGVybWluYXRlZA0KPiA+ID4gd2l0aCBhIE5VTEwoMDBoKSBCWVRFIGFuZCB0aGUg c2V0cyBvZiBzdHJpbmdzKyAgICAgIC8vIGlzIHRlcm1pbmF0ZWQgd2l0aCBhbg0KPiA+ID4gYWRk aXRpb25hbCBOVUxMKDAwaCkgQllURS4rICAgICAgLy8rICAgICAgZm9yICggOyAqU3RyaW5nICE9 IDA7IFN0cmluZysrKSB7KyAgICAgIH0rKw0KPiBpZg0KPiA+ID4gKCooVUlOVDgqKSsrU3RyaW5n ID09IDApIHsrICAgICAgICAvLysgICAgICAgIC8vIFBvaW50ZXIgdG8gdGhlIG5leHQgU01CSU9T DQo+ID4gPiBzdHJ1Y3R1cmUuKyAgICAgICAgLy8rICAgICAgICBTbWJpb3MuUmF3ID0gKFVJTlQ4 ICopKytTdHJpbmc7Kw0KPiBicmVhazsrICAgICAgfSsgICAgfQ0KPiA+ID4gd2hpbGUgKFRSVUUp OysgIH0gd2hpbGUgKFNtYmlvcy5SYXcgPCBTbWJpb3NFbmQuUmF3KTsrKyAgcmV0dXJuDQo+ID4g PiBFRklfU1VDQ0VTUzsrfSAgLyoqICAgTWFpbiBlbnRyeSBmb3IgdGhlIGJvb3Rsb2FkZXIgc3Vw cG9ydCBEWEUNCj4gbW9kdWxlLkBAIC0NCj4gPiA+IDEzMyw5ICsyMzQsMTMgQEAgQmxEeGVFbnRy eVBvaW50ICgNCj4gPiA+ICAgIC8vIEluc3RhbGwgU21iaW9zIFRhYmxlICAgLy8gICBpZiAoU3lz dGVtVGFibGVJbmZvLT5TbWJpb3NUYWJsZUJhc2UgIT0gMCAmJg0KPiA+ID4gU3lzdGVtVGFibGVJ bmZvLT5TbWJpb3NUYWJsZVNpemUgIT0gMCkgey0gICAgREVCVUcgKChERUJVR19FUlJPUiwNCj4g Ikluc3RhbGwNCj4gPiA+IFNtYmlvcyBUYWJsZSBhdCAweCVseCwgbGVuZ3RoIDB4JXhcbiIsDQo+ ID4gPiBTeXN0ZW1UYWJsZUluZm8tPlNtYmlvc1RhYmxlQmFzZSwNCj4gPiA+IFN5c3RlbVRhYmxl SW5mby0+U21iaW9zVGFibGVTaXplKSk7LSAgICBTdGF0dXMgPSBnQlMtDQo+ID5JbnN0YWxsQ29u ZmlndXJhdGlvblRhYmxlDQo+ID4gPiAoJmdFZmlTbWJpb3NUYWJsZUd1aWQsIChWT0lEICopKFVJ TlROKVN5c3RlbVRhYmxlSW5mby0NCj4gPlNtYmlvc1RhYmxlQmFzZSk7LQ0KPiA+ID4gQVNTRVJU X0VGSV9FUlJPUiAoU3RhdHVzKTsrICAgIERFQlVHICgoREVCVUdfRVJST1IsICJJbnN0YWxsIFNt Ymlvcw0KPiBUYWJsZQ0KPiA+ID4gYXQgMHglbHgsIGxlbmd0aCAweCV4XG4iLCsgICAgICBTeXN0 ZW1UYWJsZUluZm8tPlNtYmlvc1RhYmxlQmFzZSwNCj4gPiA+IFN5c3RlbVRhYmxlSW5mby0+U21i aW9zVGFibGVTaXplKSk7KysgICAgaWYNCj4gPiA+IChCbER4ZUluc3RhbGxTTUJJT1N0YWJsZXMo U3lzdGVtVGFibGVJbmZvLT5TbWJpb3NUYWJsZUJhc2UsDQo+ID4gPiBTeXN0ZW1UYWJsZUluZm8t PlNtYmlvc1RhYmxlU2l6ZSkgIT0gRUZJX1NVQ0NFU1MpIHsrICAgICAgU3RhdHVzID0gZ0JTLQ0K PiA+ID4gPkluc3RhbGxDb25maWd1cmF0aW9uVGFibGUgKCZnRWZpU21iaW9zVGFibGVHdWlkLCAo Vk9JRA0KPiA+ID4gKikoVUlOVE4pU3lzdGVtVGFibGVJbmZvLT5TbWJpb3NUYWJsZUJhc2UpOysg ICAgICBBU1NFUlRfRUZJX0VSUk9SDQo+ID4gPiAoU3RhdHVzKTsrICAgIH0gICB9ICAgIC8vZGlm ZiAtLWdpdCBhL1VlZmlQYXlsb2FkUGtnL0JsU3VwcG9ydER4ZS9CbFN1cHBvcnREeGUuaA0KPiA+ ID4gYi9VZWZpUGF5bG9hZFBrZy9CbFN1cHBvcnREeGUvQmxTdXBwb3J0RHhlLmgNCj4gPiA+IGlu ZGV4IDUxMjEwNWZhZmQuLmE1MjE2Y2QyZTkgMTAwNjQ0DQo+ID4gPiAtLS0gYS9VZWZpUGF5bG9h ZFBrZy9CbFN1cHBvcnREeGUvQmxTdXBwb3J0RHhlLmgNCj4gPiA+ICsrKyBiL1VlZmlQYXlsb2Fk UGtnL0JsU3VwcG9ydER4ZS9CbFN1cHBvcnREeGUuaA0KPiA+ID4gQEAgLTEwLDYgKzEwLDggQEAg U1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0yLUNsYXVzZS1QYXRlbnQNCj4gPiA+ICAgI2lu Y2x1ZGUgPFBpRHhlLmg+ICsjaW5jbHVkZSA8UHJvdG9jb2wvU21iaW9zLmg+KyAjaW5jbHVkZQ0K PiA+ID4gPExpYnJhcnkvVWVmaURyaXZlckVudHJ5UG9pbnQuaD4gI2luY2x1ZGUNCj4gPiA+IDxM aWJyYXJ5L1VlZmlCb290U2VydmljZXNUYWJsZUxpYi5oPg0KPiA+ID4gI2luY2x1ZGUgPExpYnJh cnkvRHhlU2VydmljZXNUYWJsZUxpYi5oPkBAIC0yNiw1ICsyOCw2IEBADQo+ID4gPiBTUERYLUxp Y2Vuc2UtDQo+ID4gPiBJZGVudGlmaWVyOiBCU0QtMi1DbGF1c2UtUGF0ZW50ICAjaW5jbHVkZSA8 R3VpZC9HcmFwaGljc0luZm9Ib2IuaD4NCj4gPiA+ICNpbmNsdWRlIDxJbmR1c3RyeVN0YW5kYXJk L0FjcGkuaD4rI2luY2x1ZGUNCj4gPiA+IDxJbmR1c3RyeVN0YW5kYXJkL1NtQmlvcy5oPiAgI2Vu ZGlmZGlmZiAtIC1naXQNCj4gPiA+IGEvVWVmaVBheWxvYWRQa2cvQmxTdXBwb3J0RHhlL0JsU3Vw cG9ydER4ZS5pbmYNCj4gPiA+IGIvVWVmaVBheWxvYWRQa2cvQmxTdXBwb3J0RHhlL0JsU3VwcG9y dER4ZS5pbmYNCj4gPiA+IGluZGV4IGNlYmM4MTEzNTUuLmQyNmE3NTI0OGIgMTAwNjQ0DQo+ID4g PiAtLS0gYS9VZWZpUGF5bG9hZFBrZy9CbFN1cHBvcnREeGUvQmxTdXBwb3J0RHhlLmluZg0KPiA+ ID4gKysrIGIvVWVmaVBheWxvYWRQa2cvQmxTdXBwb3J0RHhlL0JsU3VwcG9ydER4ZS5pbmYNCj4g PiA+IEBAIC01Niw1ICs1Niw4IEBADQo+ID4gPiAgICBnRWZpTWRlUGtnVG9rZW5TcGFjZUd1aWQu UGNkUGNpRXhwcmVzc0Jhc2VBZGRyZXNzDQo+ID4gPiBnRWZpTWRlUGtnVG9rZW5TcGFjZUd1aWQu UGNkUGNpRXhwcmVzc0Jhc2VTaXplICtbUHJvdG9jb2xzXSsNCj4gPiA+IGdFZmlTbWJpb3NQcm90 b2NvbEd1aWQrIFtEZXBleF0tICBUUlVFKyAgZ0VmaVNtYmlvc1Byb3RvY29sR3VpZC0tDQo+ID4g PiAyLjI2LjINCj4gPg0K