From mboxrd@z Thu Jan 1 00:00:00 1970 Authentication-Results: mx.groups.io; dkim=missing; spf=pass (domain: intel.com, ip: 192.55.52.43, mailfrom: bob.c.feng@intel.com) Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by groups.io with SMTP; Mon, 22 Jul 2019 02:11:13 -0700 X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga003.jf.intel.com ([10.7.209.27]) by fmsmga105.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 22 Jul 2019 02:11:12 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.64,294,1559545200"; d="scan'208";a="171581886" Received: from fmsmsx107.amr.corp.intel.com ([10.18.124.205]) by orsmga003.jf.intel.com with ESMTP; 22 Jul 2019 02:11:12 -0700 Received: from shsmsx151.ccr.corp.intel.com (10.239.6.50) by fmsmsx107.amr.corp.intel.com (10.18.124.205) with Microsoft SMTP Server (TLS) id 14.3.439.0; Mon, 22 Jul 2019 02:11:11 -0700 Received: from shsmsx105.ccr.corp.intel.com ([169.254.11.232]) by SHSMSX151.ccr.corp.intel.com ([169.254.3.55]) with mapi id 14.03.0439.000; Mon, 22 Jul 2019 17:11:09 +0800 From: "Bob Feng" To: Laszlo Ersek CC: "devel@edk2.groups.io" , =?utf-8?B?UGhpbGlwcGUgTWF0aGlldS1EYXVkw6k=?= Subject: Re: [edk2-devel] [Patch 0/9] Enable multiple process AutoGen Thread-Topic: [edk2-devel] [Patch 0/9] Enable multiple process AutoGen Thread-Index: AQHVP799D7N2Rs5Lik+EZEYeGbE2IqbWVgNQ Date: Mon, 22 Jul 2019 09:11:09 +0000 Message-ID: <08650203BA1BD64D8AD9B6D5D74A85D160B454F1@SHSMSX105.ccr.corp.intel.com> References: <20190718061423.30612-1-bob.c.feng@intel.com> In-Reply-To: Accept-Language: zh-CN, en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.239.127.40] MIME-Version: 1.0 Return-Path: bob.c.feng@intel.com Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 SGkgTGFzemxvLA0KDQpUaGFua3MgZm9yIHlvdXIgZGV0YWlsZWQgdGVzdGluZyBhbmQgY29tbWVu dHMuDQoNCkkgc2VuZCBvdXQgcGF0Y2ggc2VyaWFsIFYyIHRvIHJlc29sdmUgY29tbWVudCAxIy4g IFYyIGFsc28gZml4ZWQgc29tZSBpc3N1ZXMgZm91bmQgYnkgb3RoZXJzIGFuZCB3YXMgZ2VuZXJh dGVkIGJhc2VkIG9uIG1hc3RlciBsYXRlc3QgdmVyc2lvbi4NCg0KRm9yIDMjLCBJIGNhbiByZXBy b2R1Y2UgdGhlIGlzc3VlLCBJJ2xsIGZpeCBpdCBpbiBwYXRjaCBzZXJpYWwgVjMuICBNeSB1bmRl cnN0YW5kaW5nIGlzIHRoYXQgd2hlbiBJIGZpeCAzIywgMiMgd2lsbCBiZSByZXNvbHZlZCBhY2Nv cmRpbmdseS4gUmlnaHQ/IA0KRm9yIDUjLTIsICBXaGVuIHVzaW5nICItbiAxIiwgQXV0b2dlbiBz aG91bGQgc3RhcnQgb25lIHdvcmtlciBzdWJwcm9jZXNzIHRvIGdlbmVyYXRlIGF1dG9nZW4gZmls ZXMgdGhhdCB3aWxsIGJlIHRoZSBzYW1lIGFzIHJ1biBpbiBzZXJpYWwuDQogICAgICAgICAgICAg ICAgICAgIEknbGwgbWFrZSB0aGUgY2hhbmdlIGluIHBhdGNoZXMgVjMNCg0KRm9yIHRoZSBrZXli b2FyZCBpbnRlcnJ1cHQgaGFuZGxpbmcgbWVudGlvbmVkIGluIDQjIGFuZCA1Iy0xLCBJJ2xsIGRv IG1vcmUgdGVzdGluZyBvbiBpdC4gQW5kIGRvIHRoZSBmaXggaW4gVjMuICANCkJlZm9yZSBzZW5k aW5nIHRoZSBwYXRjaGVzLCBJIHRlc3RlZCBDdHJsK0MgdG8gc3RvcCB0aGUgYnVpbGQgYnV0IG5v dCB0aGUgInBpY2sgdXAiLg0KDQpUaGFua3MsDQpCb2INCg0KLS0tLS1PcmlnaW5hbCBNZXNzYWdl LS0tLS0NCkZyb206IExhc3psbyBFcnNlayBbbWFpbHRvOmxlcnNla0ByZWRoYXQuY29tXSANClNl bnQ6IFN1bmRheSwgSnVseSAyMSwgMjAxOSA4OjI2IFBNDQpUbzogRmVuZywgQm9iIEMgPGJvYi5j LmZlbmdAaW50ZWwuY29tPg0KQ2M6IGRldmVsQGVkazIuZ3JvdXBzLmlvOyBQaGlsaXBwZSBNYXRo aWV1LURhdWTDqSA8cGhpbG1kQHJlZGhhdC5jb20+DQpTdWJqZWN0OiBSZTogW2VkazItZGV2ZWxd IFtQYXRjaCAwLzldIEVuYWJsZSBtdWx0aXBsZSBwcm9jZXNzIEF1dG9HZW4NCg0KSGkgQm9iLA0K DQpPbiAwNy8xOC8xOSAwODoxNCwgQm9iIEZlbmcgd3JvdGU6DQo+IEJaOiBodHRwczovL2J1Z3pp bGxhLnRpYW5vY29yZS5vcmcvc2hvd19idWcuY2dpP2lkPTE4NzUNCj4NCj4gSW4gb3JkZXIgdG8g aW1wcm92ZSB0aGUgYnVpbGQgcGVyZm9ybWFuY2UsIHdlIGltcGxlbWVudGVkIA0KPiBtdWx0aXBs ZS1wcm9jZXNzZXMgQXV0b0dlbi4gVGhpcyBjaGFuZ2Ugd2lsbCByZWR1Y2UgMjAlIHRpbWUgZm9y IA0KPiBBdXRvR2VuIHBoYXNlLg0KPg0KPiBUaGUgZGVzaWduIGRvY3VtZW50IGNhbiBiZSBnb3Qg ZnJvbToNCj4gaHR0cHM6Ly9lZGsyLmdyb3Vwcy5pby9nL2RldmVsL2ZpbGVzL0Rlc2lnbnMvMjAx OS8wNjI3L011bHRpcGxlLXRocmVhZA0KPiAtQXV0b0dlbi5wZGYNCj4NCj4gVGhpcyBwYXRjaCBz ZXJpYWwgcGFzcyB0aGUgYnVpbGQgb2YgT3ZtZiwgTWluS2FieWxha2UsIE1pblB1cmxleSwgDQo+ IHBhY2thZ2VzIHVuZGVyIEVkazIgcmVwb3NpdG9yeSBhbmQgaW50ZWwgY2xpZW50IGFuZCBzZXJ2 ZXIgcGxhdGZvcm1zLg0KDQpJJ3ZlIGRvbmUgc29tZSBiYXNpYyByZWdyZXNzaW9uLXRlc3Rpbmcg d2l0aCB0aGlzIHNldCwgYXBwbGllZCBvbiB0b3Agb2YgY3VycmVudCBtYXN0ZXIgKD0gY29tbWl0 IDhmZjY4Y2Q1ZTRjOSwgIlNoZWxsUGtnOiBhY3BpdmlldzogREJHMjogUmVtb3ZlIHJlZHVuZGFu dCBmb3J3YXJkIGRlY2xhcmF0aW9ucyIsIDIwMTktMDctMTkpLg0KDQooMSkgVGhlIGJ1aWxkIHBy b2Nlc3Mgbm93IHNlZW1zIHRvIHByb2R1Y2UgZmlsZXMgY2FsbGVkDQoNCiAgICAgIEdsb2JhbFZh cl8zN2Q3ZTk4Ni1mN2U5LTQ1YzItODA2Ny1lMzcxNDIxYTYyNmNfQUFSQ0g2NC5iaW4NCiAgICAg IEdsb2JhbFZhcl8zN2Q3ZTk4Ni1mN2U5LTQ1YzItODA2Ny1lMzcxNDIxYTYyNmNfQVJNLmJpbg0K ICAgICAgR2xvYmFsVmFyXzVhOWU3NzU0LWQ4MWItNDllYS04NWFkLTY5ZWFhN2IxNTM5Yl9JQTMy LmJpbg0KICAgICAgR2xvYmFsVmFyXzVhOWU3NzU0LWQ4MWItNDllYS04NWFkLTY5ZWFhN2IxNTM5 Yl9YNjQuYmluDQoNCiAgICBpbiB0aGUgcHJvamVjdCByb290IGRpcmVjdG9yeS4gKFRoZSBHVUlE cyBtYXRjaCB0aGUgUExBVEZPUk1fR1VJRA0KICAgIHZhbHVlcyBmcm9tIEFybVZpcnRRZW11LmRz YyBhbmQgT3ZtZlBrZyouZHNjLikNCg0KICAgIFRoZXkgc2VlbSB0byBjb21lIGZyb20gcGF0Y2gg IkJhc2VUb29sczogRW5hYmxlIE11bHRpcGxlIFByb2Nlc3MNCiAgICBBdXRvR2VuIi4NCg0KICAg IENhbiB3ZSBwbGFjZSB0aGVzZSBmaWxlcyB1bmRlciB0aGUgQnVpbGQvIGRpcmVjdG9yeSBzb21l d2hlcmUsDQogICAgaW5zdGVhZD8NCg0KKDIpIFRoZSBRRU1VIHByb2plY3Qgbm93IGJ1bmRsZXMg ZWRrMiAoYXMgYSBnaXQgc3VibW9kdWxlIGZvciB0aGUgZWRrMg0KICAgIHRyZWUsIGFuZCBzb21l IGZpcm13YXJlIGJpbmFyaWVzIGJ1aWx0IGZyb20gdGhhdCkuIFRoZSBidWlsZCBzY3JpcHRzDQog ICAgY2FycmllZCBieSBRRU1VIHNldCBQWVRIT05fQ09NTUFORCB0byBweXRob24yLCBpbiBvcmRl ciB0byB3b3JrDQogICAgYXJvdW5kIFRpYW5vQ29yZSBCWiMxNjA3Lg0KDQogICAgRm9yIHJlZ3Jl c3Npb24tdGVzdGluZyB0aGlzIHNldCwgSSByYW4NCg0KICAgICQgbWFrZSAtQyByb21zIGVmaQ0K DQogICAgd2l0aCBRRU1VJ3MgZWRrMiBzdWJtb2R1bGUgYWR2YW5jZWQgdG8gY29tbWl0IDhmZjY4 Y2Q1ZTRjOSwgcGx1cw0KICAgIHRoaXMgc2V0IGFwcGxpZWQgKHNlZSBhYm92ZSksIGFuZCB3aXRo IFFFTVUgaXRzZWxmIGJlaW5nIGF0DQogICAgZTJiNDc2NjZmZTE1Lg0KDQogICAgVGhlIGJ1aWxk IGl0c2VsZiBwYXNzZXMgZmluZSwgc28gdGhhdCdzIGdvb2QuDQoNCiAgICBCdXQsIHNvbWUgKG5v dCBhbGwpIG9mIHRoZSBmaXJtd2FyZSBiaW5hcmllcyBhcmUgKm1pc2J1aWx0Ki4gSSdsbA0KICAg IGVsYWJvcmF0ZSBiZWxvdyAoaW5kZXBlbmRlbnRseSBvZiBRRU1VKS4NCg0KKDMpIENvbnNpZGVy IHRoZSBmb2xsb3dpbmcgdGVzdC4gKE5vdGUgdGhhdCB0aGlzIGlzIGluZGVwZW5kZW50IG9mIHRo ZQ0KICAgIFFFTVUgcHJvamVjdCBlbnRpcmVseS4pDQoNCiAgICAoM2EpIFNldCB1cCBhIHByaXN0 aW5lIGJ1aWxkIGVudmlyb25tZW50Og0KDQogICAgICAgICAjIE9wZW4gYSBuZXcgc2hlbGwsIHRo ZW46DQogICAgICAgICAkIGdpdCBjbGVhbiAtZmZkeA0KICAgICAgICAgJCBnaXQgcmVzZXQgLS1o YXJkDQogICAgICAgICAkIGdpdCBzdWJtb2R1bGUgZGVpbml0IC0tZm9yY2UgLS1hbGwNCiAgICAg ICAgICQgZ2l0IGNoZWNrb3V0IG1hc3Rlcg0KICAgICAgICAgJCBnaXQgc3VibW9kdWxlIHVwZGF0 ZSAtLWluaXQNCiAgICAgICAgICQgZXhwb3J0IFBZVEhPTl9DT01NQU5EPXB5dGhvbjINCiAgICAg ICAgICQgc291cmNlIGVka3NldHVwLnNoDQogICAgICAgICAkIG5pY2UgbWFrZSAtQyAiJEVES19U T09MU19QQVRIIiBcDQogICAgICAgICAgICAgLWogJChnZXRjb25mIF9OUFJPQ0VTU09SU19PTkxO KQ0KDQogICAgKDNiKSBCdWlsZCBPdm1mUGtnSUEzMiB3aXRoIG9uZSBzZXQgb2YgZmVhdHVyZXMs IGFuZCBjYXB0dXJlIGENCiAgICAgICAgIGNoZWNrc3VtIG9mIHRoZSByZXN1bHRhbnQgZmlybXdh cmUgYmluYXJ5Og0KDQogICAgICAgICAkIG5pY2UgYnVpbGQgLWEgSUEzMiAtYiBOT09QVCAtcCBP dm1mUGtnL092bWZQa2dJQTMyLmRzYyBcDQogICAgICAgICAgICAgLXQgR0NDNDgNCiAgICAgICAg ICQgbWQ1c3VtIEJ1aWxkL092bWZJYTMyL05PT1BUX0dDQzQ4L0ZWL09WTUZfQ09ERS5mZA0KICAg ICAgICAgOGQ1NjU3NWRkM2I1Yzg5YWM2ZjE4MjlhZTRmNDFiNTUNCg0KICAgICgzYykgKlJlKmJ1 aWxkIHRoZSBzYW1lIHBsYXRmb3JtIHdpdGggYSBkaWZmZXJlbnQgc2V0IG9mIGZlYXR1cmVzLA0K ICAgICAgICAgYW5kIGNhcHR1cmUgYSBjaGVja3N1bSBhZ2FpbjoNCg0KICAgICAgICAgJCBuaWNl IGJ1aWxkIC1hIElBMzIgLWIgTk9PUFQgLXAgT3ZtZlBrZy9Pdm1mUGtnSUEzMi5kc2MgXA0KICAg ICAgICAgICAgIC10IEdDQzQ4IC1EIFNFQ1VSRV9CT09UX0VOQUJMRSAtRCBTTU1fUkVRVUlSRQ0K ICAgICAgICAgJCBtZDVzdW0gQnVpbGQvT3ZtZklhMzIvTk9PUFRfR0NDNDgvRlYvT1ZNRl9DT0RF LmZkDQogICAgICAgICBlZDc5MDUyZTlhZGQyNDIxNzRjY2VmYzc4YTViZGRiMw0KDQogICAgT2th eSwgbm93IHJlcGVhdCBhbGwgdGhyZWUgc3RlcHMgZnJvbSB6ZXJvLCBidXQgd2l0aCB0aGUgcHJl c2VudA0KICAgIGZlYXR1cmUgcGF0Y2ggc2V0IGFwcGxpZWQ6DQoNCiAgICAoM2QpIFJlcGVhdCAo M2EpLCBidXQgcmF0aGVyIHRoYW4gY2hlY2tpbmcgb3V0IHRoZSBtYXN0ZXIgYnJhbmNoDQogICAg ICAgICB3aXRoICJnaXQgY2hlY2tvdXQiLCBjaGVjayBvdXQgdGhlIHRvcGljIGJyYW5jaCB0aGF0 IGlzIHRoZQ0KICAgICAgICAgc2FtZSAibWFzdGVyIiBjb21taXQsICpwbHVzKiB0aGUgcHJlc2Vu dCBzZXJpZXMgYXBwbGllZCBvbiB0b3AuDQoNCiAgICAgICAgIERvbid0IGZvcmdldCB0byBzdGFy dCBhIG5ldyBzaGVsbCBmaXJzdCENCg0KICAgICgzZSkgUmVwZWF0ICgzYik6DQoNCiAgICAgICAg ICQgbmljZSBidWlsZCAtYSBJQTMyIC1iIE5PT1BUIC1wIE92bWZQa2cvT3ZtZlBrZ0lBMzIuZHNj IFwNCiAgICAgICAgICAgICAtdCBHQ0M0OA0KICAgICAgICAgJCBtZDVzdW0gQnVpbGQvT3ZtZklh MzIvTk9PUFRfR0NDNDgvRlYvT1ZNRl9DT0RFLmZkDQogICAgICAgICA4ZDU2NTc1ZGQzYjVjODlh YzZmMTgyOWFlNGY0MWI1NQ0KDQogICAgICAgICBOb3RpY2UgdGhhdCB0aGUgY2hlY2tzdW0gaXMg aWRlbnRpY2FsIHRvIHRoYXQgZnJvbSAoM2IpLCBzbw0KICAgICAgICAgYWxsJ3MgZ29vZC4NCg0K ICAgICgzZikgUmVwZWF0ICgzYyk6DQoNCiAgICAgICAgICQgbmljZSBidWlsZCAtYSBJQTMyIC1i IE5PT1BUIC1wIE92bWZQa2cvT3ZtZlBrZ0lBMzIuZHNjIFwNCiAgICAgICAgICAgICAtdCBHQ0M0 OCAtRCBTRUNVUkVfQk9PVF9FTkFCTEUgLUQgU01NX1JFUVVJUkUNCiAgICAgICAgICQgbWQ1c3Vt IEJ1aWxkL092bWZJYTMyL05PT1BUX0dDQzQ4L0ZWL09WTUZfQ09ERS5mZA0KICAgICAgICAgYmFm MDhjNWE5ZWNiMGFkYzc1NGY1YjQ4NDEwYjY0NzYNCg0KICAgICAgICAgVGhpcyBpcyB0aGUgcHJv YmxlbTogdGhlIGNoZWNrc3VtIGRvZXMgbm90IG1hdGNoIHRoZSBvbmUgZnJvbQ0KICAgICAgICAg KDNjKS4gQW5kLCB0aGUgYmluYXJ5IGZyb20gKDNmKSBpcyBpbiBmYWN0IG1pcy1idWlsdCwgaXQN CiAgICAgICAgIGNyYXNoZXMgaW1tZWRpYXRlbHkgd2hlbiBsYXVuY2hlZCBvbiBRRU1VL0tWTSwg d2l0aCAiZW11bGF0aW9uDQogICAgICAgICBmYWlsdXJlIi4NCg0KICAgIFRodXM6DQoNCiAgICAt IFdpdGhvdXQgdGhlIHBhdGNoIHNldCwgaWYgSSBidWlsZCBhIHBsYXRmb3JtLCB0aGVuICpyZWJ1 aWxkKiBpdA0KICAgICAgd2l0aCBkaWZmZXJlbnQgLUQgZmxhZ3MsIHRoZW4gYm90aCBidWlsZHMg cHJvZHVjZSBwcm9wZXIgb3V0cHV0cy4NCg0KICAgIC0gV2l0aCB0aGUgcGF0Y2ggc2VyaWVzIGFw cGxpZWQgaG93ZXZlciwgb25seSB0aGUgaW5pdGlhbCBidWlsZA0KICAgICAgcHJvZHVjZXMgZ29v ZCByZXN1bHRzLiBUaGUgKnJlYnVpbGQqLCB3aXRoIGRpZmZlcmVudCAtRCBmbGFncywgaXMNCiAg ICAgICJwb2lzb25lZCIgYnkgdGhlIGFydGlmYWN0cyBzdGlsbCBsYXlpbmcgYXJvdW5kIGZyb20g dGhlIGZpcnN0DQogICAgICBidWlsZC4NCg0KICAgIEluIG90aGVyIHdvcmRzLCB0aGlzIGlzIGEg InN0YWxlIGNhY2hlIiBwcm9ibGVtLg0KDQooNCkgTm90IGEgc2hvdyBzdG9wcGVyLCBidXQgYSBk aXZlcmdlbmNlIGZyb20gcHJldmlvdXMgYmVoYXZpb3I6DQoNCiAgICBXaGVuIG9uZSBwcmVzc2Vz IEN0cmwtUyAodGhlICJzdG9wIiBjaGFyYWN0ZXIpIGluIGEgdGVybWluYWwsIHRoZQ0KICAgIHRl cm1pbmFsIG91dHB1dCAvIGF1dG9zY3JvbGxpbmcgaXMgc3VzcGVuZGVkLCB1bnRpbCBDdHJsLVEg KHRoZQ0KICAgICJzdGFydCIgY2hhcmFjdGVyKSBpcyBwcmVzc2VkLiBUaGlzIGlzIGdlbmVyYWxs eSB1c2VkIGZvciB0d28NCiAgICB0aGluZ3M6IHNjcm9sbGluZyBiYWNrIHRoZSB0ZXJtaW5hbCBo aXN0b3J5IG1hbnVhbGx5LCBmb3IgcmVhZGluZw0KICAgIHNvbWV0aGluZyB0aGF0IHNjcm9sbGVk IG9mZiB0aGUgc2NyZWVuLCBhbmQgZm9yIGJyaWVmbHkgcGF1c2luZw0KICAgIHdoYXRldmVyIHBy b2Nlc3NpbmcgdGhlIHByb2dyYW0gaXMgZG9pbmcuDQoNCiAgICBUaGUgaWRlYSBiZWluZywgaWYg dGhlIHByb2dyYW0gaXMgYmxvY2tlZCBpbiBhIHRlcm1pbmFsIHdyaXRlDQogICAgb3BlcmF0aW9u LCBpdCBjYW5ub3QgZG8gYW55dGhpbmcgZWxzZS4NCg0KICAgIFRoZSBwcmVzZW50IHBhdGNoIHNl dCBjaGFuZ2VzIHRoZSBsYXN0bHkgbWVudGlvbmVkIGJlaGF2aW9yLCBiZWNhdXNlDQogICAgdGhl IGxvZ2dpbmcgaXMgbm93IGRlY291cGxlZCB0byBhIHNlcGFyYXRlIHRocmVhZCAoIkJhc2VUb29s czogQWRkDQogICAgTG9nQWdlbnQgdG8gc3VwcG9ydCBtdWx0aXBsZSBwcm9jZXNzIEF1dG9nZW4i KS4gQXMgYSByZXN1bHQsIGlmIHRoZQ0KICAgICpvdXRwdXQqIG9mIExvZ0FnZW50IGlzIGJsb2Nr ZWQsIHRoYXQgZG9lcyBub3QgYmxvY2sgdGhlICppbnB1dCogb2YNCiAgICBMb2dBZ2VudCwgYW5k IHNvIHRoZSBxdWV1ZSAvIGJ1ZmZlciBpbiBMb2dBZ2VudCBncm93cyB3aXRob3V0IGJvdW5kLA0K ICAgIGFuZCB0aGUgYnVpbGQgY29udGludWVzIGV2ZW4gdGhvdWdoIHRoZSB0ZXJtaW5hbCBvdXRw dXQgaXMgc3RvcHBlZC4NCg0KICAgIFRoaXMgaXMgYSBjb21tb24gaW5pdGlhbCBzeW1wdG9tIG9m IHByb2dyYW1zIHdpdGggaW50ZXJuYWwgcXVldWVzIC0tDQogICAgaXQncyB1c3VhbGx5IGdvb2Qg dG8gaW1wbGVtZW50IGludGVybmFsIGZsb3cgY29udHJvbCwgdW5kZXIgd2hpY2gNCiAgICBhbnkg Z2l2ZW4gcXVldWUgaGFzIGEgbGltaXQsIGFuZCBpZiB0aGF0IGxpbWl0IGlzIHJlYWNoZWQsIHRo ZSBxdWV1ZQ0KICAgIGJsb2NrcyB0aGUgcHJvZHVjZXIgdGhyZWFkcyBmZWVkaW5nIGl0Lg0KDQog ICAgQWdhaW4sIHRoaXMgaXMgbm90IGEgc2hvdyBzdG9wcGVyLCBqdXN0IGEgZGl2ZXJnZW5jZSBm cm9tIHByZXZpb3VzDQogICAgYmVoYXZpb3Igd2hpY2ggd2Ugc2hvdWxkIGJlIGF3YXJlIG9mLCBh bmQgcG9zc2libHkgZG9jdW1lbnQNCiAgICBzb21ld2hlcmUuDQoNCiAgICBJbXBvcnRhbnRseSwg Q3RybC1aICh0aGUgInN1c3BlbmQiIGNoYXJhY3Rlcikgd29ya3MganVzdCBmaW5lLCBmb3INCiAg ICAqYm90aCogcHVycG9zZXMgZGVzY3JpYmVkIGFib3ZlLiAoQW5kIHRoZW4gcGVvcGxlIGNhbiBy ZXN1bWUgdGhlDQogICAgYnVpbGQgd2l0aCAiZmciLCBsaWtlIGFsd2F5cy4pDQoNCig1KSBUd28g cXVlc3Rpb25zIG91dCBvZiBpbnRlcmVzdDoNCg0KICAgIC0gSGFzIHRoaXMgc2VyaWVzIGJlZW4g dGVzdGVkIGZvciByZXN0YXJ0aW5nIGJ1aWxkcyB0aGF0IHdlcmUNCiAgICAgIGludGVycnVwdGVk IHdpdGggQ3RybC1DPyBDYW4gdGhlIG5ldyBidWlsZCAicGljayB1cCIgd2hlcmUgdGhlDQogICAg ICBwcmV2aW91cyBidWlsZCB3YXMgaW50ZXJydXB0ZWQ/DQoNCiAgICAtIERvIHdlIGludGVuZCB0 byBvZmZlciBhIGZsYWcgZm9yIGRpc2FibGluZyB0aGlzIGZlYXR1cmU/IEknbSBub3QNCiAgICAg IGltcGx5aW5nIHRoYXQgdGhlIG9sZCBjb2RlIHNob3VsZCBiZSBwcmVzZXJ2ZWQgYXMgYW4gYWx0 ZXJuYXRpdmUsDQogICAgICBidXQgcGVyaGFwcyBzb21lIGludGVybmFsIGNvbnN0YW50cyByZWxh dGVkIHRvIHBhcmFsbGVsaXphdGlvbiBjYW4NCiAgICAgIGJlIHR3ZWFrZWQgc3VjaCB0aGF0IHRo ZSB1bHRpbWF0ZSBiZWhhdmlvciBiZWNvbWVzIHNlcmlhbC4gSXMgdGhlDQogICAgICAiLW4gMSIg b3B0aW9uIHN1cHBvc2VkIHRvIGhhdmUgdGhhdCBlZmZlY3Q/DQoNCiAgICBUaGUgc2Vjb25kIHF1 ZXN0aW9uIGlzIHJlbGV2YW50IGJlY2F1c2UgcGVvcGxlIG1pZ2h0IHdhbnQgdG8gZGlzYWJsZQ0K ICAgIHRoZSBuZXcgZmVhdHVyZSB1bnRpbCBpdCBzdGFiaWxpemVzIChzZWUgaXNzdWUgKDMpIGZv ciBleGFtcGxlKS4NCg0KVGhhbmtzLA0KTGFzemxvDQo=