From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by mx.groups.io with SMTP id smtpd.web11.4637.1654162161399624878 for ; Thu, 02 Jun 2022 02:29:22 -0700 Authentication-Results: mx.groups.io; dkim=fail reason="unable to parse pub key" header.i=@intel.com header.s=intel header.b=LSDpDBcY; spf=pass (domain: intel.com, ip: 192.55.52.120, mailfrom: sebastien.boeuf@intel.com) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1654162161; x=1685698161; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-id:mime-version: content-transfer-encoding; bh=f3fieHDrDGELQ8rVxcxoc2kr2z2fsrDAivCe+GrFOCY=; b=LSDpDBcYSzkit6JSbklHrLtNsPIofajpTU2ObfatZmT4jazctB9qnvjX Jj4Vv84mYB5zfmhMn1Sv95+ZM3KBMe+keQyV7by5sYrvCYd5hZVM+ayPg rKUBznRgt9DlXeQBIzXWzVvxhexpDr1gfOUoG/WpfKLcdczDXX+QI8tsG GofVdTAQp+5lm7eYR+qx1DEPiXsltipzl9qqtIIezJmTmNcNAUk19l0o9 jAcoBYiu/M8qN6fWqBNtoKHJ0SL3EiTEIrRywt8Q3na+ZH+IFKC0HV2u6 Rd4iCqHK2f9V4cH6oAFi6IBCVxrMjtdMXIRDuRief4FfYkOKmTkQf3pD0 Q==; X-IronPort-AV: E=McAfee;i="6400,9594,10365"; a="274693454" X-IronPort-AV: E=Sophos;i="5.91,270,1647327600"; d="scan'208";a="274693454" Received: from fmsmga003.fm.intel.com ([10.253.24.29]) by fmsmga104.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 02 Jun 2022 02:29:04 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.91,270,1647327600"; d="scan'208";a="667892177" Received: from orsmsx604.amr.corp.intel.com ([10.22.229.17]) by FMSMGA003.fm.intel.com with ESMTP; 02 Jun 2022 02:29:04 -0700 Received: from orsmsx607.amr.corp.intel.com (10.22.229.20) 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.2308.27; Thu, 2 Jun 2022 02:29:04 -0700 Received: from orsmsx610.amr.corp.intel.com (10.22.229.23) by ORSMSX607.amr.corp.intel.com (10.22.229.20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.27; Thu, 2 Jun 2022 02:29:03 -0700 Received: from orsedg603.ED.cps.intel.com (10.7.248.4) by orsmsx610.amr.corp.intel.com (10.22.229.23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.27 via Frontend Transport; Thu, 2 Jun 2022 02:29:03 -0700 Received: from NAM12-BN8-obe.outbound.protection.outlook.com (104.47.55.169) 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.2308.27; Thu, 2 Jun 2022 02:29:03 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=mCzkpkG6y5lx7liA/0pm1jOKcwkqDpATp2Q8kpgkXnwOnffg6kHy7SBvpnHpVAiUuLDC+3zL29A+WG+TA9Rm5YC4L8TPNljj0EeIp5CWXUxyQOcKzk1VKCGM5JdZHTvMmXaxS3ZuAmelgz0a4A9rRXLn+3j011RqePYm+f+ozwd0jBQmYtZ5xQNgBXU+JNsq+nsh8yIemL0FnlBmdWiKKFPMOTqFPRmT7Ev0bie3Ss65zYePTSqBoLXS3lmjCZGs2DJnRF0pO0Zk0HOebf6yB27AOpE0q6edlEf3q5ptwxbiufsXENiQcRrzUXu3faUMnY/rd3fjQ6FnB45Pqpdm/g== 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=5ShVXFs1cYKchYSfm01nCFq9DixM0c5Q0muQC3M1efI=; b=XT3Mb1mPfV4wFWyoFGq5jNXIfOjReeM9I9AG9y5zjAgOMqB3/1YB2FC8HKm3++bmWlpSw2UB+S2DuLrgtQ0eLvFn7GL9LNW+xJX9LStMkB8jAMlgoZS3grpRwcLHDdGBsPnLI4H+0Bv9I4ZGzMy05PH3SCSed3senUdWMLSaIS+j8LHTAJER9z8TwCGRJ9KH9ezfnqomwzfMIaZsk/7bpLyyV4bO4BRTutY+0TLRPPdrlaeUtOrUcwmYKjMLghdV8F7kJmFd6Cqnkli381b8bqVxvM2zuvfJMdJ7k80f0b/KI1y8RxalaP69ayKNMx7doQO9bDLRfU/satw7JFcgLA== 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 Received: from MN2PR11MB4416.namprd11.prod.outlook.com (2603:10b6:208:188::33) by MW4PR11MB5870.namprd11.prod.outlook.com (2603:10b6:303:187::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5314.13; Thu, 2 Jun 2022 09:29:01 +0000 Received: from MN2PR11MB4416.namprd11.prod.outlook.com ([fe80::5c6a:673b:37c0:9dee]) by MN2PR11MB4416.namprd11.prod.outlook.com ([fe80::5c6a:673b:37c0:9dee%5]) with mapi id 15.20.5314.013; Thu, 2 Jun 2022 09:29:01 +0000 From: "Boeuf, Sebastien" To: "Yao, Jiewen" , "devel@edk2.groups.io" CC: "kraxel@redhat.com" , "Justen, Jordan L" Subject: Re: [PATCH 0/4] OvmfPkg: CloudHv: Reduce PIO and MMIO accesses Thread-Topic: [PATCH 0/4] OvmfPkg: CloudHv: Reduce PIO and MMIO accesses Thread-Index: AQHYZGypr/DdF0FlvUeMsd9ISK41vq079K6AgAACFwCAAAbEgA== Date: Thu, 2 Jun 2022 09:29:01 +0000 Message-ID: <4815b9c5d74b45c64d098ec71d135cf695e84d0f.camel@intel.com> References: <97b0716f823a10b1aff2bb41f5adba02e7be2a3d.camel@intel.com> In-Reply-To: <97b0716f823a10b1aff2bb41f5adba02e7be2a3d.camel@intel.com> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: user-agent: Evolution 3.44.1-0ubuntu1 authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 43448e55-4ce4-429f-bd1a-08da447a540c x-ms-traffictypediagnostic: MW4PR11MB5870:EE_ x-ld-processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr x-microsoft-antispam-prvs: x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: H3xm+BbnPCIpNzQfGSyDDyvjCwHYpap5kciHVWXf5QL5p1Qs6q4W0lizRsj+TbnT9Yf1nRL9ROoAzhC3trBs7GK7aNCJl9glRee5C9yb5lZXEf1eLIjDV2jRsrECkwScd9SXlUpf5evIUnRruPTltzQFUjzeHYMcTiWtFWG2gwN/deIO//KGD/p703ki2xZkXbX8V1SBKb+ej71SKq5BH6zEI+wV6Dg3FUD0LyrPZHgS9KW8yMuhQc0TC69bjq1mF1g8QK2SL2Ua7rCFOAj+UOPpql8gdzPGqJs19Mm4aRCcgjkH2uH4G0Xnwoh4t496ZLipLC1T/5ZQ/mOoGoOiSWnXtT+QBu1sxOdLLvgkySBGakNsJm/8QFvpKrL1T9E14/m6yAAjpSFoRo19bcDjjMDKf8U64PFPV40DSitj96NOakhelxgT6RGgRhStwjHvJXEH2Qjz9AthUJYEdZHS42vgFrXBbhku1QDEtqamr6nhxskNcDEhfTlkwGQZUu9uVA1bkTzYg+uHPCsS4OgPuqnHJwk9RqD2XvfQr4tLZH4NnsOSWw9PNv27UCwuO7TA/VHWMOYeAQS+DLB7vfcW3QY9DXuTMVXDC4woWgCdrX978ufK73cgmR8kAMSAS0JUnLWzmLZwnXrlHXUS9Dg7rFbqy/4i3M3RpaEX1ihxg7dAZfBchDew3BwgSL6551L9Py4yXDLsW99LrxZJv+410TT/1ddoQUaikq1h03k2y7iLo23ESXL6Xj/cGRsbV90+9gETdrHUUsyhYG5VrlQBDyfqeLTrxRUNs1Ia7cVmKKs= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MN2PR11MB4416.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230001)(366004)(6512007)(38100700002)(8676002)(316002)(122000001)(26005)(6486002)(19627235002)(38070700005)(186003)(76116006)(2616005)(36756003)(82960400001)(66946007)(8936002)(107886003)(53546011)(6506007)(966005)(4326008)(86362001)(91956017)(5660300002)(110136005)(2906002)(83380400001)(508600001)(71200400001)(66556008)(54906003)(66476007)(66446008)(64756008);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?UHFXWDlZZlMrVUNrVWZoTnVEVEpFanRKQ1lYY0xEakFqb2ZxRklGSXBNYkxs?= =?utf-8?B?a2NiSkFEZEEwY1RqSGYyZ3RGcGc0RDhBTU5xV2RSay9ISTdEb0d6TSs1TGNQ?= =?utf-8?B?TTRIcGxPVWRHOGVyMUMwVHRWMm1zM3BGa2pLa2FGY0hleEdlb2ZlcklyY2tt?= =?utf-8?B?TmtjNFovVENMR0ZBU3dMV0ZxL0dJYm5OME5sRVVpL05kVm02ckl3UGhjL00v?= =?utf-8?B?V1p6TXJUeXRiUFlqdUhzejNuM3lOQWtQMEU3Uk42Z2NBaEFmR25ZdE5ab21z?= =?utf-8?B?Yms3cHQ3d0FHVEsyZTJGUC9wZ0g3dkdCSnllRForekgrQTlYTGZjbzVsZVph?= =?utf-8?B?dk5FbVM5Ykt4REJ0VUhkYkxRbTd3TGpTcFBoOE02Unk5a0dRU0FpVGYwdUFo?= =?utf-8?B?Um1uWWRoY2phNHVSM3crMlZoTW5kT2lLRGZIa3NIM0srVzFoam8zaVVQR0ZT?= =?utf-8?B?cWQ4L2VuUjJ4cUFkUzdHSktiSFVwZnp0ZFVuS05NUXRRbDFtQkFCR090ZDFl?= =?utf-8?B?SnVnanY1WlVGZVhpRUNIYlUxL0lzaXZZM0FsMUVBVDdQNVg3ZDlGQXBzbmxQ?= =?utf-8?B?T0ZiT244UmUyMEtFaFcyUlNDSVdRK3RUV2NyemNwbmNQZi9UVDJKWFMwV29r?= =?utf-8?B?YWxVcllzQ3RMMjgzdS9sOE45SjdPSXBFMElRSWtZUjM3VEk4WW1YeWUzdmlK?= =?utf-8?B?M1Nsc0NhM1pUWmtUczNpeVcwMFVwUlpyNGl0S2Z6QzRrYnJuRE8raDIveHNZ?= =?utf-8?B?bmFnR1Z3M0gxVXpMV1JVREhzZEVka1hWWUpDTVZGRDdiM20xalFiSWdYVGxE?= =?utf-8?B?dVcwQkxXaVE4RVdoQkc0N3BCSytXcVRGY2U1RlpMS0MyVENyeGR1RFpCNHV3?= =?utf-8?B?NHByeVNLdExHZ0M0SDNwSEZiMFlMQUxTTmxZNDJFWHdCSHZUK25PN3BvdG1F?= =?utf-8?B?YTZRc2pWU01zUkpQSzBCQUhxRDZmdFNYcjZZOUxHL1NSRlExanhVa1JhaGxY?= =?utf-8?B?bHc1UmEyT3lseUxoM09YUzA0TjBvR2pSVXdRQmlobHhCTjluWEZnemVua2Mr?= =?utf-8?B?MGVoaDVlMWhzRlVMWURRZjZ5YVhWeUUxY3NDa2hDUjdlcVlQdDBpSkN1Vlht?= =?utf-8?B?V1EwdVZzdEpqNmVOdUIzcUVIV1UvYStSL0xISk9pOVBiMmZpQnpSN2lsbzda?= =?utf-8?B?OXkvbVBoZU9YQy8vZmsxa0g5UzV2Y3RraW5wSG5aMDlWQ0p6UXpPbkdZcVhm?= =?utf-8?B?djN5d3hWbUVqa1daYm5WaS9sQXlMRStVTC9ZL1BGcHRBRHVaWjdKekJVdVFU?= =?utf-8?B?b1JTS01ldEJlNGZsNHcxVS9qWVg5dWJkSWEwNTh4NVNndFBqTFc2eVY2VkNL?= =?utf-8?B?WVFyZFBGc2VBTDh0dXNYZ1hDN3A0NTltWTFvd2NvNnFDelJHelI1Wlh6dFFq?= =?utf-8?B?SU14b3RTUzBRMVVEakNWWkNZMlJ4Y09qWEZFNEEvdDVRcmJtT0xmNE5xeCtQ?= =?utf-8?B?cVVJK1lFTFZnVkZXZ3lBR3J0aE5FSzBaUlYzL0lkUVJxdFNRTm4venRPRXpv?= =?utf-8?B?MFJGVC9pTHFSWmVjNmI4d0FsbThvRFM3QnBxQitXOTNHR1lmUGFublR2NDEv?= =?utf-8?B?c1MrcjFyUnhUMVYzQlFueG5EL1poUnFLMS9JQkpSQVNrMTZPRThXcy9KeU1m?= =?utf-8?B?SUt5U3pqMDg0YlliY3NncGsvQ0hXVUtldjhFZExBaFFpczlOTm40NWZBZDhY?= =?utf-8?B?SUlYTG9LelZzemVSNjl1a0Rta2lZRWFuaWIvVFZKRDVzZUVxd053YXF5a2Rw?= =?utf-8?B?OUFMaHpTNk41WmtqK0h5ejF2NGdwMGdGdFNUeXV0b015WGo0MnlPOFRhR1VS?= =?utf-8?B?NUg2RnZLd25lL0J3WHNLZzJaaXFKcUxuTUI5UU9Ld2FjZnFEcHdLU2ZPVXpJ?= =?utf-8?B?Uitjejg2NnArOGh6djMyZFFRellsNXBWU2E2ZmNmNVJNaXFHT29KY3JicjF2?= =?utf-8?B?SS9aS1NORUJBSjhUeUNVZHkybUE0TmdyZU5ZdTZtQ3k2Rzl6MWQ5Ry9Ja0pE?= =?utf-8?B?a0JPTldpZU50d0EwQjFmZ3ltenNuTFl6WU8vVVFDS2E4NCs4S2JuRG5JRWVn?= =?utf-8?B?eU1iNGl2YjdSVkxjcHBoV1FSN1h6K0RLbHh2M01YUTVRQUx6U1Roem9OVWFs?= =?utf-8?B?M1pFaVYyOEp2N1ZNOFdIZjVCMm83dHpBVHRIQTE1N09VWXhTTmJFOTRwSW5E?= =?utf-8?B?N2J0NGZyVGFtWTBHUGowZUNFUFR4cUxqdEU3cTRoUjUxZHZSOW9MSDlLVmt1?= =?utf-8?B?L3pDc2hTa1NUaDVlS3UzKzk0anR0bndvYWU4Qzc5ZXpxMEV2ZFA2MWxsWHVC?= =?utf-8?Q?6T09pLXq8PKVYZ30=3D?= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: MN2PR11MB4416.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 43448e55-4ce4-429f-bd1a-08da447a540c X-MS-Exchange-CrossTenant-originalarrivaltime: 02 Jun 2022 09:29:01.3010 (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: 1TcwuSjTZNNWRI1Cc1EW3n+WlVzqdOiVNv4z+cqcHfcqn4TLDHMwYwqi5SNXnB54b2gOJNpqtMnmOYjs/Q4AvnVOXnIYKB5AUOOP5QdJ+Dw= X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW4PR11MB5870 Return-Path: sebastien.boeuf@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-ID: <060B60F35D8CDA4092979D128A99DAAF@namprd11.prod.outlook.com> Content-Transfer-Encoding: base64 T24gVGh1LCAyMDIyLTA2LTAyIGF0IDExOjA0ICswMjAwLCBTZWJhc3RpZW4gQm9ldWYgd3JvdGU6 DQo+IE9uIFRodSwgMjAyMi0wNi0wMiBhdCAwODo1NyArMDAwMCwgWWFvLCBKaWV3ZW4gd3JvdGU6 DQo+ID4gQWNrZWQtYnk6IEppZXdlbiBZYW8gPEppZXdlbi55YW9AaW50ZWwuY29tPg0KPiA+IA0K PiA+IEkgbm90aWNlIHRoZSBQUiBmYWlsZWQgLQ0KPiA+IGh0dHBzOi8vZ2l0aHViLmNvbS90aWFu b2NvcmUvZWRrMi9wdWxsLzI4NzUNCj4gPiANCj4gPiBJIGp1c3Qgd2FudCB0byBkb3VibGUgY29u ZmlybSwgZG8geW91IGhhdmUgYSBzdWNjZXNzIFBSIGZvciB0aGlzDQo+ID4gcGF0Y2ggc2V0Pw0K PiANCj4gTGV0IG1lIHJlcHVzaCB0aGUgUFIgb25jZSByZWJhc2VkIG9uIGxhdGVzdCBtYXN0ZXIu IEkgdGhpbmsgdGhlDQo+IGZhaWx1cmVzIHdlcmUgb25seSByZWxhdGVkIHRvIHRoZSBXaW5kb3dz IENJIGlzc3Vlcy4NCg0KT2sgdGhlIENJIGlzIHBhc3NpbmcgZmluZSBhZnRlciBJIHJlYmFzZWQg b24gbGF0ZXN0IG1hc3Rlci4gU2VlDQpodHRwczovL2dpdGh1Yi5jb20vdGlhbm9jb3JlL2VkazIv cHVsbC8yODc1DQoNClRoYW5rcywNClNlYmFzdGllbg0KDQo+IA0KPiBUaGFua3MsDQo+IFNlYmFz dGllbg0KPiANCj4gPiANCj4gPiBUaGFuayB5b3UNCj4gPiBZYW8gSmlld2VuDQo+ID4gDQo+ID4g PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+ID4gRnJvbTogQm9ldWYsIFNlYmFzdGll biA8c2ViYXN0aWVuLmJvZXVmQGludGVsLmNvbT4NCj4gPiA+IFNlbnQ6IFR1ZXNkYXksIE1heSAx MCwgMjAyMiA4OjUxIFBNDQo+ID4gPiBUbzogZGV2ZWxAZWRrMi5ncm91cHMuaW8NCj4gPiA+IENj OiBZYW8sIEppZXdlbiA8amlld2VuLnlhb0BpbnRlbC5jb20+OyBKdXN0ZW4sIEpvcmRhbiBMDQo+ ID4gPiA8am9yZGFuLmwuanVzdGVuQGludGVsLmNvbT47IGtyYXhlbEByZWRoYXQuY29tOyBCb2V1 ZiwgU2ViYXN0aWVuDQo+ID4gPiA8c2ViYXN0aWVuLmJvZXVmQGludGVsLmNvbT4NCj4gPiA+IFN1 YmplY3Q6IFtQQVRDSCAwLzRdIE92bWZQa2c6IENsb3VkSHY6IFJlZHVjZSBQSU8gYW5kIE1NSU8N Cj4gPiA+IGFjY2Vzc2VzDQo+ID4gPiANCj4gPiA+IEZyb206IFNlYmFzdGllbiBCb2V1ZiA8c2Vi YXN0aWVuLmJvZXVmQGludGVsLmNvbT4NCj4gPiA+IA0KPiA+ID4gVGhlIGdvYWwgb2YgdGhpcyBz ZXJpZXMgaXMgdG8gcmVkdWNlIHRoZSBhbW91bnQgb2YgaW5hcHByb3ByaWF0ZQ0KPiA+ID4gUElP DQo+ID4gPiBhbmQgTU1JTyBhY2Nlc3NlcyBnZW5lcmF0ZWQgYnkgdGhlIGZpcm13YXJlIHdoZW4g cnVubmluZyBvbiBDbG91ZA0KPiA+ID4gSHlwZXJ2aXNvci4NCj4gPiA+IA0KPiA+ID4gRm9yIE1N SU8gYWNjZXNzZXMsIGl0IGlzIGFib3V0IHByb3ZpZGluZyB0aGUgcmlnaHQgYmFzZSBhZGRyZXNz DQo+ID4gPiB3aGVyZQ0KPiA+ID4gdGhlIGZpcm13YXJlIHdpbGwgYmUgbG9hZGVkIGJ5IHRoZSBW TU0gaW4gb3JkZXIgdG8gYXZvaWQNCj4gPiA+IHVuZXhwZWN0ZWQNCj4gPiA+IGFjY2Vzc2VzIHRv IHNvbWUgYWRkcmVzcyByYW5nZXMuDQo+ID4gPiANCj4gPiA+IEZvciBQSU8gYWNjZXNzZXMsIGl0 IGlzIGFib3V0IHByZXZlbnRpbmcgc29tZSByZWFkL3dyaXRlIHRvIGJlDQo+ID4gPiBwZXJmb3Jt ZWQNCj4gPiA+IGluIHRoZSBmaXJzdCBwbGFjZSwgYXMgd2Uga25vdyB0aGUgdW5kZXJseWluZyBk ZXZpY2UgaXMgbm90DQo+ID4gPiBlbXVsYXRlZCBieQ0KPiA+ID4gQ2xvdWQgSHlwZXJ2aXNvci4N Cj4gPiA+IA0KPiA+ID4gU2lnbmVkLW9mZi1ieTogU2ViYXN0aWVuIEJvZXVmIDxzZWJhc3RpZW4u Ym9ldWZAaW50ZWwuY29tPg0KPiA+ID4gDQo+ID4gPiBTZWJhc3RpZW4gQm9ldWYgKDQpOg0KPiA+ ID4gwqAgT3ZtZlBrZzogQ2xvdWRIdjogRml4IEZXX0JBU0VfQUREUkVTUw0KPiA+ID4gwqAgT3Zt ZlBrZzogQ2hlY2sgZm9yIFFlbXVGd0NmZyBhdmFpbGFiaWxpdHkgYmVmb3JlIGFjY2Vzc2luZyBp dA0KPiA+ID4gwqAgT3ZtZlBrZzogQ2xvdWRIdjogUmVseSBvbiBRZW11RndDZmdMaWJOdWxsIGlt cGxlbWVudGF0aW9uDQo+ID4gPiDCoCBPdm1mUGtnOiBEb24ndCBhY2Nlc3MgQTIwIGdhdGUgcmVn aXN0ZXIgb24gQ2xvdWQgSHlwZXJ2aXNvcg0KPiA+ID4gDQo+ID4gPiDCoE92bWZQa2cvQ2xvdWRI di9DbG91ZEh2RGVmaW5lcy5mZGYuaW5jwqDCoMKgwqDCoMKgwqAgfCA2NQ0KPiA+ID4gKysrKysr KysrKysrKysrKysrKw0KPiA+ID4gwqBPdm1mUGtnL0Nsb3VkSHYvQ2xvdWRIdlg2NC5kc2PCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfMKgIDQgKy0NCj4gPiA+IMKgT3ZtZlBrZy9DbG91 ZEh2L0Nsb3VkSHZYNjQuZmRmwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHzCoCAyICst DQo+ID4gPiDCoE92bWZQa2cvTGlicmFyeS9QbGF0Zm9ybUluaXRMaWIvUGxhdGZvcm0uY8KgwqDC oCB8IDEzICsrLS0NCj4gPiA+IMKgLi4uL1FlbXVCb290T3JkZXJMaWIvUWVtdUJvb3RPcmRlckxp Yi5jwqDCoMKgwqDCoMKgIHzCoCA4ICsrLQ0KPiA+ID4gwqA1IGZpbGVzIGNoYW5nZWQsIDgyIGlu c2VydGlvbnMoKyksIDEwIGRlbGV0aW9ucygtKQ0KPiA+ID4gwqBjcmVhdGUgbW9kZSAxMDA2NDQg T3ZtZlBrZy9DbG91ZEh2L0Nsb3VkSHZEZWZpbmVzLmZkZi5pbmMNCj4gPiA+IA0KPiA+ID4gLS0N Cj4gPiA+IDIuMzIuMA0KPiA+IA0KPiANCg0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQpJbnRlbCBDb3Jwb3JhdGlv biBTQVMgKEZyZW5jaCBzaW1wbGlmaWVkIGpvaW50IHN0b2NrIGNvbXBhbnkpDQpSZWdpc3RlcmVk IGhlYWRxdWFydGVyczogIkxlcyBNb250YWxldHMiLSAyLCBydWUgZGUgUGFyaXMsIA0KOTIxOTYg TWV1ZG9uIENlZGV4LCBGcmFuY2UNClJlZ2lzdHJhdGlvbiBOdW1iZXI6ICAzMDIgNDU2IDE5OSBS LkMuUy4gTkFOVEVSUkUNCkNhcGl0YWw6IDUgMjA4IDAyNi4xNiBFdXJvcw0KDQpUaGlzIGUtbWFp bCBhbmQgYW55IGF0dGFjaG1lbnRzIG1heSBjb250YWluIGNvbmZpZGVudGlhbCBtYXRlcmlhbCBm b3INCnRoZSBzb2xlIHVzZSBvZiB0aGUgaW50ZW5kZWQgcmVjaXBpZW50KHMpLiBBbnkgcmV2aWV3 IG9yIGRpc3RyaWJ1dGlvbg0KYnkgb3RoZXJzIGlzIHN0cmljdGx5IHByb2hpYml0ZWQuIElmIHlv dSBhcmUgbm90IHRoZSBpbnRlbmRlZA0KcmVjaXBpZW50LCBwbGVhc2UgY29udGFjdCB0aGUgc2Vu ZGVyIGFuZCBkZWxldGUgYWxsIGNvcGllcy4K