Return-Path: X-Original-To: apmail-oodt-dev-archive@www.apache.org Delivered-To: apmail-oodt-dev-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 61BE71888A for ; Thu, 7 Apr 2016 01:48:12 +0000 (UTC) Received: (qmail 83105 invoked by uid 500); 7 Apr 2016 01:48:12 -0000 Delivered-To: apmail-oodt-dev-archive@oodt.apache.org Received: (qmail 83065 invoked by uid 500); 7 Apr 2016 01:48:12 -0000 Mailing-List: contact dev-help@oodt.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@oodt.apache.org Delivered-To: mailing list dev@oodt.apache.org Received: (qmail 83054 invoked by uid 99); 7 Apr 2016 01:48:11 -0000 Received: from pnap-us-west-generic-nat.apache.org (HELO spamd2-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 07 Apr 2016 01:48:11 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd2-us-west.apache.org (ASF Mail Server at spamd2-us-west.apache.org) with ESMTP id 698811A1181 for ; Thu, 7 Apr 2016 01:48:11 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd2-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: 0.28 X-Spam-Level: X-Spam-Status: No, score=0.28 tagged_above=-999 required=6.31 tests=[KAM_LAZY_DOMAIN_SECURITY=1, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H4=-0.01, RCVD_IN_MSPIKE_WL=-0.01] autolearn=disabled Received: from mx1-lw-us.apache.org ([10.40.0.8]) by localhost (spamd2-us-west.apache.org [10.40.0.9]) (amavisd-new, port 10024) with ESMTP id GTZ3MUPDCvs7 for ; Thu, 7 Apr 2016 01:48:06 +0000 (UTC) Received: from mx0a-00183501.pphosted.com (mx0a-00183501.pphosted.com [67.231.149.40]) by mx1-lw-us.apache.org (ASF Mail Server at mx1-lw-us.apache.org) with ESMTPS id EEA905FB05 for ; Thu, 7 Apr 2016 01:48:05 +0000 (UTC) Received: from pps.filterd (m0047967.ppops.net [127.0.0.1]) by mx0a-00183501.pphosted.com (8.16.0.11/8.16.0.11) with SMTP id u371kr7u030525 for ; Wed, 6 Apr 2016 21:47:59 -0400 Received: from ussumndadlp06.celgene.com ([216.118.82.115]) by mx0a-00183501.pphosted.com with ESMTP id 2254neb35x-1 (version=TLSv1 cipher=AES256-SHA bits=256 verify=NO) for ; Wed, 06 Apr 2016 21:47:59 -0400 Received: from ustls.celgene.com ([10.22.65.64]) by ussumndadlp06.celgene.com (8.13.8/8.13.8) with ESMTP id u371lvVm006227 for ; Wed, 6 Apr 2016 21:47:57 -0400 Received: from USSUMSPEXCMBX01.celgene.com ([169.254.2.3]) by USSUMSPEXCCAS03.celgene.com ([10.22.64.43]) with mapi id 14.03.0266.001; Wed, 6 Apr 2016 21:47:37 -0400 From: Konstantinos Mavrommatis To: "dev@oodt.apache.org" Subject: RE: Transition from OODT 0.6 to 0.12 cannot find extractor specifications Thread-Topic: Transition from OODT 0.6 to 0.12 cannot find extractor specifications Thread-Index: AdGNaojOTdpbd+BYRBit4+9Q2W8lIgBd7iAAAAci8LAADAPYAABNu2hA Date: Thu, 7 Apr 2016 01:47:36 +0000 Message-ID: <0ED7EB96706C8E44B4B5B13C07026282B809187A@USSUMSPEXCMBX01.celgene.com> References: <0ED7EB96706C8E44B4B5B13C07026282B80900A1@USSUMSPEXCMBX01.celgene.com> <0ED7EB96706C8E44B4B5B13C07026282B8090961@USSUMSPEXCMBX01.celgene.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.22.65.64] Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-RCIS-Action: ALLOW X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10432:,, definitions=2016-04-07_02:,, signatures=0 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 spamscore=0 suspectscore=0 malwarescore=0 phishscore=0 adultscore=0 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1601100000 definitions=main-1604070026 Content-Type: text/plain; charset="utf-8" SSBhbSBnaXZpbmcgdXAgb24gdGhpcy4uLi4NCkkgaGFkIHVzZWQgWzFdIGluIHRoZSBmaXJzdCBw bGFjZSB0byBzZXR1cCBvb2R0ICh2MC42IGJhY2sgdGhlbikgbXkgc2V0dXAgaW4gdGhlIG5ldyBz eXN0ZW0gaXMgaWRlbnRpY2FsIHRvIHRoZSBvbGQgb25lLg0KSSBjb3VsZCBub3QgbWFrZSBtdWNo IG91dCBvZiBbMF0uIEFtb25nIG90aGVyIHRoaW5ncyBJIHRyaWVkIHRvIGNvcHkgdGhlIGZpbGVz IGluIHRoZSBvbGQgY3Jhd2xlci9wb2xpY3kgdG8gdGhlIG5ldyBjcmF3bGVyL3BvbGljeSAtIHdo aWNoIGluY2x1ZGVkIHNvbWUgbGVnYWN5LWNtZC1saW5lLW9wdGlvbnMueG1sLCBsZWdhY3ktY21k LWxpbmUgYWN0aW9ucy54bWwuIEkgYWxzbyB0cmllZCB0byByZWluc3RhbGwgdGhlIGZ1bGwgb29k dCBvbiB0aGUgY2xpZW50IHNpZGUsIGJ1dCBzdGlsbCBkaWQgbm90IHdvcmsuIA0KDQpJIGVuZGVk IHVwIHJldmVydGluZyB0byB0aGUgb2xkZXIgdmVyc2lvbiAoMC42KSB3aGljaCBJIHJ1biBvbiBt eSBjbGllbnQuIFRoZSBzZXJ2ZXIgKHdoaWNoIHJ1bnMgRk0pIGlzIHN0aWxsIDAuMTIsIGJ1dCB0 aGUgY29tYmluYXRpb24gc2VlbXMgdG8gYmUgd29ya2luZyBmaW5lLg0KDQpLDQoNCi0tLS0tT3Jp Z2luYWwgTWVzc2FnZS0tLS0tDQpGcm9tOiBMZXdpcyBKb2huIE1jZ2liYm5leSBbbWFpbHRvOmxl d2lzLm1jZ2liYm5leUBnbWFpbC5jb21dIA0KU2VudDogVHVlc2RheSwgQXByaWwgMDUsIDIwMTYg MzozMyBBTQ0KVG86IGRldkBvb2R0LmFwYWNoZS5vcmcNClN1YmplY3Q6IFJlOiBUcmFuc2l0aW9u IGZyb20gT09EVCAwLjYgdG8gMC4xMiBjYW5ub3QgZmluZCBleHRyYWN0b3Igc3BlY2lmaWNhdGlv bnMNCg0KSGkgSywNCk9LIHNvIEkgZGlkIGEgYml0IG9mIHNlYXJjaGluZyBoZXJlIGFuZCBsb2Nh dGVkIGEgYnVuY2ggb2YgZmlsZXMgd2hpY2ggYXJlIGRlZmluZWQgYXMgbGVnYWN5Li4uIHlvdSBj YW4gY2hlY2sgdGhlIHNlYXJjaCByZXN1bHRzIG91dCBiZWxvdyBodHRwczovL3VybGRlZmVuc2Uu cHJvb2Zwb2ludC5jb20vdjIvdXJsP3U9aHR0cHMtM0FfX2dpdGh1Yi5jb21fYXBhY2hlX29vZHRf c2VhcmNoLTNGdXRmOC0zRC0yNUUyLTI1OUMtMjU5My0yNnEtM0RBdXRvRGV0ZWN0UHJvZHVjdENy YXdsZXItMjZ0eXBlLTNEQ29kZSZkPUN3SUJhUSZjPUNaWnVqSzNHMkt1WEdFS256cS1Icmcmcj13 bmRZWjRNTE1UOWwzWmIyV1p2MmhxMk82eXZaMUNzLVQyZ0hZOTV5N1pBJm09QVpPaHpEbW1OdUJE X1I5SDJmbS1DdWJWbWlkME9FSmJYcWs0RzJjbXpEcyZzPUIzM0VfbS1CVUVFUUJxSXFhMko4dFoy dm5McWZ3YXBXWnA5Um41blJ5VTgmZT0NCkkgd291bGQgdXJnZSB5b3UgdG8gaGF2ZSBhIGxvb2sg YXQgdGhlIEF1dG9EZXRlY3RQcm9kdWN0Q3Jhd2xlciBKYXZhZG9jIGRlc2NyaXB0aW9uIGluY2x1 ZGVkIGluIG1hc3RlciBicmFuY2ggWzBdIGFzIHdlbGwgdG8gc2VlIGlmIHlvdSd2ZSBnb3QgZXZl cnl0aGluZyByZXF1aXJlZC4NCkZpbmFsbHksIEkgY2FtZSBhY3Jvc3Mgc29tZSBkb2N1bWVudGF0 aW9uIG9uIHRoZSB3aWtpIHdoaWNoIG1heSBndWlkZSB5b3UgaW4gdGhlIHJpZ2h0IGRpcmVjdGlv biBbMV0uIEl0IG1heSBhbHNvIGJlIG91dGRhdGVkIHRob3VnaCBzbyBwbGVhc2UgbGV0IHVzIGtu b3cgaWYgdGhhdCBpdCB0aGUgY2FzZS4NCmh0aA0KDQpbMF0NCmh0dHBzOi8vdXJsZGVmZW5zZS5w cm9vZnBvaW50LmNvbS92Mi91cmw/dT1odHRwcy0zQV9fZ2l0aHViLmNvbV9hcGFjaGVfb29kdF9i bG9iXzkxZDBiYWZlNzExMjQ5MDZiZDk0YmFhZDc0NjE4OWNhZjM1ZmIzOWNfY3Jhd2xlcl9zcmNf bWFpbl9qYXZhX29yZ19hcGFjaGVfb29kdF9jYXNfY3Jhd2xfQXV0b0RldGVjdFByb2R1Y3RDcmF3 bGVyLmphdmEtMjNMNDAtMkRMNjQmZD1Dd0lCYVEmYz1DWlp1akszRzJLdVhHRUtuenEtSHJnJnI9 d25kWVo0TUxNVDlsM1piMldadjJocTJPNnl2WjFDcy1UMmdIWTk1eTdaQSZtPUFaT2h6RG1tTnVC RF9SOUgyZm0tQ3ViVm1pZDBPRUpiWHFrNEcyY216RHMmcz1ySnBOZ1RmWkRoRHlHVjVLa3NBQ2t2 YlNua1Z2b2JHZkJRY3hYaUxXd1Q0JmU9DQpbMV0NCmh0dHBzOi8vdXJsZGVmZW5zZS5wcm9vZnBv aW50LmNvbS92Mi91cmw/dT1odHRwcy0zQV9fY3dpa2kuYXBhY2hlLm9yZ19jb25mbHVlbmNlX2Rp c3BsYXlfT09EVF9NaW1lLTJCdHlwZS0yQmRldGVjdGlvbi0yQndpdGgtMkJ0aGUtMkJBdXRvRGV0 ZWN0UHJvZHVjdENyYXdsZXImZD1Dd0lCYVEmYz1DWlp1akszRzJLdVhHRUtuenEtSHJnJnI9d25k WVo0TUxNVDlsM1piMldadjJocTJPNnl2WjFDcy1UMmdIWTk1eTdaQSZtPUFaT2h6RG1tTnVCRF9S OUgyZm0tQ3ViVm1pZDBPRUpiWHFrNEcyY216RHMmcz1WNWZFR0VSc2hYM0pIQlRRWHJ5aHdvRVpx aGdhcklMazhXdXRFd0lDbUdzJmU9IA0KDQpPbiBNb24sIEFwciA0LCAyMDE2IGF0IDEwOjU0IFBN LCBLb25zdGFudGlub3MgTWF2cm9tbWF0aXMgPCBrbWF2cm9tbWF0aXNAY2VsZ2VuZS5jb20+IHdy b3RlOg0KDQo+IEhpLA0KPiBJdCBzZWVtcyB0byBiZSBoYXBwZW5pbmcgZm9yIGEgbnVtYmVyIG9m IHR5cGVzIG9mIGZpbGVzIHRoYXQgSSBoYXZlIGluIA0KPiB0aGUgbWltZXR5cGVzLnhtbC4NCj4g QSBmZXcgdGhpbmdzIGFyZSBwdXp6bGluZyB0byBtZTogdGhpcyBmaWxlIHdoaWNoIGlzIGEgLmd6 IGZpbGUgaXMgbm90IA0KPiBwcm9jZXNzZWQgYnkgdGhlIHJlZ3VsYXIgdGlrYSBtaW1ldHlwZXMg d2hpY2ggY29udGFpbnMgdGhlIGd6aXAgZmlsZXMgDQo+IEEgZmlsZSB0aGF0IGhhcyBubyBleHRl bnNpb24sIHdoaWNoIGRlZmF1bHRzIHRvIHR4dCBpcyBwYXNzZWQgdG8gdGhlIA0KPiBNZXRFeHRy YWN0b3IucGwgYW5kIHByb2Nlc3NlZC4NCj4NCj4gQW55IGlkZWFzIEkgY2FuIGZpbmQgd2hhdCBh cmUgdGhlIHByZWNvbmRpdGlvbnMgdGhhdCBmYWlsID8gSSB0cmllZCB0byANCj4gY2hhbmdlIHRo ZSBsb2cgbGV2ZWwgdG8gREVCVUcgZm9yIGFsbCBjb21wb25lbnRzIGJ1dCBJIGRpZCBub3QgZ2V0 IA0KPiBtdWNoIG1vcmUgaW5mb3JtYXRpb24uIFRoaXMgbXVzdCBiZSBzb21ldGhpbmcgdGhhdCBj aGFuZ2VkIGluIHRoZSBPT0RUIA0KPiByZWxlYXNlcw0KPiA+MC42IGJ1dCBjb3VsZCBub3QgZmlu ZCBhbnl0aGluZyByZWxldmFudCBpbiB0aGUgcmVsZWFzZSBub3Rlcy4NCj4gSSBhbHNvIG5vdGlj ZWQgaW4gdGhlIGRvY3VtZW50YXRpb24gIG9mIHRoZSBBdXRvRGVjZWN0UHJvZHVjdENyYXdsZXIg DQo+IHRoYXQgaXQgdXNlcyB0aGUgZmlsZSBtZXQtZXh0ci1wcmVjb25kaXRpb25zLnhtbCB3aGlj aCBJIGNvdWxkIG5vdCANCj4gZmluZCBhbnl3aGVyZSBpbiB0aGUgZGVwbG95ZWQgT09EVCBvciB0 aGUgc3JjIGRpcmVjdG9yaWVzLiBDb3VsZCB0aGF0IA0KPiBiZSBhIHJlYXNvbiBmb3IgdGhlIHBy b2JsZW0gSSBvYnNlcnZlPw0KPg0KPiBUaGFua3MNCj4gSw0KPg0KPiAtLS0tLU9yaWdpbmFsIE1l c3NhZ2UtLS0tLQ0KPiBGcm9tOiBMZXdpcyBKb2huIE1jZ2liYm5leSBbbWFpbHRvOmxld2lzLm1j Z2liYm5leUBnbWFpbC5jb21dDQo+IFNlbnQ6IE1vbmRheSwgQXByaWwgMDQsIDIwMTYgMzoyNCBQ TQ0KPiBUbzogZGV2QG9vZHQuYXBhY2hlLm9yZw0KPiBTdWJqZWN0OiBSZTogVHJhbnNpdGlvbiBm cm9tIE9PRFQgMC42IHRvIDAuMTIgY2Fubm90IGZpbmQgZXh0cmFjdG9yIA0KPiBzcGVjaWZpY2F0 aW9ucw0KPg0KPiBIaSBLb25zdGFudGlub3MsDQo+IEl0IGFwcGVhcnMgdG8gYmUgaGFwcGVuaW5n IHdpdGggYSB0YXIuZ3ogZmlsZSBhcyB3ZWxsIHJpZ2h0Pw0KPg0KPiBXQVJOSU5HOiBObyBleHRy YWN0b3Igc3BlY3Mgc3BlY2lmaWVkIGZvciANCj4gL21udC9jZWxnZW5lLnJuZC5jb21iaW8ubW1n cC5leHRlcm5hbC9UZXN0U2VxRGF0YS9STkEtU2VxL1Jhd0RhdGEvZmFzdA0KPiBxL2Nhcy1jcmF3 bGVyLTA0LTAyLTE2LmxvZy5neg0KPg0KPiBJIHdvbmRlciBpZiBpdCBpcyB0aGUgZmlsZSBuYW1l cy4uLiBIb3dldmVyIEkgd291bGQgYmUgZXh0cmVtZWx5IA0KPiBzdXJwcmlzZWQgYXMgSSd2ZSBz ZWVuIHNvbWUgbXVjaCBtb3JlIHZlcmJvc2UgZmlsZSBuYW1pbmcuDQo+IExld2lzDQo+DQo+IE9u IFNhdHVyZGF5LCBBcHJpbCAyLCAyMDE2LCBLb25zdGFudGlub3MgTWF2cm9tbWF0aXMgPCANCj4g a21hdnJvbW1hdGlzQGNlbGdlbmUuY29tPiB3cm90ZToNCj4NCj4gPiBIaSwNCj4gPiBJIGFtIHRy eWluZyB0byByZXBsaWNhdGUgYSBmdWxseSBmdW5jdGlvbmFsIHNlcnZpY2UgdGhhdCBJIGhhZCBz ZXR1cCANCj4gPiBsb25nIHRpbWUgYWdvIHVzaW5nIE9PRFQgMC42IGJ1dCBJIGFtIGhhdmluZyB0 aGUgZm9sbG93aW5nIHByb2JsZW0gDQo+ID4gdGhhdCBkb2VzIG5vdCBhbGxvdyBtZSB0byBpbmdl c3QgZmlsZXMuIFdoZW4gSSB0cnkgdG8gaW5nZXN0IGZpbGVzIA0KPiA+IHdpdGggdGhlIGV4dGVu c2lvbiBmYXN0cS5neiBJIGdldCB0aGUgbGluZToNCj4gPiBXQVJOSU5HOiBObyBleHRyYWN0b3Ig c3BlY3Mgc3BlY2lmaWVkIGZvciANCj4gPiAvbW50L2NlbGdlbmUucm5kLmNvbWJpby5tbWdwLmV4 dGVybmFsL1Rlc3RTZXFEYXRhL1JOQS1TZXEvUmF3RGF0YS9mYQ0KPiA+IHN0IHEvRTgzNzY0Ml9S MS5mYXN0cS5neiBBcHIgMDIsIDIwMTYgMTA6MTI6MTQgUE0gDQo+ID4gb3JnLmFwYWNoZS5vb2R0 LmNhcy5jcmF3bC5Qcm9kdWN0Q3Jhd2xlcg0KPiA+IGhhbmRsZUZpbGUNCj4gPiBBbmQgb2YgY291 cnNlIHRoZSBmaWxlIGlzIG5vdCBpbmdlc3RlZC4gVGhpcyBwcm9jZXNzIHdvcmtzIHdpdGhvdXQg DQo+ID4gcHJvYmxlbSB3aXRoIE9PRFQgMC42IG9uIGEgZGlmZmVyZW50IHNlcnZlci4NCj4gPg0K PiA+IFRoZSBjcmF3bGVyIGNvbW1hbmQgSSBhbSBydW5uaW5nIGlzOg0KPiA+IC4vY3Jhd2xlcl9s YXVuY2hlciBcDQo+ID4gLS1vcGVyYXRpb24gXA0KPiA+IC0tbGF1bmNoQXV0b0NyYXdsZXIgXA0K PiA+IC0tcHJvZHVjdFBhdGggJEZJTEVQQVRIIFwNCj4gPiAtLWZpbGVtZ3JVcmwgJE9PRFRfRklM RU1HUl9VUkwgXA0KPiA+IC0tY2xpZW50VHJhbnNmZXJlcg0KPiA+IG9yZy5hcGFjaGUub29kdC5j YXMuZmlsZW1nci5kYXRhdHJhbnNmZXIuSW5QbGFjZURhdGFUcmFuc2ZlckZhY3RvcnkgDQo+ID4g XCAtLW1pbWVFeHRyYWN0b3JSZXBvIC4uL3BvbGljeS9taW1lLWV4dHJhY3Rvci1tYXAueG1sIFwg LS1ub1JlY3VyIFwgDQo+ID4gLS1jcmF3bEZvckRpcnMgMj4mMQ0KPiA+DQo+ID4NCj4gPg0KPiA+ IEkgaGF2ZSBzZXR1cCBPT0RUIDAuMTIgb24gYSBzZXJ2ZXIgd2hpY2ggcnVucyBGTSBsaXN0ZW5p bmcgdG8gcG9ydCA5MDAwLg0KPiA+IEZyb20gYSBjbGllbnQgbWFjaGluZSBJIGhhdmUgdmVyaWZp ZWQgdGhhdCBJIGNhbiB1c2UgRk0gdG8gaW5nZXN0DQo+IHByb2R1Y3RzLg0KPiA+IEkgYW0gbm93 IHRyeWluZyB0byB1c2UgY3Jhd2xlciB0byBjcmF3bCBhbmQgaW5nZXN0IGFsbCBmaWxlcyBpbiBh IA0KPiA+IGRpcmVjdG9yeS4gU2luY2UgSSBoYXZlIG5vbiBzdGFuZGFyZCBNSU1FIHR5cGVzIGlu IHRoZXNlIGRpcmVjdG9yaWVzIA0KPiA+IEkgaGF2ZSBkb25lIHRoZSBmb2xsb3dpbmc6DQo+ID4g MS4gQWRkZWQgbXkgb3duIG1pbWUgdHlwZXMgaW4gcG9saWN5L21pbWV0eXBlcy54bWwgZWcNCj4g PiAgIDxtaW1lLXR5cGUgdHlwZT0idGV4dC9mYXN0cSI+DQo+ID4gICAgICAgICAgICAgICAgIDxn bG9iIHBhdHRlcm49IiouZmFzdHEiLz4NCj4gPiAgICAgICAgICAgICAgICAgPGdsb2IgcGF0dGVy bj0iKi5mYXN0cS5neiIvPg0KPiA+ICAgICAgICAgICAgICAgICA8Z2xvYiBwYXR0ZXJuPSIqLmZh c3RxLmJ6Ii8+DQo+ID4gICAgICAgICAgICAgICAgIDxnbG9iIHBhdHRlcm49IiouZmFzdHEuYnoy Ii8+DQo+ID4gICAgICAgICAgICAgICAgIDxnbG9iIHBhdHRlcm49IiouZmFzdHEuYnppcCIvPg0K PiA+ICAgICAgICAgICAgICAgICA8Z2xvYiBwYXR0ZXJuPSIqLmZxIi8+DQo+ID4gICAgICAgICAg ICAgICAgIDxnbG9iIHBhdHRlcm49IiouZnEuZ3oiLz4NCj4gPiAgICAgICAgICAgICAgICAgPGds b2IgcGF0dGVybj0iKi5mcS5ieiIvPg0KPiA+ICAgICAgICAgICAgICAgICA8Z2xvYiBwYXR0ZXJu PSIqLmZxLmJ6MiIvPg0KPiA+ICAgICAgICAgICAgICAgICA8Z2xvYiBwYXR0ZXJuPSIqLmZxLmJ6 aXAiLz4NCj4gPiAgICAgICAgIDwvbWltZS10eXBlPg0KPiA+IDIuIGNyZWF0ZWQgdGhlIGZpbGUg cG9saWN5L21pbWUtZXh0cmFjdG9yLW1hcC54bWwNCj4gPg0KPiA+ICAgICAgICAgPG1pbWUgdHlw ZT0idGV4dC9mYXN0cSI+DQo+ID4gICAgICAgICAgICAgICAgIDxleHRyYWN0b3INCj4gPiBjbGFz cz0ib3JnLmFwYWNoZS5vb2R0LmNhcy5tZXRhZGF0YS5leHRyYWN0b3JzLkV4dGVybk1ldEV4dHJh Y3RvciI+DQo+ID4gICAgICAgICAgICAgICAgICAgICAgICAgPGNvbmZpZw0KPiA+IGZpbGU9Ii9h cGFjaGUtb29kdC9jcmF3bGVyL2Jpbi9mYXN0cS5jb25maWciLz4NCj4gPiAgICAgICAgICAgICAg ICAgICAgICAgICA8cHJlQ29uZENvbXBhcmF0b3JzPg0KPiA+ICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgPHByZUNvbmRDb21wYXJhdG9yIA0KPiA+IGlkPSJDaGVja1RoYXREYXRhRmls ZVNpemVJc0dyZWF0ZXJUaGFuWmVybyIvPg0KPiA+ICAgICAgICAgICAgICAgICAgICAgICAgIDwv cHJlQ29uZENvbXBhcmF0b3JzPg0KPiA+ICAgICAgICAgICAgICAgICA8L2V4dHJhY3Rvcj4NCj4g PiAgICAgICAgIDwvbWltZT4NCj4gPg0KPiA+IDMuIGNyZWF0ZWQgdGhlIGZpbGUgZmFzdHEuY29u ZmlnDQo+ID4gPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4gPGNhczpleHRl cm5leHRyYWN0b3IgDQo+ID4geG1sbnM6Y2FzPSJodHRwczovL3VybGRlZmVuc2UucHJvb2Zwb2lu dC5jb20vdjIvdXJsP3U9aHR0cC0zQV9fb29kdC5qcGwubmFzYS5nb3ZfMS4wX2NhcyZkPUN3SUJh USZjPUNaWnVqSzNHMkt1WEdFS256cS1Icmcmcj13bmRZWjRNTE1UOWwzWmIyV1p2MmhxMk82eXZa MUNzLVQyZ0hZOTV5N1pBJm09QVpPaHpEbW1OdUJEX1I5SDJmbS1DdWJWbWlkME9FSmJYcWs0RzJj bXpEcyZzPUZ2a0JZZ29NOFJuVW0ySVRhTWpZYjFzMXNhOVl0SHZOTDRjMU1fS0YwNncmZT0gIj4N Cj4gPiAgIDxleGVjIHdvcmtpbmdEaXI9IiI+DQo+ID4NCj4gPg0KPiA8ZXh0cmFjdG9yQmluUGF0 aD4vYXBhY2hlLW9vZHQvY3Jhd2xlci9iaW4vTWV0RXh0cmFjdG9yTkdTLnBsPC9leHRyYWN0DQo+ IG9yQmluUGF0aD4NCj4gPiAgICAgICA8YXJncz4NCj4gPiAgICAgICAgICA8YXJnIGlzRGF0YUZp bGU9InRydWUiPjwvYXJnPg0KPiA+ICAgICAgICAgPGFyZz5mYXN0cTwvYXJnPg0KPiA+ICAgICAg IDwvYXJncz4NCj4gPiAgICA8L2V4ZWM+DQo+ID4gPC9jYXM6ZXh0ZXJuZXh0cmFjdG9yPg0KPiA+ DQo+ID4NCj4gPg0KPiA+IFRoZSBNZXRFeHRyYWN0b3JOR1MucGwgaXMgYSBzbWFsbCBwZXJsIHNj cmlwdCB0aGF0IG9wZW5zIHRoZSBmaWxlIHRvIA0KPiA+IGJlIGluZ2VzdGVkLCBnZXRzIHNvbWUg aW5mb3JtYXRpb24gYW5kIHN0b3JlcyBpdCBpbiB0aGUgLm1ldCBmaWxlIA0KPiA+IHRoYXQgY29y cmVzcG9uZHMgdG8gdGhlIGZpbGUgdG8gYmUgaW5nZXN0ZWQgYW5kIGhhdmUgbWFudWFsbHkgDQo+ ID4gdmVyaWZpZWQgdGhhdCB3b3JrcyBhcyBleHBlY3RlZCBwcm9kdWNpbmcgdGhlIGNvcnJlY3Qg bWV0IGZpbGUuDQo+ID4NCj4gPiBXaGF0IGFtIEkgbWlzc2luZyBoZXJlPyBBbnkgaWRlYXMgY29t bWVudHMgc3VnZ2VzdGlvbnMgd2lsbCBiZSANCj4gPiBncmVhdGx5IGFwcHJlY2lhdGVkLg0KPiA+ IFRoYW5rcyBpbiBhZHZhbmNlIGZvciBhbnkgaGVscA0KPiA+IEtvc3Rhcw0KPiA+DQo+ID4NCj4g Pg0KPiA+IFBTMSBUaGUgZnVsbCBvdXRwdXQgZnJvbSBydW5uaW5nIHRoZSBjcmF3bGVyIGNvbW1h bmQgZm9sbG93czoNCj4gPg0KPiA+DQo+ID4gU2V0dGluZyBwcm9wZXJ0eSAnU3RkUHJvZHVjdENy YXdsZXIuZmlsZW1nclVybCcNCj4gPiBTZXR0aW5nIHByb3BlcnR5ICdNZXRFeHRyYWN0b3JQcm9k dWN0Q3Jhd2xlci5maWxlbWdyVXJsJw0KPiA+IFNldHRpbmcgcHJvcGVydHkgJ0F1dG9EZXRlY3RQ cm9kdWN0Q3Jhd2xlci5maWxlbWdyVXJsJw0KPiA+IFNldHRpbmcgcHJvcGVydHkgJ1N0ZFByb2R1 Y3RDcmF3bGVyLmNsaWVudFRyYW5zZmVyZXInDQo+ID4gU2V0dGluZyBwcm9wZXJ0eSAnTWV0RXh0 cmFjdG9yUHJvZHVjdENyYXdsZXIuY2xpZW50VHJhbnNmZXJlcicNCj4gPiBTZXR0aW5nIHByb3Bl cnR5ICdBdXRvRGV0ZWN0UHJvZHVjdENyYXdsZXIuY2xpZW50VHJhbnNmZXJlcicNCj4gPiBTZXR0 aW5nIHByb3BlcnR5ICdTdGRQcm9kdWN0Q3Jhd2xlci5ub1JlY3VyJw0KPiA+IFNldHRpbmcgcHJv cGVydHkgJ01ldEV4dHJhY3RvclByb2R1Y3RDcmF3bGVyLm5vUmVjdXInDQo+ID4gU2V0dGluZyBw cm9wZXJ0eSAnQXV0b0RldGVjdFByb2R1Y3RDcmF3bGVyLm5vUmVjdXInDQo+ID4gU2V0dGluZyBw cm9wZXJ0eSAnQXV0b0RldGVjdFByb2R1Y3RDcmF3bGVyLm1pbWVFeHRyYWN0b3JSZXBvJw0KPiA+ IFNldHRpbmcgcHJvcGVydHkgJ1N0ZFByb2R1Y3RDcmF3bGVyLnByb2R1Y3RQYXRoJw0KPiA+IFNl dHRpbmcgcHJvcGVydHkgJ01ldEV4dHJhY3RvclByb2R1Y3RDcmF3bGVyLnByb2R1Y3RQYXRoJw0K PiA+IFNldHRpbmcgcHJvcGVydHkgJ0F1dG9EZXRlY3RQcm9kdWN0Q3Jhd2xlci5wcm9kdWN0UGF0 aCcNCj4gPiBBcHIgMDIsIDIwMTYgMTA6MTI6MTMgUE0NCj4gPiBvcmcuc3ByaW5nZnJhbWV3b3Jr LmJlYW5zLmZhY3RvcnkuY29uZmlnLlByb3BlcnR5T3ZlcnJpZGVDb25maWd1cmVyDQo+ID4gcHJv Y2Vzc0tleQ0KPiA+IEZJTkU6IFByb3BlcnR5ICdBdXRvRGV0ZWN0UHJvZHVjdENyYXdsZXIubm9S ZWN1cicgc2V0IHRvIHZhbHVlIA0KPiA+IFt0cnVlXSBBcHIgMDIsIDIwMTYgMTA6MTI6MTMgUE0g DQo+ID4gb3JnLnNwcmluZ2ZyYW1ld29yay5iZWFucy5mYWN0b3J5LmNvbmZpZy5Qcm9wZXJ0eU92 ZXJyaWRlQ29uZmlndXJlcg0KPiA+IHByb2Nlc3NLZXkNCj4gPiBGSU5FOiBQcm9wZXJ0eSAnU3Rk UHJvZHVjdENyYXdsZXIucHJvZHVjdFBhdGgnIHNldCB0byB2YWx1ZSANCj4gPiBbL21udC9jZWxn ZW5lLnJuZC5jb21iaW8ubW1ncC5leHRlcm5hbC9UZXN0U2VxRGF0YS9STkEtU2VxL1Jhd0RhdGEv Zg0KPiA+IGFzDQo+ID4gdHFdDQo+ID4gQXByIDAyLCAyMDE2IDEwOjEyOjEzIFBNDQo+ID4gb3Jn LnNwcmluZ2ZyYW1ld29yay5iZWFucy5mYWN0b3J5LmNvbmZpZy5Qcm9wZXJ0eU92ZXJyaWRlQ29u ZmlndXJlcg0KPiA+IHByb2Nlc3NLZXkNCj4gPiBGSU5FOiBQcm9wZXJ0eSAnTWV0RXh0cmFjdG9y UHJvZHVjdENyYXdsZXIubm9SZWN1cicgc2V0IHRvIHZhbHVlIA0KPiA+IFt0cnVlXSBBcHIgMDIs IDIwMTYgMTA6MTI6MTMgUE0gDQo+ID4gb3JnLnNwcmluZ2ZyYW1ld29yay5iZWFucy5mYWN0b3J5 LmNvbmZpZy5Qcm9wZXJ0eU92ZXJyaWRlQ29uZmlndXJlcg0KPiA+IHByb2Nlc3NLZXkNCj4gPiBG SU5FOiBQcm9wZXJ0eSAnQXV0b0RldGVjdFByb2R1Y3RDcmF3bGVyLm1pbWVFeHRyYWN0b3JSZXBv JyBzZXQgdG8gDQo+ID4gdmFsdWUgWy4uL3BvbGljeS9taW1lLWV4dHJhY3Rvci1tYXAueG1sXQ0K PiA+IEFwciAwMiwgMjAxNiAxMDoxMjoxMyBQTQ0KPiA+IG9yZy5zcHJpbmdmcmFtZXdvcmsuYmVh bnMuZmFjdG9yeS5jb25maWcuUHJvcGVydHlPdmVycmlkZUNvbmZpZ3VyZXINCj4gPiBwcm9jZXNz S2V5DQo+ID4gRklORTogUHJvcGVydHkgJ01ldEV4dHJhY3RvclByb2R1Y3RDcmF3bGVyLmNsaWVu dFRyYW5zZmVyZXInIHNldCB0byANCj4gPiB2YWx1ZSANCj4gPiBbb3JnLmFwYWNoZS5vb2R0LmNh cy5maWxlbWdyLmRhdGF0cmFuc2Zlci5JblBsYWNlRGF0YVRyYW5zZmVyRmFjdG9yeQ0KPiA+IF0N Cj4gPiBBcHIgMDIsIDIwMTYgMTA6MTI6MTMgUE0NCj4gPiBvcmcuc3ByaW5nZnJhbWV3b3JrLmJl YW5zLmZhY3RvcnkuY29uZmlnLlByb3BlcnR5T3ZlcnJpZGVDb25maWd1cmVyDQo+ID4gcHJvY2Vz c0tleQ0KPiA+IEZJTkU6IFByb3BlcnR5ICdBdXRvRGV0ZWN0UHJvZHVjdENyYXdsZXIuZmlsZW1n clVybCcgc2V0IHRvIHZhbHVlIFsNCj4gPiBodHRwczovL3VybGRlZmVuc2UucHJvb2Zwb2ludC5j b20vdjIvdXJsP3U9aHR0cC0zQV9fMTkyLjE2OC44LjQ0LTNBOQ0KPiA+IDAwDQo+ID4gMCZkPUN3 SUJhUSZjPUNaWnVqSzNHMkt1WEdFS256cS1Icmcmcj13bmRZWjRNTE1UOWwzWmIyV1p2MmhxMk82 eXZaMUMNCj4gPiBzLSANCj4gPiBUMmdIWTk1eTdaQSZtPVFhejBlS3o3RkhlMzVOTUY0M0ExN2V5 NTlBTmhBcUpENVpmd1pRQzBWUm8mcz1PdnB3WlZSMQ0KPiA+IFhxIGdLY2xMODNWWEFXaF9fYzdu ejg3eEtfblMtTzdoSVhxYyZlPSBdIEFwciAwMiwgMjAxNiAxMDoxMjoxMyBQTSANCj4gPiBvcmcu c3ByaW5nZnJhbWV3b3JrLmJlYW5zLmZhY3RvcnkuY29uZmlnLlByb3BlcnR5T3ZlcnJpZGVDb25m aWd1cmVyDQo+ID4gcHJvY2Vzc0tleQ0KPiA+IEZJTkU6IFByb3BlcnR5ICdBdXRvRGV0ZWN0UHJv ZHVjdENyYXdsZXIuY2xpZW50VHJhbnNmZXJlcicgc2V0IHRvIA0KPiA+IHZhbHVlIA0KPiA+IFtv cmcuYXBhY2hlLm9vZHQuY2FzLmZpbGVtZ3IuZGF0YXRyYW5zZmVyLkluUGxhY2VEYXRhVHJhbnNm ZXJGYWN0b3J5DQo+ID4gXQ0KPiA+IEFwciAwMiwgMjAxNiAxMDoxMjoxMyBQTQ0KPiA+IG9yZy5z cHJpbmdmcmFtZXdvcmsuYmVhbnMuZmFjdG9yeS5jb25maWcuUHJvcGVydHlPdmVycmlkZUNvbmZp Z3VyZXINCj4gPiBwcm9jZXNzS2V5DQo+ID4gRklORTogUHJvcGVydHkgJ1N0ZFByb2R1Y3RDcmF3 bGVyLm5vUmVjdXInIHNldCB0byB2YWx1ZSBbdHJ1ZV0gQXByIA0KPiA+IDAyLA0KPiA+IDIwMTYg MTA6MTI6MTMgUE0NCj4gPiBvcmcuc3ByaW5nZnJhbWV3b3JrLmJlYW5zLmZhY3RvcnkuY29uZmln LlByb3BlcnR5T3ZlcnJpZGVDb25maWd1cmVyDQo+ID4gcHJvY2Vzc0tleQ0KPiA+IEZJTkU6IFBy b3BlcnR5ICdTdGRQcm9kdWN0Q3Jhd2xlci5maWxlbWdyVXJsJyBzZXQgdG8gdmFsdWUgWw0KPiA+ IGh0dHBzOi8vdXJsZGVmZW5zZS5wcm9vZnBvaW50LmNvbS92Mi91cmw/dT1odHRwLTNBX18xOTIu MTY4LjguNDQtM0E5DQo+ID4gMDANCj4gPiAwJmQ9Q3dJQmFRJmM9Q1padWpLM0cyS3VYR0VLbnpx LUhyZyZyPXduZFlaNE1MTVQ5bDNaYjJXWnYyaHEyTzZ5dloxQw0KPiA+IHMtIA0KPiA+IFQyZ0hZ OTV5N1pBJm09UWF6MGVLejdGSGUzNU5NRjQzQTE3ZXk1OUFOaEFxSkQ1WmZ3WlFDMFZSbyZzPU92 cHdaVlIxDQo+ID4gWHEgZ0tjbEw4M1ZYQVdoX19jN256ODd4S19uUy1PN2hJWHFjJmU9IF0gQXBy IDAyLCAyMDE2IDEwOjEyOjEzIFBNIA0KPiA+IG9yZy5zcHJpbmdmcmFtZXdvcmsuYmVhbnMuZmFj dG9yeS5jb25maWcuUHJvcGVydHlPdmVycmlkZUNvbmZpZ3VyZXINCj4gPiBwcm9jZXNzS2V5DQo+ ID4gRklORTogUHJvcGVydHkgJ0F1dG9EZXRlY3RQcm9kdWN0Q3Jhd2xlci5wcm9kdWN0UGF0aCcg c2V0IHRvIHZhbHVlIA0KPiA+IFsvbW50L2NlbGdlbmUucm5kLmNvbWJpby5tbWdwLmV4dGVybmFs L1Rlc3RTZXFEYXRhL1JOQS1TZXEvUmF3RGF0YS9mDQo+ID4gYXMNCj4gPiB0cV0NCj4gPiBBcHIg MDIsIDIwMTYgMTA6MTI6MTMgUE0NCj4gPiBvcmcuc3ByaW5nZnJhbWV3b3JrLmJlYW5zLmZhY3Rv cnkuY29uZmlnLlByb3BlcnR5T3ZlcnJpZGVDb25maWd1cmVyDQo+ID4gcHJvY2Vzc0tleQ0KPiA+ IEZJTkU6IFByb3BlcnR5ICdNZXRFeHRyYWN0b3JQcm9kdWN0Q3Jhd2xlci5maWxlbWdyVXJsJyBz ZXQgdG8gdmFsdWUgDQo+ID4gWw0KPiA+IGh0dHBzOi8vdXJsZGVmZW5zZS5wcm9vZnBvaW50LmNv bS92Mi91cmw/dT1odHRwLTNBX18xOTIuMTY4LjguNDQtM0E5DQo+ID4gMDANCj4gPiAwJmQ9Q3dJ QmFRJmM9Q1padWpLM0cyS3VYR0VLbnpxLUhyZyZyPXduZFlaNE1MTVQ5bDNaYjJXWnYyaHEyTzZ5 dloxQw0KPiA+IHMtIA0KPiA+IFQyZ0hZOTV5N1pBJm09UWF6MGVLejdGSGUzNU5NRjQzQTE3ZXk1 OUFOaEFxSkQ1WmZ3WlFDMFZSbyZzPU92cHdaVlIxDQo+ID4gWHEgZ0tjbEw4M1ZYQVdoX19jN256 ODd4S19uUy1PN2hJWHFjJmU9IF0gQXByIDAyLCAyMDE2IDEwOjEyOjEzIFBNIA0KPiA+IG9yZy5z cHJpbmdmcmFtZXdvcmsuYmVhbnMuZmFjdG9yeS5jb25maWcuUHJvcGVydHlPdmVycmlkZUNvbmZp Z3VyZXINCj4gPiBwcm9jZXNzS2V5DQo+ID4gRklORTogUHJvcGVydHkgJ1N0ZFByb2R1Y3RDcmF3 bGVyLmNsaWVudFRyYW5zZmVyZXInIHNldCB0byB2YWx1ZSANCj4gPiBbb3JnLmFwYWNoZS5vb2R0 LmNhcy5maWxlbWdyLmRhdGF0cmFuc2Zlci5JblBsYWNlRGF0YVRyYW5zZmVyRmFjdG9yeQ0KPiA+ IF0NCj4gPiBBcHIgMDIsIDIwMTYgMTA6MTI6MTMgUE0NCj4gPiBvcmcuc3ByaW5nZnJhbWV3b3Jr LmJlYW5zLmZhY3RvcnkuY29uZmlnLlByb3BlcnR5T3ZlcnJpZGVDb25maWd1cmVyDQo+ID4gcHJv Y2Vzc0tleQ0KPiA+IEZJTkU6IFByb3BlcnR5ICdNZXRFeHRyYWN0b3JQcm9kdWN0Q3Jhd2xlci5w cm9kdWN0UGF0aCcgc2V0IHRvIHZhbHVlIA0KPiA+IFsvbW50L2NlbGdlbmUucm5kLmNvbWJpby5t bWdwLmV4dGVybmFsL1Rlc3RTZXFEYXRhL1JOQS1TZXEvUmF3RGF0YS9mDQo+ID4gYXMgdHFdIEFw ciAwMiwgMjAxNiAxMDoxMjoxMyBQTSANCj4gPiBvcmcuYXBhY2hlLm9vZHQuY2FzLmNyYXdsLlBy b2R1Y3RDcmF3bGVyDQo+ID4gY3Jhd2wNCj4gPiBJTkZPOiBDcmF3bGluZw0KPiA+IC9tbnQvY2Vs Z2VuZS5ybmQuY29tYmlvLm1tZ3AuZXh0ZXJuYWwvVGVzdFNlcURhdGEvUk5BLVNlcS9SYXdEYXRh L2ZhDQo+ID4gc3QgcSBBcHIgMDIsIDIwMTYgMTA6MTI6MTMgUE0gDQo+ID4gb3JnLmFwYWNoZS5v b2R0LmNhcy5jcmF3bC5Qcm9kdWN0Q3Jhd2xlcg0KPiA+IGhhbmRsZUZpbGUNCj4gPiBJTkZPOiBI YW5kbGluZyBmaWxlDQo+ID4gL21udC9jZWxnZW5lLnJuZC5jb21iaW8ubW1ncC5leHRlcm5hbC9U ZXN0U2VxRGF0YS9STkEtU2VxL1Jhd0RhdGEvZmENCj4gPiBzdA0KPiA+IHEvRTgzNzY0Ml9SMS5m YXN0cS5neg0KPiA+IEFwciAwMiwgMjAxNiAxMDoxMjoxNCBQTQ0KPiA+IG9yZy5hcGFjaGUub29k dC5jYXMuY3Jhd2wuQXV0b0RldGVjdFByb2R1Y3RDcmF3bGVyIA0KPiA+IHBhc3Nlc1ByZWNvbmRp dGlvbnMNCj4gPiBXQVJOSU5HOiBObyBleHRyYWN0b3Igc3BlY3Mgc3BlY2lmaWVkIGZvciANCj4g PiAvbW50L2NlbGdlbmUucm5kLmNvbWJpby5tbWdwLmV4dGVybmFsL1Rlc3RTZXFEYXRhL1JOQS1T ZXEvUmF3RGF0YS9mYQ0KPiA+IHN0IHEvRTgzNzY0Ml9SMS5mYXN0cS5neiBBcHIgMDIsIDIwMTYg MTA6MTI6MTQgUE0gDQo+ID4gb3JnLmFwYWNoZS5vb2R0LmNhcy5jcmF3bC5Qcm9kdWN0Q3Jhd2xl cg0KPiA+IGhhbmRsZUZpbGUNCj4gPiBXQVJOSU5HOiBGYWlsZWQgdG8gcGFzcyBwcmVjb25kaXRp b25zIGZvciBpbmdlc3Qgb2YgcHJvZHVjdDoNCj4gPiBbL21udC9jZWxnZW5lLnJuZC5jb21iaW8u bW1ncC5leHRlcm5hbC9UZXN0U2VxRGF0YS9STkEtU2VxL1Jhd0RhdGEvZg0KPiA+IGFzIHRxL0U4 Mzc2NDJfUjEuZmFzdHEuZ3pdIEFwciAwMiwgMjAxNiAxMDoxMjoxNCBQTSANCj4gPiBvcmcuYXBh Y2hlLm9vZHQuY2FzLmNyYXdsLlByb2R1Y3RDcmF3bGVyDQo+ID4gaGFuZGxlRmlsZQ0KPiA+IElO Rk86IEhhbmRsaW5nIGZpbGUNCj4gPiAvbW50L2NlbGdlbmUucm5kLmNvbWJpby5tbWdwLmV4dGVy bmFsL1Rlc3RTZXFEYXRhL1JOQS1TZXEvUmF3RGF0YS9mYQ0KPiA+IHN0DQo+ID4gcS9FODM3NjQy X1IxLmZhc3RxLmd6Lm1ldA0KPiA+IEFwciAwMiwgMjAxNiAxMDoxMjoxNCBQTQ0KPiA+IG9yZy5h cGFjaGUub29kdC5jYXMubWV0YWRhdGEucHJlY29uZGl0aW9ucy5QcmVDb25kRXZhbFV0aWxzIGV2 YWwNCj4gPiBJTkZPOiBQYXNzZWQgcHJlY29uZGl0aW9uIGNvbXBhcmF0b3IgaWQgDQo+ID4gQ2hl Y2tUaGF0RGF0YUZpbGVTaXplSXNHcmVhdGVyVGhhblplcm8NCj4gPiBBcHIgMDIsIDIwMTYgMTA6 MTI6MTQgUE0NCj4gPiBvcmcuYXBhY2hlLm9vZHQuY2FzLm1ldGFkYXRhLmV4dHJhY3RvcnMuRXh0 ZXJuTWV0RXh0cmFjdG9yDQo+ID4gZXh0ck1ldGFkYXRhDQo+ID4gSU5GTzogR2VuZXJhdGluZyBt ZXQgZmlsZSBmb3IgcHJvZHVjdCBmaWxlOg0KPiA+IFsvbW50L2NlbGdlbmUucm5kLmNvbWJpby5t bWdwLmV4dGVybmFsL1Rlc3RTZXFEYXRhL1JOQS1TZXEvUmF3RGF0YS9mDQo+ID4gYXMNCj4gPiB0 cS9FODM3NjQyX1IxLmZhc3RxLmd6Lm1ldF0NCj4gPiBBcHIgMDIsIDIwMTYgMTA6MTI6MTQgUE0N Cj4gPiBvcmcuYXBhY2hlLm9vZHQuY2FzLm1ldGFkYXRhLmV4dHJhY3RvcnMuRXh0ZXJuTWV0RXh0 cmFjdG9yDQo+ID4gZXh0ck1ldGFkYXRhDQo+ID4gSU5GTzogRXhlY3V0aW5nIGNvbW1hbmQgbGlu ZToNCj4gPiBbL2NlbGdlbmUvc29mdHdhcmUvYXBhY2hlLW9vZHQvY3Jhd2xlci9iaW4vTWV0RXh0 cmFjdG9yTkdTLnBsDQo+ID4gL21udC9jZWxnZW5lLnJuZC5jb21iaW8ubW1ncC5leHRlcm5hbC9U ZXN0U2VxRGF0YS9STkEtU2VxL1Jhd0RhdGEvZmENCj4gPiBzdA0KPiA+IHEvRTgzNzY0Ml9SMS5m YXN0cS5nei5tZXQNCj4gPiB0ZXh0IF0gd2l0aCB3b3JraW5nRGlyOg0KPiA+IFsvbW50L2NlbGdl bmUucm5kLmNvbWJpby5tbWdwLmV4dGVybmFsL1Rlc3RTZXFEYXRhL1JOQS1TZXEvUmF3RGF0YS9m DQo+ID4gYXMNCj4gPiB0cV0NCj4gPiB0byBleHRyYWN0IG1ldGFkYXRhDQo+ID4gT1VUUFVUOiBb V0FSTiA6IE1ldEV4dHJhY3Rvck5HUyAtIDIwMTYvMDQvMDIgMjI6MTI6MTVdIC0gSW5wdXQgZmls ZSANCj4gPiAvbW50L2NlbGdlbmUucm5kLmNvbWJpby5tbWdwLmV4dGVybmFsL1Rlc3RTZXFEYXRh L1JOQS1TZXEvUmF3RGF0YS9mYQ0KPiA+IHN0IHEvRTgzNzY0Ml9SMS5mYXN0cS5nei5tZXQgd2ls bCBiZSBpZ25vcmVkLiAubWV0IGZpbGVzIGFyZSBub3QgDQo+ID4gcHJvY2Vzc2VkICENCj4gPiBB cHIgMDIsIDIwMTYgMTA6MTI6MTUgUE0gb3JnLmFwYWNoZS5vb2R0LmNhcy5jcmF3bC5Qcm9kdWN0 Q3Jhd2xlcg0KPiA+IGhhbmRsZUZpbGUNCj4gPiBTRVZFUkU6IEZhaWxlZCB0byBnZXQgbWV0YWRh dGEgZm9yIHByb2R1Y3QgOiBNZXQgZXh0cmFjdG9yIGZhaWxlZCB0byANCj4gPiBjcmVhdGUgbWV0 YWRhdGEgZmlsZQ0KPiA+IG9yZy5hcGFjaGUub29kdC5jYXMubWV0YWRhdGEuZXhjZXB0aW9ucy5N ZXRFeHRyYWN0aW9uRXhjZXB0aW9uOiBNZXQgDQo+ID4gZXh0cmFjdG9yIGZhaWxlZCB0byBjcmVh dGUgbWV0YWRhdGEgZmlsZQ0KPiA+ICAgICAgICAgYXQNCj4gPg0KPiBvcmcuYXBhY2hlLm9vZHQu Y2FzLm1ldGFkYXRhLmV4dHJhY3RvcnMuRXh0ZXJuTWV0RXh0cmFjdG9yLmV4dHJNZXRhZGF0DQo+ IGEoRXh0ZXJuTWV0RXh0cmFjdG9yLmphdmE6MTIwKQ0KPiA+ICAgICAgICAgYXQNCj4gPg0KPiBv cmcuYXBhY2hlLm9vZHQuY2FzLm1ldGFkYXRhLkFic3RyYWN0TWV0RXh0cmFjdG9yLmV4dHJhY3RN ZXRhZGF0YShBYnN0DQo+IHJhY3RNZXRFeHRyYWN0b3IuamF2YTo3NCkNCj4gPiAgICAgICAgIGF0 DQo+ID4NCj4gb3JnLmFwYWNoZS5vb2R0LmNhcy5jcmF3bC5BdXRvRGV0ZWN0UHJvZHVjdENyYXds ZXIuZ2V0TWV0YWRhdGFGb3JQcm9kdQ0KPiBjdChBdXRvRGV0ZWN0UHJvZHVjdENyYXdsZXIuamF2 YTo4NCkNCj4gPiAgICAgICAgIGF0DQo+ID4NCj4gb3JnLmFwYWNoZS5vb2R0LmNhcy5jcmF3bC5Q cm9kdWN0Q3Jhd2xlci5oYW5kbGVGaWxlKFByb2R1Y3RDcmF3bGVyLmphdg0KPiBhOjEzNikNCj4g PiAgICAgICAgIGF0DQo+ID4gb3JnLmFwYWNoZS5vb2R0LmNhcy5jcmF3bC5Qcm9kdWN0Q3Jhd2xl ci5jcmF3bChQcm9kdWN0Q3Jhd2xlci5qYXZhOjEwNCkNCj4gPiAgICAgICAgIGF0DQo+ID4gb3Jn LmFwYWNoZS5vb2R0LmNhcy5jcmF3bC5Qcm9kdWN0Q3Jhd2xlci5jcmF3bChQcm9kdWN0Q3Jhd2xl ci5qYXZhOjc0KQ0KPiA+ICAgICAgICAgYXQNCj4gPg0KPiBvcmcuYXBhY2hlLm9vZHQuY2FzLmNy YXdsLmNsaS5hY3Rpb24uQ3Jhd2xlckxhdW5jaGVyQ2xpQWN0aW9uLmV4ZWN1dGUoDQo+IENyYXds ZXJMYXVuY2hlckNsaUFjdGlvbi5qYXZhOjU4KQ0KPiA+ICAgICAgICAgYXQNCj4gPiBvcmcuYXBh Y2hlLm9vZHQuY2FzLmNsaS5DbWRMaW5lVXRpbGl0eS5leGVjdXRlKENtZExpbmVVdGlsaXR5Lmph dmE6MzMxKQ0KPiA+ICAgICAgICAgYXQNCj4gPiBvcmcuYXBhY2hlLm9vZHQuY2FzLmNsaS5DbWRM aW5lVXRpbGl0eS5ydW4oQ21kTGluZVV0aWxpdHkuamF2YToxODgpDQo+ID4gICAgICAgICBhdA0K PiA+IG9yZy5hcGFjaGUub29kdC5jYXMuY3Jhd2wuQ3Jhd2xlckxhdW5jaGVyLm1haW4oQ3Jhd2xl ckxhdW5jaGVyLmphdmE6DQo+ID4gMzYNCj4gPiApDQo+ID4NCj4gPiBBcHIgMDIsIDIwMTYgMTA6 MTI6MTUgUE0gb3JnLmFwYWNoZS5vb2R0LmNhcy5jcmF3bC5Qcm9kdWN0Q3Jhd2xlcg0KPiA+IGhh bmRsZUZpbGUNCj4gPiBJTkZPOiBIYW5kbGluZyBmaWxlDQo+ID4gL21udC9jZWxnZW5lLnJuZC5j b21iaW8ubW1ncC5leHRlcm5hbC9UZXN0U2VxRGF0YS9STkEtU2VxL1Jhd0RhdGEvZmENCj4gPiBz dA0KPiA+IHEvRTgzNzY0Ml9SMi5mYXN0cS5neg0KPiA+IEFwciAwMiwgMjAxNiAxMDoxMjoxNSBQ TQ0KPiA+IG9yZy5hcGFjaGUub29kdC5jYXMuY3Jhd2wuQXV0b0RldGVjdFByb2R1Y3RDcmF3bGVy IA0KPiA+IHBhc3Nlc1ByZWNvbmRpdGlvbnMNCj4gPiBXQVJOSU5HOiBObyBleHRyYWN0b3Igc3Bl Y3Mgc3BlY2lmaWVkIGZvciANCj4gPiAvbW50L2NlbGdlbmUucm5kLmNvbWJpby5tbWdwLmV4dGVy bmFsL1Rlc3RTZXFEYXRhL1JOQS1TZXEvUmF3RGF0YS9mYQ0KPiA+IHN0IHEvRTgzNzY0Ml9SMi5m YXN0cS5neiBBcHIgMDIsIDIwMTYgMTA6MTI6MTUgUE0gDQo+ID4gb3JnLmFwYWNoZS5vb2R0LmNh cy5jcmF3bC5Qcm9kdWN0Q3Jhd2xlcg0KPiA+IGhhbmRsZUZpbGUNCj4gPiBXQVJOSU5HOiBGYWls ZWQgdG8gcGFzcyBwcmVjb25kaXRpb25zIGZvciBpbmdlc3Qgb2YgcHJvZHVjdDoNCj4gPiBbL21u dC9jZWxnZW5lLnJuZC5jb21iaW8ubW1ncC5leHRlcm5hbC9UZXN0U2VxRGF0YS9STkEtU2VxL1Jh d0RhdGEvZg0KPiA+IGFzIHRxL0U4Mzc2NDJfUjIuZmFzdHEuZ3pdIEFwciAwMiwgMjAxNiAxMDox MjoxNSBQTSANCj4gPiBvcmcuYXBhY2hlLm9vZHQuY2FzLmNyYXdsLlByb2R1Y3RDcmF3bGVyDQo+ ID4gaGFuZGxlRmlsZQ0KPiA+IElORk86IEhhbmRsaW5nIGZpbGUNCj4gPiAvbW50L2NlbGdlbmUu cm5kLmNvbWJpby5tbWdwLmV4dGVybmFsL1Rlc3RTZXFEYXRhL1JOQS1TZXEvUmF3RGF0YS9mYQ0K PiA+IHN0DQo+ID4gcS9FODM3NjQyX1IyLmZhc3RxLmd6Lm1ldA0KPiA+IEFwciAwMiwgMjAxNiAx MDoxMjoxNSBQTQ0KPiA+IG9yZy5hcGFjaGUub29kdC5jYXMubWV0YWRhdGEucHJlY29uZGl0aW9u cy5QcmVDb25kRXZhbFV0aWxzIGV2YWwNCj4gPiBJTkZPOiBQYXNzZWQgcHJlY29uZGl0aW9uIGNv bXBhcmF0b3IgaWQgDQo+ID4gQ2hlY2tUaGF0RGF0YUZpbGVTaXplSXNHcmVhdGVyVGhhblplcm8N Cj4gPiBBcHIgMDIsIDIwMTYgMTA6MTI6MTYgUE0NCj4gPiBvcmcuYXBhY2hlLm9vZHQuY2FzLm1l dGFkYXRhLmV4dHJhY3RvcnMuRXh0ZXJuTWV0RXh0cmFjdG9yDQo+ID4gZXh0ck1ldGFkYXRhDQo+ ID4gSU5GTzogR2VuZXJhdGluZyBtZXQgZmlsZSBmb3IgcHJvZHVjdCBmaWxlOg0KPiA+IFsvbW50 L2NlbGdlbmUucm5kLmNvbWJpby5tbWdwLmV4dGVybmFsL1Rlc3RTZXFEYXRhL1JOQS1TZXEvUmF3 RGF0YS9mDQo+ID4gYXMNCj4gPiB0cS9FODM3NjQyX1IyLmZhc3RxLmd6Lm1ldF0NCj4gPiBBcHIg MDIsIDIwMTYgMTA6MTI6MTYgUE0NCj4gPiBvcmcuYXBhY2hlLm9vZHQuY2FzLm1ldGFkYXRhLmV4 dHJhY3RvcnMuRXh0ZXJuTWV0RXh0cmFjdG9yDQo+ID4gZXh0ck1ldGFkYXRhDQo+ID4gSU5GTzog RXhlY3V0aW5nIGNvbW1hbmQgbGluZToNCj4gPiBbL2NlbGdlbmUvc29mdHdhcmUvYXBhY2hlLW9v ZHQvY3Jhd2xlci9iaW4vTWV0RXh0cmFjdG9yTkdTLnBsDQo+ID4gL21udC9jZWxnZW5lLnJuZC5j b21iaW8ubW1ncC5leHRlcm5hbC9UZXN0U2VxRGF0YS9STkEtU2VxL1Jhd0RhdGEvZmENCj4gPiBz dA0KPiA+IHEvRTgzNzY0Ml9SMi5mYXN0cS5nei5tZXQNCj4gPiB0ZXh0IF0gd2l0aCB3b3JraW5n RGlyOg0KPiA+IFsvbW50L2NlbGdlbmUucm5kLmNvbWJpby5tbWdwLmV4dGVybmFsL1Rlc3RTZXFE YXRhL1JOQS1TZXEvUmF3RGF0YS9mDQo+ID4gYXMNCj4gPiB0cV0NCj4gPiB0byBleHRyYWN0IG1l dGFkYXRhDQo+ID4gT1VUUFVUOiBbV0FSTiA6IE1ldEV4dHJhY3Rvck5HUyAtIDIwMTYvMDQvMDIg MjI6MTI6MTZdIC0gSW5wdXQgZmlsZSANCj4gPiAvbW50L2NlbGdlbmUucm5kLmNvbWJpby5tbWdw LmV4dGVybmFsL1Rlc3RTZXFEYXRhL1JOQS1TZXEvUmF3RGF0YS9mYQ0KPiA+IHN0IHEvRTgzNzY0 Ml9SMi5mYXN0cS5nei5tZXQgd2lsbCBiZSBpZ25vcmVkLiAubWV0IGZpbGVzIGFyZSBub3QgDQo+ ID4gcHJvY2Vzc2VkICENCj4gPiBBcHIgMDIsIDIwMTYgMTA6MTI6MTcgUE0gb3JnLmFwYWNoZS5v b2R0LmNhcy5jcmF3bC5Qcm9kdWN0Q3Jhd2xlcg0KPiA+IGhhbmRsZUZpbGUNCj4gPiBTRVZFUkU6 IEZhaWxlZCB0byBnZXQgbWV0YWRhdGEgZm9yIHByb2R1Y3QgOiBNZXQgZXh0cmFjdG9yIGZhaWxl ZCB0byANCj4gPiBjcmVhdGUgbWV0YWRhdGEgZmlsZQ0KPiA+IG9yZy5hcGFjaGUub29kdC5jYXMu bWV0YWRhdGEuZXhjZXB0aW9ucy5NZXRFeHRyYWN0aW9uRXhjZXB0aW9uOiBNZXQgDQo+ID4gZXh0 cmFjdG9yIGZhaWxlZCB0byBjcmVhdGUgbWV0YWRhdGEgZmlsZQ0KPiA+ICAgICAgICAgYXQNCj4g Pg0KPiBvcmcuYXBhY2hlLm9vZHQuY2FzLm1ldGFkYXRhLmV4dHJhY3RvcnMuRXh0ZXJuTWV0RXh0 cmFjdG9yLmV4dHJNZXRhZGF0DQo+IGEoRXh0ZXJuTWV0RXh0cmFjdG9yLmphdmE6MTIwKQ0KPiA+ ICAgICAgICAgYXQNCj4gPg0KPiBvcmcuYXBhY2hlLm9vZHQuY2FzLm1ldGFkYXRhLkFic3RyYWN0 TWV0RXh0cmFjdG9yLmV4dHJhY3RNZXRhZGF0YShBYnN0DQo+IHJhY3RNZXRFeHRyYWN0b3IuamF2 YTo3NCkNCj4gPiAgICAgICAgIGF0DQo+ID4NCj4gb3JnLmFwYWNoZS5vb2R0LmNhcy5jcmF3bC5B dXRvRGV0ZWN0UHJvZHVjdENyYXdsZXIuZ2V0TWV0YWRhdGFGb3JQcm9kdQ0KPiBjdChBdXRvRGV0 ZWN0UHJvZHVjdENyYXdsZXIuamF2YTo4NCkNCj4gPiAgICAgICAgIGF0DQo+ID4NCj4gb3JnLmFw YWNoZS5vb2R0LmNhcy5jcmF3bC5Qcm9kdWN0Q3Jhd2xlci5oYW5kbGVGaWxlKFByb2R1Y3RDcmF3 bGVyLmphdg0KPiBhOjEzNikNCj4gPiAgICAgICAgIGF0DQo+ID4gb3JnLmFwYWNoZS5vb2R0LmNh cy5jcmF3bC5Qcm9kdWN0Q3Jhd2xlci5jcmF3bChQcm9kdWN0Q3Jhd2xlci5qYXZhOjEwNCkNCj4g PiAgICAgICAgIGF0DQo+ID4gb3JnLmFwYWNoZS5vb2R0LmNhcy5jcmF3bC5Qcm9kdWN0Q3Jhd2xl ci5jcmF3bChQcm9kdWN0Q3Jhd2xlci5qYXZhOjc0KQ0KPiA+ICAgICAgICAgYXQNCj4gPg0KPiBv cmcuYXBhY2hlLm9vZHQuY2FzLmNyYXdsLmNsaS5hY3Rpb24uQ3Jhd2xlckxhdW5jaGVyQ2xpQWN0 aW9uLmV4ZWN1dGUoDQo+IENyYXdsZXJMYXVuY2hlckNsaUFjdGlvbi5qYXZhOjU4KQ0KPiA+ICAg ICAgICAgYXQNCj4gPiBvcmcuYXBhY2hlLm9vZHQuY2FzLmNsaS5DbWRMaW5lVXRpbGl0eS5leGVj dXRlKENtZExpbmVVdGlsaXR5LmphdmE6MzMxKQ0KPiA+ICAgICAgICAgYXQNCj4gPiBvcmcuYXBh Y2hlLm9vZHQuY2FzLmNsaS5DbWRMaW5lVXRpbGl0eS5ydW4oQ21kTGluZVV0aWxpdHkuamF2YTox ODgpDQo+ID4gICAgICAgICBhdA0KPiA+IG9yZy5hcGFjaGUub29kdC5jYXMuY3Jhd2wuQ3Jhd2xl ckxhdW5jaGVyLm1haW4oQ3Jhd2xlckxhdW5jaGVyLmphdmE6DQo+ID4gMzYNCj4gPiApDQo+ID4N Cj4gPiBBcHIgMDIsIDIwMTYgMTA6MTI6MTcgUE0gb3JnLmFwYWNoZS5vb2R0LmNhcy5jcmF3bC5Q cm9kdWN0Q3Jhd2xlcg0KPiA+IGhhbmRsZUZpbGUNCj4gPiBJTkZPOiBIYW5kbGluZyBmaWxlDQo+ ID4gL21udC9jZWxnZW5lLnJuZC5jb21iaW8ubW1ncC5leHRlcm5hbC9UZXN0U2VxRGF0YS9STkEt U2VxL1Jhd0RhdGEvZmENCj4gPiBzdA0KPiA+IHEvY2FzLWNyYXdsZXItMDQtMDItMTYubG9nLmd6 DQo+ID4gQXByIDAyLCAyMDE2IDEwOjEyOjE3IFBNDQo+ID4gb3JnLmFwYWNoZS5vb2R0LmNhcy5j cmF3bC5BdXRvRGV0ZWN0UHJvZHVjdENyYXdsZXIgDQo+ID4gcGFzc2VzUHJlY29uZGl0aW9ucw0K PiA+IFdBUk5JTkc6IE5vIGV4dHJhY3RvciBzcGVjcyBzcGVjaWZpZWQgZm9yIA0KPiA+IC9tbnQv Y2VsZ2VuZS5ybmQuY29tYmlvLm1tZ3AuZXh0ZXJuYWwvVGVzdFNlcURhdGEvUk5BLVNlcS9SYXdE YXRhL2ZhDQo+ID4gc3QgcS9jYXMtY3Jhd2xlci0wNC0wMi0xNi5sb2cuZ3ogQXByIDAyLCAyMDE2 IDEwOjEyOjE3IFBNIA0KPiA+IG9yZy5hcGFjaGUub29kdC5jYXMuY3Jhd2wuUHJvZHVjdENyYXds ZXINCj4gPiBoYW5kbGVGaWxlDQo+ID4gV0FSTklORzogRmFpbGVkIHRvIHBhc3MgcHJlY29uZGl0 aW9ucyBmb3IgaW5nZXN0IG9mIHByb2R1Y3Q6DQo+ID4gWy9tbnQvY2VsZ2VuZS5ybmQuY29tYmlv Lm1tZ3AuZXh0ZXJuYWwvVGVzdFNlcURhdGEvUk5BLVNlcS9SYXdEYXRhL2YNCj4gPiBhcyB0cS9j YXMtY3Jhd2xlci0wNC0wMi0xNi5sb2cuZ3pdIEFwciAwMiwgMjAxNiAxMDoxMjoxNyBQTSANCj4g PiBvcmcuYXBhY2hlLm9vZHQuY2FzLmNyYXdsLlByb2R1Y3RDcmF3bGVyDQo+ID4gaGFuZGxlRmls ZQ0KPiA+IElORk86IEhhbmRsaW5nIGZpbGUNCj4gPiAvbW50L2NlbGdlbmUucm5kLmNvbWJpby5t bWdwLmV4dGVybmFsL1Rlc3RTZXFEYXRhL1JOQS1TZXEvUmF3RGF0YS9mYQ0KPiA+IHN0DQo+ID4g cS9jYXMtY3Jhd2xlci0wNC0wMi0xNi50YXIuZ3oNCj4gPiBBcHIgMDIsIDIwMTYgMTA6MTI6MTcg UE0NCj4gPiBvcmcuYXBhY2hlLm9vZHQuY2FzLmNyYXdsLkF1dG9EZXRlY3RQcm9kdWN0Q3Jhd2xl ciANCj4gPiBwYXNzZXNQcmVjb25kaXRpb25zDQo+ID4gV0FSTklORzogTm8gZXh0cmFjdG9yIHNw ZWNzIHNwZWNpZmllZCBmb3IgDQo+ID4gL21udC9jZWxnZW5lLnJuZC5jb21iaW8ubW1ncC5leHRl cm5hbC9UZXN0U2VxRGF0YS9STkEtU2VxL1Jhd0RhdGEvZmENCj4gPiBzdCBxL2Nhcy1jcmF3bGVy LTA0LTAyLTE2LnRhci5neiBBcHIgMDIsIDIwMTYgMTA6MTI6MTcgUE0gDQo+ID4gb3JnLmFwYWNo ZS5vb2R0LmNhcy5jcmF3bC5Qcm9kdWN0Q3Jhd2xlcg0KPiA+IGhhbmRsZUZpbGUNCj4gPiBXQVJO SU5HOiBGYWlsZWQgdG8gcGFzcyBwcmVjb25kaXRpb25zIGZvciBpbmdlc3Qgb2YgcHJvZHVjdDoN Cj4gPiBbL21udC9jZWxnZW5lLnJuZC5jb21iaW8ubW1ncC5leHRlcm5hbC9UZXN0U2VxRGF0YS9S TkEtU2VxL1Jhd0RhdGEvZg0KPiA+IGFzIHRxL2Nhcy1jcmF3bGVyLTA0LTAyLTE2LnRhci5nel0g QXByIDAyLCAyMDE2IDEwOjEyOjE3IFBNIA0KPiA+IG9yZy5hcGFjaGUub29kdC5jYXMuY3Jhd2wu UHJvZHVjdENyYXdsZXINCj4gPiBoYW5kbGVGaWxlDQo+ID4gSU5GTzogSGFuZGxpbmcgZmlsZQ0K PiA+IC9tbnQvY2VsZ2VuZS5ybmQuY29tYmlvLm1tZ3AuZXh0ZXJuYWwvVGVzdFNlcURhdGEvUk5B LVNlcS9SYXdEYXRhL2ZhDQo+ID4gc3QgDQo+ID4gcS9jYXMtY3Jhd2xlci1tbnQtY2VsZ2VuZS5y bmQuY29tYmlvLm1tZ3AuZXh0ZXJuYWwtVGVzdFNlcURhdGEtUk5BLVMNCj4gPiBlcQ0KPiA+IC1S YXdEYXRhLWZhc3RxLTA0LTAyLTE2LnRhci5neg0KPiA+IEFwciAwMiwgMjAxNiAxMDoxMjoxNyBQ TQ0KPiA+IG9yZy5hcGFjaGUub29kdC5jYXMuY3Jhd2wuQXV0b0RldGVjdFByb2R1Y3RDcmF3bGVy IA0KPiA+IHBhc3Nlc1ByZWNvbmRpdGlvbnMNCj4gPiBXQVJOSU5HOiBObyBleHRyYWN0b3Igc3Bl Y3Mgc3BlY2lmaWVkIGZvciANCj4gPiAvbW50L2NlbGdlbmUucm5kLmNvbWJpby5tbWdwLmV4dGVy bmFsL1Rlc3RTZXFEYXRhL1JOQS1TZXEvUmF3RGF0YS9mYQ0KPiA+IHN0IA0KPiA+IHEvY2FzLWNy YXdsZXItbW50LWNlbGdlbmUucm5kLmNvbWJpby5tbWdwLmV4dGVybmFsLVRlc3RTZXFEYXRhLVJO QS1TDQo+ID4gZXEgLVJhd0RhdGEtZmFzdHEtMDQtMDItMTYudGFyLmd6IEFwciAwMiwgMjAxNiAx MDoxMjoxNyBQTSANCj4gPiBvcmcuYXBhY2hlLm9vZHQuY2FzLmNyYXdsLlByb2R1Y3RDcmF3bGVy DQo+ID4gaGFuZGxlRmlsZQ0KPiA+IFdBUk5JTkc6IEZhaWxlZCB0byBwYXNzIHByZWNvbmRpdGlv bnMgZm9yIGluZ2VzdCBvZiBwcm9kdWN0Og0KPiA+IFsvbW50L2NlbGdlbmUucm5kLmNvbWJpby5t bWdwLmV4dGVybmFsL1Rlc3RTZXFEYXRhL1JOQS1TZXEvUmF3RGF0YS9mDQo+ID4gYXMgDQo+ID4g dHEvY2FzLWNyYXdsZXItbW50LWNlbGdlbmUucm5kLmNvbWJpby5tbWdwLmV4dGVybmFsLVRlc3RT ZXFEYXRhLVJOQS0NCj4gPiBTZSBxLVJhd0RhdGEtZmFzdHEtMDQtMDItMTYudGFyLmd6XSBBcHIg MDIsIDIwMTYgMTA6MTI6MTcgUE0gDQo+ID4gb3JnLmFwYWNoZS5vb2R0LmNhcy5jcmF3bC5Qcm9k dWN0Q3Jhd2xlcg0KPiA+IGhhbmRsZUZpbGUNCj4gPiBJTkZPOiBIYW5kbGluZyBmaWxlDQo+ID4g L21udC9jZWxnZW5lLnJuZC5jb21iaW8ubW1ncC5leHRlcm5hbC9UZXN0U2VxRGF0YS9STkEtU2Vx L1Jhd0RhdGEvZmENCj4gPiBzdA0KPiA+IHEvdGVzdA0KPiA+IEFwciAwMiwgMjAxNiAxMDoxMjox NyBQTQ0KPiA+IG9yZy5hcGFjaGUub29kdC5jYXMubWV0YWRhdGEucHJlY29uZGl0aW9ucy5QcmVD b25kRXZhbFV0aWxzIGV2YWwNCj4gPiBJTkZPOiBQYXNzZWQgcHJlY29uZGl0aW9uIGNvbXBhcmF0 b3IgaWQgDQo+ID4gQ2hlY2tUaGF0RGF0YUZpbGVTaXplSXNHcmVhdGVyVGhhblplcm8NCj4gPiBB cHIgMDIsIDIwMTYgMTA6MTI6MTcgUE0NCj4gPiBvcmcuYXBhY2hlLm9vZHQuY2FzLm1ldGFkYXRh LmV4dHJhY3RvcnMuRXh0ZXJuTWV0RXh0cmFjdG9yDQo+ID4gZXh0ck1ldGFkYXRhDQo+ID4gSU5G TzogR2VuZXJhdGluZyBtZXQgZmlsZSBmb3IgcHJvZHVjdCBmaWxlOg0KPiA+IFsvbW50L2NlbGdl bmUucm5kLmNvbWJpby5tbWdwLmV4dGVybmFsL1Rlc3RTZXFEYXRhL1JOQS1TZXEvUmF3RGF0YS9m DQo+ID4gYXMNCj4gPiB0cS90ZXN0XQ0KPiA+IEFwciAwMiwgMjAxNiAxMDoxMjoxNyBQTQ0KPiA+ IG9yZy5hcGFjaGUub29kdC5jYXMubWV0YWRhdGEuZXh0cmFjdG9ycy5FeHRlcm5NZXRFeHRyYWN0 b3INCj4gPiBleHRyTWV0YWRhdGENCj4gPiBJTkZPOiBFeGVjdXRpbmcgY29tbWFuZCBsaW5lOg0K PiA+IFsvY2VsZ2VuZS9zb2Z0d2FyZS9hcGFjaGUtb29kdC9jcmF3bGVyL2Jpbi9NZXRFeHRyYWN0 b3JOR1MucGwNCj4gPiAvbW50L2NlbGdlbmUucm5kLmNvbWJpby5tbWdwLmV4dGVybmFsL1Rlc3RT ZXFEYXRhL1JOQS1TZXEvUmF3RGF0YS9mYQ0KPiA+IHN0DQo+ID4gcS90ZXN0DQo+ID4gdGV4dCBd IHdpdGggd29ya2luZ0RpcjoNCj4gPiBbL21udC9jZWxnZW5lLnJuZC5jb21iaW8ubW1ncC5leHRl cm5hbC9UZXN0U2VxRGF0YS9STkEtU2VxL1Jhd0RhdGEvZg0KPiA+IGFzDQo+ID4gdHFdDQo+ID4g dG8gZXh0cmFjdCBtZXRhZGF0YQ0KPiA+IE9VVFBVVDogW0RFQlVHIDogTWV0RXh0cmFjdG9yTkdT IC0gMjAxNi8wNC8wMiAyMjoxMjoxOF0gLSBBY2Nlc3NpbmcgDQo+ID4gTkdTIHNlcnZlciBhdA0K PiA+IGh0dHBzOi8vdXJsZGVmZW5zZS5wcm9vZnBvaW50LmNvbS92Mi91cmw/dT1odHRwLTNBX18x OTIuMTY4LjguNDQtM0E4DQo+ID4gMDggDQo+ID4gMl9SUEMyJmQ9Q3dJQmFRJmM9Q1padWpLM0cy S3VYR0VLbnpxLUhyZyZyPXduZFlaNE1MTVQ5bDNaYjJXWnYyaHEyTzYNCj4gPiB5dg0KPiA+IFox Q3MtVDJnSFk5NXk3WkEmbT1RYXowZUt6N0ZIZTM1Tk1GNDNBMTdleTU5QU5oQXFKRDVaZndaUUMw VlJvJnM9dFNjDQo+ID4gaTIgUTFiSmowY1FuQkhqak93dFpqang5dU5Nb041QmktQUJHMFE3WTQm ZT0NCj4gPiBPVVRQVVQ6IFtERUJVRyA6IG1ldGFkYXRhUHJlcGFyZSAtIDIwMTYvMDQvMDIgMjI6 MTI6MThdIC0gYWRkTWV0YWRhdGE6DQo+ID4gbWV0YWRhdGEgZm9yIGZpbGVfaG9zdCBhcmUgbm90 IGluIGFycmF5IGZvcm1hdC5Db252ZXJ0aW5nLi4NCj4gPiBPVVRQVVQ6IFtERUJVRyA6IG1ldGFk YXRhUHJlcGFyZSAtIDIwMTYvMDQvMDIgMjI6MTI6MThdIC0gYWRkTWV0YWRhdGE6DQo+ID4gYWRk aW5nIGtleS92YWx1ZSBbZmlsZV9ob3N0XS9baXAtMTkyLTE2OC04LTY2XQ0KPiA+IE9VVFBVVDog W0RFQlVHIDogbWV0YWRhdGFQcmVwYXJlIC0gMjAxNi8wNC8wMiAyMjoxMjoxOF0gLSBhZGRNZXRh ZGF0YToNCj4gPiBtZXRhZGF0YSBmb3IgUHJvZHVjdFR5cGUgYXJlIG5vdCBpbiBhcnJheSBmb3Jt YXQuQ29udmVydGluZy4uDQo+ID4gT1VUUFVUOiBbREVCVUcgOiBtZXRhZGF0YVByZXBhcmUgLSAy MDE2LzA0LzAyIDIyOjEyOjE4XSAtIGFkZE1ldGFkYXRhOg0KPiA+IGFkZGluZyBrZXkvdmFsdWUg W1Byb2R1Y3RUeXBlXS9bR2VuZXJpY0ZpbGVdDQo+ID4gT1VUUFVUOiBbREVCVUcgOiBtZXRhZGF0 YVByZXBhcmUgLSAyMDE2LzA0LzAyIDIyOjEyOjE4XSAtIGFkZE1ldGFkYXRhOg0KPiA+IG1ldGFk YXRhIGZvciBpbmdlc3RfdXNlciBhcmUgbm90IGluIGFycmF5IGZvcm1hdC5Db252ZXJ0aW5nLi4N Cj4gPiBPVVRQVVQ6IFtERUJVRyA6IG1ldGFkYXRhUHJlcGFyZSAtIDIwMTYvMDQvMDIgMjI6MTI6 MThdIC0gYWRkTWV0YWRhdGE6DQo+ID4gYWRkaW5nIGtleS92YWx1ZSBbaW5nZXN0X3VzZXJdL1tr bWF2cm9tbWF0aXNdDQo+ID4gT1VUUFVUOiBbREVCVUcgOiBNZXRFeHRyYWN0b3JOR1MgLSAyMDE2 LzA0LzAyIDIyOjEyOjE4XSAtIFRoZSBmaWxlIA0KPiA+IHBhdGggaXMgQVJSQVkoMHgyMmQzZjQ4 KS4gSXQgd2lsbCBiZSBhZGRlZCB1bmRlciB0aGUgRmlsZVBhdGggDQo+ID4gbWV0YWRhdGEgZmll bGQNCj4gPiBPVVRQVVQ6IFtERUJVRyA6IG1ldGFkYXRhUHJlcGFyZSAtIDIwMTYvMDQvMDIgMjI6 MTI6MThdIC0gYWRkTWV0YWRhdGE6DQo+ID4gbWV0YWRhdGEgZm9yIEZpbGVQYXRoIGFyZSBub3Qg aW4gYXJyYXkgZm9ybWF0LkNvbnZlcnRpbmcuLg0KPiA+IE9VVFBVVDogW0RFQlVHIDogbWV0YWRh dGFQcmVwYXJlIC0gMjAxNi8wNC8wMiAyMjoxMjoxOF0gLSBhZGRNZXRhZGF0YToNCj4gPiBhZGRp bmcga2V5L3ZhbHVlDQo+ID4gW0ZpbGVQYXRoXS9bL21udC9jZWxnZW5lLnJuZC5jb21iaW8ubW1n cC5leHRlcm5hbC9UZXN0U2VxRGF0YS9STkEtU2UNCj4gPiBxLw0KPiA+IFJhd0RhdGEvZmFzdHEv dGVzdF0NCj4gPiBPVVRQVVQ6IFtERUJVRyA6IE1ldEV4dHJhY3Rvck5HUyAtIDIwMTYvMDQvMDIg MjI6MTI6MThdIC0gVGhpcyBmaWxlIA0KPiA+IGlzIG9mIHR5cGUgdGV4dA0KPiA+IE9VVFBVVDog W0RFQlVHIDogTWV0RXh0cmFjdG9yTkdTIC0gMjAxNi8wNC8wMiAyMjoxMjoxOF0gLSBTdG9yaW5n IA0KPiA+IG1ldGFkYXRhIGluIGZpbGUgDQo+ID4gL21udC9jZWxnZW5lLnJuZC5jb21iaW8ubW1n cC5leHRlcm5hbC9UZXN0U2VxRGF0YS9STkEtU2VxL1Jhd0RhdGEvZmENCj4gPiBzdA0KPiA+IHEv dGVzdC5tZXQNCj4gPiBPVVRQVVQ6IFtERUJVRyA6IG1ldGFkYXRhUHJlcGFyZSAtIDIwMTYvMDQv MDIgMjI6MTI6MThdIC0gQ2hhbmdpbmcgDQo+ID4gL21udC9jZWxnZW5lLnJuZC5jb21iaW8ubW1n cC5leHRlcm5hbC9UZXN0U2VxRGF0YS9STkEtU2VxL1Jhd0RhdGEvZmENCj4gPiBzdA0KPiA+IHEv dGVzdA0KPiA+IHRvDQo+ID4gT1VUUFVUOiBbREVCVUcgOiBtZXRhZGF0YVByZXBhcmUgLSAyMDE2 LzA0LzAyIDIyOjEyOjE4XSAtIA0KPiA+IC9tbnQvY2VsZ2VuZS5ybmQuY29tYmlvLm1tZ3AuZXh0 ZXJuYWwvVGVzdFNlcURhdGEvUk5BLVNlcS9SYXdEYXRhL2ZhDQo+ID4gc3QNCj4gPiBxL3Rlc3QN Cj4gPiBPVVRQVVQ6IFtERUJVRyA6IG1ldGFkYXRhUHJlcGFyZSAtIDIwMTYvMDQvMDIgMjI6MTI6 MThdIC0gQ2hhbmdpbmcgDQo+ID4ga21hdnJvbW1hdGlzIHRvDQo+ID4gT1VUUFVUOiBbREVCVUcg OiBtZXRhZGF0YVByZXBhcmUgLSAyMDE2LzA0LzAyIDIyOjEyOjE4XSAtIA0KPiA+IGttYXZyb21t YXRpcw0KPiA+IE9VVFBVVDogW0RFQlVHIDogbWV0YWRhdGFQcmVwYXJlIC0gMjAxNi8wNC8wMiAy MjoxMjoxOF0gLSBDaGFuZ2luZyANCj4gPiBHZW5lcmljRmlsZSB0bw0KPiA+IE9VVFBVVDogW0RF QlVHIDogbWV0YWRhdGFQcmVwYXJlIC0gMjAxNi8wNC8wMiAyMjoxMjoxOF0gLSANCj4gPiBHZW5l cmljRmlsZQ0KPiA+IE9VVFBVVDogW0RFQlVHIDogbWV0YWRhdGFQcmVwYXJlIC0gMjAxNi8wNC8w MiAyMjoxMjoxOF0gLSBDaGFuZ2luZw0KPiA+IGlwLTE5Mi0xNjgtOC02NiB0bw0KPiA+IE9VVFBV VDogW0RFQlVHIDogbWV0YWRhdGFQcmVwYXJlIC0gMjAxNi8wNC8wMiAyMjoxMjoxOF0gLQ0KPiA+ IGlwLTE5Mi0xNjgtOC02Ng0KPiA+IE9VVFBVVDogW0RFQlVHIDogTWV0RXh0cmFjdG9yTkdTIC0g MjAxNi8wNC8wMiAyMjoxMjoxOV0gLSBQcm9jZXNzIA0KPiA+IGZpbmlzaGVkIFNVQ0NFU1NGVUxM WSBBcHIgMDIsIDIwMTYgMTA6MTI6MTkgUE0gDQo+ID4gb3JnLmFwYWNoZS5vb2R0LmNhcy5tZXRh ZGF0YS5leHRyYWN0b3JzLkV4dGVybk1ldEV4dHJhY3Rvcg0KPiA+IGV4dHJNZXRhZGF0YQ0KPiA+ IElORk86IE1ldCBleHRyYWN0aW9uIHN1Y2Nlc3NmdWwgZm9yIHByb2R1Y3QgZmlsZToNCj4gPiBb L21udC9jZWxnZW5lLnJuZC5jb21iaW8ubW1ncC5leHRlcm5hbC9UZXN0U2VxRGF0YS9STkEtU2Vx L1Jhd0RhdGEvZg0KPiA+IGFzDQo+ID4gdHEvdGVzdF0gQXByIDAyLCAyMDE2IDEwOjEyOjE5IFBN DQo+ID4gb3JnLmFwYWNoZS5vb2R0LmNhcy5jcmF3bC5Qcm9kdWN0Q3Jhd2xlciBpbmdlc3QNCj4g PiBJTkZPOiBQcm9kdWN0Q3Jhd2xlcjogUmVhZHkgdG8gaW5nZXN0IHByb2R1Y3Q6DQo+ID4NCj4g Wy9tbnQvY2VsZ2VuZS5ybmQuY29tYmlvLm1tZ3AuZXh0ZXJuYWwvVGVzdFNlcURhdGEvUk5BLVNl cS9SYXdEYXRhL2Zhc3RxL3Rlc3RdOg0KPiA+IFByb2R1Y3RUeXBlOiBbR2VuZXJpY0ZpbGVdDQo+ ID4gQXByIDAyLCAyMDE2IDEwOjEyOjE5IFBNDQo+ID4gb3JnLmFwYWNoZS5vb2R0LmNhcy5maWxl bWdyLmluZ2VzdC5TdGRJbmdlc3Rlcg0KPiA+IHNldEZpbGVNYW5hZ2VyDQo+ID4gSU5GTzogU3Rk SW5nZXN0ZXI6IGNvbm5lY3RlZCB0byBmaWxlIG1hbmFnZXI6DQo+ID4gW2h0dHBzOi8vdXJsZGVm ZW5zZS5wcm9vZnBvaW50LmNvbS92Mi91cmw/dT1odHRwLTNBX18xOTIuMTY4LjguNDQtM0ENCj4g PiA5MCANCj4gPiAwMCZkPUN3SUJhUSZjPUNaWnVqSzNHMkt1WEdFS256cS1Icmcmcj13bmRZWjRN TE1UOWwzWmIyV1p2MmhxMk82eXZaMQ0KPiA+IENzIA0KPiA+IC1UMmdIWTk1eTdaQSZtPVFhejBl S3o3RkhlMzVOTUY0M0ExN2V5NTlBTmhBcUpENVpmd1pRQzBWUm8mcz1PdnB3WlZSDQo+ID4gMVgg cWdLY2xMODNWWEFXaF9fYzduejg3eEtfblMtTzdoSVhxYyZlPSBdIEFwciAwMiwgMjAxNiAxMDox MjoxOSBQTSANCj4gPiBvcmcuYXBhY2hlLm9vZHQuY2FzLmZpbGVtZ3IuZGF0YXRyYW5zZmVyLklu UGxhY2VEYXRhVHJhbnNmZXJlcg0KPiA+IHNldEZpbGVNYW5hZ2VyVXJsDQo+ID4gSU5GTzogSW4g UGxhY2UgRGF0YSBUcmFuc2ZlciB0bzoNCj4gPiBbaHR0cHM6Ly91cmxkZWZlbnNlLnByb29mcG9p bnQuY29tL3YyL3VybD91PWh0dHAtM0FfXzE5Mi4xNjguOC40NC0zQQ0KPiA+IDkwIA0KPiA+IDAw JmQ9Q3dJQmFRJmM9Q1padWpLM0cyS3VYR0VLbnpxLUhyZyZyPXduZFlaNE1MTVQ5bDNaYjJXWnYy aHEyTzZ5dloxDQo+ID4gQ3MgDQo+ID4gLVQyZ0hZOTV5N1pBJm09UWF6MGVLejdGSGUzNU5NRjQz QTE3ZXk1OUFOaEFxSkQ1WmZ3WlFDMFZSbyZzPU92cHdaVlINCj4gPiAxWCBxZ0tjbEw4M1ZYQVdo X19jN256ODd4S19uUy1PN2hJWHFjJmU9IF0gZW5hYmxlZCBBcHIgMDIsIDIwMTYgDQo+ID4gMTA6 MTI6MTkgUE0gb3JnLmFwYWNoZS5vb2R0LmNhcy5maWxlbWdyLmluZ2VzdC5TdGRJbmdlc3Rlcg0K PiA+IGluZ2VzdA0KPiA+IElORk86IFN0ZEluZ2VzdGVyOiBpbmdlc3RpbmcgcHJvZHVjdDogUHJv ZHVjdE5hbWU6IFt0ZXN0XTogUHJvZHVjdFR5cGU6DQo+ID4gW0dlbmVyaWNGaWxlXTogRmlsZUxv Y2F0aW9uOg0KPiA+IFsvbW50L2NlbGdlbmUucm5kLmNvbWJpby5tbWdwLmV4dGVybmFsL1Rlc3RT ZXFEYXRhL1JOQS1TZXEvUmF3RGF0YS9mDQo+ID4gYXMNCj4gPiB0cS9dDQo+ID4gQXByIDAyLCAy MDE2IDEwOjEyOjE5IFBNDQo+ID4gb3JnLmFwYWNoZS5vb2R0LmNhcy5maWxlbWdyLnN5c3RlbS5Y bWxScGNGaWxlTWFuYWdlckNsaWVudA0KPiA+IGluZ2VzdFByb2R1Y3QNCj4gPiBGSU5FU1Q6IEZp bGUgTWFuYWdlciBDbGllbnQ6IGNsaWVudFRyYW5zZmVyIGVuYWJsZWQ6IHRyYW5zZmVyaW5nIA0K PiA+IHByb2R1Y3QgW3Rlc3RdIEFwciAwMiwgMjAxNiAxMDoxMjoxOSBQTSANCj4gPiBvcmcuYXBh Y2hlLm9vZHQuY2FzLmZpbGVtZ3IudmVyc2lvbmluZy5WZXJzaW9uaW5nVXRpbHMNCj4gPiBjcmVh dGVCYXNpY0RhdGFTdG9yZVJlZnNGbGF0DQo+ID4gRklORTogVmVyc2lvbmluZ1V0aWxzOiBHZW5l cmF0ZWQgZGF0YSBzdG9yZSByZWY6DQo+ID4gZmlsZTovb3B0L29vZHQvZGF0YS9hcmNoaXZlL3Rl c3QvdGVzdCBmcm9tIG9yaWdSZWY6DQo+ID4gZmlsZTovbW50L2NlbGdlbmUucm5kLmNvbWJpby5t bWdwLmV4dGVybmFsL1Rlc3RTZXFEYXRhL1JOQS1TZXEvUmF3RGENCj4gPiB0YSAvZmFzdHEvdGVz dCBBcHIgMDIsIDIwMTYgMTA6MTI6MTkgUE0gDQo+ID4gb3JnLmFwYWNoZS5vb2R0LmNhcy5jcmF3 bC5Qcm9kdWN0Q3Jhd2xlciBpbmdlc3QNCj4gPiBJTkZPOiBTdWNjZXNzZnVsbHkgaW5nZXN0ZWQg cHJvZHVjdDoNCj4gPg0KPiBbL21udC9jZWxnZW5lLnJuZC5jb21iaW8ubW1ncC5leHRlcm5hbC9U ZXN0U2VxRGF0YS9STkEtU2VxL1Jhd0RhdGEvZmFzdHEvdGVzdF06DQo+ID4gcHJvZHVjdCBpZDog NGM4ZGUyZGEtMjY1YS00OGM0LTgzODAtM2YxMTAzZGZlY2ZjDQo+ID4gQXByIDAyLCAyMDE2IDEw OjEyOjE5IFBNIG9yZy5hcGFjaGUub29kdC5jYXMuY3Jhd2wuUHJvZHVjdENyYXdsZXINCj4gPiBo YW5kbGVGaWxlDQo+ID4gSU5GTzogU3VjY2Vzc2Z1bCBpbmdlc3Qgb2YgcHJvZHVjdDoNCj4gPiBb L21udC9jZWxnZW5lLnJuZC5jb21iaW8ubW1ncC5leHRlcm5hbC9UZXN0U2VxRGF0YS9STkEtU2Vx L1Jhd0RhdGEvZg0KPiA+IGFzDQo+ID4gdHEvdGVzdF0NCj4gPg0KPiA+DQo+ID4gKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQo+ID4gVEhJ UyBFTEVDVFJPTklDIE1BSUwgTUVTU0FHRSBBTkQgQU5ZIEFUVEFDSE1FTlQgSVMgQ09ORklERU5U SUFMIEFORCANCj4gPiBNQVkgQ09OVEFJTiBMRUdBTExZIFBSSVZJTEVHRUQgSU5GT1JNQVRJT04g SU5URU5ERUQgT05MWSBGT1IgVEhFIFVTRSANCj4gPiBPRiBUSEUgSU5ESVZJRFVBTCBPUiBJTkRJ VklEVUFMUyBOQU1FRCBBQk9WRS4NCj4gPiBJZiB0aGUgcmVhZGVyIGlzIG5vdCB0aGUgaW50ZW5k ZWQgcmVjaXBpZW50LCBvciB0aGUgZW1wbG95ZWUgb3IgDQo+ID4gYWdlbnQgcmVzcG9uc2libGUg dG8gZGVsaXZlciBpdCB0byB0aGUgaW50ZW5kZWQgcmVjaXBpZW50LCB5b3UgYXJlIA0KPiA+IGhl cmVieSBub3RpZmllZCB0aGF0IGFueSBkaXNzZW1pbmF0aW9uLCBkaXN0cmlidXRpb24gb3IgY29w eWluZyBvZiANCj4gPiB0aGlzIGNvbW11bmljYXRpb24gaXMgc3RyaWN0bHkgcHJvaGliaXRlZC4g SWYgeW91IGhhdmUgcmVjZWl2ZWQgdGhpcyANCj4gPiBjb21tdW5pY2F0aW9uIGluIGVycm9yLCBw bGVhc2UgcmVwbHkgdG8gdGhlIHNlbmRlciB0byBub3RpZnkgdXMgb2YgDQo+ID4gdGhlIGVycm9y IGFuZCBkZWxldGUgdGhlIG9yaWdpbmFsIG1lc3NhZ2UuIFRoYW5rIFlvdS4NCj4gPg0KPg0KPg0K PiAtLQ0KPiAqTGV3aXMqDQo+DQo+ICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKg0KPiBUSElTIEVMRUNUUk9OSUMgTUFJTCBNRVNTQUdFIEFO RCBBTlkgQVRUQUNITUVOVCBJUyBDT05GSURFTlRJQUwgQU5EIA0KPiBNQVkgQ09OVEFJTiBMRUdB TExZIFBSSVZJTEVHRUQgSU5GT1JNQVRJT04gSU5URU5ERUQgT05MWSBGT1IgVEhFIFVTRSANCj4g T0YgVEhFIElORElWSURVQUwgT1IgSU5ESVZJRFVBTFMgTkFNRUQgQUJPVkUuDQo+IElmIHRoZSBy ZWFkZXIgaXMgbm90IHRoZSBpbnRlbmRlZCByZWNpcGllbnQsIG9yIHRoZSBlbXBsb3llZSBvciBh Z2VudCANCj4gcmVzcG9uc2libGUgdG8gZGVsaXZlciBpdCB0byB0aGUgaW50ZW5kZWQgcmVjaXBp ZW50LCB5b3UgYXJlIGhlcmVieSANCj4gbm90aWZpZWQgdGhhdCBhbnkgZGlzc2VtaW5hdGlvbiwg ZGlzdHJpYnV0aW9uIG9yIGNvcHlpbmcgb2YgdGhpcyANCj4gY29tbXVuaWNhdGlvbiBpcyBzdHJp Y3RseSBwcm9oaWJpdGVkLiBJZiB5b3UgaGF2ZSByZWNlaXZlZCB0aGlzIA0KPiBjb21tdW5pY2F0 aW9uIGluIGVycm9yLCBwbGVhc2UgcmVwbHkgdG8gdGhlIHNlbmRlciB0byBub3RpZnkgdXMgb2Yg dGhlIA0KPiBlcnJvciBhbmQgZGVsZXRlIHRoZSBvcmlnaW5hbCBtZXNzYWdlLiBUaGFuayBZb3Uu DQo+DQoNCg0KDQotLQ0KKkxld2lzKg0KCioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKgpUSElTIEVMRUNUUk9OSUMgTUFJTCBNRVNTQUdFIEFO RCBBTlkgQVRUQUNITUVOVCBJUwpDT05GSURFTlRJQUwgQU5EIE1BWSBDT05UQUlOIExFR0FMTFkg UFJJVklMRUdFRApJTkZPUk1BVElPTiBJTlRFTkRFRCBPTkxZIEZPUiBUSEUgVVNFIE9GIFRIRSBJ TkRJVklEVUFMCk9SIElORElWSURVQUxTIE5BTUVEIEFCT1ZFLgpJZiB0aGUgcmVhZGVyIGlzIG5v dCB0aGUgaW50ZW5kZWQgcmVjaXBpZW50LCBvciB0aGUKZW1wbG95ZWUgb3IgYWdlbnQgcmVzcG9u c2libGUgdG8gZGVsaXZlciBpdCB0byB0aGUKaW50ZW5kZWQgcmVjaXBpZW50LCB5b3UgYXJlIGhl cmVieSBub3RpZmllZCB0aGF0IGFueQpkaXNzZW1pbmF0aW9uLCBkaXN0cmlidXRpb24gb3IgY29w eWluZyBvZiB0aGlzCmNvbW11bmljYXRpb24gaXMgc3RyaWN0bHkgcHJvaGliaXRlZC4gSWYgeW91 IGhhdmUKcmVjZWl2ZWQgdGhpcyBjb21tdW5pY2F0aW9uIGluIGVycm9yLCBwbGVhc2UgcmVwbHkg dG8gdGhlCnNlbmRlciB0byBub3RpZnkgdXMgb2YgdGhlIGVycm9yIGFuZCBkZWxldGUgdGhlIG9y aWdpbmFsCm1lc3NhZ2UuIFRoYW5rIFlvdS4K