From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga06.intel.com (mga06.intel.com [134.134.136.31]) by mx.groups.io with SMTP id smtpd.web11.79818.1629436893999075252 for ; Thu, 19 Aug 2021 22:21:34 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@intel.onmicrosoft.com header.s=selector2-intel-onmicrosoft-com header.b=GVARnDpC; spf=pass (domain: intel.com, ip: 134.134.136.31, mailfrom: hao.a.wu@intel.com) X-IronPort-AV: E=McAfee;i="6200,9189,10081"; a="277732909" X-IronPort-AV: E=Sophos;i="5.84,336,1620716400"; d="scan'208";a="277732909" Received: from fmsmga006.fm.intel.com ([10.253.24.20]) by orsmga104.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 19 Aug 2021 22:21:32 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.84,336,1620716400"; d="scan'208";a="679851677" Received: from fmsmsx604.amr.corp.intel.com ([10.18.126.84]) by fmsmga006.fm.intel.com with ESMTP; 19 Aug 2021 22:21:32 -0700 Received: from fmsmsx606.amr.corp.intel.com (10.18.126.86) by fmsmsx604.amr.corp.intel.com (10.18.126.84) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.10; Thu, 19 Aug 2021 22:21:31 -0700 Received: from FMSEDG603.ED.cps.intel.com (10.1.192.133) by fmsmsx606.amr.corp.intel.com (10.18.126.86) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.10 via Frontend Transport; Thu, 19 Aug 2021 22:21:31 -0700 Received: from NAM10-MW2-obe.outbound.protection.outlook.com (104.47.55.109) by edgegateway.intel.com (192.55.55.68) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2242.10; Thu, 19 Aug 2021 22:21:31 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=QwzjAjONGIEIZGjw5uF4Th4DksFBNVRMbupaH5o7OphTccup9aIvZMmqLB4QzuRPLh+mnLIgMOweqB9mpUdurJALkoHK5WPSr+4IqWDtyNzuRMiJBugqYdYnDfW7s/QXpPEe+PH42MjYMlpDYLkoK+EuLE5rmrvkwZXZMDHe8A7y7nxRZsAjaW36BML7YbqwQlFLDExsLfBg4NFQz/bHIgFDHWGLKFv16qmiMBHKCTvRkHqlzCcsuF3y2m7uQs/sYcPGIsqCoRUe6sZLIeI4vEbc//j/RZEPjkdZ99AWMS222/3w8H/Koe9SqLICtH2owuqXSO1Ujay1Wd4xhX6L3w== 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=X7NgzxlGbgElnStPVHNI6YJmPhG0q8AanhoJUeQ1fZY=; b=LEcMINwpbRqXE5At5Ah+XscpIc6gPnBwCVbQExe6byG55wSH6UtrahduXm7VgBQK61PwgOCK6wAAFw+g9Fmi0m8Xixuqwn0P560TKoJPWJm5ZBY+kTko7c3G8QCD/27TyHxhWHMJNCqG1LwI+qdwhHUN5a/zAOMfRUP8Ojw7ekmP6qQZyGfEUs5k9uVnF91l1SU+XC32vROfkaMKHGXNKZ3zF4sKaX8xTMPabfcCEB7UA8dJnwdtZvCaKl9XMiuZwNXp9SaOxSKYpJBci51YWJBFkaL8YmtbRNIOudAxkA8zG9EBIeYOSDD4w3cvBrq4dFK20Ke0bg+HieKc2P3eQA== 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=X7NgzxlGbgElnStPVHNI6YJmPhG0q8AanhoJUeQ1fZY=; b=GVARnDpCixDZJRi9QG+lURTNxAKXwCPY5MlUJfON3mUxqbVHLYC24GvqhSqEhz8bYMSJggaDwl8zcP/OwlXhG2GbGiwopl2kLthsV2rU0pllZvJbntsu8iFECr1WMLWo9vE0bHx8BC97D3291DHDkyRkMXEES/cohrYEXiOfQ1Y= Received: from BN8PR11MB3666.namprd11.prod.outlook.com (2603:10b6:408:8c::19) by BN6PR11MB3988.namprd11.prod.outlook.com (2603:10b6:405:7c::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.19; Fri, 20 Aug 2021 05:21:29 +0000 Received: from BN8PR11MB3666.namprd11.prod.outlook.com ([fe80::1d8:daf8:84de:1666]) by BN8PR11MB3666.namprd11.prod.outlook.com ([fe80::1d8:daf8:84de:1666%3]) with mapi id 15.20.4436.019; Fri, 20 Aug 2021 05:21:29 +0000 From: "Wu, Hao A" To: =?utf-8?B?TWFydmluIEjDpHVzZXI=?= , "devel@edk2.groups.io" CC: "Wang, Jian J" , "Ni, Ray" Subject: Re: [PATCH V2 1/3] MdeModulePkg: Rename IS_ALIGNED macros to avoid name collisions Thread-Topic: [PATCH V2 1/3] MdeModulePkg: Rename IS_ALIGNED macros to avoid name collisions Thread-Index: AQHXkhIVearJp3d4HkSvlmb/tXa7aat74gyg Date: Fri, 20 Aug 2021 05:21:29 +0000 Message-ID: References: <69c6e14c4fe944d380d38dcdb851a88f51631f86.1629057790.git.mhaeuser@posteo.de> In-Reply-To: <69c6e14c4fe944d380d38dcdb851a88f51631f86.1629057790.git.mhaeuser@posteo.de> Accept-Language: en-US, zh-CN X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-product: dlpe-windows dlp-reaction: no-action dlp-version: 11.5.1.3 authentication-results: posteo.de; dkim=none (message not signed) header.d=none;posteo.de; dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: ade07245-b215-46e0-6fa6-08d9639a5dae x-ms-traffictypediagnostic: BN6PR11MB3988: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:6790; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: oYLsxYlDqn+pqO+tzqPHVxxZLz0K3zjBq6QcNpigtokyzbL6V90+Zq692oyd4sdJprP5SiGBbf5DJahH2QaIDihEw72CXlogWtR3aH9PPJhCpIX17zx8fXykOgmgSddMdxfwbfQLUUUhRCJ1VAteuIVex9cI5pp98EjoVw8OK9b2fHHloSmv0RRzZ6cNYoLw9YqilwQCE/QRfa5c4PxnazMW1FbZdTLlTLrpancfmKNHQSTh3asWqAGgzsqury9DF501Osj1+7H5ZaFvhQs6dDDyXH7koCWVoNtTKjztb6gx01P/7aQbofndMUjbmoTxPbCChVj3fpLXO8JSuwJQA8u9GLG6YYyriLPN/PH5OhoSTc7B3haDbnG22B7jobwWe2Tvh49iy30nDGKF/aHCa93l9lSdh9hJq+fFL7amPvJDSa1ldupORevfh3bLUE8odWtudoCH+xRJDZnquOUvRfHAcGqpkNQYRItJx3LfxWXt7k5gW8aSJPY1TK954TrD78dGSF3kjdV3/DKORthnXVUmOYP9nuErk9hSPEVraFmtCIxBSZhbOy/xR4h1Pul3Z2VgkRSfbv7TrQO1Xs/XqQuS0rnZstzNbWa2K/W1wMLee4A7RStbuYKd/ka5vYVcmz+Ef25nEENgQC50aOnNbFZTAHkh2D1vEX9mTyEioDBASJdAw2Hs45wiZo+9r8FxHn8adZo9YnI8q/M0/riVQA== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BN8PR11MB3666.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(376002)(396003)(136003)(366004)(39860400002)(346002)(8676002)(54906003)(316002)(110136005)(2906002)(55016002)(66574015)(9686003)(83380400001)(71200400001)(76116006)(66946007)(64756008)(66556008)(66476007)(66446008)(4326008)(122000001)(107886003)(478600001)(52536014)(8936002)(7696005)(30864003)(38070700005)(33656002)(5660300002)(26005)(6506007)(53546011)(86362001)(38100700002)(186003);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?ek42RjZEZUp3V3d0ZXZyR3B4ZlFOdTYxUS9FZnF4RXUwMXg5ODdUTDhVQ0ty?= =?utf-8?B?ZHRoWm1Pb1lselFEemJsMGN1Wi95bkZWcDNFaEdKNmpncTN3dmJDNnR2SEFw?= =?utf-8?B?MHZGV3dCSFkyVE1zNHNpM1RZS0ZpYnBxYzV1bU5Cd3VWekJBK1FJaHkwSzl5?= =?utf-8?B?UFVyU1Rxdk8yNzRISTJmdHlYbUdRb3F5SFlLbXpFRUxQeDZ6NWVKNkY0VGY5?= =?utf-8?B?dUk2cTRvazVCTGNuTitGbGhHRmhhdnNzaytDY3ZkNjZURkpac2NEVWd3NDBJ?= =?utf-8?B?UEYydWt0ZmFBMTIzTThlVXlKbExaN3E1Rm5BcjFWZEtUNU5TeGNnY1k1UVJu?= =?utf-8?B?UWZFbDMwTWFwam5wZTUyU3VJczRubm9yK3lkNjhBUjVvUXB3dGRrY3NHYitn?= =?utf-8?B?NVRLWTluMkpXcFpVbTd4V2gxL1RZUkVCeXFaVFh1V0dzZzZ5L2hHRThaZEJG?= =?utf-8?B?cXhJQ2xYVHcxbU1hdFlCaFl4N0M2ZVdWcTFiSEhRYkgvZGJzY2U2NDlEVHlt?= =?utf-8?B?bHVOTW1jcmtTa3kxeVhYc1RGY0ZjaHNrL1E5S2x6T1NqcEFuazg2ekNmdnR4?= =?utf-8?B?cTNENEVLVFZNS3kxQXVGNHEvSDB2TExld2o0bHFQOGVkUDBkbStrbXVLbUZq?= =?utf-8?B?QTd4VEpZc29TbkdKNDU0SUh5Q3I2MXBVcnlydUVoamY1U2k5ZmpoMzJZcXpD?= =?utf-8?B?di8vSlJ3dHM0cWVtYVUyVzRRaUE4UnBjTUtUSC9RWmVCQVNwMEhnRTlxRDAv?= =?utf-8?B?enZlRTV6WUJoMFZlMGtPWHRPeTdTQkFrTFl0RytPWXBSYmkwUXc5ZEF3a2Ru?= =?utf-8?B?VXV4bE14RmcrTjl4NjMvOXFVTUU0R3VHczBmWVZVaVJVRHdOVktCYXo5cW9m?= =?utf-8?B?bmtMbEVYOGlURDBOQi9iRklyOThocVN0ZUZWTUVhQzNsc0oyV2txTXVFbVZQ?= =?utf-8?B?SEZ0a3dGem9PZzhnL1R2dXVUd2krNGpVdGlnZTIwRVBIQjhBWTdhZCsrRmtJ?= =?utf-8?B?N3F4b1NxeWJ5Q0tjWmVteUxhWTVZc2tCT1BDMzhUcEVkalFManhRU1R6MzUr?= =?utf-8?B?QXQvdEhrNWVWNEdLVEdhd1czbEZZWWFvKy9zNGVXVzJpQUpydGxzQnpwQWNw?= =?utf-8?B?bng3QXVQeU1OYmR3S1hCNllXOEJuanJTWkNXNGJJN2RiaTVPR0RnRlFlanQz?= =?utf-8?B?NnhnS0g3RTlsdDY2eVZZZ3FpY2lLR3RGL1JWVm1OdG02cHEvUUJPbFUvNWFy?= =?utf-8?B?aSs3L200TlBMUjI1UGc2WEhCL0JtalJmRjUxdjNySTVYM0ZVZEd5UUZWWGs0?= =?utf-8?B?R3U0bGRCSlFtQ1V2b0MrK1ptbDlZTS9RWmpqdXpZUUkxcVk0S3RRZ3QrcHQw?= =?utf-8?B?UVcyR29hM0l4VTNQc2NpY3lrYUMwYXk4enZ6ejBlNGlWNExwVm0vbU95YkE0?= =?utf-8?B?QmVBa1hkWjVuVEI1Tit5RjN3Tm4xVm1qTldFYStHOG5RQXNIQVlhcE5uMUYw?= =?utf-8?B?RDhTbkRNYXJEb1dxNHovNUo1ck9NYzJ4VWs4S3J2aFBYZjJiZW1rN1ZCNzVs?= =?utf-8?B?WDRFaHdqZnprYlFnVFJvMzNSanZuK1ZYbUJxNUdIRXZNSzRydEFzdVRqb1Fm?= =?utf-8?B?UThsb0xQaDJGWTVydit2RTBTdGlhTUlEQlB6Mi9tK2VtZVp5SDBDeVpMTERK?= =?utf-8?B?NVUzNHhTMnZZemo0Rjcxb1ZhdzFlcVBiL3dyNVJPNm1PZml6a3JpSGRMUGVG?= =?utf-8?Q?yYFRtiFjMd6tuReLNDbrs3Dc5XiFPB9wbGxUcuc?= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: BN8PR11MB3666.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: ade07245-b215-46e0-6fa6-08d9639a5dae X-MS-Exchange-CrossTenant-originalarrivaltime: 20 Aug 2021 05:21:29.6342 (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: ln7ngSEyffSN3SvFV0HpI/xZg+/2zGjax/qbVG6aexyphccsovy1sWVzEn/v9D7CkYF63t40z4Q24envEW1DOA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN6PR11MB3988 Return-Path: hao.a.wu@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBNYXJ2aW4gSMOkdXNlciA8bWhh ZXVzZXJAcG9zdGVvLmRlPg0KPiBTZW50OiBNb25kYXksIEF1Z3VzdCAxNiwgMjAyMSA0OjEyIEFN DQo+IFRvOiBkZXZlbEBlZGsyLmdyb3Vwcy5pbw0KPiBDYzogV2FuZywgSmlhbiBKIDxqaWFuLmou d2FuZ0BpbnRlbC5jb20+OyBXdSwgSGFvIEEgPGhhby5hLnd1QGludGVsLmNvbT47DQo+IE5pLCBS YXkgPHJheS5uaUBpbnRlbC5jb20+DQo+IFN1YmplY3Q6IFtQQVRDSCBWMiAxLzNdIE1kZU1vZHVs ZVBrZzogUmVuYW1lIElTX0FMSUdORUQgbWFjcm9zIHRvDQo+IGF2b2lkIG5hbWUgY29sbGlzaW9u cw0KPiANCj4gVGhpcyBwYXRjaCBpcyBhIHByZXBhcmF0aW9uIGZvciB0aGUgcGF0Y2hlcyB0aGF0 IGZvbGxvdy4gVGhlIHN1YnNlcXVlbnQNCj4gcGF0Y2hlcyB3aWxsIGludHJvZHVjZSBhbmQgaW50 ZWdyYXRlIG5ldyBhbGlnbm1lbnQtcmVsYXRlZCBtYWNyb3MsIHdoaWNoDQo+IGNvbGxpZGUgd2l0 aCBleGlzdGluZyBkZWZpbml0aW9ucyBpbiBNZGVNb2R1bGVQa2cuDQo+IFRlbXBvcmFyaWx5IHJl bmFtZSB0aGVtIHRvIGF2b2lkIGJ1aWxkIGZhaWx1cmUsIHRpbGwgdGhleSBjYW4gYmUgc3Vic3Rp dHV0ZWQNCj4gd2l0aCB0aGUgbmV3LCBzaGFyZWQgZGVmaW5pdGlvbnMuDQoNCg0KUmV2aWV3ZWQt Ynk6IEhhbyBBIFd1IDxoYW8uYS53dUBpbnRlbC5jb20+DQoNCkJlc3QgUmVnYXJkcywNCkhhbyBX dQ0KDQoNCj4gDQo+IENjOiBKaWFuIEogV2FuZyA8amlhbi5qLndhbmdAaW50ZWwuY29tPg0KPiBD YzogSGFvIEEgV3UgPGhhby5hLnd1QGludGVsLmNvbT4NCj4gQ2M6IFJheSBOaSA8cmF5Lm5pQGlu dGVsLmNvbT4NCj4gU2lnbmVkLW9mZi1ieTogTWFydmluIEjDpHVzZXIgPG1oYWV1c2VyQHBvc3Rl by5kZT4NCj4gLS0tDQo+ICBNZGVNb2R1bGVQa2cvQnVzL0F0YS9BaGNpUGVpL0FoY2lNb2RlLmMg ICAgICAgICAgICAgICAgICB8ICAyICstDQo+ICBNZGVNb2R1bGVQa2cvQnVzL0F0YS9BaGNpUGVp L0FoY2lQZWlQYXNzVGhydS5jICAgICAgICAgICB8ICA2ICsrLS0NCj4gIE1kZU1vZHVsZVBrZy9C dXMvQXRhL0F0YUF0YXBpUGFzc1RocnUvQXRhQXRhcGlQYXNzVGhydS5jIHwgMTIgKysrLS0tLQ0K PiAgTWRlTW9kdWxlUGtnL0J1cy9BdGEvQXRhQnVzRHhlL0F0YVBhc3NUaHJ1RXhlY3V0ZS5jICAg ICAgfCAgMiArLQ0KPiAgTWRlTW9kdWxlUGtnL0J1cy9TY3NpL1Njc2lEaXNrRHhlL1Njc2lEaXNr LmMgICAgICAgICAgICAgfCAgNCArLS0NCj4gIE1kZU1vZHVsZVBrZy9CdXMvVWZzL1Vmc1Bhc3NU aHJ1RHhlL1Vmc1Bhc3NUaHJ1LmMgICAgICAgIHwgIDYgKystLQ0KPiAgTWRlTW9kdWxlUGtnL1Vu aXZlcnNhbC9FYmNEeGUvRWJjRXhlY3V0ZS5jICAgICAgICAgICAgICAgfCAzNiArKysrKysrKysr LS0tDQo+IC0tLS0tLS0NCj4gIE1kZU1vZHVsZVBrZy9CdXMvQXRhL0FoY2lQZWkvQWhjaVBlaS5o ICAgICAgICAgICAgICAgICAgIHwgIDIgKy0NCj4gIE1kZU1vZHVsZVBrZy9CdXMvQXRhL0F0YUF0 YXBpUGFzc1RocnUvQXRhQXRhcGlQYXNzVGhydS5oIHwgIDIgKy0NCj4gIE1kZU1vZHVsZVBrZy9C dXMvQXRhL0F0YUJ1c0R4ZS9BdGFCdXMuaCAgICAgICAgICAgICAgICAgIHwgIDIgKy0NCj4gIE1k ZU1vZHVsZVBrZy9CdXMvU2NzaS9TY3NpRGlza0R4ZS9TY3NpRGlzay5oICAgICAgICAgICAgIHwg IDIgKy0NCj4gIE1kZU1vZHVsZVBrZy9CdXMvVWZzL1Vmc0Jsb2NrSW9QZWkvVWZzQmxvY2tJb1Bl aS5oICAgICAgIHwgIDIgKy0NCj4gIE1kZU1vZHVsZVBrZy9CdXMvVWZzL1Vmc1Bhc3NUaHJ1RHhl L1Vmc1Bhc3NUaHJ1LmggICAgICAgIHwgIDIgKy0NCj4gIE1kZU1vZHVsZVBrZy9Vbml2ZXJzYWwv RWJjRHhlL0ViY0V4ZWN1dGUuaCAgICAgICAgICAgICAgIHwgIDIgKy0NCj4gIDE0IGZpbGVzIGNo YW5nZWQsIDQxIGluc2VydGlvbnMoKyksIDQxIGRlbGV0aW9ucygtKQ0KPiANCj4gZGlmZiAtLWdp dCBhL01kZU1vZHVsZVBrZy9CdXMvQXRhL0FoY2lQZWkvQWhjaU1vZGUuYw0KPiBiL01kZU1vZHVs ZVBrZy9CdXMvQXRhL0FoY2lQZWkvQWhjaU1vZGUuYw0KPiBpbmRleCA3NjM2YWQyN2M4NmMuLmNj MzJiNWRlNGY5OCAxMDA2NDQNCj4gLS0tIGEvTWRlTW9kdWxlUGtnL0J1cy9BdGEvQWhjaVBlaS9B aGNpTW9kZS5jDQo+ICsrKyBiL01kZU1vZHVsZVBrZy9CdXMvQXRhL0FoY2lQZWkvQWhjaU1vZGUu Yw0KPiBAQCAtMjA5OSw3ICsyMDk5LDcgQEAgVHJ1c3RUcmFuc2ZlckF0YURldmljZSAoDQo+ICAg ICAgLy8gQVRBIFBhc3NUaHJ1IFBQSS4gICAgIC8vICAgICBpZiAoKEF0YVBhc3NUaHJ1LT5Nb2Rl LT5Jb0FsaWduID4gMSkgJiYtDQo+ICAgICAgICAgIUlTX0FMSUdORUQgKEJ1ZmZlciwgQXRhUGFz c1RocnUtPk1vZGUtPklvQWxpZ24pKQ0KPiB7KyAgICAgICAgIUFERFJFU1NfSVNfQUxJR05FRF8g KEJ1ZmZlciwgQXRhUGFzc1RocnUtPk1vZGUtPklvQWxpZ24pKQ0KPiB7ICAgICAgIE5ld0J1ZmZl ciA9IEFsbG9jYXRlQWxpZ25lZFBhZ2VzICggICAgICAgICAgICAgICAgICAgICBFRklfU0laRV9U T19QQUdFUw0KPiAoVHJhbnNmZXJMZW5ndGgpLCAgICAgICAgICAgICAgICAgICAgIEF0YVBhc3NU aHJ1LT5Nb2RlLT5Jb0FsaWduZGlmZiAtLWdpdA0KPiBhL01kZU1vZHVsZVBrZy9CdXMvQXRhL0Fo Y2lQZWkvQWhjaVBlaVBhc3NUaHJ1LmMNCj4gYi9NZGVNb2R1bGVQa2cvQnVzL0F0YS9BaGNpUGVp L0FoY2lQZWlQYXNzVGhydS5jDQo+IGluZGV4IDE5MWI3OGM4ODU0MS4uMzFkZWQ4YTMxMDQ4IDEw MDY0NA0KPiAtLS0gYS9NZGVNb2R1bGVQa2cvQnVzL0F0YS9BaGNpUGVpL0FoY2lQZWlQYXNzVGhy dS5jDQo+ICsrKyBiL01kZU1vZHVsZVBrZy9CdXMvQXRhL0FoY2lQZWkvQWhjaVBlaVBhc3NUaHJ1 LmMNCj4gQEAgLTE5MywxNSArMTkzLDE1IEBAIEFoY2lBdGFQYXNzVGhydVBhc3NUaHJ1ICgNCj4g ICAgfSAgICBJb0FsaWduID0gVGhpcy0+TW9kZS0+SW9BbGlnbjstICBpZiAoKElvQWxpZ24gPiAx KSAmJiAhSVNfQUxJR05FRA0KPiAoUGFja2V0LT5JbkRhdGFCdWZmZXIsIElvQWxpZ24pKSB7KyAg aWYgKChJb0FsaWduID4gMSkNCj4gJiYgIUFERFJFU1NfSVNfQUxJR05FRF8gKFBhY2tldC0+SW5E YXRhQnVmZmVyLCBJb0FsaWduKSkgeyAgICAgcmV0dXJuDQo+IEVGSV9JTlZBTElEX1BBUkFNRVRF UjsgICB9IC0gIGlmICgoSW9BbGlnbiA+IDEpICYmICFJU19BTElHTkVEIChQYWNrZXQtDQo+ID5P dXREYXRhQnVmZmVyLCBJb0FsaWduKSkgeysgIGlmICgoSW9BbGlnbiA+IDEpICYmICFBRERSRVNT X0lTX0FMSUdORURfDQo+IChQYWNrZXQtPk91dERhdGFCdWZmZXIsIElvQWxpZ24pKSB7ICAgICBy ZXR1cm4gRUZJX0lOVkFMSURfUEFSQU1FVEVSOyAgIH0gLQ0KPiBpZiAoKElvQWxpZ24gPiAxKSAm JiAhSVNfQUxJR05FRCAoUGFja2V0LT5Bc2IsIElvQWxpZ24pKSB7KyAgaWYgKChJb0FsaWduID4g MSkNCj4gJiYgIUFERFJFU1NfSVNfQUxJR05FRF8gKFBhY2tldC0+QXNiLCBJb0FsaWduKSkgeyAg ICAgcmV0dXJuDQo+IEVGSV9JTlZBTElEX1BBUkFNRVRFUjsgICB9IGRpZmYgLS1naXQNCj4gYS9N ZGVNb2R1bGVQa2cvQnVzL0F0YS9BdGFBdGFwaVBhc3NUaHJ1L0F0YUF0YXBpUGFzc1RocnUuYw0K PiBiL01kZU1vZHVsZVBrZy9CdXMvQXRhL0F0YUF0YXBpUGFzc1RocnUvQXRhQXRhcGlQYXNzVGhy dS5jDQo+IGluZGV4IDg2ZmU5ZDk1NGZkYi4uY2Y5OGZjZGFmMzQ0IDEwMDY0NA0KPiAtLS0gYS9N ZGVNb2R1bGVQa2cvQnVzL0F0YS9BdGFBdGFwaVBhc3NUaHJ1L0F0YUF0YXBpUGFzc1RocnUuYw0K PiArKysgYi9NZGVNb2R1bGVQa2cvQnVzL0F0YS9BdGFBdGFwaVBhc3NUaHJ1L0F0YUF0YXBpUGFz c1RocnUuYw0KPiBAQCAtMTI4MSwxNSArMTI4MSwxNSBAQCBBdGFQYXNzVGhydVBhc3NUaHJ1ICgN Cj4gICAgIEluc3RhbmNlID0gQVRBX1BBU1NfVEhSVV9QUklWQVRFX0RBVEFfRlJPTV9USElTIChU aGlzKTsgLSAgaWYNCj4gKChUaGlzLT5Nb2RlLT5Jb0FsaWduID4gMSkgJiYgIUlTX0FMSUdORUQo UGFja2V0LT5JbkRhdGFCdWZmZXIsIFRoaXMtDQo+ID5Nb2RlLT5Jb0FsaWduKSkgeysgIGlmICgo VGhpcy0+TW9kZS0+SW9BbGlnbiA+IDEpDQo+ICYmICFBRERSRVNTX0lTX0FMSUdORURfKFBhY2tl dC0+SW5EYXRhQnVmZmVyLCBUaGlzLT5Nb2RlLT5Jb0FsaWduKSkNCj4geyAgICAgcmV0dXJuIEVG SV9JTlZBTElEX1BBUkFNRVRFUjsgICB9IC0gIGlmICgoVGhpcy0+TW9kZS0+SW9BbGlnbiA+IDEp DQo+ICYmICFJU19BTElHTkVEKFBhY2tldC0+T3V0RGF0YUJ1ZmZlciwgVGhpcy0+TW9kZS0+SW9B bGlnbikpIHsrICBpZiAoKFRoaXMtDQo+ID5Nb2RlLT5Jb0FsaWduID4gMSkgJiYgIUFERFJFU1Nf SVNfQUxJR05FRF8oUGFja2V0LT5PdXREYXRhQnVmZmVyLA0KPiBUaGlzLT5Nb2RlLT5Jb0FsaWdu KSkgeyAgICAgcmV0dXJuIEVGSV9JTlZBTElEX1BBUkFNRVRFUjsgICB9IC0gIGlmICgoVGhpcy0N Cj4gPk1vZGUtPklvQWxpZ24gPiAxKSAmJiAhSVNfQUxJR05FRChQYWNrZXQtPkFzYiwgVGhpcy0+ TW9kZS0+SW9BbGlnbikpDQo+IHsrICBpZiAoKFRoaXMtPk1vZGUtPklvQWxpZ24gPiAxKSAmJiAh QUREUkVTU19JU19BTElHTkVEXyhQYWNrZXQtPkFzYiwNCj4gVGhpcy0+TW9kZS0+SW9BbGlnbikp IHsgICAgIHJldHVybiBFRklfSU5WQUxJRF9QQVJBTUVURVI7ICAgfSBAQCAtMjAxMiwxNQ0KPiAr MjAxMiwxNSBAQCBFeHRTY3NpUGFzc1RocnVQYXNzVGhydSAoDQo+ICAgICAgcmV0dXJuIEVGSV9J TlZBTElEX1BBUkFNRVRFUjsgICB9IC0gIGlmICgoVGhpcy0+TW9kZS0+SW9BbGlnbiA+IDEpDQo+ ICYmICFJU19BTElHTkVEKFBhY2tldC0+SW5EYXRhQnVmZmVyLCBUaGlzLT5Nb2RlLT5Jb0FsaWdu KSkgeysgIGlmICgoVGhpcy0NCj4gPk1vZGUtPklvQWxpZ24gPiAxKSAmJiAhQUREUkVTU19JU19B TElHTkVEXyhQYWNrZXQtPkluRGF0YUJ1ZmZlciwNCj4gVGhpcy0+TW9kZS0+SW9BbGlnbikpIHsg ICAgIHJldHVybiBFRklfSU5WQUxJRF9QQVJBTUVURVI7ICAgfSAtICBpZiAoKFRoaXMtDQo+ID5N b2RlLT5Jb0FsaWduID4gMSkgJiYgIUlTX0FMSUdORUQoUGFja2V0LT5PdXREYXRhQnVmZmVyLCBU aGlzLT5Nb2RlLQ0KPiA+SW9BbGlnbikpIHsrICBpZiAoKFRoaXMtPk1vZGUtPklvQWxpZ24gPiAx KQ0KPiAmJiAhQUREUkVTU19JU19BTElHTkVEXyhQYWNrZXQtPk91dERhdGFCdWZmZXIsIFRoaXMt Pk1vZGUtPklvQWxpZ24pKQ0KPiB7ICAgICByZXR1cm4gRUZJX0lOVkFMSURfUEFSQU1FVEVSOyAg IH0gLSAgaWYgKChUaGlzLT5Nb2RlLT5Jb0FsaWduID4gMSkNCj4gJiYgIUlTX0FMSUdORUQoUGFj a2V0LT5TZW5zZURhdGEsIFRoaXMtPk1vZGUtPklvQWxpZ24pKSB7KyAgaWYgKChUaGlzLQ0KPiA+ TW9kZS0+SW9BbGlnbiA+IDEpICYmICFBRERSRVNTX0lTX0FMSUdORURfKFBhY2tldC0+U2Vuc2VE YXRhLCBUaGlzLQ0KPiA+TW9kZS0+SW9BbGlnbikpIHsgICAgIHJldHVybiBFRklfSU5WQUxJRF9Q QVJBTUVURVI7ICAgfSBkaWZmIC0tZ2l0DQo+IGEvTWRlTW9kdWxlUGtnL0J1cy9BdGEvQXRhQnVz RHhlL0F0YVBhc3NUaHJ1RXhlY3V0ZS5jDQo+IGIvTWRlTW9kdWxlUGtnL0J1cy9BdGEvQXRhQnVz RHhlL0F0YVBhc3NUaHJ1RXhlY3V0ZS5jDQo+IGluZGV4IDc5MDI2YTRhOTU3ZC4uNDcxZmI2YTdm NDQwIDEwMDY0NA0KPiAtLS0gYS9NZGVNb2R1bGVQa2cvQnVzL0F0YS9BdGFCdXNEeGUvQXRhUGFz c1RocnVFeGVjdXRlLmMNCj4gKysrIGIvTWRlTW9kdWxlUGtnL0J1cy9BdGEvQXRhQnVzRHhlL0F0 YVBhc3NUaHJ1RXhlY3V0ZS5jDQo+IEBAIC0xMDM2LDcgKzEwMzYsNyBAQCBUcnVzdFRyYW5zZmVy QXRhRGV2aWNlICgNCj4gICAgICAvLyBDaGVjayB0aGUgYWxpZ25tZW50IG9mIHRoZSBpbmNvbWlu ZyBidWZmZXIgcHJpb3IgdG8gaW52b2tpbmcgdW5kZXJseWluZw0KPiBBVEEgUGFzc1RocnUgICAg IC8vICAgICBBdGFQYXNzVGhydSA9IEF0YURldmljZS0+QXRhQnVzRHJpdmVyRGF0YS0NCj4gPkF0 YVBhc3NUaHJ1Oy0gICAgaWYgKChBdGFQYXNzVGhydS0+TW9kZS0+SW9BbGlnbiA+IDEpICYmICFJ U19BTElHTkVEDQo+IChCdWZmZXIsIEF0YVBhc3NUaHJ1LT5Nb2RlLT5Jb0FsaWduKSkgeysgICAg aWYgKChBdGFQYXNzVGhydS0+TW9kZS0NCj4gPklvQWxpZ24gPiAxKSAmJiAhQUREUkVTU19JU19B TElHTkVEXyAoQnVmZmVyLCBBdGFQYXNzVGhydS0+TW9kZS0NCj4gPklvQWxpZ24pKSB7ICAgICAg IE5ld0J1ZmZlciA9IEFsbG9jYXRlQWxpZ25lZEJ1ZmZlciAoQXRhRGV2aWNlLA0KPiBUcmFuc2Zl ckxlbmd0aCk7ICAgICAgIGlmIChOZXdCdWZmZXIgPT0gTlVMTCkgeyAgICAgICAgIHJldHVybg0K PiBFRklfT1VUX09GX1JFU09VUkNFUztkaWZmIC0tZ2l0DQo+IGEvTWRlTW9kdWxlUGtnL0J1cy9T Y3NpL1Njc2lEaXNrRHhlL1Njc2lEaXNrLmMNCj4gYi9NZGVNb2R1bGVQa2cvQnVzL1Njc2kvU2Nz aURpc2tEeGUvU2NzaURpc2suYw0KPiBpbmRleCBjODBlNzhmYThhNmIuLjgxYzBmYTIxN2EwYiAx MDA2NDQNCj4gLS0tIGEvTWRlTW9kdWxlUGtnL0J1cy9TY3NpL1Njc2lEaXNrRHhlL1Njc2lEaXNr LmMNCj4gKysrIGIvTWRlTW9kdWxlUGtnL0J1cy9TY3NpL1Njc2lEaXNrRHhlL1Njc2lEaXNrLmMN Cj4gQEAgLTE5NTYsNyArMTk1Niw3IEBAIFNjc2lEaXNrUmVjZWl2ZURhdGEgKA0KPiAgICAgICAg Z290byBEb25lOyAgICAgfSAtICAgIGlmICgoU2NzaURpc2tEZXZpY2UtPlNjc2lJby0+SW9BbGln biA+IDEpDQo+ICYmICFJU19BTElHTkVEIChQYXlsb2FkQnVmZmVyLCBTY3NpRGlza0RldmljZS0+ U2NzaUlvLT5Jb0FsaWduKSkgeysgICAgaWYNCj4gKChTY3NpRGlza0RldmljZS0+U2NzaUlvLT5J b0FsaWduID4gMSkgJiYgIUFERFJFU1NfSVNfQUxJR05FRF8NCj4gKFBheWxvYWRCdWZmZXIsIFNj c2lEaXNrRGV2aWNlLT5TY3NpSW8tPklvQWxpZ24pKSB7ICAgICAgIEFsaWduZWRCdWZmZXIgPQ0K PiBBbGxvY2F0ZUFsaWduZWRCdWZmZXIgKFNjc2lEaXNrRGV2aWNlLCBQYXlsb2FkQnVmZmVyU2l6 ZSk7ICAgICAgIGlmDQo+IChBbGlnbmVkQnVmZmVyID09IE5VTEwpIHsgICAgICAgICBTdGF0dXMg PSBFRklfT1VUX09GX1JFU09VUkNFUztAQCAtDQo+IDIxNzEsNyArMjE3MSw3IEBAIFNjc2lEaXNr U2VuZERhdGEgKA0KPiAgICAgICAgZ290byBEb25lOyAgICAgfSAtICAgIGlmICgoU2NzaURpc2tE ZXZpY2UtPlNjc2lJby0+SW9BbGlnbiA+IDEpDQo+ICYmICFJU19BTElHTkVEIChQYXlsb2FkQnVm ZmVyLCBTY3NpRGlza0RldmljZS0+U2NzaUlvLT5Jb0FsaWduKSkgeysgICAgaWYNCj4gKChTY3Np RGlza0RldmljZS0+U2NzaUlvLT5Jb0FsaWduID4gMSkgJiYgIUFERFJFU1NfSVNfQUxJR05FRF8N Cj4gKFBheWxvYWRCdWZmZXIsIFNjc2lEaXNrRGV2aWNlLT5TY3NpSW8tPklvQWxpZ24pKSB7ICAg ICAgIEFsaWduZWRCdWZmZXIgPQ0KPiBBbGxvY2F0ZUFsaWduZWRCdWZmZXIgKFNjc2lEaXNrRGV2 aWNlLCBQYXlsb2FkQnVmZmVyU2l6ZSk7ICAgICAgIGlmDQo+IChBbGlnbmVkQnVmZmVyID09IE5V TEwpIHsgICAgICAgICBTdGF0dXMgPSBFRklfT1VUX09GX1JFU09VUkNFUztkaWZmIC0tZ2l0DQo+ IGEvTWRlTW9kdWxlUGtnL0J1cy9VZnMvVWZzUGFzc1RocnVEeGUvVWZzUGFzc1RocnUuYw0KPiBi L01kZU1vZHVsZVBrZy9CdXMvVWZzL1Vmc1Bhc3NUaHJ1RHhlL1Vmc1Bhc3NUaHJ1LmMNCj4gaW5k ZXggOTJmZjk1OGYxNjFlLi5hYmZiNDIyZDFlYTMgMTAwNjQ0DQo+IC0tLSBhL01kZU1vZHVsZVBr Zy9CdXMvVWZzL1Vmc1Bhc3NUaHJ1RHhlL1Vmc1Bhc3NUaHJ1LmMNCj4gKysrIGIvTWRlTW9kdWxl UGtnL0J1cy9VZnMvVWZzUGFzc1RocnVEeGUvVWZzUGFzc1RocnUuYw0KPiBAQCAtMTcwLDE1ICsx NzAsMTUgQEAgVWZzUGFzc1RocnVQYXNzVGhydSAoDQo+ICAgICAgcmV0dXJuIEVGSV9JTlZBTElE X1BBUkFNRVRFUjsgICB9IC0gIGlmICgoVGhpcy0+TW9kZS0+SW9BbGlnbiA+IDEpDQo+ICYmICFJ U19BTElHTkVEKFBhY2tldC0+SW5EYXRhQnVmZmVyLCBUaGlzLT5Nb2RlLT5Jb0FsaWduKSkgeysg IGlmICgoVGhpcy0NCj4gPk1vZGUtPklvQWxpZ24gPiAxKSAmJiAhQUREUkVTU19JU19BTElHTkVE XyhQYWNrZXQtPkluRGF0YUJ1ZmZlciwNCj4gVGhpcy0+TW9kZS0+SW9BbGlnbikpIHsgICAgIHJl dHVybiBFRklfSU5WQUxJRF9QQVJBTUVURVI7ICAgfSAtICBpZiAoKFRoaXMtDQo+ID5Nb2RlLT5J b0FsaWduID4gMSkgJiYgIUlTX0FMSUdORUQoUGFja2V0LT5PdXREYXRhQnVmZmVyLCBUaGlzLT5N b2RlLQ0KPiA+SW9BbGlnbikpIHsrICBpZiAoKFRoaXMtPk1vZGUtPklvQWxpZ24gPiAxKQ0KPiAm JiAhQUREUkVTU19JU19BTElHTkVEXyhQYWNrZXQtPk91dERhdGFCdWZmZXIsIFRoaXMtPk1vZGUt PklvQWxpZ24pKQ0KPiB7ICAgICByZXR1cm4gRUZJX0lOVkFMSURfUEFSQU1FVEVSOyAgIH0gLSAg aWYgKChUaGlzLT5Nb2RlLT5Jb0FsaWduID4gMSkNCj4gJiYgIUlTX0FMSUdORUQoUGFja2V0LT5T ZW5zZURhdGEsIFRoaXMtPk1vZGUtPklvQWxpZ24pKSB7KyAgaWYgKChUaGlzLQ0KPiA+TW9kZS0+ SW9BbGlnbiA+IDEpICYmICFBRERSRVNTX0lTX0FMSUdORURfKFBhY2tldC0+U2Vuc2VEYXRhLCBU aGlzLQ0KPiA+TW9kZS0+SW9BbGlnbikpIHsgICAgIHJldHVybiBFRklfSU5WQUxJRF9QQVJBTUVU RVI7ICAgfSBkaWZmIC0tZ2l0DQo+IGEvTWRlTW9kdWxlUGtnL1VuaXZlcnNhbC9FYmNEeGUvRWJj RXhlY3V0ZS5jDQo+IGIvTWRlTW9kdWxlUGtnL1VuaXZlcnNhbC9FYmNEeGUvRWJjRXhlY3V0ZS5j DQo+IGluZGV4IDFjNGE0ZjUxNTVjOS4uMzVmNjBjYWJkZWI0IDEwMDY0NA0KPiAtLS0gYS9NZGVN b2R1bGVQa2cvVW5pdmVyc2FsL0ViY0R4ZS9FYmNFeGVjdXRlLmMNCj4gKysrIGIvTWRlTW9kdWxl UGtnL1VuaXZlcnNhbC9FYmNEeGUvRWJjRXhlY3V0ZS5jDQo+IEBAIC0yMDA0LDcgKzIwMDQsNyBA QCBFeGVjdXRlSk1QICgNCj4gICAgICAvLyBjaGVjayBmb3IgYWxpZ25tZW50LCBhbmQganVtcCBh YnNvbHV0ZS4gICAgIC8vICAgICBEYXRhNjQgPSAoVUlOVDY0KQ0KPiBWbVJlYWRJbW1lZDY0IChW bVB0ciwgMik7LSAgICBpZiAoIUlTX0FMSUdORUQgKChVSU5UTikgRGF0YTY0LCBzaXplb2YNCj4g KFVJTlQxNikpKSB7KyAgICBpZiAoIUFERFJFU1NfSVNfQUxJR05FRF8gKChVSU5UTikgRGF0YTY0 LCBzaXplb2YgKFVJTlQxNikpKQ0KPiB7ICAgICAgIEViY0RlYnVnU2lnbmFsRXhjZXB0aW9uICgg ICAgICAgICBFWENFUFRfRUJDX0FMSUdOTUVOVF9DSEVDSywNCj4gRVhDRVBUSU9OX0ZMQUdfRkFU QUwsQEAgLTIwNTksNyArMjA1OSw3IEBAIEV4ZWN1dGVKTVAgKA0KPiAgICAgIC8vIEZvcm06IEpN UDMyIEBSeCB7SW5kZXgzMn0gICAgIC8vICAgICBBZGRyID0gVm1SZWFkTWVtTiAoVm1QdHIsDQo+ IChVSU5UTikgRGF0YTY0ICsgSW5kZXgzMik7LSAgICBpZiAoIUlTX0FMSUdORUQgKChVSU5UTikg QWRkciwgc2l6ZW9mDQo+IChVSU5UMTYpKSkgeysgICAgaWYgKCFBRERSRVNTX0lTX0FMSUdORURf ICgoVUlOVE4pIEFkZHIsIHNpemVvZiAoVUlOVDE2KSkpDQo+IHsgICAgICAgRWJjRGVidWdTaWdu YWxFeGNlcHRpb24gKCAgICAgICAgIEVYQ0VQVF9FQkNfQUxJR05NRU5UX0NIRUNLLA0KPiBFWENF UFRJT05fRkxBR19GQVRBTCxAQCAtMjA4Miw3ICsyMDgyLDcgQEAgRXhlY3V0ZUpNUCAoDQo+ICAg ICAgLy8gRm9ybTogSk1QMzIgUngge0ltbWVkMzJ9ICAgICAvLyAgICAgQWRkciA9IChVSU5UTikg KERhdGE2NCArIEluZGV4MzIpOy0NCj4gaWYgKCFJU19BTElHTkVEICgoVUlOVE4pIEFkZHIsIHNp emVvZiAoVUlOVDE2KSkpIHsrICAgIGlmDQo+ICghQUREUkVTU19JU19BTElHTkVEXyAoKFVJTlRO KSBBZGRyLCBzaXplb2YgKFVJTlQxNikpKQ0KPiB7ICAgICAgIEViY0RlYnVnU2lnbmFsRXhjZXB0 aW9uICggICAgICAgICBFWENFUFRfRUJDX0FMSUdOTUVOVF9DSEVDSywNCj4gRVhDRVBUSU9OX0ZM QUdfRkFUQUwsQEAgLTMxMjgsNyArMzEyOCw3IEBAIEV4ZWN1dGVSRVQgKA0KPiAgICAgIC8vIFB1 bGwgdGhlIHJldHVybiBhZGRyZXNzIG9mZiB0aGUgVk0gYXBwJ3Mgc3RhY2sgYW5kIHNldCB0aGUg SVAgICAgIC8vIHRvIGl0DQo+IC8vLSAgICBpZiAoIUlTX0FMSUdORUQgKChVSU5UTikgVm1QdHIt PkdwclswXSwgc2l6ZW9mIChVSU5UMTYpKSkgeysgICAgaWYNCj4gKCFBRERSRVNTX0lTX0FMSUdO RURfICgoVUlOVE4pIFZtUHRyLT5HcHJbMF0sIHNpemVvZiAoVUlOVDE2KSkpDQo+IHsgICAgICAg RWJjRGVidWdTaWduYWxFeGNlcHRpb24gKCAgICAgICAgIEVYQ0VQVF9FQkNfQUxJR05NRU5UX0NI RUNLLA0KPiBFWENFUFRJT05fRkxBR19GQVRBTCxAQCAtNDY5Myw3ICs0NjkzLDcgQEAgVm1Xcml0 ZU1lbTE2ICgNCj4gICAgLy8gICAvLyBEbyBhIHNpbXBsZSB3cml0ZSBpZiBhbGlnbmVkICAgLy8t ICBpZiAoSVNfQUxJR05FRCAoQWRkciwgc2l6ZW9mDQo+IChVSU5UMTYpKSkgeysgIGlmIChBRERS RVNTX0lTX0FMSUdORURfIChBZGRyLCBzaXplb2YgKFVJTlQxNikpKQ0KPiB7ICAgICAqKFVJTlQx NiAqKSBBZGRyID0gRGF0YTsgICB9IGVsc2UgeyAgICAgLy9AQCAtNDc1Niw3ICs0NzU2LDcgQEAN Cj4gVm1Xcml0ZU1lbTMyICgNCj4gICAgLy8gICAvLyBEbyBhIHNpbXBsZSB3cml0ZSBpZiBhbGln bmVkICAgLy8tICBpZiAoSVNfQUxJR05FRCAoQWRkciwgc2l6ZW9mDQo+IChVSU5UMzIpKSkgeysg IGlmIChBRERSRVNTX0lTX0FMSUdORURfIChBZGRyLCBzaXplb2YgKFVJTlQzMikpKQ0KPiB7ICAg ICAqKFVJTlQzMiAqKSBBZGRyID0gRGF0YTsgICB9IGVsc2UgeyAgICAgLy9AQCAtNDgxOSw3ICs0 ODE5LDcgQEANCj4gVm1Xcml0ZU1lbTY0ICgNCj4gICAgLy8gICAvLyBEbyBhIHNpbXBsZSB3cml0 ZSBpZiBhbGlnbmVkICAgLy8tICBpZiAoSVNfQUxJR05FRCAoQWRkciwgc2l6ZW9mDQo+IChVSU5U NjQpKSkgeysgIGlmIChBRERSRVNTX0lTX0FMSUdORURfIChBZGRyLCBzaXplb2YgKFVJTlQ2NCkp KQ0KPiB7ICAgICAqKFVJTlQ2NCAqKSBBZGRyID0gRGF0YTsgICB9IGVsc2UgeyAgICAgLy9AQCAt NDg4NSw3ICs0ODg1LDcgQEANCj4gVm1Xcml0ZU1lbU4gKA0KPiAgICAvLyAgIC8vIERvIGEgc2lt cGxlIHdyaXRlIGlmIGFsaWduZWQgICAvLy0gIGlmIChJU19BTElHTkVEIChBZGRyLCBzaXplb2Yg KFVJTlROKSkpDQo+IHsrICBpZiAoQUREUkVTU19JU19BTElHTkVEXyAoQWRkciwgc2l6ZW9mIChV SU5UTikpKSB7ICAgICAqKFVJTlROICopIEFkZHIgPQ0KPiBEYXRhOyAgIH0gZWxzZSB7ICAgICBm b3IgKEluZGV4ID0gMDsgSW5kZXggPCBzaXplb2YgKFVJTlROKSAvIHNpemVvZiAoVUlOVDMyKTsN Cj4gSW5kZXgrKykge0BAIC00OTQ5LDcgKzQ5NDksNyBAQCBWbVJlYWRJbW1lZDE2ICgNCj4gICAg Ly8gICAvLyBSZWFkIGRpcmVjdCBpZiBhbGlnbmVkICAgLy8tICBpZiAoSVNfQUxJR05FRCAoKFVJ TlROKSBWbVB0ci0+SXAgKw0KPiBPZmZzZXQsIHNpemVvZiAoSU5UMTYpKSkgeysgIGlmIChBRERS RVNTX0lTX0FMSUdORURfICgoVUlOVE4pIFZtUHRyLT5JcCArDQo+IE9mZnNldCwgc2l6ZW9mIChJ TlQxNikpKSB7ICAgICByZXR1cm4gKiAoSU5UMTYgKikgKFZtUHRyLT5JcCArIE9mZnNldCk7ICAg fSBlbHNlDQo+IHsgICAgIC8vQEAgLTQ5OTMsNyArNDk5Myw3IEBAIFZtUmVhZEltbWVkMzIgKA0K PiAgICAvLyAgIC8vIFJlYWQgZGlyZWN0IGlmIGFsaWduZWQgICAvLy0gIGlmIChJU19BTElHTkVE ICgoVUlOVE4pIFZtUHRyLT5JcCArDQo+IE9mZnNldCwgc2l6ZW9mIChVSU5UMzIpKSkgeysgIGlm IChBRERSRVNTX0lTX0FMSUdORURfICgoVUlOVE4pIFZtUHRyLT5JcA0KPiArIE9mZnNldCwgc2l6 ZW9mIChVSU5UMzIpKSkgeyAgICAgcmV0dXJuICogKElOVDMyICopIChWbVB0ci0+SXAgKyBPZmZz ZXQpOyAgIH0NCj4gLy9AQCAtNTAzMiw3ICs1MDMyLDcgQEAgVm1SZWFkSW1tZWQ2NCAoDQo+ICAg IC8vICAgLy8gUmVhZCBkaXJlY3QgaWYgYWxpZ25lZCAgIC8vLSAgaWYgKElTX0FMSUdORUQgKChV SU5UTikgVm1QdHItPklwICsNCj4gT2Zmc2V0LCBzaXplb2YgKFVJTlQ2NCkpKSB7KyAgaWYgKEFE RFJFU1NfSVNfQUxJR05FRF8gKChVSU5UTikgVm1QdHItPklwDQo+ICsgT2Zmc2V0LCBzaXplb2Yg KFVJTlQ2NCkpKSB7ICAgICByZXR1cm4gKiAoVUlOVDY0ICopIChWbVB0ci0+SXAgKyBPZmZzZXQp OyAgIH0NCj4gLy9AQCAtNTA2OSw3ICs1MDY5LDcgQEAgVm1SZWFkQ29kZTE2ICgNCj4gICAgLy8g ICAvLyBSZWFkIGRpcmVjdCBpZiBhbGlnbmVkICAgLy8tICBpZiAoSVNfQUxJR05FRCAoKFVJTlRO KSBWbVB0ci0+SXAgKw0KPiBPZmZzZXQsIHNpemVvZiAoVUlOVDE2KSkpIHsrICBpZiAoQUREUkVT U19JU19BTElHTkVEXyAoKFVJTlROKSBWbVB0ci0+SXANCj4gKyBPZmZzZXQsIHNpemVvZiAoVUlO VDE2KSkpIHsgICAgIHJldHVybiAqIChVSU5UMTYgKikgKFZtUHRyLT5JcCArIE9mZnNldCk7ICAg fQ0KPiBlbHNlIHsgICAgIC8vQEAgLTUxMTAsNyArNTExMCw3IEBAIFZtUmVhZENvZGUzMiAoDQo+ ICAgIC8vICAgLy8gUmVhZCBkaXJlY3QgaWYgYWxpZ25lZCAgIC8vLSAgaWYgKElTX0FMSUdORUQg KChVSU5UTikgVm1QdHItPklwICsNCj4gT2Zmc2V0LCBzaXplb2YgKFVJTlQzMikpKSB7KyAgaWYg KEFERFJFU1NfSVNfQUxJR05FRF8gKChVSU5UTikgVm1QdHItPklwDQo+ICsgT2Zmc2V0LCBzaXpl b2YgKFVJTlQzMikpKSB7ICAgICByZXR1cm4gKiAoVUlOVDMyICopIChWbVB0ci0+SXAgKyBPZmZz ZXQpOyAgIH0NCj4gLy9AQCAtNTE0Nyw3ICs1MTQ3LDcgQEAgVm1SZWFkQ29kZTY0ICgNCj4gICAg Ly8gICAvLyBSZWFkIGRpcmVjdCBpZiBhbGlnbmVkICAgLy8tICBpZiAoSVNfQUxJR05FRCAoKFVJ TlROKSBWbVB0ci0+SXAgKw0KPiBPZmZzZXQsIHNpemVvZiAoVUlOVDY0KSkpIHsrICBpZiAoQURE UkVTU19JU19BTElHTkVEXyAoKFVJTlROKSBWbVB0ci0+SXANCj4gKyBPZmZzZXQsIHNpemVvZiAo VUlOVDY0KSkpIHsgICAgIHJldHVybiAqIChVSU5UNjQgKikgKFZtUHRyLT5JcCArIE9mZnNldCk7 ICAgfQ0KPiAvL0BAIC01MjEwLDcgKzUyMTAsNyBAQCBWbVJlYWRNZW0xNiAoDQo+ICAgIC8vICAg Ly8gUmVhZCBkaXJlY3QgaWYgYWxpZ25lZCAgIC8vLSAgaWYgKElTX0FMSUdORUQgKEFkZHIsIHNp emVvZiAoVUlOVDE2KSkpIHsrDQo+IGlmIChBRERSRVNTX0lTX0FMSUdORURfIChBZGRyLCBzaXpl b2YgKFVJTlQxNikpKSB7ICAgICByZXR1cm4gKiAoVUlOVDE2ICopDQo+IEFkZHI7ICAgfSAgIC8v QEAgLTUyNDMsNyArNTI0Myw3IEBAIFZtUmVhZE1lbTMyICgNCj4gICAgLy8gICAvLyBSZWFkIGRp cmVjdCBpZiBhbGlnbmVkICAgLy8tICBpZiAoSVNfQUxJR05FRCAoQWRkciwgc2l6ZW9mIChVSU5U MzIpKSkgeysNCj4gaWYgKEFERFJFU1NfSVNfQUxJR05FRF8gKEFkZHIsIHNpemVvZiAoVUlOVDMy KSkpIHsgICAgIHJldHVybiAqIChVSU5UMzIgKikNCj4gQWRkcjsgICB9ICAgLy9AQCAtNTI4MCw3 ICs1MjgwLDcgQEAgVm1SZWFkTWVtNjQgKA0KPiAgICAvLyAgIC8vIFJlYWQgZGlyZWN0IGlmIGFs aWduZWQgICAvLy0gIGlmIChJU19BTElHTkVEIChBZGRyLCBzaXplb2YgKFVJTlQ2NCkpKSB7Kw0K PiBpZiAoQUREUkVTU19JU19BTElHTkVEXyAoQWRkciwgc2l6ZW9mIChVSU5UNjQpKSkgeyAgICAg cmV0dXJuICogKFVJTlQ2NCAqKQ0KPiBBZGRyOyAgIH0gICAvL0BAIC01MzQ5LDcgKzUzNDksNyBA QCBWbVJlYWRNZW1OICgNCj4gICAgLy8gICAvLyBSZWFkIGRpcmVjdCBpZiBhbGlnbmVkICAgLy8t ICBpZiAoSVNfQUxJR05FRCAoQWRkciwgc2l6ZW9mIChVSU5UTikpKSB7KyAgaWYNCj4gKEFERFJF U1NfSVNfQUxJR05FRF8gKEFkZHIsIHNpemVvZiAoVUlOVE4pKSkgeyAgICAgcmV0dXJuICogKFVJ TlROICopDQo+IEFkZHI7ICAgfSAgIC8vZGlmZiAtLWdpdCBhL01kZU1vZHVsZVBrZy9CdXMvQXRh L0FoY2lQZWkvQWhjaVBlaS5oDQo+IGIvTWRlTW9kdWxlUGtnL0J1cy9BdGEvQWhjaVBlaS9BaGNp UGVpLmgNCj4gaW5kZXggMmJlNzgwNzZiZWU3Li4yYTc0Yzk5ODQ3OTEgMTAwNjQ0DQo+IC0tLSBh L01kZU1vZHVsZVBrZy9CdXMvQXRhL0FoY2lQZWkvQWhjaVBlaS5oDQo+ICsrKyBiL01kZU1vZHVs ZVBrZy9CdXMvQXRhL0FoY2lQZWkvQWhjaVBlaS5oDQo+IEBAIC0xNDUsNyArMTQ1LDcgQEAgdHlw ZWRlZiB1bmlvbiB7DQo+ICAjZGVmaW5lIEFIQ0lfUE9SVF9TRVJSICAgICAgICAgICAgICAgICAg ICAgICAgIDB4MDAzMCAjZGVmaW5lIEFIQ0lfUE9SVF9DSQ0KPiAweDAwMzggLSNkZWZpbmUgSVNf QUxJR05FRChhZGRyLCBzaXplKSAgICAgICAgICAgICAgICAgKCgoVUlOVE4pIChhZGRyKSAmIChz aXplIC0gMSkpDQo+ID09IDApKyNkZWZpbmUgQUREUkVTU19JU19BTElHTkVEXyhhZGRyLCBzaXpl KSAgICAgICAgICAgICAgICAgKCgoVUlOVE4pIChhZGRyKSAmDQo+IChzaXplIC0gMSkpID09IDAp ICNkZWZpbmUgVElNRVJfUEVSSU9EX1NFQ09ORFMoU2Vjb25kcykNCj4gTXVsdFU2NHgzMigoVUlO VDY0KShTZWNvbmRzKSwgMTAwMDAwMDApICAjcHJhZ21hIHBhY2soMSlkaWZmIC0tZ2l0DQo+IGEv TWRlTW9kdWxlUGtnL0J1cy9BdGEvQXRhQXRhcGlQYXNzVGhydS9BdGFBdGFwaVBhc3NUaHJ1LmgN Cj4gYi9NZGVNb2R1bGVQa2cvQnVzL0F0YS9BdGFBdGFwaVBhc3NUaHJ1L0F0YUF0YXBpUGFzc1Ro cnUuaA0KPiBpbmRleCA1ZjU4MmI5YjNlNzYuLmFhMzQ3MmE3MTY3NyAxMDA2NDQNCj4gLS0tIGEv TWRlTW9kdWxlUGtnL0J1cy9BdGEvQXRhQXRhcGlQYXNzVGhydS9BdGFBdGFwaVBhc3NUaHJ1LmgN Cj4gKysrIGIvTWRlTW9kdWxlUGtnL0J1cy9BdGEvQXRhQXRhcGlQYXNzVGhydS9BdGFBdGFwaVBh c3NUaHJ1LmgNCj4gQEAgLTE0Nyw3ICsxNDcsNyBAQCBzdHJ1Y3QgX0FUQV9OT05CTE9DS19UQVNL IHsNCj4gICNkZWZpbmUgQVRBX0FUQVBJX1RJTUVPVVQgICAgICAgICAgIEVGSV9USU1FUl9QRVJJ T0RfU0VDT05EUygzKQ0KPiAjZGVmaW5lIEFUQV9TUElOVVBfVElNRU9VVCAgICAgICAgICBFRklf VElNRVJfUEVSSU9EX1NFQ09ORFMoMTApIC0NCj4gI2RlZmluZSBJU19BTElHTkVEKGFkZHIsIHNp emUpICAgICAgKCgoVUlOVE4pIChhZGRyKSAmIChzaXplIC0gMSkpID09DQo+IDApKyNkZWZpbmUg QUREUkVTU19JU19BTElHTkVEXyhhZGRyLCBzaXplKSAgICAgICgoKFVJTlROKSAoYWRkcikgJiAo c2l6ZSAtDQo+IDEpKSA9PSAwKSAgI2RlZmluZSBBVEFfUEFTU19USFJVX1BSSVZBVEVfREFUQV9G Uk9NX1RISVMoYSkgXCAgIENSIChhLA0KPiBcZGlmZiAtLWdpdCBhL01kZU1vZHVsZVBrZy9CdXMv QXRhL0F0YUJ1c0R4ZS9BdGFCdXMuaA0KPiBiL01kZU1vZHVsZVBrZy9CdXMvQXRhL0F0YUJ1c0R4 ZS9BdGFCdXMuaA0KPiBpbmRleCBhNWE4NjUyMDk5NDIuLjEzNzY3YThhMTNjOCAxMDA2NDQNCj4g LS0tIGEvTWRlTW9kdWxlUGtnL0J1cy9BdGEvQXRhQnVzRHhlL0F0YUJ1cy5oDQo+ICsrKyBiL01k ZU1vZHVsZVBrZy9CdXMvQXRhL0F0YUJ1c0R4ZS9BdGFCdXMuaA0KPiBAQCAtNzYsNyArNzYsNyBA QA0KPiAgI2RlZmluZSBBVEFfVEFTS19TSUdOQVRVUkUgICAgICAgICAgICAgICAgU0lHTkFUVVJF XzMyICgnQScsICdUJywgJ1MnLCAnSycpDQo+ICNkZWZpbmUgQVRBX0RFVklDRV9TSUdOQVRVUkUg ICAgICAgICAgICAgIFNJR05BVFVSRV8zMiAoJ0EnLCAnQicsICdJJywgJ0QnKQ0KPiAjZGVmaW5l IEFUQV9TVUJfVEFTS19TSUdOQVRVUkUgICAgICAgICAgICBTSUdOQVRVUkVfMzIgKCdBJywgJ1Mn LCAnVCcsICdTJyktDQo+ICNkZWZpbmUgSVNfQUxJR05FRChhZGRyLCBzaXplKSAgICAgICAgICAg ICgoKFVJTlROKSAoYWRkcikgJiAoc2l6ZSAtIDEpKSA9PQ0KPiAwKSsjZGVmaW5lIEFERFJFU1Nf SVNfQUxJR05FRF8oYWRkciwgc2l6ZSkgICAgICAgICAgICAoKChVSU5UTikgKGFkZHIpICYgKHNp emUNCj4gLSAxKSkgPT0gMCkgIC8vIC8vIEFUQSBidXMgZGF0YSBzdHJ1Y3R1cmUgZm9yIEFUQSBj b250cm9sbGVyZGlmZiAtLWdpdA0KPiBhL01kZU1vZHVsZVBrZy9CdXMvU2NzaS9TY3NpRGlza0R4 ZS9TY3NpRGlzay5oDQo+IGIvTWRlTW9kdWxlUGtnL0J1cy9TY3NpL1Njc2lEaXNrRHhlL1Njc2lE aXNrLmgNCj4gaW5kZXggZWQ5YmJkNmY4YmE4Li5hYmUxZDA2YTk4ZGEgMTAwNjQ0DQo+IC0tLSBh L01kZU1vZHVsZVBrZy9CdXMvU2NzaS9TY3NpRGlza0R4ZS9TY3NpRGlzay5oDQo+ICsrKyBiL01k ZU1vZHVsZVBrZy9CdXMvU2NzaS9TY3NpRGlza0R4ZS9TY3NpRGlzay5oDQo+IEBAIC0zOSw3ICsz OSw3IEBAIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMi1DbGF1c2UtUGF0ZW50DQo+ICAg I2RlZmluZSBJU19ERVZJQ0VfRklYRUQoYSkgICAgICAgIChhKS0+Rml4ZWREZXZpY2UgPyAxIDog MCAtI2RlZmluZQ0KPiBJU19BTElHTkVEKGFkZHIsIHNpemUpICAgICgoKFVJTlROKSAoYWRkcikg JiAoc2l6ZSAtIDEpKSA9PSAwKSsjZGVmaW5lDQo+IEFERFJFU1NfSVNfQUxJR05FRF8oYWRkciwg c2l6ZSkgICAgKCgoVUlOVE4pIChhZGRyKSAmIChzaXplIC0gMSkpID09IDApDQo+ICNkZWZpbmUg VUZTX1dMVU5fUlBNQiAweEM0IGRpZmYgLS1naXQNCj4gYS9NZGVNb2R1bGVQa2cvQnVzL1Vmcy9V ZnNCbG9ja0lvUGVpL1Vmc0Jsb2NrSW9QZWkuaA0KPiBiL01kZU1vZHVsZVBrZy9CdXMvVWZzL1Vm c0Jsb2NrSW9QZWkvVWZzQmxvY2tJb1BlaS5oDQo+IGluZGV4IDZlMjMwNWFhMmJjMi4uNDgwMmZk YzBhYjliIDEwMDY0NA0KPiAtLS0gYS9NZGVNb2R1bGVQa2cvQnVzL1Vmcy9VZnNCbG9ja0lvUGVp L1Vmc0Jsb2NrSW9QZWkuaA0KPiArKysgYi9NZGVNb2R1bGVQa2cvQnVzL1Vmcy9VZnNCbG9ja0lv UGVpL1Vmc0Jsb2NrSW9QZWkuaA0KPiBAQCAtMTMzLDcgKzEzMyw3IEBAIHR5cGVkZWYgc3RydWN0 IF9VRlNfUEVJTV9IQ19QUklWQVRFX0RBVEEgew0KPiAgICNkZWZpbmUgUk9VTkRVUDgoeCkgKCgo eCkgJSA4ID09IDApID8gKHgpIDogKCh4KSAvIDggKyAxKSAqIDgpIC0jZGVmaW5lDQo+IElTX0FM SUdORUQoYWRkciwgc2l6ZSkgICAgICAoKChVSU5UTikgKGFkZHIpICYgKHNpemUgLSAxKSkgPT0g MCkrI2RlZmluZQ0KPiBBRERSRVNTX0lTX0FMSUdORURfKGFkZHIsIHNpemUpICAgICAgKCgoVUlO VE4pIChhZGRyKSAmIChzaXplIC0gMSkpID09IDApDQo+ICNkZWZpbmUgR0VUX1VGU19QRUlNX0hD X1BSSVZBVEVfREFUQV9GUk9NX1RISVMoYSkgQ1IgKGEsDQo+IFVGU19QRUlNX0hDX1BSSVZBVEVf REFUQSwgQmxrSW9QcGksIFVGU19QRUlNX0hDX1NJRykgI2RlZmluZQ0KPiBHRVRfVUZTX1BFSU1f SENfUFJJVkFURV9EQVRBX0ZST01fVEhJUzIoYSkgQ1IgKGEsDQo+IFVGU19QRUlNX0hDX1BSSVZB VEVfREFUQSwgQmxrSW8yUHBpLCBVRlNfUEVJTV9IQ19TSUcpZGlmZiAtLWdpdA0KPiBhL01kZU1v ZHVsZVBrZy9CdXMvVWZzL1Vmc1Bhc3NUaHJ1RHhlL1Vmc1Bhc3NUaHJ1LmgNCj4gYi9NZGVNb2R1 bGVQa2cvQnVzL1Vmcy9VZnNQYXNzVGhydUR4ZS9VZnNQYXNzVGhydS5oDQo+IGluZGV4IDc5Yjg2 ZjdlNmIzZC4uZGEzYmY3OGJmOWJjIDEwMDY0NA0KPiAtLS0gYS9NZGVNb2R1bGVQa2cvQnVzL1Vm cy9VZnNQYXNzVGhydUR4ZS9VZnNQYXNzVGhydS5oDQo+ICsrKyBiL01kZU1vZHVsZVBrZy9CdXMv VWZzL1Vmc1Bhc3NUaHJ1RHhlL1Vmc1Bhc3NUaHJ1LmgNCj4gQEAgLTEwNSw3ICsxMDUsNyBAQCB0 eXBlZGVmIHN0cnVjdCB7DQo+ICAgI2RlZmluZSBST1VORFVQOCh4KSAoKCh4KSAlIDggPT0gMCkg PyAoeCkgOiAoKHgpIC8gOCArIDEpICogOCkgLSNkZWZpbmUNCj4gSVNfQUxJR05FRChhZGRyLCBz aXplKSAgICAgICAgKCgoVUlOVE4pIChhZGRyKSAmIChzaXplIC0gMSkpID09IDApKyNkZWZpbmUN Cj4gQUREUkVTU19JU19BTElHTkVEXyhhZGRyLCBzaXplKSAgICAgICAgKCgoVUlOVE4pIChhZGRy KSAmIChzaXplIC0gMSkpID09IDApDQo+ICNkZWZpbmUgVUZTX1BBU1NfVEhSVV9QUklWQVRFX0RB VEFfRlJPTV9USElTKGEpIFwgICBDUiAoYSwgXGRpZmYgLS1naXQNCj4gYS9NZGVNb2R1bGVQa2cv VW5pdmVyc2FsL0ViY0R4ZS9FYmNFeGVjdXRlLmgNCj4gYi9NZGVNb2R1bGVQa2cvVW5pdmVyc2Fs L0ViY0R4ZS9FYmNFeGVjdXRlLmgNCj4gaW5kZXggMWNiNjhiYzUzODVhLi5mMjFjNzU3YTc1YjQg MTAwNjQ0DQo+IC0tLSBhL01kZU1vZHVsZVBrZy9Vbml2ZXJzYWwvRWJjRHhlL0ViY0V4ZWN1dGUu aA0KPiArKysgYi9NZGVNb2R1bGVQa2cvVW5pdmVyc2FsL0ViY0R4ZS9FYmNFeGVjdXRlLmgNCj4g QEAgLTE1LDcgKzE1LDcgQEAgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0yLUNsYXVzZS1Q YXRlbnQNCj4gIC8vIE1hY3JvcyB0byBjaGVjayBhbmQgc2V0IGFsaWdubWVudCAvLyAjZGVmaW5l IEFTU0VSVF9BTElHTkVEKGFkZHIsIHNpemUpDQo+IEFTU0VSVCAoISgoVUlOVDMyKSAoYWRkcikg JiAoc2l6ZSAtIDEpKSktI2RlZmluZSBJU19BTElHTkVEKGFkZHIsDQo+IHNpemUpICAgICAgISgo VUlOVDMyKSAoYWRkcikgJiAoc2l6ZSAtIDEpKSsjZGVmaW5lIEFERFJFU1NfSVNfQUxJR05FRF8o YWRkciwNCj4gc2l6ZSkgICAgICAhKChVSU5UMzIpIChhZGRyKSAmIChzaXplIC0gMSkpICAvLyAv LyBEZWJ1ZyBtYWNyby0tDQo+IDIuMzEuMQ0KDQo=