From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by mx.groups.io with SMTP id smtpd.web09.16509.1628730673446984237 for ; Wed, 11 Aug 2021 18:11:14 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@intel.onmicrosoft.com header.s=selector2-intel-onmicrosoft-com header.b=sf35HNcP; spf=pass (domain: intel.com, ip: 134.134.136.20, mailfrom: min.m.xu@intel.com) X-IronPort-AV: E=McAfee;i="6200,9189,10073"; a="202440421" X-IronPort-AV: E=Sophos;i="5.84,314,1620716400"; d="scan'208";a="202440421" Received: from orsmga002.jf.intel.com ([10.7.209.21]) by orsmga101.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 11 Aug 2021 18:11:10 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.84,314,1620716400"; d="scan'208";a="439889701" Received: from orsmsx603.amr.corp.intel.com ([10.22.229.16]) by orsmga002.jf.intel.com with ESMTP; 11 Aug 2021 18:11:09 -0700 Received: from orsmsx602.amr.corp.intel.com (10.22.229.15) by ORSMSX603.amr.corp.intel.com (10.22.229.16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.10; Wed, 11 Aug 2021 18:11:09 -0700 Received: from orsedg603.ED.cps.intel.com (10.7.248.4) 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.2242.10 via Frontend Transport; Wed, 11 Aug 2021 18:11:09 -0700 Received: from NAM11-DM6-obe.outbound.protection.outlook.com (104.47.57.171) by edgegateway.intel.com (134.134.137.100) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2242.10; Wed, 11 Aug 2021 18:11:09 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=oPh62MocavuGtRGve6zHRpQRUCksUYfyMX+OLpJ003VH7mu+rot8yrOxa4vf7P/FCGn9XPiXP+0kC+Btkn1qGJzzpwsg23aEtmJPBuMUMsZPC+F1EmYoyppR38jv52R7q1iyYAoqea0UmBjQzC43YC712SrkLIego4stHnXowuMguK5bfCJ5FWCSsDP8Rp9xXb4EArlEuZC0q/VyGMVBIYdOdhJrYtVatyz81Oh3jjlI9vdkkFOd3IOI/7WX1wn7fPZmABdbMWdzK/bAwd5V8ek+EnsM7G4t76LLbxQc15X7oCRsEaDmtKtMMv+F5NlGGeS6N1uUrXRiPD26z0fYDw== 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=1gMDrj9l4AB9hsePmXlML9sD74yK5BaCfdQkvj1D7SE=; b=MdBuNOgp7cSIHwXYvHWul4WjLBrm0IgJ4VKb9BbpSfPZZ8DQoO3hukowuFP5bRI15K49uI1LD88OMf6aCAms1dR7D5frWPoU7/ZsAiiELKNYoCc2wtDxlRsCI+E1vTZhTxB5hsYN1LH1r9BUAfY9KXeuqGpzjrjFv31zmIJNx3879Eg2sMoLw3n0ONMw/h0cKPXHgnemlgGqTM+KXVc1xmy1NmY9CukYRGyVZwsRGDWNiKfuPekBJFAZq4hC1wNk1EoEl12qGohR5gBajGCpJaqiBkZ2WT3q+Y8fTWt0TW8Vmf/k0QDwVPqx4rPmvzd4wy49LCFiKC1OC66OyTfdTQ== 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=1gMDrj9l4AB9hsePmXlML9sD74yK5BaCfdQkvj1D7SE=; b=sf35HNcPNjVnyKbf55jqiTWi8rpAesm6eTjSIoH7O1KSduLsZ2N5h537JmYd7KzDto8VN1WC/7r/1JicbJEc/i/IFYSYtHmBW8Y9zG9HxZa65S72EEXn7OLVK0zV/TUBtXyTZUP1VvDxt92/m2WNAXuq/AzrXLpqw4+O48tlJag= Received: from PH0PR11MB5064.namprd11.prod.outlook.com (2603:10b6:510:3b::15) by PH0PR11MB5047.namprd11.prod.outlook.com (2603:10b6:510:3c::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4394.21; Thu, 12 Aug 2021 01:11:08 +0000 Received: from PH0PR11MB5064.namprd11.prod.outlook.com ([fe80::c93:200e:5aeb:e11b]) by PH0PR11MB5064.namprd11.prod.outlook.com ([fe80::c93:200e:5aeb:e11b%3]) with mapi id 15.20.4415.014; Thu, 12 Aug 2021 01:11:08 +0000 From: "Min Xu" To: "devel@edk2.groups.io" , "mhaeuser@posteo.de" CC: "Yao, Jiewen" , "Wang, Jian J" , Vitaly Cheptsov Subject: Re: [edk2-devel] [PATCH v2 1/2] SecurityPkg/DxeImageVerificationLib: Fix certificate lookup algorithm Thread-Topic: [edk2-devel] [PATCH v2 1/2] SecurityPkg/DxeImageVerificationLib: Fix certificate lookup algorithm Thread-Index: AQHXjQQ3gsHF/tzerEiRKFRjClZ4wqtvE0CQ Date: Thu, 12 Aug 2021 01:11:08 +0000 Message-ID: References: In-Reply-To: Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-product: dlpe-windows dlp-reaction: no-action dlp-version: 11.5.1.3 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-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: ae6defa3-b863-4d2e-5903-08d95d2e10e9 x-ms-traffictypediagnostic: PH0PR11MB5047: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:9508; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: bnwM5GDBL1t69rY8/73i3dmibStNVnWTmin6mxbzR15qS43eR6aaZ55T2t5Y6kedysVS/6yBBFYEvrM/5HwVeYY2Lp9sLXibPP+bcP28wrjWarPbAm/4Vd3oPAqVu+a3Mmmi0oL9Tychr+QB1yxVRi4VMe82bTLvD6VrgVZquTGXCGPSqTmLkBvo1fKLmcnJMXBk48HokUwpog9L2OD/MU6yB6VoovPfQuokuV5/yBx74HpFgFej4OYEtvdbHvT1ZkixhFPKlWSaEMjfN70tz6pcfDmvRBflQ6an/TrP51PiwTRVeJ0qoL3tIWpAwK3/OHZwmITYCc4HMAoccfNz8VAw1+YmjP+cX7lgPv4RTdyNjAzPwVHS5Rj54thewTwWI6Oc38nxvkCU0jQG2YyYhrs4gX4MUbF+TCRXl7u0l3LDX4oHngWmMn0YtuW1nB8/FqhQKgVgl+3wqHr/Zuk+cIlqG7qvfXgTwB1CuMTh9w4AGWtX61kfQRBvTamoZXraU0DmGpyiOts5pRNuoY8WO2Hvc5UoKFkTIXQPuf/o05S4Cg/mIUPzB3Z5xMJykni73KF1/MzF/8ruoIE1Epn+mXlnh4yZ+AI6Q6PxnzUJURIV4Jnq7k6nNH9YDiRR/2Bm2sfj0CwgDssCdzhfQU33KXQiKrqQG+AkAF8WqhRU5EEPRtnab8nP7nuJtWAmlSyuEesjOMkkZsa7eSFP8heLjg== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PH0PR11MB5064.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(376002)(366004)(136003)(346002)(39860400002)(396003)(9686003)(55016002)(52536014)(316002)(54906003)(66574015)(66556008)(64756008)(66946007)(4326008)(66476007)(38070700005)(76116006)(38100700002)(66446008)(110136005)(86362001)(83380400001)(8676002)(8936002)(478600001)(33656002)(6506007)(186003)(122000001)(26005)(2906002)(5660300002)(7696005)(15650500001)(71200400001);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?Mmo4T254NHJzQzF4NjV5eWU3UFR1ZWYyY3NUUDhSbXU5MHZnOVNvZlBNRi9J?= =?utf-8?B?TEo5TXdyZStXc3U2ZWk3elpKWWU4RWJ0VEtPcStadllrbmtQNmd6QWlEaU1D?= =?utf-8?B?djdFc2FqM3piNjM0ZHN4QWpHS21CcEZhWG5RczFMcEhRL04wUlVTczRsekVk?= =?utf-8?B?L1RURVd3TkJRVXorTzlScW1KaTlYU0hTVGs3cmRlZklDT3NGSi9mNFE0aGZI?= =?utf-8?B?OENsQXJ0U1l5UW5EekN5NHZBM0hsai9KMFpOd0NrSTdOUmhkcVJVaTNtZ0ly?= =?utf-8?B?d2RzUzIzcHdsMnVJUERUamhLZUhxSy9zWlE2VjlXNEtmWTdxM2RrRkV4UWFy?= =?utf-8?B?TzN1STZuanpwOVN0ZWxlbGZyZzFsV0NQa01POXlVSzVpbmFRcFN4UkRLU29N?= =?utf-8?B?eGgyM292blVIY3J2V2tKNGJZbDhCWlNpWVdBODBmQjF3bXNINzBZbFFaRW4w?= =?utf-8?B?cHp3Q1FYQUdHQ05lSWY0NXpiVlFpNWd3d3g4MG9MMWV3R3VMM3NhTFJ0UkVm?= =?utf-8?B?a0FrSXV4Y3BMMWN0c1dIYnZPT0Q3eWQzc0VqTm9reFVNTmFBdFN2RGxaOWY0?= =?utf-8?B?Z1o3QUlsc0NWOGVkN3libFpXSmRVMG9aTUFvYTlqL3M3ZDB0MENqZ0NnZHZ6?= =?utf-8?B?djRkZGJZYjZGdG56OVMwNWpJR1ByZG9HaDZtSkVRUTlLeXdmdVZacXVpSzNO?= =?utf-8?B?cjVzc0VHU1RBdzcxTThSaGJTWkU3bUlUQmt0K3Q2SFE4ZTJrN1Z0Y1lsY0J5?= =?utf-8?B?cUFZMGREbVdBWExQaklVcmtMamo2VE1kUzY1Z2hiWkdGQmFHMElGZ2xHdUR6?= =?utf-8?B?MFN4LzZWcEtEd0Nrd2RsWG1XYlpQbUxOWlhnMW1LSGVUaDJKbnRidk5nbnEw?= =?utf-8?B?VDA2MC9lYWx5UG9ZQllsakVTaDcvS1BiWlZ4SVE3bWdZTEw0T3RLNXBSaSs1?= =?utf-8?B?NlYrZzJWMTdrVXRNR2JGdlhrWjcwWlgzVGlUTWo3WisreHBPeC9tWDRSZnl3?= =?utf-8?B?R1NWZFFMZ05mS095NkRwQlN4MStqTlp3cVIrSnZ6emlpMDhVMXFkblBaL1pB?= =?utf-8?B?Nkh5ZmRjK2VYMWZ3bkI4UlBNcUpWUmtOZXZ1RVBuM1dKa3EwRHlXZ2RzYmph?= =?utf-8?B?US96SEJFb0NuUlpRbWprVDZzSktISUhVVkpWSDdja3hpVkpOS282S1dudG80?= =?utf-8?B?bXJld3dnejJ2UFhVdldGUXdZRWNOZDZNVEtualIzTTBURk1tTzNkeEFIUk50?= =?utf-8?B?bzYxNnlYV2tOUUpoY2MzOGpTdmZEMU9kZEJhdVNtcTB4RTV6Y0dTdTUxeVVF?= =?utf-8?B?NmYvQm02c21QclVYUjBYNHdMbHh0ZlpUUUZ4TVVjc3djV0pXYW81cStuejU1?= =?utf-8?B?UUdwS0NQNktFVFMxNXRybWV5OE1LekFPOFBKTjhzbGlOdUROZ3F1SG0xbWlJ?= =?utf-8?B?WGxrTWxIZU5sYXlRdm5STDR4U25NS2c5a201dURKQ3g4R1BFN2hpalRSc2Jr?= =?utf-8?B?bE9FaVdjRVdkV0tzdEh3YUNIVUJsR3AyTjJwcGRsT0prcW5uZjhxR2J5ZTh4?= =?utf-8?B?dE5QNmJHWGxDbm9aNGR3ZUhHU3Y5Yy9VVFhpVnU2NEdYNVhXRStpbTZ3WkFj?= =?utf-8?B?NFRqaXBXNFQrTjRDQk5sV3djSmhPQnN1cVdqNWNKVzR4Y2Z4NUR1WDBLajZM?= =?utf-8?B?YjRteVlzSWZUR2gySldTK0tBYS9TRUhMWWZWZVIvMDdNYUJRSXJyaUVSSDNJ?= =?utf-8?Q?4m/g0hT6ptXhU4uwK2Kw90mjTXmaiyV9Af/b7uq?= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: PH0PR11MB5064.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: ae6defa3-b863-4d2e-5903-08d95d2e10e9 X-MS-Exchange-CrossTenant-originalarrivaltime: 12 Aug 2021 01:11:08.1809 (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: oi0qagWHl+VjxvzqrDy2XB/nTXCztFrcLi4OT+l3kLQnCSChurbalcQYEJF0pwRRS9idghARsbFcrIB9dhhy6A== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR11MB5047 Return-Path: min.m.xu@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 T24gQXVndXN0IDksIDIwMjEgNTo1MSBQTSwgTWFydmluICBIw6R1c2VyIHdyb3RlOg0KPiBUaGUg Y3VycmVudCBjZXJ0aWZpY2F0ZSBsb29rdXAgY29kZSBkb2VzIG5vdCBjaGVjayB0aGUgYm91bmRz IG9mIHRoZQ0KPiBhdXRoZW50aWNhdGlvbiBkYXRhIGJlZm9yZSBhY2Nlc3NpbmcgaXQuIEFib3J0 IGlmIHRoZSBoZWFkZXIgY2Fubm90IGZpdC4gQWxzbywNCj4gdGhlIGxvb2t1cCBjb2RlIGFib3J0 cyBvbmNlIHRoZSBhdXRoZXRpY2F0aW9uIGRhdGEgaXMgc21hbGxlciB0aGFuIGFuDQo+IGFsZ29y aXRobSdzIE9JRCBzaXplLiBBcyBPSURzIGFyZSB2YXJpYWJseS1zaXplZCwgdGhpcyBtYXkgY2F1 c2UgdW5leHBlY3RlZA0KPiBhdXRoZW50aWNhdGlvbiBmYWlsdXJlIGR1ZSB0byB0aGUgZWFybHkg ZXJyb3ItZXhpdC4NCj4gDQo+IEFkZGl0aW9uYWxseSBtb3ZlIHRoZSB0d28tYnl0ZSBlbmNvZGlu ZyBjaGVjayBvdXQgb2YgdGhlIGxvb3AgYXMgdGhlIGRhdGEgaXMNCj4gaW52YXJpYW50Lg0KPiAN Cj4gQ2M6IEppZXdlbiBZYW8gPGppZXdlbi55YW9AaW50ZWwuY29tPg0KPiBDYzogSmlhbiBKIFdh bmcgPGppYW4uai53YW5nQGludGVsLmNvbT4NCj4gQ2M6IE1pbiBYdSA8bWluLm0ueHVAaW50ZWwu Y29tPg0KPiBDYzogVml0YWx5IENoZXB0c292IDx2aXQ5Njk2QHByb3Rvbm1haWwuY29tPg0KPiBT aWduZWQtb2ZmLWJ5OiBNYXJ2aW4gSMOkdXNlciA8bWhhZXVzZXJAcG9zdGVvLmRlPg0KPiAtLS0N Cj4gIFNlY3VyaXR5UGtnL0xpYnJhcnkvRHhlSW1hZ2VWZXJpZmljYXRpb25MaWIvRHhlSW1hZ2VW ZXJpZmljYXRpb25MaWIuYyB8IDQzDQo+ICsrKysrKysrKysrLS0tLS0tLS0tDQo+ICAxIGZpbGUg Y2hhbmdlZCwgMjMgaW5zZXJ0aW9ucygrKSwgMjAgZGVsZXRpb25zKC0pDQo+IA0KPiBkaWZmIC0t Z2l0DQo+IGEvU2VjdXJpdHlQa2cvTGlicmFyeS9EeGVJbWFnZVZlcmlmaWNhdGlvbkxpYi9EeGVJ bWFnZVZlcmlmaWNhdGlvbkxpYi5jDQo+IGIvU2VjdXJpdHlQa2cvTGlicmFyeS9EeGVJbWFnZVZl cmlmaWNhdGlvbkxpYi9EeGVJbWFnZVZlcmlmaWNhdGlvbkxpYi5jDQo+IGluZGV4IGM0ODg2MWNk NjQ5Ni4uNjYxNTA5OWJhYWZiIDEwMDY0NA0KPiAtLS0gYS9TZWN1cml0eVBrZy9MaWJyYXJ5L0R4 ZUltYWdlVmVyaWZpY2F0aW9uTGliL0R4ZUltYWdlVmVyaWZpY2F0aW9uTGliLmMNCj4gKysrIGIv U2VjdXJpdHlQa2cvTGlicmFyeS9EeGVJbWFnZVZlcmlmaWNhdGlvbkxpYi9EeGVJbWFnZVZlcmlm aWNhdGlvbkxpDQo+ICsrKyBiLmMNCj4gQEAgLTYyNCwzMCArNjI0LDMzIEBAIEhhc2hQZUltYWdl QnlUeXBlICggIHsNCj4gDQo+ICAgIFVJTlQ4ICAgICAgICAgICAgICAgICAgICAgSW5kZXg7DQo+ IA0KPiANCj4gDQo+ICsgIGlmIChBdXRoRGF0YVNpemUgPCAzMikgew0KPiANCj4gKyAgICByZXR1 cm4gRUZJX1VOU1VQUE9SVEVEOw0KPiANCj4gKyAgfQ0KPiANCj4gKyAgLy8NCj4gDQo+ICsgIC8v IENoZWNrIHRoZSBIYXNoIGFsZ29yaXRobSBpbiBQRS9DT0ZGIEF1dGhlbnRpY29kZS4NCj4gDQo+ ICsgIC8vICAgIEFjY29yZGluZyB0byBQS0NTIzcgRGVmaW5pdGlvbjoNCj4gDQo+ICsgIC8vICAg ICAgICBTaWduZWREYXRhIDo6PSBTRVFVRU5DRSB7DQo+IA0KPiArICAvLyAgICAgICAgICAgIHZl cnNpb24gVmVyc2lvbiwNCj4gDQo+ICsgIC8vICAgICAgICAgICAgZGlnZXN0QWxnb3JpdGhtcyBE aWdlc3RBbGdvcml0aG1JZGVudGlmaWVycywNCj4gDQo+ICsgIC8vICAgICAgICAgICAgY29udGVu dEluZm8gQ29udGVudEluZm8sDQo+IA0KPiArICAvLyAgICAgICAgICAgIC4uLi4gfQ0KPiANCj4g KyAgLy8gICAgVGhlIERpZ2VzdEFsZ29yaXRobUlkZW50aWZpZXJzIGNhbiBiZSB1c2VkIHRvIGRl dGVybWluZSB0aGUgaGFzaA0KPiBhbGdvcml0aG0gaW4gUEUvQ09GRiBoYXNoaW5nDQo+IA0KPiAr ICAvLyAgICBUaGlzIGZpZWxkIGhhcyB0aGUgZml4ZWQgb2Zmc2V0ICgrMzIpIGluIGZpbmFsIEF1 dGhlbnRpY29kZSBBU04uMSBkYXRhLg0KPiANCj4gKyAgLy8gICAgRml4ZWQgb2Zmc2V0ICgrMzIp IGlzIGNhbGN1bGF0ZWQgYmFzZWQgb24gdHdvIGJ5dGVzIG9mIGxlbmd0aCBlbmNvZGluZy4NCj4g DQo+ICsgIC8vDQo+IA0KPiArICBpZiAoKCooQXV0aERhdGEgKyAxKSAmIFRXT19CWVRFX0VOQ09E RSkgIT0gVFdPX0JZVEVfRU5DT0RFKSB7DQo+IA0KPiArICAgIC8vDQo+IA0KPiArICAgIC8vIE9u bHkgc3VwcG9ydCB0d28gYnl0ZXMgb2YgTG9uZyBGb3JtIG9mIExlbmd0aCBFbmNvZGluZy4NCj4g DQo+ICsgICAgLy8NCj4gDQo+ICsgICAgcmV0dXJuIEVGSV9VTlNVUFBPUlRFRDsNCj4gDQo+ICsg IH0NCj4gDQo+ICsNCj4gDQo+ICAgIGZvciAoSW5kZXggPSAwOyBJbmRleCA8IEhBU0hBTEdfTUFY OyBJbmRleCsrKSB7DQo+IA0KPiAtICAgIC8vDQo+IA0KPiAtICAgIC8vIENoZWNrIHRoZSBIYXNo IGFsZ29yaXRobSBpbiBQRS9DT0ZGIEF1dGhlbnRpY29kZS4NCj4gDQo+IC0gICAgLy8gICAgQWNj b3JkaW5nIHRvIFBLQ1MjNyBEZWZpbml0aW9uOg0KPiANCj4gLSAgICAvLyAgICAgICAgU2lnbmVk RGF0YSA6Oj0gU0VRVUVOQ0Ugew0KPiANCj4gLSAgICAvLyAgICAgICAgICAgIHZlcnNpb24gVmVy c2lvbiwNCj4gDQo+IC0gICAgLy8gICAgICAgICAgICBkaWdlc3RBbGdvcml0aG1zIERpZ2VzdEFs Z29yaXRobUlkZW50aWZpZXJzLA0KPiANCj4gLSAgICAvLyAgICAgICAgICAgIGNvbnRlbnRJbmZv IENvbnRlbnRJbmZvLA0KPiANCj4gLSAgICAvLyAgICAgICAgICAgIC4uLi4gfQ0KPiANCj4gLSAg ICAvLyAgICBUaGUgRGlnZXN0QWxnb3JpdGhtSWRlbnRpZmllcnMgY2FuIGJlIHVzZWQgdG8gZGV0 ZXJtaW5lIHRoZSBoYXNoDQo+IGFsZ29yaXRobSBpbiBQRS9DT0ZGIGhhc2hpbmcNCj4gDQo+IC0g ICAgLy8gICAgVGhpcyBmaWVsZCBoYXMgdGhlIGZpeGVkIG9mZnNldCAoKzMyKSBpbiBmaW5hbCBB dXRoZW50aWNvZGUgQVNOLjEgZGF0YS4NCj4gDQo+IC0gICAgLy8gICAgRml4ZWQgb2Zmc2V0ICgr MzIpIGlzIGNhbGN1bGF0ZWQgYmFzZWQgb24gdHdvIGJ5dGVzIG9mIGxlbmd0aCBlbmNvZGluZy4N Cj4gDQo+IC0gICAgLy8NCj4gDQo+IC0gICAgaWYgKCgqKEF1dGhEYXRhICsgMSkgJiBUV09fQllU RV9FTkNPREUpICE9IFRXT19CWVRFX0VOQ09ERSkgew0KPiANCj4gLSAgICAgIC8vDQo+IA0KPiAt ICAgICAgLy8gT25seSBzdXBwb3J0IHR3byBieXRlcyBvZiBMb25nIEZvcm0gb2YgTGVuZ3RoIEVu Y29kaW5nLg0KPiANCj4gLSAgICAgIC8vDQo+IA0KPiArICAgIGlmIChBdXRoRGF0YVNpemUgLSAz MiA8IG1IYXNoW0luZGV4XS5PaWRMZW5ndGgpIHsNCj4gDQo+ICAgICAgICBjb250aW51ZTsNCj4g DQo+ICAgICAgfQ0KPiANCj4gDQo+IA0KPiAtICAgIGlmIChBdXRoRGF0YVNpemUgPCAzMiArIG1I YXNoW0luZGV4XS5PaWRMZW5ndGgpIHsNCj4gDQo+IC0gICAgICByZXR1cm4gRUZJX1VOU1VQUE9S VEVEOw0KPiANCj4gLSAgICB9DQo+IA0KPiAtDQo+IA0KPiAgICAgIGlmIChDb21wYXJlTWVtIChB dXRoRGF0YSArIDMyLCBtSGFzaFtJbmRleF0uT2lkVmFsdWUsDQo+IG1IYXNoW0luZGV4XS5PaWRM ZW5ndGgpID09IDApIHsNCj4gDQo+ICAgICAgICBicmVhazsNCj4gDQo+ICAgICAgfQ0KPiANCj4g LS0NCj4gMi4zMS4xDQpSZXZpZXdlZC1ieTogTWluIFh1IDxtaW4ubS54dUBpbnRlbC5jb20+DQoN ClRoYW5rcyENClh1LCBNaW4NCg==