From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received-SPF: Pass (sender SPF authorized) identity=mailfrom; client-ip=40.92.6.89; helo=nam03-by2-obe.outbound.protection.outlook.com; envelope-from=vanjeff_919@hotmail.com; receiver=edk2-devel@lists.01.org Received: from NAM03-BY2-obe.outbound.protection.outlook.com (mail-oln040092006089.outbound.protection.outlook.com [40.92.6.89]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id 3280B2236BA83 for ; Thu, 4 Jan 2018 18:59:50 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=hotmail.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=nlSGn0XeHrnaOfgiMi4/sFnqYYhdQ2I45azEAcWUa24=; b=mFQb0ZWry9Speqol0bETuctGQO0VNzDBqJGf0aqyGilOD2wTPrtMVOkJS4xuQ5NFYDpMPsn7/gN3apMy3zZpLLq5sTxdiOQvdy5HNJrc5aZYDJIAizx9FQTs4o13j1BKr/mZUcjhpStcL7P3ZaMDpmpD4gL44X7lNBRNfKQOUQCivmscEcVAXkdEpx1UA+m/jFi5jLIn+2fC2iFjSunXjx2MYF+0QNua+SzPP/3Qqjr7BKMIxwEtEm11We2w20ZpVcVH9cHxnAJc8Rl267/gNWE5hZHQCZ6F9i3yXXCucN3+S0W0/ls7nqOA1m9mxqlm1dcdBXodsZfi5GlGO/20nQ== Received: from DM3NAM03FT026.eop-NAM03.prod.protection.outlook.com (10.152.82.55) by DM3NAM03HT067.eop-NAM03.prod.protection.outlook.com (10.152.83.23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.20.345.12; Fri, 5 Jan 2018 03:04:55 +0000 Received: from CO2PR19MB0137.namprd19.prod.outlook.com (10.152.82.57) by DM3NAM03FT026.mail.protection.outlook.com (10.152.82.185) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.20.345.12 via Frontend Transport; Fri, 5 Jan 2018 03:04:55 +0000 Received: from CO2PR19MB0137.namprd19.prod.outlook.com ([10.161.82.25]) by CO2PR19MB0137.namprd19.prod.outlook.com ([10.161.82.25]) with mapi id 15.20.0366.009; Fri, 5 Jan 2018 03:04:55 +0000 From: Fan Jeff To: "Yao, Jiewen" , "Wang, Jian J" , Laszlo Ersek , "edk2-devel@lists.01.org" CC: "Dong, Eric" Thread-Topic: [edk2] [PATCH] UefiCpuPkg/MpInitLib: fix wrong base address set as Stack Guard Thread-Index: AQHTgIAlfHRFrVh4sEOu6cfIdvHzPKNicOYAgAB3vYCAAAetAIAACgeAgACxxACAAN1dUYAABp+AgAAN8GqAAAB66oAAAdaAgAAAooCAAAGcgA== Date: Fri, 5 Jan 2018 03:04:55 +0000 Message-ID: References: <20171229083631.16652-1-jian.j.wang@intel.com> , , , , <74D8A39837DF1E4DA445A8C0B3885C503AA70D2C@shsmsx102.ccr.corp.intel.com> In-Reply-To: <74D8A39837DF1E4DA445A8C0B3885C503AA70D2C@shsmsx102.ccr.corp.intel.com> Accept-Language: zh-CN, en-US X-MS-Has-Attach: yes X-MS-TNEF-Correlator: x-incomingtopheadermarker: OriginalChecksum:4C0C7FA0FA28860F4825D47F54B1C7903973C191989B9588B78074D5BBC98B69; UpperCasedChecksum:69101D7FD9BDA2014765A70D78C6023824C194CC8A1A4A9837C36AD9F8D845E8; SizeAsReceived:8157; Count:47 x-ms-exchange-messagesentrepresentingtype: 1 x-tmn: [E+Z5eRKf0oQNU7cbBFaE8TqepJU12JoE] x-ms-publictraffictype: Email x-microsoft-exchange-diagnostics: 1; DM3NAM03HT067; 6:o28LwdF4EvLpDt3jXpBOIkmXkgGaXLMUoyf2G8Cvj6mxStE059SdjgL7QfZQo/5jcldzJhLnncuOR2GtjdEzCw/Svom+ZxUoALlqv4oa5i3QRP4KUsZJIzUceAAFsY8Y9MfhYuEfQnSYxtCi5wRrD+OaERbjTnU4eXuy3p4DgalHJByZg5zI7Kwu0NbGnMa06qE2ULyYoHBBcsqkuB9zbrw2sRLTUyv2TWFnNKAinZXOEy7QejgOjCKXoSh2tNTySwHYYknDyH2V3aPMgA8peUT7g8TzI9r/0paPoiPFs/7aoFvTV/cCJCNEbSgueMmrG7LiIrlsnvLiJqeivVpCU+ItMebCwBF+ErHVw1iHf3Q=; 5:kjtRJOCA3Qd9+slGJwSoYW6r28QTiz3cA/ZxBmnlRcOAIhHVAwt7mlxpnMm2s+jpaCfWEHc2ZrjgzFJbsLS5zdm3HLKp3f91k8zX7Lgar15B+CUoCCkxHZLXcVPuTVbesGfFfPoyd4AwZrsPZmjapg2f7uubgjHrkBFJZWVJI2o=; 24:6Fgz5Bjb1dMsbkgZnwA0Elqe66EpemswYASo4WY7AZjL0PvQFofbMDGGHcNUYh6ZFZKbGEUz86ZAmTo/2iJw4ZEeYadePmPr2H95ThunrBc=; 7:elcsKQqABhJtJ/DqN9e44wOnsRbibcn2/58yGc5wy2DOYffTmBvK0CvCm0pAIHpy8WRMyVt8BYDYg12Z+jZbD8QxbtzbntGLfQzpIyn2VXYfCsVd/UCJ0Afc4Tps93c3sbeHraGa7RlumCuIuz9CiA0iaSd5V2RzNV2lYZIIl2wJIU7HoLgobyw+xUQ3OCFUE99h96At1lTbzDJRH0upM4qfsl9l+EdT0vBMDdyiZF/tS/HGKCEW4zWfByWf74Pr x-incomingheadercount: 47 x-eopattributedmessage: 0 x-microsoft-antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020020)(201702061074)(5061506573)(5061507331)(1603103135)(2017031320274)(2017031324274)(2017031323274)(2017031322404)(1601125374)(1603101448)(1701031045); SRVR:DM3NAM03HT067; x-ms-traffictypediagnostic: DM3NAM03HT067: x-ms-office365-filtering-correlation-id: b8c8e173-6f8b-41c0-b980-08d553e91903 x-exchange-antispam-report-cfa-test: BCL:0; PCL:0; RULEID:(444000031); SRVR:DM3NAM03HT067; BCL:0; PCL:0; RULEID:(100000803101)(100110400095); SRVR:DM3NAM03HT067; x-forefront-prvs: 05437568AA x-forefront-antispam-report: SFV:NSPM; SFS:(7070007)(98901004); DIR:OUT; SFP:1901; SCL:1; SRVR:DM3NAM03HT067; H:CO2PR19MB0137.namprd19.prod.outlook.com; FPR:; SPF:None; LANG:; spamdiagnosticoutput: 1:99 spamdiagnosticmetadata: NSPM MIME-Version: 1.0 X-OriginatorOrg: hotmail.com X-MS-Exchange-CrossTenant-Network-Message-Id: b8c8e173-6f8b-41c0-b980-08d553e91903 X-MS-Exchange-CrossTenant-originalarrivaltime: 05 Jan 2018 03:04:55.3703 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Internet X-MS-Exchange-CrossTenant-id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM3NAM03HT067 X-Content-Filtered-By: Mailman/MimeDel 2.1.23 Subject: =?UTF-8?B?562U5aSNOiBbUEFUQ0hdIFVlZmlDcHVQa2cvTXBJbml0TGliOiBmaXggd3JvbmcgYmFzZSBhZGRyZXNzIHNldCBhcyBTdGFjayBHdWFyZA==?= 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:59:51 -0000 Content-Language: zh-CN Content-Type: text/plain; charset="gb2312" Content-Transfer-Encoding: base64 Q29vbC4gUEkgU0NUIGlzIGJldHRlciBhbmQgZWFzaWVyLg0KDQpKZWZmDQoNCreivP7IyzogWWFv LCBKaWV3ZW48bWFpbHRvOmppZXdlbi55YW9AaW50ZWwuY29tPg0Kt6LLzcqxvOQ6IDIwMTjE6jHU wjXI1SAxMDo1OA0KytW8/sjLOiBXYW5nLCBKaWFuIEo8bWFpbHRvOmppYW4uai53YW5nQGludGVs LmNvbT47IEZhbiBKZWZmPG1haWx0bzp2YW5qZWZmXzkxOUBob3RtYWlsLmNvbT47IExhc3psbyBF cnNlazxtYWlsdG86bGVyc2VrQHJlZGhhdC5jb20+OyBlZGsyLWRldmVsQGxpc3RzLjAxLm9yZzxt YWlsdG86ZWRrMi1kZXZlbEBsaXN0cy4wMS5vcmc+DQqzrcvNOiBEb25nLCBFcmljPG1haWx0bzpl cmljLmRvbmdAaW50ZWwuY29tPg0K1vfM4jogUkU6IFtlZGsyXSBbUEFUQ0hdIFVlZmlDcHVQa2cv TXBJbml0TGliOiBmaXggd3JvbmcgYmFzZSBhZGRyZXNzIHNldCBhcyBTdGFjayBHdWFyZA0KDQpH b29kLiBJIGFsc28gc3VnZ2VzdCB3ZSBydW4gUEktU0NUIHRvIG1ha2Ugc3VyZSBpdCBpcyB3ZWxs IHRlc3RlZC4NCg0KVGhhbmsgeW91DQpZYW8gSmlld2VuDQoNCkZyb206IFdhbmcsIEppYW4gSg0K U2VudDogRnJpZGF5LCBKYW51YXJ5IDUsIDIwMTggMTA6NTYgQU0NClRvOiBGYW4gSmVmZiA8dmFu amVmZl85MTlAaG90bWFpbC5jb20+OyBMYXN6bG8gRXJzZWsgPGxlcnNla0ByZWRoYXQuY29tPjsg ZWRrMi1kZXZlbEBsaXN0cy4wMS5vcmcNCkNjOiBZYW8sIEppZXdlbiA8amlld2VuLnlhb0BpbnRl bC5jb20+OyBEb25nLCBFcmljIDxlcmljLmRvbmdAaW50ZWwuY29tPg0KU3ViamVjdDogUkU6IFtl ZGsyXSBbUEFUQ0hdIFVlZmlDcHVQa2cvTXBJbml0TGliOiBmaXggd3JvbmcgYmFzZSBhZGRyZXNz IHNldCBhcyBTdGFjayBHdWFyZA0KDQpHb3QgaXQuIE1hbnkgdGhhbmtzIQ0KDQpSZWdhcmRzLA0K Smlhbg0KDQpGcm9tOiBGYW4gSmVmZiBbbWFpbHRvOnZhbmplZmZfOTE5QGhvdG1haWwuY29tXQ0K U2VudDogRnJpZGF5LCBKYW51YXJ5IDA1LCAyMDE4IDEwOjUwIEFNDQpUbzogV2FuZywgSmlhbiBK IDxqaWFuLmoud2FuZ0BpbnRlbC5jb208bWFpbHRvOmppYW4uai53YW5nQGludGVsLmNvbT4+OyBM YXN6bG8gRXJzZWsgPGxlcnNla0ByZWRoYXQuY29tPG1haWx0bzpsZXJzZWtAcmVkaGF0LmNvbT4+ OyBlZGsyLWRldmVsQGxpc3RzLjAxLm9yZzxtYWlsdG86ZWRrMi1kZXZlbEBsaXN0cy4wMS5vcmc+ DQpDYzogWWFvLCBKaWV3ZW4gPGppZXdlbi55YW9AaW50ZWwuY29tPG1haWx0bzpqaWV3ZW4ueWFv QGludGVsLmNvbT4+OyBEb25nLCBFcmljIDxlcmljLmRvbmdAaW50ZWwuY29tPG1haWx0bzplcmlj LmRvbmdAaW50ZWwuY29tPj4NClN1YmplY3Q6ILTwuLQ6IFtlZGsyXSBbUEFUQ0hdIFVlZmlDcHVQ a2cvTXBJbml0TGliOiBmaXggd3JvbmcgYmFzZSBhZGRyZXNzIHNldCBhcyBTdGFjayBHdWFyZA0K DQpTb3JyeSwgRHVtcCB0aGUgQVBJQ0lELCBub3QgQ1BVSUQuDQoNCkplZmYNCg0Kt6K8/sjLOiBG YW4gSmVmZjxtYWlsdG86dmFuamVmZl85MTlAaG90bWFpbC5jb20+DQq3osvNyrG85DogMjAxOMTq MdTCNcjVIDEwOjQ4DQrK1bz+yMs6IFdhbmcsIEppYW4gSjxtYWlsdG86amlhbi5qLndhbmdAaW50 ZWwuY29tPjsgTGFzemxvIEVyc2VrPG1haWx0bzpsZXJzZWtAcmVkaGF0LmNvbT47IGVkazItZGV2 ZWxAbGlzdHMuMDEub3JnPG1haWx0bzplZGsyLWRldmVsQGxpc3RzLjAxLm9yZz4NCrOty806IFlh bywgSmlld2VuPG1haWx0bzpqaWV3ZW4ueWFvQGludGVsLmNvbT47IERvbmcsIEVyaWM8bWFpbHRv OmVyaWMuZG9uZ0BpbnRlbC5jb20+DQrW98ziOiC08Li0OiBbZWRrMl0gW1BBVENIXSBVZWZpQ3B1 UGtnL01wSW5pdExpYjogZml4IHdyb25nIGJhc2UgYWRkcmVzcyBzZXQgYXMgU3RhY2sgR3VhcmQN Cg0KWW91IG1heSB1c2UgTVAtPlN3aXRjaEJTUCgpIHRvIGRvIEJTUCBzd2l0Y2ggYW5kIHRoZW4g ZHVtcCBCU1Chr3MgQ1BVSUQgdG8ga25vdyBpZiB0aGUgc3dpdGNoIGlzIHN1Y2Nlc3NmdWxseS4N Cg0KSmVmZg0KDQoNCkZyb206IFdhbmcsIEppYW4gSiA8amlhbi5qLndhbmdAaW50ZWwuY29tPG1h aWx0bzpqaWFuLmoud2FuZ0BpbnRlbC5jb20+Pg0KU2VudDogRnJpZGF5LCBKYW51YXJ5IDUsIDIw MTggOTo1NzozMSBBTQ0KVG86IEZhbiBKZWZmOyBMYXN6bG8gRXJzZWs7IGVkazItZGV2ZWxAbGlz dHMuMDEub3JnPG1haWx0bzplZGsyLWRldmVsQGxpc3RzLjAxLm9yZz4NCkNjOiBZYW8sIEppZXdl bjsgRG9uZywgRXJpYw0KU3ViamVjdDogUkU6IFtlZGsyXSBbUEFUQ0hdIFVlZmlDcHVQa2cvTXBJ bml0TGliOiBmaXggd3JvbmcgYmFzZSBhZGRyZXNzIHNldCBhcyBTdGFjayBHdWFyZA0KDQpIaSBK ZWZmLA0KDQpEbyB5b3UgdGhpbmsgdGhlIGNoYW5nZSBpcyBPSz8gRG8geW91IGtub3cgaG93IHRv IHRlc3Qgc3dpdGNoaW5nIEJTUD8NCg0KUmVnYXJkcywNCkppYW4NCg0KRnJvbTogRmFuIEplZmYg W21haWx0bzp2YW5qZWZmXzkxOUBob3RtYWlsLmNvbV0NClNlbnQ6IEZyaWRheSwgSmFudWFyeSAw NSwgMjAxOCA5OjQwIEFNDQpUbzogTGFzemxvIEVyc2VrIDxsZXJzZWtAcmVkaGF0LmNvbTxtYWls dG86bGVyc2VrQHJlZGhhdC5jb20+PjsgV2FuZywgSmlhbiBKIDxqaWFuLmoud2FuZ0BpbnRlbC5j b208bWFpbHRvOmppYW4uai53YW5nQGludGVsLmNvbT4+OyBlZGsyLWRldmVsQGxpc3RzLjAxLm9y ZzxtYWlsdG86ZWRrMi1kZXZlbEBsaXN0cy4wMS5vcmc+DQpDYzogWWFvLCBKaWV3ZW4gPGppZXdl bi55YW9AaW50ZWwuY29tPG1haWx0bzpqaWV3ZW4ueWFvQGludGVsLmNvbT4+OyBEb25nLCBFcmlj IDxlcmljLmRvbmdAaW50ZWwuY29tPG1haWx0bzplcmljLmRvbmdAaW50ZWwuY29tPj4NClN1Ympl Y3Q6ILTwuLQ6IFtlZGsyXSBbUEFUQ0hdIFVlZmlDcHVQa2cvTXBJbml0TGliOiBmaXggd3Jvbmcg YmFzZSBhZGRyZXNzIHNldCBhcyBTdGFjayBHdWFyZA0KDQpMYXN6bG8sDQoNCkZpcnN0bHksIFN3 aXRjaEJTUCgpIGlzIG9uZSBzZXJ2aWNlIG9mIE1QIGRlZmluZWQgaW4gUEkgc3BlYy4NCg0KRm9y IHJlYWwgY2FzZSwgSSB0aGluayBtdWx0aXBsZSBzb2NrZXQgc3lzdGVtKHdpdGggZGlmZmVyZW50 IHByb2Nlc3NvciBzdGVwcGluZykgbWF5IHVzZSB0aGlzIHNlcnZpY2UgZm9yIHB1cnBvc2UuDQoN ClRoYW5rcyENCkplZmYNCg0Kt6K8/sjLOiBMYXN6bG8gRXJzZWs8bWFpbHRvOmxlcnNla0ByZWRo YXQuY29tPg0Kt6LLzcqxvOQ6IDIwMTjE6jHUwjTI1SAyMDoyMQ0KytW8/sjLOiBXYW5nLCBKaWFu IEo8bWFpbHRvOmppYW4uai53YW5nQGludGVsLmNvbT47IGVkazItZGV2ZWxAbGlzdHMuMDEub3Jn PG1haWx0bzplZGsyLWRldmVsQGxpc3RzLjAxLm9yZz4NCrOty806IFlhbywgSmlld2VuPG1haWx0 bzpqaWV3ZW4ueWFvQGludGVsLmNvbT47IERvbmcsIEVyaWM8bWFpbHRvOmVyaWMuZG9uZ0BpbnRl bC5jb20+DQrW98ziOiBSZTogW2VkazJdIFtQQVRDSF0gVWVmaUNwdVBrZy9NcEluaXRMaWI6IGZp eCB3cm9uZyBiYXNlIGFkZHJlc3Mgc2V0IGFzIFN0YWNrIEd1YXJkDQoNCk9uIDAxLzA0LzE4IDAy OjQ1LCBXYW5nLCBKaWFuIEogd3JvdGU6DQo+IEEgY29ycmVjdGlvbjogYWx0aG91Z2ggQlNQIGRv ZXNuJ3QgbmVlZCBpdCwgd2Ugc3RpbGwgbmVlZCB0byBpbml0aWFsaXplIGl0cyBBcFRvcE9mU3Rh Y2sNCj4gY29ycmVjdGx5IGJlY2F1c2UgdGhlIE1QIHNlcnZpY2Ugc3VwcG9ydHMgQlNQL0FQIGV4 Y2hhbmdlLiBTbyBJIHRoaW5rIHRoZSBsaW5lIDE1MDENCj4gc2hvdWxkIGJlIGNoYW5nZWQgdG8N Cj4NCj4gICBJbml0aWFsaXplQXBEYXRhIChDcHVNcERhdGEsIDAsIDAsIENwdU1wRGF0YS0+QnVm ZmVyICsgQ3B1TXBEYXRhLT5DcHVBcFN0YWNrU2l6ZSk7DQo+DQo+IGluc3RlYWQgb2YNCj4NCj4g ICBJbml0aWFsaXplQXBEYXRhIChDcHVNcERhdGEsIDAsIDAsIE5VTEwpOw0KDQpIbW0uLi4gQWx0 aG91Z2ggSSBkb24ndCBpbW1lZGlhdGVseSBzZWUgYWxsIHBvc3NpYmxlIGNvbnNlcXVlbmNlcyBv Zg0Kc3VjaCBhIGNoYW5nZSwgaXQgbG9va3MgbGlrZSBhIGNvcnJlY3QgZml4Lg0KDQpVbmZvcnR1 bmF0ZWx5LCBJIGRvbid0IGtub3cgb2YgYW55IGNvZGUgdGhhdCBhY3R1YWxseSBleGVyY2lzZXMg dGhlDQpCU1AvQVAgZXhjaGFuZ2Ugc2VydmljZS4gSSB0aGluayBJbnRlbCBtdXN0IGhhdmUgYWNj ZXNzIHRvIHNvbWUgY2xpZW50DQpjb2RlIGxpa2UgdGhpcywgYmVjYXVzZSBJIHZhZ3VlbHkgcmVj YWxsIHNvbWUgcGF0Y2hlcyBvdmVyIHRpbWUgdGhhdA0KaW1wcm92ZWQgQlNQL0FQIGV4Y2hhbmdl Lg0KDQpJZiB5b3UgbW9kaWZ5IHRoZSBJbml0aWFsaXplQXBEYXRhKCkgY2FsbCBpbiBxdWVzdGlv biBsaWtlIHN1Z2dlc3RlZA0KYWJvdmUsIGNhbiB5b3UgcGVyaGFwcyBsb2NhdGUgdGhhdCBjbGll bnQgY29kZSwgYW5kIHRlc3QgdGhlIGNoYW5nZSB3aXRoIGl0Pw0KDQpUaGFua3MhDQpMYXN6bG8N Cg0KDQo+PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPj4gRnJvbTogV2FuZywgSmlhbiBK DQo+PiBTZW50OiBUaHVyc2RheSwgSmFudWFyeSAwNCwgMjAxOCA5OjA5IEFNDQo+PiBUbzogV2Fu ZywgSmlhbiBKIDxqaWFuLmoud2FuZ0BpbnRlbC5jb208bWFpbHRvOmppYW4uai53YW5nQGludGVs LmNvbT4+OyBMYXN6bG8gRXJzZWsgPGxlcnNla0ByZWRoYXQuY29tPG1haWx0bzpsZXJzZWtAcmVk aGF0LmNvbT4+Ow0KPj4gZWRrMi1kZXZlbEBsaXN0cy4wMS5vcmc8bWFpbHRvOmVkazItZGV2ZWxA bGlzdHMuMDEub3JnPg0KPj4gQ2M6IFlhbywgSmlld2VuIDxqaWV3ZW4ueWFvQGludGVsLmNvbTxt YWlsdG86amlld2VuLnlhb0BpbnRlbC5jb20+PjsgRG9uZywgRXJpYyA8ZXJpYy5kb25nQGludGVs LmNvbTxtYWlsdG86ZXJpYy5kb25nQGludGVsLmNvbT4+DQo+PiBTdWJqZWN0OiBSRTogW2VkazJd IFtQQVRDSF0gVWVmaUNwdVBrZy9NcEluaXRMaWI6IGZpeCB3cm9uZyBiYXNlIGFkZHJlc3Mgc2V0 DQo+PiBhcyBTdGFjayBHdWFyZA0KPj4NCj4+IExhc3psbywNCj4+DQo+PiBNb3JlIGV4cGxhbmF0 aW9uczoNCj4+DQo+PiBbVWVmaUNwdVBrZ1xMaWJyYXJ5XE1wSW5pdExpYlxNcExpYi5jXQ0KPj4g QWNjb3JkaW5nIHRvIHRoZSBjb2RlLCB0aGUgQlNQJ3MgKENwdUluZm9JbkhvYlswXS5BcFRvcE9m U3RhY2spIGlzIGluaXRpYWxpemVkDQo+PiB0bw0KPj4gdGhlIGJvdHRvbSBvZiB0aGUgc3RhY2sg KGxpbmUgMTUwMSkgYnV0IEFQJ3MgQXBUb3BPZlN0YWNrIGlzIGNvcnJlY3RseSBpbml0aWFsaXpl ZA0KPj4gKGxpbmUgNTk4KS4gQWx0aG91Z2ggbXkgY2FsY3VsYXRpb24gaXMgY29ycmVjdCwgSSB0 aGluayBpdCdkIGJlIGJldHRlciB0byB1c2UgQVAncw0KPj4gQXBUb3BPZlN0YWNrIGRpcmVjdGx5 LiBGcm9tIHRoaXMgcGVyc3BlY3RpdmUsIHlvdSdyZSByaWdodC4NCj4+DQo+PiBNYXliZSBpdCdk IGJlIGJldHRlciB0byBwYXNzIGEgTlVMTCBwb2ludGVyIGF0IGxpbmUgMTUwMSBiZWNhdXNlIEJT UCBkb2Vzbid0DQo+PiBuZWVkDQo+PiBpdCBhbnl3YXkuDQo+Pg0KPj4gUmVnYXJkcywNCj4+IEpp YW4NCj4+DQo+Pg0KPj4+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+Pj4gRnJvbTogZWRr Mi1kZXZlbCBbbWFpbHRvOmVkazItZGV2ZWwtYm91bmNlc0BsaXN0cy4wMS5vcmddIE9uIEJlaGFs ZiBPZg0KPj4gV2FuZywNCj4+PiBKaWFuIEoNCj4+PiBTZW50OiBUaHVyc2RheSwgSmFudWFyeSAw NCwgMjAxOCA4OjQyIEFNDQo+Pj4gVG86IExhc3psbyBFcnNlayA8bGVyc2VrQHJlZGhhdC5jb208 bWFpbHRvOmxlcnNla0ByZWRoYXQuY29tPj47IGVkazItZGV2ZWxAbGlzdHMuMDEub3JnPG1haWx0 bzplZGsyLWRldmVsQGxpc3RzLjAxLm9yZz4NCj4+PiBDYzogWWFvLCBKaWV3ZW4gPGppZXdlbi55 YW9AaW50ZWwuY29tPG1haWx0bzpqaWV3ZW4ueWFvQGludGVsLmNvbT4+OyBEb25nLCBFcmljIDxl cmljLmRvbmdAaW50ZWwuY29tPG1haWx0bzplcmljLmRvbmdAaW50ZWwuY29tPj4NCj4+PiBTdWJq ZWN0OiBSZTogW2VkazJdIFtQQVRDSF0gVWVmaUNwdVBrZy9NcEluaXRMaWI6IGZpeCB3cm9uZyBi YXNlIGFkZHJlc3Mgc2V0DQo+Pj4gYXMgU3RhY2sgR3VhcmQNCj4+Pg0KPj4+IExhc3psbywNCj4+ Pg0KPj4+IEkgcmV2aXNpdGVkIGNvZGUgb2YgTXBJbml0TGliLiBJIGZvdW5kIHRoYXQgQ1BVX0lO Rk9fSU5fSE9CLkFwVG9wT2ZTdGFjaw0KPj4+IHdhcyBhc3NpZ25lZCB0byBDcHVNcERhdGEtPkJ1 ZmZlciBpbiBNcEluaXRMaWJJbml0aWFsaXplKCkNCj4+Pg0KPj4+IChsaW5lMTUwMSkgIEluaXRp YWxpemVBcERhdGEgKENwdU1wRGF0YSwgMCwgMCwgQ3B1TXBEYXRhLT5CdWZmZXIpOw0KPj4+DQo+ Pj4gYnV0IGluDQo+Pj4NCj4+PiAobGluZTU5OCkgIEFwVG9wT2ZTdGFjayAgPSBDcHVNcERhdGEt PkJ1ZmZlciArIChQcm9jZXNzb3JOdW1iZXIgKyAxKSAqDQo+Pj4gQ3B1TXBEYXRhLT5DcHVBcFN0 YWNrU2l6ZTsNCj4+PiAobGluZTYwOCkgIEluaXRpYWxpemVBcERhdGEgKENwdU1wRGF0YSwgUHJv Y2Vzc29yTnVtYmVyLCBCaXN0RGF0YSwNCj4+PiBBcFRvcE9mU3RhY2spOw0KPj4+DQo+Pj4gU2lu Y2UgSW5pdE1wR2xvYmFsRGF0YSgpIGlzIGNhbGxlZCBqdXN0IGFmdGVyIGZpcnN0IHNpdHVhdGlv biwgbXkgcGF0Y2ggaXMgY29ycmVjdC4NCj4+Pg0KPj4+IEkgdGhpbmsgdGhlIHByb2JsZW0gaGVy ZSBpcyB0aGF0IEFwVG9wT2ZTdGFjayBpbml0aWFsaXplZCBhdCBsaW5lIDE1MDEgaXMgbm90DQo+ Pj4gY29ycmVjdC4NCj4+Pg0KPj4+DQo+Pj4gUmVnYXJkcywNCj4+PiBKaWFuDQo+Pj4NCj4+Pg0K Pj4+PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPj4+PiBGcm9tOiBMYXN6bG8gRXJzZWsg W21haWx0bzpsZXJzZWtAcmVkaGF0LmNvbV0NCj4+Pj4gU2VudDogVGh1cnNkYXksIEphbnVhcnkg MDQsIDIwMTggMTozMyBBTQ0KPj4+PiBUbzogV2FuZywgSmlhbiBKIDxqaWFuLmoud2FuZ0BpbnRl bC5jb208bWFpbHRvOmppYW4uai53YW5nQGludGVsLmNvbT4+OyBlZGsyLWRldmVsQGxpc3RzLjAx Lm9yZzxtYWlsdG86ZWRrMi1kZXZlbEBsaXN0cy4wMS5vcmc+DQo+Pj4+IENjOiBZYW8sIEppZXdl biA8amlld2VuLnlhb0BpbnRlbC5jb208bWFpbHRvOmppZXdlbi55YW9AaW50ZWwuY29tPj47IERv bmcsIEVyaWMgPGVyaWMuZG9uZ0BpbnRlbC5jb208bWFpbHRvOmVyaWMuZG9uZ0BpbnRlbC5jb20+ PjsNCj4+Pj4gSmVmZiBGYW4gPHZhbmplZmZfOTE5QGhvdG1haWwuY29tPG1haWx0bzp2YW5qZWZm XzkxOUBob3RtYWlsLmNvbT4+DQo+Pj4+IFN1YmplY3Q6IFJlOiBbZWRrMl0gW1BBVENIXSBVZWZp Q3B1UGtnL01wSW5pdExpYjogZml4IHdyb25nIGJhc2UgYWRkcmVzcw0KPj4gc2V0DQo+Pj4+IGFz IFN0YWNrIEd1YXJkDQo+Pj4+DQo+Pj4+IChDQyBKZWZmKQ0KPj4+Pg0KPj4+PiBTb3JyeSBhYm91 dCB0aGUgZGVsYXkuDQo+Pj4+DQo+Pj4+IEkgaGF2ZSBzb21lIGxpZ2h0IGNvbW1lbnRzIGJlbG93 OyBJIGV4cGVjdCBhdCBsZWFzdCBhIGZldyBvZiB0aGVtIHRvIGJlDQo+Pj4+IGluY29ycmVjdCA6 KQ0KPj4+Pg0KPj4+PiBPbiAxMi8yOS8xNyAwOTozNiwgSmlhbiBKIFdhbmcgd3JvdGU6DQo+Pj4+ PiBUaGUgcmVhc29uIGlzIHRoYXQgRFhFIHBhcnQgaW5pdGlhbGl6YXRpb24gd2lsbCByZXVzZSB0 aGUgc3RhY2sgYWxsb2NhdGVkDQo+Pj4+PiBhdCBQRUkgcGhhc2UsIGlmIE1QIHdhcyBpbml0aWFs aXplZCBiZWZvcmUuIFNvbWUgY29kZSBhZGRlZCB0byBjaGVjayB0aGlzDQo+Pj4+PiBzaXR1YXRp b24gYW5kIHVzZSBzdGFjayBiYXNlIGFkZHJlc3Mgc2F2ZWQgaW4gSE9CIHBhc3NlZCBmcm9tIFBF SS4NCj4+Pj4+DQo+Pj4+PiBDYzogSmlld2VuIFlhbyA8amlld2VuLnlhb0BpbnRlbC5jb208bWFp bHRvOmppZXdlbi55YW9AaW50ZWwuY29tPj4NCj4+Pj4+IENjOiBFcmljIERvbmcgPGVyaWMuZG9u Z0BpbnRlbC5jb208bWFpbHRvOmVyaWMuZG9uZ0BpbnRlbC5jb20+Pg0KPj4+Pj4gQ2M6IExhc3ps byBFcnNlayA8bGVyc2VrQHJlZGhhdC5jb208bWFpbHRvOmxlcnNla0ByZWRoYXQuY29tPj4NCj4+ Pj4+IENvbnRyaWJ1dGVkLXVuZGVyOiBUaWFub0NvcmUgQ29udHJpYnV0aW9uIEFncmVlbWVudCAx LjENCj4+Pj4+IFNpZ25lZC1vZmYtYnk6IEppYW4gSiBXYW5nIDxqaWFuLmoud2FuZ0BpbnRlbC5j b208bWFpbHRvOmppYW4uai53YW5nQGludGVsLmNvbT4+DQo+Pj4+PiAtLS0NCj4+Pj4+ICBVZWZp Q3B1UGtnL0xpYnJhcnkvTXBJbml0TGliL0R4ZU1wTGliLmMgfCAxNyArKysrKysrKysrKysrKyst LQ0KPj4+Pj4gIDEgZmlsZSBjaGFuZ2VkLCAxNSBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygt KQ0KPj4+Pj4NCj4+Pj4+IGRpZmYgLS1naXQgYS9VZWZpQ3B1UGtnL0xpYnJhcnkvTXBJbml0TGli L0R4ZU1wTGliLmMNCj4+Pj4gYi9VZWZpQ3B1UGtnL0xpYnJhcnkvTXBJbml0TGliL0R4ZU1wTGli LmMNCj4+Pj4+IGluZGV4IDQwYzFiZjQwN2EuLjA1NDg0YzlmZjMgMTAwNjQ0DQo+Pj4+PiAtLS0g YS9VZWZpQ3B1UGtnL0xpYnJhcnkvTXBJbml0TGliL0R4ZU1wTGliLmMNCj4+Pj4+ICsrKyBiL1Vl ZmlDcHVQa2cvTGlicmFyeS9NcEluaXRMaWIvRHhlTXBMaWIuYw0KPj4+Pj4gQEAgLTI5NSw2ICsy OTUsNyBAQCBJbml0TXBHbG9iYWxEYXRhICgNCj4+Pj4+ICAgIFVJTlROICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIEluZGV4Ow0KPj4+Pj4gICAgRUZJX0dDRF9NRU1PUllfU1BBQ0VfREVT Q1JJUFRPUiAgICAgTWVtRGVzYzsNCj4+Pj4+ICAgIFVJTlROICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIFN0YWNrQmFzZTsNCj4+Pj4+ICsgIENQVV9JTkZPX0lOX0hPQiAgICAgICAgICAg ICAgICAgICAgICpDcHVJbmZvSW5Ib2I7DQo+Pj4+Pg0KPj4+Pj4gICAgU2F2ZUNwdU1wRGF0YSAo Q3B1TXBEYXRhKTsNCj4+Pj4+DQo+Pj4+PiBAQCAtMzE0LDkgKzMxNSwxOCBAQCBJbml0TXBHbG9i YWxEYXRhICgNCj4+Pj4+ICAgICAgICBBU1NFUlQgKEZBTFNFKTsNCj4+Pj4+ICAgICAgfQ0KPj4+ Pj4NCj4+Pj4+IC0gICAgZm9yIChJbmRleCA9IDA7IEluZGV4IDwgQ3B1TXBEYXRhLT5DcHVDb3Vu dDsgKytJbmRleCkgew0KPj4+Pj4gLSAgICAgIFN0YWNrQmFzZSA9IENwdU1wRGF0YS0+QnVmZmVy ICsgSW5kZXggKiBDcHVNcERhdGEtDQo+Pj4gQ3B1QXBTdGFja1NpemU7DQo+Pj4+PiArICAgIC8v DQo+Pj4+PiArICAgIC8vIERYRSB3aWxsIHJldXNlIHN0YWNrIGFsbG9jYXRlZCBmb3IgQVBzIGF0 IFBFSSBwaGFzZSBpZiBpdCdzIGF2YWlsYWJsZS4NCj4+Pj4+ICsgICAgLy8gTGV0J3MgY2hlY2sg aXQgaGVyZS4NCj4+Pj4+ICsgICAgLy8NCj4+Pj4+ICsgICAgQ3B1SW5mb0luSG9iID0gKENQVV9J TkZPX0lOX0hPQiAqKShVSU5UTilDcHVNcERhdGEtDQo+Pj4+PiBDcHVJbmZvSW5Ib2I7DQo+Pj4+ PiArICAgIGlmIChDcHVJbmZvSW5Ib2IgIT0gTlVMTCAmJiBDcHVJbmZvSW5Ib2ItPkFwVG9wT2ZT dGFjayAhPSAwKSB7DQo+Pj4+PiArICAgICAgU3RhY2tCYXNlID0gQ3B1SW5mb0luSG9iLT5BcFRv cE9mU3RhY2s7DQo+Pj4+PiArICAgIH0gZWxzZSB7DQo+Pj4+PiArICAgICAgU3RhY2tCYXNlID0g Q3B1TXBEYXRhLT5CdWZmZXI7DQo+Pj4+PiArICAgIH0NCj4+Pj4NCj4+Pj4gU28sIGlmIHRoZSBI T0IgaXMgbm90IGZvdW5kLCB0aGVuIFN0YWNrQmFzZSBpcyBzZXQgb2theS4NCj4+Pj4NCj4+Pj4g SG93ZXZlciwgSSdtIHVuc3VyZSBhYm91dCB0aGUgb3RoZXIgY2FzZS4gVGhlDQo+Pj4+IENQVV9J TkZPX0lOX0hPQi5BcFRvcE9mU3RhY2sgZmllbGQgaWRlbnRpZmllcyB0aGUgKnRvcCogb2YgdGhl IHN0YWNrDQo+Pj4+IChoaWdoZXN0IGFkZHJlc3MsIGFuZCB0aGUgc3RhY2sgZ3Jvd3MgZG93bik7 IGhvd2V2ZXIgdGhlIGxvb3AgYmVsb3cNCj4+Pj4gKmluY3JlbWVudHMqIFN0YWNrQmFzZS4gR2l2 ZW4gdGhlIGluY3JlbWVudGluZyBuYXR1cmUgb2YgdGhlIGxvb3AsDQo+Pj4+IHNob3VsZG4ndCB3 ZSBmaXJzdCBjYWxjdWxhdGUgdGhlIGFjdHVhbCBiYXNlICg9IGxvd2VzdCBhZGRyZXNzKSBmcm9t IHRoZQ0KPj4+PiBDUFVfSU5GT19JTl9IT0IuQXBUb3BPZlN0YWNrIGZpZWxkPw0KPj4+Pg0KPj4+ PiBBY3R1YWxseS4uLiBJJ20gZXZlbiBtb3JlIGNvbmZ1c2VkLiBUaGUgQ3B1TXBEYXRhLT5DcHVJ bmZvSW5Ib2IgZmllbGQNCj4+Pj4gcG9pbnRzIHRvIGFuICphcnJheSogb2YgQ1BVX0lORk9fSU5f SE9CIHN0cnVjdHVyZXMuIFRoZXJlZm9yZSwgZm9yIGFueQ0KPj4+PiBnaXZlbiBwcm9jZXNzb3Ig I04sIHdlIHNob3VsZCBub3QgY2FsY3VsYXRlIHRoZSBzdGFjayBiYXNlIGFzDQo+Pj4+DQo+Pj4+ ICAgQ3B1TXBEYXRhLT5DcHVJbmZvSW5Ib2ItPkFwVG9wT2ZTdGFjayArIE4gKiBDcHVNcERhdGEt DQo+Pj4+PiBDcHVBcFN0YWNrU2l6ZQ0KPj4+Pg0KPj4+PiBpbnN0ZWFkIHdlIHNob3VsZCBjYWxj dWxhdGUgdGhlIHN0YWNrIGJhc2UgYXMgc29tZXRoaW5nIGxpa2U6DQo+Pj4+DQo+Pj4+ICAgQ3B1 TXBEYXRhLT5DcHVJbmZvSW5Ib2JbTl0uQXBUb3BPZlN0YWNrIC0gQ3B1TXBEYXRhLQ0KPj4+IENw dUFwU3RhY2tTaXplDQo+Pj4+DQo+Pj4+IFNlZQ0KPj4+PiAtIHRoZSBJbml0aWFsaXplQXBEYXRh KCkgZnVuY3Rpb24sDQo+Pj4+IC0gYW5kIGl0cyBjYWxsIHNpdGUgaW4gdGhlIEFwV2FrZXVwRnVu Y3Rpb24oKSBmdW5jdGlvbi4NCj4+Pj4NCj4+Pj4gKFRvIG15IHN1cnByaXNlLCBJIHBlcnNvbmFs bHkgbW9kaWZpZWQgSW5pdGlhbGl6ZUFwRGF0YSgpIGVhcmxpZXIsIGluDQo+Pj4+IGNvbW1pdCBk ZDNmYTBjZDcyZGUgKCJVZWZpQ3B1UGtnL01wSW5pdExpYjogc3VwcG9ydCA2NC1iaXQgQVAgc3Rh Y2sNCj4+Pj4gYWRkcmVzc2VzIiwgMjAxNi0xMS0xNykgLS0gSSd2ZSB0b3RhbGx5IGZvcmdvdHRl biBhYm91dCB0aGF0IGJ5IG5vdyEpDQo+Pj4+DQo+Pj4+IFdoYXQgZG8geW91IHRoaW5rPw0KPj4+ Pg0KPj4+Pj4NCj4+Pj4+ICsgICAgZm9yIChJbmRleCA9IDA7IEluZGV4IDwgQ3B1TXBEYXRhLT5D cHVDb3VudDsgKytJbmRleCkgew0KPj4+Pj4gICAgICAgIFN0YXR1cyA9IGdEUy0+R2V0TWVtb3J5 U3BhY2VEZXNjcmlwdG9yIChTdGFja0Jhc2UsICZNZW1EZXNjKTsNCj4+Pj4+ICAgICAgICBBU1NF UlRfRUZJX0VSUk9SIChTdGF0dXMpOw0KPj4+Pj4NCj4+Pj4+IEBAIC0zMjYsNiArMzM2LDkgQEAg SW5pdE1wR2xvYmFsRGF0YSAoDQo+Pj4+PiAgICAgICAgICAgICAgICAgICAgICAgIE1lbURlc2Mu QXR0cmlidXRlcyB8IEVGSV9NRU1PUllfUlANCj4+Pj4+ICAgICAgICAgICAgICAgICAgICAgICAg KTsNCj4+Pj4+ICAgICAgICBBU1NFUlRfRUZJX0VSUk9SIChTdGF0dXMpOw0KPj4+Pj4gKw0KPj4+ Pj4gKyAgICAgIERFQlVHICgoREVCVUdfVkVSQk9TRSwgIlN0YWNrIEd1YXJkIHNldCBhdCAleCBb Y3B1JWRdIVxuIiwNCj4+Pj4gU3RhY2tCYXNlLCBJbmRleCkpOw0KPj4+Pg0KPj4+PiBTdGFja0Jh c2UgaGFzIHR5cGUgVUlOVE4sIGFuZCBzbyBpdCBzaG91bGQgbm90IGJlIHByaW50ZWQgd2l0aCAl eC4gSXQNCj4+Pj4gc2hvdWxkIGJlIGNhc3QgdG8gKFVJTlQ2NCksIGFuZCB0aGVuIHByaW50ZWQg d2l0aCAlTHguDQo+Pj4+DQo+Pj4+IFNpbWlsYXJseSwgSW5kZXggaGFzIHR5cGUgVUlOVE4uIEl0 IHNob3VsZCBub3QgYmUgcHJpbnRlZCB3aXRoICVkLiBJdA0KPj4+PiBzaG91bGQgYmUgY2FzdCB0 byAoVUlOVDY0KSBhbmQgcHJpbnRlZCB3aXRoICVMdS4NCj4+Pj4NCj4+Pj4NCj4+Pj4+ICsgICAg ICBTdGFja0Jhc2UgKz0gQ3B1TXBEYXRhLT5DcHVBcFN0YWNrU2l6ZTsNCj4+Pj4NCj4+Pj4gQWdh aW4sIEkgZG9uJ3QgdGhpbmsgdGhlIHNpbXBsZSBpbmNyZW1lbnQgYXBwbGllcyB3aGVuIHRoZQ0K Pj4+PiBDcHVNcERhdGEtPkNwdUluZm9JbkhvYiBhcnJheSBleGlzdHMuDQo+Pj4+DQo+Pj4+PiAg ICAgIH0NCj4+Pj4+ICAgIH0NCj4+Pj4+DQo+Pj4+Pg0KPj4+Pg0KPj4+PiBUaGFua3MsDQo+Pj4+ IExhc3psbw0KPj4+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fDQo+Pj4gZWRrMi1kZXZlbCBtYWlsaW5nIGxpc3QNCj4+PiBlZGsyLWRldmVsQGxpc3RzLjAx Lm9yZzxtYWlsdG86ZWRrMi1kZXZlbEBsaXN0cy4wMS5vcmc+DQo+Pj4gaHR0cHM6Ly9saXN0cy4w MS5vcmcvbWFpbG1hbi9saXN0aW5mby9lZGsyLWRldmVsDQoNCl9fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fDQplZGsyLWRldmVsIG1haWxpbmcgbGlzdA0KZWRr Mi1kZXZlbEBsaXN0cy4wMS5vcmc8bWFpbHRvOmVkazItZGV2ZWxAbGlzdHMuMDEub3JnPg0KaHR0 cHM6Ly9saXN0cy4wMS5vcmcvbWFpbG1hbi9saXN0aW5mby9lZGsyLWRldmVsDQoNCg0KDQo=