From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received-SPF: Permerror (SPF Permanent Error: More than 10 MX records returned) identity=mailfrom; client-ip=192.55.52.120; helo=mga04.intel.com; envelope-from=jiaxin.wu@intel.com; receiver=edk2-devel@lists.01.org Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id 732032214E323 for ; Mon, 11 Dec 2017 16:49:23 -0800 (PST) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga006.jf.intel.com ([10.7.209.51]) by fmsmga104.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 11 Dec 2017 16:54:01 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.45,393,1508828400"; d="scan'208";a="2047295" Received: from fmsmsx108.amr.corp.intel.com ([10.18.124.206]) by orsmga006.jf.intel.com with ESMTP; 11 Dec 2017 16:53:59 -0800 Received: from shsmsx152.ccr.corp.intel.com (10.239.6.52) by FMSMSX108.amr.corp.intel.com (10.18.124.206) with Microsoft SMTP Server (TLS) id 14.3.319.2; Mon, 11 Dec 2017 16:53:13 -0800 Received: from shsmsx103.ccr.corp.intel.com ([169.254.4.213]) by SHSMSX152.ccr.corp.intel.com ([169.254.6.93]) with mapi id 14.03.0319.002; Tue, 12 Dec 2017 08:52:06 +0800 From: "Wu, Jiaxin" To: Guo Heyi CC: "Ni, Ruiyu" , "Dong, Eric" , "edk2-devel@lists.01.org" , "Fu, Siyuan" , "Zeng, Star" Thread-Topic: [edk2] MdeModulePkg/UefiPxeBcDxe: Question about IcmpErrorListenHandler in PxeBcImpl.c Thread-Index: AQHTbxDvv14ZM1CRqUuMZmeQsd3GwaM3e1bA//+IRACAAIh24P//uzoAgAYuL4CAAXLzIA== Date: Tue, 12 Dec 2017 00:52:06 +0000 Message-ID: <895558F6EA4E3B41AC93A00D163B727416352744@SHSMSX103.ccr.corp.intel.com> References: <20171207040650.GA62959@SZX1000114654> <895558F6EA4E3B41AC93A00D163B727416350F0E@SHSMSX103.ccr.corp.intel.com> <4d306e68-626f-c943-3d34-64ec181e7398@linaro.org> <895558F6EA4E3B41AC93A00D163B7274163510BC@SHSMSX103.ccr.corp.intel.com> <20171211104319.GA67395@SZX1000114654> In-Reply-To: <20171211104319.GA67395@SZX1000114654> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-titus-metadata-40: eyJDYXRlZ29yeUxhYmVscyI6IiIsIk1ldGFkYXRhIjp7Im5zIjoiaHR0cDpcL1wvd3d3LnRpdHVzLmNvbVwvbnNcL0ludGVsMyIsImlkIjoiZGYxNDI0OWUtZTc1MC00YTQ1LWJhMzUtNzIyM2E1MTBlNGI3IiwicHJvcHMiOlt7Im4iOiJDVFBDbGFzc2lmaWNhdGlvbiIsInZhbHMiOlt7InZhbHVlIjoiQ1RQX0lDIn1dfV19LCJTdWJqZWN0TGFiZWxzIjpbXSwiVE1DVmVyc2lvbiI6IjE2LjUuOS4zIiwiVHJ1c3RlZExhYmVsSGFzaCI6IkxSQXNxNUh0SmNUT1NXSnNwWkxBeXRJMUpEa2pLWmM1R2pnVFp0V3NJcW89In0= x-ctpclassification: CTP_IC dlp-product: dlpe-windows dlp-version: 11.0.0.116 dlp-reaction: no-action x-originating-ip: [10.239.127.40] MIME-Version: 1.0 Subject: Re: MdeModulePkg/UefiPxeBcDxe: Question about IcmpErrorListenHandler in PxeBcImpl.c X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.22 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 12 Dec 2017 00:49:23 -0000 Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 VGhhbmtzIEdhcnksIEkgd2lsbCBzZW5kIG91dCB0aGUgZm9ybWFsIHBhdGNoIGZvciB0aGUgcmV2 aWV3Lg0KDQpCZXN0IFJlZ2FyZHMhDQpKaWF4aW4NCg0KPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2Ut LS0tLQ0KPiBGcm9tOiBlZGsyLWRldmVsIFttYWlsdG86ZWRrMi1kZXZlbC1ib3VuY2VzQGxpc3Rz LjAxLm9yZ10gT24gQmVoYWxmIE9mDQo+IEd1byBIZXlpDQo+IFNlbnQ6IE1vbmRheSwgRGVjZW1i ZXIgMTEsIDIwMTcgNjo0MyBQTQ0KPiBUbzogV3UsIEppYXhpbiA8amlheGluLnd1QGludGVsLmNv bT4NCj4gQ2M6IE5pLCBSdWl5dSA8cnVpeXUubmlAaW50ZWwuY29tPjsgRG9uZywgRXJpYyA8ZXJp Yy5kb25nQGludGVsLmNvbT47IGVkazItDQo+IGRldmVsQGxpc3RzLjAxLm9yZzsgV3UsIEppYXhp biA8amlheGluLnd1QGludGVsLmNvbT47IEZ1LCBTaXl1YW4NCj4gPHNpeXVhbi5mdUBpbnRlbC5j b20+OyBaZW5nLCBTdGFyIDxzdGFyLnplbmdAaW50ZWwuY29tPg0KPiBTdWJqZWN0OiBSZTogW2Vk azJdIE1kZU1vZHVsZVBrZy9VZWZpUHhlQmNEeGU6IFF1ZXN0aW9uIGFib3V0DQo+IEljbXBFcnJv ckxpc3RlbkhhbmRsZXIgaW4gUHhlQmNJbXBsLmMNCj4gDQo+IEhpIEppYXhpbiwNCj4gDQo+IFdl IHRlc3RlZCBhbmQgdGhlIHBhdGNoIHdvcmtlZC4gV2UgYWxzbyB0ZXN0ZWQgUFhFIGJvb3QgYW5k IG5vIG5ldyBpc3N1ZQ0KPiB3YXMgb2JzZXJ2ZWQuDQo+IA0KPiBUaGFua3MgYW5kIHJlZ2FyZHMs DQo+IA0KPiBHYXJ5IChIZXlpIEd1bykNCj4gDQo+IA0KPiBPbiBUaHUsIERlYyAwNywgMjAxNyBh dCAwODoyMDoyOFBNICswODAwLCBIZXlpIEd1byB3cm90ZToNCj4gPg0KPiA+DQo+ID4g5ZyoIDEy LzcvMjAxNyA2OjQwIFBNLCBXdSwgSmlheGluIOWGmemBkzoNCj4gPiA+PllvdSBzYXkgIkljbXBF cnJvclJjdlRva2VuIGlzIG9ubHkgdXNlZCB0byBnZXQgSUNNUCBlcnJvciBmcm9tIElQDQo+ID4g Pj5sYXllciIsIGRvZXMgdGhhdCBtZWFuIG9ubHkgSUNNUCBlcnJvciBwYWNrZXRzIHdpbGwgZ28g dG8NCj4gPiA+PkljbXBFcnJvckxpc3RlbkhhbmRsZXI/DQo+ID4gPj5JZiBpdCBpcyB0aGUgY2Fz ZSwgaG93IGRvIHdlIG1ha2UgaXQ/IEkgY2FuIG9ubHkgZmluZCBhIHNpbXBsZQ0KPiA+ID4+SXA0 LT5SZWNlaXZlIGlzIGNhbGxlZCB0byByZWNlaXZlIElQNCBwYWNrZXRzOyBob3cgYXJlIG90aGVy IHR5cGVzIG9mDQo+ID4gPj5JUDQgcGFja2V0cyBmaWx0ZXJlZCBvdXQ/DQo+ID4gPk5vLCBhbGwg b2YgdGhlICpJQ01QKiBwYWNrZXRzIHdpdGggdGhlIHNhbWUgc3RhdGlvbiBJUCBhZGRyZXNzIHdp bGwgZ28gdG8NCj4gSWNtcEVycm9yTGlzdGVuSGFuZGxlcigpIGNhbGxiYWNrIGZ1bmN0aW9uLiBC ZWNhdXNlIFBYRSBkcml2ZXIgaGFzIGFscmVhZHkNCj4gY29uZmlndXJlZCB0aGUgY3VycmVudCBJ UCBwcm90b2NvbCBvbmx5IHJlY2VpdmUgdGhlIElDTVAgcGFja2V0czoNCj4gPiA+CVplcm9NZW0g KCZQcml2YXRlLT5JcDRDb25maWdEYXRhLCBzaXplb2YNCj4gKEVGSV9JUDRfQ09ORklHX0RBVEEp KTsNCj4gPiA+ICAgCVByaXZhdGUtPklwNENvbmZpZ0RhdGEuRGVmYXVsdFByb3RvY29sICAgPSBF RklfSVBfUFJPVE9fSUNNUDsNCj4gPiA+ICAgCVByaXZhdGUtPklwNENvbmZpZ0RhdGEuQWNjZXB0 SWNtcEVycm9ycyAgPSBUUlVFOw0KPiA+ID4JSXA0Q29uZmlnRGF0YS5EZWZhdWx0UHJvdG9jb2wg ICA9IEVGSV9JUF9QUk9UT19JQ01QOw0KPiA+ID5TbywgaXQgaXMgb25seSB1c2VkIHRvIGNhcHR1 cmUgYmFja2dyb3VuZCBJQ01QIHBhY2tldHMgKEluY2x1ZGluZyB0aGUNCj4gSUNNUCBlcnJvciBt ZXNzYWdlKSB3aXRoIHRoZSBzYW1lIHN0YXRpb24gSVAgYWRkcmVzcy4NCj4gPiBNYW55IHRoYW5r czsgaXQgZXhwbGFpbnMgbXkgcXVlc3Rpb24gY2xlYXJseS4NCj4gPg0KPiA+ID4NCj4gPiA+Pklm IGl0IGlzIG5vdCwgd2h5IGRvbid0IHdlIG5lZWQgdG8gZmlsdGVyIHRoZSBwYWNrZXRzIGluDQo+ ID4gPj5JY21wRXJyb3JMaXN0ZW5IYW5kbGVyPyBJZiB3ZSByZWN5Y2xlIHRoZSBwYWNrZXRzIGlu DQo+ID4gPj5JY21wRXJyb3JMaXN0ZW5IYW5kbGVyLCB3aWxsIGl0IGNhdXNlIHRoZSB1cHBlciBs YXllciBvZiBwcm90b2NvbHMgZmFpbA0KPiA+ID4+dG8gZmV0Y2ggUnhEYXRhPw0KPiA+ID5JY21w RXJyb3JMaXN0ZW5IYW5kbGVyKCkgc2hvdWxkIGZpbHRlciB0aGUgcGFja2V0cyBhbmQgb25seSBo YW5kbGUgdGhlDQo+IElDTVAgZXJyb3IgbWVzc2FnZS4gQnV0IGN1cnJlbnRseSwgdGhlIGNvZGUg bG9naWMgaXMgaW5jb3JyZWN0LiBJIGdlbmVyYXRlZA0KPiBvbmUgcGF0Y2ggYXMgYXR0YWNoZWQg b25lIGZvciB5b3VyIHJlZmVyZW5jZSwgY2FuIHlvdSBoZWxwIHRvIHZlcmlmeQ0KPiB3aGV0aGVy IGl0IHdvcmtzIG9yIG5vdD8gKElnbm9yZSBteSBwcmV2aW91cyBzdWdnZXN0aW9uIGNoZWNrKS4N Cj4gPiBTdXJlIHdlIGNhbiB2ZXJpZnkgaXQuDQo+ID4gPkluIG15IG9waW5pb24sIHRoZSBSeERh dGEgc2hvdWxkIGJlIHJlY3ljbGVkIHNpbmNlIGl0IGhhcyBiZWVuIHJlY29yZGVkIGluDQo+IE1v ZGUtPkljbXBFcnJvci4NCj4gPiBBZ3JlZS4NCj4gPg0KPiA+IFRoYW5rcywNCj4gPg0KPiA+IEdh cnkgKEhleWkgR3VvKQ0KPiA+ID4NCj4gPiA+VGhhbmtzLA0KPiA+ID5KaWF4aW4NCj4gPiA+DQo+ ID4gPg0KPiA+ID4NCj4gPiA+DQo+ID4gPg0KPiA+ID4NCj4gPiA+DQo+ID4gPg0KPiA+ID4NCj4g PiA+DQo+ID4gPj4tLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+ID4+RnJvbTogZWRrMi1k ZXZlbCBbbWFpbHRvOmVkazItZGV2ZWwtYm91bmNlc0BsaXN0cy4wMS5vcmddIE9uIEJlaGFsZg0K PiBPZg0KPiA+ID4+SGV5aSBHdW8NCj4gPiA+PlNlbnQ6IFRodXJzZGF5LCBEZWNlbWJlciA3LCAy MDE3IDQ6MTggUE0NCj4gPiA+PlRvOiBXdSwgSmlheGluIDxqaWF4aW4ud3VAaW50ZWwuY29tPjsg ZWRrMi1kZXZlbEBsaXN0cy4wMS5vcmcNCj4gPiA+PkNjOiBOaSwgUnVpeXUgPHJ1aXl1Lm5pQGlu dGVsLmNvbT47IEZ1LCBTaXl1YW4gPHNpeXVhbi5mdUBpbnRlbC5jb20+Ow0KPiBEb25nLA0KPiA+ ID4+RXJpYyA8ZXJpYy5kb25nQGludGVsLmNvbT47IFplbmcsIFN0YXIgPHN0YXIuemVuZ0BpbnRl bC5jb20+DQo+ID4gPj5TdWJqZWN0OiBSZTogW2VkazJdIE1kZU1vZHVsZVBrZy9VZWZpUHhlQmNE eGU6IFF1ZXN0aW9uIGFib3V0DQo+ID4gPj5JY21wRXJyb3JMaXN0ZW5IYW5kbGVyIGluIFB4ZUJj SW1wbC5jDQo+ID4gPj4NCj4gPiA+PkhpIEppYXhpbiwNCj4gPiA+Pg0KPiA+ID4+VGhhbmtzIGZv ciB5b3VyIHJlcGx5Lg0KPiA+ID4+DQo+ID4gPj5Zb3Ugc2F5ICJJY21wRXJyb3JSY3ZUb2tlbiBp cyBvbmx5IHVzZWQgdG8gZ2V0IElDTVAgZXJyb3IgZnJvbSBJUA0KPiA+ID4+bGF5ZXIiLCBkb2Vz IHRoYXQgbWVhbiBvbmx5IElDTVAgZXJyb3IgcGFja2V0cyB3aWxsIGdvIHRvDQo+ID4gPj5JY21w RXJyb3JMaXN0ZW5IYW5kbGVyPw0KPiA+ID4+DQo+ID4gPj5JZiBpdCBpcyB0aGUgY2FzZSwgaG93 IGRvIHdlIG1ha2UgaXQ/IEkgY2FuIG9ubHkgZmluZCBhIHNpbXBsZQ0KPiA+ID4+SXA0LT5SZWNl aXZlIGlzIGNhbGxlZCB0byByZWNlaXZlIElQNCBwYWNrZXRzOyBob3cgYXJlIG90aGVyIHR5cGVz IG9mDQo+ID4gPj5JUDQgcGFja2V0cyBmaWx0ZXJlZCBvdXQ/DQo+ID4gPj4NCj4gPiA+PklmIGl0 IGlzIG5vdCwgd2h5IGRvbid0IHdlIG5lZWQgdG8gZmlsdGVyIHRoZSBwYWNrZXRzIGluDQo+ID4g Pj5JY21wRXJyb3JMaXN0ZW5IYW5kbGVyPyBJZiB3ZSByZWN5Y2xlIHRoZSBwYWNrZXRzIGluDQo+ ID4gPj5JY21wRXJyb3JMaXN0ZW5IYW5kbGVyLCB3aWxsIGl0IGNhdXNlIHRoZSB1cHBlciBsYXll ciBvZiBwcm90b2NvbHMgZmFpbA0KPiA+ID4+dG8gZmV0Y2ggUnhEYXRhPw0KPiA+ID4+DQo+ID4g Pj5QbGVhc2UgZm9yZ2l2ZSBtZSBpZiBteSBxdWVzdGlvbnMgYXJlIHRvbyBzdHVwaWQgOikNCj4g PiA+Pg0KPiA+ID4+UmVnYXJkcywNCj4gPiA+Pg0KPiA+ID4+R2FyeSAoSGV5aSBHdW8pDQo+ID4g Pj4NCj4gPiA+Pg0KPiA+ID4+5ZyoIDEyLzcvMjAxNyAzOjQ4IFBNLCBXdSwgSmlheGluIOWGmemB kzoNCj4gPiA+Pj5IaSBHYXJ5LA0KPiA+ID4+Pg0KPiA+ID4+PkljbXBFcnJvclJjdlRva2VuIGlz IG9ubHkgdXNlZCB0byBnZXQgSUNNUCBlcnJvciBmcm9tIElQIGxheWVyLCBhbmQNCj4gdGhlDQo+ ID4gPj5kYXRhIHdpbGwgYmUgY29waWVkIHRvIE1vZGUtPkljbXBFcnJvci4gU28sIEkgdGhpbmsg dGhlIFJ4RGF0YSBzaG91bGQgYmUNCj4gPiA+PnJlY3ljbGVkLg0KPiA+ID4+PkJlc2lkZXMsIEVG SV9JUF9QUk9UT19JQ01QIHNob3VsZCBiZSBhbHNvIGNoZWNrZWQgaW4gdGhlIGNhbGwNCj4gZnVu Y3Rpb24NCj4gPiA+PmJ1dCBjdXJyZW50bHkgaXQncyBub3Q6DQo+ID4gPj4+ICAgIGlmICghRUZJ X0lQNF9FUVVBTCAoJlJ4RGF0YS0+SGVhZGVyLT5EZXN0aW5hdGlvbkFkZHJlc3MsDQo+ICZNb2Rl LQ0KPiA+ID4+PlN0YXRpb25JcC52NCkpIHsNCj4gPiA+Pj4gICAgICAvLw0KPiA+ID4+PiAgICAg IC8vIFRoZSBkZXN0IGFkZHJlc3MgaXMgbm90IGVxdWFsIHRvIFN0YXRpb24gSXAgYWRkcmVzcywg ZGlzY2FyZCBpdC4NCj4gPiA+Pj4gICAgICAvLw0KPiA+ID4+PiAgICAgIGdvdG8gQ2xlYW5VcDsN Cj4gPiA+Pj4gICAgfQ0KPiA+ID4+Pg0KPiA+ID4+PiAgICAraWYgKCZSeERhdGEtPkhlYWRlci0+ UHJvdG9jb2wgIT0gRUZJX0lQX1BST1RPX0lDTVApIHsNCj4gPiA+Pj4gICAgKy8vDQo+ID4gPj4+ ICAgICsvLyBUaGUgcHJvdG9jb2wgdmFsdWUgaW4gdGhlIGhlYWRlciBvZiB0aGUgcmVjZXZlaWQg cGFja2V0IHNob3VsZA0KPiBiZQ0KPiA+ID4+RUZJX0lQX1BST1RPX0lDTVAuDQo+ID4gPj4+ICAg ICsvLw0KPiA+ID4+PiAgICArZ290byBDbGVhblVwOw0KPiA+ID4+PiAgICArfQ0KPiA+ID4+Pg0K PiA+ID4+PlRoYW5rcyB0aGUgcmVwb3J0Lg0KPiA+ID4+Pg0KPiA+ID4+PlRoYW5rcywNCj4gPiA+ Pj5KaWF4aW4NCj4gPiA+Pj4NCj4gPiA+Pj4NCj4gPiA+Pj4NCj4gPiA+Pj4+LS0tLS1PcmlnaW5h bCBNZXNzYWdlLS0tLS0NCj4gPiA+Pj4+RnJvbTogR3VvIEhleWkgW21haWx0bzpoZXlpLmd1b0Bs aW5hcm8ub3JnXQ0KPiA+ID4+Pj5TZW50OiBUaHVyc2RheSwgRGVjZW1iZXIgNywgMjAxNyAxMjow NyBQTQ0KPiA+ID4+Pj5UbzogZWRrMi1kZXZlbEBsaXN0cy4wMS5vcmcNCj4gPiA+Pj4+Q2M6IFpl bmcsIFN0YXIgPHN0YXIuemVuZ0BpbnRlbC5jb20+OyBEb25nLCBFcmljDQo+IDxlcmljLmRvbmdA aW50ZWwuY29tPjsNCj4gPiA+Pk5pLA0KPiA+ID4+Pj5SdWl5dSA8cnVpeXUubmlAaW50ZWwuY29t PjsgRnUsIFNpeXVhbiA8c2l5dWFuLmZ1QGludGVsLmNvbT47IFd1LA0KPiBKaWF4aW4NCj4gPiA+ Pj4+PGppYXhpbi53dUBpbnRlbC5jb20+DQo+ID4gPj4+PlN1YmplY3Q6IE1kZU1vZHVsZVBrZy9V ZWZpUHhlQmNEeGU6IFF1ZXN0aW9uIGFib3V0DQo+ID4gPj4+PkljbXBFcnJvckxpc3RlbkhhbmRs ZXIgaW4gUHhlQmNJbXBsLmMNCj4gPiA+Pj4+DQo+ID4gPj4+PkhpIGZvbGtzLA0KPiA+ID4+Pj4N Cj4gPiA+Pj4+SW4gUHhlQmNJbXBsLmMsIHdlIGhhdmUgSWNtcEVycm9yTGlzdGVuSGFuZGxlciB3 aGljaCBzZWVtcyB0bw0KPiBwcm9jZXNzDQo+ID4gPj4+PklDTVAgZXJyb3JzLiBCdXQgaW4gRWZp UHhlQmNTdGFydCBmdW5jdGlvbiwgd2UgY2FuIHNlZSBQcml2YXRlLQ0KPiA+ID4+Pj4+SWNtcEVy cm9yUmN2VG9rZW4uRXZlbnQgaXMgb25seSBhIGNvbW1vbiBldmVudCBhbmQgSXA0LT5SZWNlaXZl DQo+IGlzDQo+ID4gPj4+PmNhbGxlZCB0byByZWNlaXZlIElQNCBwYWNrZXRzLiBTbyB3aWxsIElj bXBFcnJvckxpc3RlbkhhbmRsZXIgcmVjZWl2ZSBhbGwNCj4gSVA0DQo+ID4gPj4+PnBhY2tldHMg YmVsb25naW5nIHRvIHRoaXMgbmV0d29yayBpbnRlcmZhY2UsIG9yIHdpbGwgaXQgb25seSByZWNl aXZlDQo+IElDTVANCj4gPiA+PmVycm9yDQo+ID4gPj4+PnBhY2tldHM/IElmIGl0IGlzIHRoZSBs YXR0ZXIgc2l0dWF0aW9uLCBob3cgZG8gd2UgbWFrZSBpdD8NCj4gPiA+Pj4+DQo+ID4gPj4+PlRo ZSBiYWNrZ3JvdW5kIG9mIHRoaXMgcXVlc3Rpb24gaXMgdGhhdCB3aGVuIHdlIGZsdXNoIHRoZSBu ZXR3b3JrDQo+IHdpdGgNCj4gPiA+Pj4+ZGVwcmVjYXRlZCBJQ01QIHBhY2tldHMgKHR5cGUgMTUs IDE2LCAuLi4pLCBSeERhdGEgd2lsbCBub3QgYmUgcmVjeWNsZWQNCj4gYW5kDQo+ID4gPj4+PnRo ZSBsaXN0IG9mIFVFRkkgZXZlbnRzIGJlY29tZXMgbG9uZ2VyIGFuZCBsb25nZXIsIHdoaWNoIGZp bmFsbHkNCj4gaW1wYWN0cw0KPiA+ID4+Pj5zeXN0ZW0gcGVyZm9ybWFuY2UgYSBsb3QuIElmIG9u bHkgZXJyb3IgSUNNUCB3aWxsIGJlIHJlY2VpdmVkIGJ5DQo+ID4gPj4+PkljbXBFcnJvckxpc3Rl bkhhbmRsZXIsIHdlJ2QgbGlrZSB0byBwYXRjaCBpdCBhcyBiZWxvdzoNCj4gPiA+Pj4+DQo+ID4g Pj4+PmRpZmYgLS1naXQNCj4gPiA+PmEvTWRlTW9kdWxlUGtnL1VuaXZlcnNhbC9OZXR3b3JrL1Vl ZmlQeGVCY0R4ZS9QeGVCY0ltcGwuYw0KPiA+ID4+Pj5iL01kZU1vZHVsZVBrZy9Vbml2ZXJzYWwv TmV0d29yay9VZWZpUHhlQmNEeGUvUHhlQmNJbXBsLmMNCj4gPiA+Pj4+aW5kZXggNmQ0ZjMzZi4u Zjc0YjI2NCAxMDA2NDQNCj4gPiA+Pj4+LS0tIGEvTWRlTW9kdWxlUGtnL1VuaXZlcnNhbC9OZXR3 b3JrL1VlZmlQeGVCY0R4ZS9QeGVCY0ltcGwuYw0KPiA+ID4+Pj4rKysNCj4gYi9NZGVNb2R1bGVQ a2cvVW5pdmVyc2FsL05ldHdvcmsvVWVmaVB4ZUJjRHhlL1B4ZUJjSW1wbC5jDQo+ID4gPj4+PkBA IC0yMTYsOCArMjE2LDYgQEAgSWNtcEVycm9yTGlzdGVuSGFuZGxlckRwYyAoDQo+ID4gPj4+PiAg ICAgICBDb3BpZWRQb2ludGVyICs9IENvcGllZExlbjsNCj4gPiA+Pj4+ICAgICB9DQo+ID4gPj4+ Pg0KPiA+ID4+Pj4tICBnb3RvIFJlc3VtZTsNCj4gPiA+Pj4+LQ0KPiA+ID4+Pj4gICBDbGVhblVw Og0KPiA+ID4+Pj4gICAgIGdCUy0+U2lnbmFsRXZlbnQgKFJ4RGF0YS0+UmVjeWNsZVNpZ25hbCk7 DQo+ID4gPj4+Pg0KPiA+ID4+Pj5XZSB0ZXN0ZWQgYW5kIGl0IHdvcmtlZCwgYnV0IHdlIGFyZSBz dGlsbCBub3Qgc3VyZSB3aGV0aGVyIGl0IHdpbGwNCj4gaW1wYWN0DQo+ID4gPj4+Pm90aGVyIGNv ZGUgaW4gdGhlIG5ldHdvcmsgc3RhY2suDQo+ID4gPj4+Pg0KPiA+ID4+Pj5QbGVhc2UgbGV0IG1l IGtub3cgeW91ciBjb21tZW50cy4NCj4gPiA+Pj4+DQo+ID4gPj4+PlRoYW5rcywNCj4gPiA+Pj4+ DQo+ID4gPj4+PkdhcnkgKEhleWkgR3VvKQ0KPiA+ID4+X19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX18NCj4gPiA+PmVkazItZGV2ZWwgbWFpbGluZyBsaXN0DQo+ ID4gPj5lZGsyLWRldmVsQGxpc3RzLjAxLm9yZw0KPiA+ID4+aHR0cHM6Ly9saXN0cy4wMS5vcmcv bWFpbG1hbi9saXN0aW5mby9lZGsyLWRldmVsDQo+ID4NCj4gX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX18NCj4gZWRrMi1kZXZlbCBtYWlsaW5nIGxpc3QNCj4g ZWRrMi1kZXZlbEBsaXN0cy4wMS5vcmcNCj4gaHR0cHM6Ly9saXN0cy4wMS5vcmcvbWFpbG1hbi9s aXN0aW5mby9lZGsyLWRldmVsDQo=