Return-Path: X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183]) by cust-asf2.ponee.io (Postfix) with ESMTP id 8ABEF200C30 for ; Tue, 7 Mar 2017 21:49:36 +0100 (CET) Received: by cust-asf.ponee.io (Postfix) id 8913F160B68; Tue, 7 Mar 2017 20:49:36 +0000 (UTC) Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by cust-asf.ponee.io (Postfix) with SMTP id 8ECCE160B65 for ; Tue, 7 Mar 2017 21:49:34 +0100 (CET) Received: (qmail 80354 invoked by uid 500); 7 Mar 2017 20:49:33 -0000 Mailing-List: contact dev-help@cloudstack.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@cloudstack.apache.org Delivered-To: mailing list dev@cloudstack.apache.org Received: (qmail 80337 invoked by uid 99); 7 Mar 2017 20:49:33 -0000 Received: from pnap-us-west-generic-nat.apache.org (HELO spamd1-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 07 Mar 2017 20:49:33 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd1-us-west.apache.org (ASF Mail Server at spamd1-us-west.apache.org) with ESMTP id C25C4C3142 for ; Tue, 7 Mar 2017 20:49:32 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd1-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: -1.921 X-Spam-Level: X-Spam-Status: No, score=-1.921 tagged_above=-999 required=6.31 tests=[DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, KAM_NUMSUBJECT=0.5, RCVD_IN_DNSWL_MED=-2.3, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, RP_MATCHES_RCVD=-0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=disabled Authentication-Results: spamd1-us-west.apache.org (amavisd-new); dkim=pass (2048-bit key) header.d=autodesk.com Received: from mx1-lw-us.apache.org ([10.40.0.8]) by localhost (spamd1-us-west.apache.org [10.40.0.7]) (amavisd-new, port 10024) with ESMTP id e4a4ts69FKdl for ; Tue, 7 Mar 2017 20:49:27 +0000 (UTC) Received: from mxout02.autodesk.com (mxout02.autodesk.com [132.188.64.232]) by mx1-lw-us.apache.org (ASF Mail Server at mx1-lw-us.apache.org) with ESMTPS id 276425F3BC for ; Tue, 7 Mar 2017 20:49:27 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=autodesk.com; s=s1; h=MIME-Version:Content-Transfer-Encoding:Content-ID:Content-Type:In-Reply-To:References:Message-ID:Date:Subject:To:From; bh=S5t+MWxs/5NV40imeCSy5EFpWwaJzquM78PUFEsjUSY=; b=Q+uX7gakCl7XhzY1VUr96S5TqBXUOOAQ2u010xXfQsEADqGz5bdblCrMjHs7YSay7qMB/+9lcUYCd6qOsGNrnYxprVtbjll4V79aLHDhBzjWRoyFAVf5NDeeqboYTbOdXzCcyVKHBinXKqPe6le5MnwqbdQt8YH8ETS+/RkKIZjL/nR6bIHQG/+bUGhqonNkBMlBorjlOflMhemC3WD/wsLMIbye7btBiysG0JE/ZmEUybno6e2Nan2TBuCOUO5zXaI6f9Yzq1OgJqeq8Zu5i8npu6vuAMBW518L6LePTO0M6WFeP2Uk8OfaFKPYts1nmZzoulSqWR0Zx3IGEo2ppw==; Received: from [141.251.76.150] (helo=005-smtp-out.autodesk.com) by mxout02.autodesk.com with esmtps (TLSv1.2:AES256-SHA256:256) (Exim 4.84_2) (envelope-from ) id 1clM2p-0008Ob-1Y for dev@cloudstack.apache.org; Tue, 07 Mar 2017 15:49:19 -0500 Received: from BN1PR79MB007.MGDADSK.autodesk.com (141.251.76.150) by BN1PR79MB007.MGDADSK.autodesk.com (141.251.76.150) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.933.12; Tue, 7 Mar 2017 20:49:17 +0000 Received: from BN1PR79MB007.MGDADSK.autodesk.com ([141.251.76.150]) by BN1PR79MB007.MGDADSK.autodesk.com ([141.251.76.150]) with mapi id 15.01.0933.026; Tue, 7 Mar 2017 20:49:17 +0000 From: Sergey Levitskiy To: "dev@cloudstack.apache.org" Subject: Re: :[VOTE] Apache Cloudstack 4.10.0.0 Thread-Topic: :[VOTE] Apache Cloudstack 4.10.0.0 Thread-Index: AQHSkinjL0j14hlb8EaiVaVjZNTiI6GABEQAgAAfGQCAAEVAgIABKxsAgAAEOoCAADMiAIABAM+AgAAEpwCAAAW8AIAAIBMAgAXiMQCAABxwgP//+PSAgACXwQCAAFviAIAAAXCA//97H4A= Date: Tue, 7 Mar 2017 20:49:16 +0000 Message-ID: <244C0BB4-5FA5-482F-9505-2E040716E841@autodesk.com> References: <0F7B3FF2-4BE7-4031-BCCD-A02FD5F04C2C@persistent.co.in> <9B80BC55-2820-4C10-98A6-C547CC01E334@netapp.com> <85B02644-EBEB-4EC5-904F-FF462BF2EDA3@netapp.com> <353b046b-9703-cb67-2355-3107b16995c4@renemoser.net> <529feb81-a228-4cce-9832-f8d93905c7b9@msgid.missiveapp.com> <2a05613d-a359-4f06-a99f-0ce1a09437ec@msgid.missiveapp.com> <70A6573D-3BE6-4C7D-A8D8-BF1EEE2E5C41@netapp.com> <4A34F783-5538-4C32-AB27-6A7ED0AAFC05@autodesk.com> <52D5653F-5974-4B2F-9F87-A6BC6D2CFB49@netapp.com> <6ACEACB1-B28C-43DA-9C7A-18EF97B67D1E@netapp.com> In-Reply-To: <6ACEACB1-B28C-43DA-9C7A-18EF97B67D1E@netapp.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: user-agent: Microsoft-MacOutlook/f.1e.0.170107 x-ms-exchange-messagesentrepresentingtype: 1 x-originating-ip: [141.251.76.132] x-ms-office365-filtering-correlation-id: e33e9a33-12a1-4e89-5647-08d4659b6be1 Content-Type: text/plain; charset="utf-8" Content-ID: <55EC6B020C55264B8815A93E00D3F295@mgd.autodesk.com> Content-Transfer-Encoding: base64 MIME-Version: 1.0 archived-at: Tue, 07 Mar 2017 20:49:36 -0000 WWVzIHRoYXTigJlzIHRoZSBidWcuIENhbiB5b3Ugb3BlbiBhIHRpY2tldCBmb3IgdGhpcz8gQCBu dmF6cXVleiBjYW4geW91IHRha2UgYSBsb29rPw0KDQpPbiAzLzcvMTcsIDEyOjQ0IFBNLCAiVHV0 a293c2tpLCBNaWtlIiA8TWlrZS5UdXRrb3dza2lAbmV0YXBwLmNvbT4gd3JvdGU6DQoNCiAgICBU aGlzIGRvZXMgc2VlbSBtZXNzZWQgdXAuDQogICAgDQogICAgSWYgSSBhZGQgYSBuZXcgcHJpbWFy eSBzdG9yYWdlIGFuZCBnaXZlIGl0IGEgc3RvcmFnZSB0YWcsIHRoZSB0YWcgZW5kcyB1cCBpbiBz dG9yYWdlX3Bvb2xfZGV0YWlscy4NCiAgICANCiAgICBJZiBJIGVkaXQgYW4gZXhpc3Rpbmcgc3Rv cmFnZSBwb29s4oCZcyBzdG9yYWdlIHRhZ3MsIGl0IHBsYWNlcyB0aGVtIGluIHN0b3JhZ2VfcG9v bF90YWdzLg0KICAgIA0KICAgIE9uIDMvNy8xNywgMTozOSBQTSwgIlR1dGtvd3NraSwgTWlrZSIg PE1pa2UuVHV0a293c2tpQG5ldGFwcC5jb20+IHdyb3RlOg0KICAgIA0KICAgICAgICBJIGJlbGll dmUgSSBoYXZlIGZvdW5kIGFub3RoZXIgYnVnIChvbmUgdGhhdCB3ZSBzaG91bGQgZWl0aGVyIGZp eCBvciBleGFtaW5lIGluIGRldGFpbCBiZWZvcmUgcmVsZWFzaW5nIDQuMTApLg0KICAgICAgICAN CiAgICAgICAgSXQgbG9va3MgbGlrZSB3ZSBoYXZlIGEgbmV3IHRhYmxlOiBjbG91ZC5zdG9yYWdl X3Bvb2xfdGFncy4NCiAgICAgICAgDQogICAgICAgIFRoZSBhZGRpdGlvbiBvZiB0aGlzIHRhYmxl IHNlZW1zIHRvIGhhdmUgYnJva2VuIHRoZSBsaXN0U3RvcmFnZVRhZ3MgQVBJIGNvbW1hbmQuIFdo ZW4gdGhpcyBjb21tYW5kIHJ1bnMsIGl0IGRvZXNu4oCZdCBwaWNrIHVwIGFueSBzdG9yYWdlIHRh Z3MgZm9yIG1lIChhbmQgSSBrbm93IEkgaGF2ZSBvbmUgc3RvcmFnZSB0YWcpLg0KICAgICAgICAN CiAgICAgICAgVGhpcyBkYXRhIHVzZWQgdG8gYmUgc3RvcmVkIGluIHRoZSBjbG91ZC5zdG9yYWdl X3Bvb2xfZGV0YWlscyB0YWJsZS4gSXTigJlzIGdvb2QgdG8gcHV0IGl0IGluIGl0cyBvd24gdGFi bGUsIGJ1dCB3aWxsIG91ciB1cGdyYWRlIHByb2Nlc3MgbW92ZSB0aGUgZXhpc3RpbmcgdGFncyBm cm9tIHN0b3JhZ2VfcG9vbF9kZXRhaWxzIHRvIHN0b3JhZ2VfcG9vbF90YWdzPw0KICAgICAgICAN CiAgICAgICAgSSBoYXZlIG5vdCB5ZXQgb3BlbmVkIGEgdGlja2V0IGZvciB0aGlzLiBJIHdhbnQg dG8gZXhhbWluZSBpdCBhIGJpdCBtb3JlIGJlZm9yZSBkb2luZyBzby4NCiAgICAgICAgDQogICAg ICAgIE9uIDMvNy8xNywgODoxMCBBTSwgIlR1dGtvd3NraSwgTWlrZSIgPE1pa2UuVHV0a293c2tp QG5ldGFwcC5jb20+IHdyb3RlOg0KICAgICAgICANCiAgICAgICAgICAgIE5vIFZNIHNuYXBzaG90 Lg0KICAgICAgICAgICAgDQogICAgICAgICAgICBJIHRyaWVkIHdoaWxlIHRoZSBWTSB3YXMgaW4g dGhlIFJ1bm5pbmcgc3RhdGUgYW5kIHRoZW4gSSBhbHNvIHRyaWVkIGluIHRoZSBTdG9wcGVkIHN0 YXRlLiBTYW1lIHJlc3VsdHMuDQogICAgICAgICAgICANCiAgICAgICAgICAgID4gT24gTWFyIDcs IDIwMTcsIGF0IDc6NTQgQU0sIFNlcmdleSBMZXZpdHNraXkgPFNlcmdleS5MZXZpdHNraXlAYXV0 b2Rlc2suY29tPiB3cm90ZToNCiAgICAgICAgICAgID4gDQogICAgICAgICAgICA+IElzIFZNIGhh cyBhbiBWTXNuYXBoc290PyBJcyBWTSBpbiBTdG9wcGVkIHN0YXRlPw0KICAgICAgICAgICAgPiAN CiAgICAgICAgICAgID4gT24gMy82LzE3LCAxMDozMiBQTSwgIlR1dGtvd3NraSwgTWlrZSIgPE1p a2UuVHV0a293c2tpQG5ldGFwcC5jb20+IHdyb3RlOg0KICAgICAgICAgICAgPiANCiAgICAgICAg ICAgID4gICAgSSBzZWVtIHRvIGhhdmUgZm91bmQgYW5vdGhlciBibG9ja2VyOg0KICAgICAgICAg ICAgPiANCiAgICAgICAgICAgID4gICAgaHR0cHM6Ly9pc3N1ZXMuYXBhY2hlLm9yZy9qaXJhL2Jy b3dzZS9DTE9VRFNUQUNLLTk4MjINCiAgICAgICAgICAgID4gDQogICAgICAgICAgICA+ICAgIE9u IDMvNi8xNywgOTo1MSBQTSwgIlJhamFuaSBLYXJ1dHVyaSIgPHJhamFuaUBhcGFjaGUub3JnPiB3 cm90ZToNCiAgICAgICAgICAgID4gDQogICAgICAgICAgICA+ICAgICAgICBQUnMgYXJlIHJlYWR5 IGZvciB0aGUgYmxvY2tlcnMuIFdhaXRpbmcgZm9yIHJldmlld3MgYW5kIHRlc3QNCiAgICAgICAg ICAgID4gICAgICAgIHJlc3VsdHMuIE9uY2UgdGhleSBhcmUgcmVhZHksIEkgd2lsbCBtZXJnZSB0 aGVtKGFuZCBhIGZldyBtb3JlDQogICAgICAgICAgICA+ICAgICAgICBidWcgZml4ZXMpIGFuZCBj cmVhdGUgUkMyIChwcm9iYWJseSB0b21vcnJvdywgV2VkbmVzZGF5KQ0KICAgICAgICAgICAgPiAN CiAgICAgICAgICAgID4gICAgICAgIFRoYW5rcywNCiAgICAgICAgICAgID4gDQogICAgICAgICAg ICA+ICAgICAgICB+IFJhamFuaQ0KICAgICAgICAgICAgPiANCiAgICAgICAgICAgID4gICAgICAg IGh0dHA6Ly9jbG91ZHBsYXRmb3JtLmFjY2VsZXJpdGUuY29tLw0KICAgICAgICAgICAgPiANCiAg ICAgICAgICAgID4gICAgICAgIE9uIE1hcmNoIDMsIDIwMTcgYXQgNDozMCBQTSwgUmFqYW5pIEth cnV0dXJpIChyYWphbmlAYXBhY2hlLm9yZykNCiAgICAgICAgICAgID4gICAgICAgIHdyb3RlOg0K ICAgICAgICAgICAgPiANCiAgICAgICAgICAgID4gICAgICAgIEkgd2lsbCBjcmVhdGUgUkMyIG9u IE1vbmRheSB3aXRoIHRoZSBmaXhlcyBtZW50aW9uZWQgaW4gbXkNCiAgICAgICAgICAgID4gICAg ICAgIHByZXZpb3VzIG1haWwuDQogICAgICAgICAgICA+IA0KICAgICAgICAgICAgPiAgICAgICAg fiBSYWphbmkNCiAgICAgICAgICAgID4gDQogICAgICAgICAgICA+ICAgICAgICBodHRwOi8vY2xv dWRwbGF0Zm9ybS5hY2NlbGVyaXRlLmNvbS8NCiAgICAgICAgICAgID4gDQogICAgICAgICAgICA+ ICAgICAgICBPbiBNYXJjaCAzLCAyMDE3IGF0IDI6MzYgUE0sIFJvaGl0IFlhZGF2DQogICAgICAg ICAgICA+ICAgICAgICAocm9oaXQueWFkYXZAc2hhcGVibHVlLmNvbSkgd3JvdGU6DQogICAgICAg ICAgICA+IA0KICAgICAgICAgICAgPiAgICAgICAgVGhhbmtzIEtvdXNoaWssIEkgZGlkIG5vdCBy ZWFsaXplIEtpc2hhbiBoYWQgc2VudCB0aGlzIGFscmVhZHkuDQogICAgICAgICAgICA+ICAgICAg ICBMZXQncyBnZXQgZWl0aGVyIG9mIHRoZSBQUnMgbWVyZ2VkIGFuZCBraWNrIGEgUkMyLg0KICAg ICAgICAgICAgPiANCiAgICAgICAgICAgID4gICAgICAgIFJlZ2FyZHMuDQogICAgICAgICAgICA+ IA0KICAgICAgICAgICAgPiAgICAgICAgX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18N CiAgICAgICAgICAgID4gICAgICAgIEZyb206IEtvdXNoaWsgRGFzIDxrb3VzaGlrLmRhc0BhY2Nl bGVyaXRlLmNvbT4NCiAgICAgICAgICAgID4gICAgICAgIFNlbnQ6IDAzIE1hcmNoIDIwMTcgMTQ6 MTQ6NTYNCiAgICAgICAgICAgID4gICAgICAgIFRvOiBkZXZAY2xvdWRzdGFjay5hcGFjaGUub3Jn DQogICAgICAgICAgICA+ICAgICAgICBTdWJqZWN0OiBSZTogOltWT1RFXSBBcGFjaGUgQ2xvdWRz dGFjayA0LjEwLjAuMA0KICAgICAgICAgICAgPiANCiAgICAgICAgICAgID4gICAgICAgIExvb2tz IGxpa2UgdGhlcmUgaXMgYWxyZWFkeSBhIFBSIGZvciB0aGUgc2FtZSBpc3N1ZQ0KICAgICAgICAg ICAgPiAgICAgICAgaHR0cHM6Ly9naXRodWIuY29tL2FwYWNoZS9jbG91ZHN0YWNrL3B1bGwvMTk4 MiBmcm9tIEtpc2hhbi4NCiAgICAgICAgICAgID4gDQogICAgICAgICAgICA+ICAgICAgICAtS291 c2hpaw0KICAgICAgICAgICAgPiANCiAgICAgICAgICAgID4gICAgICAgIE9uIDAzLzAzLzE3LCAx OjU4IFBNLCAiUm9oaXQgWWFkYXYiIDxyb2hpdC55YWRhdkBzaGFwZWJsdWUuY29tPg0KICAgICAg ICAgICAgPiAgICAgICAgd3JvdGU6DQogICAgICAgICAgICA+IA0KICAgICAgICAgICAgPiAgICAg ICAgLTEgKGJpbmRpbmcpDQogICAgICAgICAgICA+IA0KICAgICAgICAgICAgPiAgICAgICAgQWxs LCBJJ3ZlIGZvdW5kIGFuIHVwZ3JhZGUgYmxvY2tlci4gUHJlIDQuNiB1c2VycyBhcmUgcmVxdWly ZWQNCiAgICAgICAgICAgID4gICAgICAgIHRvIHNlZWQgNC42IHN5c3RlbXZtdGVtcGxhdGUgdG8g cHJvY2VlZCB3aXRoIHRoZSB1cGdyYWRlDQogICAgICAgICAgICA+ICAgICAgICBvdGhlcndpc2Ug dXBncmFkZSBmYWlscywgYW5kIGZyb20gNC45IHVwZ3JhZGUgdG8gNC4xMCBkb2VzIG5vDQogICAg ICAgICAgICA+ICAgICAgICBjaGVjay9lbmZvcmNlbWVudCB0aGF0IDQuMTAgYmFzZWQgc3lzdGVt dm10ZW1wbGF0ZSBoYXMgYmVlbg0KICAgICAgICAgICAgPiAgICAgICAgc2VlZGVkL3JlZ2lzdGVy ZWQsIG5vciB0aGUgbWluaW11bSByZXF1aXJlZCBzeXN0ZW12bXRlbXBsYXRlDQogICAgICAgICAg ICA+ICAgICAgICB2ZXJzaW9uIGlzIGNoYW5nZWQgZnJvbSA0LjYuMCB0byA0LjEwLjAuDQogICAg ICAgICAgICA+IA0KICAgICAgICAgICAgPiAgICAgICAgQWZ0ZXIgd2UgaGF2ZSBtZXJnZWQgdGhl IHN0cm9uZ3N3YW4vamF2YTggUFIsIEkgaGFkIHVwZGF0ZWQgdGhlDQogICAgICAgICAgICA+ICAg ICAgICB1cGdyYWRlIGRvY3Mgb24gaG93IHRvIHVwZ3JhZGUgdGhlIHN5c3RlbXZtdGVtcGxhdGUg aGVyZToNCiAgICAgICAgICAgID4gDQogICAgICAgICAgICA+ICAgICAgICBodHRwOi8vZG9jcy5j bG91ZHN0YWNrLmFwYWNoZS5vcmcvcHJvamVjdHMvY2xvdWRzdGFjay1yZWxlYXNlLW5vdGVzL2Vu LzQuMTAvdXBncmFkZS91cGdyYWRlLTQuOS5odG1sDQogICAgICAgICAgICA+IA0KICAgICAgICAg ICAgPiAgICAgICAgVXNpbmcgdGhlIGFib3ZlLCBJJ3ZlIHRyaWVkIHRvIGZpeCB0aGVzZSBpc3N1 ZXMgaGVyZSwgcGxlYXNlDQogICAgICAgICAgICA+ICAgICAgICByZXZpZXcgYW5kIG1lcmdlIGZv ciBSQzI6DQogICAgICAgICAgICA+IA0KICAgICAgICAgICAgPiAgICAgICAgaHR0cHM6Ly9naXRo dWIuY29tL2FwYWNoZS9jbG91ZHN0YWNrL3B1bGwvMTk4Mw0KICAgICAgICAgICAgPiANCiAgICAg ICAgICAgID4gICAgICAgIDxodHRwczovL2dpdGh1Yi5jb20vYXBhY2hlL2Nsb3Vkc3RhY2svcHVs bC8xOTgzPldpdGggYWJvdmUgZml4LA0KICAgICAgICAgICAgPiAgICAgICAgdGhlIGFpbSBpcyB0 aGF0IHVzZXJzIG9ubHkgc2VlZCB0aGUgNC4xMCBzeXN0ZW12bXRlbXBsYXRlIGJlZm9yZQ0KICAg ICAgICAgICAgPiAgICAgICAgdXBncmFkZSBhbmQgcG9zdC11cGdyYWRlIHRoZSB1cGdyYWRlIHBh dGhzIGZpeCB0aGUgZW50cmllcywNCiAgICAgICAgICAgID4gICAgICAgIGdsb2JhbCBzZXR0aW5n IGV0Yy4NCiAgICAgICAgICAgID4gDQogICAgICAgICAgICA+ICAgICAgICBSZWdhcmRzLg0KICAg ICAgICAgICAgPiANCiAgICAgICAgICAgID4gICAgICAgIF9fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fDQogICAgICAgICAgICA+ICAgICAgICBGcm9tOiBUdXRrb3dza2ksIE1pa2UgPE1p a2UuVHV0a293c2tpQG5ldGFwcC5jb20+DQogICAgICAgICAgICA+ICAgICAgICBTZW50OiAwMiBN YXJjaCAyMDE3IDIyOjM5OjA4DQogICAgICAgICAgICA+ICAgICAgICBUbzogZGV2QGNsb3Vkc3Rh Y2suYXBhY2hlLm9yZw0KICAgICAgICAgICAgPiAgICAgICAgU3ViamVjdDogUmU6IDpbVk9URV0g QXBhY2hlIENsb3Vkc3RhY2sgNC4xMC4wLjANCiAgICAgICAgICAgID4gDQogICAgICAgICAgICA+ ICAgICAgICBJIHJvbGxlZCBiYWNrIHRvIG15IG1hc3RlciBicmFuY2ggYXQNCiAgICAgICAgICAg ID4gICAgICAgIGRhNjZiMDZlN2Q1NjIzOTNkYTJlNGI1MjIwNjk0M2Y4YmFkNDlkMTAgYW5kIGl0 IHdvcmtzLg0KICAgICAgICAgICAgPiANCiAgICAgICAgICAgID4gICAgICAgIEl0IGFwcGVhcnMg c29tZXRoaW5nIHRoYXQgd2VudCBpbnRvIGFmdGVyIHRoYXQgY29tbWl0IGhhcyBicm9rZW4NCiAg ICAgICAgICAgID4gICAgICAgIHRoaXMuIEl0IGxvb2tzIGxpa2UgdGhpcyBTSEEgaXMgYWJvdXQg dHdvIHdlZWtzIG9sZCBhbmQgdGhhdCA0Mw0KICAgICAgICAgICAgPiAgICAgICAgY29tbWl0cyBo YXZlIGdvbmUgaW50byBtYXN0ZXIgc2luY2UgaXQuDQogICAgICAgICAgICA+IA0KICAgICAgICAg ICAgPiAgICAgICAgT24gMy8yLzE3LCA3OjA2IEFNLCAiVHV0a293c2tpLCBNaWtlIg0KICAgICAg ICAgICAgPiAgICAgICAgPE1pa2UuVHV0a293c2tpQG5ldGFwcC5jb20+IHdyb3RlOg0KICAgICAg ICAgICAgPiANCiAgICAgICAgICAgID4gICAgICAgIEFjY29yZGluZyB0byB3aGVyZSB0aGUgY29k ZSBmYWlscywgdGhvdWdoLCBpdCBhcHBlYXJzIHRvIGJlIGENCiAgICAgICAgICAgID4gICAgICAg IG5ldHdvcmtpbmcgcHJvYmxlbS4gSWYgSSBzZXQgYSBicmVha3BvaW50IGJlZm9yZSB0aGUgZmFp bHVyZSBhbmQNCiAgICAgICAgICAgID4gICAgICAgIGNoYW5nZSBhIHZhcmlhYmxlIHRvIHNheSB0 aGF0IHNlY3VyaXR5IGdyb3VwcyBhcmUgbm90IGJlaW5nIHVzZWQsDQogICAgICAgICAgICA+ICAg ICAgICB0aGVuIHRoZSBWTSBzdGFydHMuDQogICAgICAgICAgICA+IA0KICAgICAgICAgICAgPiAg ICAgICAgSSB0aGluayB0aGlzIGlzIGEgcmVjZW50bHkgaW50cm9kdWNlZCBwcm9ibGVtIGJlY2F1 c2UgSSBoYXZlDQogICAgICAgICAgICA+ICAgICAgICBhbm90aGVyIGJyYW5jaCBiYXNlZCBvZmYg b2YgYSBzbGlnaHRseSBvbGRlciB2ZXJzaW9uIG9mIG1hc3Rlcg0KICAgICAgICAgICAgPiAgICAg ICAgYW5kIGl0IHdvcmtzIGZpbmUgaGVyZS4NCiAgICAgICAgICAgID4gDQogICAgICAgICAgICA+ PiBPbiBNYXIgMiwgMjAxNywgYXQgNjo1MSBBTSwgUGllcnJlLUx1YyBEaW9uDQogICAgICAgICAg ICA+ICAgICAgICA8cGRpb25AY2xvdWRvcHMuY29tPiB3cm90ZToNCiAgICAgICAgICAgID4+IA0K ICAgICAgICAgICAgPj4gSGkgTWlrZSwNCiAgICAgICAgICAgID4+IFRyeSB2bSB3aXRoIGF0IGxl YXN0IDUxMk1CIGZvciBtZW1vcnkuDQogICAgICAgICAgICA+PiANCiAgICAgICAgICAgID4+PiBP biBNYXIgMSwgMjAxNyAxNTowMSwgIlR1dGtvd3NraSwgTWlrZSINCiAgICAgICAgICAgID4gICAg ICAgIDxNaWtlLlR1dGtvd3NraUBuZXRhcHAuY29tPiB3cm90ZToNCiAgICAgICAgICAgID4+PiAN CiAgICAgICAgICAgID4+PiBJIHNlZSB0aGUgZm9sbG93aW5nIGV4Y2VwdGlvbiB3aGVuIHRyeWlu ZyB0byBkZXBsb3kgYSB1c2VyIFZNDQogICAgICAgICAgICA+ICAgICAgICBpbiBhIEJhc2ljDQog ICAgICAgICAgICA+Pj4gWm9uZSB3aXRoIHR3byBYZW5TZXJ2ZXIgNi41IGhvc3RzIGluIG9uZSBj bHVzdGVyLiBNeSBzeXN0ZW0NCiAgICAgICAgICAgID4gICAgICAgIFZNcyBoYXZlIGFsbA0KICAg ICAgICAgICAgPj4+IGRlcGxveWVkIHByb3Blcmx5LiBUaGUgdXNlciB0ZW1wbGF0ZSBnZXRzIGRv d25sb2FkZWQgZmluZS4gSQ0KICAgICAgICAgICAgPiAgICAgICAgY2FuIHNlZSB0aGUNCiAgICAg ICAgICAgID4+PiB1c2VyIFZNIGJlZ2luIHRvIHN0YXJ0IG9uIGEgWGVuU2VydmVyIGhvc3QsIHRo ZW4gaXQgZ29lcw0KICAgICAgICAgICAgPiAgICAgICAgYXdheS4gV2UgdGhlbg0KICAgICAgICAg ICAgPj4+IGF1dG9tYXRpY2FsbHkgdHJ5IG9uIHRoZSBvdGhlciBob3N0LiBJIGNhbiBzZWUgdGhl IFZNIGJlZ2luDQogICAgICAgICAgICA+ICAgICAgICB0byBzdGFydCB0aGVyZQ0KICAgICAgICAg ICAgPj4+IGZvciBhIG1vbWVudCwgdGhlbiBpdCBnb2VzIGF3YXkuDQogICAgICAgICAgICA+Pj4g DQogICAgICAgICAgICA+Pj4gSSBhbSBqdXN0IGRlcGxveWluZyB0aGUgdXNlciBWTeKAmXMgdGVt cGxhdGUgYW5kIHJvb3QgZGlzayB0bw0KICAgICAgICAgICAgPiAgICAgICAgTkZTIChzYW1lDQog ICAgICAgICAgICA+Pj4gcGxhY2Ugd2hlcmUgdGhlIHRlbXBsYXRlIGFuZCByb290IGRpc2tzIG9m IG15IHN5c3RlbSBWTXMNCiAgICAgICAgICAgID4gICAgICAgIGFyZSkuDQogICAgICAgICAgICA+ Pj4gDQogICAgICAgICAgICA+Pj4gSSBhbSB1c2luZyB0aGUgYnVpbHQtaW4gWGVuU2VydmVyIENl bnRPUyA1LjYgKDY0IGJpdCkNCiAgICAgICAgICAgID4gICAgICAgIHRlbXBsYXRlIHdpdGggMQ0K ICAgICAgICAgICAgPj4+IHZDUFUsIDUwMCBNSHosIGFuZCAyNTYgTUIgbWVtb3J5Lg0KICAgICAg ICAgICAgPj4+IA0KICAgICAgICAgICAgPj4+IFdBUk4gW2MuYy5hLnIudi5WaXJ0dWFsUm91dGlu Z1Jlc291cmNlXQ0KICAgICAgICAgICAgPiAgICAgICAgKERpcmVjdEFnZW50LTc6Y3R4LTM1YWRl ZDc4KQ0KICAgICAgICAgICAgPj4+IChsb2dpZDphYWI5YzMyMCkgRXhwZWN0ZWQgMSBhbnN3ZXJz IHdoaWxlIGV4ZWN1dGluZw0KICAgICAgICAgICAgPiAgICAgICAgVm1EYXRhQ29tbWFuZCBidXQN CiAgICAgICAgICAgID4+PiByZWNlaXZlZCAyDQogICAgICAgICAgICA+Pj4gV0FSTiBbYy5jLnYu VmlydHVhbE1hY2hpbmVQb3dlclN0YXRlU3luY0ltcGxdDQogICAgICAgICAgICA+ICAgICAgICAo RGlyZWN0QWdlbnRDcm9uSm9iLTE0OmN0eC0yN2ZiMWFjMykNCiAgICAgICAgICAgID4+PiAobG9n aWQ6MmMzNDJmMjMpIFZNIHN0YXRlIHdhcyB1cGRhdGVkIGJ1dCB1cGRhdGUgdGltZSBpcw0KICAg ICAgICAgICAgPiAgICAgICAgbnVsbD8hIHZtIGlkOiA2DQogICAgICAgICAgICA+Pj4gSU5GTyBb by5hLmMuZi5qLmkuQXN5bmNKb2JNYW5hZ2VySW1wbF0NCiAgICAgICAgICAgID4gICAgICAgIChB c3luY0pvYk1nci1IZWFydGJlYXQtMTpjdHgtMmM3ZDJkY2UpDQogICAgICAgICAgICA+Pj4gKGxv Z2lkOmE1NmE5YThjKSBCZWdpbiBjbGVhbnVwIGV4cGlyZWQgYXN5bmMtam9icw0KICAgICAgICAg ICAgPj4+IElORk8gW28uYS5jLmYuai5pLkFzeW5jSm9iTWFuYWdlckltcGxdDQogICAgICAgICAg ICA+ICAgICAgICAoQXN5bmNKb2JNZ3ItSGVhcnRiZWF0LTE6Y3R4LTJjN2QyZGNlKQ0KICAgICAg ICAgICAgPj4+IChsb2dpZDphNTZhOWE4YykgRW5kIGNsZWFudXAgZXhwaXJlZCBhc3luYy1qb2Jz DQogICAgICAgICAgICA+Pj4gSU5GTyBbYy5jLnUuQWNjb3VudE1hbmFnZXJJbXBsXQ0KICAgICAg ICAgICAgPiAgICAgICAgKEFjY291bnRDaGVja2VyLTE6Y3R4LTM4M2E2MzJjKQ0KICAgICAgICAg ICAgPj4+IChsb2dpZDo1NDFlOWJhNSkgRm91bmQgMCByZW1vdmVkIGFjY291bnRzIHRvIGNsZWFu dXANCiAgICAgICAgICAgID4+PiBJTkZPIFtjLmMudS5BY2NvdW50TWFuYWdlckltcGxdDQogICAg ICAgICAgICA+ICAgICAgICAoQWNjb3VudENoZWNrZXItMTpjdHgtMzgzYTYzMmMpDQogICAgICAg ICAgICA+Pj4gKGxvZ2lkOjU0MWU5YmE1KSBGb3VuZCAwIGRpc2FibGVkIGFjY291bnRzIHRvIGNs ZWFudXANCiAgICAgICAgICAgID4+PiBJTkZPIFtjLmMudS5BY2NvdW50TWFuYWdlckltcGxdDQog ICAgICAgICAgICA+ICAgICAgICAoQWNjb3VudENoZWNrZXItMTpjdHgtMzgzYTYzMmMpDQogICAg ICAgICAgICA+Pj4gKGxvZ2lkOjU0MWU5YmE1KSBGb3VuZCAwIGluYWN0aXZlIGRvbWFpbnMgdG8g Y2xlYW51cA0KICAgICAgICAgICAgPj4+IElORk8gW2MuYy51LkFjY291bnRNYW5hZ2VySW1wbF0N CiAgICAgICAgICAgID4gICAgICAgIChBY2NvdW50Q2hlY2tlci0xOmN0eC0zODNhNjMyYykNCiAg ICAgICAgICAgID4+PiAobG9naWQ6NTQxZTliYTUpIEZvdW5kIDAgZGlzYWJsZWQgcHJvamVjdHMg dG8gY2xlYW51cA0KICAgICAgICAgICAgPj4+IFdBUk4gW2MuYy5oLnguci5DaXRyaXhSZXNvdXJj ZUJhc2VdDQogICAgICAgICAgICA+ICAgICAgICAoRGlyZWN0QWdlbnQtMTY6Y3R4LTdjOTAxNDQz KQ0KICAgICAgICAgICAgPj4+IChsb2dpZDphYWI5YzMyMCkgY2FsbEhvc3RQbHVnaW4gZmFpbGVk IGZvciBjbWQ6DQogICAgICAgICAgICA+ICAgICAgICBkZWZhdWx0X25ldHdvcmtfcnVsZXMgd2l0 aA0KICAgICAgICAgICAgPj4+IGFyZ3Mgc2VjSXBzOiAwOiwgdm1OYW1lOiBpLTItNi1WTSwgdm1J RDogNiwgdm1JUDoNCiAgICAgICAgICAgID4gICAgICAgIDEwLjExNy40MC41Mywgdm1NQUM6DQog ICAgICAgICAgICA+Pj4gMDY6YjI6ZjQ6MDA6MDA6MjIsIGR1ZSB0byBUaGVyZSB3YXMgYSBmYWls dXJlIGNvbW11bmljYXRpbmcNCiAgICAgICAgICAgID4gICAgICAgIHdpdGggdGhlDQogICAgICAg ICAgICA+Pj4gcGx1Z2luLg0KICAgICAgICAgICAgPj4+IFdBUk4gW2MuYy5oLnguci53LnguQ2l0 cml4U3RhcnRDb21tYW5kV3JhcHBlcl0NCiAgICAgICAgICAgID4+PiAoRGlyZWN0QWdlbnQtMTY6 Y3R4LTdjOTAxNDQzKSAobG9naWQ6YWFiOWMzMjApIENhdGNoDQogICAgICAgICAgICA+ICAgICAg ICBFeGNlcHRpb246IGNsYXNzDQogICAgICAgICAgICA+Pj4gY29tLmNsb3VkLnV0aWxzLmV4Y2Vw dGlvbi5DbG91ZFJ1bnRpbWVFeGNlcHRpb24gZHVlIHRvDQogICAgICAgICAgICA+Pj4gY29tLmNs b3VkLnV0aWxzLmV4Y2VwdGlvbi5DbG91ZFJ1bnRpbWVFeGNlcHRpb246DQogICAgICAgICAgICA+ ICAgICAgICBjYWxsSG9zdFBsdWdpbiBmYWlsZWQNCiAgICAgICAgICAgID4+PiBmb3IgY21kOiBk ZWZhdWx0X25ldHdvcmtfcnVsZXMgd2l0aCBhcmdzIHNlY0lwczogMDosIHZtTmFtZToNCiAgICAg ICAgICAgID4gICAgICAgIGktMi02LVZNLA0KICAgICAgICAgICAgPj4+IHZtSUQ6IDYsIHZtSVA6 IDEwLjExNy40MC41Mywgdm1NQUM6IDA2OmIyOmY0OjAwOjAwOjIyLCBkdWUgdG8NCiAgICAgICAg ICAgID4gICAgICAgIFRoZXJlIHdhcyBhDQogICAgICAgICAgICA+Pj4gZmFpbHVyZSBjb21tdW5p Y2F0aW5nIHdpdGggdGhlIHBsdWdpbi4NCiAgICAgICAgICAgID4+PiBjb20uY2xvdWQudXRpbHMu ZXhjZXB0aW9uLkNsb3VkUnVudGltZUV4Y2VwdGlvbjoNCiAgICAgICAgICAgID4gICAgICAgIGNh bGxIb3N0UGx1Z2luIGZhaWxlZA0KICAgICAgICAgICAgPj4+IGZvciBjbWQ6IGRlZmF1bHRfbmV0 d29ya19ydWxlcyB3aXRoIGFyZ3Mgc2VjSXBzOiAwOiwgdm1OYW1lOg0KICAgICAgICAgICAgPiAg ICAgICAgaS0yLTYtVk0sDQogICAgICAgICAgICA+Pj4gdm1JRDogNiwgdm1JUDogMTAuMTE3LjQw LjUzLCB2bU1BQzogMDY6YjI6ZjQ6MDA6MDA6MjIsIGR1ZSB0bw0KICAgICAgICAgICAgPiAgICAg ICAgVGhlcmUgd2FzIGENCiAgICAgICAgICAgID4+PiBmYWlsdXJlIGNvbW11bmljYXRpbmcgd2l0 aCB0aGUgcGx1Z2luLg0KICAgICAgICAgICAgPj4+IGF0DQogICAgICAgICAgICA+ICAgICAgICBj b20uY2xvdWQuaHlwZXJ2aXNvci54ZW5zZXJ2ZXIucmVzb3VyY2UuQ2l0cml4UmVzb3VyY2VCYXNl Lg0KICAgICAgICAgICAgPj4+IGNhbGxIb3N0UGx1Z2luKENpdHJpeFJlc291cmNlQmFzZS5qYXZh OjMzOCkNCiAgICAgICAgICAgID4+PiBhdCBjb20uY2xvdWQuaHlwZXJ2aXNvci54ZW5zZXJ2ZXIu cmVzb3VyY2Uud3JhcHBlci54ZW5iYXNlLg0KICAgICAgICAgICAgPj4+IA0KICAgICAgICAgICAg PiAgICAgICAgQ2l0cml4U3RhcnRDb21tYW5kV3JhcHBlci5leGVjdXRlKENpdHJpeFN0YXJ0Q29t bWFuZFdyYXBwZXIuamF2YToxODgpDQogICAgICAgICAgICA+Pj4gYXQgY29tLmNsb3VkLmh5cGVy dmlzb3IueGVuc2VydmVyLnJlc291cmNlLndyYXBwZXIueGVuYmFzZS4NCiAgICAgICAgICAgID4+ PiANCiAgICAgICAgICAgID4gICAgICAgIENpdHJpeFN0YXJ0Q29tbWFuZFdyYXBwZXIuZXhlY3V0 ZShDaXRyaXhTdGFydENvbW1hbmRXcmFwcGVyLmphdmE6NTMpDQogICAgICAgICAgICA+Pj4gYXQg Y29tLmNsb3VkLmh5cGVydmlzb3IueGVuc2VydmVyLnJlc291cmNlLndyYXBwZXIuDQogICAgICAg ICAgICA+Pj4gDQogICAgICAgICAgICA+ICAgICAgICB4ZW5iYXNlLkNpdHJpeFJlcXVlc3RXcmFw cGVyLmV4ZWN1dGUoQ2l0cml4UmVxdWVzdFdyYXBwZXIuamF2YToxMjIpDQogICAgICAgICAgICA+ Pj4gYXQNCiAgICAgICAgICAgID4gICAgICAgIGNvbS5jbG91ZC5oeXBlcnZpc29yLnhlbnNlcnZl ci5yZXNvdXJjZS5DaXRyaXhSZXNvdXJjZUJhc2UuDQogICAgICAgICAgICA+Pj4gZXhlY3V0ZVJl cXVlc3QoQ2l0cml4UmVzb3VyY2VCYXNlLmphdmE6MTY5MSkNCiAgICAgICAgICAgID4+PiBhdA0K ICAgICAgICAgICAgPiAgICAgICAgY29tLmNsb3VkLmFnZW50Lm1hbmFnZXIuRGlyZWN0QWdlbnRB dHRhY2hlJFRhc2sucnVuSW5Db250ZXh0KA0KICAgICAgICAgICAgPj4+IERpcmVjdEFnZW50QXR0 YWNoZS5qYXZhOjMxNSkNCiAgICAgICAgICAgID4+PiBhdA0KICAgICAgICAgICAgPiAgICAgICAg b3JnLmFwYWNoZS5jbG91ZHN0YWNrLm1hbmFnZWQuY29udGV4dC5NYW5hZ2VkQ29udGV4dFJ1bm5h YmxlJDEucnVuKA0KICAgICAgICAgICAgPj4+IE1hbmFnZWRDb250ZXh0UnVubmFibGUuamF2YTo0 OSkNCiAgICAgICAgICAgID4+PiBhdCBvcmcuYXBhY2hlLmNsb3Vkc3RhY2subWFuYWdlZC5jb250 ZXh0LmltcGwuDQogICAgICAgICAgICA+Pj4gRGVmYXVsdE1hbmFnZWRDb250ZXh0JDEuY2FsbChE ZWZhdWx0TWFuYWdlZENvbnRleHQuamF2YTo1NikNCiAgICAgICAgICAgID4+PiBhdA0KICAgICAg ICAgICAgPiAgICAgICAgb3JnLmFwYWNoZS5jbG91ZHN0YWNrLm1hbmFnZWQuY29udGV4dC5pbXBs LkRlZmF1bHRNYW5hZ2VkQ29udGV4dC4NCiAgICAgICAgICAgID4+PiBjYWxsV2l0aENvbnRleHQo RGVmYXVsdE1hbmFnZWRDb250ZXh0LmphdmE6MTAzKQ0KICAgICAgICAgICAgPj4+IGF0DQogICAg ICAgICAgICA+ICAgICAgICBvcmcuYXBhY2hlLmNsb3Vkc3RhY2subWFuYWdlZC5jb250ZXh0Lmlt cGwuRGVmYXVsdE1hbmFnZWRDb250ZXh0Lg0KICAgICAgICAgICAgPj4+IHJ1bldpdGhDb250ZXh0 KERlZmF1bHRNYW5hZ2VkQ29udGV4dC5qYXZhOjUzKQ0KICAgICAgICAgICAgPj4+IGF0DQogICAg ICAgICAgICA+ICAgICAgICBvcmcuYXBhY2hlLmNsb3Vkc3RhY2subWFuYWdlZC5jb250ZXh0Lk1h bmFnZWRDb250ZXh0UnVubmFibGUucnVuKA0KICAgICAgICAgICAgPj4+IE1hbmFnZWRDb250ZXh0 UnVubmFibGUuamF2YTo0NikNCiAgICAgICAgICAgID4+PiBhdCBqYXZhLnV0aWwuY29uY3VycmVu dC5FeGVjdXRvcnMkUnVubmFibGVBZGFwdGVyLg0KICAgICAgICAgICAgPj4+IGNhbGwoRXhlY3V0 b3JzLmphdmE6NTExKQ0KICAgICAgICAgICAgPj4+IGF0IGphdmEudXRpbC5jb25jdXJyZW50LkZ1 dHVyZVRhc2sucnVuKEZ1dHVyZVRhc2suamF2YToyNjYpDQogICAgICAgICAgICA+Pj4gYXQgamF2 YS51dGlsLmNvbmN1cnJlbnQuU2NoZWR1bGVkVGhyZWFkUG9vbEV4ZWN1dG9yJA0KICAgICAgICAg ICAgPj4+IA0KICAgICAgICAgICAgPiAgICAgICAgU2NoZWR1bGVkRnV0dXJlVGFzay5hY2Nlc3Mk MjAxKFNjaGVkdWxlZFRocmVhZFBvb2xFeGVjdXRvci5qYXZhOjE4MCkNCiAgICAgICAgICAgID4+ PiBhdCBqYXZhLnV0aWwuY29uY3VycmVudC5TY2hlZHVsZWRUaHJlYWRQb29sRXhlY3V0b3IkDQog ICAgICAgICAgICA+Pj4gU2NoZWR1bGVkRnV0dXJlVGFzay5ydW4oU2NoZWR1bGVkVGhyZWFkUG9v bEV4ZWN1dG9yLmphdmE6MjkzKQ0KICAgICAgICAgICAgPj4+IGF0IGphdmEudXRpbC5jb25jdXJy ZW50LlRocmVhZFBvb2xFeGVjdXRvci5ydW5Xb3JrZXIoDQogICAgICAgICAgICA+Pj4gVGhyZWFk UG9vbEV4ZWN1dG9yLmphdmE6MTE0MikNCiAgICAgICAgICAgID4+PiBhdCBqYXZhLnV0aWwuY29u Y3VycmVudC5UaHJlYWRQb29sRXhlY3V0b3IkV29ya2VyLnJ1bigNCiAgICAgICAgICAgID4+PiBU aHJlYWRQb29sRXhlY3V0b3IuamF2YTo2MTcpDQogICAgICAgICAgICA+Pj4gYXQgamF2YS5sYW5n LlRocmVhZC5ydW4oVGhyZWFkLmphdmE6NzQ1KQ0KICAgICAgICAgICAgPj4+IFdBUk4gW2MuYy5o Lnguci5DaXRyaXhSZXNvdXJjZUJhc2VdDQogICAgICAgICAgICA+ICAgICAgICAoRGlyZWN0QWdl bnQtMTY6Y3R4LTdjOTAxNDQzKQ0KICAgICAgICAgICAgPj4+IChsb2dpZDphYWI5YzMyMCkgVW5h YmxlIHRvIHN0YXJ0IGktMi02LVZNIGR1ZSB0bw0KICAgICAgICAgICAgPj4+IGNvbS5jbG91ZC51 dGlscy5leGNlcHRpb24uQ2xvdWRSdW50aW1lRXhjZXB0aW9uOg0KICAgICAgICAgICAgPiAgICAg ICAgY2FsbEhvc3RQbHVnaW4gZmFpbGVkDQogICAgICAgICAgICA+Pj4gZm9yIGNtZDogZGVmYXVs dF9uZXR3b3JrX3J1bGVzIHdpdGggYXJncyBzZWNJcHM6IDA6LCB2bU5hbWU6DQogICAgICAgICAg ICA+ICAgICAgICBpLTItNi1WTSwNCiAgICAgICAgICAgID4+PiB2bUlEOiA2LCB2bUlQOiAxMC4x MTcuNDAuNTMsIHZtTUFDOiAwNjpiMjpmNDowMDowMDoyMiwgZHVlIHRvDQogICAgICAgICAgICA+ ICAgICAgICBUaGVyZSB3YXMgYQ0KICAgICAgICAgICAgPj4+IGZhaWx1cmUgY29tbXVuaWNhdGlu ZyB3aXRoIHRoZSBwbHVnaW4uDQogICAgICAgICAgICA+Pj4gYXQNCiAgICAgICAgICAgID4gICAg ICAgIGNvbS5jbG91ZC5oeXBlcnZpc29yLnhlbnNlcnZlci5yZXNvdXJjZS5DaXRyaXhSZXNvdXJj ZUJhc2UuDQogICAgICAgICAgICA+Pj4gY2FsbEhvc3RQbHVnaW4oQ2l0cml4UmVzb3VyY2VCYXNl LmphdmE6MzM4KQ0KICAgICAgICAgICAgPj4+IGF0IGNvbS5jbG91ZC5oeXBlcnZpc29yLnhlbnNl cnZlci5yZXNvdXJjZS53cmFwcGVyLnhlbmJhc2UuDQogICAgICAgICAgICA+Pj4gDQogICAgICAg ICAgICA+ICAgICAgICBDaXRyaXhTdGFydENvbW1hbmRXcmFwcGVyLmV4ZWN1dGUoQ2l0cml4U3Rh cnRDb21tYW5kV3JhcHBlci5qYXZhOjE4OCkNCiAgICAgICAgICAgID4+PiBhdCBjb20uY2xvdWQu aHlwZXJ2aXNvci54ZW5zZXJ2ZXIucmVzb3VyY2Uud3JhcHBlci54ZW5iYXNlLg0KICAgICAgICAg ICAgPj4+IA0KICAgICAgICAgICAgPiAgICAgICAgQ2l0cml4U3RhcnRDb21tYW5kV3JhcHBlci5l eGVjdXRlKENpdHJpeFN0YXJ0Q29tbWFuZFdyYXBwZXIuamF2YTo1MykNCiAgICAgICAgICAgID4+ PiBhdCBjb20uY2xvdWQuaHlwZXJ2aXNvci54ZW5zZXJ2ZXIucmVzb3VyY2Uud3JhcHBlci4NCiAg ICAgICAgICAgID4+PiANCiAgICAgICAgICAgID4gICAgICAgIHhlbmJhc2UuQ2l0cml4UmVxdWVz dFdyYXBwZXIuZXhlY3V0ZShDaXRyaXhSZXF1ZXN0V3JhcHBlci5qYXZhOjEyMikNCiAgICAgICAg ICAgID4+PiBhdA0KICAgICAgICAgICAgPiAgICAgICAgY29tLmNsb3VkLmh5cGVydmlzb3IueGVu c2VydmVyLnJlc291cmNlLkNpdHJpeFJlc291cmNlQmFzZS4NCiAgICAgICAgICAgID4+PiBleGVj dXRlUmVxdWVzdChDaXRyaXhSZXNvdXJjZUJhc2UuamF2YToxNjkxKQ0KICAgICAgICAgICAgPj4+ IGF0DQogICAgICAgICAgICA+ICAgICAgICBjb20uY2xvdWQuYWdlbnQubWFuYWdlci5EaXJlY3RB Z2VudEF0dGFjaGUkVGFzay5ydW5JbkNvbnRleHQoDQogICAgICAgICAgICA+Pj4gRGlyZWN0QWdl bnRBdHRhY2hlLmphdmE6MzE1KQ0KICAgICAgICAgICAgPj4+IGF0DQogICAgICAgICAgICA+ICAg ICAgICBvcmcuYXBhY2hlLmNsb3Vkc3RhY2subWFuYWdlZC5jb250ZXh0Lk1hbmFnZWRDb250ZXh0 UnVubmFibGUkMS5ydW4oDQogICAgICAgICAgICA+Pj4gTWFuYWdlZENvbnRleHRSdW5uYWJsZS5q YXZhOjQ5KQ0KICAgICAgICAgICAgPj4+IGF0IG9yZy5hcGFjaGUuY2xvdWRzdGFjay5tYW5hZ2Vk LmNvbnRleHQuaW1wbC4NCiAgICAgICAgICAgID4+PiBEZWZhdWx0TWFuYWdlZENvbnRleHQkMS5j YWxsKERlZmF1bHRNYW5hZ2VkQ29udGV4dC5qYXZhOjU2KQ0KICAgICAgICAgICAgPj4+IGF0DQog ICAgICAgICAgICA+ICAgICAgICBvcmcuYXBhY2hlLmNsb3Vkc3RhY2subWFuYWdlZC5jb250ZXh0 LmltcGwuRGVmYXVsdE1hbmFnZWRDb250ZXh0Lg0KICAgICAgICAgICAgPj4+IGNhbGxXaXRoQ29u dGV4dChEZWZhdWx0TWFuYWdlZENvbnRleHQuamF2YToxMDMpDQogICAgICAgICAgICA+Pj4gYXQN CiAgICAgICAgICAgID4gICAgICAgIG9yZy5hcGFjaGUuY2xvdWRzdGFjay5tYW5hZ2VkLmNvbnRl eHQuaW1wbC5EZWZhdWx0TWFuYWdlZENvbnRleHQuDQogICAgICAgICAgICA+Pj4gcnVuV2l0aENv bnRleHQoRGVmYXVsdE1hbmFnZWRDb250ZXh0LmphdmE6NTMpDQogICAgICAgICAgICA+Pj4gYXQN CiAgICAgICAgICAgID4gICAgICAgIG9yZy5hcGFjaGUuY2xvdWRzdGFjay5tYW5hZ2VkLmNvbnRl eHQuTWFuYWdlZENvbnRleHRSdW5uYWJsZS5ydW4oDQogICAgICAgICAgICA+Pj4gTWFuYWdlZENv bnRleHRSdW5uYWJsZS5qYXZhOjQ2KQ0KICAgICAgICAgICAgPj4+IGF0IGphdmEudXRpbC5jb25j dXJyZW50LkV4ZWN1dG9ycyRSdW5uYWJsZUFkYXB0ZXIuDQogICAgICAgICAgICA+Pj4gY2FsbChF eGVjdXRvcnMuamF2YTo1MTEpDQogICAgICAgICAgICA+Pj4gYXQgamF2YS51dGlsLmNvbmN1cnJl bnQuRnV0dXJlVGFzay5ydW4oRnV0dXJlVGFzay5qYXZhOjI2NikNCiAgICAgICAgICAgID4+PiBh dCBqYXZhLnV0aWwuY29uY3VycmVudC5TY2hlZHVsZWRUaHJlYWRQb29sRXhlY3V0b3IkDQogICAg ICAgICAgICA+Pj4gDQogICAgICAgICAgICA+ICAgICAgICBTY2hlZHVsZWRGdXR1cmVUYXNrLmFj Y2VzcyQyMDEoU2NoZWR1bGVkVGhyZWFkUG9vbEV4ZWN1dG9yLmphdmE6MTgwKQ0KICAgICAgICAg ICAgPj4+IGF0IGphdmEudXRpbC5jb25jdXJyZW50LlNjaGVkdWxlZFRocmVhZFBvb2xFeGVjdXRv ciQNCiAgICAgICAgICAgID4+PiBTY2hlZHVsZWRGdXR1cmVUYXNrLnJ1bihTY2hlZHVsZWRUaHJl YWRQb29sRXhlY3V0b3IuamF2YToyOTMpDQogICAgICAgICAgICA+Pj4gYXQgamF2YS51dGlsLmNv bmN1cnJlbnQuVGhyZWFkUG9vbEV4ZWN1dG9yLnJ1bldvcmtlcigNCiAgICAgICAgICAgID4+PiBU aHJlYWRQb29sRXhlY3V0b3IuamF2YToxMTQyKQ0KICAgICAgICAgICAgPj4+IGF0IGphdmEudXRp bC5jb25jdXJyZW50LlRocmVhZFBvb2xFeGVjdXRvciRXb3JrZXIucnVuKA0KICAgICAgICAgICAg Pj4+IFRocmVhZFBvb2xFeGVjdXRvci5qYXZhOjYxNykNCiAgICAgICAgICAgID4+PiBhdCBqYXZh LmxhbmcuVGhyZWFkLnJ1bihUaHJlYWQuamF2YTo3NDUpDQogICAgICAgICAgICA+Pj4gSU5GTyBb by5hLmMuZS5vLk5ldHdvcmtPcmNoZXN0cmF0b3JdDQogICAgICAgICAgICA+ICAgICAgICAoTmV0 d29yay1TY2F2ZW5nZXItMTpjdHgtMjA1OGQ1YWMpDQogICAgICAgICAgICA+Pj4gKGxvZ2lkOmJm ODg4NWEwKSBOZXR3b3JrR2FyYmFnZUNvbGxlY3RvciB1c2VzICcyMCcgc2Vjb25kcw0KICAgICAg ICAgICAgPiAgICAgICAgZm9yIEdDIGludGVydmFsLg0KICAgICAgICAgICAgPj4+IFdBUk4gW2Mu Yy5oLnguci5DaXRyaXhSZXNvdXJjZUJhc2VdDQogICAgICAgICAgICA+ICAgICAgICAoRGlyZWN0 QWdlbnQtMTY6Y3R4LTdjOTAxNDQzKQ0KICAgICAgICAgICAgPj4+IChsb2dpZDphYWI5YzMyMCkg VW5hYmxlIHRvIGNsZWFuIHVwIFZCRCBkdWUgdG8NCiAgICAgICAgICAgID4+PiBZb3UgZ2F2ZSBh biBpbnZhbGlkIG9iamVjdCByZWZlcmVuY2UuIFRoZSBvYmplY3QgbWF5IGhhdmUNCiAgICAgICAg ICAgID4gICAgICAgIHJlY2VudGx5IGJlZW4NCiAgICAgICAgICAgID4+PiBkZWxldGVkLiBUaGUg Y2xhc3MgcGFyYW1ldGVyIGdpdmVzIHRoZSB0eXBlIG9mIHJlZmVyZW5jZQ0KICAgICAgICAgICAg PiAgICAgICAgZ2l2ZW4sIGFuZCB0aGUNCiAgICAgICAgICAgID4+PiBoYW5kbGUgcGFyYW1ldGVy IGVjaG9lcyB0aGUgYmFkIHZhbHVlIGdpdmVuLg0KICAgICAgICAgICAgPj4+IGF0IGNvbS54ZW5z b3VyY2UueGVuYXBpLlR5cGVzLmNoZWNrUmVzcG9uc2UoVHlwZXMuamF2YTo2OTMpDQogICAgICAg ICAgICA+Pj4gYXQNCiAgICAgICAgICAgID4gICAgICAgIGNvbS54ZW5zb3VyY2UueGVuYXBpLkNv bm5lY3Rpb24uZGlzcGF0Y2goQ29ubmVjdGlvbi5qYXZhOjM5NSkNCiAgICAgICAgICAgID4+PiBh dA0KICAgICAgICAgICAgPiAgICAgICAgY29tLmNsb3VkLmh5cGVydmlzb3IueGVuc2VydmVyLnJl c291cmNlLlhlblNlcnZlckNvbm5lY3Rpb25Qb29sJA0KICAgICAgICAgICAgPj4+IA0KICAgICAg ICAgICAgPiAgICAgICAgWGVuU2VydmVyQ29ubmVjdGlvbi5kaXNwYXRjaChYZW5TZXJ2ZXJDb25u ZWN0aW9uUG9vbC5qYXZhOjQ1NykNCiAgICAgICAgICAgID4+PiBhdCBjb20ueGVuc291cmNlLnhl bmFwaS5WQkQudW5wbHVnKFZCRC5qYXZhOjExMDkpDQogICAgICAgICAgICA+Pj4gYXQNCiAgICAg ICAgICAgID4gICAgICAgIGNvbS5jbG91ZC5oeXBlcnZpc29yLnhlbnNlcnZlci5yZXNvdXJjZS5D aXRyaXhSZXNvdXJjZUJhc2UuDQogICAgICAgICAgICA+Pj4gaGFuZGxlVm1TdGFydEZhaWx1cmUo Q2l0cml4UmVzb3VyY2VCYXNlLmphdmE6MzU3NikNCiAgICAgICAgICAgID4+PiBhdCBjb20uY2xv dWQuaHlwZXJ2aXNvci54ZW5zZXJ2ZXIucmVzb3VyY2Uud3JhcHBlci54ZW5iYXNlLg0KICAgICAg ICAgICAgPj4+IA0KICAgICAgICAgICAgPiAgICAgICAgQ2l0cml4U3RhcnRDb21tYW5kV3JhcHBl ci5leGVjdXRlKENpdHJpeFN0YXJ0Q29tbWFuZFdyYXBwZXIuamF2YToyMTApDQogICAgICAgICAg ICA+Pj4gYXQgY29tLmNsb3VkLmh5cGVydmlzb3IueGVuc2VydmVyLnJlc291cmNlLndyYXBwZXIu eGVuYmFzZS4NCiAgICAgICAgICAgID4+PiANCiAgICAgICAgICAgID4gICAgICAgIENpdHJpeFN0 YXJ0Q29tbWFuZFdyYXBwZXIuZXhlY3V0ZShDaXRyaXhTdGFydENvbW1hbmRXcmFwcGVyLmphdmE6 NTMpDQogICAgICAgICAgICA+Pj4gYXQgY29tLmNsb3VkLmh5cGVydmlzb3IueGVuc2VydmVyLnJl c291cmNlLndyYXBwZXIuDQogICAgICAgICAgICA+Pj4gDQogICAgICAgICAgICA+ICAgICAgICB4 ZW5iYXNlLkNpdHJpeFJlcXVlc3RXcmFwcGVyLmV4ZWN1dGUoQ2l0cml4UmVxdWVzdFdyYXBwZXIu amF2YToxMjIpDQogICAgICAgICAgICA+Pj4gYXQNCiAgICAgICAgICAgID4gICAgICAgIGNvbS5j bG91ZC5oeXBlcnZpc29yLnhlbnNlcnZlci5yZXNvdXJjZS5DaXRyaXhSZXNvdXJjZUJhc2UuDQog ICAgICAgICAgICA+Pj4gZXhlY3V0ZVJlcXVlc3QoQ2l0cml4UmVzb3VyY2VCYXNlLmphdmE6MTY5 MSkNCiAgICAgICAgICAgID4+PiBhdA0KICAgICAgICAgICAgPiAgICAgICAgY29tLmNsb3VkLmFn ZW50Lm1hbmFnZXIuRGlyZWN0QWdlbnRBdHRhY2hlJFRhc2sucnVuSW5Db250ZXh0KA0KICAgICAg ICAgICAgPj4+IERpcmVjdEFnZW50QXR0YWNoZS5qYXZhOjMxNSkNCiAgICAgICAgICAgID4+PiBh dA0KICAgICAgICAgICAgPiAgICAgICAgb3JnLmFwYWNoZS5jbG91ZHN0YWNrLm1hbmFnZWQuY29u dGV4dC5NYW5hZ2VkQ29udGV4dFJ1bm5hYmxlJDEucnVuKA0KICAgICAgICAgICAgPj4+IE1hbmFn ZWRDb250ZXh0UnVubmFibGUuamF2YTo0OSkNCiAgICAgICAgICAgID4+PiBhdCBvcmcuYXBhY2hl LmNsb3Vkc3RhY2subWFuYWdlZC5jb250ZXh0LmltcGwuDQogICAgICAgICAgICA+Pj4gRGVmYXVs dE1hbmFnZWRDb250ZXh0JDEuY2FsbChEZWZhdWx0TWFuYWdlZENvbnRleHQuamF2YTo1NikNCiAg ICAgICAgICAgID4+PiBhdA0KICAgICAgICAgICAgPiAgICAgICAgb3JnLmFwYWNoZS5jbG91ZHN0 YWNrLm1hbmFnZWQuY29udGV4dC5pbXBsLkRlZmF1bHRNYW5hZ2VkQ29udGV4dC4NCiAgICAgICAg ICAgID4+PiBjYWxsV2l0aENvbnRleHQoRGVmYXVsdE1hbmFnZWRDb250ZXh0LmphdmE6MTAzKQ0K ICAgICAgICAgICAgPj4+IGF0DQogICAgICAgICAgICA+ICAgICAgICBvcmcuYXBhY2hlLmNsb3Vk c3RhY2subWFuYWdlZC5jb250ZXh0LmltcGwuRGVmYXVsdE1hbmFnZWRDb250ZXh0Lg0KICAgICAg ICAgICAgPj4+IHJ1bldpdGhDb250ZXh0KERlZmF1bHRNYW5hZ2VkQ29udGV4dC5qYXZhOjUzKQ0K ICAgICAgICAgICAgPj4+IGF0DQogICAgICAgICAgICA+ICAgICAgICBvcmcuYXBhY2hlLmNsb3Vk c3RhY2subWFuYWdlZC5jb250ZXh0Lk1hbmFnZWRDb250ZXh0UnVubmFibGUucnVuKA0KICAgICAg ICAgICAgPj4+IE1hbmFnZWRDb250ZXh0UnVubmFibGUuamF2YTo0NikNCiAgICAgICAgICAgID4+ PiBhdCBqYXZhLnV0aWwuY29uY3VycmVudC5FeGVjdXRvcnMkUnVubmFibGVBZGFwdGVyLg0KICAg ICAgICAgICAgPj4+IGNhbGwoRXhlY3V0b3JzLmphdmE6NTExKQ0KICAgICAgICAgICAgPj4+IGF0 IGphdmEudXRpbC5jb25jdXJyZW50LkZ1dHVyZVRhc2sucnVuKEZ1dHVyZVRhc2suamF2YToyNjYp DQogICAgICAgICAgICA+Pj4gYXQgamF2YS51dGlsLmNvbmN1cnJlbnQuU2NoZWR1bGVkVGhyZWFk UG9vbEV4ZWN1dG9yJA0KICAgICAgICAgICAgPj4+IA0KICAgICAgICAgICAgPiAgICAgICAgU2No ZWR1bGVkRnV0dXJlVGFzay5hY2Nlc3MkMjAxKFNjaGVkdWxlZFRocmVhZFBvb2xFeGVjdXRvci5q YXZhOjE4MCkNCiAgICAgICAgICAgID4+PiBhdCBqYXZhLnV0aWwuY29uY3VycmVudC5TY2hlZHVs ZWRUaHJlYWRQb29sRXhlY3V0b3IkDQogICAgICAgICAgICA+Pj4gU2NoZWR1bGVkRnV0dXJlVGFz ay5ydW4oU2NoZWR1bGVkVGhyZWFkUG9vbEV4ZWN1dG9yLmphdmE6MjkzKQ0KICAgICAgICAgICAg Pj4+IGF0IGphdmEudXRpbC5jb25jdXJyZW50LlRocmVhZFBvb2xFeGVjdXRvci5ydW5Xb3JrZXIo DQogICAgICAgICAgICA+Pj4gVGhyZWFkUG9vbEV4ZWN1dG9yLmphdmE6MTE0MikNCiAgICAgICAg ICAgID4+PiBhdCBqYXZhLnV0aWwuY29uY3VycmVudC5UaHJlYWRQb29sRXhlY3V0b3IkV29ya2Vy LnJ1bigNCiAgICAgICAgICAgID4+PiBUaHJlYWRQb29sRXhlY3V0b3IuamF2YTo2MTcpDQogICAg ICAgICAgICA+Pj4gYXQgamF2YS5sYW5nLlRocmVhZC5ydW4oVGhyZWFkLmphdmE6NzQ1KQ0KICAg ICAgICAgICAgPj4+IFdBUk4gW2MuYy5oLnguci5DaXRyaXhSZXNvdXJjZUJhc2VdDQogICAgICAg ICAgICA+ICAgICAgICAoRGlyZWN0QWdlbnQtMTY6Y3R4LTdjOTAxNDQzKQ0KICAgICAgICAgICAg Pj4+IChsb2dpZDphYWI5YzMyMCkgVW5hYmxlIHRvIGNsZWFuIHVwIFZCRCBkdWUgdG8NCiAgICAg ICAgICAgID4+PiBZb3UgZ2F2ZSBhbiBpbnZhbGlkIG9iamVjdCByZWZlcmVuY2UuIFRoZSBvYmpl Y3QgbWF5IGhhdmUNCiAgICAgICAgICAgID4gICAgICAgIHJlY2VudGx5IGJlZW4NCiAgICAgICAg ICAgID4+PiBkZWxldGVkLiBUaGUgY2xhc3MgcGFyYW1ldGVyIGdpdmVzIHRoZSB0eXBlIG9mIHJl ZmVyZW5jZQ0KICAgICAgICAgICAgPiAgICAgICAgZ2l2ZW4sIGFuZCB0aGUNCiAgICAgICAgICAg ID4+PiBoYW5kbGUgcGFyYW1ldGVyIGVjaG9lcyB0aGUgYmFkIHZhbHVlIGdpdmVuLg0KICAgICAg ICAgICAgPj4+IGF0IGNvbS54ZW5zb3VyY2UueGVuYXBpLlR5cGVzLmNoZWNrUmVzcG9uc2UoVHlw ZXMuamF2YTo2OTMpDQogICAgICAgICAgICA+Pj4gYXQNCiAgICAgICAgICAgID4gICAgICAgIGNv bS54ZW5zb3VyY2UueGVuYXBpLkNvbm5lY3Rpb24uZGlzcGF0Y2goQ29ubmVjdGlvbi5qYXZhOjM5 NSkNCiAgICAgICAgICAgID4+PiBhdA0KICAgICAgICAgICAgPiAgICAgICAgY29tLmNsb3VkLmh5 cGVydmlzb3IueGVuc2VydmVyLnJlc291cmNlLlhlblNlcnZlckNvbm5lY3Rpb25Qb29sJA0KICAg ICAgICAgICAgPj4+IA0KICAgICAgICAgICAgPiAgICAgICAgWGVuU2VydmVyQ29ubmVjdGlvbi5k aXNwYXRjaChYZW5TZXJ2ZXJDb25uZWN0aW9uUG9vbC5qYXZhOjQ1NykNCiAgICAgICAgICAgID4+ PiBhdCBjb20ueGVuc291cmNlLnhlbmFwaS5WQkQudW5wbHVnKFZCRC5qYXZhOjExMDkpDQogICAg ICAgICAgICA+Pj4gYXQNCiAgICAgICAgICAgID4gICAgICAgIGNvbS5jbG91ZC5oeXBlcnZpc29y LnhlbnNlcnZlci5yZXNvdXJjZS5DaXRyaXhSZXNvdXJjZUJhc2UuDQogICAgICAgICAgICA+Pj4g aGFuZGxlVm1TdGFydEZhaWx1cmUoQ2l0cml4UmVzb3VyY2VCYXNlLmphdmE6MzU3NikNCiAgICAg ICAgICAgID4+PiBhdCBjb20uY2xvdWQuaHlwZXJ2aXNvci54ZW5zZXJ2ZXIucmVzb3VyY2Uud3Jh cHBlci54ZW5iYXNlLg0KICAgICAgICAgICAgPj4+IA0KICAgICAgICAgICAgPiAgICAgICAgQ2l0 cml4U3RhcnRDb21tYW5kV3JhcHBlci5leGVjdXRlKENpdHJpeFN0YXJ0Q29tbWFuZFdyYXBwZXIu amF2YToyMTApDQogICAgICAgICAgICA+Pj4gYXQgY29tLmNsb3VkLmh5cGVydmlzb3IueGVuc2Vy dmVyLnJlc291cmNlLndyYXBwZXIueGVuYmFzZS4NCiAgICAgICAgICAgID4+PiANCiAgICAgICAg ICAgID4gICAgICAgIENpdHJpeFN0YXJ0Q29tbWFuZFdyYXBwZXIuZXhlY3V0ZShDaXRyaXhTdGFy dENvbW1hbmRXcmFwcGVyLmphdmE6NTMpDQogICAgICAgICAgICA+Pj4gYXQgY29tLmNsb3VkLmh5 cGVydmlzb3IueGVuc2VydmVyLnJlc291cmNlLndyYXBwZXIuDQogICAgICAgICAgICA+Pj4gDQog ICAgICAgICAgICA+ICAgICAgICB4ZW5iYXNlLkNpdHJpeFJlcXVlc3RXcmFwcGVyLmV4ZWN1dGUo Q2l0cml4UmVxdWVzdFdyYXBwZXIuamF2YToxMjIpDQogICAgICAgICAgICA+Pj4gYXQNCiAgICAg ICAgICAgID4gICAgICAgIGNvbS5jbG91ZC5oeXBlcnZpc29yLnhlbnNlcnZlci5yZXNvdXJjZS5D aXRyaXhSZXNvdXJjZUJhc2UuDQogICAgICAgICAgICA+Pj4gZXhlY3V0ZVJlcXVlc3QoQ2l0cml4 UmVzb3VyY2VCYXNlLmphdmE6MTY5MSkNCiAgICAgICAgICAgID4+PiBhdA0KICAgICAgICAgICAg PiAgICAgICAgY29tLmNsb3VkLmFnZW50Lm1hbmFnZXIuRGlyZWN0QWdlbnRBdHRhY2hlJFRhc2su cnVuSW5Db250ZXh0KA0KICAgICAgICAgICAgPj4+IERpcmVjdEFnZW50QXR0YWNoZS5qYXZhOjMx NSkNCiAgICAgICAgICAgID4+PiBhdA0KICAgICAgICAgICAgPiAgICAgICAgb3JnLmFwYWNoZS5j bG91ZHN0YWNrLm1hbmFnZWQuY29udGV4dC5NYW5hZ2VkQ29udGV4dFJ1bm5hYmxlJDEucnVuKA0K ICAgICAgICAgICAgPj4+IE1hbmFnZWRDb250ZXh0UnVubmFibGUuamF2YTo0OSkNCiAgICAgICAg ICAgID4+PiBhdCBvcmcuYXBhY2hlLmNsb3Vkc3RhY2subWFuYWdlZC5jb250ZXh0LmltcGwuDQog ICAgICAgICAgICA+Pj4gRGVmYXVsdE1hbmFnZWRDb250ZXh0JDEuY2FsbChEZWZhdWx0TWFuYWdl ZENvbnRleHQuamF2YTo1NikNCiAgICAgICAgICAgID4+PiBhdA0KICAgICAgICAgICAgPiAgICAg ICAgb3JnLmFwYWNoZS5jbG91ZHN0YWNrLm1hbmFnZWQuY29udGV4dC5pbXBsLkRlZmF1bHRNYW5h Z2VkQ29udGV4dC4NCiAgICAgICAgICAgID4+PiBjYWxsV2l0aENvbnRleHQoRGVmYXVsdE1hbmFn ZWRDb250ZXh0LmphdmE6MTAzKQ0KICAgICAgICAgICAgPj4+IGF0DQogICAgICAgICAgICA+ICAg ICAgICBvcmcuYXBhY2hlLmNsb3Vkc3RhY2subWFuYWdlZC5jb250ZXh0LmltcGwuRGVmYXVsdE1h bmFnZWRDb250ZXh0Lg0KICAgICAgICAgICAgPj4+IHJ1bldpdGhDb250ZXh0KERlZmF1bHRNYW5h Z2VkQ29udGV4dC5qYXZhOjUzKQ0KICAgICAgICAgICAgPj4+IGF0DQogICAgICAgICAgICA+ICAg ICAgICBvcmcuYXBhY2hlLmNsb3Vkc3RhY2subWFuYWdlZC5jb250ZXh0Lk1hbmFnZWRDb250ZXh0 UnVubmFibGUucnVuKA0KICAgICAgICAgICAgPj4+IE1hbmFnZWRDb250ZXh0UnVubmFibGUuamF2 YTo0NikNCiAgICAgICAgICAgID4+PiBhdCBqYXZhLnV0aWwuY29uY3VycmVudC5FeGVjdXRvcnMk UnVubmFibGVBZGFwdGVyLg0KICAgICAgICAgICAgPj4+IGNhbGwoRXhlY3V0b3JzLmphdmE6NTEx KQ0KICAgICAgICAgICAgPj4+IGF0IGphdmEudXRpbC5jb25jdXJyZW50LkZ1dHVyZVRhc2sucnVu KEZ1dHVyZVRhc2suamF2YToyNjYpDQogICAgICAgICAgICA+Pj4gYXQgamF2YS51dGlsLmNvbmN1 cnJlbnQuU2NoZWR1bGVkVGhyZWFkUG9vbEV4ZWN1dG9yJA0KICAgICAgICAgICAgPj4+IA0KICAg ICAgICAgICAgPiAgICAgICAgU2NoZWR1bGVkRnV0dXJlVGFzay5hY2Nlc3MkMjAxKFNjaGVkdWxl ZFRocmVhZFBvb2xFeGVjdXRvci5qYXZhOjE4MCkNCiAgICAgICAgICAgID4+PiBhdCBqYXZhLnV0 aWwuY29uY3VycmVudC5TY2hlZHVsZWRUaHJlYWRQb29sRXhlY3V0b3IkDQogICAgICAgICAgICA+ Pj4gU2NoZWR1bGVkRnV0dXJlVGFzay5ydW4oU2NoZWR1bGVkVGhyZWFkUG9vbEV4ZWN1dG9yLmph dmE6MjkzKQ0KICAgICAgICAgICAgPj4+IGF0IGphdmEudXRpbC5jb25jdXJyZW50LlRocmVhZFBv b2xFeGVjdXRvci5ydW5Xb3JrZXIoDQogICAgICAgICAgICA+Pj4gVGhyZWFkUG9vbEV4ZWN1dG9y LmphdmE6MTE0MikNCiAgICAgICAgICAgID4+PiBhdCBqYXZhLnV0aWwuY29uY3VycmVudC5UaHJl YWRQb29sRXhlY3V0b3IkV29ya2VyLnJ1bigNCiAgICAgICAgICAgID4+PiBUaHJlYWRQb29sRXhl Y3V0b3IuamF2YTo2MTcpDQogICAgICAgICAgICA+Pj4gYXQgamF2YS5sYW5nLlRocmVhZC5ydW4o VGhyZWFkLmphdmE6NzQ1KQ0KICAgICAgICAgICAgPj4+IFdBUk4gW2MuYy5oLnguci5DaXRyaXhS ZXNvdXJjZUJhc2VdDQogICAgICAgICAgICA+ICAgICAgICAoRGlyZWN0QWdlbnQtMTY6Y3R4LTdj OTAxNDQzKQ0KICAgICAgICAgICAgPj4+IChsb2dpZDphYWI5YzMyMCkgVW5hYmxlIHRvIGNsZWFu dXAgVklGDQogICAgICAgICAgICA+Pj4gWW91IGdhdmUgYW4gaW52YWxpZCBvYmplY3QgcmVmZXJl bmNlLiBUaGUgb2JqZWN0IG1heSBoYXZlDQogICAgICAgICAgICA+ICAgICAgICByZWNlbnRseSBi ZWVuDQogICAgICAgICAgICA+Pj4gZGVsZXRlZC4gVGhlIGNsYXNzIHBhcmFtZXRlciBnaXZlcyB0 aGUgdHlwZSBvZiByZWZlcmVuY2UNCiAgICAgICAgICAgID4gICAgICAgIGdpdmVuLCBhbmQgdGhl DQogICAgICAgICAgICA+Pj4gaGFuZGxlIHBhcmFtZXRlciBlY2hvZXMgdGhlIGJhZCB2YWx1ZSBn aXZlbi4NCiAgICAgICAgICAgID4+PiBhdCBjb20ueGVuc291cmNlLnhlbmFwaS5UeXBlcy5jaGVj a1Jlc3BvbnNlKFR5cGVzLmphdmE6NjkzKQ0KICAgICAgICAgICAgPj4+IGF0DQogICAgICAgICAg ICA+ICAgICAgICBjb20ueGVuc291cmNlLnhlbmFwaS5Db25uZWN0aW9uLmRpc3BhdGNoKENvbm5l Y3Rpb24uamF2YTozOTUpDQogICAgICAgICAgICA+Pj4gYXQNCiAgICAgICAgICAgID4gICAgICAg IGNvbS5jbG91ZC5oeXBlcnZpc29yLnhlbnNlcnZlci5yZXNvdXJjZS5YZW5TZXJ2ZXJDb25uZWN0 aW9uUG9vbCQNCiAgICAgICAgICAgID4+PiANCiAgICAgICAgICAgID4gICAgICAgIFhlblNlcnZl ckNvbm5lY3Rpb24uZGlzcGF0Y2goWGVuU2VydmVyQ29ubmVjdGlvblBvb2wuamF2YTo0NTcpDQog ICAgICAgICAgICA+Pj4gYXQgY29tLnhlbnNvdXJjZS54ZW5hcGkuVklGLnVucGx1ZyhWSUYuamF2 YTo5MjEpDQogICAgICAgICAgICA+Pj4gYXQNCiAgICAgICAgICAgID4gICAgICAgIGNvbS5jbG91 ZC5oeXBlcnZpc29yLnhlbnNlcnZlci5yZXNvdXJjZS5DaXRyaXhSZXNvdXJjZUJhc2UuDQogICAg ICAgICAgICA+Pj4gaGFuZGxlVm1TdGFydEZhaWx1cmUoQ2l0cml4UmVzb3VyY2VCYXNlLmphdmE6 MzU4NCkNCiAgICAgICAgICAgID4+PiBhdCBjb20uY2xvdWQuaHlwZXJ2aXNvci54ZW5zZXJ2ZXIu cmVzb3VyY2Uud3JhcHBlci54ZW5iYXNlLg0KICAgICAgICAgICAgPj4+IA0KICAgICAgICAgICAg PiAgICAgICAgQ2l0cml4U3RhcnRDb21tYW5kV3JhcHBlci5leGVjdXRlKENpdHJpeFN0YXJ0Q29t bWFuZFdyYXBwZXIuamF2YToyMTApDQogICAgICAgICAgICA+Pj4gYXQgY29tLmNsb3VkLmh5cGVy dmlzb3IueGVuc2VydmVyLnJlc291cmNlLndyYXBwZXIueGVuYmFzZS4NCiAgICAgICAgICAgID4+ PiANCiAgICAgICAgICAgID4gICAgICAgIENpdHJpeFN0YXJ0Q29tbWFuZFdyYXBwZXIuZXhlY3V0 ZShDaXRyaXhTdGFydENvbW1hbmRXcmFwcGVyLmphdmE6NTMpDQogICAgICAgICAgICA+Pj4gYXQg Y29tLmNsb3VkLmh5cGVydmlzb3IueGVuc2VydmVyLnJlc291cmNlLndyYXBwZXIuDQogICAgICAg ICAgICA+Pj4gDQogICAgICAgICAgICA+ICAgICAgICB4ZW5iYXNlLkNpdHJpeFJlcXVlc3RXcmFw cGVyLmV4ZWN1dGUoQ2l0cml4UmVxdWVzdFdyYXBwZXIuamF2YToxMjIpDQogICAgICAgICAgICA+ Pj4gYXQNCiAgICAgICAgICAgID4gICAgICAgIGNvbS5jbG91ZC5oeXBlcnZpc29yLnhlbnNlcnZl ci5yZXNvdXJjZS5DaXRyaXhSZXNvdXJjZUJhc2UuDQogICAgICAgICAgICA+Pj4gZXhlY3V0ZVJl cXVlc3QoQ2l0cml4UmVzb3VyY2VCYXNlLmphdmE6MTY5MSkNCiAgICAgICAgICAgID4+PiBhdA0K ICAgICAgICAgICAgPiAgICAgICAgY29tLmNsb3VkLmFnZW50Lm1hbmFnZXIuRGlyZWN0QWdlbnRB dHRhY2hlJFRhc2sucnVuSW5Db250ZXh0KA0KICAgICAgICAgICAgPj4+IERpcmVjdEFnZW50QXR0 YWNoZS5qYXZhOjMxNSkNCiAgICAgICAgICAgID4+PiBhdA0KICAgICAgICAgICAgPiAgICAgICAg b3JnLmFwYWNoZS5jbG91ZHN0YWNrLm1hbmFnZWQuY29udGV4dC5NYW5hZ2VkQ29udGV4dFJ1bm5h YmxlJDEucnVuKA0KICAgICAgICAgICAgPj4+IE1hbmFnZWRDb250ZXh0UnVubmFibGUuamF2YTo0 OSkNCiAgICAgICAgICAgID4+PiBhdCBvcmcuYXBhY2hlLmNsb3Vkc3RhY2subWFuYWdlZC5jb250 ZXh0LmltcGwuDQogICAgICAgICAgICA+Pj4gRGVmYXVsdE1hbmFnZWRDb250ZXh0JDEuY2FsbChE ZWZhdWx0TWFuYWdlZENvbnRleHQuamF2YTo1NikNCiAgICAgICAgICAgID4+PiBhdA0KICAgICAg ICAgICAgPiAgICAgICAgb3JnLmFwYWNoZS5jbG91ZHN0YWNrLm1hbmFnZWQuY29udGV4dC5pbXBs LkRlZmF1bHRNYW5hZ2VkQ29udGV4dC4NCiAgICAgICAgICAgID4+PiBjYWxsV2l0aENvbnRleHQo RGVmYXVsdE1hbmFnZWRDb250ZXh0LmphdmE6MTAzKQ0KICAgICAgICAgICAgPj4+IGF0DQogICAg ICAgICAgICA+ICAgICAgICBvcmcuYXBhY2hlLmNsb3Vkc3RhY2subWFuYWdlZC5jb250ZXh0Lmlt cGwuRGVmYXVsdE1hbmFnZWRDb250ZXh0Lg0KICAgICAgICAgICAgPj4+IHJ1bldpdGhDb250ZXh0 KERlZmF1bHRNYW5hZ2VkQ29udGV4dC5qYXZhOjUzKQ0KICAgICAgICAgICAgPj4+IGF0DQogICAg ICAgICAgICA+ICAgICAgICBvcmcuYXBhY2hlLmNsb3Vkc3RhY2subWFuYWdlZC5jb250ZXh0Lk1h bmFnZWRDb250ZXh0UnVubmFibGUucnVuKA0KICAgICAgICAgICAgPj4+IE1hbmFnZWRDb250ZXh0 UnVubmFibGUuamF2YTo0NikNCiAgICAgICAgICAgID4+PiBhdCBqYXZhLnV0aWwuY29uY3VycmVu dC5FeGVjdXRvcnMkUnVubmFibGVBZGFwdGVyLg0KICAgICAgICAgICAgPj4+IGNhbGwoRXhlY3V0 b3JzLmphdmE6NTExKQ0KICAgICAgICAgICAgPj4+IGF0IGphdmEudXRpbC5jb25jdXJyZW50LkZ1 dHVyZVRhc2sucnVuKEZ1dHVyZVRhc2suamF2YToyNjYpDQogICAgICAgICAgICA+Pj4gYXQgamF2 YS51dGlsLmNvbmN1cnJlbnQuU2NoZWR1bGVkVGhyZWFkUG9vbEV4ZWN1dG9yJA0KICAgICAgICAg ICAgPj4+IA0KICAgICAgICAgICAgPiAgICAgICAgU2NoZWR1bGVkRnV0dXJlVGFzay5hY2Nlc3Mk MjAxKFNjaGVkdWxlZFRocmVhZFBvb2xFeGVjdXRvci5qYXZhOjE4MCkNCiAgICAgICAgICAgID4+ PiBhdCBqYXZhLnV0aWwuY29uY3VycmVudC5TY2hlZHVsZWRUaHJlYWRQb29sRXhlY3V0b3IkDQog ICAgICAgICAgICA+Pj4gU2NoZWR1bGVkRnV0dXJlVGFzay5ydW4oU2NoZWR1bGVkVGhyZWFkUG9v bEV4ZWN1dG9yLmphdmE6MjkzKQ0KICAgICAgICAgICAgPj4+IGF0IGphdmEudXRpbC5jb25jdXJy ZW50LlRocmVhZFBvb2xFeGVjdXRvci5ydW5Xb3JrZXIoDQogICAgICAgICAgICA+Pj4gVGhyZWFk UG9vbEV4ZWN1dG9yLmphdmE6MTE0MikNCiAgICAgICAgICAgID4+PiBhdCBqYXZhLnV0aWwuY29u Y3VycmVudC5UaHJlYWRQb29sRXhlY3V0b3IkV29ya2VyLnJ1bigNCiAgICAgICAgICAgID4+PiBU aHJlYWRQb29sRXhlY3V0b3IuamF2YTo2MTcpDQogICAgICAgICAgICA+Pj4gYXQgamF2YS5sYW5n LlRocmVhZC5ydW4oVGhyZWFkLmphdmE6NzQ1KQ0KICAgICAgICAgICAgPj4+IElORk8gW2MuYy52 LlZpcnR1YWxNYWNoaW5lTWFuYWdlckltcGxdDQogICAgICAgICAgICA+ICAgICAgICAoV29yay1K b2ItRXhlY3V0b3ItMjpjdHgtYmMxMDQzODANCiAgICAgICAgICAgID4+PiBqb2ItMjUvam9iLTI3 IGN0eC04Yzk0NmE1YikgKGxvZ2lkOmFhYjljMzIwKSBVbmFibGUgdG8gc3RhcnQNCiAgICAgICAg ICAgID4gICAgICAgIFZNIG9uDQogICAgICAgICAgICA+Pj4gSG9zdFstMi1Sb3V0aW5nXSBkdWUg dG8gVW5hYmxlIHRvIHN0YXJ0IGktMi02LVZNIGR1ZSB0bw0KICAgICAgICAgICAgPj4+IEVSUk9S IFtjLmMudi5WbVdvcmtKb2JIYW5kbGVyUHJveHldDQogICAgICAgICAgICA+ICAgICAgICAoV29y ay1Kb2ItRXhlY3V0b3ItMjpjdHgtYmMxMDQzODANCiAgICAgICAgICAgID4+PiBqb2ItMjUvam9i LTI3IGN0eC04Yzk0NmE1YikgKGxvZ2lkOmFhYjljMzIwKSBJbnZvY2F0aW9uDQogICAgICAgICAg ICA+ICAgICAgICBleGNlcHRpb24sIGNhdXNlZA0KICAgICAgICAgICAgPj4+IGJ5OiBjb20uY2xv dWQuZXhjZXB0aW9uLkluc3VmZmljaWVudFNlcnZlckNhcGFjaXR5RXhjZXB0aW9uOg0KICAgICAg ICAgICAgPiAgICAgICAgVW5hYmxlIHRvDQogICAgICAgICAgICA+Pj4gY3JlYXRlIGEgZGVwbG95 bWVudCBmb3IgVk1bVXNlcnxpLTItNi1WTV1TY29wZT1pbnRlcmZhY2UNCiAgICAgICAgICAgID4+ PiBjb20uY2xvdWQuZGMuRGF0YUNlbnRlcjsgaWQ9MQ0KICAgICAgICAgICAgPj4+IElORk8gW2Mu Yy52LlZtV29ya0pvYkhhbmRsZXJQcm94eV0NCiAgICAgICAgICAgID4gICAgICAgIChXb3JrLUpv Yi1FeGVjdXRvci0yOmN0eC1iYzEwNDM4MA0KICAgICAgICAgICAgPj4+IGpvYi0yNS9qb2ItMjcg Y3R4LThjOTQ2YTViKSAobG9naWQ6YWFiOWMzMjApIFJldGhyb3cNCiAgICAgICAgICAgID4gICAg ICAgIGV4Y2VwdGlvbg0KICAgICAgICAgICAgPj4+IGNvbS5jbG91ZC5leGNlcHRpb24uSW5zdWZm aWNpZW50U2VydmVyQ2FwYWNpdHlFeGNlcHRpb246DQogICAgICAgICAgICA+ICAgICAgICBVbmFi bGUgdG8gY3JlYXRlDQogICAgICAgICAgICA+Pj4gYSBkZXBsb3ltZW50IGZvciBWTVtVc2VyfGkt Mi02LVZNXVNjb3BlPWludGVyZmFjZQ0KICAgICAgICAgICAgPj4+IGNvbS5jbG91ZC5kYy5EYXRh Q2VudGVyOyBpZD0xDQogICAgICAgICAgICA+Pj4gRVJST1IgW2MuYy52LlZtV29ya0pvYkRpc3Bh dGNoZXJdDQogICAgICAgICAgICA+ICAgICAgICAoV29yay1Kb2ItRXhlY3V0b3ItMjpjdHgtYmMx MDQzODANCiAgICAgICAgICAgID4+PiBqb2ItMjUvam9iLTI3KSAobG9naWQ6YWFiOWMzMjApIFVu YWJsZSB0byBjb21wbGV0ZSBBc3luY0pvYlZPDQogICAgICAgICAgICA+ICAgICAgICB7aWQ6Mjcs DQogICAgICAgICAgICA+Pj4gdXNlcklkOiAyLCBhY2NvdW50SWQ6IDIsIGluc3RhbmNlVHlwZTog bnVsbCwgaW5zdGFuY2VJZDoNCiAgICAgICAgICAgID4gICAgICAgIG51bGwsIGNtZDoNCiAgICAg ICAgICAgID4+PiBjb20uY2xvdWQudm0uVm1Xb3JrU3RhcnQsIGNtZEluZm86DQogICAgICAgICAg ICA+ICAgICAgICByTzBBQlhOeUFCaGpiMjB1WTJ4dmRXUXVkbTB1Vm0NCiAgICAgICAgICAgID4+ PiAxWGIzSnJVM1JoY25SOWNNR3N2eHo3M2dJQUMwb0FCR1JqU1dSTUFBWmhkbTlwWkhOMEFEQk1Z Mjl0TDINCiAgICAgICAgICAgID4+PiBOc2IzVmtMMlJsY0d4dmVTOUVaWEJzYjNsdFpXNTBVR3ho Ym01bGNpUkZlR05zZFdSbFRHbHpkRHRNQUENCiAgICAgICAgICAgID4+PiBsamJIVnpkR1Z5U1dS MEFCQk1hbUYyWVM5c1lXNW5MMHh2Ym1jN1RBQUdhRzl6ZEVsa2NRQi0NCiAgICAgICAgICAgID4+ PiBBQUpNQUF0cWIzVnlibUZzVG1GdFpYUUFFa3hxWVhaaEwyeGhibWN2VTNSeWFXNW5PMHdBRVhC b2VYTnANCiAgICAgICAgICAgID4+PiANCiAgICAgICAgICAgID4gICAgICAgIFkyRnNUbVYwZDI5 eWEwbGtjUUItQUFKTUFBZHdiR0Z1Ym1WeWNRQi1BQU5NQUFWd2IyUkpaSEVBZmdBQ1RBQUdjRzl2 YkUNCiAgICAgICAgICAgID4+PiANCiAgICAgICAgICAgID4gICAgICAgIGxrY1FCLUFBSk1BQWx5 WVhkUVlYSmhiWE4wQUE5TWFtRjJZUzkxZEdsc0wwMWhjRHRNQUExeVpYTmxjblpoZEdsdmJrbGtj UUItDQogICAgICAgICAgICA+Pj4gDQogICAgICAgICAgICA+ICAgICAgICBBQU40Y2dBVFkyOXRM bU5zYjNWa0xuWnRMbFp0VjI5eWE1LVp0bGJ3SldkckFnQUVTZ0FKWVdOamIzVnVkRWxrUw0KICAg ICAgICAgICAgPj4+IA0KICAgICAgICAgICAgPiAgICAgICAgZ0FHZFhObGNrbGtTZ0FFZG0xSlpF d0FDMmhoYm1Sc1pYSk9ZVzFsY1FCLUFBTjRjQUFBQUFBQUFBQUNBQUFBQUFBQUFBSUFBQQ0KICAg ICAgICAgICAgPj4+IEFBQUFBQUJuUUFHVlpwY25SMVlXeE5ZV05vYVc1bFRXRnVZV2RsY2tsdGNH d0FBQUFBQUFBQUFIQndjSA0KICAgICAgICAgICAgPj4+IEJ3Y0hCd2MzSUFFV3BoZG1FdWRYUnBi QzVJWVhOb1RXRndCUWZhd2NNV1lORURBQUpHQUFwc2IyRmtSbQ0KICAgICAgICAgICAgPj4+IEZq ZEc5eVNRQUpkR2h5WlhOb2IyeGtlSEFfUUFBQUFBQUFESGNJQUFBQUVBQUFBQUYwQUFwV2JWDQog ICAgICAgICAgICA+Pj4gQmhjM04zYjNKa2RBQWNjazh3UVVKWVVVRkViazVvWkcxV2ExZ3pRbWhq TTA0ellqTkthM2h3LA0KICAgICAgICAgICAgPiAgICAgICAgY21kVmVyc2lvbjogMCwNCiAgICAg ICAgICAgID4+PiBzdGF0dXM6IElOX1BST0dSRVNTLCBwcm9jZXNzU3RhdHVzOiAwLCByZXN1bHRD b2RlOiAwLCByZXN1bHQ6DQogICAgICAgICAgICA+ICAgICAgICBudWxsLA0KICAgICAgICAgICAg Pj4+IGluaXRNc2lkOiA1MjIzNzYxNzc5NywgY29tcGxldGVNc2lkOiBudWxsLCBsYXN0VXBkYXRl ZDogbnVsbCwNCiAgICAgICAgICAgID4gICAgICAgIGxhc3RQb2xsZWQ6DQogICAgICAgICAgICA+ Pj4gbnVsbCwgY3JlYXRlZDogV2VkIE1hciAwMSAxMjo1MTozMiBNU1QgMjAxN30sIGpvYiBvcmln aW46MjUNCiAgICAgICAgICAgID4+PiBjb20uY2xvdWQuZXhjZXB0aW9uLkluc3VmZmljaWVudFNl cnZlckNhcGFjaXR5RXhjZXB0aW9uOg0KICAgICAgICAgICAgPiAgICAgICAgVW5hYmxlIHRvIGNy ZWF0ZQ0KICAgICAgICAgICAgPj4+IGEgZGVwbG95bWVudCBmb3IgVk1bVXNlcnxpLTItNi1WTV1T Y29wZT1pbnRlcmZhY2UNCiAgICAgICAgICAgID4+PiBjb20uY2xvdWQuZGMuRGF0YUNlbnRlcjsg aWQ9MQ0KICAgICAgICAgICAgPj4+IGF0IGNvbS5jbG91ZC52bS5WaXJ0dWFsTWFjaGluZU1hbmFn ZXJJbXBsLm9yY2hlc3RyYXRlU3RhcnQoDQogICAgICAgICAgICA+Pj4gVmlydHVhbE1hY2hpbmVN YW5hZ2VySW1wbC5qYXZhOjk2MSkNCiAgICAgICAgICAgID4+PiBhdCBjb20uY2xvdWQudm0uVmly dHVhbE1hY2hpbmVNYW5hZ2VySW1wbC5vcmNoZXN0cmF0ZVN0YXJ0KA0KICAgICAgICAgICAgPj4+ IFZpcnR1YWxNYWNoaW5lTWFuYWdlckltcGwuamF2YTo0NjYxKQ0KICAgICAgICAgICAgPj4+IGF0 IHN1bi5yZWZsZWN0Lk5hdGl2ZU1ldGhvZEFjY2Vzc29ySW1wbC5pbnZva2UwKE5hdGl2ZQ0KICAg ICAgICAgICAgPiAgICAgICAgTWV0aG9kKQ0KICAgICAgICAgICAgPj4+IGF0IHN1bi5yZWZsZWN0 Lk5hdGl2ZU1ldGhvZEFjY2Vzc29ySW1wbC5pbnZva2UoDQogICAgICAgICAgICA+Pj4gTmF0aXZl TWV0aG9kQWNjZXNzb3JJbXBsLmphdmE6NjIpDQogICAgICAgICAgICA+Pj4gYXQgc3VuLnJlZmxl Y3QuRGVsZWdhdGluZ01ldGhvZEFjY2Vzc29ySW1wbC5pbnZva2UoDQogICAgICAgICAgICA+Pj4g RGVsZWdhdGluZ01ldGhvZEFjY2Vzc29ySW1wbC5qYXZhOjQzKQ0KICAgICAgICAgICAgPj4+IGF0 IGphdmEubGFuZy5yZWZsZWN0Lk1ldGhvZC5pbnZva2UoTWV0aG9kLmphdmE6NDk4KQ0KICAgICAg ICAgICAgPj4+IGF0IGNvbS5jbG91ZC52bS5WbVdvcmtKb2JIYW5kbGVyUHJveHkuaGFuZGxlVm1X b3JrSm9iKA0KICAgICAgICAgICAgPj4+IFZtV29ya0pvYkhhbmRsZXJQcm94eS5qYXZhOjEwNykN CiAgICAgICAgICAgID4+PiBhdCBjb20uY2xvdWQudm0uVmlydHVhbE1hY2hpbmVNYW5hZ2VySW1w bC5oYW5kbGVWbVdvcmtKb2IoDQogICAgICAgICAgICA+Pj4gVmlydHVhbE1hY2hpbmVNYW5hZ2Vy SW1wbC5qYXZhOjQ4MjIpDQogICAgICAgICAgICA+Pj4gYXQgY29tLmNsb3VkLnZtLlZtV29ya0pv YkRpc3BhdGNoZXIucnVuSm9iKA0KICAgICAgICAgICAgPj4+IFZtV29ya0pvYkRpc3BhdGNoZXIu amF2YToxMDIpDQogICAgICAgICAgICA+Pj4gYXQNCiAgICAgICAgICAgID4gICAgICAgIG9yZy5h cGFjaGUuY2xvdWRzdGFjay5mcmFtZXdvcmsuam9icy5pbXBsLkFzeW5jSm9iTWFuYWdlckltcGwk NS4NCiAgICAgICAgICAgID4+PiBydW5JbkNvbnRleHQoQXN5bmNKb2JNYW5hZ2VySW1wbC5qYXZh OjU1NCkNCiAgICAgICAgICAgID4+PiBhdA0KICAgICAgICAgICAgPiAgICAgICAgb3JnLmFwYWNo ZS5jbG91ZHN0YWNrLm1hbmFnZWQuY29udGV4dC5NYW5hZ2VkQ29udGV4dFJ1bm5hYmxlJDEucnVu KA0KICAgICAgICAgICAgPj4+IE1hbmFnZWRDb250ZXh0UnVubmFibGUuamF2YTo0OSkNCiAgICAg ICAgICAgID4+PiBhdCBvcmcuYXBhY2hlLmNsb3Vkc3RhY2subWFuYWdlZC5jb250ZXh0LmltcGwu DQogICAgICAgICAgICA+Pj4gRGVmYXVsdE1hbmFnZWRDb250ZXh0JDEuY2FsbChEZWZhdWx0TWFu YWdlZENvbnRleHQuamF2YTo1NikNCiAgICAgICAgICAgID4+PiBhdA0KICAgICAgICAgICAgPiAg ICAgICAgb3JnLmFwYWNoZS5jbG91ZHN0YWNrLm1hbmFnZWQuY29udGV4dC5pbXBsLkRlZmF1bHRN YW5hZ2VkQ29udGV4dC4NCiAgICAgICAgICAgID4+PiBjYWxsV2l0aENvbnRleHQoRGVmYXVsdE1h bmFnZWRDb250ZXh0LmphdmE6MTAzKQ0KICAgICAgICAgICAgPj4+IGF0DQogICAgICAgICAgICA+ ICAgICAgICBvcmcuYXBhY2hlLmNsb3Vkc3RhY2subWFuYWdlZC5jb250ZXh0LmltcGwuRGVmYXVs dE1hbmFnZWRDb250ZXh0Lg0KICAgICAgICAgICAgPj4+IHJ1bldpdGhDb250ZXh0KERlZmF1bHRN YW5hZ2VkQ29udGV4dC5qYXZhOjUzKQ0KICAgICAgICAgICAgPj4+IGF0DQogICAgICAgICAgICA+ ICAgICAgICBvcmcuYXBhY2hlLmNsb3Vkc3RhY2subWFuYWdlZC5jb250ZXh0Lk1hbmFnZWRDb250 ZXh0UnVubmFibGUucnVuKA0KICAgICAgICAgICAgPj4+IE1hbmFnZWRDb250ZXh0UnVubmFibGUu amF2YTo0NikNCiAgICAgICAgICAgID4+PiBhdCBvcmcuYXBhY2hlLmNsb3Vkc3RhY2suZnJhbWV3 b3JrLmpvYnMuaW1wbC4NCiAgICAgICAgICAgID4+PiBBc3luY0pvYk1hbmFnZXJJbXBsJDUucnVu KEFzeW5jSm9iTWFuYWdlckltcGwuamF2YTo1MDIpDQogICAgICAgICAgICA+Pj4gYXQgamF2YS51 dGlsLmNvbmN1cnJlbnQuRXhlY3V0b3JzJFJ1bm5hYmxlQWRhcHRlci4NCiAgICAgICAgICAgID4+ PiBjYWxsKEV4ZWN1dG9ycy5qYXZhOjUxMSkNCiAgICAgICAgICAgID4+PiBhdCBqYXZhLnV0aWwu Y29uY3VycmVudC5GdXR1cmVUYXNrLnJ1bihGdXR1cmVUYXNrLmphdmE6MjY2KQ0KICAgICAgICAg ICAgPj4+IGF0IGphdmEudXRpbC5jb25jdXJyZW50LlRocmVhZFBvb2xFeGVjdXRvci5ydW5Xb3Jr ZXIoDQogICAgICAgICAgICA+Pj4gVGhyZWFkUG9vbEV4ZWN1dG9yLmphdmE6MTE0MikNCiAgICAg ICAgICAgID4+PiBhdCBqYXZhLnV0aWwuY29uY3VycmVudC5UaHJlYWRQb29sRXhlY3V0b3IkV29y a2VyLnJ1bigNCiAgICAgICAgICAgID4+PiBUaHJlYWRQb29sRXhlY3V0b3IuamF2YTo2MTcpDQog ICAgICAgICAgICA+Pj4gYXQgamF2YS5sYW5nLlRocmVhZC5ydW4oVGhyZWFkLmphdmE6NzQ1KQ0K ICAgICAgICAgICAgPj4+IElORk8gW28uYS5jLmYuai5pLkFzeW5jSm9iTW9uaXRvcl0NCiAgICAg ICAgICAgID4gICAgICAgIChXb3JrLUpvYi1FeGVjdXRvci0yOmN0eC1iYzEwNDM4MA0KICAgICAg ICAgICAgPj4+IGpvYi0yNS9qb2ItMjcpIChsb2dpZDphYWI5YzMyMCkgUmVtb3ZlIGpvYi0yNyBm cm9tIGpvYg0KICAgICAgICAgICAgPiAgICAgICAgbW9uaXRvcmluZw0KICAgICAgICAgICAgPj4+ IFdBUk4gW28uYS5jLmFsZXJ0c10gKEFQSS1Kb2ItRXhlY3V0b3ItMTpjdHgtZjc4NzIwMWQgam9i LTI1DQogICAgICAgICAgICA+Pj4gY3R4LTU2MzU2YzFhKSAobG9naWQ6YWFiOWMzMjApIGFsZXJ0 VHlwZTo6IDggLy8NCiAgICAgICAgICAgID4gICAgICAgIGRhdGFDZW50ZXJJZDo6IDEgLy8NCiAg ICAgICAgICAgID4+PiBwb2RJZDo6IDEgLy8gY2x1c3RlcklkOjogbnVsbCAvLyBtZXNzYWdlOjog RmFpbGVkIHRvIGRlcGxveQ0KICAgICAgICAgICAgPiAgICAgICAgVm0gd2l0aCBJZDogNiwNCiAg ICAgICAgICAgID4+PiBvbiBIb3N0IHdpdGggSWQ6IG51bGwNCiAgICAgICAgICAgID4+PiBFUlJP UiBbYy5jLmEuQXBpQXN5bmNKb2JEaXNwYXRjaGVyXQ0KICAgICAgICAgICAgPiAgICAgICAgKEFQ SS1Kb2ItRXhlY3V0b3ItMTpjdHgtZjc4NzIwMWQNCiAgICAgICAgICAgID4+PiBqb2ItMjUpIChs b2dpZDphYWI5YzMyMCkgVW5leHBlY3RlZCBleGNlcHRpb24gd2hpbGUgZXhlY3V0aW5nDQogICAg ICAgICAgICA+Pj4gb3JnLmFwYWNoZS5jbG91ZHN0YWNrLmFwaS5jb21tYW5kLmFkbWluLnZtLkRl cGxveVZNQ21kQnlBZG1pbg0KICAgICAgICAgICAgPj4+IGNvbS5jbG91ZC51dGlscy5leGNlcHRp b24uQ2xvdWRSdW50aW1lRXhjZXB0aW9uOiBVbmFibGUgdG8NCiAgICAgICAgICAgID4gICAgICAg IHN0YXJ0IGEgVk0gZHVlDQogICAgICAgICAgICA+Pj4gdG8gaW5zdWZmaWNpZW50IGNhcGFjaXR5 DQogICAgICAgICAgICA+Pj4gYXQgY29tLmNsb3VkLnZtLlZpcnR1YWxNYWNoaW5lTWFuYWdlcklt cGwuc3RhcnQoDQogICAgICAgICAgICA+Pj4gVmlydHVhbE1hY2hpbmVNYW5hZ2VySW1wbC5qYXZh OjYyMykNCiAgICAgICAgICAgID4+PiBhdA0KICAgICAgICAgICAgPiAgICAgICAgb3JnLmFwYWNo ZS5jbG91ZHN0YWNrLmVuZ2luZS5jbG91ZC5lbnRpdHkuYXBpLlZNRW50aXR5TWFuYWdlckltcGwu DQogICAgICAgICAgICA+Pj4gZGVwbG95VmlydHVhbE1hY2hpbmUoVk1FbnRpdHlNYW5hZ2VySW1w bC5qYXZhOjI0MikNCiAgICAgICAgICAgID4+PiBhdCBvcmcuYXBhY2hlLmNsb3Vkc3RhY2suZW5n aW5lLmNsb3VkLmVudGl0eS5hcGkuDQogICAgICAgICAgICA+Pj4gDQogICAgICAgICAgICA+ICAg ICAgICBWaXJ0dWFsTWFjaGluZUVudGl0eUltcGwuZGVwbG95KFZpcnR1YWxNYWNoaW5lRW50aXR5 SW1wbC5qYXZhOjIxMikNCiAgICAgICAgICAgID4+PiBhdCBjb20uY2xvdWQudm0uVXNlclZtTWFu YWdlckltcGwuc3RhcnRWaXJ0dWFsTWFjaGluZSgNCiAgICAgICAgICAgID4+PiBVc2VyVm1NYW5h Z2VySW1wbC5qYXZhOjQwODQpDQogICAgICAgICAgICA+Pj4gYXQgY29tLmNsb3VkLnZtLlVzZXJW bU1hbmFnZXJJbXBsLnN0YXJ0VmlydHVhbE1hY2hpbmUoDQogICAgICAgICAgICA+Pj4gVXNlclZt TWFuYWdlckltcGwuamF2YTozNjgyKQ0KICAgICAgICAgICAgPj4+IGF0IGNvbS5jbG91ZC52bS5V c2VyVm1NYW5hZ2VySW1wbC5zdGFydFZpcnR1YWxNYWNoaW5lKA0KICAgICAgICAgICAgPj4+IFVz ZXJWbU1hbmFnZXJJbXBsLmphdmE6MzY3MCkNCiAgICAgICAgICAgID4+PiBhdCBzdW4ucmVmbGVj dC5OYXRpdmVNZXRob2RBY2Nlc3NvckltcGwuaW52b2tlMChOYXRpdmUNCiAgICAgICAgICAgID4g ICAgICAgIE1ldGhvZCkNCiAgICAgICAgICAgID4+PiBhdCBzdW4ucmVmbGVjdC5OYXRpdmVNZXRo b2RBY2Nlc3NvckltcGwuaW52b2tlKA0KICAgICAgICAgICAgPj4+IE5hdGl2ZU1ldGhvZEFjY2Vz c29ySW1wbC5qYXZhOjYyKQ0KICAgICAgICAgICAgPj4+IGF0IHN1bi5yZWZsZWN0LkRlbGVnYXRp bmdNZXRob2RBY2Nlc3NvckltcGwuaW52b2tlKA0KICAgICAgICAgICAgPj4+IERlbGVnYXRpbmdN ZXRob2RBY2Nlc3NvckltcGwuamF2YTo0MykNCiAgICAgICAgICAgID4+PiBhdCBqYXZhLmxhbmcu cmVmbGVjdC5NZXRob2QuaW52b2tlKE1ldGhvZC5qYXZhOjQ5OCkNCiAgICAgICAgICAgID4+PiBh dCBvcmcuc3ByaW5nZnJhbWV3b3JrLmFvcC5zdXBwb3J0LkFvcFV0aWxzLg0KICAgICAgICAgICAg Pj4+IGludm9rZUpvaW5wb2ludFVzaW5nUmVmbGVjdGlvbihBb3BVdGlscy5qYXZhOjMzMykNCiAg ICAgICAgICAgID4+PiBhdA0KICAgICAgICAgICAgPiAgICAgICAgb3JnLnNwcmluZ2ZyYW1ld29y ay5hb3AuZnJhbWV3b3JrLlJlZmxlY3RpdmVNZXRob2RJbnZvY2F0aW9uLg0KICAgICAgICAgICAg Pj4+IGludm9rZUpvaW5wb2ludChSZWZsZWN0aXZlTWV0aG9kSW52b2NhdGlvbi5qYXZhOjE5MCkN CiAgICAgICAgICAgID4+PiBhdA0KICAgICAgICAgICAgPiAgICAgICAgb3JnLnNwcmluZ2ZyYW1l d29yay5hb3AuZnJhbWV3b3JrLlJlZmxlY3RpdmVNZXRob2RJbnZvY2F0aW9uLg0KICAgICAgICAg ICAgPj4+IHByb2NlZWQoUmVmbGVjdGl2ZU1ldGhvZEludm9jYXRpb24uamF2YToxNTcpDQogICAg ICAgICAgICA+Pj4gYXQgb3JnLmFwYWNoZS5jbG91ZHN0YWNrLm5ldHdvcmsuY29udHJhaWwubWFu YWdlbWVudC4NCiAgICAgICAgICAgID4+PiBFdmVudFV0aWxzJEV2ZW50SW50ZXJjZXB0b3IuaW52 b2tlKEV2ZW50VXRpbHMuamF2YToxMDcpDQogICAgICAgICAgICA+Pj4gYXQNCiAgICAgICAgICAg ID4gICAgICAgIG9yZy5zcHJpbmdmcmFtZXdvcmsuYW9wLmZyYW1ld29yay5SZWZsZWN0aXZlTWV0 aG9kSW52b2NhdGlvbi4NCiAgICAgICAgICAgID4+PiBwcm9jZWVkKFJlZmxlY3RpdmVNZXRob2RJ bnZvY2F0aW9uLmphdmE6MTY4KQ0KICAgICAgICAgICAgPj4+IGF0IGNvbS5jbG91ZC5ldmVudC5B Y3Rpb25FdmVudEludGVyY2VwdG9yLmludm9rZSgNCiAgICAgICAgICAgID4+PiBBY3Rpb25FdmVu dEludGVyY2VwdG9yLmphdmE6NTEpDQogICAgICAgICAgICA+Pj4gYXQNCiAgICAgICAgICAgID4g ICAgICAgIG9yZy5zcHJpbmdmcmFtZXdvcmsuYW9wLmZyYW1ld29yay5SZWZsZWN0aXZlTWV0aG9k SW52b2NhdGlvbi4NCiAgICAgICAgICAgID4+PiBwcm9jZWVkKFJlZmxlY3RpdmVNZXRob2RJbnZv Y2F0aW9uLmphdmE6MTY4KQ0KICAgICAgICAgICAgPj4+IGF0DQogICAgICAgICAgICA+ICAgICAg ICBvcmcuc3ByaW5nZnJhbWV3b3JrLmFvcC5pbnRlcmNlcHRvci5FeHBvc2VJbnZvY2F0aW9uSW50 ZXJjZXB0b3IuDQogICAgICAgICAgICA+Pj4gaW52b2tlKEV4cG9zZUludm9jYXRpb25JbnRlcmNl cHRvci5qYXZhOjkyKQ0KICAgICAgICAgICAgPj4+IGF0DQogICAgICAgICAgICA+ICAgICAgICBv cmcuc3ByaW5nZnJhbWV3b3JrLmFvcC5mcmFtZXdvcmsuUmVmbGVjdGl2ZU1ldGhvZEludm9jYXRp b24uDQogICAgICAgICAgICA+Pj4gcHJvY2VlZChSZWZsZWN0aXZlTWV0aG9kSW52b2NhdGlvbi5q YXZhOjE3OSkNCiAgICAgICAgICAgID4+PiBhdCBvcmcuc3ByaW5nZnJhbWV3b3JrLmFvcC5mcmFt ZXdvcmsuSmRrRHluYW1pY0FvcFByb3h5Lg0KICAgICAgICAgICAgPj4+IGludm9rZShKZGtEeW5h bWljQW9wUHJveHkuamF2YToyMTMpDQogICAgICAgICAgICA+Pj4gYXQgY29tLnN1bi5wcm94eS4k UHJveHkxODYuc3RhcnRWaXJ0dWFsTWFjaGluZShVbmtub3duDQogICAgICAgICAgICA+ICAgICAg ICBTb3VyY2UpDQogICAgICAgICAgICA+Pj4gYXQgb3JnLmFwYWNoZS5jbG91ZHN0YWNrLmFwaS5j b21tYW5kLmFkbWluLnZtLg0KICAgICAgICAgICAgPj4+IERlcGxveVZNQ21kQnlBZG1pbi5leGVj dXRlKERlcGxveVZNQ21kQnlBZG1pbi5qYXZhOjUwKQ0KICAgICAgICAgICAgPj4+IGF0DQogICAg ICAgICAgICA+ICAgICAgICBjb20uY2xvdWQuYXBpLkFwaURpc3BhdGNoZXIuZGlzcGF0Y2goQXBp RGlzcGF0Y2hlci5qYXZhOjE1MCkNCiAgICAgICAgICAgID4+PiBhdCBjb20uY2xvdWQuYXBpLkFw aUFzeW5jSm9iRGlzcGF0Y2hlci5ydW5Kb2IoDQogICAgICAgICAgICA+Pj4gQXBpQXN5bmNKb2JE aXNwYXRjaGVyLmphdmE6MTA4KQ0KICAgICAgICAgICAgPj4+IGF0DQogICAgICAgICAgICA+ICAg ICAgICBvcmcuYXBhY2hlLmNsb3Vkc3RhY2suZnJhbWV3b3JrLmpvYnMuaW1wbC5Bc3luY0pvYk1h bmFnZXJJbXBsJDUuDQogICAgICAgICAgICA+Pj4gcnVuSW5Db250ZXh0KEFzeW5jSm9iTWFuYWdl ckltcGwuamF2YTo1NTQpDQogICAgICAgICAgICA+Pj4gYXQNCiAgICAgICAgICAgID4gICAgICAg IG9yZy5hcGFjaGUuY2xvdWRzdGFjay5tYW5hZ2VkLmNvbnRleHQuTWFuYWdlZENvbnRleHRSdW5u YWJsZSQxLnJ1bigNCiAgICAgICAgICAgID4+PiBNYW5hZ2VkQ29udGV4dFJ1bm5hYmxlLmphdmE6 NDkpDQogICAgICAgICAgICA+Pj4gYXQgb3JnLmFwYWNoZS5jbG91ZHN0YWNrLm1hbmFnZWQuY29u dGV4dC5pbXBsLg0KICAgICAgICAgICAgPj4+IERlZmF1bHRNYW5hZ2VkQ29udGV4dCQxLmNhbGwo RGVmYXVsdE1hbmFnZWRDb250ZXh0LmphdmE6NTYpDQogICAgICAgICAgICA+Pj4gYXQNCiAgICAg ICAgICAgID4gICAgICAgIG9yZy5hcGFjaGUuY2xvdWRzdGFjay5tYW5hZ2VkLmNvbnRleHQuaW1w bC5EZWZhdWx0TWFuYWdlZENvbnRleHQuDQogICAgICAgICAgICA+Pj4gY2FsbFdpdGhDb250ZXh0 KERlZmF1bHRNYW5hZ2VkQ29udGV4dC5qYXZhOjEwMykNCiAgICAgICAgICAgID4+PiBhdA0KICAg ICAgICAgICAgPiAgICAgICAgb3JnLmFwYWNoZS5jbG91ZHN0YWNrLm1hbmFnZWQuY29udGV4dC5p bXBsLkRlZmF1bHRNYW5hZ2VkQ29udGV4dC4NCiAgICAgICAgICAgID4+PiBydW5XaXRoQ29udGV4 dChEZWZhdWx0TWFuYWdlZENvbnRleHQuamF2YTo1MykNCiAgICAgICAgICAgID4+PiBhdA0KICAg ICAgICAgICAgPiAgICAgICAgb3JnLmFwYWNoZS5jbG91ZHN0YWNrLm1hbmFnZWQuY29udGV4dC5N YW5hZ2VkQ29udGV4dFJ1bm5hYmxlLnJ1bigNCiAgICAgICAgICAgID4+PiBNYW5hZ2VkQ29udGV4 dFJ1bm5hYmxlLmphdmE6NDYpDQogICAgICAgICAgICA+Pj4gYXQgb3JnLmFwYWNoZS5jbG91ZHN0 YWNrLmZyYW1ld29yay5qb2JzLmltcGwuDQogICAgICAgICAgICA+Pj4gQXN5bmNKb2JNYW5hZ2Vy SW1wbCQ1LnJ1bihBc3luY0pvYk1hbmFnZXJJbXBsLmphdmE6NTAyKQ0KICAgICAgICAgICAgPj4+ IGF0IGphdmEudXRpbC5jb25jdXJyZW50LkV4ZWN1dG9ycyRSdW5uYWJsZUFkYXB0ZXIuDQogICAg ICAgICAgICA+Pj4gY2FsbChFeGVjdXRvcnMuamF2YTo1MTEpDQogICAgICAgICAgICA+Pj4gYXQg amF2YS51dGlsLmNvbmN1cnJlbnQuRnV0dXJlVGFzay5ydW4oRnV0dXJlVGFzay5qYXZhOjI2NikN CiAgICAgICAgICAgID4+PiBhdCBqYXZhLnV0aWwuY29uY3VycmVudC5UaHJlYWRQb29sRXhlY3V0 b3IucnVuV29ya2VyKA0KICAgICAgICAgICAgPj4+IFRocmVhZFBvb2xFeGVjdXRvci5qYXZhOjEx NDIpDQogICAgICAgICAgICA+Pj4gYXQgamF2YS51dGlsLmNvbmN1cnJlbnQuVGhyZWFkUG9vbEV4 ZWN1dG9yJFdvcmtlci5ydW4oDQogICAgICAgICAgICA+Pj4gVGhyZWFkUG9vbEV4ZWN1dG9yLmph dmE6NjE3KQ0KICAgICAgICAgICAgPj4+IGF0IGphdmEubGFuZy5UaHJlYWQucnVuKFRocmVhZC5q YXZhOjc0NSkNCiAgICAgICAgICAgID4+PiBDYXVzZWQgYnk6DQogICAgICAgICAgICA+ICAgICAg ICBjb20uY2xvdWQuZXhjZXB0aW9uLkluc3VmZmljaWVudFNlcnZlckNhcGFjaXR5RXhjZXB0aW9u Og0KICAgICAgICAgICAgPj4+IFVuYWJsZSB0byBjcmVhdGUgYSBkZXBsb3ltZW50IGZvcg0KICAg ICAgICAgICAgPiAgICAgICAgVk1bVXNlcnxpLTItNi1WTV1TY29wZT1pbnRlcmZhY2UNCiAgICAg ICAgICAgID4+PiBjb20uY2xvdWQuZGMuRGF0YUNlbnRlcjsgaWQ9MQ0KICAgICAgICAgICAgPj4+ IGF0IGNvbS5jbG91ZC52bS5WaXJ0dWFsTWFjaGluZU1hbmFnZXJJbXBsLm9yY2hlc3RyYXRlU3Rh cnQoDQogICAgICAgICAgICA+Pj4gVmlydHVhbE1hY2hpbmVNYW5hZ2VySW1wbC5qYXZhOjk2MSkN CiAgICAgICAgICAgID4+PiBhdCBjb20uY2xvdWQudm0uVmlydHVhbE1hY2hpbmVNYW5hZ2VySW1w bC5vcmNoZXN0cmF0ZVN0YXJ0KA0KICAgICAgICAgICAgPj4+IFZpcnR1YWxNYWNoaW5lTWFuYWdl ckltcGwuamF2YTo0NjYxKQ0KICAgICAgICAgICAgPj4+IGF0IHN1bi5yZWZsZWN0Lk5hdGl2ZU1l dGhvZEFjY2Vzc29ySW1wbC5pbnZva2UwKE5hdGl2ZQ0KICAgICAgICAgICAgPiAgICAgICAgTWV0 aG9kKQ0KICAgICAgICAgICAgPj4+IC4uLiAxOCBtb3JlDQogICAgICAgICAgICA+Pj4gDQogICAg ICAgICAgICA+Pj4gT24gMy8xLzE3LCA4OjUyIEFNLCAiUGllcnJlLUx1YyBEaW9uIiA8cGRpb244 OTFAYXBhY2hlLm9yZz4NCiAgICAgICAgICAgID4gICAgICAgIHdyb3RlOg0KICAgICAgICAgICAg Pj4+IA0KICAgICAgICAgICAgPj4+IERvIHdlIHN1cHBvcnQgY2VudG9zNiB3aXRoIHRoaXMgNC4x MCBvbiBqZGs4Pw0KICAgICAgICAgICAgPj4+IA0KICAgICAgICAgICAgPj4+IEJlY2F1c2UgSSBk aWQgbm90IGhhZCBtdWNoIHN1Y2Nlc3MgdG8gaW5zdGFsbCA0LjEwIGpkazggb24NCiAgICAgICAg ICAgID4gICAgICAgIGNlbnRvczYNCiAgICAgICAgICAgID4+PiBhbmQgaXQNCiAgICAgICAgICAg ID4+PiB3b3VsZCBtYWtlIG1vcmUgc2Vuc2UgdG8gZHJvcCBzdXBwb3J0IG9mIGNlbnRvczYgc28g b3VyDQogICAgICAgICAgICA+ICAgICAgICBwYWNrYWdlcyB3b3VsZA0KICAgICAgICAgICAgPj4+ IHVzZQ0KICAgICAgICAgICAgPj4+IGNlbnRvczcgd2l0aCBkaXN0cm8gcGFja2FnZXMgZm9yIHRv bWNhdDcgYW5kIGpkazguIFNob3VsZA0KICAgICAgICAgICAgPiAgICAgICAgYWxzbyBiZSB0aGUN CiAgICAgICAgICAgID4+PiBzYW1lDQogICAgICAgICAgICA+Pj4gd2l0aCB1YnVudHUgMTYuMDQg dGhhdCB1c2UgamRrOCBhbmQgdG9tY2F0NyBieSBkZWZhdWx0ID8NCiAgICAgICAgICAgID4+PiAN CiAgICAgICAgICAgID4+PiANCiAgICAgICAgICAgID4+PiB0aGFua3MsDQogICAgICAgICAgICA+ Pj4gDQogICAgICAgICAgICA+Pj4gDQogICAgICAgICAgICA+Pj4+IE9uIFdlZCwgTWFyIDEsIDIw MTcgYXQgOTowMSBBTSwgUmVuZSBNb3Nlcg0KICAgICAgICAgICAgPiAgICAgICAgPG1haWxAcmVu ZW1vc2VyLm5ldD4gd3JvdGU6DQogICAgICAgICAgICA+Pj4+IA0KICAgICAgICAgICAgPj4+PiBI aQ0KICAgICAgICAgICAgPj4+PiANCiAgICAgICAgICAgID4+Pj4gV2hpbGUgbm90IGJlIGRpcmVj dGx5IHJlbGF0ZWQgdG8gdGhlIGNsb2R1c3RhY2sgamF2YSBzb3VyY2UNCiAgICAgICAgICAgID4g ICAgICAgIGNvZGUsIGFueQ0KICAgICAgICAgICAgPj4+PiBSUE0gY3JlYXRlZCB1c2luZyB0aGUg c3BlY3MgZnJvbSB0aGUgcmVwbyBlLmcuIGZyb20NCiAgICAgICAgICAgID4gICAgICAgIHBhY2th Z2VzL2NlbnRvczcNCiAgICAgICAgICAgID4+Pj4gYW5kIHByb2NlZWRpbmcgYW4gdXBncmFkZSwg d2lsbCBoaXQgQ0xPVURTVEFDSy05NzY1LCBQUg0KICAgICAgICAgICAgPj4+PiBodHRwczovL2dp dGh1Yi5jb20vYXBhY2hlL2Nsb3Vkc3RhY2svcHVsbC8xOTIzIGZpeGVzIHRoZQ0KICAgICAgICAg ICAgPiAgICAgICAgaXNzdWUuDQogICAgICAgICAgICA+Pj4+IA0KICAgICAgICAgICAgPj4+PiBS ZWdhcmRzDQogICAgICAgICAgICA+Pj4+IFJlbsOpDQogICAgICAgICAgICA+Pj4+IA0KICAgICAg ICAgICAgPj4+PiANCiAgICAgICAgICAgID4+Pj4+IE9uIDAzLzAxLzIwMTcgMDI6MTIgQU0sIFJh amFuaSBLYXJ1dHVyaSB3cm90ZToNCiAgICAgICAgICAgID4+Pj4+IEhpIEFsbCwNCiAgICAgICAg ICAgID4+Pj4+IA0KICAgICAgICAgICAgPj4+Pj4gSSd2ZSBjcmVhdGVkIGEgNC4xMC4wLjAgcmVs ZWFzZSwgd2l0aCB0aGUgZm9sbG93aW5nDQogICAgICAgICAgICA+ICAgICAgICBhcnRpZmFjdHMg dXANCiAgICAgICAgICAgID4+PiBmb3IgYQ0KICAgICAgICAgICAgPj4+PiB2b3RlOg0KICAgICAg ICAgICAgPj4+Pj4gDQogICAgICAgICAgICA+Pj4+PiBHaXQgQnJhbmNoIGFuZCBDb21taXQNCiAg ICAgICAgICAgID4+Pj4+IFNIOmh0dHBzOi8vZ2l0LXdpcC11cy5hcGFjaGUub3JnL3JlcG9zL2Fz Zj9wPWNsb3Vkc3RhY2suDQogICAgICAgICAgICA+Pj4+IGdpdDthPXNob3J0bG9nO2g9cmVmcy9o ZWFkcy80LjEwLjAuMC1SQzIwMTcwMzAxVDA2MzQNCiAgICAgICAgICAgID4+Pj4+IENvbW1pdDo3 YzFkMDAzYjUyNjliMzc1ZDg3ZjRmNmNmZmY4YTE0NGYwNjA4YjY3DQogICAgICAgICAgICA+Pj4+ PiA8aHR0cHM6Ly9naXQtd2lwLXVzLmFwYWNoZS5vcmcvcmVwb3MvYXNmP3A9Y2xvdWRzdGFjay4N CiAgICAgICAgICAgID4+Pj4gZ2l0O2E9c2hvcnRsb2c7aD1yZWZzL2hlYWRzLzQuMTAuMC4wLVJD MjAxNzAzMDFUMDYzNENvbW1pdDoNCiAgICAgICAgICAgID4+Pj4gN2MxZDAwM2I1MjY5YjM3NWQ4 N2Y0ZjZjZmZmOGExNDRmMDYwOGI2Nz4NCiAgICAgICAgICAgID4+Pj4+IA0KICAgICAgICAgICAg Pj4+Pj4gU291cmNlIHJlbGVhc2UgKGNoZWNrc3VtcyBhbmQgc2lnbmF0dXJlcyBhcmUgYXZhaWxh YmxlIGF0DQogICAgICAgICAgICA+ICAgICAgICB0aGUgc2FtZQ0KICAgICAgICAgICAgPj4+Pj4g DQogICAgICAgICAgICA+ICAgICAgICBsb2NhdGlvbik6aHR0cHM6Ly9kaXN0LmFwYWNoZS5vcmcv cmVwb3MvZGlzdC9kZXYvY2xvdWRzdGFjay8NCiAgICAgICAgICAgID4+PiA0LjEwLjAuMC8NCiAg ICAgICAgICAgID4+Pj4+IA0KICAgICAgICAgICAgPj4+Pj4gUEdQIHJlbGVhc2Uga2V5cyAoc2ln bmVkIHVzaW5nDQogICAgICAgICAgICA+Pj4+PiBDQkI0NDgyMSk6aHR0cHM6Ly9kaXN0LmFwYWNo ZS5vcmcvcmVwb3MvZGlzdC9yZWxlYXNlLw0KICAgICAgICAgICAgPj4+IGNsb3Vkc3RhY2svS0VZ Uw0KICAgICAgICAgICAgPj4+Pj4gDQogICAgICAgICAgICA+Pj4+PiBWb3RlIHdpbGwgYmUgb3Bl biBmb3IgNzIgaG91cnMuDQogICAgICAgICAgICA+Pj4+PiANCiAgICAgICAgICAgID4+Pj4+IEZv ciBzYW5pdHkgaW4gdGFsbHlpbmcgdGhlIHZvdGUsIGNhbiBQTUMgbWVtYmVycyBwbGVhc2UgYmUN CiAgICAgICAgICAgID4gICAgICAgIHN1cmUgdG8NCiAgICAgICAgICAgID4+Pj4+IGluZGljYXRl ICIoYmluZGluZykiIHdpdGggdGhlaXIgdm90ZT8NCiAgICAgICAgICAgID4+Pj4+IA0KICAgICAg ICAgICAgPj4+Pj4gWyBdICsxIGFwcHJvdmUNCiAgICAgICAgICAgID4+Pj4+IFsgXSArMCBubyBv cGluaW9uDQogICAgICAgICAgICA+Pj4+PiBbIF0gLTEgZGlzYXBwcm92ZSAoYW5kIHJlYXNvbiB3 aHkpDQogICAgICAgICAgICA+Pj4+PiANCiAgICAgICAgICAgID4+Pj4+IA0KICAgICAgICAgICAg Pj4+Pj4gDQogICAgICAgICAgICA+Pj4+PiB+UmFqYW5pDQogICAgICAgICAgICA+Pj4+PiBodHRw Oi8vY2xvdWRwbGF0Zm9ybS5hY2NlbGVyaXRlLmNvbS8NCiAgICAgICAgICAgID4+Pj4+IA0KICAg ICAgICAgICAgPj4+PiANCiAgICAgICAgICAgID4+PiANCiAgICAgICAgICAgID4+PiANCiAgICAg ICAgICAgID4+PiANCiAgICAgICAgICAgID4gDQogICAgICAgICAgICA+ICAgICAgICByb2hpdC55 YWRhdkBzaGFwZWJsdWUuY29tDQogICAgICAgICAgICA+ICAgICAgICB3d3cuc2hhcGVibHVlLmNv bTxodHRwOi8vd3d3LnNoYXBlYmx1ZS5jb20gDQogICAgICAgICAgICA+ICAgICAgICAoIGh0dHA6 Ly93d3cuc2hhcGVibHVlLmNvbTxodHRwOi8vd3d3LnNoYXBlYmx1ZS5jb20gKT4NCiAgICAgICAg ICAgID4gICAgICAgIDUzIENoYW5kb3MgUGxhY2UsIENvdmVudCBHYXJkZW4sIExvbmRvbiBXQzJO IDRIU1VLDQogICAgICAgICAgICA+ICAgICAgICBAc2hhcGVibHVlDQogICAgICAgICAgICA+IA0K ICAgICAgICAgICAgPiAgICAgICAgRElTQ0xBSU1FUg0KICAgICAgICAgICAgPiAgICAgICAgPT09 PT09PT09PQ0KICAgICAgICAgICAgPiAgICAgICAgVGhpcyBlLW1haWwgbWF5IGNvbnRhaW4gcHJp dmlsZWdlZCBhbmQgY29uZmlkZW50aWFsIGluZm9ybWF0aW9uDQogICAgICAgICAgICA+ICAgICAg ICB3aGljaCBpcyB0aGUgcHJvcGVydHkgb2YgQWNjZWxlcml0ZSwgYSBQZXJzaXN0ZW50IFN5c3Rl bXMNCiAgICAgICAgICAgID4gICAgICAgIGJ1c2luZXNzLiBJdCBpcyBpbnRlbmRlZCBvbmx5IGZv ciB0aGUgdXNlIG9mIHRoZSBpbmRpdmlkdWFsIG9yDQogICAgICAgICAgICA+ICAgICAgICBlbnRp dHkgdG8gd2hpY2ggaXQgaXMgYWRkcmVzc2VkLiBJZiB5b3UgYXJlIG5vdCB0aGUgaW50ZW5kZWQN CiAgICAgICAgICAgID4gICAgICAgIHJlY2lwaWVudCwgeW91IGFyZSBub3QgYXV0aG9yaXplZCB0 byByZWFkLCByZXRhaW4sIGNvcHksIHByaW50LA0KICAgICAgICAgICAgPiAgICAgICAgZGlzdHJp YnV0ZSBvciB1c2UgdGhpcyBtZXNzYWdlLiBJZiB5b3UgaGF2ZSByZWNlaXZlZCB0aGlzDQogICAg ICAgICAgICA+ICAgICAgICBjb21tdW5pY2F0aW9uIGluIGVycm9yLCBwbGVhc2Ugbm90aWZ5IHRo ZSBzZW5kZXIgYW5kIGRlbGV0ZSBhbGwNCiAgICAgICAgICAgID4gICAgICAgIGNvcGllcyBvZiB0 aGlzIG1lc3NhZ2UuIEFjY2VsZXJpdGUsIGEgUGVyc2lzdGVudCBTeXN0ZW1zIGJ1c2luZXNzDQog ICAgICAgICAgICA+ICAgICAgICBkb2VzIG5vdCBhY2NlcHQgYW55IGxpYWJpbGl0eSBmb3Igdmly dXMgaW5mZWN0ZWQgbWFpbHMuDQogICAgICAgICAgICA+IA0KICAgICAgICAgICAgPiAgICAgICAg cm9oaXQueWFkYXZAc2hhcGVibHVlLmNvbQ0KICAgICAgICAgICAgPiAgICAgICAgd3d3LnNoYXBl Ymx1ZS5jb20gKCBodHRwOi8vd3d3LnNoYXBlYmx1ZS5jb20gKQ0KICAgICAgICAgICAgPiAgICAg ICAgNTMgQ2hhbmRvcyBQbGFjZSwgQ292ZW50IEdhcmRlbiwgTG9uZG9uIFdDMk4gNEhTVUsNCiAg ICAgICAgICAgID4gICAgICAgIEBzaGFwZWJsdWUNCiAgICAgICAgICAgID4gDQogICAgICAgICAg ICA+IA0KICAgICAgICAgICAgPiANCiAgICAgICAgICAgIA0KICAgICAgICANCiAgICAgICAgDQog ICAgDQogICAgDQoNCg==