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 B1F3E740035 for ; Fri, 22 Dec 2023 02:37:25 +0000 (UTC) DKIM-Signature: a=rsa-sha256; bh=3sCtwnFu24A4p6yN/vMJFpkKaIYWu7UtAKekV8B4b7g=; 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; s=20140610; t=1703212644; v=1; b=jLSlxrDNZxVHZOrhsDOdOPs66/Vgrbq//7aKvVo2GvNotQjEKm3CYDn3WPULZOwO0yt/3jBz 3UZ39KK9ioqhmbnzlE7dFsFLUaG0mSlEvBh+xWUAYBbrRb4aZYLfsmT5mVZxdXhbMCMxj6gXIvW Qy6bnF2qXyEx8Gf1t5tfe02c= X-Received: by 127.0.0.2 with SMTP id qDlwYY7687511xiGZv5v6PCN; Thu, 21 Dec 2023 18:37:24 -0800 X-Received: from mgamail.intel.com (mgamail.intel.com [192.55.52.43]) by mx.groups.io with SMTP id smtpd.web10.11357.1703212643583446717 for ; Thu, 21 Dec 2023 18:37:23 -0800 X-IronPort-AV: E=McAfee;i="6600,9927,10931"; a="482246398" X-IronPort-AV: E=Sophos;i="6.04,294,1695711600"; d="scan'208,217";a="482246398" X-Received: from orsmga002.jf.intel.com ([10.7.209.21]) by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 21 Dec 2023 18:37:23 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10931"; a="776918757" X-IronPort-AV: E=Sophos;i="6.04,294,1695711600"; d="scan'208,217";a="776918757" X-Received: from orsmsx602.amr.corp.intel.com ([10.22.229.15]) by orsmga002.jf.intel.com with ESMTP/TLS/AES256-GCM-SHA384; 21 Dec 2023 18:37:21 -0800 X-Received: from orsmsx611.amr.corp.intel.com (10.22.229.24) by ORSMSX602.amr.corp.intel.com (10.22.229.15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35; Thu, 21 Dec 2023 18:37:22 -0800 X-Received: from orsmsx610.amr.corp.intel.com (10.22.229.23) by ORSMSX611.amr.corp.intel.com (10.22.229.24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35; Thu, 21 Dec 2023 18:37:21 -0800 X-Received: from ORSEDG601.ED.cps.intel.com (10.7.248.6) 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.2507.35 via Frontend Transport; Thu, 21 Dec 2023 18:37:21 -0800 X-Received: from NAM11-DM6-obe.outbound.protection.outlook.com (104.47.57.169) by edgegateway.intel.com (134.134.137.102) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.35; Thu, 21 Dec 2023 18:37:16 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=QNLj6J9w6g09R3uPaPVdHzbWwcZnSLJsxH2WssAw540xYoGU/lDU7aDsN/7MHFAXdrpJ2tND1f8XX0xEJCyIc3vwQeX0zLRpyxvCRxBaWayd84evo30VpOrW4aZcpwrdDVfRZhdBYDj4FFR5w5bn/ldYAfJN+BwdvOe9fy9niXEnETzWhep3hwJIGYK+75d5VI8Mi25CGa1Q52V8zZUwxJHNLemPqNzTVNjCggrxX5tTXz08wKFu1sTWd7lXkKH1+Hpp0QvN019WBhCwA4FPMGIu/IR5GxB8t3duMT8Mf2HZ4tDpgrhP9C05C5vtOaGv4JFb1Siw3zb4AN5hExojZQ== 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=yfw+8ML2H6nSPhQn5VrcM31eQBXqppSXm2b8xxT3Mnc=; b=VLT9iRcXNH2UgeXQxUldQ1tdWXUM/oS4TWLv8p799gwjKz8YrdZq3pR3R+lOtFGBxrRFPOGXnHzyCM58UjkuPMNQ7FLgUnqpmHvY+a8gMASHzMg+x6Hv19hn+JaaTWuteacA8UxMjACZIGtOMoPCGLU0uqu4PpJSguAVPytCciz4tvh09WP/5TX8huNM0tO1q+/e9eCZU6eFsKZj1H4HNesGrFtU2ydjr7lOg0hnj4YButDv/Q8WZFulq4NDic5Ja4jtC/REQD22Vh1XYDNuwvzmA/XUQsKJUicVpJ8lHTzRSu1WTYGscvvLj/uqT7rLC+dYo63/Mj+d+YHPTBbyvQ== 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 MN6PR11MB8244.namprd11.prod.outlook.com (2603:10b6:208:470::14) by DM8PR11MB5670.namprd11.prod.outlook.com (2603:10b6:8:37::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7113.21; Fri, 22 Dec 2023 02:37:12 +0000 X-Received: from MN6PR11MB8244.namprd11.prod.outlook.com ([fe80::b614:1f5e:8b0c:9858]) by MN6PR11MB8244.namprd11.prod.outlook.com ([fe80::b614:1f5e:8b0c:9858%4]) with mapi id 15.20.7113.019; Fri, 22 Dec 2023 02:37:12 +0000 From: "Ni, Ray" To: Chao Li , "devel@edk2.groups.io" , "ardb@kernel.org" CC: "Kumar, Rahul R" , Gerd Hoffmann , Leif Lindholm , "Ard Biesheuvel" , Sami Mujawar Subject: Re: [edk2-devel] [PATCH v4 19/37] UefiCpuPkg: Add MMIO method in CpuIo2Dxe Thread-Topic: [edk2-devel] [PATCH v4 19/37] UefiCpuPkg: Add MMIO method in CpuIo2Dxe Thread-Index: AQHaMnwmrO5JQp/6yES0lV3La77QdbCxZvoggABj1QCAAVFBgIAAPlGAgABOQoCAAAWfAIAAAq8AgAAV3ICAALyoAIAAFuDg Date: Fri, 22 Dec 2023 02:37:12 +0000 Message-ID: References: <20231212130932.2467028-1-lichao@loongson.cn> <17A017C201FEB90D.32321@groups.io> <9014a7b3-095c-42b1-a9ef-5a388818385d@loongson.cn> <0a00f876-0bc5-4cf7-9252-b21520463034@loongson.cn> <97c6da30-758d-48cd-a3c9-558262144f77@loongson.cn> In-Reply-To: <97c6da30-758d-48cd-a3c9-558262144f77@loongson.cn> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-publictraffictype: Email x-ms-traffictypediagnostic: MN6PR11MB8244:EE_|DM8PR11MB5670:EE_ x-ms-office365-filtering-correlation-id: ecd9e61c-de81-4190-3e9f-08dc0296e725 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam-message-info: 4j5wT6ge8rbv3euSftjObCDoWW9ZTnX5mXWVjZvUBfXI7mOlRqne67gW0RlOFo1rZ7y5RgfWnIO9ypXE9pkXkSF+y40EASKAw189ou7SDG+zFPVWcE2jZBMPN6kjdr1AtA5D147LYou+TDBP8xilkn1BiPTuFnSVmgewaMCYAeCeDQMYEFTRwvdMM9nokrIASC4+6n5mWl4SVK5qPTxDd7t640hsoQCGexYgI85nO/djwNvWUYCk4KQJf+KrwYyI1N1uTdslapBbV5Birk0LGMx/m/ot71wLnrZAtCO29If6IMJ+trtGaiqCazyVKodNV5Z+QIMcjbEI9OzYgPDHbJ/eBGtGqmysBwPhdmehRvA+m7VjU9xOW5VApw3/XfjuFN3piE+ODlKNeEVy92VEi/qHrJ/mFNszsxBlu3sjclEn0iAfSlFXOj1svCayzJlrxjW3AyJ2LQ0IQxlOxw3H5xxPQhG04jwEVwYm51VHOezkQYM252OYBsRSufGetHP9ypxqgpBkxIxjTdOoOPPzOapcrB+vabBkJRvHFdkjtRp63H9wP0aBwOWMfIrqZguVh+hW/5wiZQIRaGj9YbKnOxn9BoGF9sHh/1nJCLgmGAJffirb7UVSpZvx83y7+SuJjxaH9YsF9yAIqEc9bK+6cQ== x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?VHNBdllLZkg3aXRTYjRzT3RQb3VNUGhQb05zZGFpa3ltQm1kSEdBcXlVVTRm?= =?utf-8?B?dWl0Zkg0c3RDVnNTdEltUTBUZzdWdnFHL3RlMG51TDRyWGs3Tzg1QWJOcXpG?= =?utf-8?B?ZUZMY2x5K3gwb0h0akxSUWY5SDNmWEtaUE9NeFl6d20yMFlyeDZHUmJGeTdZ?= =?utf-8?B?Qlo2dzVIbVg0TC9YdERHaHFCN0V6L0k5TURuN2o2RW8xRlJaT1NMVG1SQnpt?= =?utf-8?B?Y040Q3FRZ2tGbkxHczQ0VUVmSUZkRTBqQjNoazRCdXUwSVNQSUQxbDNyVG9k?= =?utf-8?B?ckRZWlBMNkxzNmFISzhJN3lYRDVXYjAvMUUwKytZRy9KOU85VXo1UkUzVUN4?= =?utf-8?B?d212VnY3bndRczk4VUZoenB3VThWWXRFeDhYdDA3VURraTBNLzltVGJtemth?= =?utf-8?B?Sk1oWHdacEVwbzEvZERiWEpaSXExeDhsdkxOWmNMSHYvdGNGRmNxU0tYdTcx?= =?utf-8?B?QmgxN3NyWVNMSjZONmU4cFp1OU9hdTJnRll2a0twdjk4cG1raXdORW9FYlkr?= =?utf-8?B?aUl0M3ZiR1RDUG1oZGlKck5uOUFDNS9Fcll4eDdodHFFMG83aktTTUFodFVX?= =?utf-8?B?amJSandPZkttaGljeVI2OU5BNmxVWkxPdFZOM2Y1WDlxeTM1aEp3NWZSYWZS?= =?utf-8?B?MGhHSUlWakxuNXVWY1B6TXlmRytrSHQwVzNUSGltWjF0VHUyTkxGZmc3SlVq?= =?utf-8?B?YXhCMjJGNHpIWVUvdUh2U1dvRUNsczNFYlhKTVFsSVovc25LRDV1MUh2VkdQ?= =?utf-8?B?M0RlL2wyb1picndZVTF2OS9uUlFCdGVYbHBSUHN1Z21qblN5YzFheWQ1dndZ?= =?utf-8?B?Ry9GdEdLeithcjA1bm8vV3VHZThHQXhFcHRqMXV6RGxqSzhodDVyeHp4aHM2?= =?utf-8?B?clpiSXUwOHdlUk9jYUoyQlM3bXRRWmg5ZzBpZVJnOFZYZmlmV1lycjNHdnVJ?= =?utf-8?B?UUsrMGRORUFCbEh5YUYrb3UrcjBaSVFDc3dHdkFHeTZNaHNZMW5EdE5aeEtR?= =?utf-8?B?dndzaTNmNzRTaTNtNks0MDFwWmFnbmxWbGRHUk1nTWs1ZWRqTlNRc3Z0UVJE?= =?utf-8?B?Q3ZQRXBHOXNpZXJpVkJKeVAzL1R4KzNXK0puOXU0cEEvREdTVWlybE1HcHFk?= =?utf-8?B?SE5xQVpXbDFXQmFPOVdaM2xLcGtMaEtOaTd2NW0wejJyN3pVaXh3VERCbzBS?= =?utf-8?B?a21aVW84UFZ0blBQNTE3MWtVaTBicUZweEYwYk5qbTUvaGh4bDJDV0NLUEUw?= =?utf-8?B?aDBzaEdZQ3lqaXkrVk5ac3U4VWRSTEZienJFYjM2bDJtaFJ1M3MvT0VISnhG?= =?utf-8?B?K2h0bzlNL000WWZKQjh4ZzkrTExjT0dFbjJaYU5uaEtqUjVFQ0dQd3VpNnJQ?= =?utf-8?B?bEsyOHQ1bU9ncy9FWUtrMGlxaFFQaUtZUG4wQkd4VTF3OG51aDBxYkYyN0li?= =?utf-8?B?Z3pVUW05NGhpSVFYa1FQdGdLSzhRMDBqVnQxZkhuL09YQVB5RjNuYVpnWHNn?= =?utf-8?B?S2xNWUZpVkY5eUd5V2l1aWp2RHVGRHBENjdUREpFUTRodnRIaHpKaStKK29R?= =?utf-8?B?QU8vYkU0UWdLc2w3UUdjdGMvb2x3RUZXT1FGMXBMZ1ZWUlpyM1JENmM3MUR0?= =?utf-8?B?eFlzcjJMMXp0SVVwNmROQ0d3Y01wbU5yVEpPQ2ROODh0dUlVcWNCMlVlWkty?= =?utf-8?B?eHZ0bTBsOWt6ZnBiWW0rTlh3YUpTTEFzckYzSndiODNGc2dIM2p1Qy8zL1E4?= =?utf-8?B?R083QjBIRjR2Q0w4OXJQK2U4V1RaOFdWVkoxZlJRWmt1MTFBZzVVK2R5SEp4?= =?utf-8?B?UmhETG1NU0lQVW1ZS2ErKzJNRGExdFBROEg1S1NaRjE5RXNlSE5Dc1JpT0ZL?= =?utf-8?B?YVE3MllzZ0R5cHBPdkdlN3Zxa0VyWHowOFhOVFNjQVhqQlBIcGo3dDlkako4?= =?utf-8?B?OUxVdVRkWSszWDg0enZzUzFCcTB5V2JLSndLNUxidndSZFloem5aYmhWRHZX?= =?utf-8?B?czFGRkhHQjBuUks5WUtGdEN1OW1ocFZlN0Z6TGFYbWVWMUpsM1ZrSU9nUUcr?= =?utf-8?B?R2gxWVVwOEtCNFJaeEF6N09kMkVpOGZHQWJ5aFJmZWdzZEFoNVlEK21iSDc0?= =?utf-8?Q?TJjw=3D?= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: MN6PR11MB8244.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: ecd9e61c-de81-4190-3e9f-08dc0296e725 X-MS-Exchange-CrossTenant-originalarrivaltime: 22 Dec 2023 02:37:12.5515 (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: RZWMICVjb+W+gkt9eSeI+40kL4zzcrWyaBNo6xAZBgUvW1FMdunKAx0KPNoXHQZhVxcvXKWlCnPd/NSxnEFhkQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM8PR11MB5670 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,ray.ni@intel.com List-Unsubscribe-Post: List-Unsubscribe=One-Click List-Unsubscribe: X-Gm-Message-State: eQAvG5s1ABCBY8OllcdZ9EnXx7686176AA= Content-Language: en-US Content-Type: multipart/alternative; boundary="_000_MN6PR11MB824436C38A996277675E59278C94AMN6PR11MB8244namp_" X-GND-Status: LEGIT Authentication-Results: spool.mail.gandi.net; dkim=pass header.d=groups.io header.s=20140610 header.b=jLSlxrDN; 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; arc=reject ("signature check failed: fail, {[1] = sig:microsoft.com:reject}") --_000_MN6PR11MB824436C38A996277675E59278C94AMN6PR11MB8244namp_ Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 R29vZCB0byBtZS4NCg0KVGhhbmtzLA0KUmF5DQpGcm9tOiBDaGFvIExpIDxsaWNoYW9AbG9vbmdz b24uY24+DQpTZW50OiBGcmlkYXksIERlY2VtYmVyIDIyLCAyMDIzIDk6MTUgQU0NClRvOiBkZXZl bEBlZGsyLmdyb3Vwcy5pbzsgYXJkYkBrZXJuZWwub3JnOyBOaSwgUmF5IDxyYXkubmlAaW50ZWwu Y29tPg0KQ2M6IEt1bWFyLCBSYWh1bCBSIDxyYWh1bC5yLmt1bWFyQGludGVsLmNvbT47IEdlcmQg SG9mZm1hbm4gPGtyYXhlbEByZWRoYXQuY29tPjsgTGVpZiBMaW5kaG9sbSA8cXVpY19sbGluZGhv bEBxdWljaW5jLmNvbT47IEFyZCBCaWVzaGV1dmVsIDxhcmRiK3RpYW5vY29yZUBrZXJuZWwub3Jn PjsgU2FtaSBNdWphd2FyIDxzYW1pLm11amF3YXJAYXJtLmNvbT4NClN1YmplY3Q6IFJlOiBbZWRr Mi1kZXZlbF0gW1BBVENIIHY0IDE5LzM3XSBVZWZpQ3B1UGtnOiBBZGQgTU1JTyBtZXRob2QgaW4g Q3B1SW8yRHhlDQoNCg0KDQoNClRoYW5rcywNCkNoYW8NCk9uIDIwMjMvMTIvMjEgMjE6NTksIEFy ZCBCaWVzaGV1dmVsIHdyb3RlOg0KDQpPbiBUaHUsIDIxIERlYyAyMDIzIGF0IDEzOjQxLCBDaGFv IExpIDxsaWNoYW9AbG9vbmdzb24uY24+PG1haWx0bzpsaWNoYW9AbG9vbmdzb24uY24+IHdyb3Rl Og0KDQoNCg0KLi4uDQoNCkEgZ2l2ZW4gcGxhdGZvcm0gd2lsbCBlaXRoZXIgYmUgYWJsZSB0byB1 c2UgcG9ydCBJTywgb3IgaXQgd2lsbCBuZWVkDQoNCnRvIHVzZSBNTUlPIHRyYW5zbGF0aW9uLiBT byBhIGRyaXZlciB0aGF0IGNhbiBkbyBib3RoIGJhc2VkIG9uIGEgUENEDQoNCmlzIG5vdCB2ZXJ5 IHVzZWZ1bCwgaXQgbWFrZXMgbW9yZSBzZW5zZSB0byBoYXZlIHR3byBkaWZmZXJlbnQgZHJpdmVy cywNCg0KYW5kIHRoZSBwbGF0Zm9ybSBpbmNvcnBvcmF0ZXMgdGhlIG9uZSBpdCBjYW4gdXNlLg0K DQoNCg0KT2ssIEkgZ2V0IGl0LCBJIHRoaW5rIHlvdSBhcmUgbW9yZSBpbmNsaW5lZCB0byBtb3Zl IHRoZSBBcm1DcHVJbzJEeGUgdG8gYSBuZXcgcGxhY2UgYW5kIHJlbmFtZSBpdCwgbWF5YmU6IENw dU1taW8yRHhlLCB3aGlsZSBzb21lIHBsYXRmb3JtcyBjaG9vc2UgdGhlIGRpZmZlcmVudCBDcHVJ bzIgZHJ2aWVyIGJ5IHRoZW1zZWx2ZXMgd2hlbiBidWlsZGluZyBGVywgcmlnaHQ/DQoNCg0KDQoN Cg0KWWVzLg0KDQpPaywgSSBhZ3JlZS4gSWYgdGhlcmUgYXJlIG5vIGlzc3VlcyB3aXRoIFJheSwg SSB3aWxsIGFkanVzdCB0aGlzIHBhdGNoIGluIFY1LiBJIHR1bmQgaXMgbW92ZSBpdCB1bmRlciBV ZWZpQ3B1UGtnIGFuZCBuYW1lIGl0IENwdU1taW8yRHhlLCBpdCB3aWxsIGJlIGluIHRoZSBzYW1l IGRpcmVjdG9yeSBhcyBDcHVJbzJEeGUsIGlzIHRoYXQgT0s/DQoNClJheSwgd2hhdCBkbyB5b3Ug dGhpbmsgb2YgdGhpcyBwbGFuPw0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCgotPS09LT0tPS09LT0t PS09LT0tPS09LQpHcm91cHMuaW8gTGlua3M6IFlvdSByZWNlaXZlIGFsbCBtZXNzYWdlcyBzZW50 IHRvIHRoaXMgZ3JvdXAuClZpZXcvUmVwbHkgT25saW5lICgjMTEyODI2KTogaHR0cHM6Ly9lZGsy Lmdyb3Vwcy5pby9nL2RldmVsL21lc3NhZ2UvMTEyODI2Ck11dGUgVGhpcyBUb3BpYzogaHR0cHM6 Ly9ncm91cHMuaW8vbXQvMTAzMjYxNjkzLzc2ODYxNzYKR3JvdXAgT3duZXI6IGRldmVsK293bmVy QGVkazIuZ3JvdXBzLmlvClVuc3Vic2NyaWJlOiBodHRwczovL2VkazIuZ3JvdXBzLmlvL2cvZGV2 ZWwvbGVhdmUvMTIzNjcxMTEvNzY4NjE3Ni8xOTEzNDU2MjEyL3h5enp5IFtyZWJlY2NhQG9wZW5m dy5pb10KLT0tPS09LT0tPS09LT0tPS09LT0tPS0KCg0K --_000_MN6PR11MB824436C38A996277675E59278C94AMN6PR11MB8244namp_ Content-Type: text/html; charset="utf-8" Content-Transfer-Encoding: base64 PGh0bWwgeG1sbnM6dj0idXJuOnNjaGVtYXMtbWljcm9zb2Z0LWNvbTp2bWwiIHhtbG5zOm89InVy bjpzY2hlbWFzLW1pY3Jvc29mdC1jb206b2ZmaWNlOm9mZmljZSIgeG1sbnM6dz0idXJuOnNjaGVt YXMtbWljcm9zb2Z0LWNvbTpvZmZpY2U6d29yZCIgeG1sbnM6bT0iaHR0cDovL3NjaGVtYXMubWlj cm9zb2Z0LmNvbS9vZmZpY2UvMjAwNC8xMi9vbW1sIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv VFIvUkVDLWh0bWw0MCI+DQo8aGVhZD4NCjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIg Y29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PXV0Zi04Ij4NCjxtZXRhIG5hbWU9IkdlbmVyYXRv ciIgY29udGVudD0iTWljcm9zb2Z0IFdvcmQgMTUgKGZpbHRlcmVkIG1lZGl1bSkiPg0KPHN0eWxl PjwhLS0NCi8qIEZvbnQgRGVmaW5pdGlvbnMgKi8NCkBmb250LWZhY2UNCgl7Zm9udC1mYW1pbHk6 5a6L5L2TOw0KCXBhbm9zZS0xOjIgMSA2IDAgMyAxIDEgMSAxIDE7fQ0KQGZvbnQtZmFjZQ0KCXtm b250LWZhbWlseToiQ2FtYnJpYSBNYXRoIjsNCglwYW5vc2UtMToyIDQgNSAzIDUgNCA2IDMgMiA0 O30NCkBmb250LWZhY2UNCgl7Zm9udC1mYW1pbHk6562J57q/Ow0KCXBhbm9zZS0xOjIgMSA2IDAg MyAxIDEgMSAxIDE7fQ0KQGZvbnQtZmFjZQ0KCXtmb250LWZhbWlseTpDYWxpYnJpOw0KCXBhbm9z ZS0xOjIgMTUgNSAyIDIgMiA0IDMgMiA0O30NCkBmb250LWZhY2UNCgl7Zm9udC1mYW1pbHk6IlxA 562J57q/IjsNCglwYW5vc2UtMToyIDEgNiAwIDMgMSAxIDEgMSAxO30NCkBmb250LWZhY2UNCgl7 Zm9udC1mYW1pbHk6QXB0b3M7fQ0KQGZvbnQtZmFjZQ0KCXtmb250LWZhbWlseToiXEDlrovkvZMi Ow0KCXBhbm9zZS0xOjIgMSA2IDAgMyAxIDEgMSAxIDE7fQ0KLyogU3R5bGUgRGVmaW5pdGlvbnMg Ki8NCnAuTXNvTm9ybWFsLCBsaS5Nc29Ob3JtYWwsIGRpdi5Nc29Ob3JtYWwNCgl7bWFyZ2luOjBj bTsNCglmb250LXNpemU6MTIuMHB0Ow0KCWZvbnQtZmFtaWx5OuWui+S9kzt9DQphOmxpbmssIHNw YW4uTXNvSHlwZXJsaW5rDQoJe21zby1zdHlsZS1wcmlvcml0eTo5OTsNCgljb2xvcjpibHVlOw0K CXRleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmU7fQ0KcHJlDQoJe21zby1zdHlsZS1wcmlvcml0eTo5 OTsNCgltc28tc3R5bGUtbGluazoiSFRNTCBQcmVmb3JtYXR0ZWQgQ2hhciI7DQoJbWFyZ2luOjBj bTsNCglmb250LXNpemU6MTIuMHB0Ow0KCWZvbnQtZmFtaWx5OuWui+S9kzt9DQpzcGFuLkhUTUxQ cmVmb3JtYXR0ZWRDaGFyDQoJe21zby1zdHlsZS1uYW1lOiJIVE1MIFByZWZvcm1hdHRlZCBDaGFy IjsNCgltc28tc3R5bGUtcHJpb3JpdHk6OTk7DQoJbXNvLXN0eWxlLWxpbms6IkhUTUwgUHJlZm9y bWF0dGVkIjsNCglmb250LWZhbWlseToiQ291cmllciBOZXciO30NCnNwYW4uRW1haWxTdHlsZTIx DQoJe21zby1zdHlsZS10eXBlOnBlcnNvbmFsLXJlcGx5Ow0KCWZvbnQtZmFtaWx5OiJDYWxpYnJp IixzYW5zLXNlcmlmOw0KCWNvbG9yOndpbmRvd3RleHQ7fQ0KLk1zb0NocERlZmF1bHQNCgl7bXNv LXN0eWxlLXR5cGU6ZXhwb3J0LW9ubHk7DQoJZm9udC1zaXplOjEwLjBwdDsNCgltc28tbGlnYXR1 cmVzOm5vbmU7fQ0KQHBhZ2UgV29yZFNlY3Rpb24xDQoJe3NpemU6NjEyLjBwdCA3OTIuMHB0Ow0K CW1hcmdpbjo3Mi4wcHQgOTAuMHB0IDcyLjBwdCA5MC4wcHQ7fQ0KZGl2LldvcmRTZWN0aW9uMQ0K CXtwYWdlOldvcmRTZWN0aW9uMTt9DQotLT48L3N0eWxlPjwhLS1baWYgZ3RlIG1zbyA5XT48eG1s Pg0KPG86c2hhcGVkZWZhdWx0cyB2OmV4dD0iZWRpdCIgc3BpZG1heD0iMTAyNiIgLz4NCjwveG1s PjwhW2VuZGlmXS0tPjwhLS1baWYgZ3RlIG1zbyA5XT48eG1sPg0KPG86c2hhcGVsYXlvdXQgdjpl eHQ9ImVkaXQiPg0KPG86aWRtYXAgdjpleHQ9ImVkaXQiIGRhdGE9IjEiIC8+DQo8L286c2hhcGVs YXlvdXQ+PC94bWw+PCFbZW5kaWZdLS0+DQo8L2hlYWQ+DQo8Ym9keSBsYW5nPSJaSC1DTiIgbGlu az0iYmx1ZSIgdmxpbms9InB1cnBsZSIgc3R5bGU9IndvcmQtd3JhcDpicmVhay13b3JkIj4NCjxk aXYgY2xhc3M9IldvcmRTZWN0aW9uMSI+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBsYW5n PSJFTi1VUyIgc3R5bGU9ImZvbnQtc2l6ZToxMC41cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJy aSZxdW90OyxzYW5zLXNlcmlmIj5Hb29kIHRvIG1lLjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxw IGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0iZm9udC1zaXplOjEw LjVwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LHNhbnMtc2VyaWYiPjxvOnA+Jm5i c3A7PC9vOnA+PC9zcGFuPjwvcD4NCjxkaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+ PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZx dW90O0FwdG9zJnF1b3Q7LHNhbnMtc2VyaWY7Y29sb3I6YmxhY2siPlRoYW5rcyw8bzpwPjwvbzpw Pjwvc3Bhbj48L3A+DQo8L2Rpdj4NCjwvZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4g bGFuZz0iRU4tVVMiIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0Fw dG9zJnF1b3Q7LHNhbnMtc2VyaWY7Y29sb3I6YmxhY2siPlJheTwvc3Bhbj48c3BhbiBsYW5nPSJF Ti1VUyIgc3R5bGU9ImZvbnQtc2l6ZToxMC41cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZx dW90OyxzYW5zLXNlcmlmIj48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8ZGl2IHN0eWxlPSJib3Jk ZXI6bm9uZTtib3JkZXItbGVmdDpzb2xpZCBibHVlIDEuNXB0O3BhZGRpbmc6MGNtIDBjbSAwY20g NC4wcHQiPg0KPGRpdj4NCjxkaXYgc3R5bGU9ImJvcmRlcjpub25lO2JvcmRlci10b3A6c29saWQg I0UxRTFFMSAxLjBwdDtwYWRkaW5nOjMuMHB0IDBjbSAwY20gMGNtIj4NCjxwIGNsYXNzPSJNc29O b3JtYWwiPjxiPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250 LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LHNhbnMtc2VyaWYiPkZyb206PC9zcGFuPjwvYj48 c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1 b3Q7Q2FsaWJyaSZxdW90OyxzYW5zLXNlcmlmIj4gQ2hhbyBMaSAmbHQ7bGljaGFvQGxvb25nc29u LmNuJmd0Ow0KPGJyPg0KPGI+U2VudDo8L2I+IEZyaWRheSwgRGVjZW1iZXIgMjIsIDIwMjMgOTox NSBBTTxicj4NCjxiPlRvOjwvYj4gZGV2ZWxAZWRrMi5ncm91cHMuaW87IGFyZGJAa2VybmVsLm9y ZzsgTmksIFJheSAmbHQ7cmF5Lm5pQGludGVsLmNvbSZndDs8YnI+DQo8Yj5DYzo8L2I+IEt1bWFy LCBSYWh1bCBSICZsdDtyYWh1bC5yLmt1bWFyQGludGVsLmNvbSZndDs7IEdlcmQgSG9mZm1hbm4g Jmx0O2tyYXhlbEByZWRoYXQuY29tJmd0OzsgTGVpZiBMaW5kaG9sbSAmbHQ7cXVpY19sbGluZGhv bEBxdWljaW5jLmNvbSZndDs7IEFyZCBCaWVzaGV1dmVsICZsdDthcmRiK3RpYW5vY29yZUBrZXJu ZWwub3JnJmd0OzsgU2FtaSBNdWphd2FyICZsdDtzYW1pLm11amF3YXJAYXJtLmNvbSZndDs8YnI+ DQo8Yj5TdWJqZWN0OjwvYj4gUmU6IFtlZGsyLWRldmVsXSBbUEFUQ0ggdjQgMTkvMzddIFVlZmlD cHVQa2c6IEFkZCBNTUlPIG1ldGhvZCBpbiBDcHVJbzJEeGU8bzpwPjwvbzpwPjwvc3Bhbj48L3A+ DQo8L2Rpdj4NCjwvZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gbGFuZz0iRU4tVVMi PjxvOnA+Jm5ic3A7PC9vOnA+PC9zcGFuPjwvcD4NCjxwPjxzcGFuIGxhbmc9IkVOLVVTIj48bzpw PiZuYnNwOzwvbzpwPjwvc3Bhbj48L3A+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNw YW4gbGFuZz0iRU4tVVMiPjxvOnA+Jm5ic3A7PC9vOnA+PC9zcGFuPjwvcD4NCjxkaXY+DQo8cCBj bGFzcz0iTXNvTm9ybWFsIj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9ImZvbnQtc2l6ZTo4LjVw dCI+VGhhbmtzLDxicj4NCkNoYW88bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8L2Rpdj4NCjwvZGl2 Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIGxhbmc9IkVOLVVTIj5PbiAyMDIz LzEyLzIxIDIxOjU5LCBBcmQgQmllc2hldXZlbCB3cm90ZTo8bzpwPjwvbzpwPjwvc3Bhbj48L3A+ DQo8L2Rpdj4NCjxibG9ja3F1b3RlIHN0eWxlPSJtYXJnaW4tdG9wOjUuMHB0O21hcmdpbi1ib3R0 b206NS4wcHQiPg0KPHByZT48c3BhbiBsYW5nPSJFTi1VUyI+T24gVGh1LCAyMSBEZWMgMjAyMyBh dCAxMzo0MSwgQ2hhbyBMaSA8YSBocmVmPSJtYWlsdG86bGljaGFvQGxvb25nc29uLmNuIj4mbHQ7 bGljaGFvQGxvb25nc29uLmNuJmd0OzwvYT4gd3JvdGU6PG86cD48L286cD48L3NwYW4+PC9wcmU+ DQo8YmxvY2txdW90ZSBzdHlsZT0ibWFyZ2luLXRvcDo1LjBwdDttYXJnaW4tYm90dG9tOjUuMHB0 Ij4NCjxwcmU+PHNwYW4gbGFuZz0iRU4tVVMiPjxvOnA+Jm5ic3A7PC9vOnA+PC9zcGFuPjwvcHJl Pg0KPC9ibG9ja3F1b3RlPg0KPHByZT48c3BhbiBsYW5nPSJFTi1VUyI+Li4uPG86cD48L286cD48 L3NwYW4+PC9wcmU+DQo8YmxvY2txdW90ZSBzdHlsZT0ibWFyZ2luLXRvcDo1LjBwdDttYXJnaW4t Ym90dG9tOjUuMHB0Ij4NCjxwcmU+PHNwYW4gbGFuZz0iRU4tVVMiPkEgZ2l2ZW4gcGxhdGZvcm0g d2lsbCBlaXRoZXIgYmUgYWJsZSB0byB1c2UgcG9ydCBJTywgb3IgaXQgd2lsbCBuZWVkPG86cD48 L286cD48L3NwYW4+PC9wcmU+DQo8cHJlPjxzcGFuIGxhbmc9IkVOLVVTIj50byB1c2UgTU1JTyB0 cmFuc2xhdGlvbi4gU28gYSBkcml2ZXIgdGhhdCBjYW4gZG8gYm90aCBiYXNlZCBvbiBhIFBDRDxv OnA+PC9vOnA+PC9zcGFuPjwvcHJlPg0KPHByZT48c3BhbiBsYW5nPSJFTi1VUyI+aXMgbm90IHZl cnkgdXNlZnVsLCBpdCBtYWtlcyBtb3JlIHNlbnNlIHRvIGhhdmUgdHdvIGRpZmZlcmVudCBkcml2 ZXJzLDxvOnA+PC9vOnA+PC9zcGFuPjwvcHJlPg0KPHByZT48c3BhbiBsYW5nPSJFTi1VUyI+YW5k IHRoZSBwbGF0Zm9ybSBpbmNvcnBvcmF0ZXMgdGhlIG9uZSBpdCBjYW4gdXNlLjxvOnA+PC9vOnA+ PC9zcGFuPjwvcHJlPg0KPHByZT48c3BhbiBsYW5nPSJFTi1VUyI+PG86cD4mbmJzcDs8L286cD48 L3NwYW4+PC9wcmU+DQo8cHJlPjxzcGFuIGxhbmc9IkVOLVVTIj5PaywgSSBnZXQgaXQsIEkgdGhp bmsgeW91IGFyZSBtb3JlIGluY2xpbmVkIHRvIG1vdmUgdGhlIEFybUNwdUlvMkR4ZSB0byBhIG5l dyBwbGFjZSBhbmQgcmVuYW1lIGl0LCBtYXliZTogQ3B1TW1pbzJEeGUsIHdoaWxlIHNvbWUgcGxh dGZvcm1zIGNob29zZSB0aGUgZGlmZmVyZW50IENwdUlvMiBkcnZpZXIgYnkgdGhlbXNlbHZlcyB3 aGVuIGJ1aWxkaW5nIEZXLCByaWdodD88bzpwPjwvbzpwPjwvc3Bhbj48L3ByZT4NCjxwcmU+PHNw YW4gbGFuZz0iRU4tVVMiPjxvOnA+Jm5ic3A7PC9vOnA+PC9zcGFuPjwvcHJlPg0KPC9ibG9ja3F1 b3RlPg0KPHByZT48c3BhbiBsYW5nPSJFTi1VUyI+PG86cD4mbmJzcDs8L286cD48L3NwYW4+PC9w cmU+DQo8cHJlPjxzcGFuIGxhbmc9IkVOLVVTIj5ZZXMuPG86cD48L286cD48L3NwYW4+PC9wcmU+ DQo8L2Jsb2NrcXVvdGU+DQo8cD48c3BhbiBsYW5nPSJFTi1VUyI+T2ssIEkgYWdyZWUuIElmIHRo ZXJlIGFyZSBubyBpc3N1ZXMgd2l0aCBSYXksIEkgd2lsbCBhZGp1c3QgdGhpcyBwYXRjaCBpbiBW NS4gSSB0dW5kIGlzIG1vdmUgaXQgdW5kZXIgVWVmaUNwdVBrZyBhbmQgbmFtZSBpdCBDcHVNbWlv MkR4ZSwgaXQgd2lsbCBiZSBpbiB0aGUgc2FtZSBkaXJlY3RvcnkgYXMgQ3B1SW8yRHhlLCBpcyB0 aGF0IE9LPzxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwPjxzcGFuIGxhbmc9IkVOLVVTIj5SYXks IHdoYXQgZG8geW91IHRoaW5rIG9mIHRoaXMgcGxhbj88bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8 YmxvY2txdW90ZSBzdHlsZT0ibWFyZ2luLXRvcDo1LjBwdDttYXJnaW4tYm90dG9tOjUuMHB0Ij4N CjxwcmU+PHNwYW4gbGFuZz0iRU4tVVMiPjxvOnA+Jm5ic3A7PC9vOnA+PC9zcGFuPjwvcHJlPg0K PHByZT48c3BhbiBsYW5nPSJFTi1VUyI+PG86cD4mbmJzcDs8L286cD48L3NwYW4+PC9wcmU+DQo8 cHJlPjxzcGFuIGxhbmc9IkVOLVVTIj48bzpwPiZuYnNwOzwvbzpwPjwvc3Bhbj48L3ByZT4NCjxw cmU+PHNwYW4gbGFuZz0iRU4tVVMiPjxvOnA+PC9vOnA+PC9zcGFuPjwvcHJlPg0KPHByZT48c3Bh biBsYW5nPSJFTi1VUyI+PG86cD4mbmJzcDs8L286cD48L3NwYW4+PC9wcmU+DQo8L2Jsb2NrcXVv dGU+DQo8L2Rpdj4NCjwvZGl2Pg0KPC9ib2R5Pg0KPC9odG1sPg0KDQoKPGRpdiB3aWR0aD0iMSIg c3R5bGU9ImNvbG9yOndoaXRlO2NsZWFyOmJvdGgiPl8uXyxfLl8sXzwvZGl2Pgo8aHI+CgoKR3Jv dXBzLmlvIExpbmtzOjxwPgoKCiAgCiAgICBZb3UgcmVjZWl2ZSBhbGwgbWVzc2FnZXMgc2VudCB0 byB0aGlzIGdyb3VwLgogIAogIAoKCjxwPgo8YSB0YXJnZXQ9Il9ibGFuayIgaHJlZj0iaHR0cHM6 Ly9lZGsyLmdyb3Vwcy5pby9nL2RldmVsL21lc3NhZ2UvMTEyODI2Ij5WaWV3L1JlcGx5IE9ubGlu ZSAoIzExMjgyNik8L2E+IHwKCgogIAoKfAoKICA8YSB0YXJnZXQ9Il9ibGFuayIgaHJlZj0iaHR0 cHM6Ly9ncm91cHMuaW8vbXQvMTAzMjYxNjkzLzc2ODYxNzYiPk11dGUgVGhpcyBUb3BpYzwvYT4K Cgp8IDxhIGhyZWY9Imh0dHBzOi8vZWRrMi5ncm91cHMuaW8vZy9kZXZlbC9wb3N0Ij5OZXcgVG9w aWM8L2E+Cgo8YnI+CgoKCgo8YSBocmVmPSJodHRwczovL2VkazIuZ3JvdXBzLmlvL2cvZGV2ZWwv ZWRpdHN1Yi83Njg2MTc2Ij5Zb3VyIFN1YnNjcmlwdGlvbjwvYT4gfAo8YSBocmVmPSJtYWlsdG86 ZGV2ZWwrb3duZXJAZWRrMi5ncm91cHMuaW8iPkNvbnRhY3QgR3JvdXAgT3duZXI8L2E+IHwKCjxh IGhyZWY9Imh0dHBzOi8vZWRrMi5ncm91cHMuaW8vZy9kZXZlbC9sZWF2ZS8xMjM2NzExMS83Njg2 MTc2LzE5MTM0NTYyMTIveHl6enkiPlVuc3Vic2NyaWJlPC9hPgoKIFtyZWJlY2NhQG9wZW5mdy5p b108YnI+CjxkaXYgd2lkdGg9IjEiIHN0eWxlPSJjb2xvcjp3aGl0ZTtjbGVhcjpib3RoIj5fLl8s Xy5fLF88L2Rpdj4KDQo= --_000_MN6PR11MB824436C38A996277675E59278C94AMN6PR11MB8244namp_--