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.33187.1629163035785424260 for ; Mon, 16 Aug 2021 18:17:16 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@intel.onmicrosoft.com header.s=selector2-intel-onmicrosoft-com header.b=sZn952fW; spf=pass (domain: intel.com, ip: 134.134.136.100, mailfrom: ray.ni@intel.com) X-IronPort-AV: E=McAfee;i="6200,9189,10078"; a="279715699" X-IronPort-AV: E=Sophos;i="5.84,327,1620716400"; d="scan'208";a="279715699" Received: from fmsmga004.fm.intel.com ([10.253.24.48]) by orsmga105.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 16 Aug 2021 18:17:14 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.84,327,1620716400"; d="scan'208";a="510163524" Received: from orsmsx602.amr.corp.intel.com ([10.22.229.15]) by fmsmga004.fm.intel.com with ESMTP; 16 Aug 2021 18:17:14 -0700 Received: from orsmsx604.amr.corp.intel.com (10.22.229.17) by ORSMSX602.amr.corp.intel.com (10.22.229.15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.10; Mon, 16 Aug 2021 18:17:13 -0700 Received: from ORSEDG601.ED.cps.intel.com (10.7.248.6) by orsmsx604.amr.corp.intel.com (10.22.229.17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.10 via Frontend Transport; Mon, 16 Aug 2021 18:17:13 -0700 Received: from NAM11-DM6-obe.outbound.protection.outlook.com (104.47.57.173) 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.10; Mon, 16 Aug 2021 18:17:13 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=jZOxYb6NVAbvJsAE8BvY/OMI9SiahFn6Mi4gQQMajxuO60/tk98A2A9NtUwsYzGfO93GLktYGjqvDVuvVmX4eP54gLXRZTcSW5ez5jgj1qNsfHrPNhyaL0qniNEJg8giE6A3agYYlB/WbCPD9fYSe2bOILSVR93bgtmiJxdqzy6+/XiCBWHJdfNAYaBwPWP4IoXRIsdpm+XQv7gW2a7uVUF7V8mcW5zWs41kOlNTI4xP5CXu3ySKMYL3Dd65W156WoJgh4UkGI5QihUdoKaz5QE72L5FAQshPiiIWDGn4caW78zkS5itB2wZc69XB3ONVrLU9fuVAV6Sg9vSjIOdqQ== 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=TIgaowXHddR3Pn2xZLVJaw+BE5VGyWVDc0E9n5twEoY=; b=HoZaNEebdHo3+EvI01IqS6vF3cfSexbD+2Oyxc2uf9g9bWpCAQuO32/2zRHlzrlZgWPKFnaePH+oFUNyisDQVpiDL5TD6B4ZtJDPQEZRhQjlsUe+6Pi3fOLOoiI2373lMav1mIXANSzN2ZxNBl7EXxXibRL641I8I4PDiqWnFPpo71K4iPAOnyBGQXqP2az49kv2qQuOVRKDcT7L+c6YCcfNYCao6BF5lI4qBxj4bo1TQ5jphSGhEDod+BXk55/CyUlDhchBb9utExxxbJf8Jb3zapv4bqkuUYG21IErct3qPSqqRrCARdGjtDxds2aILGXuh8k1dCqJOPGVMrZUCQ== 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=TIgaowXHddR3Pn2xZLVJaw+BE5VGyWVDc0E9n5twEoY=; b=sZn952fW3nuio6cZwRLmTHXKpz1v/r/Wvh53OmcNmzGcWWeNjKe+jd921dpP4sxYztFAiZiaq83N3qNm5vjXRm3MVEkYMOJ6PKB34FSW3NXfATwx+0j5kx5tUnSkMqo9I4NY185qUBl13bDMlaV6hs34E1Drw2sbgVrr8bsSxY0= Received: from CO1PR11MB4930.namprd11.prod.outlook.com (2603:10b6:303:9b::11) by MW3PR11MB4572.namprd11.prod.outlook.com (2603:10b6:303:5e::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.16; Tue, 17 Aug 2021 01:17:12 +0000 Received: from CO1PR11MB4930.namprd11.prod.outlook.com ([fe80::c98d:a1f9:48a8:8865]) by CO1PR11MB4930.namprd11.prod.outlook.com ([fe80::c98d:a1f9:48a8:8865%6]) with mapi id 15.20.4415.024; Tue, 17 Aug 2021 01:17:12 +0000 From: "Ni, Ray" To: "devel@edk2.groups.io" , "mhaeuser@posteo.de" CC: "Kinney, Michael D" , Liming Gao , "Liu, Zhiguang" , "Vitaly Cheptsov" Subject: Re: [edk2-devel] [PATCH V2 2/3] MdePkg/Base.h: Introduce various alignment-related macros Thread-Topic: [edk2-devel] [PATCH V2 2/3] MdePkg/Base.h: Introduce various alignment-related macros Thread-Index: AQHXkhISr6eEtBMxHES+vV3Ttx6a0qt13/yQgAA78ACAAMpZUA== Date: Tue, 17 Aug 2021 01:17:12 +0000 Message-ID: References: <69c6e14c4fe944d380d38dcdb851a88f51631f86.1629057790.git.mhaeuser@posteo.de> <6b4798af-92e4-3411-1586-f9e1d922e0ab@posteo.de> In-Reply-To: <6b4798af-92e4-3411-1586-f9e1d922e0ab@posteo.de> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: edk2.groups.io; dkim=none (message not signed) header.d=none;edk2.groups.io; dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: e9c4c5bd-6e15-4ce6-e2e3-08d9611cbdf0 x-ms-traffictypediagnostic: MW3PR11MB4572: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:9508; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 3KIuNu0u3OEu1x7v2V5p8oI0PksBzC7uaTDPPMczXda5drwwS0GI4iMxHCgyUN7o/uZCuoKLx1R3NowA8KBeVfFho1q/eZW3KOtu2WBOUL4cL1CAcOC6SozAxbrw9wUcaKjDg4eMwB2O/gYhyJMofTsF+vVLk2ro1ekbwtJU5Yw/NdxL/g+GC/xnqrHlUgoKIAKi+Z2TtB9UEOHvcMEtJ9DnuxxBSGj1qjuVcuBRvMaBP2pT0QkU0O3FJu8ctg8jiv2CTAiTNGer97P4RWKa9M5DrfFgmxuhiGwQ45wJiX5rIhdAeWs96nmeBpFb+UtPYVFRgipsrqvK2/1ihnk6DPkFQLcsdFGAfK9+/i291K7xdc58BCixEvpmGMmg0gKew7UULwgncs7lTyt2ilHS0cLtk9JC6XnHU7CmyWJrBToKqavtHD5CptMy2GZ3Uqqqi/SmnOXNUL2rfh7S/NSknYyELnmoIG+8glKqzR6X+T6XvmQmZq7guWcqttdoHQb05VOPt/WVJCGDT11hgNE2y0qqLZDicq4BSAro5CMNU7K9s1RX3kgy6XFVUYk07JWeh4TZyjImwJEUYyVkg505nUqCBHAITFyhJy27KJR8EPSDpcJz2o0GyH1ndqFSFpaGRxgv6W6V70QCWKqVZ+wQWqn+Vz63yZfhXyooMFIpKf5cWbVZSo7DL59zbvGrOMZ95PeJeOqYLyOe2lgXuu9q07cIUb2SVOv5BdYMDgsVx7NRoqrUVZ15TNYmANO70vBKciuQBB592A2OniYfkdvBzL3VKfTsZk1HtZnYSXqBYk5NzFNr2xDHdHI6CU8iHlXHnunfqjaOaq/wti8c+pmn5g== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CO1PR11MB4930.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(366004)(346002)(396003)(376002)(136003)(39860400002)(66574015)(86362001)(26005)(52536014)(6506007)(2906002)(71200400001)(5660300002)(53546011)(83380400001)(4326008)(122000001)(316002)(55016002)(186003)(64756008)(66446008)(66556008)(38070700005)(38100700002)(966005)(33656002)(478600001)(66946007)(8936002)(54906003)(110136005)(7696005)(76116006)(9686003)(8676002)(66476007);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?V1h4MWZSNnd3cnloajhyRmVrRUlqUktZbzNTcWZKcUE3b1pCZEpMOUhYTjZS?= =?utf-8?B?WUhxd3N0Ym9ER3J4dndvTEUwV3R0T1RMV0VPNWVZMGVVVi9IdGZHcVhsaDdD?= =?utf-8?B?ajBGaDhwRzBYNDI0eDZMb2pLbmJ6QktHMmd2U3VQdjQ0bG8wSXBzZ2o2cGIx?= =?utf-8?B?VFJtZGJ1RGNIak9aYnRZL2E4MUFXOUFSVzBPU04venVCTEdTcnVhckdKK3hF?= =?utf-8?B?RTNRdmVNM2xTRzhEc3IrYlJLQy93YWZXTnVZWTlYT0VaWnRiMlMvWDVVbG8v?= =?utf-8?B?V0FseVpWR2pxRWsyS0g0UVpRUVByUTlWMjZzU3B0bWZPV2wzbytiNmZkRHNC?= =?utf-8?B?dE5sVWNKWWYwRTV3WGc0MVVvaUhpVUdwdmcvU3RoZURQNm13TmFFSzZkL1Rw?= =?utf-8?B?bjRJWVVvWWo5dHRHK3h4c1lEY0taMWZRUlpmdWZmUXFVU3dWOTUvcDRzd0E3?= =?utf-8?B?YU9hd0VESURLaC9Ga254ay9lTE1Wblhkdm16bzdCRHVjNXpLWWszN2YvcElj?= =?utf-8?B?L1ZOc3RYRUFHNlE2c25DRGxTVXJjYlpCc1RYRnpyNXpsd0puWWZHczEzR3hJ?= =?utf-8?B?N0FDZTZKMk41ano5R0xJYWxhNDhRY1h1Y1hNK3FiM2UzQUhSdnRwTjJ1L0h6?= =?utf-8?B?blYzN1Nxd2d5RHpjcTdrZ2pRM3dwV1cvVzVwenNkWU9zMy9RZ2pOWU9SdGxo?= =?utf-8?B?azlpV0dxWHZkemRzVEVCUnR0NU5abXpScWFCc3dyYUVHamVKc005OFR3QWhm?= =?utf-8?B?ZE1ITTh4UUpLN3BNRmw1ZjRaaVZxeHZyeHBKZjBjVW1Ea0VkZkh3MS9MMGdE?= =?utf-8?B?U2NMdDY2WEFySW4raXlnSUpWMUZqejE0L0pMeUpOYTA2dGZpOGtrY3ZDb1ln?= =?utf-8?B?b1J0aEdqcjUvYVdlcEtVOC8xNFZabEFkejJXNnBLb2JIbm14RHV6Nnp2UE1T?= =?utf-8?B?L3NLbnk0eThLUE42elJWTXFyMU15UnZ3bVhhc3kybmFWa0NuS2liWFUxSTQx?= =?utf-8?B?MEtqT0FuNjBuN2xtQVNXK1VXTTNJY2FDeWVLQkhFMjNyUGRPOTkvRXRJbkMv?= =?utf-8?B?cnlEdjkydlQyU092M2VpenBzWHZtUU1iVlYxZldNVW8wQi9pUS84NFZBUXh2?= =?utf-8?B?dWJBMEZ0NE5mYktKMnJoRXBacnFFSlN3NERWVURPUStWZXBYeEh6djFBYUpL?= =?utf-8?B?ZDFJODVYNXJSd3BnWVVKUzV3aExKWHZCUHYzYVl3d3ZjdGsrTnlpSTJ2K3Z3?= =?utf-8?B?cDNBaDV2OVFPbHAzUkVrQWVhRSswYjhEaU42a3dZZlpFaldVTDk3NU5kS3JC?= =?utf-8?B?b09VcWwzVUIvNG5RcWUwUUJSYWI2ZFE4VVNyTjVJSDRiYk1aNWptT3V5QUt0?= =?utf-8?B?cytxSko0Y0lPV0dDQjFIWmw3enJZWm1sZEhSc2RsOEtHYkwxNkprUEdxeUt3?= =?utf-8?B?QUtOZ0p5K0xoRGQxRzlwVXJqZ0ZvTGozWHkvRVJDNnJSOUY2ZGVpYjVuOXh3?= =?utf-8?B?YXNZL3BzUVQ4R1pRbDdzeThJb0RkdEpyZlhNK3pyWUkwcnVpN0NpNWZtT2Fj?= =?utf-8?B?TmdDL2VzYjZNMUNjdmlQN2hqSzlDdmx6QmVVaTRpMUNlNEs2dWljb2Z4Z0kw?= =?utf-8?B?c3RsOGk4bjdIMXBYU0o0OTBJaWdaSjdWK0JmK3ZRMXRaN2VGZXM2bzM2d2pI?= =?utf-8?B?MlRUMGJuWDF5ZUhNc0d1WUVETVZ1OEZXRjVaUHBGTSswOTZqeEFBUjdLNFVp?= =?utf-8?Q?oKMhy10zSoONMnDR3xE88RsyREZ5fntfvfmWy7K?= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: CO1PR11MB4930.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: e9c4c5bd-6e15-4ce6-e2e3-08d9611cbdf0 X-MS-Exchange-CrossTenant-originalarrivaltime: 17 Aug 2021 01:17:12.2149 (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: R8b2AWaFlkBT8MHzGXJFHhVzlfTHWed3nQCuXkOjc912YQDacLqKSlGZfUa0EEa6eANwDEdItNQZMFz78M65dA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW3PR11MB4572 Return-Path: ray.ni@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 SSBkb24ndCBoYXZlIGJldHRlciBuYW1lcy4NCg0KUmV2aWV3ZWQtYnk6IFJheSBOaSA8cmF5Lm5p QGludGVsLmNvbT4NCg0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IGRl dmVsQGVkazIuZ3JvdXBzLmlvIDxkZXZlbEBlZGsyLmdyb3Vwcy5pbz4gT24gQmVoYWxmIE9mIE1h cnZpbiBIw6R1c2VyDQo+IFNlbnQ6IE1vbmRheSwgQXVndXN0IDE2LCAyMDIxIDk6MTAgUE0NCj4g VG86IGRldmVsQGVkazIuZ3JvdXBzLmlvOyBOaSwgUmF5IDxyYXkubmlAaW50ZWwuY29tPg0KPiBD YzogS2lubmV5LCBNaWNoYWVsIEQgPG1pY2hhZWwuZC5raW5uZXlAaW50ZWwuY29tPjsgTGltaW5n IEdhbyA8Z2FvbGltaW5nQGJ5b3NvZnQuY29tLmNuPjsgTGl1LCBaaGlndWFuZw0KPiA8emhpZ3Vh bmcubGl1QGludGVsLmNvbT47IFZpdGFseSBDaGVwdHNvdiA8dml0OTY5NkBwcm90b25tYWlsLmNv bT4NCj4gU3ViamVjdDogUmU6IFtlZGsyLWRldmVsXSBbUEFUQ0ggVjIgMi8zXSBNZGVQa2cvQmFz ZS5oOiBJbnRyb2R1Y2UgdmFyaW91cyBhbGlnbm1lbnQtcmVsYXRlZCBtYWNyb3MNCj4gDQo+IEhl eSBSYXksDQo+IA0KPiBPbiAxNi8wOC8yMDIxIDExOjQyLCBOaSwgUmF5IHdyb3RlOg0KPiA+IE1h cnZpbiwNCj4gPiBTbyBsdWNreSB0byBoYXZlIHlvdSBpbiB0aGUgZWRrMiBwcm9qZWN0IGxvb2tp bmcgaW50byB0aGVzZSBmdW5kYW1lbnRhbHMhDQo+IA0KPiBUaGFuayB5b3UuIDopDQo+IA0KPiA+ ICsgICNkZWZpbmUgQUxJR05PRihUWVBFKSBPRkZTRVRfT0YgKHN0cnVjdCB7IENIQVI4IEM7IFRZ UEUgQTsgfSwgQSkNCj4gPg0KPiA+IDEuIERvZXMgc3RydWN0e30gaW5zaWRlIGEgbWFjcm8gY29u Zm9ybSB0byBDIHN0YW5kYXJkPyBIb3cgaXMgdGhlIGNvbXBhdGliaWxpdHkgd2l0aCBkaWZmZXJl bnQgY29tcGlsZXJzPw0KPiANCj4gVGhpcyBzaG91bGQgd29yaywgeWVzLiBUaGUgQyBzdGFuZGFy ZCBkZWZpbmVzIG9mZnNldG9mIGFzIHN1Y2g6DQo+IA0KPiAiVGhlIG1hY3JvcyBhcmUgWy4uLl0N Cj4gDQo+ICDCoMKgwqAgwqDCoMKgIG9mZnNldG9mKHR5cGUsIG1lbWJlci1kZXNpZ25hdG9yKQ0K PiANCj4gd2hpY2ggZXhwYW5kcyB0byBhbiBpbnRlZ2VyIGNvbnN0YW50IGV4cHJlc3Npb24gdGhh dCBoYXMgdHlwZSBzaXplX3QsDQo+IHRoZSB2YWx1ZSBvZg0KPiB3aGljaCBpcyB0aGUgb2Zmc2V0 IGluIGJ5dGVzLCB0byB0aGUgc3RydWN0dXJlIG1lbWJlciAoZGVzaWduYXRlZCBieQ0KPiBtZW1i ZXItZGVzaWduYXRvciksDQo+IGZyb20gdGhlIGJlZ2lubmluZyBvZiBpdHMgc3RydWN0dXJlIChk ZXNpZ25hdGVkIGJ5IHR5cGUpLiBUaGUgdHlwZSBhbmQNCj4gbWVtYmVyIGRlc2lnbmF0b3INCj4g c2hhbGwgYmUgc3VjaCB0aGF0IGdpdmVuDQo+IA0KPiAgwqDCoMKgIMKgwqDCoCBzdGF0aWMgdHlw ZSB0Ow0KPiANCj4gdGhlbiB0aGUgZXhwcmVzc2lvbiAmKHQubWVtYmVyLWRlc2lnbmF0b3IpIGV2 YWx1YXRlcyB0byBhbiBhZGRyZXNzDQo+IGNvbnN0YW50LiBbLi4uXSIgWzFdDQo+IA0KPiBJZiB3 ZSBwbHVnIGluIHQ6DQo+IA0KPiAgwqDCoMKgIMKgwqDCoCBzdGF0aWMgc3RydWN0IHsgQ0hBUjgg QzsgVFlQRSBBOyB9IHQ7DQo+IA0KPiB3ZSBnZXQgYSB2YWxpZCBzdGF0aWMgc3RvcmFnZSBkdXJh dGlvbiB2YXJpYWJsZSBkZWNsYXJhdGlvbiB0aGF0DQo+IHNhdGlzZmllcyB0aGUgdGhlIGxhc3Qg Y29uZGl0aW9uIGJlY2F1c2U6DQo+IA0KPiAiQW4gYWRkcmVzcyBjb25zdGFudCBpcyBbLi4uXSwg YSBwb2ludGVyIHRvIGFuIGx2YWx1ZSBkZXNpZ25hdGluZyBhbg0KPiBvYmplY3Qgb2Ygc3RhdGlj DQo+IHN0b3JhZ2UgZHVyYXRpb24sIG9yIFsuLi5dIiBbMl0NCj4gDQo+IEl0IHdvcmtlZCB3aXRo IGFsbCBjb21waWxlcnMgSSB0aW5rZXJlZCB3aXRoIGF0IGh0dHBzOi8vZ29kYm9sdC5vcmcvDQo+ IEkgc2FkbHkgZG8gbm90IGhhdmUgYWNjZXNzIHRvIGFueSBvZiB0aGUgY29tcGlsZXJzIHdoZXJl IHRoaXMgbWF5IGJlDQo+IHVzZWQgZWZmZWN0aXZlbHkgKFJWQ1QsIEVCQykuDQo+IA0KPiA+ICsj ZGVmaW5lIElTX1BPVzIoVmFsdWUpICAoKFZhbHVlKSAhPSAwVSAmJiAoKFZhbHVlKSAmICgoVmFs dWUpIC0gMVUpKSA9PQ0KPiA+ICswVSkNCj4gPg0KPiA+IDIuIEdvb2QgdG8gbWUuIEkgbGVhcm5l ZCB0aGlzIHRyaWNrIHdoZW4gaW1wbGVtZW50aW5nIHRoZSBNdHJyTGliLg0KPiA+DQo+ID4gKyNk ZWZpbmUgQUxJR05fVkFMVUVfQURERU5EKFZhbHVlLCBBbGlnbm1lbnQpICAoKChBbGlnbm1lbnQp IC0gKFZhbHVlKSkNCj4gPiArJiAoKEFsaWdubWVudCkgLSAxVSkpDQo+ID4NCj4gPiAzLiBJcyBh bnkgb3RoZXIgb3BlbiBzb3VyY2UgcHJvamVjdCB1c2luZyB0aGUgc2FtZSBtYWNybyBmb3IgdGhl IGFkZGVuZD8NCj4gPiBUaGlzIGlzIGFjdHVhbGx5IGEgZ2VuZXJhbCBxdWVzdGlvbiB0byBhbGwg bmV3IG1hY3Jvcy4NCj4gPiBJIHdvdWxkIGxpa2UgdGhlIG1hY3JvcyBsb29rIGZhbWlsaWFyIHRv IGRldmVsb3BlcnMgZnJvbSBvdGhlciBvcGVuIHNvdXJjZSBwcm9qZWN0cy4NCj4gDQo+IEdvb2Qg cXVlc3Rpb24sIEkgbmV2ZXIgcmVhbGx5IHNhdyBpdC4gSSBvbmx5IGNhbWUgdXAgd2l0aCBpdCBi ZWNhdXNlIGZvcg0KPiB0aGUgbmV3IFBFIGxvYWRlciwgd2UgbWF5IGFsaWduIHRoZSBQRSBtZW1v cnkgd2l0aGluIGFuIHVuZGVyYWxpZ25lZA0KPiBidWZmZXIsIGFuZCBmb3IgdGhhdCB3ZSBuZWVk IHRoZSBhZGRlbmQuIEkgaW5pdGlhbGx5IHVzZWQgdG8gYWxpZ24gdXANCj4gYW5kIHRoZW4gc3Vi dHJhY3QsIGJ1dCBJIHNhdyB0aGlzIGNvdWxkIGJlIHNpbXBsaWZpZWQgd2l0aA0KPiBBTElHTl9W QUxVRV9BRERFTkQsIHdoaWNoIHdhcyB1c2VkIGluIEFMSUdOX1ZBTFVFIGFueXdheS4gSWYgeW91 IGhhdmUgYQ0KPiBiZXR0ZXIgbmFtZSwgSSdsbCBjaGFuZ2UgaXQuDQo+IA0KPiBCZXN0IHJlZ2Fy ZHMsDQo+IE1hcnZpbg0KPiANCj4gDQo+IFsxXSBJU08vSUVDIDk4OTk6MjAxMSwgNy4xOSwgMy4N Cj4gDQo+IFsyXSBJU08vSUVDIDk4OTk6MjAxMSwgNi42LCA5Lg0KPiANCj4gPg0KPiA+DQo+ID4N Cj4gPg0KPiA+DQo+IA0KPiANCj4gDQo+IA0KPiANCg0K