From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by mx.groups.io with SMTP id smtpd.web12.6317.1583928024444792168 for ; Wed, 11 Mar 2020 05:00:24 -0700 Authentication-Results: mx.groups.io; dkim=missing; spf=pass (domain: intel.com, ip: 134.134.136.24, mailfrom: jiewen.yao@intel.com) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga002.jf.intel.com ([10.7.209.21]) by orsmga102.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 11 Mar 2020 05:00:22 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.70,518,1574150400"; d="scan'208";a="261119934" Received: from fmsmsx103.amr.corp.intel.com ([10.18.124.201]) by orsmga002.jf.intel.com with ESMTP; 11 Mar 2020 05:00:22 -0700 Received: from fmsmsx152.amr.corp.intel.com (10.18.125.5) by FMSMSX103.amr.corp.intel.com (10.18.124.201) with Microsoft SMTP Server (TLS) id 14.3.439.0; Wed, 11 Mar 2020 05:00:20 -0700 Received: from shsmsx105.ccr.corp.intel.com (10.239.4.158) by FMSMSX152.amr.corp.intel.com (10.18.125.5) with Microsoft SMTP Server (TLS) id 14.3.439.0; Wed, 11 Mar 2020 05:00:20 -0700 Received: from shsmsx102.ccr.corp.intel.com ([169.254.2.50]) by SHSMSX105.ccr.corp.intel.com ([169.254.11.144]) with mapi id 14.03.0439.000; Wed, 11 Mar 2020 20:00:18 +0800 From: "Yao, Jiewen" To: Laszlo Ersek CC: edk2-devel-groups-io , "Ni, Ray" Subject: Re: WSMT bits Thread-Topic: WSMT bits Thread-Index: AQHV9r9vwDYpDkBZiUWd/Ivn+KgXsKhBUXsAgAFLjVCAAA15gIAAnijQ Date: Wed, 11 Mar 2020 12:00:17 +0000 Message-ID: <74D8A39837DF1E4DA445A8C0B3885C503F97BDC5@shsmsx102.ccr.corp.intel.com> References: <3c32815c-3ee9-261a-b473-1be341bdfb0c@redhat.com> <74D8A39837DF1E4DA445A8C0B3885C503F97B579@shsmsx102.ccr.corp.intel.com> <85cca7fb-ee64-317a-24b1-2a43e512b42d@redhat.com> In-Reply-To: <85cca7fb-ee64-317a-24b1-2a43e512b42d@redhat.com> Accept-Language: zh-CN, en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-product: dlpe-windows dlp-version: 11.2.0.6 dlp-reaction: no-action x-originating-ip: [10.239.127.40] MIME-Version: 1.0 Return-Path: jiewen.yao@intel.com Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 R3JlYXQgcXVlc3Rpb24gb24gQUNQSVJlY2xhaW0hDQpZZXMsIGl0IGlzIHRoZSBjb25mdXNpbmcg cGFydC4NCg0KMSkgUGVyIEFDUEkgc3BlY2lmaWNhdGlvbiwgQUNQSSByZWNsYWltIGlzIHRoZSBt ZW1vcnkgdG8gaG9sZCB0aGUgQUNQSSB0YWJsZS4NCkl0ICptYXkqIGJlIHJlY2xhaW1lZCBieSBP UyBhcyBPUyBtZW1vcnksIGFmdGVyIE9TIGNvcGllZCB0aGUgQUNQSSB0YWJsZSB0byBpdHMgb3du IGxvY2FsIHNwYWNlLg0KQXMgc3VjaCwgd2UgbmVlZCBtYWtlIHN1cmUgaXQgaXMgdHJlYXRlZCBh cyAqT1MgdXNhYmxlKiBtZW1vcnkuIFNvIHdlIGRvIG5vdCBhbGxvdyBTTU0gZHJpdmVyIHRvIHRv dWNoIGl0Lg0KDQoyKSBQZXIgb3VyIGV4cGVyaWVuY2UsIEFDUEkgcmVjbGFpbSAqbWF5KiBiZSB0 cmVhdGVkIGFzIHJlc2VydmVkIG1lbW9yeSBieSBzb21lIE9TLg0KT1MganVzdCBkb2VzIG5vdCB1 c2UgaXQuDQpBcyBzdWNoLCB3ZSBuZWVkIGdyb3VwIHRoZW0gaW4gdGhlIEJJTiB0byBub3QgbGVh dmUgdG9vIG1hbnkgaG9sZXMgZm9yIE9TLiBTbyB3ZSBuZWVkIHRyYWNrIGl0IGluIE1lbW9yeVR5 cGVJbmZvLg0KDQoNCllvdSBtYXkgcmVmZXIgdG8gaHR0cHM6Ly9naXRodWIuY29tL3RpYW5vY29y ZS9lZGsyLXBsYXRmb3Jtcy9ibG9iL21hc3Rlci9QbGF0Zm9ybS9JbnRlbC9NaW5QbGF0Zm9ybVBr Zy9QbGF0Zm9ybUluaXQvUGxhdGZvcm1Jbml0UGVpL1BsYXRmb3JtSW5pdFByZU1lbS5jDQpCZWxv dyBpcyBvdXIgcGxhdGZvcm0gdGVtcGxhdGUuDQpHTE9CQUxfUkVNT1ZFX0lGX1VOUkVGRVJFTkNF RCBFRklfTUVNT1JZX1RZUEVfSU5GT1JNQVRJT04gbURlZmF1bHRNZW1vcnlUeXBlSW5mb3JtYXRp b25bXSA9IHsNCiAgeyBFZmlBQ1BJUmVjbGFpbU1lbW9yeSwgICBGaXhlZFBjZEdldDMyIChQY2RQ bGF0Zm9ybUVmaUFjcGlSZWNsYWltTWVtb3J5U2l6ZSkgfSwgIC8vIEFTTA0KICB7IEVmaUFDUElN ZW1vcnlOVlMsICAgICAgIEZpeGVkUGNkR2V0MzIgKFBjZFBsYXRmb3JtRWZpQWNwaU52c01lbW9y eVNpemUpIH0sICAgICAgLy8gQUNQSSBOVlMgKGluY2x1ZGluZyBTMyByZWxhdGVkKQ0KICB7IEVm aVJlc2VydmVkTWVtb3J5VHlwZSwgIEZpeGVkUGNkR2V0MzIgKFBjZFBsYXRmb3JtRWZpUmVzZXJ2 ZWRNZW1vcnlTaXplKSB9LCAgICAgLy8gQklPUyBSZXNlcnZlZCAoaW5jbHVkaW5nIFMzIHJlbGF0 ZWQpDQogIHsgRWZpUnVudGltZVNlcnZpY2VzRGF0YSwgRml4ZWRQY2RHZXQzMiAoUGNkUGxhdGZv cm1FZmlSdERhdGFNZW1vcnlTaXplKSB9LCAgICAgICAvLyBSdW50aW1lIFNlcnZpY2UgRGF0YQ0K ICB7IEVmaVJ1bnRpbWVTZXJ2aWNlc0NvZGUsIEZpeGVkUGNkR2V0MzIgKFBjZFBsYXRmb3JtRWZp UnRDb2RlTWVtb3J5U2l6ZSkgfSwgICAgICAgLy8gUnVudGltZSBTZXJ2aWNlIENvZGUNCiAgeyBF ZmlNYXhNZW1vcnlUeXBlLCAwIH0NCn07DQoNClRoYW5rIHlvdQ0KWWFvIEppZXdlbg0KDQo+IC0t LS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IExhc3psbyBFcnNlayA8bGVyc2VrQHJl ZGhhdC5jb20+DQo+IFNlbnQ6IFdlZG5lc2RheSwgTWFyY2ggMTEsIDIwMjAgNjoyMyBQTQ0KPiBU bzogWWFvLCBKaWV3ZW4gPGppZXdlbi55YW9AaW50ZWwuY29tPg0KPiBDYzogZWRrMi1kZXZlbC1n cm91cHMtaW8gPGRldmVsQGVkazIuZ3JvdXBzLmlvPjsgTmksIFJheSA8cmF5Lm5pQGludGVsLmNv bT4NCj4gU3ViamVjdDogUmU6IFdTTVQgYml0cw0KPiANCj4gT24gMDMvMTEvMjAgMDM6MDEsIFlh bywgSmlld2VuIHdyb3RlOg0KPiA+IFRoYW5rcyBMYXN6bG8uIEkgYW0gZ2xhZCB0aGF0IHlvdSBs aWtlIHRoZSB3aGl0ZXBhcGVyLg0KPiA+DQo+ID4gUmlnaHQuIFRoZSBwbGF0Zm9ybSBzaG91bGQg YXNzZXJ0IHRoZSBXU01UIGJpdCwgYmVjYXVzZSB0aGUgcGxhdGZvcm0gbmVlZA0KPiBtYWtlIHN1 cmUgdGhhdCBhbGwgU01JIGhhbmRsZXJzIGRvIHJpZ2h0IHRoaW5nIGZvciBTTU0gY29tbXVuaWNh dGlvbiBidWZmZXIuDQo+ID4gVXNpbmcgUGNkQ3B1U21tUmVzdHJpY3RlZE1lbW9yeUFjY2VzcyBp cyBhIGdvb2Qgd2F5IHRvIGVuc3VyZSBhbnkNCj4gdmlvbGF0aW9uIGNhbiBiZSBjYXVnaHQuIEl0 IGlzIGhpZ2hseSByZWNvbW1lbmQsIHVubGVzcyBpdCBjb25mbGljdHMgd2l0aCBzb21lDQo+IG90 aGVyIGZlYXR1cmVzIHN1Y2ggYXMgaGVhcCBndWFyZCBkZWJ1Zywgb3Igc2VydmVyIG1lbW9yeSBo b3RwbHVnLg0KPiANCj4gVGhhbmtzIGZvciB5b3VyIGFuc3dlciEgQW5kIHllcywgUGNkQ3B1U21t UmVzdHJpY3RlZE1lbW9yeUFjY2VzcyBpcyBUUlVFDQo+IGluIE9WTUYuIChJbmhlcml0aW5nIHRo ZSBERUMgZGVmYXVsdC4pDQo+IA0KPiA+DQo+ID4gSSByZWNvbW1lbmQgd2Uga2VlcCBNZW1vcnlU eXBlSW5mbyBhcyBhIHNlcGFyYXRlIHRvcGljIGZvcg0KPiBodHRwczovL2J1Z3ppbGxhLnRpYW5v Y29yZS5vcmcvc2hvd19idWcuY2dpP2lkPTEwODYNCj4gPiBJIHN0aWxsIHRoaW5rIG1lbW9yeSB0 eXBlIGluZm9ybWF0aW9uIHNob3VsZCBiZSB1c2VkIC0gMS4zLjIuDQo+IA0KPiBSaWdodC4gSW4g dGhlIGVuZCwgSSBwb3N0ZWQgYW4gT3ZtZlBrZyBwYXRjaCBzZXJpZXMgeWVzdGVyZGF5LCBmb3IN Cj4gY292ZXJpbmcgcG9pbnQgKDEuMy4yKSAtLSBhZGFwdGl2ZSBNZW1vcnlUeXBlSW5mbzoNCj4g DQo+IFtlZGsyLWRldmVsXSBbUEFUQ0ggMC81XQ0KPiBPdm1mUGtnOiBpbXByb3ZlIFNNTSBjb21t cyBzZWN1cml0eSB3aXRoIGFkYXB0aXZlIE1lbW9yeVR5cGVJbmZvcm1hdGlvbg0KPiANCj4gaHR0 cDovL21pZC5tYWlsLWFyY2hpdmUuY29tLzIwMjAwMzEwMjIyNzM5LjI2NzE3LTEtbGVyc2VrQHJl ZGhhdC5jb20NCj4gaHR0cHM6Ly9lZGsyLmdyb3Vwcy5pby9nL2RldmVsL21lc3NhZ2UvNTU3MjYN Cj4gDQo+IEkgZGVjaWRlZCB0aGF0IFRpYW5vQ29yZSMxMDg2IHNob3VsZCBub3QgYmUgY29uc2lk ZXJlZCBhIGJsb2NrZXIgZm9yDQo+IHRoaXMgZmVhdHVyZS4gTXkgcmVhc29uaW5nIGlzIGNhcHR1 cmVkIGhlcmU6DQo+IA0KPiBodHRwczovL2J1Z3ppbGxhLnRpYW5vY29yZS5vcmcvc2hvd19idWcu Y2dpP2lkPTM4NiNjMTUNCj4gDQo+ID4gSSBqdXN0IGRvIG5vdCB1bmRlcnN0YW5kIHdlbGwgZW5v dWdoIG9uIHlvdXIgY29tbWVudCAtICIgT1ZNRiBjYW4gYmUNCj4gYm9vdGVkIHdpdGggMTI4IE1p QiBSQU0gYW5kIDEgVGlCIFJBTSBqdXN0IHRoZSBzYW1lLCBhbmQgc28gYSBwbGF0Zm9ybSBQRUlN DQo+IGNhbm5vdCB0ZWxsLCBpbiBhZHZhbmNlLCB3aGF0IGlzIGEgdmFsaWQgTWVtb3J5IFR5cGUg SW5mb3JtYXRpb24gdmFyaWFibGUgdGhhdA0KPiB0aGUgRFhFIGNvcmUgd2lsbCBhY2NlcHQgLi4u Ig0KPiA+IFlvdSBhcmUgcmlnaHQgdGhhdCBPVk1GIGNhbiBib290IHdpdGggMTI4TUIgb3IgMVRC LiBCdXQgdGhhdCBpcyBhbGwgRFJBTSwNCj4gcmlnaHQ/DQo+ID4gQklOIHNpemUgc2hvdWxkIGJl IHNhbWUsIGJlY2F1c2UgQklOIG9ubHkgaW5jbHVkZXMgUnVudGltZS9BQ1BJL1Jlc2VydmVkDQo+ IG1lbW9yeS4gVGhhdCBpcyBubyByZWFzb24gdG8gbWFrZSB0aGVtIGRpZmZlcmVudCBiZXR3ZWVu IDEyOE1CIGFuZCAxVEIuDQo+ID4gT3IgZG8gSSBtaXN1bmRlcnN0YW5kIHNvbWV0aGluZz8gV291 bGQgeW91IHBsZWFzZSBlZHVjYXRlIG1lIHdoeSB0aGV5IGFyZQ0KPiBkaWZmZXJlbnQ/DQo+IA0K PiBUaGlzIGlzIGEgZ3JlYXQgcG9pbnQsIGFuZCBJIHJlbWVtYmVyIHRoYXQgYm90aCBvZiB5b3Vy IHdoaXRlIHBhcGVycw0KPiAoIk1lbW9yeSBNYXAgYW5kIFByYWN0aWNlcyBpbiBVRUZJIEJJT1Mi LCBhbmQgIlNlY3VyZSBTTU0NCj4gQ29tbXVuaWNhdGlvbiIpIHJlY29tbWVuZCB0aGF0IG9ubHkg UnVudGltZS9BQ1BJL1Jlc2VydmVkIG1lbW9yeSBiZQ0KPiB0cmFja2VkIGJ5IE1lbW9yeVR5cGVJ bmZvLiBUaGF0IHdpbGwgaW5kZWVkIG1ha2UgdGhlIGd1ZXN0IFJBTSBzaXplDQo+IGlycmVsZXZh bnQuDQo+IA0KPiBGb3Igbm93LCB0aGUgc2VyaWVzIHRoYXQgSSBwb3N0ZWQsIHN0aWNrcyB3aXRo IHRoZSAqcHJlLWV4aXN0ZW50KiBPVk1GDQo+IHByYWN0aWNlIHRoYXQgYm9vdCBzZXJ2aWNlcyBk YXRhL2NvZGUgdG9vIGFyZSB0cmFja2VkIGJ5IE1lbW9yeVR5cGVJbmZvOg0KPiANCj4gICB7IEVm aUFDUElNZW1vcnlOVlMsICAgICAgIDB4MDA0IH0sDQo+ICAgeyBFZmlBQ1BJUmVjbGFpbU1lbW9y eSwgICAweDAwOCB9LA0KPiAgIHsgRWZpUmVzZXJ2ZWRNZW1vcnlUeXBlLCAgMHgwMDQgfSwNCj4g ICB7IEVmaVJ1bnRpbWVTZXJ2aWNlc0RhdGEsIDB4MDI0IH0sDQo+ICAgeyBFZmlSdW50aW1lU2Vy dmljZXNDb2RlLCAweDAzMCB9LA0KPiAgIHsgRWZpQm9vdFNlcnZpY2VzQ29kZSwgICAgMHgxODAg fSwNCj4gICB7IEVmaUJvb3RTZXJ2aWNlc0RhdGEsICAgIDB4RjAwIH0sDQo+ICAgeyBFZmlNYXhN ZW1vcnlUeXBlLCAgICAgICAweDAwMCB9DQo+IA0KPiBJIGRpZG4ndCB3YW50IHRvIGRpdmVyZ2Ug ZnJvbSB0aGF0IHByYWN0aWNlIGF0IG9uY2UsIGluIHRoZSBjdXJyZW50DQo+IHBhdGNoIHNlcmll cy4NCj4gDQo+IEknZCBsaWtlIHRvIGFkb3B0IHRoZSByZWNvbW1lbmRhdGlvbiBmcm9tIHRoZSB3 aGl0ZSBwYXBlcnMgLS0gaS5lLiwgc3RvcA0KPiB0cmFja2luZyBFZmlBQ1BJUmVjbGFpbU1lbW9y eSwgRWZpQm9vdFNlcnZpY2VzQ29kZSwgYW5kDQo+IEVmaUJvb3RTZXJ2aWNlc0RhdGEgLS0gYXMg YSBzZXBhcmF0ZSB3b3JrIGl0ZW0uDQo+IA0KPiBBY3R1YWxseSwgY2FuIHlvdSBwbGVhc2UgY2xh cmlmeTogdGhlICJTZWN1cmUgU01NIENvbW11bmljYXRpb24iIGRvZXMNCj4gbm90IHJlY29tbWVu ZCB0cmFja2luZyBFZmlBQ1BJUmVjbGFpbU1lbW9yeSwgYnV0ICJNZW1vcnkgTWFwIGFuZA0KPiBQ cmFjdGljZXMgaW4gVUVGSSBCSU9TIiBkb2VzLiBTbyB3aGF0IGlzIHRoZSByaWdodCB0aGluZyB0 byBkbywgc2hvdWxkDQo+IHdlIGNvbnRpbnVlIHRyYWNraW5nIEVmaUFDUElSZWNsYWltTWVtb3J5 Pw0KPiANCj4gQW55d2F5LCBsZXQgbWUgdGhhbmsgeW91IHZlcnkgbXVjaCwgYXMgSSBkaWRuJ3Qg bWFrZSB0aGUgY29ubmVjdGlvbg0KPiBteXNlbGYgdGhhdCBSdW50aW1lL0FDUEkvUmVzZXJ2ZWQg YXJlIG5vdCBleHBlY3RlZCB0byAqc2NhbGUqIHdpdGggdGhlDQo+IGd1ZXN0IFJBTSBzaXplLCBl dmVuIGlmIHRoZSBCUyBhbmQgTG9hZGVyIG1lbW9yeSBmb290cHJpbnQgb2YgdmFyaW91cw0KPiBV RUZJIGFwcGxpY2F0aW9ucyAvIGRyaXZlcnMgY291bGQuDQo+IA0KPiBDaGVlcnMhDQo+IExhc3ps bw0KPiANCj4gPg0KPiA+IFRoYW5rIHlvdQ0KPiA+IFlhbyBKaWV3ZW4NCj4gPg0KPiA+DQo+ID4+ IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ID4+IEZyb206IExhc3psbyBFcnNlayA8bGVy c2VrQHJlZGhhdC5jb20+DQo+ID4+IFNlbnQ6IFR1ZXNkYXksIE1hcmNoIDEwLCAyMDIwIDk6NDgg UE0NCj4gPj4gVG86IFlhbywgSmlld2VuIDxqaWV3ZW4ueWFvQGludGVsLmNvbT4NCj4gPj4gQ2M6 IGVkazItZGV2ZWwtZ3JvdXBzLWlvIDxkZXZlbEBlZGsyLmdyb3Vwcy5pbz47IE5pLCBSYXkNCj4g PHJheS5uaUBpbnRlbC5jb20+DQo+ID4+IFN1YmplY3Q6IFJlOiBXU01UIGJpdHMNCj4gPj4NCj4g Pj4gSGkgYWdhaW4gSmlld2VuLA0KPiA+Pg0KPiA+PiBPbiAwMy8xMC8yMCAxMDozNiwgTGFzemxv IEVyc2VrIHdyb3RlOg0KPiA+Pj4gSGkgSmlld2VuLA0KPiA+Pj4NCj4gPj4+IHJlYWRpbmcgdGhl IGZvbGxvd2luZyBjaGFwdGVyOg0KPiA+Pj4NCj4gPj4+ICAgaHR0cHM6Ly9lZGsyLWRvY3MuZ2l0 Ym9va3MuaW8vYS10b3VyLWJleW9uZC1iaW9zLW1lbW9yeS1wcm90ZWN0aW9uLWluLQ0KPiA+PiB1 ZWZpLWJpb3MvY29udGVudC9tZW1vcnktcHJvdGVjdGlvbi1pbi1TTU0uaHRtbA0KPiA+Pj4NCj4g Pj4+IEknbSBoYXZpbmcgdHJvdWJsZSBhc3NvY2lhdGluZyB0aGUgcHJvdGVjdGlvbiBmZWF0dXJl cyBpbXBsZW1lbnRlZCBpbg0KPiA+Pj4gZWRrMiB3aXRoIHRoZSB2YXJpb3VzIGJpdHMgaW4gdGhl IFdTTVQgKHBlcg0KPiA+Pj4NCj4gIk1kZVBrZy9JbmNsdWRlL0luZHVzdHJ5U3RhbmRhcmQvV2lu ZG93c1NtbVNlY3VyaXR5TWl0aWdhdGlvblRhYmxlLmgiKS4NCj4gPj4+DQo+ID4+PiBGb3IgZXhh bXBsZSwgaXQgc2VlbXMgbGlrZSB0aGUgYml0cyBhIHBsYXRmb3JtIHNldHMgaW4gdGhlIFdTTVQg Km1pZ2h0Kg0KPiA+Pj4gZGVwZW5kIG9uICJQY2RDcHVTbW1SZXN0cmljdGVkTWVtb3J5QWNjZXNz Ii4NCj4gPj4+DQo+ID4+PiBDYW4gc29tZW9uZSBjbGFyaWZ5IHRoZXNlIHBsZWFzZT8NCj4gPj4+ DQo+ID4+Pg0KPiA+Pj4gRldJVywgaW4gdGhlIGVkazItcGxhdGZvcm1zIHRyZWUsIHRoZQ0KPiA+ Pj4gIlBsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL0FjcGlQbGF0Zm9ybS9BY3BpUGxh dGZvcm0uYyIgc291cmNlDQo+ID4+PiBmaWxlIHNldHMgRUZJX1dTTVRfUFJPVEVDVElPTl9GTEFH U19GSVhFRF9DT01NX0JVRkZFUlMgYW5kDQo+ID4+Pg0KPiA+Pg0KPiBFRklfV1NNVF9QUk9URUNU SU9OX0ZMQUdTX0NPTU1fQlVGRkVSX05FU1RFRF9QVFJfUFJPVEVDVElPTi4NCj4gPj4gSXQgZG9l cyBub3QNCj4gPj4+IHNldCBFRklfV1NNVF9QUk9URUNUSU9OX0ZMQUdTX1NZU1RFTV9SRVNPVVJD RV9QUk9URUNUSU9OLg0KPiA+Pj4NCj4gPj4+IElzIHRoaXMgYml0bWFzayAoZnJvbSBWbHYyVGJs dERldmljZVBrZykgdGhlIGdlbmVyYWwgcGF0dGVybiB0aGF0IG90aGVyDQo+ID4+PiBlZGsyIHBs YXRmb3JtcyB3aXRoIFNNTSBzdXBwb3J0IHNob3VsZCBleHBvc2UgdG9vLCBhcyBhIHN0YXJ0aW5n IHBvaW50Pw0KPiA+Pg0KPiA+PiBJIGhhdmUgbm93IHJlYWQgYW5vdGhlciB3aGl0ZXBhcGVyIGZy b20geW91Og0KPiA+Pg0KPiA+PiAgIEEgVG91ciBCZXlvbmQgQklPUw0KPiA+PiAgIFNlY3VyZSBT TU0gQ29tbXVuaWNhdGlvbiBpbiB0aGUgRUZJIERldmVsb3BlciBLaXQgSUkNCj4gPj4NCj4gPj4g SXQncyBhIGdyZWF0IHdoaXRlcGFwZXIsIGl0IGFuc3dlcnMgYWxsIG15IHF1ZXN0aW9ucy4gQmFz ZWQgb24gaXQsIEkNCj4gPj4gdGhpbmsgdGhhdCBPVk1GIHNob3VsZCBlbmFibGUgYWxsIHRocmVl IGJpdHMgaW4gdGhlIFdTTVQ6DQo+ID4+DQo+ID4+ICgxKSBCSVQwIC0tIEZJWEVEX0NPTU1fQlVG RkVSUzoNCj4gPj4NCj4gPj4gKDEuMSkgT1ZNRiB1c2VzIHRoZSBzdGFuZGFyZCBlZGsyIFNNTSBp bmZyYXN0cnVjdHVyZS4gRHJpdmVycyBpbiB0aGF0DQo+ID4+IGluZnJhc3RydWN0dXJlIHZlcmlm eSB0aGF0IHRoZSBjb21tdW5pY2F0aW9uIGJ1ZmZlcnMgdGhhdCB0aGV5IHJlY2VpdmUNCj4gPj4g YXJlIGluIHBlcm1pdHRlZCByZWdpb25zIChubyBvdmVybGFwIHdpdGggU01SQU0sIGFuZCByZXNp ZGVudCBpbg0KPiA+PiBwZXJtaXR0ZWQgbWVtb3J5IHR5cGVzKSwgdmlhIFNtbUlzQnVmZmVyT3V0 c2lkZVNtbVZhbGlkKCkuDQo+ID4+DQo+ID4+ICgxLjIpIE9WTUYgY29udGFpbnMgb25seSBvbmUg Y3VzdG9tIFNNSSBoYW5kbGVyICh3aGljaCBpcyBmb3IgQ1BVDQo+ID4+IGhvdHBsdWcpLiBUaGlz IGhhbmRsZXIgZG9lcyB1c2Ugbm9ybWFsIFJBTSBmb3IgYSBiaXQgb2YgY29tbXVuaWNhdGlvbg0K PiA+PiB3aXRoIGhvdC1hZGRlZCBDUFVzLCBidXQgdGhlIFJBTSB1c2VkIGZvciB0aGlzIHB1cnBv c2UgaXMgYWxsb2NhdGVkIGFzDQo+ID4+IHJlc2VydmVkIG1lbW9yeSwgYW5kIGJlZm9yZSBFbmQt b2YtRHhlLg0KPiA+Pg0KPiA+PiBGdXJ0aGVybW9yZSwgVE9DLVRPVSBpcyBhY3RpdmVseSBjb25z aWRlcmVkIGFuZCBtaXRpZ2F0ZWQsIGFzIHRoZQ0KPiA+PiAiY29tbXVuaWNhdGlvbiBhcmVhIiBp cyBhIHNpbmdsZSBieXRlIChhIGJvb2xlYW4gZmxhZyksIGFuZCB0aGUgZGVzaWduDQo+ID4+IGNv bnNpZGVycyB0aGUgT1MgYWN0aXZlbHkgYXR0YWNraW5nIHRoYXQgYnl0ZS4NCj4gPj4NCj4gPj4g KDIpIEJJVDEgLS0gQ09NTV9CVUZGRVJfTkVTVEVEX1BUUl9QUk9URUNUSU9OOg0KPiA+Pg0KPiA+ PiBPVk1GIHVzZXMgdGhlIHN0YW5kYXJkIGVkazIgU01NIGluZnJhLCB3aGljaCB2YWxpZGF0ZXMg dGhlIHRhcmdldHMgb2YNCj4gPj4gbmVzdGVkIHBvaW50ZXJzLg0KPiA+Pg0KPiA+PiBUaGUgY3Vz dG9tIFNNSSBoYW5kbGVyIChmb3IgQ1BVIGhvdHBsdWcpIGRvZXMgbm90IHByb2Nlc3MgcG9pbnRl cnMgdGhhdA0KPiA+PiBhcnJpdmUgZnJvbSBhbiB1bnRydXN0ZWQgY29udGV4dC4NCj4gPj4NCj4g Pj4gKDMpIEJJVDIgLS0gU1lTVEVNX1JFU09VUkNFX1BST1RFQ1RJT046DQo+ID4+DQo+ID4+IFRo aXMgYml0IGlzIGRlZmluZWQgc29tZXdoYXQgdW5jbGVhcmx5LCBidXQgT1ZNRiBkb2VzIGxvY2sg Ym90aCBUU0VHLA0KPiA+PiBhbmQgdGhlIFFFTVUtc3BlY2lmaWMgIlNNUkFNIGF0IGRlZmF1bHQg U01CQVNFIiwgYXQgU21tUmVhZHlUb0xvY2suDQo+IFNlZQ0KPiA+PiBlLmcuIGNvbW1pdCA5MTA4 ZmMxN2IwOWMgKCJPdm1mUGtnL1NtbUFjY2VzczogY2xvc2UgYW5kIGxvY2sgU01SQU0gYXQNCj4g Pj4gZGVmYXVsdCBTTUJBU0UiLCAyMDIwLTAyLTA1KS4NCj4gPj4NCj4gPj4gU28gSSB0aGluayBP Vk1GIHNob3VsZCBpbnN0YWxsIHRoZSBXU01ULCBhbmQgc2V0IGFsbCB0aHJlZSBiaXRzLg0KPiA+ Pg0KPiA+Pg0KPiA+PiBIb3dldmVyLCB0aGVyZSdzIGEgY2F0Y2gsIGZvciAoMSkgRklYRURfQ09N TV9CVUZGRVJTOg0KPiA+Pg0KPiA+PiAoMS4zKSBXaGlsZSBPVk1GIHByb2R1Y2VzIGEgTWVtb3J5 IFR5cGUgSW5mb3JtYXRpb24gSE9CLCBpdCBpcyBub3QNCj4gPj4gKmFkYXB0aXZlKi4NCj4gPj4N Cj4gPj4gSSdtIG5vdCBzdXJlIHdoYXQgdGhlIHdoaXRlcGFwZXIgc3VnZ2VzdHM6DQo+ID4+DQo+ ID4+ICgxLjMuMSkgdGhhdCB0aGUgSE9CIGV4aXN0IChiZWNhdXNlIHRoZW4gcmVsZWFzZWQgLyB1 bnVzZWQgQklOcyB3aWxsDQo+ID4+IG5ldmVyIGJlY29tZSB1c2FibGUgbWVtb3J5IGluIHRoZSBm aW5hbCBtZW1vcnkgbWFwKSwNCj4gPj4NCj4gPj4gKDEuMy4yKSBvciB0aGF0IEJJTnMgc2hvdWxk IGFjdHVhbGx5IGFjY29tbW9kYXRlIGFsbCB0aGUgYWxsb2NhdGlvbnMgKHNvDQo+ID4+IHRoYXQg bm8gcnVudGltZSBtZW1vcnkgaXMgcmVhbGxvY2F0ZWQgKmV2ZXIqKS4NCj4gPj4NCj4gPj4gQmVj YXVzZSwgaW4gdGhlIG5vbi1hZGFwdGl2ZSBhcHByb2FjaCAoMS4zLjEpLCB3aGF0IGhhcHBlbnMg aWYgdGhlcmUgaXMNCj4gPj4gYSBSdW50aW1lRGF0YSByZWFsbG9jYXRpb24gYWZ0ZXIgRW5kLW9m LUR4ZSwgYnV0IGV2ZW4gdGhlICpwcmV2aW91cyoNCj4gPj4gYWxsb2NhdGlvbiAodGhhdCdzIG5v dyBnZXR0aW5nIHJlbGVhc2VkKSB1c2VkIHRvIGxpdmUgb3V0c2lkZSBvZiBhIEJJTj8NCj4gPj4N Cj4gPj4gVW5mb3J0dW5hdGVseSwgZW5hYmxpbmcgdGhlIGFkYXB0aXZlIE1lbW9yeSBUeXBlIElu Zm9ybWF0aW9uICgxLjMuMikgZm9yDQo+ID4+IE9WTUYgaXMgY2hhbGxlbmdpbmcsIGR1ZSB0bw0K PiA+PiA8aHR0cHM6Ly9idWd6aWxsYS50aWFub2NvcmUub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDg2 Pi4gT1ZNRiBjYW4gYmUNCj4gPj4gYm9vdGVkIHdpdGggMTI4IE1pQiBSQU0gYW5kIDEgVGlCIFJB TSBqdXN0IHRoZSBzYW1lLCBhbmQgc28gYSBwbGF0Zm9ybQ0KPiA+PiBQRUlNIGNhbm5vdCB0ZWxs LCBpbiBhZHZhbmNlLCB3aGF0IGlzIGEgdmFsaWQgTWVtb3J5IFR5cGUgSW5mb3JtYXRpb24NCj4g Pj4gdmFyaWFibGUgdGhhdCB0aGUgRFhFIGNvcmUgd2lsbCBhY2NlcHQsIHZzLiBhbiBpbnZhbGlk IE1lbW9yeSBUeXBlDQo+ID4+IEluZm9ybWF0aW9uIHZhcmlhYmxlIHRoYXQgdGhlIERYRSBjb3Jl IHdpbGwgcmVqZWN0IChhbmQgaGFuZyB1cG9uLCBkdWUNCj4gPj4gdG8gQklOIHByaW1pbmcgZmFp bHVyZSkuDQo+ID4+DQo+ID4+IFRoYW5rcw0KPiA+PiBMYXN6bG8NCj4gPg0KDQo=