Return-Path: X-Original-To: apmail-cordova-dev-archive@www.apache.org Delivered-To: apmail-cordova-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 64A0C1742A for ; Wed, 28 Jan 2015 18:50:53 +0000 (UTC) Received: (qmail 89934 invoked by uid 500); 28 Jan 2015 18:50:53 -0000 Delivered-To: apmail-cordova-dev-archive@cordova.apache.org Received: (qmail 89893 invoked by uid 500); 28 Jan 2015 18:50:53 -0000 Mailing-List: contact dev-help@cordova.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@cordova.apache.org Delivered-To: mailing list dev@cordova.apache.org Received: (qmail 89881 invoked by uid 99); 28 Jan 2015 18:50:53 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 28 Jan 2015 18:50:53 +0000 X-ASF-Spam-Status: No, hits=-0.0 required=5.0 tests=RCVD_IN_DNSWL_NONE,SPF_HELO_PASS,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: domain of muratsu@microsoft.com designates 157.56.111.144 as permitted sender) Received: from [157.56.111.144] (HELO na01-bn1-obe.outbound.protection.outlook.com) (157.56.111.144) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 28 Jan 2015 18:50:48 +0000 Received: from SN2PR03MB032.namprd03.prod.outlook.com (10.255.175.42) by SN2PR03MB032.namprd03.prod.outlook.com (10.255.175.42) with Microsoft SMTP Server (TLS) id 15.1.65.13; Wed, 28 Jan 2015 18:49:47 +0000 Received: from SN2PR03MB032.namprd03.prod.outlook.com ([169.254.13.145]) by SN2PR03MB032.namprd03.prod.outlook.com ([169.254.13.145]) with mapi id 15.01.0065.013; Wed, 28 Jan 2015 18:49:47 +0000 From: Murat Sutunc To: "dev@cordova.apache.org" Subject: RE: [DISCUSS] Cordova-Android 4.0.0 Release Thread-Topic: [DISCUSS] Cordova-Android 4.0.0 Release Thread-Index: AQHQOyMrsXL8idTilE2goYdqDun7uZzV3JuAgAAC7MaAAAAyAA== Date: Wed, 28 Jan 2015 18:49:47 +0000 Message-ID: References: In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [131.107.192.87] authentication-results: cordova.apache.org; dkim=none (message not signed) header.d=none;cordova.apache.org; dmarc=none action=none header.from=microsoft.com; x-dmarcaction-test: None x-microsoft-antispam: BCL:0;PCL:0;RULEID:(3005004);SRVR:SN2PR03MB032; x-o365ent-eop-header: Message processed by - O365_ENT: Allow from ranges (Engineering ONLY) x-exchange-antispam-report-test: UriScan:; x-exchange-antispam-report-cfa-test: BCL:0;PCL:0;RULEID:;SRVR:SN2PR03MB032; x-forefront-prvs: 047001DADA x-forefront-antispam-report: SFV:NSPM;SFS:(10019020)(6009001)(13464003)(377454003)(43784003)(51704005)(252514010)(24454002)(86362001)(2351001)(54206007)(2950100001)(86612001)(99286002)(54356999)(2656002)(66066001)(325944007)(40100003)(102836002)(106116001)(122556002)(33656002)(107886001)(2900100001)(87936001)(46102003)(50986999)(450100001)(62966003)(77156002)(76576001)(2501002)(74316001)(19580405001)(19580395003)(76176999)(110136001)(92566002);DIR:OUT;SFP:1102;SCL:1;SRVR:SN2PR03MB032;H:SN2PR03MB032.namprd03.prod.outlook.com;FPR:;SPF:None;MLV:sfv;LANG:en; Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: microsoft.onmicrosoft.com X-MS-Exchange-CrossTenant-originalarrivaltime: 28 Jan 2015 18:49:47.0773 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 72f988bf-86f1-41af-91ab-2d7cd011db47 X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN2PR03MB032 X-Virus-Checked: Checked by ClamAV on apache.org SnVzdCBnaXZlIHNvbWUgZGF0YSBwb2ludCwgcnVubmluZyBtb2JpbGUgc3BlYyBJJ20gZ2V0dGlu ZzoNCi0gMTEgZmFpbHVyZXMgaW4gNC40LjIgDQotIDYgZmFpbHVyZXMgaW4gNC4wLjQNCklkZWFs bHkgd2Ugc2hvdWxkIGJyaW5nIHRob3NlIG51bWJlcnMgdG8gMCB0byBlbnN1cmUgYSBzdGFibGUg cmVsZWFzZS4gDQoNCi0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQpGcm9tOiBKb2UgQm93c2Vy IFttYWlsdG86Ym93c2VyakBnbWFpbC5jb21dIA0KU2VudDogV2VkbmVzZGF5LCBKYW51YXJ5IDI4 LCAyMDE1IDEwOjQ1IEFNDQpUbzogZGV2QGNvcmRvdmEuYXBhY2hlLm9yZw0KU3ViamVjdDogUmU6 IFtESVNDVVNTXSBDb3Jkb3ZhLUFuZHJvaWQgNC4wLjAgUmVsZWFzZQ0KDQpPbiBXZWQgSmFuIDI4 IDIwMTUgYXQgMTA6Mzg6MDcgQU0gQW5kcmV3IEdyaWV2ZSA8YWdyaWV2ZUBjaHJvbWl1bS5vcmc+ DQp3cm90ZToNCg0KPg0KPiAtIE1ha2UgQ29yZG92YUFjdGl2aXR5IG5vdCBpbXBsZW1lbnQgQ29y ZG92YUludGVyZmFjZSwgYnV0IGluc3RlYWQgDQo+IHByb3ZpZGUgQ29yZG92YUludGVyZmFjZSB2 aWEgYW4gaW5uZXIgY2xhc3MgKHRvIHNvbGlkaWZ5IHRoYXQgeW91IA0KPiBjYW4ndCBjYXN0IHRo ZSBhY3Rpdml0eSB0byBDb3Jkb3ZhSW50ZXJmYWNlIGFuZCBleHBlY3QgdGhhdCB0byB3b3JrIC0g DQo+IHNvbWUgdXNlZCB0byBkbyB0aGlzIGJ1dCBJIHRoaW5rIHdlJ3ZlIGNsZWFuZWQgaXQgYWxs IHVwIG5vdykNCj4NCj4gVGhpcyBsaXRlcmFsbHkgY2FtZSBvdXQgb2Ygbm93aGVyZS4gIFdoeSBh cmUgeW91IHRyeWluZyBzbyBoYXJkIHRvIA0KPiByZW1vdmUNCnRoZSBlbWJlZGRlZCB2aWV3IHVz ZSBjYXNlPyBXaGF0IGlmIHNvbWVvbmUgaXMgaW1wbGVtZW50aW5nIGFuIGFjdGl2aXR5IHRoYXQg aW5oZXJpdHMgZnJvbSBhbm90aGVyIGFjdGl2aXR5IGxpa2UgTWFwQWN0aXZpdHk/ICBUaGlzIEFQ SSBjaGFuZ2UgY2FtZSB3aXRob3V0IGFueSBkaXNjdXNzaW9uLg0KDQpBbGwgb2YgdGhpcyBjYW4g YmUgZG9uZSBpbiBhIGZldyBkYXlzLCBidXQgSSdkIGFsc28gbGlrZSB0byBzZWUgdGhlIGR1c3QN Cj4gc2V0dGxlIGEgYml0IGJlZm9yZSBnb2luZyBmb3J3YXJkIHdpdGggNC4wLjAgcmVsZWFzZS4g RS5nLiBBdCBsZWFzdCANCj4gd2FpdCB1bnRpbCB3ZSBkbyBhIGJsb2cgcG9zdCBmb3IgMy43LjAg KGFyZSB5b3UgZG9pbmcgdGhpcz8pLCBhbmQgaGF2ZSANCj4gZG9uZSBhIHRvb2xzIHJlbGVhc2Ug dGhhdCB1cGRhdGVzIHRoZSBwaW5uZWQgdmVyc2lvbiB0byAzLjcuMA0KPg0KPg0KSWYgc29tZW9u ZSBlbHNlIHdhbnRzIHRvIGRvIHRoZSBibG9nIHBvc3Qgb24gdGhhdCwgdGhhdCdzIGZpbmUuICBB bmQgSSBhZ3JlZSB0aGF0IHRoZXJlIHNob3VsZCBiZSBhIHRvb2xzIHJlbGVhc2Ugd2l0aCAzLjcu MCBwaW5uZWQsIGV2ZW4gdGhvdWdoDQozLjcuMCBpcyByZWFsbHkganVzdCBhIHRlY2huaWNhbGl0 eSBzbyB3ZSBjYW4gZ2V0IDQuMC4wIG91dCBJTU8uDQoNCg0KPg0KPiBPbiBXZWQsIEphbiAyOCwg MjAxNSBhdCAxMjo1MiBQTSwgSm9lIEJvd3NlciA8Ym93c2VyakBnbWFpbC5jb20+IHdyb3RlOg0K Pg0KPiA+IFJlbWluZGVyOiBmYWlsdXJlcyB3aXRoIHBsdWdpbnMgYXJlIG5vdCBibG9ja2Vycy4g IEkndmUgcnVuIGludG8gDQo+ID4gdGhhdCBjb250YWN0IGlzc3VlIG51bWVyb3VzIHRpbWVzIHdo ZW4gdGVzdGluZyB3aXRoIG15IHBlcnNvbmFsIA0KPiA+IGRldmljZS4gIEkgcmVjb21tZW5kIG1h a2luZyBzdXJlIHRoYXQgeW91ciBjb250YWN0cyBhcmUgY29tcGxldGVseSANCj4gPiBjbGVhbiBz byB0aGF0IHlvdSBkb24ndCBnZXQgdGhlc2Ugd2VpcmQgcmVzdWx0cy4NCj4gPg0KPiA+IFRoZSBm aWxlIGZhaWx1cmVzIGhhdmUgYmVlbiBoYXBwZW5pbmcgZm9yIHF1aXRlIGEgd2hpbGUsIGFuZCB0 aG9zZSANCj4gPiBhcmUNCj4gbm90DQo+ID4gYmxvY2tlcnMgZm9yIHRoZSBwbGF0Zm9ybSByZWxl YXNlIGVpdGhlci4gIERvIHRoZXNlIGZhaWx1cmVzIGhhcHBlbiANCj4gPiBvbiBhIHBsYXRmb3Jt IG90aGVyIHRoYW4gSUNTPw0KPiA+DQo+ID4gT24gV2VkLCBKYW4gMjgsIDIwMTUsIDk6MDYgQU0g TXVyYXQgU3V0dW5jIDxtdXJhdHN1QG1pY3Jvc29mdC5jb20+DQo+IHdyb3RlOg0KPiA+DQo+ID4g PiBJ4oCZdmUgcmFuIHRoZSBtb2JpbGUtc3BlYyB0ZXN0cyBvbiBhbmRyb2lkIDQuMC4zIHdpdGgg NC4wLnggYW5kIA0KPiA+ID4gdGhlcmUNCj4gYXJlDQo+ID4gPiBzb21lIGZhaWx1cmVzLiBJ4oCZ dmUgc2VhcmNoZWQgdGhlIGppcmEgZm9yIGlzc3VlcyBidXQgd2FzbuKAmXQgYWJsZSANCj4gPiA+ IHRvDQo+IGZpbmQNCj4gPiA+IGFueS4gSGFzIGFueW9uZSBlbHNlIHJhbiBpbnRvIHRoZXNlIGlz c3VlcyBiZWZvcmU/DQo+ID4gPg0KPiA+ID4gb3JnLmFwYWNoZS5jb3Jkb3ZhLmNvbnRhY3RzLnRl c3RzLnRlc3RzID4+IENvbnRhY3RzDQo+IChuYXZpZ2F0b3IuY29udGFjdHMpDQo+ID4gPiBSb3Vu ZCB0cmlwIENvbnRhY3QgdGVzdHMgKGNyZWF0aW5nICsgc2F2ZSArIGRlbGV0ZSArIGZpbmQpLg0K PiA+ID4gQ29udGFjdHMuc3BlYy4yNCBDcmVhdGluZywgc2F2aW5nLCBmaW5kaW5nIGEgY29udGFj dCBzaG91bGQgd29yaywgDQo+ID4gPiBhZnRlciB3aGljaCB3ZSBzaG91bGQgbm90IGJlIGFibGUg dG8gZmluZCBpdCwgYW5kIHdlIHNob3VsZCBub3QgYmUgDQo+ID4gPiBhYmxlIHRvDQo+ID4gZGVs ZXRlDQo+ID4gPiBpdCBhZ2Fpbi4NCj4gPiA+IOKAoiAgICAgICBFeHBlY3RlZCAyIHRvIGJlIDEN Cj4gPiA+IOKAoiAgICAgICBFeHBlY3RlZCAxIHRvIGJlIDANCj4gPiA+ICAgICAgICAgIGl0KCJj b250YWN0cy5zcGVjLjI0IENyZWF0aW5nLCBzYXZpbmcsIGZpbmRpbmcgYSBjb250YWN0DQo+IHNo b3VsZA0KPiA+ID4gd29yaywgcmVtb3ZpbmcgaXQgc2hvdWxkIHdvcmssIGFmdGVyIHdoaWNoIHdl IHNob3VsZCBub3QgYmUgYWJsZSANCj4gPiA+IHRvDQo+IGZpbmQNCj4gPiA+IGl0LCBhbmQgd2Ug c2hvdWxkIG5vdCBiZSBhYmxlIHRvIGRlbGV0ZSBpdCBhZ2Fpbi4iLCBmdW5jdGlvbiAoZG9uZSkg ew0KPiA+ID4gICAgICAgICAgICAgICAvLyBTYXZlIG1ldGhvZCBpcyBub3Qgc3VwcG9ydGVkIG9u IFdpbmRvd3MgcGxhdGZvcm0NCj4gPiA+ICAgICAgICAgICAgICAgaWYgKGlzV2luZG93cykgew0K PiA+ID4gICAgICAgICAgICAgICAgICAgcGVuZGluZygpOw0KPiA+ID4gICAgICAgICAgICAgICAg ICAgcmV0dXJuOw0KPiA+ID4gICAgICAgICAgICAgICB9DQo+ID4gPiAgICAgICAgICAgICAgIGlm IChpc1dpbmRvd3NQaG9uZTgpIHsNCj4gPiA+ICAgICAgICAgICAgICAgICAgIGRvbmUoKTsNCj4g PiA+ICAgICAgICAgICAgICAgICAgIHJldHVybjsNCj4gPiA+ICAgICAgICAgICAgICAgfQ0KPiA+ ID4gICAgICAgICAgICAgICBnQ29udGFjdE9iaiA9IG5ldyBDb250YWN0KCk7DQo+ID4gPiAgICAg ICAgICAgICAgIGdDb250YWN0T2JqLm5hbWUgPSBuZXcgQ29udGFjdE5hbWUoKTsNCj4gPiA+ICAg ICAgICAgICAgICAgZ0NvbnRhY3RPYmoubmFtZS5mYW1pbHlOYW1lID0gIkRlbGV0ZU1lIjsNCj4g PiA+ICAgICAgICAgICAgICAgZ0NvbnRhY3RPYmouc2F2ZShmdW5jdGlvbihjX29iaikgew0KPiA+ ID4gICAgICAgICAgICAgICAgICAgdmFyIGZpbmRXaW4gPSBmdW5jdGlvbihjcykgew0KPiA+ID4g ICAgICAgICAgICAgICAgICAgICAgIGV4cGVjdChjcy5sZW5ndGgpLnRvQmUoMSk7DQo+ID4gPiAg ICAgICAgICAgICAgICAgICAgICAgLy8gdXBkYXRlIHRvIGhhdmUgcHJvcGVyIHNhdmVkIGlkDQo+ ID4gPiAgICAgICAgICAgICAgICAgICAgICAgZ0NvbnRhY3RPYmogPSBjc1swXTsNCj4gPiA+ICAg ICAgICAgICAgICAgICAgICAgICBnQ29udGFjdE9iai5yZW1vdmUoZnVuY3Rpb24oKSB7DQo+ID4g PiAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBmaW5kV2luQWdhaW4gPSBmdW5jdGlvbihz ZWFzKSB7DQo+ID4gPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBleHBlY3Qoc2Vhcy5s ZW5ndGgpLnRvQmUoMCk7DQo+ID4gPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnQ29u dGFjdE9iai5yZW1vdmUoZnVuY3Rpb24oKSB7DQo+ID4gPiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgdGhyb3coInN1Y2Nlc3MgY2FsbGJhY2sgY2FsbGVkIA0KPiA+ID4gYWZ0ZXIg bm9uLWV4aXN0ZW50IENvbnRhY3Qgb2JqZWN0IGNhbGxlZCByZW1vdmUoKS4gVGVzdCBmYWlsZWQu Iik7DQo+ID4gPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCBmdW5jdGlvbihlKSB7 DQo+ID4gPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXhwZWN0KGUuY29kZSku dG9CZShDb250YWN0RXJyIA0KPiA+ID4gb3IuVU5LTk9XTl9FUlJPUik7DQo+ID4gPiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgZG9uZSgpOw0KPiA+ID4gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgfSk7DQo+ID4gPiAgICAgICAgICAgICAgICAgICAgICAgICAgIH07DQo+ ID4gPiAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBmaW5kRmFpbEFnYWluID0gZnVuY3Rp b24oZSkgew0KPiA+ID4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3coImZpbmQg ZXJyb3IgY2FsbGJhY2sgaW52b2tlZCANCj4gPiA+IGFmdGVyIGRlbGV0ZSwgdGVzdCBmYWlsZWQu Iik7DQo+ID4gPiAgICAgICAgICAgICAgICAgICAgICAgICAgIH07DQo+ID4gPiAgICAgICAgICAg ICAgICAgICAgICAgICAgIHZhciBvYmogPSBuZXcgQ29udGFjdEZpbmRPcHRpb25zKCk7DQo+ID4g PiAgICAgICAgICAgICAgICAgICAgICAgICAgIG9iai5maWx0ZXI9IkRlbGV0ZU1lIjsNCj4gPiA+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JqLm11bHRpcGxlPXRydWU7DQo+ID4gPiAgICAg ICAgICAgICAgICAgICAgICAgICAgIG5hdmlnYXRvci5jb250YWN0cy5maW5kKFsiZGlzcGxheU5h bWUiLA0KPiAibmFtZSIsDQo+ID4gPiAicGhvbmVOdW1iZXJzIiwgImVtYWlscyJdLCBmaW5kV2lu QWdhaW4sIGZpbmRGYWlsQWdhaW4sIG9iaik7DQo+ID4gPiAgICAgICAgICAgICAgICAgICAgICAg fSwgZnVuY3Rpb24oZSkgew0KPiA+ID4gICAgICAgICAgICAgICAgICAgICAgICAgICB0aHJvdygi TmV3bHkgY3JlYXRlZCBjb250YWN0J3MgcmVtb3ZlDQo+IGZ1bmN0aW9uDQo+ID4gPiBpbnZva2Vk IGVycm9yIGNhbGxiYWNrLiBUZXN0IGZhaWxlZC4iKTsNCj4gPiA+ICAgICAgICAgICAgICAgICAg ICAgICB9KTsNCj4gPiA+ICAgICAgICAgICAgICAgICAgIH07DQo+ID4gPiAgICAgICAgICAgICAg ICAgICB2YXIgZmluZEZhaWwgPSBmYWlsOw0KPiA+ID4gICAgICAgICAgICAgICAgICAgdmFyIG9i aiA9IG5ldyBDb250YWN0RmluZE9wdGlvbnMoKTsNCj4gPiA+ICAgICAgICAgICAgICAgICAgIG9i ai5maWx0ZXI9IkRlbGV0ZU1lIjsNCj4gPiA+ICAgICAgICAgICAgICAgICAgIG9iai5tdWx0aXBs ZT10cnVlOw0KPiA+ID4gICAgICAgICAgICAgICAgICAgbmF2aWdhdG9yLmNvbnRhY3RzLmZpbmQo WyJkaXNwbGF5TmFtZSIsICJuYW1lIiwgDQo+ID4gPiAicGhvbmVOdW1iZXJzIiwgImVtYWlscyJd LCBmaW5kV2luLCBmaW5kRmFpbCwgb2JqKTsNCj4gPiA+ICAgICAgICAgICAgICAgfSwgZmFpbCk7 DQo+ID4gPiAgICAgICAgICAgfSk7DQo+ID4gPg0KPiA+ID4gb3JnLmFwYWNoZS5jb3Jkb3ZhLmZp bGUudGVzdHMudGVzdCA+PiBmaWxlIGFwaSBmaWxlcmVhZGVyIA0KPiA+ID4gZmlsZS5zcGVjLjgx IChjb3VsZG7igJl0IGZpbmQgYSBKSVJBIGlzc3VlKQ0KPiA+ID4g4oCiICAgICAgIEV4cGVjdGVk IGBgIHRvIGJlIG51bGwNCj4gPiA+ICAgICAgICAgZGVzY3JpYmUoJ0ZpbGVSZWFkZXInLCBmdW5j dGlvbiAoKSB7DQo+ID4gPiAgICAgICAgICAgICBpdCgiZmlsZS5zcGVjLjgxIHNob3VsZCBoYXZl IGNvcnJlY3QgbWV0aG9kcyIsIA0KPiA+ID4gZnVuY3Rpb24gKCkNCj4gew0KPiA+ID4gICAgICAg ICAgICAgICAgIHZhciByZWFkZXIgPSBuZXcgRmlsZVJlYWRlcigpOw0KPiA+ID4gICAgICAgICAg ICAgICAgIGV4cGVjdChyZWFkZXIpLnRvQmVEZWZpbmVkKCk7DQo+ID4gPiAgICAgICAgICAgICAg ICAgZXhwZWN0KHR5cGVvZg0KPiA+IHJlYWRlci5yZWFkQXNCaW5hcnlTdHJpbmcpLnRvQmUoJ2Z1 bmN0aW9uJyk7DQo+ID4gPiAgICAgICAgICAgICAgICAgZXhwZWN0KHR5cGVvZiByZWFkZXIucmVh ZEFzRGF0YVVSTCkudG9CZSgnZnVuY3Rpb24nKTsNCj4gPiA+ICAgICAgICAgICAgICAgICBleHBl Y3QodHlwZW9mIHJlYWRlci5yZWFkQXNUZXh0KS50b0JlKCdmdW5jdGlvbicpOw0KPiA+ID4gICAg ICAgICAgICAgICAgIGV4cGVjdCh0eXBlb2YgcmVhZGVyLnJlYWRBc0FycmF5QnVmZmVyKS4NCj4g dG9CZSgnZnVuY3Rpb24nKTsNCj4gPiA+ICAgICAgICAgICAgICAgICBleHBlY3QodHlwZW9mIHJl YWRlci5hYm9ydCkudG9CZSgnZnVuY3Rpb24nKTsNCj4gPiA+ICAgICAgICAgICAgICAgICAvLy8v Ly8vLy8vLy8gdGVzdCBiZWxvdyBmYWlscyAvLy8vLy8vLy8vLy8NCj4gPiA+ICAgICAgICAgICAg ICAgICAvLy8vLy8vLy8vLy8gICAnJyAhPT0gbnVsbCAgICAvLy8vLy8vLy8vLy8NCj4gPiA+ICAg ICAgICAgICAgICAgICBleHBlY3QocmVhZGVyLnJlc3VsdCkudG9CZShudWxsKTsNCj4gPiA+ICAg ICAgICAgICAgIH0pOw0KPiA+ID4gICAgICAgICB9KTsNCj4gPiA+DQo+ID4gPiBvcmcuYXBhY2hl LmNvcmRvdmEuZmlsZS50ZXN0cy50ZXN0cyA+PiBmaWxlIGFwaSBwYXJlbnQgcmVmZXJlbmNlcw0K PiA+ID4gZmlsZS5zcGVjLjExMSAoY291bGRu4oCZdCBmaW5kIGEgZmlyZSBpc3N1ZSk6DQo+ID4g PiDigKIgICAgICAgcm9vdC5nZXRGaWxlIHN1Y2NlZWRzLCBpdCBpcyBleHBlY3RlZCB0byBmYWls Lg0KPiA+ID4gdmFyIGZpbGVOYW1lID0gInRyYXZlcnNlLmZpbGUudXJpIjsNCj4gPiA+ICAgICAg ICAgICAgICAgICAvLyBjcmVhdGUgYSBuZXcgZmlsZSBlbnRyeQ0KPiA+ID4gICAgICAgICAgICAg ICAgIGNyZWF0ZUZpbGUoZmlsZU5hbWUsIGZ1bmN0aW9uIChlbnRyeSkgew0KPiA+ID4gICAgICAg ICAgICAgICAgICAgICAvLyBsb29rdXAgZmlsZSBzeXN0ZW0gZW50cnkNCj4gPiA+ICAgICAgICAg ICAgICAgICAgICAgcm9vdC5nZXRGaWxlKCcuLi8nICsgZmlsZU5hbWUsIHsNCj4gPiA+ICAgICAg ICAgICAgICAgICAgICAgICAgIGNyZWF0ZSA6IGZhbHNlDQo+ID4gPiAgICAgICAgICAgICAgICAg ICAgIH0sIHN1Y2NlZWQuYmluZChudWxsLCBkb25lLCANCj4gPiA+ICJyb290LmdldEZpbGUoJy4u LyIrZmlsZU5hbWUrICInKS0gVW5leHBlY3RlZCBzdWNjZXNzIGNhbGxiYWNrLCBpdA0KPiBzaG91 bGQNCj4gPiA+IG5vdCB0cmF2ZXJzZSBhYnZvZSB0aGUgcm9vdCBkaXJlY3RvcnkiKSwNCj4gPiA+ ICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24gKGVycm9yKSB7IC8vLi4uLi4NCj4gPiA+DQo+ ID4gPiBvcmcuYXBhY2hlLmNvcmRvdmEuZmlsZS10cmFuc2Zlci50ZXN0cy50ZXN0cyA+PiBGaWxl VHJhbnNmZXIgDQo+ID4gPiBtZXRob2RzIGRvd25sb2FkIGZpbGV0cmFuc2Zlci5zcGVjLjYgc2hv dWxkIGdldCA0MDEgc3RhdHVzIG9uIGh0dHAgDQo+ID4gPiBiYXNpYyBhdXRoIGZhaWx1cmUNCj4g PiA+IOKAoiAgICAgICBFeHBlY3RlZCBudWxsIHRvIGJlIDQwMQ0KPiA+ID4gICAgICAgICAgICAg ICAgIGl0KCdmaWxldHJhbnNmZXIuc3BlYy42IHNob3VsZCBnZXQgNDAxIHN0YXR1cyBvbiANCj4g PiA+IGh0dHAgYmFzaWMgYXV0aCBmYWlsdXJlJywgZnVuY3Rpb24gKGRvbmUpIHsNCj4gPiA+DQo+ ID4gPiAgICAgICAgICAgICAgICAgICAgIC8vIE5PVEU6DQo+ID4gPiAgICAgICAgICAgICAgICAg ICAgIC8vICAgICAgdXNpbmcgc2VydmVyIHdpdGhvdXQgY3JlZGVudGlhbHMNCj4gPiA+ICAgICAg ICAgICAgICAgICAgICAgdmFyIGZpbGVVUkwgPSBTRVJWRVIgKyAnL2Rvd25sb2FkX2Jhc2ljX2F1 dGgnOw0KPiA+ID4NCj4gPiA+ICAgICAgICAgICAgICAgICAgICAgdmFyIGRvd25sb2FkRmFpbCA9 IGZ1bmN0aW9uIChlcnJvcikgew0KPiA+ID4gICAgICAgICAgICAgICAgICAgICAgICAgZXhwZWN0 KGVycm9yLmh0dHBfc3RhdHVzKS50b0JlKDQwMSk7DQo+ID4gPiAgICAgICAgICAgICAgICAgICAg ICAgICBleHBlY3QoZXJyb3IuaHR0cF9zdGF0dXMpLm5vdC50b0JlKDQwNCwNCj4gIkVuc3VyZSAi DQo+ID4gPiArIGZpbGVVUkwgKyAiIGlzIGluIHRoZSB3aGl0ZSBsaXN0Iik7DQo+ID4gPiAgICAg ICAgICAgICAgICAgICAgICAgICBkb25lKCk7DQo+ID4gPiAgICAgICAgICAgICAgICAgICAgIH07 DQo+ID4gPg0KPiA+ID4gICAgICAgICAgICAgICAgICAgICB0cmFuc2Zlci5kb3dubG9hZChmaWxl VVJMLCBsb2NhbEZpbGVQYXRoLCANCj4gPiA+IHVuZXhwZWN0ZWRDYWxsYmFja3MuaHR0cFdpbiwg ZG93bmxvYWRGYWlsKTsNCj4gPiA+ICAgICAgICAgICAgICAgICB9KTsNCj4gPiA+DQo+ID4gPiBv cmcuYXBhY2hlLmNvcmRvdmEuZ2VvbG9jYXRpb24udGVzdHMudGVzdHMgPj4gZ2V0Q3VycmVudFBv c2l0aW9uDQo+IG1ldGhvZA0KPiA+ID4gc3VjY2VzcyBjYWxsYmFjayBnZW9sb2NhdGlvbi5zcGVj LjYgc2hvdWxkIGJlIGNhbGxlZCB3aXRoIGEgDQo+ID4gPiBwb3NpdGlvbg0KPiA+IG9iamVjdA0K PiA+ID4g4oCiICAgICAgIEV4cGVjdGVkIHRydWUgdG8gYmUgZmFsc2UNCj4gPiA+ICAgICAgICAg ICAgIGl0KCJnZW9sb2NhdGlvbi5zcGVjLjYgc2hvdWxkIGJlIGNhbGxlZCB3aXRoIGEgDQo+ID4g PiBQb3NpdGlvbiBvYmplY3QiLCBmdW5jdGlvbiAoZG9uZSkgew0KPiA+ID4gICAgICAgICAgICAg ICAgIC8vIHRoaXMgdGVzdCBhc2tzIGZvciB1c2luZyBnZW9sb2NhdGlvbiBhbmQgDQo+ID4gPiBp bnRlcnJ1cHRzIGF1dG90ZXN0cyBydW5uaW5nLg0KPiA+ID4gICAgICAgICAgICAgICAgIC8vIFRo YXQncyB3aHkgd2UgaGF2ZSB0byBwZW5kaW5nIHRoYXQgZm9yIFdpbmRvd3MgDQo+ID4gPiBTdG9y ZQ0KPiA+ID4gOC4wLzguMSBhcHBzDQo+ID4gPiAgICAgICAgICAgICAgICAgaWYgKGlzV2luZG93 c1N0b3JlKSB7DQo+ID4gPiAgICAgICAgICAgICAgICAgICAgIHBlbmRpbmcoKTsNCj4gPiA+ICAg ICAgICAgICAgICAgICB9DQo+ID4gPiAgICAgICAgICAgICAgICAgbmF2aWdhdG9yLmdlb2xvY2F0 aW9uLmdldEN1cnJlbnRQb3NpdGlvbihmdW5jdGlvbiANCj4gPiA+IChwKQ0KPiB7DQo+ID4gPiAg ICAgICAgICAgICAgICAgICAgIGV4cGVjdChwLmNvb3JkcykudG9CZURlZmluZWQoKTsNCj4gPiA+ ICAgICAgICAgICAgICAgICAgICAgZXhwZWN0KHAudGltZXN0YW1wKS50b0JlRGVmaW5lZCgpOw0K PiA+ID4gICAgICAgICAgICAgICAgICAgICBkb25lKCk7DQo+ID4gPiAgICAgICAgICAgICAgICAg fSwNCj4gPiA+ICAgICAgICAgICAgICAgICBmYWlsLmJpbmQobnVsbCwgZG9uZSksDQo+ID4gPiAg ICAgICAgICAgICAgICAgew0KPiA+ID4gICAgICAgICAgICAgICAgICAgICBtYXhpbXVtQWdlOiAz MDAwMDAgLy8gNSBtaW51dGVzIG1heGltdW0gYWdlIG9mDQo+IGNhY2hlZA0KPiA+ID4gcG9zaXRp b24NCj4gPiA+ICAgICAgICAgICAgICAgICB9KTsNCj4gPiA+ICAgICAgICAgICAgIH0pOw0KPiA+ ID4NCj4gPiA+IG9yZy5hcGFjaGUuY29yZG92YS5nZW9sb2NhdGlvbi50ZXN0cy50ZXN0cyA+PiB3 YXRjaFBvc2l0aW9uIG1ldGhvZCANCj4gPiA+IHN1Y2Nlc3MgY2FsbGJhY2sgZ2VvbG9jYXRpb24u c3BlYy44IHNob3VsZCBiZSBjYWxsZWQgd2l0aCBhICANCj4gPiA+IHBvc2l0aW9uDQo+ID4gb2Jq ZWN0DQo+ID4gPiDigKIgICAgICAgRXhwZWN0ZWQgdHJ1ZSB0byBiZSBmYWxzZQ0KPiA+ID4gICAg ICAgICAgICAgaXQoImdlb2xvY2F0aW9uLnNwZWMuOCBzaG91bGQgYmUgY2FsbGVkIHdpdGggYSAN Cj4gPiA+IFBvc2l0aW9uIG9iamVjdCIsIGZ1bmN0aW9uIChkb25lKSB7DQo+ID4gPiAgICAgICAg ICAgICAgICAgLy8gdGhpcyB0ZXN0IGFza3MgZm9yIHVzaW5nIGdlb2xvY2F0aW9uIGFuZCANCj4g PiA+IGludGVycnVwdHMgYXV0b3Rlc3RzIHJ1bm5pbmcuDQo+ID4gPiAgICAgICAgICAgICAgICAg Ly8gVGhhdCdzIHdoeSB3ZSBoYXZlIHRvIHBlbmRpbmcgdGhhdCBmb3IgV2luZG93cyANCj4gPiA+ IFN0b3JlDQo+ID4gPiA4LjAvOC4xIGFwcHMNCj4gPiA+ICAgICAgICAgICAgICAgICBpZiAoaXNX aW5kb3dzU3RvcmUpIHsNCj4gPiA+ICAgICAgICAgICAgICAgICAgICAgcGVuZGluZygpOw0KPiA+ ID4gICAgICAgICAgICAgICAgIH0NCj4gPiA+ICAgICAgICAgICAgICAgICBzdWNjZXNzV2F0Y2gg PSBuYXZpZ2F0b3IuZ2VvbG9jYXRpb24ud2F0Y2hQb3NpdGlvbigNCj4gPiA+ICAgICAgICAgICAg ICAgICAgICAgZnVuY3Rpb24gKHApIHsNCj4gPiA+ICAgICAgICAgICAgICAgICAgICAgICAgIGV4 cGVjdChwLmNvb3JkcykudG9CZURlZmluZWQoKTsNCj4gPiA+ICAgICAgICAgICAgICAgICAgICAg ICAgIGV4cGVjdChwLnRpbWVzdGFtcCkudG9CZURlZmluZWQoKTsNCj4gPiA+ICAgICAgICAgICAg ICAgICAgICAgICAgIGRvbmUoKTsNCj4gPiA+ICAgICAgICAgICAgICAgICAgICAgfSwNCj4gPiA+ ICAgICAgICAgICAgICAgICAgICAgZmFpbC5iaW5kKG51bGwsIGRvbmUpLA0KPiA+ID4gICAgICAg ICAgICAgICAgICAgICB7DQo+ID4gPiAgICAgICAgICAgICAgICAgICAgICAgICBtYXhpbXVtQWdl OiAoNSAqIDYwICogMTAwMCkgLy8gNSBtaW51dGVzDQo+IG1heGltdW0NCj4gPiA+IGFnZSBvZiBj YWNoZWQgcG9zaXRpb24NCj4gPiA+ICAgICAgICAgICAgICAgICAgICAgfSk7DQo+ID4gPiAgICAg ICAgICAgICB9KTsNCj4gPiA+DQo+ID4gPg0KPiA+ID4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0t LS0NCj4gPiA+IEZyb206IEpvc2ggQmF2YXJpIFttYWlsdG86amJhdmFyaUBnbWFpbC5jb21dDQo+ ID4gPiBTZW50OiBXZWRuZXNkYXksIEphbnVhcnkgMjgsIDIwMTUgODozMCBBTQ0KPiA+ID4gVG86 IGRldkBjb3Jkb3ZhLmFwYWNoZS5vcmcNCj4gPiA+IFN1YmplY3Q6IFJlOiBbRElTQ1VTU10gQ29y ZG92YS1BbmRyb2lkIDQuMC4wIFJlbGVhc2UNCj4gPiA+DQo+ID4gPiBKb2UgYW5kIHRlYW0sDQo+ ID4gPg0KPiA+ID4gSSB3b3JrIGZvciBJb25pYyBhbmQgSSd2ZSBoYWQgc29tZSBpbnZvbHZlbWVu dCB3aXRoIHRoZSBDb3Jkb3ZhIA0KPiA+ID4gcHJvamVjdCBzaW5jZSBsYXN0IHllYXIuIEF0IElv bmljLCB3ZSd2ZSByZWxlYXNlZCBhIENyb3Nzd2FsayANCj4gPiA+IGJ1aWxkIHVzaW5nDQo+IENv cmRvdmENCj4gPiA+IEFuZHJvaWQgNC4wIHNvIHdlIGNhbiB1c2UgdGhlIGNvcmRvdmEgY3Jvc3N3 YWxrIGVuZ2luZSBmb3IgdGhlIA0KPiA+ID4gaW9uaWMgcGxhdGZvcm0uDQo+ID4gPg0KPiA+ID4g SSd2ZSBiZWVuIHdvcmtpbmcgd2l0aCBJYW4gYW5kIEFuZHJldyBvbiB0aGlzIHRvIGdhdGhlciBt b3JlDQo+ID4gdW5kZXJzdGFuZGluZw0KPiA+ID4gYW5kIHRvIGdldCBzb21lIGhlbHAgYWxvbmcg dGhlIHdheS4gSSBtdXN0IHNheSwgZXhjZWxsZW50IHdvcmssDQo+IGV2ZXJ5b25lLg0KPiA+ID4N Cj4gPiA+IEFzIHN1Y2gsIHdlJ3ZlIGFjY3VtdWxhdGVkIHF1aXRlIGEgYml0IG9mIHVzZXJzIHdo byBhcmUgYWN0aXZlbHkgDQo+ID4gPiB1c2luZyBDb3Jkb3ZhIEFuZHJvaWQgNC4wLiBDdXJyZW50 bHksIHdlJ3ZlIGhhZCBvdmVyIDEwayB0ZXN0IA0KPiA+ID4gdHJpYWxzIHdpdGggaXQsDQo+ID4g YW5kDQo+ID4gPiBJJ20gaGFwcHkgdG8gc2F5LCBtb3N0bHkgaXQncyBiZWVuIHNtb290aC4NCj4g PiA+DQo+ID4gPiBXaGF0IEkndmUgZG9uZSBpcyBtYWRlIGEgZm9yayB0byBhZGp1c3QgYSBmZXcg c21hbGwgdGhpbmdzLCBidXQgDQo+ID4gPiBmb3IgdGhlIG1vc3QgcGFydCwgd2UncmUgdXNpbmcg NC4wLg0KPiA+ID4NCj4gPiA+IEknZCBsb3ZlIHRvIHByb3ZpZGUgYW55IG1vcmUgZmVlZGJhY2sg dGhhdCB5b3UnZCB3aXNoLg0KPiA+ID4NCj4gPiA+IFRoYW5rcyBhZ2FpbiBmb3IgdGhlIGF3ZXNv bWUgd29yay4NCj4gPiA+DQo+ID4gPiBPbiBXZWQsIEphbiAyOCwgMjAxNSBhdCA5OjIxIEFNLCBK b2UgQm93c2VyIDxib3dzZXJqQGdtYWlsLmNvbT4gd3JvdGU6DQo+ID4gPg0KPiA+ID4gPiBIZXkN Cj4gPiA+ID4NCj4gPiA+ID4gU28sIGl0J3MgZmluYWxseSBoZXJlLiAgSSB3YW50IHRvIHNlZSB1 cyB3b3JrIG1vcmUgb24gUGx1Z2dhYmxlIA0KPiA+ID4gPiBXZWJ2aWV3cywgYW5kIGFkZGluZyB0 aGUgQVBJLCBidXQgSSB0aGluayBpdCdzIHRpbWUgdGhhdCB3ZSANCj4gPiA+ID4gcmVsZWFzZWQg d2hhdCB3ZSd2ZSBiZWVuIHdvcmtpbmcgb24gZm9yIGFsbW9zdCBhIHllYXIgdG8gb3VyIA0KPiA+ ID4gPiB1c2Vycy4gIEkga25vdyB0aGF0IHRoZSBBUEkgaXNuJ3QgZXhhY3RseSB0aGUgbW9zdCBh d2Vzb21lIHdlIA0KPiA+ID4gPiBjYW4gbWFrZSBpdCwgYnV0IGl0IHdvcmtzLCBhbmQgSSdkIHJh dGhlciBoYXZlIGl0IG91dCBhdCA4MCUgDQo+ID4gPiA+IHRoYW4gaXQgc2l0dGluZyBmb3IgYSBm ZXcNCj4gbW9yZQ0KPiA+ID4gbW9udGhzIGluIGxpbWJvLg0KPiA+ID4gPg0KPiA+ID4gPiBBcmUg dGhlcmUgYW55IG1ham9yIGJsb2NraW5nIHRhc2tzIHRoYXQgd291bGQgcHJldmVudCBhIHZvdGUg DQo+ID4gPiA+IHRocmVhZCB0aGF0IGFueW9uZSBrbm93cyBhYm91dCwgb3Igc2hvdWxkIHdlIHN0 YXJ0IGZpcmluZyB1cCBhIA0KPiA+ID4gPiByZWxlYXNlPyAgSSBkb24ndCB0aGluayB3ZSdyZSBn b2luZyB0byBtYWtlIG91ciBKYW51YXJ5IGRhdGUsIA0KPiA+ID4gPiBidXQgdGhlIGZpcnN0IHdl ZWsgb2YgRmVicnVhcnkgaXNuJ3QgdGhhdCB0ZXJyaWJsZS4NCj4gPiA+ID4NCj4gPiA+ID4gVGhv dWdodHM/DQo+ID4gPiA+DQo+ID4gPiA+IEpvZQ0KPiA+ID4gPg0KPiA+ID4NCj4gPiA+DQo+ID4g Pg0KPiA+ID4gLS0NCj4gPiA+ICJDbGVhciB0aG91Z2h0cyBwcm9kdWNlIGNsZWFyIHJlc3VsdHMu Ig0KPiA+ID4gSm9zaCBCYXZhcmkNCj4gPiA+IEFwcGxpY2F0aW9uIERldmVsb3Blcg0KPiA+ID4g UGhvbmU6IDQwNS01MDktOTQ0OA0KPiA+ID4gQ2VsbDogNDA1LTgxMi0wNDk2DQo+ID4gPiBFbWFp bDogamJhdmFyaUBnbWFpbC5jb20NCj4gPiA+DQo+ID4gPiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCj4gPiA+IC0tLSBU byB1bnN1YnNjcmliZSwgZS1tYWlsOiBkZXYtdW5zdWJzY3JpYmVAY29yZG92YS5hcGFjaGUub3Jn DQo+ID4gPiBGb3IgYWRkaXRpb25hbCBjb21tYW5kcywgZS1tYWlsOiBkZXYtaGVscEBjb3Jkb3Zh LmFwYWNoZS5vcmcNCj4gPiA+DQo+ID4NCj4NCg== DQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0NClRvIHVuc3Vic2NyaWJlLCBlLW1haWw6IGRldi11bnN1YnNj cmliZUBjb3Jkb3ZhLmFwYWNoZS5vcmcNCkZvciBhZGRpdGlvbmFsIGNvbW1hbmRzLCBlLW1h aWw6IGRldi1oZWxwQGNvcmRvdmEuYXBhY2hlLm9yZw0K