From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) by mx.groups.io with SMTP id smtpd.web09.1602.1623806132211040586 for ; Tue, 15 Jun 2021 18:15:32 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@intel.onmicrosoft.com header.s=selector2-intel-onmicrosoft-com header.b=r+PI57Xr; spf=pass (domain: intel.com, ip: 192.55.52.151, mailfrom: hao.a.wu@intel.com) IronPort-SDR: eQSzeggqP9YiRkixiGYwieKLEguTxkgxVsYcBfkHLVGxXdlN/lGXAJcWaVAzdxIJQrCq/9ot8a Og0KmJINjzxg== X-IronPort-AV: E=McAfee;i="6200,9189,10016"; a="186471816" X-IronPort-AV: E=Sophos;i="5.83,276,1616482800"; d="scan'208";a="186471816" Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by fmsmga107.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 15 Jun 2021 18:15:31 -0700 IronPort-SDR: fcwFh2ET2Hj2iek7LHE2A77y1fGRV5t0IR5TFi36LGtnZzmU3FdCDdCNjfqDTu5eVIYfmRVlp6 Ye1at2XJ7Row== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.83,276,1616482800"; d="scan'208";a="487973754" Received: from fmsmsx603.amr.corp.intel.com ([10.18.126.83]) by fmsmga002.fm.intel.com with ESMTP; 15 Jun 2021 18:15:30 -0700 Received: from fmsmsx609.amr.corp.intel.com (10.18.126.89) 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.2242.4; Tue, 15 Jun 2021 18:15:30 -0700 Received: from fmsmsx602.amr.corp.intel.com (10.18.126.82) 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.2242.4; Tue, 15 Jun 2021 18:15:29 -0700 Received: from fmsedg602.ED.cps.intel.com (10.1.192.136) by fmsmsx602.amr.corp.intel.com (10.18.126.82) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.4 via Frontend Transport; Tue, 15 Jun 2021 18:15:29 -0700 Received: from NAM11-DM6-obe.outbound.protection.outlook.com (104.47.57.174) 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.2242.4; Tue, 15 Jun 2021 18:15:27 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=QbEM+Rinb46DZ0XWAJ34Y/h8/NMcH56nTo3Qbfp+k8LpMeOKlpRJKCIOgrfC9BCBTCKDOrof83wuyAVQaXUwTiwl+uU1ewLUz1FdDXNx4To4LOxszDVVnWLzycLlv87GJvb/RTRpQpb3Co+79Fenrav5rMc5XlaeFjzI3RFHWU4Njl95yI8OSRX5EM+LZdPm1ZqiwC2if5W/pZQPpgM3sees3irmmYTP5Cw15HhewWti1TZ70w15NT5+Bwduuif19Xkb9TVDPtMxPXBIZdYlAuwrOpiVz32OEKTbbxFMH7wZ/RdX/wJBYZSHUoiIRiVsJ3h066/qLd6+hqGqRr6Qgw== 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=j//sC8RmgcBcn5ll5USzAp+cHRjfQGHqYwfjv8FLi9w=; b=TV6+JEyNkwlXvQi4e3As9wS2wOcBiaYRu8F/e7KdkW+kmGhUhbdkJ8cPiriI5b72HNqSognGeEx+5aZFPUtwEGdSv9Or6MMReOvG19kQM1QP+D9mrVd0PzIaGgDbp5BO+2/I8OYxt4mkXtWkodvnXRbcCc8D4n6bCVrrG7sQmGF35ICkoIDHvJMSp1EDuPelQTDrY/PJx2HV+fMyGGXa6EXJ5EhFolbJAHr9vywe5n+XTnfjWWcHWKtsUNqKTl51aMc/M0G0hjRC3KDiKKO8URuc+RB0O7B7gOr1HvORyCQBLB+e9vEoeHdyYsRc2IaB1EG4BcV+77va78Wsw8pCvw== 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=j//sC8RmgcBcn5ll5USzAp+cHRjfQGHqYwfjv8FLi9w=; b=r+PI57XrImmUt2rsklkmkjflYR+qfJc3zcgus4l7D3427GGw+Hb+giYvUneLOmM64v2sXD5FR00tyJQWbBfZeiHyzvAna4DfNxCxX4QSAWeVl/mVagQWrv5g3GzKGc/3UsI59EfmcuajOGQjM1hc58L02MIizBB1pV2yExCK7D4= Received: from BN8PR11MB3666.namprd11.prod.outlook.com (2603:10b6:408:8c::19) by BN8PR11MB3619.namprd11.prod.outlook.com (2603:10b6:408:85::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4219.21; Wed, 16 Jun 2021 01:15:25 +0000 Received: from BN8PR11MB3666.namprd11.prod.outlook.com ([fe80::cd58:25ce:5017:619d]) by BN8PR11MB3666.namprd11.prod.outlook.com ([fe80::cd58:25ce:5017:619d%5]) with mapi id 15.20.4219.025; Wed, 16 Jun 2021 01:15:25 +0000 From: "Wu, Hao A" To: Kun Qin , "devel@edk2.groups.io" CC: "Kinney, Michael D" , Liming Gao , "Liu, Zhiguang" , "Andrew Fish" , Laszlo Ersek , Leif Lindholm Subject: Re: [edk2-devel] [PATCH v1 1/5] EDK2 Code First: PI Specification: EFI_MM_COMMUNICATE_HEADER Update Thread-Topic: [edk2-devel] [PATCH v1 1/5] EDK2 Code First: PI Specification: EFI_MM_COMMUNICATE_HEADER Update Thread-Index: AQHXXZpnzCD566nGBUCicqQmjnUV3asObx+ggAcmBICAAEdRIA== Date: Wed, 16 Jun 2021 01:15:24 +0000 Message-ID: References: <20210610014259.1151-1-kuqin12@gmail.com> <20210610014259.1151-2-kuqin12@gmail.com> In-Reply-To: Accept-Language: en-US, zh-CN X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-product: dlpe-windows dlp-reaction: no-action dlp-version: 11.5.1.3 authentication-results: gmail.com; dkim=none (message not signed) header.d=none;gmail.com; dmarc=none action=none header.from=intel.com; x-originating-ip: [192.198.142.16] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: f0996da2-5c1b-49ad-b50e-08d930643865 x-ms-traffictypediagnostic: BN8PR11MB3619: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:7219; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: aXEc2Py/HbkfPjKlnS+VoxbzeoHA+hFBXCHIwJVIVsdlHOfUVcsR9ulaqBxpQN/VORwGVW/xMGZViKOB5EI9jJ02MoiXcv2+uFTgRxLAR353SZyJqnTyr8V9buC7n0z/rthR2c5j/rxmXpLw6XjYZYPUZTgMnxeEl8OWhbcPcC3IEn9MNrdPsp0hl0vjywtxZQ2z3DqmTMFBDB7X+Ik8QsXH2W0jMJ0zDyVzyzASiEWe/LIQJUQuqpnmZVkSPMzZzw/Rb5KjLgtkkDESoXsLd1q4Sec7pEsn9GfQRbb54Y+F8Mx16xRlx/KIPgl0Pc9CdBBPQbzIyW255Zp2Gj9CzNJF7VigRmjuXphNRLP8AShroBOzIGJm1opAABhy2EJdOdfWtTIeS9h75MKFy+Cs9bnFlW5RO4Muduh9Uqb/QvAhd7lqOu2tOIYDjKT5LTISF1Y+845qVG4C0Sq76rB4XHNR1/wi9EuK2AGHCg0FOV+FHiCEsYnCStixt9oPmmKPtp3WkQUielFjfGSOH2ohr5P6cRvO+pP9v12Ta5sqZKzwA6MW26LHIa/yp17ldX10OUHJJ4/cjs91jlAkCYQXlc+cz+FFJgwNC7POs83nEgEEkysGrkQcjSocFsm9oqZ7s+Sinz/FtEEQc5SByH/6SnMmeKFCaQP6KYy7+S961cBo+HDAjyiTwmtyIFQbHU31JdvPfRlr3c12A9dtRizXa14pXHqWVkeCrCXBWdPIT8XhWhZc2ht6ZSCrJF1TmwXnpdmQwIiU9rF5/TuOT7L4LQ== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BN8PR11MB3666.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(39860400002)(376002)(396003)(136003)(366004)(346002)(6506007)(26005)(53546011)(122000001)(110136005)(55016002)(478600001)(9686003)(7696005)(76116006)(54906003)(15650500001)(52536014)(38100700002)(4326008)(316002)(966005)(5660300002)(71200400001)(8676002)(2906002)(19627235002)(8936002)(83380400001)(33656002)(66556008)(186003)(66446008)(64756008)(66476007)(66946007)(86362001);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?bU8vbm1KcmVodDFCV0IzRTRzYm9iaE4zMmVad1Z4MUpEbDJDeXhrQnhjWDNY?= =?utf-8?B?SWk1Qnh6aWVsU0FCK05nZFBrOWgrUmJQV24xd1puaEt3OGJQLzJaWUs4eWVD?= =?utf-8?B?eG9XNk9rSnRpOWtMczlaR2hncGVWSFk1V25nZ3NMcWczVDFZaUdJNmxiajBU?= =?utf-8?B?SVpGY0M3MHh6ekNnSms1d1JRZzVPcEs4d1h3dG1iY2c5eERLTVNoZ3NyOExE?= =?utf-8?B?d1phcDV0T1MyWUVPbHhwZDk5UjZ4cjREbXhJTTd2bC9BdEVzcGpiQU1TWHVF?= =?utf-8?B?Q2tTR1BacFF4NkR5RjVVUTR5RlhnaExMOHUyZkkzaU1iSXRKSmptSTlEK3VK?= =?utf-8?B?dzY1cHlucUZHZFo5R01KdDRBR0NSL0xLdlQwa1hXN1p0bUV0Qm5uNzUzdENx?= =?utf-8?B?OXhWeTBzYjRwbVNBdWlzczFTWVdPanZyUks2VFpSbUdGNG1oeUxtRUI4eFpp?= =?utf-8?B?MnhYQytlbENTb3htc2RiNXh6a1NIakdYeUVyWm5CUGdRRSt0ZHE0QlZzcGM3?= =?utf-8?B?d1ErN0hxSGRSK0l3TE1FcENhcjl4WG1lYU5hL0hTeEEwVTU0RzRaT2pPaXNt?= =?utf-8?B?bi9TR24vbnhQc1J6S2EyaWplTHZ3TmJoMWw3V0t0RWpHYXBtMk1LRERYOG04?= =?utf-8?B?WVFLd0ZxV2tWUUdYQzlkZlZaT2FZOTBDL2haeTlVeCtvaE05blpaaldYVUk3?= =?utf-8?B?OWppK1VreEtYKy91WGJSZm5tcXcxVGhhd0NmZEZLRVlMcis3NXhUdVI0VW1p?= =?utf-8?B?SHMyMk5DVVJMZ3dJdEFRbHRCUHluL0hoTVVuTXNLRVdzUHBlL25ITk1kcTQ4?= =?utf-8?B?UWdWbnJ3bnhQa1lNS0NqcCs1cDRpRThvSEZwZmF0ZHZKckUwd1I5S3VEOFNy?= =?utf-8?B?QWpvUTNoTk5YVE5BRllTb0JDSno3Mk5hVWFMU00yVkdaVjZtMEc5Y01HNlVh?= =?utf-8?B?TENlRnliRUk5dkFsK2RTMEVqOGNhVWUrT2ExVEpMR1d5ejg3MGpjRDdoc2gw?= =?utf-8?B?cHZET3RtZ0FiN0NQL0oyOVBuZitTcm5FR3RlS2pJSGRzd0dHWFRCNHJlNzha?= =?utf-8?B?K3hidWd5Q3pDeWZjOWlKWXBtdldkTk9DUTVoRXVneG90OUpLT1JQMVdtRG9U?= =?utf-8?B?ZEMxLzdjbWZkZUJPNDdoeGV2UzQ2Tm5ydFEwTjY1dzVlYXdUZUpWSVZOTUhJ?= =?utf-8?B?Yk5yK0c2SXVXbkhOcVFBVGJTcHdKdzBLcnUwT0dFYmxqYXo5NEd3cDhaTm9P?= =?utf-8?B?Q2s1RGw0UnpTUkN0V3F5eHRMeXBWcWNmbHFSV2loN1d2SEZvTktSYldLbGRt?= =?utf-8?B?ZDN2enhKaFNCdGpjZHhiWlVTcm9haFdUYlV0bEhSZnNNOTdJUytTYituMTRy?= =?utf-8?B?bmR6SVgvb2g2cVVWcWkyYUwzWi9BcTlpOWFNRGxxa3Q3VlBpa21lN1g0RHBm?= =?utf-8?B?Z2JCVDdzU0pweW9kazJWVmNNaXI5eWVYb0lLWTVsUVZaMlFUMEh2UVZVbTRN?= =?utf-8?B?bGk4enJNbU1McGFwSzN3RnFFSUJac1FHYUxZRHc5YWtWVUlIMVpWZVp0WUo3?= =?utf-8?B?dGVoN0RTMDlHNERGdTc1L0RVektYcHliTUsyZUFiMURMUjQ2YW1LcEJST0Ev?= =?utf-8?B?dm53MDIxR3JRTmxaK3ZnV2R3Z0hzYkZkbHl3NUs1L1JRY0Y0bTNMSERBQi8y?= =?utf-8?B?MEVWQ1JDRGtyTEhTRnMzMzh6NmtuN05tOEdQcE5lK3dtSkEyU21qNzBNU1ht?= =?utf-8?Q?ysob7M9B2aVFUmUmQ5xKYDlXCQQ2mxSAfBZENQ4?= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: BN8PR11MB3666.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: f0996da2-5c1b-49ad-b50e-08d930643865 X-MS-Exchange-CrossTenant-originalarrivaltime: 16 Jun 2021 01:15:24.9478 (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: 5Euy+G89th5DAmCmEDsommAcqpZdH1U4EvQZYKywkAl5arJhOWsgJMS+mBp7Br4keHnwkmRIAOtUEZLBUSv3BA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN8PR11MB3619 Return-Path: hao.a.wu@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 VGhhbmtzIEt1biwNCg0KSSBhbSBhIGxpdHRsZSBjb25jZXJuZWQgb24gd2hldGhlciB0aGVyZSB3 aWxsIGJlIG90aGVyIG1pc3NpbmcgY2FzZXMgdGhhdCBhcmUgbm90IGNvdmVyZWQgYnkgdGhpcyBw YXRjaCBzZXJpZXMuDQoNCkkgYW0gYWxzbyB3b25kZXJpbmcgaXMgdGhlcmUgYW55IGRldGVjdGlv biBjYW4gYmUgbWFkZSB0byB3YXJuIHRoZSBjYXNlcyB0aGF0IGNvZGUgbW9kaWZpY2F0aW9uIHNo b3VsZCBiZSBtYWRlIGFmdGVyIHRoaXMgc3RydWN0dXJlIHVwZGF0ZS4NCk90aGVyd2lzZSwgaXQg d2lsbCBiZSB0aGUgYnVyZGVuIGZvciB0aGUgcGxhdGZvcm0gb3duZXJzIHRvIHJldmlldyB0aGUg cGxhdGZvcm0gY29kZXMgZm9sbG93aW5nIHlvdXIgZ3VpZGUgbWVudGlvbmVkIGluIHRoaXMgcGF0 Y2guDQoNCkhvcGluZyBvdGhlcnMgY2FuIHByb3ZpZGUgc29tZSBpbnB1dHMgb24gdGhpcy4NCg0K QmVzdCBSZWdhcmRzLA0KSGFvIFd1DQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4g RnJvbTogS3VuIFFpbiA8a3VxaW4xMkBnbWFpbC5jb20+DQo+IFNlbnQ6IFdlZG5lc2RheSwgSnVu ZSAxNiwgMjAyMSA0OjUxIEFNDQo+IFRvOiBXdSwgSGFvIEEgPGhhby5hLnd1QGludGVsLmNvbT47 IGRldmVsQGVkazIuZ3JvdXBzLmlvDQo+IENjOiBLaW5uZXksIE1pY2hhZWwgRCA8bWljaGFlbC5k Lmtpbm5leUBpbnRlbC5jb20+OyBMaW1pbmcgR2FvDQo+IDxnYW9saW1pbmdAYnlvc29mdC5jb20u Y24+OyBMaXUsIFpoaWd1YW5nIDx6aGlndWFuZy5saXVAaW50ZWwuY29tPjsNCj4gQW5kcmV3IEZp c2ggPGFmaXNoQGFwcGxlLmNvbT47IExhc3psbyBFcnNlayA8bGVyc2VrQHJlZGhhdC5jb20+OyBM ZWlmDQo+IExpbmRob2xtIDxsZWlmQG51dmlhaW5jLmNvbT4NCj4gU3ViamVjdDogUmU6IFtlZGsy LWRldmVsXSBbUEFUQ0ggdjEgMS81XSBFREsyIENvZGUgRmlyc3Q6IFBJIFNwZWNpZmljYXRpb246 DQo+IEVGSV9NTV9DT01NVU5JQ0FURV9IRUFERVIgVXBkYXRlDQo+IA0KPiBIaSBIYW8sDQo+IA0K PiBTb3JyeSB0aGF0IEkgbWlzc2VkIGNvbW1lbnRzIGZvciB0aGlzIHBhdGNoIGVhcmxpZXIuIFlv dSBhcmUgY29ycmVjdC4gSSBvbmx5DQo+IGluc3BlY3RlZCBTbW1Mb2NrQm94UGVpTGliLiBUaGUg UEVJIGluc3RhbmNlIGhhbmRsZWQgbW9kZSBzd2l0Y2ggd2l0aA0KPiBgYGBPRkZTRVRfT0YgYGBg IGZ1bmN0aW9uLiBCdXQgRFhFIGluc3RhbmNlIHN0aWxsIGhhdmUgYSBmZXcgdXNlIGNhc2VzIHRo YXQgd2lsbA0KPiBiZSBpbXBhY3RlZC4NCj4gDQo+IEkgd2lsbCB1cGRhdGUgdGhpcyByZWFkIG1l IGZpbGUgYW5kIGFkZCBhIGNvZGUgY2hhbmdlIHBhdGNoIGZvciB0aGlzIGxpYnJhcnkgaW4NCj4g djIuIFRoYW5rcyBmb3IgcG9pbnRpbmcgdGhpcyBvdXQuDQo+IA0KPiBSZWdhcmRzLA0KPiBLdW4N Cj4gDQo+IE9uIDA2LzExLzIwMjEgMDA6NDYsIFd1LCBIYW8gQSB3cm90ZToNCj4gPj4gLS0tLS1P cmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gPj4gRnJvbTogZGV2ZWxAZWRrMi5ncm91cHMuaW8gPGRl dmVsQGVkazIuZ3JvdXBzLmlvPiBPbiBCZWhhbGYgT2YgS3VuDQo+ID4+IFFpbg0KPiA+PiBTZW50 OiBUaHVyc2RheSwgSnVuZSAxMCwgMjAyMSA5OjQzIEFNDQo+ID4+IFRvOiBkZXZlbEBlZGsyLmdy b3Vwcy5pbw0KPiA+PiBDYzogS2lubmV5LCBNaWNoYWVsIEQgPG1pY2hhZWwuZC5raW5uZXlAaW50 ZWwuY29tPjsgTGltaW5nIEdhbw0KPiA+PiA8Z2FvbGltaW5nQGJ5b3NvZnQuY29tLmNuPjsgTGl1 LCBaaGlndWFuZyA8emhpZ3VhbmcubGl1QGludGVsLmNvbT47DQo+ID4+IEFuZHJldyBGaXNoIDxh ZmlzaEBhcHBsZS5jb20+OyBMYXN6bG8gRXJzZWsgPGxlcnNla0ByZWRoYXQuY29tPjsgTGVpZg0K PiA+PiBMaW5kaG9sbSA8bGVpZkBudXZpYWluYy5jb20+DQo+ID4+IFN1YmplY3Q6IFtlZGsyLWRl dmVsXSBbUEFUQ0ggdjEgMS81XSBFREsyIENvZGUgRmlyc3Q6IFBJIFNwZWNpZmljYXRpb246DQo+ ID4+IEVGSV9NTV9DT01NVU5JQ0FURV9IRUFERVIgVXBkYXRlDQo+ID4+DQo+ID4+IFJFRjogaHR0 cHM6Ly9idWd6aWxsYS50aWFub2NvcmUub3JnL3Nob3dfYnVnLmNnaT9pZD0zNDMwDQo+ID4+DQo+ ID4+IFRoaXMgY2hhbmdlIGluY2x1ZGVzIHNwZWNpZmljYXRpb24gdXBkYXRlIG1hcmtkb3duIGZp bGUgdGhhdA0KPiA+PiBkZXNjcmliZXMgdGhlIHByb3Bvc2VkIFBJIFNwZWNpZmljYXRpb24gdjEu NyBFcnJhdGEgQSBpbiBkZXRhaWwgYW5kDQo+ID4+IHBvdGVudGlhbCBpbXBhY3QgdG8gdGhlIGV4 aXN0aW5nIGNvZGViYXNlLg0KPiA+Pg0KPiA+PiBDYzogTWljaGFlbCBEIEtpbm5leSA8bWljaGFl bC5kLmtpbm5leUBpbnRlbC5jb20+DQo+ID4+IENjOiBMaW1pbmcgR2FvIDxnYW9saW1pbmdAYnlv c29mdC5jb20uY24+DQo+ID4+IENjOiBaaGlndWFuZyBMaXUgPHpoaWd1YW5nLmxpdUBpbnRlbC5j b20+DQo+ID4+IENjOiBBbmRyZXcgRmlzaCA8YWZpc2hAYXBwbGUuY29tPg0KPiA+PiBDYzogTGFz emxvIEVyc2VrIDxsZXJzZWtAcmVkaGF0LmNvbT4NCj4gPj4gQ2M6IExlaWYgTGluZGhvbG0gPGxl aWZAbnV2aWFpbmMuY29tPg0KPiA+Pg0KPiA+PiBTaWduZWQtb2ZmLWJ5OiBLdW4gUWluIDxrdXFp bjEyQGdtYWlsLmNvbT4NCj4gPj4gLS0tDQo+ID4+ICAgQlozNDMwLVNwZWNDaGFuZ2UubWQgfCA4 OCArKysrKysrKysrKysrKysrKysrKw0KPiA+PiAgIDEgZmlsZSBjaGFuZ2VkLCA4OCBpbnNlcnRp b25zKCspDQo+ID4+DQo+ID4+IGRpZmYgLS1naXQgYS9CWjM0MzAtU3BlY0NoYW5nZS5tZCBiL0Ja MzQzMC1TcGVjQ2hhbmdlLm1kIG5ldyBmaWxlDQo+ID4+IG1vZGUNCj4gPj4gMTAwNjQ0IGluZGV4 IDAwMDAwMDAwMDAwMC4uMzNhMWZmZGE0NDdiDQo+ID4+IC0tLSAvZGV2L251bGwNCj4gPj4gKysr IGIvQlozNDMwLVNwZWNDaGFuZ2UubWQNCj4gPj4gQEAgLTAsMCArMSw4OCBAQA0KPiA+PiArIyBU aXRsZTogQ2hhbmdlIE1lc3NhZ2VMZW5ndGggRmllbGQgb2YNCj4gRUZJX01NX0NPTU1VTklDQVRF X0hFQURFUg0KPiA+PiB0bw0KPiA+PiArVUlOVDY0DQo+ID4+ICsNCj4gPj4gKyMjIFN0YXR1czog RHJhZnQNCj4gPj4gKw0KPiA+PiArIyMgRG9jdW1lbnQ6IFVFRkkgUGxhdGZvcm0gSW5pdGlhbGl6 YXRpb24gU3BlY2lmaWNhdGlvbiBWZXJzaW9uIDEuNw0KPiA+PiArRXJyYXRhIEENCj4gPj4gKw0K PiA+PiArIyMgTGljZW5zZQ0KPiA+PiArDQo+ID4+ICtTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjog Q0MtQlktNC4wDQo+ID4+ICsNCj4gPj4gKyMjIFN1Ym1pdHRlcjogW1RpYW5vQ29yZSBDb21tdW5p dHldKGh0dHBzOi8vd3d3LnRpYW5vY29yZS5vcmcpDQo+ID4+ICsNCj4gPj4gKyMjIFN1bW1hcnkg b2YgdGhlIGNoYW5nZQ0KPiA+PiArDQo+ID4+ICtDaGFuZ2UgdGhlIGBNZXNzYWdlTGVuZ3RoYCBG aWVsZCBvZg0KPiBgRUZJX01NX0NPTU1VTklDQVRFX0hFQURFUmANCj4gPj4gZnJvbSBVSU5UTiB0 byBVSU5UNjQgdG8gcmVtb3ZlIGFyY2hpdGVjdHVyZSBkZXBlbmRlbmN5Og0KPiA+PiArDQo+ID4+ ICtgYGBjDQo+ID4+ICt0eXBlZGVmIHN0cnVjdCB7DQo+ID4+ICsgIEVGSV9HVUlEICBIZWFkZXJH dWlkOw0KPiA+PiArICBVSU5UNjQgICAgTWVzc2FnZUxlbmd0aDsNCj4gPj4gKyAgVUlOVDggICAg IERhdGFbQU5ZU0laRV9BUlJBWV07DQo+ID4+ICt9IEVGSV9NTV9DT01NVU5JQ0FURV9IRUFERVI7 DQo+ID4+ICtgYGANCj4gPj4gKw0KPiA+PiArIyMgQmVuZWZpdHMgb2YgdGhlIGNoYW5nZQ0KPiA+ PiArDQo+ID4+ICtJbiBQSSBTcGVjIHYxLjcgRXJyYXRhIEEsIFZvbC40LCBTZWMgNS43IE1NIENv bW11bmljYXRpb24gUHJvdG9jb2wsDQo+ID4+ICt0aGUNCj4gPj4gTWVzc2FnZUxlbmd0aCBmaWVs ZCBvZiBgRUZJX01NX0NPTU1VTklDQVRFX0hFQURFUmAgKGFsc28NCj4gZGVmaW5lZCBhcw0KPiA+ PiBgRUZJX1NNTV9DT01NVU5JQ0FURV9IRUFERVJgKSBpcyBkZWZpbmVkIGFzIHR5cGUgVUlOVE4u DQo+ID4+ICsNCj4gPj4gK0J1dCB0aGlzIHN0cnVjdHVyZSwgYXMgYSBnZW5lcmljIGRlZmluaXRp b24sIGNvdWxkIGJlIHVzZWQgZm9yIGJvdGgNCj4gPj4gK1BFSSBhbmQNCj4gPj4gRFhFIE1NIGNv bW11bmljYXRpb24uIFRodXMgZm9yIGEgc3lzdGVtIHRoYXQgc3VwcG9ydHMgUEVJIE1NIGxhdW5j aCwNCj4gPj4gYnV0IG9wZXJhdGVzIFBFSSBpbiAzMmJpdCBtb2RlIGFuZCBNTSBmb3VuZGF0aW9u IGluIDY0Yml0LCB0aGUNCj4gPj4gY3VycmVudCBgRUZJX01NX0NPTU1VTklDQVRFX0hFQURFUmAg ZGVmaW5pdGlvbiB3aWxsIGNhdXNlDQo+IHN0cnVjdHVyZQ0KPiA+PiBwYXJzZSBlcnJvciBkdWUg dG8gVUlOVE4gdXNlZC4NCj4gPj4gKw0KPiA+PiArIyMgSW1wYWN0IG9mIHRoZSBjaGFuZ2UNCj4g Pj4gKw0KPiA+PiArVGhpcyBjaGFuZ2Ugd2lsbCBpbXBhY3QgdGhlIGtub3duIHN0cnVjdHVyZSBj b25zdW1lcnMgaW5jbHVkaW5nOg0KPiA+PiArDQo+ID4+ICtgYGBiYXNoDQo+ID4+ICtNZGVNb2R1 bGVQa2cvQ29yZS9QaVNtbUNvcmUvUGlTbW1JcGwNCj4gPj4gK01kZU1vZHVsZVBrZy9BcHBsaWNh dGlvbi9TbWlIYW5kbGVyUHJvZmlsZUluZm8NCj4gPj4gK01kZU1vZHVsZVBrZy9BcHBsaWNhdGlv bi9NZW1vcnlQcm9maWxlSW5mbw0KPiA+PiArYGBgDQo+ID4+ICsNCj4gPj4gK0ZvciBjb25zdW1l cnMgdGhhdCBhcmUgbm90IHVzaW5nDQo+ID4+IGBPRkZTRVRfT0YoRUZJX01NX0NPTU1VTklDQVRF X0hFQURFUiwgRGF0YSlgLCBidXQgcGVyZm9ybWluZw0KPiBleHBsaWNpdA0KPiA+PiBhZGRpdGlv biBzdWNoIGFzIHRoZSBleGlzdGluZw0KPiA+Pg0KPiBNZGVNb2R1bGVQa2cvQXBwbGljYXRpb24v U21pSGFuZGxlclByb2ZpbGVJbmZvL1NtaUhhbmRsZXJQcm9maWxlSW5mby4NCj4gPj4gYywgb25l IHdpbGwgbmVlZCB0byBjaGFuZ2UgY29kZSBpbXBsZW1lbnRhdGlvbiB0byBtYXRjaCBuZXcgc3Ry dWN0dXJlDQo+ID4+IGRlZmluaXRpb24uIE90aGVyd2lzZSwgdGhlIGNvZGUgY29tcGlsZWQgb24g SUEzMiBhcmNoaXRlY3R1cmUgd2lsbA0KPiA+PiBleHBlcmllbmNlIHN0cnVjdHVyZSBmaWVsZCBk ZXJlZmVyZW5jZSBlcnJvci4NCj4gPj4gKw0KPiA+PiArVXNlciB3aG8gY3VycmVudGx5IHVzZXMg VUlOVE4gbG9jYWwgdmFyaWFibGVzIGFzIHBsYWNlIGhvbGRlciBvZg0KPiA+PiBNZXNzYWdlTGVu Z3RoIHdpbGwgbmVlZCB0byB1c2UgY2F1dGlvbiB0byBtYWtlIGNhc3QgZnJvbSBVSU5UTiB0bw0K PiA+PiBVSU5UNjQgYW5kIHZpY2UgdmVyc2EuIEl0IGlzIHJlY29tbWVuZGVkIHRvIHVzZSBgU2Fm ZVVpbnQ2NFRvVWludG5gDQo+ID4+IGZvciBzdWNoIG9wZXJhdGlvbnMgd2hlbiB0aGUgdmFsdWUg aXMgaW5kZXRlcm1pbmlzdGljLg0KPiA+PiArDQo+ID4+ICtOb3RlOiBNZGVNb2R1bGVQa2cvTGli cmFyeS9TbW1Mb2NrQm94TGliL1NtbUxvY2tCb3hQZWlMaWIgaXMNCj4gYWxzbw0KPiA+PiBjb25z dW1pbmcgdGhpcyBzdHJ1Y3R1cmUsIGJ1dCBpdCBoYW5kbGVkIHRoaXMgc2l6ZSBkaXNjcmVwYW5j eQ0KPiA+PiBpbnRlcm5hbGx5LiBJZiB0aGlzDQo+ID4NCj4gPg0KPiA+IEhlbGxvIEt1biwNCj4g Pg0KPiA+IFNvcnJ5IGZvciBhIHF1ZXN0aW9uLg0KPiA+IEkgYW0gbm90IHN1cmUgd2h5IHRoZSBj dXJyZW50IGNvZGVzIGluIGZpbGUgU21tTG9ja0JveER4ZUxpYi5jIHdpbGwgd29yaw0KPiBwcm9w ZXJseSBhZnRlciB0aGUgVUlOVE4gLT4gVUlOVDY0IGNoYW5nZS4NCj4gPg0KPiA+IEZvciBleGFt cGxlOg0KPiA+IExvY2tCb3hHZXRTbW1Db21tQnVmZmVyKCk6DQo+ID4gICAgTWluaW1hbFNpemVO ZWVkZWQgPSBzaXplb2YgKEVGSV9HVUlEKSArDQo+ID4gICAgICAgICAgICAgICAgICAgICAgICBz aXplb2YgKFVJTlROKSArDQo+ID4gICAgICAgICAgICAgICAgICAgICAgICBNQVggKHNpemVvZiAo RUZJX1NNTV9MT0NLX0JPWF9QQVJBTUVURVJfU0FWRSksDQo+ID4gICAgICAgICAgICAgICAgICAg ICAgICAgICAgIE1BWCAoc2l6ZW9mDQo+IChFRklfU01NX0xPQ0tfQk9YX1BBUkFNRVRFUl9TRVRf QVRUUklCVVRFUyksDQo+ID4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTUFYIChz aXplb2YNCj4gKEVGSV9TTU1fTE9DS19CT1hfUEFSQU1FVEVSX1VQREFURSksDQo+ID4gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNQVggKHNpemVvZg0KPiAoRUZJX1NNTV9M T0NLX0JPWF9QQVJBTUVURVJfUkVTVE9SRSksDQo+ID4gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHNpemVvZg0KPiA+IChFRklfU01NX0xPQ0tfQk9YX1BBUkFNRVRF Ul9SRVNUT1JFX0FMTF9JTl9QTEFDRSkpKSkpOw0KPiA+DQo+ID4gU2F2ZUxvY2tCb3goKToNCj4g PiAgICBVSU5UOCAgICAgICAgICAgICAgICAgICAgICAgICAgIFRlbXBDb21tQnVmZmVyW3NpemVv ZihFRklfR1VJRCkgKyBzaXplb2YoVUlOVE4pDQo+ICsgc2l6ZW9mKEVGSV9TTU1fTE9DS19CT1hf UEFSQU1FVEVSX1NBVkUpXTsNCj4gPg0KPiA+IElzIHRoZSBzZXJpZXMgbWlzc2VkIGNoYW5nZXMg Zm9yIFNtbUxvY2tCb3hEeGVMaWIgb3IgSSBnb3Qgc29tZXRoaW5nDQo+IHdyb25nPw0KPiA+DQo+ ID4gQmVzdCBSZWdhcmRzLA0KPiA+IEhhbyBXdQ0KPiA+DQo+ID4NCj4gPj4gcG90ZW50aWFsIHNw ZWMgY2hhbmdlIGlzIG5vdCBhcHBsaWVkLCBhbGwgYXBwbGljYWJsZSBQRUkgTU0NCj4gPj4gY29t bXVuaWNhdGUgY2FsbGVycyB3aWxsIG5lZWQgdG8gdXNlIHRoZSBzYW1lIHJvdXRpbmUgYXMgdGhh dCBvZg0KPiA+PiBTbW1Mb2NrQm94UGVpTGliIHRvIGludm9rZSBhIHByb3Blcmx5IHBvcHVsYXRl ZA0KPiA+PiBFRklfTU1fQ09NTVVOSUNBVEVfSEVBREVSIHRvIGJlIHVzZWQgaW4gWDY0IE1NIGZv dW5kYXRpb24uDQo+ID4+ICsNCj4gPj4gKyMjIERldGFpbGVkIGRlc2NyaXB0aW9uIG9mIHRoZSBj aGFuZ2UgW25vcm1hdGl2ZSB1cGRhdGVzXQ0KPiA+PiArDQo+ID4+ICsjIyMgU3BlY2lmaWNhdGlv biBDaGFuZ2VzDQo+ID4+ICsNCj4gPj4gKzEuIEluIFBJIFNwZWNpZmljYXRpb24gdjEuNyBFcnJh dGEgQTogVm9sLiA0IFBhZ2UtOTEsIHRoZSBkZWZpbml0aW9uDQo+ID4+ICtvZg0KPiA+PiBgRUZJ X01NX0NPTU1VTklDQVRFX0hFQURFUmAgc2hvdWxkIGJlIGNoYW5nZWQgZnJvbSBjdXJyZW50Og0K PiA+PiArDQo+ID4+ICtgYGBjDQo+ID4+ICt0eXBlZGVmIHN0cnVjdCB7DQo+ID4+ICsgIEVGSV9H VUlEICBIZWFkZXJHdWlkOw0KPiA+PiArICBVSU5UTiAgICAgTWVzc2FnZUxlbmd0aDsNCj4gPj4g KyAgVUlOVDggICAgIERhdGFbQU5ZU0laRV9BUlJBWV07DQo+ID4+ICt9IEVGSV9NTV9DT01NVU5J Q0FURV9IRUFERVI7DQo+ID4+ICtgYGANCj4gPj4gKw0KPiA+PiArdG86DQo+ID4+ICsNCj4gPj4g K2BgYGMNCj4gPj4gK3R5cGVkZWYgc3RydWN0IHsNCj4gPj4gKyAgRUZJX0dVSUQgIEhlYWRlckd1 aWQ7DQo+ID4+ICsgIFVJTlQ2NCAgICBNZXNzYWdlTGVuZ3RoOw0KPiA+PiArICBVSU5UOCAgICAg RGF0YVtBTllTSVpFX0FSUkFZXTsNCj4gPj4gK30gRUZJX01NX0NPTU1VTklDQVRFX0hFQURFUjsN Cj4gPj4gK2BgYA0KPiA+PiArDQo+ID4+ICsjIyMgQ29kZSBDaGFuZ2VzDQo+ID4+ICsNCj4gPj4g KzEuIFJlbW92ZSB0aGUgZXhwbGljaXQgY2FsY3VsYXRpb24gb2YgdGhlIG9mZnNldCBvZiBgRGF0 YWAgaW4NCj4gPj4gYEVGSV9NTV9DT01NVU5JQ0FURV9IRUFERVJgLiBUaHVzIGFwcGxpY2FibGUg Y2FsY3VsYXRpb25zIG9mDQo+ID4+IGBzaXplb2YoRUZJX0dVSUQpICsgc2l6ZW9mKFVJTlROKWAg c2hvdWxkIGJlIHJlcGxhY2VkIHdpdGgNCj4gPj4gYE9GRlNFVF9PRihFRklfTU1fQ09NTVVOSUNB VEVfSEVBREVSLCBEYXRhKWAgb3Igc2ltaWxhcg0KPiBhbHRlcm5hdGl2ZXMuDQo+ID4+IFRoZXNl IGNhbGN1bGF0aW9ucyBhcmUgaWRlbnRpZmllZCBpbjoNCj4gPj4gKw0KPiA+PiArYGBgYmFzaA0K PiA+Pg0KPiArTWRlTW9kdWxlUGtnL0FwcGxpY2F0aW9uL1NtaUhhbmRsZXJQcm9maWxlSW5mby9T bWlIYW5kbGVyUHJvZmlsZUluZm8uDQo+ID4+IGMNCj4gPj4gK01kZU1vZHVsZVBrZy9BcHBsaWNh dGlvbi9NZW1vcnlQcm9maWxlSW5mby9NZW1vcnlQcm9maWxlSW5mby5jDQo+ID4+ICtgYGANCj4g Pj4gKw0KPiA+PiArMS4gUmVzb2x2ZSBwb3RlbnRpYWxseSBtaXNtYXRjaGVkIHR5cGUgYmV0d2Vl biBgVUlOVE5gIGFuZCBgVUlOVDY0YC4NCj4gPj4gVGhpcyB3b3VsZCBvY2N1ciB3aGVuIGBNZXNz YWdlTGVuZ3RoYCBvciBpdHMgZGVyaXZpdGl2ZSBhcmUgdXNlZCBmb3INCj4gPj4gbG9jYWwgY2Fs Y3VsYXRpb24gd2l0aCBleGlzdGluZyBgVUlOVE5gIHR5cGVkIHZhcmlhYmxlcy4gQ29kZSBjaGFu Z2UNCj4gPj4gcmVnYXJkaW5nIHRoaXMgcGVyc3BlY3RpdmUgaXMgcGVyIGNhc2UgZXZhbHVhdGlv bjogaWYgdGhlIHZhcmlhYmxlcw0KPiA+PiBpbnZvbHZlZCBhcmUgYWxsIGRldGVybWluaXN0aWMg dmFsdWVzLCBhbmQgdGhlcmUgaXMgbm8gb3ZlcmZsb3cgb3INCj4gPj4gdW5kZXJmbG93IHJpc2ss IGEgY2FzdCBvcGVyYXRpb24gKGZyb20gYFVJTlROYCB0byBgVUlOVDY0YCkgY2FuIGJlDQo+ID4+ IHNhZmVseSB1c2VkLiBPdGhlcndpc2UsIHRoZSBjYWxjdWxhdGlvbiB3aWxsIGJlIHBlcmZvcm1l ZCBpbiBgVUlOVDY0YA0KPiA+PiBiaXR3aWR0aCBhbmQgdGhlbiBjb252ZXJ0IHRvIGBVSU5UTmAg dXNpbmcgYFNhZmVVaW50NjQqYCBhbmQNCj4gPj4gYFNhZmVVaW50NjRUb1VpbnRuYCwgcmVzcGVj dGl2ZWx5LiBUaGVzZSBvcGVyYXRpb25zIGFyZSBpZGVudGlmaWVkIGluOg0KPiA+PiArDQo+ID4+ ICtgYGBiYXNoDQo+ID4+ICtNZGVNb2R1bGVQa2cvQ29yZS9QaVNtbUNvcmUvUGlTbW1JcGwuYw0K PiA+Pg0KPiArTWRlTW9kdWxlUGtnL0FwcGxpY2F0aW9uL1NtaUhhbmRsZXJQcm9maWxlSW5mby9T bWlIYW5kbGVyUHJvZmlsZUluZm8uDQo+ID4+IGMNCj4gPj4gK01kZU1vZHVsZVBrZy9BcHBsaWNh dGlvbi9NZW1vcnlQcm9maWxlSW5mby9NZW1vcnlQcm9maWxlSW5mby5jDQo+ID4+ICtgYGANCj4g Pj4gKw0KPiA+PiArMS4gQWZ0ZXIgYWxsIGFib3ZlIGNoYW5nZXMgYXBwbGllZCBhbmQgc3BlY2lm aWNhdGlvbiB1cGRhdGVkLA0KPiA+PiBgTWRlUGtnL0luY2x1ZGUvUHJvdG9jb2wvTW1Db21tdW5p Y2F0aW9uLmhgIHdpbGwgbmVlZCB0byBiZQ0KPiB1cGRhdGVkDQo+ID4+IHRvIG1hdGNoIG5ldyBk ZWZpbml0aW9uIHRoYXQgaW5jbHVkZXMgdGhlIGZpZWxkIHR5cGUgdXBkYXRlLg0KPiA+PiAtLQ0K PiA+PiAyLjMxLjEud2luZG93cy4xDQo+ID4+DQo+ID4+DQo+ID4+DQo+ID4+IA0KPiA+Pg0KPiA+ DQo=