From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by mx.groups.io with SMTP id smtpd.web10.880.1578031145565823260 for ; Thu, 02 Jan 2020 21:59:05 -0800 Authentication-Results: mx.groups.io; dkim=missing; spf=pass (domain: intel.com, ip: 192.55.52.115, mailfrom: jiewen.yao@intel.com) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga008.jf.intel.com ([10.7.209.65]) by fmsmga103.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 02 Jan 2020 21:59:05 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.69,389,1571727600"; d="scan'208";a="214367233" Received: from fmsmsx106.amr.corp.intel.com ([10.18.124.204]) by orsmga008.jf.intel.com with ESMTP; 02 Jan 2020 21:59:04 -0800 Received: from FMSMSX110.amr.corp.intel.com (10.18.116.10) by FMSMSX106.amr.corp.intel.com (10.18.124.204) with Microsoft SMTP Server (TLS) id 14.3.439.0; Thu, 2 Jan 2020 21:59:04 -0800 Received: from shsmsx105.ccr.corp.intel.com (10.239.4.158) by fmsmsx110.amr.corp.intel.com (10.18.116.10) with Microsoft SMTP Server (TLS) id 14.3.439.0; Thu, 2 Jan 2020 21:59:03 -0800 Received: from shsmsx102.ccr.corp.intel.com ([169.254.2.202]) by SHSMSX105.ccr.corp.intel.com ([169.254.11.28]) with mapi id 14.03.0439.000; Fri, 3 Jan 2020 13:59:02 +0800 From: "Yao, Jiewen" To: "devel@edk2.groups.io" , "Yao, Jiewen" , "Gao, Zhichao" CC: "Wang, Jian J" , "Zhang, Chao B" , "Justen, Jordan L" , Laszlo Ersek , Ard Biesheuvel , =?utf-8?B?TWFyYy1BbmRyw6kgTHVyZWF1?= , "Stefan Berger" Subject: Re: [edk2-devel] [PATCH 00/13] Extend and fix the TCG/TCG2 Physical Presence Interface Thread-Topic: [edk2-devel] [PATCH 00/13] Extend and fix the TCG/TCG2 Physical Presence Interface Thread-Index: AQHVweKINv4kHl9GkkOll1rQ3CYyxKfYQblggAAS/uCAABT/kIAABbtg Date: Fri, 3 Jan 2020 05:59:01 +0000 Message-ID: <74D8A39837DF1E4DA445A8C0B3885C503F8C9DEB@shsmsx102.ccr.corp.intel.com> References: <20200103030428.28176-1-zhichao.gao@intel.com> <74D8A39837DF1E4DA445A8C0B3885C503F8C9AAA@shsmsx102.ccr.corp.intel.com> <3CE959C139B4C44DBEA1810E3AA6F9000B8BBFA2@SHSMSX101.ccr.corp.intel.com> <15E649625DE7E06B.2038@groups.io> In-Reply-To: <15E649625DE7E06B.2038@groups.io> Accept-Language: zh-CN, en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-titus-metadata-40: eyJDYXRlZ29yeUxhYmVscyI6IiIsIk1ldGFkYXRhIjp7Im5zIjoiaHR0cDpcL1wvd3d3LnRpdHVzLmNvbVwvbnNcL0ludGVsMyIsImlkIjoiYmQ2ZTg0ZDgtNmFhZC00ZjBmLWJhM2QtZDE3YjkzMTQ5MzhmIiwicHJvcHMiOlt7Im4iOiJDVFBDbGFzc2lmaWNhdGlvbiIsInZhbHMiOlt7InZhbHVlIjoiQ1RQX05UIn1dfV19LCJTdWJqZWN0TGFiZWxzIjpbXSwiVE1DVmVyc2lvbiI6IjE3LjEwLjE4MDQuNDkiLCJUcnVzdGVkTGFiZWxIYXNoIjoidnoyWitlZjFvWG84NGlKcGc3a0IwcDBzVytWeHdwUTZLWGhMT1ViUlE2Q2hnZ0NUd1IxclU5MDhQYng0N3RTcyJ9 x-ctpclassification: CTP_NT 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 U29tZSBvdGhlciBjb21tZW50Og0KDQo2LiBJIGRpc2FncmVlIHRvIG1vdmUgTnZEYXRhLmggdG8g c2VjdXJpdHlQa2cuDQpUaGlzIGlzIGRlc2lnbmVkIHRvIGJlIGFuIGludGVybmFsIHZhcmlhYmxl Lg0KV2h5IGl0IG5lZWQgdG8gbW92ZSB0byBzZWN1cml0eSBwa2cgdG8gc2hhcmUgd2l0aCBvdGhl ciBkcml2ZXI/DQoNCkkgYWdyZWUgdGhhdCBkdXBsaWNhdGluZyBjb2RlIGlzIGJhZCBzb2x1dGlv bi4NCkFuZCBleHBvc2luZyBpbnRlcm5hbCBkYXRhIHN0cnVjdHVyZSBpcyBhcyBiYWQgYXMgZHVw bGljYXRpbmcgY29kZS4NCg0KQnkgZGVzaWduLCB0aGUgcGxhdGZvcm0gY2FuIGhhdmUgaXRzIG93 biBUQ0cgcGxhdGZvcm0gbGliIGFuZCBpdHMgb3duIE52RGF0YS5oLg0KV291bGQgeW91IHBsZWFz ZSBoZWxwIG1lIHVuZGVyc3RhbmQgd2h5IHRoaXMgaXMgbmVlZGVkPw0KDQo3LiBSZW1vdmluZyBh c3NlcnQgaGFzIG5vIHJlbGF0aW9uc2hpcCB3aXRoIHRoaXMgZXh0ZW5kIFBQSSBpbnRlcmZhY2Uu DQpJZiB5b3Ugd2FudCwgcGxlYXNlIGZpbGUgYW5vdGhlciBCdWd6aWxsYSBhbmQgaGFuZGxlIGl0 IHNlcGFyYXRlbHkuDQoNCjguIEZpeGluZyBidWcgdG8gZm9sbG93IHNwZWMgaXMgZ29vZC4NCkJ1 dCBJIGRvIG5vdCBzZWUgdGhlIHJlbGF0aW9uc2hpcCB3aXRoIHRoZSBQUEkgaW50ZXJmYWNlIGV4 dGVuc2lvbi4NClBsZWFzZSBmaWxlIGFub3RoZXIgQnVnemlsbGEgYW5kIGhhbmRsZSB0aGF0IHNl cGFyYXRlbHkuDQoNCg0KVGhhbmsgeW91DQpZYW8gSmlld2VuDQoNCg0KDQo+IC0tLS0tT3JpZ2lu YWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IGRldmVsQGVkazIuZ3JvdXBzLmlvIDxkZXZlbEBlZGsy Lmdyb3Vwcy5pbz4gT24gQmVoYWxmIE9mIFlhbywgSmlld2VuDQo+IFNlbnQ6IEZyaWRheSwgSmFu dWFyeSAzLCAyMDIwIDE6MzAgUE0NCj4gVG86IEdhbywgWmhpY2hhbyA8emhpY2hhby5nYW9AaW50 ZWwuY29tPjsgZGV2ZWxAZWRrMi5ncm91cHMuaW8NCj4gQ2M6IFdhbmcsIEppYW4gSiA8amlhbi5q LndhbmdAaW50ZWwuY29tPjsgWmhhbmcsIENoYW8gQg0KPiA8Y2hhby5iLnpoYW5nQGludGVsLmNv bT47IEp1c3RlbiwgSm9yZGFuIEwgPGpvcmRhbi5sLmp1c3RlbkBpbnRlbC5jb20+Ow0KPiBMYXN6 bG8gRXJzZWsgPGxlcnNla0ByZWRoYXQuY29tPjsgQXJkIEJpZXNoZXV2ZWwgPGFyZC5iaWVzaGV1 dmVsQGxpbmFyby5vcmc+Ow0KPiBNYXJjLUFuZHLDqSBMdXJlYXUgPG1hcmNhbmRyZS5sdXJlYXVA cmVkaGF0LmNvbT47IFN0ZWZhbiBCZXJnZXINCj4gPHN0ZWZhbmJAbGludXguaWJtLmNvbT4NCj4g U3ViamVjdDogUmU6IFtlZGsyLWRldmVsXSBbUEFUQ0ggMDAvMTNdIEV4dGVuZCBhbmQgZml4IHRo ZSBUQ0cvVENHMiBQaHlzaWNhbA0KPiBQcmVzZW5jZSBJbnRlcmZhY2UNCj4gDQo+IFdoYXQgaXMg dGhlIHBsYXRmb3JtIHVzZSBjYXNlPw0KPiBQbGVhc2UgZ2l2ZSBhdCBsZWFzdCBzb21lIGV4YW1w bGVzLg0KPiANCj4gDQo+ID4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gPiBGcm9tOiBH YW8sIFpoaWNoYW8gPHpoaWNoYW8uZ2FvQGludGVsLmNvbT4NCj4gPiBTZW50OiBGcmlkYXksIEph bnVhcnkgMywgMjAyMCAxOjA4IFBNDQo+ID4gVG86IFlhbywgSmlld2VuIDxqaWV3ZW4ueWFvQGlu dGVsLmNvbT47IGRldmVsQGVkazIuZ3JvdXBzLmlvDQo+ID4gQ2M6IFdhbmcsIEppYW4gSiA8amlh bi5qLndhbmdAaW50ZWwuY29tPjsgWmhhbmcsIENoYW8gQg0KPiA+IDxjaGFvLmIuemhhbmdAaW50 ZWwuY29tPjsgSnVzdGVuLCBKb3JkYW4gTCA8am9yZGFuLmwuanVzdGVuQGludGVsLmNvbT47DQo+ ID4gTGFzemxvIEVyc2VrIDxsZXJzZWtAcmVkaGF0LmNvbT47IEFyZCBCaWVzaGV1dmVsDQo+IDxh cmQuYmllc2hldXZlbEBsaW5hcm8ub3JnPjsNCj4gPiBNYXJjLUFuZHLDqSBMdXJlYXUgPG1hcmNh bmRyZS5sdXJlYXVAcmVkaGF0LmNvbT47IFN0ZWZhbiBCZXJnZXINCj4gPiA8c3RlZmFuYkBsaW51 eC5pYm0uY29tPg0KPiA+IFN1YmplY3Q6IFJFOiBbUEFUQ0ggMDAvMTNdIEV4dGVuZCBhbmQgZml4 IHRoZSBUQ0cvVENHMiBQaHlzaWNhbCBQcmVzZW5jZQ0KPiA+IEludGVyZmFjZQ0KPiA+DQo+ID4g U2VlIGJlbG93Lg0KPiA+DQo+ID4gPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+ID4g RnJvbTogWWFvLCBKaWV3ZW4NCj4gPiA+IFNlbnQ6IEZyaWRheSwgSmFudWFyeSAzLCAyMDIwIDEx OjA5IEFNDQo+ID4gPiBUbzogR2FvLCBaaGljaGFvIDx6aGljaGFvLmdhb0BpbnRlbC5jb20+OyBk ZXZlbEBlZGsyLmdyb3Vwcy5pbw0KPiA+ID4gQ2M6IFdhbmcsIEppYW4gSiA8amlhbi5qLndhbmdA aW50ZWwuY29tPjsgWmhhbmcsIENoYW8gQg0KPiA+ID4gPGNoYW8uYi56aGFuZ0BpbnRlbC5jb20+ OyBKdXN0ZW4sIEpvcmRhbiBMIDxqb3JkYW4ubC5qdXN0ZW5AaW50ZWwuY29tPjsNCj4gPiA+IExh c3psbyBFcnNlayA8bGVyc2VrQHJlZGhhdC5jb20+OyBBcmQgQmllc2hldXZlbA0KPiA+ID4gPGFy ZC5iaWVzaGV1dmVsQGxpbmFyby5vcmc+OyBNYXJjLUFuZHLDqSBMdXJlYXUNCj4gPiA+IDxtYXJj YW5kcmUubHVyZWF1QHJlZGhhdC5jb20+OyBTdGVmYW4gQmVyZ2VyIDxzdGVmYW5iQGxpbnV4Lmli bS5jb20+DQo+ID4gPiBTdWJqZWN0OiBSRTogW1BBVENIIDAwLzEzXSBFeHRlbmQgYW5kIGZpeCB0 aGUgVENHL1RDRzIgUGh5c2ljYWwgUHJlc2VuY2UNCj4gPiA+IEludGVyZmFjZQ0KPiA+ID4NCj4g PiA+IEhpDQo+ID4gPiBJIGFtIG5vdCBjbGVhciBvbiB0aGUgcHVycG9zZSBvZiB0aGlzIGV4dGVu c2lvbi4NCj4gPiA+DQo+ID4gPiBUaGUgQnVnemlsbGEganVzdCBkZXNjcmliZXMgdGhlIHNvbHV0 aW9uLg0KPiA+ID4gQnV0IHdoYXQgaXMgdGhlIHByb2JsZW0geW91IGFyZSB0cnlpbmcgdG8gcmVz b2x2ZT8NCj4gPiA+DQo+ID4gPiBJIGNvbXBsZXRlbHkgZG9u4oCZdCB1bmRlcnN0YW5kLg0KPiA+ ID4NCj4gPiA+IFBsZWFzZSBkbyBjb25zaWRlciBhZGQgdGhlIGJhY2tncm91bmQgaW5mb3JtYXRp b24gdGhlcmUuDQo+ID4gPiBPciBpdCBpcyBoYXJkIGZvciBtZSB0byBjb21tZW50Lg0KPiA+ID4N Cj4gPiA+DQo+ID4gPiBUaGFuayB5b3UNCj4gPiA+IFlhbyBKaWV3ZW4NCj4gPiA+DQo+ID4gPiA+ IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ID4gPiA+IEZyb206IEdhbywgWmhpY2hhbyA8 emhpY2hhby5nYW9AaW50ZWwuY29tPg0KPiA+ID4gPiBTZW50OiBGcmlkYXksIEphbnVhcnkgMywg MjAyMCAxMTowNCBBTQ0KPiA+ID4gPiBUbzogZGV2ZWxAZWRrMi5ncm91cHMuaW8NCj4gPiA+ID4g Q2M6IFlhbywgSmlld2VuIDxqaWV3ZW4ueWFvQGludGVsLmNvbT47IFdhbmcsIEppYW4gSg0KPiA+ ID4gPiA8amlhbi5qLndhbmdAaW50ZWwuY29tPjsgWmhhbmcsIENoYW8gQiA8Y2hhby5iLnpoYW5n QGludGVsLmNvbT47DQo+ID4gPiA+IEp1c3RlbiwgSm9yZGFuIEwgPGpvcmRhbi5sLmp1c3RlbkBp bnRlbC5jb20+OyBMYXN6bG8gRXJzZWsNCj4gPiA+ID4gPGxlcnNla0ByZWRoYXQuY29tPjsgQXJk IEJpZXNoZXV2ZWwgPGFyZC5iaWVzaGV1dmVsQGxpbmFyby5vcmc+Ow0KPiA+ID4gPiBNYXJjLUFu ZHLDqSBMdXJlYXUgPG1hcmNhbmRyZS5sdXJlYXVAcmVkaGF0LmNvbT47IFN0ZWZhbiBCZXJnZXIN Cj4gPiA+ID4gPHN0ZWZhbmJAbGludXguaWJtLmNvbT4NCj4gPiA+ID4gU3ViamVjdDogW1BBVENI IDAwLzEzXSBFeHRlbmQgYW5kIGZpeCB0aGUgVENHL1RDRzIgUGh5c2ljYWwgUHJlc2VuY2UNCj4g PiA+ID4gSW50ZXJmYWNlDQo+ID4gPiA+DQo+ID4gPiA+IFJFRjogaHR0cHM6Ly9idWd6aWxsYS50 aWFub2NvcmUub3JnL3Nob3dfYnVnLmNnaT9pZD0yNDQzDQo+ID4gPiA+DQo+ID4gPiA+IDEuIEFk ZCB0d28gaW50ZXJmYWNlcyBUY2cyUHBWZW5kb3JMaWJFeGVjdXRlUGVuZGluZ1JlcXVlc3RFeCBh bmQNCj4gPiA+ID4gVGNnMlBwVmVuZG9yTGliU3VibWl0UmVxdWVzdFRvUHJlT1NGdW5jdGlvbkV4 IHRvIFRjZzJQcFZlbmRvckxpYi4NCj4gSXQNCj4gPiA+ID4gaGFzIG9uZSBtb3JlIHBhcmFtZXRl ciBQUERhdGEgKHR5cGUgRUZJX1RDRzJfUEhZU0lDQUxfUFJFU0VOQ0UpIHRvDQo+ID4gPiA+IHRy YW5zZmVyIG1vcmUgZGF0YS4NCj4gPiA+ID4gMi4gVXNlIHRoZSBFeCB2ZXJzaW9uIGluc3RlYWQg b2Ygb3JpZ2luYWwgb25lIGluDQo+ID4gPiA+IFRjZzJQaHlzaWNhbFByZXNlbmNlTGliIDMuIEFk ZCBhIHBjZA0KPiA+ID4gPiBQY2RQaHlzaWNhbFByZXNlbmNlVXNlckNvbmZpcm1UaW1lb3V0IHRv IGNvbnRyb2wgdGhlIHVzZXIgY29uZmlybQ0KPiA+ID4gPiBpbnB1dCBrZXkgdGltZW91dC4NCj4g PiA+ID4gNC4gQWRkIEZ1bmN0aW9uSW5kZXggdG8gc3RydWN0dXJlIHR5cGUgRUZJX1RDRzJfUEhZ U0lDQUxfUFJFU0VOQ0UgdG8NCj4gPiA+ID4gdHJhbnNmZXINCj4gPiA+ID4gbVRjZ052cy0+UGh5 c2ljYWxQcmVzZW5jZS5QYXJhbWV0ZXIgZGF0YS4NCj4gPiA+ID4gNS4gQWRkIHBhcmFtZXRlciBG dW5jdGlvbkluZGV4IHRvDQo+ID4gPiA+IFRjZzJQaHlzaWNhbFByZXNlbmNlTGliU3VibWl0UmVx dWVzdFRvUHJlT1NGdW5jdGlvbkV4DQo+ID4gPiA+IHRvIGluaXRpYWxpemUgdGhlIFBQZGF0YS4N Cj4gPg0KPiA+IEJhY2tncm91bmQ6DQo+ID4gU29tZSBwbGF0Zm9ybXMgaW1wbGVtZW50IHRoZWly IG93biBUY2cyUHBWZW5kb3JMaWIgYW5kIHdhbnQgdG8gb3BlcmF0ZQ0KPiA+IHdpdGggbW9yZSBw YXJhbWV0ZXJzLg0KPiA+DQo+ID4gIzEtIzIgYW5kICM0LSM1IGNoYW5nZXMgYWltIHRvIGFkZCBl eHRlbmQgdGhlIGludGVyZmFjZSB3aXRoIFBQZGF0YS4gUFBkYXRhDQo+ID4gcG9pbnRlciBjYW4g dHJhbnNmZXIgbW9zdCBvZiB0aGUgcmVxdWlyZWQgcGFyYW1ldGVyIHRvIGRvIHRoZSBvcGVyYXRp b24uDQo+ID4gQWxsIHRoZSBleHRlbmQgY2hhbmdlcyBpcyBmb3IgdGhlIFBQZGF0YSBhbmQgdHJh bnNmZXIgdG8gdGhlIHBsYXRmb3JtDQo+ID4gaW1wbGVtZW50ZWQgaW50ZXJmYWNlcy4gVGhpcyB3 b3VsZCBhZmZlY3QgdGhlIHBsYXRmb3JtcyB3aGljaCBpbXBsZW1lbnQNCj4gdGhlaXINCj4gPiBv d24gVGNnMlBwVmVuZG9yTGliLg0KPiA+IEJ1dCBmb3Igb3BlbiBzb3VyY2UgcGxhdGZvcm0sIEkg ZGlkbid0IHNlZSBhbnkgaW1wbGVtZW50YXRpb24gb2YgaXQuDQo+ID4NCj4gPiAjMyBhaW1zIHRv IGFkZCBhIHBjZCB0byBsZXQgdGhlIGN1c3RvbWVycyB0byBkZWNpZGUgd2hldGhlciB0byB3YWl0 IGZvciB0aGUNCj4gPiBpbnB1dCBmb3JldmVyIG9yIHdpdGggYSB0aW1lb3V0IGNvdW50Lg0KPiA+ DQo+ID4gPiA+IDYuIE1vdmUgVGNnMkNvbmZpZ052RGF0YS5oIGZyb20gU2VjdXJpdHlQa2cvVGNn L1RjZzJDb25maWcgdG8NCj4gPiA+ID4gU2VjdXJpdHlQa2cvSW5jbHVkZS4NCj4gPiA+ID4gSXQg aXMgdXNlZnVsIGZvciBwbGF0Zm9ybSBjb2RlIHRvIGltcGxlbWVudCB0aGVpciBvd24NCj4gPiBU Y2cyUGh5c2ljYWxQcmVzZW5jZUxpYi4NCj4gPg0KPiA+ICM2IGlzIGEgbW92ZW1lbnQgdG8gZGVj cmVhc2UgdGhlIGR1cGxpY2F0ZWQgY29kZSBhdCBwbGF0Zm9ybSBzaWRlIGlmIHRoZQ0KPiA+IHBs YXRmb3JtIGNvZGUgaW1wbGVtZW50IGl0cyBvd24gVENHIGxpYnJhcnkgb3IgZHJpdmVyLg0KPiA+ DQo+ID4gPiA+IDcuIFJlcGxhY2UgdGhlIEFTU0VSVCB3aXRoIGVycm9yIGNvZGUgcmV0dXJuIGlu IFRwbVBoeXNpY2FsUHJlc2VuY2VMaWINCj4gPg0KPiA+ICM3IGFpbXMgdG8gcmVtb3ZlIHRoZSBB U1NFUlQgYmVjYXVzZSBpdCBpcyBub3QgY3JpdGljYWwuIEFTU0VSVCB3aGVuIGZhaWwgdG8NCj4g Y2FsbA0KPiA+IFRwbVBoeXNpY2FsUHJlc2VuY2UgYW5kIEdldFRwbUNhcGFiaWxpdHkgaXMgbm90 IGEgZ29vZCBiZWhhdmlvci4NCj4gPg0KPiA+ID4gPiA4LiBGaXggb25lIG9wZXJhdGlvbg0KPiA+ ID4gPiAoUEhZU0lDQUxfUFJFU0VOQ0VfREVBQ1RJVkFURV9ESVNBQkxFX09XTkVSX0ZBTFNFKSBm bG93IG9mDQo+ID4gPiA+IFRjZ1BoeXNpY2FsUHJlc2VuY2VMaWIgKHJlZmVyIHRvIFBoeXNpY2Fs IFByZXNlbmNlIEludGVyZmFjZSBTcGVjIFBhZ2UgMzcpLg0KPiA+DQo+ID4gIzggaXMgYSBidWcg Zml4IHRvIGZvbGxvdyB0aGUgc3BlYy4NCj4gPg0KPiA+IFRoYW5rcywNCj4gPiBaaGljaGFvDQo+ ID4NCj4gPiA+ID4NCj4gPiA+ID4gQ2M6IEppZXdlbiBZYW8gPGppZXdlbi55YW9AaW50ZWwuY29t Pg0KPiA+ID4gPiBDYzogSmlhbiBKIFdhbmcgPGppYW4uai53YW5nQGludGVsLmNvbT4NCj4gPiA+ ID4gQ2M6IENoYW8gWmhhbmcgPGNoYW8uYi56aGFuZ0BpbnRlbC5jb20+DQo+ID4gPiA+IENjOiBK b3JkYW4gSnVzdGVuIDxqb3JkYW4ubC5qdXN0ZW5AaW50ZWwuY29tPg0KPiA+ID4gPiBDYzogTGFz emxvIEVyc2VrIDxsZXJzZWtAcmVkaGF0LmNvbT4NCj4gPiA+ID4gQ2M6IEFyZCBCaWVzaGV1dmVs IDxhcmQuYmllc2hldXZlbEBsaW5hcm8ub3JnPg0KPiA+ID4gPiBDYzogTWFyYy1BbmRyw6kgTHVy ZWF1IDxtYXJjYW5kcmUubHVyZWF1QHJlZGhhdC5jb20+DQo+ID4gPiA+IENjOiBTdGVmYW4gQmVy Z2VyIDxzdGVmYW5iQGxpbnV4LmlibS5jb20+DQo+ID4gPiA+IFNpZ25lZC1vZmYtYnk6IFpoaWNo YW8gR2FvIDx6aGljaGFvLmdhb0BpbnRlbC5jb20+IFpoaWNoYW8gR2FvICgxMyk6DQo+ID4gPiA+ ICAgU2VjdXJpdHlQa2cvVGNnMlBwVmVybmRvckxpYjogQWRkIHR3byBFeCBmdW5jdGlvbiB0byBo YW5kbGUgUFBkYXRhDQo+ID4gPiA+ICAgU2VjdXJpdHlQa2cvVGNnMlBwVmVuZG9yTGliOiBBZGQg aW1wbGVtZW50YXRpb24gb2YgbmV3IEV4IGZ1bmN0aW9uDQo+ID4gPiA+ICAgU2VjdXJpdHlQa2cv VGNnMlBoeXNpY2FsUHJlc2VuY2VMaWI6IFVzZSB0aGUgbmV3IEV4IGZ1bmN0aW9uDQo+ID4gPiA+ ICAgU2VjdXJpdHlQa2cvU21tVGNnMlBoeXNpY2FsUHJlc2VuY2VMaWI6IFVzZSB0aGUgbmV3IEV4 IGZ1bmN0aW9uDQo+ID4gPiA+ICAgU2VjdXJpdHlQa2cvZGVjOiBBZGQgYSBwY2QgZm9yIHVzZXIg cmVzcG9uc2Ugd2FpdCB0aW1lDQo+ID4gPiA+ICAgT3ZtZlBrZy9UY2cyUGh5c2ljYWxQcmVzZW5j ZUxpYjogVXNlIHBjZCBmb3IgdXNlciByZXNwb25zZSB3YWl0IHRpbWUNCj4gPiA+ID4gICBTZWN1 cml0eVBrZy9UY2cyUGh5c2ljYWxQcmVzZW5jZUxpYjogVXNlIFBjZCBmb3IgdXNlciByZXNwIHdh aXQgdGltZQ0KPiA+ID4gPiAgIFNlY3VyaXR5UGtnL1RjZ1B5aHNpY2FsUHJlc2VuY2VMaWI6IFVz ZSBQY2QgZm9yIHVzZXIgcmVzcCB3YWl0IHRpbWUNCj4gPiA+ID4gICBTZWN1cml0eVBrZy9UY2cy UGh5c2ljYWxQcmVzZW5jZURhdGEuaDogQWRkIEZ1bmN0aW9uSW5kZXggZm9yIFBQZGF0YQ0KPiA+ ID4gPiAgIFNlY3VyaXR5UGtnL1RjZzJQaHlzaWNhbFByZXNlbmNlTGliOiBFeHRlbmQgdGhlIHN1 Ym1pdCBwcmVPUyBmdW5jDQo+ID4gPiA+ICAgU2VjdXJpdHlQa2c6IE1vdmUgdGhlIFRjZzJDb25m aWdOdkRhdGEuaCB0byBJbmNsdWRlIGZvbGRlcg0KPiA+ID4gPiAgIFNlY3VyaXR5UGtnL1RjZ1Bo eXNpY2FsUHJlc2VuY2VMaWI6IFJlcGxhY2UgdGhlIEFTU0VSVCB3aXRoIGVycm9yIGNvZGUNCj4g PiA+ID4gICBTZWN1cml0eVBrZy9UY2dQaHlzaWNhbFByZXNlbmNlTGliOiBGaXggdGhlIG9wZXJh dGlvbiBvZiAxMQ0KPiA+ID4gPg0KPiA+ID4gPiAgLi4uL0R4ZVRjZzJQaHlzaWNhbFByZXNlbmNl TGliLmMgICAgICAgICAgICAgIHwgIDYzICsrKysrKystLS0NCj4gPiA+ID4gIC4uLi9EeGVUY2cy UGh5c2ljYWxQcmVzZW5jZUxpYi5pbmYgICAgICAgICAgICB8ICAgNiArLQ0KPiA+ID4gPiAgLi4u L0luY2x1ZGUvR3VpZC9UY2cyUGh5c2ljYWxQcmVzZW5jZURhdGEuaCAgIHwgICAzICstDQo+ID4g PiA+ICAuLi4vSW5jbHVkZS9MaWJyYXJ5L1RjZzJQaHlzaWNhbFByZXNlbmNlTGliLmggfCAgIDQg Ky0NCj4gPiA+ID4gIFNlY3VyaXR5UGtnL0luY2x1ZGUvTGlicmFyeS9UY2cyUHBWZW5kb3JMaWIu aCB8ICA1NCArKysrKysrKy0NCj4gPiA+ID4gIC4uLi9UY2cyQ29uZmlnID0+IEluY2x1ZGV9L1Rj ZzJDb25maWdOdkRhdGEuaCB8ICAgMiArLQ0KPiA+ID4gPiAgLi4uL0R4ZVRjZzJQaHlzaWNhbFBy ZXNlbmNlTGliLmMgICAgICAgICAgICAgIHwgIDY4ICsrKysrKysrLS0tDQo+ID4gPiA+ICAuLi4v RHhlVGNnMlBoeXNpY2FsUHJlc2VuY2VMaWIuaW5mICAgICAgICAgICAgfCAgIDQgKy0NCj4gPiA+ ID4gIC4uLi9EeGVUY2dQaHlzaWNhbFByZXNlbmNlTGliLmMgICAgICAgICAgICAgICB8IDExMCAr KysrKysrKysrKystLS0tLS0NCj4gPiA+ID4gIC4uLi9EeGVUY2dQaHlzaWNhbFByZXNlbmNlTGli LmluZiAgICAgICAgICAgICB8ICAgNiArLQ0KPiA+ID4gPiAgLi4uL1NtbVRjZzJQaHlzaWNhbFBy ZXNlbmNlTGliLmMgICAgICAgICAgICAgIHwgIDE1ICsrLQ0KPiA+ID4gPiAgLi4uL1RjZzJQcFZl bmRvckxpYk51bGwvVGNnMlBwVmVuZG9yTGliTnVsbC5jIHwgIDYxICsrKysrKysrKy0NCj4gPiA+ ID4gIFNlY3VyaXR5UGtnL1NlY3VyaXR5UGtnLmRlYyAgICAgICAgICAgICAgICAgICB8ICAgNyAr LQ0KPiA+ID4gPiAgU2VjdXJpdHlQa2cvU2VjdXJpdHlQa2cudW5pICAgICAgICAgICAgICAgICAg IHwgICA3ICstDQo+ID4gPiA+ICBTZWN1cml0eVBrZy9UY2cvVGNnMkNvbmZpZy9UY2cyQ29uZmln LnZmciAgICAgfCAgIDQgKy0NCj4gPiA+ID4gIFNlY3VyaXR5UGtnL1RjZy9UY2cyQ29uZmlnL1Rj ZzJDb25maWdEeGUuaW5mICB8ICAgMyArLQ0KPiA+ID4gPiAgU2VjdXJpdHlQa2cvVGNnL1RjZzJD b25maWcvVGNnMkNvbmZpZ0ltcGwuaCAgIHwgICA0ICstDQo+ID4gPiA+ICBTZWN1cml0eVBrZy9U Y2cvVGNnMkNvbmZpZy9UY2cyQ29uZmlnUGVpLmluZiAgfCAgIDMgKy0NCj4gPiA+ID4gIFNlY3Vy aXR5UGtnL1RjZy9UY2cyQ29uZmlnL1RjZzJDb25maWdQZWltLmMgICB8ICAgNCArLQ0KPiA+ID4g PiAgU2VjdXJpdHlQa2cvVGNnL1RjZzJDb25maWcvVHBtRGV0ZWN0aW9uLmMgICAgIHwgICA0ICst DQo+ID4gPiA+ICBTZWN1cml0eVBrZy9UY2cvVGNnMlNtbS9UY2cyU21tLmMgICAgICAgICAgICAg fCAgMTAgKy0NCj4gPiA+ID4gIDIxIGZpbGVzIGNoYW5nZWQsIDM0NyBpbnNlcnRpb25zKCspLCA5 NSBkZWxldGlvbnMoLSkgIHJlbmFtZQ0KPiA+ID4gPiBTZWN1cml0eVBrZy97VGNnL1RjZzJDb25m aWcgPT4gSW5jbHVkZX0vVGNnMkNvbmZpZ052RGF0YS5oICg5NCUpDQo+ID4gPiA+DQo+ID4gPiA+ IC0tDQo+ID4gPiA+IDIuMjEuMC53aW5kb3dzLjENCj4gDQo+IA0KPiANCg0K