From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received-SPF: Pass (sender SPF authorized) identity=mailfrom; client-ip=40.92.72.30; helo=eur03-ve1-obe.outbound.protection.outlook.com; envelope-from=marvin.haeuser@outlook.com; receiver=edk2-devel@lists.01.org Received: from EUR03-VE1-obe.outbound.protection.outlook.com (mail-oln040092072030.outbound.protection.outlook.com [40.92.72.30]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id 00A93209603F2 for ; Tue, 15 May 2018 06:02:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=outlook.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=3kY8UVAXfVFxEl/Fu11BIbCLd48uiwYuZB/yDX+FIbs=; b=tyRRFisg+Z7h4GfpeiTMm/L3OjHlhssf29ug6v5y7uIvKF2pMvrOMtKBgn1lvkNdJHuj/+mNJRPfvtiSD8Zt2O6p7UaAtD2xJoXCm30KSVUPRvct7bZk0gQex4WQNGrEq0Yw9bso/Do5D7xfE4z2rHJ1y9WvBYw5dPnRIx0Ohmt9x6cYRXNibN3QjgZ1IPPxTSH6GFSKVanik9Pc8L0WpMozabC8xVoR6e46h9FvcAgaFeIGm3R8UAGS7nh4S5w7jzHP48T6pXwGTgDfPJBDuugppLYog7VgjSwkN3XF1DvotVL7tgYLNuc+3Ka++weAQ0IIFkwNHzdAluluKUJK+Q== Received: from DB5EUR03FT052.eop-EUR03.prod.protection.outlook.com (10.152.20.57) by DB5EUR03HT090.eop-EUR03.prod.protection.outlook.com (10.152.21.136) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.20.735.16; Tue, 15 May 2018 13:02:44 +0000 Received: from VI1PR0801MB1790.eurprd08.prod.outlook.com (10.152.20.60) by DB5EUR03FT052.mail.protection.outlook.com (10.152.21.82) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.20.735.16 via Frontend Transport; Tue, 15 May 2018 13:02:44 +0000 Received: from VI1PR0801MB1790.eurprd08.prod.outlook.com ([fe80::7c79:584b:2e12:783e]) by VI1PR0801MB1790.eurprd08.prod.outlook.com ([fe80::7c79:584b:2e12:783e%17]) with mapi id 15.20.0755.018; Tue, 15 May 2018 13:02:44 +0000 From: =?utf-8?B?TWFydmluIEjDpHVzZXI=?= To: "edk2-devel@lists.01.org" CC: Laszlo Ersek , "eric.dong@intel.com" , "star.zeng@intel.com" , "jordan.l.justen@intel.com" , "ard.biesheuvel@linaro.org" , "ruiyu.ni@intel.com" Thread-Topic: [edk2] Proposition of a BmEnumerateBootOptions() hook. Thread-Index: AdPrsgMo2EIXJLdYQImjwNC1Y2yr9AAc9lEAAABs7yA= Date: Tue, 15 May 2018 13:02:44 +0000 Message-ID: References: <12b0e557-4f3b-3766-1e52-c069c02b692e@redhat.com> In-Reply-To: <12b0e557-4f3b-3766-1e52-c069c02b692e@redhat.com> Accept-Language: de-DE, en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-incomingtopheadermarker: OriginalChecksum:F297D92A5511E47F7D8C17650387D658B1F529E9FE8F1A8575B65CE775BF44D7; UpperCasedChecksum:A8459F5642F5BE23E3671E8D4AA9650F538571FEDAD2090BB2B63CB2252DF2F7; SizeAsReceived:7425; Count:46 x-tmn: [AKmYhLqB6PTnimvQQ9GQt9keyIKBYAXX] x-ms-publictraffictype: Email x-microsoft-exchange-diagnostics: 1; DB5EUR03HT090; 7:UohMwVbW4zRHZHi5PHzfLSzJiE/oFaNK1eiC7TqUm7Hl16TY5N9oSmJiuV7ZYsAuhafgL1/xC5QK0GMhhj7JGUrFxJRCQiKndDBYAJ6AFfAkxNJeHV1fB4Nj9ux36g2+BklyYsMYhmK4rZm7fnu9P/LgpeSIKJIE8XD0D0KPArsA4PLmfIaL0otEklL02OwA9/O54OdRToqZuUjtt6QQiLZiySn7jjbTs/nwu2pZUi/6z3YaPqPxneqNqKsQWFsF x-incomingheadercount: 46 x-eopattributedmessage: 0 x-microsoft-antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020095)(201702061078)(5061506573)(5061507331)(1603103135)(2017031320274)(2017031324274)(2017031323274)(2017031322404)(1603101448)(1601125464)(1701031045); SRVR:DB5EUR03HT090; x-ms-traffictypediagnostic: DB5EUR03HT090: x-exchange-antispam-report-cfa-test: BCL:0; PCL:0; RULEID:(444000031); SRVR:DB5EUR03HT090; BCL:0; PCL:0; RULEID:; SRVR:DB5EUR03HT090; x-forefront-prvs: 0673F5BE31 x-forefront-antispam-report: SFV:NSPM; SFS:(7070007)(6029001)(377424004)(13464003)(53234004)(51444003)(51874003)(189003)(199004)(7696005)(5660300001)(53546011)(305945005)(105586002)(6346003)(4326008)(102836004)(97736004)(74316002)(6436002)(2900100001)(76176011)(85202003)(3280700002)(6306002)(1720100001)(99286004)(6246003)(104016004)(3660700001)(5250100002)(5890100001)(106356001)(2501003)(20460500001)(33656002)(81156014)(2351001)(14454004)(426003)(55016002)(8936002)(85182001)(229853002)(68736007)(486006)(72206003)(966005)(54906003)(4001150100001)(26005)(476003)(6916009)(8676002)(87572001)(82202002)(446003)(5640700003)(86362001)(11346002)(25786009); DIR:OUT; SFP:1901; SCL:1; SRVR:DB5EUR03HT090; H:VI1PR0801MB1790.eurprd08.prod.outlook.com; FPR:; SPF:None; PTR:InfoNoRecords; MX:1; A:1; LANG:; received-spf: None (protection.outlook.com: outlook.com does not designate permitted sender hosts) authentication-results: spf=none (sender IP is ) smtp.mailfrom=Marvin.Haeuser@outlook.com; x-microsoft-antispam-message-info: Tv+n3V0zl1h1CNwu52GZpzx287CXo5PSVnKxpunvYumXbTthscCyqw6QWHwH1drBEkLCURSZsv2lndP3wvPkJZU1qMg6BV8ZksP2hfJzJ2b7iagjxa4qrIe9nyB6yL3yzrhNGn62zyXzmk5aR6uRCrdEaZHq5hTc4mYgzjV5o3et5woCWThQdOM3qe2l6NHZ MIME-Version: 1.0 X-MS-Office365-Filtering-Correlation-Id: 050d08bc-8109-4169-270a-08d5ba642653 X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 7181d4b0-87d6-4f4e-ba33-0d3746212cec X-MS-Exchange-CrossTenant-Network-Message-Id: 050d08bc-8109-4169-270a-08d5ba642653 X-MS-Exchange-CrossTenant-rms-persistedconsumerorg: 7181d4b0-87d6-4f4e-ba33-0d3746212cec X-MS-Exchange-CrossTenant-originalarrivaltime: 15 May 2018 13:02:44.4805 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Internet X-MS-Exchange-CrossTenant-id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB5EUR03HT090 Subject: Re: Proposition of a BmEnumerateBootOptions() hook. X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.26 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 15 May 2018 13:02:48 -0000 Content-Language: de-DE Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 SGkgTGFzemxvLCB0aGFua3MgZm9yIHlvdXIgZmVlZGJhY2shDQpDb21tZW50cyBhcmUgaW5saW5l Lg0KDQpJIGFsc28gQ0MnZCBKb3JkYW4gYW5kIEFyZCBiZWNhdXNlIG9mIE9WTUYgcmVmZXJlbmNl cyBpbiB0aGUgdGhpcmQgY29tbWVudC4NClRoYW5rcyBpbiBhZHZhbmNlIGZvciB5b3VyIHRpbWUh DQoNCkkgaGF2ZSByZXdyaXR0ZW4gYSBmZXcgcGFydHMgbXVsdGlwbGUgdGltZXMsIHNvLCBpZiBz b21ldGhpbmcgZG9lc24ndCBtYWtlIHNlbnNlIChiZWNhdXNlIEkgZm9yZ290IHRvIHJld29yayBp dCBpbiB0aGUgY29udGV4dCksIHBsZWFzZSBmZWVsIGZyZWUgdG8gYXNrIGZvciBjbGFyaWZpY2F0 aW9uLg0KDQpCZXN0IHJlZ2FyZHMsDQpNYXJ2aW4NCg0KPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2Ut LS0tLQ0KPiBGcm9tOiBMYXN6bG8gRXJzZWsgPGxlcnNla0ByZWRoYXQuY29tPg0KPiBTZW50OiBU dWVzZGF5LCBNYXkgMTUsIDIwMTggMTA6MjIgQU0NCj4gVG86IE1hcnZpbiBIP3VzZXIgPE1hcnZp bi5IYWV1c2VyQG91dGxvb2suY29tPjsgZWRrMi0NCj4gZGV2ZWxAbGlzdHMuMDEub3JnDQo+IENj OiBlcmljLmRvbmdAaW50ZWwuY29tOyBzdGFyLnplbmdAaW50ZWwuY29tDQo+IFN1YmplY3Q6IFJl OiBbZWRrMl0gUHJvcG9zaXRpb24gb2YgYSBCbUVudW1lcmF0ZUJvb3RPcHRpb25zKCkgaG9vay4N Cj4gDQo+IE9uIDA1LzE0LzE4IDIxOjAwLCBNYXJ2aW4gSD91c2VyIHdyb3RlOg0KPiA+IEhleSBT dGFyLCBFcmljIGFuZCBldmVyeW9uZSBlbHNlLA0KPiA+DQo+ID4gSSBoYXZlIHNlZW4gdGhhdCBz b21lIHBsYXRmb3JtcyBhZGQgYSBCb290IE9wdGlvbiBmb3IgdGhlIFVFRkkgU2hlbGwNCj4gPiBp biAiUGxhdGZvcm1Cb290TWFuYWdlckJlZm9yZUNvbnNvbGUoKSIsIHdoaWNoIGlzIGNhbGxlZCBh cyBwYXJ0IG9mDQo+ID4gdGhlIHJlZ3VsYXIgYm9vdCBmbG93LiBUaGlzIGlzIHN1cmVseSBiZW5l ZmljaWFsIGZvciBkZXZlbG9wbWVudA0KPiA+IHBsYXRmb3JtcyB0aGF0IGFyZSBzdXBwb3NlZCB0 byBib290IHRvIFVFRkkgU2hlbGwgYnkgZGVmYXVsdCB3aGVuIG5vDQo+ID4gb3RoZXIgb3B0aW9u IGhhcyBiZWVuIHJlZ2lzdGVyZWQsDQo+IA0KPiAoU2lkZSBwb2ludDogSSBzdXJlIHdpc2ggKmFs bCogcGxhdGZvcm1zIGluY2x1ZGVkIHRoZSBVRUZJIHNoZWxsLCBvbmUgd2F5IG9yDQo+IGFub3Ro ZXIuIERlYnVnZ2luZyBpc3N1ZXMgaXMgdGhlICpkZWZhdWx0KiBzdGF0ZSBvZiBhbnkgY29tcHV0 aW5nIHN5c3RlbQ0KPiAoYWxsIHNvZnR3YXJlIGhhcyBidWdzKSwgc28gZGVidWcgdG9vbHMgbXVz dCBiZSBhIGZpcnN0IGNsYXNzIGNpdGl6ZW4uIEZvcnVtcw0KPiBhcmUgZnVsbCBvZiBlbmQtdXNl cnMgYXNraW5nIGZvciB0aGUgVUVGSSBzaGVsbCBvbiB0aGVpciBwaHlzaWNhbCBwbGF0Zm9ybXM7 DQo+IGZyZXF1ZW50bHkgYmVjYXVzZSB0aGVpciBwbGF0Zm9ybSBmaXJtd2FyZSBnaXZlcyB0aGVt IGFuIGV4dHJlbWVseSBsaW1pdGVkDQo+IGludGVyZmFjZSB0byBtYW5hZ2luZyBib290IGFuZCBk cml2ZXIgb3B0aW9ucywgYW5kIHRoZSBzaGVsbCBpcyBzZWVuIGFzIGEgd2F5DQo+IG91dCBvZiB0 aGF0LCBqdXN0aWZpZWRseS4pDQoNCkRlZmluaXRlbHksIHNhZGx5IGNhcGFjaXR5IGFuZCBPRU0g bWVudGFsaXR5IGFyZSBzdGlsbCBpc3N1ZXMuDQpNeSBwb2ludCBpcyBqdXN0IHRoYXQgYSBjb21t b24gdXNlciBzaG91bGQgbm90IGxhbmQgaW4gVUVGSSBTaGVsbCBieSBhY2NpZGVudCwgYnV0IGl0 IHNob3VsZCBiZSBleHBsaWNpdGx5IGxhdW5jaGVkLg0KDQo+IA0KPiA+IGhvd2V2ZXIgZm9yIHJl dGFpbCBwbGF0Zm9ybXMgaXQgdXN1YWxseSBtYWtlcyBtb3JlIHNlbnNlIHRvIHNob3cgdGhlDQo+ ID4gVUVGSSBCb290IE1lbnUsDQo+IA0KPiBOb3RlIHRoYXQgdGhpcyBpcyBhbHJlYWR5IHNvbHZl ZCBpbiBCZHNEeGUgKGlmIEkgdW5kZXJzdGFuZCB5b3VyIHBvaW50DQo+IGFueXdheSk7IHBsZWFz ZSByZWZlciB0byBjb21taXQgZDFkZTQ4N2RkMmU3ICgiTWRlTW9kdWxlUGtnL0Jkc0R4ZToNCj4g ZmFsbCBiYWNrIHRvIGEgQm9vdCBNYW5hZ2VyIE1lbnUgbG9vcCBiZWZvcmUgaGFuZ2luZyIsIDIw MTctMTEtMjcpLg0KDQpPaCBpbnRlcmVzdGluZywgdGhhbmtzISBUaGF0IG1pZ2h0IHJlc29sdmUg aXQsIGJ1dCBJIGRpZG4ndCBjaGVjayBpdCBvdXQgeWV0Lg0KDQo+IA0KPiA+IHdoaWNoIHJlbmRl cnMgYWRkaW5nIHRoZSBTaGVsbCBCb290IE9wdGlvbiBhcyBwYXJ0IG9mIHRoZSByZWd1bGFyIGJv b3QNCj4gPiBmbG93IG9ic29sZXRlIGFuZCBqdXN0IGFkZHMgdXAgdG8gdGhlIGJvb3QgdGltZS4g TWVhbndoaWxlLCB0aGVyZSBpcyBhDQo+ID4gZnVuY3Rpb24gaW4gdGhlIFVlZmlCb290TWFuYWdl ckxpYiwgIkJtRW51bWVyYXRlQm9vdE9wdGlvbnMoKSIsIHdoaWNoDQo+ID4gaXMgY2FsbGVkIHBy aW9yIHRvIGVudGVyaW5nIHRoZSBCb290IE1lbnUgYW5kLCBpbiBteSBvcGluaW9uLCB3b3VsZCBi ZQ0KPiA+IHRoZSBwZXJmZWN0IHBsYWNlIHRvIGludHJvZHVjZSBhbm90aGVyIFBsYXRmb3JtQm9v dE1hbmFnZXJMaWIgaG9vaywNCj4gPiB3aGljaCByZXRyaWV2ZXMgcGxhdGZvcm0tc3BlY2lmaWMg Ym9vdCBvcHRpb25zLCBzdWNoIGFzIGFuIFVFRkkgU2hlbGwNCj4gPiBvciBvdGhlciB1dGlsaXRp ZXMgbGlrZSBhIE1lbW9yeSBUZXN0IGFwcGxpY2F0aW9uLg0KPiANCj4gSG1tbSwgSSdtIG5vdCBz dXJlLiBUaGUgb25seSBmdW5jdGlvbiB0aGF0IGNhbGxzDQo+IEJtRW51bWVyYXRlQm9vdE9wdGlv bnMoKSBpcyBFZmlCb290TWFuYWdlclJlZnJlc2hBbGxCb290T3B0aW9uKCkuIFRoZQ0KPiBsYXR0 ZXIgaXMgYSBwdWJsaWMgVWVmaUJvb3RNYW5hZ2VyTGliIEFQSSB0aGF0IHNldmVyYWwNCj4gUGxh dGZvcm1Cb290TWFuYWdlckxpYiBpbnN0YW5jZXMgY2FsbCwgdXN1YWxseSBmcm9tDQo+IFBsYXRm b3JtQm9vdE1hbmFnZXJBZnRlckNvbnNvbGUoKS4gUGxhdGZvcm1Cb290TWFuYWdlckFmdGVyQ29u c29sZSgpDQoNCkkgaGF2ZSBtaXN1bmRlcnN0b29kIHRoZSBjdXJyZW50IGVkazIgbG9naWMgdG8g YmUgd2hhdCBJIGV4cGVjdGVkIChwYXJ0aWFsbHkpLCBob3dldmVyIEkgaGF2ZSBqdXN0IGRpc2Nv dmVyZWQgdGhhdCBzY2FubmVkIGJvb3Qgb3B0aW9ucyBhcmUgYWRkZWQgdG8gTlYgYW5kIHRvIEJv b3RPcmRlci4gRnVydGhlcm1vcmUsIEkgZGlkIG5vdCBtZW50aW9uIGFub3RoZXIgdXNhZ2UgY2Fz ZSBmb3IgdGhlIHByb3Bvc2VkIGhvb2sgYXMgSSB0aG91Z2h0IGl0IHdhcyBwcmFjdGljYWxseSBp cnJlbGV2YW50IHRvIHRoZSBlZGsyIGNvbW11bml0eTogU3VwcG9ydGluZyBBcHBsZSdzIGJsZXNz IGJvb3QgY29uY2VwdC4gKEZvciB0aG9zZSB3aG8gd29uZGVyLCB2aXJ0dWFsaXppbmcgbWFjT1Mg b24gQXBwbGUgaGFyZHdhcmUgaXMgcGVyZmVjdGx5IGxlZ2FsKS4gU28sIEkgd2lsbCBoYXZlIHRv IGV4cGxhaW4gYSBiaXQgbW9yZSBpbiBkZXRhaWwsIGluIHR3byBwYXJ0cy4NCg0KVUVGSSBCT09U DQoNCldoYXQgSSBpbWFnaW5lZCB0byBiZSB0aGUgYm9vdCBmbG93LCBieSB0aGUgc3BlY2lmaWNh dGlvbiBhbmQgYnkgbXkgcGVyc29uYWwgdGFzdGUsIGlzIHRoZSBmb2xsb3dpbmc6DQoxLiBCb290 IEJvb3RPcmRlcltdIG9uZS1ieS1vbmUuIFRoaXMgY29ubmVjdHMgdGhlIHJlZmVyZW5jZWQgZHJp dmUgYW5kIGF0dGVtcHRzIHRvIHN0YXJ0IHRoZSBzcGVjaWZpZWQgZmlsZS4gVGhpcyBpcyB0aGUg Y2FzZSB0b2RheS4NCjIuIEJvb3QgKlJlY292ZXJ5W10uIFRoaXMgaXMgdGhlIGNhc2UgdG9kYXku DQozLiBUaGVyZSBhcmUgdHdvIGFsdGVybmF0aXZlcyBoZXJlLCBiYXNlZCBvbiBwbGF0Zm9ybSBw cmVmZXJlbmNlLg0KMy4xLiBCb290IGVudW1lcmF0ZWQgZHJpdmVzICh2aWEgdGhlIGFsZ29yaXRo bSBkZWZpbmVkIGluIHRoZSBVRUZJIHNwZWMpLiBJIHRoaW5rIHRoaXMgaXMgbm90IHRoZSBjYXNl IHRvZGF5Lg0KMy4yLiBFbnVtZXJhdGUgdGhlIGRyaXZlcyAodmlhIHRoZSBhbGdvcml0aG0gZGVm aW5lZCBpbiB0aGUgVUVGSSBzcGVjKSBhbmQgc2hvdyB0aGVtIGluIEJvb3RNYW5hZ2VyTWVudUFw cC4gSSB0aGluayB0aGlzIGlzIGRvbmUgdG9kYXkgYW5kIGlzIHdoYXQgSSB3b3VsZCBwcmVmZXIg dG9vLg0KDQpXaGF0IEkgYmFzaWNhbGx5IGRvIG5vdCBhZ3JlZSB3aXRoIGluIHRoZSBsaXN0IGFi b3ZlIGFyZSB0d28gbnVhbmNlcy4NCjMuMSBhbmQgMy4yOiBJIHdvdWxkIGxpa2UgdG8gc2VlIHN1 cHBvcnQgZm9yIGEgcGxhdGZvcm0tZGVmaW5lZCBsb2dpYyBvZiBlbnVtZXJhdGluZyBpbiBhZGRp dGlvbiB0byB0aGUgb25lIGRlZmluZWQgaW4gdGhlIFVFRkkgc3BlYy4gVGhpcyBjYW4gYmUgdXNl ZCBmb3IgVUVGSSBTaGVsbCwgcGxhdGZvcm0gZGlhZ25vc3RpYyBhcHBzIGFuZCBBcHBsZSBibGVz cy4NCjMuMjogSSB0aGluayBhZGRpbmcgdGhlbSBhcyB2b2xhdGlsZSB2YXJpYWJsZXMgaXMgdGhl IGJldHRlciBhcHByb2FjaCwgZXhjZXB0IGZvciBwbGF0Zm9ybS1zcGVjaWZpYyBjb2RlLCB3aGlj aCBzaG91bGQgYmUgY2FwYWJsZSBvZiBhZGRpbmcgTlYgb3B0aW9ucy4gVGhlIHJlYXNvbmluZyBi ZWhpbmQgdGhpcyBpcyB0aGF0IHVzdWFsbHkgdGhlIGZvdW5kIHZvbHVtZXMgYXJlIHJlbW92YWJs ZSB2b2x1bWVzIChzdWNoIGFzIFVTQiBGbGFzaCBEcml2ZXMpIGFuZCB3aWxsIGJlIGNsZWFuZWQg YXdheSBzb29uIGFnYWluIGFueXdheS4gIkV4dHJhIHdpc2hlcyIgZm9yIGJvb3Qgb3B0aW9ucyBz aG91bGQgYmUgYWRkZWQgdmlhIHRoZSBVRUZJIFNldHVwIG1lbnUgb3IgVUVGSSBTaGVsbC4NClRo ZSByZWFzb24gd2h5IEkgc3RpbGwgd2lzaCBmb3IgcGxhdGZvcm0gY29kZSB0byBiZSBhYmxlIHRv IGFkZCBOViBvcHRpb25zIGFzIHBhcnQgb2YgZW51bWVyYXRpb24gaXMgdGhhdCBGVi1lbWJlZGRl ZCB0b29scyBhcmUgaW5kZWVkIE5WIChTaGVsbCBldGMuKSBhbmQgd2lsbCBub3QgbmVlZCB0byBi ZSBjbGVhbmVkIHVwLCBhcyB3ZWxsIGFzIHRoYXQgd2UncmUgbm90IGluIGFuIHV0b3BpYS4gU29t ZXRpbWVzIGFuIHVud2FudGVkIHB1cmdlIG9mIGJvb3Qgb3B0aW9uIGhhcHBlbnMgKCJDTU9TIHJl c2V0IiBvbiBib2FyZHMsIGV0YykgYW5kIGNvbnN1bWVyIHBsYXRmb3JtIHByb3ZpZGVzIGRvIG5v dCB3YW50IHRvIGxlYXZlIHRoZWlyIHVzZXJzIHdpdGggYSBjb25zdGFudCBib290IHRvIEJvb3RN ZW51IG9yIG5vIG9wdGlvbiBhdCBhbGwuIFBsYXRmb3JtIGNvZGUgb2Z0ZW4gZG9lcyBjdXJyZW50 bHkgYW5kIHByb2JhYmx5IHNob3VsZCBhZGQgYSBOViBXaW5kb3dzIGJvb3Qgb3B0aW9uIGluIHRo ZSBwcm9wb3NlZCBob29rICh0aGlzIHNob3VsZCBvZiBjb3Vyc2Ugbm90IGJlIHBhcnQgb2YgZWRr MikuIEZ1cnRoZXJtb3JlLCBpZiBhbiBPUyBib290IG9wdGlvbiBpcyByZW5kZXJlZCBpbnZhbGlk LCB1c3VhbGx5IHRoZXJlIGlzIG5vIE9zUmVjb3Zlcnkgb3B0aW9uIGF2YWlsYWJsZSBhcyBwcm9w b3NlZCBpbiB0aGUgc3BlY2lmaWNhdGlvbi4NCg0KQ29uc2lkZXJpbmcgdGhlIGJvb3QgcHJvdG9j b2wgSSBqdXN0IGRlc2NyaWJlZCwgSSB0aGluayB0aGF0IHRoZSBjYWxsIGluIFBsYXRmb3JtQm9v dE1hbmFnZXJBZnRlckNvbnNvbGUoKSBpcyBub3QgYSBnb29kIGlkZWEsIGJlY2F1c2UgaXQgcmVm cmVzaGVzIGJvb3Qgb3B0aW9ucyB1bmNvbmRpdGlvbmFsbHkuIFdoZW4gdGhlIGZpcnN0IGVsZW1l bnQgb2YgQm9vdE9yZGVyW10gY2FuIGJlIGJvb3RlZCwgdGhlcmUgaXMgbm8gcmVhc29uIHRvIGRv IHNvIGFuZCBpdCBjb3N0cyB0aW1lLiBTdWNoIGEgcmVmcmVzaCBtYWtlcyBzZW5zZSB3aGVuIGJv b3RpbmcgdGhlIGZpcnN0IG9wdGlvbiBmYWlscyB0aG91Z2ggKHRvIG1ha2Ugc3VyZSBpdCBpcyBw dXJnZWQgdG8gbm90IGRlbGF5IGJvb3QgYWdhaW4pLg0KVGhlIGZ1bmN0aW9uIGlzIGFsc28gY2Fs bGVkIGJ5IEJvb3RNYW5hZ2VyTWVudUFwcCBpbiB0aGUgZW50cnkgcG9pbnQsIHdoaWNoIG1ha2Vz IGEgbG90IG9mIHNlbnNlLiBJbiB0aGUgc2NlbmFyaW8gZGVzY3JpYmVkIGFib3ZlLCAic2Nhbm5l ZCIgYm9vdCBvcHRpb25zIGFyZSBhZGRlZCBvbmx5IHdoZW4gdGhlIE5WIG9uZXMgY2Fubm90IGJl IGJvb3RlZCBhbmQgTWVudUFwcCBpcyByZW5kZXJlZCBpbiBjb25zZXF1ZW5jZS4gSXQgYmFzaWNh bGx5IG1vdmVzIHRoZSBzY2FubmluZyBkZWxheSBmcm9tIHRoZSAiTlYgcGhhc2UiIHRvIHRoZSBm b2xsb3dpbmcgInNjYW5uaW5nIHBoYXNlIiwgd2hpY2ggaXMgbm90IHN1cHBvc2VkIHRvIGJlIGVu dGVyZWQgd2hlbiBib290aW5nIGEgInNhbmUiIHBsYXRmb3JtLg0KDQpBUFBMRSBCTEVTUw0KDQpU aGlzIG1pZ2h0IGJlIGludGVyZXN0aW5nIGZvciB0aGUgT1ZNRiBtYWludGFpbmVycy4NCkkgZGlk IG5vdCB3YW50IHRvIG1lbnRpb24gdGhpcyBjb25jZXB0IGF0IGZpcnN0LCBiZWNhdXNlIEkgZG9u J3QgdGhpbmsgdGhlcmUgaXMgYSB0ZXJyaWJsZSBodWdlIGRlbWFuZCBvciBpbnRlcmVzdCwgaG93 ZXZlciBJIHdvdWxkIGxpa2UgdG8gYmUgYWJsZSB0byBpbXBsZW1lbnQgQXBwbGUgYmxlc3Mgc3Vw cG9ydCBmb3IgT1ZNRiB3aXRob3V0IGhhdmluZyB0byBmb3JrIGFuZCBtb2RpZnkgZWRrMiBkcml2 ZXJzLg0KSSBkaWQgbm90IGNoZWNrIGFib3V0IGEgY29uY3JldGUgd2F5IG9mIGltcGxlbWVudGF0 aW9uLCBob3dldmVyIEkgd2lsbCBzaG9ydGx5IGRlc2NyaWJlIHdoYXQgbmVlZHMgdG8gYmUgaW52 b2x2ZWQuDQoNClNlY29uZGFyeSBwYXJ0aXRpb25zOiBTdXBwb3J0aW5nIHRoaXMgd2lsbCBiZSBl YXN5IHdoZW4gYWNjZXB0aW5nIHRoZSBob29rIHByb3Bvc2VkIGFib3ZlIGFuZCBjb25zaWRlcmlu ZyBteSBjb21tZW50cyByZWdhcmRpbmcgTlYgdnMgdm9sYXRpbGUgdmFyaWFibGVzLiBObyBib290 IG9wdGlvbnMgYXJlIHByb2FjdGl2ZWx5IGFkZGVkIGZvciB0aG9zZSBpbnN0YWxscyBhbmQgdGhl eSBhcmUgc2Nhbm5lZCBvbiBkZW1hbmQsIHdoaWNoIGNhbiBiZSBkb25lIGVudGlyZWx5IGluIHRo ZSBwcm9wb3NlZCBob29rIGZ1bmN0aW9uLg0KUHJpbWFyeSBwYXJ0aXRpb246IFRoZSBzby1jYWxs ZWQgIlN0YXJ0dXAgVm9sdW1lIiB1bmZvcnR1bmF0ZWx5IGlzIGEgYml0IHRyaWNraWVyLiBGb3Ig aXQsIGEgcHJhY3RpY2FsbHkgaW52YWxpZCBCb290IE9wdGlvbiBpcyBhZGRlZCwgd2hpY2ggaXMg YW4gZXhwYW5kZWQgZGV2aWNlIHBhdGggdG8gdGhlIHZvbHVtZSB0byBiZSBib290ZWQsIGhvd2V2 ZXIgd2l0aG91dCBoYXZpbmcgYSBGaWxlIERldmljZSBQYXRoIE5vZGUgYXBwZW5kZWQuIEkgaGFk IGhvcGVkIHRvIGJlIGFibGUgdG8gdXNlIEVGSV9MT0FEX0ZJTEVfUFJPVE9DT0wsIGhvd2V2ZXIg b2J2aW91c2x5IEVGSV9TSU1QTEVfRklMRV9TWVNURU1fUFJPVE9DT0wgd2lsbCBhdHRhY2ggdG8g dGhlIG1lbnRpb25lZCBEZXZpY2VQYXRoLCB3aGljaCBtZWFucyBMb2FkRmlsZSB3aWxsIG5vdCBi ZSBjYWxsZWQuIFN1cHBvcnQgZm9yIHRoaXMgd291bGQgbmVlZCB0byBiZSBkb25lIHZpYSBhIHBs YXRmb3JtLXNwZWNpZmljIGVycm9yIGhhbmRsZXIgZm9yIHdoZW4gdGhlIERldmljZVBhdGggaXMg ZGV0ZXJtaW5lZCB0byBiZSBpbnZhbGlkLCB3aGljaCBjYW4gdGhlbiBlaXRoZXIgZml4IGl0IHVw IGFuZCByZXR1cm4gc3VjY2VzcyBvciBmYWlsIGFzIHdlbGwuIEkgaGF2ZSBub3QgbG9va2VkIGlu dG8gdGhpcyBpbiBkZXRhaWwgYW5kIEkgY2FuIHVuZGVyc3RhbmQgaWYgeW91IGFyZSBub3QgaW50 ZXJlc3RlZCBpbiBzdXBwb3J0aW5nIHN1Y2ggYSBzY2VuYXJpby4gSG93ZXZlciBpZiB5b3UgZG8s IEkgd2lsbCBsb29rIGludG8gaXQgYXMgc29vbiBhcyBwb3NzaWJsZSBhbmQgcHJvYmFibHkgcGVy Zm9ybSBhIGZldyB0ZXN0cyBpbiBPVk1GLg0KDQo+IGlzIGFscmVhZHkgYSBQbGF0Zm9ybUJvb3RN YW5hZ2VyTGliIGhvb2ssIHNvIHRoZSBzdWdnZXN0aW9uIHdvdWxkIHJlc3VsdCBpbg0KPiBvbmUg aG9vayBjYWxsaW5nIGJhY2sgaW50byBhbm90aGVyIGhvb2ssIG9mIHRoZSBzYW1lIGxpYnJhcnkg aW5zdGFuY2U6DQo+IA0KPiAgIEJkc0VudHJ5KCkgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgW01kZU1vZHVsZVBrZy9Vbml2ZXJzYWwvQmRzRHhlL0Jkc0VudHJ5LmNdDQo+ICAgICBQbGF0 Zm9ybUJvb3RNYW5hZ2VyQWZ0ZXJDb25zb2xlKCkNCj4gW1NvbWVQbGF0Zm9ybVBrZy9MaWJyYXJ5 L1BsYXRmb3JtQm9vdE1hbmFnZXJMaWIvLi4uXQ0KPiAgICAgICBFZmlCb290TWFuYWdlclJlZnJl c2hBbGxCb290T3B0aW9uKCkNCj4gW01kZU1vZHVsZVBrZy9MaWJyYXJ5L1VlZmlCb290TWFuYWdl ckxpYi9CbUJvb3QuY10NCj4gICAgICAgICBCbUVudW1lcmF0ZUJvb3RPcHRpb25zKCkNCj4gW01k ZU1vZHVsZVBrZy9MaWJyYXJ5L1VlZmlCb290TWFuYWdlckxpYi9CbUJvb3QuY10NCj4gICAgICAg ICAgIFBsYXRmb3JtQm9vdE1hbmFnZXJBbm90aGVySG9vaygpDQo+IFtTb21lUGxhdGZvcm1Qa2cv TGlicmFyeS9QbGF0Zm9ybUJvb3RNYW5hZ2VyTGliLy4uLl0NCj4gDQo+IElmIEknbSBiZWluZyBo b25lc3QsIEknZCBsaWtlIHRvIGF2b2lkIHRoaXMgLS0gaWYgSSdtIGluDQo+IFBsYXRmb3JtQm9v dE1hbmFnZXJCZWZvcmVDb25zb2xlKCkgb3INCj4gUGxhdGZvcm1Cb290TWFuYWdlckFmdGVyQ29u c29sZSgpLA0KPiBJJ2QganVzdCBsaWtlIHRvIGRvIHdoYXRldmVyJ3MgbmVjZXNzYXJ5IGJ5IGRp cmVjdGx5IGNhbGxpbmcgZWl0aGVyIHB1YmxpYw0KPiBVZWZpQm9vdE1hbmFnZXJMaWIgQVBJcywg b3IgU1RBVElDIGZ1bmN0aW9ucyBmcm9tIHRoZSBzYW1lDQo+IFBsYXRmb3JtQm9vdE1hbmFnZXJM aWIgaW5zdGFuY2UgdGhhdCBJJ20gYWxyZWFkeSBpbnNpZGUgb2YuDQo+IA0KPiBOb3csIHdoYXQg SSBjb3VsZCBzZWUgYXMgdXNlZnVsIGlzIGEgcHVibGljIGhlbHBlciBmdW5jdGlvbiBpbg0KPiBV ZWZpQm9vdE1hbmFnZXJMaWIgdGhhdCByZWdpc3RlcnMgdGhlIHNoZWxsIGJvb3Qgb3B0aW9uLiBU aGlzIGZ1bmN0aW9uYWxpdHkgaXMNCj4gdXN1YWxseSBkdXBsaWNhdGVkIGFjcm9zcyBzZXZlcmFs IFBsYXRmb3JtQm9vdE1hbmFnZXJMaWIgaW5zdGFuY2VzLg0KDQpJJ20gbm90IHN1cmUgaWYgdGhp cyBpcyBuZWVkZWQsIGJ1dCBJIGd1ZXNzIGl0IGNvdWxkIGhlbHAgc2hhcmluZyBjb2RlLg0KDQo+ IA0KPiBJJ2xsIGFsc28gbWVudGlvbiBhbm90aGVyIGludGVyZmFjZSB0aGF0IHRoZSBlZGsyLXBs YXRmb3JtcyBwcm9qZWN0IHVzZXMNCj4gLS0gc2V2ZXJhbCBwbGF0Zm9ybXMgdGhlcmUgdXNlIHRo ZSBzYW1lIFBsYXRmb3JtQm9vdE1hbmFnZXJMaWIgaW5zdGFuY2UsDQo+IGFuZCB0aGV5IGFic3Ry YWN0IG91dCBqdXN0IHRoZSBkZWZhdWx0IHNldCBvZiBwbGF0Zm9ybSBib290IG9wdGlvbnMuDQo+ IFBsZWFzZSBzZWUNCj4gDQo+ICAgW1BBVENIIHY0IDAvMl0gYWRkIHBsYXRmb3JtIGJvb3QgbWFu YWdlciBwcm90b2NvbA0KPiAgIGh0dHA6Ly9taWQubWFpbC1hcmNoaXZlLmNvbS8xNTI0NDY0NTE0 LTE0NDU0LTEtZ2l0LXNlbmQtZW1haWwtDQo+IGhhb2ppYW4uemh1YW5nQGxpbmFyby5vcmcNCg0K SSdtIG5vdCBzdXJlIHdoZXRoZXIgYSBwcm90b2NvbCBpcyB0aGUgYmVzdCB3YXkgdG8gZ28sIGFz IEkgc3VwcG9zZSBvbmx5IEJEUyBpcyB1c2luZyBpdCBpbiB0aGUgZW5kLg0KDQo+IA0KPiBUaGFu a3MNCj4gTGFzemxvDQo=