From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by mx.groups.io with SMTP id smtpd.web11.6930.1647933829780749919 for ; Tue, 22 Mar 2022 00:23:50 -0700 Authentication-Results: mx.groups.io; dkim=fail reason="unable to parse pub key" header.i=@intel.com header.s=intel header.b=eOYR7cGr; spf=pass (domain: intel.com, ip: 192.55.52.120, mailfrom: ted.kuo@intel.com) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1647933829; x=1679469829; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=MLr2vkvykvi6yVRE2qF1jlbgFUzXD8QdwVxml6mGhCA=; b=eOYR7cGrdesda+dJB9pHgMCRlLFxfT+Jt8c66zp9aFqOZk7crUJKJQST xqADxOOYs89/66OwI2ihjjDhPCGNYLy/BsY0tkYLQPJVfT/PfbUYrIxK+ G0PWoJQR0bCTK6vYsRiaDfv/WEIoloPkimBv47tY7VxNrzHMopNHTSBay XZnoC/w+X9p5cKR+w2rT4XHByjgLEpPniXUW4t3W3z4x0y3ipyfM63I3W LSxZeYA8RtKprEg6l9IfRwrz07Xy5Gwrro+KkW+7j0yb+f0mT+hi8iY8g o9CrdtUcXnbRvwUuNhsqskt+7asvToWsGVRIyd9aFA/GusxSByi9uOIyZ A==; X-IronPort-AV: E=McAfee;i="6200,9189,10293"; a="256568441" X-IronPort-AV: E=Sophos;i="5.90,201,1643702400"; d="scan'208";a="256568441" Received: from orsmga006.jf.intel.com ([10.7.209.51]) by fmsmga104.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 22 Mar 2022 00:23:48 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.90,201,1643702400"; d="scan'208";a="518770320" Received: from orsmsx605.amr.corp.intel.com ([10.22.229.18]) by orsmga006.jf.intel.com with ESMTP; 22 Mar 2022 00:23:48 -0700 Received: from orsmsx610.amr.corp.intel.com (10.22.229.23) 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.2308.27; Tue, 22 Mar 2022 00:23:48 -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.2308.21 via Frontend Transport; Tue, 22 Mar 2022 00:23:48 -0700 Received: from NAM02-BN1-obe.outbound.protection.outlook.com (104.47.51.49) 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.2308.21; Tue, 22 Mar 2022 00:23:47 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ImWdoiOizs504wFBSukOQ0E4cEaJwVu190WAjHZmast/zsfO00DYZlm11Hy9JCPPqmKHaqBkoHEQIpQNl+pXJtoiXgPQMrRCpoKUBmzmQ5jen0U4kO8tW+g4wsp6mfYH45ge8exqU+Ot73s5l+zCLTJRnb+EBkz3yg1znkq4YSet9bjtqRSK7ctzRCRU3AZIBWrliKPTdNYEoVZOwyY6R/YR1ilkCpyYlmP07aAO+nXjWjOyOYqQibBMEM5zQZSvsL5xR93ROS6/Fcd3nv/UbH6Ivy5u6R7mfG1kc4Otp4t/skJm3KY+pvovoj9QNSnw/wC16Z96O9HRybKrnzQ2TQ== 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=MLr2vkvykvi6yVRE2qF1jlbgFUzXD8QdwVxml6mGhCA=; b=mnfY3l//IsjQugM8gbhCTjo9wEDeiozDFXqm4BYNQS/hOt6D2NlnjHAfJDk+mlCS5LKF3bS41bqhMgM6j6M/ljGyXV+gzsmiAah+RuxvMko1+8t8tBazxVFkAEbYeabrxa+vKLGhTZ1PDvzfWeleWt5uFKF8/34UaFiYzNyuHxdusYl5CbeLWUTtFQAZ2lr0ZwnCFgFGN/hJzAXRZncxHKLq4PS2JE097BD6EuQrX6gXHxIln/bJ1Fp+nnu/3I46mXMAJicMgrXEMb9MnweEHr0Guy5zGcKhC74aog/hJ87OkJmPf2pK/yL/uWTIlBwdS4x5/nyGvTvCRgihhZKd8A== 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 Received: from MW5PR11MB5932.namprd11.prod.outlook.com (2603:10b6:303:1a2::5) by MN2PR11MB3901.namprd11.prod.outlook.com (2603:10b6:208:138::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5081.15; Tue, 22 Mar 2022 07:23:40 +0000 Received: from MW5PR11MB5932.namprd11.prod.outlook.com ([fe80::99c1:4af2:442d:4ffa]) by MW5PR11MB5932.namprd11.prod.outlook.com ([fe80::99c1:4af2:442d:4ffa%6]) with mapi id 15.20.5081.023; Tue, 22 Mar 2022 07:23:40 +0000 From: "Kuo, Ted" To: =?utf-8?B?TWFydmluIEjDpHVzZXI=?= , "devel@edk2.groups.io" CC: "Kinney, Michael D" , "Bi, Dandan" , "Gao, Liming" , "De, Debkumar" , "Han, Harry" , "West, Catharine" , "Wang, Jian J" Subject: Re: [edk2-devel][PATCH 1/2] MdeModulePkg: StackOffset must be aligned to a 16-byte boundary in X64 Thread-Topic: [edk2-devel][PATCH 1/2] MdeModulePkg: StackOffset must be aligned to a 16-byte boundary in X64 Thread-Index: AQHYPVxXIZogd2C5DkWk1xtEGUDg2qzKmzQw Date: Tue, 22 Mar 2022 07:23:40 +0000 Message-ID: References: <6301e56ae7ec1852c8bf499c2df69e0a04420443.1647864782.git.ted.kuo@intel.com> 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.401.20 authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: dfcc1e5b-85a0-422f-d0ea-08da0bd4e3b9 x-ms-traffictypediagnostic: MN2PR11MB3901:EE_ x-ld-processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr x-microsoft-antispam-prvs: x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: fqQaTBVQqj8VW0WJ1AmTawfSbaOnLt4TmkJZe917h7JjMojRsPICR/TttwD480qoLjloymtSVf1Yu9dTtDp6xEYBrEWbei1QXiwG+KxTt5XLNy48slQnQ905NNmI9Yd6dXS9kJHtzpOGWrDnLU++720BZf/yzMVGA4UUYjVBkRk/slAGO2K80NNg1uStE57ogcW+nte7RU+rFE1KBnGvLJrIxECT3eXDTcbrAobbV0p6hDSTKoqYaUssR+ipcWPefRPglcfGvnGTBgPIEH39U2SDmrZtQpYLfiq6e1fvGt2n46FuUasVoDsnvmqqaG0uOpBr4PN2SojqSBn+p+k1u/xP3CyxirrBtwE+LzGNmEgsT/YPuL6mPavttO8dX7UUnMq/CfNdUqowlkeEBvx7Nqs7EBhoJ0CYbOvkGMQI1ppdE4yaa65JbUaAlRrWMn70olQkvmADzGMaFx0Van3QyfFQC7VFhlHNmtN+SsqMJtP2yh/Uvv8Lstid1rGkj7jBJM9Ke/TlKRjJjfb7irnvErjnQy0lqnu3GxlRSpXvy6JiTjroQDZ5YVLGN26j8kOJJ8IqtuImNnASbY36Wu8qpvCc5tnN0Omfe/o3m50Qmx5eLyRSHHZCtgv/Jv0l+qe87HXhROVcTFyO0EWAe0PqweablHsbIi7cidVTX6CSGPCDnv8hAWUPfsWR8Z6qjEPcC1j6uabiOzqJquwqrTRKSVHm12P8qSMPfaPH1YNpQuPI4xJqoFDIEJjxlIt/BXZq4taUES3AOgKB+EO6xn4/YoQvBEvtOJb7eiT1J+Nvvy0= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MW5PR11MB5932.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230001)(366004)(2906002)(38100700002)(82960400001)(86362001)(38070700005)(122000001)(9686003)(54906003)(107886003)(110136005)(66574015)(186003)(508600001)(26005)(71200400001)(6506007)(66556008)(53546011)(7696005)(64756008)(8676002)(66446008)(4326008)(5660300002)(66476007)(8936002)(52536014)(76116006)(66946007)(55016003)(316002)(83380400001)(33656002);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?U3REeHQvTXFvUTl2RS9yb2pHTUxac2VhZDBKRHFEUE90L1lnMG1mNCtRZHZY?= =?utf-8?B?cGNzQnlhd01SQmpUajl6Q2UvTm8vTEk0bnZ0TzMwakhWczMxQ29EaGxtYUJI?= =?utf-8?B?emFnRC9PWXp0TFlhdWJsWXdTd3BPNGxCSUEwOFRRTXJPb1pCc0phMEczODli?= =?utf-8?B?d2VCOEJCOXRjMXdDOWtKeGVNSUVtUlpBMGtKbUdPSjJhOUlBK21UNVZ6QWFC?= =?utf-8?B?dmNLaGJoSU5NQjlmZ1lKWWIyOUdqQkF1NlBZaFlPK3FRVFYrUDRCeHVwdENN?= =?utf-8?B?QnVQWlVGVWNwZ3djZmdzYjFZUkE2REN4dmZhakhFcDhPa0JmUnZVaHN4Vk5q?= =?utf-8?B?RHY0TnpQeDhsbk5zMVdhVXNRU0R0Uk0vOU9CMi8zY2JQeEZWZG12ek1MS1lZ?= =?utf-8?B?b3dSZXozK2FnbTV6RTB5eXVkMVEwaHFNVVVBQ1J5OGhtaUMzajhrandkSDV4?= =?utf-8?B?RTVyTFYxbmNoRXVoNVZjR3NyWXM1QnJreHZEZHZZTHJEQVlURmZ0V2QrNjdr?= =?utf-8?B?akFweWs2TTRHWG1Pdk5sa2M5aDRISGtCSmdTMzRYaGFBc2ovVWhJNUVzNG15?= =?utf-8?B?UzlQMDdIcjhPREV5emVIOFp1Vk01M3VIRXJrdTFhdmtCM3M1RkJSZ09wL1F5?= =?utf-8?B?RUp5WkgrR29hcGJobS9kNnJ0elBZaVRpa0xLdGYrYU5CM0JRUWtodnRRK0xx?= =?utf-8?B?a1dhZlpEV0U1OEZrV0R5S2lidmYzUlA0T0hmejArMjVyanpMdkxudGVSOUpC?= =?utf-8?B?R3lsWExxa082T21HT1hjNUdlSSs4bTNrYk9nTU12L1dPUVlrQ0xhSEJGOVk2?= =?utf-8?B?angzTnJFVVRwL0k0K0hxMXRxN2RReTlicnEyaktSWitNcjJmUHc1a1FYVHdM?= =?utf-8?B?eXhNZTcvWHNIQnRkejVBbEJBTmhPSC8yQk5UNFVDWC9aLzlOVFFwYUYrbGR3?= =?utf-8?B?UDdiWU11VGZyZjE4eEM0cWFVdTNEWlFZTzcybjN2djFXcmhLSnR1R1dsenc3?= =?utf-8?B?WXVaTjJyUGV3Um9yR2hkUTlZN2thQVV0cmo3TU9xSHpOVEdiRnNHV2xQek1k?= =?utf-8?B?UkdaTEVmT1A5TjlJa1IwZTRDdHVFT29RSE9wdUU2aHFZT204NEVxd1VpU1N4?= =?utf-8?B?dXlDMTZXbk5SbXBTcTJsZUhJWmhhUDMvWTdYZDBHWU5Mb29rdWFKaUxlb0tv?= =?utf-8?B?ZmVjbjA5S1lDZkptYUdJakJyWjRPWFVNck5iR1BaNkphT1M1QXAxRWZIbGVp?= =?utf-8?B?NGozRFlXVDNWRkNRam5jdUZmb2EwNDNObzJ3cVpqdkRWTExubkxLdzNvZzRG?= =?utf-8?B?Q01rOXlSSUZVM2pvTWNlcWlqcVV6NFlUQmN4MXRvN0Nta2ppcGZtcDlIbmxj?= =?utf-8?B?Ri9FM2xkZnIrRHR0MXk1eG5qOTZWZkpKRDM4L0RFT3plMVdhVzF3SXEveDhS?= =?utf-8?B?ZHE5S0NRcjEwTVpSbXViUjV5YTdOdjVLbVk4dE9iSW1hVXd4QnF3Yy8vQ0JO?= =?utf-8?B?VVBSUFU4V2RFQ29POVY3NnVTOEU2NEw0eXNHQ0xTU3dGR2h5RHFpa1VZUmYw?= =?utf-8?B?b0MvblhBME5UWkFFc0xOOUN5b1Rtc3BISmNRNVNjNm9VSElza0NJUVpodGI1?= =?utf-8?B?OUwyM2NjVkRNMWttZ3RWQUNsdE5EZG91ckVJdzFGTk9kbmVSZFBGWnhXOVZN?= =?utf-8?B?NmFqNUVibVd5bURoMXdSVTF2SW43UWk2bTNoWFdYMkdXVlU3b2pUUUZOb0xz?= =?utf-8?B?My9ZblEzNDl1S2ExRStOaXBNc3JhNForYzUrTFp4SjBjRkxxWnE3SlBFTlVS?= =?utf-8?B?c0N3dHBjTTU5MURqRTRNbklBbTF5dDdydUpjSGUvd1Z5L0I0MnA0TWpFZ051?= =?utf-8?B?a0ZvZUxIQWZTcmM1N0NqbjBmalhONlc2REpPK3V4QjVkMUl4c3BWT0orQUFJ?= =?utf-8?Q?elQhhMbKSDa77Xkls9Fow4og+GKO54Q/?= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: MW5PR11MB5932.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: dfcc1e5b-85a0-422f-d0ea-08da0bd4e3b9 X-MS-Exchange-CrossTenant-originalarrivaltime: 22 Mar 2022 07:23:40.6517 (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: YoP7O5JmNQRNMB1jL054KzrvJllMByB7oPe/nZ8w7jLAATphqk7RJRvtK4llWy7yUmiBgJM2Mw9fBp+M/tmJpg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR11MB3901 Return-Path: ted.kuo@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 SGkgTWFydmluLA0KDQpHb29kIGRheS4gVGhhbmtzIGZvciB5b3VyIHZhbHVhYmxlIGNvbW1lbnRz LiBBZnRlciBjaGVja2luZyBhbGwgb2YgeW91ciBjb21tZW50cywgSSBkZWNpZGUgdG8gZHJvcCB0 aGUgcGF0Y2hlcyBhbmQgY2xvc2UgdGhlIGJ1Z3ppbGxhIHRpY2tldCBzaW5jZSB0aGUgY2hhbmdl cyBzaG91bGQgYmUgc3BlY2lmaWMgdG8gWDY0IGluIEludGVsRnNwUGtnLiBZb3Ugc3RpbGwgY2Fu IGZpbmQgbXkgaW5saW5lIGNvbW1lbnRzIHdpdGggW1RlZF0gZm9yIHlvdXIgcXVlc3Rpb25zLg0K DQpUaGFua3MsDQpUZWQNCg0KLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCkZyb206IE1hcnZp biBIw6R1c2VyIDxtaGFldXNlckBwb3N0ZW8uZGU+IA0KU2VudDogVHVlc2RheSwgTWFyY2ggMjIs IDIwMjIgMzo0NiBBTQ0KVG86IGRldmVsQGVkazIuZ3JvdXBzLmlvOyBLdW8sIFRlZCA8dGVkLmt1 b0BpbnRlbC5jb20+DQpDYzogS2lubmV5LCBNaWNoYWVsIEQgPG1pY2hhZWwuZC5raW5uZXlAaW50 ZWwuY29tPjsgQmksIERhbmRhbiA8ZGFuZGFuLmJpQGludGVsLmNvbT47IEdhbywgTGltaW5nIDxn YW9saW1pbmdAYnlvc29mdC5jb20uY24+OyBEZSwgRGVia3VtYXIgPGRlYmt1bWFyLmRlQGludGVs LmNvbT47IEhhbiwgSGFycnkgPGhhcnJ5LmhhbkBpbnRlbC5jb20+OyBXZXN0LCBDYXRoYXJpbmUg PGNhdGhhcmluZS53ZXN0QGludGVsLmNvbT47IFdhbmcsIEppYW4gSiA8amlhbi5qLndhbmdAaW50 ZWwuY29tPg0KU3ViamVjdDogUmU6IFtlZGsyLWRldmVsXVtQQVRDSCAxLzJdIE1kZU1vZHVsZVBr ZzogU3RhY2tPZmZzZXQgbXVzdCBiZSBhbGlnbmVkIHRvIGEgMTYtYnl0ZSBib3VuZGFyeSBpbiBY NjQNCg0KR29vZCBkYXksDQoNClRoYW5rcyBmb3IgdGhlIHVwZGF0ZSENCg0KT24gMjEuMDMuMjIg MTM6NDMsIEt1bywgVGVkIHdyb3RlOg0KPiBSRUY6aHR0cHM6Ly9idWd6aWxsYS50aWFub2NvcmUu b3JnL3Nob3dfYnVnLmNnaT9pZD0zODY1DQo+IEZvciBYNjQsIFN0YWNrT2Zmc2V0IG11c3QgYmUg YWxpZ25lZCB0byBhIDE2LWJ5dGUgYm91bmRhcnkgYXMgd2VsbCBhcyANCj4gb2xkIHN0YWNrIGFu ZCBuZXcgc3RhY2suIE90aGVyd2lzZSwgaXQnbGwgZ2V0IHdyb25nIGRhdGEgZnJvbSBQcml2YXRl IA0KPiBwb2ludGVyIGFmdGVyIHN3aXRjaGluZyBmcm9tIG9sZCBzdGFjayB0byBuZXcgc3RhY2su DQo+DQo+IENjOiBNaWNoYWVsIEQgS2lubmV5IDxtaWNoYWVsLmQua2lubmV5QGludGVsLmNvbT4N Cj4gQ2M6IERhbmRhbiBCaSA8ZGFuZGFuLmJpQGludGVsLmNvbT4NCj4gQ2M6IExpbWluZyBHYW8g PGdhb2xpbWluZ0BieW9zb2Z0LmNvbS5jbj4NCj4gQ2M6IERlYmt1bWFyIERlIDxkZWJrdW1hci5k ZUBpbnRlbC5jb20+DQo+IENjOiBIYXJyeSBIYW4gPGhhcnJ5LmhhbkBpbnRlbC5jb20+DQo+IENj OiBDYXRoYXJpbmUgV2VzdCA8Y2F0aGFyaW5lLndlc3RAaW50ZWwuY29tPg0KPiBDYzogSmlhbiBK IFdhbmcgPGppYW4uai53YW5nQGludGVsLmNvbT4NCj4gQ2M6IE1hcnZpbiBIw6R1c2VyIDxtaGFl dXNlckBwb3N0ZW8uZGU+DQo+IFNpZ25lZC1vZmYtYnk6IFRlZCBLdW8gPHRlZC5rdW9AaW50ZWwu Y29tPg0KPiAtLS0NCj4gICBNZGVNb2R1bGVQa2cvQ29yZS9QZWkvRGlzcGF0Y2hlci9EaXNwYXRj aGVyLmMgfCAxOCArKysrKysrKysrKysrKysrKy0NCj4gICAxIGZpbGUgY2hhbmdlZCwgMTcgaW5z ZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQ0KPg0KPiBkaWZmIC0tZ2l0IGEvTWRlTW9kdWxlUGtn L0NvcmUvUGVpL0Rpc3BhdGNoZXIvRGlzcGF0Y2hlci5jIA0KPiBiL01kZU1vZHVsZVBrZy9Db3Jl L1BlaS9EaXNwYXRjaGVyL0Rpc3BhdGNoZXIuYw0KPiBpbmRleCAzNTUyZmVkYThmLi44YTJjMWVj Nzc5IDEwMDY0NA0KPiAtLS0gYS9NZGVNb2R1bGVQa2cvQ29yZS9QZWkvRGlzcGF0Y2hlci9EaXNw YXRjaGVyLmMNCj4gKysrIGIvTWRlTW9kdWxlUGtnL0NvcmUvUGVpL0Rpc3BhdGNoZXIvRGlzcGF0 Y2hlci5jDQo+IEBAIC04MjMsNiArODIzLDE5IEBAIFBlaUNoZWNrQW5kU3dpdGNoU3RhY2sgKA0K PiAgICAgICAgICAgICAgICAgIChWT0lEICoqKSZUZW1wb3JhcnlSYW1TdXBwb3J0UHBpDQo+ICAg ICAgICAgICAgICAgICAgKTsNCj4gICAgICAgaWYgKCFFRklfRVJST1IgKFN0YXR1cykpIHsNCj4g KyAgICAgIC8vDQo+ICsgICAgICAvLyBGb3IgWDY0LCBTdGFja09mZnNldCBtdXN0IGJlIGFsaWdu ZWQgdG8gYSAxNi1ieXRlIGJvdW5kYXJ5LiBPdGhlcndpc2UsIGl0J2xsIGdldCB3cm9uZyBkYXRh DQo+ICsgICAgICAvLyBmcm9tIFByaXZhdGUgcG9pbnRlciBhZnRlciBzd2l0Y2hpbmcgdG8gbmV3 IHN0YWNrLg0KPiArICAgICAgLy8NCj4gKyAgICAgIGlmICgoc2l6ZW9mIChVSU5UTikgPT0gc2l6 ZW9mIChVSU5UNjQpKSAmJiAoKFN0YWNrT2Zmc2V0ICYgMHgwRikgPT0gOCkpIHsNCj4gKyAgICAg ICAgaWYgKFN0YWNrT2Zmc2V0UG9zaXRpdmUgPT0gVFJVRSkgew0KPiArICAgICAgICAgIFN0YWNr T2Zmc2V0IC09IDg7DQo+ICsgICAgICAgIH0gZWxzZSB7DQo+ICsgICAgICAgICAgU3RhY2tPZmZz ZXQgKz0gODsNCj4gKyAgICAgICAgfQ0KPiArICAgICAgICBQcml2YXRlLT5TdGFja09mZnNldCA9 IFN0YWNrT2Zmc2V0Ow0KPiArICAgICAgfQ0KPiArDQoNCkhtbSwgdGhlIG92ZXJhbGwgZGVzaWdu IChub3QgeW91ciBwYXRjaCkgbG9va3MgdmVyeSBicm9rZW4gdG8gbWUuIFNvLCBpZiB0aGUgUFBJ IGV4aXN0cywgaXQncyByZXNwb25zaWJsZSBmb3IgdGhlIG1pZ3JhdGlvbiBvZiB0aGUgc3RhY2ss IGJ1dCBpdCBpcyBuZWl0aGVyIHBhc3NlZCB3aGVyZSB0byBtaWdyYXRlIHRoZSBzdGFjayB0bywg bm9yIGRvZXMgaXQgcmV0dXJuIHdoZXJlIGl0IGRpZCBtaWdyYXRlIGl0IHRvLiBUaGlzIG1lYW5z IHRoZSBTdGFja09mZnNldCBjYWxjdWxhdGVkIGhlcmUgbWF5IGJlIG91dC1vZi1zeW5jIHdpdGgg d2hhdCBhY3R1YWxseSBoYXBwZW5zIGluIHRoZSBQUEksIGUuZy4sIGlmIHRoZSBQUEkgY29kZSBp cyBjaGFuZ2VkLiBUaGVyZSBhbHNvIGlzIG5vIGRldGFpbGVkIGV4cGxhbmF0aW9uIGZvciB0aGUg bWVtb3J5IGxheW91dCB3aXRoIEZTUCBzZXBhcmF0ZSBzdGFjayB2cyBib290bG9hZGVyIHNoYXJl ZCBzdGFjaywgc28gSSBjYW5ub3QgcmVhbGx5IGdpdmUgZGV0YWlsZWQgY29tbWVudHMgcXVpY2ts eS4gKlNpZ2gqLg0KDQpBbnlob3csIGFzIGZvciB0aGUgcGF0Y2gsIEkgZG8gbm90IHVuZGVyc3Rh bmQgYSBmZXcgdGhpbmdzOg0KDQoxKSBNYXliZSBtb3N0IGltcG9ydGFudCBvZiBhbGwsIHdoYXQg ZXZlbiBpcyBicm9rZW4/IFdoaWNoIGFkZHJlc3MgaXMgbm90IDE2LUJ5dGUtYWxpZ25lZCB0byBj YXVzZSB0aGlzIGlzc3VlIGluIHRoZSBmaXJzdCBwbGFjZT8NCltUZWRdOiBDUFUgd2lsbCBnZW5l cmF0ZSBleGNlcHRpb24gd2hlbiBydW5uaW5nIHNvbWUgWDY0IGluc3RydWN0aW9ucyB3aGljaCBu ZWVkIGlucHV0L291dHB1dCBtZW1vcnkgYWRkcmVzcyB0byBiZSAxNi1CeXRlLWFsaWduZWQuDQoN CjIpIFdoeSBkbyB5b3UgYWxpZ24gU3RhY2tPZmZzZXQ/IExpa2UgeWVzLCBpZiB0aGUgb2xkIHRv cCBvZiB0aGUgc3RhY2sgYW5kIHRoZSBvZmZzZXQgdG8gdGhlIG5ldyB0b3Agb2YgdGhlIHN0YWNr IGFyZSBib3RoIDE2LUJ5dGUtYWxpZ25lZCwgdGhlbiB0aGUgbmV3IHRvcCBvZiB0aGUgc3RhY2sg aXMgMTYtQnl0ZS1hbGlnbmVkIHRvby4gSG93ZXZlciwgU3RhY2tPZmZzZXQgaXMgbW9yZSBvZiBh IGJ5LXByb2R1Y3QgYW5kIFRvcE9mTmV3U3RhY2sgcmVtYWlucyBob2xkaW5nIHRoZSBvbGQgdmFs dWUuIEkganVzdCBkb24ndCByZWFsbHkgdW5kZXJzdGFuZCB0aGUgaWRlYSBvZiB0aGlzIGFwcHJv YWNoLg0KW1RlZF06IFNpbmNlIG5ldyBzdGFjayBtdXN0IGtlZXAgdGhlIG9yaWdpbmFsIHN0YWNr IGFsaWdubWVudCBhcyBvbGQgc3RhY2ssIGl0IG1lYW5zIHN0YWNrIG9mZnNldCBtdXN0IGJlIDE2 LUJ5dGUtYWxpZ25lZCB0b28uIEFuZCB0aGUgT2xkU3RhY2svTmV3U3RhY2sgaW4gdGhlIGZzcCBw YXRjaCBpbmRpY2F0ZXMgdGhlICpjdXJyZW50KiBvbGQvbmV3IHN0YWNrLiBUaGUgZnNwIHBhdGNo IGp1c3QgbWFrZXMgbGVmdCBzaGlmdCA4LWJ5dGUgb2Ygd2hvbGUgdXNlZCBzdGFjayBkYXRhIHdo ZW4gbmV3IHN0YWNrIG5vdCBhbGlnbmluZyB3aXRoIG9sZCBzdGFjay4gSGVuY2UgSSB0aGluayBu byBuZWVkIHRvIHVwZGF0ZSBUb3BPZk5ld1N0YWNrLg0KZS5nLg0KY2FzZTE6DQpvbGQgc3RhY2s6 IDB4ZmVmNWUwMDANCm5ldyBzdGFjazogMHg0OWM4ZjNiMA0Kc3RhY2s6IDB4OWM4ZjNiMCAtPiAx Ni1CeXRlLWFsaWduZWQNCmNhc2UyOiANCm9sZCBzdGFjazogMHhmZWY1ZTAwOA0KbmV3IHN0YWNr OiAweDQ5YzhmM2I4DQpzdGFjazogMHg5YzhmM2IwIC0+IDE2LUJ5dGUtYWxpZ25lZA0KDQozKSBU aGlzIG9ubHkgd29ya3Mgd2hlbiBTdGFja09mZnNldCBpcyBndWFyYW50ZWVkIHRvIGJlIDgtQnl0 ZS1hbGlnbmVkIChpcyBpdD8pLiBBcyB3ZSBhcmUgZGVhbGluZyB3aXRoIHRoZSAqdG9wKiBvZiB0 aGUgc3RhY2sgKHdoaWNoIHNob3VsZCBiZSA0Sy1hbGlnbmVkIGV2ZW4gZm9yIG1lbW9yeSBwcm90 ZWN0aW9uISksIHdoYXQgd291bGQgYmUgd3Jvbmcgd2l0aCBqdXN0IGFsaWduaW5nIGRvd24gYW5k IHVwIGluc3RlYWQ/DQooU2FtZSBxdWVzdGlvbiBmb3IgdGhlIHNlY29uZCBwYXRjaCB0byB0aGUg RlNQIGNvZGUpDQpBcyBteSBhbnN3ZXIgaW4gUTIsIHdoYXQgd2UgYWRqdXN0IGluIHRoZSBmc3Ag cGF0Y2ggaXMgdGhlIG5ldyAiY3VycmVudCIgc3RhY2sgaW4gb3JkZXIgdG8ga2VlcCB0aGUgc2Ft ZSBzdGFjayBhbGlnbm1lbnQgYXMgb2xkIHN0YWNrIGFmdGVyIHN3aXRjaGluZyBzdGFjay4gVG9w IG9mIHRoZSBuZXcgc3RhY2sgcmVtYWlucyB1bmNoYW5nZWQuIElmIFN0YWNrT2Zmc2V0IGlzIG5v dCBhZGp1c3RlZCBhY2NvcmRpbmdseSwgYmlvcyB3aWxsIGdldCB3cm9uZyBkYXRhIGZyb20gUHJp dmF0ZSBwb2ludGVyIGFmdGVyIHN3aXRjaGluZyB0byBuZXcgc3RhY2suDQoNCjQpIFRoZSBuZXh0 IHBhdGNoIHBlcmZvcm1zIGEgc2ltaWxhciBhbGlnbm1lbnQgb3BlcmF0aW9uIChhcyBtZW50aW9u ZWQgYmVmb3JlKS4gSG93ZXZlciwgd2hpbGUgdGhpcyBwYXRjaCBhbGlnbnMgdGhlICp0b3AqIG9m IHRoZSBzdGFjaywgdGhlIEZTUCBwYXRjaCBhbGlnbnMgdGhlICpib3R0b20qIG9mIHRoZSBzdGFj ay4gVGhpcyBtYXkgb3IgbWF5IG5vdCBiZSBjb3JyZWN0IGJhc2VkIG9uIHlvdXIgcHJlbWlzZXMu IENhbiB5b3UgbWF5YmUgZG9jdW1lbnQgd2h5IHRoaXMgaXMgY29ycmVjdCwgb3IgZXZlbiBiZXR0 ZXIsIHRyeSB0byBhbGlnbiB0aGUgdG9wIG9mIHRoZSBzdGFjayBpbiBGU1AgYXMgd2VsbD8gKEJ5 IHRyYW5zaXRpdml0eSwgaWYgeW91IGFsaWduIHRoZSB0b3AgY29ycmVjdGx5LCB0aGUgYm90dG9t IHNob3VsZCBiZSBhbGlnbmVkIGNvcnJlY3RseSBhcyB3ZWxsLCBhcyBldmVyeSBuZXN0ZWQgY2Fs bCBtdXN0IHByZXNlcnZlIHRoZSBhbGlnbm1lbnQgaW52YXJpYW50KQ0KW1RlZF06IEFjdHVhbGx5 IHRoZSBuZXcgc3RhY2sgcmVnaW9uIChmcm9tIHRvcCB0byBib3R0b20pIGlzIG5vdCBjaGFuZ2Vk IHdpdGggdGhlIHBhdGNoZXMuIEl0IGp1c3QgYWRqdXN0ZWQgdGhlICpjdXJyZW50KiBuZXcgc3Rh Y2sgdG8gYWxpZ24gd2l0aCB0aGUgKmN1cnJlbnQqIG9sZCBzdGFjay4NCg0KNSkgV2h5IGRvZXMg dGhpcyBvbmx5IGhhcHBlbiB3aGVuIHRoZSBQUEkgaXMgZm91bmQ/IFdvdWxkIHRoYXQgbm90IHJp c2sgYW4gdW5hbGlnbmVkIHN0YWNrIGlmIHRoZSBQUEkgaXMgbm90IHByb3ZpZGVkLCB0aGUgc2Ft ZSB3YXkgaXQgaXMgdW5hbGlnbmVkIG5vdz8NCltUZWRdOiBJIGRpZG4ndCBvYnNlcnZlIHRoZSB1 bmFsaWduZWQgc3RhY2sgaXNzdWUgaW4gdGhlIGVsc2UgY2FzZSAodGhlIFBQSSBpcyBub3QgZm91 bmQpLg0KDQo2KSBUaGUgY29tbWVudCBleHBsaWNpdGx5IG1lbnRpb25zIFg2NCwgYnV0IGNoZWNr cyBvbmx5IGZvciA2NC1iaXQgcG9pbnRlciBzaXplLiBTbyB0aGlzIHNob3VsZCBhZmZlY3QgQUFy Y2g2NCBhbmQgUklTQy1WLTY0IGFzIHdlbGwuIEFyZSB0aGV5IGd1YXJhbnRlZWQgdG8gZnVuY3Rp b24gY29ycmVjdGx5IGFmdGVyIHRoaXMgcGF0Y2ggKGVzcGVjaWFsbHkgd2l0aCB0aGUgUFBJIHN5 bmMgZ3VhcmFudGVlcyBtZW50aW9uZWQgZWFybGllcik/DQpbVGVkXTogR29vZCBwb2ludC4gVGhl IGNoYW5nZXMgc2hvdWxkIG9ubHkgYmUgbmVlZGVkIGZvciBYNjQuIEkgc2hhbGwgbWFrZSB0aGUg Y2hhbmdlcyBzcGVjaWZpYyB0byBYNjQgb25seSBpbiBJbnRlbEZzcFBrZy4gSSdsbCBkcm9wIHRo ZSBwYXRjaCBhbmQgY2xvc2UgdGhlIGJ1Z3ppbGxhIHRpY2tldC4NCg0KNykgVGhpcyBvbmx5IHVw ZGF0ZXMgRlNQIGNvZGUsIHNpbWlsYXIgdG8gNSksIGJ1dCB0byBRRU1VIGFuZCBmcmllbmRzIGNv bnRpbnVlIHRvIHdvcms/DQpbVGVkXTogVGhlIGNoYW5nZXMgc2hvdWxkIGJlIHNwZWNpZmljIHRv IFg2NCBhcmNoaXRlY3R1cmUgaW4gSW50ZWxGc3BQa2cgd2l0aG91dCBhbnkgaW1wYWN0IHRvIFFF TVUgYW5kIG90aGVyIGFyY2hpdGVjdHVyZXMuDQoNCg0KVGhhbmtzIQ0KDQpCZXN0IHJlZ2FyZHMs DQpNYXJ2aW4NCg0KPiAgICAgICAgIC8vDQo+ICAgICAgICAgLy8gSGVhcCBPZmZzZXQNCj4gICAg ICAgICAvLw0KPiBAQCAtODUyLDcgKzg2NSwxMCBAQCBQZWlDaGVja0FuZFN3aXRjaFN0YWNrICgN Cj4gICAgICAgICAvLyBUZW1wb3JhcnkgUmFtIFN1cHBvcnQgUFBJIGlzIHByb3ZpZGVkIGJ5IHBs YXRmb3JtLCBpdCB3aWxsIGNvcHkNCj4gICAgICAgICAvLyB0ZW1wb3JhcnkgbWVtb3J5IHRvIHBl cm1hbmVudCBtZW1vcnkgYW5kIGRvIHN0YWNrIHN3aXRjaGluZy4NCj4gICAgICAgICAvLyBBZnRl ciBpbnZva2luZyBUZW1wb3JhcnkgUmFtIFN1cHBvcnQgUFBJLCB0aGUgZm9sbG93aW5nIGNvZGUn cw0KPiAtICAgICAgLy8gc3RhY2sgaXMgaW4gcGVybWFuZW50IG1lbW9yeS4NCj4gKyAgICAgIC8v IHN0YWNrIGlzIGluIHBlcm1hbmVudCBtZW1vcnkuIEZvciBYNjQsIHRoZSBiaXQzOjAgb2YgdGhl IG5ldyBzdGFjaw0KPiArICAgICAgLy8gcHJvZHVjZWQgYnkgVGVtcG9yYXJ5UmFtTWlncmF0aW9u IG11c3QgYmUgYWxpZ25lZCB3aXRoIHRoZSBiaXQzOjAgb2YNCj4gKyAgICAgIC8vIHRoZSBvbGQg c3RhY2suIE90aGVyd2lzZSwgaXQnbGwgYnJlYWsgdGhlIG9yaWdpbmFsIHN0YWNrIGFsaWdubWVu dA0KPiArICAgICAgLy8gYWZ0ZXIgc3dpdGNoaW5nIHRvIG5ldyBzdGFjay4NCj4gICAgICAgICAv Lw0KPiAgICAgICAgIFRlbXBvcmFyeVJhbVN1cHBvcnRQcGktPlRlbXBvcmFyeVJhbU1pZ3JhdGlv biAoDQo+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQZWlTZXJ2aWNlcywNCg0K