From user-return-219225-archive-asf-public=cust-asf.ponee.io@struts.apache.org Fri Jan 25 13:47:47 2019 Return-Path: X-Original-To: archive-asf-public@cust-asf.ponee.io Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by mx-eu-01.ponee.io (Postfix) with SMTP id E0A82180608 for ; Fri, 25 Jan 2019 13:47:45 +0100 (CET) Received: (qmail 30979 invoked by uid 500); 25 Jan 2019 12:47:44 -0000 Mailing-List: contact user-help@struts.apache.org; run by ezmlm Precedence: bulk List-Unsubscribe: List-Help: List-Post: List-Id: "Struts Users Mailing List" Reply-To: "Struts Users Mailing List" Delivered-To: mailing list user@struts.apache.org Received: (qmail 30963 invoked by uid 99); 25 Jan 2019 12:47:43 -0000 Received: from pnap-us-west-generic-nat.apache.org (HELO spamd3-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 25 Jan 2019 12:47:43 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd3-us-west.apache.org (ASF Mail Server at spamd3-us-west.apache.org) with ESMTP id 88455180A69 for ; Fri, 25 Jan 2019 12:47:43 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd3-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: 0.698 X-Spam-Level: X-Spam-Status: No, score=0.698 tagged_above=-999 required=6.31 tests=[DKIMWL_WL_MED=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_EF=-0.1, HEADER_FROM_DIFFERENT_DOMAINS=0.001, KAM_ASCII_DIVIDERS=0.8, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001] autolearn=disabled Authentication-Results: spamd3-us-west.apache.org (amavisd-new); dkim=pass (2048-bit key) header.d=live.com Received: from mx1-lw-us.apache.org ([10.40.0.8]) by localhost (spamd3-us-west.apache.org [10.40.0.10]) (amavisd-new, port 10024) with ESMTP id ABReM1KRB8Cq for ; Fri, 25 Jan 2019 12:47:40 +0000 (UTC) Received: from EUR01-HE1-obe.outbound.protection.outlook.com (mail-oln040092065079.outbound.protection.outlook.com [40.92.65.79]) by mx1-lw-us.apache.org (ASF Mail Server at mx1-lw-us.apache.org) with ESMTPS id 45F4460DDB for ; Fri, 25 Jan 2019 12:37:40 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=live.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=vDFuRt4J8g9ntKMHAB+/s/I+rn799F/V1SoqkApsNK4=; b=VuixFC7YtGOPykOEcBRq59jmsOw7l287fqQy11SLdbfbmLU4UwpVQh5YiaNNgfDBmlEROX0uJBhogtwMTD1ItuF4FbVfKEK1jAF5RNFsImT0sm/VK67N3F8Ah7P7NSUAKaA+lOBrD1x3vEXMSux1tf03kD2wtY7JhUiCUqm2BTUTFs5b1H85xn/44nXSjb/x9V1y6AhO6aBDAuvnSD/PgpTkLE7wk2X0jxKJG6fxJmkBHhIysnQfhv7NVskKEhuiPjIw8y40pytf38y4tGpvPtrnUW9fL9tG2+OpUTJZaKzk7WoRavDZr3j9jkXEP2yVZB/JkeeVFxEEMjloutj6RQ== Received: from VE1EUR01FT059.eop-EUR01.prod.protection.outlook.com (10.152.2.56) by VE1EUR01HT223.eop-EUR01.prod.protection.outlook.com (10.152.3.189) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.20.1558.11; Fri, 25 Jan 2019 12:37:32 +0000 Received: from AM6PR08MB4358.eurprd08.prod.outlook.com (10.152.2.58) by VE1EUR01FT059.mail.protection.outlook.com (10.152.3.127) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1558.11 via Frontend Transport; Fri, 25 Jan 2019 12:37:32 +0000 Received: from AM6PR08MB4358.eurprd08.prod.outlook.com ([fe80::46f:e0fd:59ca:6f32]) by AM6PR08MB4358.eurprd08.prod.outlook.com ([fe80::46f:e0fd:59ca:6f32%4]) with mapi id 15.20.1558.016; Fri, 25 Jan 2019 12:37:32 +0000 From: Yasser Zamani To: "user@struts.apache.org" Subject: Re: Java 11 support Thread-Topic: Java 11 support Thread-Index: AQHUs9Fgemo2OjSackq/J4q6MZZX7KW+Q+oAgAFqbACAAD96gA== Sender: Yasser Zamani Date: Fri, 25 Jan 2019 12:37:32 +0000 Message-ID: References: <73ca4e23-1a59-b6d4-8dc9-7df5828216ff@inform-technology.de> <2c13331d-5cd9-1fa5-c3fe-3fb4bd404a31@inform-technology.de> <0eaabe6d-5842-9f41-8b8b-7ef4953e0c38@inform-technology.de> In-Reply-To: <0eaabe6d-5842-9f41-8b8b-7ef4953e0c38@inform-technology.de> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-clientproxiedby: LO2P265CA0123.GBRP265.PROD.OUTLOOK.COM (2603:10a6:600:9f::15) To AM6PR08MB4358.eurprd08.prod.outlook.com (2603:10a6:20b:ba::21) x-incomingtopheadermarker: OriginalChecksum:90A2A8464B1A63C3452D71C19C43D008CAD07CC769C9F1D36EA543BB7455DF85;UpperCasedChecksum:CE77C8E83D251A5BFD2EBA895868FA253FCCE76FEB6E439CF2B266BCB41495CA;SizeAsReceived:9181;Count:65 x-ms-exchange-messagesentrepresentingtype: 2 x-tmn: [eQuoUvQPWPWFph+Yr8tDh+1pxQ9o0c6D] x-microsoft-original-message-id: <3e26405a-2e7c-8566-adac-43ab4e4909de@apache.org> x-ms-publictraffictype: Email x-microsoft-exchange-diagnostics: 1;VE1EUR01HT223;6:pUQlq545h/aN8xWSP/CFJiJPz22IxvQfNwwCTeVL/gSCK+OWALdCpatqlypvaAsJHYjN4pMXyiS4UEW/We9lNvO4mhdDMjyUbFMm312v3d1ulpq7KSXEFp5tkIt3Ndizo815lNE65eMgAJ2J8Zke/mwGWKq0ddfjJHPAONcqWdXEZKlS98iUBPS/qMKVxZ0FSogeZSPtqwYhpT7r1islZMmxWxT81RLwtyO4/5lq3YNymESycxOJ4HSy7H1B/HHcKDVVpgPmO8zqo5NklqelPzAem0Qwul3y1J4QG2yIQMKcvuLawgAF1gVZhYE9LZvSZh1gcRLw6OsA3CBQInHeM7sncbyEhq+jYwk5y5zv6VdX8RvSr+l3ynu6d/t2wO8HI4dCpreXugIsSGmmmCQQh8jrtZVdrpxr5y+SZhx7V+i4CXJraEt1bC0pW2W5i4mRrlY/WgBa18yxlJQO/CPF9g==;5:5iNtbojtJO0Z3KsJPEsnPDmZZaJenRh+FNEJgYwTUXLD59i9KHswdZtT3TlIPjbgliUsbgh/5KC1NmOTtqMDOB8jMh4vW4ROf2Wt6FX2cyWJd3mjWnceEuOqDjaoJavqJuJNuc0sszdv+uxVzD+vDpo+vVZQ5Fo8s/ek4FfJhxDeSSxYzIvwyOpIgnx+rf5RKdrke+nyQhfry3tWUPsg4w==;7:2QNWotqjL5JoXX8lge3hWmbhJ2PT3ksluVf+BvW0qhxIKFCHWWSKJm9VApJBbHcdwddzbknAGCitpKpFWZwHMGNTb90JRIwdhL92YhaKYbb2O0o09J6jWo1npjAZ08PQT5uFjjImHZOZ9JER4OJ/DQ== x-incomingheadercount: 65 x-eopattributedmessage: 0 x-microsoft-antispam: BCL:0;PCL:0;RULEID:(2390118)(7020095)(201702061078)(5061506573)(5061507331)(1603103135)(2017031320274)(2017031323274)(2017031324274)(2017031322404)(1601125500)(1603101475)(1701031045);SRVR:VE1EUR01HT223; x-ms-traffictypediagnostic: VE1EUR01HT223: x-exchange-antispam-report-cfa-test: BCL:0;PCL:0;RULEID:(4566010)(82015058);SRVR:VE1EUR01HT223;BCL:0;PCL:0;RULEID:;SRVR:VE1EUR01HT223; x-microsoft-antispam-message-info: RXX73/KntvbA4qx46kI+rL7bDBQvnqDavf6qlCnzyHjK/NtXcaV34OMU/n8HHQiH Content-Type: text/plain; charset="utf-8" Content-ID: Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: live.com X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: b6587b75-6f1a-4db7-b0b6-5cad10ef59a7 X-MS-Exchange-CrossTenant-Network-Message-Id: 6be90cf1-9fbe-4bc6-042c-08d682c1e008 X-MS-Exchange-CrossTenant-rms-persistedconsumerorg: b6587b75-6f1a-4db7-b0b6-5cad10ef59a7 X-MS-Exchange-CrossTenant-originalarrivaltime: 25 Jan 2019 12:37:30.4049 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Internet X-MS-Exchange-CrossTenant-id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-Transport-CrossTenantHeadersStamped: VE1EUR01HT223 SGVsbG8gYW5kIFRoYW5rIHlvdSBTZWJhc3RpYW4hDQoNCkNvdWxkIHlvdSBwbGVhc2UgY29udGlu dWUgd2l0aCB0aGlzIHdvcmthcm91bmQ6IGRvd25ncmFkZSBPR05MIHRvIDMuMS4xOC4NCjxkZXBl bmRlbmN5Pg0KIDxncm91cElkPm9nbmw8L2dyb3VwSWQ+DQogPGFydGlmYWN0SWQ+b2dubDwvYXJ0 aWZhY3RJZD4NCiA8dmVyc2lvbj4zLjEuMTg8L3ZlcnNpb24+DQo8L2RlcGVuZGVuY3k+DQphbmQg cmVwb3J0IGlmIGFueSBmdXJ0aGVyIGlzc3VlIGVtZXJnZXM/IElmIHNvIGl0J3Mgc28gZ3JlYXQg dG8gZml4IHRoZW0NCmFzIHdlbGwgZm9yIDIuNS4yMS4gSWYgbm90LCB0aGVuLCBpdCdzIGFuIGFu b3RoZXIgZXZpZGVuY2UgdG8gbWVyZ2UgWzFdLA0KSSB0aGluayA6KQ0KDQpTaW5jZXJlbHkgWW91 cnMsDQpZYXNzZXIuDQoNClsxXSBodHRwczovL2dpdGh1Yi5jb20vYXBhY2hlL3N0cnV0cy9wdWxs LzMxNQ0KDQpPbiAxLzI1LzIwMTkgMTI6MjAgUE0sIFNlYmFzdGlhbiBHw7Z0eiB3cm90ZToNCj4g SGV5IGd1eXMsDQo+IA0KPiBJIGNhbiB0ZWxsIHlvdSBub3cgdGhhdCBteSBvdGhlciBwcm9ibGVt cyBvciBub3QgcmVsYXRlZCB0byB0aGUgQVNNDQo+IGNvbmZpZ3VyYXRpb24gb3IgSmF2YSAxMS4N Cj4gSW4gdGhlIEFwYWNoZSBKSVJBIEkgaGF2ZSBjcmVhdGVkIGFub3RoZXIgaXNzdWVzDQo+ICho dHRwczovL2lzc3Vlcy5hcGFjaGUub3JnL2ppcmEvYnJvd3NlL1dXLTUwMDYpIHdoaWNoIGlzIHJl bGF0ZWQgdG8gT0dOTA0KPiBhY2Nlc3Npbmcgc3RhdGljIGZpZWxkcy4NCj4gDQo+IEtpbmQgcmVn YXJkcywNCj4gDQo+IFNlYmFzdGlhbg0KPiANCj4gQW0gMjQuMDEuMjAxOSB1bSAxMjoxMyBzY2hy aWViIFlhc3NlciBaYW1hbmk6DQo+PiBIaSBTZWJhc3RpYW4sIHRoYW5rcyBhZ2FpbiBmb3IgeW91 ciB0aW1lIHRvIGZlZWQgYmFjayEgSXQncyByZWFsbHkgYQ0KPj4gZ3JlYXQgaGVscC4NCj4+DQo+ PiBSZWdhcmRpbmcgdGhlIHdlYiBhcHAgZG9lc24ndCB3b3JrLCBpdCBhbHdheXMgYSBnb29kIHBy YWN0aWNlIHRvIGVuYWJsZQ0KPj4gZGV2TW9kZSBhbmQgc2V0IGxvZyBtb2RlIHRvIHdhcm4gb3Ig YXQgbmV4dCBzdGVwIHRvIGRlYnVnLg0KPj4NCj4+IEtpbmQgUmVnYXJkcy4NCj4+DQo+PiBPbiAx LzI0LzIwMTkgMjoxMSBQTSwgU2ViYXN0aWFuIEfDtnR6IHdyb3RlOg0KPj4+IEhlbGxvIFlhc3Nl ciwNCj4+Pg0KPj4+IEkgaGF2ZSBmb2xsb3dlZCB5b3VyIGluc3RydWN0aW9ucy4gVGhlIGV4Y2Vw dGlvbnMgYXJlIGdvbmUgYWx0aG91Z2ggbXkNCj4+PiB3ZWJhcHAgZG9lcyBub3Qgd29yayBlaXRo ZXIuDQo+Pj4gQnV0IEkgbmVlZCBtb3JlIHRpbWUgdG8gZmlndXJlIG91dCB3aGV0aGVyIHRoaXMg aXMgYSBnZW5lcmFsDQo+Pj4gY29tcGF0aWJpbGl0eSBpc3N1ZSBiZXR3ZWVuIHN0cnV0czIgMi41 LjIgYW5kIDIuNS4yMCBvciBhIG1hdHRlciBvZiB0aGUNCj4+PiBKYXZhIDExIGNvbXBpbGVyLg0K Pj4+DQo+Pj4NCj4+PiBBbSAyMy4wMS4yMDE5IHVtIDA4OjE3IHNjaHJpZWIgWWFzc2VyIFphbWFu aToNCj4+Pj4+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+Pj4+PiBGcm9tOiBTZWJhc3Rp YW4gR8O2dHogPHMuZ29ldHpAaW5mb3JtLXRlY2hub2xvZ3kuZGU+DQo+Pj4+PiBTZW50OiBUaHVy c2RheSwgSmFudWFyeSAxNywgMjAxOSA0OjQxIFBNDQo+Pj4+PiBUbzogdXNlckBzdHJ1dHMuYXBh Y2hlLm9yZw0KPj4+Pj4gU3ViamVjdDogUmU6IEphdmEgMTEgc3VwcG9ydA0KPj4+Pj4NCj4+Pj4+ IEhpIGZvbGtzLA0KPj4+Pj4NCj4+Pj4+IGl0IGFwcGVhcnMgdGhhdCB0aGVyZSBpcyBzb21lIHdv cmsgbGVmdCBpbiB0aGUgY29udmVudGlvbiBwbHVnaW4uIEFzIEkgY2FuIHNlZSBmcm9tDQo+Pj4+ PiBteSBJVlkgcmVzb2x2ZSBwcm9jZXNzIHRoaXMgcGx1Z2luIGRyYWdzIGluIGFzbSA1LjIuIEZy b20gaXRzIHNvdXJjZXMgaXQgbG9va3MgbGlrZSBpdA0KPj4+Pj4gc3VwcG9ydHMgY2xhc3MgdmVy c2lvbiB1cCB0byAxLjggKGNsYXNzIHZlcnNpb24gNTIpLg0KPj4+Pj4gQXMgd2UgY29tcGlsZSB3 aXRoIEpESyAxMSBhbHJlYWR5IChjbGFzcyB2ZXJzaW9uIDU1KSB3ZSBnZXQgYSBsb3Qgb2YgdGhl c2UNCj4+Pj4+IGV4Y2VwdGlvbnM6DQo+Pj4+Pg0KPj4+Pj4gwqBqYXZhLmxhbmcuSWxsZWdhbEFy Z3VtZW50RXhjZXB0aW9uDQo+Pj4+PiDCoMKgwqAgYXQgb3JnLm9iamVjdHdlYi5hc20uQ2xhc3NS ZWFkZXIuPGluaXQ+KFVua25vd24gU291cmNlKQ0KPj4+Pj4gwqDCoMKgIGF0IG9yZy5vYmplY3R3 ZWIuYXNtLkNsYXNzUmVhZGVyLjxpbml0PihVbmtub3duIFNvdXJjZSkNCj4+Pj4+IMKgwqDCoCBh dCBvcmcub2JqZWN0d2ViLmFzbS5DbGFzc1JlYWRlci48aW5pdD4oVW5rbm93biBTb3VyY2UpDQo+ Pj4+PiDCoMKgwqAgYXQNCj4+Pj4+IG9yZy5hcGFjaGUuc3RydXRzMi5jb252ZW50aW9uLkRlZmF1 bHRDbGFzc0ZpbmRlci5yZWFkQ2xhc3NEZWYoRGVmYXVsdENsYXNzRmluZA0KPj4+Pj4gZXIuamF2 YTo0NjEpDQo+Pj4+PiDCoMKgwqAgYXQNCj4+Pj4+IG9yZy5hcGFjaGUuc3RydXRzMi5jb252ZW50 aW9uLkRlZmF1bHRDbGFzc0ZpbmRlci48aW5pdD4oRGVmYXVsdENsYXNzRmluZGVyLmphdmE6DQo+ Pj4+PiA5MykNCj4+Pj4+IMKgwqDCoCBhdA0KPj4+Pj4gb3JnLmFwYWNoZS5zdHJ1dHMyLmNvbnZl bnRpb24uUGFja2FnZUJhc2VkQWN0aW9uQ29uZmlnQnVpbGRlci5idWlsZENsYXNzRmluZA0KPj4+ Pj4gZXIoUGFja2FnZUJhc2VkQWN0aW9uQ29uZmlnQnVpbGRlci5qYXZhOjM5NSkNCj4+Pj4+IMKg wqDCoCBhdA0KPj4+Pj4gb3JnLmFwYWNoZS5zdHJ1dHMyLmNvbnZlbnRpb24uUGFja2FnZUJhc2Vk QWN0aW9uQ29uZmlnQnVpbGRlci5maW5kQWN0aW9ucyhQYQ0KPj4+Pj4gY2thZ2VCYXNlZEFjdGlv bkNvbmZpZ0J1aWxkZXIuamF2YTozNzcpDQo+Pj4+PiDCoMKgwqAgYXQNCj4+Pj4+IG9yZy5hcGFj aGUuc3RydXRzMi5jb252ZW50aW9uLlBhY2thZ2VCYXNlZEFjdGlvbkNvbmZpZ0J1aWxkZXIuYnVp bGRBY3Rpb25Dbw0KPj4+Pj4gbmZpZ3MoUGFja2FnZUJhc2VkQWN0aW9uQ29uZmlnQnVpbGRlci5q YXZhOjMzMykNCj4+Pj4+IMKgwqDCoCBhdA0KPj4+Pj4gb3JnLmFwYWNoZS5zdHJ1dHMyLmNvbnZl bnRpb24uQ2xhc3NwYXRoUGFja2FnZVByb3ZpZGVyLmxvYWRQYWNrYWdlcyhDbGFzc3BhdA0KPj4+ Pj4gaFBhY2thZ2VQcm92aWRlci5qYXZhOjUyKQ0KPj4+Pj4gwqDCoMKgIGF0DQo+Pj4+PiBjb20u b3BlbnN5bXBob255Lnh3b3JrMi5jb25maWcuaW1wbC5EZWZhdWx0Q29uZmlndXJhdGlvbi5yZWxv YWRDb250YWluZXIoRA0KPj4+Pj4gZWZhdWx0Q29uZmlndXJhdGlvbi5qYXZhOjIwNikNCj4+Pj4+ IMKgwqDCoCBhdA0KPj4+Pj4gY29tLm9wZW5zeW1waG9ueS54d29yazIuY29uZmlnLkNvbmZpZ3Vy YXRpb25NYW5hZ2VyLmdldENvbmZpZ3VyYXRpb24oQ29uDQo+Pj4+PiBmaWd1cmF0aW9uTWFuYWdl ci5qYXZhOjY2KQ0KPj4+Pj4gwqDCoMKgIGF0DQo+Pj4+PiBvcmcuYXBhY2hlLnN0cnV0czIuZGlz cGF0Y2hlci5EaXNwYXRjaGVyLmdldENvbnRhaW5lcihEaXNwYXRjaGVyLmphdmE6OTU3KQ0KPj4+ Pj4gwqDCoMKgIGF0DQo+Pj4+PiBvcmcuYXBhY2hlLnN0cnV0czIuZGlzcGF0Y2hlci5EaXNwYXRj aGVyLmluaXRfUHJlbG9hZENvbmZpZ3VyYXRpb24oRGlzcGF0Y2hlci5qDQo+Pj4+PiBhdmE6NDYz KQ0KPj4+Pj4gwqDCoMKgIGF0IG9yZy5hcGFjaGUuc3RydXRzMi5kaXNwYXRjaGVyLkRpc3BhdGNo ZXIuaW5pdChEaXNwYXRjaGVyLmphdmE6NDk2KQ0KPj4+Pj4gwqDCoMKgIGF0DQo+Pj4+PiBvcmcu YXBhY2hlLnN0cnV0czIuZGlzcGF0Y2hlci5Jbml0T3BlcmF0aW9ucy5pbml0RGlzcGF0Y2hlcihJ bml0T3BlcmF0aW9ucy5qYXZhOjcNCj4+Pj4+IDMpDQo+Pj4+PiDCoMKgwqAgYXQNCj4+Pj4+IG9y Zy5hcGFjaGUuc3RydXRzMi5kaXNwYXRjaGVyLmZpbHRlci5TdHJ1dHNQcmVwYXJlQW5kRXhlY3V0 ZUZpbHRlci5pbml0KFN0cnV0c1ByZXANCj4+Pj4+IGFyZUFuZEV4ZWN1dGVGaWx0ZXIuamF2YTo2 MSkNCj4+Pj4+IMKgwqDCoCBhdA0KPj4+Pj4gZXUuaW5mb3JtLnNlcnZsZXQuY29udGV4dC5VUklF eGNsdWRlRmlsdGVyLmluaXQoVVJJRXhjbHVkZUZpbHRlci5qYXZhOjM3KQ0KPj4+Pj4gwqDCoMKg IGF0DQo+Pj4+PiBvcmcuYXBhY2hlLmNhdGFsaW5hLmNvcmUuQXBwbGljYXRpb25GaWx0ZXJDb25m aWcuaW5pdEZpbHRlcihBcHBsaWNhdGlvbkZpbHRlckNvbmZpZw0KPj4+Pj4gLmphdmE6MjcwKQ0K Pj4+Pj4gwqDCoMKgIGF0DQo+Pj4+PiBvcmcuYXBhY2hlLmNhdGFsaW5hLmNvcmUuQXBwbGljYXRp b25GaWx0ZXJDb25maWcuZ2V0RmlsdGVyKEFwcGxpY2F0aW9uRmlsdGVyQ29uZmlnDQo+Pj4+PiAu amF2YToyNTEpDQo+Pj4+PiDCoMKgwqAgYXQNCj4+Pj4+IG9yZy5hcGFjaGUuY2F0YWxpbmEuY29y ZS5BcHBsaWNhdGlvbkZpbHRlckNvbmZpZy48aW5pdD4oQXBwbGljYXRpb25GaWx0ZXJDb25maWcu amENCj4+Pj4+IHZhOjEwMikNCj4+Pj4+IMKgwqDCoCBhdA0KPj4+Pj4gb3JnLmFwYWNoZS5jYXRh bGluYS5jb3JlLlN0YW5kYXJkQ29udGV4dC5maWx0ZXJTdGFydChTdGFuZGFyZENvbnRleHQuamF2 YTo0NDkxKQ0KPj4+Pj4gwqDCoMKgIGF0DQo+Pj4+PiBvcmcuYXBhY2hlLmNhdGFsaW5hLmNvcmUu U3RhbmRhcmRDb250ZXh0LnN0YXJ0SW50ZXJuYWwoU3RhbmRhcmRDb250ZXh0LmphdmE6NTENCj4+ Pj4+IDM1KQ0KPj4+Pj4gwqDCoMKgIGF0IG9yZy5hcGFjaGUuY2F0YWxpbmEudXRpbC5MaWZlY3lj bGVCYXNlLnN0YXJ0KExpZmVjeWNsZUJhc2UuamF2YToxODMpDQo+Pj4+PiDCoMKgwqAgYXQNCj4+ Pj4+IG9yZy5hcGFjaGUuY2F0YWxpbmEuY29yZS5Db250YWluZXJCYXNlJFN0YXJ0Q2hpbGQuY2Fs bChDb250YWluZXJCYXNlLmphdmE6MTQzMg0KPj4+Pj4gKQ0KPj4+Pj4gwqDCoMKgIGF0DQo+Pj4+ PiBvcmcuYXBhY2hlLmNhdGFsaW5hLmNvcmUuQ29udGFpbmVyQmFzZSRTdGFydENoaWxkLmNhbGwo Q29udGFpbmVyQmFzZS5qYXZhOjE0MjINCj4+Pj4+ICkNCj4+Pj4+IMKgwqDCoCBhdCBqYXZhLmJh c2UvamF2YS51dGlsLmNvbmN1cnJlbnQuRnV0dXJlVGFzay5ydW4oRnV0dXJlVGFzay5qYXZhOjI2 NCkNCj4+Pj4+IMKgwqDCoCBhdA0KPj4+Pj4gb3JnLmFwYWNoZS50b21jYXQudXRpbC50aHJlYWRz LklubGluZUV4ZWN1dG9yU2VydmljZS5leGVjdXRlKElubGluZUV4ZWN1dG9yU2Vydg0KPj4+Pj4g aWNlLmphdmE6NzUpDQo+Pj4+PiDCoMKgwqAgYXQNCj4+Pj4+IGphdmEuYmFzZS9qYXZhLnV0aWwu Y29uY3VycmVudC5BYnN0cmFjdEV4ZWN1dG9yU2VydmljZS5zdWJtaXQoQWJzdHJhY3RFeGVjdXRv clMNCj4+Pj4+IGVydmljZS5qYXZhOjE0MCkNCj4+Pj4+IMKgwqDCoCBhdA0KPj4+Pj4gb3JnLmFw YWNoZS5jYXRhbGluYS5jb3JlLkNvbnRhaW5lckJhc2Uuc3RhcnRJbnRlcm5hbChDb250YWluZXJC YXNlLmphdmE6OTQ0KQ0KPj4+Pj4gwqDCoMKgIGF0DQo+Pj4+PiBvcmcuYXBhY2hlLmNhdGFsaW5h LmNvcmUuU3RhbmRhcmRIb3N0LnN0YXJ0SW50ZXJuYWwoU3RhbmRhcmRIb3N0LmphdmE6ODMxKQ0K Pj4+Pj4gwqDCoMKgIGF0IG9yZy5hcGFjaGUuY2F0YWxpbmEudXRpbC5MaWZlY3ljbGVCYXNlLnN0 YXJ0KExpZmVjeWNsZUJhc2UuamF2YToxODMpDQo+Pj4+PiDCoMKgwqAgYXQNCj4+Pj4+IG9yZy5h cGFjaGUuY2F0YWxpbmEuY29yZS5Db250YWluZXJCYXNlJFN0YXJ0Q2hpbGQuY2FsbChDb250YWlu ZXJCYXNlLmphdmE6MTQzMg0KPj4+Pj4gKQ0KPj4+Pj4gwqDCoMKgIGF0DQo+Pj4+PiBvcmcuYXBh Y2hlLmNhdGFsaW5hLmNvcmUuQ29udGFpbmVyQmFzZSRTdGFydENoaWxkLmNhbGwoQ29udGFpbmVy QmFzZS5qYXZhOjE0MjINCj4+Pj4+ICkNCj4+Pj4+IMKgwqDCoCBhdCBqYXZhLmJhc2UvamF2YS51 dGlsLmNvbmN1cnJlbnQuRnV0dXJlVGFzay5ydW4oRnV0dXJlVGFzay5qYXZhOjI2NCkNCj4+Pj4+ IMKgwqDCoCBhdA0KPj4+Pj4gb3JnLmFwYWNoZS50b21jYXQudXRpbC50aHJlYWRzLklubGluZUV4 ZWN1dG9yU2VydmljZS5leGVjdXRlKElubGluZUV4ZWN1dG9yU2Vydg0KPj4+Pj4gaWNlLmphdmE6 NzUpDQo+Pj4+PiDCoMKgwqAgYXQNCj4+Pj4+IGphdmEuYmFzZS9qYXZhLnV0aWwuY29uY3VycmVu dC5BYnN0cmFjdEV4ZWN1dG9yU2VydmljZS5zdWJtaXQoQWJzdHJhY3RFeGVjdXRvclMNCj4+Pj4+ IGVydmljZS5qYXZhOjE0MCkNCj4+Pj4+IMKgwqDCoCBhdA0KPj4+Pj4gb3JnLmFwYWNoZS5jYXRh bGluYS5jb3JlLkNvbnRhaW5lckJhc2Uuc3RhcnRJbnRlcm5hbChDb250YWluZXJCYXNlLmphdmE6 OTQ0KQ0KPj4+Pj4gwqDCoMKgIGF0DQo+Pj4+PiBvcmcuYXBhY2hlLmNhdGFsaW5hLmNvcmUuU3Rh bmRhcmRFbmdpbmUuc3RhcnRJbnRlcm5hbChTdGFuZGFyZEVuZ2luZS5qYXZhOjI2MSkNCj4+Pj4+ IMKgwqDCoCBhdCBvcmcuYXBhY2hlLmNhdGFsaW5hLnV0aWwuTGlmZWN5Y2xlQmFzZS5zdGFydChM aWZlY3ljbGVCYXNlLmphdmE6MTgzKQ0KPj4+Pj4gwqDCoMKgIGF0DQo+Pj4+PiBvcmcuYXBhY2hl LmNhdGFsaW5hLmNvcmUuU3RhbmRhcmRTZXJ2aWNlLnN0YXJ0SW50ZXJuYWwoU3RhbmRhcmRTZXJ2 aWNlLmphdmE6NDIyKQ0KPj4+Pj4gwqDCoMKgIGF0IG9yZy5hcGFjaGUuY2F0YWxpbmEudXRpbC5M aWZlY3ljbGVCYXNlLnN0YXJ0KExpZmVjeWNsZUJhc2UuamF2YToxODMpDQo+Pj4+PiDCoMKgwqAg YXQNCj4+Pj4+IG9yZy5hcGFjaGUuY2F0YWxpbmEuY29yZS5TdGFuZGFyZFNlcnZlci5zdGFydElu dGVybmFsKFN0YW5kYXJkU2VydmVyLmphdmE6ODAxKQ0KPj4+Pj4gwqDCoMKgIGF0IG9yZy5hcGFj aGUuY2F0YWxpbmEudXRpbC5MaWZlY3ljbGVCYXNlLnN0YXJ0KExpZmVjeWNsZUJhc2UuamF2YTox ODMpDQo+Pj4+PiDCoMKgwqAgYXQgb3JnLmFwYWNoZS5jYXRhbGluYS5zdGFydHVwLkNhdGFsaW5h LnN0YXJ0KENhdGFsaW5hLmphdmE6Njk1KQ0KPj4+Pj4gwqDCoMKgIGF0DQo+Pj4+PiBqYXZhLmJh c2UvamRrLmludGVybmFsLnJlZmxlY3QuTmF0aXZlTWV0aG9kQWNjZXNzb3JJbXBsLmludm9rZTAo TmF0aXZlDQo+Pj4+PiBNZXRob2QpDQo+Pj4+PiDCoMKgwqAgYXQNCj4+Pj4+IGphdmEuYmFzZS9q ZGsuaW50ZXJuYWwucmVmbGVjdC5OYXRpdmVNZXRob2RBY2Nlc3NvckltcGwuaW52b2tlKE5hdGl2 ZU1ldGhvZEENCj4+Pj4+IGNjZXNzb3JJbXBsLmphdmE6NjIpDQo+Pj4+PiDCoMKgwqAgYXQNCj4+ Pj4+IGphdmEuYmFzZS9qZGsuaW50ZXJuYWwucmVmbGVjdC5EZWxlZ2F0aW5nTWV0aG9kQWNjZXNz b3JJbXBsLmludm9rZShEZWxlZ2F0aW5nDQo+Pj4+PiBNZXRob2RBY2Nlc3NvckltcGwuamF2YTo0 MykNCj4+Pj4+IMKgwqDCoCBhdCBqYXZhLmJhc2UvamF2YS5sYW5nLnJlZmxlY3QuTWV0aG9kLmlu dm9rZShNZXRob2QuamF2YTo1NjYpDQo+Pj4+PiDCoMKgwqAgYXQgb3JnLmFwYWNoZS5jYXRhbGlu YS5zdGFydHVwLkJvb3RzdHJhcC5zdGFydChCb290c3RyYXAuamF2YTozNTApDQo+Pj4+PiDCoMKg wqAgYXQgb3JnLmFwYWNoZS5jYXRhbGluYS5zdGFydHVwLkJvb3RzdHJhcC5tYWluKEJvb3RzdHJh cC5qYXZhOjQ5MikNCj4+Pj4+DQo+Pj4+PiBJIHRyaWVkIHRvIGV4Y2x1ZGUgYXNtIDUuMiBvbiBm YXZvciBvZiA3LjAgd2hpY2ggd29ya3MgZnJvbSB0aGUgZGVwZW5kZW5jeQ0KPj4+Pj4gcmVzb2x2 aW5nIHNpZGUuIEJ1dCB0aGUgU3RydXRzMiBDbGFzc1Zpc2l0b3IgaW1wbGVtZW50YXRpb24gaXMg dGllZCB0byBBU00gNToNCj4+Pj4+DQo+Pj4+PiBwdWJsaWMgY2xhc3MgSW5mb0J1aWxkaW5nVmlz aXRvciBleHRlbmRzIENsYXNzVmlzaXRvciB7DQo+Pj4+PiDCoMKgwqDCoMKgwqDCoCBwcml2YXRl IEluZm8gaW5mbzsNCj4+Pj4+IMKgwqDCoMKgwqDCoMKgIHByaXZhdGUgQ2xhc3NGaW5kZXIgY2xh c3NGaW5kZXI7DQo+Pj4+Pg0KPj4+Pj4gwqDCoMKgwqDCoMKgwqAgcHVibGljIEluZm9CdWlsZGlu Z1Zpc2l0b3IoQ2xhc3NGaW5kZXIgY2xhc3NGaW5kZXIpIHsNCj4+Pj4+IMKgwqDCoMKgwqDCoMKg wqDCoMKgwqAgc3VwZXIoT3Bjb2Rlcy5BU001KTsNCj4+Pj4+IMKgwqDCoMKgwqDCoMKgwqDCoMKg wqAgdGhpcy5jbGFzc0ZpbmRlciA9IGNsYXNzRmluZGVyOw0KPj4+Pj4gwqDCoMKgwqDCoMKgwqAg fQ0KPj4+Pj4gLi4uDQo+Pj4+PiB9DQo+Pj4+Pg0KPj4+Pj4gVGhlcmVmb3JlIHRoaXMgbGVhZHMg dG8gdGhlIGZvbGxvd2luZyBwcm9ibGVtOg0KPj4+Pj4NCj4+Pj4+IGphdmEubGFuZy5VbnN1cHBv cnRlZE9wZXJhdGlvbkV4Y2VwdGlvbjogVGhpcyBmZWF0dXJlIHJlcXVpcmVzIEFTTTcNCj4+Pj4+ IMKgwqDCoCBhdA0KPj4+Pj4gb3JnLm9iamVjdHdlYi5hc20uQ2xhc3NWaXNpdG9yLnZpc2l0TmVz dE1lbWJlcihDbGFzc1Zpc2l0b3IuamF2YToyMzYpDQo+Pj4+PiDCoMKgwqAgYXQgb3JnLm9iamVj dHdlYi5hc20uQ2xhc3NSZWFkZXIuYWNjZXB0KENsYXNzUmVhZGVyLmphdmE6NjUxKQ0KPj4+Pj4g wqDCoMKgIGF0IG9yZy5vYmplY3R3ZWIuYXNtLkNsYXNzUmVhZGVyLmFjY2VwdChDbGFzc1JlYWRl ci5qYXZhOjM5MSkNCj4+Pj4+IMKgwqDCoCBhdA0KPj4+Pj4gb3JnLmFwYWNoZS5zdHJ1dHMyLmNv bnZlbnRpb24uRGVmYXVsdENsYXNzRmluZGVyLnJlYWRDbGFzc0RlZihEZWZhdWx0Q2xhc3NGaW5k DQo+Pj4+PiBlci5qYXZhOjQ2MikNCj4+Pj4+IMKgwqDCoCBhdA0KPj4+Pj4gb3JnLmFwYWNoZS5z dHJ1dHMyLmNvbnZlbnRpb24uRGVmYXVsdENsYXNzRmluZGVyLjxpbml0PihEZWZhdWx0Q2xhc3NG aW5kZXIuamF2YToNCj4+Pj4+IDkzKQ0KPj4+Pj4gwqDCoMKgIGF0DQo+Pj4+PiBvcmcuYXBhY2hl LnN0cnV0czIuY29udmVudGlvbi5QYWNrYWdlQmFzZWRBY3Rpb25Db25maWdCdWlsZGVyLmJ1aWxk Q2xhc3NGaW5kDQo+Pj4+PiBlcihQYWNrYWdlQmFzZWRBY3Rpb25Db25maWdCdWlsZGVyLmphdmE6 Mzk1KQ0KPj4+Pj4gwqDCoMKgIGF0DQo+Pj4+PiBvcmcuYXBhY2hlLnN0cnV0czIuY29udmVudGlv bi5QYWNrYWdlQmFzZWRBY3Rpb25Db25maWdCdWlsZGVyLmZpbmRBY3Rpb25zKFBhDQo+Pj4+PiBj a2FnZUJhc2VkQWN0aW9uQ29uZmlnQnVpbGRlci5qYXZhOjM3NykNCj4+Pj4+IMKgwqDCoCBhdA0K Pj4+Pj4gb3JnLmFwYWNoZS5zdHJ1dHMyLmNvbnZlbnRpb24uUGFja2FnZUJhc2VkQWN0aW9uQ29u ZmlnQnVpbGRlci5idWlsZEFjdGlvbkNvDQo+Pj4+PiBuZmlncyhQYWNrYWdlQmFzZWRBY3Rpb25D b25maWdCdWlsZGVyLmphdmE6MzMzKQ0KPj4+Pj4gwqDCoMKgIGF0DQo+Pj4+PiBvcmcuYXBhY2hl LnN0cnV0czIuY29udmVudGlvbi5DbGFzc3BhdGhQYWNrYWdlUHJvdmlkZXIubG9hZFBhY2thZ2Vz KENsYXNzcGF0DQo+Pj4+PiBoUGFja2FnZVByb3ZpZGVyLmphdmE6NTIpDQo+Pj4+PiDCoMKgwqAg YXQNCj4+Pj4+IGNvbS5vcGVuc3ltcGhvbnkueHdvcmsyLmNvbmZpZy5pbXBsLkRlZmF1bHRDb25m aWd1cmF0aW9uLnJlbG9hZENvbnRhaW5lcihEDQo+Pj4+PiBlZmF1bHRDb25maWd1cmF0aW9uLmph dmE6MjA2KQ0KPj4+Pj4gwqDCoMKgIGF0DQo+Pj4+PiBjb20ub3BlbnN5bXBob255Lnh3b3JrMi5j b25maWcuQ29uZmlndXJhdGlvbk1hbmFnZXIuZ2V0Q29uZmlndXJhdGlvbihDb24NCj4+Pj4+IGZp Z3VyYXRpb25NYW5hZ2VyLmphdmE6NjYpDQo+Pj4+PiDCoMKgwqAgYXQNCj4+Pj4+IG9yZy5hcGFj aGUuc3RydXRzMi5kaXNwYXRjaGVyLkRpc3BhdGNoZXIuZ2V0Q29udGFpbmVyKERpc3BhdGNoZXIu amF2YTo5NTcpDQo+Pj4+PiDCoMKgwqAgYXQNCj4+Pj4+IG9yZy5hcGFjaGUuc3RydXRzMi5kaXNw YXRjaGVyLkRpc3BhdGNoZXIuaW5pdF9QcmVsb2FkQ29uZmlndXJhdGlvbihEaXNwYXRjaGVyLmoN Cj4+Pj4+IGF2YTo0NjMpDQo+Pj4+PiDCoMKgwqAgYXQgb3JnLmFwYWNoZS5zdHJ1dHMyLmRpc3Bh dGNoZXIuRGlzcGF0Y2hlci5pbml0KERpc3BhdGNoZXIuamF2YTo0OTYpDQo+Pj4+PiDCoMKgwqAg YXQNCj4+Pj4+IG9yZy5hcGFjaGUuc3RydXRzMi5kaXNwYXRjaGVyLkluaXRPcGVyYXRpb25zLmlu aXREaXNwYXRjaGVyKEluaXRPcGVyYXRpb25zLmphdmE6Nw0KPj4+Pj4gMykNCj4+Pj4+IMKgwqDC oCBhdA0KPj4+Pj4gb3JnLmFwYWNoZS5zdHJ1dHMyLmRpc3BhdGNoZXIuZmlsdGVyLlN0cnV0c1By ZXBhcmVBbmRFeGVjdXRlRmlsdGVyLmluaXQoU3RydXRzUHJlcA0KPj4+Pj4gYXJlQW5kRXhlY3V0 ZUZpbHRlci5qYXZhOjYxKQ0KPj4+Pj4gwqDCoMKgIGF0DQo+Pj4+PiBldS5pbmZvcm0uc2Vydmxl dC5jb250ZXh0LlVSSUV4Y2x1ZGVGaWx0ZXIuaW5pdChVUklFeGNsdWRlRmlsdGVyLmphdmE6Mzcp DQo+Pj4+PiDCoMKgwqAgYXQNCj4+Pj4+IG9yZy5hcGFjaGUuY2F0YWxpbmEuY29yZS5BcHBsaWNh dGlvbkZpbHRlckNvbmZpZy5pbml0RmlsdGVyKEFwcGxpY2F0aW9uRmlsdGVyQ29uZmlnDQo+Pj4+ PiAuamF2YToyNzApDQo+Pj4+PiDCoMKgwqAgYXQNCj4+Pj4+IG9yZy5hcGFjaGUuY2F0YWxpbmEu Y29yZS5BcHBsaWNhdGlvbkZpbHRlckNvbmZpZy5nZXRGaWx0ZXIoQXBwbGljYXRpb25GaWx0ZXJD b25maWcNCj4+Pj4+IC5qYXZhOjI1MSkNCj4+Pj4+IMKgwqDCoCBhdA0KPj4+Pj4gb3JnLmFwYWNo ZS5jYXRhbGluYS5jb3JlLkFwcGxpY2F0aW9uRmlsdGVyQ29uZmlnLjxpbml0PihBcHBsaWNhdGlv bkZpbHRlckNvbmZpZy5qYQ0KPj4+Pj4gdmE6MTAyKQ0KPj4+Pj4gwqDCoMKgIGF0DQo+Pj4+PiBv cmcuYXBhY2hlLmNhdGFsaW5hLmNvcmUuU3RhbmRhcmRDb250ZXh0LmZpbHRlclN0YXJ0KFN0YW5k YXJkQ29udGV4dC5qYXZhOjQ0OTEpDQo+Pj4+PiDCoMKgwqAgYXQNCj4+Pj4+IG9yZy5hcGFjaGUu Y2F0YWxpbmEuY29yZS5TdGFuZGFyZENvbnRleHQuc3RhcnRJbnRlcm5hbChTdGFuZGFyZENvbnRl eHQuamF2YTo1MQ0KPj4+Pj4gMzUpDQo+Pj4+PiDCoMKgwqAgYXQgb3JnLmFwYWNoZS5jYXRhbGlu YS51dGlsLkxpZmVjeWNsZUJhc2Uuc3RhcnQoTGlmZWN5Y2xlQmFzZS5qYXZhOjE4MykNCj4+Pj4+ IMKgwqDCoCBhdA0KPj4+Pj4gb3JnLmFwYWNoZS5jYXRhbGluYS5jb3JlLkNvbnRhaW5lckJhc2Uk U3RhcnRDaGlsZC5jYWxsKENvbnRhaW5lckJhc2UuamF2YToxNDMyDQo+Pj4+PiApDQo+Pj4+PiDC oMKgwqAgYXQNCj4+Pj4+IG9yZy5hcGFjaGUuY2F0YWxpbmEuY29yZS5Db250YWluZXJCYXNlJFN0 YXJ0Q2hpbGQuY2FsbChDb250YWluZXJCYXNlLmphdmE6MTQyMg0KPj4+Pj4gKQ0KPj4+Pj4gwqDC oMKgIGF0IGphdmEuYmFzZS9qYXZhLnV0aWwuY29uY3VycmVudC5GdXR1cmVUYXNrLnJ1bihGdXR1 cmVUYXNrLmphdmE6MjY0KQ0KPj4+Pj4gwqDCoMKgIGF0DQo+Pj4+PiBvcmcuYXBhY2hlLnRvbWNh dC51dGlsLnRocmVhZHMuSW5saW5lRXhlY3V0b3JTZXJ2aWNlLmV4ZWN1dGUoSW5saW5lRXhlY3V0 b3JTZXJ2DQo+Pj4+PiBpY2UuamF2YTo3NSkNCj4+Pj4+IMKgwqDCoCBhdA0KPj4+Pj4gamF2YS5i YXNlL2phdmEudXRpbC5jb25jdXJyZW50LkFic3RyYWN0RXhlY3V0b3JTZXJ2aWNlLnN1Ym1pdChB YnN0cmFjdEV4ZWN1dG9yUw0KPj4+Pj4gZXJ2aWNlLmphdmE6MTQwKQ0KPj4+Pj4gwqDCoMKgIGF0 DQo+Pj4+PiBvcmcuYXBhY2hlLmNhdGFsaW5hLmNvcmUuQ29udGFpbmVyQmFzZS5zdGFydEludGVy bmFsKENvbnRhaW5lckJhc2UuamF2YTo5NDQpDQo+Pj4+PiDCoMKgwqAgYXQNCj4+Pj4+IG9yZy5h cGFjaGUuY2F0YWxpbmEuY29yZS5TdGFuZGFyZEhvc3Quc3RhcnRJbnRlcm5hbChTdGFuZGFyZEhv c3QuamF2YTo4MzEpDQo+Pj4+PiDCoMKgwqAgYXQgb3JnLmFwYWNoZS5jYXRhbGluYS51dGlsLkxp ZmVjeWNsZUJhc2Uuc3RhcnQoTGlmZWN5Y2xlQmFzZS5qYXZhOjE4MykNCj4+Pj4+IMKgwqDCoCBh dA0KPj4+Pj4gb3JnLmFwYWNoZS5jYXRhbGluYS5jb3JlLkNvbnRhaW5lckJhc2UkU3RhcnRDaGls ZC5jYWxsKENvbnRhaW5lckJhc2UuamF2YToxNDMyDQo+Pj4+PiApDQo+Pj4+PiDCoMKgwqAgYXQN Cj4+Pj4+IG9yZy5hcGFjaGUuY2F0YWxpbmEuY29yZS5Db250YWluZXJCYXNlJFN0YXJ0Q2hpbGQu Y2FsbChDb250YWluZXJCYXNlLmphdmE6MTQyMg0KPj4+Pj4gKQ0KPj4+Pj4gwqDCoMKgIGF0IGph dmEuYmFzZS9qYXZhLnV0aWwuY29uY3VycmVudC5GdXR1cmVUYXNrLnJ1bihGdXR1cmVUYXNrLmph dmE6MjY0KQ0KPj4+Pj4gwqDCoMKgIGF0DQo+Pj4+PiBvcmcuYXBhY2hlLnRvbWNhdC51dGlsLnRo cmVhZHMuSW5saW5lRXhlY3V0b3JTZXJ2aWNlLmV4ZWN1dGUoSW5saW5lRXhlY3V0b3JTZXJ2DQo+ Pj4+PiBpY2UuamF2YTo3NSkNCj4+Pj4+IMKgwqDCoCBhdA0KPj4+Pj4gamF2YS5iYXNlL2phdmEu dXRpbC5jb25jdXJyZW50LkFic3RyYWN0RXhlY3V0b3JTZXJ2aWNlLnN1Ym1pdChBYnN0cmFjdEV4 ZWN1dG9yUw0KPj4+Pj4gZXJ2aWNlLmphdmE6MTQwKQ0KPj4+Pj4gwqDCoMKgIGF0DQo+Pj4+PiBv cmcuYXBhY2hlLmNhdGFsaW5hLmNvcmUuQ29udGFpbmVyQmFzZS5zdGFydEludGVybmFsKENvbnRh aW5lckJhc2UuamF2YTo5NDQpDQo+Pj4+PiDCoMKgwqAgYXQNCj4+Pj4+IG9yZy5hcGFjaGUuY2F0 YWxpbmEuY29yZS5TdGFuZGFyZEVuZ2luZS5zdGFydEludGVybmFsKFN0YW5kYXJkRW5naW5lLmph dmE6MjYxKQ0KPj4+Pj4gwqDCoMKgIGF0IG9yZy5hcGFjaGUuY2F0YWxpbmEudXRpbC5MaWZlY3lj bGVCYXNlLnN0YXJ0KExpZmVjeWNsZUJhc2UuamF2YToxODMpDQo+Pj4+PiDCoMKgwqAgYXQNCj4+ Pj4+IG9yZy5hcGFjaGUuY2F0YWxpbmEuY29yZS5TdGFuZGFyZFNlcnZpY2Uuc3RhcnRJbnRlcm5h bChTdGFuZGFyZFNlcnZpY2UuamF2YTo0MjIpDQo+Pj4+PiDCoMKgwqAgYXQgb3JnLmFwYWNoZS5j YXRhbGluYS51dGlsLkxpZmVjeWNsZUJhc2Uuc3RhcnQoTGlmZWN5Y2xlQmFzZS5qYXZhOjE4MykN Cj4+Pj4+IMKgwqDCoCBhdA0KPj4+Pj4gb3JnLmFwYWNoZS5jYXRhbGluYS5jb3JlLlN0YW5kYXJk U2VydmVyLnN0YXJ0SW50ZXJuYWwoU3RhbmRhcmRTZXJ2ZXIuamF2YTo4MDEpDQo+Pj4+PiDCoMKg wqAgYXQgb3JnLmFwYWNoZS5jYXRhbGluYS51dGlsLkxpZmVjeWNsZUJhc2Uuc3RhcnQoTGlmZWN5 Y2xlQmFzZS5qYXZhOjE4MykNCj4+Pj4+IMKgwqDCoCBhdCBvcmcuYXBhY2hlLmNhdGFsaW5hLnN0 YXJ0dXAuQ2F0YWxpbmEuc3RhcnQoQ2F0YWxpbmEuamF2YTo2OTUpDQo+Pj4+PiDCoMKgwqAgYXQN Cj4+Pj4+IGphdmEuYmFzZS9qZGsuaW50ZXJuYWwucmVmbGVjdC5OYXRpdmVNZXRob2RBY2Nlc3Nv ckltcGwuaW52b2tlMChOYXRpdmUNCj4+Pj4+IE1ldGhvZCkNCj4+Pj4+IMKgwqDCoCBhdA0KPj4+ Pj4gamF2YS5iYXNlL2pkay5pbnRlcm5hbC5yZWZsZWN0Lk5hdGl2ZU1ldGhvZEFjY2Vzc29ySW1w bC5pbnZva2UoTmF0aXZlTWV0aG9kQQ0KPj4+Pj4gY2Nlc3NvckltcGwuamF2YTo2MikNCj4+Pj4+ IMKgwqDCoCBhdA0KPj4+Pj4gamF2YS5iYXNlL2pkay5pbnRlcm5hbC5yZWZsZWN0LkRlbGVnYXRp bmdNZXRob2RBY2Nlc3NvckltcGwuaW52b2tlKERlbGVnYXRpbmcNCj4+Pj4+IE1ldGhvZEFjY2Vz c29ySW1wbC5qYXZhOjQzKQ0KPj4+Pj4gwqDCoMKgIGF0IGphdmEuYmFzZS9qYXZhLmxhbmcucmVm bGVjdC5NZXRob2QuaW52b2tlKE1ldGhvZC5qYXZhOjU2NikNCj4+Pj4+IMKgwqDCoCBhdCBvcmcu YXBhY2hlLmNhdGFsaW5hLnN0YXJ0dXAuQm9vdHN0cmFwLnN0YXJ0KEJvb3RzdHJhcC5qYXZhOjM1 MCkNCj4+Pj4+IMKgwqDCoCBhdCBvcmcuYXBhY2hlLmNhdGFsaW5hLnN0YXJ0dXAuQm9vdHN0cmFw Lm1haW4oQm9vdHN0cmFwLmphdmE6NDkyKQ0KPj4+Pj4NCj4+Pj4+IENhbiBzb21lb25lIHZlcmZp eSB0aGF0IGFuZCBwcm9wb3NlIGEgZml4Pw0KPj4+Pj4NCj4+Pj4gSGkgU2ViYXN0aWFuLA0KPj4+ Pg0KPj4+PiBUaGFuayB5b3UgdmVyeSBtdWNoIGZvciB5b3VyIGV4cGxvcmVzIHNoYXJlIQ0KPj4+ Pg0KPj4+PiBZZXMgeW91J3JlIHJpZ2h0LiBJdCBzZWVtcyB3ZSBzaG91bGQgdXBncmFkZSB0byBB U003IGluIDIuNS4yMSBhbHNvIGlmIGl0IHBhc3NlZCBhbGwgdGVzdHMgYXMgd2VsbC4gQW5kIHNv cnJ5IGZvciB0aGVzZSB0cm91YmxlcyBhYm92ZSEgV2UgbWlzc2VkIHRob3NlIGJlY2F1c2Ugd2Ug cnVuIG91ciBpbnRlZ3JhdGlvbiB0ZXN0cyBpbiBzdHJ1dHMgc2hvd2Nhc2UgYXBwIG9ubHkgb24g SkRLOCBhbmQgb25seSB3aXRoIHRhcmdldCBqYXZhIDcgKGFzIHlvdSBkaXNjb3ZlcmVkKS4NCj4+ Pj4NCj4+Pj4gQ291bGQgeW91IHBsZWFzZSBjaGVjayBpZiBhbnkgZnVydGhlciBpc3N1ZSBwZXJz aXN0cyB3aXRoIG15IGZvbGxvd2luZyBzb2x1dGlvbiAoYmVzaWRlIHlvdXIgd29ya2Fyb3VuZCBm b3IgZHJvcC1pbiBBU003IGRlcGVuZGVuY3kpPyBJIHRoaW5rICJUaGlzIGZlYXR1cmUgcmVxdWly ZXMgQVNNNyIgd2lsbCB2YW5pc2hlZCB3aXRoIGl0IGJ1dCBJJ20gbm90IGNvbXByZWhlbnNpdmVs eSBzdXJlIGlmIGFueSBmdXJ0aGVyIGlzc3VlIGFyaXNlcyBhZnRlci4gSWYgc28sIGl0IHdvdWxk IGJlIG5pY2UgdG8gZml4IHRoZW0gaW4gMi41LjIxIGFzIHdlbGwgKGJlc2lkZSBhc20udmVyc2lv bj03LjApLg0KPj4+Pg0KPj4+PiBUaGUgc29sdXRpb24gKHdpdGggdGhhbmtzIHRvIFN0cnV0cyBh d2Vzb21lIGRlc2lnbikgOikgOg0KPj4+PiAxLiBDb3B5IG9yZy5hcGFjaGUuc3RydXRzMi5jb252 ZW50aW9uLkRlZmF1bHRDbGFzc0ZpbmRlciBhbmQgcGFzdGUgdG8geW91ci5hcHAudGFyZ2V0LnBh Y2thZ2UuQVNNN0RlZmF1bHRDbGFzc0ZpbmRlci4NCj4+Pj4gMi4gUmVwbGFjZSBhbGwgT3Bjb2Rl cy5BU001IHdpdGggT3Bjb2Rlcy5BU003IGluIHlvdXIuYXBwLnRhcmdldC5wYWNrYWdlLkFTTTdE ZWZhdWx0Q2xhc3NGaW5kZXIuDQo+Pj4+IDMuIERlZmluZSB0aGUgbmV3IGNsYXNzIHlvdXIuYXBw LnRhcmdldC5wYWNrYWdlLkFTTTdDbGFzc0ZpbmRlckZhY3RvcnkgYXMgYmVsb3c6DQo+Pj4+IGlt cG9ydCBjb20ub3BlbnN5bXBob255Lnh3b3JrMi51dGlsLmZpbmRlci5DbGFzc0ZpbmRlcjsNCj4+ Pj4gaW1wb3J0IGNvbS5vcGVuc3ltcGhvbnkueHdvcmsyLnV0aWwuZmluZGVyLkNsYXNzRmluZGVy RmFjdG9yeTsNCj4+Pj4gaW1wb3J0IGNvbS5vcGVuc3ltcGhvbnkueHdvcmsyLnV0aWwuZmluZGVy LkNsYXNzTG9hZGVySW50ZXJmYWNlOw0KPj4+PiBpbXBvcnQgY29tLm9wZW5zeW1waG9ueS54d29y azIudXRpbC5maW5kZXIuVGVzdDsgDQo+Pj4+IHB1YmxpYyBjbGFzcyBBU003Q2xhc3NGaW5kZXJG YWN0b3J5IGltcGxlbWVudHMgQ2xhc3NGaW5kZXJGYWN0b3J5IHsNCj4+Pj4gICAgIHB1YmxpYyBD bGFzc0ZpbmRlciBidWlsZENsYXNzRmluZGVyKENsYXNzTG9hZGVySW50ZXJmYWNlIGNsYXNzTG9h ZGVySW50ZXJmYWNlLCBDb2xsZWN0aW9uIHVybHMsIGJvb2xlYW4gZXh0cmFjdEJhc2VJbnRlcmZh Y2VzLCBTZXQgcHJvdG9jb2xzLCBUZXN0IGNsYXNzTmFtZUZpbHRlcikgew0KPj4+PiAgICAgICAg IHJldHVybiBuZXcgQVNNN0RlZmF1bHRDbGFzc0ZpbmRlcihjbGFzc0xvYWRlckludGVyZmFjZSwg dXJscywgZXh0cmFjdEJhc2VJbnRlcmZhY2VzLCBwcm90b2NvbHMsIGNsYXNzTmFtZUZpbHRlcik7 DQo+Pj4+ICAgICB9DQo+Pj4+IH0NCj4+Pj4gNC4gUmVnaXN0ZXIgaXQgaW4geW91ciBzdHJ1dHMu eG1sIGFzIGJlbG93Og0KPj4+PiA8YmVhbiB0eXBlPSJjb20ub3BlbnN5bXBob255Lnh3b3JrMi51 dGlsLmZpbmRlci5DbGFzc0ZpbmRlckZhY3RvcnkiIGNsYXNzPSJ5b3VyLmFwcC50YXJnZXQucGFj a2FnZS5BU003Q2xhc3NGaW5kZXJGYWN0b3J5IiBzY29wZT0ic2luZ2xldG9uIi8+DQo+Pj4+DQo+ Pj4+IFRoYW5rcyBpbiBhZHZhbmNlIQ0KPj4+Pg0KPj4+PiBLaW5kIFJlZ2FyZHMuDQo+Pj4+DQo+ Pj4+IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLQ0KPj4+PiBUbyB1bnN1YnNjcmliZSwgZS1tYWlsOiB1c2VyLXVuc3Vi c2NyaWJlQHN0cnV0cy5hcGFjaGUub3JnDQo+Pj4+IEZvciBhZGRpdGlvbmFsIGNvbW1hbmRzLCBl LW1haWw6IHVzZXItaGVscEBzdHJ1dHMuYXBhY2hlLm9yZw0KPj4gLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQo+PiBU byB1bnN1YnNjcmliZSwgZS1tYWlsOiB1c2VyLXVuc3Vic2NyaWJlQHN0cnV0cy5hcGFjaGUub3Jn DQo+PiBGb3IgYWRkaXRpb25hbCBjb21tYW5kcywgZS1tYWlsOiB1c2VyLWhlbHBAc3RydXRzLmFw YWNoZS5vcmcNCj4gDQo= DQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0NClRvIHVuc3Vic2NyaWJlLCBlLW1haWw6IHVzZXItdW5zdWJz Y3JpYmVAc3RydXRzLmFwYWNoZS5vcmcNCkZvciBhZGRpdGlvbmFsIGNvbW1hbmRzLCBlLW1h aWw6IHVzZXItaGVscEBzdHJ1dHMuYXBhY2hlLm9yZw0K