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.151; helo=mga17.intel.com; envelope-from=eric.dong@intel.com; receiver=edk2-devel@lists.01.org Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) (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 37E5E2116373F for ; Mon, 15 Oct 2018 18:39:09 -0700 (PDT) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga003.jf.intel.com ([10.7.209.27]) by fmsmga107.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 15 Oct 2018 18:39:08 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.54,386,1534834800"; d="scan'208";a="92275199" Received: from fmsmsx105.amr.corp.intel.com ([10.18.124.203]) by orsmga003.jf.intel.com with ESMTP; 15 Oct 2018 18:39:08 -0700 Received: from fmsmsx156.amr.corp.intel.com (10.18.116.74) by FMSMSX105.amr.corp.intel.com (10.18.124.203) with Microsoft SMTP Server (TLS) id 14.3.319.2; Mon, 15 Oct 2018 18:39:08 -0700 Received: from shsmsx103.ccr.corp.intel.com (10.239.4.69) by fmsmsx156.amr.corp.intel.com (10.18.116.74) with Microsoft SMTP Server (TLS) id 14.3.319.2; Mon, 15 Oct 2018 18:39:07 -0700 Received: from shsmsx102.ccr.corp.intel.com ([169.254.2.217]) by SHSMSX103.ccr.corp.intel.com ([169.254.4.245]) with mapi id 14.03.0319.002; Tue, 16 Oct 2018 09:39:06 +0800 From: "Dong, Eric" To: Laszlo Ersek , "edk2-devel@lists.01.org" CC: "Ni, Ruiyu" Thread-Topic: [Patch 0/4] Fix performance issue caused by Set MSR task. Thread-Index: AQHUZJ8Ez69Kybrp/kaAukKxxDRVUKUhEKdQ Date: Tue, 16 Oct 2018 01:39:04 +0000 Message-ID: References: <20181015024948.228-1-eric.dong@intel.com> <69fcdb2b-26ca-d786-f3e9-2080305afe02@redhat.com> In-Reply-To: <69fcdb2b-26ca-d786-f3e9-2080305afe02@redhat.com> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.239.127.40] MIME-Version: 1.0 Subject: Re: [Patch 0/4] Fix performance issue caused by Set MSR task. X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 16 Oct 2018 01:39:09 -0000 Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 SGkgTGFzemxvLA0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IExhc3ps byBFcnNlayBbbWFpbHRvOmxlcnNla0ByZWRoYXQuY29tXQ0KPiBTZW50OiBNb25kYXksIE9jdG9i ZXIgMTUsIDIwMTggMTE6NTIgUE0NCj4gVG86IERvbmcsIEVyaWMgPGVyaWMuZG9uZ0BpbnRlbC5j b20+OyBlZGsyLWRldmVsQGxpc3RzLjAxLm9yZw0KPiBDYzogTmksIFJ1aXl1IDxydWl5dS5uaUBp bnRlbC5jb20+DQo+IFN1YmplY3Q6IFJlOiBbUGF0Y2ggMC80XSBGaXggcGVyZm9ybWFuY2UgaXNz dWUgY2F1c2VkIGJ5IFNldCBNU1IgdGFzay4NCj4gDQo+IEhpIEVyaWMsDQo+IA0KPiBPbiAxMC8x NS8xOCAwNDo0OSwgRXJpYyBEb25nIHdyb3RlOg0KPiA+IEluIGEgc3lzdGVtIHdoaWNoIGhhcyBt dWx0aXBsZSBjb3JlcywgY3VycmVudCBzZXQgcmVnaXN0ZXIgdmFsdWUgdGFzayBjb3N0cw0KPiBo dWdlIHRpbWVzLg0KPiA+IEFmdGVyIGludmVzdGlnYXRpb24sIGN1cnJlbnQgc2V0IE1TUiB0YXNr IGNvc3RzIG1vc3Qgb2YgdGhlIHRpbWVzLg0KPiA+IEN1cnJlbnQgbG9naWMgdXNlcyBTcGluTG9j ayB0byBsZXQgc2V0IE1TUiB0YXNrIGFzIGFuIHNpbmdsZSB0aHJlYWQNCj4gPiB0YXNrIGZvciBh bGwgY29yZXMuIEJlY2F1c2UgTVNSIGhhcyBzY29wZSBhdHRyaWJ1dGUgd2hpY2ggbWF5IGNhdXNl IEdQDQo+ID4gZmF1bHQgaWYgbXVsdGlwbGUgQVBzIHNldCBNU1IgYXQgdGhlIHNhbWUgdGltZSwg Y3VycmVudCBsb2dpYyB1c2UgYW4NCj4gPiBlYXNpZXN0IHNvbHV0aW9uICh1c2UgU3BpbkxvY2sp IHRvIGF2b2lkIHRoaXMgaXNzdWUsIGJ1dCBpdCB3aWxsIGNvc3QgaHVnZSB0aW1lcy4NCj4gPg0K PiA+IEluIG9yZGVyIHRvIGZpeCB0aGlzIHBlcmZvcm1hbmNlIGlzc3VlLCBuZXcgc29sdXRpb24g d2lsbCBzZXQgTVNScw0KPiA+IGJhc2Ugb24gdGhlaXIgc2NvcGUgYXR0cmlidXRlLiBBZnRlciB0 aGlzLCB0aGUgU3BpbkxvY2sgd2lsbCBub3QNCj4gPiBuZWVkZWQuIFdpdGhvdXQgU3BpbkxvY2ss IG5ldyBpc3N1ZSByYWlzZWQgd2hpY2ggaXMgY2F1c2VkIGJ5IE1TUg0KPiA+IGRlcGVuZGVuY2Uu IEZvciBleGFtcGxlLCBNU1IgQSBkZXBlbmRzIG9uIE1TUiBCIHdoaWNoIG1lYW5zIE1TUiBBDQo+ IG11c3QNCj4gPiBiZWVuIHNldCBhZnRlciBNU1IgQiBoYXMgYmVlbiBzZXQuIEFsc28gTVNSIEIg aXMgcGFja2FnZSBzY29wZSBsZXZlbA0KPiA+IGFuZCBNU1IgQSBpcyB0aHJlYWQgc2NvcGUgbGV2 ZWwuIElmIHN5c3RlbSBoYXMgbXVsdGlwbGUgdGhyZWFkcywNCj4gPiBUaHJlYWQgMSBuZWVkcyB0 byBzZXQgdGhlIHRocmVhZCBsZXZlbCBNU1JzIGFuZCB0aHJlYWQgMiBuZWVkcyB0byBzZXQNCj4g dGhyZWFkIGFuZCBwYWNrYWdlIGxldmVsIE1TUnMuIFNldCBNU1JzIHRhc2sgZm9yIHRocmVhZCAx IGFuZCB0aHJlYWQgMiBsaWtlDQo+IGJlbG93Og0KPiA+DQo+ID4gICAgICAgICAgICAgVGhyZWFk IDEgICAgICAgICAgICAgICAgIFRocmVhZCAyDQo+ID4gTVNSIEIgICAgICAgICAgTiAgICAgICAg ICAgICAgICAgICAgICAgIFkNCj4gPiBNU1IgQSAgICAgICAgICBZICAgICAgICAgICAgICAgICAg ICAgICAgWQ0KPiA+DQo+ID4gSWYgZHJpdmVyIGRvbid0IGNvbnRyb2wgZXhlY3V0ZSBNU1Igb3Jk ZXIsIGZvciB0aHJlYWQgMSwgaXQgd2lsbA0KPiA+IGV4ZWN1dGUgTVNSIEEgZmlyc3QsIGJ1dCBh dCB0aGlzIHRpbWUsIE1TUiBCIG5vdCBiZWVuIGV4ZWN1dGVkIHlldCBieQ0KPiA+IHRocmVhZCAy LiBzeXN0ZW0gbWF5IHRyaWcgZXhjZXB0aW9uIGF0IHRoaXMgdGltZS4NCj4gPg0KPiA+IEluIG9y ZGVyIHRvIGZpeCB0aGUgYWJvdmUgaXNzdWUsIGRyaXZlciBpbnRyb2R1Y2VzIHNlbWFwaG9yZSBs b2dpYyB0bw0KPiA+IGNvbnRyb2wgdGhlIE1TUiBleGVjdXRlIHNlcXVlbmNlLiBGb3IgdGhlIGFi b3ZlIGNhc2UsIGEgc2VtYXBob3JlIHdpbGwNCj4gPiBiZSBhZGQgYmV0d2VlbiBNU1IgQSBhbmQg QiBmb3IgYWxsIHRocmVhZHMuIFNlbWFwaG9yZSBoYXMgc2NvcGUgaW5mbyBmb3INCj4gaXQuIFRo ZSBwb3NzaWJsZSBzY29wZSB2YWx1ZSBpcyBjb3JlIG9yIHBhY2thZ2UuDQo+ID4gRm9yIGVhY2gg dGhyZWFkLCB3aGVuIGl0IG1lZXRzIGEgc2VtYXBob3JlIGR1cmluZyBpdCBzZXQgcmVnaXN0ZXJz LCBpdA0KPiA+IHdpbGwgMSkgcmVsZWFzZSBzZW1hcGhvcmUgKCsxKSBmb3IgZWFjaCB0aHJlYWRz IGluIHRoaXMgY29yZSBvcg0KPiA+IHBhY2thZ2UoYmFzZWQgb24gdGhlIHNjb3BlIGluZm8gZm9y IHRoaXMNCj4gPiBzZW1hcGhvcmUpIDIpIGFjcXVpcmUgc2VtYXBob3JlICgtMSkgZm9yIGFsbCB0 aGUgdGhyZWFkcyBpbiB0aGlzIGNvcmUNCj4gPiBvciBwYWNrYWdlKGJhc2VkIG9uIHRoZSBzY29w ZSBpbmZvIGZvciB0aGlzIHNlbWFwaG9yZSkuIFdpdGggdGhlc2UgdHdvDQo+ID4gc3RlcHMsIGRy aXZlciBjYW4gY29udHJvbCBNU1Igc2VxdWVuY2UuIFNhbXBsZSBjb2RlIGxvZ2ljIGxpa2UgYmVs b3c6DQo+ID4NCj4gPiAgIC8vDQo+ID4gICAvLyBGaXJzdCBpbmNyZWFzZSBzZW1hcGhvcmUgY291 bnQgYnkgMSBmb3IgcHJvY2Vzc29ycyBpbiB0aGlzIHBhY2thZ2UuDQo+ID4gICAvLw0KPiA+ICAg Zm9yIChQcm9jZXNzb3JJbmRleCA9IDA7IFByb2Nlc3NvckluZGV4IDwgUGFja2FnZVRocmVhZHND b3VudCA7DQo+IFByb2Nlc3NvckluZGV4ICsrKSB7DQo+ID4gICAgIExpYlJlbGVhc2VTZW1hcGhv cmUgKChVSU5UMzIgKikgJlNlbWFwaG9yZVB0cltQYWNrYWdlT2Zmc2V0ICsNCj4gUHJvY2Vzc29y SW5kZXhdKTsNCj4gPiAgIH0NCj4gPiAgIC8vDQo+ID4gICAvLyBTZWNvbmQsIGNoZWNrIHdoZXRo ZXIgdGhlIGNvdW50IGhhcyByZWFjaCB0aGUgY2hlY2sgbnVtYmVyLg0KPiA+ICAgLy8NCj4gPiAg IGZvciAoUHJvY2Vzc29ySW5kZXggPSAwOyBQcm9jZXNzb3JJbmRleCA8IFZhbGlkQXBDb3VudDsg UHJvY2Vzc29ySW5kZXgNCj4gKyspIHsNCj4gPiAgICAgTGliV2FpdEZvclNlbWFwaG9yZSAoJlNl bWFwaG9yZVB0cltBcE9mZnNldF0pOw0KPiA+ICAgfQ0KPiA+DQo+ID4gUGxhdGZvcm0gUmVxdWly ZW1lbnQ6DQo+ID4gMS4gVGhpcyBjaGFuZ2UgcmVxdWlyZXMgcmVnaXN0ZXIgTVNSIHNldHRpbmcg YmFzZSBvbiBNU1Igc2NvcGUgaW5mby4gSWYgc3RpbGwNCj4gcmVnaXN0ZXIgTVNSDQo+ID4gICAg Zm9yIGFsbCB0aHJlYWRzLCBleGNlcHRpb24gbWF5IHJhaXNlZC4NCj4gDQo+IERvIHlvdSBtZWFu IHRoYXQgcGxhdGZvcm1zIGFyZSByZXNwb25zaWJsZSBmb3IgdXBkYXRpbmcgdGhlaXIgcmVnaXN0 ZXIgdGFibGVzDQo+IGluOg0KPiAtIEFDUElfQ1BVX0RBVEEuUHJlU21tSW5pdFJlZ2lzdGVyVGFi bGUsDQo+IC0gQUNQSV9DUFVfREFUQS5SZWdpc3RlclRhYmxlDQo+IA0KPiBzbyB0aGF0IHRoZSB0 YWJsZXMgdXRpbGl6ZSB0aGUgbmV3IFNlbWFwaG9yZSBSRUdJU1RFUl9UWVBFIGFzIGFwcHJvcHJp YXRlPw0KDQpZZXMsIHBsYXRmb3JtIHNob3VsZCBzZXQgTVNSIGluIHRoZXNlIHR3byB0YWJsZXMg YmFzZSBvbiBNU1IncyBzY29wZSBpbmZvLiBKdXN0IGxpa2UgaWYgdGhlIE1TUiBpcyBjb3JlIGxl dmVsLCB0aGlzIE1TUiBzaG91bGQgb24gYmVlbiBhZGQgdG8gdGhlIEFQIHdoaWNoIGNvbnRyb2wg dGhlIHJlbGF0ZWQgY29yZS4gDQpBbHNvIGlmIHR3byBNU1JzIGhhdmUgZGVwZW5kZW5jZSBhbmQg dGhleSBoYXZlIGRpZmZlcmVudCBzY29wZSBpbmZvLCBhIHNlbWFwaG9yZSBzaG91bGQgYmVlbiBh ZGRlZCBiZXR3ZWVuIHRoZXNlIHR3byBNU1JzLiANCg0KPiANCj4gPg0KPiA+IEtub3duIGxpbWl0 YXRpb246DQo+ID4gMS4gQ3VycmVudCBDcHVGZWF0dXJlcyBkcml2ZXIgc3VwcG9ydHMgRFhFIGlu c3RhbmNlIGFuZCBQRUkgaW5zdGFuY2UuIEJ1dA0KPiBzZW1hcGhvcmUgbG9naWMNCj4gPiAgICBy ZXF1aXJlcyBBcHMgZXhlY3V0ZSBpbiBhc3luYyBtb2RlIHdoaWNoIGlzIG5vdCBzdXBwb3J0ZWQg YnkgUEVJIGRyaXZlci4NCj4gU28gQ3B1RmVhdHVyZQ0KPiA+ICAgIFBFSSBpbnN0YW5jZSBub3Qg d29ya3MgYWZ0ZXIgdGhpcyBjaGFuZ2UuIFdlIHBsYW4gdG8gc3VwcG9ydCBhc3luYyBtb2RlDQo+ IGZvciBQRUkgaW4gcGhhc2UNCj4gPiAgICAyIGZvciB0aGlzIHRhc2suDQo+ID4gMi4gQ3VycmVu dCBleGVjdXRlIE1TUiB0YXNrIGNvZGUgaW4gZHVwbGljYXRlZCBpbiBQaVNtbUNwdUR4ZVNtbQ0K PiBkcml2ZXIgYW5kDQo+ID4gICAgUmVnaXN0ZXJDcHVGZWF0dXJlc0xpYiBsaWJyYXJ5IGJlY2F1 c2UgdGhlIHNjaGVkdWxlIGxpbWl0YXRpb24uDQo+IA0KPiBJIGRvbid0IHVuZGVyc3RhbmQgd2hh dCB5b3UgbWVhbiBieSAic2NoZWR1bGUgbGltaXRhdGlvbiIuIEFyZSB5b3UgYWxsdWRpbmcNCj4g dG8gdGhlIHVwY29taW5nIGVkazIgc3RhYmxlIHRhZyAoaW4gTm92ZW1iZXIpLCBvciBzb21lIG90 aGVyIHNjaGVkdWxlPw0KDQpZZXMsIEkgd2FudCB0byBpbmNsdWRlIHRoaXMgY2hhbmdlIGluIHRo ZSB1cGNvbWluZyBlZGsyIHN0YWJsZSB0YWcuIEJ1dCBJIGNhbid0IGZpbmlzaCBhbGwgdGhlc2Ug Y2hhbmdlcyBiZWZvcmUgaXQsIHNvIGZvciB0aGlzIHZlcnNpb24sIEkganVzdCBkdXBsaWNhdGUg dGhlIGNvZGUuDQoNCj4gDQo+ID4gICAgV2lsbCBtZXJnZSB0aGUgY29kZSB0bw0KPiA+ICAgIFJl Z2lzdGVyQ3B1RmVhdHVyZXNMaWIgYW5kIGV4cG9ydCBhcyBhbiBBUEkgaW4gcGhhc2UgMiBmb3Ig dGhpcyB0YXNrLg0KPiANCj4gV2hpbGUgSSBhZ3JlZSB0aGF0IGNvbW1vbiBjb2RlIChlc3BlY2lh bGx5IGNvbXBsZXggY29kZSBsaWtlIHRoaXMpIHNob3VsZA0KPiBiZWxvbmcgdG8gbGlicmFyaWVz LCB0aGVyZSBhcmUgcGxhdGZvcm1zIHRoYXQgY29uc3VtZSBQaVNtbUNwdUR4ZVNtbSwNCj4gYnV0 IGRvbid0IGNvbnN1bWUgUmVnaXN0ZXJDcHVGZWF0dXJlc0xpYiBpbiBhbnkgd2F5Lg0KPiANCj4g RG8geW91IHBsYW4gdG8gYWRkIHRoZSBuZXcgZnVuY3Rpb24ocykgdG8gYSBSZWdpc3RlckNwdUZl YXR1cmVzTGliIGluc3RhbmNlLA0KPiBhbmQgbWFrZSBQaVNtbUNwdUR4ZVNtbSBkZXBlbmRlbnQg b24gUmVnaXN0ZXJDcHVGZWF0dXJlc0xpYj8NCg0KWWVzLCBwbGFuIHRvIGV4cG9ydCBvbmUgbmV3 IEFQSSBpbiBSZWdpc3RlckNwdUZlYXR1cmVzTGliIHRvIGxldCBQaVNtbUNwdUR4ZVNtbSBkcml2 ZXIgdG8gY29uc3VtZSBpdC5cDQpUaGlzIEFQSSB1c2VkIHRvIHByb2dyYW0gdGhlIHJlZ2lzdGVy Lg0KDQo+IA0KPiBJZiBzbywgSSB0aGluayBpdCBjYW4gd29yaywgYnV0IHRoZW4gdGhlIFJlZ2lz dGVyQ3B1RmVhdHVyZXNMaWIgaW5zdGFuY2UgaW4NCj4gcXVlc3Rpb24gc2hvdWxkIGRvIG5vdGhp bmcgYXQgYWxsIGluIHRoZSBjb25zdHJ1Y3Rvci4gT24gcGxhdGZvcm1zIHRoYXQgZG9uJ3QNCj4g dXNlIHRoaXMgZmVhdHVyZSBhdCBhbGwgLS0gaS5lLiwgdGhlIFNlbWFwaG9yZSBSRUdJU1RFUl9U WVBFIC0tLCB0aGVyZSBzaG91bGQNCj4gYmUgbm8gaW1wYWN0Lg0KPiANCj4gKEJUVywgRHhlUmVn aXN0ZXJDcHVGZWF0dXJlc0xpYiBpcyBjdXJyZW50bHkgcmVzdHJpY3RlZCB0byBEWEVfRFJJVkVS DQo+IG1vZHVsZXMuKQ0KPiANCg0KVGhhbmtzIGZvciB5b3VyIGFkdmljZS4gWWVzLCBJIGhhdmUg ZGlkIHNvbWUgUE9DIGNvZGUgdG8gZXhwb3J0IHRoaXMgQVBJIGFuZCBhbHJlYWR5IG1ldCBzdWNo IGlzc3VlLiBJIGFsc28gbWV0IGEgZGVwZW5kZW5jZSBpc3N1ZS4NCkxldCdzIGRpc2N1c3MgdGhl c2UgaXNzdWUgd2hlbiBJIGRvIHRoYXQgY2hhbmdlcy4NCg0KPiA+IEV4dHJhIE5vdGVzOg0KPiA+ ICAgSSB3aWxsIHNlbmQgdGhlIG90aGVyIHBhdGNoIHRvIHNldCBNU1IgYmFzZSBvbiBzY29wZSBp bmZvIGFuZCBjaGVjayBpbiBpdA0KPiBiZWZvcmUgY2hlY2sgaW4NCj4gPiAgIHRoaXMgc2VyaWFs Lg0KPiANCj4gSSBkb24ndCB1bmRlcnN0YW5kLiBJIGFzc3VtZSB0aGF0IHlvdSBhcmUgcmVmZXJy aW5nIHRvIHNvbWUgY29uY3JldGUNCj4gcGxhdGZvcm0gKD8pIHdoZXJlIHRoZSBTZW1hcGhvcmUg UkVHSVNURVJfVFlQRSAqbXVzdCogYmUgdXNlZCwgaW4gb3JkZXINCj4gdG8gc3VjY2Vzc2Z1bGx5 IGJvb3QgKGFuZC9vciBwZXJmb3JtIFMzKSwgaWYgdGhpcyBzZXJpZXMgaXMgYXBwbGllZC4NCj4g DQo+IFdoYXQgcGxhdGZvcm0gaXMgdGhhdD8NCg0KWWVzLCBJIHVzZWQgYW4gaW50ZXJuYWwgcmVm ZXJlbmNlIHBsYXRmb3JtIHRvICB2ZXJpZnkgdGhlIGNoYW5nZXMuICBJIGhhdmUgZGlkIHNvbWUg Y2hhbmdlKFNldCBNU1IgYmFzZSBvbiBzY29wZSBpbmZvKSB0byB2ZXJpZnkgdGhlIHNvbHV0aW9u IGJ1dCBub3QgZmluYWxpemUgdGhlIGNoYW5nZSB5ZXQuIEkgY2hlY2tlZCB0aGUgYm9vdCByZXN1 bHQgYW5kIGNvbnNvbGUgbG9nIHRvIGNvbmZpcm1lZCB0aGUgY29kZSB3b3JrcyBhcyBleHBlY3Rh dGlvbi4gDQpXaGVuIEkgc2VuZCB0aGlzIHNlcmlhbCBjaGFuZ2VzLCBJJ20gbm90IGZpbmFsaXpl IFNldCBNU1IgYmFzZSBvbiBzY29wZSBpbmZvIGNoYW5nZSwgYnV0IEkgd2FudCB0byBjb2xsZWN0 IHlvdXIgZmVlZGJhY2sgZm9yIHRoaXMgc2VyaWFsIGFzIHNvb24gYXMgcG9zc2libGUgKEkgdGhp bmsgeW91IHdpbGwgYmUgdGhlIGZpcnN0IG9uZSB3aG8gd2lsbCByZXBseSB0aGlzIHNlcmlhbCks IHNvIEkgYWRkIHRoaXMgbm90ZSBhbmQgc2VuZCBvdXQgdGhpcyBzZXJpYWwuIE5vdyBJIGhhdmUg ZmluaXNoZWQgY29kZSBjaGFuZ2UgdG8gc2V0IE1TUnMgYmFzZSBvbiBpdHMgc2NvcGUgaW5mby4g SSB3aWxsIGluY2x1ZGUgdGhpcyBwYXRjaCB3aGVuIEkgc2VuZCB0aGUgIHYyIHBhdGNoIGZvciB0 aGlzIHNlcmlhbC4NCg0KPiANCj4gQW5kLCBpZiB0aGF0IG90aGVyIHBhdGNoIGlzIGluZGVlZCBh IHByZS1yZXF1aXNpdGUgZm9yICp0aGlzKiBzZXQgKG9uIHNvbWUNCj4gc3BlY2lmaWMgcGxhdGZv cm0gYW55d2F5KSwgdGhlbiBwZW9wbGUgb24gdGhhdCBwbGF0Zm9ybSB3aWxsIG5vdCBiZSBhYmxl IHRvDQo+IHRlc3QgdGhpcyBzZXJpZXMgdW50aWwgeW91IHBvc3QgdGhvc2UgcGF0Y2hlcy4NCj4g DQo+IE15IHBvaW50IGhlcmUgaXMgdGhhdCwgb24gdGhhdCBwbGF0Zm9ybSwgdGhlIHRlc3Rpbmcg Y2Fubm90IGJlIHBlcmZvcm1lZCBpbg0KPiBzZXBhcmF0aW9uLCBzbyBpdCdzIG5vdCBlbm91Z2gg dG8gZXN0YWJsaXNoIHRoZSByaWdodCBkZXBlbmRlbmN5IG9yZGVyICpqdXN0Kg0KPiBiZWZvcmUg Y2hlY2staW4uIEl0IHNob3VsZCBiZSBvZmZlcmVkIG9uIHRoZSBsaXN0IGFzIHdlbGwuDQo+IA0K PiBUaGFua3MsDQo+IExhc3psbw0KPiANCj4gPg0KPiA+IENjOiBSdWl5dSBOaSA8cnVpeXUubmlA aW50ZWwuY29tPg0KPiA+IENjOiBMYXN6bG8gRXJzZWsgPGxlcnNla0ByZWRoYXQuY29tPg0KPiA+ IENvbnRyaWJ1dGVkLXVuZGVyOiBUaWFub0NvcmUgQ29udHJpYnV0aW9uIEFncmVlbWVudCAxLjEN Cj4gPiBTaWduZWQtb2ZmLWJ5OiBFcmljIERvbmcgPGVyaWMuZG9uZ0BpbnRlbC5jb20+DQo+ID4N Cj4gPiBFcmljIERvbmcgKDQpOg0KPiA+ICAgVWVmaUNwdVBrZy9JbmNsdWRlL0FjcGlDcHVEYXRh Lmg6IEFkZCBTZW1hcGhvcmUgcmVsYXRlZCBJbmZvcm1hdGlvbi4NCj4gPiAgIFVlZmlDcHVQa2cv UmVnaXN0ZXJDcHVGZWF0dXJlc0xpYi5oOiBBZGQgbmV3IGRlcGVuZGVuY2UgdHlwZXMuDQo+ID4g ICBVZWZpQ3B1UGtnL1JlZ2lzdGVyQ3B1RmVhdHVyZXNMaWI6IEFkZCBsb2dpYyB0byBzdXBwb3J0 IHNlbWFwaG9yZQ0KPiA+ICAgICB0eXBlLg0KPiA+ICAgVWVmaUNwdVBrZy9QaVNtbUNwdUR4ZVNt bTogQWRkIGxvZ2ljIHRvIHN1cHBvcnQgc2VtYXBob3JlIHR5cGUuDQo+ID4NCj4gPiAgVWVmaUNw dVBrZy9JbmNsdWRlL0FjcGlDcHVEYXRhLmggICAgICAgICAgICAgICAgICAgfCAgMjMgKy0NCj4g PiAgLi4uL0luY2x1ZGUvTGlicmFyeS9SZWdpc3RlckNwdUZlYXR1cmVzTGliLmggICAgICAgfCAg MjUgKy0NCj4gPiAgLi4uL1JlZ2lzdGVyQ3B1RmVhdHVyZXNMaWIvQ3B1RmVhdHVyZXNJbml0aWFs aXplLmMgfCAzMjQgKysrKysrKysrKysrLS0tDQo+ID4gIC4uLi9EeGVSZWdpc3RlckNwdUZlYXR1 cmVzTGliLmMgICAgICAgICAgICAgICAgICAgIHwgIDcxICsrKy0NCj4gPiAgLi4uL0R4ZVJlZ2lz dGVyQ3B1RmVhdHVyZXNMaWIuaW5mICAgICAgICAgICAgICAgICAgfCAgIDMgKw0KPiA+ICAuLi4v UGVpUmVnaXN0ZXJDcHVGZWF0dXJlc0xpYi5jICAgICAgICAgICAgICAgICAgICB8ICA1NSArKy0N Cj4gPiAgLi4uL1BlaVJlZ2lzdGVyQ3B1RmVhdHVyZXNMaWIuaW5mICAgICAgICAgICAgICAgICAg fCAgIDEgKw0KPiA+ICAuLi4vUmVnaXN0ZXJDcHVGZWF0dXJlc0xpYi9SZWdpc3RlckNwdUZlYXR1 cmVzLmggICB8ICA1MSArKy0NCj4gPiAgLi4uL1JlZ2lzdGVyQ3B1RmVhdHVyZXNMaWIuYyAgICAg ICAgICAgICAgICAgICAgICAgfCA0NTIgKysrKysrKysrKysrKysrKysrLS0tDQo+ID4gIFVlZmlD cHVQa2cvUGlTbW1DcHVEeGVTbW0vQ3B1UzMuYyAgICAgICAgICAgICAgICAgIHwgMzE2ICsrKysr KystLS0tLS0tDQo+ID4gIFVlZmlDcHVQa2cvUGlTbW1DcHVEeGVTbW0vTXBTZXJ2aWNlLmMgICAg ICAgICAgICAgIHwgICAzIC0NCj4gPiAgVWVmaUNwdVBrZy9QaVNtbUNwdUR4ZVNtbS9QaVNtbUNw dUR4ZVNtbS5oICAgICAgICAgfCAgIDMgKy0NCj4gPiAgMTIgZmlsZXMgY2hhbmdlZCwgMTA2MyBp bnNlcnRpb25zKCspLCAyNjQgZGVsZXRpb25zKC0pDQo+ID4NCg0K