From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by mx.groups.io with SMTP id smtpd.web11.12068.1636148386933539418 for ; Fri, 05 Nov 2021 14:39:47 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@intel.onmicrosoft.com header.s=selector2-intel-onmicrosoft-com header.b=FjA0XUd3; spf=pass (domain: intel.com, ip: 134.134.136.24, mailfrom: michael.d.kinney@intel.com) X-IronPort-AV: E=McAfee;i="6200,9189,10159"; a="231830148" X-IronPort-AV: E=Sophos;i="5.87,212,1631602800"; d="scan'208";a="231830148" Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by orsmga102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 05 Nov 2021 14:39:45 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.87,212,1631602800"; d="scan'208";a="586546131" Received: from orsmsx601.amr.corp.intel.com ([10.22.229.14]) by fmsmga002.fm.intel.com with ESMTP; 05 Nov 2021 14:39:44 -0700 Received: from orsmsx610.amr.corp.intel.com (10.22.229.23) 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; Fri, 5 Nov 2021 14:39:44 -0700 Received: from ORSEDG601.ED.cps.intel.com (10.7.248.6) by orsmsx610.amr.corp.intel.com (10.22.229.23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.12 via Frontend Transport; Fri, 5 Nov 2021 14:39:44 -0700 Received: from NAM10-DM6-obe.outbound.protection.outlook.com (104.47.58.108) by edgegateway.intel.com (134.134.137.102) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2242.12; Fri, 5 Nov 2021 14:39:44 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=GC3bdr7lGNa/M0vIkUjavvEq+w1FGYoYTzFmZ6PoArp8g5wp6h7uSvoL/TmynqwUBTIG3YjkcXKBhUA1o2UXE867SDI1d/QAHPhxUy+z+4Iby578sIqX91kq64u5J1ggtBZ7wuMcBq0iSLb/i12ZSMV0becGuktplRKFiBnSbLvxQcOs999MQPfmGlmBshK6nAZ+9lRuKxEMD7kRD034HOa2Cv7acc2XOt1IwOQP2OsAUI4gmWi2faelH4yLwE7PVYgLH5C2n2lfSQREveSext6rp45j7kxM5uW5tsunHS3VrSHFeV74q1R387gR3pGR8pLl1CbmorHwg4m85LdVIQ== 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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=ICgIEBXuFifEWFdSn+cbTi7YtKQnqRJIMcQyvO+eifg=; b=XdoHkSb9w2DKTf9Wyh2h5Dpvq4QNO7ovgqGjWTr0MVIee/YOU5QQ2K3nq0BLWebJGxDwSsY0+3HUFPgMLbUQwIYq2ndWyzNihnJX1Cyc1ZMUrAl+vlYmZxvzC5k43gijOQUcWsxzK2nEB8hVCgRn9w7hFSQb29phl5PhF+8kFigCe3fFGHYf2vlrSH1nGxezEvD9wVE8N/0BRm1eeTEUYjtIpMPAwfYlTSLRdbbF528UfhnatU4ZlH48MOsFZj5y6f+o7QVD7bJUzEyPpBRytsXYBu2IOoNiHKEtOX9zbTN/A8RISua1hCo5wfKJWEN5Atz2FLjHL5jn7lKgbWKeuQ== 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=ICgIEBXuFifEWFdSn+cbTi7YtKQnqRJIMcQyvO+eifg=; b=FjA0XUd3g8g/lyYyzeUAWx4Mx3NGeve6R6PuVB6XEkvwz6R/3RSlH6lSlydNIMjoqJAY6pT1fkRMkHJ/eOdqGZ9wbpccy2Bkzfu7/DgnMgawc1TDR11wmSD/NxYTXU8jYSu7kc/49c+J4uT9Vx2Yk4eTR2gdrr1Ochnt9EZIA64= Received: from CO1PR11MB4929.namprd11.prod.outlook.com (2603:10b6:303:6d::19) by MW5PR11MB5811.namprd11.prod.outlook.com (2603:10b6:303:198::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4669.11; Fri, 5 Nov 2021 21:39:42 +0000 Received: from CO1PR11MB4929.namprd11.prod.outlook.com ([fe80::68cc:6227:db69:d81a]) by CO1PR11MB4929.namprd11.prod.outlook.com ([fe80::68cc:6227:db69:d81a%5]) with mapi id 15.20.4669.013; Fri, 5 Nov 2021 21:39:42 +0000 From: "Michael D Kinney" To: Vitaly Cheptsov , "Kinney, Michael D" CC: Leif Lindholm , "devel@edk2.groups.io" , "Yao, Jiewen" , "Dong, Eric" , "Wang, Jian J" , Jeff Fan , Mikhail Krichanov , =?utf-8?B?TWFydmluIEjDpHVzZXI=?= Subject: Re: [edk2-devel] [PATCH] UefiCpuPkg: Fix CPU stack guard support by aligning GDT buffer Thread-Topic: [edk2-devel] [PATCH] UefiCpuPkg: Fix CPU stack guard support by aligning GDT buffer Thread-Index: AQHXrinYcgbvP0kYwEetUXBgvuqOsKv1mkKAgAACUdCAABCggIAACscA Date: Fri, 5 Nov 2021 21:39:42 +0000 Message-ID: References: <20210920141347.25161-1-cheptsov@ispras.ru> <20211105192821.s2itdxh5t6azp4z6@leviathan> 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: ispras.ru; dkim=none (message not signed) header.d=none;ispras.ru; dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 34aece8a-1fd2-404e-498e-08d9a0a4c732 x-ms-traffictypediagnostic: MW5PR11MB5811: 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: Ka9jIW4/MKMbXYLPnsDJgXqYVVgI4WgHZpHby/0J+90WJ8NQmaHBkAtXqtxVm2OaWBK+MFTVbKbUSU9cRSyMdLH2x2RBAHiu4FcIVNgsVjzJf6fmIj6/TnfglX6IdoVP5lB6w3izr4yl9xxT+7VcEBunz/1RIFOcYdBdrbfKrfobQsc/4LxIRD4wkOVbpsvYBNS9aMObjF4ol0g0E7u9vGhwYeOnyjv1MsZ7jotpraelzL1tPAloyecHcqiD/kGQuoOYWdyhFKqIjMm50FtoB2JV2HuPFB7aNaKYGDCMDe4szP1U5dyk/Z4j8MzPtx5gP5GOy60h5ATKm2esa/C7eB4H21MMbP4hMfwwefGBE5885AyB8zlTNQlIWqcMEea86wlOPkXPxDXfWGvem5mW59XTPYHEznuUL7EgutqVauXac7VwwRGYfrDimNH0vnpmX6gq3suJeW4wLjUu5NQfqD24V+V/6TScLc0b0eMh/atm7pCGSJXIJL1EPqbQGpbDsTr73QIOCfPMHx+rAw3wRzXLy1revf9rxp0t0L+eC6SWYQv+yRQS5/bTp2RRjwdgVIiUwK5qhhWwj11uljqBQWCWzeJglHnu5X3Z2O1oi6+h3O8gkGlOSGh7KZPhRqgUZDY9pA0SddbxJvO/V62inJhJrCNPdF1tLe4o6kDB9EVYF8/eR0NjtFYfetaAAqFKscLg+zT7jD9b+a3gfLYve6RzEGAwGzjacTbA5l9JSTEUCzakvvlyAUKSsAf9ODZgrfHm2rxJ4cY2qDByOk2T+MywvX00OQCAPxdnOsrcy84Y0xiAEa0XYznywcTy+aph4mxFveom2+rJpob66iDjdA== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CO1PR11MB4929.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(366004)(966005)(38100700002)(66446008)(64756008)(66556008)(33656002)(2906002)(66476007)(71200400001)(508600001)(53546011)(26005)(6506007)(66946007)(186003)(52536014)(8936002)(7696005)(82960400001)(76116006)(86362001)(9686003)(8676002)(83380400001)(66574015)(54906003)(38070700005)(19627235002)(110136005)(4326008)(316002)(5660300002)(122000001)(55016002);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?Nk1sdXFQWjdzRUIxMFJaMGNoVjFnbEVUNEV2T1c1N1h1TDhIbmRaU25hRDhV?= =?utf-8?B?RCt0MVJ5SE5DOXRRSmJuYUc5dmZJK282RFB3eHd1REdwWHJ5NW1TcG9aaUxn?= =?utf-8?B?YWlueVRmM3VQSXQxRDVqL1VSczZrS0pzMXkzQnV0dVNnKzgrQmFXeUJSRUhI?= =?utf-8?B?VmVmRHFvaGE1QVo1dXRhU05EcFFqUG9IOVloaDlMTXJZbXNvckNqTndPRUlj?= =?utf-8?B?MWhZWE1SMm03dmlIVnZMaGx4U3RPVEdFem0zZVQ0NzRuWG04ajBPc2VPdnVV?= =?utf-8?B?UDdYRURCTEM1MnI4T0xWU0J0VzlDaU5kbS9vS283RDhBK0FRSnZxNXJtazBH?= =?utf-8?B?MGVuaVdUMUdNSm1ReHNsZjFxRll0WDRRMzdyNmNFWXlqUHRrV2lDR1JiVUQy?= =?utf-8?B?L2tidmtUUE16eHAwK09jTnR2MnVPMDloaTZGd1cvQVhCWkpGbjhVU25CTzkx?= =?utf-8?B?c2dscGdONWlWUnBReDhiUGxxYnJyUUQ2Q0xpZGVpTE1tSm9zbWxiT29MSlFp?= =?utf-8?B?TmJPOUNnNGcvYytiemVrQU1YWVlRTCtGQ25BREpraGkvaG1WVDV6VFg3VlhL?= =?utf-8?B?THNzNDVlTFZDL2tBY1YwS01iaGlIOEptQ21VQU8rOVczS0QyNnovMW9xOVJs?= =?utf-8?B?c3VCeU5lN3FCUWh5V29JOHBvL0prWjhzeVkvcTdRQUtueVIvTnlZK0RHTXha?= =?utf-8?B?R2JmSHNKSGwweFhaUDBJaFQwbWdGa1ZtUE1RakJPeG56SFc5WmdGTzI2cEUr?= =?utf-8?B?VFJ5OXZKdVVmaGlpazNmQ2ZyVEd0U1F0S3RnSU1yeGRMblIvVFNaWkROM1Y3?= =?utf-8?B?UUZNYnpBeHNiMS8xeDU5VmpkVEF1QU9JdHh6TWE3Rk9VZDMvZlNhb1cxVXFK?= =?utf-8?B?cVVtZjMxcjIxRmdmWDh6SEJsZXRpUVE0Q2RCWnhvbnZFeGlacldhM2RVdktT?= =?utf-8?B?YlRYZlBHdDE1WkJXYjcrVU83ZUhXMEs1cVJsWEZlM01YRklYNlJqbW9wa1lP?= =?utf-8?B?MlJYSitaMVF2NUN3VVFHZWpsa2pnSlBZRXBDSXQ5a1U4NFQ1UzJlMTV1UVdS?= =?utf-8?B?dVJZRHN4SzhDQnNlWnMreVpDUENPNVlLTHpkSWkvYVYyemwzYzQ2YnFPWjk4?= =?utf-8?B?c05rQi96ZXk5MHBRaEJxYTFoZ3dFaU1ZamF6aEZ3RjQxSEhTdVBTSE9PdTdZ?= =?utf-8?B?MWpuQmZCa3BQWWVySlJ4VnRxWDBsVlAwaVdtMkxqRnIzWnc5VTdWRVJmZzhD?= =?utf-8?B?MFF2TjFHQUFwc0M1RU5kbFFDMTc1c0tWWW04c1RJZGg2ZWhGSkVRQ2dCOGcx?= =?utf-8?B?cE1qWWl2a2ZZUENGZGV4VW12THhQNkxSN0x1d05pcjlKKzNtMFI2cDRYWDZ4?= =?utf-8?B?NEFtK24vTFEza3pyQm1XbGhIZXp6c2FIYkY1Z1UvaUFhSzJyRTBrUkhwTmZ1?= =?utf-8?B?Wm1tTFBOVythV2tUR0FIYlV5VWZxcE1EeWY0dWFHbzdhbm1hWEw1SFhBZ3Vw?= =?utf-8?B?dkQxaDJxWlU4M012bGdTT2xZUWF0ZEwyK0xVQTVtYlZMc0FWOG5tanU1Mi95?= =?utf-8?B?empYeDBqNW1Ud25kZ0JEeFNoV3lqbUliRWRIQ0xLdmxhZjQ0TjRGdXJqUTRu?= =?utf-8?B?dkFFV25zL3dCNEFpbkt0dmNLS0RXc0h0dnlzM3lJR0tTeklJdU9QM0JhYXE5?= =?utf-8?B?ZXRTQWduaTVmV3QxMUsza2dVUHdPa0E5eG4yWHlSU3l4VzNUY0JvdzVlSlg1?= =?utf-8?B?c3B6c3VqTXdhQlRMWGJtUEtxY2ZJeUlKNlA3VG42U0tIdHUrZVFNcjRDaU5N?= =?utf-8?B?Y0pGczltZ1pzVThRMUluaUI4T2ZzeEJiMTRYS013b21TOWdZamFDTXlOZjVo?= =?utf-8?B?OWhCV2F6QzcyQWNsczlabmY2NmZJYTVZS0NHL1JXNGR2U29xc0trMHh1YXV1?= =?utf-8?B?M1hhcjlFQTdSLzVHdElwUXU4MCtaN2Nla3MvM1hNMXd1SFVqZ0ZHOGdNOE84?= =?utf-8?B?Z3RwSVZKZ3FxM3JFVnBTRHl0Mk9VWGVmWE1PSkNGQ2c2L3UxeGFDY2JMandT?= =?utf-8?B?bFN0bStsanVuQ0xUdDJPOEQ5cjVFdlhQc015Umx4cytBaS9EMHRRWXJZcW1u?= =?utf-8?B?d2FDYVlwZk5aOS9McjhISkV3VnU1ckM3Y3VGY0dLd3ZySXBWSFQyUmlVeXlP?= =?utf-8?B?YWNXQ0xNSk5DVE1WbC8rbXNsNzcvd205eVNUNUQxVHNtVzBYc3FMYzA2TmZG?= =?utf-8?B?UDBsRW1OazZzMXhOUFlKU3YwYUtBPT0=?= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: CO1PR11MB4929.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 34aece8a-1fd2-404e-498e-08d9a0a4c732 X-MS-Exchange-CrossTenant-originalarrivaltime: 05 Nov 2021 21:39:42.3432 (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: bTy85lAw+6Agt7bj6muIiz4ZwIIJy9XNei9OXN2FkFKzXP1pWgR477MtVmcCMqPmGbsbbr8qKge1Efq5VhB3bsFq8718dsoCJcnscNG/1ps= X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW5PR11MB5811 Return-Path: michael.d.kinney@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 SGkgVml0YWx5LA0KDQpTbyBJQTMyIENMQU5HUERCIGlzIGxpa2VseSBwdXR0aW5nIHRoZSBVSU5U VDggYXJyYXkgZ2xvYmFsIG1OZXdHZHQNCm9uIGEgNC1ieXRlIGJvdW5kYXJ5LCB3aGVuIGl0IHdv dWxkIGhhdmUgdG8gYmUgb24gYW4gOC1ieXRlIGJvdW5kYXJ5DQp0byBtZWV0IHRoZSBHRFQgYWxp Z25tZW50IHJlcXVpcmVtZW50cy4NCg0KSSB3b3VsZCBleHBlY3QgdGhlIFg2NCBDTEFOR1BEQiBi dWlsZCB0byB1c2UgYW4gOC1ieXRlIGJvdW5kYXJ5Lg0KDQpBbm90aGVyIG9wdGlvbiB0byBhbGln biB0byA4LWJ5dGUgYm91bmRhcnkgaXMgdG8gbWFrZSB0aGUgYXJyYXkgYW4NCmFycmF5IG9mIFVJ TlQ2NCB2YWx1ZXMuICBUbyBiZSBtb3JlIGNvcnJlY3QsIHdlIGNvdWxkIHVzZSBhbiBhcnJheQ0K b2YgSUEzMl9TRUdNRU5UX0RFU0NSSVBUT1Igc3RydWN0dXJlcyB0aGF0IGlzIGEgdW5pb24gd2l0 aCBhDQpVSU5UNjQgdG8gZ3VhcmFudGVlIDgtYnl0ZSBhbGlnbm1lbnQuDQoNCnR5cGVkZWYgdW5p b24gew0KICBzdHJ1Y3Qgew0KICAgIFVJTlQzMiAgTGltaXRMb3c6MTY7DQogICAgVUlOVDMyICBC YXNlTG93OjE2Ow0KICAgIFVJTlQzMiAgQmFzZU1pZDo4Ow0KICAgIFVJTlQzMiAgVHlwZTo0Ow0K ICAgIFVJTlQzMiAgUzoxOw0KICAgIFVJTlQzMiAgRFBMOjI7DQogICAgVUlOVDMyICBQOjE7DQog ICAgVUlOVDMyICBMaW1pdEhpZ2g6NDsNCiAgICBVSU5UMzIgIEFWTDoxOw0KICAgIFVJTlQzMiAg TDoxOw0KICAgIFVJTlQzMiAgREI6MTsNCiAgICBVSU5UMzIgIEc6MTsNCiAgICBVSU5UMzIgIEJh c2VIaWdoOjg7DQogIH0gQml0czsNCiAgVUlOVDY0ICBVaW50NjQ7DQp9IElBMzJfU0VHTUVOVF9E RVNDUklQVE9SOw0KIA0KSUEzMl9TRUdNRU5UX0RFU0NSSVBUT1IgIG1OZXdHZHRbKENQVV9UU1Nf R0RUX1NJWkUgLyBzaXplb2YgKElBMzJfU0VHTUVOVF9ERVNDUklQVE9SKSkgKyAxXTsNCg0KQWRk IDEgaW4gY2FzZSBDUFVfVFNTX0dEVF9TSVpFIGlzIG5vdCA4LWJ5dGUgYWxpZ25lZCBpbiBzaXpl LiANCg0KDQpGb3IgY29tZSBvZiB0aGUgbG9naWMsIHlvdSB3b3VsZCBzdGlsbCBuZWVkIHRvIGlu dHJvZHVjZSBhIFVJTlQ4ICogbG9jYWwgdmFyaWFibGUNCnRvIGNvbXB1dGUgdGhlIHN0YXJ0IG9m IGVhY2ggY29tcG9uZW50IGluIHRoaXMgYXJyYXkuDQoNCkkgdGhpbmsgaW4gb3RoZXIgcGxhY2Vz LCB0aGUgR0RUIGlzIGFsbG9jYXRlZCB1c2luZyBBbGxvY2F0ZVBvb2woKQ0Kd2hpY2ggZ3VhcmFu dGVlcyBhbiA4LWJ5dGUgYWxpZ25tZW50Lg0KDQpBcmUgeW91IHN1Z2dlc3RpbmcgdGhhdCB0aGUg QUxJR05BUyBtYWNybyB3b3VsZCBtYXAgdG8gdGhlIGNvbXBpbGVyDQpzcGVjaWZpYyBhbGlnbm1l bnQgZGlyZWN0aXZlcz8gIFdlIGhhdmUgbm90IGhhZCB0byBpbnRyb2R1Y2UgdGhhdCB5ZXQNCmFu ZCB3b3VsZCBsaWtlIHRvIGZpZ3VyZSBvdXQgaG93IHRvIGFkZHJlc3MgdGhpcyBvbmUgaXNzdWVz IHdpdGhvdXQNCmFkZGluZyB0aG9zZSBkaXJlY3RpdmVzLg0KDQpNaWtlDQoNCj4gLS0tLS1Pcmln aW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogVml0YWx5IENoZXB0c292IDxjaGVwdHNvdkBpc3By YXMucnU+DQo+IFNlbnQ6IEZyaWRheSwgTm92ZW1iZXIgNSwgMjAyMSAxOjM2IFBNDQo+IFRvOiBL aW5uZXksIE1pY2hhZWwgRCA8bWljaGFlbC5kLmtpbm5leUBpbnRlbC5jb20+DQo+IENjOiBMZWlm IExpbmRob2xtIDxsZWlmQG51dmlhaW5jLmNvbT47IGRldmVsQGVkazIuZ3JvdXBzLmlvOyBZYW8s IEppZXdlbiA8amlld2VuLnlhb0BpbnRlbC5jb20+OyBEb25nLCBFcmljDQo+IDxlcmljLmRvbmdA aW50ZWwuY29tPjsgV2FuZywgSmlhbiBKIDxqaWFuLmoud2FuZ0BpbnRlbC5jb20+OyBKZWZmIEZh biA8dmFuamVmZl85MTlAaG90bWFpbC5jb20+OyBNaWtoYWlsIEtyaWNoYW5vdg0KPiA8a3JpY2hh bm92QGlzcHJhcy5ydT47IE1hcnZpbiBIw6R1c2VyIDxtaGFldXNlckBwb3N0ZW8uZGU+DQo+IFN1 YmplY3Q6IFJlOiBbZWRrMi1kZXZlbF0gW1BBVENIXSBVZWZpQ3B1UGtnOiBGaXggQ1BVIHN0YWNr IGd1YXJkIHN1cHBvcnQgYnkgYWxpZ25pbmcgR0RUIGJ1ZmZlcg0KPiANCj4gSGkgTWlrZSwNCj4g DQo+IFRoZSBjb21tYW5kIGlzOg0KPiBidWlsZCAtYSBJQTMyIC1wIE92bWZQa2cvT3ZtZlBrZ0lh MzIuZHNjIC10IENMQU5HUERCIC1iIE5PT1BUIC1EIERFQlVHX09OX1NFUklBTF9QT1JUDQo+IA0K PiBCdXQgSSBvYnZpb3VzbHkgbmVlZGVkIHRvIGFkZA0KPiBnRWZpTWRlTW9kdWxlUGtnVG9rZW5T cGFjZUd1aWQuUGNkQ3B1U3RhY2tHdWFyZHxUUlVFDQo+IHRvIE92bWZQa2dJYTMyLmRzYy4NCj4g DQo+IFRoZSBjb21waWxlciBpcyBjbGFuZyAxMi4wLjEsIGJlY2F1c2UgY2xhbmcgMTMgaXMgYmFk bHkgYnJva2VuWzFdLiBJdCB3b3VsZCB0aGVuIGNyYXNoIGxpa2UgdGhpczoNCj4gDQo+IEhhbmRP ZmZUb0R4ZUNvcmUoKSBTdGFjayBCYXNlOiAweDdGRTI0MDAwLCBTdGFjayBTaXplOiAweDIwMDAw DQo+IA0KPiBBU1NFUlRfRUZJX0VSUk9SIChTdGF0dXMgPSBJbnZhbGlkIFBhcmFtZXRlcikNCj4g QVNTRVJUIFtEeGVDb3JlXSBEeGVNYWluLmMoMjU2KTogIUVGSV9FUlJPUiAoU3RhdHVzKQ0KPiAN Cj4gQXMgZm9yIGFsaWduaW5nIHRoZSBhcnJheSwgSSBjYW4gc3VibWl0IGEgVjIgd2hpY2ggaW50 cm9kdWNlcyB0aGUgQUxJR05BUyBtYWNyby4gSSBhbHNvIGxpa2UgdGhpcyBzb2x1dGlvbiBhIGxv dCBtb3JlLg0KPiANCj4gQmVzdCB3aXNoZXMsDQo+IFZpdGFseQ0KPiANCj4gWzFdIGh0dHBzOi8v YnVnemlsbGEudGlhbm9jb3JlLm9yZy9idWdsaXN0LmNnaT9xdWlja3NlYXJjaD1jbGFuZyUyMDEz Jmxpc3RfaWQ9MjQyNzYNCj4gDQo+IA0KPiA+IE9uIDUgTm92IDIwMjEsIGF0IDIyOjQyLCBLaW5u ZXksIE1pY2hhZWwgRCA8bWljaGFlbC5kLmtpbm5leUBpbnRlbC5jb20+IHdyb3RlOg0KPiA+DQo+ ID4gSGkgVml0YWx5LA0KPiA+DQo+ID4gQ2FuIHlvdSBwbGVhc2UgcHJvdmlkZSBzb21lIGRldGFp bHMgb24gdGhlIGNvbXBpbGVyL2J1aWxkIGNvbW1hbmQgdGhhdCBkaWQgbm90IGFsaWduIHRoZSBh cnJheQ0KPiA+IGNvcnJlY3RseS4NCj4gPg0KPiA+IEkgYWdyZWUgdGhhdCB0aGUgR0RUIG11c3Qg aGF2ZSB0aGUgY29ycmVjdCBhbGlnbm1lbnQuDQo+ID4NCj4gPiBJIGRvIG5vdCBsaWtlIHRoZSBp ZGVhIG9mIHVudXNlZCBieXRlcyBhdCB0aGUgYmVnaW5uaW5nIG9mIHRoZSBhcnJheS4gSSB3b3Vs ZCBwcmVmZXIgdG8gc2VlDQo+ID4gYW4gYXJyYXkgdGhhdCBpcyBhbGlnbmVkIGNvcnJlY3RseSBi eSBkZWNsYXJhdGlvbi4NCj4gPg0KPiA+DQo+ID4gTWlrZQ0KPiA+DQo+ID4+IC0tLS0tT3JpZ2lu YWwgTWVzc2FnZS0tLS0tDQo+ID4+IEZyb206IExlaWYgTGluZGhvbG0gPGxlaWZAbnV2aWFpbmMu Y29tPg0KPiA+PiBTZW50OiBGcmlkYXksIE5vdmVtYmVyIDUsIDIwMjEgMTI6MjggUE0NCj4gPj4g VG86IGRldmVsQGVkazIuZ3JvdXBzLmlvOyBjaGVwdHNvdkBpc3ByYXMucnUNCj4gPj4gQ2M6IFlh bywgSmlld2VuIDxqaWV3ZW4ueWFvQGludGVsLmNvbT47IERvbmcsIEVyaWMgPGVyaWMuZG9uZ0Bp bnRlbC5jb20+OyBLaW5uZXksIE1pY2hhZWwgRA0KPiA8bWljaGFlbC5kLmtpbm5leUBpbnRlbC5j b20+Ow0KPiA+PiBXYW5nLCBKaWFuIEogPGppYW4uai53YW5nQGludGVsLmNvbT47IEplZmYgRmFu IDx2YW5qZWZmXzkxOUBob3RtYWlsLmNvbT47IE1pa2hhaWwgS3JpY2hhbm92IDxrcmljaGFub3ZA aXNwcmFzLnJ1PjsNCj4gTWFydmluDQo+ID4+IEjDpHVzZXIgPG1oYWV1c2VyQHBvc3Rlby5kZT4N Cj4gPj4gU3ViamVjdDogUmU6IFtlZGsyLWRldmVsXSBbUEFUQ0hdIFVlZmlDcHVQa2c6IEZpeCBD UFUgc3RhY2sgZ3VhcmQgc3VwcG9ydCBieSBhbGlnbmluZyBHRFQgYnVmZmVyDQo+ID4+DQo+ID4+ IFVlZmlDcHVQa2cgbWFpbnRhaW5lcnMgLSBwbGVhc2UgcmVzcG9uZC4NCj4gPj4NCj4gPj4gTWVh bndoaWxlLCBWaXRhbHksIGNvdWxkIHlvdSBwbGVhc2UgcHJvdmlkZSBhIGNvbW1pdCBtZXNzYWdl Pw0KPiA+PiBUaGUgQlogbGluayBpcyBuZWVkZWQsIGJ1dCBpdCdzIG5vdCBhIHN1YnN0aXR1dGUu DQo+ID4+DQo+ID4+IC8NCj4gPj4gICAgTGVpZg0KPiA+Pg0KPiA+PiBPbiBNb24sIFNlcCAyMCwg MjAyMSBhdCAxNzoxMzo0NyArMDMwMCwgVml0YWx5IENoZXB0c292IHdyb3RlOg0KPiA+Pj4gUkVG OiBodHRwczovL2J1Z3ppbGxhLnRpYW5vY29yZS5vcmcvc2hvd19idWcuY2dpP2lkPTM2MzkNCj4g Pj4+DQo+ID4+Pg0KPiA+Pj4NCj4gPj4+IENjOiBKaWV3ZW4gWWFvIDxqaWV3ZW4ueWFvQGludGVs LmNvbT4NCj4gPj4+DQo+ID4+PiBDYzogRXJpYyBEb25nIDxlcmljLmRvbmdAaW50ZWwuY29tPg0K PiA+Pj4NCj4gPj4+IENjOiBNaWNoYWVsIEtpbm5leSA8bWljaGFlbC5kLmtpbm5leUBpbnRlbC5j b20+DQo+ID4+Pg0KPiA+Pj4gQ2M6IEppYW4gSiBXYW5nIDxqaWFuLmoud2FuZ0BpbnRlbC5jb20+ DQo+ID4+Pg0KPiA+Pj4gQ2M6IEplZmYgRmFuIDx2YW5qZWZmXzkxOUBob3RtYWlsLmNvbT4NCj4g Pj4+DQo+ID4+PiBDYzogTWlraGFpbCBLcmljaGFub3YgPGtyaWNoYW5vdkBpc3ByYXMucnU+DQo+ ID4+Pg0KPiA+Pj4gQ2M6IE1hcnZpbiBIw6R1c2VyIDxtaGFldXNlckBwb3N0ZW8uZGU+DQo+ID4+ Pg0KPiA+Pj4gU2lnbmVkLW9mZi1ieTogVml0YWx5IENoZXB0c292IDxjaGVwdHNvdkBpc3ByYXMu cnU+DQo+ID4+Pg0KPiA+Pj4gLS0tDQo+ID4+Pg0KPiA+Pj4gLi4uL0xpYnJhcnkvQ3B1RXhjZXB0 aW9uSGFuZGxlckxpYi9EeGVFeGNlcHRpb24uYyAgICB8IDEyICsrKysrKystLS0tLQ0KPiA+Pj4N Cj4gPj4+IDEgZmlsZSBjaGFuZ2VkLCA3IGluc2VydGlvbnMoKyksIDUgZGVsZXRpb25zKC0pDQo+ ID4+Pg0KPiA+Pj4NCj4gPj4+DQo+ID4+PiBkaWZmIC0tZ2l0IGEvVWVmaUNwdVBrZy9MaWJyYXJ5 L0NwdUV4Y2VwdGlvbkhhbmRsZXJMaWIvRHhlRXhjZXB0aW9uLmMNCj4gPj4gYi9VZWZpQ3B1UGtn L0xpYnJhcnkvQ3B1RXhjZXB0aW9uSGFuZGxlckxpYi9EeGVFeGNlcHRpb24uYw0KPiA+Pj4NCj4g Pj4+IGluZGV4IGZkNTlmMDllY2QuLjEyODc0ODExZTEgMTAwNjQ0DQo+ID4+Pg0KPiA+Pj4gLS0t IGEvVWVmaUNwdVBrZy9MaWJyYXJ5L0NwdUV4Y2VwdGlvbkhhbmRsZXJMaWIvRHhlRXhjZXB0aW9u LmMNCj4gPj4+DQo+ID4+PiArKysgYi9VZWZpQ3B1UGtnL0xpYnJhcnkvQ3B1RXhjZXB0aW9uSGFu ZGxlckxpYi9EeGVFeGNlcHRpb24uYw0KPiA+Pj4NCj4gPj4+IEBAIC0yMiw3ICsyMiw3IEBAIEVY Q0VQVElPTl9IQU5ETEVSX0RBVEEgICAgICBtRXhjZXB0aW9uSGFuZGxlckRhdGE7DQo+ID4+Pg0K PiA+Pj4NCj4gPj4+DQo+ID4+PiBVSU5UOCAgICAgICAgICAgICAgICAgICAgICAgbU5ld1N0YWNr W0NQVV9TVEFDS19TV0lUQ0hfRVhDRVBUSU9OX05VTUJFUiAqDQo+ID4+Pg0KPiA+Pj4gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDUFVfS05PV05fR09PRF9TVEFDS19TSVpF XTsNCj4gPj4+DQo+ID4+PiAtVUlOVDggICAgICAgICAgICAgICAgICAgICAgIG1OZXdHZHRbQ1BV X1RTU19HRFRfU0laRV07DQo+ID4+Pg0KPiA+Pj4gK1VJTlQ4ICAgICAgICAgICAgICAgICAgICAg ICBtTmV3R2R0W0NQVV9UU1NfR0RUX1NJWkUgKyBJQTMyX0dEVF9BTElHTk1FTlRdOw0KPiA+Pj4N Cj4gPj4+DQo+ID4+Pg0KPiA+Pj4gLyoqDQo+ID4+Pg0KPiA+Pj4gICBDb21tb24gZXhjZXB0aW9u IGhhbmRsZXIuDQo+ID4+Pg0KPiA+Pj4gQEAgLTIzOCw2ICsyMzgsNyBAQCBJbml0aWFsaXplQ3B1 RXhjZXB0aW9uSGFuZGxlcnNFeCAoDQo+ID4+Pg0KPiA+Pj4gICBDUFVfRVhDRVBUSU9OX0lOSVRf REFUQSAgICAgICAgICAgRXNzRGF0YTsNCj4gPj4+DQo+ID4+PiAgIElBMzJfREVTQ1JJUFRPUiAg ICAgICAgICAgICAgICAgICBJZHRyOw0KPiA+Pj4NCj4gPj4+ICAgSUEzMl9ERVNDUklQVE9SICAg ICAgICAgICAgICAgICAgIEdkdHI7DQo+ID4+Pg0KPiA+Pj4gKyAgVUlOVDggICAgICAgICAgICAg ICAgICAgICAgICAgICAgICpHZHQ7DQo+ID4+Pg0KPiA+Pj4NCj4gPj4+DQo+ID4+PiAgIC8vDQo+ ID4+Pg0KPiA+Pj4gICAvLyBUbyBhdm9pZCByZXBlYXQgaW5pdGlhbGl6YXRpb24gb2YgZGVmYXVs dCBoYW5kbGVycywgdGhlIGNhbGxlciBzaG91bGQgcGFzcw0KPiA+Pj4NCj4gPj4+IEBAIC0yNTks NiArMjYwLDcgQEAgSW5pdGlhbGl6ZUNwdUV4Y2VwdGlvbkhhbmRsZXJzRXggKA0KPiA+Pj4NCj4g Pj4+ICAgICBpZiAoUGNkR2V0Qm9vbCAoUGNkQ3B1U3RhY2tHdWFyZCkpIHsNCj4gPj4+DQo+ID4+ PiAgICAgICBpZiAoSW5pdERhdGEgPT0gTlVMTCkgew0KPiA+Pj4NCj4gPj4+ICAgICAgICAgU2V0 TWVtIChtTmV3R2R0LCBzaXplb2YgKG1OZXdHZHQpLCAwKTsNCj4gPj4+DQo+ID4+PiArICAgICAg ICBHZHQgPSBBTElHTl9QT0lOVEVSIChtTmV3R2R0LCBJQTMyX0dEVF9BTElHTk1FTlQpOw0KPiA+ Pj4NCj4gPj4+DQo+ID4+Pg0KPiA+Pj4gICAgICAgICBBc21SZWFkSWR0ciAoJklkdHIpOw0KPiA+ Pj4NCj4gPj4+ICAgICAgICAgQXNtUmVhZEdkdHIgKCZHZHRyKTsNCj4gPj4+DQo+ID4+PiBAQCAt MjcwLDExICsyNzIsMTEgQEAgSW5pdGlhbGl6ZUNwdUV4Y2VwdGlvbkhhbmRsZXJzRXggKA0KPiA+ Pj4NCj4gPj4+ICAgICAgICAgRXNzRGF0YS5YNjQuU3RhY2tTd2l0Y2hFeGNlcHRpb25OdW1iZXIg PSBDUFVfU1RBQ0tfU1dJVENIX0VYQ0VQVElPTl9OVU1CRVI7DQo+ID4+Pg0KPiA+Pj4gICAgICAg ICBFc3NEYXRhLlg2NC5JZHRUYWJsZSA9IChWT0lEICopSWR0ci5CYXNlOw0KPiA+Pj4NCj4gPj4+ ICAgICAgICAgRXNzRGF0YS5YNjQuSWR0VGFibGVTaXplID0gSWR0ci5MaW1pdCArIDE7DQo+ID4+ Pg0KPiA+Pj4gLSAgICAgICAgRXNzRGF0YS5YNjQuR2R0VGFibGUgPSBtTmV3R2R0Ow0KPiA+Pj4N Cj4gPj4+IC0gICAgICAgIEVzc0RhdGEuWDY0LkdkdFRhYmxlU2l6ZSA9IHNpemVvZiAobU5ld0dk dCk7DQo+ID4+Pg0KPiA+Pj4gLSAgICAgICAgRXNzRGF0YS5YNjQuRXhjZXB0aW9uVHNzRGVzYyA9 IG1OZXdHZHQgKyBHZHRyLkxpbWl0ICsgMTsNCj4gPj4+DQo+ID4+PiArICAgICAgICBFc3NEYXRh Llg2NC5HZHRUYWJsZSA9IEdkdDsNCj4gPj4+DQo+ID4+PiArICAgICAgICBFc3NEYXRhLlg2NC5H ZHRUYWJsZVNpemUgPSBDUFVfVFNTX0dEVF9TSVpFOw0KPiA+Pj4NCj4gPj4+ICsgICAgICAgIEVz c0RhdGEuWDY0LkV4Y2VwdGlvblRzc0Rlc2MgPSBHZHQgKyBHZHRyLkxpbWl0ICsgMTsNCj4gPj4+ DQo+ID4+PiAgICAgICAgIEVzc0RhdGEuWDY0LkV4Y2VwdGlvblRzc0Rlc2NTaXplID0gQ1BVX1RT U19ERVNDX1NJWkU7DQo+ID4+Pg0KPiA+Pj4gLSAgICAgICAgRXNzRGF0YS5YNjQuRXhjZXB0aW9u VHNzID0gbU5ld0dkdCArIEdkdHIuTGltaXQgKyAxICsgQ1BVX1RTU19ERVNDX1NJWkU7DQo+ID4+ Pg0KPiA+Pj4gKyAgICAgICAgRXNzRGF0YS5YNjQuRXhjZXB0aW9uVHNzID0gR2R0ICsgR2R0ci5M aW1pdCArIDEgKyBDUFVfVFNTX0RFU0NfU0laRTsNCj4gPj4+DQo+ID4+PiAgICAgICAgIEVzc0Rh dGEuWDY0LkV4Y2VwdGlvblRzc1NpemUgPSBDUFVfVFNTX1NJWkU7DQo+ID4+Pg0KPiA+Pj4NCj4g Pj4+DQo+ID4+PiAgICAgICAgIEluaXREYXRhID0gJkVzc0RhdGE7DQo+ID4+Pg0KPiA+Pj4gLS0N Cj4gPj4+DQo+ID4+PiAyLjMwLjEgKEFwcGxlIEdpdC0xMzApDQo+ID4+Pg0KPiA+Pj4NCj4gPj4+ DQo+ID4+Pg0KPiA+Pj4NCj4gPj4+IA0KPiA+Pj4NCj4gPj4+DQoNCg==