From mboxrd@z Thu Jan 1 00:00:00 1970 Authentication-Results: mx.groups.io; dkim=missing; spf=pass (domain: intel.com, ip: 192.55.52.151, mailfrom: bob.c.feng@intel.com) Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) by groups.io with SMTP; Mon, 13 May 2019 19:52:55 -0700 X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga004.fm.intel.com ([10.253.24.48]) by fmsmga107.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 13 May 2019 19:52:54 -0700 X-ExtLoop1: 1 Received: from fmsmsx104.amr.corp.intel.com ([10.18.124.202]) by fmsmga004.fm.intel.com with ESMTP; 13 May 2019 19:52:54 -0700 Received: from shsmsx106.ccr.corp.intel.com (10.239.4.159) by fmsmsx104.amr.corp.intel.com (10.18.124.202) with Microsoft SMTP Server (TLS) id 14.3.408.0; Mon, 13 May 2019 19:52:54 -0700 Received: from shsmsx101.ccr.corp.intel.com ([169.254.1.129]) by SHSMSX106.ccr.corp.intel.com ([169.254.10.213]) with mapi id 14.03.0415.000; Tue, 14 May 2019 10:52:52 +0800 From: "Bob Feng" To: "Rodriguez, Christian" , Laszlo Ersek , "devel@edk2.groups.io" , "felixp@ami.com" CC: "Gao, Liming" , "Zhu, Yonghong" Subject: Re: [edk2-devel] [PATCH] BaseTools: Include headers not mentioned in inf are not hashed Thread-Topic: [edk2-devel] [PATCH] BaseTools: Include headers not mentioned in inf are not hashed Thread-Index: AQHVBq4MvM/i7cCL6EiFDTTClRqpD6Zi8UwAgADnRACAAFzmAIAABSqAgAADq4CABC86gIAAkE1g///lpYCAAQ4lwA== Date: Tue, 14 May 2019 02:52:51 +0000 Message-ID: <08650203BA1BD64D8AD9B6D5D74A85D16010D7AC@SHSMSX101.ccr.corp.intel.com> References: <20190509212719.6156-1-christian.rodriguez@intel.com> <9333E191E0D52B4999CE63A99BA663A00302C89341@atlms1.us.megatrends.com> <3A7DCC9A944C6149BF832E1C9B718ABC01EDA3B3@ORSMSX112.amr.corp.intel.com> <9333E191E0D52B4999CE63A99BA663A00302C89592@atlms1.us.megatrends.com> <3A7DCC9A944C6149BF832E1C9B718ABC01EDA3F1@ORSMSX112.amr.corp.intel.com> <08650203BA1BD64D8AD9B6D5D74A85D16010CE58@SHSMSX101.ccr.corp.intel.com> <3A7DCC9A944C6149BF832E1C9B718ABC01F1B960@ORSMSX112.amr.corp.intel.com> In-Reply-To: <3A7DCC9A944C6149BF832E1C9B718ABC01F1B960@ORSMSX112.amr.corp.intel.com> Accept-Language: zh-CN, en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-titus-metadata-40: eyJDYXRlZ29yeUxhYmVscyI6IiIsIk1ldGFkYXRhIjp7Im5zIjoiaHR0cDpcL1wvd3d3LnRpdHVzLmNvbVwvbnNcL0ludGVsMyIsImlkIjoiMjQzNTY2ZTItZDQ0ZC00ZjVkLWI1NDgtNjBjY2M0NWEwNTU0IiwicHJvcHMiOlt7Im4iOiJDVFBDbGFzc2lmaWNhdGlvbiIsInZhbHMiOlt7InZhbHVlIjoiQ1RQX05UIn1dfV19LCJTdWJqZWN0TGFiZWxzIjpbXSwiVE1DVmVyc2lvbiI6IjE3LjEwLjE4MDQuNDkiLCJUcnVzdGVkTGFiZWxIYXNoIjoiYTJHMXB0bUN1bjVHbkFxb2cwMlhiSFoxVUkybFdxc3hzSXdIbW5vcmZWbm1VXC9nVVdlRGlOMEFuWnZcLzk4VFplIn0= x-ctpclassification: CTP_NT dlp-product: dlpe-windows dlp-version: 11.0.600.7 dlp-reaction: no-action x-originating-ip: [10.239.127.40] MIME-Version: 1.0 Return-Path: bob.c.feng@intel.com Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 SSBlbnRlcmVkIGEgbmV3IEJaIGh0dHBzOi8vYnVnemlsbGEudGlhbm9jb3JlLm9yZy9zaG93X2J1 Zy5jZ2k/aWQ9MTgwNCB0byB0cmFjayB0aGUgW1NvdXJjZXNdIHNlY3Rpb24gY2hlY2sgZnVuY3Rp b24uDQoNCkFncmVlIHRoYXQgIm1pbmltaXplIHRoZSBwZXJmb3JtYW5jZSBoaXQgYnkgc2F2aW5n IHRoZSBkYXRhIGZyb20gTW9kdWxlTWFrZWZpbGUuR2V0RmlsZURlcGVuZGVuY3koKSB0byBtZW1v cnkgYW5kIHJldXNlIGl0IGxhdGVyIGluIEdlbk1ha2UgdG8gc2F2ZSBvbiBJTyBhbmQgc2VhcmNo LiINCg0KVGhhbmtzLA0KQm9iDQoNCi0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQpGcm9tOiBS b2RyaWd1ZXosIENocmlzdGlhbiANClNlbnQ6IFR1ZXNkYXksIE1heSAxNCwgMjAxOSAyOjQxIEFN DQpUbzogRmVuZywgQm9iIEMgPGJvYi5jLmZlbmdAaW50ZWwuY29tPjsgTGFzemxvIEVyc2VrIDxs ZXJzZWtAcmVkaGF0LmNvbT47IGRldmVsQGVkazIuZ3JvdXBzLmlvOyBmZWxpeHBAYW1pLmNvbQ0K Q2M6IEdhbywgTGltaW5nIDxsaW1pbmcuZ2FvQGludGVsLmNvbT47IFpodSwgWW9uZ2hvbmcgPHlv bmdob25nLnpodUBpbnRlbC5jb20+DQpTdWJqZWN0OiBSRTogW2VkazItZGV2ZWxdIFtQQVRDSF0g QmFzZVRvb2xzOiBJbmNsdWRlIGhlYWRlcnMgbm90IG1lbnRpb25lZCBpbiBpbmYgYXJlIG5vdCBo YXNoZWQNCg0KWWVzIHRoZXJlIGNvdWxkIGJlIGEgcGVyZm9ybWFuY2UgaGl0LiBJdCBtaWdodCBi ZSBiZXR0ZXIgdG8gbWFrZSBpdCBhIHNjcmlwdC4NCkJ1dCB0aGlzIGlzIG9ubHkgZ29pbmcgdG8g aGFwcGVuIHdoZW4gdGhlIGhhc2ggZmVhdHVyZSBpcyBlbmFibGVkLCBub3QgZXZlciBidWlsZC4g QWxzbyB3ZSBjYW4gbWluaW1pemUgdGhlIHBlcmZvcm1hbmNlIGhpdCBieSBzYXZpbmcgdGhlIGRh dGEgZnJvbSBNb2R1bGVNYWtlZmlsZS5HZXRGaWxlRGVwZW5kZW5jeSgpIHRvIG1lbW9yeSBhbmQg cmV1c2UgaXQgbGF0ZXIgaW4gR2VuTWFrZSB0byBzYXZlIG9uIElPIGFuZCBzZWFyY2guDQoNClRo YW5rcywNCkNocmlzdGlhbg0KDQo+LS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj5Gcm9tOiBG ZW5nLCBCb2IgQw0KPlNlbnQ6IE1vbmRheSwgTWF5IDEzLCAyMDE5IDU6MjMgQU0NCj5UbzogTGFz emxvIEVyc2VrIDxsZXJzZWtAcmVkaGF0LmNvbT47IFJvZHJpZ3VleiwgQ2hyaXN0aWFuIA0KPjxj aHJpc3RpYW4ucm9kcmlndWV6QGludGVsLmNvbT47IGRldmVsQGVkazIuZ3JvdXBzLmlvOyBmZWxp eHBAYW1pLmNvbQ0KPkNjOiBHYW8sIExpbWluZyA8bGltaW5nLmdhb0BpbnRlbC5jb20+OyBaaHUs IFlvbmdob25nIA0KPjx5b25naG9uZy56aHVAaW50ZWwuY29tPg0KPlN1YmplY3Q6IFJFOiBbZWRr Mi1kZXZlbF0gW1BBVENIXSBCYXNlVG9vbHM6IEluY2x1ZGUgaGVhZGVycyBub3QgDQo+bWVudGlv bmVkIGluIGluZiBhcmUgbm90IGhhc2hlZA0KPg0KPkkgdGhpbmsgY2hlY2tpbmcgaWYgW1NvdXJj ZV0gaW5jbHVkZXMgYWxsIHRoZSAic291cmNlIiBmaWxlIHVuZGVyIA0KPm1vZHVsZSdzIGZvbGRl ciBmb3IgZWFjaCBtb2R1bGUgZHVyaW5nIGJ1aWxkIHdvdWxkIG1ha2UgYnVpbGQgc2xvdyANCj5k b3duLCB3ZSBoYXZlIGJlZW4gZG9pbmcgYSBsb3QgdG8gaW1wcm92ZSB0aGUgYnVpbGQgcGVyZm9y bWFuY2UuDQo+TWF5YmUgd2UgY291bGQgY3JlYXRlIGEgbmV3IHB5dGhvbiBzY3JpcHQgdW5kZXIg QmFzZVRvb2xzL1NjcmlwdHMgDQo+Zm9sZGVyIHRvIGRvIHRoaXMgY2hlY2suDQo+DQo+VGhhbmtz LA0KPkJvYg0KPg0KPi0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+RnJvbTogTGFzemxvIEVy c2VrIFttYWlsdG86bGVyc2VrQHJlZGhhdC5jb21dDQo+U2VudDogTW9uZGF5LCBNYXkgMTMsIDIw MTkgNzozOSBQTQ0KPlRvOiBSb2RyaWd1ZXosIENocmlzdGlhbiA8Y2hyaXN0aWFuLnJvZHJpZ3Vl ekBpbnRlbC5jb20+OyANCj5kZXZlbEBlZGsyLmdyb3Vwcy5pbzsgZmVsaXhwQGFtaS5jb20NCj5D YzogRmVuZywgQm9iIEMgPGJvYi5jLmZlbmdAaW50ZWwuY29tPjsgR2FvLCBMaW1pbmcgDQo+PGxp bWluZy5nYW9AaW50ZWwuY29tPjsgWmh1LCBZb25naG9uZyA8eW9uZ2hvbmcuemh1QGludGVsLmNv bT4NCj5TdWJqZWN0OiBSZTogW2VkazItZGV2ZWxdIFtQQVRDSF0gQmFzZVRvb2xzOiBJbmNsdWRl IGhlYWRlcnMgbm90IA0KPm1lbnRpb25lZCBpbiBpbmYgYXJlIG5vdCBoYXNoZWQNCj4NCj5PbiAw NS8xMC8xOSAyMTo0NSwgUm9kcmlndWV6LCBDaHJpc3RpYW4gd3JvdGU6DQo+PiBIYXNoaW5nIGlz IG5vdCBjaGFuZ2luZyBmaWxlIGZvcm1hdCByZXF1aXJlbWVudHMgYXMgQmFzZXRvb2xzIGhhcyBu bw0KPnJlcXVpcmVtZW50IG9uIHRoaXMgZXZlbiB0aG91Z2ggdGhlIHNwZWMgZG9lcyBoYXZlIGZp bGUgcmVxdWlyZW1lbnRzLiANCj5UaGF0J3Mgd2h5IHRoZSBpbml0aWFsIHBhdGNoIHdhcyBhIHdv cmthcm91bmQgb2Ygc29ydHMgYmVjYXVzZSBpdCBpcyANCj5hbGxvd2VkIGJ5IEJhc2V0b29scyB0 byBoYXZlIGxvY2FsIGhlYWRlcnMgbm90IGluIHRoZSBzb3VyY2VzIHNlY3Rpb24gb2YgdGhlIG1l dGEgZmlsZS4NCj4+DQo+PiBBbHdheXMgYnJlYWtpbmcgdGhlIGJ1aWxkIGlzIG91dHNpZGUgb2Yg dGhlIHNjb3BlIG9mIHRoaXMgQlogYW5kIG15IA0KPj4gcHJvamVjdA0KPnByaW9yaXRpZXMuIEkg YWdyZWUgaXQgc2hvdWxkIGJlIGRvbmUsIGJ1dCBpdCdzIG91dCBvZiBteSBzY29wZS4NCj4+DQo+ PiBJIGFtIHNwZWNpZmljYWxseSB0YXJnZXRpbmcgdGhlIGhhc2hpbmcgZmVhdHVyZSwgd2hpY2gg cmVsaWVzIG9uIFVFRkkgDQo+PiBTcGVjDQo+cmVxdWlyZW1lbnRzLg0KPg0KPkkgdGhpbmsgYnJl YWtpbmcgdGhlIGJ1aWxkIGltbWVkaWF0ZWx5IChhbmQgdW5jb25kaXRpb25hbGx5KSBjb3VsZCAN Cj5jYXRjaCBwbGF0Zm9ybXMgYnkgc3VycHJpc2UuIENhbiB3ZSBtYWtlIHRoaXMgYSB3YXJuaW5n IHZzLiBhbiBlcnJvcj8gDQo+QW5kLCBJJ20gdG90YWxseSBPSyBpZiBpdCdzIGF2YWlsYWJsZSBv bmx5IHdpdGggLS1oYXNoLCBmb3Igbm93Lg0KPg0KPkJUVyAtLSBJJ20gbm90IHN1cmUgd2h5IHRo ZSBVRUZJIHNwZWMgaXMgcmVsZXZhbnQgaGVyZS4NCj4NCj5UaGFua3MNCj5MYXN6bG8NCj4NCj4+ PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPj4+IEZyb206IGRldmVsQGVkazIuZ3JvdXBz LmlvIFttYWlsdG86ZGV2ZWxAZWRrMi5ncm91cHMuaW9dIE9uIEJlaGFsZiANCj4+PiBPZiBGZWxp eCBQb2x5dWRvdg0KPj4+IFNlbnQ6IEZyaWRheSwgTWF5IDEwLCAyMDE5IDEyOjMyIFBNDQo+Pj4g VG86IFJvZHJpZ3VleiwgQ2hyaXN0aWFuIDxjaHJpc3RpYW4ucm9kcmlndWV6QGludGVsLmNvbT47 IA0KPj4+IGRldmVsQGVkazIuZ3JvdXBzLmlvOyAnbGVyc2VrQHJlZGhhdC5jb20nIDxsZXJzZWtA cmVkaGF0LmNvbT4NCj4+PiBDYzogRmVuZywgQm9iIEMgPGJvYi5jLmZlbmdAaW50ZWwuY29tPjsg R2FvLCBMaW1pbmcgDQo+Pj4gPGxpbWluZy5nYW9AaW50ZWwuY29tPjsgWmh1LCBZb25naG9uZyA8 eW9uZ2hvbmcuemh1QGludGVsLmNvbT4NCj4+PiBTdWJqZWN0OiBSZTogW2VkazItZGV2ZWxdIFtQ QVRDSF0gQmFzZVRvb2xzOiBJbmNsdWRlIGhlYWRlcnMgbm90IA0KPj4+IG1lbnRpb25lZCBpbiBp bmYgYXJlIG5vdCBoYXNoZWQNCj4+Pg0KPj4+IE15IHN1Z2dlc3Rpb24gd291bGQgYmUgdG8gYWx3 YXlzIGJyZWFrIGEgYnVpbGQgKG5vIG1hdHRlciB3aGF0IHRoZSANCj4+PiBoYXNoaW5nIHNldHRp bmdzIGFyZSkuDQo+Pj4gSGFzaGluZyBpcyBqdXN0IGFuIG9wdGltaXphdGlvbiB0ZWNobmlxdWUs IHVzYWdlIG9mIHdoaWNoIHNob3VsZCBub3QgDQo+Pj4gYmUgY2hhbmdpbmcgc291cmNlIGZpbGUg Zm9ybWF0dGluZyByZXF1aXJlbWVudHMuDQo+Pj4NCj4+Pj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdl LS0tLS0NCj4+Pj4gRnJvbTogUm9kcmlndWV6LCBDaHJpc3RpYW4gW21haWx0bzpjaHJpc3RpYW4u cm9kcmlndWV6QGludGVsLmNvbV0NCj4+Pj4gU2VudDogRnJpZGF5LCBNYXkgMTAsIDIwMTkgMzox NCBQTQ0KPj4+PiBUbzogZGV2ZWxAZWRrMi5ncm91cHMuaW87IEZlbGl4IFBvbHl1ZG92OyAnbGVy c2VrQHJlZGhhdC5jb20nDQo+Pj4+IENjOiBGZW5nLCBCb2IgQzsgR2FvLCBMaW1pbmc7IFpodSwg WW9uZ2hvbmcNCj4+Pj4gU3ViamVjdDogUkU6IFtlZGsyLWRldmVsXSBbUEFUQ0hdIEJhc2VUb29s czogSW5jbHVkZSBoZWFkZXJzIG5vdCANCj4+Pj4gbWVudGlvbmVkIGluIGluZiBhcmUgbm90IGhh c2hlZA0KPj4+Pg0KPj4+PiBBZnRlciB0YWxraW5nIHRvIG15IGNvbGxlYWd1ZXMgYWJvdXQgdGhp cywgdGhlIGRpcmVjdGlvbiBzZWVtcyB0byANCj4+Pj4gYmUgdG8gZnVuZGFtZW50YWxseSBjaGFu Z2UgdGhpcyBCWi4gSW5zdGVhZCBvZiBidWlsZGluZyB0aGlzIHNvcnQgDQo+Pj4+IG9mIHdvcmth cm91bmQgZmVhdHVyZSwgd2Ugc2hvdWxkIHVzZSB0aGUgaW5mb3JtYXRpb24gZ2F0aGVyZWQgZnJv bSANCj4+Pj4gdGhpcw0KPj4+IGZlYXR1cmUgdG8gY2F1c2UgdGhlIGJ1aWxkIHRvIGJyZWFrIHdo ZW4gdGhlIGhhc2ggZmVhdHVyZSBpcyBlbmFibGVkLg0KPj4+IFRoaXMgd291bGQgZm9yY2UgdXNl cnMgb2YgdGhlIGhhc2ggZmVhdHVyZSB0byBiZSBVRUZJIHNwZWMgY29tcGxhaW50Lg0KPj4+Pg0K Pj4+PiBXaGF0IGRvIHlvdSBndXlzIHRoaW5rOyBMYXN6bG8gYW5kIEZlbGl4Pw0KPj4+Pg0KPj4+ PiBJJ2xsIHVwZGF0ZSB0aGUgQlogd2hlbiBJIGdldCB5b3VyIGlucHV0Lg0KPj4+Pg0KPj4+PiBU aGFua3MsDQo+Pj4+IENocmlzdGlhbiBSb2RyaWd1ZXoNCj4+Pj4NCj4+Pj4+IC0tLS0tT3JpZ2lu YWwgTWVzc2FnZS0tLS0tDQo+Pj4+PiBGcm9tOiBkZXZlbEBlZGsyLmdyb3Vwcy5pbyBbbWFpbHRv OmRldmVsQGVkazIuZ3JvdXBzLmlvXSBPbiBCZWhhbGYgDQo+Pj4+PiBPZiBGZWxpeCBQb2x5dWRv dg0KPj4+Pj4gU2VudDogRnJpZGF5LCBNYXkgMTAsIDIwMTkgNjo0MSBBTQ0KPj4+Pj4gVG86IGRl dmVsQGVkazIuZ3JvdXBzLmlvOyAnbGVyc2VrQHJlZGhhdC5jb20nIDxsZXJzZWtAcmVkaGF0LmNv bT47IA0KPj4+Pj4gUm9kcmlndWV6LCBDaHJpc3RpYW4gPGNocmlzdGlhbi5yb2RyaWd1ZXpAaW50 ZWwuY29tPg0KPj4+Pj4gQ2M6IEZlbmcsIEJvYiBDIDxib2IuYy5mZW5nQGludGVsLmNvbT47IEdh bywgTGltaW5nIA0KPj4+Pj4gPGxpbWluZy5nYW9AaW50ZWwuY29tPjsgWmh1LCBZb25naG9uZyA8 eW9uZ2hvbmcuemh1QGludGVsLmNvbT4NCj4+Pj4+IFN1YmplY3Q6IFJlOiBbZWRrMi1kZXZlbF0g W1BBVENIXSBCYXNlVG9vbHM6IEluY2x1ZGUgaGVhZGVycyBub3QgDQo+Pj4+PiBtZW50aW9uZWQg aW4gaW5mIGFyZSBub3QgaGFzaGVkDQo+Pj4+Pg0KPj4+Pj4+IC0tLS0tT3JpZ2luYWwgTWVzc2Fn ZS0tLS0tDQo+Pj4+Pj4gRnJvbTogZGV2ZWxAZWRrMi5ncm91cHMuaW8gW21haWx0bzpkZXZlbEBl ZGsyLmdyb3Vwcy5pb10gT24gDQo+Pj4+Pj4gQmVoYWxmIE9mIExhc3psbyBFcnNlaw0KPj4+Pj4+ IFNlbnQ6IFRodXJzZGF5LCBNYXkgMDksIDIwMTkgNzo1MyBQTQ0KPj4+Pj4+DQo+Pj4+Pj4gSGVs bG8gQ2hyaXN0aWFuLA0KPj4+Pj4+DQo+Pj4+Pj4gT24gMDUvMDkvMTkgMjM6MjcsIENocmlzdGlh biBSb2RyaWd1ZXogd3JvdGU6DQo+Pj4+Pj4+IEJaOiBodHRwczovL2J1Z3ppbGxhLnRpYW5vY29y ZS5vcmcvc2hvd19idWcuY2dpP2lkPTE3ODcNCj4+Pj4+Pj4NCj4+Pj4+Pj4gR2V0IGEgbGlzdCBv ZiBsb2NhbCBoZWFkZXIgZmlsZXMgdGhhdCBhcmUgbm90IHByZXNlbnQgaW4gdGhlIA0KPj4+Pj4+ PiBNZXRhRmlsZSBmb3IgdGhpcyBtb2R1bGUuIEFkZCB0aG9zZSBsb2NhbCBoZWFkZXIgZmlsZXMg aW50byB0aGUgDQo+Pj4+Pj4+IGhhc2hpbmcgYWxnb3JpdGhtIGZvciBhIG1vZHVsZS4gSWYgYSBs b2NhbCBoZWFkZXIgZmlsZSBpcyBub3QgDQo+Pj4+Pj4+IHByZXNlbnQgaW4gdGhlIE1ldGFGaWxl LCB0aGUgbW9kdWxlIHdpbGwgc3RpbGwgYnVpbGQgY29ycmVjdGx5IA0KPj4+Pj4+PiB0aG91Z2gg dGhlIGhhc2hpbmcgc3lzdGVtIGRpZG4ndCBrbm93IGFib3V0IGl0IGJlZm9yZS4NCj4+Pj4+Pj4N Cj4+Pj4+Pj4gU2lnbmVkLW9mZi1ieTogQ2hyaXN0aWFuIFJvZHJpZ3VleiANCj4+Pj4+Pj4gPGNo cmlzdGlhbi5yb2RyaWd1ZXpAaW50ZWwuY29tPg0KPj4+Pj4+PiBDYzogQm9iIEZlbmcgPGJvYi5j LmZlbmdAaW50ZWwuY29tPg0KPj4+Pj4+PiBDYzogTGltaW5nIEdhbyA8bGltaW5nLmdhb0BpbnRl bC5jb20+DQo+Pj4+Pj4+IENjOiBZb25naG9uZyBaaHUgPHlvbmdob25nLnpodUBpbnRlbC5jb20+ DQo+Pj4+Pj4+IC0tLQ0KPj4+Pj4+PiAgQmFzZVRvb2xzL1NvdXJjZS9QeXRob24vQXV0b0dlbi9B dXRvR2VuLnB5IHwgMjQNCj4+Pj4+Pj4gKysrKysrKysrKysrKysrKysrKysrKysrDQo+Pj4+Pj4+ ICAxIGZpbGUgY2hhbmdlZCwgMjQgaW5zZXJ0aW9ucygrKQ0KPj4+Pj4+DQo+Pj4+Pj4gSSBzYXcg dGhlIEJaIHNvb24gYWZ0ZXIgaXQgd2FzIHJlcG9ydGVkLiBJIGFsbW9zdCBjb21tZW50ZWQsIGJ1 dCANCj4+Pj4+PiB1bHRpbWF0ZWx5IEkgY291bGRuJ3QgZGVjaWRlIHdoYXQgdGhlIHJlYWwgdXNl IGNhc2Ugd2FzLg0KPj4+Pj4+DQo+Pj4+Pj4gV2l0aCB0aGlzIHBhcnRpY3VsYXIgdXNlIGNhc2Ug KGkuZS4gSU5GIGZpbGUgaXMgbWlzc2luZyBzb21lIA0KPj4+Pj4+IG1vZHVsZS1zcGVjaWZpYyBo ZWFkZXIgZmlsZXMgdGhhdCBpdCBjb3VsZCBlYXNpbHkgbGlzdCksIEkgdGhpbmsgDQo+Pj4+Pj4g SSBkaXNhZ3JlZSwgbWlsZGx5IChub3QgdG9vIHN0cm9uZ2x5KS4gRS5nLiwgd2UgZml4ZWQgc3Vj aCANCj4+Pj4+PiBvbWlzc2lvbnMgaW4gYSBidW5jaCBvZiBJTkYgZmlsZXMsIGxhc3QgTWFyY2gs IGluIHRoZSBzZXJpZXMNCj4+Pj4+DQo+Pj4+PiBJIGFncmVlIHdpdGggTGF6bG8uDQo+Pj4+PiBB Y2NvcmRpbmcgdG8gc2VjdGlvbiAzLjkgb2YgdGhlIElORiBzcGVjaWZpY2F0aW9uIChodHRwczov L2VkazItDQo+Pj4+PiBkb2NzLmdpdGJvb2tzLmlvL2Vkay1paS1pbmYtDQo+Pj4+PiBzcGVjaWZp Y2F0aW9uLzNfZWRrX2lpX2luZl9maWxlX2Zvcm1hdC8zOV9bc291cmNlc11fc2VjdGlvbnMuaHRt bCkNCj4+Pj4+ICwgYWxsIHNvdXJjZSBmaWxlcyAoaW5jbHVkaW5nIG1vZHVsZSBoZWFkZXIgZmls ZXMpIG11c3QgYmUgbGlzdGVkIA0KPj4+Pj4gaW4gdGhlIFtTb3VyY2VzXSBzZWN0aW9uLg0KPj4+ Pj4gSGVyZSBpcyB0aGUgcXVvdGU6DQo+Pj4+PiAiQWxsIEhJSSBVbmljb2RlIGZvcm1hdCBmaWxl cyBtdXN0IGJlIGxpc3RlZCBpbiB0aGlzIHNlY3Rpb24gYXMgDQo+Pj4+PiB3ZWxsIGFzIGFueSBv dGhlciAic291cmNlIiB0eXBlIGZpbGUsIHN1Y2ggYXMgbG9jYWwgbW9kdWxlIGhlYWRlciANCj4+ Pj4+IGZpbGVzLCBWZnIgZmlsZXMsDQo+Pj4gZXRjLiAiDQo+Pj4+Pg0KPj4+Pj4gU28sIGlmIGZp bGUgWCBpcyB1c2VkIGJ5IG1vZHVsZSBZLCBidXQgaXMgbm90IGxpc3RlZCBpbiBZLmluZiwgDQo+ Pj4+PiBpdCdzIGEgdmlvbGF0aW9uIG9mIHRoZSBJTkYgc3BlYy4sIHdoaWNoIG1ha2VzIGl0IGEg YnVnIHRoYXQgaGFzIHRvIGJlIGZpeGVkLg0KPj4+Pj4NCj4+Pj4+DQo+Pj4+PiBQbGVhc2UgY29u c2lkZXIgdGhlIGVudmlyb25tZW50IGJlZm9yZSBwcmludGluZyB0aGlzIGVtYWlsLg0KPj4+Pj4N Cj4+Pj4+IFRoZSBpbmZvcm1hdGlvbiBjb250YWluZWQgaW4gdGhpcyBtZXNzYWdlIG1heSBiZSBj b25maWRlbnRpYWwgYW5kIA0KPj4+Pj4gcHJvcHJpZXRhcnkgdG8gQW1lcmljYW4gTWVnYXRyZW5k cywgSW5jLiAgVGhpcyBjb21tdW5pY2F0aW9uIGlzIA0KPj4+Pj4gaW50ZW5kZWQgdG8gYmUgcmVh ZCBvbmx5IGJ5IHRoZSBpbmRpdmlkdWFsIG9yIGVudGl0eSB0byB3aG9tIGl0IGlzIA0KPj4+Pj4g YWRkcmVzc2VkIG9yIGJ5IHRoZWlyIGRlc2lnbmVlLiBJZiB0aGUgcmVhZGVyIG9mIHRoaXMgbWVz c2FnZSBpcyANCj4+Pj4+IG5vdCB0aGUgaW50ZW5kZWQgcmVjaXBpZW50LCB5b3UgYXJlIG9uIG5v dGljZSB0aGF0IGFueSANCj4+Pj4+IGRpc3RyaWJ1dGlvbiBvZiB0aGlzIG1lc3NhZ2UsIGluIGFu eSBmb3JtLCBpcyBzdHJpY3RseSBwcm9oaWJpdGVkLiAgDQo+Pj4+PiBQbGVhc2UgcHJvbXB0bHkg bm90aWZ5IHRoZSBzZW5kZXIgYnkgcmVwbHkgZS1tYWlsIG9yIGJ5IHRlbGVwaG9uZSANCj4+Pj4+ IGF0IDc3MC0yNDYtODYwMCwgYW5kDQo+Pj4gdGhlbiBkZWxldGUgb3IgZGVzdHJveSBhbGwgY29w aWVzIG9mIHRoZSB0cmFuc21pc3Npb24uDQo+Pj4+PiABICAgbCAgIEsYICAgcSB5IGUgICxqICAg ICAgYSAgKyAgVSAgP0UgZSAgIHcg040gICBpICAgdk0gICAgICo/ICBeICB/ICAsaiAgIE42IMut eThiIDopICBtICA/DQo+Pj4+PiDoupsiICAgIH15IE01ICB7IN63IGroupMgICAgeiAgICAneiAg IGgrICBsICAnICAgciAgehttICAgeSA2ICAuIMioIA8geiAgICDsubchICstICAgICDns4p7XiAg Jg0KPj4+DQo+Pj4gUGxlYXNlIGNvbnNpZGVyIHRoZSBlbnZpcm9ubWVudCBiZWZvcmUgcHJpbnRp bmcgdGhpcyBlbWFpbC4NCj4+Pg0KPj4+IFRoZSBpbmZvcm1hdGlvbiBjb250YWluZWQgaW4gdGhp cyBtZXNzYWdlIG1heSBiZSBjb25maWRlbnRpYWwgYW5kIA0KPj4+IHByb3ByaWV0YXJ5IHRvIEFt ZXJpY2FuIE1lZ2F0cmVuZHMsIEluYy4gIFRoaXMgY29tbXVuaWNhdGlvbiBpcyANCj4+PiBpbnRl bmRlZCB0byBiZSByZWFkIG9ubHkgYnkgdGhlIGluZGl2aWR1YWwgb3IgZW50aXR5IHRvIHdob20g aXQgaXMgDQo+Pj4gYWRkcmVzc2VkIG9yIGJ5IHRoZWlyIGRlc2lnbmVlLiBJZiB0aGUgcmVhZGVy IG9mIHRoaXMgbWVzc2FnZSBpcyBub3QgDQo+Pj4gdGhlIGludGVuZGVkIHJlY2lwaWVudCwgeW91 IGFyZSBvbiBub3RpY2UgdGhhdCBhbnkgZGlzdHJpYnV0aW9uIG9mIA0KPj4+IHRoaXMgbWVzc2Fn ZSwgaW4gYW55IGZvcm0sIGlzIHN0cmljdGx5IHByb2hpYml0ZWQuICBQbGVhc2UgcHJvbXB0bHkg DQo+Pj4gbm90aWZ5IHRoZSBzZW5kZXIgYnkgcmVwbHkgZS1tYWlsIG9yIGJ5IHRlbGVwaG9uZSBh dCA3NzAtMjQ2LTg2MDAsIA0KPj4+IGFuZA0KPnRoZW4gZGVsZXRlIG9yIGRlc3Ryb3kgYWxsIGNv cGllcyBvZiB0aGUgdHJhbnNtaXNzaW9uLg0KPj4+IAEgICBsICAgSxggICBxIHkgZSAgLGogICAg ICBhICArICBVICA/RSBlICAgdyDTjnsgIGkgICB2TSAgICAgKj8gIF4gIH8gICxqICAgTjkgy615 OGIgOikgIG0gID8NCj4+PiDoupsiICAgIH15IE01ICB7IN63IGroupMgICAgeiAgICAneiAgIGgr ICBsICAnICAgciAgehttICAgeSA2ICAuIMioIA8geiAgICDsubchICstICAgICDns4p7XiAgJg0K DQo=