From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by mx.groups.io with SMTP id smtpd.web10.12402.1602246224910510407 for ; Fri, 09 Oct 2020 05:23:45 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@intel.onmicrosoft.com header.s=selector2-intel-onmicrosoft-com header.b=jqcjMiXB; spf=pass (domain: intel.com, ip: 192.55.52.43, mailfrom: jiewen.yao@intel.com) IronPort-SDR: m/HIFf2y2DgDo9DwJa8A108wpsU0n6kvG96l5B05B6OETCbNB3SdGVrzeNZJj6FLg0Arsov4fg AiMEhaxHp36w== X-IronPort-AV: E=McAfee;i="6000,8403,9768"; a="250170664" X-IronPort-AV: E=Sophos;i="5.77,355,1596524400"; d="scan'208";a="250170664" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga004.fm.intel.com ([10.253.24.48]) by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 09 Oct 2020 05:23:44 -0700 IronPort-SDR: mTjrbDoQqyYaG58nBuQM+BL+FfQcFCRbPY71cnNvlmVsPt7CBk16paN/idyiM/pcweU1VkDzCI rwhybxp38KQw== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.77,355,1596524400"; d="scan'208";a="343808473" Received: from orsmsx606.amr.corp.intel.com ([10.22.229.19]) by fmsmga004.fm.intel.com with ESMTP; 09 Oct 2020 05:23:43 -0700 Received: from orsmsx608.amr.corp.intel.com (10.22.229.21) by ORSMSX606.amr.corp.intel.com (10.22.229.19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Fri, 9 Oct 2020 05:23:43 -0700 Received: from orsmsx612.amr.corp.intel.com (10.22.229.25) by ORSMSX608.amr.corp.intel.com (10.22.229.21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Fri, 9 Oct 2020 05:23:43 -0700 Received: from ORSEDG602.ED.cps.intel.com (10.7.248.7) by orsmsx612.amr.corp.intel.com (10.22.229.25) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5 via Frontend Transport; Fri, 9 Oct 2020 05:23:42 -0700 Received: from NAM04-BN3-obe.outbound.protection.outlook.com (104.47.46.54) by edgegateway.intel.com (134.134.137.103) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.1713.5; Fri, 9 Oct 2020 05:23:42 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=bi3h8UFEr3BlE4qYlPpenR770Z3Fjj/8LoAlMTelzLEkYoN2lgQpNHGPiaKjoSlNTwgR7kaDu+gr6UGvsgwSqESqwnio/gZ7ZY2Pn+iZr6MozsQUz/GjitlnnE3B9Cs8YoVeFp92mru+NVoqmWYptM73bSgT1GVfsRuqBRMiObJ9H/pUb4CbxsJucJhDYnXNDDlIWCLdHuw73J6b8wiHBQvIlFCyib82ML8rMoGW6CCjhNvS5ZVcgoAOxT0bCnJ8kMTo5tNtdwoaS9och4HxR7WfQjvejX3mOCzzTzQxsQYVBQVP7VboA9/hIs4Z5SQ6j1V3pkiYXoWLPHj+FfFomQ== 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=2DLZcsrCsY0MbRg5kyjxQXiQypZKTDHe3t1ES17+wi8=; b=J2tcYxxu+bcp/0Qt/1R4msHOnIoNUh7QxgIXV/ejaoqXzv5biYp947peIvukflaJ2T4k1jHVh8BbN2FRdeo4lCpdeClFCIJCKd6QX6q7nj9Uhm+7ryPcyYJFcRBDiMLUUZX5kTF+Ifwvee9tifcPTIjF/49XmUAw2bU67Oz1TWbqjdHo76H+Ibdcr5tRJ6qHxxRLw+iXCfuVXHPpmrc3ywph05C2bvtd/S3eCs2t+GOG0TWjizfjbIQRB/7QYC+3fe0hx5T1PQXr43NpoaLM+FpUz5NrBW2oMlN77sBoEC5lk0r6l5OzjSG93e4Mn9xAIdosgWrZUkvF0cVyEQwD+Q== 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=2DLZcsrCsY0MbRg5kyjxQXiQypZKTDHe3t1ES17+wi8=; b=jqcjMiXBJjqmp2w4/bhtPLERAeMFBAGU/v/DYKy9xWAx9Ie8Af4HEq7OESUmIg6YgJBpzdSowXoefQqLqvBG9rCiBRo5OuA8ppciKVug9guML6dhvntgGz82ckvw8Jh9nHyRBCrEqBUwO0tZGVNTbRAHlIWtUaH+fujIPrzHT0Y= Received: from CY4PR11MB1288.namprd11.prod.outlook.com (2603:10b6:903:23::8) by CY4PR11MB1640.namprd11.prod.outlook.com (2603:10b6:910:8::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3455.23; Fri, 9 Oct 2020 12:23:39 +0000 Received: from CY4PR11MB1288.namprd11.prod.outlook.com ([fe80::8948:caa4:ca1a:23ac]) by CY4PR11MB1288.namprd11.prod.outlook.com ([fe80::8948:caa4:ca1a:23ac%10]) with mapi id 15.20.3455.027; Fri, 9 Oct 2020 12:23:39 +0000 From: "Yao, Jiewen" To: "rfc@edk2.groups.io" , "lersek@redhat.com" , "devel@edk2.groups.io" , "Fu, Siyuan" CC: "Dong, Eric" , "Ni, Ray" , "ard.biesheuvel@arm.com" , "sami.mujawar@arm.com" , "supreeth.venkatesh@arm.com" Subject: Re: [edk2-rfc] [edk2-devel] [RFC] Support Both MM Traditional and Standalone Drivers with One MM Core Thread-Topic: [edk2-rfc] [edk2-devel] [RFC] Support Both MM Traditional and Standalone Drivers with One MM Core Thread-Index: Adad/BvDcwINIpsnRk6CdDy+J9zhMgANwhQAAADIL6A= Date: Fri, 9 Oct 2020 12:23:38 +0000 Message-ID: References: <91565e60-54c5-8315-142b-d7b1309fca5a@redhat.com> In-Reply-To: <91565e60-54c5-8315-142b-d7b1309fca5a@redhat.com> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-version: 11.5.1.3 dlp-product: dlpe-windows dlp-reaction: no-action authentication-results: edk2.groups.io; dkim=none (message not signed) header.d=none;edk2.groups.io; dmarc=none action=none header.from=intel.com; x-originating-ip: [192.198.147.212] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 1a378581-9206-4bb3-5cbb-08d86c4e2701 x-ms-traffictypediagnostic: CY4PR11MB1640: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:10000; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: hpbeN/V/9u3JvVtyP8L75ORpUGFisaufxV9W7ExpH/1K7nZzKbFQ4ynwZz/i+MkzLAx8lSvvmFtIwlmujkgwC2EkJgPtPKF5ichOE6CyWT53lYO3+hCes4A8zLZwk8YcN08Wz0GJPhlEr4hxwN3G6SweW3cx23DLp/70QovLlOB4lngYuiuX93zr47DuP8ZfAj+9uf1VFWtMYm+v1VkqKkrnM1WhMw/QX4agZ5noE4rkkxsgSbNj7+2vzaqfDOAlElvMtLDfgimOAq+rG+MI+ePEYdnhCzQl1Th5QyX5VSqFciDAz5qJ1wqW92mFguSwztBIBA+Y1DSn6sQYwVx88PkGjsL0AXphMhT+41iFB7+tOVTdPxWSPePINYiWwbTjF0PwHexH0EGNjR4Ch8OMIg== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CY4PR11MB1288.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(346002)(39860400002)(366004)(396003)(136003)(376002)(8676002)(186003)(6636002)(64756008)(66946007)(26005)(66556008)(76116006)(66476007)(8936002)(52536014)(83080400001)(4326008)(66446008)(9686003)(110136005)(71200400001)(316002)(2906002)(54906003)(966005)(478600001)(83380400001)(55016002)(86362001)(7696005)(6506007)(53546011)(5660300002)(33656002);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata: XruzTg8maODKVkIX+3QOooVmC6ywlva1qGa95vCLk/ssX2vik0ioTWplQ7LQQbY3Ra9t9Vz16Pe09MwaLrmlEFGcDq2nViGa8P0aH0LDJo1WZxqcGaDM0m8iHjY2eWdV7uPnk4C4VeOizH8SZrh5yatBL8Jcf8e9b1z7qAoiaGQiQ/jBAShilP4W38pXjL8XyF5PrD39AiwOaemxxR+OQcXNFJZIk5MXshrKJ7vODcPeee3zKkc3zIYD6UVDLYcoJvD9+cEHrp2BH/S8Hj3FC00KTUAv6TCrN2JD2Wo5vbY3VOzrx9eRcYIhLC+t3hUvODOat5QjQ7KKARgGj8zN3KGLNaSk5/HMUvujBSlSLxJAdXrcnUiu1zWLIo6CE61EwJARMCa5tlZMunm4HmSsWvmdVTdFdvbQmtbtDIwbizjr6QJGqqaBcWQtx0GxeGuABqTns6W2N2kQ3DHH+B3+V4bDfaUwsnVfLINuolrnuYal11nA3sYjyb+OM/dT8PlhHdr88S0M2ytSJaLZvbrXq5p9UvgfvMKpRhM8ioetKKJetw9y/mtN2JJN2MumHezj/bX0MXtiGtsefldHvP9nCbaXFUGhYk134XJlIkoGUXWBMQYf0+TsBz4PCdexhdbwV8+PwoeRxjTLvx6FRwzD5Q== MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: CY4PR11MB1288.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 1a378581-9206-4bb3-5cbb-08d86c4e2701 X-MS-Exchange-CrossTenant-originalarrivaltime: 09 Oct 2020 12:23:39.0055 (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: Yhp0O1g/+JSta9Dz/NHKH9ea6tsgtp8pFDHFC3npjveJfkCboJOMhbX37qeXiirml4trb1qZMul7/PGyQX+fUA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY4PR11MB1640 Return-Path: jiewen.yao@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 SU1ITywgU3RhbmRhbG9uZU1tIChpbiBTdGFuZGFsb25lTW1Qa2cpIHNob3VsZCBiZSB0aGUgbG9u ZyB0ZXJtIGRpcmVjdGlvbiB0byByZXBsYWNlIHRoZSB0cmFkaXRpb25hbCBNTSAoaW4gTWRlTW9k dWxlUGtnKS4NCg0KSWYgd2Ugd2FudCB0byBkbyBzb21lIGVuaGFuY2VtZW50LCBJIHByZWZlciAj MiB0byB1cGRhdGUgdGhlIG9uZSBpbiBTdGFuZGFsb25lTW1Qa2cuDQpPbmNlIHdlIHJldGlyZSB0 cmFuc2l0aW9uYWwgTU0sIHdlIGNhbiBkZWxldGUgdGhlIFBpU21tQ29yZSBpbiBNZGVNb2R1bGVQ a2cuDQoNCklmIHdlIGNob29zZSAjMSwgdGhlIEVES0lJIHdpbGwgaGF2ZSB0d28gc3RhbmRhbG9u ZU1tIENvcmVzICh0aGUgb25lIGluIFN0YW5kYWxvbmVNbVBrZyBhbmQgdGhlIG9uZSBpbiBNZGVN b2R1bGVQa2cpLCB3aGljaCBtYXkgYnJpbmcgbG90cyBvZiBjb25mdXNpbmcgYW5kIHdlIG1heSBu ZWVkIG1lcmdlIHRoZW0gbGF0ZXIuDQoNClRoYW5rIHlvdQ0KWWFvIEppZXdlbg0KDQo+IC0tLS0t T3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IHJmY0BlZGsyLmdyb3Vwcy5pbyA8cmZjQGVk azIuZ3JvdXBzLmlvPiBPbiBCZWhhbGYgT2YgTGFzemxvIEVyc2VrDQo+IFNlbnQ6IEZyaWRheSwg T2N0b2JlciA5LCAyMDIwIDc6NTYgUE0NCj4gVG86IGRldmVsQGVkazIuZ3JvdXBzLmlvOyBGdSwg U2l5dWFuIDxzaXl1YW4uZnVAaW50ZWwuY29tPjsNCj4gcmZjQGVkazIuZ3JvdXBzLmlvDQo+IENj OiBEb25nLCBFcmljIDxlcmljLmRvbmdAaW50ZWwuY29tPjsgTmksIFJheSA8cmF5Lm5pQGludGVs LmNvbT47DQo+IGFyZC5iaWVzaGV1dmVsQGFybS5jb207IHNhbWkubXVqYXdhckBhcm0uY29tOyBZ YW8sIEppZXdlbg0KPiA8amlld2VuLnlhb0BpbnRlbC5jb20+OyBzdXByZWV0aC52ZW5rYXRlc2hA YXJtLmNvbQ0KPiBTdWJqZWN0OiBSZTogW2VkazItcmZjXSBbZWRrMi1kZXZlbF0gW1JGQ10gU3Vw cG9ydCBCb3RoIE1NIFRyYWRpdGlvbmFsIGFuZA0KPiBTdGFuZGFsb25lIERyaXZlcnMgd2l0aCBP bmUgTU0gQ29yZQ0KPiANCj4gT24gMTAvMDkvMjAgMDc6MjIsIFNpeXVhbiwgRnUgd3JvdGU6DQo+ ID4gSGksIEFsbA0KPiA+DQo+ID4gVGhpcyBlbWFpbCBpcyB0byBjb2xsZWN0IGZlZWRiYWNrIGFi b3V0IG1ha2luZyBvbmUgY29tbW9uIEVESzIgTU0gQ29yZQ0KPiBkcml2ZXIgdG8gc3VwcG9ydCBi b3RoIE1NIFRyYWRpdGlvbmFsIGRyaXZlcnMgYW5kIE1NIFN0YW5kYWxvbmUgZHJpdmVycy4NCj4g Pg0KPiA+IFdlIGtub3cgdGhhdCBQSSBTcGVjIGRlZmluZXMgdHdvIHR5cGVzIG9mIE1NLXJlbGF0 ZWQgZHJpdmVyczogTU0NCj4gVHJhZGl0aW9uYWwgRHJpdmVycyBhbmQgTU0gU3RhbmRhbG9uZSBE cml2ZXJzLiBUaGVyZSBhcmUgdHdvIE1NIENvcmUNCj4gbW9kdWxlcyBleGlzdCBpbiBFREsyIGJ1 dCBlYWNoIG9mIHRoZW0gY2FuIG9ubHkgc3VwcG9ydCBvbmUgc2luZ2xlIHR5cGUgb2YgTU0NCj4g ZHJpdmVyczoNCj4gPiAgICAgLSBQaVNtbUNvcmUgaW4gTWRlTW9kdWxlUGtnIHN1cHBvcnRzIE1N IFRyYWRpdGlvbmFsIGRyaXZlciBkaXNwYXRjaC4gSXQNCj4gZG9lc24ndCBoYXZlIEZWIHBhcnNp bmcgbG9naWMgYW5kIHJlbGllcyBvbiBFRkkgRmlybXdhcmUgVm9sdW1lMiBQcm90b2NvbCBmb3IN Cj4gZHJpdmVyIGRpc2NvdmVyeS4gSXQgZG9lc24ndCBzdXBwb3J0IE1NIFN0YW5kYWxvbmUgZHJp dmVyLg0KPiA+ICAgICAtIFN0YW5kYWxvbmVNbUNvcmUgaW4gU3RhbmRhbG9uZU1tUGtnIHN1cHBv cnRzIE1NIFN0YW5kYWxvbmUgZHJpdmVyDQo+IGRpc3BhdGNoLiBJdCBoYXMgRlYgcGFyc2luZyBh bmQgZGVjb21wcmVzcyBsb2dpYyBidXQgb25seSBsaW1pdGVkIHRvIG9uZSBzaW5nbGUNCj4gZmly bXdhcmUgdm9sdW1lIChjYWxsZWQgc3RhbmRhbG9uZSBCRlYgaW4gY29kZSkuIEl0IGRvZXNuJ3Qg c3VwcG9ydCBNTQ0KPiBUcmFkaXRpb25hbCBkcml2ZXIuDQo+ID4NCj4gPiBIb3dldmVyLCBhIHBs YXRmb3JtIG1heSB3YW50IHRvIGhhdmUgYm90aCBvZiB0aGUgdHdvIHR5cGVzIG9mIE1NIGRyaXZl cnMNCj4gY29leGlzdCBpbiBpdHMgZmlybXdhcmUsIGZvciBleGFtcGxlLCB3aGVuIGl0IHRyaWVz IHRvIHRyYW5zZmVyIGZyb20gVHJhZGl0aW9uYWwNCj4gTU0gbW9kZSB0byBTdGFuZGFsb25lIE1N IG1vZGUsIGluIGEgc3RhZ2UgYnkgc3RhZ2UgbWFubmVyLiBIb3dldmVyLCBpdCdzDQo+IG5vdCBw b3NzaWJsZSB3aXRoIGN1cnJlbnQgRURLMiBNTSBDb3JlIGJlY2F1c2Ugb2YgYWJvdmUgbGltaXRh dGlvbnMuIFRodXMsDQo+IGhlcmUgd2UgcHJvcG9zZSB0byBoYXZlIGEgY29tbW9uIE1NIENvcmUg bW9kdWxlIGluIEVESzIsIHdoaWNoIGNvdWxkOg0KPiA+ICAgICAtIFN1cHBvcnQgYm90aCBNTSBU cmFkaXRpb25hbCBkcml2ZXJzIGFuZCBNTSBTdGFuZGFsb25lIGRyaXZlcnMuDQo+ID4gICAgIC0g VXNlIHNoYXJlZCBEZXBleCBldmFsdWF0aW9uIHdoZW4gZGlzcGF0Y2hpbmcgYWxsIHRoZSBNTSBk cml2ZXJzLg0KPiA+ICAgICAtIFVzZSBhIHNoYXJlZCBNTSBTeXN0ZW0gVGFibGUgd2hlbiBpbnZv a2luZyBhbGwgdGhlIE1NIGRyaXZlcnMnIGVudHJ5DQo+IHBvaW50LCB3aGljaCBtZWFuIGhhbmRs ZS9wcm90b2NvbCBkYXRhYmFzZSBpcyBzaGFyZWQuDQo+ID4gICAgIC0gSGF2ZSBzZWxmLWNvbnRh aW5lZCBGViBwYXJzaW5nIGFuZCBkcml2ZXIgZGlzY292ZXJ5IGNhcGFiaWxpdHkuDQo+ID4NCj4g PiBXZSByZWFsaXplZCB0aGVyZSBjb3VsZCBiZSAyIHBvc3NpYmxlIG9wdGlvbnMgdG8gbWFrZSB0 aGlzIGhhcHBlbjoNCj4gPiAgICAgLSBPcHRpb24gMTogVXBkYXRlIHRoZSBNZGVNb2R1bGVQa2cg Q29yZS4gSW4gdGhpcyBhcHByb2FjaCwgd2Ugd2lsbCBuZWVkDQo+IHRvIGFkZCB0aGUgRlYgZGVj b21wcmVzcywgZHJpdmVyIGRpc2NvdmVyeSBhbmQgTU0gU3RhbmRhbG9uZSBkcml2ZXINCj4gZGlz cGF0Y2hlciB0byB0aGUgUGlTbW1Db3JlIG1vZHVsZSBpbiBNZGVNb2R1bGVQa2cuDQo+ID4gICAg IC0gT3B0aW9uIDI6IFVwZGF0ZSB0aGUgU3RhbmRhbG9uZU1tUGtnIENvcmUuIFdoaWNoIG1lYW5z IGFkZGluZyBNTQ0KPiBUcmFkaXRpb25hbCBkaXNwYXRjaGVyIGFuZCBtdWx0aXBsZSBGViBzdXBw b3J0IHRvIGV4aXN0aW5nIHN0YW5kYWxvbmUgQ29yZSBpbg0KPiBTdGFuZGFsb25lTW1Qa2cuIFdp bGwgYWxzbyBuZWVkIHRvIGFkZCBQRUkvRFhFIElQTCBtb2R1bGUgdG8gaW52b2tlIHRoZQ0KPiBT dGFuZGFsb25lIE1NIENvcmUgYW5kIHBhc3MgVUVGSSBTeXN0ZW0gVGFibGUgdG8gaXQuDQo+ID4N Cj4gPiBUaGUgb3B0aW9uIDEgd2lsbCBoYXZlIGxlc3MgaW1wYWN0IHRvIHRob3NlIHBsYXRmb3Jt cyB3aGljaCBvbmx5IHVzZSBNTQ0KPiBTdGFuZGFsb25lIGRyaXZlcnMgY3VycmVudGx5LCBiZWNh dXNlIHRob3NlIHBsYXRmb3JtcyBjYW4gc3RheSB3aXRoIHRoZQ0KPiB1bmNoYW5nZWQgU3RhbmRh bG9uZSBNTSBDb3JlLiBXaGlsZSBvcHRpb24gMiBsb29rcyBtb3JlIGxpa2UgYSBjbGVhbg0KPiBz b2x1dGlvbiBiZWNhdXNlIGl0IGNvdWxkIHN1cHBvcnQgYWxsIHRoZSBjYXNlcyAoVHJhZGl0aW9u YWwgTU0gb25seSwgU3RhbmRhbG9uZQ0KPiBNTSBvbmx5LCBhbmQgbWl4LXVzZWQgcGxhdGZvcm0p LiBTbyBJJ2QgbGlrZSB0byBoZWFyIHRoZSBjb21tdW5pdHkncyBmZWVkYmFjaw0KPiBhYm91dCB3 aGljaCBvcHRpb24gaXMgcHJlZmVycmVkLCBhbmQgbGV0IG1lIGtub3cgaWYgeW91IGhhdmUgYW55 IGNvbmNlcm5zIHdpdGgNCj4gdGhpcyBjaGFuZ2UuIFRoYW5rcyENCj4gDQo+IFdoaWNoIG1ldGhv ZCBpcyB0aGUgbGVhc3Qgcmlza3kgd2l0aCByZWdhcmQgdG8gcmVncmVzc2lvbnMsIGluIHlvdXIg b3Bpbmlvbj8NCj4gDQo+IEkgdGVuZCB0byBwcmVmZXIgIzIuIEVpdGhlciBvcHRpb24gaXMgbmV1 dHJhbCBmb3IgQXJtVmlydFBrZyBhdCB0aGUNCj4gbW9tZW50LCBhbmQgb3B0aW9uIzIgaXMgc2Fm ZXIgZm9yIE92bWZQa2cgKG5vIHJpc2sgb2YgcmVncmVzc2lvbikuIFRodXMNCj4gZmFyLCB0aGVy ZSBoYXMgbm90IGJlZW4gYW55IG5lZWQgKHRoYXQgSSBrbm93IG9mKSBmb3IgT1ZNRiB0byBzdXBw b3J0DQo+IHN0YW5kYWxvbmUgTU0gZHJpdmVycy4NCj4gDQo+IEZ1cnRoZXJtb3JlLCBpZiB3ZSB3 YW50ZWQgdG8gYWRkIE1hbmFnZW1lbnQgTW9kZSBzdXBwb3J0IHRvIEFybVZpcnRQa2cNCj4gYXQg c29tZSAobGF0ZXIpIHBvaW50LCBJIGJlbGlldmUgKD8pIHdlJ2QganVzdCB1c2UgU3RhbmRhbG9u ZU1tUGtnIHJpZ2h0DQo+IGZyb20gdGhlIHN0YXJ0Lg0KPiANCj4gSS5lLiwgZnJvbSBteSBwZXJz cGVjdGl2ZSwgbWl4aW5nIE1NIG1vZHVsZSB0eXBlcywgZm9yIHNvbWUga2luZCBvZg0KPiB0cmFu c2l0aW9uIGZvciBhIHBsYXRmb3JtIGZyb20gb25lIE1NIG1vZGUgdG8gYW5vdGhlciwgaXMgbm90 DQo+IGltbWVkaWF0ZWx5IHVzZWZ1bDsgc28gbXkgZ29hbCBpcyB0byBtaW5pbWl6ZSB0aGUgcmlz ayBvZiByZWdyZXNzaW9ucy4NCj4gDQo+IFRoYW5rcw0KPiBMYXN6bG8NCj4gDQo+IA0KPiANCj4g DQo+IA0KDQo=