From mboxrd@z Thu Jan 1 00:00:00 1970 Authentication-Results: mx.groups.io; dkim=missing; spf=pass (domain: intel.com, ip: 134.134.136.24, mailfrom: liming.gao@intel.com) Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by groups.io with SMTP; Sun, 05 May 2019 08:21:47 -0700 X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga007.fm.intel.com ([10.253.24.52]) by orsmga102.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 05 May 2019 08:21:46 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.60,434,1549958400"; d="scan'208";a="148744591" Received: from fmsmsx105.amr.corp.intel.com ([10.18.124.203]) by fmsmga007.fm.intel.com with ESMTP; 05 May 2019 08:21:45 -0700 Received: from fmsmsx154.amr.corp.intel.com (10.18.116.70) by FMSMSX105.amr.corp.intel.com (10.18.124.203) with Microsoft SMTP Server (TLS) id 14.3.408.0; Sun, 5 May 2019 08:21:45 -0700 Received: from shsmsx106.ccr.corp.intel.com (10.239.4.159) by FMSMSX154.amr.corp.intel.com (10.18.116.70) with Microsoft SMTP Server (TLS) id 14.3.408.0; Sun, 5 May 2019 08:21:45 -0700 Received: from shsmsx104.ccr.corp.intel.com ([169.254.5.33]) by SHSMSX106.ccr.corp.intel.com ([169.254.10.213]) with mapi id 14.03.0415.000; Sun, 5 May 2019 23:21:43 +0800 From: "Liming Gao" To: Laszlo Ersek , "devel@edk2.groups.io" CC: "Wu, Jiaxin" , "Ye, Ting" , "Fu, Siyuan" Subject: Re: [edk2-devel] [Patch v3 2/3] NetworkPkg: Add DSC/FDF include segment files to NetworkPkg. Thread-Topic: [edk2-devel] [Patch v3 2/3] NetworkPkg: Add DSC/FDF include segment files to NetworkPkg. Thread-Index: AQHU/ow2H6bhVB8Wy0+9F6YRZbxFKaZcp8Dg Date: Sun, 5 May 2019 15:21:42 +0000 Message-ID: <4A89E2EF3DFEDB4C8BFDE51014F606A14E4416B7@SHSMSX104.ccr.corp.intel.com> References: <20190425123735.10960-1-liming.gao@intel.com> <20190425123735.10960-3-liming.gao@intel.com> <4bc4a615-732f-a121-8a38-bac84ea1ee9f@redhat.com> In-Reply-To: <4bc4a615-732f-a121-8a38-bac84ea1ee9f@redhat.com> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ctpclassification: CTP_NT x-titus-metadata-40: eyJDYXRlZ29yeUxhYmVscyI6IiIsIk1ldGFkYXRhIjp7Im5zIjoiaHR0cDpcL1wvd3d3LnRpdHVzLmNvbVwvbnNcL0ludGVsMyIsImlkIjoiZjIzMTk4NzQtMDViZi00YTk0LWEyN2QtMmE3ZDczOGQ1YTc2IiwicHJvcHMiOlt7Im4iOiJDVFBDbGFzc2lmaWNhdGlvbiIsInZhbHMiOlt7InZhbHVlIjoiQ1RQX05UIn1dfV19LCJTdWJqZWN0TGFiZWxzIjpbXSwiVE1DVmVyc2lvbiI6IjE3LjEwLjE4MDQuNDkiLCJUcnVzdGVkTGFiZWxIYXNoIjoiUHZwTXhQZVlwMVZrcDRhSFdkQ2h0RFZBM2RoR0J1R2JjY3NIb1RxRDF5ZDZNelo3aVZ4d09FTWo0OHJ2cm9yRyJ9 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: liming.gao@intel.com Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 UmVwbHkgZm9yIHRoZSBjb21tZW50cyBpbiB0aGUgcGF0Y2ggY29udGVudC4gDQo+IC0tLS0tT3Jp Z2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IExhc3psbyBFcnNlayBbbWFpbHRvOmxlcnNla0By ZWRoYXQuY29tXQ0KPiBTZW50OiBNb25kYXksIEFwcmlsIDI5LCAyMDE5IDk6MDUgUE0NCj4gVG86 IGRldmVsQGVkazIuZ3JvdXBzLmlvOyBHYW8sIExpbWluZyA8bGltaW5nLmdhb0BpbnRlbC5jb20+ DQo+IENjOiBXdSwgSmlheGluIDxqaWF4aW4ud3VAaW50ZWwuY29tPjsgWWUsIFRpbmcgPHRpbmcu eWVAaW50ZWwuY29tPjsgRnUsIFNpeXVhbiA8c2l5dWFuLmZ1QGludGVsLmNvbT4NCj4gU3ViamVj dDogUmU6IFtlZGsyLWRldmVsXSBbUGF0Y2ggdjMgMi8zXSBOZXR3b3JrUGtnOiBBZGQgRFNDL0ZE RiBpbmNsdWRlIHNlZ21lbnQgZmlsZXMgdG8gTmV0d29ya1BrZy4NCj4gDQo+IE9uIDA0LzI1LzE5 IDE0OjM3LCBMaW1pbmcgR2FvIHdyb3RlOg0KPiA+IFRoaXMgcGF0Y2ggcHJvdmlkZXMgYSBzZXQg b2YgaW5jbHVkZSBzZWdtZW50IGZpbGVzIGZvciBwbGF0Zm9ybSBvd25lciB0bw0KPiA+IGVhc2ls eSBlbmFibGUvZGlzYWJsZSBuZXR3b3JrIHN0YWNrIHN1cHBvcnQgb24gdGhlaXIgcGxhdGZvcm0u DQo+ID4NCj4gPiBGb3IgRFNDLCB0aGVyZSBhcmU6DQo+ID4gLSBhICJOZXR3b3JrRGVmaW5lcy5k c2MuaW5jIiBmb3IgdGhlIFtEZWZpbmVzXSBzZWN0aW9uKHMpLA0KPiA+IC0gYSAiTmV0d29ya0xp YnMuZHNjLmluYyIgZm9yIHRoZSBbTGlicmFyeUNsYXNzZXMqXSBzZWN0aW9uKHMpLA0KPiA+IC0g YSAiTmV0d29ya1BjZHMuZHNjLmluYyIgZm9yIHRoZSBbUGNkcypdIHNlY3Rpb24ocyksDQo+ID4g LSBhICJOZXR3b3JrQ29tcG9uZW50cy5kc2MuaW5jIiBmb3IgdGhlIFtDb21wb25lbnRzKl0gc2Vj dGlvbihzKS4NCj4gPiBGb3IgRkRGLCB0aGVyZSBpczoNCj4gPiAtIGEgIk5ldHdvcmsuZmRmLmlu YyIgZm9yIHRoZSBbRnYqXSBzZWN0aW9uKHMpLg0KPiA+DQo+ID4gVGhlc2UgZmlsZXMgY2FuIGJl IGFkZGVkIHRvIHRoZSBwbGF0Zm9ybSBEU0MvRkRGIGZpbGUgYnkgdXNpbmcNCj4gPiAgICFpbmNs dWRlIE5ldHdvcmtQa2cveHh4DQo+ID4gd2hlcmUgInh4eCIgaXMgdGhlICouaW5jIGZpbGUgbmFt ZS4NCj4gPg0KPiA+IEEgc2V0IG9mIGZsYWdzIGNhbiBiZSBjaGFuZ2VkIGJlZm9yZSB0aGUgaW5j bHVkZSBsaW5lIG9yIGluIGJ1aWxkIGNvbW1hbmQNCj4gPiBsaW5lICgiLUQgRkxBRz1WQUxVRSIp IHRvIGVuYWJsZSBvciBkaXNhYmxlIHJlbGF0ZWQgZmVhdHVyZSBzZXQsIHBsZWFzZQ0KPiA+IGNo ZWNrICJOZXR3b3JrRGVmaW5lcy5kc2MuaW5jIiBmb3IgYSBkZXRhaWwgZGVzY3JpcHRpb24gb2Yg ZWFjaCBmbGFnLg0KPiANCj4gKDEpIFBsZWFzZSBjbGFyaWZ5IHRoaXMgcGFyYWdyYXBoIGFzIGZv bGxvd3M6DQo+IA0KPiBBIHBsYXRmb3JtIERTQyBmaWxlIGNhbiBkaXZlcmdlIGZyb20gdGhlIGRl ZmF1bHRzIGluDQo+ICJOZXR3b3JrRGVmaW5lcy5kc2MuaW5jIiBieSBzZXR0aW5nIHRoZSBpbmRp dmlkdWFsIERFRklORXMgYmVmb3JlDQo+IGluY2x1ZGluZyAiTmV0d29ya0RlZmluZXMuZHNjLmlu YyIuDQo+IA0KPiAoVGhlIGN1cnJlbnQgcGFyYWdyYXBoIGRvZXMgc2F5ICJiZWZvcmUgdGhlIGlu Y2x1ZGUgbGluZSIsIGJ1dCBpdA0KPiBkb2Vzbid0IHNheSAqd2hpY2gqIGluY2x1ZGUgbGluZS4g SSBoYWQgdG8gY2hlY2sNCj4gIk5ldHdvcmtEZWZpbmVzLmRzYy5pbmMiIHRvIHNlZSB0aGF0IGl0 IChjb3JyZWN0bHkpIHVzZXMgIiFpZm5kZWYNCj4gRkxBRy4uLiIsIHRvIHVuZGVyc3RhbmQgdGhl IGlkZWEuKQ0KPiANCj4gPg0KPiA+IFRoZSBkZWZhdWx0IHZhbHVlIG9mIHRoZXNlIGZsYWdzIGFy ZToNCj4gPiAgIERFRklORSBORVRXT1JLX0VOQUJMRSAgICAgICAgICAgICAgICAgPSBUUlVFDQo+ ID4gICBERUZJTkUgTkVUV09SS19TTlBfRU5BQkxFICAgICAgICAgICAgID0gVFJVRQ0KPiA+ICAg REVGSU5FIE5FVFdPUktfSVA0X0VOQUJMRSAgICAgICAgICAgICA9IFRSVUUNCj4gPiAgIERFRklO RSBORVRXT1JLX0lQNl9FTkFCTEUgICAgICAgICAgICAgPSBUUlVFDQo+ID4gICBERUZJTkUgTkVU V09SS19UTFNfRU5BQkxFICAgICAgICAgICAgID0gVFJVRQ0KPiA+ICAgREVGSU5FIE5FVFdPUktf SFRUUF9CT09UX0VOQUJMRSAgICAgICA9IFRSVUUNCj4gPiAgIERFRklORSBORVRXT1JLX0FMTE9X X0hUVFBfQ09OTkVDVElPTlMgPSBGQUxTRQ0KPiA+ICAgREVGSU5FIE5FVFdPUktfSVNDU0lfRU5B QkxFICAgICAgICAgICA9IFRSVUUNCj4gPiAgIERFRklORSBORVRXT1JLX1ZMQU5fRU5BQkxFICAg ICAgICAgICAgPSBUUlVFDQo+ID4gICBERUZJTkUgUExBVEZPUk1YNjRfRU5BQkxFICAgICAgICAg ICAgID0gRkFMU0UNCj4gDQo+ICgyKSBUaGUgUExBVEZPUk1YNjRfRU5BQkxFIGZsYWcgbG9va3Mg dXNlbGVzczsgbm90aGluZyBkZXBlbmRzIG9uIGl0Lg0KPiANCj4gLi4uIGxvb2tpbmcgYXQgdGhl IG5leHQgcGF0Y2ggKHYzIDMvMyksIGl0IHNlZW1zIHRoYXQgUExBVEZPUk1YNjRfRU5BQkxFDQo+ IGhhcyBhIHVzZSBhZnRlciBhbGwgLS0gYnV0IGl0IG9ubHkgbWF0dGVycyBmb3IgcGxhdGZvcm1z IHRoYXQgaW5jbHVkZQ0KPiB0aGUgImhpZ2gtbGV2ZWwiIGluY2x1ZGUgZmlsZXMuDQo+IA0KPiBQ bGVhc2UgbW9kaWZ5IHRoZSBjb21taXQgbWVzc2FnZSBvbiB0aGlzIHBhdGNoICgyLzMpLCBhbmQg YWxzbw0KPiAiTmV0d29ya0RlZmluZXMuZHNjLmluYyIsIHRvIGV4cGxhaW4gUExBVEZPUk1YNjRf RU5BQkxFLiAoSS5lLiBib3RoIHRoZQ0KPiBwdXJwb3NlIG9mIHRoZSBQTEFURk9STVg2NF9FTkFC TEUgZmxhZywgYW5kIGFsc28gdGhlIGZhY3QgdGhhdCBpdCBjYW4gYmUNCj4gaWdub3JlZCBieSBw bGF0Zm9ybXMgdGhhdCBpbmNsdWRlIHRoZSBpbmRpdmlkdWFsIElOQyBmaWxlcy4pDQo+IA0KPiAu Li4gQWN0dWFsbHksIHVuZGVyIHBvaW50ICg5KSBiZWxvdywgSSB3aWxsIHN1Z2dlc3QgZHJvcHBp bmcNCj4gUExBVEZPUk1YNjRfRU5BQkxFIGFsdG9nZXRoZXIuDQo+IA0KPiA+DQo+ID4gUmVsYXRl ZCBCWjogaHR0cHM6Ly9idWd6aWxsYS50aWFub2NvcmUub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjkz DQo+IA0KPiAoMykgUGxlYXNlIGluY2x1ZGUgdGhpcyBCWiBpbiB0aGUgcmVsZWFzZSBwbGFubmlu ZyB3aWtpIHBhZ2U7IGl0IGlzDQo+IGltcG9ydGFudCB0byBwbGF0Zm9ybXM6DQo+IA0KPiBodHRw czovL2dpdGh1Yi5jb20vdGlhbm9jb3JlL3RpYW5vY29yZS5naXRodWIuaW8vd2lraS9FREstSUkt UmVsZWFzZS1QbGFubmluZw0KPiANCj4gPg0KPiA+IENjOiBKaWF4aW4gV3UgPGppYXhpbi53dUBp bnRlbC5jb20+DQo+ID4gQ2M6IFRpbmcgWWUgPHRpbmcueWVAaW50ZWwuY29tPg0KPiA+IFNpZ25l ZC1vZmYtYnk6IEZ1IFNpeXVhbiA8c2l5dWFuLmZ1QGludGVsLmNvbT4NCj4gPiAtLS0NCj4gPiAg TmV0d29ya1BrZy9OZXR3b3JrLmZkZi5pbmMgICAgICAgICAgIHwgIDU2ICsrKysrKysrKysrKysr KysNCj4gPiAgTmV0d29ya1BrZy9OZXR3b3JrQ29tcG9uZW50cy5kc2MuaW5jIHwgIDYxICsrKysr KysrKysrKysrKysrDQo+ID4gIE5ldHdvcmtQa2cvTmV0d29ya0RlZmluZXMuZHNjLmluYyAgICB8 IDEyNiArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKw0KPiA+ICBOZXR3b3JrUGtn L05ldHdvcmtMaWJzLmRzYy5pbmMgICAgICAgfCAgMTkgKysrKysrDQo+ID4gIE5ldHdvcmtQa2cv TmV0d29ya1BjZHMuZHNjLmluYyAgICAgICB8ICAxNiArKysrKw0KPiA+ICA1IGZpbGVzIGNoYW5n ZWQsIDI3OCBpbnNlcnRpb25zKCspDQo+ID4gIGNyZWF0ZSBtb2RlIDEwMDY0NCBOZXR3b3JrUGtn L05ldHdvcmsuZmRmLmluYw0KPiA+ICBjcmVhdGUgbW9kZSAxMDA2NDQgTmV0d29ya1BrZy9OZXR3 b3JrQ29tcG9uZW50cy5kc2MuaW5jDQo+ID4gIGNyZWF0ZSBtb2RlIDEwMDY0NCBOZXR3b3JrUGtn L05ldHdvcmtEZWZpbmVzLmRzYy5pbmMNCj4gPiAgY3JlYXRlIG1vZGUgMTAwNjQ0IE5ldHdvcmtQ a2cvTmV0d29ya0xpYnMuZHNjLmluYw0KPiA+ICBjcmVhdGUgbW9kZSAxMDA2NDQgTmV0d29ya1Br Zy9OZXR3b3JrUGNkcy5kc2MuaW5jDQo+ID4NCj4gPiBkaWZmIC0tZ2l0IGEvTmV0d29ya1BrZy9O ZXR3b3JrLmZkZi5pbmMgYi9OZXR3b3JrUGtnL05ldHdvcmsuZmRmLmluYw0KPiA+IG5ldyBmaWxl IG1vZGUgMTAwNjQ0DQo+ID4gaW5kZXggMDAwMDAwMDAwMC4uODUxOGJhZDEyYw0KPiA+IC0tLSAv ZGV2L251bGwNCj4gPiArKysgYi9OZXR3b3JrUGtnL05ldHdvcmsuZmRmLmluYw0KPiA+IEBAIC0w LDAgKzEsNTYgQEANCj4gPiArIyMgQGZpbGUNCj4gPiArIyBOZXR3b3JrIEZERiBpbmNsdWRlIGZp bGUgZm9yIEFsbCBBcmNoaXRlY3R1cmVzLg0KPiA+ICsjDQo+ID4gKyMgVGhpcyBmaWxlIGNhbiBi ZSBpbmNsdWRlZCB0byBhIHBsYXRmb3JtIEZERiBieSB1c2luZyAiIWluY2x1ZGUgTmV0d29ya1Br Zy9OZXR3b3JrLmZkZi5pbmMiDQo+IA0KPiAoNCkgTm90IHRvbyBpbXBvcnRhbnQsIGJ1dCBJIHN1 Z2dlc3QgcmV3cmFwcGluZyBhbGwgY29tbWVudHMgdG8gODAgY2hhcnMNCj4gaWYgcG9zc2libGUu DQpPSy4NCj4gDQo+ID4gKyMgdG8gYWRkIEVES0lJIG5ldHdvcmsgc3RhY2sgZHJpdmVycyBhY2Nv cmRpbmcgdG8gdGhlIHZhbHVlIG9mIGZsYWdzIGRlc2NyaWJlZCBpbg0KPiA+ICsjICJOZXR3b3Jr UGtnL05ldHdvcmsuZHNjLmluYyIuDQo+ID4gKyMNCj4gPiArIyBDb3B5cmlnaHQgKGMpIDIwMTgs IEludGVsIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLjxCUj4NCj4gDQo+ICg1KSBX ZSBzaG91bGQgcHJvYmFibHkgc2F5IDIwMTksIG9yIDIwMTgtMjAxOSBoZXJlLiAoVGhlIHJlc3Qg b2YgdGhlIG5ldw0KPiBmaWxlcyBzYXkgMjAxOS4pDQpJIHJldXNlIHRoaXMgcGF0Y2ggc2VudCBs YXN0IHllYXIuIEkgd2lsbCB1cGRhdGUgaXQgdG8gMjAxOSBpbiBuZXh0IHZlcnNpb24uDQo+IA0K PiA+ICsjDQo+ID4gKyMgICAgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0yLUNsYXVzZS1Q YXRlbnQNCj4gPiArIw0KPiA+ICsNCj4gPiArIWlmICQoTkVUV09SS19FTkFCTEUpID09IFRSVUUN Cj4gPiArICBJTkYgIE1kZU1vZHVsZVBrZy9Vbml2ZXJzYWwvTmV0d29yay9EcGNEeGUvRHBjRHhl LmluZg0KPiA+ICsNCj4gPiArICAhaWYgJChORVRXT1JLX1NOUF9FTkFCTEUpID09IFRSVUUNCj4g PiArICAgIElORiAgTWRlTW9kdWxlUGtnL1VuaXZlcnNhbC9OZXR3b3JrL1NucER4ZS9TbnBEeGUu aW5mDQo+ID4gKyAgIWVuZGlmDQo+ID4gKw0KPiA+ICsgICFpZiAkKE5FVFdPUktfVkxBTl9FTkFC TEUpID09IFRSVUUNCj4gPiArICAgIElORiAgTWRlTW9kdWxlUGtnL1VuaXZlcnNhbC9OZXR3b3Jr L1ZsYW5Db25maWdEeGUvVmxhbkNvbmZpZ0R4ZS5pbmYNCj4gPiArICAhZW5kaWYNCj4gPiArDQo+ ID4gKyAgSU5GICBNZGVNb2R1bGVQa2cvVW5pdmVyc2FsL05ldHdvcmsvTW5wRHhlL01ucER4ZS5p bmYNCj4gPiArDQo+ID4gKyAgIWlmICQoTkVUV09SS19JUDRfRU5BQkxFKSA9PSBUUlVFDQo+ID4g KyAgICBJTkYgIE1kZU1vZHVsZVBrZy9Vbml2ZXJzYWwvTmV0d29yay9BcnBEeGUvQXJwRHhlLmlu Zg0KPiA+ICsgICAgSU5GICBNZGVNb2R1bGVQa2cvVW5pdmVyc2FsL05ldHdvcmsvRGhjcDREeGUv RGhjcDREeGUuaW5mDQo+ID4gKyAgICBJTkYgIE1kZU1vZHVsZVBrZy9Vbml2ZXJzYWwvTmV0d29y ay9JcDREeGUvSXA0RHhlLmluZg0KPiA+ICsgICAgSU5GICBNZGVNb2R1bGVQa2cvVW5pdmVyc2Fs L05ldHdvcmsvVWRwNER4ZS9VZHA0RHhlLmluZg0KPiA+ICsgICAgSU5GICBNZGVNb2R1bGVQa2cv VW5pdmVyc2FsL05ldHdvcmsvTXRmdHA0RHhlL010ZnRwNER4ZS5pbmYNCj4gPiArICAhZW5kaWYN Cj4gPiArDQo+ID4gKyAgIWlmICQoTkVUV09SS19JUDZfRU5BQkxFKSA9PSBUUlVFDQo+ID4gKyAg ICBJTkYgIE5ldHdvcmtQa2cvRGhjcDZEeGUvRGhjcDZEeGUuaW5mDQo+ID4gKyAgICBJTkYgIE5l dHdvcmtQa2cvSXA2RHhlL0lwNkR4ZS5pbmYNCj4gPiArICAgIElORiAgTmV0d29ya1BrZy9VZHA2 RHhlL1VkcDZEeGUuaW5mDQo+ID4gKyAgICBJTkYgIE5ldHdvcmtQa2cvTXRmdHA2RHhlL010ZnRw NkR4ZS5pbmYNCj4gPiArICAhZW5kaWYNCj4gPiArDQo+ID4gKyAgSU5GICBOZXR3b3JrUGtnL1Rj cER4ZS9UY3BEeGUuaW5mDQo+ID4gKyAgSU5GICBOZXR3b3JrUGtnL1VlZmlQeGVCY0R4ZS9VZWZp UHhlQmNEeGUuaW5mDQo+ID4gKw0KPiA+ICsgICFpZiAkKE5FVFdPUktfVExTX0VOQUJMRSkgPT0g VFJVRQ0KPiA+ICsgICAgSU5GICBOZXR3b3JrUGtnL1Rsc0R4ZS9UbHNEeGUuaW5mDQo+ID4gKyAg ICBJTkYgIE5ldHdvcmtQa2cvVGxzQXV0aENvbmZpZ0R4ZS9UbHNBdXRoQ29uZmlnRHhlLmluZg0K PiA+ICsgICFlbmRpZg0KPiA+ICsNCj4gPiArICAhaWYgJChORVRXT1JLX0hUVFBfQk9PVF9FTkFC TEUpID09IFRSVUUNCj4gPiArICAgIElORiAgTmV0d29ya1BrZy9EbnNEeGUvRG5zRHhlLmluZg0K PiA+ICsgICAgSU5GICBOZXR3b3JrUGtnL0h0dHBEeGUvSHR0cER4ZS5pbmYNCj4gPiArICAgIElO RiAgTmV0d29ya1BrZy9IdHRwVXRpbGl0aWVzRHhlL0h0dHBVdGlsaXRpZXNEeGUuaW5mDQo+ID4g KyAgICBJTkYgIE5ldHdvcmtQa2cvSHR0cEJvb3REeGUvSHR0cEJvb3REeGUuaW5mDQo+ID4gKyAg IWVuZGlmDQo+IA0KPiAoNikgVGhpcyBkb2Vzbid0IGNvdmVyIE5FVFdPUktfSVNDU0lfRU5BQkxF LA0KPiAiTmV0d29ya1BrZy9JU2NzaUR4ZS9JU2NzaUR4ZS5pbmYiLg0KPiANCj4gKFRoZSBEU0Mg ZmlsZSBkb2VzLikNCj4gDQpUaGlzIGlzIHdyb25nLiBJIHdpbGwgZml4IGl0IGluIG5leHQgdmVy c2lvbi4NCj4gDQo+ICg3KSBJcyBBcnBEeGUgcmVhbGx5IHNwZWNpZmljIHRvIElQdjQ/IEkgZ3Jl cHBlZCB0aGUgSU5GIGZpbGVzIGZvcg0KPiAiZ0VmaUFycFByb3RvY29sR3VpZCIgYW5kICJnRWZp QXJwU2VydmljZUJpbmRpbmdQcm90b2NvbEd1aWQiLCBhbmQgdHdvDQo+IGRyaXZlcnMgY29uc3Vt ZSB0aG9zZToNCj4gDQo+IC0gSXA0RHhlDQo+IC0gVWVmaVB4ZUJjRHhlDQo+IA0KPiBUaGUgbGF0 dGVyIGRyaXZlciAoVWVmaVB4ZUJjRHhlKSBpcyBub3Qgc3BlY2lmaWMgdG8gSVB2NCB2cy4gSVB2 Ni4NCj4gVGhlcmVmb3JlLCBzaG91bGQgd2UgaW5jbHVkZSBBcnBEeGUgc2ltcGx5IHVuZGVyICJO RVRXT1JLX0VOQUJMRSI/DQo+IA0KPiAoSSBzZWUgdGhhdCwgZWxzZXdoZXJlLCB3ZSBoYXZlIGFu ICFlcnJvciBpZiB0aGUgcGxhdGZvcm0gb3IgdXNlciB0cmllcw0KPiB0byBleGNsdWRlIGJvdGgg SVB2NCBhbmQgSVB2NiwgYW5kIHRoYXQncyBPSy4gSG93ZXZlciwgaWYgdGhlIHBsYXRmb3JtDQo+ IG9yIHVzZXIgcGlja3MgSVB2NiBvbmx5LCB0aGVuIHRoZSBhYm92ZSB3aWxsIHByZXZlbnQgdGhl bSBmcm9tIGhhdmluZw0KPiBBcnBEeGUsIGFuZCB0aGVuIFBYRSBib290IG1pZ2h0IG5vdCB3b3Jr LikNCj4gDQo+IEhtbW1tIEkgY291bGQgYmUgd3JvbmcgYWJvdXQgdGhpczsgaW4gdGhlIFVlZmlQ eGVCY0R4ZSBkcml2ZXIsIHRoZSBvbmx5DQo+IHJlZmVyZW5jZXMgdG8gdGhlIEFSUCBwcm90b2Nv bCBHVUlEcyBhcmUgaW4gdGhlIGZ1bmN0aW9ucw0KPiAtIFB4ZUJjR2V0TmljQnlJcDRDaGlsZHJl bg0KPiAtIFB4ZUJjRGVzdHJveUlwNENoaWxkcmVuDQo+IC0gUHhlQmNDcmVhdGVJcDRDaGlsZHJl bg0KPiANCj4gT0suIEkgZ3Vlc3MgQVJQIGlzIGFuIElQdjQtb25seSByZXF1aXJlbWVudCB0aGVu Lg0KPiANCj4gDQo+IE90aGVyd2lzZSwgdGhpcyBGREYgaW5jbHVkZSBsb29rcyBnb29kLCBjaGVj a2VkIGFnYWluc3QgdGhlIE9WTUYgRkRGDQo+IGZpbGVzLCBhbmQgZnJvbSAiQXJtVmlydFFlbXVG dk1haW4uZmRmLmluYyIuIChBcm1WaXJ0WGVuLmZkZiBkb2Vzbid0DQo+IGluY2x1ZGUgdGhlIG5l dHdvcmsgc3RhY2suKQ0KWWVzLiBBUlAgaXMgSVB2NCBvbmx5LiBOZXR3b3JrUGtnIG1haW50YWlu IGNhbiBoZWxwIGNvbmZpcm0gaXQuDQo+IA0KPiA+ICsNCj4gPiArIWVuZGlmDQo+ID4gZGlmZiAt LWdpdCBhL05ldHdvcmtQa2cvTmV0d29ya0NvbXBvbmVudHMuZHNjLmluYyBiL05ldHdvcmtQa2cv TmV0d29ya0NvbXBvbmVudHMuZHNjLmluYw0KPiA+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQo+ID4g aW5kZXggMDAwMDAwMDAwMC4uYWVkZTVlYThiZQ0KPiA+IC0tLSAvZGV2L251bGwNCj4gPiArKysg Yi9OZXR3b3JrUGtnL05ldHdvcmtDb21wb25lbnRzLmRzYy5pbmMNCj4gPiBAQCAtMCwwICsxLDYx IEBADQo+ID4gKyMjIEBmaWxlDQo+ID4gKyMgTmV0d29yayBEU0MgaW5jbHVkZSBmaWxlIGZvciBb Q29tcG9uZW50cypdIHNlY3Rpb24gb2YgYWxsIEFyY2hpdGVjdHVyZXMuDQo+ID4gKyMNCj4gPiAr IyBUaGlzIGZpbGUgY2FuIGJlIGluY2x1ZGVkIHRvIHRoZSBbQ29tcG9uZW50cypdIHNlY3Rpb24o cykgb2YgYSBwbGF0Zm9ybSBEU0MgZmlsZQ0KPiA+ICsjIGJ5IHVzaW5nICIhaW5jbHVkZSBOZXR3 b3JrUGtnL05ldHdvcmtDb21wb25lbnRzLmRzYy5pbmMiIHRvIHNwZWNpZnkgdGhlIElORiBmaWxl cw0KPiA+ICsjIG9mIEVES0lJIG5ldHdvcmsgZHJpdmVycyBhY2NvcmRpbmcgdG8gdGhlIHZhbHVl IG9mIGZsYWdzIGRlc2NyaWJlZCBpbg0KPiA+ICsjICJOZXR3b3JrRGVmaW5lcy5kc2MuaW5jIi4N Cj4gPiArIw0KPiA+ICsjIENvcHlyaWdodCAoYykgMjAxOSwgSW50ZWwgQ29ycG9yYXRpb24uIEFs bCByaWdodHMgcmVzZXJ2ZWQuPEJSPg0KPiA+ICsjDQo+ID4gKyMgICAgU1BEWC1MaWNlbnNlLUlk ZW50aWZpZXI6IEJTRC0yLUNsYXVzZS1QYXRlbnQNCj4gPiArIw0KPiA+ICsjIw0KPiA+ICsNCj4g PiArIWlmICQoTkVUV09SS19FTkFCTEUpID09IFRSVUUNCj4gPiArICBNZGVNb2R1bGVQa2cvVW5p dmVyc2FsL05ldHdvcmsvRHBjRHhlL0RwY0R4ZS5pbmYNCj4gPiArDQo+ID4gKyAgIWlmICQoTkVU V09SS19TTlBfRU5BQkxFKSA9PSBUUlVFDQo+ID4gKyAgICBNZGVNb2R1bGVQa2cvVW5pdmVyc2Fs L05ldHdvcmsvU25wRHhlL1NucER4ZS5pbmYNCj4gPiArICAhZW5kaWYNCj4gPiArDQo+ID4gKyAg IWlmICQoTkVUV09SS19WTEFOX0VOQUJMRSkgPT0gVFJVRQ0KPiA+ICsgICAgTWRlTW9kdWxlUGtn L1VuaXZlcnNhbC9OZXR3b3JrL1ZsYW5Db25maWdEeGUvVmxhbkNvbmZpZ0R4ZS5pbmYNCj4gPiAr ICAhZW5kaWYNCj4gPiArDQo+ID4gKyAgTWRlTW9kdWxlUGtnL1VuaXZlcnNhbC9OZXR3b3JrL01u cER4ZS9NbnBEeGUuaW5mDQo+ID4gKw0KPiA+ICsgICFpZiAkKE5FVFdPUktfSVA0X0VOQUJMRSkg PT0gVFJVRQ0KPiA+ICsgICAgTWRlTW9kdWxlUGtnL1VuaXZlcnNhbC9OZXR3b3JrL0FycER4ZS9B cnBEeGUuaW5mDQo+ID4gKyAgICBNZGVNb2R1bGVQa2cvVW5pdmVyc2FsL05ldHdvcmsvRGhjcDRE eGUvRGhjcDREeGUuaW5mDQo+ID4gKyAgICBNZGVNb2R1bGVQa2cvVW5pdmVyc2FsL05ldHdvcmsv SXA0RHhlL0lwNER4ZS5pbmYNCj4gPiArICAgIE1kZU1vZHVsZVBrZy9Vbml2ZXJzYWwvTmV0d29y ay9VZHA0RHhlL1VkcDREeGUuaW5mDQo+ID4gKyAgICBNZGVNb2R1bGVQa2cvVW5pdmVyc2FsL05l dHdvcmsvTXRmdHA0RHhlL010ZnRwNER4ZS5pbmYNCj4gPiArICAhZW5kaWYNCj4gPiArDQo+ID4g KyAgIWlmICQoTkVUV09SS19JUDZfRU5BQkxFKSA9PSBUUlVFDQo+ID4gKyAgICBOZXR3b3JrUGtn L0RoY3A2RHhlL0RoY3A2RHhlLmluZg0KPiA+ICsgICAgTmV0d29ya1BrZy9JcDZEeGUvSXA2RHhl LmluZg0KPiA+ICsgICAgTmV0d29ya1BrZy9VZHA2RHhlL1VkcDZEeGUuaW5mDQo+ID4gKyAgICBO ZXR3b3JrUGtnL010ZnRwNkR4ZS9NdGZ0cDZEeGUuaW5mDQo+ID4gKyAgIWVuZGlmDQo+ID4gKw0K PiA+ICsgIE5ldHdvcmtQa2cvVGNwRHhlL1RjcER4ZS5pbmYNCj4gPiArICBOZXR3b3JrUGtnL1Vl ZmlQeGVCY0R4ZS9VZWZpUHhlQmNEeGUuaW5mDQo+ID4gKw0KPiA+ICsgICFpZiAkKE5FVFdPUktf VExTX0VOQUJMRSkgPT0gVFJVRQ0KPiA+ICsgICAgTmV0d29ya1BrZy9UbHNEeGUvVGxzRHhlLmlu Zg0KPiA+ICsgICAgTmV0d29ya1BrZy9UbHNBdXRoQ29uZmlnRHhlL1Rsc0F1dGhDb25maWdEeGUu aW5mDQo+ID4gKyAgIWVuZGlmDQo+ID4gKw0KPiA+ICsgICFpZiAkKE5FVFdPUktfSFRUUF9CT09U X0VOQUJMRSkgPT0gVFJVRQ0KPiA+ICsgICAgTmV0d29ya1BrZy9EbnNEeGUvRG5zRHhlLmluZg0K PiA+ICsgICAgTmV0d29ya1BrZy9IdHRwRHhlL0h0dHBEeGUuaW5mDQo+ID4gKyAgICBOZXR3b3Jr UGtnL0h0dHBVdGlsaXRpZXNEeGUvSHR0cFV0aWxpdGllc0R4ZS5pbmYNCj4gPiArICAgIE5ldHdv cmtQa2cvSHR0cEJvb3REeGUvSHR0cEJvb3REeGUuaW5mDQo+ID4gKyAgIWVuZGlmDQo+ID4gKw0K PiA+ICsgICFpZiAkKE5FVFdPUktfSVNDU0lfRU5BQkxFKSA9PSBUUlVFDQo+ID4gKyAgICBOZXR3 b3JrUGtnL0lTY3NpRHhlL0lTY3NpRHhlLmluZg0KPiA+ICsgICFlbmRpZg0KPiA+ICshZW5kaWYN Cj4gDQo+IE9LLCB0aGlzIG1hdGNoZXMgdGhlIEZERiBpbmNsdWRlIGZpbGUgKGV4Y2VwdCBmb3Ig SVNjc2lEeGUsIGJ1dCB0aGF0J3MgYQ0KPiBwcm9ibGVtIEkgcG9pbnRlZCBvdXQgdW5kZXIgKDYp KS4NCj4gDQo+IFRoZSBORVRXT1JLX1RMU19FTkFCTEUgcGFydCBsb29rcyBnb29kIHRvby4gSXQn cyB3b3J0aCBub3RpbmcgdGhhdCBpdA0KPiB3b24ndCBiZSBzdWl0YWJsZSBmb3IgT1ZNRiwgYmVj YXVzZSBPVk1GIGhvb2tzIFRsc0F1dGhDb25maWdMaWIgaW50bw0KPiBUbHNBdXRoQ29uZmlnRHhl LCBmb3IgZHluYW1pY2FsbHkgc2V0dGluZyB0aGUgdmFyaWFibGVzDQo+ICJIdHRwVGxzQ2lwaGVy TGlzdCIgYW5kICJUbHNDYUNlcnRpZmljYXRlIi4NCj4gDQo+IEJ1dCwgdGhhdCdzIG5vdCBhIHBy b2JsZW0gZm9yIHRoaXMgZ2VuZXJpYyBEU0MgaW5jbHVkZSBmaWxlLiBPVk1GIGNhbg0KPiBzaW1w bHkgc2V0IE5FVFdPUktfVExTX0VOQUJMRSB0byBGQUxTRSwgYW5kIHByZXNlcnZlIGl0cyBvd24g KGN1cnJlbnQpDQo+IFRMU19FTkFCTEUgYnVpbGQgZmxhZywgYW5kIGV2ZXJ5dGhpbmcgaW4gdGhl IERTQy9GREYgdGhhdCBkZXBlbmRzIG9uDQo+IHRoYXQgcGxhdGZvcm0gYnVpbGQgZmxhZy4NCg0K QWZ0ZXIgaW5jbHVkZSBOZXR3b3JrUGtnL05ldHdvcmtDb21wb25lbnRzLmRzYy5pbmMsIHlvdSBj YW4gb3ZlcnJpZGUgVGxzQXV0aENvbmZpZ0R4ZS5pbmYNCndpdGggdGhlIGJlbG93IHRvIG1hdGNo IE92bWYgdXNhZ2UuIA0KICBOZXR3b3JrUGtnL1Rsc0F1dGhDb25maWdEeGUvVGxzQXV0aENvbmZp Z0R4ZS5pbmYgew0KICAgIDxMaWJyYXJ5Q2xhc3Nlcz4NCiAgICAgIE5VTEx8T3ZtZlBrZy9MaWJy YXJ5L1Rsc0F1dGhDb25maWdMaWIvVGxzQXV0aENvbmZpZ0xpYi5pbmYNCiAgfQ0KPiANCj4gPiBk aWZmIC0tZ2l0IGEvTmV0d29ya1BrZy9OZXR3b3JrRGVmaW5lcy5kc2MuaW5jIGIvTmV0d29ya1Br Zy9OZXR3b3JrRGVmaW5lcy5kc2MuaW5jDQo+ID4gbmV3IGZpbGUgbW9kZSAxMDA2NDQNCj4gPiBp bmRleCAwMDAwMDAwMDAwLi43YTMxOGM5OGNhDQo+ID4gLS0tIC9kZXYvbnVsbA0KPiA+ICsrKyBi L05ldHdvcmtQa2cvTmV0d29ya0RlZmluZXMuZHNjLmluYw0KPiA+IEBAIC0wLDAgKzEsMTI2IEBA DQo+ID4gKyMjIEBmaWxlDQo+ID4gKyMgTmV0d29yayBEU0MgaW5jbHVkZSBmaWxlIGZvciBbRGVm aW5lc10gc2VjdGlvbiBvZiBhbGwgQXJjaGl0ZWN0dXJlcy4NCj4gPiArIw0KPiA+ICsjIFRoaXMg ZmlsZSBjYW4gYmUgaW5jbHVkZWQgdG8gdGhlIFtEZWZpbmVzXSBzZWN0aW9uIG9mIGEgcGxhdGZv cm0gRFNDIGZpbGUgYnkNCj4gPiArIyB1c2luZyAiIWluY2x1ZGUgTmV0d29ya1BrZy9OZXR3b3Jr RGVmaW5lcy5kc2MuaW5jIiB0byBzZXQgZGVmYXVsdCB2YWx1ZSBvZg0KPiA+ICsjIGZsYWdzIGlm IHRoZXkgYXJlIG5vdCBkZWZpbmVkIHNvbWV3aGVyZSBlbHNlLCBhbmQgYWxzbyBjaGVjayB0aGUg dmFsdWUgdG8gc2VlDQo+ID4gKyMgaWYgdGhlcmUgaXMgYW55IGNvbmZsaWN0Lg0KPiA+ICsjDQo+ ID4gKyMgVGhlc2UgZmxhZ3MgY2FuIGJlIGRlZmluZWQgYmVmb3JlIHRoZSAhaW5jbHVkZSBsaW5l LCBvciBjaGFuZ2VkIG9uIHRoZSBjb21tYW5kDQo+ID4gKyMgbGluZSB0byBlbmFibGUgb3IgZGlz YWJsZSByZWxhdGVkIGZlYXR1cmUgc3VwcG9ydC4NCj4gPiArIyAgIC1EIEZMQUc9VkFMVUUNCj4g PiArIyBUaGUgZGVmYXVsdCB2YWx1ZSBvZiB0aGVzZSBmbGFncyBhcmU6DQo+ID4gKyMgICBERUZJ TkUgTkVUV09SS19FTkFCTEUgICAgICAgICAgICAgICAgID0gVFJVRQ0KPiA+ICsjICAgREVGSU5F IE5FVFdPUktfU05QX0VOQUJMRSAgICAgICAgICAgICA9IFRSVUUNCj4gPiArIyAgIERFRklORSBO RVRXT1JLX0lQNF9FTkFCTEUgICAgICAgICAgICAgPSBUUlVFDQo+ID4gKyMgICBERUZJTkUgTkVU V09SS19JUDZfRU5BQkxFICAgICAgICAgICAgID0gVFJVRQ0KPiA+ICsjICAgREVGSU5FIE5FVFdP UktfVExTX0VOQUJMRSAgICAgICAgICAgICA9IFRSVUUNCj4gPiArIyAgIERFRklORSBORVRXT1JL X0hUVFBfQk9PVF9FTkFCTEUgICAgICAgPSBUUlVFDQo+ID4gKyMgICBERUZJTkUgTkVUV09SS19B TExPV19IVFRQX0NPTk5FQ1RJT05TID0gRkFMU0UNCj4gPiArIyAgIERFRklORSBORVRXT1JLX0lT Q1NJX0VOQUJMRSAgICAgICAgICAgPSBUUlVFDQo+ID4gKyMgICBERUZJTkUgTkVUV09SS19WTEFO X0VOQUJMRSAgICAgICAgICAgID0gVFJVRQ0KPiA+ICsjICAgREVGSU5FIFBMQVRGT1JNWDY0X0VO QUJMRSAgICAgICAgICAgICA9IEZBTFNFDQo+ID4gKyMNCj4gPiArIyBDb3B5cmlnaHQgKGMpIDIw MTksIEludGVsIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLjxCUj4NCj4gPiArIw0K PiA+ICsjICAgIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMi1DbGF1c2UtUGF0ZW50DQo+ ID4gKyMNCj4gPiArIyMNCj4gPiArDQo+ID4gKyFpZm5kZWYgTkVUV09SS19FTkFCTEUNCj4gPiAr ICAjDQo+ID4gKyAgIyBUaGlzIGZsYWcgaXMgdG8gZW5hYmxlIG9yIGRpc2FibGUgdGhlIHdob2xl IG5ldHdvcmsgc3RhY2suDQo+ID4gKyAgIw0KPiA+ICsgIERFRklORSBORVRXT1JLX0VOQUJMRSA9 IFRSVUUNCj4gPiArIWVuZGlmDQo+ID4gKw0KPiA+ICshaWZuZGVmIE5FVFdPUktfU05QX0VOQUJM RQ0KPiA+ICsgICMNCj4gPiArICAjIFRoaXMgZmxhZyBpcyB0byBpbmNsdWRlIHRoZSBjb21tb24g U05QIGRyaXZlciBvciBub3QuDQo+ID4gKyAgIw0KPiA+ICsgIERFRklORSBORVRXT1JLX1NOUF9F TkFCTEUgPSBUUlVFDQo+ID4gKyFlbmRpZg0KPiA+ICsNCj4gPiArIWlmbmRlZiBORVRXT1JLX1ZM QU5fRU5BQkxFDQo+ID4gKyAgIw0KPiA+ICsgICMgVGhpcyBmbGFnIGlzIHRvIGVuYWJsZSBvciBk aXNhYmxlIFZMQU4gZmVhdHVyZS4NCj4gPiArICAjDQo+ID4gKyAgREVGSU5FIE5FVFdPUktfVkxB Tl9FTkFCTEUgPSBUUlVFDQo+ID4gKyFlbmRpZg0KPiA+ICsNCj4gPiArIWlmbmRlZiBORVRXT1JL X0lQNF9FTkFCTEUNCj4gPiArICAjDQo+ID4gKyAgIyBUaGlzIGZsYWcgaXMgdG8gZW5hYmxlIG9y IGRpc2FibGUgSVB2NCBuZXR3b3JrIHN0YWNrLg0KPiA+ICsgICMNCj4gPiArICBERUZJTkUgTkVU V09SS19JUDRfRU5BQkxFID0gVFJVRQ0KPiA+ICshZW5kaWYNCj4gPiArDQo+ID4gKyFpZm5kZWYg TkVUV09SS19JUDZfRU5BQkxFDQo+ID4gKyAgIw0KPiA+ICsgICMgVGhpcyBmbGFnIGlzIHRvIGVu YWJsZSBvciBkaXNhYmxlIElQdjYgbmV0d29yayBzdGFjay4NCj4gPiArICAjDQo+ID4gKyAgREVG SU5FIE5FVFdPUktfSVA2X0VOQUJMRSA9IFRSVUUNCj4gPiArIWVuZGlmDQo+ID4gKw0KPiA+ICsh aWZuZGVmIE5FVFdPUktfVExTX0VOQUJMRQ0KPiA+ICsgICMNCj4gPiArICAjIFRoaXMgZmxhZyBp cyB0byBlbmFibGUgb3IgZGlzYWJsZSBUTFMgZmVhdHVyZS4NCj4gPiArICAjDQo+ID4gKyAgIyBO b3RlOiBUaGlzIGZlYXR1cmUgZGVwZW5kcyBvbiB0aGUgT3BlblNTTCBidWlsZGluZy4gVG8gZW5h YmxlIHRoaXMgZmVhdHVyZSwgcGxlYXNlDQo+ID4gKyAgIyAgICAgICBmb2xsb3cgdGhlIGluc3Ry dWN0aW9ucyBmb3VuZCBpbiB0aGUgZmlsZSAiT3BlblNTTC1IT1dUTy50eHQiIGxvY2F0ZWQgaW4N Cj4gPiArICAjICAgICAgIENyeXB0b1BrZ1xMaWJyYXJ5XE9wZW5zc2xMaWIgdG8gZW5hYmxlIHRo ZSBPcGVuU1NMIGJ1aWxkaW5nIGZpcnN0Lg0KPiA+ICsgICMgICAgICAgVGhlIE9wZW5zc2xMaWIu aW5mIGxpYnJhcnkgaW5zdGFuY2Ugc2hvdWxkIGJlIHVzZWQgc2luY2UgbGlic3NsIGlzIHJlcXVp cmVkLg0KPiA+ICsgICMNCj4gPiArICBERUZJTkUgTkVUV09SS19UTFNfRU5BQkxFID0gVFJVRQ0K PiA+ICshZW5kaWYNCj4gPiArDQo+ID4gKyFpZm5kZWYgTkVUV09SS19IVFRQX0JPT1RfRU5BQkxF DQo+ID4gKyAgIw0KPiA+ICsgICMgVGhpcyBmbGFnIGlzIHRvIGVuYWJsZSBvciBkaXNhYmxlIEhU VFAoUykgYm9vdCBmZWF0dXJlLg0KPiA+ICsgICMNCj4gPiArICBERUZJTkUgTkVUV09SS19IVFRQ X0JPT1RfRU5BQkxFID0gVFJVRQ0KPiA+ICshZW5kaWYNCj4gPiArDQo+ID4gKyFpZm5kZWYgTkVU V09SS19BTExPV19IVFRQX0NPTk5FQ1RJT05TDQo+ID4gKyAgIw0KPiA+ICsgICMgSW5kaWNhdGVz IHdoZXRoZXIgSFRUUCBjb25uZWN0aW9ucyAoaS5lLiwgdW5zZWN1cmVkKSBhcmUgcGVybWl0dGVk IG9yIG5vdC4NCj4gPiArICAjDQo+ID4gKyAgIyBOb3RlOiBJZiBORVRXT1JLX0FMTE9XX0hUVFBf Q09OTkVDVElPTlMgaXMgVFJVRSwgSFRUUCBjb25uZWN0aW9ucyBhcmUgYWxsb3dlZC4NCj4gPiAr ICAjICAgICAgIEJvdGggdGhlICJodHRwczovLyIgYW5kICJodHRwOi8vIiBVUkkgc2NoZW1lcyBh cmUgcGVybWl0dGVkLiBPdGhlcndpc2UsIEhUVFANCj4gPiArICAjICAgICAgIGNvbm5lY3Rpb25z IGFyZSBkZW5pZWQuIE9ubHkgdGhlICJodHRwczovLyIgVVJJIHNjaGVtZSBpcyBwZXJtaXR0ZWQu DQo+ID4gKyAgIw0KPiA+ICsgIERFRklORSBORVRXT1JLX0FMTE9XX0hUVFBfQ09OTkVDVElPTlMg PSBGQUxTRQ0KPiA+ICshZW5kaWYNCj4gPiArDQo+ID4gKyFpZm5kZWYgTkVUV09SS19JU0NTSV9F TkFCTEUNCj4gPiArICAjDQo+ID4gKyAgIyBUaGlzIGZsYWcgaXMgdG8gZW5hYmxlIG9yIGRpc2Fi bGUgaVNDU0kgZmVhdHVyZS4NCj4gPiArICAjDQo+ID4gKyAgIyBOb3RlOiBUaGlzIGZlYXR1cmUg ZGVwZW5kcyBvbiB0aGUgT3BlblNTTCBidWlsZGluZy4gVG8gZW5hYmxlIHRoaXMgZmVhdHVyZSwg cGxlYXNlDQo+ID4gKyAgIyAgICAgICBmb2xsb3cgdGhlIGluc3RydWN0aW9ucyBmb3VuZCBpbiB0 aGUgZmlsZSAiT3BlblNTTC1IT1dUTy50eHQiIGxvY2F0ZWQgaW4NCj4gPiArICAjICAgICAgIENy eXB0b1BrZ1xMaWJyYXJ5XE9wZW5zc2xMaWIgdG8gZW5hYmxlIHRoZSBPcGVuU1NMIGJ1aWxkaW5n IGZpcnN0Lg0KPiA+ICsgICMgICAgICAgQm90aCBPcGVuc3NsTGliLmluZiBhbmQgT3BlbnNzbExp YkNyeXB0by5pbmYgbGlicmFyeSBpbnN0YW5jZSBjYW4gYmUgdXNlZA0KPiA+ICsgICMgICAgICAg c2luY2UgbGlic3NsIGlzIG5vdCByZXF1aXJlZCBmb3IgaVNDU0kuDQo+ID4gKyAgIw0KPiA+ICsg IERFRklORSBORVRXT1JLX0lTQ1NJX0VOQUJMRSA9IFRSVUUNCj4gPiArIWVuZGlmDQo+ID4gKw0K PiA+ICshaWYgJChORVRXT1JLX0VOQUJMRSkgPT0gVFJVRQ0KPiA+ICsgICMNCj4gPiArICAjIENo ZWNrIHRoZSBmbGFncyB0byBzZWUgaWYgdGhlcmUgaXMgYW55IGNvbmZsaWN0Lg0KPiA+ICsgICMN Cj4gPiArICAhaWYgKCQoTkVUV09SS19JUDRfRU5BQkxFKSA9PSBGQUxTRSkgQU5EICgkKE5FVFdP UktfSVA2X0VOQUJMRSkgPT0gRkFMU0UpDQo+ID4gKyAgICAhZXJyb3IgIk11c3QgZW5hYmxlIGF0 IGxlYXN0IElQNCBvciBJUDYgc3RhY2sgaWYgTkVUV09SS19FTkFCTEUgaXMgc2V0IHRvIFRSVUUh Ig0KPiA+ICsgICFlbmRpZg0KPiA+ICsNCj4gPiArICAhaWYgKCQoTkVUV09SS19IVFRQX0JPT1Rf RU5BQkxFKSA9PSBUUlVFKSBBTkQgKCQoTkVUV09SS19UTFNfRU5BQkxFKSA9PSBGQUxTRSkgQU5E DQo+ICgkKE5FVFdPUktfQUxMT1dfSFRUUF9DT05ORUNUSU9OUykgPT0gRkFMU0UpDQo+ID4gKyAg ICAhZXJyb3IgIk11c3QgZW5hYmxlIFRMUyB0byBzdXBwb3J0IEhUVFBTLCBvciBhbGxvdyB1bnNl Y3VyZWQgSFRUUCBjb25uZWN0aW9uLCBpZiBORVRXT1JLX0hUVFBfQk9PVF9FTkFCTEUgaXMgc2V0 IHRvIFRSVUUhIg0KPiA+ICsgICFlbmRpZg0KPiANCj4gSW4gcHJhY3RpY2UsIHRoaXMgaXMgZmlu ZSwgZnJvbSBhbiBPdm1mUGtnIGFuZCBBcm1WaXJ0UGtnIHBlcnNwZWN0aXZlLA0KPiBzbyBJJ20g bm90IGFza2luZyBmb3IgdGhlIGNvZGUgdG8gYmUgY2hhbmdlZC4gQnV0LCBJIHRoaW5rIGl0J3Mg d29ydGgNCj4gcmFpc2luZyB0aGUgZm9sbG93aW5nIGF0IGxlYXN0IGluIHRoZW9yeToNCj4gDQo+ IEFib3ZlIEkgbWVudGlvbmVkIHRoYXQgcGxhdGZvcm1zIG1pZ2h0IHdhbnQgdG8gc2V0ICJORVRX T1JLX1RMU19FTkFCTEUiDQo+IHRvIEZBTFNFLCBidXQgc3RpbGwgaW5jbHVkZSB0aGUgVExTIGRy aXZlcnMgd2l0aCB2YXJpb3VzIGxpYnJhcnkNCj4gaW5zdGFuY2VzIGhvb2tlZCBpbnRvIHRoZW0u IEluIHRoYXQgY2FzZSwgdGhlIHNhbml0eSBjaGVjayBhYm92ZSB3aWxsDQo+IGZvcmNlIHRoZW0s IHVuanVzdGlmaWVkbHksIHRvIHBlcm1pdCB1bnNlY3VyZWQgSFRUUCBjb25uZWN0aW9ucywgYmVj YXVzZQ0KPiBpdCB3aWxsIHRoaW5rIHRoYXQgVExTIGlzIGFic2VudC4NCg0KVGxzQXV0aENvbmZp Z0R4ZSBjYW4gbGluayB0aGUgZGlmZmVyZW50IGxpYnJhcnkgaW5zdGFuY2UgdG8gb3ZlcnJpZGUg dGhlIG9uZSBpbiBOZXR3b3JrIGNvbW1vbiBEU0MuDQpTbywgTkVUV09SS19UTFNfRU5BQkxFIGNh biBiZSBzZXQgdG8gVFJVRS4gDQoNCj4gDQo+ICg4KSBUaGVyZWZvcmUsIHNob3VsZCB3ZSBpbnRy b2R1Y2UgYW4gIm92ZXJyaWRlIiBmbGFnIGZvciB0aGUgbGFzdA0KPiBzYW5pdHkgY2hlY2sgYWJv dmU/DQo+IA0KPiBBZ2FpbiwgdGhpcyBpcyBub3QgYSBwcmFjdGljYWwgY29uY2VybiBmb3IgbWUg LS0gYm90aCBPdm1mUGtnIGFuZA0KPiBBcm1WaXJ0UGtnIGVuYWJsZSB1bnNlY3VyZWQgSFRUUCBj b25uZWN0aW9ucyBhbHJlYWR5LCBzbyB0aGUgYWJvdmUgY2hlY2sNCj4gd2lsbCBuZXZlciBmaXJl IGluIHRob3NlIHBsYXRmb3Jtcy4gSSdtIGZpbmUgaWYgd2UgZGVjaWRlIHRvIGFkZHJlc3MNCj4g dGhpcyAicHJvYmxlbSIgZmlyc3Qgd2hlbiBhbiBhY3R1YWwgcGxhdGZvcm0gcnVucyBpbnRvIGl0 Lg0KPiANCldlIGNhbiBkZWNpZGUgd2hlbiBpdCBoYXBwZW4uDQoNCj4gPiArIWVuZGlmDQo+ID4g Kw0KPiA+ICshaWZuZGVmIFBMQVRGT1JNWDY0X0VOQUJMRQ0KPiA+ICsgICMNCj4gPiArICAjIFBM QVRGT1JNWDY0X0VOQUJMRSBpcyBzZXQgdG8gVFJVRSB3aGVuIFBFSSBpcyBJQTMyIGFuZCBEWEUg aXMgWDY0IHBsYXRmb3JtDQo+ID4gKyAgIw0KPiA+ICsgIERFRklORSBQTEFURk9STVg2NF9FTkFC TEUgPSBGQUxTRQ0KPiA+ICshZW5kaWYNCj4gDQo+ICg5KSBJIGNvbW1lbnRlZCBvbiB0aGlzIGZs YWcgdW5kZXIgKDIpIGFib3ZlIGFscmVhZHkuIEJ1dCwgbm93IHRoYXQgSSdtDQo+IHJlYWRpbmcg dGhlIGV4cGxhbmF0aW9uIHRvbywgYW5kIHJlLWNoZWNraW5nIHBhdGNoICJ2MyAzLzMiLCBJIHRo aW5rIHdlDQo+IHNob3VsZCBzaW1wbHkgKmVsaW1pbmF0ZSogdGhpcyBkZWZpbmUsIGFuZCBpbiBw YXRjaCAzLCB3ZSBzaG91bGQgdXNlOg0KPiANCj4gICAhaWYgKCJYNjQiIGluICQoQVJDSCkpDQo+ IA0KPiAgIFtDb21wb25lbnRzLlg2NF0NCj4gICAhaW5jbHVkZSBOZXR3b3JrUGtnL05ldHdvcmtD b21wb25lbnRzLmRzYy5pbmMNCj4gDQo+ICAgIWVsc2UNCj4gDQo+ICAgW0NvbXBvbmVudHMuSUEz MiwgQ29tcG9uZW50cy5BUk0sIENvbXBvbmVudHMuQUFSQ0g2NF0NCj4gICAhaW5jbHVkZSBOZXR3 b3JrUGtnL05ldHdvcmtDb21wb25lbnRzLmRzYy5pbmMNCj4gDQo+ICAgIWVuZGlmDQo+IA0KPiBC ZWNhdXNlLCB0aGUgZmlyc3QgYnJhbmNoIHdpbGw6DQo+IA0KPiAtIGNvdmVyIElBMzIgUEVJICsg WDY0IERYRQ0KPiAgIChpbmNsdWRlIHRoZSBuZXR3b3JrIHN0YWNrIGluIERYRSBvbmx5KQ0KPiAN Cj4gLSBjb3ZlciBYNjQgUEVJK0RYRQ0KPiAgIChhcyBpZiB3ZSBoYWQgd3JpdHRlbiBqdXN0IFtD b21wb25lbnRzXQ0KPiANCj4gYW5kIHRoZSBzZWNvbmQgYnJhbmNoIHdpbGw6DQo+IC0gY292ZXIg SUEzMiBQRUkrRFhFDQo+IC0gY292ZXIgQVJNIFBFSStEWEUNCj4gLSBjb3ZlciBBQVJDSDY0IFBF SStEWEUNCj4gLSBleGNsdWRlIEVCQyBhbHRvZ2V0aGVyDQo+IA0KPiAoSW4gZmFjdCwgaWYgd2Ug d2VyZSB3aWxsaW5nIHRvIGlnbm9yZSBFQkMsIHRoZSBzZWNvbmQgYnJhbmNoIGNvdWxkDQo+IHNp bXBseSBzYXkgW0NvbXBvbmVudHNdLikNCg0KSXQgZG9lc24ndCBjb3ZlciBJQTMyLCBYNjQsIEFS TSBhbmQgQUFSQ0g2NCBmb3IgTmV0d29ya1BrZy5kc2MNCg0KPiANCj4gPiBkaWZmIC0tZ2l0IGEv TmV0d29ya1BrZy9OZXR3b3JrTGlicy5kc2MuaW5jIGIvTmV0d29ya1BrZy9OZXR3b3JrTGlicy5k c2MuaW5jDQo+ID4gbmV3IGZpbGUgbW9kZSAxMDA2NDQNCj4gPiBpbmRleCAwMDAwMDAwMDAwLi5k YWM2YjM3YzZhDQo+ID4gLS0tIC9kZXYvbnVsbA0KPiA+ICsrKyBiL05ldHdvcmtQa2cvTmV0d29y a0xpYnMuZHNjLmluYw0KPiA+IEBAIC0wLDAgKzEsMTkgQEANCj4gPiArIyMgQGZpbGUNCj4gPiAr IyBOZXR3b3JrIERTQyBpbmNsdWRlIGZpbGUgZm9yIFtMaWJyYXJ5Q2xhc3NlcypdIHNlY3Rpb24g b2YgYWxsIEFyY2hpdGVjdHVyZXMuDQo+ID4gKyMNCj4gPiArIyBUaGlzIGZpbGUgY2FuIGJlIGlu Y2x1ZGVkIHRvIHRoZSBbTGlicmFyeUNsYXNzZXMqXSBzZWN0aW9uKHMpIG9mIGEgcGxhdGZvcm0g RFNDIGZpbGUNCj4gPiArIyBieSB1c2luZyAiIWluY2x1ZGUgTmV0d29ya1BrZy9OZXR3b3JrTGli cy5kc2MuaW5jIiB0byBzcGVjaWZ5IHRoZSBsaWJyYXJ5IGluc3RhbmNlcw0KPiA+ICsjIG9mIEVE S0lJIG5ldHdvcmsgbGlicmFyeSBjbGFzc2VzLg0KPiA+ICsjDQo+ID4gKyMgQ29weXJpZ2h0IChj KSAyMDE5LCBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC48QlI+DQo+ID4g KyMNCj4gPiArIyAgICBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTItQ2xhdXNlLVBhdGVu dA0KPiA+ICsjDQo+ID4gKyMjDQo+ID4gKw0KPiA+ICsgIERwY0xpYnxNZGVNb2R1bGVQa2cvTGli cmFyeS9EeGVEcGNMaWIvRHhlRHBjTGliLmluZg0KPiA+ICsgIE5ldExpYnxNZGVNb2R1bGVQa2cv TGlicmFyeS9EeGVOZXRMaWIvRHhlTmV0TGliLmluZg0KPiA+ICsgIElwSW9MaWJ8TWRlTW9kdWxl UGtnL0xpYnJhcnkvRHhlSXBJb0xpYi9EeGVJcElvTGliLmluZg0KPiA+ICsgIFVkcElvTGlifE1k ZU1vZHVsZVBrZy9MaWJyYXJ5L0R4ZVVkcElvTGliL0R4ZVVkcElvTGliLmluZg0KPiA+ICsgIFRj cElvTGlifE1kZU1vZHVsZVBrZy9MaWJyYXJ5L0R4ZVRjcElvTGliL0R4ZVRjcElvTGliLmluZg0K PiA+ICsgIEh0dHBMaWJ8TWRlTW9kdWxlUGtnL0xpYnJhcnkvRHhlSHR0cExpYi9EeGVIdHRwTGli LmluZg0KPiANCj4gKDEwKSBJZiB3ZSBkZWNpZGUgdG8gcHJvdmlkZSBhbGwgdGhlc2UgbGliIGNs YXNzIHJlc29sdXRpb25zIHdpdGhvdXQNCj4gY2hlY2tpbmcgdGhlIERFRklORXMgLS0gZS5nLiwg d2UgZGVjaWRlIHRvIHJlc29sdmUgSHR0cExpYiB3aXRob3V0DQo+IGNoZWNraW5nIEhUVFBfQk9P VF9FTkFCTEUgLS0sIHRoZW4gdGhhdCdzIGZpbmUsIGJ1dCBJTU8gd2Ugc2hvdWxkIGFkZCBhDQo+ IHNpbXBsZSBjb21tZW50IGFib3V0IGl0Lg0KVGhlIGxpYnJhcnkgaW5zdGFuY2Ugd2lsbCBiZSBi dWlsdCBpZiBpdCBpcyBjb25zdW1lZCBieSBhbnkgZHJpdmVyLiANCklmIG5vIGRyaXZlciBjb25z dW1lcyB0aGUgbGlicmFyeSwgdGhpcyBsaWJyYXJ5IHdpbGwgbm90IGJlIGJ1aWx0LiANClNvLCB0 aGV5IGFyZSBzcGVjaWZpZWQgd2l0aG91dCB0aGUgYnVpbGQgZmxhZy4gSSBhZ3JlZSB0byBhZGQg dGhlIGNvbW1lbnQgZm9yIHRoZW0uDQoNCj4gDQo+ICgxMSkgSSB0aGluayB0aGUgZm9sbG93aW5n IGxpYiBjbGFzcyByZXNvbHV0aW9uIGlzIG1pc3Npbmc6DQo+IA0KPiAgIFRsc0xpYnxDcnlwdG9Q a2cvTGlicmFyeS9UbHNMaWIvVGxzTGliLmluZg0KPiANCg0KTmV0d29ya1BrZy9OZXR3b3JrTGli cy5kc2MuaW5jIGluY2x1ZGVzIHRoZSBuZXR3b3JrIHNwZWNpZmljIGxpYnJhcnkgaW5zdGFuY2Vz LiANCklmIFRsc0xpYiBpcyBkZXNpZ25lZCBvbmx5IGZvciBuZXR3b3JrLCBJIGFncmVlIHRvIGFk ZCBpdC4gDQoNCj4gDQo+IE90aGVyIHRoYW4gdGhhdCwgSSBhZ3JlZSB0aGlzIGluY2x1ZGUgZmls ZSBpcyBnb29kLiBUaGUgT3BlblNTTCBsaWINCj4gY2xhc3MgcmVzb2x1dGlvbiBjYW4gZGVwZW5k IG9uIG1hbnkgZmFjdG9ycywgYW5kIHRoZSBOZXR3b3JrUGtnIGFzcGVjdHMNCj4gYXJlIGFscmVh ZHkgd2VsbCBleHBsYWluZWQgaW4gdGhlIERTQyBpbmNsdWRlIGZpbGUsIG5lYXIgdGhlDQo+IE5F VFdPUktfVExTX0VOQUJMRSBhbmQgTkVUV09SS19JU0NTSV9FTkFCTEUgZmxhZ3MuDQo+IA0KPiAN Cj4gDQo+ID4gZGlmZiAtLWdpdCBhL05ldHdvcmtQa2cvTmV0d29ya1BjZHMuZHNjLmluYyBiL05l dHdvcmtQa2cvTmV0d29ya1BjZHMuZHNjLmluYw0KPiA+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQo+ ID4gaW5kZXggMDAwMDAwMDAwMC4uZjg3NGIzODJlZg0KPiA+IC0tLSAvZGV2L251bGwNCj4gPiAr KysgYi9OZXR3b3JrUGtnL05ldHdvcmtQY2RzLmRzYy5pbmMNCj4gPiBAQCAtMCwwICsxLDE2IEBA DQo+ID4gKyMjIEBmaWxlDQo+ID4gKyMgTmV0d29yayBEU0MgaW5jbHVkZSBmaWxlIGZvciBbUGNk cypdIHNlY3Rpb24gb2YgYWxsIEFyY2hpdGVjdHVyZXMuDQo+ID4gKyMNCj4gPiArIyBUaGlzIGZp bGUgY2FuIGJlIGluY2x1ZGVkIHRvIHRoZSBbUGNkcypdIHNlY3Rpb24ocykgb2YgYSBwbGF0Zm9y bSBEU0MgZmlsZQ0KPiA+ICsjIGJ5IHVzaW5nICIhaW5jbHVkZSBOZXR3b3JrUGtnL05ldHdvcmtQ Y2RzLmRzYy5pbmMiIHRvIHNwZWNpZnkgUENEIHNldHRpbmdzDQo+ID4gKyMgYWNjb3JkaW5nIHRv IHRoZSB2YWx1ZSBvZiBmbGFncyBkZXNjcmliZWQgaW4gIk5ldHdvcmtEZWZpbmVzLmRzYy5pbmMi Lg0KPiA+ICsjDQo+ID4gKyMgQ29weXJpZ2h0IChjKSAyMDE5LCBJbnRlbCBDb3Jwb3JhdGlvbi4g QWxsIHJpZ2h0cyByZXNlcnZlZC48QlI+DQo+ID4gKyMNCj4gPiArIyAgICBTUERYLUxpY2Vuc2Ut SWRlbnRpZmllcjogQlNELTItQ2xhdXNlLVBhdGVudA0KPiA+ICsjDQo+ID4gKyMjDQo+ID4gKw0K PiA+ICshaWYgJChORVRXT1JLX0FMTE9XX0hUVFBfQ09OTkVDVElPTlMpID09IFRSVUUNCj4gPiAr ICBnRWZpTmV0d29ya1BrZ1Rva2VuU3BhY2VHdWlkLlBjZEFsbG93SHR0cENvbm5lY3Rpb25zfFRS VUUNCj4gPiArIWVuZGlmDQo+ID4NCj4gDQo+IFRoaXMgZmlsZSBsb29rcyBnb29kLg0KPiANCj4g DQo+IFRoZSAidjMgMi8zIiBwYXRjaCBtYWtlcyBtZSBoYXBweSAtLSB0aGFuayB5b3UgZm9yIHBy b3ZpZGluZyB0aGUgaW5jbHVkZQ0KPiBzbmlwcGV0cyB3aXRob3V0IHNlY3Rpb24gaGVhZGVycywg bGV0dGluZyB0aGUgcGxhdGZvcm0gcHJvdmlkZSBpdHMgb3duDQo+IHNlY3Rpb24gaGVhZGVycyEN Cj4gDQo+IExhc3psbw0K