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.121308.1669650116060339513 for ; Mon, 28 Nov 2022 07:41:56 -0800 Authentication-Results: mx.groups.io; dkim=fail reason="unable to parse pub key" header.i=@intel.com header.s=intel header.b=S6UAdJ/q; spf=pass (domain: intel.com, ip: 134.134.136.31, mailfrom: michael.d.kinney@intel.com) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1669650116; x=1701186116; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=w3Bh84rg69xbRZ1eAVieqIGZLB1eoldzFUPuphT8FN0=; b=S6UAdJ/qovyIKyqNS8n6Y5i+m8SgvAt8X0YlG0xdkBy5dBA2Z1KsHbN0 56JAeLyAJaA2RZcpI+TIuemh11Jfh8St9yKjXN6s/doYwgUFVsqUp8DtN ztdTbszkkTqrjuIgdrCCv9Umx7nc69bvI4epg4bYFDGETwuRFqLJfCSGp T8p6256afFl1PioQ4NysgcR8ImhqIc4affe5bdqPUvOCpGSjDCmZ70RdU 0NWVi1znJC1jA9iuFeRKXFPyIbYdhSKHzhDRi37GAMiVnVL4TzgmSshKH PApMhXO4ui4PnBkaJX6VfgdYS7ZPb698VTGr0gDcZru64FLoiDcLUxL6z w==; X-IronPort-AV: E=McAfee;i="6500,9779,10545"; a="377006690" X-IronPort-AV: E=Sophos;i="5.96,200,1665471600"; d="scan'208";a="377006690" Received: from orsmga006.jf.intel.com ([10.7.209.51]) by orsmga104.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 28 Nov 2022 07:41:16 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6500,9779,10545"; a="621092778" X-IronPort-AV: E=Sophos;i="5.96,200,1665471600"; d="scan'208";a="621092778" Received: from fmsmsx602.amr.corp.intel.com ([10.18.126.82]) by orsmga006.jf.intel.com with ESMTP; 28 Nov 2022 07:41:16 -0800 Received: from fmsmsx612.amr.corp.intel.com (10.18.126.92) by fmsmsx602.amr.corp.intel.com (10.18.126.82) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.16; Mon, 28 Nov 2022 07:41:16 -0800 Received: from fmsmsx612.amr.corp.intel.com (10.18.126.92) by fmsmsx612.amr.corp.intel.com (10.18.126.92) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.16; Mon, 28 Nov 2022 07:41:15 -0800 Received: from FMSEDG603.ED.cps.intel.com (10.1.192.133) by fmsmsx612.amr.corp.intel.com (10.18.126.92) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.16 via Frontend Transport; Mon, 28 Nov 2022 07:41:15 -0800 Received: from NAM12-MW2-obe.outbound.protection.outlook.com (104.47.66.47) 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.2507.16; Mon, 28 Nov 2022 07:41:15 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=KLsfF8B8P1jXkp0kbu40/VWMOYNtdErXA6eaoxRP3bNU4rmywtHT8o04VXi6DukYfYNB2OefEzDxZQnuCPJdzFJnrruUW4R3Xv/S5H5d4xqIqyT71RKgNU/XQ/i2tEsPe66j99v158ew9NKD9Ug7I+UDxTRBmqzdUmsXE2+qPrSVntrcUlriqt9xKKz9mrfM8iqhCvLzOqHepj16+1NziAuOQNyX3Fh0RL8XQR1AHK1riB8br9oxjp9dKuOm+ptWZgqFx3nm2k7dX0rLeMAziMofISPzJ5cTp9zmzjONv4RxGRVyg7TNrbf9zFNDfcnXuPc0BfANVFVhP6NyZEb4iA== 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=w3Bh84rg69xbRZ1eAVieqIGZLB1eoldzFUPuphT8FN0=; b=L963goIw40fotG9QL/sC0uj82x22XOl+45Sd3yIu8ziLt+YjKikro3QcMfC+Gh/58dMctnAF+1mB0b2GckGiWzXIH1lqKf+5YudiFGSJwvv5OolQTWl8bMYeaF0Sh9CZBy7d5OI4nwHO1R06foflr83x8dMsK07dNXDtbZDB6BqFXlZ11C+3qdVPT/DrlDCKZtGbFpyTi0fIZUcWMkOaLdNW2oUjU1CzCIALaw5l2uEZoGxj6PSHlSJW+aEWhmc57esH/NvORbHKYHsg0HjGc5hlQd8UNrAttq6tbY+sLlp7kgzEIgE+gt5waIckETOvhyovHtxwxDs40JUMU0luQw== 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 CO1PR11MB4929.namprd11.prod.outlook.com (2603:10b6:303:6d::19) by SA1PR11MB5924.namprd11.prod.outlook.com (2603:10b6:806:23b::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5857.22; Mon, 28 Nov 2022 15:41:07 +0000 Received: from CO1PR11MB4929.namprd11.prod.outlook.com ([fe80::5b3:916c:706d:b41b]) by CO1PR11MB4929.namprd11.prod.outlook.com ([fe80::5b3:916c:706d:b41b%5]) with mapi id 15.20.5857.022; Mon, 28 Nov 2022 15:41:07 +0000 From: "Michael D Kinney" To: Ard Biesheuvel , "devel@edk2.groups.io" , "Kinney, Michael D" CC: "Chang, Abner" , "Ni, Ray" , "Gao, Liming" Subject: Re: [edk2-devel] [PATCH] edk II C Coding Standard: Remove section 5.4.2.2 STATIC Thread-Topic: [edk2-devel] [PATCH] edk II C Coding Standard: Remove section 5.4.2.2 STATIC Thread-Index: AQHY/i2jBlQ53PJLc0expkenXWyjf65Kb5uAgAAFfICAAKqbIIAI9dYAgABtTMA= Date: Mon, 28 Nov 2022 15:41:07 +0000 Message-ID: References: <20221122044708.672-1-abner.chang@amd.com> In-Reply-To: Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: CO1PR11MB4929:EE_|SA1PR11MB5924:EE_ x-ms-office365-filtering-correlation-id: cfef1096-7312-4daa-5411-08dad156f7a0 x-ld-processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: srrAGG0twAQDpv+IGicDY/aRKhLMVVFx3AzbktgeAcCcJWg7wHn2Aix3jRDrvMrQbZ6/WNqchOpiNR2HPJo1IUOmnVP5sZZKYLWhLvntdlpsZn6cBe1+0vOv2NuOu0psweL2+1tZa1pHWLNZmO2hcasuvFC7+/mrK+FIXwOt4od4moKpNTd3YgS2/q3NbHMrAmpeHQsEiPm7yydVaAwHIxhaAvmJDAAS3Bf49w2DRFgpeR1rmRzFLd7OWTEyPM/XoiQRwzxH0D3URrXCI/il9K1Ks+4kZQbNPVHtc2u++lttb86mAeeJ4kqTbfhXHABYzu0EazkbFGgECfyWXxYPFETn2sEEU3rmQRnk/Imah5sWypVht96k1uwA2PDxN1P5RIUnTSSZpjHyeZnsUp86CuoYGOZitX1ShQXg+dAPXfWSSy3TkhvPE2LdugGH1P2jpfsR9J/UNLgv8IDL3vepzohbJ460eQemkqNY4MMZKadxgzealb1PvLvUgmtKzPCwJz8JxN2rrGD+GArd/vzPYgCeQBTuAqdiTa01TGaEG47Z6se9/587vmIYztFmBz2lutMlpDdbf7lwwaxjPv6UUiBIdIBNz798BAjYYDd1MdRjHiNvlKX4svCsh6hnDzniIcEzM8XxlqZSogsMo/jWxZ2lY631MRZ52w6ZmgPzrdvE2IU0IytFnQFI82SdBF876A0SJSiASH2oz9yIMrXpxQ== 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:(13230022)(346002)(376002)(136003)(39860400002)(396003)(366004)(451199015)(38100700002)(7696005)(6506007)(41300700001)(8936002)(5660300002)(186003)(82960400001)(53546011)(52536014)(26005)(9686003)(122000001)(66476007)(38070700005)(54906003)(33656002)(316002)(71200400001)(86362001)(110136005)(478600001)(55016003)(4326008)(76116006)(64756008)(83380400001)(8676002)(66946007)(66556008)(66446008)(2906002)(66899015);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?aU0xTDFSL1FPenZBTGhvUENMQmNCTGVZTUFkdDVqN0VXcW1wdjMyK05Vcmky?= =?utf-8?B?WFRpQmxqbmQ2d0lNU0V3cE1henB2VFZQdldkODZ4SG5Ydk9hQ01ybk44a2NY?= =?utf-8?B?VS9pR2dzdE5MaHJxYUZmVHVueE1TZnhUckVEV2JuUlJvYU41cnlaS3ZRWUM0?= =?utf-8?B?QzRqV213bDRrSG9lanVpZG81ZXVIMkVRWDFGY0F3RUg4MHgrb1RIT1VZV2lM?= =?utf-8?B?QVBldUVXN1N2a3ZyQ2xUTUZPT0tVekZqM3RxTFpWcU5aZGNwWHRrc2dwaDF5?= =?utf-8?B?aTQ1R1VrZW1uWS93V2hRWGwxY2NScU1WQk5qaGZDenloN3BQVmovUjFHcDB2?= =?utf-8?B?TXZ2OFVmdEhRYWFWK1oxUU9tekdmMkEwOXpZRWdLc3ZwR1o4K3pWT0duMTNz?= =?utf-8?B?T2hwK1dQazZVYUhkbXBVam9Fd2w3S0FvTFQydkRlNkZqRHNMaGp6YVdsOGJP?= =?utf-8?B?bEZPRWRxN3dEdzBHWE45aXg2V3p5SnhqbkJmT2w0YnN4eVBqOXB6VjR6VUV0?= =?utf-8?B?c2FsSVp5eVB6Wm85OHN4dHBwUk1CZDhwdURrTm9SM0NCZDFwYmxoRFlLVmRl?= =?utf-8?B?cVNZUldLK2VxeUZKSXprOWpqN0Y0UEw3U3pOT3JENzdjVWIxdWRIV0IzTGhs?= =?utf-8?B?RlZLUHdaWnpONGRHZHJDd1RIb282ZTFMTTdqaVYzeDhLaE1mRzJUYzRiYXZv?= =?utf-8?B?QzlqcldYYUNKTERmWjZYQW9zWVYvY0FCcHdpUUZFdGJ6Y1ROYVkxQmswK0xP?= =?utf-8?B?UTVaK2o1NVNHNFYwdEFGSkY1T1BmMjUzaWJ4a0tFYlRCVTdNM0Ribklzd2hW?= =?utf-8?B?TXZRRDU1N1FUOHZEdjlyYktHRTNPa21uRmpLWUc3b1dVZk43aytPQ21qMjYz?= =?utf-8?B?K0hiNVp4d3hzc2k1R2RnMDNOamRIWHdVZnBvWG9uaVYrbDZoSXBlLzJmWHpu?= =?utf-8?B?RFB2emsvOW05ZFhVZHVJejhMS2luZ2EzU2VVbm9kV2VLV21NdVRFQWo3MENq?= =?utf-8?B?WFNJNitOQnRneDRGMHZFVTFHV0MwcGUxK0ViRmhyd2k2RVY2T0M5aE5kTlBB?= =?utf-8?B?OERHOVZDYlN5OHRmY1AvOWQ1S2pKWmRrUXVlQ1JFNGYrTEJrVjRHck8xa1hu?= =?utf-8?B?dzQ0Q01LcS9KWm1qSHdIaitENnBUQjh2ZlBRa3V3VzJUM3pTWlhvdit3WmR1?= =?utf-8?B?UmVRS3gzV01DWHlkSjlCTUVPeG5UQUh6YVdYYjVybzlFMWF0YUgyUVY1cFo5?= =?utf-8?B?OGI0bkY4R2tlc0k1Vm5USmR5dkNKK0Y4Rkt0SzVPcytybCtIUnhYZWw2SXpj?= =?utf-8?B?RlJ3cS92b3RSUVc4SGErYzg5N2NvSThHeHdCMERaWU5PaGtDNWZXQmlVOFNj?= =?utf-8?B?MEd5MlJ0TDh1bms4Rm5LRnhuN3hNU05ndHh5NFRSZkxLSjlEQzRYdXJFeTlr?= =?utf-8?B?dVo2ZzNmMkV6MDZKRkZsODJHR0dsRHhOamp2MVFVdGQxL0MxK21TWk4xMEtT?= =?utf-8?B?WERTb3pYR2dzWkRXK1dlK0hHNGhTcmxsc0VzUkgvYXdXc2RReTBTejNzaGtH?= =?utf-8?B?TVVyQkROS3BGR1Fjemp3TFNRU29RcGJyZ3Zhd1g1Nk8rSWJycy9OWTFkWCtt?= =?utf-8?B?SWlUczFHQTFqaTlHVURHUHB4Rnh4U1pTMTJ5R1BqbUdTOUM0U3E2MXNUdFpx?= =?utf-8?B?M3F3Y1Q1a0ZDVDA3cWMzNitWcG1qSXd3bDJDS2dFNTdJV1dieTRqa0dUTjdR?= =?utf-8?B?OGh0K2FjMlNkdDBCUXpYeGR5MEIvdll1dGg5bC9DQmxqb2RzWmN5SHNWdlFt?= =?utf-8?B?Qmd3azZUc1FtQ1ZMZkU5RE04VXg1ckRaSS9RUG5yOEtaUzFJWGgva0FwUVFw?= =?utf-8?B?M2NUK2laWFN3dkhvRmZFRWJLV2Q2QTMrZzBmM0RBKzZkTklrakFGTnRDdmhZ?= =?utf-8?B?U0JicmI5cjhhaWRLRkR6U0c4NDZkbU94VTRxOHlkcDhYeXFxMW9BNVZGZmNu?= =?utf-8?B?YXhBdHJMT3BHM20zSGZaMEZ0bUZTUjMzUnAzVkJvSU02bEVjcFRCZDlhdkkr?= =?utf-8?B?blBOWXZGKzQrL1FsdzVhSGV6YzhDbVJVWmVXMWlGanFRTUQ3Ny9IRjVOeHV1?= =?utf-8?B?MjgvNDhSczh2VzNuN1V3eG1nc05VVDd5MjFLQSt4a2NLcVhrSUJHZVhncTd6?= =?utf-8?B?VVE9PQ==?= 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: cfef1096-7312-4daa-5411-08dad156f7a0 X-MS-Exchange-CrossTenant-originalarrivaltime: 28 Nov 2022 15:41:07.7750 (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: KbHv/LU85KtNFkKOT8oe1rFAM/99bficf4VsGU0a4Ak5RPFo5pPucs+FE3RRB9dXesVHuKOI7mhVM5izQF039uk5W64ey2gat887I9gycxM= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR11MB5924 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 QXJkLA0KDQpJIGFncmVlIGl0IHNob3VsZCBiZSBhIHN0cm9uZyByZWNvbW1lbmRhdGlvbiBmb3Ig YWxsIG9mIHRoZXNlIHJlYXNvbnMuDQoNClRoZXJlIGlzIGEgcGF0Y2ggcmV2aWV3IGZvciB0aGlz IHNwZWMgZm9yIHVzZSBvZiAnc3RhdGljJy4gIENhbiB5b3UgDQpwbGVhc2UgcHJvdmlkZSBmZWVk YmFjayB3aXRoIHlvdXIgcmVjb21tZW5kZWQgY29udGVudD8NCg0KVGhhbmtzLA0KDQpNaWtlDQoN Cj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogQXJkIEJpZXNoZXV2ZWwgPGFy ZGJAa2VybmVsLm9yZz4NCj4gU2VudDogTW9uZGF5LCBOb3ZlbWJlciAyOCwgMjAyMiAxOjA4IEFN DQo+IFRvOiBkZXZlbEBlZGsyLmdyb3Vwcy5pbzsgS2lubmV5LCBNaWNoYWVsIEQgPG1pY2hhZWwu ZC5raW5uZXlAaW50ZWwuY29tPg0KPiBDYzogQ2hhbmcsIEFibmVyIDxBYm5lci5DaGFuZ0BhbWQu Y29tPjsgTmksIFJheSA8cmF5Lm5pQGludGVsLmNvbT47IEdhbywgTGltaW5nIDxnYW9saW1pbmdA Ynlvc29mdC5jb20uY24+DQo+IFN1YmplY3Q6IFJlOiBbZWRrMi1kZXZlbF0gW1BBVENIXSBlZGsg SUkgQyBDb2RpbmcgU3RhbmRhcmQ6IFJlbW92ZSBzZWN0aW9uIDUuNC4yLjIgU1RBVElDDQo+IA0K PiBPbiBUdWUsIDIyIE5vdiAyMDIyIGF0IDE5OjEwLCBNaWNoYWVsIEQgS2lubmV5DQo+IDxtaWNo YWVsLmQua2lubmV5QGludGVsLmNvbT4gd3JvdGU6DQo+ID4NCj4gPiBIaSBBYm5lciwNCj4gPg0K PiA+IFJlbW92aW5nIHRoYXQgc2VjdGlvbiA1LjQuMi4yIGlzIHJlcXVpcmVkIHRvIGNsb3NlIHRo aXMgYnVnLg0KPiA+DQo+ID4gTWVhbmluZyBvZiAnc3RhdGljJyBpcyBjb3ZlcmVkIGJ5IHRoZSBB TlNJIEMgc3RhbmRhcmRzLg0KPiA+DQo+ID4gVXNlIG9mICdzdGF0aWMnIGZvciBub24tcHVibGlj IHZhcmlhYmxlL2Z1bmN0aW9ucyBpbiBFREsgSUkNCj4gPiBsaWJyYXJpZXMvbW9kdWxlcyBpcyBy ZWNvbW1lbmRlZC4NCj4gPg0KPiA+IEhvd2V2ZXIsIGl0IGlzIG5vdCByZXF1aXJlZC4gIEl0IGlz IHJlY29tbWVuZGVkIHRvIHJlZHVjZSBjaGFuY2VzDQo+ID4gb2Ygc3ltYm9sIGNvbmZsaWN0cyBh dCBsaW5rIHRpbWUuICBDdXJyZW50IGFwcHJvYWNoIGlzIGlmIGEgbGluaw0KPiA+IGZhaWx1cmUg b2NjdXJzIGZvciBtdWx0aXBseSBkZWZpbmVkIHN5bWJvbHMgYW5kIHRob3NlIGFyZSBub24tcHVi bGljDQo+ID4gc3ltYm9scywgdGhlICdzdGF0aWMnIGF0dHJpYnV0ZSBjYW4gYmUgYXBwbGllZCB0 byB0aGUgbm9uLXB1YmxpYw0KPiA+IHN5bWJvbHMgaW4gdGhlIGNvbXBvbmVudHMgdGhhdCBnZW5l cmF0ZWQgdGhlIGxpbmsgZmFpbHVyZS4NCj4gPg0KPiA+IEl0IG1heSBiZSBnb29kIHRvIG1lbnRp b24gdGhpcyByZWNvbW1lbmRhdGlvbiBpbiB0aGUgQ1NTLg0KPiA+DQo+ID4gSSB3aWxsIGxldCB5 b3UgZGVjaWRlIHdoZW4gdGhpcyByZWNvbW1lbmRhdGlvbiBuZWVkcyB0byBiZQ0KPiA+IGFkZGVk IHRvIENTUy4NCj4gPg0KPiANCj4gJ3N0YXRpYycgaXMgbm90IGp1c3QgYSB0b29sIHRvIGF2b2lk IHN5bWJvbCBjb25mbGljdHMuIEl0IGFsc28gYXZvaWRzDQo+IGFidXNlIG9mIHN5bWJvbHMgdGhh dCBhcmUgYXNzdW1lZCB0byBoYXZlIGEgcHJpdmF0ZSBuYXR1cmUgYnV0IGNhbiBiZQ0KPiBsaW5r ZWQgdG8gbm9uZXRoZWxlc3MgKGUuZy4sIGluIHN0YXRpYyBsaWJyYXJpZXMpLiBJZGVhbGx5LCBh bnkNCj4gbGlicmFyeSBzaG91bGQgb25seSBleHBvcnQgdGhlIHN5bWJvbHMgdGhhdCBpdCBkZWZp bmVzIGFzIHBhcnQgb2YgaXRzDQo+IGludGVyZmFjZSwgYWx0aG91Z2ggdGhpcyBpcyBub3QgY3Vy cmVudGx5IGZlYXNpYmxlIG9mIGEgbGlicmFyeQ0KPiBjb25zaXN0cyBvZiBtdWx0aXBsZSBvYmpl Y3QgZmlsZXMuDQo+IA0KPiBBbm90aGVyIHRoaW5nIHRvIGtlZXAgaW4gbWluZCBpcyB0aGF0IHN0 YXRpYyBpcyB1c2VkIGJ5IHRoZSBjb21waWxlcg0KPiB0byBtYWtlIGluZmVyZW5jZXMgYWJvdXQg dGhlIHZhbHVlLiBBIHN0YXRpYyBnbG9iYWwgdmFyaWFibGUgY2FuIG9ubHkNCj4gYmUgbW9kaWZp ZWQgYnkgdGhlIGNvZGUgaW4gdGhlIHNhbWUgY29tcGlsYXRpb24gdW5pdCwgYW5kIHNvIHRoZQ0K PiBjb21waWxlciBpcyBmcmVlIHRvIG9wdGltaXplIGFjY2Vzc2VzIG9yIHBlcmZvcm0gY29uc3Rh bnQgcHJvcGFnYXRpb24NCj4gYW5kIGRyb3AgaXQgZW50aXJlbHkgaWYgaXQgb25seSBvYnNlcnZl cyByZWFkcyBhbmQgbm8gd3JpdGVzIGZyb20gdGhlDQo+IHZhcmlhYmxlLg0KPiANCj4gSSBjb25z aWRlciBpdCBnb29kIGRldmVsb3BlciBoeWdpZW5lIHRvIGFsd2F5cyB1c2Ugc3RhdGljIG9uIGds b2JhbA0KPiBzeW1ib2xzIChjb2RlIGFuZCBkYXRhKSB1bmxlc3MgdGhlIHN5bWJvbCBuZWVkcyB0 byBiZSBzaGFyZWQgd2l0aA0KPiBvdGhlciBjb21waWxhdGlvbiB1bml0cy4NCg==