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 DA992941DF1 for ; Thu, 1 Feb 2024 23:04:56 +0000 (UTC) DKIM-Signature: a=rsa-sha256; bh=LHb00oGlCw120VJe0yIGZCAj8W6HKEngP5lmWlkxchc=; 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=1706828695; v=1; b=nUekuABxoQpKFEyQANCmgo1KapXlBgGto2v2XwUmGc6wTar/7+hZLaAXPDSW5wXtf+Mlmv7H vXBQd6OWDy6CYI3xmgCXCoW6ANye3wSV4hRiSy4VxRFuJH3mr1b0AxX+BECP4l/qptcvGmLg+wt HlpZ6T5XVM6ZGIKQN5kbr1PY= X-Received: by 127.0.0.2 with SMTP id RtS2YY7687511xcjowsrQzwp; Thu, 01 Feb 2024 15:04:55 -0800 X-Received: from mgamail.intel.com (mgamail.intel.com [134.134.136.65]) by mx.groups.io with SMTP id smtpd.web11.9660.1706767836731198659 for ; Wed, 31 Jan 2024 22:10:36 -0800 X-IronPort-AV: E=McAfee;i="6600,9927,10969"; a="407535531" X-IronPort-AV: E=Sophos;i="6.05,234,1701158400"; d="scan'208";a="407535531" X-Received: from orviesa001.jf.intel.com ([10.64.159.141]) by orsmga103.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 31 Jan 2024 22:10:36 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.05,234,1701158400"; d="scan'208";a="37121081" X-Received: from fmsmsx603.amr.corp.intel.com ([10.18.126.83]) by orviesa001.jf.intel.com with ESMTP/TLS/AES256-GCM-SHA384; 31 Jan 2024 22:10:36 -0800 X-Received: from fmsmsx610.amr.corp.intel.com (10.18.126.90) 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.2507.35; Wed, 31 Jan 2024 22:10:34 -0800 X-Received: from fmsedg602.ED.cps.intel.com (10.1.192.136) by fmsmsx610.amr.corp.intel.com (10.18.126.90) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35 via Frontend Transport; Wed, 31 Jan 2024 22:10:34 -0800 X-Received: from NAM12-MW2-obe.outbound.protection.outlook.com (104.47.66.40) 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.2507.35; Wed, 31 Jan 2024 22:10:34 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=M3+MzSfEvn0bVw0Xj8kKEgKn/ywHjDOliPTFTrjOGp77Bkl0gnflcGCvYEfFu8rHiFHJ5lfaHESTkxwKU2/CRacu2S036OG8xI03nrnvf9BsCPHSKasSOd+w1S9e6sTgb7hKsgq6EUFv3JIwy31tCo9XyzybOyASaa8WWSx3x2sl0p81c0OjwoJo1iMV5deEpe3dny+fEdeyDwjttntDqYoKUxtAYHJwviJZYVr/WgC5BM40UjVfv30aCg1bDrfoyEdRkSJcwFQu+ODT3TvNsGcVWypb+bESZYq6Ahx8iPTLfIuHfw0pDYZEvtWzso2PiEMenXtywT1Yatwnj645QA== 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=LIWYXGZ2LyxOlyxwZms8d2HrBThuMDou+NzZ5cUhLsg=; b=NQhC/7LpUgR7fyea9KSgKZkOi5x5KskGGDecOG9EwWFBai5Q+7+TyRZdAtCOHa5gCStOF3Ypx+GV9f05JqD81q5UgkIzB2+7ODWHhDqxQOeFi8YtXfcLKlIAebB4Jz+krgKqhyHN1doGwAP5YCKhUt9zu0/IZ7UZlqfTMVKMaFldBs3yF6q2w+2zDmQoNoD3go/mKzPAip5kwAeBn/37VSJPHlMNycv71X+XKS/qjK1GydcjQLYgJREyC260cXYpp3ZFsXMOV5XZQLBVU/BvVzfKx53LJZzOnJXNjq4H9NGNJ6jqhGp7hkANcJhBKy7aMxohAKQS41h1Ju9otB+Wow== 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 DM4PR11MB5408.namprd11.prod.outlook.com (2603:10b6:5:397::19) by SA2PR11MB4780.namprd11.prod.outlook.com (2603:10b6:806:11d::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7249.24; Thu, 1 Feb 2024 06:10:26 +0000 X-Received: from DM4PR11MB5408.namprd11.prod.outlook.com ([fe80::6ef1:8db6:3521:5821]) by DM4PR11MB5408.namprd11.prod.outlook.com ([fe80::6ef1:8db6:3521:5821%6]) with mapi id 15.20.7249.023; Thu, 1 Feb 2024 06:10:26 +0000 From: "Sun, Yi Y" To: "Xu, Min M" , "devel@edk2.groups.io" , "lersek@redhat.com" CC: Michael Roth , Oliver Steffen , "Yao, Jiewen" , Tom Lendacky , Ard Biesheuvel , "Aktas, Erdem" , Gerd Hoffmann , "Huang, Jiaqing" Subject: Re: [edk2-devel] [PATCH v3 1/4] OvmfPkg/Sec: Setup MTRR early in the boot process. Thread-Topic: [edk2-devel] [PATCH v3 1/4] OvmfPkg/Sec: Setup MTRR early in the boot process. Thread-Index: AQHaU3zv63JBCzaKKUWAhMgPiyqfTLDyvGuAgAEYZ4CAAPKY8IAAOt4w Date: Thu, 1 Feb 2024 06:10:26 +0000 Message-ID: References: <20240130130441.772484-1-kraxel@redhat.com> <20240130130441.772484-2-kraxel@redhat.com> <7b3177f0-9696-07e1-ad0e-040d5392b067@redhat.com> In-Reply-To: Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-publictraffictype: Email x-ms-traffictypediagnostic: DM4PR11MB5408:EE_|SA2PR11MB4780:EE_ x-ms-office365-filtering-correlation-id: 557b67e9-53d9-4991-eb06-08dc22ec7b9c 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: XCyUrnbxSmZqI3cWtWO40zojlrFoor96dCQW6K9AGPIWxi2wJS0q0m1RzJ0wlp4dRYU79gKW/mkvMSH/49/25+pXm4kJsLOEh+h+flKHnBSISd3Vgt4iEiJIjMFL5mSxuwmf5u8eKQY+Foa9vX4KS85ZOTWcEy0N4/wWoSsa2vEzpdg0UKzeakI5Wp4Frda2xFqpi1l/swNAq2hNpaM9VLkNlQO5Wv3CDT/nQFquoLAEs/o4Cneow4aXvYZVLexAipcAbkusMsqqUoiMOmkL/bs3I+IXHiH/zxF4CPspFDmEo54tLUQjDjOgh1LO5B+qM0WZbUo9NcfkI6gf78mX7ptXFoZDxBrPKvsGlGKWGo6zCbWMmHLxe31PvU5TJLopUsA1sFXVM78fjWJBTVwwI4FSmrQvML3DL7q8yWIzK44Z0WhWF+rEP1Po+x+Ys9u/Qk3Fe6TtkSth2xdxZDHMWWz5SjIzQnD639ybnbTi0q1z7QYpJq2/IoyUAlG/3D9Bmd6jkryA9S7cX18SrmmI7jRhMgXAxdvJRf6UoMONcfqcFOJbPEwe38FnmSvCiQfXprZS+Rx5zUkLLqUA3pVmUfxPrMs0agHcLwu7am2Hfz0= x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?Y0lZMjJNZ1BjN0QrOUJxeWlkOXJUOTZhaS9MaCtaMGg2aG05VzJzRVFxSjNm?= =?utf-8?B?RE85b1VPdG8wMmVTOTdhOVhPY3JOZG1CZGVOZi8vNkdveXlhdTBrY3BFcFNz?= =?utf-8?B?OWVhMG9Sa2dnajFtZEI2bS9YSTFXRDl5ZzlCM2hoNUFXdDZLRUYwWVU3KzhN?= =?utf-8?B?ZWJQT0VlR0wrMXByUmQyMlNKaU5lOGdJL29uMFF1UVZadzB0T05TQjJxcWE3?= =?utf-8?B?LzU3WmwraDkrUWJSR1BXMGgzZDBBSTRRUTVOY0xmTmRFbVFlZW5wa21yNUsx?= =?utf-8?B?M1pya2s1cE9pTjJqMDFFMGU0dG1QM2xyTUQ1NU5PeW5qSytUbUU0U3BlYnY0?= =?utf-8?B?N2RQYnRaV2JpVzZQZWNnY0ZQT3VkWmZpTjFUcndocHdkSzFwcDZlRnFDbGtI?= =?utf-8?B?YnBwMGpyMUNIcjN6OGc2WHhjb0N6QXdjVjZMK1I3VzlPVlhuQXZhZGZIMHJH?= =?utf-8?B?TjUxdU1rQktPOEhvRGNvUkZ0TS9lSnNkeHRhRlhuQzd2bVpYTmZqcFdUM2h4?= =?utf-8?B?bjZvVmVUVWNyaGpWYlU1aUZrOXI4SGc1ZWRjeiswekFSQStGNmp5SXdkRnpJ?= =?utf-8?B?V01uSG84NjhnSXBKZGtYdG9iUGV3V2lvaVJiZWMzaHZmM0JwaUQ1YTRLaVBD?= =?utf-8?B?U2NHTHdKeEY3VFVXMVExUUcvODlaUXhUSmpGM0FOOE9UZ1lNY2N4QUx0M0FU?= =?utf-8?B?V09HNHNCK09mSUcrZm52R3llNERzOE15eEQrZkZ0ZCtSQVdCVFpnMC8xbFRV?= =?utf-8?B?YWtMUENtSWlCeFZzVnQ0OWQyMG9CM2lqSVFlOG55NUxjTjlSV2ZFTUdFa0RV?= =?utf-8?B?UkJLTmFPeFoxZ3F4b3pDTjFCeWpaM0VzQ0ZSTktvb3NQbThJNWxDcWxGSlUr?= =?utf-8?B?OXBVc2lFemFVM1NHYzg0VWJ4c1J4b1diZW9VWFFNZ1owWHJ5Q0VVbGZsOFRx?= =?utf-8?B?WCttVWNZZUVVazFDQXJnOGlEQzJWLzBBTm1MenBNdHJpbytNdlU4aUtDb2lW?= =?utf-8?B?NW1yd0xHbzdpSW02OVpvSEhUYjRiQ0Z0ektTTm5UclRjeHlURzg3QmV0UE56?= =?utf-8?B?Ly9vUkVIRVE5UjNZYXN1WHR2WGdxZEQybmxiYkphd21QMXE0eXpMOHk4YWdj?= =?utf-8?B?cU0yRDZyS0l3SmNDa29ZbEVLV1RuL2VBQ0xKMzN2Um9hdjZhMEFvTlh5MkI5?= =?utf-8?B?RS9HMTVVVDQvaEQ3dGtHUWhqdWE3cDJpNTlpb1UySXNzZGZBVGxRcG5HL25H?= =?utf-8?B?bDl5SVhkaWZaaUtjWVgvQUVHaE1kSEx5RU8yRm1sa3pNeXlLZWNWK0ZJRWpp?= =?utf-8?B?KzJVVHBMWVB2emRIREMvc2RpWXRaMHplMmlJa2NDQVdOVDRwMXJxRWd1ZVA4?= =?utf-8?B?TzBlMHJIRElKTVEyRHZZei9uV3IvNitVb2lxdkxxMDBhaE44RkJRUlFGV2to?= =?utf-8?B?MUNmbll0eldNdkwyR2Flck80bjUySDNxeXBKYmNldTJNYjZ5V3Q2clhOZEs0?= =?utf-8?B?eGhHb1JwR2ozeXpnaWFtOS9PZUNiTHdFVjVtRFFTNVdBTWl3S2NOWCtuc2du?= =?utf-8?B?YUNINTBhc0ZCUHdCd20xUDhVaW9ad1RENGN3ZzhuNS9nTDZVRGtYYUlicnRB?= =?utf-8?B?L2g3VDYrbWExS29VVFFtUGhNL20ycjFqcitSd044b0JTaVQrUTQraXZDWVpB?= =?utf-8?B?c2xPMmYwY1NiS2dJN2ZNZHpUb3RoaitqQ3FmaHBuZDBybWVXckN2YzhTdGF1?= =?utf-8?B?dStiUHk5KzNiMEdRZ05zYjhrTzRRMHhCczFpZUE5aTUyWTlMOWY2Z3JHUFVK?= =?utf-8?B?MmZROEFnQ2dzeWtxU0pLTGw5QXkvbU9EUUFpM0Z3UWQvcnJTYldWYzhoSWNo?= =?utf-8?B?aHZzWFEzMHJlOTVhK1FUWmNUbGVyd2R2T0lUaFFHbm84REZ1SktoUHlJMmZJ?= =?utf-8?B?b00wdGRKN0JudTlGaTRKcElnbm5hZDZyNE83R3FBZGNpV2JnNUs5SHNXd2Fp?= =?utf-8?B?ZjRGQUNtVU9rQ0tEUFpqVFltV0lrVmNvelVuWVpFNTFHZXZMTGcva0JnS3cx?= =?utf-8?B?RGFNNTZGUU5GcUpVSUJOQ2xFc2I3UlkrUEVjVFNmZlJoS1ZjY01MaXkzT2ZR?= =?utf-8?Q?QdM89joPX8vwOKXi+CCX3NdFU?= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DM4PR11MB5408.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 557b67e9-53d9-4991-eb06-08dc22ec7b9c X-MS-Exchange-CrossTenant-originalarrivaltime: 01 Feb 2024 06:10:26.0746 (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: a9D9pDWR0BdA4SrcdD2agSE75cqLaMnLJXe4yv9+2XXKqiKXbdZgTXD42sBN8m55/xS00s1kWiougIvZXcik3Q== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA2PR11MB4780 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,yi.y.sun@intel.com List-Unsubscribe-Post: List-Unsubscribe=One-Click List-Unsubscribe: X-Gm-Message-State: rpGQCH2NhMOD3czFGjxh4NWVx7686176AA= 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=nUekuABx; 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 SGksIGFsbCwNCg0KUGVyIG91ciB0ZXN0LCB0aGlzIGlzc3VlIG9ubHkgaGFwcGVucyB3aGVuIHRo ZSBtZGV2L3ZkZXYgaXMgYXNzaWduZWQgdG8gVk0uIEJ1dCBQRihwaHlzaWNhbCBmdW5jdGlvbikv VkYodmlydHVhbCBmdW5jdGlvbikgYXNzaWdubWVudCBpcyBnb29kLiBQZXIgSmlhcWluZydzIGlu dmVzdGlnYXRpb24sIGl0IGlzIGJlY2F1c2UgdGhhdCB0aGUgbWRldi92ZGV2IHBhc3N0aHJvdWdo IGZsb3cgaXMgZGlmZmVyZW50IHdpdGggUEYvVkYuIEZvciB2ZGV2L21kZXYgcGFzc3Rocm91Z2gg dG8gVk0sIHRoZSBlbmZvcmNlX2NhY2hlX2NvaGVyZW5jeSB3YXMgZW5hYmxlZCBhZnRlciBkZXZp Y2UgYm91bmQgdG8gaW9tbXVmZC4gQnV0IGl0IGRvZXNuJ3QgdXBkYXRlIHRoZSBrdm0gY29oZXJl bmN5IHN0YXRlIGFmdGVyIHRoYXQuIFRoaXMgbWFrZXMgdGhlIG1lbW9yeSB0eXBlIGJlIFVOQ0FD SEFCTEUgd2hpY2ggY2F1c2VzIHRoZSByZWFkaW5nIGlzIHZlcnkgc2xvdy4NCg0KU28sIHdoYXQg aXMgeW91ciBvcGluaW9uIHRvIGZpeCBpdD8gV2hpY2ggc2lkZSB0byBmaXggaXQgaXMgYmV0dGVy LCBvdm1mIG9yIHZmaW8/IFRoYW5rcyENCg0KQlRXLCB3ZSBoYXZlIGNvb2tlZCBhIHBhdGNoIHRv IGZpeCBpdC4gQnV0IGl0IGJhc2VzIG9uIEludGVsIGludGVybmFsIHJlcG8uIElmIGl0IGlzIG5l Y2Vzc2FyeSwgd2UgY2FuIHJlYmFzZSBpdCB0byB1cHN0cmVhbS4NCg0KQlJzLA0KWWkgU3VuDQoN Cj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogWHUsIE1pbiBNIDxtaW4ubS54 dUBpbnRlbC5jb20+DQo+IFNlbnQ6IFRodXJzZGF5LCBGZWJydWFyeSAxLCAyMDI0IDE6MjEgUE0N Cj4gVG86IGRldmVsQGVkazIuZ3JvdXBzLmlvOyBsZXJzZWtAcmVkaGF0LmNvbQ0KPiBDYzogTWlj aGFlbCBSb3RoIDxtaWNoYWVsLnJvdGhAYW1kLmNvbT47IE9saXZlciBTdGVmZmVuDQo+IDxvc3Rl ZmZlbkByZWRoYXQuY29tPjsgWWFvLCBKaWV3ZW4gPGppZXdlbi55YW9AaW50ZWwuY29tPjsgVG9t DQo+IExlbmRhY2t5IDx0aG9tYXMubGVuZGFja3lAYW1kLmNvbT47IEFyZCBCaWVzaGV1dmVsDQo+ IDxhcmRiK3RpYW5vY29yZUBrZXJuZWwub3JnPjsgQWt0YXMsIEVyZGVtIDxlcmRlbWFrdGFzQGdv b2dsZS5jb20+Ow0KPiBHZXJkIEhvZmZtYW5uIDxrcmF4ZWxAcmVkaGF0LmNvbT47IFN1biwgWWkg WSA8eWkueS5zdW5AaW50ZWwuY29tPjsNCj4gSHVhbmcsIEppYXFpbmcgPGppYXFpbmcuaHVhbmdA aW50ZWwuY29tPg0KPiBTdWJqZWN0OiBSRTogW2VkazItZGV2ZWxdIFtQQVRDSCB2MyAxLzRdIE92 bWZQa2cvU2VjOiBTZXR1cCBNVFJSIGVhcmx5IGluDQo+IHRoZSBib290IHByb2Nlc3MuDQo+IA0K PiBPbiBXZWRuZXNkYXksIEphbnVhcnkgMzEsIDIwMjQgODowNiBQTSwgTGFzemxvIEVyc2VrIHdy b3RlOg0KPiA+DQo+ID4gSGkgTWluLA0KPiA+DQo+ID4gT24gMS8zMC8yNCAyMDoyMiwgTGFzemxv IEVyc2VrIHdyb3RlOg0KPiA+ID4gT24gMS8zMC8yNCAxNDowNCwgR2VyZCBIb2ZmbWFubiB3cm90 ZToNCj4gPiA+PiBTcGVjaWZpY2FsbHkgYmVmb3JlIHJ1bm5pbmcgbHptYSB1bmNvbXByZXNzIG9m IHRoZSBtYWluIGZpcm13YXJlDQo+ID4gdm9sdW1lLg0KPiA+ID4+IFRoaXMgaXMgbmVlZGVkIHRv IG1ha2Ugc3VyZSBjYWNoaW5nIGlzIGVuYWJsZWQsIG90aGVyd2lzZSB0aGUNCj4gPiA+PiB1bmNv bXByZXNzIGNhbiBiZSBleHRyZW1lbHkgc2xvdy4NCj4gPiA+Pg0KPiA+ID4+IEFkYXB0IHRoZSBB U1NFUlRzIGFuZCBNVFJSIHNldHVwIGluIFBsYXRmb3JtSW5pdExpYiB0byB0aGUgY2hhbmdlcy4N Cj4gPiA+Pg0KPiA+ID4+IEJhY2tncm91bmQ6ICBEZXBlbmRpbmcgb24gdmlydHVhbCBtYWNoaW5l IGNvbmZpZ3VyYXRpb24ga3ZtIG1heQ0KPiA+ID4+IHVzZXMgRVBUIG1lbW9yeSB0eXBlcyB0byBh cHBseSBndWVzdCBNVFJSIHNldHRpbmdzLiAgSW4gY2FzZSBNVFJScw0KPiA+ID4+IGFyZSBkaXNh YmxlZCBrdm0gd2lsbCB1c2UgdGhlIHVuY2FjaGFibGUgbWVtb3J5IHR5cGUgZm9yIGFsbCBtYXBw aW5ncy4NCj4gPiA+PiBUaGUNCj4gPiA+PiB2bXhfZ2V0X210X21hc2soKSBmdW5jdGlvbiBpbiB0 aGUgbGludXgga2VybmVsIGhhbmRsZXMgdGhpcyBhbmQgY2FuDQo+ID4gPj4gYmUgZm91bmQgaGVy ZToNCj4gPiA+Pg0KPiA+ID4+IGh0dHBzOi8vZ2l0Lmtlcm5lbC5vcmcvcHViL3NjbS9saW51eC9r ZXJuZWwvZ2l0L3N0YWJsZS9saW51eC5naXQvdHINCj4gPiA+PiBlZQ0KPiA+ID4+IC9hcmNoL3g4 Ni9rdm0vdm14L3ZteC5jP2g9djYuNy4xI243NTgwDQo+ID4gPj4NCj4gPiA+PiBJbiBtb3N0IFZN IGNvbmZpZ3VyYXRpb25zIGt2bSB1c2VzIE1UUlJfVFlQRV9XUkJBQ0sNCj4gPiB1bmNvbmRpdGlv bmFsbHkuDQo+ID4gPj4gSW4gY2FzZSB0aGUgVk0gaGFzIGEgbWRldiBkZXZpY2UgYXNzaWduZWQg dGhhdCBpcyBub3QgdGhlIGNhc2UgdGhvdWdoLg0KPiA+ID4+DQo+ID4gPj4gQmVmb3JlIGNvbW1p dCBlOGFhNGM2NTQ2YWQgKCJVZWZpQ3B1UGtnL1Jlc2V0VmVjdG9yOiBDYWNoZSBEaXNhYmxlDQo+ ID4gPj4gc2hvdWxkIG5vdCBiZSBzZXQgYnkgZGVmYXVsdCBpbiBDUjAiKSBrdm0gYWxzbyBlbmRl ZCB1cCB1c2luZw0KPiA+ID4+IE1UUlJfVFlQRV9XUkJBQ0sgZHVlIHRvIEtWTV9YODZfUVVJUktf Q0RfTldfQ0xFQVJFRC4NCj4gQWZ0ZXINCj4gPiB0aGF0DQo+ID4gPj4gY29tbWl0IGt2bSBldmFs dWF0ZXMgZ3Vlc3QgbXRyciBzZXR0aW5ncywgd2hpY2ggd2h5IHNldHRpbmcgdXANCj4gPiA+PiBN VFJScyBlYXJseSBpcyBpbXBvcnRhbnQgbm93Lg0KPiA+ID4+DQo+ID4gPj4gU2lnbmVkLW9mZi1i eTogR2VyZCBIb2ZmbWFubiA8a3JheGVsQHJlZGhhdC5jb20+DQo+ID4gPj4gLS0tDQo+ID4gPj4g IE92bWZQa2cvSW50ZWxUZHgvU2VjL1NlY01haW4uYyAgICAgICAgICAgICAgfCAzMiArKysrKysr KysrKysrKysrKysrKysNCj4gPiA+PiAgT3ZtZlBrZy9MaWJyYXJ5L1BsYXRmb3JtSW5pdExpYi9N ZW1EZXRlY3QuYyB8IDEwICsrKy0tLS0NCj4gPiA+PiAgT3ZtZlBrZy9TZWMvU2VjTWFpbi5jICAg ICAgICAgICAgICAgICAgICAgICB8IDMyICsrKysrKysrKysrKysrKysrKysrKw0KPiA+ID4+ICAz IGZpbGVzIGNoYW5nZWQsIDY5IGluc2VydGlvbnMoKyksIDUgZGVsZXRpb25zKC0pDQo+ID4gPj4N Cj4gPiA+PiBkaWZmIC0tZ2l0IGEvT3ZtZlBrZy9JbnRlbFRkeC9TZWMvU2VjTWFpbi5jDQo+ID4g Pj4gYi9Pdm1mUGtnL0ludGVsVGR4L1NlYy9TZWNNYWluLmMgaW5kZXggNDJhNTg3YWRmYTU3Li5h MjE4Y2ExN2EwMWENCj4gPiA+PiAxMDA2NDQNCj4gPiA+PiAtLS0gYS9Pdm1mUGtnL0ludGVsVGR4 L1NlYy9TZWNNYWluLmMNCj4gPiA+PiArKysgYi9Pdm1mUGtnL0ludGVsVGR4L1NlYy9TZWNNYWlu LmMNCj4gPiA+PiBAQCAtMjcsNiArMjcsOCBAQA0KPiA+ID4+ICAjaW5jbHVkZSA8TGlicmFyeS9U ZHhIZWxwZXJMaWIuaD4NCj4gPiA+PiAgI2luY2x1ZGUgPExpYnJhcnkvQ2NQcm9iZUxpYi5oPg0K PiA+ID4+ICAjaW5jbHVkZSA8TGlicmFyeS9QZWlsZXNzU3RhcnR1cExpYi5oPg0KPiA+ID4+ICsj aW5jbHVkZSA8UmVnaXN0ZXIvSW50ZWwvQXJjaGl0ZWN0dXJhbE1zci5oPg0KPiA+ID4+ICsjaW5j bHVkZSA8UmVnaXN0ZXIvSW50ZWwvQ3B1aWQuaD4NCj4gPiA+Pg0KPiA+ID4+ICAjZGVmaW5lIFNF Q19JRFRfRU5UUllfQ09VTlQgIDM0DQo+ID4gPj4NCj4gPiA+PiBAQCAtNDgsNiArNTAsMzEgQEAg SUEzMl9JRFRfR0FURV9ERVNDUklQVE9SICBtSWR0RW50cnlUZW1wbGF0ZQ0KPiA9DQo+ID4gew0K PiA+ID4+ICAgIH0NCj4gPiA+PiAgfTsNCj4gPiA+Pg0KPiA+ID4+ICsvLw0KPiA+ID4+ICsvLyBF bmFibGUgTVRSUiBlYXJseSwgc2V0IGRlZmF1bHQgdHlwZSB0byB3cml0ZSBiYWNrLg0KPiA+ID4+ ICsvLyBOZWVkZWQgdG8gbWFrZSBzdXJlIGNhY2hpbmcgaXMgZW5hYmxlZCwgLy8gd2l0aG91dCB0 aGlzIGx6bWENCj4gPiA+PiArZGVjb21wcmVzcyBjYW4gYmUgdmVyeSBzbG93Lg0KPiA+ID4+ICsv Lw0KPiA+ID4+ICtTVEFUSUMNCj4gPiA+PiArVk9JRA0KPiA+ID4+ICtTZWNNdHJyU2V0dXAgKA0K PiA+ID4+ICsgIFZPSUQNCj4gPiA+PiArICApDQo+ID4gPj4gK3sNCj4gPiA+PiArICBDUFVJRF9W RVJTSU9OX0lORk9fRURYICAgICAgICAgICBFZHg7DQo+ID4gPj4gKyAgTVNSX0lBMzJfTVRSUl9E RUZfVFlQRV9SRUdJU1RFUiAgRGVmVHlwZTsNCj4gPiA+PiArDQo+ID4gPj4gKyAgQXNtQ3B1aWQg KENQVUlEX1ZFUlNJT05fSU5GTywgTlVMTCwgTlVMTCwgTlVMTCwgJkVkeC5VaW50MzIpOw0KPiA+ ID4+ICsgaWYNCj4gPiA+PiArICghRWR4LkJpdHMuTVRSUikgew0KPiA+ID4+ICsgICAgcmV0dXJu Ow0KPiA+ID4+ICsgIH0NCj4gPiA+PiArDQo+ID4gPj4gKyAgRGVmVHlwZS5VaW50NjQgICAgPSBB c21SZWFkTXNyNjQgKE1TUl9JQTMyX01UUlJfREVGX1RZUEUpOw0KPiA+ID4+ICsgIERlZlR5cGUu Qml0cy5UeXBlID0gNjsgLyogd3JpdGUgYmFjayAqLw0KPiA+ID4+ICsgIERlZlR5cGUuQml0cy5F ICAgID0gMTsgLyogZW5hYmxlICovDQo+ID4gPj4gKyAgQXNtV3JpdGVNc3I2NCAoTVNSX0lBMzJf TVRSUl9ERUZfVFlQRSwgRGVmVHlwZS5VaW50NjQpOyB9DQo+ID4gPj4gKw0KPiA+ID4+ICBWT0lE DQo+ID4gPj4gIEVGSUFQSQ0KPiA+ID4+ICBTZWNDb3JlU3RhcnR1cFdpdGhTdGFjayAoDQo+ID4g Pj4gQEAgLTIwNCw2ICsyMzEsMTEgQEAgU2VjQ29yZVN0YXJ0dXBXaXRoU3RhY2sgKA0KPiA+ID4+ ICAgIEluaXRpYWxpemVBcGljVGltZXIgKDAsIE1BWF9VSU5UMzIsIFRSVUUsIDUpOw0KPiA+ID4+ ICAgIERpc2FibGVBcGljVGltZXJJbnRlcnJ1cHQgKCk7DQo+ID4gPj4NCj4gPiA+PiArICAvLw0K PiA+ID4+ICsgIC8vIEluaXRpYWxpemUgTVRSUg0KPiA+ID4+ICsgIC8vDQo+ID4gPj4gKyAgU2Vj TXRyclNldHVwICgpOw0KPiA+ID4+ICsNCj4gPiA+PiAgICBQZWlsZXNzU3RhcnR1cCAoJlNlY0Nv cmVEYXRhKTsNCj4gPiA+Pg0KPiA+ID4+ICAgIEFTU0VSVCAoRkFMU0UpOw0KPiA+ID4+IGRpZmYg LS1naXQgYS9Pdm1mUGtnL0xpYnJhcnkvUGxhdGZvcm1Jbml0TGliL01lbURldGVjdC5jDQo+ID4g Pj4gYi9Pdm1mUGtnL0xpYnJhcnkvUGxhdGZvcm1Jbml0TGliL01lbURldGVjdC5jDQo+ID4gPj4g aW5kZXggZjA0MjUxN2JiNjRhLi5lODlmNjNlZWUwNTQgMTAwNjQ0DQo+ID4gPj4gLS0tIGEvT3Zt ZlBrZy9MaWJyYXJ5L1BsYXRmb3JtSW5pdExpYi9NZW1EZXRlY3QuYw0KPiA+ID4+ICsrKyBiL092 bWZQa2cvTGlicmFyeS9QbGF0Zm9ybUluaXRMaWIvTWVtRGV0ZWN0LmMNCj4gPiA+PiBAQCAtMTA4 MiwxOCArMTA4MiwxOCBAQCBQbGF0Zm9ybVFlbXVJbml0aWFsaXplUmFtICgNCj4gPiA+PiAgICAg IE10cnJHZXRBbGxNdHJycyAoJk10cnJTZXR0aW5ncyk7DQo+ID4gPj4NCj4gPiA+PiAgICAgIC8v DQo+ID4gPj4gLSAgICAvLyBNVFJScyBkaXNhYmxlZCwgZml4ZWQgTVRSUnMgZGlzYWJsZWQsIGRl ZmF1bHQgdHlwZSBpcyB1bmNhY2hlZA0KPiA+ID4+ICsgICAgLy8gU2VlIFNlY010cnJTZXR1cCgp LCBkZWZhdWx0IHR5cGUgc2hvdWxkIGJlIHdyaXRlIGJhY2sNCj4gPiA+PiAgICAgIC8vDQo+ID4g Pj4gLSAgICBBU1NFUlQgKChNdHJyU2V0dGluZ3MuTXRyckRlZlR5cGUgJiBCSVQxMSkgPT0gMCk7 DQo+ID4gPj4gKyAgICBBU1NFUlQgKChNdHJyU2V0dGluZ3MuTXRyckRlZlR5cGUgJiBCSVQxMSkg IT0gMCk7DQo+ID4gPj4gICAgICBBU1NFUlQgKChNdHJyU2V0dGluZ3MuTXRyckRlZlR5cGUgJiBC SVQxMCkgPT0gMCk7DQo+ID4gPj4gLSAgICBBU1NFUlQgKChNdHJyU2V0dGluZ3MuTXRyckRlZlR5 cGUgJiAweEZGKSA9PSAwKTsNCj4gPiA+PiArICAgIEFTU0VSVCAoKE10cnJTZXR0aW5ncy5NdHJy RGVmVHlwZSAmIDB4RkYpID09DQo+ID4gPj4gKyBNVFJSX0NBQ0hFX1dSSVRFX0JBQ0spOw0KPiA+ ID4+DQo+ID4gPj4gICAgICAvLw0KPiA+ID4+ICAgICAgLy8gZmxpcCBkZWZhdWx0IHR5cGUgdG8g d3JpdGViYWNrDQo+ID4gPj4gICAgICAvLw0KPiA+ID4+IC0gICAgU2V0TWVtICgmTXRyclNldHRp bmdzLkZpeGVkLCBzaXplb2YgTXRyclNldHRpbmdzLkZpeGVkLCAweDA2KTsNCj4gPiA+PiArICAg IFNldE1lbSAoJk10cnJTZXR0aW5ncy5GaXhlZCwgc2l6ZW9mIE10cnJTZXR0aW5ncy5GaXhlZCwN Cj4gPiA+PiArIE1UUlJfQ0FDSEVfV1JJVEVfQkFDSyk7DQo+ID4gPj4gICAgICBaZXJvTWVtICgm TXRyclNldHRpbmdzLlZhcmlhYmxlcywgc2l6ZW9mIE10cnJTZXR0aW5ncy5WYXJpYWJsZXMpOw0K PiA+ID4+IC0gICAgTXRyclNldHRpbmdzLk10cnJEZWZUeXBlIHw9IEJJVDExIHwgQklUMTAgfCA2 Ow0KPiA+ID4+ICsgICAgTXRyclNldHRpbmdzLk10cnJEZWZUeXBlIHw9IEJJVDEwOw0KPiA+ID4+ ICAgICAgTXRyclNldEFsbE10cnJzICgmTXRyclNldHRpbmdzKTsNCj4gPiA+Pg0KPiA+ID4+ICAg ICAgLy8NCj4gPiA+PiBkaWZmIC0tZ2l0IGEvT3ZtZlBrZy9TZWMvU2VjTWFpbi5jIGIvT3ZtZlBr Zy9TZWMvU2VjTWFpbi5jIGluZGV4DQo+ID4gPj4gMzFkYTVkMGFjZTUxLi40NmM1NGYyOTg0ZmYg MTAwNjQ0DQo+ID4gPj4gLS0tIGEvT3ZtZlBrZy9TZWMvU2VjTWFpbi5jDQo+ID4gPj4gKysrIGIv T3ZtZlBrZy9TZWMvU2VjTWFpbi5jDQo+ID4gPj4gQEAgLTMwLDYgKzMwLDggQEANCj4gPiA+PiAg I2luY2x1ZGUgPFBwaS9NcEluaXRMaWJEZXAuaD4NCj4gPiA+PiAgI2luY2x1ZGUgPExpYnJhcnkv VGR4SGVscGVyTGliLmg+DQo+ID4gPj4gICNpbmNsdWRlIDxMaWJyYXJ5L0NjUHJvYmVMaWIuaD4N Cj4gPiA+PiArI2luY2x1ZGUgPFJlZ2lzdGVyL0ludGVsL0FyY2hpdGVjdHVyYWxNc3IuaD4NCj4g PiA+PiArI2luY2x1ZGUgPFJlZ2lzdGVyL0ludGVsL0NwdWlkLmg+DQo+ID4gPj4gICNpbmNsdWRl ICJBbWRTZXYuaCINCj4gPiA+Pg0KPiA+ID4+ICAjZGVmaW5lIFNFQ19JRFRfRU5UUllfQ09VTlQg IDM0DQo+ID4gPj4gQEAgLTc0NCw2ICs3NDYsMzEgQEAgRmluZEFuZFJlcG9ydEVudHJ5UG9pbnRz ICgNCj4gPiA+PiAgICByZXR1cm47DQo+ID4gPj4gIH0NCj4gPiA+Pg0KPiA+ID4+ICsvLw0KPiA+ ID4+ICsvLyBFbmFibGUgTVRSUiBlYXJseSwgc2V0IGRlZmF1bHQgdHlwZSB0byB3cml0ZSBiYWNr Lg0KPiA+ID4+ICsvLyBOZWVkZWQgdG8gbWFrZSBzdXJlIGNhY2hpbmcgaXMgZW5hYmxlZCwgLy8g d2l0aG91dCB0aGlzIGx6bWENCj4gPiA+PiArZGVjb21wcmVzcyBjYW4gYmUgdmVyeSBzbG93Lg0K PiA+ID4+ICsvLw0KPiA+ID4+ICtTVEFUSUMNCj4gPiA+PiArVk9JRA0KPiA+ID4+ICtTZWNNdHJy U2V0dXAgKA0KPiA+ID4+ICsgIFZPSUQNCj4gPiA+PiArICApDQo+ID4gPj4gK3sNCj4gPiA+PiAr ICBDUFVJRF9WRVJTSU9OX0lORk9fRURYICAgICAgICAgICBFZHg7DQo+ID4gPj4gKyAgTVNSX0lB MzJfTVRSUl9ERUZfVFlQRV9SRUdJU1RFUiAgRGVmVHlwZTsNCj4gPiA+PiArDQo+ID4gPj4gKyAg QXNtQ3B1aWQgKENQVUlEX1ZFUlNJT05fSU5GTywgTlVMTCwgTlVMTCwgTlVMTCwgJkVkeC5VaW50 MzIpOw0KPiA+ID4+ICsgaWYNCj4gPiA+PiArICghRWR4LkJpdHMuTVRSUikgew0KPiA+ID4+ICsg ICAgcmV0dXJuOw0KPiA+ID4+ICsgIH0NCj4gPiA+PiArDQo+ID4gPj4gKyAgRGVmVHlwZS5VaW50 NjQgICAgPSBBc21SZWFkTXNyNjQgKE1TUl9JQTMyX01UUlJfREVGX1RZUEUpOw0KPiA+ID4+ICsg IERlZlR5cGUuQml0cy5UeXBlID0gNjsgLyogd3JpdGUgYmFjayAqLw0KPiA+ID4+ICsgIERlZlR5 cGUuQml0cy5FICAgID0gMTsgLyogZW5hYmxlICovDQo+ID4gPj4gKyAgQXNtV3JpdGVNc3I2NCAo TVNSX0lBMzJfTVRSUl9ERUZfVFlQRSwgRGVmVHlwZS5VaW50NjQpOyB9DQo+ID4gPj4gKw0KPiA+ ID4+ICBWT0lEDQo+ID4gPj4gIEVGSUFQSQ0KPiA+ID4+ICBTZWNDb3JlU3RhcnR1cFdpdGhTdGFj ayAoDQo+ID4gPj4gQEAgLTk0Miw2ICs5NjksMTEgQEAgU2VjQ29yZVN0YXJ0dXBXaXRoU3RhY2sg KA0KPiA+ID4+ICAgIEluaXRpYWxpemVBcGljVGltZXIgKDAsIE1BWF9VSU5UMzIsIFRSVUUsIDUp Ow0KPiA+ID4+ICAgIERpc2FibGVBcGljVGltZXJJbnRlcnJ1cHQgKCk7DQo+ID4gPj4NCj4gPiA+ PiArICAvLw0KPiA+ID4+ICsgIC8vIEluaXRpYWxpemUgTVRSUg0KPiA+ID4+ICsgIC8vDQo+ID4g Pj4gKyAgU2VjTXRyclNldHVwICgpOw0KPiA+ID4+ICsNCj4gPiA+PiAgICAvLw0KPiA+ID4+ICAg IC8vIEluaXRpYWxpemUgRGVidWcgQWdlbnQgdG8gc3VwcG9ydCBzb3VyY2UgbGV2ZWwgZGVidWcg aW4NCj4gPiA+PiBTRUMvUEVJIHBoYXNlcw0KPiA+IGJlZm9yZSBtZW1vcnkgcmVhZHkuDQo+ID4g Pj4gICAgLy8NCj4gPiA+DQo+ID4gPiBDYW5ub3QgY29tbWVudCBvbiB0aGUgIk92bWZQa2cvSW50 ZWxUZHgvU2VjL1NlY01haW4uYyIgc291cmNlIGZpbGUNCj4gPiA+IGNoYW5nZXMsIGJ1dCBmb3Ig dGhlIHJlc3Q6DQo+ID4NCj4gPiBDYW4geW91IGNvbmZpcm0gKGEpIHRoaXMgcGF0Y2ggaXMgT0sg Zm9yDQo+ID4gIk92bWZQa2cvSW50ZWxUZHgvU2VjL1NlY01haW4uYyIsIGFuZCAoYikgdGhpcyBz ZXJpZXMgZml4ZXMgdGhlIHNsb3dkb3duDQo+IHlvdSBoYWQgZW5jb3VudGVyZWQ/DQo+ID4NCj4g PiAodGhhdCdzIHdoYXQncyBsZWZ0IGJlZm9yZSB3ZSBjYW4gbWVyZ2UgdGhpcyBzZXJpZXMpDQo+ ID4NCj4gV2UgdGVzdCB0aGUgcGF0Y2ggaW4gVERYIGFuZCBmaW5kIEVYSVRfUkVBU09OX0NSX0FD Q0VTUyBpcyB0cmlnZ2VyZWQgaW4NCj4gRFhFIHBoYXNlLiBJdCBjYXVzZSBhbiBhc3NlcnQgYmVj YXVzZSBpdCBpcyBub3QgaGFuZGxlZCBieSBDY0V4aXRIYW5kbGVWZS4NCj4gDQo+IFRoYW5rcw0K PiBNaW4NCg0KCi09LT0tPS09LT0tPS09LT0tPS09LT0tCkdyb3Vwcy5pbyBMaW5rczogWW91IHJl Y2VpdmUgYWxsIG1lc3NhZ2VzIHNlbnQgdG8gdGhpcyBncm91cC4KVmlldy9SZXBseSBPbmxpbmUg KCMxMTQ5NzcpOiBodHRwczovL2VkazIuZ3JvdXBzLmlvL2cvZGV2ZWwvbWVzc2FnZS8xMTQ5NzcK TXV0ZSBUaGlzIFRvcGljOiBodHRwczovL2dyb3Vwcy5pby9tdC8xMDQwNTI1OTEvNzY4NjE3NgpH cm91cCBPd25lcjogZGV2ZWwrb3duZXJAZWRrMi5ncm91cHMuaW8KVW5zdWJzY3JpYmU6IGh0dHBz Oi8vZWRrMi5ncm91cHMuaW8vZy9kZXZlbC91bnN1YiBbcmViZWNjYUBvcGVuZncuaW9dCi09LT0t PS09LT0tPS09LT0tPS09LT0tCgoNCg==