From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by mx.groups.io with SMTP id smtpd.web12.2231.1627461266844076457 for ; Wed, 28 Jul 2021 01:34:27 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@intel.onmicrosoft.com header.s=selector2-intel-onmicrosoft-com header.b=d3q71MRN; spf=pass (domain: intel.com, ip: 192.55.52.88, mailfrom: min.m.xu@intel.com) X-IronPort-AV: E=McAfee;i="6200,9189,10058"; a="234495727" X-IronPort-AV: E=Sophos;i="5.84,275,1620716400"; d="scan'208";a="234495727" Received: from fmsmga007.fm.intel.com ([10.253.24.52]) by fmsmga101.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 28 Jul 2021 01:34:25 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.84,275,1620716400"; d="scan'208";a="437657004" Received: from fmsmsx605.amr.corp.intel.com ([10.18.126.85]) by fmsmga007.fm.intel.com with ESMTP; 28 Jul 2021 01:34:25 -0700 Received: from fmsmsx611.amr.corp.intel.com (10.18.126.91) 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.2242.4; Wed, 28 Jul 2021 01:34:24 -0700 Received: from fmsedg601.ED.cps.intel.com (10.1.192.135) by fmsmsx611.amr.corp.intel.com (10.18.126.91) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.10 via Frontend Transport; Wed, 28 Jul 2021 01:34:24 -0700 Received: from NAM11-DM6-obe.outbound.protection.outlook.com (104.47.57.168) 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.2242.10; Wed, 28 Jul 2021 01:34:24 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Z1kUyos0MBrZS4QXrwuYx46stjFtyVxUdTAF+O08HTC1Sz5QaHX0DUG2ToAWj9ADBix9+LegItIpyaNeMvdelWvc7gdpwp9mzwrP9rtzVqSqKgHXiOrNMdZBTOCNag6fLGC1ixE1RaIhF40cyiOOE8S4L1zNBZ/ZIo+TH7na3axFZFNEWixh6D0Kmx9MxmTeupm+JcGznae0wFKlGF3kvGgLXpizXsatKaRA9rw184b1u3ZoE19WBGH1WOdmnUh89N96QS3HCnw4IQzzoWR0MxDNmwg2ghZafz7xb/ifVgjjpyz7tAxxdAEq3Pjwh6ForxYz6UIDtL66DezXOi07kA== 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=ktMbzr0N/iMdnIVwscYOn6MIiDtxNXQmGekcJy4yCCo=; b=Y9pNoVvn9JZHeEMnBI1aRPB6nPY8mKpLq7PO+WIgjO089UNZM89o2qp5pRc4DXfpt0GPmsE7mVtFalLvDNdHyDDEtvw8eybcQn3qYHXK2L6Ewcbit5LDhDhrB8Oz2aeZuor3eNA/48doNxvzX62oMY1XZ9kO+rk8T8c0CbacNovAr5rYcjpFmk5QqOv4ILdzAFGFwnPb7iR5ZtjM3grjP85EK3Oiz8mwDVXLSi50UHwtreMKDay6ZSkYZmbvPud40hASC18nLVFEnbkJJyf3KqMwZQKtxrqawB3N/j837ULizzPtJVoOaksHQiZrRgkAcYHQgrCnHNhEZOrOhy2J9A== 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=ktMbzr0N/iMdnIVwscYOn6MIiDtxNXQmGekcJy4yCCo=; b=d3q71MRNsbbtHiUFPY9vO9fNMSwMUMMD2Ow/+0OPUZyYfSg3YJHSbO2rogWjLhG3p6v3+KVet68XO/v8pk1AW10etxrTO7RKXjZ/c0y/wuV8BNEDOvuT5UN0GgWlGb2syOfvzz4I9UJpuMsTuqB3YWtc1BcyqXZvAOGMZ8bkpNk= Received: from PH0PR11MB5064.namprd11.prod.outlook.com (2603:10b6:510:3b::15) by PH0PR11MB4903.namprd11.prod.outlook.com (2603:10b6:510:36::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4373.18; Wed, 28 Jul 2021 08:34:21 +0000 Received: from PH0PR11MB5064.namprd11.prod.outlook.com ([fe80::b4be:3994:dd4d:7b9d]) by PH0PR11MB5064.namprd11.prod.outlook.com ([fe80::b4be:3994:dd4d:7b9d%7]) with mapi id 15.20.4331.035; Wed, 28 Jul 2021 08:34:21 +0000 From: "Min Xu" To: "Yao, Jiewen" CC: Brijesh Singh , "devel@edk2.groups.io" , Ard Biesheuvel , "Justen, Jordan L" , Erdem Aktas , James Bottomley , Tom Lendacky Subject: Re: [PATCH V3 06/10] OvmfPkg: Add AmdSev.asm in ResetVector Thread-Topic: [PATCH V3 06/10] OvmfPkg: Add AmdSev.asm in ResetVector Thread-Index: AQHXgqpLISSxStmovUqWJbzyXRRtD6tWps2AgAAKhkCAAA/1AIAABCoAgADHyACAAFpsgIAABjyQgAAYcoCAAAiKgA== Date: Wed, 28 Jul 2021 08:34:21 +0000 Message-ID: References: , <4E4F0C83-ED04-4CFC-BDE2-33825C106DB9@intel.com> In-Reply-To: Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-product: dlpe-windows dlp-reaction: no-action dlp-version: 11.5.1.3 authentication-results: intel.com; dkim=none (message not signed) header.d=none;intel.com; dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 3ba328cc-6ccd-4654-2e73-08d951a27fb2 x-ms-traffictypediagnostic: PH0PR11MB4903: x-ld-processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:10000; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: ZDUudNtoQ8jICMmY9IriYzI2/E6UvUcZbPPGbOmjrHnsmNBadSwe0my6xyncbYM0+7iQIdor4MKzhx0VapdNyo/onpe7rI3/xH1ENlAQ3ePXyjvcNsYg1zId895SiZK7lSv62Mq/QlxULSMbzYccaPjcqBMr94xm8W/CCDqkN0J9zfBZqyPfkhFFm5b7LKOR1WOe+q3SCgq27kYOzkRx8kK/jKQeyN19n89+nTY6MwZbAP97TFBP9GSEviKMZ081J5l5Et+SNmvSQN5xR0mXniKiFc5PT91/hwBPEjHZkR8zsiA1kK7B4Ur1Dt1F+FlmEocW0QLHclJg8431geK302LGWFBljNBYqtB0WL4+3MlmTN39/7Gvg5/5M6J3DrX4b7IlMMucmjWdeRhbApRQ8bpDIOg1LPDPT+rEI5Upgr8xAOIGgXKmU/FvS9dKPBCA00hyxS0U6CkhTK+H+Tm4Agp5t/78uCKjshGBHyV70+8PuwzBDrQzNuyDomXe7jgJoUo98vIrnPxPgAT8zDY5KrB/7Ojvc67qSZVFFxCQGvjtVwSued8PDOOAru2Lw05HMoKL3Nhw9nO+fCuOjdVHo+OPMcg0lJrhb5nGw7BD/VMjJQl/pm/p7Y7XLj/xkeGQvGZJBh5zNElMF8pW95ga70Psk2qFJPTvVouAqQjovdGoM67MOavE5pXqDxYnA1Y8pmuBQlksXwaPo6VCYRzcow== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PH0PR11MB5064.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(39860400002)(396003)(346002)(366004)(136003)(376002)(54906003)(83380400001)(66476007)(26005)(66556008)(66446008)(64756008)(4326008)(52536014)(5660300002)(53546011)(33656002)(76116006)(6636002)(6862004)(2906002)(66946007)(71200400001)(86362001)(6506007)(7696005)(122000001)(316002)(478600001)(8936002)(38100700002)(38070700005)(186003)(9686003)(55016002)(8676002);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?YS9PWGhxVThNNEpiU1pUQnZOWGVZZ1Ard3hJUkI0dTdQRzFtNENsUlpKaUpN?= =?utf-8?B?N2ZONERaWk04aUpTS010YWZSOW5lcHkrcngyZVNrclZUUE9xdnZGZGRlMFp1?= =?utf-8?B?OHhTT1FoY3pDeWZCemhVMVJ3dk9KQmRkVy9HSzJvNEhkWXVuM0xqdlRBOHN2?= =?utf-8?B?aWNzRXZNZkhkSkRlaFR2UnNIUGlMbGNpUnhYRTUrOHpRaURPaXQvdWhTRmJD?= =?utf-8?B?c3V1THRLZkhra3EvVGwrMkNCanJFVCtScVhJN3ZPY1g2SWJtV2ZTb3d4Qklp?= =?utf-8?B?YlYzV1ZoZlladnoyZ3BIL3N1ekRpT2V4S3B1RVpzdzI1RWtvb3lkOURMckNG?= =?utf-8?B?YkFOcHVDT3ljTGRrTVVPa0huZ0xVZERWU1dYV3o1TVpxcCtBZUZYeld5eXVi?= =?utf-8?B?Y285Z3B6ck9acFoxSWl5NUtLZk1oQTBVQzJYWm1TMGhGT1dZdDFsSFJucWts?= =?utf-8?B?L1hRalRPSit3MkVVK0dkbFVZV1dzM0s4aUIrNnZsb0g4ZzBnVEdjZEd2cjg5?= =?utf-8?B?RTJmNHVRYmhSaVcwNGNBRHFqUXU5bVc0NzIzK2kxRXBpTmdQajc0MDBEYnpE?= =?utf-8?B?YWxVT0swOU9qb3Q4TFNlQmsyOW96QTBUVDJQK054WHZMbzQ0RDNCQWFpYmFm?= =?utf-8?B?TTh4dTFnQVNTVlYvcG1OYTFPSkJ2dVFBRGVObVY3c21xY2IzZlZsdHVmNW1L?= =?utf-8?B?cENmTUVOc1QyUnlEODFDVmlkRkhseEptZ0t4bU8zSnRlK3pNVGhSR3FzSWtI?= =?utf-8?B?UzZGdmpObkFxUStJUFF1dnd3Q3dzR2RkU0J3T01kL0J1RHVTWTUrUGptWWJa?= =?utf-8?B?UTdpWVdtSkRibmIxWFUwWmV0TGFoeDRiRk1rNUVvMDBlNSs4dTI4NzRaK0Ra?= =?utf-8?B?NWpFakxpL1JxSHhDd3prUHY1aERGT1FFTXA2RHk5REloUC8xa2sxZDBtMUs1?= =?utf-8?B?Y2hvckZ0VXJOMGtKdjJjVTBieHZoN0dKRDdiKzZZZy9mNlhhaEpqUnFlK0Er?= =?utf-8?B?aDlDU2Q1TVdyanFtRzE0elI3SktQV0hqeXE3WkowcG9mcWloRUFmRUNxb0tH?= =?utf-8?B?SU9tU0pnbm13U3ZzWHBYNGZQQUFscFFnSDVhRVdadUYvZWwvYjg2QXhyVHpB?= =?utf-8?B?K1BISFNYTVNNVWtOS3QxRFZBVHJNVXJXMXJyS1luQ1FDU2FBbzFSZUVJS1Ar?= =?utf-8?B?eGxFOTB0Vys2ZnlNa2xvb200YzlNNnhVQzZUcFpRTmRybzFKbkVJejloR1BK?= =?utf-8?B?Qm1GNXE5MWMwY3h1NFpSbnVVUHdLOFowVlliWDlLc1libTFDZDFBUnVSdVdp?= =?utf-8?B?VWk4eE5YaS9uanlBcE1sWVpzaERuTytVREZEUDVCSmlnR2dBa29oNnNoOE9m?= =?utf-8?B?WnZZNXhPOHZQMWl3RktzMWVMWDA5MlBYbDMrVHRGQVFVQW11V0IzVDBCNEJG?= =?utf-8?B?UCtFNlBqMk42b2ZxbEFWd1FUUThLTm82NGc2djlQZWZKSGlJNEcwcjJZTGN2?= =?utf-8?B?Z0hhYUowcWI1MHE0dU1XcUEzMWFBNmRPSTA2TGJMUTJGWWtCZFN2WTIrVUxJ?= =?utf-8?B?RzJ3TU42S1I5TitidFR3TDFZeXltSk9ab20vNSs0MzFOSGE4MnhpbnA2eVVT?= =?utf-8?B?RXNMeTEyT3JDUEhXUjkyWlZpdEJlekxsVG9HSVVaeUxIaDRicWFtTkxTcEhk?= =?utf-8?B?SURXeWRpVWRLTVVrSW5FSFhJcGtVTS9GbkdQbUd2bUlTTk1QMVZURy9ydWo0?= =?utf-8?Q?7LIqXcBjvIoojGXaEKBBHTNjliH/oKx11tQN94z?= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: PH0PR11MB5064.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 3ba328cc-6ccd-4654-2e73-08d951a27fb2 X-MS-Exchange-CrossTenant-originalarrivaltime: 28 Jul 2021 08:34:21.7237 (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: gML2QEThQhL1PoANyvEsj/Qe3ma3ykvw9ZLpONkvXYx9k83Br0fhSvDxAATrpgMlksoKHVtKYaKjsjKfYXwy7g== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR11MB4903 Return-Path: min.m.xu@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 SSBub3RpY2VkIFNFViBoYXMgdGhlIG1lbW9yeSByZWdpb24gb2YgU0VWX0VTX1dPUktfQVJFQSAo Z1VlZmlDcHVQa2dUb2tlblNwYWNlR3VpZC5QY2RTZXZFc1dvcmtBcmVhQmFzZSkgaW4gTUVNRkQN ClRoZSBkZWZpbml0aW9uIGlzIGJlbG93Og0KICB0eXBlZGVmIHN0cnVjdCBfU0VDX1NFVl9FU19X T1JLX0FSRUEgew0KICAgIFVJTlQ4ICAgIFNldkVzRW5hYmxlZDsNCiAgICBVSU5UOCAgICBSZXNl cnZlZDFbN107DQogICAgVUlOVDY0ICAgUmFuZG9tRGF0YTsNCiAgICBVSU5UNjQgICBFbmNyeXB0 aW9uTWFzazsNCiAgfSBTRUNfU0VWX0VTX1dPUktfQVJFQTsNCg0KSW4gUmVzZXRWZWN0b3IgU0VW IGZsYWcgaXMgcmVjb3JkZWQgaW4gdGhlIGZpcnN0IGJ5dGUgb2YgU0VWX0VTX1dPUktfQVJFQS4g SW4gU2VjTWFpbi5jIHRoaXMgZmxhZyBpcyByZWFkIHRvIGRldGVybWluZSBTRVYuDQoNCkkgYW0g dGhpbmtpbmcgd2hldGhlciB0aGlzIG1lbW9yeSByZWdpb24gY2FuIGJlIHVzZWQgYnkgYm90aCBU RFggYW5kIFNFVi4gKFRoaXMgaXMgb3B0aW9uIDUpDQoNClNFVl9FU19XT1JLX0FSRUEgd2lsbCBi ZSBhZGRlZCBpbiB0ZHggbWV0YWRhdGEgc28gdGhhdCBpdCBpcyBpbml0aWFsaXplZCBieSBob3N0 IFZNTSBhbmQgY2FuIGJlIGFjY2Vzc2VkIGluIFRkeCBndWVzdC4NCkluIFNFViBndWVzdCBJIGJl bGlldmUgU0VWX0VTX1dPUktfQVJFQSBjYW4gYmUgYWNjZXNzZWQgd2l0aG91dCBhbnkgZXJyb3Iu DQpUaGUgZmlyc3QgOCBieXRlcyBvZiBTRVZfRVNfV09SS19BUkVBIGNhbiBiZSByZWRlZmluZWQg YXMgW0NDIEluZGljYXRvciBGbGFnc10uDQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0N Cj4gRnJvbTogWWFvLCBKaWV3ZW4gPGppZXdlbi55YW9AaW50ZWwuY29tPg0KPiBTZW50OiBXZWRu ZXNkYXksIEp1bHkgMjgsIDIwMjEgMzo1NSBQTQ0KPiBUbzogWHUsIE1pbiBNIDxtaW4ubS54dUBp bnRlbC5jb20+DQo+IENjOiBCcmlqZXNoIFNpbmdoIDxicmlqZXNoLnNpbmdoQGFtZC5jb20+OyBk ZXZlbEBlZGsyLmdyb3Vwcy5pbzsgQXJkDQo+IEJpZXNoZXV2ZWwgPGFyZGIrdGlhbm9jb3JlQGtl cm5lbC5vcmc+OyBKdXN0ZW4sIEpvcmRhbiBMDQo+IDxqb3JkYW4ubC5qdXN0ZW5AaW50ZWwuY29t PjsgRXJkZW0gQWt0YXMgPGVyZGVtYWt0YXNAZ29vZ2xlLmNvbT47DQo+IEphbWVzIEJvdHRvbWxl eSA8amVqYkBsaW51eC5pYm0uY29tPjsgVG9tIExlbmRhY2t5DQo+IDx0aG9tYXMubGVuZGFja3lA YW1kLmNvbT4NCj4gU3ViamVjdDogUkU6IFtQQVRDSCBWMyAwNi8xMF0gT3ZtZlBrZzogQWRkIEFt ZFNldi5hc20gaW4gUmVzZXRWZWN0b3INCj4gDQo+IFllcy4gSSBhbSB0aGlua2luZyB0aGUgc2Ft ZSB0aGluZy4NCj4gDQo+IFtDQyBGbGFnIG1lbW9yeSBsb2NhdGlvbl0NCj4gMSkgQSBnZW5lcmFs IHB1cnBvc2UgcmVnaXN0ZXIsIHN1Y2ggYXMgRUJQLg0KPiANCj4gMikgQSBnbG9iYWwgdmFyaWFi bGUsIHN1Y2ggYXMNCj4gLmRhdGENCj4gVGVlRmxhZ3M6IEREIDANCj4gDQo+IDMpIEEgZml4ZWQg cmVnaW9uIGluIHN0YWNrLCBzdWNoIGFzDQo+IGR3b3JkW1NUQUNLX1RPUCAtIDRdDQo+IA0KPiA0 KSBBIG5ldyBDQyBjb21tb24gZml4ZWQgcmVnaW9uLCBzdWNoIGFzIGR3b3JkW0NDX0NPTU1PTl9G TEFHU10NCj4gDQo+IDUpIEEgZml4ZWQgcmVnaW9uIHBpZ2d5YmFjayBvbiBleGlzdGluZyBDQyB3 b3JraW5nIGFyZWEsIHN1Y2ggYXMNCj4gZHdvcmRbQ0NfV09SS0lOR19BUkVBXQ0KPiANCj4gSGkg QnJpamVzaC9NaW4NCj4gQW55IHByZWZlcmVuY2U/DQo+IA0KPiBbQ0MgSW5kaWNhdG9yIEZsYWdz XQ0KPiBQcm9wb3NhbDogVUlOVDhbNF0NCj4gDQo+IEJ5dGUgWzBdIFZlcnNpb246IDANCj4gYnl0 ZSBbMV0gTGVuZ3RoOiA0DQo+IGJ5dGUgWzJdIFR5cGU6DQo+IAkwOiBsZWdhY3kNCj4gCTE6IFNF Vg0KPiAJMjogVERYDQo+IGJ5dGUgWzNdIFN1YiBUeXBlOg0KPiAJSWYgVHlwZSBpcyAwIChsZWdh Y3kpLCB0aGVuDQo+IAkJMDogbGVnYWN5DQo+IAlJZiBUeXBlIGlzIDEgKFNFViksIHRoZW4NCj4g CQkwOiBTRVYNCj4gCQkxOiBTRVYtRVMNCj4gCQkyOiBTRVYtU05QDQo+IAlJZiBUeXBlIGlzIDIg KFREWCksIHRoZW4NCj4gCQkwOiBURFggMS4wDQo+IA0KPiBUaGFuayB5b3UNCj4gWWFvIEppZXdl bg0KPiANCj4gDQo+ID4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gPiBGcm9tOiBYdSwg TWluIE0gPG1pbi5tLnh1QGludGVsLmNvbT4NCj4gPiBTZW50OiBXZWRuZXNkYXksIEp1bHkgMjgs IDIwMjEgMjo1OCBQTQ0KPiA+IFRvOiBZYW8sIEppZXdlbiA8amlld2VuLnlhb0BpbnRlbC5jb20+ DQo+ID4gQ2M6IEJyaWplc2ggU2luZ2ggPGJyaWplc2guc2luZ2hAYW1kLmNvbT47IGRldmVsQGVk azIuZ3JvdXBzLmlvOyBBcmQNCj4gPiBCaWVzaGV1dmVsIDxhcmRiK3RpYW5vY29yZUBrZXJuZWwu b3JnPjsgSnVzdGVuLCBKb3JkYW4gTA0KPiA+IDxqb3JkYW4ubC5qdXN0ZW5AaW50ZWwuY29tPjsg RXJkZW0gQWt0YXMgPGVyZGVtYWt0YXNAZ29vZ2xlLmNvbT47DQo+ID4gSmFtZXMgQm90dG9tbGV5 IDxqZWpiQGxpbnV4LmlibS5jb20+OyBUb20gTGVuZGFja3kNCj4gPiA8dGhvbWFzLmxlbmRhY2t5 QGFtZC5jb20+DQo+ID4gU3ViamVjdDogUkU6IFtQQVRDSCBWMyAwNi8xMF0gT3ZtZlBrZzogQWRk IEFtZFNldi5hc20gaW4gUmVzZXRWZWN0b3INCj4gPg0KPiA+IE9uIEp1bHkgMjgsIDIwMjEgMjow NSBQTSwgWWFvLCBKaWV3ZW4gd3JvdGU6DQo+ID4gPiBJdCBkb2VzIG5vdCBuZWNlc3NhcnkgdG8g YmUgYSB3b3JraW5nIGFyZWEuDQo+ID4gPg0KPiA+ID4gV2UganVzdCBuZWVkIGEgY29tbW9uIFRF RSBmbGFnIHRvIGluZGljYXRlIGlmIHRoZSBzeXN0ZW0gcnVuIGluDQo+ID4gPiBsZWdhY3ksIFNF ViwNCj4gPiBvcg0KPiA+ID4gVERYLCByaWdodD8NCj4gPiBSaWdodC4gV2UgbmVlZCBzb21ld2hl cmUgdG8gc3RvcmUgdGhpcyBmbGFnLCBlaXRoZXIgaW4gYSBSZWdpc3RlciBvciBpbg0KPiBNZW1v cnkuDQo+ID4gSWYgaXQgaXMgbWVtb3J5LCB0aGVuIGluIFRkeCB0aGUgbWVtb3J5IHJlZ2lvbiBz aG91bGQgYmUgaW5pdGlhbGl6ZWQgYnkgaG9zdA0KPiBWTU0uDQo+ID4gPg0KPiA+ID4gdGhhbmsg eW91IQ0KPiA+ID4gWWFvLCBKaWV3ZW4NCj4gPiA+DQo+ID4gPg0KPiA+ID4gPiDlnKggMjAyMeW5 tDfmnIgyOOaXpe+8jOS4i+WNiDE6MDfvvIxYdSwgTWluIE0gPG1pbi5tLnh1QGludGVsLmNvbT4N Cj4g5YaZ6YGT77yaDQo+ID4gPiA+DQo+ID4gPiA+IO+7v09uIEp1bHkgMjcsIDIwMjEgODo0NiBQ TSwgWWFvLCBKaWV3ZW4gd3JvdGU6DQo+ID4gPiA+PiBISSBNaW4NCj4gPiA+ID4+IEkgYWdyZWUg d2l0aCBCcmlqZXNoLg0KPiA+ID4gPj4NCj4gPiA+ID4+IFRoZSBiYXNpYyBydWxlIGlzOiBTRVYg ZmlsZSBzaGFsbCBuZXZlciByZWZlciB0byBURFggZGF0YSBzdHJ1Y3R1cmUuDQo+ID4gPiA+PiBU RFggZmlsZSBzaGFsbCBuZXZlciByZWZlciB0byBTRVYgZGF0YSBzdHJ1Y3R1cmUuDQo+ID4gPiA+ PiBUaGVzZSBjb2RlIHNob3VsZCBiZSBpc29sYXRlZCBjbGVhcmx5Lg0KPiA+ID4gPj4NCj4gPiA+ ID4+IERvIHdlIHN0aWxsIG5lZWQgdGhhdCBsb2dpYyBpZiB3ZSBmb2xsb3cgdGhlIG5ldyBwYXR0 ZXJuPw0KPiA+ID4gPiBJIGhhdmUgcmVwbGllZCB0byBCcmlqZXNoJ3MgbWFpbCBhYm91dCB0aGUg Y29uY2VybiBvZiB0aGUgbmV3IHBhdHRlcm4uDQo+ID4gPiA+DQo+ID4gPiA+IEkgaGF2ZSBzb21l IGNvbmNlcm4gaW4gdGhlIGN1cnJlbnQgcGF0dGVybjoNCj4gPiA+ID4gPT09PT09PT09PT09PT09 PT09PT0NCj4gPiA+ID4gICAgT25lVGltZUNhbGwgICBQcmVNYWluRnVuY3Rpb25Ib29rU2V2DQo+ ID4gPiA+ICAgIE9uZVRpbWVDYWxsICAgUHJlTWFpbkZ1bmN0aW9uSG9va1RkeA0KPiA+ID4gPiBN YWluRnVuY3Rpb246DQo+ID4gPiA+ICAgIFhYWFhYWA0KPiA+ID4gPiAgICBPbmVUaW1lQ2FsbCAg IFBvc3RNYWluRnVuY3Rpb25Ib29rU2V2DQo+ID4gPiA+ICAgIE9uZVRpbWVDYWxsICAgUG9zdE1h aW5GdW5jdGlvbkhvb2tUZHgNCj4gPiA+ID4gPT09PT09PT09PT09PT09PT09PT0NCj4gPiA+ID4g VGhlIFRFRSBmdW5jdGlvbiBuZWVkIGltcGxlbWVudCBhIFRFRSBjaGVjayBmdW5jdGlvbiAoc3Vj aCBhcw0KPiA+ID4gPiBJc1Nldiwgb3INCj4gPiBJc1RkeCkuDQo+ID4gPiA+DQo+ID4gPiA+IFRk eCBjYWxsIENQVUlEKDB4MjEpIHRvIGRldGVybWluZSBpZiBpdCBpcyB0ZHggZ3Vlc3QgaW4gdGhl IHZlcnkNCj4gPiA+ID4gYmVnaW5uaW5nIG9mIFJlc2V0VmVjdG9yLiBUaGVuICdURFhHJyBpcyBz ZXQgaW4gVERYX1dPUktfQVJFQS4gU0VWDQo+ID4gPiA+IGRvZXMNCj4gPiA+IHRoZSBzaW1pbGFy IHdvcmsgd2hpY2ggY2FsbCBDaGVja1NldkZlYXR1cmVzIHRvIHNldCBTRVZfRVNfV09SS19BUkVB DQo+IHRvIDEuDQo+ID4gPiA+DQo+ID4gPiA+IEFmdGVyIHRoYXQgYm90aCBURFggYW5kIFNFViBy ZWFkIHRoZSBhYm92ZSBXT1JLX0FSRUEgdG8gY2hlY2sgaWYNCj4gPiA+ID4gaXQgaXMgVERYDQo+ ID4gPiBvciBTRVYgb3IgbGVnYWN5IGd1ZXN0Lg0KPiA+ID4gPg0KPiA+ID4gPiBJbiBUZHggdGhl IGFjY2VzcyB0byBTRVZfRVNfV09SS19BUkVBIHdpbGwgdHJpZ2dlciBlcnJvciBiZWNhdXNlDQo+ ID4gPiBTRVZfRVNfV09SS19BUkVBIGlzICpOT1QqIGluaXRpYWxpemVkIGJ5IGhvc3QgVk1NLg0K PiA+ID4gPiBJbiBTRVYtU05QIEkgYW0gYWZyYWlkIHRoZSBhY2Nlc3MgdG8gVERYX1dPUktfQVJF QSB3aWxsIHRyaWdnZXIgZXJyb3INCj4gdG9vLg0KPiA+ID4gPg0KPiA+ID4gPiBJIGFtIHdvbmRl cmluZyBpZiBURFggYW5kIFNFViBjYW4gdXNlIHRoZSBzYW1lIG1lbW9yeSByZWdpb24gKGZvcg0K PiA+IGV4YW1wbGUsDQo+ID4gPiBURUVfV09SS19BUkVBKSBhcyB0aGUgd29yayBhcmVhPw0KPiA+ ID4gPiBTbyB0aGF0IHRoaXMgd29yayBhcmVhIGlzIGd1YXJhbnRlZWQgdG8gYmUgaW5pdGlhbGl6 ZWQgaW4gYm90aCBURFgNCj4gPiA+ID4gYW5kIFNFVi4gU3RydWN0dXJlIG9mIHRoZSBURUVfV09S S19BUkVBIG1heSBsb29rIGxpa2UgdGhpczoNCj4gPiA+ID4gIHR5cGVkZWYgc3RydWN0IHsNCj4g PiA+ID4gICAgICBVSU5UOCAgRmxhZ1s0XTsgICAgICAgICAnVERYRycgb3IgJ1NFVkcnIG9yIGFs bC0wDQo+ID4gPiA+ICAgICAgVUlOVDggIE90aGVyc1tdOw0KPiA+ID4gPiAgfSBURUVfV09SS19B UkVBOw0KPiA+ID4gPj4NCg==