From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) by mx.groups.io with SMTP id smtpd.web11.1778.1632385307100001438 for ; Thu, 23 Sep 2021 01:21:47 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@intel.onmicrosoft.com header.s=selector2-intel-onmicrosoft-com header.b=jYl8usnv; spf=pass (domain: intel.com, ip: 134.134.136.100, mailfrom: zhichao.gao@intel.com) X-IronPort-AV: E=McAfee;i="6200,9189,10115"; a="287460889" X-IronPort-AV: E=Sophos;i="5.85,316,1624345200"; d="scan'208";a="287460889" Received: from fmsmga008.fm.intel.com ([10.253.24.58]) by orsmga105.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 23 Sep 2021 01:21:46 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.85,316,1624345200"; d="scan'208";a="513772299" Received: from orsmsx605.amr.corp.intel.com ([10.22.229.18]) by fmsmga008.fm.intel.com with ESMTP; 23 Sep 2021 01:21:45 -0700 Received: from orsmsx601.amr.corp.intel.com (10.22.229.14) by ORSMSX605.amr.corp.intel.com (10.22.229.18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.12; Thu, 23 Sep 2021 01:21:45 -0700 Received: from orsedg603.ED.cps.intel.com (10.7.248.4) by orsmsx601.amr.corp.intel.com (10.22.229.14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.12 via Frontend Transport; Thu, 23 Sep 2021 01:21:45 -0700 Received: from NAM12-DM6-obe.outbound.protection.outlook.com (104.47.59.168) 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.12; Thu, 23 Sep 2021 01:21:44 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=jxhyB8MJKgatiiUkC8vqpsA7F5XjvC/YZ/PDK9hd3q/LMzRby8K/MG4MWcTR+uQWLZzuNSqu39wWr8Fp4pWostpV0J6mLq29Keyn65g2JYdQ2nMm1UdHOsHZ35E+mg9c0yRP89chEM+Y5sERxW1IhGVTKYaZjkggaSqn5dq1sdvR9Lmy83whDLqbQSmNqdxR/K6jiAGvio0vmo4HMIIBGeWp6oEoZedr8RAdKRSQcr161aAu2Gk6ZCSmHvrxtjVspWQ4aZBUcjJSdGhe92zSo7R+RgiBJxFXmwDCIK8iSbc17uGfBMS5tZ04oPW5+FXT+w68I6xpo3pQ1+9tXm1qZA== 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; bh=JjF3cEax9JqGMJKJx0KdvHASW+t7/GYtPnAu5LC5RMA=; b=VXl3HeoyQqWR7EB9fV7KCRrB7/pxAZYiuj+/m3UazUgKDDa1OPLbR6tgjMoGrF9sURL/v41mbt4PjB1++1bTk0/Mpyx1YkrtCFE5Op4rRxQKpUiTT0eOQFq2RhytwBEsdRhyiLbayYXHkAZVxpd0Pq3DBemyo3XjWirjEkdbG0oSCvzjMItgiBlLjL41Bl+9mFrxoJc/P8uJP6+Cd/lw1Q17z9mCkS8WsuFzlmcRNIXP2lamIuNBpgck0neYe5Sl0+zTQSTRAWzBtUuaeqUkqV9mP1quOfAK46szFDKR7r+R7MJend+0rcF97femRMqAg3aPeznzAsTtw6MZ7CV3Kw== 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=JjF3cEax9JqGMJKJx0KdvHASW+t7/GYtPnAu5LC5RMA=; b=jYl8usnv4V4pUiX6/P1gNUQ4fqdau5sNPwbbaKQcPfgoyv26ZA2R5ZpL1U/LAwXXqH4sw0pNcbmV94yMkSjJShF+mjjgvdHiCQP1tfUw5y+wXx3nkvoipBPGSTYQTUvm6WBNIxUQstw9gF9qZOKWEILqf318CEBYNH3uOltRcdo= Received: from DM4PR11MB5277.namprd11.prod.outlook.com (2603:10b6:5:388::23) by DM5PR1101MB2268.namprd11.prod.outlook.com (2603:10b6:4:53::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4544.13; Thu, 23 Sep 2021 08:21:43 +0000 Received: from DM4PR11MB5277.namprd11.prod.outlook.com ([fe80::fcab:50dd:7598:3b40]) by DM4PR11MB5277.namprd11.prod.outlook.com ([fe80::fcab:50dd:7598:3b40%4]) with mapi id 15.20.4544.014; Thu, 23 Sep 2021 08:21:43 +0000 From: "Gao, Zhichao" To: "Ni, Ray" , "devel@edk2.groups.io" , "gaoliming@byosoft.com.cn" CC: "Wang, Jian J" Subject: Re: [edk2-devel] [PATCH V2] MdeModulePkg/BootManagerMenuApp: Limit string drawing within one line Thread-Topic: [edk2-devel] [PATCH V2] MdeModulePkg/BootManagerMenuApp: Limit string drawing within one line Thread-Index: AQHXpUvsuh5reQxFl0O+Aioo+AtRhauveLWAgAAW4kCAAXPaAIAACY8AgABFUvCAAAfUoA== Date: Thu, 23 Sep 2021 08:21:43 +0000 Message-ID: References: <20210909072541.3069-1-zhichao.gao@intel.com> <00df01d7b027$05683ed0$1038bc70$@byosoft.com.cn> 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.6.200.16 authentication-results: intel.com; dkim=none (message not signed) header.d=none;intel.com; dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 936d20a5-27cf-4a23-2fb3-08d97e6b2d4a x-ms-traffictypediagnostic: DM5PR1101MB2268: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:3173; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: QWr0qFhe0XW4qBQwJ76KqvW0UuJI5uBuT8e+sNuj0mm4/cIukno3NrUMAZLjCTVRGzG8Ly0sPHF/5LpSU/Z52ZGszaeExhbtknE1aAcF2t5X7uO4ljXj7O0Hh51yQ7VPmKCPGD0W9NfBqtjAVlG69bJYc602+I879INds0JrveX+9UMdHhy2R35Q95zl8eazU/x+iL4synLU2AeK07y05L0tecsKMQgsu23cQpogPkQg6fDQSBWkG5I+AXTFlMNWO1LF4FULwyhj1+zbLr06slbJknizCaRP2Dshv4vryX48L71aVSBXSJkjgAI/DchoDGWxDgD6k5iYRpFmYrdq42oqtHhAvW7o7ShWA2x7SV3wKc+N/86lukYQVMjQfhqLzdGDfo5Gz1ssmQZr233zgnVbKfrstuLb0oGuCuFur9fQcnIzcaewqPCJKI9QqVJzqk3kw+9OTYcMwoFGn9fs971odAit0QC/ewb0HtS741tp/YyTIz43vCpCHAfCZIA4/p8mZJNTTTC1UfgiusDEJyDRi9hxlrzfpAFlxgdrrJPm2aBSVOC7MfcjG97ZPBaqLMKTtGqx9W9fSyg2TYwyecBmELJc5SSFqWWHs2HaDJoQ03IpTK6yjKKv28fs+SSBcyBNmZ310954yH/oyFFih/SXyPJVS30hdEEx95l68U+pR59wUdEZhYiphWvPKA8OI3X23B7l7AzvK83JP/S/EWrZrw9nw588b33TjQKySHAd4p3m58sOpMcoMLbG6/BKy4pOvGw3wgAXC9nk+4Z03o5srTUK3jshDJKmsTUqZI+vLfwwZtrJJ+knGVJAsgpZw8uzuoN0F32EZ5ScQUeW7w== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM4PR11MB5277.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(366004)(122000001)(66574015)(7696005)(33656002)(38070700005)(52536014)(5660300002)(508600001)(38100700002)(966005)(107886003)(71200400001)(66446008)(66556008)(110136005)(66476007)(53546011)(6506007)(64756008)(8936002)(55016002)(86362001)(2906002)(8676002)(186003)(83380400001)(9686003)(316002)(26005)(66946007)(76116006)(4326008);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?WnBFV2xLMTJBQ3l5ZjdSeGg2RzdhZEZ0UERDVTBkckFLRThadkFxd25iZExL?= =?utf-8?B?RlBBVHYyTnBHR09sNThMSkRabnJkTWV0ZkhXemkwdDl0U3pzWE03S25GSUMv?= =?utf-8?B?OXBuQ0Z0YzUzYlJtWXJleXczRlFRSS9PdXlZbnJzRTMvbDAzZE14MjR3NFAv?= =?utf-8?B?Y0JmbHBpcFREUjd3NGZValpLQjBjVU1jUFRGMjhFcDg5TXFJcnFqYmJGZUFz?= =?utf-8?B?bFRBU2VjZnZZelErNmx3c2lzOUIreHhqVTZrSFlmOExpeVBhSm93dzV3OU9S?= =?utf-8?B?bkdEK0lCcUg1VDlBZ290RTZiR2IyYk9xcTBnWEJmd29lR0tEWWhRU3dIam1t?= =?utf-8?B?SDhCZ0t1ZmRsbGlwSitUTTl3akFSTTZIckF0N1AyMTBqbEl0cUlBZ09uYWpY?= =?utf-8?B?cXRiMWxkQXdRaGZDY2FIb3BtUEFRc1lxM01ucWFqb0d5NDA3OGtzN0lvSFJy?= =?utf-8?B?cXJnTDVuYllpbGNjU1lVeFdHeUpMRmdwZFdMU3VmUlRIRDhzbytoMElCYXJS?= =?utf-8?B?SC9WdnVrb242Vm1ZcXozcnVteVBiR2hzYUkzN09WODg2NzVvS1plM05BY0Zn?= =?utf-8?B?THBJci95UGI1REh0Tkw3TVkvditkSWRTVWJaRll0Ykk3aFdFTDdVWDRFSUNG?= =?utf-8?B?UkJ2SG1UeWVPdWdqYjd5T25ONlp5bE1yZWlvbmFFRVhweVdxUU5JT0duajBJ?= =?utf-8?B?Q1V0QmZmUWRGdms5Z25YY1FyeW5VYjlUejdIMEFGRm05ZjdCNjlOQjRoUEZK?= =?utf-8?B?a2lBVW40TTY0UWpqbExpMmd5TzZKRGpVUFFnVzFoUFBaSGdNcEN1bkMxR213?= =?utf-8?B?Y1l0NFlmMzlNdXpseUF0Y0hsSjNtS1ZvcDJiRnhtYjlvM1FDSWtUL283WVBM?= =?utf-8?B?UGs2c2NEQi94Zldrd2tXbWVwOGFSZ3NtYldwQTFrb2w1RlRVT0czMCs1NUp0?= =?utf-8?B?cW5uRUdPdW1JYVZsVUZ5ZTZmM2ZvTWpNa0FLcUdLZ1htb29yTm5PVmtsZWM3?= =?utf-8?B?MEJqamlMaTJuRzRDcFd4cU9EQ3NHNGZWanNYM0gvSEE2b0tGZWladFVlVlhP?= =?utf-8?B?Vi82NTB4aUFNN1I4TEJJZWhXNUpIcU4wZ1M0TExtZW1ObTkxcnBlR3FoUkl6?= =?utf-8?B?M0RDbTFVakhZMEZKZmh3OUJuMU8wMlI3a2xEK0lKWkVsVEtUWnM2ckptaUts?= =?utf-8?B?cUhWOHRuWE1xU3dYKzI5QUlNREpBdTVVWFJGZitmc2x5MUZYNnlYWjZqZmlj?= =?utf-8?B?ZzVUUzBZSURZdzNaaGxpMU5GamFJbEVyZnJqaWQzaXVlQ0ZxdkVHVnNtVHFG?= =?utf-8?B?bTlwTXlJUktMVDRBSzhJc2MyczhVemxzVzQwMnlFdjhPRHowSHk5Zk0rV0hj?= =?utf-8?B?cjRqY1hGa2UrVnpna3FkZ3duUEUzbk54cHo0MTJ1U1BRc2FsN2taQi9jMi8r?= =?utf-8?B?bFpvWFdkTEd6ODd5dURvNklxd00vY3Z4NTg4TktOOVY5ajAxYzhXanlqUFVj?= =?utf-8?B?Y3NXVFRnalRJUmlEZ1l0azVXcmY0UEQ1elREaEdqVUxZTTlBdVdydWtoeUM2?= =?utf-8?B?UlFGc3F2RTlPZmJIRUNKVVZ5THNuazEwUFlLbnZLTmZGUnVuY1U3L2FUWXBZ?= =?utf-8?B?Z1ltMDZncllpc3IwNVBOSUxvTHM4SGorYVl4RzRSVnJTMm5zdkwxMDVhZTQy?= =?utf-8?B?U25nc0RtMUt1RlRTd0wzN3Rkd090SXNxVy9WTVFzMXdJTGZkc1J6S2M0UWJu?= =?utf-8?Q?ZmaMK33z1EfU+izM9OLKE0zs/OZBUDYprX5hsox?= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DM4PR11MB5277.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 936d20a5-27cf-4a23-2fb3-08d97e6b2d4a X-MS-Exchange-CrossTenant-originalarrivaltime: 23 Sep 2021 08:21:43.4589 (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: RLDEoSTtYgKEaMh8pIeXUYkLWK26wbXYSYHEYVODSiGr4+Z1Hq2iZVx+tukWzN4fBEV9+Gfa4xDF2xln4vQpKA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM5PR1101MB2268 Return-Path: zhichao.gao@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 SGkgUmF5LA0KVGhhdCBpcyBvbmUgd2F5IGZvciBwbGF0Zm9ybSB0byBjdXN0b21pemUgdGhlaXIg b3duIGJvb3Qgb3B0aW9uLiBJdCBjYW4gc29sdmUgdGhlIGlzc3VlLiBCdXQgbXkgcG9pbnQgaXMg aXQgc2hvdWxkIG5vdCBiZSB1c2VkIGluIHN1Y2ggY2FzZS4gSWYgRURLMiB3YW50IGEgZGVmYXVs dCBiZWhhdmlvciBvZiB0aGUgYm9vdCBvcHRpb24gZGVzY3JpcHRpb24sIHdlIHNob3VsZCBjaGFu Z2UgYXQgdGhlIHJvb3QgaW5zdGVhZCBvZiB1c2luZyB0aGUgY3VzdG9taXplIGludGVyZmFjZXMu DQoNClRoYW5rcywNClpoaWNoYW8NCg0KPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBG cm9tOiBOaSwgUmF5IDxyYXkubmlAaW50ZWwuY29tPg0KPiBTZW50OiBUaHVyc2RheSwgU2VwdGVt YmVyIDIzLCAyMDIxIDM6NDMgUE0NCj4gVG86IEdhbywgWmhpY2hhbyA8emhpY2hhby5nYW9AaW50 ZWwuY29tPjsgZGV2ZWxAZWRrMi5ncm91cHMuaW87DQo+IGdhb2xpbWluZ0BieW9zb2Z0LmNvbS5j bg0KPiBDYzogV2FuZywgSmlhbiBKIDxqaWFuLmoud2FuZ0BpbnRlbC5jb20+DQo+IFN1YmplY3Q6 IFJFOiBbZWRrMi1kZXZlbF0gW1BBVENIIFYyXQ0KPiBNZGVNb2R1bGVQa2cvQm9vdE1hbmFnZXJN ZW51QXBwOiBMaW1pdCBzdHJpbmcgZHJhd2luZyB3aXRoaW4gb25lIGxpbmUNCj4gDQo+IEFub3Ro ZXIgb3B0aW9uIGlzIHRvIHVzZSBFZmlCb290TWFuYWdlclJlZ2lzdGVyQm9vdERlc2NyaXB0aW9u SGFuZGxlcigpDQo+IHRvIGFsdGVyIHRoZSBib290IGRlc2NyaXB0aW9ucy4NCj4gDQo+ID4gLS0t LS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gPiBGcm9tOiBHYW8sIFpoaWNoYW8gPHpoaWNoYW8u Z2FvQGludGVsLmNvbT4NCj4gPiBTZW50OiBUaHVyc2RheSwgU2VwdGVtYmVyIDIzLCAyMDIxIDEx OjQ3IEFNDQo+ID4gVG86IGRldmVsQGVkazIuZ3JvdXBzLmlvOyBnYW9saW1pbmdAYnlvc29mdC5j b20uY247IE5pLCBSYXkNCj4gPiA8cmF5Lm5pQGludGVsLmNvbT4NCj4gPiBDYzogV2FuZywgSmlh biBKIDxqaWFuLmoud2FuZ0BpbnRlbC5jb20+DQo+ID4gU3ViamVjdDogUkU6IFtlZGsyLWRldmVs XSBbUEFUQ0ggVjJdDQo+IE1kZU1vZHVsZVBrZy9Cb290TWFuYWdlck1lbnVBcHA6DQo+ID4gTGlt aXQgc3RyaW5nIGRyYXdpbmcgd2l0aGluIG9uZSBsaW5lDQo+ID4NCj4gPiBIaSBMaW1pbmcsDQo+ ID4NCj4gPiBZZXMuIEJlY2F1c2UgdGhlIGRlc2lnbiBvZiB0aGUgQk0gYXBwIGlzIG5vdCBhaW1l ZCB0byBkaXNwbGF5IHRoZSBib290DQo+ID4gb3B0aW9uIG92ZXIgb25lIGxpbmUuIEFuZCBpdCBp cyBub3QgdXNpbmcgdGhlIHNldHVwIGJyb3dzZXIgZW5naW5lLg0KPiA+IFRoYXQgd291bGQgY2F1 c2UgdGhlIGRpZmZlcmVuY2UuDQo+ID4gSWYgd2Ugd2FudCB0byBtYWtlIHRoZW0gYWxpZ24sIHRo ZXJlIGFyZSB0d28gb3B0aW9uczoNCj4gPiAxLiBCTSBhcHAgdG8gdXNlIHRoZSBzZXR1cCBicm93 c2VyIGVuZ2luZSAyLiBhZGQgc2Nyb2xsIGJhciBsb2dpYyBmb3INCj4gPiB0aGUgYm9vdCBpdGVt DQo+ID4NCj4gPiBCb3RoIGFib3ZlIGNoYW5nZSBpcyBub3Qgc2ltcGxlIGFuZCBtYXkgY2F1c2Ug bmV3IGlzc3Vlcy4gSXQgd291bGQgYmUgYQ0KPiBuZXcgZGVzaWduIG90aGVyIHRoYW4gYSBidWcg Zml4Lg0KPiA+DQo+ID4gQW5vdGhlciBzb2x1dGlvbiBpcyB0aGUgcGF0Y2ggVjEgdG8gbGltaXQg dGhlIGJvb3Qgb3B0aW9uIGRlc2NyaXB0aW9uDQo+ID4gd2l0aGluIDcyIGNoYXJhY3RlcnMuIFJh eSBwb2ludGVkIG91dCBpdCBpcyBub3QgYSBnb29kIHNvbHV0aW9uLg0KPiA+DQo+ID4gQlRXLCBJ IHdvdWxkIHJlbW92ZSB0aGUgY2hhbmdlLWlkIGluIG5leHQgcGF0Y2guDQo+ID4NCj4gPiBUaGFu a3MsDQo+ID4gWmhpY2hhbw0KPiA+DQo+ID4gPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0K PiA+ID4gRnJvbTogZGV2ZWxAZWRrMi5ncm91cHMuaW8gPGRldmVsQGVkazIuZ3JvdXBzLmlvPiBP biBCZWhhbGYgT2YNCj4gPiA+IGdhb2xpbWluZw0KPiA+ID4gU2VudDogVGh1cnNkYXksIFNlcHRl bWJlciAyMywgMjAyMSAxMDo1OSBBTQ0KPiA+ID4gVG86IGRldmVsQGVkazIuZ3JvdXBzLmlvOyBH YW8sIFpoaWNoYW8gPHpoaWNoYW8uZ2FvQGludGVsLmNvbT47IE5pLA0KPiA+ID4gUmF5IDxyYXku bmlAaW50ZWwuY29tPg0KPiA+ID4gQ2M6IFdhbmcsIEppYW4gSiA8amlhbi5qLndhbmdAaW50ZWwu Y29tPg0KPiA+ID4gU3ViamVjdDog5Zue5aSNOiBbZWRrMi1kZXZlbF0gW1BBVENIIFYyXQ0KPiA+ ID4gTWRlTW9kdWxlUGtnL0Jvb3RNYW5hZ2VyTWVudUFwcDogTGltaXQgc3RyaW5nIGRyYXdpbmcg d2l0aGluIG9uZQ0KPiA+ID4gbGluZQ0KPiA+ID4NCj4gPiA+IFpoaWNoYW86DQo+ID4gPiAgIFdp dGggdGhpcyBjaGFuZ2UsIHRoZSBzYW1lIGJvb3Qgb3B0aW9uIHdpbGwgYmUgZGlzcGxheWVkDQo+ ID4gPiBkaWZmZXJlbnRseSBpbiBCb290TWFuYWdlckFwcCBhbmQgQm9vdE1hbmFnZXIgUGFnZS4g SXMgaXQgdGhlIGRlc2lnbmVkDQo+IGJlaGF2aW9yPw0KPiA+ID4NCj4gPiA+ICAgQmVzaWRlcywg cGxlYXNlIHJlbW92ZSBjaGFuZ2UtaWQgZnJvbSB0aGUgY29tbWl0IG1lc3NhZ2UuDQo+ID4gPg0K PiA+ID4gVGhhbmtzDQo+ID4gPiBMaW1pbmcNCj4gPiA+ID4gLS0tLS3pgq7ku7bljp/ku7YtLS0t LQ0KPiA+ID4gPiDlj5Hku7bkuro6IGRldmVsQGVkazIuZ3JvdXBzLmlvIDxkZXZlbEBlZGsyLmdy b3Vwcy5pbz4g5Luj6KGoIEdhbywNCj4gPiA+IFpoaWNoYW8NCj4gPiA+ID4g5Y+R6YCB5pe26Ze0 OiAyMDIx5bm0OeaciDIy5pelIDEyOjUwDQo+ID4gPiA+IOaUtuS7tuS6ujogTmksIFJheSA8cmF5 Lm5pQGludGVsLmNvbT47IGRldmVsQGVkazIuZ3JvdXBzLmlvOyBMaW1pbmcgR2FvDQo+ID4gPiA+ IDxnYW9saW1pbmdAYnlvc29mdC5jb20uY24+DQo+ID4gPiA+IOaKhOmAgTogV2FuZywgSmlhbiBK IDxqaWFuLmoud2FuZ0BpbnRlbC5jb20+DQo+ID4gPiA+IOS4u+mimDogUmU6IFtlZGsyLWRldmVs XSBbUEFUQ0ggVjJdDQo+ID4gPiBNZGVNb2R1bGVQa2cvQm9vdE1hbmFnZXJNZW51QXBwOg0KPiA+ ID4gPiBMaW1pdCBzdHJpbmcgZHJhd2luZyB3aXRoaW4gb25lIGxpbmUNCj4gPiA+ID4NCj4gPiA+ ID4gSGkgTGltaW5nLA0KPiA+ID4gPg0KPiA+ID4gPiBUaGUgc29sdXRpb24gaXMgZGlmZmVyZW50 IHdpdGggdGhlIGZpcnN0IHRpbWUgd2UgZGlzY3Vzc2VkIG9uIHRoZQ0KPiA+ID4gQnVnemlsbGEu IENhbg0KPiA+ID4gPiB5b3UgcmV2aWV3IGlmIGl0IGlzIE9LIHRvIHlvdT8NCj4gPiA+ID4NCj4g PiA+ID4gVGhhbmtzLA0KPiA+ID4gPiBaaGljaGFvDQo+ID4gPiA+DQo+ID4gPiA+ID4gLS0tLS1P cmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gPiA+ID4gPiBGcm9tOiBOaSwgUmF5IDxyYXkubmlAaW50 ZWwuY29tPg0KPiA+ID4gPiA+IFNlbnQ6IFdlZG5lc2RheSwgU2VwdGVtYmVyIDIyLCAyMDIxIDEx OjI4IEFNDQo+ID4gPiA+ID4gVG86IEdhbywgWmhpY2hhbyA8emhpY2hhby5nYW9AaW50ZWwuY29t PjsgZGV2ZWxAZWRrMi5ncm91cHMuaW8NCj4gPiA+ID4gPiBDYzogV2FuZywgSmlhbiBKIDxqaWFu Lmoud2FuZ0BpbnRlbC5jb20+OyBMaW1pbmcgR2FvDQo+ID4gPiA+ID4gPGdhb2xpbWluZ0BieW9z b2Z0LmNvbS5jbj4NCj4gPiA+ID4gPiBTdWJqZWN0OiBSRTogW1BBVENIIFYyXSBNZGVNb2R1bGVQ a2cvQm9vdE1hbmFnZXJNZW51QXBwOg0KPiBMaW1pdA0KPiA+ID4gPiA+IHN0cmluZyBkcmF3aW5n IHdpdGhpbiBvbmUgbGluZQ0KPiA+ID4gPiA+DQo+ID4gPiA+ID4gUmV2aWV3ZWQtYnk6IFJheSBO aSA8cmF5Lm5pQGludGVsLmNvbT4NCj4gPiA+ID4gPg0KPiA+ID4gPiA+IC0tLS0tT3JpZ2luYWwg TWVzc2FnZS0tLS0tDQo+ID4gPiA+ID4gRnJvbTogR2FvLCBaaGljaGFvIDx6aGljaGFvLmdhb0Bp bnRlbC5jb20+DQo+ID4gPiA+ID4gU2VudDogVGh1cnNkYXksIFNlcHRlbWJlciA5LCAyMDIxIDM6 MjYgUE0NCj4gPiA+ID4gPiBUbzogZGV2ZWxAZWRrMi5ncm91cHMuaW8NCj4gPiA+ID4gPiBDYzog V2FuZywgSmlhbiBKIDxqaWFuLmoud2FuZ0BpbnRlbC5jb20+OyBMaW1pbmcgR2FvDQo+ID4gPiA+ ID4gPGdhb2xpbWluZ0BieW9zb2Z0LmNvbS5jbj47IE5pLCBSYXkgPHJheS5uaUBpbnRlbC5jb20+ DQo+ID4gPiA+ID4gU3ViamVjdDogW1BBVENIIFYyXSBNZGVNb2R1bGVQa2cvQm9vdE1hbmFnZXJN ZW51QXBwOiBMaW1pdA0KPiA+ID4gc3RyaW5nDQo+ID4gPiA+ID4gZHJhd2luZyB3aXRoaW4gb25l IGxpbmUNCj4gPiA+ID4gPg0KPiA+ID4gPiA+IFJFRjogaHR0cHM6Ly9idWd6aWxsYS50aWFub2Nv cmUub3JnL3Nob3dfYnVnLmNnaT9pZD0zNTkwDQo+ID4gPiA+ID4NCj4gPiA+ID4gPiBMaW1pdCB0 aGUgZHJhdyBib3ggYWx3YXlzIHdpdGhpbiB0aGUgc2NyZWVuJ3MgY29sdW1uIGFuZCByb3cuDQo+ ID4gPiA+ID4gTGltaXQgdGhlIHN0cmluZyBkcmF3aW5nIHdpdGhpbiBvbmUgbGluZS4NCj4gPiA+ ID4gPg0KPiA+ID4gPiA+IENoYW5nZS1JZDogSWI3YmQ2M2NiMDdiMjM4NzVhMWU0ZjM3YWU4MGE0 MjJlMWQ1ZWQ1NGYNCj4gPiA+ID4gPiBDYzogSmlhbiBKIFdhbmcgPGppYW4uai53YW5nQGludGVs LmNvbT4NCj4gPiA+ID4gPiBDYzogTGltaW5nIEdhbyA8Z2FvbGltaW5nQGJ5b3NvZnQuY29tLmNu Pg0KPiA+ID4gPiA+IENjOiBSYXkgTmkgPHJheS5uaUBpbnRlbC5jb20+DQo+ID4gPiA+ID4gU2ln bmVkLW9mZi1ieTogWmhpY2hhbyBHYW8gPHpoaWNoYW8uZ2FvQGludGVsLmNvbT4NCj4gPiA+ID4g PiAtLS0NCj4gPiA+ID4gPg0KPiA+ID4gPiA+IFYyOg0KPiA+ID4gPiA+DQo+ID4gPiA+ID4gRHJv cCB0aGUgY2hhbmdlIGluIFVlZmlCb290TWFuYWdlckxpYiBpbiBWMS4NCj4gPiA+ID4gPg0KPiA+ ID4gPiA+IEFkZCB0aGUgbGltaXRhdGlvbiBpbiBCb290TWFuYWdlck1lbnVBcHAgaW5zdGVhZC4N Cj4gPiA+ID4gPg0KPiA+ID4gPiA+DQo+ID4gPiA+ID4gIC4uLi9Cb290TWFuYWdlck1lbnVBcHAv Qm9vdE1hbmFnZXJNZW51LmMgICAgICB8IDcyDQo+ID4gPiA+ID4gKysrKysrKysrKysrKysrKysr LQ0KPiA+ID4gPiA+ICAxIGZpbGUgY2hhbmdlZCwgNjkgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlv bnMoLSkNCj4gPiA+ID4gPg0KPiA+ID4gPiA+IGRpZmYgLS1naXQNCj4gPiA+ID4gPg0KPiA+ID4N Cj4gYS9NZGVNb2R1bGVQa2cvQXBwbGljYXRpb24vQm9vdE1hbmFnZXJNZW51QXBwL0Jvb3RNYW5h Z2VyTWVudS4NCj4gPiA+ID4gPiBjDQo+ID4gPiA+ID4NCj4gPiA+DQo+IGIvTWRlTW9kdWxlUGtn L0FwcGxpY2F0aW9uL0Jvb3RNYW5hZ2VyTWVudUFwcC9Cb290TWFuYWdlck1lbnUuDQo+ID4gPiA+ ID4gYw0KPiA+ID4gPiA+IGluZGV4IDllNzI5MDc0ZWMuLmQ0YmRlYmEwNzMgMTAwNjQ0DQo+ID4g PiA+ID4gLS0tDQo+ID4gPiA+ID4NCj4gPiA+DQo+IGEvTWRlTW9kdWxlUGtnL0FwcGxpY2F0aW9u L0Jvb3RNYW5hZ2VyTWVudUFwcC9Cb290TWFuYWdlck1lbnUuDQo+ID4gPiA+ID4gYw0KPiA+ID4g PiA+ICsrKw0KPiA+ID4gPiA+DQo+ID4gPg0KPiBiL01kZU1vZHVsZVBrZy9BcHBsaWNhdGlvbi9C b290TWFuYWdlck1lbnVBcHAvQm9vdE1hbmFnZXJNZW51Lg0KPiA+ID4gPiA+IGMNCj4gPiA+ID4g PiBAQCAtMSw3ICsxLDcgQEANCj4gPiA+ID4gPiAgLyoqIEBmaWxlDQo+ID4gPiA+ID4NCj4gPiA+ ID4gPiAgICBUaGUgYXBwbGljYXRpb24gdG8gc2hvdyB0aGUgQm9vdCBNYW5hZ2VyIE1lbnUuDQo+ ID4gPiA+ID4NCj4gPiA+ID4gPg0KPiA+ID4gPiA+DQo+ID4gPiA+ID4gLUNvcHlyaWdodCAoYykg MjAxMSAtIDIwMTgsIEludGVsIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzDQo+ID4gPiA+ID4gcmVz ZXJ2ZWQuPEJSPg0KPiA+ID4gPiA+DQo+ID4gPiA+ID4gK0NvcHlyaWdodCAoYykgMjAxMSAtIDIw MjEsIEludGVsIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzDQo+ID4gPiA+ID4gK3Jlc2VydmVkLjxC Uj4NCj4gPiA+ID4gPg0KPiA+ID4gPiA+ICBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTIt Q2xhdXNlLVBhdGVudA0KPiA+ID4gPiA+DQo+ID4gPiA+ID4NCj4gPiA+ID4gPg0KPiA+ID4gPiA+ ICAqKi8NCj4gPiA+ID4gPg0KPiA+ID4gPiA+IEBAIC00NSw5ICs0NSw1NiBAQCBQcmludFN0cmlu Z0F0ICgNCj4gPiA+ID4gPiAgICBJTiBDSEFSMTYgICAgKlN0cmluZw0KPiA+ID4gPiA+DQo+ID4g PiA+ID4gICAgKQ0KPiA+ID4gPiA+DQo+ID4gPiA+ID4gIHsNCj4gPiA+ID4gPg0KPiA+ID4gPiA+ ICsgIFVJTlROICAgICAgICAgU2NyZWVuV2lkdGg7DQo+ID4gPiA+ID4NCj4gPiA+ID4gPiArICBV SU5UTiAgICAgICAgIFNjcmVlblJvd3M7DQo+ID4gPiA+ID4NCj4gPiA+ID4gPiArICBDSEFSMTYg ICAgICAgICpUdXJuY2F0ZVN0cmluZzsNCj4gPiA+ID4gPg0KPiA+ID4gPiA+ICsgIEVGSV9TVEFU VVMgICAgU3RhdHVzOw0KPiA+ID4gPiA+DQo+ID4gPiA+ID4gKyAgVUlOVE4gICAgICAgICBTaG93 aW5nTGVuZ3RoOw0KPiA+ID4gPiA+DQo+ID4gPiA+ID4NCj4gPiA+ID4gPg0KPiA+ID4gPiA+ICAg IGdTVC0+Q29uT3V0LT5TZXRDdXJzb3JQb3NpdGlvbiAoZ1NULT5Db25PdXQsIENvbHVtbiwgUm93 KTsNCj4gPiA+ID4gPg0KPiA+ID4gPiA+IC0gIHJldHVybiBQcmludCAoTCIlcyIsIFN0cmluZyk7 DQo+ID4gPiA+ID4NCj4gPiA+ID4gPiArDQo+ID4gPiA+ID4NCj4gPiA+ID4gPiArICBnU1QtPkNv bk91dC0+UXVlcnlNb2RlICgNCj4gPiA+ID4gPg0KPiA+ID4gPiA+ICsgICAgICAgICAgICAgICAg IGdTVC0+Q29uT3V0LA0KPiA+ID4gPiA+DQo+ID4gPiA+ID4gKyAgICAgICAgICAgICAgICAgZ1NU LT5Db25PdXQtPk1vZGUtPk1vZGUsDQo+ID4gPiA+ID4NCj4gPiA+ID4gPiArICAgICAgICAgICAg ICAgICAmU2NyZWVuV2lkdGgsDQo+ID4gPiA+ID4NCj4gPiA+ID4gPiArICAgICAgICAgICAgICAg ICAmU2NyZWVuUm93cw0KPiA+ID4gPiA+DQo+ID4gPiA+ID4gKyAgICAgICAgICAgICAgICAgKTsN Cj4gPiA+ID4gPg0KPiA+ID4gPiA+ICsNCj4gPiA+ID4gPg0KPiA+ID4gPiA+ICsgIGlmIChDb2x1 bW4gPiAoU2NyZWVuV2lkdGggLSAxKSB8fCBSb3cgPiAoU2NyZWVuUm93cyAtIDEpKSB7DQo+ID4g PiA+ID4NCj4gPiA+ID4gPiArICAgIHJldHVybiAwOw0KPiA+ID4gPiA+DQo+ID4gPiA+ID4gKyAg fQ0KPiA+ID4gPiA+DQo+ID4gPiA+ID4gKw0KPiA+ID4gPiA+DQo+ID4gPiA+ID4gKyAgaWYgKChT dHJMZW4gKFN0cmluZykgKyBDb2x1bW4pID4gKFNjcmVlbldpZHRoIC0gMSkpIHsNCj4gPiA+ID4g Pg0KPiA+ID4gPiA+ICsgICAgLy8NCj4gPiA+ID4gPg0KPiA+ID4gPiA+ICsgICAgLy8gfCAgICAg IC0gU2NyZWVuV2lkdGggLSAgICAgICB8DQo+ID4gPiA+ID4NCj4gPiA+ID4gPiArICAgIC8vIC4u LkNvbHVtbi4uLi4uLi4uLi4uLi4uLi4uLi4uLg0KPiA+ID4gPiA+DQo+ID4gPiA+ID4gKyAgICAv LyBUdXJuY2F0ZVN0cmluZyBsZW5ndGggc2hvdWxkIGxlYXZlIG9uZSBjaGFyYWN0ZXIgZm9yDQo+ ID4gPiA+ID4gKyBkcmF3IGJveA0KPiA+ID4gYW5kDQo+ID4gPiA+ID4NCj4gPiA+ID4gPiArICAg IC8vIHJlcXVpcmUgb25lIGNoYXJhY3RlciBmb3Igc3RyaW5nIGVuZC4NCj4gPiA+ID4gPg0KPiA+ ID4gPiA+ICsgICAgLy8NCj4gPiA+ID4gPg0KPiA+ID4gPiA+ICsgICAgU2hvd2luZ0xlbmd0aCA9 IFNjcmVlbldpZHRoIC0gQ29sdW1uIC0gMTsNCj4gPiA+ID4gPg0KPiA+ID4gPiA+ICsgICAgVHVy bmNhdGVTdHJpbmcgPSBBbGxvY2F0ZVBvb2wgKChTaG93aW5nTGVuZ3RoICsgMSkgKiBzaXplb2YN Cj4gPiA+IChDSEFSMTYpKTsNCj4gPiA+ID4gPg0KPiA+ID4gPiA+ICsNCj4gPiA+ID4gPg0KPiA+ ID4gPiA+ICsgICAgaWYgKFR1cm5jYXRlU3RyaW5nID09IE5VTEwpIHsNCj4gPiA+ID4gPg0KPiA+ ID4gPiA+ICsgICAgICByZXR1cm4gMDsNCj4gPiA+ID4gPg0KPiA+ID4gPiA+ICsgICAgfQ0KPiA+ ID4gPiA+DQo+ID4gPiA+ID4gKw0KPiA+ID4gPiA+DQo+ID4gPiA+ID4gKyAgICBTdGF0dXMgPSBT dHJuQ3B5UyAoVHVybmNhdGVTdHJpbmcsIFNob3dpbmdMZW5ndGggKyAxLA0KPiA+ID4gPiA+ICsg U3RyaW5nLA0KPiA+ID4gPiA+IFNob3dpbmdMZW5ndGggLSAzKTsNCj4gPiA+ID4gPg0KPiA+ID4g PiA+ICsNCj4gPiA+ID4gPg0KPiA+ID4gPiA+ICsgICAgaWYgKEVGSV9FUlJPUiAoU3RhdHVzKSkg ew0KPiA+ID4gPiA+DQo+ID4gPiA+ID4gKyAgICAgIEZyZWVQb29sIChUdXJuY2F0ZVN0cmluZyk7 DQo+ID4gPiA+ID4NCj4gPiA+ID4gPiArICAgICAgcmV0dXJuIDA7DQo+ID4gPiA+ID4NCj4gPiA+ ID4gPiArICAgIH0NCj4gPiA+ID4gPg0KPiA+ID4gPiA+ICsNCj4gPiA+ID4gPg0KPiA+ID4gPiA+ ICsgICAgKihUdXJuY2F0ZVN0cmluZyArIFNob3dpbmdMZW5ndGggLSAzKSA9IEwnLic7DQo+ID4g PiA+ID4NCj4gPiA+ID4gPiArICAgICooVHVybmNhdGVTdHJpbmcgKyBTaG93aW5nTGVuZ3RoIC0g MikgPSBMJy4nOw0KPiA+ID4gPiA+DQo+ID4gPiA+ID4gKyAgICAqKFR1cm5jYXRlU3RyaW5nICsg U2hvd2luZ0xlbmd0aCAtIDEpID0gTCcuJzsNCj4gPiA+ID4gPg0KPiA+ID4gPiA+ICsgICAgKihU dXJuY2F0ZVN0cmluZyArIFNob3dpbmdMZW5ndGgpICAgICA9IEwnXDAnOw0KPiA+ID4gPiA+DQo+ ID4gPiA+ID4gKyAgICBTaG93aW5nTGVuZ3RoID0gUHJpbnQgKEwiJXMiLCBUdXJuY2F0ZVN0cmlu Zyk7DQo+ID4gPiA+ID4NCj4gPiA+ID4gPiArICAgIEZyZWVQb29sIChUdXJuY2F0ZVN0cmluZyk7 DQo+ID4gPiA+ID4NCj4gPiA+ID4gPiArICAgIHJldHVybiBTaG93aW5nTGVuZ3RoOw0KPiA+ID4g PiA+DQo+ID4gPiA+ID4gKyAgfSBlbHNlIHsNCj4gPiA+ID4gPg0KPiA+ID4gPiA+ICsgICAgcmV0 dXJuIFByaW50IChMIiVzIiwgU3RyaW5nKTsNCj4gPiA+ID4gPg0KPiA+ID4gPiA+ICsgIH0NCj4g PiA+ID4gPg0KPiA+ID4gPiA+ICB9DQo+ID4gPiA+ID4NCj4gPiA+ID4gPg0KPiA+ID4gPiA+DQo+ ID4gPiA+ID4gIC8qKg0KPiA+ID4gPiA+DQo+ID4gPiA+ID4gQEAgLTY4LDcgKzExNSwyMiBAQCBQ cmludENoYXJBdCAoDQo+ID4gPiA+ID4gICAgQ0hBUjE2ICAgICAgIENoYXJhY3Rlcg0KPiA+ID4g PiA+DQo+ID4gPiA+ID4gICAgKQ0KPiA+ID4gPiA+DQo+ID4gPiA+ID4gIHsNCj4gPiA+ID4gPg0K PiA+ID4gPiA+ICsgIFVJTlROICAgICAgICAgU2NyZWVuV2lkdGg7DQo+ID4gPiA+ID4NCj4gPiA+ ID4gPiArICBVSU5UTiAgICAgICAgIFNjcmVlblJvd3M7DQo+ID4gPiA+ID4NCj4gPiA+ID4gPiAr DQo+ID4gPiA+ID4NCj4gPiA+ID4gPiAgICBnU1QtPkNvbk91dC0+U2V0Q3Vyc29yUG9zaXRpb24g KGdTVC0+Q29uT3V0LCBDb2x1bW4sIFJvdyk7DQo+ID4gPiA+ID4NCj4gPiA+ID4gPiArDQo+ID4g PiA+ID4NCj4gPiA+ID4gPiArICBnU1QtPkNvbk91dC0+UXVlcnlNb2RlICgNCj4gPiA+ID4gPg0K PiA+ID4gPiA+ICsgICAgICAgICAgICAgICAgIGdTVC0+Q29uT3V0LA0KPiA+ID4gPiA+DQo+ID4g PiA+ID4gKyAgICAgICAgICAgICAgICAgZ1NULT5Db25PdXQtPk1vZGUtPk1vZGUsDQo+ID4gPiA+ ID4NCj4gPiA+ID4gPiArICAgICAgICAgICAgICAgICAmU2NyZWVuV2lkdGgsDQo+ID4gPiA+ID4N Cj4gPiA+ID4gPiArICAgICAgICAgICAgICAgICAmU2NyZWVuUm93cw0KPiA+ID4gPiA+DQo+ID4g PiA+ID4gKyAgICAgICAgICAgICAgICAgKTsNCj4gPiA+ID4gPg0KPiA+ID4gPiA+ICsNCj4gPiA+ ID4gPg0KPiA+ID4gPiA+ICsgIGlmIChDb2x1bW4gPiAoU2NyZWVuV2lkdGggLSAxKSB8fCBSb3cg PiAoU2NyZWVuUm93cyAtIDEpKSB7DQo+ID4gPiA+ID4NCj4gPiA+ID4gPiArICAgIHJldHVybiAw Ow0KPiA+ID4gPiA+DQo+ID4gPiA+ID4gKyAgfQ0KPiA+ID4gPiA+DQo+ID4gPiA+ID4gKw0KPiA+ ID4gPiA+DQo+ID4gPiA+ID4gICAgcmV0dXJuIFByaW50IChMIiVjIiwgQ2hhcmFjdGVyKTsNCj4g PiA+ID4gPg0KPiA+ID4gPiA+ICB9DQo+ID4gPiA+ID4NCj4gPiA+ID4gPg0KPiA+ID4gPiA+DQo+ ID4gPiA+ID4gQEAgLTE5Myw3ICsyNTUsMTEgQEAgSW5pdGlhbGl6ZUJvb3RNZW51U2NyZWVuICgN Cj4gPiA+ID4gPg0KPiA+ID4gPiA+DQo+ID4gPiA+ID4gICAgTWF4UHJpbnRSb3dzID0gUm93IC0g NjsNCj4gPiA+ID4gPg0KPiA+ID4gPiA+ICAgIFVuU2VsZWN0YWJsZUl0bWVzID0gVElUTEVfVE9L RU5fQ09VTlQgKyAyICsNCj4gPiA+ID4gSEVMUF9UT0tFTl9DT1VOVCArIDI7DQo+ID4gPiA+ID4N Cj4gPiA+ID4gPiAtICBCb290TWVudURhdGEtPk1lbnVTY3JlZW4uV2lkdGggPSBNYXhTdHJXaWR0 aCArIDg7DQo+ID4gPiA+ID4NCj4gPiA+ID4gPiArICBpZiAoTWF4U3RyV2lkdGggKyA4ID4gQ29s dW1uKSB7DQo+ID4gPiA+ID4NCj4gPiA+ID4gPiArICAgIEJvb3RNZW51RGF0YS0+TWVudVNjcmVl bi5XaWR0aCA9IENvbHVtbjsNCj4gPiA+ID4gPg0KPiA+ID4gPiA+ICsgIH0gZWxzZSB7DQo+ID4g PiA+ID4NCj4gPiA+ID4gPiArICAgIEJvb3RNZW51RGF0YS0+TWVudVNjcmVlbi5XaWR0aCA9IE1h eFN0cldpZHRoICsgODsNCj4gPiA+ID4gPg0KPiA+ID4gPiA+ICsgIH0NCj4gPiA+ID4gPg0KPiA+ ID4gPiA+ICAgIGlmIChCb290TWVudURhdGEtPkl0ZW1Db3VudCArIFVuU2VsZWN0YWJsZUl0bWVz ID4NCj4gPiA+ID4gPiBNYXhQcmludFJvd3MpIHsNCj4gPiA+ID4gPg0KPiA+ID4gPiA+ICAgICAg Qm9vdE1lbnVEYXRhLT5NZW51U2NyZWVuLkhlaWdodCA9IE1heFByaW50Um93czsNCj4gPiA+ID4g Pg0KPiA+ID4gPiA+ICAgICAgQm9vdE1lbnVEYXRhLT5TY3JvbGxCYXJDb250cm9sLkhhc1Njcm9s bEJhciA9IFRSVUU7DQo+ID4gPiA+ID4NCj4gPiA+ID4gPiAtLQ0KPiA+ID4gPiA+IDIuMzEuMS53 aW5kb3dzLjENCj4gPiA+ID4NCj4gPiA+ID4NCj4gPiA+ID4NCj4gPiA+ID4NCj4gPiA+ID4NCj4g PiA+DQo+ID4gPg0KPiA+ID4NCj4gPiA+DQo+ID4gPg0KPiA+ID4gDQo+ID4gPg0KDQo=