Return-Path: Delivered-To: apmail-ant-ivy-user-archive@www.apache.org Received: (qmail 12426 invoked from network); 22 Sep 2008 21:13:54 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 22 Sep 2008 21:13:54 -0000 Received: (qmail 34891 invoked by uid 500); 22 Sep 2008 21:13:50 -0000 Delivered-To: apmail-ant-ivy-user-archive@ant.apache.org Received: (qmail 34875 invoked by uid 500); 22 Sep 2008 21:13:50 -0000 Mailing-List: contact ivy-user-help@ant.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: ivy-user@ant.apache.org Delivered-To: mailing list ivy-user@ant.apache.org Received: (qmail 34864 invoked by uid 99); 22 Sep 2008 21:13:50 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 22 Sep 2008 14:13:50 -0700 X-ASF-Spam-Status: No, hits=2.6 required=10.0 tests=SPF_PASS,WHOIS_MONIKER_PRIV X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: domain of Nascif.AbousalhNeto@sas.com designates 149.173.6.153 as permitted sender) Received: from [149.173.6.153] (HELO mercav06.na.sas.com) (149.173.6.153) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 22 Sep 2008 21:12:50 +0000 Received: from merchub01.na.sas.com ([10.19.20.24]) by mercav06.na.sas.com with InterScan Message Security Suite; Mon, 22 Sep 2008 17:13:00 -0400 Received: from MERCMBX14.na.sas.com ([10.19.20.124]) by merchub01.na.sas.com ([10.19.20.24]) with mapi; Mon, 22 Sep 2008 17:13:00 -0400 From: Nascif Abousalh-Neto To: "ivy-user@ant.apache.org" Date: Mon, 22 Sep 2008 17:12:58 -0400 Subject: RE: How To Get Module Dependency List Thread-Topic: How To Get Module Dependency List Thread-Index: Ackc6TA/h72S5/GLQ0OsN4eSYlKKEAADQ6sQ Message-ID: <15412A37E8C9574393B24ADD991FAA760A298916DA@MERCMBX14.na.sas.com> References: In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: acceptlanguage: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-Virus-Checked: Checked by ClamAV on apache.org TWFyaywNCg0KSGF2ZSB5b3UgbG9va2VkIGludG8gcGFyc2luZyB0aGUgcmVzb2x2ZSByZXBvcnQg Z2VuZXJhdGVkIGJ5IEl2eT8gSWYgeW91IGp1c3QgbmVlZCB0aGUgbW9kdWxlIG5hbWVzIGluIHRo ZSBjb3JyZWN0IG9yZGVyIEkgYmVsaWV2ZSBpdCBjb250YWlucyBhbGwgdGhlIGluZm9ybWF0aW9u IHlvdSBuZWVkIC0gYWN0dWFsbHkgbW9yZSwgdGhlIHRhc2sgaXMgcmVhbGx5IGZpbmRpbmcgYSB3 YXkgdG8gZmlsdGVyIG91dCB0aGUgZXh0cmEgaW5mb3JtYXRpb24uIFlvdSBzZWUsIGluIHRoZSBn ZW5lcmFsIGNhc2UgYSBwcm9qZWN0IHdpbGwgZ2VuZXJhdGUgbm90IHJlYWxseSBhIHNpbXBsZSBs aXN0IGJ1dCBtb3JlIGxpa2UgYSBmdWxsIGdyYXBoIHdpdGggcmVkdW5kYW50IGVkZ2VzIGFuZCBz b21ldGltZXMgZXZlbiBjeWNsZXMsIGFuZCB5b3Ugd2FudCB0byB0YWtlIHRoYXQgaW50byBhY2Nv dW50IGFzIHRvIG5vdCBvdmVyYnVpbGQuDQoNCkFueXdheSwgaWYgeW91IGxvb2sgaW50byB5b3Vy IHRvcCBsZXZlbCBkaXJlY3RvcnkgZm9yIHlvdXIgY2FjaGUsIHlvdSB3aWxsIGZpbmQgdGhlIHJl c29sdmUgcmVwb3J0czoNCg0KICBjOi9Eb2N1bWVudHMgYW5kIFNldHRpbmdzL25hYWJvdS8uaXZ5 Mi9jYWNoZToNCiAgdG90YWwgdXNlZCBpbiBkaXJlY3RvcnkgNTIxIGF2YWlsYWJsZSAzNDQzNTE5 DQogIC1ydy1ydy1ydy0gICAxIG5hYWJvdSAgIHJvb3QgICAgICAgICAgMzk4MCAwOS0xMCAxMDoy OCBTQVMtc2FzLmNvcmUtY2FsbGVyLWNvbXBpbGUueG1sDQoNCkdlbmVyYWwgZm9ybWF0IGZvciB0 aG9zZSBmaWxlcyBpcyA8T1JHPi08TU9EVUxFPi08Q09ORj4ueG1sDQoNClRoZSBmaWxlIGl0c2Vs ZiBsb29rcyBsaWtlIHRoaXMgKHNvbWUgZGV0YWlscyBvbWl0dGVkKQ0KDQo8P3htbCB2ZXJzaW9u PSIxLjAiIGVuY29kaW5nPSJJU08tODg1OS0xIj8+DQo8P3htbC1zdHlsZXNoZWV0IHR5cGU9InRl eHQveHNsIiBocmVmPSJpdnktcmVwb3J0LnhzbCI/Pg0KPGl2eS1yZXBvcnQgdmVyc2lvbj0iMS4w Ij4NCiAgICAgICAgPGluZm8NCiAgICAgICAgICAgICAgICBvcmdhbmlzYXRpb249IlNBUyINCiAg ICAgICAgICAgICAgICBtb2R1bGU9InNhcy5jb3JlLWNhbGxlciINCiAgICAgICAgICAgICAgICAu Li4vPg0KICAgICAgICA8ZGVwZW5kZW5jaWVzPg0KICAgICAgICAgICAgICAgIDxtb2R1bGUgb3Jn YW5pc2F0aW9uPSJTQVMiIG5hbWU9InNhcy5jb3JlIiByZXNvbHZlcj0ic2FzLXJlcG8iPg0KICAg ICAgICAgICAgICAgICAgICAgICAgPHJldmlzaW9uIC4uLj4NCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgPGNhbGxlciBvcmdhbmlzYXRpb249IlNBUyIgbmFtZT0ic2FzLmNvcmUtY2Fs bGVyIiBjb25mPSJjb21waWxlIiByZXY9ImxhdGVzdC5pbnRlZ3JhdGlvbiIgY2FsbGVycmV2PSJ3 b3JraW5nIi8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhcnRpZmFjdHM+DQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYXJ0aWZhY3RzPg0KICAgICAgICAgICAg ICAgICAgICAgICAgPC9yZXZpc2lvbj4NCiAgICAgICAgICAgICAgICA8L21vZHVsZT4NCg0KU28g aWYgeW91IHRoaW5rIG9mIHRoaXMgYXMgYSBncmFwaCwgPG1vZHVsZT4gZGVmaW5lcyB5b3VyIG5v ZGVzIGFuZCA8Y2FsbGVyPiBkZWZpbmVzIHlvdXIgZWRnZXMuIEJ5IHRyYXZlcnNpbmcgdGhpcyBn cmFwaCBhbmQgcmVtb3ZpbmcgcmVkdW5kYW50IGVkZ2VzICh0byBiZSBwcmVjaXNlLCBieSB2aXNp dGluZyB0aGUgbm9kZXMgb2YgdGhlIG1pbmltdW0gc3Bhbm5pbmcgdHJlZSBvZiB0aGUgZGVwdGgt Zmlyc3QgdHJhdmVyc2FsIG9mIHRoZSBncmFwaCkgeW91IHdpbGwgZ2V0IHlvdXIgYnVpbGQgbGlz dC4NCg0KSFRILA0KICBOYXNjaWYNCg0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KTmFzY2lmIEFib3VzYWxoLU5ldG8N ClNvZnR3YXJlIERldmVsb3BtZW50IE1hbmFnZXINClF1ZXJ5IGFuZCBSZXBvcnRpbmcgIOKWqiBC dXNpbmVzcyBJbnRlbGxpZ2VuY2UgQ2xpZW50cw0KVGVsOiArIDEgOTE5IDUzMSAwMTIzIC0gTmFz Y2lmLkFib3VzYWxoTmV0b0BzYXMuY29tDQp3d3cuc2FzLmNvbQ0KU0FTwq4g4oCmIFRIRSBQT1dF UiBUTyBLTk9Xwq4NCg0KDQotLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KRnJvbTogTWFyayBN ZWx2aW4gW21haWx0bzptYXJrLm1lbHZpbkBnbWFpbC5jb21dDQpTZW50OiBNb25kYXksIFNlcHRl bWJlciAyMiwgMjAwOCAzOjI2IFBNDQpUbzogaXZ5LXVzZXJAYW50LmFwYWNoZS5vcmcNClN1Ympl Y3Q6IFJlOiBIb3cgVG8gR2V0IE1vZHVsZSBEZXBlbmRlbmN5IExpc3QNCg0KSGkgR2lsbGVzLA0K DQpJIGhhdmUgcGxheWVkIG1vcmUgd2l0aCBjYWNoZXBhdGggKEkgd2FzIHBsYXlpbmcgd2l0aCB0 aGlzIGFzIHdlbGwgYXMNCmNhY2hlZmlsZXNldCBvcmlnaW5hbGx5KSwgYW5kIHRyaWdnZXJzIGFu ZCBJIHNpbXBseSBjYW5ub3Qgc2VlIGhvdyB0bw0KZ2V0IGFuIG9yZGVyZWQgbGlzdCBvZiBkZXBl bmRlbmNpZXMsIHNpbXBseSByZWx5aW5nIG9uIHRoZSBjYWNoZS4gIEkNCmRvbid0IHVuZGVyc3Rh bmQgd2h5IHRoaXMgaXMgc28gZGlmZmljdWx0IGZvciBhIGRlcGVuZGVuY3kgbWFuYWdlbWVudA0K dG9vbCBhcyBwb3dlcmZ1bCBhcyBJdnkuICBEb2Vzbid0IGFueW9uZSBlbHNlIGRvIHRoaXM/ICBB bGwgSSBhbQ0KdHJ5aW5nIHRvIGRvIGlzIGZpZ3VyZSBvdXQgYSBidWlsZCBvcmRlciBmb3IgYW55 IGdpdmVuIHByb2plY3QuICBCdXQgSQ0KZG9uJ3QgaGF2ZSB0aGUgbHV4dXJ5IG9mIGhhdmluZyBh bGwgb2YgdGhlIHNvdXJjZSBjb2RlIGNoZWNrZWQgb3V0IGluDQpvcmRlcmVkIHN1YmZvbGRlcnMg LSBJIG9ubHkgaGF2ZSB0aGUgc291cmNlIGFuZCB0aGUgSXZ5IGZpbGUgZm9yIHRoZQ0KcHJvamVj dCBJIGFtIHJlc29sdmluZy4gIEFsbCBJIHdhbnQgdG8gZG8gaXMgcmVzb2x2ZSBhIG1vZHVsZSwg YW5kDQp0cmFuc2l0aXZlbHkgZ2V0IGFuIG9yZGVyZWQgbGlzdCBvZiBwcm9qZWN0IG5hbWVzIHNv IEkgY2FuIHRyaWdnZXINCmJ1aWxkcyBvbiBhIENJIHNlcnZlciBpbiB0aGUgY29ycmVjdCBvcmRl ci4gIFNvLCBhcyBJIHNhaWQgYmVmb3JlIC0gaWYNCkkgaGF2ZSBhIHByb2plY3QgJ0EnLCB0aGF0 IGRlY2xhcmVzIGluIGl0cyBJdnkgZmlsZSB0aGF0IGl0IGRlcGVuZHMgb24NCnByb2plY3QgJ0In LCBhbmQgJ0InIHdhcyBwdWJsaXNoZWQgcHJldmlvdXNseSB3aXRoIGFuIEl2eSBmaWxlIHRoYXQN CnNheXMgaXQgZGVwZW5kcyBvbiBwcm9qZWN0ICdDJyAtIHNvIG15IGRlcGVuZGVuY3kgZ3JhcGgg bG9va3MgbGlrZQ0KdGhpczoNCg0KICstLS0rDQogfCBBIHwNCiArLS0tKw0KICAgfA0KICstLS0r DQogfCBCIHwNCiArLS0tKw0KICAgfA0KICstLS0rDQogfCBDIHwNCiArLS0tKw0KDQpBbGwgSSB3 YW50IHRvIGRvIGlzIHBlcmZvcm0gYSByZXNvbHZlIG9uIHByb2plY3QgJ0EnLCBhbmQgc29tZWhv dw0KY29uc3RydWN0IGEgbGlzdCBjb250YWluaW5nIFsnQycsICdCJywgJ0EnXS4gIElzIHRoaXMg anVzdCB0b28gbXVjaCB0bw0KYXNrLCBvciBhbSBJIHN0aWxsIG1pc3Npbmcgc29tZXRoaW5nPz8g IEkgY2FuIGdldCBiYWNrIGEgbGlzdCBvZg0KcHVibGlzaGVkIGphcnMgdG8gZmVlZCB0byBpdnk6 YnVpbGRsaXN0IGFzIGEgZmlsZXNldCByZWZlcmVuY2UgLSBidXQgSQ0KaGF2ZSBubyBpZGVhIGhv dyB0byBtYXAgdGhvc2UgdG8gSXZ5IGZpbGVzIGluIHRoZSBjYWNoZSBiZWNhdXNlIHRoZQ0KSXZ5 IGZpbGVzIGFyZSBzdG9yZWQgaW4gdGhlIGNhY2hlIHdpdGggdmVyc2lvbiBudW1iZXJzIGVuY29k ZWQgaW4NCnRoZWlyIGZpbGVuYW1lIGFuZCBJIGNhbm5vdCBzcGVjaWZ5IGEgcGF0dGVybiB0byBp dnk6YnVpbGRsaXN0J3MNCml2eWZpbGVwYXRoIGF0dHJpYnV0ZS4gIEl0IHdvdWxkIHdvcmsgaWYg SSBjb3VsZCBzcGVjaWZ5IGFuZA0KaXZ5ZmlsZXBhdGggbGlrZToNCg0KaXZ5ZmlsZXBhdGg9Ii4u L2l2eXMvaXZ5Lm9yaWdpbmFsLVt2ZXJzaW9uXS54bWwiDQoNCkkgaGF2ZSB2ZXJpZmllZCB0aGlz IGJ5IHNwZWNpZnlpbmcgYSBoYXJkLWNvZGVkIHZlcnNpb24gaW4gcGxhY2Ugb2YNClt2ZXJzaW9u XSBhbmQgdGhlbiBidWlsZGxpc3Qgd2lsbCB3b3JrIHdpdGggdGhlIGNhY2hlLg0KDQpEbyBJIG5l ZWQgdG8gZXh0ZW5kIEl2eSBvciB3cml0ZSBzb21lIHNvcnQgb2YgSmF2YSBhY2NvbXBsaXNoIHdo YXQgSQ0KYW0gdHJ5aW5nIHRvIGRvPyAgSXMgdGhlcmUgYSB3YXkgdG8gd29yayB3aXRoIGZpbGUg cGF0aHMgZGlyZWN0bHkgZnJvbQ0KYSBsb2NhbCByZXBvc2l0b3J5IGluc3RlYWQgb2YgdGhlIGNh Y2hlPyAgSSBvbmx5IGV2ZXIgaW50ZW5kIG9uIHVzaW5nDQphIGxvY2FsIHJlcG9zaXRvcnkgYW55 d2F5LiAgSW4gZmFjdCAtIEkgZG9uJ3QgZXZlbiB3YW50IHRvIHVzZSBhIGNhY2hlDQppZiBJIGRv bid0IGhhdmUgdG8uICBJcyBpdCBwb3NzaWJsZSB0byBydW4gd2l0aG91dCBhIGNhY2hlPyAgSQ0K cmVtZW1iZXIgdGhpcyBiZWluZyB0YWxrZWQgYWJvdXQgaW4gdGhlIDEueCBkYXlzIGJ1dCBJIGNh bid0IHNlZSBhbnkNCnJlZmVyZW5jZSB0byBpdCBpbiAyLjAuDQoNCk1hcmsuDQoNCk9uIFNhdCwg U2VwIDIwLCAyMDA4IGF0IDc6MDAgQU0sIEdpbGxlcyBTY29rYXJ0IDxnc2Nva2FydEBnbWFpbC5j b20+IHdyb3RlOg0KPiBBbiBvcmRlcmVkIGxpc3QgaW4gYW50IGlzIGEgcGF0aC4gIFRyeSB0aHVz IHRvIHVzZSBjYWNoZXBhdGggWzFdDQo+IE5vdywgdG8gZG8gd2hhdCB5b3UgZmluYWxseSB3YW50 IHRvIGFjaGlldmUgKHRyaWdnZXIgYnVpbGQgb2YNCj4gZGVwZW5kZW5jaWVzIGZpcnN0KSwgeW91 IG1pZ2h0IGJldHRlciBwbGF5IHdpdGggYSBzZXR0aW5ncyB0aGF0IHVzZQ0KPiB0cmlnZ2VycyBb Ml0uDQo+DQo+IFsxXSBodHRwOi8vYW50LmFwYWNoZS5vcmcvaXZ5L2hpc3RvcnkvbGF0ZXN0LW1p bGVzdG9uZS91c2UvY2FjaGVwYXRoLmh0bWwNCj4gWzJdIGh0dHA6Ly9hbnQuYXBhY2hlLm9yZy9p dnkvaGlzdG9yeS9sYXRlc3QtbWlsZXN0b25lL2NvbmZpZ3VyYXRpb24vdHJpZ2dlcnMuaHRtbA0K Pg0KPg0KPg0KPiAyMDA4LzkvMTggTWFyayBNZWx2aW4gPG1hcmsubWVsdmluQGdtYWlsLmNvbT46 DQo+PiBIaSwNCj4+DQo+PiBTb21lb25lIHBsZWFzZSBjb3JyZWN0IG1lIGlmIEkgYW0gd3Jvbmcg LSBidXQgSSBkb24ndCBzZWUgYW55IHdheSB0bw0KPj4gc2ltcGx5IGdldCBhIHJlZmVyZW5jZSB0 byBhbiBvcmRlcmVkIGxpc3Qgb2YgZGVwZW5kZW5jaWVzICh1c2luZyBBbnQpLg0KPj4gIEkgc2Vl IHRoZXJlIGlzIHRoZSBpdnk6YnVpbGRsaXN0IHRhc2ssIGJ1dCB0aGlzIGFzc3VtZXMgeW91IGhh dmUgYWxsDQo+PiBvZiB5b3VyIGRlcGVuZGVuY2llcyBhdmFpbGFibGUgaW4gYSBkaXJlY3Rvcnkg c29tZXdoZXJlLiAgSSB3b3VsZCBsaWtlDQo+PiB0byBnZXQgdGhpcyBpbmZvcm1hdGlvbiBqdXN0 IGJ5IGRvaW5nIGEgcmVzb2x2ZS4gIEkgdHJpZWQgdXNpbmcgdGhpcw0KPj4gdGFzayB3aXRoIHRo ZSBjYWNoZSwgbGlrZSBzbzoNCj4+DQo+PiAgICA8aXZ5OmNhY2hlZmlsZXNldCBvcmdhbmlzYXRp b249Im15Lm9yZyIgbW9kdWxlPSJteU1vZHVsZSINCj4+IGlubGluZT0idHJ1ZSIgc2V0aWQ9ImRl cHMuZmlsZXNldCIvPg0KPj4gICAgPGl2eTpidWlsZGxpc3QgcmVmZXJlbmNlPSJidWlsZC1wYXRo IiBza2lwYnVpbGR3aXRob3V0aXZ5PSJ0cnVlIj4NCj4+ICAgICAgICA8ZmlsZXNldCByZWZpZD0i ZGVwcy5maWxlc2V0Ii8+DQo+PiAgICA8L2l2eTpidWlsZGxpc3Q+DQo+Pg0KPj4gQnV0IHRoaXMg ZmluZHMgbm90aGluZyBiZWNhdXNlIHRoZSBwYXRoIHRvIHRoZSBpdnkueG1sIGZpbGVzIGlzDQo+ PiBub24tc3RhbmRhcmQgaW4gdGhlIGNhY2hlLiAgRmluZSwgSSBjaGFuZ2UgaXQgbGlrZSBzbzoN Cj4+DQo+PiAgICA8aXZ5OmJ1aWxkbGlzdCByZWZlcmVuY2U9ImJ1aWxkLXBhdGgiIHNraXBidWls ZHdpdGhvdXRpdnk9InRydWUiDQo+PiBpdnlmaWxlcGF0aD0iLi4vaXZ5cy9pdnkueG1sIj4NCj4+ ICAgICAgICA8ZmlsZXNldCByZWZpZD0iZGVwcy5maWxlc2V0Ii8+DQo+PiAgICA8L2l2eTpidWls ZGxpc3Q+DQo+Pg0KPj4gQnV0IHRoYXQgaXNuJ3QgZ29pbmcgdG8gd29yayBlaXRoZXIgLSBiZWNh dXNlIHRoZSBpdnkgZmlsZXMgYXJlIHN0b3JlZA0KPj4gaW4gdGhlIGNhY2hlIHdpdGggdGhlIHZl cnNpb24gbnVtYmVyIGVuY29kZWQgaW4gdGhlIGZpbGVuYW1lLiAgQW5kIGl0DQo+PiBsb29rcyBs aWtlIHRoZSAnaXZ5ZmlsZXBhdGgnIGF0dHJpYnV0ZSBkb2VzIG5vdCBhY2NlcHQgYW55IHNvcnQg b2YNCj4+IHBhdHRlcm5zLiAgSSBjYW4gZ2V0IGl0IHRvIHdvcmsgaWYgSSBoYXJkLWNvZGUgdGhl IHZlcnNpb25lZCBmaWxlbmFtZQ0KPj4gaW4gdGhlIGNhY2hlIGludG8gdGhlICdpdnlmaWxlcGF0 aCcgYXR0cmlidXRlIC0gYnV0IHRoYXQgb2J2aW91c2x5IGlzDQo+PiBub3QgYSBzb2x1dGlvbiBt b3ZpbmcgZm9yd2FyZC4NCj4+DQo+PiBTbyAtIHBlcmhhcHMgSSBzaG91bGQgZXhwbGFpbiB3aGF0 IEkgYW0gdHJ5aW5nIHRvIGRvLiAgSSBqdXN0IHdhbnQgdG8NCj4+IGdldCBhbiBvcmRlcmVkIGxp c3Qgb2YgbW9kdWxlIG5hbWVzIGFjY29yZGluZyB0byB0aGUgdHJhbnNpdGl2ZQ0KPj4gZGVwZW5k ZW5jaWVzLiAgVGhpcyBzaG91bGQgYmUgZG9hYmxlIGFzIHRoZSBpbmZvcm1hdGlvbiBpcyBhbGwg dGhlcmUNCj4+IGFmdGVyIGEgcmVzb2x2ZS4gIFNvIGlmIEEgZGVwZW5kcyBvbiBCIGRlcGVuZHMg b24gQywgSSBqdXN0IHdhbnQgdG8NCj4+IGdldCBiYWNrICJBLCBCLCBDIi4gIFRoZSByZWFzb24g SSB3YW50IHRoaXMgaXMgaWYgSSB3YW50IHRvIGJ1aWxkIEEsIEkNCj4+IHdhbnQgdG8gd2FsayB0 aGUgZGVwZW5kZW5jaWVzIGFuZCB0cmlnZ2VyIHJlbW90ZSBwcm9qZWN0IGJ1aWxkcyBpbiB0aGUN Cj4+IGNvcnJlY3Qgb3JkZXIgKEMsIHRoZW4gQiwgdGhlbiBBKS4NCj4+DQo+PiBTaG9ydCBvZiBh Y3R1YWxseSBwYXJzaW5nIHRoZSBpdnkgZmlsZXMgZGlyZWN0bHkgaW4gdGhlIGNhY2hlIC0gaXMN Cj4+IHRoZXJlIGFueSB3YXkgdG8gZG8gdGhpcz8gIFRoaXMgc2VlbXMgbGlrZSBhIHJlbGF0aXZl bHkgYmFzaWMgdGhpbmcgdG8NCj4+IGRvIC0gYnV0IEkgZG9uJ3Qgc2VlIGFuIGVhc3kgd2F5IHRv IGRvIGl0LiAgSG9wZWZ1bGx5IEkgYW0ganVzdA0KPj4gbWlzc2luZyBzb21ldGhpbmcgb2J2aW91 cy4NCj4+DQo+PiBUaGFua3MsDQo+PiBNYXJrLg0KPj4NCj4NCj4NCj4NCj4gLS0NCj4gR2lsbGVz IFNjb2thcnQNCj4NCg0K