From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received-SPF: Pass (sender SPF authorized) identity=mailfrom; client-ip=192.55.52.120; helo=mga04.intel.com; envelope-from=jian.j.wang@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 16E8221F833BF for ; Thu, 4 Jan 2018 18:51:31 -0800 (PST) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga001.jf.intel.com ([10.7.209.18]) by fmsmga104.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 04 Jan 2018 18:56:37 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.46,317,1511856000"; d="scan'208";a="21560939" Received: from fmsmsx104.amr.corp.intel.com ([10.18.124.202]) by orsmga001.jf.intel.com with ESMTP; 04 Jan 2018 18:56:36 -0800 Received: from fmsmsx123.amr.corp.intel.com (10.18.125.38) by fmsmsx104.amr.corp.intel.com (10.18.124.202) with Microsoft SMTP Server (TLS) id 14.3.319.2; Thu, 4 Jan 2018 18:56:28 -0800 Received: from shsmsx151.ccr.corp.intel.com (10.239.6.50) by fmsmsx123.amr.corp.intel.com (10.18.125.38) with Microsoft SMTP Server (TLS) id 14.3.319.2; Thu, 4 Jan 2018 18:56:28 -0800 Received: from shsmsx103.ccr.corp.intel.com ([169.254.4.213]) by SHSMSX151.ccr.corp.intel.com ([169.254.3.218]) with mapi id 14.03.0319.002; Fri, 5 Jan 2018 10:56:12 +0800 From: "Wang, Jian J" To: "Chaganty, Rangasai V" , Fan Jeff , Laszlo Ersek , "edk2-devel@lists.01.org" CC: "Yao, Jiewen" , "Dong, Eric" Thread-Topic: =?gb2312?B?W2VkazJdILTwuLQ6ICBbUEFUQ0hdIFVlZmlDcHVQa2cvTXBJbml0TGliOiBm?= =?gb2312?Q?ix_wrong_base_address_set_as_Stack_Guard?= Thread-Index: AQHThdCIz9jSBeKL7kC8++yLxSpN3aNklcgA Date: Fri, 5 Jan 2018 02:56:11 +0000 Message-ID: References: <20171229083631.16652-1-jian.j.wang@intel.com> , , , In-Reply-To: Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-titus-metadata-40: eyJDYXRlZ29yeUxhYmVscyI6IiIsIk1ldGFkYXRhIjp7Im5zIjoiaHR0cDpcL1wvd3d3LnRpdHVzLmNvbVwvbnNcL0ludGVsMyIsImlkIjoiOGU5NTk0NWQtZTc2MS00MzFhLWFlYjktNzczNzRhOWMwYmVmIiwicHJvcHMiOlt7Im4iOiJDVFBDbGFzc2lmaWNhdGlvbiIsInZhbHMiOlt7InZhbHVlIjoiQ1RQX05UIn1dfV19LCJTdWJqZWN0TGFiZWxzIjpbXSwiVE1DVmVyc2lvbiI6IjE3LjIuNS4xOCIsIlRydXN0ZWRMYWJlbEhhc2giOiIxUlp3VCtcL2pkWFpJMUl5cGpmRWFCT0tMZ09pdkYrSkowOWtFOHZoTVFQREF3UjhIYmFWOXh6bEVySnFNSWhQVCJ9 x-ctpclassification: CTP_NT 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: =?UTF-8?B?UmU6IOetlOWkjTogW1BBVENIXSBVZWZpQ3B1UGtnL01wSW5pdExpYjogZml4IHdyb25nIGJhc2UgYWRkcmVzcyBzZXQgYXMgU3RhY2sgR3VhcmQ=?= X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 05 Jan 2018 02:51:33 -0000 Content-Language: en-US Content-Type: text/plain; charset="gb2312" Content-Transfer-Encoding: base64 SSBzZWUuIFRoYW5rcyBhIGxvdCENCg0KUmVnYXJkcywNCkppYW4NCg0KDQo+IC0tLS0tT3JpZ2lu YWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IENoYWdhbnR5LCBSYW5nYXNhaSBWDQo+IFNlbnQ6IEZy aWRheSwgSmFudWFyeSAwNSwgMjAxOCAxMDo1NSBBTQ0KPiBUbzogRmFuIEplZmYgPHZhbmplZmZf OTE5QGhvdG1haWwuY29tPjsgV2FuZywgSmlhbiBKDQo+IDxqaWFuLmoud2FuZ0BpbnRlbC5jb20+ OyBMYXN6bG8gRXJzZWsgPGxlcnNla0ByZWRoYXQuY29tPjsgZWRrMi0NCj4gZGV2ZWxAbGlzdHMu MDEub3JnDQo+IENjOiBZYW8sIEppZXdlbiA8amlld2VuLnlhb0BpbnRlbC5jb20+OyBEb25nLCBF cmljIDxlcmljLmRvbmdAaW50ZWwuY29tPg0KPiBTdWJqZWN0OiBSRTogW2VkazJdILTwuLQ6IFtQ QVRDSF0gVWVmaUNwdVBrZy9NcEluaXRMaWI6IGZpeCB3cm9uZyBiYXNlIGFkZHJlc3MNCj4gc2V0 IGFzIFN0YWNrIEd1YXJkDQo+IA0KPiBBUElDX0JBU0UgTVNSIDFCSCAoQklUOCkgc2hvdWxkIHRl bGwgdXMgaWYgdGhlIGV4ZWN1dGluZyB0aHJlYWQgaXMgQlNQIG9yIG5vdC4NCj4gVGhpcyBNU1Ig aXMgZGVmaW5lZCBpbiBTRE0uDQo+IA0KPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBG cm9tOiBlZGsyLWRldmVsIFttYWlsdG86ZWRrMi1kZXZlbC1ib3VuY2VzQGxpc3RzLjAxLm9yZ10g T24gQmVoYWxmIE9mIEZhbg0KPiBKZWZmDQo+IFNlbnQ6IFRodXJzZGF5LCBKYW51YXJ5IDA0LCAy MDE4IDY6NTAgUE0NCj4gVG86IFdhbmcsIEppYW4gSiA8amlhbi5qLndhbmdAaW50ZWwuY29tPjsg TGFzemxvIEVyc2VrIDxsZXJzZWtAcmVkaGF0LmNvbT47DQo+IGVkazItZGV2ZWxAbGlzdHMuMDEu b3JnDQo+IENjOiBZYW8sIEppZXdlbiA8amlld2VuLnlhb0BpbnRlbC5jb20+OyBEb25nLCBFcmlj IDxlcmljLmRvbmdAaW50ZWwuY29tPg0KPiBTdWJqZWN0OiBbZWRrMl0gtPC4tDogW1BBVENIXSBV ZWZpQ3B1UGtnL01wSW5pdExpYjogZml4IHdyb25nIGJhc2UgYWRkcmVzcyBzZXQNCj4gYXMgU3Rh Y2sgR3VhcmQNCj4gDQo+IFNvcnJ5LCBEdW1wIHRoZSBBUElDSUQsIG5vdCBDUFVJRC4NCj4gDQo+ IEplZmYNCj4gDQo+ILeivP7IyzogRmFuIEplZmY8bWFpbHRvOnZhbmplZmZfOTE5QGhvdG1haWwu Y29tPg0KPiC3osvNyrG85DogMjAxOMTqMdTCNcjVIDEwOjQ4DQo+IMrVvP7IyzogV2FuZywgSmlh biBKPG1haWx0bzpqaWFuLmoud2FuZ0BpbnRlbC5jb20+OyBMYXN6bG8NCj4gRXJzZWs8bWFpbHRv OmxlcnNla0ByZWRoYXQuY29tPjsgZWRrMi1kZXZlbEBsaXN0cy4wMS5vcmc8bWFpbHRvOmVkazIt DQo+IGRldmVsQGxpc3RzLjAxLm9yZz4NCj4gs63LzTogWWFvLCBKaWV3ZW48bWFpbHRvOmppZXdl bi55YW9AaW50ZWwuY29tPjsgRG9uZywNCj4gRXJpYzxtYWlsdG86ZXJpYy5kb25nQGludGVsLmNv bT4NCj4g1vfM4jogtPC4tDogW2VkazJdIFtQQVRDSF0gVWVmaUNwdVBrZy9NcEluaXRMaWI6IGZp eCB3cm9uZyBiYXNlIGFkZHJlc3Mgc2V0DQo+IGFzIFN0YWNrIEd1YXJkDQo+IA0KPiBZb3UgbWF5 IHVzZSBNUC0+U3dpdGNoQlNQKCkgdG8gZG8gQlNQIHN3aXRjaCBhbmQgdGhlbiBkdW1wIEJTUKGv cyBDUFVJRCB0bw0KPiBrbm93IGlmIHRoZSBzd2l0Y2ggaXMgc3VjY2Vzc2Z1bGx5Lg0KPiANCj4g SmVmZg0KPiANCj4gDQo+IEZyb206IFdhbmcsIEppYW4gSiA8amlhbi5qLndhbmdAaW50ZWwuY29t Pg0KPiBTZW50OiBGcmlkYXksIEphbnVhcnkgNSwgMjAxOCA5OjU3OjMxIEFNDQo+IFRvOiBGYW4g SmVmZjsgTGFzemxvIEVyc2VrOyBlZGsyLWRldmVsQGxpc3RzLjAxLm9yZw0KPiBDYzogWWFvLCBK aWV3ZW47IERvbmcsIEVyaWMNCj4gU3ViamVjdDogUkU6IFtlZGsyXSBbUEFUQ0hdIFVlZmlDcHVQ a2cvTXBJbml0TGliOiBmaXggd3JvbmcgYmFzZSBhZGRyZXNzIHNldA0KPiBhcyBTdGFjayBHdWFy ZA0KPiANCj4gSGkgSmVmZiwNCj4gDQo+IERvIHlvdSB0aGluayB0aGUgY2hhbmdlIGlzIE9LPyBE byB5b3Uga25vdyBob3cgdG8gdGVzdCBzd2l0Y2hpbmcgQlNQPw0KPiANCj4gUmVnYXJkcywNCj4g Smlhbg0KPiANCj4gRnJvbTogRmFuIEplZmYgW21haWx0bzp2YW5qZWZmXzkxOUBob3RtYWlsLmNv bV0NCj4gU2VudDogRnJpZGF5LCBKYW51YXJ5IDA1LCAyMDE4IDk6NDAgQU0NCj4gVG86IExhc3ps byBFcnNlayA8bGVyc2VrQHJlZGhhdC5jb20+OyBXYW5nLCBKaWFuIEogPGppYW4uai53YW5nQGlu dGVsLmNvbT47DQo+IGVkazItZGV2ZWxAbGlzdHMuMDEub3JnDQo+IENjOiBZYW8sIEppZXdlbiA8 amlld2VuLnlhb0BpbnRlbC5jb20+OyBEb25nLCBFcmljIDxlcmljLmRvbmdAaW50ZWwuY29tPg0K PiBTdWJqZWN0OiC08Li0OiBbZWRrMl0gW1BBVENIXSBVZWZpQ3B1UGtnL01wSW5pdExpYjogZml4 IHdyb25nIGJhc2UgYWRkcmVzcyBzZXQNCj4gYXMgU3RhY2sgR3VhcmQNCj4gDQo+IExhc3psbywN Cj4gDQo+IEZpcnN0bHksIFN3aXRjaEJTUCgpIGlzIG9uZSBzZXJ2aWNlIG9mIE1QIGRlZmluZWQg aW4gUEkgc3BlYy4NCj4gDQo+IEZvciByZWFsIGNhc2UsIEkgdGhpbmsgbXVsdGlwbGUgc29ja2V0 IHN5c3RlbSh3aXRoIGRpZmZlcmVudCBwcm9jZXNzb3Igc3RlcHBpbmcpDQo+IG1heSB1c2UgdGhp cyBzZXJ2aWNlIGZvciBwdXJwb3NlLg0KPiANCj4gVGhhbmtzIQ0KPiBKZWZmDQo+IA0KPiC3orz+ yMs6IExhc3psbyBFcnNlazxtYWlsdG86bGVyc2VrQHJlZGhhdC5jb20+DQo+ILeiy83KsbzkOiAy MDE4xOox1MI0yNUgMjA6MjENCj4gytW8/sjLOiBXYW5nLCBKaWFuIEo8bWFpbHRvOmppYW4uai53 YW5nQGludGVsLmNvbT47IGVkazItDQo+IGRldmVsQGxpc3RzLjAxLm9yZzxtYWlsdG86ZWRrMi1k ZXZlbEBsaXN0cy4wMS5vcmc+DQo+ILOty806IFlhbywgSmlld2VuPG1haWx0bzpqaWV3ZW4ueWFv QGludGVsLmNvbT47IERvbmcsDQo+IEVyaWM8bWFpbHRvOmVyaWMuZG9uZ0BpbnRlbC5jb20+DQo+ INb3zOI6IFJlOiBbZWRrMl0gW1BBVENIXSBVZWZpQ3B1UGtnL01wSW5pdExpYjogZml4IHdyb25n IGJhc2UgYWRkcmVzcyBzZXQgYXMNCj4gU3RhY2sgR3VhcmQNCj4gDQo+IE9uIDAxLzA0LzE4IDAy OjQ1LCBXYW5nLCBKaWFuIEogd3JvdGU6DQo+ID4gQSBjb3JyZWN0aW9uOiBhbHRob3VnaCBCU1Ag ZG9lc24ndCBuZWVkIGl0LCB3ZSBzdGlsbCBuZWVkIHRvDQo+ID4gaW5pdGlhbGl6ZSBpdHMgQXBU b3BPZlN0YWNrIGNvcnJlY3RseSBiZWNhdXNlIHRoZSBNUCBzZXJ2aWNlIHN1cHBvcnRzDQo+ID4g QlNQL0FQIGV4Y2hhbmdlLiBTbyBJIHRoaW5rIHRoZSBsaW5lIDE1MDEgc2hvdWxkIGJlIGNoYW5n ZWQgdG8NCj4gPg0KPiA+ICAgSW5pdGlhbGl6ZUFwRGF0YSAoQ3B1TXBEYXRhLCAwLCAwLCBDcHVN cERhdGEtPkJ1ZmZlciArDQo+ID4gQ3B1TXBEYXRhLT5DcHVBcFN0YWNrU2l6ZSk7DQo+ID4NCj4g PiBpbnN0ZWFkIG9mDQo+ID4NCj4gPiAgIEluaXRpYWxpemVBcERhdGEgKENwdU1wRGF0YSwgMCwg MCwgTlVMTCk7DQo+IA0KPiBIbW0uLi4gQWx0aG91Z2ggSSBkb24ndCBpbW1lZGlhdGVseSBzZWUg YWxsIHBvc3NpYmxlIGNvbnNlcXVlbmNlcyBvZiBzdWNoIGENCj4gY2hhbmdlLCBpdCBsb29rcyBs aWtlIGEgY29ycmVjdCBmaXguDQo+IA0KPiBVbmZvcnR1bmF0ZWx5LCBJIGRvbid0IGtub3cgb2Yg YW55IGNvZGUgdGhhdCBhY3R1YWxseSBleGVyY2lzZXMgdGhlIEJTUC9BUA0KPiBleGNoYW5nZSBz ZXJ2aWNlLiBJIHRoaW5rIEludGVsIG11c3QgaGF2ZSBhY2Nlc3MgdG8gc29tZSBjbGllbnQgY29k ZSBsaWtlIHRoaXMsDQo+IGJlY2F1c2UgSSB2YWd1ZWx5IHJlY2FsbCBzb21lIHBhdGNoZXMgb3Zl ciB0aW1lIHRoYXQgaW1wcm92ZWQgQlNQL0FQDQo+IGV4Y2hhbmdlLg0KPiANCj4gSWYgeW91IG1v ZGlmeSB0aGUgSW5pdGlhbGl6ZUFwRGF0YSgpIGNhbGwgaW4gcXVlc3Rpb24gbGlrZSBzdWdnZXN0 ZWQgYWJvdmUsIGNhbg0KPiB5b3UgcGVyaGFwcyBsb2NhdGUgdGhhdCBjbGllbnQgY29kZSwgYW5k IHRlc3QgdGhlIGNoYW5nZSB3aXRoIGl0Pw0KPiANCj4gVGhhbmtzIQ0KPiBMYXN6bG8NCj4gDQo+ IA0KPiA+PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+PiBGcm9tOiBXYW5nLCBKaWFu IEoNCj4gPj4gU2VudDogVGh1cnNkYXksIEphbnVhcnkgMDQsIDIwMTggOTowOSBBTQ0KPiA+PiBU bzogV2FuZywgSmlhbiBKDQo+ID4+IDxqaWFuLmoud2FuZ0BpbnRlbC5jb208bWFpbHRvOmppYW4u ai53YW5nQGludGVsLmNvbT4+OyBMYXN6bG8gRXJzZWsNCj4gPj4gPGxlcnNla0ByZWRoYXQuY29t PG1haWx0bzpsZXJzZWtAcmVkaGF0LmNvbT4+Ow0KPiA+PiBlZGsyLWRldmVsQGxpc3RzLjAxLm9y ZzxtYWlsdG86ZWRrMi1kZXZlbEBsaXN0cy4wMS5vcmc+DQo+ID4+IENjOiBZYW8sIEppZXdlbiA8 amlld2VuLnlhb0BpbnRlbC5jb208bWFpbHRvOmppZXdlbi55YW9AaW50ZWwuY29tPj47DQo+ID4+ IERvbmcsIEVyaWMgPGVyaWMuZG9uZ0BpbnRlbC5jb208bWFpbHRvOmVyaWMuZG9uZ0BpbnRlbC5j b20+Pg0KPiA+PiBTdWJqZWN0OiBSRTogW2VkazJdIFtQQVRDSF0gVWVmaUNwdVBrZy9NcEluaXRM aWI6IGZpeCB3cm9uZyBiYXNlDQo+ID4+IGFkZHJlc3Mgc2V0IGFzIFN0YWNrIEd1YXJkDQo+ID4+ DQo+ID4+IExhc3psbywNCj4gPj4NCj4gPj4gTW9yZSBleHBsYW5hdGlvbnM6DQo+ID4+DQo+ID4+ IFtVZWZpQ3B1UGtnXExpYnJhcnlcTXBJbml0TGliXE1wTGliLmNdDQo+ID4+IEFjY29yZGluZyB0 byB0aGUgY29kZSwgdGhlIEJTUCdzIChDcHVJbmZvSW5Ib2JbMF0uQXBUb3BPZlN0YWNrKSBpcw0K PiA+PiBpbml0aWFsaXplZCB0byB0aGUgYm90dG9tIG9mIHRoZSBzdGFjayAobGluZSAxNTAxKSBi dXQgQVAncw0KPiA+PiBBcFRvcE9mU3RhY2sgaXMgY29ycmVjdGx5IGluaXRpYWxpemVkIChsaW5l IDU5OCkuIEFsdGhvdWdoIG15DQo+ID4+IGNhbGN1bGF0aW9uIGlzIGNvcnJlY3QsIEkgdGhpbmsg aXQnZCBiZSBiZXR0ZXIgdG8gdXNlIEFQJ3MNCj4gPj4gQXBUb3BPZlN0YWNrIGRpcmVjdGx5LiBG cm9tIHRoaXMgcGVyc3BlY3RpdmUsIHlvdSdyZSByaWdodC4NCj4gPj4NCj4gPj4gTWF5YmUgaXQn ZCBiZSBiZXR0ZXIgdG8gcGFzcyBhIE5VTEwgcG9pbnRlciBhdCBsaW5lIDE1MDEgYmVjYXVzZSBC U1ANCj4gPj4gZG9lc24ndCBuZWVkIGl0IGFueXdheS4NCj4gPj4NCj4gPj4gUmVnYXJkcywNCj4g Pj4gSmlhbg0KPiA+Pg0KPiA+Pg0KPiA+Pj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4g Pj4+IEZyb206IGVkazItZGV2ZWwgW21haWx0bzplZGsyLWRldmVsLWJvdW5jZXNAbGlzdHMuMDEu b3JnXSBPbiBCZWhhbGYNCj4gPj4+IE9mDQo+ID4+IFdhbmcsDQo+ID4+PiBKaWFuIEoNCj4gPj4+ IFNlbnQ6IFRodXJzZGF5LCBKYW51YXJ5IDA0LCAyMDE4IDg6NDIgQU0NCj4gPj4+IFRvOiBMYXN6 bG8gRXJzZWsgPGxlcnNla0ByZWRoYXQuY29tPG1haWx0bzpsZXJzZWtAcmVkaGF0LmNvbT4+Ow0K PiA+Pj4gZWRrMi1kZXZlbEBsaXN0cy4wMS5vcmc8bWFpbHRvOmVkazItZGV2ZWxAbGlzdHMuMDEu b3JnPg0KPiA+Pj4gQ2M6IFlhbywgSmlld2VuIDxqaWV3ZW4ueWFvQGludGVsLmNvbTxtYWlsdG86 amlld2VuLnlhb0BpbnRlbC5jb20+PjsNCj4gPj4+IERvbmcsIEVyaWMgPGVyaWMuZG9uZ0BpbnRl bC5jb208bWFpbHRvOmVyaWMuZG9uZ0BpbnRlbC5jb20+Pg0KPiA+Pj4gU3ViamVjdDogUmU6IFtl ZGsyXSBbUEFUQ0hdIFVlZmlDcHVQa2cvTXBJbml0TGliOiBmaXggd3JvbmcgYmFzZQ0KPiA+Pj4g YWRkcmVzcyBzZXQgYXMgU3RhY2sgR3VhcmQNCj4gPj4+DQo+ID4+PiBMYXN6bG8sDQo+ID4+Pg0K PiA+Pj4gSSByZXZpc2l0ZWQgY29kZSBvZiBNcEluaXRMaWIuIEkgZm91bmQgdGhhdA0KPiA+Pj4g Q1BVX0lORk9fSU5fSE9CLkFwVG9wT2ZTdGFjayB3YXMgYXNzaWduZWQgdG8gQ3B1TXBEYXRhLT5C dWZmZXIgaW4NCj4gPj4+IE1wSW5pdExpYkluaXRpYWxpemUoKQ0KPiA+Pj4NCj4gPj4+IChsaW5l MTUwMSkgIEluaXRpYWxpemVBcERhdGEgKENwdU1wRGF0YSwgMCwgMCwgQ3B1TXBEYXRhLT5CdWZm ZXIpOw0KPiA+Pj4NCj4gPj4+IGJ1dCBpbg0KPiA+Pj4NCj4gPj4+IChsaW5lNTk4KSAgQXBUb3BP ZlN0YWNrICA9IENwdU1wRGF0YS0+QnVmZmVyICsgKFByb2Nlc3Nvck51bWJlciArIDEpDQo+ID4+ PiAqDQo+ID4+PiBDcHVNcERhdGEtPkNwdUFwU3RhY2tTaXplOw0KPiA+Pj4gKGxpbmU2MDgpICBJ bml0aWFsaXplQXBEYXRhIChDcHVNcERhdGEsIFByb2Nlc3Nvck51bWJlciwgQmlzdERhdGEsDQo+ ID4+PiBBcFRvcE9mU3RhY2spOw0KPiA+Pj4NCj4gPj4+IFNpbmNlIEluaXRNcEdsb2JhbERhdGEo KSBpcyBjYWxsZWQganVzdCBhZnRlciBmaXJzdCBzaXR1YXRpb24sIG15IHBhdGNoIGlzDQo+IGNv cnJlY3QuDQo+ID4+Pg0KPiA+Pj4gSSB0aGluayB0aGUgcHJvYmxlbSBoZXJlIGlzIHRoYXQgQXBU b3BPZlN0YWNrIGluaXRpYWxpemVkIGF0IGxpbmUNCj4gPj4+IDE1MDEgaXMgbm90IGNvcnJlY3Qu DQo+ID4+Pg0KPiA+Pj4NCj4gPj4+IFJlZ2FyZHMsDQo+ID4+PiBKaWFuDQo+ID4+Pg0KPiA+Pj4N Cj4gPj4+PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+Pj4+IEZyb206IExhc3psbyBF cnNlayBbbWFpbHRvOmxlcnNla0ByZWRoYXQuY29tXQ0KPiA+Pj4+IFNlbnQ6IFRodXJzZGF5LCBK YW51YXJ5IDA0LCAyMDE4IDE6MzMgQU0NCj4gPj4+PiBUbzogV2FuZywgSmlhbiBKDQo+ID4+Pj4g PGppYW4uai53YW5nQGludGVsLmNvbTxtYWlsdG86amlhbi5qLndhbmdAaW50ZWwuY29tPj47DQo+ ID4+Pj4gZWRrMi1kZXZlbEBsaXN0cy4wMS5vcmc8bWFpbHRvOmVkazItZGV2ZWxAbGlzdHMuMDEu b3JnPg0KPiA+Pj4+IENjOiBZYW8sIEppZXdlbg0KPiA+Pj4+IDxqaWV3ZW4ueWFvQGludGVsLmNv bTxtYWlsdG86amlld2VuLnlhb0BpbnRlbC5jb20+PjsgRG9uZywgRXJpYw0KPiA+Pj4+IDxlcmlj LmRvbmdAaW50ZWwuY29tPG1haWx0bzplcmljLmRvbmdAaW50ZWwuY29tPj47DQo+ID4+Pj4gSmVm ZiBGYW4gPHZhbmplZmZfOTE5QGhvdG1haWwuY29tPG1haWx0bzp2YW5qZWZmXzkxOUBob3RtYWls LmNvbT4+DQo+ID4+Pj4gU3ViamVjdDogUmU6IFtlZGsyXSBbUEFUQ0hdIFVlZmlDcHVQa2cvTXBJ bml0TGliOiBmaXggd3JvbmcgYmFzZQ0KPiA+Pj4+IGFkZHJlc3MNCj4gPj4gc2V0DQo+ID4+Pj4g YXMgU3RhY2sgR3VhcmQNCj4gPj4+Pg0KPiA+Pj4+IChDQyBKZWZmKQ0KPiA+Pj4+DQo+ID4+Pj4g U29ycnkgYWJvdXQgdGhlIGRlbGF5Lg0KPiA+Pj4+DQo+ID4+Pj4gSSBoYXZlIHNvbWUgbGlnaHQg Y29tbWVudHMgYmVsb3c7IEkgZXhwZWN0IGF0IGxlYXN0IGEgZmV3IG9mIHRoZW0NCj4gPj4+PiB0 byBiZSBpbmNvcnJlY3QgOikNCj4gPj4+Pg0KPiA+Pj4+IE9uIDEyLzI5LzE3IDA5OjM2LCBKaWFu IEogV2FuZyB3cm90ZToNCj4gPj4+Pj4gVGhlIHJlYXNvbiBpcyB0aGF0IERYRSBwYXJ0IGluaXRp YWxpemF0aW9uIHdpbGwgcmV1c2UgdGhlIHN0YWNrDQo+ID4+Pj4+IGFsbG9jYXRlZCBhdCBQRUkg cGhhc2UsIGlmIE1QIHdhcyBpbml0aWFsaXplZCBiZWZvcmUuIFNvbWUgY29kZQ0KPiA+Pj4+PiBh ZGRlZCB0byBjaGVjayB0aGlzIHNpdHVhdGlvbiBhbmQgdXNlIHN0YWNrIGJhc2UgYWRkcmVzcyBz YXZlZCBpbiBIT0INCj4gcGFzc2VkIGZyb20gUEVJLg0KPiA+Pj4+Pg0KPiA+Pj4+PiBDYzogSmll d2VuIFlhbyA8amlld2VuLnlhb0BpbnRlbC5jb208bWFpbHRvOmppZXdlbi55YW9AaW50ZWwuY29t Pj4NCj4gPj4+Pj4gQ2M6IEVyaWMgRG9uZyA8ZXJpYy5kb25nQGludGVsLmNvbTxtYWlsdG86ZXJp Yy5kb25nQGludGVsLmNvbT4+DQo+ID4+Pj4+IENjOiBMYXN6bG8gRXJzZWsgPGxlcnNla0ByZWRo YXQuY29tPG1haWx0bzpsZXJzZWtAcmVkaGF0LmNvbT4+DQo+ID4+Pj4+IENvbnRyaWJ1dGVkLXVu ZGVyOiBUaWFub0NvcmUgQ29udHJpYnV0aW9uIEFncmVlbWVudCAxLjENCj4gPj4+Pj4gU2lnbmVk LW9mZi1ieTogSmlhbiBKIFdhbmcNCj4gPj4+Pj4gPGppYW4uai53YW5nQGludGVsLmNvbTxtYWls dG86amlhbi5qLndhbmdAaW50ZWwuY29tPj4NCj4gPj4+Pj4gLS0tDQo+ID4+Pj4+ICBVZWZpQ3B1 UGtnL0xpYnJhcnkvTXBJbml0TGliL0R4ZU1wTGliLmMgfCAxNyArKysrKysrKysrKysrKystLQ0K PiA+Pj4+PiAgMSBmaWxlIGNoYW5nZWQsIDE1IGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0p DQo+ID4+Pj4+DQo+ID4+Pj4+IGRpZmYgLS1naXQgYS9VZWZpQ3B1UGtnL0xpYnJhcnkvTXBJbml0 TGliL0R4ZU1wTGliLmMNCj4gPj4+PiBiL1VlZmlDcHVQa2cvTGlicmFyeS9NcEluaXRMaWIvRHhl TXBMaWIuYw0KPiA+Pj4+PiBpbmRleCA0MGMxYmY0MDdhLi4wNTQ4NGM5ZmYzIDEwMDY0NA0KPiA+ Pj4+PiAtLS0gYS9VZWZpQ3B1UGtnL0xpYnJhcnkvTXBJbml0TGliL0R4ZU1wTGliLmMNCj4gPj4+ Pj4gKysrIGIvVWVmaUNwdVBrZy9MaWJyYXJ5L01wSW5pdExpYi9EeGVNcExpYi5jDQo+ID4+Pj4+ IEBAIC0yOTUsNiArMjk1LDcgQEAgSW5pdE1wR2xvYmFsRGF0YSAoDQo+ID4+Pj4+ICAgIFVJTlRO ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEluZGV4Ow0KPiA+Pj4+PiAgICBFRklfR0NE X01FTU9SWV9TUEFDRV9ERVNDUklQVE9SICAgICBNZW1EZXNjOw0KPiA+Pj4+PiAgICBVSU5UTiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdGFja0Jhc2U7DQo+ID4+Pj4+ICsgIENQVV9J TkZPX0lOX0hPQiAgICAgICAgICAgICAgICAgICAgICpDcHVJbmZvSW5Ib2I7DQo+ID4+Pj4+DQo+ ID4+Pj4+ICAgIFNhdmVDcHVNcERhdGEgKENwdU1wRGF0YSk7DQo+ID4+Pj4+DQo+ID4+Pj4+IEBA IC0zMTQsOSArMzE1LDE4IEBAIEluaXRNcEdsb2JhbERhdGEgKA0KPiA+Pj4+PiAgICAgICAgQVNT RVJUIChGQUxTRSk7DQo+ID4+Pj4+ICAgICAgfQ0KPiA+Pj4+Pg0KPiA+Pj4+PiAtICAgIGZvciAo SW5kZXggPSAwOyBJbmRleCA8IENwdU1wRGF0YS0+Q3B1Q291bnQ7ICsrSW5kZXgpIHsNCj4gPj4+ Pj4gLSAgICAgIFN0YWNrQmFzZSA9IENwdU1wRGF0YS0+QnVmZmVyICsgSW5kZXggKiBDcHVNcERh dGEtDQo+ID4+PiBDcHVBcFN0YWNrU2l6ZTsNCj4gPj4+Pj4gKyAgICAvLw0KPiA+Pj4+PiArICAg IC8vIERYRSB3aWxsIHJldXNlIHN0YWNrIGFsbG9jYXRlZCBmb3IgQVBzIGF0IFBFSSBwaGFzZSBp ZiBpdCdzIGF2YWlsYWJsZS4NCj4gPj4+Pj4gKyAgICAvLyBMZXQncyBjaGVjayBpdCBoZXJlLg0K PiA+Pj4+PiArICAgIC8vDQo+ID4+Pj4+ICsgICAgQ3B1SW5mb0luSG9iID0gKENQVV9JTkZPX0lO X0hPQiAqKShVSU5UTilDcHVNcERhdGEtDQo+ID4+Pj4+IENwdUluZm9JbkhvYjsNCj4gPj4+Pj4g KyAgICBpZiAoQ3B1SW5mb0luSG9iICE9IE5VTEwgJiYgQ3B1SW5mb0luSG9iLT5BcFRvcE9mU3Rh Y2sgIT0gMCkgew0KPiA+Pj4+PiArICAgICAgU3RhY2tCYXNlID0gQ3B1SW5mb0luSG9iLT5BcFRv cE9mU3RhY2s7DQo+ID4+Pj4+ICsgICAgfSBlbHNlIHsNCj4gPj4+Pj4gKyAgICAgIFN0YWNrQmFz ZSA9IENwdU1wRGF0YS0+QnVmZmVyOw0KPiA+Pj4+PiArICAgIH0NCj4gPj4+Pg0KPiA+Pj4+IFNv LCBpZiB0aGUgSE9CIGlzIG5vdCBmb3VuZCwgdGhlbiBTdGFja0Jhc2UgaXMgc2V0IG9rYXkuDQo+ ID4+Pj4NCj4gPj4+PiBIb3dldmVyLCBJJ20gdW5zdXJlIGFib3V0IHRoZSBvdGhlciBjYXNlLiBU aGUNCj4gPj4+PiBDUFVfSU5GT19JTl9IT0IuQXBUb3BPZlN0YWNrIGZpZWxkIGlkZW50aWZpZXMg dGhlICp0b3AqIG9mIHRoZQ0KPiA+Pj4+IHN0YWNrIChoaWdoZXN0IGFkZHJlc3MsIGFuZCB0aGUg c3RhY2sgZ3Jvd3MgZG93bik7IGhvd2V2ZXIgdGhlIGxvb3ANCj4gPj4+PiBiZWxvdw0KPiA+Pj4+ ICppbmNyZW1lbnRzKiBTdGFja0Jhc2UuIEdpdmVuIHRoZSBpbmNyZW1lbnRpbmcgbmF0dXJlIG9m IHRoZSBsb29wLA0KPiA+Pj4+IHNob3VsZG4ndCB3ZSBmaXJzdCBjYWxjdWxhdGUgdGhlIGFjdHVh bCBiYXNlICg9IGxvd2VzdCBhZGRyZXNzKQ0KPiA+Pj4+IGZyb20gdGhlIENQVV9JTkZPX0lOX0hP Qi5BcFRvcE9mU3RhY2sgZmllbGQ/DQo+ID4+Pj4NCj4gPj4+PiBBY3R1YWxseS4uLiBJJ20gZXZl biBtb3JlIGNvbmZ1c2VkLiBUaGUgQ3B1TXBEYXRhLT5DcHVJbmZvSW5Ib2INCj4gPj4+PiBmaWVs ZCBwb2ludHMgdG8gYW4gKmFycmF5KiBvZiBDUFVfSU5GT19JTl9IT0Igc3RydWN0dXJlcy4NCj4g Pj4+PiBUaGVyZWZvcmUsIGZvciBhbnkgZ2l2ZW4gcHJvY2Vzc29yICNOLCB3ZSBzaG91bGQgbm90 IGNhbGN1bGF0ZSB0aGUNCj4gPj4+PiBzdGFjayBiYXNlIGFzDQo+ID4+Pj4NCj4gPj4+PiAgIENw dU1wRGF0YS0+Q3B1SW5mb0luSG9iLT5BcFRvcE9mU3RhY2sgKyBOICogQ3B1TXBEYXRhLQ0KPiA+ Pj4+PiBDcHVBcFN0YWNrU2l6ZQ0KPiA+Pj4+DQo+ID4+Pj4gaW5zdGVhZCB3ZSBzaG91bGQgY2Fs Y3VsYXRlIHRoZSBzdGFjayBiYXNlIGFzIHNvbWV0aGluZyBsaWtlOg0KPiA+Pj4+DQo+ID4+Pj4g ICBDcHVNcERhdGEtPkNwdUluZm9JbkhvYltOXS5BcFRvcE9mU3RhY2sgLSBDcHVNcERhdGEtDQo+ ID4+PiBDcHVBcFN0YWNrU2l6ZQ0KPiA+Pj4+DQo+ID4+Pj4gU2VlDQo+ID4+Pj4gLSB0aGUgSW5p dGlhbGl6ZUFwRGF0YSgpIGZ1bmN0aW9uLA0KPiA+Pj4+IC0gYW5kIGl0cyBjYWxsIHNpdGUgaW4g dGhlIEFwV2FrZXVwRnVuY3Rpb24oKSBmdW5jdGlvbi4NCj4gPj4+Pg0KPiA+Pj4+IChUbyBteSBz dXJwcmlzZSwgSSBwZXJzb25hbGx5IG1vZGlmaWVkIEluaXRpYWxpemVBcERhdGEoKSBlYXJsaWVy LA0KPiA+Pj4+IGluIGNvbW1pdCBkZDNmYTBjZDcyZGUgKCJVZWZpQ3B1UGtnL01wSW5pdExpYjog c3VwcG9ydCA2NC1iaXQgQVANCj4gPj4+PiBzdGFjayBhZGRyZXNzZXMiLCAyMDE2LTExLTE3KSAt LSBJJ3ZlIHRvdGFsbHkgZm9yZ290dGVuIGFib3V0IHRoYXQNCj4gPj4+PiBieSBub3chKQ0KPiA+ Pj4+DQo+ID4+Pj4gV2hhdCBkbyB5b3UgdGhpbms/DQo+ID4+Pj4NCj4gPj4+Pj4NCj4gPj4+Pj4g KyAgICBmb3IgKEluZGV4ID0gMDsgSW5kZXggPCBDcHVNcERhdGEtPkNwdUNvdW50OyArK0luZGV4 KSB7DQo+ID4+Pj4+ICAgICAgICBTdGF0dXMgPSBnRFMtPkdldE1lbW9yeVNwYWNlRGVzY3JpcHRv ciAoU3RhY2tCYXNlLCAmTWVtRGVzYyk7DQo+ID4+Pj4+ICAgICAgICBBU1NFUlRfRUZJX0VSUk9S IChTdGF0dXMpOw0KPiA+Pj4+Pg0KPiA+Pj4+PiBAQCAtMzI2LDYgKzMzNiw5IEBAIEluaXRNcEds b2JhbERhdGEgKA0KPiA+Pj4+PiAgICAgICAgICAgICAgICAgICAgICAgIE1lbURlc2MuQXR0cmli dXRlcyB8IEVGSV9NRU1PUllfUlANCj4gPj4+Pj4gICAgICAgICAgICAgICAgICAgICAgICApOw0K PiA+Pj4+PiAgICAgICAgQVNTRVJUX0VGSV9FUlJPUiAoU3RhdHVzKTsNCj4gPj4+Pj4gKw0KPiA+ Pj4+PiArICAgICAgREVCVUcgKChERUJVR19WRVJCT1NFLCAiU3RhY2sgR3VhcmQgc2V0IGF0ICV4 IFtjcHUlZF0hXG4iLA0KPiA+Pj4+IFN0YWNrQmFzZSwgSW5kZXgpKTsNCj4gPj4+Pg0KPiA+Pj4+ IFN0YWNrQmFzZSBoYXMgdHlwZSBVSU5UTiwgYW5kIHNvIGl0IHNob3VsZCBub3QgYmUgcHJpbnRl ZCB3aXRoICV4Lg0KPiA+Pj4+IEl0IHNob3VsZCBiZSBjYXN0IHRvIChVSU5UNjQpLCBhbmQgdGhl biBwcmludGVkIHdpdGggJUx4Lg0KPiA+Pj4+DQo+ID4+Pj4gU2ltaWxhcmx5LCBJbmRleCBoYXMg dHlwZSBVSU5UTi4gSXQgc2hvdWxkIG5vdCBiZSBwcmludGVkIHdpdGggJWQuDQo+ID4+Pj4gSXQg c2hvdWxkIGJlIGNhc3QgdG8gKFVJTlQ2NCkgYW5kIHByaW50ZWQgd2l0aCAlTHUuDQo+ID4+Pj4N Cj4gPj4+Pg0KPiA+Pj4+PiArICAgICAgU3RhY2tCYXNlICs9IENwdU1wRGF0YS0+Q3B1QXBTdGFj a1NpemU7DQo+ID4+Pj4NCj4gPj4+PiBBZ2FpbiwgSSBkb24ndCB0aGluayB0aGUgc2ltcGxlIGlu Y3JlbWVudCBhcHBsaWVzIHdoZW4gdGhlDQo+ID4+Pj4gQ3B1TXBEYXRhLT5DcHVJbmZvSW5Ib2Ig YXJyYXkgZXhpc3RzLg0KPiA+Pj4+DQo+ID4+Pj4+ICAgICAgfQ0KPiA+Pj4+PiAgICB9DQo+ID4+ Pj4+DQo+ID4+Pj4+DQo+ID4+Pj4NCj4gPj4+PiBUaGFua3MsDQo+ID4+Pj4gTGFzemxvDQo+ID4+ PiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXw0KPiA+Pj4g ZWRrMi1kZXZlbCBtYWlsaW5nIGxpc3QNCj4gPj4+IGVkazItZGV2ZWxAbGlzdHMuMDEub3JnPG1h aWx0bzplZGsyLWRldmVsQGxpc3RzLjAxLm9yZz4NCj4gPj4+IGh0dHBzOi8vbGlzdHMuMDEub3Jn L21haWxtYW4vbGlzdGluZm8vZWRrMi1kZXZlbA0KPiANCj4gX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX18NCj4gZWRrMi1kZXZlbCBtYWlsaW5nIGxpc3QNCj4g ZWRrMi1kZXZlbEBsaXN0cy4wMS5vcmc8bWFpbHRvOmVkazItZGV2ZWxAbGlzdHMuMDEub3JnPg0K PiBodHRwczovL2xpc3RzLjAxLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2VkazItZGV2ZWwNCj4gDQo+ IA0KPiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXw0KPiBl ZGsyLWRldmVsIG1haWxpbmcgbGlzdA0KPiBlZGsyLWRldmVsQGxpc3RzLjAxLm9yZw0KPiBodHRw czovL2xpc3RzLjAxLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2VkazItZGV2ZWwNCg==