From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from hqnvemgate26.nvidia.com (hqnvemgate26.nvidia.com [216.228.121.65]) by mx.groups.io with SMTP id smtpd.web10.1618.1577162909651098845 for ; Mon, 23 Dec 2019 20:48:29 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=@nvidia.com header.s=n1 header.b=IrFbehtb; spf=pass (domain: nvidia.com, ip: 216.228.121.65, mailfrom: ashishsingha@nvidia.com) Received: from hqpgpgate101.nvidia.com (Not Verified[216.228.121.13]) by hqnvemgate26.nvidia.com (using TLS: TLSv1.2, DES-CBC3-SHA) id ; Mon, 23 Dec 2019 20:48:17 -0800 Received: from hqmail.nvidia.com ([172.20.161.6]) by hqpgpgate101.nvidia.com (PGP Universal service); Mon, 23 Dec 2019 20:48:28 -0800 X-PGP-Universal: processed; by hqpgpgate101.nvidia.com on Mon, 23 Dec 2019 20:48:28 -0800 Received: from HQMAIL107.nvidia.com (172.20.187.13) by HQMAIL105.nvidia.com (172.20.187.12) with Microsoft SMTP Server (TLS) id 15.0.1473.3; Tue, 24 Dec 2019 04:48:26 +0000 Received: from NAM12-MW2-obe.outbound.protection.outlook.com (104.47.66.46) by HQMAIL107.nvidia.com (172.20.187.13) with Microsoft SMTP Server (TLS) id 15.0.1473.3 via Frontend Transport; Tue, 24 Dec 2019 04:48:26 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=GALZULiCPzJMFX6O+92FQBXRx42J+56HDK//Tixd4nF8fVdeSGDH+RGg6DX2KCpOLrXx/zEzHszFnwr6iDn8Bie4kq9tPi9BWBADevt0MT16+mt/ZIsbWw+7u2RBoNGzaeo3Oh70adjNOmK+QPAIxqADVZWbGCZTsQm7cg0TBU6DAZB7NjwCPPti7QssCWva9kLLHncgKqjkVt3oaYy0v6MntUx5in7OGTPEZMgwHO84nebno6lX1EyRBIiMu6A2f0dk6ZaouUak/gnrRIsSspTZuVYw5C7SoQWHMzujsNpSdRIq9hbM1ucYagnfhpDwbMKZu5fcL0tsPVPU0SSlWQ== 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=D87f/WVW0X+AHRZlzxHwueGK/BowDnx4FwFZi1O4vvM=; b=Lj1FjUg8lV0h9WKFY7pEOaaCOErbNvG+SadHtJtgWQXQLO2YmeUQzsf4lPQBcc4HZWVXgtvFf2vWb+txmUhLhJGfLfu1AcRa+dlSelIXSvMEinlAze4N6hqJOjZbXSyOkQOPEI9Fcf1VpNj+zI29W2TsRW7GS9kWo+hT/aVdZdIZAPiOCLV15pTuA8mFhUliWRlBN+GXeeYT8ceiGeeNAtTUx4G25nQ9ItlVr6X0ZsoOnhwqtCPzyybqwbKRnsy9GeZbTLF3oKULVmry0QUtD9u6e8bjMNXMWhvd0gvtt642JCtKIyiAhAfyzPHfDWGmmvOhyoJmJHF9Y2vVy4IAuA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nvidia.com; dmarc=pass action=none header.from=nvidia.com; dkim=pass header.d=nvidia.com; arc=none Received: from DM6PR12MB3324.namprd12.prod.outlook.com (20.178.31.154) by DM6PR12MB2859.namprd12.prod.outlook.com (20.179.71.93) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2559.16; Tue, 24 Dec 2019 04:48:25 +0000 Received: from DM6PR12MB3324.namprd12.prod.outlook.com ([fe80::d59b:7923:689f:bdc0]) by DM6PR12MB3324.namprd12.prod.outlook.com ([fe80::d59b:7923:689f:bdc0%6]) with mapi id 15.20.2559.017; Tue, 24 Dec 2019 04:48:24 +0000 From: "Ashish Singhal" To: "Wang, Sunny (HPS SW)" , "Ni, Ray" , "devel@edk2.groups.io" , "Wang, Jian J" , "Wu, Hao A" , "Gao, Zhichao" , "Kinney, Michael D" , "'Andrew Fish (afish@apple.com)'" CC: "Spottswood, Jason" Subject: Re: [edk2-devel] [PATCH v4] MdeModulePkg: Add EDK2 Platform Boot Manager Protocol Thread-Topic: [edk2-devel] [PATCH v4] MdeModulePkg: Add EDK2 Platform Boot Manager Protocol Thread-Index: AQHVtdbm21dHZTc1wEqzr9I4sbpw6qfAtC6AgADPwwCAACUrUIABPHUAgAW1sICAACDYAIAAAMGg Date: Tue, 24 Dec 2019 04:48:24 +0000 Message-ID: References: <734D49CCEBEEF84792F5B80ED585239D5C3A269D@SHSMSX104.ccr.corp.intel.com> <734D49CCEBEEF84792F5B80ED585239D5C3A9D96@SHSMSX104.ccr.corp.intel.com> In-Reply-To: Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: msip_labels: MSIP_Label_6b558183-044c-4105-8d9c-cea02a2a3d86_Enabled=True; MSIP_Label_6b558183-044c-4105-8d9c-cea02a2a3d86_SiteId=43083d15-7273-40c1-b7db-39efd9ccc17a; MSIP_Label_6b558183-044c-4105-8d9c-cea02a2a3d86_Owner=ashishsingha@nvidia.com; MSIP_Label_6b558183-044c-4105-8d9c-cea02a2a3d86_SetDate=2019-12-24T04:48:22.2826485Z; MSIP_Label_6b558183-044c-4105-8d9c-cea02a2a3d86_Name=Unrestricted; MSIP_Label_6b558183-044c-4105-8d9c-cea02a2a3d86_Application=Microsoft Azure Information Protection; MSIP_Label_6b558183-044c-4105-8d9c-cea02a2a3d86_ActionId=5c92e67b-d1df-4ecd-abb7-84f600a63cb2; MSIP_Label_6b558183-044c-4105-8d9c-cea02a2a3d86_Extended_MSFT_Method=Automatic authentication-results: spf=none (sender IP is ) smtp.mailfrom=ashishsingha@nvidia.com; x-originating-ip: [8.46.90.104] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: de04b0ee-9f78-4434-7c14-08d7882c82bc x-ms-traffictypediagnostic: DM6PR12MB2859: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:9508; x-forefront-prvs: 0261CCEEDF x-forefront-antispam-report: SFV:NSPM;SFS:(10009020)(39860400002)(376002)(396003)(346002)(136003)(366004)(199004)(189003)(13464003)(43544003)(8936002)(5660300002)(66946007)(7696005)(66556008)(33656002)(64756008)(66446008)(66476007)(76116006)(2906002)(316002)(296002)(110136005)(478600001)(186003)(6506007)(53546011)(52536014)(26005)(4326008)(9686003)(71200400001)(55016002)(81156014)(86362001)(81166006)(8676002)(921003)(1121003);DIR:OUT;SFP:1101;SCL:1;SRVR:DM6PR12MB2859;H:DM6PR12MB3324.namprd12.prod.outlook.com;FPR:;SPF:None;LANG:en;PTR:InfoNoRecords;A:1;MX:1; received-spf: None (protection.outlook.com: nvidia.com does not designate permitted sender hosts) x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 0ZljH+x14L98qEyIkm/FfHmKVaNTQoxOtqx/Hh3RFkHtJV1H7zF6uFNQF0J3yfen7uD01TKPe02ZH6pkSq7/1dbeaYFepf/vanLhoFyh2sOQuq44hK4ZG4psbecJXTi60xWADR9GxWI59lf888CDVOVhNIZsnteVar9cNZW00WuCzym8JjSVjSeOEzakIkULQ4wp1zslxTULVhyniI3hZf13Hvbu3R2itER5I/A9CamZ0pi1V7dP6UQjihf+hugf5h1PU/sOk6mf0flbF66WnQOobVEi6/vCDxbrbhJdUpqs1kuKgOm4ASVSTy2Pv0P6gcOkjsao82w5sdOsj5YlfHTm0/qMn2ql173t4rF6jaM6f3frMhIjJMcg4OUjGOWJypu4Nhyjy/N2Hu0iebB8njC7kYqPeSRiVfcqaqlOrIvKvA1qsfx4XDVqmM7emR1tZBVNROuoRISy3pEr0R6ZP+5x6eDc+rujzJ1L3/lFe6Sg+gDNrtxNS90y0GdmVZVuO9fYNh+UqMTO5ls9BibyLmRuA7uINfse5lmH5JE9iGeM0JRqvjXYoECRj/t94fRL x-ms-exchange-transport-forked: True MIME-Version: 1.0 X-MS-Exchange-CrossTenant-Network-Message-Id: de04b0ee-9f78-4434-7c14-08d7882c82bc X-MS-Exchange-CrossTenant-originalarrivaltime: 24 Dec 2019 04:48:24.9014 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: k0wech1Y0UYQAJipAm6DfGrRm1O7qlzk78ekT5O8bUIM/Z9j1su3dHxfspGbq17VAaWE1lRWUGwVjGxkmJexrg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR12MB2859 Return-Path: ashishsingha@nvidia.com X-OriginatorOrg: Nvidia.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nvidia.com; s=n1; t=1577162897; bh=+SrbIdFjGCZL2FF4Wz7X9AFPALaea/dVyBkiilnvpBY=; h=X-PGP-Universal: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:X-MS-Has-Attach:X-MS-TNEF-Correlator:msip_labels: authentication-results:x-originating-ip:x-ms-publictraffictype: x-ms-office365-filtering-correlation-id:x-ms-traffictypediagnostic: x-microsoft-antispam-prvs:x-ms-oob-tlc-oobclassifiers: x-forefront-prvs:x-forefront-antispam-report:received-spf: x-ms-exchange-senderadcheck:x-microsoft-antispam: x-microsoft-antispam-message-info:x-ms-exchange-transport-forked: MIME-Version:X-MS-Exchange-CrossTenant-Network-Message-Id: X-MS-Exchange-CrossTenant-originalarrivaltime: X-MS-Exchange-CrossTenant-fromentityheader: X-MS-Exchange-CrossTenant-id:X-MS-Exchange-CrossTenant-mailboxtype: X-MS-Exchange-CrossTenant-userprincipalname: X-MS-Exchange-Transport-CrossTenantHeadersStamped:X-OriginatorOrg: Content-Language:Content-Type:Content-Transfer-Encoding; b=IrFbehtbXDN1JGJMYBxfLvzA0o63v/V0nycVp4aPhPH35oHc8grWwUnMdLPphDvcr AqHINRK6O2NSS0CQx3MW9Qrvz36B9vFfx4UktIcuCUdNUfPuAISMJWzm3kHmXMYNGe B695rCfP40g3OVDQ03Ou/Vco9+tf05dZosuoctDL5V3uZ7CPM3tW9TadOMkoyr4KB8 vA2bChuWcBygdN4tUZamumGGKXw7t7+eZwCM4Ak/vQ42aBgw8sC3Ab8R3pxMPcd2uO WAgTQegdQLmIP2D+xRa6KxdazocEKcpPuyFlHilIuNiBCWjOjImSf1zxIpyUBzRR8g q/RHAfa0/oNJg== Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 SGkgU3VubnksDQoNCkZvciB0aGUgMyB1c2UgY2FzZXMgeW91IHN1Z2dlc3RlZCwgcGxlYXNlIGxl dCBtZSBrbm93IGlmIHlvdSB0aGluayBJIGFtIHdyb25nLg0KDQoxLiBSZWZyZXNoQWxsQm9vdE9w dGlvbnMgY2FuIHJlZnJlc2ggYm9vdCBvcHRpb25zIHdoaWNoIGFyZSBhdXRvIGNyZWF0ZWQgYnkg Qm1FbnVtZXJhdGVCb290T3B0aW9ucyBhcyB3ZWxsIGFzIE5WIGJvb3Qgb3B0aW9ucyBpbiB0aGUg dmFyaWFibGUgc3RvcmUuIFBsYXRmb3JtIGltcGxlbWVudGF0aW9uIG9mIFJlZnJlc2hBbGxCb290 T3B0aW9ucyBjYW4gaGF2ZSBjYWxscyB0byBwbGF0Zm9ybSBzcGVjaWZpYyBvdGhlciBsaWJyYXJp ZXMvZHJpdmVycyB0aGF0IGNyZWF0ZSBtb3JlIGJvb3Qgb3B0aW9ucy4NCjIuIEluIEVmaUJvb3RN YW5hZ2VyUmVmcmVzaEFsbEJvb3RPcHRpb24sIEJtRW51bWVyYXRlQm9vdE9wdGlvbnMgaXMgdGhl IG9ubHkgZnVuY3Rpb24gdGhhdCBwb3B1bGF0ZXMgYm9vdCBvcHRpb25zIGFuZCB0aGVuIHZhbGlk YXRlcy9pbnZhbGlkYXRlcyB0aGVtIGFzIHdlbGwgYXMgTlYgYm9vdCBvcHRpb25zLiBSZWZyZXNo QWxsQm9vdE9wdGlvbnMgY2FuIG1vZGlmeSBzdGF0aWMtaW5mb3JtYXRpb25hbCBkYXRhIG9yIGNv bmZpZ3VyYXRpb24gZGF0YSBmcm9tIHRoZSBib290IG9wdGlvbnMgY3JlYXRlZCBieSBCbUVudW1l cmF0ZUJvb3RPcHRpb25zIGFzIHdlbGwgYXMgaW4gTlYgc3RvcmUuDQozLiBTb2x1dGlvbiBmb3Ig dGhpcmQgdXNlIGNhc2UgY2FuIGJlIGRlcml2ZWQgYnkgdXNpbmcgYSBQQ0Qgd2hpY2ggY2FuIGJl IGRlZmF1bHRlZCB0byB0ZWxsIGNvZGUgdG8gY2FsbCBFZmlCb290TWFuYWdlclJlZnJlc2hBbGxC b290T3B0aW9uIGV2ZXJ5IHRpbWUgYnV0IGNhbiBiZSBvdmVycmlkZGVuIGJ5IHBsYXRmb3JtIHRv IG5vdCBjYWxsIGl0IGZyb20gYW55d2hlcmUgZXhjZXB0IEJEUy4NCg0KVGhhbmtzDQpBc2hpc2gN Cg0KLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCkZyb206IFdhbmcsIFN1bm55IChIUFMgU1cp IDxzdW5ueXdhbmdAaHBlLmNvbT4gDQpTZW50OiBNb25kYXksIERlY2VtYmVyIDIzLCAyMDE5IDk6 MzggUE0NClRvOiBOaSwgUmF5IDxyYXkubmlAaW50ZWwuY29tPjsgZGV2ZWxAZWRrMi5ncm91cHMu aW87IEFzaGlzaCBTaW5naGFsIDxhc2hpc2hzaW5naGFAbnZpZGlhLmNvbT47IFdhbmcsIEppYW4g SiA8amlhbi5qLndhbmdAaW50ZWwuY29tPjsgV3UsIEhhbyBBIDxoYW8uYS53dUBpbnRlbC5jb20+ OyBHYW8sIFpoaWNoYW8gPHpoaWNoYW8uZ2FvQGludGVsLmNvbT47IEtpbm5leSwgTWljaGFlbCBE IDxtaWNoYWVsLmQua2lubmV5QGludGVsLmNvbT47ICdBbmRyZXcgRmlzaCAoYWZpc2hAYXBwbGUu Y29tKScgPGFmaXNoQGFwcGxlLmNvbT4NCkNjOiBTcG90dHN3b29kLCBKYXNvbiA8amFzb24uc3Bv dHRzd29vZEBocGUuY29tPjsgV2FuZywgU3VubnkgKEhQUyBTVykgPHN1bm55d2FuZ0BocGUuY29t Pg0KU3ViamVjdDogUkU6IFtlZGsyLWRldmVsXSBbUEFUQ0ggdjRdIE1kZU1vZHVsZVBrZzogQWRk IEVESzIgUGxhdGZvcm0gQm9vdCBNYW5hZ2VyIFByb3RvY29sDQoNCkV4dGVybmFsIGVtYWlsOiBV c2UgY2F1dGlvbiBvcGVuaW5nIGxpbmtzIG9yIGF0dGFjaG1lbnRzDQoNCg0KVGhhbmtzIGZvciBj aGVja2luZyB0aGlzLCBSYXkuDQoNClBsYXRmb3JtIG1heSB3YW50IHRvOg0KIDEuIFJlZnJlc2gg dGhlIHN0YXRpYyBib290IG9wdGlvbnMgKHRoYXQgYXJlIG5vdCBjcmVhdGVkIGJ5IEJtRW51bWVy YXRlQm9vdE9wdGlvbnMpIHdpdGhvdXQgYSByZWJvb3QuDQogMi4gVXBkYXRlIHNvbWUgb3RoZXIg c3RhdGljLWluZm9ybWF0aW9uYWwgZGF0YSBvciBjb25maWd1cmF0aW9uIGRhdGEgcmlnaHQgYWZ0 ZXIgY2FsbGluZyBFZmlCb290TWFuYWdlclJlZnJlc2hBbGxCb290T3B0aW9uLg0KIDMuIEFsd2F5 cyBza2lwIGNhbGxpbmcgRWZpQm9vdE1hbmFnZXJSZWZyZXNoQWxsQm9vdE9wdGlvbiBmb3IgdGhl IGNhc2VzIGxpa2UgQk9PVF9BU1NVTUlOR19OT19DT05GSUdVUkFUSU9OX0NIQU5HRVMuDQoNCkkg a25vdyB0aGVzZSBhY3Rpb25zIGNhbiBiZSBkb25lIGJ5IGFkZGluZyBjb2RlIHRvIG90aGVyIHBs YWNlcywgYnV0IHVzaW5nIGhvb2tzIGluIEVmaUJvb3RNYW5hZ2VyUmVmcmVzaEFsbEJvb3RPcHRp b24gd291bGQgYmUgYW4gZWFzaWVyIHNvbHV0aW9uIGZvciB0aGUgcGxhdGZvcm0uIFdlIHdvbid0 IG5lZWQgdG8gdGFrZSBjYXJlIG9mIGFsbCB0aGUgRWZpQm9vdE1hbmFnZXJSZWZyZXNoQWxsQm9v dE9wdGlvbiBjYWxsZXJzLiBUaGVyZWZvcmUsIElmIHdlIGRvbid0IGhhdmUgYSBjb25jZXJuIGFi b3V0IGFkZGluZyBtb3JlIGhvb2tzIGFuZCB3YW50IHRvIGdpdmUgdGhlIHBsYXRmb3JtIG1vcmUg ZmxleGliaWxpdHksIHdlIGNvdWxkIGFkZCB0d28gbW9yZSBob29rcyAoMSBhbmQgMykgaW4gdGhl IGZ1dHVyZSB0byBoYXZlIHRocmVlIGhvb2tzIGFzIGJlbG93Og0KICAxLiBCZWdpbk9mUmVmcmVz aEFsbEJvb3RPcHRpb25zDQogIDIuIFJlZnJlc2hBbGxCb290T3B0aW9ucyBvciBSZWZyZXNoRW51 bWVyYXRlZEJvb3RPcHRpb25zDQogIDMuIEVuZE9mUmVmcmVzaEFsbEJvb3RPcHRpb24NCg0KQnkg dGhlIHdheSwgdGhlIGN1cnJlbnQgY2hhbmdlIGxvb2tzIGdvb2QgZW5vdWdoIHRvIG1lLiBJbiBj YXNlIEFzaGlzaCBvciBvdGhlcnMgYXJlIGluIHVyZ2VudCBuZWVkIG9mIHRoaXMgY29kZSBjaGFu Z2UsIHdlIGNhbiBkaXNjdXNzIG15IGNvbW1lbnRzIGxhdGVyIGluIGEgc2VwYXJhdGVkIGVtYWls Lg0KDQpSZWdhcmRzLA0KU3VubnkgV2FuZw0KDQotLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0K RnJvbTogTmksIFJheSBbbWFpbHRvOnJheS5uaUBpbnRlbC5jb21dDQpTZW50OiBUdWVzZGF5LCBE ZWNlbWJlciAyNCwgMjAxOSAxMDo0MCBBTQ0KVG86IFdhbmcsIFN1bm55IChIUFMgU1cpIDxzdW5u eXdhbmdAaHBlLmNvbT47IGRldmVsQGVkazIuZ3JvdXBzLmlvOyBhc2hpc2hzaW5naGFAbnZpZGlh LmNvbTsgV2FuZywgSmlhbiBKIDxqaWFuLmoud2FuZ0BpbnRlbC5jb20+OyBXdSwgSGFvIEEgPGhh by5hLnd1QGludGVsLmNvbT47IEdhbywgWmhpY2hhbyA8emhpY2hhby5nYW9AaW50ZWwuY29tPjsg S2lubmV5LCBNaWNoYWVsIEQgPG1pY2hhZWwuZC5raW5uZXlAaW50ZWwuY29tPjsgJ0FuZHJldyBG aXNoIChhZmlzaEBhcHBsZS5jb20pJyA8YWZpc2hAYXBwbGUuY29tPg0KQ2M6IFNwb3R0c3dvb2Qs IEphc29uIDxqYXNvbi5zcG90dHN3b29kQGhwZS5jb20+DQpTdWJqZWN0OiBSRTogW2VkazItZGV2 ZWxdIFtQQVRDSCB2NF0gTWRlTW9kdWxlUGtnOiBBZGQgRURLMiBQbGF0Zm9ybSBCb290IE1hbmFn ZXIgUHJvdG9jb2wNCg0KDQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTog V2FuZywgU3VubnkgKEhQUyBTVykgPHN1bm55d2FuZ0BocGUuY29tPg0KPiBTZW50OiBGcmlkYXks IERlY2VtYmVyIDIwLCAyMDE5IDc6MjkgUE0NCj4gVG86IGRldmVsQGVkazIuZ3JvdXBzLmlvOyBh c2hpc2hzaW5naGFAbnZpZGlhLmNvbTsgTmksIFJheSANCj4gPHJheS5uaUBpbnRlbC5jb20+OyBX YW5nLCBKaWFuIEogPGppYW4uai53YW5nQGludGVsLmNvbT47IFd1LCBIYW8gQSANCj4gPGhhby5h Lnd1QGludGVsLmNvbT47IEdhbywgWmhpY2hhbyA8emhpY2hhby5nYW9AaW50ZWwuY29tPjsgS2lu bmV5LCANCj4gTWljaGFlbCBEIDxtaWNoYWVsLmQua2lubmV5QGludGVsLmNvbT47ICdBbmRyZXcg RmlzaCAoYWZpc2hAYXBwbGUuY29tKScNCj4gPGFmaXNoQGFwcGxlLmNvbT4NCj4gQ2M6IFNwb3R0 c3dvb2QsIEphc29uIDxqYXNvbi5zcG90dHN3b29kQGhwZS5jb20+OyBXYW5nLCBTdW5ueSAoSFBT DQo+IFNXKSA8c3Vubnl3YW5nQGhwZS5jb20+DQo+IFN1YmplY3Q6IFJFOiBbZWRrMi1kZXZlbF0g W1BBVENIIHY0XSBNZGVNb2R1bGVQa2c6IEFkZCBFREsyIFBsYXRmb3JtIA0KPiBCb290IE1hbmFn ZXIgUHJvdG9jb2wNCj4NCj4gR29vZCBwb2ludC4gVGhlIHdheSB5b3UgdXNlZCBpcyBtb3JlIHJv YnVzdC4gSXQgY2FuIGNvdmVyIGEgbWlzdGFrZSBpbiANCj4gZnVuY3Rpb24ncyBlcnJvciBoYW5k bGluZy4gVGhhbmtzIGZvciBjbGFyaWZ5aW5nIHRoaXMsIEFzaGlzaC4NCj4NCj4gSW4gYWRkaXRp b24sIHRoZSBvdGhlciBuYW1pbmcgc3VnZ2VzdGlvbiBqdXN0IGNvbWVzIHRvIG1pbmQuIEhvdyBh Ym91dCANCj4gd2UgcmVuYW1lIHRoZSBmdW5jdGlvbiB0byBhIG1vcmUgZ2VuZXJpYyBvbmUgKGJh c2VkIG9uIGxvY2F0aW9uKSBsaWtlIA0KPiBBZnRlckVudW1lcmF0ZUJvb3RPcHRpb25zIG9yIGEg bW9yZSBzcGVjaWZpYyBvbmUgbGlrZSANCj4gUmVmcmVzaEVudW1lcmF0ZWRCb290T3B0aW9ucz8g SW4gdGhlIGZ1dHVyZSwgd2UgbWF5IGFkZCB0aGUgb3RoZXIgaG9vayANCj4gZnVuY3Rpb24gaW4g dGhlIEVmaUJvb3RNYW5hZ2VyUmVmcmVzaEFsbEJvb3RPcHRpb24gdG8gZGVhbCB3aXRoIHRoZSAN Cj4gYm9vdCBvcHRpb25zIHRoYXQgYXJlIG5vdCBjcmVhdGVkIGJ5IEJtRW51bWVyYXRlQm9vdE9w dGlvbnMuIEluIHRoaXMgDQo+IGNhc2UgKHR3byBob29rIGZ1bmN0aW9ucyBpbiBFZmlCb290TWFu YWdlclJlZnJlc2hBbGxCb290T3B0aW9uKSwgdGhlIA0KPiBvcmlnaW5hbCBmdW5jdGlvbiBuYW1l ICJSZWZyZXNoQWxsQm9vdE9wdGlvbnMiIG1heSBjYXVzZSBzb21lIGNvbmZ1c2lvbi4NCg0KU3Vu bnksDQpXaGF0IGVsc2UgZmVhc2liaWxpdHkgZG8geW91IHRoaW5rIHBsYXRmb3JtIG1heSByZXF1 aXJlIGluIGZ1dHVyZSBidXQgdGhpcyBSZWZyZXNoQWxsQm9vdE9wdGlvbnMgY2Fubm90IHN1cHBv cnQ/DQoNClRoYW5rcywNClJheQ0KDQoNCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQpUaGlz IGVtYWlsIG1lc3NhZ2UgaXMgZm9yIHRoZSBzb2xlIHVzZSBvZiB0aGUgaW50ZW5kZWQgcmVjaXBp ZW50KHMpIGFuZCBtYXkgY29udGFpbg0KY29uZmlkZW50aWFsIGluZm9ybWF0aW9uLiAgQW55IHVu YXV0aG9yaXplZCByZXZpZXcsIHVzZSwgZGlzY2xvc3VyZSBvciBkaXN0cmlidXRpb24NCmlzIHBy b2hpYml0ZWQuICBJZiB5b3UgYXJlIG5vdCB0aGUgaW50ZW5kZWQgcmVjaXBpZW50LCBwbGVhc2Ug Y29udGFjdCB0aGUgc2VuZGVyIGJ5DQpyZXBseSBlbWFpbCBhbmQgZGVzdHJveSBhbGwgY29waWVz IG9mIHRoZSBvcmlnaW5hbCBtZXNzYWdlLg0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCg==