From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by mx.groups.io with SMTP id smtpd.web11.631.1589215356417696580 for ; Mon, 11 May 2020 09:42:37 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@intel.onmicrosoft.com header.s=selector2-intel-onmicrosoft-com header.b=gGcoqati; spf=pass (domain: intel.com, ip: 134.134.136.65, mailfrom: michael.d.kinney@intel.com) IronPort-SDR: blG50BBWr5bRGGx43R3pjPihEMeyzy68CC6C4f4z4mg83OXwQOskhZC9Eco/7nS064+dWPXe+V HGyneOQA0lJQ== X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga008.jf.intel.com ([10.7.209.65]) by orsmga103.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 11 May 2020 09:42:35 -0700 IronPort-SDR: XqmOHnHABKuUKeJbqz1zqIaXAin4MZuB2qeIyTFShR1GpjkE7CX3w1Sn6O4l8JCaf2jIzq7x2L XY12KhoaONjQ== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.73,380,1583222400"; d="scan'208";a="297743369" Received: from fmsmsx105.amr.corp.intel.com ([10.18.124.203]) by orsmga008.jf.intel.com with ESMTP; 11 May 2020 09:42:35 -0700 Received: from fmsmsx603.amr.corp.intel.com (10.18.126.83) by FMSMSX105.amr.corp.intel.com (10.18.124.203) with Microsoft SMTP Server (TLS) id 14.3.439.0; Mon, 11 May 2020 09:42:34 -0700 Received: from fmsmsx604.amr.corp.intel.com (10.18.126.84) 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.1713.5; Mon, 11 May 2020 09:42:34 -0700 Received: from FMSEDG002.ED.cps.intel.com (10.1.192.134) by fmsmsx604.amr.corp.intel.com (10.18.126.84) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256) id 15.1.1713.5 via Frontend Transport; Mon, 11 May 2020 09:42:34 -0700 Received: from NAM10-MW2-obe.outbound.protection.outlook.com (104.47.55.100) by edgegateway.intel.com (192.55.55.69) with Microsoft SMTP Server (TLS) id 14.3.439.0; Mon, 11 May 2020 09:42:08 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=SYnZ+lPYsIUBne4/pD1U7dZ9Z+gT7ryE5+63lV8HgFLkAl1KJa1b6ZNlWLBi7FRM7A15KWjmLznUDV2bB2ufPY2kiqjs1dilM+M77qJu7Q6k9GOSnad1v6A3eMniJEIA5J1Dea4LJXVXRtYq/Y/6vB/zEI2gxMxpSKYiqz0yogoI+er2xNXyutQw/Lm8+MJqZB3LxjeQlX1dyAnzt3JWgROx8YNs1Yn4VcIAQOYwHHH0unon+FiJDcC1E9l6850bro0jaiBedZ0wl7Z908nSnMIIPpmVMLv92Nn4eFCvo73pT8zbiPUi+C3x3fUluqzOjmBIW0ia4muMIDYR7MPNdg== 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=cQrW/fu5RYmJVcQn1FYmNNHn3/ab/S6b9bn2d0OQacA=; b=FR5uROrdMtvnRZsHKmhpBzlXODPGu9oSbon60D9KOxogPtH7zmkUzIGu250TLNhgu3MnRuU0WD8zRuqXb3oHl7g3dOrEERk4VCYhCs6884Gg88ufhnug8paG2/EybBtUOdpXHKaI/9vLvvI8ppEPxHDMlG0vCuo9dAqRYNT0EhzZMTs1UnZl3SCHKp+BSyZmVM0zTj9Bc1mqJ4O690AMIkkM0Irm2V0BpSiGciHvXW7g3d/Wt1OLYwuqNOU4xIYxfGlY6CI7YbmTwkXnQeNHCg7bINydeHtgjsB2RZGQbEOyP36xJvd3LStxs00Va1zM5gDGJ9nWkUSJPOF2Xao7Yw== 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=cQrW/fu5RYmJVcQn1FYmNNHn3/ab/S6b9bn2d0OQacA=; b=gGcoqatifjq5OD6A9CO9xznCAcM8TBm2qngTBwgx2M1obdALJsTwvRe8zi2rbjjzx6cRuIaC3HgVn8yXwWxYusuPnl9unb6BlpzzyNHyGjwbEdRl4DFOEefTm7b5iocucQssZ8QxPMmK3mBFSdBRxDyItBr2mAgncqQSVqyXIDc= Received: from MN2PR11MB4461.namprd11.prod.outlook.com (2603:10b6:208:192::29) by MN2PR11MB4661.namprd11.prod.outlook.com (2603:10b6:208:26b::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2979.28; Mon, 11 May 2020 16:41:39 +0000 Received: from MN2PR11MB4461.namprd11.prod.outlook.com ([fe80::10bc:1a4e:4745:ffc1]) by MN2PR11MB4461.namprd11.prod.outlook.com ([fe80::10bc:1a4e:4745:ffc1%3]) with mapi id 15.20.2979.033; Mon, 11 May 2020 16:41:39 +0000 From: "Michael D Kinney" To: "devel@edk2.groups.io" , "afish@apple.com" , "Kinney, Michael D" CC: Ard Biesheuvel , Laszlo Ersek , Rebecca Cran , Leif Lindholm , "Justen, Jordan L" Subject: Re: [edk2-devel] Where to put the bhyve code in the edk2 repo: BhyvePkg, or under OvmfPkg? Thread-Topic: [edk2-devel] Where to put the bhyve code in the edk2 repo: BhyvePkg, or under OvmfPkg? Thread-Index: AQHWJ7AzY4fF59MgGEC37A/Gda8loaijFSLggAAAwgCAAACFcA== Date: Mon, 11 May 2020 16:41:39 +0000 Message-ID: References: <30320333-7ea6-084c-4b6c-569bc2a8b1aa@arm.com> <3FAF5FCD-9755-42A6-A736-C110E6813718@apple.com> In-Reply-To: <3FAF5FCD-9755-42A6-A736-C110E6813718@apple.com> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-product: dlpe-windows dlp-reaction: no-action dlp-version: 11.2.0.6 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: [134.134.136.220] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 9e363181-e971-471d-f0ac-08d7f5ca2de6 x-ms-traffictypediagnostic: MN2PR11MB4661: 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-forefront-prvs: 04004D94E2 x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: DRqsXendJpGpMwSKm8sf1K0pkNLGE54iizNuYEu/tn3SqjR6pu3XlnD1+ND27E7r5KciHXjI8BpKao2GwGXHM0RjL1mwQuiQ8OKrrPrwjsMwBBkXgkKY2GJR00lQTDmitfQKs5EpIOW0jZWqSNCjDL8QHeqaXTK6xh11BkAEW7piMfPT0rK6MZHc8MvB1zEBpMfVSz654wF4ZT/usnoZRDxgcF2NyjaJHibv8qdJO7qDpCIvmteCJHwCn6kuSKEGPu2B2X3QMXxyqyQ+9jC+TZp0zX639WJOHX8ZT68DORxaCIcgEGQrzM/cJbs0JSoApqd10J+3v52FMRFHN4AJS5y1cE0OlNzGhGksYmApKD4rsYkPVB1/bWB9Qxnf6Mv3uUonOcCTHt2pf6lCsvKN6M7LMe39P1rytrDqRlt+QniM9M6zAyjvc6mIbQ9zdkzzdQlvKiZgXIiLvxz5XEzP1QM+rxPs2BuxmPIRL/Yt94aL5dU29mB2YJ5mEgJY6gQz7onOh9XAn6zOOtjyeHppOumCPckDNFV1d/G/shkMcDppd9vhK3H9El6pKoYlch0iXSmBP5diAbo+e7eIVIls7v35etVsub/WeySlpHMySVs= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MN2PR11MB4461.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFTY:;SFS:(376002)(39860400002)(346002)(366004)(136003)(396003)(33430700001)(71200400001)(6506007)(8676002)(53546011)(966005)(26005)(54906003)(478600001)(5660300002)(110136005)(33440700001)(316002)(186003)(107886003)(9686003)(8936002)(4326008)(7696005)(33656002)(55016002)(66446008)(64756008)(66476007)(2906002)(66946007)(66556008)(86362001)(52536014)(76116006);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata: DXVD9rnqWvsmNHWuSPJIEvH475kCsTnbJT9wI+3KzeZhYGqMDVbPNUrT75wcd61UIzd9o3SSCO+OQ47/lKujL8YS16Hj28qxgyp3ew62b33g9m8EitSHJ8lVGsw/SYnPRNC7S+xByQA7OhlbNzu6lVhVBY3evz2wy4DJ3dKIk8TFV+hIiYhdEJcOLjTCVq3tVfjm75v7P6N/K3bbDIr9PgqWFuVrwveKOK+AoyPzKkBdMpYFvjfJ7rK2g85SMNrNKedQiGwwq6toNmJoZkqSKs59iRp3sadeifmyuqfeLlQ6A2UEdAGROm11mMqDx358DhWEuEX5dyndOWtwFZ4oFNyOlu1JoQX+msyHHGk3KeS2MY3fYXiEqgsyZBq1DZGcD++pbilfhUJ3qmeZT4m8YuGvJO5aORHB85UBmn0LfJC1sbpmjiJMcugXkPSUemC2PnwKgt1ru55bu2iie16C+xLG2Mdi/MbWLq7i1I7z+v/wIaBGPWFnIPCvxPhOAmDi MIME-Version: 1.0 X-MS-Exchange-CrossTenant-Network-Message-Id: 9e363181-e971-471d-f0ac-08d7f5ca2de6 X-MS-Exchange-CrossTenant-originalarrivaltime: 11 May 2020 16:41:39.7503 (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: +/IiY5dTjiFP1XtRqy9oy8DX3TXjvB6bgJsKK9cDyEGKbIAFV4K8jCWN70c8NTVZnpZIuAWYIahJbOtRbgyvn3fJDiW7PMvQJgIYqnxhkO0= X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR11MB4661 Return-Path: michael.d.kinney@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 QW5kcmV3LA0KDQpPdm1mUGtnIFJFQURNRSBhbHJlYWR5IGhhcyBhIGJyb2FkIGRlZmluaXRpb24u DQoNCg0KPT09IE9WTUYgT1ZFUlZJRVcgPT09DQoNClRoZSBPcGVuIFZpcnR1YWwgTWFjaGluZSBG aXJtd2FyZSAoT1ZNRikgcHJvamVjdCBhaW1zDQp0byBzdXBwb3J0IGZpcm13YXJlIGZvciBWaXJ0 dWFsIE1hY2hpbmVzIHVzaW5nIHRoZSBlZGsyDQpjb2RlIGJhc2UuICBNb3JlIGluZm9ybWF0aW9u IGNhbiBiZSBmb3VuZCBhdDoNCg0KDQpNaWtlDQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0t LS0NCj4gRnJvbTogZGV2ZWxAZWRrMi5ncm91cHMuaW8gPGRldmVsQGVkazIuZ3JvdXBzLmlvPiBP bg0KPiBCZWhhbGYgT2YgQW5kcmV3IEZpc2ggdmlhIGdyb3Vwcy5pbw0KPiBTZW50OiBNb25kYXks IE1heSAxMSwgMjAyMCA5OjM5IEFNDQo+IFRvOiBLaW5uZXksIE1pY2hhZWwgRCA8bWljaGFlbC5k Lmtpbm5leUBpbnRlbC5jb20+DQo+IENjOiBBcmQgQmllc2hldXZlbCA8YXJkLmJpZXNoZXV2ZWxA YXJtLmNvbT47IExhc3psbw0KPiBFcnNlayA8bGVyc2VrQHJlZGhhdC5jb20+OyBSZWJlY2NhIENy YW4NCj4gPHJlYmVjY2FAYnNkaW8uY29tPjsgZWRrMi1kZXZlbC1ncm91cHMtaW8NCj4gPGRldmVs QGVkazIuZ3JvdXBzLmlvPjsgTGVpZiBMaW5kaG9sbQ0KPiA8bGVpZkBudXZpYWluYy5jb20+OyBK dXN0ZW4sIEpvcmRhbiBMDQo+IDxqb3JkYW4ubC5qdXN0ZW5AaW50ZWwuY29tPg0KPiBTdWJqZWN0 OiBSZTogW2VkazItZGV2ZWxdIFdoZXJlIHRvIHB1dCB0aGUgYmh5dmUgY29kZQ0KPiBpbiB0aGUg ZWRrMiByZXBvOiBCaHl2ZVBrZywgb3IgdW5kZXIgT3ZtZlBrZz8NCj4gDQo+IENyYXp5IHF1ZXN0 aW9uLiBTaG91bGQgd2UgYWRkIGEgVmlydHVhbGl6YXRpb25Qa2cgYW5kDQo+IG1vdmUgZXZlcnl0 aGluZyB1bmRlciB0aGF0PyBJJ20gbm90IHN1cmUgdGhlIGRpc3J1cHRpb24NCj4gdG8gT1ZNRiBp cyB3b3J0aCwgYnV0IGZpZ3VyZWQgSSdkIGFzay4NCj4gDQo+IFRoYW5rcywNCj4gDQo+IEFuZHJl dyBGaXNoDQo+IA0KPiA+IE9uIE1heSAxMSwgMjAyMCwgYXQgOTozNiBBTSwgS2lubmV5LCBNaWNo YWVsIEQNCj4gPG1pY2hhZWwuZC5raW5uZXlAaW50ZWwuY29tPiB3cm90ZToNCj4gPg0KPiA+IEkg YWdyZWUgdGhhdCBBcm1WaXJ0UGtnIGNvbnRlbnRzIHNob3VsZCBiZSBhZGRlZCB0bw0KPiBPdm1m UGtnLg0KPiA+DQo+ID4gTWlrZQ0KPiA+DQo+ID4+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0t DQo+ID4+IEZyb206IEFyZCBCaWVzaGV1dmVsIDxhcmQuYmllc2hldXZlbEBhcm0uY29tPg0KPiA+ PiBTZW50OiBNb25kYXksIE1heSAxMSwgMjAyMCA5OjIxIEFNDQo+ID4+IFRvOiBMYXN6bG8gRXJz ZWsgPGxlcnNla0ByZWRoYXQuY29tPjsgUmViZWNjYSBDcmFuDQo+ID4+IDxyZWJlY2NhQGJzZGlv LmNvbT47IGVkazItZGV2ZWwtZ3JvdXBzLWlvDQo+ID4+IDxkZXZlbEBlZGsyLmdyb3Vwcy5pbz4N Cj4gPj4gQ2M6IEtpbm5leSwgTWljaGFlbCBEIDxtaWNoYWVsLmQua2lubmV5QGludGVsLmNvbT47 DQo+ID4+IEFuZHJldyBGaXNoIDxhZmlzaEBhcHBsZS5jb20+OyBMZWlmIExpbmRob2xtDQo+ID4+ IDxsZWlmQG51dmlhaW5jLmNvbT47IEp1c3RlbiwgSm9yZGFuIEwNCj4gPj4gPGpvcmRhbi5sLmp1 c3RlbkBpbnRlbC5jb20+DQo+ID4+IFN1YmplY3Q6IFJlOiBXaGVyZSB0byBwdXQgdGhlIGJoeXZl IGNvZGUgaW4gdGhlIGVkazINCj4gPj4gcmVwbzogQmh5dmVQa2csIG9yIHVuZGVyIE92bWZQa2c/ DQo+ID4+DQo+ID4+IE9uIDUvMTEvMjAgNTo1NSBQTSwgTGFzemxvIEVyc2VrIHdyb3RlOg0KPiA+ Pj4gKENDJ2luZyBBcmQgYW5kIEpvcmRhbi4pDQo+ID4+Pg0KPiA+Pj4gT24gMDUvMDgvMjAgMTc6 NDQsIFJlYmVjY2EgQ3JhbiB3cm90ZToNCj4gPj4+PiBEdXJpbmcgdGhlIENvbW11bml0eSBNZWV0 aW5nIGxhc3QgbmlnaHQsIEkgd2FzDQo+IGFza2VkDQo+ID4+IHRvIHNlbmQgdGhpcyBlbWFpbA0K PiA+Pj4+IHN0YXJ0aW5nIGEgZGlzY3Vzc2lvbiBhYm91dCB3aGVyZSB0byBwdXQgdGhlIGJoeXZl DQo+ID4+IGNvZGUgaW4gdGhlIGVkazINCj4gPj4+PiB0cmVlOiB3aGV0aGVyIGl0IHNob3VsZCBi ZSBpbiBhIG5ldyBCaHl2ZVBrZywgb3INCj4gPj4gYWRkZWQgdW5kZXIgT3ZtZlBrZy4NCj4gPj4+ DQo+ID4+PiBJIHByZWZlciBhIHRvcC1sZXZlbCBCaHl2ZVBrZy4NCj4gPj4+DQo+ID4+PiBJZiBt b3N0IGVkazIgY29uc3VtZXJzIHdvdWxkbid0IGxpa2UgdG8gc2VlIGEgdG9wLQ0KPiA+PiBsZXZl bCBCaHl2ZVBrZw0KPiA+Pj4gZGlyZWN0b3J5LCBJIGNhbiBjZXJ0YWlubHkgbGl2ZSB3aXRoIE92 bWZQa2cvQmh5dmUuDQo+ID4+Pg0KPiA+Pj4gSSBjYW4gYWxzbyBsaXZlIHdpdGggT3ZtZlBrZy9C aHl2ZSosDQo+ID4+IE92bWZQa2cvTGlicmFyeS9CaHl2ZSosIGV0YywgbW9kdWxlcy4NCj4gPj4+ DQo+ID4+PiBTbyBJIGd1ZXNzIHRoZXNlIHdvdWxkIGJlIG15IGNob2ljZXMgaW4gZGVjcmVhc2lu Zw0KPiA+PiBvcmRlciBvZiBwcmVmZXJlbmNlLg0KPiA+Pj4gKFRvIGJlIGNsZWFyLCBJIGNvbnNp ZGVyIG15IG9wdGlvbiMzIHN0aWxsIGEgbG90DQo+ID4+IGJldHRlciB0aGFuIG5vdCBoYXZpbmcN Cj4gPj4+IGJoeXZlIHN1cHBvcnQgaW4gdXBzdHJlYW0gZWRrMiBhdCBhbGwuKQ0KPiA+Pj4NCj4g Pj4+IEluIGVpdGhlciBjYXNlLCAiTWFpbnRhaW5lcnMudHh0IiBzaG91bGQgZ2V0IGEgbmV3DQo+ ID4+IHNlY3Rpb24gbGlzdGluZyB0aGUNCj4gPj4+IGJoeXZlLXNwZWNpZmljIG1vZHVsZXMgYXMg YmVpbmcgdW5kZXIgeW91ciBhbmQNCj4gUGV0ZXINCj4gPj4gR3JlaGFuJ3MNCj4gPj4+IHJldmll d2Vyc2hpcCAoIlIiKS4NCj4gPj4+DQo+ID4+Pj4gSXQNCj4gPj4+PiBhcHBlYXJzIGl0J3MgYWxy ZWFkeSBiZWVuIGRlY2lkZWQgaXQgc2hvdWxkIGJlIGluDQo+ID4+IGVkazIgYWxvbmcgd2l0aCB0 aGUNCj4gPj4+PiBvdGhlciB2aXJ0dWFsIHBsYXRmb3JtcyBhbmQgbm90IGVkazItcGxhdGZvcm1z LA0KPiA+PiB3aGVyZSBjb2RlIGZvciBwaHlzaWNhbA0KPiA+Pj4+IHBsYXRmb3JtcyB3aWxsIHJl c2lkZS4NCj4gPj4+DQo+ID4+PiBJIGhhdmVuJ3QgYmVlbiBhd2FyZSB0aGF0IHRoaXMgaXMgYSBk b25lIGRlYWwsIGJ1dA0KPiBpZg0KPiA+PiBpdCBpcywgaXQgbWFrZXMgbWUNCj4gPj4+IGdsYWQh IEkndmUgYWx3YXlzIHdhbnRlZCBiaHl2ZSBzdHVmZiB0byBiZSBpbiBlZGsyDQo+ID4+IGFuZCBu b3QgaW4NCj4gPj4+IGVkazItcGxhdGZvcm1zLg0KPiA+Pj4NCj4gPj4NCj4gPj4gSSB0aGluayBp dCBpcyBhIGdvb2QgdGhpbmcgdG8gaGF2ZSBzdXBwb3J0IGZvcg0KPiB2aXJ0dWFsDQo+ID4+IHBs YXRmb3JtcyBpbiBjb3JlDQo+ID4+IEVESzIsIGdpdmVuIHRoYXQgc3VjaCBhIHBsYXRmb3JtIGlz IG9ubHkgYSBkb3dubG9hZA0KPiA+PiBhd2F5IGZvciBhbnlvbmUgd2hvDQo+ID4+IHdhbnRzIHRv IHRyeSBpdC4gSSBhbSBzdHJvbmdseSBvcHBvc2VkIHRvIHRoZSBpZGVhDQo+IHRoYXQNCj4gPj4g Y29yZSBFREsyIHNob3VsZA0KPiA+PiBqdXN0IGJlIGEgcmVwb3NpdG9yeSBvZiBiaXRzIGFuZCBw aWVjZXMgdGhhdA0KPiBwbGF0Zm9ybXMNCj4gPj4gY2FuIGluY29ycG9yYXRlLA0KPiA+PiBlc3Bl Y2lhbGx5IGJlY2F1c2UgaXQgY2FuIG1ha2UgcmVncmVzc2lvbnMNCj4gdW5zb2x2ZWFibGUNCj4g Pj4gb25jZSB3ZSBnZXQNCj4gPj4gb3Vyc2VsdmVzIGludG8gYSBzdGF0ZSB3aGVyZSByZXZlcnRp bmcgc29tZSBwYXRjaA0KPiBmaXhlcw0KPiA+PiBhIHByb2JsZW0gb24gb25lDQo+ID4+IHBsYXRm b3JtIGFuZCBjcmVhdGVzIG9uZSBvbiBhbm90aGVyLg0KPiA+Pg0KPiA+PiBIb3dldmVyLCBJIGRv bid0IHRoaW5rIGV2ZXJ5IHBsYXRmb3JtcyBpbiBjb3JlIEVESzINCj4gY2FuDQo+ID4+IGJlIGEg Zmlyc3QgY2xhc3MNCj4gPj4gY2l0aXplbi4gVGhlcmUgaXMgc2ltcGx5IG5vIHdheSB3ZSBjYW4g ZXhwZWN0DQo+ID4+IGNvbnRyaWJ1dG9ycyB0byBtYWtlIHN1cmUNCj4gPj4gdGhhdCB0aGVpciBj aGFuZ2VzIGRvbid0IGJyZWFrIHVuZGVyIEJoeXZlLCBhbmQgdGhlDQo+ID4+IHNhbWUgd2lsbCBi ZSB0cnVlDQo+ID4+IG9uY2UgKGlmKSB3ZSBtZXJnZSBrdm10b29sIGd1ZXN0IHN1cHBvcnQsIHdo aWNoIGlzDQo+ID4+IHVuZGVyIGRldmVsb3BtZW50IGFzDQo+ID4+IHdlbGwgKGdpdmVuIHRoYXQg aXQgc3VwcG9ydHMgdmlydHVhbGl6YXRpb24gb25seSwNCj4gYW5kDQo+ID4+IHNvIHVubGlrZSBR RU1VLA0KPiA+PiB3aGljaCBzdXBwb3J0cyBlbXVsYXRpb24gYXMgd2VsbCwgaXQgcmVxdWlyZXMg YQ0KPiBuYXRpdmUNCj4gPj4gaG9zdCkNCj4gPj4NCj4gPj4gU28gSSBhZ3JlZSB0aGF0IGl0IG1h a2VzIHNlbnNlIHRvIGluY29ycG9yYXRlIEJoeXZlDQo+ID4+IGludG8gY29yZSBFREsyLCBidXQN Cj4gPj4gd2UgaGF2ZSB0byBkZWNpZGUgb24gc29tZSBydWxlcyByZWdhcmRpbmcgJ3NlY29uZA0K PiA+PiBjbGFzcycgcGxhdGZvcm1zOg0KPiA+PiBob3cvd2hlbiB0byB0ZXN0IHRoZW0sIGFuZCBo b3cgdXJnZW50bHkgd2UgdHJlYXQNCj4gPj4gcmVncmVzc2lvbnMgZm91bmQNCj4gPj4gZHVyaW5n IHN1Y2ggdGVzdGluZy4gV2UgY2FuIHRyZWF0IEFybVZpcnRYZW4gdGhlDQo+IHNhbWUNCj4gPj4g d2F5LCBpbW8sIGFzIHdlbGwNCj4gPj4gYXMgS3ZtVG9vbCB3aGVuIGl0IGxhbmRzLg0KPiA+Pg0K PiA+PiBXaGV0aGVyIHdlIGNyZWF0ZSBhIEJoeXZlUGtnIGRlcGVuZHMgb24gb3VyIGZ1dHVyZQ0K PiA+PiBpbnRlbnQgd3J0IG1lcmdpbmcNCj4gPj4gT1ZNRiB3aXRoIG90aGVyIHZpcnR1YWwgcGxh dGZvcm1zLiBJIHRoaW5rIGl0IHdvdWxkDQo+ID4+IG1ha2Ugc2Vuc2UgZm9yIHRoZQ0KPiA+PiBB cm1WaXJ0UGtnIGFuZCBPdm1mUGtnIHRvIGJlIG1lcmdlZCBhdCBzb21lIHBvaW50LA0KPiBhdA0K PiA+PiB3aGljaCB0aW1lIGl0IHdpbGwNCj4gPj4gcHJvYmFibHkgbWFrZSBsaXR0bGUgc2Vuc2Ug dG8gaGF2ZSBhIHNlcGFyYXRlDQo+IEJoeXZlUGtnLg0KPiA+PiBCdXQgSSdtIG5vdCBzdXJlDQo+ ID4+IHdoYXQgTGFzemxvJ3MgdGFrZSBpcyBvbiB0aGlzLg0KPiA+Pg0KPiA+PiBJbiBzdW1tYXJ5 LCBJIGNhbiBsaXZlIHdpdGggYW55IG9mIHRoZXNlIG9wdGlvbnMsIGFzDQo+ID4+IGxvbmcgYXMg dGhlDQo+ID4+IHVuZGVybHlpbmcgcnVsZXMgYW5kIGFzc3VtcHRpb25zIGFyZSBjbGFyaWZpZWQu DQo+ID4+DQo+ID4NCj4gDQo+IA0KPiANCg0K