Return-Path: X-Original-To: apmail-ignite-user-archive@minotaur.apache.org Delivered-To: apmail-ignite-user-archive@minotaur.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id AF52F198A7 for ; Wed, 30 Mar 2016 09:37:35 +0000 (UTC) Received: (qmail 54990 invoked by uid 500); 30 Mar 2016 09:37:30 -0000 Delivered-To: apmail-ignite-user-archive@ignite.apache.org Received: (qmail 54948 invoked by uid 500); 30 Mar 2016 09:37:30 -0000 Mailing-List: contact user-help@ignite.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: user@ignite.apache.org Delivered-To: mailing list user@ignite.apache.org Received: (qmail 54930 invoked by uid 99); 30 Mar 2016 09:37:30 -0000 Received: from pnap-us-west-generic-nat.apache.org (HELO spamd3-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 30 Mar 2016 09:37:30 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd3-us-west.apache.org (ASF Mail Server at spamd3-us-west.apache.org) with ESMTP id 046AA180517 for ; Wed, 30 Mar 2016 09:37:30 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd3-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: 4.01 X-Spam-Level: **** X-Spam-Status: No, score=4.01 tagged_above=-999 required=6.31 tests=[HTML_FONT_LOW_CONTRAST=0.001, HTML_MESSAGE=2, KAM_BADIPHTTP=2, NORMAL_HTTP_TO_IP=0.001, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001, T_KAM_HTML_FONT_INVALID=0.01, WEIRD_PORT=0.001] autolearn=disabled Received: from mx2-lw-us.apache.org ([10.40.0.8]) by localhost (spamd3-us-west.apache.org [10.40.0.10]) (amavisd-new, port 10024) with ESMTP id PIPB789SSJHH for ; Wed, 30 Mar 2016 09:37:10 +0000 (UTC) Received: from smtpbgbr2.qq.com (smtpbgbr2.qq.com [54.207.22.56]) by mx2-lw-us.apache.org (ASF Mail Server at mx2-lw-us.apache.org) with ESMTPS id 2491B5FAF6 for ; Wed, 30 Mar 2016 09:37:07 +0000 (UTC) X-QQ-mid: bizesmtp11t1459330600t775t12 Received: from lym-PC (unknown [114.243.131.21]) by esmtp4.qq.com (ESMTP) with SMTP id 0 for ; Wed, 30 Mar 2016 17:36:39 +0800 (CST) X-QQ-SSF: 00100000002000F0FH50B00A0000000 X-QQ-FEAT: JibMalLukFZz9ZjS90BFISDzC51223islwHLpsoJn8u2pf444e9YiFl7HpBtH m5oeztM7yN7i1zQcgMA5768UUNhBXK7Qv/f4L9s9ZKQ5ZRsExqoaY9ncIqzePg0KeAl76w6 kU7/XuzR/6xJBR1UKVNrS+NuvLcLMvRi2TpXgn44TFVtZHPIwB7JSWNuri7Y/klKYHq6ziF TLBZbiJQIn0uqJegy8sCT3RvmsxacRLzKUYwa3D5xALVqtABKFRq9EVWbSbNTZw9TDuYMcC m8hZ4yl7sKtx95U2kBmMfU47zAzpJx7V1mGM1Bvwmw6Us/ X-QQ-GoodBg: 0 Date: Wed, 30 Mar 2016 17:36:39 +0800 From: "liym@runstone.com" To: user Subject: Re: Re: about mr accelerator question. References: <1458008477746-3502.post@n6.nabble.com>, <1458028395639-3509.post@n6.nabble.com>, <1458034571832-3513.post@n6.nabble.com>, <1458193045931-3552.post@n6.nabble.com>, <2016032313483060182724@runstone.com>, , <2016032818300783129814@runstone.com>, , <2016032909502555708118@runstone.com>, X-Priority: 3 X-GUID: F139EE34-5B7F-4698-8DD7-9E12AAC7E621 X-Has-Attach: no X-Mailer: Foxmail 7, 2, 7, 26[cn] Mime-Version: 1.0 Message-ID: <2016033017363852492922@runstone.com> Content-Type: multipart/alternative; boundary="----=_001_NextPart406370122000_=----" X-QQ-SENDSIZE: 520 X-QQ-Bgrelay: 1 This is a multi-part message in MIME format. ------=_001_NextPart406370122000_=---- Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: base64 SSBhbSBzbyBzb3JyeSB0aGF0IHRoZSBkZXNjcmlwdGlvbiBpcyBub3QgY2xlYXJseS4NCmluIHRo ZSBlcnJvciBub2RlLCB0aGVyZSBpcyBhIGV4Y2VwdGlvbg0KDQpNYXIgMzAsIDIwMTYgNToxMTo1 OCBQTSBvcmcuYXBhY2hlLmlnbml0ZS5pbnRlcm5hbC5jbGllbnQuaW1wbC5jb25uZWN0aW9uLkdy aWRDbGllbnROaW9UY3BDb25uZWN0aW9uIGNsb3NlDQpJTkZPOiBDbGllbnQgVENQIGNvbm5lY3Rp b24gY2xvc2VkOiAvMjAyLjk5LjY5LjE3ODoxMTIxMQ0KRXhjZXB0aW9uIGluIHRocmVhZCAibWFp biIgTWFyIDMwLCAyMDE2IDU6MTE6NTggUE0gb3JnLmFwYWNoZS5pZ25pdGUuaW50ZXJuYWwuY2xp ZW50LmltcGwuY29ubmVjdGlvbi5HcmlkQ2xpZW50TmlvVGNwQ29ubmVjdGlvbiBjbG9zZQ0KSU5G TzogQ2xpZW50IFRDUCBjb25uZWN0aW9uIGNsb3NlZDogLzIwMi45OS45Ni4xNzg6MTEyMTENCmph dmEuaW8uSU9FeGNlcHRpb246IEZhaWxlZCB0byBnZXQgam9iIHN0YXR1czogam9iX2MxZGU3NjE4 LWIwZjEtNDE1OS1hZGU0LTU3ZTMwNWQ0NjY3Zl8wMDAxDQphdCBvcmcuYXBhY2hlLmlnbml0ZS5p bnRlcm5hbC5wcm9jZXNzb3JzLmhhZG9vcC5wcm90by5IYWRvb3BDbGllbnRQcm90b2NvbC5nZXRK b2JTdGF0dXMoSGFkb29wQ2xpZW50UHJvdG9jb2wuamF2YToxOTEpDQphdCBvcmcuYXBhY2hlLmhh ZG9vcC5tYXByZWR1Y2UuSm9iJDEucnVuKEpvYi5qYXZhOjMyNSkNCmF0IG9yZy5hcGFjaGUuaGFk b29wLm1hcHJlZHVjZS5Kb2IkMS5ydW4oSm9iLmphdmE6MzIyKQ0KYXQgamF2YS5zZWN1cml0eS5B Y2Nlc3NDb250cm9sbGVyLmRvUHJpdmlsZWdlZChOYXRpdmUgTWV0aG9kKQ0KYXQgamF2YXguc2Vj dXJpdHkuYXV0aC5TdWJqZWN0LmRvQXMoU3ViamVjdC5qYXZhOjQxNSkNCmF0IG9yZy5hcGFjaGUu aGFkb29wLnNlY3VyaXR5LlVzZXJHcm91cEluZm9ybWF0aW9uLmRvQXMoVXNlckdyb3VwSW5mb3Jt YXRpb24uamF2YToxNjI4KQ0KYXQgb3JnLmFwYWNoZS5oYWRvb3AubWFwcmVkdWNlLkpvYi51cGRh dGVTdGF0dXMoSm9iLmphdmE6MzIyKQ0KYXQgb3JnLmFwYWNoZS5oYWRvb3AubWFwcmVkdWNlLkpv Yi5pc0NvbXBsZXRlKEpvYi5qYXZhOjYxMCkNCmF0IG9yZy5hcGFjaGUuaGFkb29wLm1hcHJlZHVj ZS5Kb2IubW9uaXRvckFuZFByaW50Sm9iKEpvYi5qYXZhOjEzNTYpDQphdCBvcmcuYXBhY2hlLmhh ZG9vcC5tYXByZWR1Y2UuSm9iLndhaXRGb3JDb21wbGV0aW9uKEpvYi5qYXZhOjEzMTcpDQphdCBt YXByZWR1Y2UuRG9tYWluc1NlY29uZFBWQnlJUE1SLm1haW4oRG9tYWluc1NlY29uZFBWQnlJUE1S LmphdmE6NzMpDQphdCBzdW4ucmVmbGVjdC5OYXRpdmVNZXRob2RBY2Nlc3NvckltcGwuaW52b2tl MChOYXRpdmUgTWV0aG9kKQ0KYXQgc3VuLnJlZmxlY3QuTmF0aXZlTWV0aG9kQWNjZXNzb3JJbXBs Lmludm9rZShOYXRpdmVNZXRob2RBY2Nlc3NvckltcGwuamF2YTo1NykNCmF0IHN1bi5yZWZsZWN0 LkRlbGVnYXRpbmdNZXRob2RBY2Nlc3NvckltcGwuaW52b2tlKERlbGVnYXRpbmdNZXRob2RBY2Nl c3NvckltcGwuamF2YTo0MykNCmF0IGphdmEubGFuZy5yZWZsZWN0Lk1ldGhvZC5pbnZva2UoTWV0 aG9kLmphdmE6NjA2KQ0KYXQgb3JnLmFwYWNoZS5oYWRvb3AudXRpbC5SdW5KYXIucnVuKFJ1bkph ci5qYXZhOjIyMSkNCmF0IG9yZy5hcGFjaGUuaGFkb29wLnV0aWwuUnVuSmFyLm1haW4oUnVuSmFy LmphdmE6MTM2KQ0KQ2F1c2VkIGJ5OiBjbGFzcyBvcmcuYXBhY2hlLmlnbml0ZS5pbnRlcm5hbC5j bGllbnQuaW1wbC5jb25uZWN0aW9uLkdyaWRDbGllbnRDb25uZWN0aW9uUmVzZXRFeGNlcHRpb246 IEZhaWxlZCB0byBwZXJmb3JtIHJlcXVlc3QgKGNvbm5lY3Rpb24gZmFpbGVkKTogLzIwMi45OS45 Ni4xNzg6MTEyMTENCmF0IG9yZy5hcGFjaGUuaWduaXRlLmludGVybmFsLmNsaWVudC5pbXBsLmNv bm5lY3Rpb24uR3JpZENsaWVudENvbm5lY3Rpb24uZ2V0Q2xvc2VSZWFzb25Bc0V4Y2VwdGlvbihH cmlkQ2xpZW50Q29ubmVjdGlvbi5qYXZhOjQ5MSkNCmF0IG9yZy5hcGFjaGUuaWduaXRlLmludGVy bmFsLmNsaWVudC5pbXBsLmNvbm5lY3Rpb24uR3JpZENsaWVudE5pb1RjcENvbm5lY3Rpb24uY2xv c2UoR3JpZENsaWVudE5pb1RjcENvbm5lY3Rpb24uamF2YTozMzYpDQphdCBvcmcuYXBhY2hlLmln bml0ZS5pbnRlcm5hbC5jbGllbnQuaW1wbC5jb25uZWN0aW9uLkdyaWRDbGllbnROaW9UY3BDb25u ZWN0aW9uLmNsb3NlKEdyaWRDbGllbnROaW9UY3BDb25uZWN0aW9uLmphdmE6Mjk2KQ0KYXQgb3Jn LmFwYWNoZS5pZ25pdGUuaW50ZXJuYWwuY2xpZW50LmltcGwuY29ubmVjdGlvbi5HcmlkQ2xpZW50 Q29ubmVjdGlvbk1hbmFnZXJBZGFwdGVyJE5pb0xpc3RlbmVyLm9uRGlzY29ubmVjdGVkKEdyaWRD bGllbnRDb25uZWN0aW9uTWFuYWdlckFkYXB0ZXIuamF2YTo2MDUpDQphdCBvcmcuYXBhY2hlLmln bml0ZS5pbnRlcm5hbC51dGlsLm5pby5HcmlkTmlvRmlsdGVyQ2hhaW4kVGFpbEZpbHRlci5vblNl c3Npb25DbG9zZWQoR3JpZE5pb0ZpbHRlckNoYWluLmphdmE6MjQ5KQ0KYXQgb3JnLmFwYWNoZS5p Z25pdGUuaW50ZXJuYWwudXRpbC5uaW8uR3JpZE5pb0ZpbHRlckFkYXB0ZXIucHJvY2VlZFNlc3Np b25DbG9zZWQoR3JpZE5pb0ZpbHRlckFkYXB0ZXIuamF2YTo5MykNCmF0IG9yZy5hcGFjaGUuaWdu aXRlLmludGVybmFsLnV0aWwubmlvLkdyaWROaW9Db2RlY0ZpbHRlci5vblNlc3Npb25DbG9zZWQo R3JpZE5pb0NvZGVjRmlsdGVyLmphdmE6NzApDQphdCBvcmcuYXBhY2hlLmlnbml0ZS5pbnRlcm5h bC51dGlsLm5pby5HcmlkTmlvRmlsdGVyQWRhcHRlci5wcm9jZWVkU2Vzc2lvbkNsb3NlZChHcmlk TmlvRmlsdGVyQWRhcHRlci5qYXZhOjkzKQ0KYXQgb3JnLmFwYWNoZS5pZ25pdGUuaW50ZXJuYWwu dXRpbC5uaW8uR3JpZE5pb1NlcnZlciRIZWFkRmlsdGVyLm9uU2Vzc2lvbkNsb3NlZChHcmlkTmlv U2VydmVyLmphdmE6MjExNSkNCmF0IG9yZy5hcGFjaGUuaWduaXRlLmludGVybmFsLnV0aWwubmlv LkdyaWROaW9GaWx0ZXJDaGFpbi5vblNlc3Npb25DbG9zZWQoR3JpZE5pb0ZpbHRlckNoYWluLmph dmE6MTQ3KQ0KYXQgb3JnLmFwYWNoZS5pZ25pdGUuaW50ZXJuYWwudXRpbC5uaW8uR3JpZE5pb1Nl cnZlciRBYnN0cmFjdE5pb0NsaWVudFdvcmtlci5jbG9zZShHcmlkTmlvU2VydmVyLmphdmE6MTY1 OSkNCmF0IG9yZy5hcGFjaGUuaWduaXRlLmludGVybmFsLnV0aWwubmlvLkdyaWROaW9TZXJ2ZXIk Qnl0ZUJ1ZmZlck5pb0NsaWVudFdvcmtlci5wcm9jZXNzUmVhZChHcmlkTmlvU2VydmVyLmphdmE6 NzMxKQ0KYXQgb3JnLmFwYWNoZS5pZ25pdGUuaW50ZXJuYWwudXRpbC5uaW8uR3JpZE5pb1NlcnZl ciRBYnN0cmFjdE5pb0NsaWVudFdvcmtlci5wcm9jZXNzU2VsZWN0ZWRLZXlzKEdyaWROaW9TZXJ2 ZXIuamF2YToxNDYzKQ0KYXQgb3JnLmFwYWNoZS5pZ25pdGUuaW50ZXJuYWwudXRpbC5uaW8uR3Jp ZE5pb1NlcnZlciRBYnN0cmFjdE5pb0NsaWVudFdvcmtlci5ib2R5SW50ZXJuYWwoR3JpZE5pb1Nl cnZlci5qYXZhOjEzOTgpDQphdCBvcmcuYXBhY2hlLmlnbml0ZS5pbnRlcm5hbC51dGlsLm5pby5H cmlkTmlvU2VydmVyJEFic3RyYWN0TmlvQ2xpZW50V29ya2VyLmJvZHkoR3JpZE5pb1NlcnZlci5q YXZhOjEyODApDQphdCBvcmcuYXBhY2hlLmlnbml0ZS5pbnRlcm5hbC51dGlsLndvcmtlci5Hcmlk V29ya2VyLnJ1bihHcmlkV29ya2VyLmphdmE6MTEwKQ0KYXQgamF2YS5sYW5nLlRocmVhZC5ydW4o VGhyZWFkLmphdmE6NzQ1KQ0KDQogDQpGcm9tOiBWbGFkaW1pciBPemVyb3YNCkRhdGU6IDIwMTYt MDMtMjkgMTk6NTMNClRvOiB1c2VyDQpTdWJqZWN0OiBSZTogUmU6IGFib3V0IG1yIGFjY2VsZXJh dG9yIHF1ZXN0aW9uLg0KSGksDQoNClNvcnJ5LCBzdGlsbCBkbyBub3QgdW5kZXJzdGFuZCB0aGUg cXVlc3Rpb24gd2VsbC4gRG8geW91IG5lZWQgdG8gdW5kZXJzdGFuZCB3aHkgdGhlIG5vZGUgd2Fz IGtpbGxlZD8gT3Igc29tZXRoaW5nIHdyb25nIGhhcHBlbmVkIHRvIGEgY2x1c3RlciBhZnRlciB0 aGUgbm9kZSBoYWQgYmVlbiBraWxsZWQ/DQoNClZsYWRpbWlyLg0KDQpPbiBUdWUsIE1hciAyOSwg MjAxNiBhdCA0OjUwIEFNLCBsaXltQHJ1bnN0b25lLmNvbSA8bGl5bUBydW5zdG9uZS5jb20+IHdy b3RlOg0KT25lIG9mIG5vZGVzIHByb2Nlc3MgaXMga2lsbGVkIGF1dG8gd2hlbiBleGN1dGUgdGhl IG1yIHRhc2ssIHNvIG90aGVyIG5vZGVzIGNvdWxkIG5vdCBzZW5kIHRoZSBtZXNzYWdlIHRvIHRo ZSBub2RlIHdoaWNoIGlzIGtpbGxlZC4NCg0KWzE3OjQyOjUyXSBTZWN1cml0eSBzdGF0dXMgW2F1 dGhlbnRpY2F0aW9uPW9mZiwgdGxzL3NzbD1vZmZdDQpbMTc6NDI6NTNdIEhBRE9PUF9IT01FIGlz IHNldCB0byAvaG9tZS9oZHVzZXIvaGFkb29wDQpbMTc6NDI6NTVdIFBlcmZvcm1hbmNlIHN1Z2dl c3Rpb25zIGZvciBncmlkICAoZml4IGlmIHBvc3NpYmxlKQ0KWzE3OjQyOjU1XSBUbyBkaXNhYmxl LCBzZXQgLURJR05JVEVfUEVSRk9STUFOQ0VfU1VHR0VTVElPTlNfRElTQUJMRUQ9dHJ1ZQ0KWzE3 OjQyOjU1XSAgIF4tLSBEaXNhYmxlIGdyaWQgZXZlbnRzIChyZW1vdmUgJ2luY2x1ZGVFdmVudFR5 cGVzJyBmcm9tIGNvbmZpZ3VyYXRpb24pDQpbMTc6NDI6NTVdIA0KWzE3OjQyOjU1XSBUbyBzdGFy dCBDb25zb2xlIE1hbmFnZW1lbnQgJiBNb25pdG9yaW5nIHJ1biBpZ25pdGV2aXNvcmNtZC57c2h8 YmF0fQ0KWzE3OjQyOjU1XSANClsxNzo0Mjo1NV0gSWduaXRlIG5vZGUgc3RhcnRlZCBPSyAoaWQ9 Nzk2NTM3MGIpDQpbMTc6NDI6NTVdIFRvcG9sb2d5IHNuYXBzaG90IFt2ZXI9MSwgc2VydmVycz0x LCBjbGllbnRzPTAsIENQVXM9MjQsIGhlYXA9MzIuMEdCXQ0KWzE3OjQzOjEyXSBUb3BvbG9neSBz bmFwc2hvdCBbdmVyPTIsIHNlcnZlcnM9MiwgY2xpZW50cz0wLCBDUFVzPTQ4LCBoZWFwPTY0LjBH Ql0NClsxNzo0MzoxOF0gVG9wb2xvZ3kgc25hcHNob3QgW3Zlcj0zLCBzZXJ2ZXJzPTMsIGNsaWVu dHM9MCwgQ1BVcz03MiwgaGVhcD05Ni4wR0JdDQpbMTc6NDM6MjNdIFRvcG9sb2d5IHNuYXBzaG90 IFt2ZXI9NCwgc2VydmVycz00LCBjbGllbnRzPTAsIENQVXM9OTYsIGhlYXA9MTMwLjBHQl0NClsx Nzo0MzozMV0gVG9wb2xvZ3kgc25hcHNob3QgW3Zlcj01LCBzZXJ2ZXJzPTUsIGNsaWVudHM9MCwg Q1BVcz0xMjAsIGhlYXA9MTYwLjBHQl0NClsxNzo0MzozOF0gVG9wb2xvZ3kgc25hcHNob3QgW3Zl cj02LCBzZXJ2ZXJzPTYsIGNsaWVudHM9MCwgQ1BVcz0xNDQsIGhlYXA9MTkwLjBHQl0NClsxNzo0 NDowOF0gQ2xhc3MgIm8uYS5pLmkucHJvY2Vzc29ycy5oYWRvb3AuY291bnRlci5IYWRvb3BDb3Vu dGVyc0ltcGwiIGNhbm5vdCBiZSB3cml0dGVuIGluIGJpbmFyeSBmb3JtYXQgYmVjYXVzZSBpdCBl aXRoZXIgaW1wbGVtZW50cyBFeHRlcm5hbGl6YWJsZSBpbnRlcmZhY2Ugb3IgaGF2ZSB3cml0ZU9i amVjdC9yZWFkT2JqZWN0IG1ldGhvZHMuIFBsZWFzZSBlbnN1cmUgdGhhdCBhbGwgbm9kZXMgaGF2 ZSB0aGlzIGNsYXNzIGluIGNsYXNzcGF0aC4gVG8gZW5hYmxlIGJpbmFyeSBzZXJpYWxpemF0aW9u IGVpdGhlciBpbXBsZW1lbnQgQmluYXJ5bGl6YWJsZSBpbnRlcmZhY2Ugb3Igc2V0IGV4cGxpY2l0 IHNlcmlhbGl6ZXIgdXNpbmcgQmluYXJ5VHlwZUNvbmZpZ3VyYXRpb24uc2V0U2VyaWFsaXplcigp IG1ldGhvZC4NClsxNzo0NDowOV0gQ2xhc3MgIm8uYS5pLmkucHJvY2Vzc29ycy5oYWRvb3Auam9i dHJhY2tlci5IYWRvb3BKb2JNZXRhZGF0YSIgY2Fubm90IGJlIHdyaXR0ZW4gaW4gYmluYXJ5IGZv cm1hdCBiZWNhdXNlIGl0IGVpdGhlciBpbXBsZW1lbnRzIEV4dGVybmFsaXphYmxlIGludGVyZmFj ZSBvciBoYXZlIHdyaXRlT2JqZWN0L3JlYWRPYmplY3QgbWV0aG9kcy4gUGxlYXNlIGVuc3VyZSB0 aGF0IGFsbCBub2RlcyBoYXZlIHRoaXMgY2xhc3MgaW4gY2xhc3NwYXRoLiBUbyBlbmFibGUgYmlu YXJ5IHNlcmlhbGl6YXRpb24gZWl0aGVyIGltcGxlbWVudCBCaW5hcnlsaXphYmxlIGludGVyZmFj ZSBvciBzZXQgZXhwbGljaXQgc2VyaWFsaXplciB1c2luZyBCaW5hcnlUeXBlQ29uZmlndXJhdGlv bi5zZXRTZXJpYWxpemVyKCkgbWV0aG9kLg0KWzE3OjQ0OjEzXSBDbGFzcyAiby5hLmkuaS5wcm9j ZXNzb3JzLmhhZG9vcC5wcm90by5IYWRvb3BQcm90b2NvbFRhc2tBcmd1bWVudHMiIGNhbm5vdCBi ZSB3cml0dGVuIGluIGJpbmFyeSBmb3JtYXQgYmVjYXVzZSBpdCBlaXRoZXIgaW1wbGVtZW50cyBF eHRlcm5hbGl6YWJsZSBpbnRlcmZhY2Ugb3IgaGF2ZSB3cml0ZU9iamVjdC9yZWFkT2JqZWN0IG1l dGhvZHMuIFBsZWFzZSBlbnN1cmUgdGhhdCBhbGwgbm9kZXMgaGF2ZSB0aGlzIGNsYXNzIGluIGNs YXNzcGF0aC4gVG8gZW5hYmxlIGJpbmFyeSBzZXJpYWxpemF0aW9uIGVpdGhlciBpbXBsZW1lbnQg QmluYXJ5bGl6YWJsZSBpbnRlcmZhY2Ugb3Igc2V0IGV4cGxpY2l0IHNlcmlhbGl6ZXIgdXNpbmcg QmluYXJ5VHlwZUNvbmZpZ3VyYXRpb24uc2V0U2VyaWFsaXplcigpIG1ldGhvZC4NClsxNzo0NDoz NF0gQ2xhc3MgIm8uYS5pLmkucHJvY2Vzc29ycy5oYWRvb3Auc2h1ZmZsZS5IYWRvb3BTaHVmZmxl TWVzc2FnZSIgY2Fubm90IGJlIHdyaXR0ZW4gaW4gYmluYXJ5IGZvcm1hdCBiZWNhdXNlIGl0IGVp dGhlciBpbXBsZW1lbnRzIEV4dGVybmFsaXphYmxlIGludGVyZmFjZSBvciBoYXZlIHdyaXRlT2Jq ZWN0L3JlYWRPYmplY3QgbWV0aG9kcy4gUGxlYXNlIGVuc3VyZSB0aGF0IGFsbCBub2RlcyBoYXZl IHRoaXMgY2xhc3MgaW4gY2xhc3NwYXRoLiBUbyBlbmFibGUgYmluYXJ5IHNlcmlhbGl6YXRpb24g ZWl0aGVyIGltcGxlbWVudCBCaW5hcnlsaXphYmxlIGludGVyZmFjZSBvciBzZXQgZXhwbGljaXQg c2VyaWFsaXplciB1c2luZyBCaW5hcnlUeXBlQ29uZmlndXJhdGlvbi5zZXRTZXJpYWxpemVyKCkg bWV0aG9kLg0KWzE3OjQ0OjM2XSBDbGFzcyAiby5hLmkuaS5wcm9jZXNzb3JzLmhhZG9vcC5zaHVm ZmxlLkhhZG9vcFNodWZmbGVBY2siIGNhbm5vdCBiZSB3cml0dGVuIGluIGJpbmFyeSBmb3JtYXQg YmVjYXVzZSBpdCBlaXRoZXIgaW1wbGVtZW50cyBFeHRlcm5hbGl6YWJsZSBpbnRlcmZhY2Ugb3Ig aGF2ZSB3cml0ZU9iamVjdC9yZWFkT2JqZWN0IG1ldGhvZHMuIFBsZWFzZSBlbnN1cmUgdGhhdCBh bGwgbm9kZXMgaGF2ZSB0aGlzIGNsYXNzIGluIGNsYXNzcGF0aC4gVG8gZW5hYmxlIGJpbmFyeSBz ZXJpYWxpemF0aW9uIGVpdGhlciBpbXBsZW1lbnQgQmluYXJ5bGl6YWJsZSBpbnRlcmZhY2Ugb3Ig c2V0IGV4cGxpY2l0IHNlcmlhbGl6ZXIgdXNpbmcgQmluYXJ5VHlwZUNvbmZpZ3VyYXRpb24uc2V0 U2VyaWFsaXplcigpIG1ldGhvZC4NClsxNzo0NDozNl0gQ2xhc3MgIm8uYS5pLmkucHJvY2Vzc29y cy5oYWRvb3Auc2h1ZmZsZS5IYWRvb3BTaHVmZmxlQWNrIiBjYW5ub3QgYmUgd3JpdHRlbiBpbiBi aW5hcnkgZm9ybWF0IGJlY2F1c2UgaXQgZWl0aGVyIGltcGxlbWVudHMgRXh0ZXJuYWxpemFibGUg aW50ZXJmYWNlIG9yIGhhdmUgd3JpdGVPYmplY3QvcmVhZE9iamVjdCBtZXRob2RzLiBQbGVhc2Ug ZW5zdXJlIHRoYXQgYWxsIG5vZGVzIGhhdmUgdGhpcyBjbGFzcyBpbiBjbGFzc3BhdGguIFRvIGVu YWJsZSBiaW5hcnkgc2VyaWFsaXphdGlvbiBlaXRoZXIgaW1wbGVtZW50IEJpbmFyeWxpemFibGUg aW50ZXJmYWNlIG9yIHNldCBleHBsaWNpdCBzZXJpYWxpemVyIHVzaW5nIEJpbmFyeVR5cGVDb25m aWd1cmF0aW9uLnNldFNlcmlhbGl6ZXIoKSBtZXRob2QuDQouL2lnbml0ZS5zaDogbGluZSAxNTc6 IDQxMzI2IEtpbGxlZCAgICAgICAgICAgICAgICAgICIkSkFWQSIgJHtKVk1fT1BUU30gJHtRVUlF VH0gIiR7UkVTVEFSVF9TVUNDRVNTX09QVH0iICR7Sk1YX01PTn0gLURJR05JVEVfSE9NRT0iJHtJ R05JVEVfSE9NRX0iIC1ESUdOSVRFX1BST0dfTkFNRT0iJDAiICR7SlZNX1hPUFRTfSAtY3AgIiR7 Q1B9IiAke01BSU5fQ0xBU1N9ICIke0NPTkZJR30iDQpoZHVzZXJAcnNsb2cxLXRqOn4vaWduaXRl L2JpbiQNCg0KDQoNCg0KIA0KRnJvbTogVmxhZGltaXIgT3plcm92DQpEYXRlOiAyMDE2LTAzLTI4 IDE4OjU3DQpUbzogdXNlcg0KU3ViamVjdDogUmU6IFJlOiBhYm91dCBtciBhY2NlbGVyYXRvciBx dWVzdGlvbi4NCkhpLA0KDQpJJ20gbm90IHN1cmUgSSB1bmRlcnN0YW5kIHdoYXQgZXJyb3IgZG8g eW91IG1lYW4uIEF0IGxlYXN0LCBJIGRvIG5vdCBzZWUgYW55IGV4Y2VwdGlvbnMgaW4gdGhlIGxv Zy4gQ291bGQgeW91IHBsZWFzZSBjbGFyaWZ5Pw0KDQpWbGFkaW1pci4NCg0KT24gTW9uLCBNYXIg MjgsIDIwMTYgYXQgMTozMCBQTSwgbGl5bUBydW5zdG9uZS5jb20gPGxpeW1AcnVuc3RvbmUuY29t PiB3cm90ZToNClRoZXJlIGlzIGEgcXVlc3Rpb24gLm5vdyBpIGhhdmUgNiBpZ25pdGUgbm9kZXMu dGhlcmUgaXMgYSBlcnJvciB3aGVuIHRoZSBtciB0YXNrIGlzIHJ1bm5pbmcub25lIG5vZGUgaXMg a2lsbGVkIHVzdWFsbHksY2FuIHlvdSB0ZWxsIG1lIHdoeS50aGFua3MgYSBsb3QuDQpvbiB0aGUg b25lIG5vZGUgb3IgdHdvIG5vZGUsSSBkb250IGZpbmQgdGhpcyBlcnJvci4NCg0KWzE3OjQyOjUy XSBTZWN1cml0eSBzdGF0dXMgW2F1dGhlbnRpY2F0aW9uPW9mZiwgdGxzL3NzbD1vZmZdDQpbMTc6 NDI6NTNdIEhBRE9PUF9IT01FIGlzIHNldCB0byAvaG9tZS9oZHVzZXIvaGFkb29wDQpbMTc6NDI6 NTVdIFBlcmZvcm1hbmNlIHN1Z2dlc3Rpb25zIGZvciBncmlkICAoZml4IGlmIHBvc3NpYmxlKQ0K WzE3OjQyOjU1XSBUbyBkaXNhYmxlLCBzZXQgLURJR05JVEVfUEVSRk9STUFOQ0VfU1VHR0VTVElP TlNfRElTQUJMRUQ9dHJ1ZQ0KWzE3OjQyOjU1XSAgIF4tLSBEaXNhYmxlIGdyaWQgZXZlbnRzIChy ZW1vdmUgJ2luY2x1ZGVFdmVudFR5cGVzJyBmcm9tIGNvbmZpZ3VyYXRpb24pDQpbMTc6NDI6NTVd IA0KWzE3OjQyOjU1XSBUbyBzdGFydCBDb25zb2xlIE1hbmFnZW1lbnQgJiBNb25pdG9yaW5nIHJ1 biBpZ25pdGV2aXNvcmNtZC57c2h8YmF0fQ0KWzE3OjQyOjU1XSANClsxNzo0Mjo1NV0gSWduaXRl IG5vZGUgc3RhcnRlZCBPSyAoaWQ9Nzk2NTM3MGIpDQpbMTc6NDI6NTVdIFRvcG9sb2d5IHNuYXBz aG90IFt2ZXI9MSwgc2VydmVycz0xLCBjbGllbnRzPTAsIENQVXM9MjQsIGhlYXA9MzIuMEdCXQ0K WzE3OjQzOjEyXSBUb3BvbG9neSBzbmFwc2hvdCBbdmVyPTIsIHNlcnZlcnM9MiwgY2xpZW50cz0w LCBDUFVzPTQ4LCBoZWFwPTY0LjBHQl0NClsxNzo0MzoxOF0gVG9wb2xvZ3kgc25hcHNob3QgW3Zl cj0zLCBzZXJ2ZXJzPTMsIGNsaWVudHM9MCwgQ1BVcz03MiwgaGVhcD05Ni4wR0JdDQpbMTc6NDM6 MjNdIFRvcG9sb2d5IHNuYXBzaG90IFt2ZXI9NCwgc2VydmVycz00LCBjbGllbnRzPTAsIENQVXM9 OTYsIGhlYXA9MTMwLjBHQl0NClsxNzo0MzozMV0gVG9wb2xvZ3kgc25hcHNob3QgW3Zlcj01LCBz ZXJ2ZXJzPTUsIGNsaWVudHM9MCwgQ1BVcz0xMjAsIGhlYXA9MTYwLjBHQl0NClsxNzo0MzozOF0g VG9wb2xvZ3kgc25hcHNob3QgW3Zlcj02LCBzZXJ2ZXJzPTYsIGNsaWVudHM9MCwgQ1BVcz0xNDQs IGhlYXA9MTkwLjBHQl0NClsxNzo0NDowOF0gQ2xhc3MgIm8uYS5pLmkucHJvY2Vzc29ycy5oYWRv b3AuY291bnRlci5IYWRvb3BDb3VudGVyc0ltcGwiIGNhbm5vdCBiZSB3cml0dGVuIGluIGJpbmFy eSBmb3JtYXQgYmVjYXVzZSBpdCBlaXRoZXIgaW1wbGVtZW50cyBFeHRlcm5hbGl6YWJsZSBpbnRl cmZhY2Ugb3IgaGF2ZSB3cml0ZU9iamVjdC9yZWFkT2JqZWN0IG1ldGhvZHMuIFBsZWFzZSBlbnN1 cmUgdGhhdCBhbGwgbm9kZXMgaGF2ZSB0aGlzIGNsYXNzIGluIGNsYXNzcGF0aC4gVG8gZW5hYmxl IGJpbmFyeSBzZXJpYWxpemF0aW9uIGVpdGhlciBpbXBsZW1lbnQgQmluYXJ5bGl6YWJsZSBpbnRl cmZhY2Ugb3Igc2V0IGV4cGxpY2l0IHNlcmlhbGl6ZXIgdXNpbmcgQmluYXJ5VHlwZUNvbmZpZ3Vy YXRpb24uc2V0U2VyaWFsaXplcigpIG1ldGhvZC4NClsxNzo0NDowOV0gQ2xhc3MgIm8uYS5pLmku cHJvY2Vzc29ycy5oYWRvb3Auam9idHJhY2tlci5IYWRvb3BKb2JNZXRhZGF0YSIgY2Fubm90IGJl IHdyaXR0ZW4gaW4gYmluYXJ5IGZvcm1hdCBiZWNhdXNlIGl0IGVpdGhlciBpbXBsZW1lbnRzIEV4 dGVybmFsaXphYmxlIGludGVyZmFjZSBvciBoYXZlIHdyaXRlT2JqZWN0L3JlYWRPYmplY3QgbWV0 aG9kcy4gUGxlYXNlIGVuc3VyZSB0aGF0IGFsbCBub2RlcyBoYXZlIHRoaXMgY2xhc3MgaW4gY2xh c3NwYXRoLiBUbyBlbmFibGUgYmluYXJ5IHNlcmlhbGl6YXRpb24gZWl0aGVyIGltcGxlbWVudCBC aW5hcnlsaXphYmxlIGludGVyZmFjZSBvciBzZXQgZXhwbGljaXQgc2VyaWFsaXplciB1c2luZyBC aW5hcnlUeXBlQ29uZmlndXJhdGlvbi5zZXRTZXJpYWxpemVyKCkgbWV0aG9kLg0KWzE3OjQ0OjEz XSBDbGFzcyAiby5hLmkuaS5wcm9jZXNzb3JzLmhhZG9vcC5wcm90by5IYWRvb3BQcm90b2NvbFRh c2tBcmd1bWVudHMiIGNhbm5vdCBiZSB3cml0dGVuIGluIGJpbmFyeSBmb3JtYXQgYmVjYXVzZSBp dCBlaXRoZXIgaW1wbGVtZW50cyBFeHRlcm5hbGl6YWJsZSBpbnRlcmZhY2Ugb3IgaGF2ZSB3cml0 ZU9iamVjdC9yZWFkT2JqZWN0IG1ldGhvZHMuIFBsZWFzZSBlbnN1cmUgdGhhdCBhbGwgbm9kZXMg aGF2ZSB0aGlzIGNsYXNzIGluIGNsYXNzcGF0aC4gVG8gZW5hYmxlIGJpbmFyeSBzZXJpYWxpemF0 aW9uIGVpdGhlciBpbXBsZW1lbnQgQmluYXJ5bGl6YWJsZSBpbnRlcmZhY2Ugb3Igc2V0IGV4cGxp Y2l0IHNlcmlhbGl6ZXIgdXNpbmcgQmluYXJ5VHlwZUNvbmZpZ3VyYXRpb24uc2V0U2VyaWFsaXpl cigpIG1ldGhvZC4NClsxNzo0NDozNF0gQ2xhc3MgIm8uYS5pLmkucHJvY2Vzc29ycy5oYWRvb3Au c2h1ZmZsZS5IYWRvb3BTaHVmZmxlTWVzc2FnZSIgY2Fubm90IGJlIHdyaXR0ZW4gaW4gYmluYXJ5 IGZvcm1hdCBiZWNhdXNlIGl0IGVpdGhlciBpbXBsZW1lbnRzIEV4dGVybmFsaXphYmxlIGludGVy ZmFjZSBvciBoYXZlIHdyaXRlT2JqZWN0L3JlYWRPYmplY3QgbWV0aG9kcy4gUGxlYXNlIGVuc3Vy ZSB0aGF0IGFsbCBub2RlcyBoYXZlIHRoaXMgY2xhc3MgaW4gY2xhc3NwYXRoLiBUbyBlbmFibGUg YmluYXJ5IHNlcmlhbGl6YXRpb24gZWl0aGVyIGltcGxlbWVudCBCaW5hcnlsaXphYmxlIGludGVy ZmFjZSBvciBzZXQgZXhwbGljaXQgc2VyaWFsaXplciB1c2luZyBCaW5hcnlUeXBlQ29uZmlndXJh dGlvbi5zZXRTZXJpYWxpemVyKCkgbWV0aG9kLg0KWzE3OjQ0OjM2XSBDbGFzcyAiby5hLmkuaS5w cm9jZXNzb3JzLmhhZG9vcC5zaHVmZmxlLkhhZG9vcFNodWZmbGVBY2siIGNhbm5vdCBiZSB3cml0 dGVuIGluIGJpbmFyeSBmb3JtYXQgYmVjYXVzZSBpdCBlaXRoZXIgaW1wbGVtZW50cyBFeHRlcm5h bGl6YWJsZSBpbnRlcmZhY2Ugb3IgaGF2ZSB3cml0ZU9iamVjdC9yZWFkT2JqZWN0IG1ldGhvZHMu IFBsZWFzZSBlbnN1cmUgdGhhdCBhbGwgbm9kZXMgaGF2ZSB0aGlzIGNsYXNzIGluIGNsYXNzcGF0 aC4gVG8gZW5hYmxlIGJpbmFyeSBzZXJpYWxpemF0aW9uIGVpdGhlciBpbXBsZW1lbnQgQmluYXJ5 bGl6YWJsZSBpbnRlcmZhY2Ugb3Igc2V0IGV4cGxpY2l0IHNlcmlhbGl6ZXIgdXNpbmcgQmluYXJ5 VHlwZUNvbmZpZ3VyYXRpb24uc2V0U2VyaWFsaXplcigpIG1ldGhvZC4NClsxNzo0NDozNl0gQ2xh c3MgIm8uYS5pLmkucHJvY2Vzc29ycy5oYWRvb3Auc2h1ZmZsZS5IYWRvb3BTaHVmZmxlQWNrIiBj YW5ub3QgYmUgd3JpdHRlbiBpbiBiaW5hcnkgZm9ybWF0IGJlY2F1c2UgaXQgZWl0aGVyIGltcGxl bWVudHMgRXh0ZXJuYWxpemFibGUgaW50ZXJmYWNlIG9yIGhhdmUgd3JpdGVPYmplY3QvcmVhZE9i amVjdCBtZXRob2RzLiBQbGVhc2UgZW5zdXJlIHRoYXQgYWxsIG5vZGVzIGhhdmUgdGhpcyBjbGFz cyBpbiBjbGFzc3BhdGguIFRvIGVuYWJsZSBiaW5hcnkgc2VyaWFsaXphdGlvbiBlaXRoZXIgaW1w bGVtZW50IEJpbmFyeWxpemFibGUgaW50ZXJmYWNlIG9yIHNldCBleHBsaWNpdCBzZXJpYWxpemVy IHVzaW5nIEJpbmFyeVR5cGVDb25maWd1cmF0aW9uLnNldFNlcmlhbGl6ZXIoKSBtZXRob2QuDQou L2lnbml0ZS5zaDogbGluZSAxNTc6IDQxMzI2IEtpbGxlZCAgICAgICAgICAgICAgICAgICIkSkFW QSIgJHtKVk1fT1BUU30gJHtRVUlFVH0gIiR7UkVTVEFSVF9TVUNDRVNTX09QVH0iICR7Sk1YX01P Tn0gLURJR05JVEVfSE9NRT0iJHtJR05JVEVfSE9NRX0iIC1ESUdOSVRFX1BST0dfTkFNRT0iJDAi ICR7SlZNX1hPUFRTfSAtY3AgIiR7Q1B9IiAke01BSU5fQ0xBU1N9ICIke0NPTkZJR30iDQpoZHVz ZXJAcnNsb2cxLXRqOn4vaWduaXRlL2JpbiQNCg0KYWxsIG5vZGVzIGhhdmUgdGhlIHNhbWUgY29u ZmlnDQo8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/Pg0KDQo8IS0tDQogIExp Y2Vuc2VkIHRvIHRoZSBBcGFjaGUgU29mdHdhcmUgRm91bmRhdGlvbiAoQVNGKSB1bmRlciBvbmUg b3IgbW9yZQ0KICBjb250cmlidXRvciBsaWNlbnNlIGFncmVlbWVudHMuICBTZWUgdGhlIE5PVElD RSBmaWxlIGRpc3RyaWJ1dGVkIHdpdGgNCiAgdGhpcyB3b3JrIGZvciBhZGRpdGlvbmFsIGluZm9y bWF0aW9uIHJlZ2FyZGluZyBjb3B5cmlnaHQgb3duZXJzaGlwLg0KICBUaGUgQVNGIGxpY2Vuc2Vz IHRoaXMgZmlsZSB0byBZb3UgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMA0K ICAodGhlICJMaWNlbnNlIik7IHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNv bXBsaWFuY2Ugd2l0aA0KICB0aGUgTGljZW5zZS4gIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0 aGUgTGljZW5zZSBhdA0KDQogICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJ Q0VOU0UtMi4wDQoNCiAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVl ZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQ0KICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5z ZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLA0KICBXSVRIT1VUIFdBUlJBTlRJ RVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4N CiAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBl cm1pc3Npb25zIGFuZA0KICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4NCi0tPg0KDQo8 IS0tDQogICAgSWduaXRlIFNwcmluZyBjb25maWd1cmF0aW9uIGZpbGUuDQoNCiAgICBXaGVuIHN0 YXJ0aW5nIGEgc3RhbmRhbG9uZSBJZ25pdGUgbm9kZSwgeW91IG5lZWQgdG8gZXhlY3V0ZSB0aGUg Zm9sbG93aW5nIGNvbW1hbmQ6DQogICAge0lHTklURV9IT01FfS9iaW4vaWduaXRlLntiYXR8c2h9 IHBhdGgtdG8tdGhpcy1maWxlL2RlZmF1bHQtY29uZmlnLnhtbA0KDQogICAgV2hlbiBzdGFydGlu ZyBJZ25pdGUgZnJvbSBKYXZhIElERSwgcGFzcyBwYXRoIHRvIHRoaXMgZmlsZSBpbnRvIElnbml0 aW9uOg0KICAgIElnbml0aW9uLnN0YXJ0KCJwYXRoLXRvLXRoaXMtZmlsZS9kZWZhdWx0LWNvbmZp Zy54bWwiKTsNCi0tPg0KPGJlYW5zIHhtbG5zPSJodHRwOi8vd3d3LnNwcmluZ2ZyYW1ld29yay5v cmcvc2NoZW1hL2JlYW5zIg0KICAgICAgIHhtbG5zOnhzaT0iaHR0cDovL3d3dy53My5vcmcvMjAw MS9YTUxTY2hlbWEtaW5zdGFuY2UiIHhtbG5zOnV0aWw9Imh0dHA6Ly93d3cuc3ByaW5nZnJhbWV3 b3JrLm9yZy9zY2hlbWEvdXRpbCINCiAgICAgICB4c2k6c2NoZW1hTG9jYXRpb249Imh0dHA6Ly93 d3cuc3ByaW5nZnJhbWV3b3JrLm9yZy9zY2hlbWEvYmVhbnMNCiAgICAgICBodHRwOi8vd3d3LnNw cmluZ2ZyYW1ld29yay5vcmcvc2NoZW1hL2JlYW5zL3NwcmluZy1iZWFucy54c2QNCiAgICAgICBo dHRwOi8vd3d3LnNwcmluZ2ZyYW1ld29yay5vcmcvc2NoZW1hL3V0aWwNCiAgICAgICBodHRwOi8v d3d3LnNwcmluZ2ZyYW1ld29yay5vcmcvc2NoZW1hL3V0aWwvc3ByaW5nLXV0aWwueHNkIj4NCg0K ICAgIDwhLS0NCiAgICAgICAgT3B0aW9uYWwgZGVzY3JpcHRpb24uDQogICAgLS0+DQogICAgPGRl c2NyaXB0aW9uPg0KICAgICAgICBTcHJpbmcgZmlsZSBmb3IgSWduaXRlIG5vZGUgY29uZmlndXJh dGlvbiB3aXRoIElHRlMgYW5kIEFwYWNoZSBIYWRvb3AgbWFwLXJlZHVjZSBzdXBwb3J0IGVuYWJs ZWQuDQogICAgICAgIElnbml0ZSBub2RlIHdpbGwgc3RhcnQgd2l0aCB0aGlzIGNvbmZpZ3VyYXRp b24gYnkgZGVmYXVsdC4NCiAgICA8L2Rlc2NyaXB0aW9uPg0KDQogICAgPCEtLQ0KICAgICAgICBJ bml0aWFsaXplIHByb3BlcnR5IGNvbmZpZ3VyZXIgc28gd2UgY2FuIHJlZmVyZW5jZSBlbnZpcm9u bWVudCB2YXJpYWJsZXMuDQogICAgLS0+DQogICAgPGJlYW4gaWQ9InByb3BlcnR5Q29uZmlndXJl ciIgY2xhc3M9Im9yZy5zcHJpbmdmcmFtZXdvcmsuYmVhbnMuZmFjdG9yeS5jb25maWcuUHJvcGVy dHlQbGFjZWhvbGRlckNvbmZpZ3VyZXIiPg0KICAgICAgICA8cHJvcGVydHkgbmFtZT0ic3lzdGVt UHJvcGVydGllc01vZGVOYW1lIiB2YWx1ZT0iU1lTVEVNX1BST1BFUlRJRVNfTU9ERV9GQUxMQkFD SyIvPg0KICAgICAgICA8cHJvcGVydHkgbmFtZT0ic2VhcmNoU3lzdGVtRW52aXJvbm1lbnQiIHZh bHVlPSJ0cnVlIi8+DQogICAgPC9iZWFuPg0KDQogICAgPCEtLQ0KICAgICAgICBBYnN0cmFjdCBJ R0ZTIGZpbGUgc3lzdGVtIGNvbmZpZ3VyYXRpb24gdG8gYmUgdXNlZCBhcyBhIHRlbXBsYXRlLg0K ICAgIC0tPg0KICAgIDxiZWFuIGlkPSJpZ2ZzQ2ZnQmFzZSIgY2xhc3M9Im9yZy5hcGFjaGUuaWdu aXRlLmNvbmZpZ3VyYXRpb24uRmlsZVN5c3RlbUNvbmZpZ3VyYXRpb24iIGFic3RyYWN0PSJ0cnVl Ij4NCiAgICAgICAgPCEtLSBNdXN0IGNvcnJlbGF0ZSB3aXRoIGNhY2hlIGFmZmluaXR5IG1hcHBl ci4gLS0+DQogICAgICAgIDxwcm9wZXJ0eSBuYW1lPSJibG9ja1NpemUiIHZhbHVlPSIjezEyOCAq IDEwMjR9Ii8+DQogICAgICAgIDxwcm9wZXJ0eSBuYW1lPSJwZXJOb2RlQmF0Y2hTaXplIiB2YWx1 ZT0iNTEyIi8+DQogICAgICAgIDxwcm9wZXJ0eSBuYW1lPSJwZXJOb2RlUGFyYWxsZWxCYXRjaENv dW50IiB2YWx1ZT0iMTYiLz4NCg0KICAgICAgICA8cHJvcGVydHkgbmFtZT0icHJlZmV0Y2hCbG9j a3MiIHZhbHVlPSIzMiIvPg0KICAgIDwvYmVhbj4NCg0KICAgIDxiZWFuIGNsYXNzPSJvcmcuYXBh Y2hlLmlnbml0ZS5jb25maWd1cmF0aW9uLkNhY2hlQ29uZmlndXJhdGlvbiI+DQogIDwhLS0gU3Rv cmUgY2FjaGUgZW50cmllcyBvbi1oZWFwLiAtLT4NCiAgPHByb3BlcnR5IG5hbWU9Im1lbW9yeU1v ZGUiIHZhbHVlPSJPTkhFQVBfVElFUkVEIi8+IA0KICA8IS0tIEVuYWJsZSBPZmYtSGVhcCBtZW1v cnkgd2l0aCBtYXggc2l6ZSBvZiAxMCBHaWdhYnl0ZXMgKDAgZm9yIHVubGltaXRlZCkuIC0tPg0K ICA8cHJvcGVydHkgbmFtZT0ib2ZmSGVhcE1heE1lbW9yeSIgdmFsdWU9IiN7MTQgKiAxMDI0TCAq IDEwMjRMICogMTAyNEx9Ii8+DQogIDwhLS0gQ29uZmlndXJlIGV2aWN0aW9uIHBvbGljeS4gLS0+ DQogIDxwcm9wZXJ0eSBuYW1lPSJldmljdGlvblBvbGljeSI+DQogICAgPGJlYW4gY2xhc3M9Im9y Zy5hcGFjaGUuaWduaXRlLmNhY2hlLmV2aWN0aW9uLmlnZnMuSWdmc1BlckJsb2NrTHJ1RXZpY3Rp b25Qb2xpY3kiPg0KICAgICAgPCEtLSBFdmljdCB0byBvZmYtaGVhcCBhZnRlciBjYWNoZSBzaXpl IHJlYWNoZXMgbWF4U2l6ZS4gLS0+DQogICAgICA8cHJvcGVydHkgbmFtZT0ibWF4U2l6ZSIgdmFs dWU9IjM0MDAwMDAiLz4NCg0KICAgIDwvYmVhbj4NCiAgPC9wcm9wZXJ0eT4NCiAgPC9iZWFuPg0K DQogICAgPCEtLQ0KICAgICAgICBBYnN0cmFjdCBjYWNoZSBjb25maWd1cmF0aW9uIGZvciBJR0ZT IGZpbGUgZGF0YSB0byBiZSB1c2VkIGFzIGEgdGVtcGxhdGUuDQogICAgLS0+DQogICAgPGJlYW4g aWQ9ImRhdGFDYWNoZUNmZ0Jhc2UiIGNsYXNzPSJvcmcuYXBhY2hlLmlnbml0ZS5jb25maWd1cmF0 aW9uLkNhY2hlQ29uZmlndXJhdGlvbiIgYWJzdHJhY3Q9InRydWUiPg0KICAgICAgICA8cHJvcGVy dHkgbmFtZT0iY2FjaGVNb2RlIiB2YWx1ZT0iUEFSVElUSU9ORUQiLz4NCiAgICAgICAgPHByb3Bl cnR5IG5hbWU9ImF0b21pY2l0eU1vZGUiIHZhbHVlPSJUUkFOU0FDVElPTkFMIi8+DQogICAgICAg IDxwcm9wZXJ0eSBuYW1lPSJ3cml0ZVN5bmNocm9uaXphdGlvbk1vZGUiIHZhbHVlPSJGVUxMX1NZ TkMiLz4NCiAgICAgICAgPHByb3BlcnR5IG5hbWU9ImJhY2t1cHMiIHZhbHVlPSIwIi8+DQogICAg ICAgIDxwcm9wZXJ0eSBuYW1lPSJhZmZpbml0eU1hcHBlciI+DQogICAgICAgICAgICA8YmVhbiBj bGFzcz0ib3JnLmFwYWNoZS5pZ25pdGUuaWdmcy5JZ2ZzR3JvdXBEYXRhQmxvY2tzS2V5TWFwcGVy Ij4NCiAgICAgICAgICAgICAgICA8IS0tIEhvdyBtYW55IHNlcXVlbnRpYWwgYmxvY2tzIHdpbGwg YmUgc3RvcmVkIG9uIHRoZSBzYW1lIG5vZGUuIC0tPg0KICAgICAgICAgICAgICAgIDxjb25zdHJ1 Y3Rvci1hcmcgdmFsdWU9IjUxMiIvPg0KICAgICAgICAgICAgPC9iZWFuPg0KICAgICAgICA8L3By b3BlcnR5Pg0KICAgIDwvYmVhbj4NCg0KICAgIDwhLS0NCiAgICAgICAgQWJzdHJhY3QgY2FjaGUg Y29uZmlndXJhdGlvbiBmb3IgSUdGUyBtZXRhZGF0YSB0byBiZSB1c2VkIGFzIGEgdGVtcGxhdGUu DQogICAgLS0+DQogICAgPGJlYW4gaWQ9Im1ldGFDYWNoZUNmZ0Jhc2UiIGNsYXNzPSJvcmcuYXBh Y2hlLmlnbml0ZS5jb25maWd1cmF0aW9uLkNhY2hlQ29uZmlndXJhdGlvbiIgYWJzdHJhY3Q9InRy dWUiPg0KICAgICAgICA8cHJvcGVydHkgbmFtZT0iY2FjaGVNb2RlIiB2YWx1ZT0iUkVQTElDQVRF RCIvPg0KICAgICAgICA8cHJvcGVydHkgbmFtZT0iYXRvbWljaXR5TW9kZSIgdmFsdWU9IlRSQU5T QUNUSU9OQUwiLz4NCiAgICAgICAgPHByb3BlcnR5IG5hbWU9IndyaXRlU3luY2hyb25pemF0aW9u TW9kZSIgdmFsdWU9IkZVTExfU1lOQyIvPg0KICAgIDwvYmVhbj4NCg0KICAgIDwhLS0NCiAgICAg ICAgQ29uZmlndXJhdGlvbiBvZiBJZ25pdGUgbm9kZS4NCiAgICAtLT4NCiAgICA8YmVhbiBpZD0i Z3JpZC5jZmciIGNsYXNzPSJvcmcuYXBhY2hlLmlnbml0ZS5jb25maWd1cmF0aW9uLklnbml0ZUNv bmZpZ3VyYXRpb24iPg0KICAgICAgICA8IS0tDQogICAgICAgICAgICBBcGFjaGUgSGFkb29wIEFj Y2VsZXJhdG9yIGNvbmZpZ3VyYXRpb24uDQogICAgICAgIC0tPg0KICAgICAgICA8cHJvcGVydHkg bmFtZT0iaGFkb29wQ29uZmlndXJhdGlvbiI+DQogICAgICAgICAgICA8YmVhbiBjbGFzcz0ib3Jn LmFwYWNoZS5pZ25pdGUuY29uZmlndXJhdGlvbi5IYWRvb3BDb25maWd1cmF0aW9uIj4NCiAgICAg ICAgICAgICAgICA8IS0tIEluZm9ybWF0aW9uIGFib3V0IGZpbmlzaGVkIGpvYnMgd2lsbCBiZSBr ZXB0IGZvciAzMCBzZWNvbmRzLiAtLT4NCiAgICAgICAgICAgICAgICA8cHJvcGVydHkgbmFtZT0i ZmluaXNoZWRKb2JJbmZvVHRsIiB2YWx1ZT0iMzAwMDAwIi8+DQoNCiAgICAgICAgICAgIDwvYmVh bj4NCiAgICAgICAgPC9wcm9wZXJ0eT4NCg0KICAgICAgICA8IS0tDQogICAgICAgICAgICBUaGlz IHBvcnQgd2lsbCBiZSB1c2VkIGJ5IEFwYWNoZSBIYWRvb3AgY2xpZW50IHRvIGNvbm5lY3QgdG8g SWduaXRlIG5vZGUgYXMgaWYgaXQgd2FzIGEgam9iIHRyYWNrZXIuDQogICAgICAgIC0tPg0KICAg ICAgICA8cHJvcGVydHkgbmFtZT0iY29ubmVjdG9yQ29uZmlndXJhdGlvbiI+DQogICAgICAgICAg ICA8YmVhbiBjbGFzcz0ib3JnLmFwYWNoZS5pZ25pdGUuY29uZmlndXJhdGlvbi5Db25uZWN0b3JD b25maWd1cmF0aW9uIj4NCiAgICAgICAgICAgICAgICA8cHJvcGVydHkgbmFtZT0icG9ydCIgdmFs dWU9IjExMjExIi8+DQogICAgICAgICAgICA8L2JlYW4+DQogICAgICAgIDwvcHJvcGVydHk+DQoN CiAgICAgICAgPCEtLQ0KICAgICAgICAgICAgQ29uZmlndXJlIG9uZSBJR0ZTIGZpbGUgc3lzdGVt IGluc3RhbmNlIG5hbWVkICJpZ2ZzIiBvbiB0aGlzIG5vZGUuDQogICAgICAgIC0tPg0KICAgICAg ICA8cHJvcGVydHkgbmFtZT0iZmlsZVN5c3RlbUNvbmZpZ3VyYXRpb24iPg0KICAgICAgICAgICAg PGxpc3Q+DQogICAgICAgICAgICAgICAgPGJlYW4gY2xhc3M9Im9yZy5hcGFjaGUuaWduaXRlLmNv bmZpZ3VyYXRpb24uRmlsZVN5c3RlbUNvbmZpZ3VyYXRpb24iIHBhcmVudD0iaWdmc0NmZ0Jhc2Ui Pg0KICAgICAgICAgICAgICAgICAgICA8cHJvcGVydHkgbmFtZT0ibmFtZSIgdmFsdWU9ImlnZnMi Lz4NCg0KICAgICAgICAgICAgICAgICAgICA8IS0tIENhY2hlcyB3aXRoIHRoZXNlIG5hbWVzIG11 c3QgYmUgY29uZmlndXJlZC4gLS0+DQogICAgICAgICAgICAgICAgICAgIDxwcm9wZXJ0eSBuYW1l PSJtZXRhQ2FjaGVOYW1lIiB2YWx1ZT0iaWdmcy1tZXRhIi8+DQogICAgICAgICAgICAgICAgICAg IDxwcm9wZXJ0eSBuYW1lPSJkYXRhQ2FjaGVOYW1lIiB2YWx1ZT0iaWdmcy1kYXRhIi8+DQoNCiAg ICAgICAgICAgICAgICAgICAgPCEtLSBDb25maWd1cmUgVENQIGVuZHBvaW50IGZvciBjb21tdW5p Y2F0aW9uIHdpdGggdGhlIGZpbGUgc3lzdGVtIGluc3RhbmNlLiAtLT4NCiAgICAgICAgICAgICAg ICAgICAgPHByb3BlcnR5IG5hbWU9ImlwY0VuZHBvaW50Q29uZmlndXJhdGlvbiI+DQogICAgICAg ICAgICAgICAgICAgICAgICA8YmVhbiBjbGFzcz0ib3JnLmFwYWNoZS5pZ25pdGUuaWdmcy5JZ2Zz SXBjRW5kcG9pbnRDb25maWd1cmF0aW9uIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8 cHJvcGVydHkgbmFtZT0idHlwZSIgdmFsdWU9IlRDUCIgLz4NCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICA8cHJvcGVydHkgbmFtZT0iaG9zdCIgdmFsdWU9IjAuMC4wLjAiIC8+DQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgPHByb3BlcnR5IG5hbWU9InBvcnQiIHZhbHVlPSIxMDUwMCIg Lz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvYmVhbj4NCiAgICAgICAgICAgICAgICAgICAg PC9wcm9wZXJ0eT4NCg0KICAgICAgICAgICAgICAgICAgICA8IS0tIFNhbXBsZSBzZWNvbmRhcnkg ZmlsZSBzeXN0ZW0gY29uZmlndXJhdGlvbi4NCiAgICAgICAgICAgICAgICAgICAgICAgICd1cmkn ICAgICAgLSB0aGUgVVJJIG9mIHRoZSBzZWNvbmRhcnkgZmlsZSBzeXN0ZW0uDQogICAgICAgICAg ICAgICAgICAgICAgICAnY2ZnUGF0aCcgIC0gb3B0aW9uYWwgY29uZmlndXJhdGlvbiBwYXRoIG9m IHRoZSBzZWNvbmRhcnkgZmlsZSBzeXN0ZW0sDQogICAgICAgICAgICAgICAgICAgICAgICAgICAg ZS5nLiAvb3B0L2Zvby9jb3JlLXNpdGUueG1sLiBUeXBpY2FsbHkgbGVmdCB0byBiZSBudWxsLg0K ICAgICAgICAgICAgICAgICAgICAgICAgJ3VzZXJOYW1lJyAtIG9wdGlvbmFsIHVzZXIgbmFtZSB0 byBhY2Nlc3MgdGhlIHNlY29uZGFyeSBmaWxlIHN5c3RlbSBvbiBiZWhhbGYgb2YuIFVzZSBpdA0K ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIEhhZG9vcCBjbGllbnQgYW5kIHRoZSBJZ25p dGUgbm9kZSBhcmUgcnVubmluZyBvbiBiZWhhbGYgb2YgZGlmZmVyZW50IHVzZXJzLg0KICAgICAg ICAgICAgICAgICAgICAtLT4NCiAgICAgICAgICAgICAgICAgICAgPHByb3BlcnR5IG5hbWU9InNl Y29uZGFyeUZpbGVTeXN0ZW0iPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGJlYW4gY2xhc3M9 Im9yZy5hcGFjaGUuaWduaXRlLmhhZG9vcC5mcy5JZ25pdGVIYWRvb3BJZ2ZzU2Vjb25kYXJ5Rmls ZVN5c3RlbSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNvbnN0cnVjdG9yLWFyZyBu YW1lPSJ1cmkiIHZhbHVlPSJoZGZzOi8vMjAyLjk5Ljk2LjE3MDo5MDAwIi8+DQoNCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICA8Y29uc3RydWN0b3ItYXJnIG5hbWU9ImNmZ1BhdGgiPjxudWxs Lz48L2NvbnN0cnVjdG9yLWFyZz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y29uc3Ry dWN0b3ItYXJnIG5hbWU9InVzZXJOYW1lIiB2YWx1ZT0iY2xpZW50LXVzZXItbmFtZSIvPg0KICAg ICAgICAgICAgICAgICAgICAgICAgPC9iZWFuPg0KICAgICAgICAgICAgICAgICAgICA8L3Byb3Bl cnR5Pg0KICAgICAgICAgICAgICAgIDwvYmVhbj4NCiAgICAgICAgICAgIDwvbGlzdD4NCiAgICAg ICAgPC9wcm9wZXJ0eT4NCg0KICAgICAgICA8IS0tDQogICAgICAgICAgICBDYWNoZXMgbmVlZGVk IGJ5IElHRlMuDQogICAgICAgIC0tPg0KICAgICAgICA8cHJvcGVydHkgbmFtZT0iY2FjaGVDb25m aWd1cmF0aW9uIj4NCiAgICAgICAgICAgIDxsaXN0Pg0KICAgICAgICAgICAgICAgIDwhLS0gRmls ZSBzeXN0ZW0gbWV0YWRhdGEgY2FjaGUuIC0tPg0KICAgICAgICAgICAgICAgIDxiZWFuIGNsYXNz PSJvcmcuYXBhY2hlLmlnbml0ZS5jb25maWd1cmF0aW9uLkNhY2hlQ29uZmlndXJhdGlvbiIgcGFy ZW50PSJtZXRhQ2FjaGVDZmdCYXNlIj4NCiAgICAgICAgICAgICAgICAgICAgPHByb3BlcnR5IG5h bWU9Im5hbWUiIHZhbHVlPSJpZ2ZzLW1ldGEiLz4NCiAgICAgICAgICAgICAgICA8L2JlYW4+DQoN CiAgICAgICAgICAgICAgICA8IS0tIEZpbGUgc3lzdGVtIGZpbGVzIGRhdGEgY2FjaGUuIC0tPg0K ICAgICAgICAgICAgICAgIDxiZWFuIGNsYXNzPSJvcmcuYXBhY2hlLmlnbml0ZS5jb25maWd1cmF0 aW9uLkNhY2hlQ29uZmlndXJhdGlvbiIgcGFyZW50PSJkYXRhQ2FjaGVDZmdCYXNlIj4NCiAgICAg ICAgICAgICAgICAgICAgPHByb3BlcnR5IG5hbWU9Im5hbWUiIHZhbHVlPSJpZ2ZzLWRhdGEiLz4N CiAgICAgICAgICAgICAgICA8L2JlYW4+DQogICAgICAgICAgICA8L2xpc3Q+DQogICAgICAgIDwv cHJvcGVydHk+DQoNCiAgICAgICAgPCEtLQ0KICAgICAgICAgICAgRGlzYWJsZSBldmVudHMuDQog ICAgICAgIC0tPg0KICAgICAgICA8cHJvcGVydHkgbmFtZT0iaW5jbHVkZUV2ZW50VHlwZXMiPg0K ICAgICAgICAgICAgPGxpc3Q+DQogICAgICAgICAgICAgICAgPHV0aWw6Y29uc3RhbnQgc3RhdGlj LWZpZWxkPSJvcmcuYXBhY2hlLmlnbml0ZS5ldmVudHMuRXZlbnRUeXBlLkVWVF9UQVNLX0ZBSUxF RCIvPg0KICAgICAgICAgICAgICAgIDx1dGlsOmNvbnN0YW50IHN0YXRpYy1maWVsZD0ib3JnLmFw YWNoZS5pZ25pdGUuZXZlbnRzLkV2ZW50VHlwZS5FVlRfVEFTS19GSU5JU0hFRCIvPg0KICAgICAg ICAgICAgICAgIDx1dGlsOmNvbnN0YW50IHN0YXRpYy1maWVsZD0ib3JnLmFwYWNoZS5pZ25pdGUu ZXZlbnRzLkV2ZW50VHlwZS5FVlRfSk9CX01BUFBFRCIvPg0KICAgICAgICAgICAgPC9saXN0Pg0K ICAgICAgICA8L3Byb3BlcnR5Pg0KDQogICAgICAgIDwhLS0NCiAgICAgICAgICAgIFRDUCBkaXNj b3ZlcnkgU1BJIGNhbiBiZSBjb25maWd1cmVkIHdpdGggbGlzdCBvZiBhZGRyZXNzZXMgaWYgbXVs dGljYXN0IGlzIG5vdCBhdmFpbGFibGUuDQogICAgICAgIC0tPg0KICAgICAgICA8cHJvcGVydHkg bmFtZT0iZGlzY292ZXJ5U3BpIj4NCiAgICAgICAgICAgIDxiZWFuIGNsYXNzPSJvcmcuYXBhY2hl Lmlnbml0ZS5zcGkuZGlzY292ZXJ5LnRjcC5UY3BEaXNjb3ZlcnlTcGkiPg0KICAgICAgICAgICAg ICAgIDxwcm9wZXJ0eSBuYW1lPSJpcEZpbmRlciI+DQogICAgICAgICAgICAgICAgICAgIDxiZWFu IGNsYXNzPSJvcmcuYXBhY2hlLmlnbml0ZS5zcGkuZGlzY292ZXJ5LnRjcC5pcGZpbmRlci52bS5U Y3BEaXNjb3ZlcnlWbUlwRmluZGVyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxwcm9wZXJ0 eSBuYW1lPSJhZGRyZXNzZXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaXN0Pg0K ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dmFsdWU+MjAyLjk5Ljk2LjE3MDwvdmFs dWU+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZT4yMDIuOTkuNjkuMTcw OjQ3NTAwLi40NzUwOTwvdmFsdWU+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx2 YWx1ZT4yMDIuOTkuOTYuMTc0OjQ3NTAwLi40NzUwOTwvdmFsdWU+DQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIDx2YWx1ZT4yMDIuOTkuOTYuMTc4OjQ3NTAwLi40NzUwOTwvdmFsdWU+ DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx2YWx1ZT4yMDIuOTkuNjkuMTc0OjQ3 NTAwLi40NzUwOTwvdmFsdWU+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx2YWx1 ZT4yMDIuOTkuNjkuMTc4OjQ3NTAwLi40NzUwOTwvdmFsdWU+DQogICAgICAgICAgICAgICAgICAg ICAgICAgICAgPC9saXN0Pg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9wcm9wZXJ0eT4NCiAg ICAgICAgICAgICAgICAgICAgPC9iZWFuPg0KICAgICAgICAgICAgICAgIDwvcHJvcGVydHk+DQog ICAgICAgICAgICA8L2JlYW4+DQogICAgICAgIDwvcHJvcGVydHk+DQogICAgPC9iZWFuPg0KPC9i ZWFucz4NCg0KYW5kIHRoZSBpZ25pdGUuc2ggY29uZmlnIGlzIA0KIyEvYmluL2Jhc2gNCiMNCiMg TGljZW5zZWQgdG8gdGhlIEFwYWNoZSBTb2Z0d2FyZSBGb3VuZGF0aW9uIChBU0YpIHVuZGVyIG9u ZSBvciBtb3JlDQojIGNvbnRyaWJ1dG9yIGxpY2Vuc2UgYWdyZWVtZW50cy4gIFNlZSB0aGUgTk9U SUNFIGZpbGUgZGlzdHJpYnV0ZWQgd2l0aA0KIyB0aGlzIHdvcmsgZm9yIGFkZGl0aW9uYWwgaW5m b3JtYXRpb24gcmVnYXJkaW5nIGNvcHlyaWdodCBvd25lcnNoaXAuDQojIFRoZSBBU0YgbGljZW5z ZXMgdGhpcyBmaWxlIHRvIFlvdSB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4w DQojICh0aGUgIkxpY2Vuc2UiKTsgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4g Y29tcGxpYW5jZSB3aXRoDQojIHRoZSBMaWNlbnNlLiAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9m IHRoZSBMaWNlbnNlIGF0DQojDQojICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2Vz L0xJQ0VOU0UtMi4wDQojDQojIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBh Z3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUNCiMgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExp Y2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywNCiMgV0lUSE9VVCBXQVJS QU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxp ZWQuDQojIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmlu ZyBwZXJtaXNzaW9ucyBhbmQNCiMgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuDQojDQoN CiMNCiMgR3JpZCBjb21tYW5kIGxpbmUgbG9hZGVyLg0KIw0KDQojDQojIEltcG9ydCBjb21tb24g ZnVuY3Rpb25zLg0KIw0KaWYgWyAiJHtJR05JVEVfSE9NRX0iID0gIiIgXTsNCiAgICB0aGVuIElH TklURV9IT01FX1RNUD0iJChkaXJuYW1lICIkKGNkICIkKGRpcm5hbWUgIiQwIikiOyAicHdkIiki KSI7DQogICAgZWxzZSBJR05JVEVfSE9NRV9UTVA9JHtJR05JVEVfSE9NRX07DQpmaQ0KDQojDQoj IFNldCBTQ1JJUFRTX0hPTUUgLSBiYXNlIHBhdGggdG8gc2NyaXB0cy4NCiMNClNDUklQVFNfSE9N RT0iJHtJR05JVEVfSE9NRV9UTVB9L2JpbiINCg0Kc291cmNlICIke1NDUklQVFNfSE9NRX0iL2lu Y2x1ZGUvZnVuY3Rpb25zLnNoDQoNCiMNCiMgRGlzY292ZXIgcGF0aCB0byBKYXZhIGV4ZWN1dGFi bGUgYW5kIGNoZWNrIGl0J3MgdmVyc2lvbi4NCiMNCmNoZWNrSmF2YQ0KDQojDQojIERpc2NvdmVy IElHTklURV9IT01FIGVudmlyb25tZW50IHZhcmlhYmxlLg0KIw0Kc2V0SWduaXRlSG9tZQ0KDQpp ZiBbICIke0RFRkFVTFRfQ09ORklHfSIgPT0gIiIgXTsgdGhlbg0KICAgIERFRkFVTFRfQ09ORklH PWNvbmZpZy9kZWZhdWx0LWNvbmZpZy54bWwNCmZpDQoNCiMNCiMgUGFyc2UgY29tbWFuZCBsaW5l IHBhcmFtZXRlcnMuDQojDQouICIke1NDUklQVFNfSE9NRX0iL2luY2x1ZGUvcGFyc2VhcmdzLnNo DQoNCiMNCiMgU2V0IElHTklURV9MSUJTLg0KIw0KLiAiJHtTQ1JJUFRTX0hPTUV9Ii9pbmNsdWRl L3NldGVudi5zaA0KDQpDUD0iJHtJR05JVEVfTElCU30iDQoNClJBTkRPTV9OVU1CRVI9JCgiJEpB VkEiIC1jcCAiJHtDUH0iIG9yZy5hcGFjaGUuaWduaXRlLnN0YXJ0dXAuY21kbGluZS5Db21tYW5k TGluZVJhbmRvbU51bWJlckdlbmVyYXRvcikNCg0KUkVTVEFSVF9TVUNDRVNTX0ZJTEU9IiR7SUdO SVRFX0hPTUV9L3dvcmsvaWduaXRlX3N1Y2Nlc3NfJHtSQU5ET01fTlVNQkVSfSINClJFU1RBUlRf U1VDQ0VTU19PUFQ9Ii1ESUdOSVRFX1NVQ0NFU1NfRklMRT0ke1JFU1RBUlRfU1VDQ0VTU19GSUxF fSINCg0KIw0KIyBGaW5kIGF2YWlsYWJsZSBwb3J0IGZvciBKTVgNCiMNCiMgWW91IGNhbiBzcGVj aWZ5IElHTklURV9KTVhfUE9SVCBlbnZpcm9ubWVudCB2YXJpYWJsZSBmb3Igb3ZlcnJpZGluZyBh dXRvbWF0aWNhbGx5IGZvdW5kIEpNWCBwb3J0DQojDQojIFRoaXMgaXMgZXhlY3V0ZWQgd2hlbiAt bm9qbXggaXMgbm90IHNwZWNpZmllZA0KIw0KaWYgWyAiJHtOT0pNWH0iID09ICIwIiBdIDsgdGhl bg0KICAgIGZpbmRBdmFpbGFibGVKbXhQb3J0DQpmaQ0KDQojIE1hYyBPUyBzcGVjaWZpYyBzdXBw b3J0IHRvIGRpc3BsYXkgY29ycmVjdCBuYW1lIGluIHRoZSBkb2NrLg0Kb3NuYW1lPWB1bmFtZWAN Cg0KaWYgWyAiJHtET0NLX09QVFN9IiA9PSAiIiBdOyB0aGVuDQogICAgRE9DS19PUFRTPSItWGRv Y2s6bmFtZT1JZ25pdGUgTm9kZSINCmZpDQoNCiMNCiMgSlZNIG9wdGlvbnMuIFNlZSBodHRwOi8v amF2YS5zdW4uY29tL2phdmFzZS90ZWNobm9sb2dpZXMvaG90c3BvdC92bW9wdGlvbnMuanNwIGZv ciBtb3JlIGRldGFpbHMuDQojDQojIEFERCBZT1VSL0NIQU5HRSBBRERJVElPTkFMIE9QVElPTlMg SEVSRQ0KIw0KaWYgWyAteiAiJEpWTV9PUFRTIiBdIDsgdGhlbg0KICAgIEpWTV9PUFRTPSItWG1z MzJnIC1YbXgzMmcgLXNlcnZlciAtWFg6K0FnZ3Jlc3NpdmVPcHRzIC1YWDpNYXhQZXJtU2l6ZT0x NmciDQpmaQ0KDQojDQojIFVuY29tbWVudCB0aGUgZm9sbG93aW5nIEdDIHNldHRpbmdzIGlmIHlv dSBzZWUgc3Bpa2VzIGluIHlvdXIgdGhyb3VnaHB1dCBkdWUgdG8gR2FyYmFnZSBDb2xsZWN0aW9u Lg0KIw0KIyBKVk1fT1BUUz0iJEpWTV9PUFRTIC1YWDorVXNlUGFyTmV3R0MgLVhYOitVc2VDb25j TWFya1N3ZWVwR0MgLVhYOitVc2VUTEFCIC1YWDpOZXdTaXplPTEyOG0gLVhYOk1heE5ld1NpemU9 MTI4bSINCiMgSlZNX09QVFM9IiRKVk1fT1BUUyAtWFg6TWF4VGVudXJpbmdUaHJlc2hvbGQ9MCAt WFg6U3Vydml2b3JSYXRpbz0xMDI0IC1YWDorVXNlQ01TSW5pdGlhdGluZ09jY3VwYW5jeU9ubHkg LVhYOkNNU0luaXRpYXRpbmdPY2N1cGFuY3lGcmFjdGlvbj02MCINCg0KIw0KIyBVbmNvbW1lbnQg aWYgeW91IGdldCBTdGFja092ZXJmbG93RXJyb3IuDQojIE9uIDY0IGJpdCBzeXN0ZW1zIHRoaXMg dmFsdWUgY2FuIGJlIGxhcmdlciwgZS5nLiAtWHNzMTZtDQojDQojIEpWTV9PUFRTPSIke0pWTV9P UFRTfSAtWHNzNG0iDQoNCiMNCiMgVW5jb21tZW50IHRvIHNldCBwcmVmZXJlbmNlIGZvciBJUHY0 IHN0YWNrLg0KIw0KIyBKVk1fT1BUUz0iJHtKVk1fT1BUU30gLURqYXZhLm5ldC5wcmVmZXJJUHY0 U3RhY2s9dHJ1ZSINCg0KIw0KIyBBc3NlcnRpb25zIGFyZSBkaXNhYmxlZCBieSBkZWZhdWx0IHNp bmNlIHZlcnNpb24gMy41Lg0KIyBJZiB5b3Ugd2FudCB0byBlbmFibGUgdGhlbSAtIHNldCAnRU5B QkxFX0FTU0VSVElPTlMnIGZsYWcgdG8gJzEnLg0KIw0KRU5BQkxFX0FTU0VSVElPTlM9IjAiDQoN CiMNCiMgU2V0ICctZWEnIG9wdGlvbnMgaWYgYXNzZXJ0aW9ucyBhcmUgZW5hYmxlZC4NCiMNCmlm IFsgIiR7RU5BQkxFX0FTU0VSVElPTlN9IiA9ICIxIiBdOyB0aGVuDQogICAgSlZNX09QVFM9IiR7 SlZNX09QVFN9IC1lYSINCmZpDQoNCiMNCiMgU2V0IG1haW4gY2xhc3MgdG8gc3RhcnQgc2Vydmlj ZSAoZ3JpZCBub2RlIGJ5IGRlZmF1bHQpLg0KIw0KaWYgWyAiJHtNQUlOX0NMQVNTfSIgPSAiIiBd OyB0aGVuDQogICAgTUFJTl9DTEFTUz1vcmcuYXBhY2hlLmlnbml0ZS5zdGFydHVwLmNtZGxpbmUu Q29tbWFuZExpbmVTdGFydHVwDQpmaQ0KDQojDQojIFJlbW90ZSBkZWJ1Z2dpbmcgKEpQREEpLg0K IyBVbmNvbW1lbnQgYW5kIGNoYW5nZSBpZiByZW1vdGUgZGVidWdnaW5nIGlzIHJlcXVpcmVkLg0K Iw0KIyBKVk1fT1BUUz0iLWFnZW50bGliOmpkd3A9dHJhbnNwb3J0PWR0X3NvY2tldCxzZXJ2ZXI9 eSxzdXNwZW5kPW4sYWRkcmVzcz04Nzg3ICR7SlZNX09QVFN9Ig0KDQpFUlJPUkNPREU9Ii0xIg0K DQp3aGlsZSBbICIke0VSUk9SQ09ERX0iIC1uZSAiMTMwIiBdDQpkbw0KICAgIGlmIFsgIiR7SU5U RVJBQ1RJVkV9IiA9PSAiMSIgXSA7IHRoZW4NCiAgICAgICAgY2FzZSAkb3NuYW1lIGluDQogICAg ICAgICAgICBEYXJ3aW4qKQ0KICAgICAgICAgICAgICAgICIkSkFWQSIgJHtKVk1fT1BUU30gJHtR VUlFVH0gIiR7RE9DS19PUFRTfSIgIiR7UkVTVEFSVF9TVUNDRVNTX09QVH0iICR7Sk1YX01PTn0g XA0KICAgICAgICAgICAgICAgICAtRElHTklURV9IT01FPSIke0lHTklURV9IT01FfSIgXA0KICAg ICAgICAgICAgICAgIC1ESUdOSVRFX1BST0dfTkFNRT0iJDAiICR7SlZNX1hPUFRTfSAtY3AgIiR7 Q1B9IiAke01BSU5fQ0xBU1N9DQogICAgICAgICAgICA7Ow0KICAgICAgICAgICAgKikNCiAgICAg ICAgICAgICAgICAiJEpBVkEiICR7SlZNX09QVFN9ICR7UVVJRVR9ICIke1JFU1RBUlRfU1VDQ0VT U19PUFR9IiAke0pNWF9NT059IFwNCiAgICAgICAgICAgICAgICAgLURJR05JVEVfSE9NRT0iJHtJ R05JVEVfSE9NRX0iIFwNCiAgICAgICAgICAgICAgICAtRElHTklURV9QUk9HX05BTUU9IiQwIiAk e0pWTV9YT1BUU30gLWNwICIke0NQfSIgJHtNQUlOX0NMQVNTfQ0KICAgICAgICAgICAgOzsNCiAg ICAgICAgZXNhYw0KICAgIGVsc2UNCiAgICAgICAgY2FzZSAkb3NuYW1lIGluDQogICAgICAgICAg ICBEYXJ3aW4qKQ0KICAgICAgICAgICAgICAgICIkSkFWQSIgJHtKVk1fT1BUU30gJHtRVUlFVH0g IiR7RE9DS19PUFRTfSIgIiR7UkVTVEFSVF9TVUNDRVNTX09QVH0iICR7Sk1YX01PTn0gXA0KICAg ICAgICAgICAgICAgICAgLURJR05JVEVfSE9NRT0iJHtJR05JVEVfSE9NRX0iIFwNCiAgICAgICAg ICAgICAgICAgLURJR05JVEVfUFJPR19OQU1FPSIkMCIgJHtKVk1fWE9QVFN9IC1jcCAiJHtDUH0i ICR7TUFJTl9DTEFTU30gIiR7Q09ORklHfSINCiAgICAgICAgICAgIDs7DQogICAgICAgICAgICAq KQ0KICAgICAgICAgICAgICAgICIkSkFWQSIgJHtKVk1fT1BUU30gJHtRVUlFVH0gIiR7UkVTVEFS VF9TVUNDRVNTX09QVH0iICR7Sk1YX01PTn0gXA0KICAgICAgICAgICAgICAgICAgLURJR05JVEVf SE9NRT0iJHtJR05JVEVfSE9NRX0iIFwNCiAgICAgICAgICAgICAgICAgLURJR05JVEVfUFJPR19O QU1FPSIkMCIgJHtKVk1fWE9QVFN9IC1jcCAiJHtDUH0iICR7TUFJTl9DTEFTU30gIiR7Q09ORklH fSINCiAgICAgICAgICAgIDs7DQogICAgICAgIGVzYWMNCiAgICBmaQ0KDQogICAgRVJST1JDT0RF PSIkPyINCg0KICAgIGlmIFsgISAtZiAiJHtSRVNUQVJUX1NVQ0NFU1NfRklMRX0iIF0gOyB0aGVu DQogICAgICAgIGJyZWFrDQogICAgZWxzZQ0KICAgICAgICBybSAtZiAiJHtSRVNUQVJUX1NVQ0NF U1NfRklMRX0iDQogICAgZmkNCmRvbmUNCg0KaWYgWyAtZiAiJHtSRVNUQVJUX1NVQ0NFU1NfRklM RX0iIF0gOyB0aGVuDQogICAgcm0gLWYgIiR7UkVTVEFSVF9TVUNDRVNTX0ZJTEV9Ig0KZmkNCg0K YW5kIHRoZSBsb2cgaW5mbyAsIGl0IGxvb2tzIGxpa2Ugbm9ybWFsLg0KWzE4OjAxOjQzLDE0Ml1b SU5GTyBdW0hhZG9vcC10YXNrLTc5NjUzNzBiLTZkZjItNGFiYy1hYjYxLThkNzdhMmNlZTE4YV8x LU1BUC03NDItMC0jMjk3JW51bGwlXVtDb2RlY1Bvb2xdIEdvdCBicmFuZC1uZXcgZGVjb21wcmVz c29yIFsuZ3pdDQpbMTg6MDE6NDksMDQxXVtJTkZPIF1bSGFkb29wLXRhc2stNzk2NTM3MGItNmRm Mi00YWJjLWFiNjEtOGQ3N2EyY2VlMThhXzEtTUFQLTc0MS0wLSMyOTYlbnVsbCVdW0NvZGVjUG9v bF0gR290IGJyYW5kLW5ldyBkZWNvbXByZXNzb3IgWy5nel0NClsxODowMTo1NSw2MjddW0lORk8g XVtncmlkLXRpbWVvdXQtd29ya2VyLSM5NyVudWxsJV1bSWduaXRlS2VybmFsXSANCk1ldHJpY3Mg Zm9yIGxvY2FsIG5vZGUgKHRvIGRpc2FibGUgc2V0ICdtZXRyaWNzTG9nRnJlcXVlbmN5JyB0byAw KQ0KICAgIF4tLSBOb2RlIFtpZD03OTY1MzcwYiwgbmFtZT1udWxsXQ0KICAgIF4tLSBIL04vQyBb aG9zdHM9Niwgbm9kZXM9NiwgQ1BVcz0xNDRdDQogICAgXi0tIENQVSBbY3VyPTc4LjkzJSwgYXZn PTczLjIlLCBHQz0wLjAzJV0NCiAgICBeLS0gSGVhcCBbdXNlZD03OTc2TUIsIGZyZWU9NzUuNjQl LCBjb21tPTMyNzUwTUJdDQogICAgXi0tIFB1YmxpYyB0aHJlYWQgcG9vbCBbYWN0aXZlPTksIGlk bGU9MzksIHFTaXplPTBdDQogICAgXi0tIFN5c3RlbSB0aHJlYWQgcG9vbCBbYWN0aXZlPTAsIGlk bGU9NDgsIHFTaXplPTBdDQogICAgXi0tIE91dGJvdW5kIG1lc3NhZ2VzIHF1ZXVlIFtzaXplPTBd DQpbMTg6MDI6MDAsNjY3XVtJTkZPIF1bSGFkb29wLXRhc2stNzk2NTM3MGItNmRmMi00YWJjLWFi NjEtOGQ3N2EyY2VlMThhXzEtTUFQLTc0My0wLSMyOTglbnVsbCVdW0NvZGVjUG9vbF0gR290IGJy YW5kLW5ldyBkZWNvbXByZXNzb3IgWy5nel0NClsxODowMjowMiwzMzZdW0lORk8gXVtIYWRvb3At dGFzay03OTY1MzcwYi02ZGYyLTRhYmMtYWI2MS04ZDc3YTJjZWUxOGFfMS1NQVAtNzUxLTAtIzMw NiVudWxsJV1bQ29kZWNQb29sXSBHb3QgYnJhbmQtbmV3IGRlY29tcHJlc3NvciBbLmd6XQ0KWzE4 OjAyOjAyLDg5OV1bSU5GTyBdW0hhZG9vcC10YXNrLTc5NjUzNzBiLTZkZjItNGFiYy1hYjYxLThk NzdhMmNlZTE4YV8xLU1BUC03NTMtMC0jMzA4JW51bGwlXVtDb2RlY1Bvb2xdIEdvdCBicmFuZC1u ZXcgZGVjb21wcmVzc29yIFsuZ3pdDQpbMTg6MDI6MDQsMjYzXVtJTkZPIF1bSGFkb29wLXRhc2st Nzk2NTM3MGItNmRmMi00YWJjLWFiNjEtOGQ3N2EyY2VlMThhXzEtTUFQLTc0NC0wLSMyOTklbnVs bCVdW0NvZGVjUG9vbF0gR290IGJyYW5kLW5ldyBkZWNvbXByZXNzb3IgWy5nel0NClsxODowMjow NCwyOTNdW0lORk8gXVtIYWRvb3AtdGFzay03OTY1MzcwYi02ZGYyLTRhYmMtYWI2MS04ZDc3YTJj ZWUxOGFfMS1NQVAtNzU4LTAtIzMxMyVudWxsJV1bQ29kZWNQb29sXSBHb3QgYnJhbmQtbmV3IGRl Y29tcHJlc3NvciBbLmd6XQ0KWzE4OjAyOjA2LDYyNV1bSU5GTyBdW0hhZG9vcC10YXNrLTc5NjUz NzBiLTZkZjItNGFiYy1hYjYxLThkNzdhMmNlZTE4YV8xLU1BUC03NDgtMC0jMzAzJW51bGwlXVtD b2RlY1Bvb2xdIEdvdCBicmFuZC1uZXcgZGVjb21wcmVzc29yIFsuZ3pdDQpbMTg6MDI6MDcsMzQ2 XVtJTkZPIF1bSGFkb29wLXRhc2stNzk2NTM3MGItNmRmMi00YWJjLWFiNjEtOGQ3N2EyY2VlMThh XzEtTUFQLTc1Ni0wLSMzMTElbnVsbCVdW0NvZGVjUG9vbF0gR290IGJyYW5kLW5ldyBkZWNvbXBy ZXNzb3IgWy5nel0NClsxODowMjowNyw4NDNdW0lORk8gXVtIYWRvb3AtdGFzay03OTY1MzcwYi02 ZGYyLTRhYmMtYWI2MS04ZDc3YTJjZWUxOGFfMS1NQVAtNzYwLTAtIzMxNSVudWxsJV1bQ29kZWNQ b29sXSBHb3QgYnJhbmQtbmV3IGRlY29tcHJlc3NvciBbLmd6XQ0KWzE4OjAyOjA4LDQzN11bSU5G TyBdW0hhZG9vcC10YXNrLTc5NjUzNzBiLTZkZjItNGFiYy1hYjYxLThkNzdhMmNlZTE4YV8xLU1B UC03NTctMC0jMzEyJW51bGwlXVtDb2RlY1Bvb2xdIEdvdCBicmFuZC1uZXcgZGVjb21wcmVzc29y IFsuZ3pdDQpbMTg6MDI6MDksNTc5XVtJTkZPIF1bSGFkb29wLXRhc2stNzk2NTM3MGItNmRmMi00 YWJjLWFiNjEtOGQ3N2EyY2VlMThhXzEtTUFQLTc0Ny0wLSMzMDIlbnVsbCVdW0NvZGVjUG9vbF0g R290IGJyYW5kLW5ldyBkZWNvbXByZXNzb3IgWy5nel0NClsxODowMjowOSw3MDVdW0lORk8gXVtI YWRvb3AtdGFzay03OTY1MzcwYi02ZGYyLTRhYmMtYWI2MS04ZDc3YTJjZWUxOGFfMS1NQVAtNzQ1 LTAtIzMwMCVudWxsJV1bQ29kZWNQb29sXSBHb3QgYnJhbmQtbmV3IGRlY29tcHJlc3NvciBbLmd6 XQ0KWzE4OjAyOjEwLDAwOF1bSU5GTyBdW0hhZG9vcC10YXNrLTc5NjUzNzBiLTZkZjItNGFiYy1h YjYxLThkNzdhMmNlZTE4YV8xLU1BUC03NDYtMC0jMzAxJW51bGwlXVtDb2RlY1Bvb2xdIEdvdCBi cmFuZC1uZXcgZGVjb21wcmVzc29yIFsuZ3pdDQpbMTg6MDI6MTAsNTY3XVtJTkZPIF1bSGFkb29w LXRhc2stNzk2NTM3MGItNmRmMi00YWJjLWFiNjEtOGQ3N2EyY2VlMThhXzEtTUFQLTc2MS0wLSMz MTYlbnVsbCVdW0NvZGVjUG9vbF0gR290IGJyYW5kLW5ldyBkZWNvbXByZXNzb3IgWy5nel0NClsx ODowMjoxMCw3MjRdW0lORk8gXVtIYWRvb3AtdGFzay03OTY1MzcwYi02ZGYyLTRhYmMtYWI2MS04 ZDc3YTJjZWUxOGFfMS1NQVAtNzU0LTAtIzMwOSVudWxsJV1bQ29kZWNQb29sXSBHb3QgYnJhbmQt bmV3IGRlY29tcHJlc3NvciBbLmd6XQ0KWzE4OjAyOjExLDE5Nl1bSU5GTyBdW0hhZG9vcC10YXNr LTc5NjUzNzBiLTZkZjItNGFiYy1hYjYxLThkNzdhMmNlZTE4YV8xLU1BUC03NTAtMC0jMzA1JW51 bGwlXVtDb2RlY1Bvb2xdIEdvdCBicmFuZC1uZXcgZGVjb21wcmVzc29yIFsuZ3pdDQpbMTg6MDI6 MTEsNjY5XVtJTkZPIF1bSGFkb29wLXRhc2stNzk2NTM3MGItNmRmMi00YWJjLWFiNjEtOGQ3N2Ey Y2VlMThhXzEtTUFQLTc0OS0wLSMzMDQlbnVsbCVdW0NvZGVjUG9vbF0gR290IGJyYW5kLW5ldyBk ZWNvbXByZXNzb3IgWy5nel0NClsxODowMjoxMSw3NTNdW0lORk8gXVtIYWRvb3AtdGFzay03OTY1 MzcwYi02ZGYyLTRhYmMtYWI2MS04ZDc3YTJjZWUxOGFfMS1NQVAtNzUyLTAtIzMwNyVudWxsJV1b Q29kZWNQb29sXSBHb3QgYnJhbmQtbmV3IGRlY29tcHJlc3NvciBbLmd6XQ0KWzE4OjAyOjE0LDcy MF1bSU5GTyBdW0hhZG9vcC10YXNrLTc5NjUzNzBiLTZkZjItNGFiYy1hYjYxLThkNzdhMmNlZTE4 YV8xLU1BUC03NTktMC0jMzE0JW51bGwlXVtDb2RlY1Bvb2xdIEdvdCBicmFuZC1uZXcgZGVjb21w cmVzc29yIFsuZ3pdDQpbMTg6MDI6MTgsMDkwXVtJTkZPIF1bSGFkb29wLXRhc2stNzk2NTM3MGIt NmRmMi00YWJjLWFiNjEtOGQ3N2EyY2VlMThhXzEtTUFQLTc1NS0wLSMzMTAlbnVsbCVdW0NvZGVj UG9vbF0gR290IGJyYW5kLW5ldyBkZWNvbXByZXNzb3IgWy5nel0NClsxODowMjoyMywxMzddW0lO Rk8gXVtIYWRvb3AtdGFzay03OTY1MzcwYi02ZGYyLTRhYmMtYWI2MS04ZDc3YTJjZWUxOGFfMS1N QVAtNzYyLTAtIzMxNyVudWxsJV1bQ29kZWNQb29sXSBHb3QgYnJhbmQtbmV3IGRlY29tcHJlc3Nv ciBbLmd6XQ0KWzE4OjAyOjI0LDU0NF1bSU5GTyBdW0hhZG9vcC10YXNrLTc5NjUzNzBiLTZkZjIt NGFiYy1hYjYxLThkNzdhMmNlZTE4YV8xLU1BUC03NDAtMC0jMjk1JW51bGwlXVtDb2RlY1Bvb2xd IEdvdCBicmFuZC1uZXcgZGVjb21wcmVzc29yIFsuZ3pdDQpbMTg6MDI6MzMsNTQwXVtJTkZPIF1b SGFkb29wLXRhc2stNzk2NTM3MGItNmRmMi00YWJjLWFiNjEtOGQ3N2EyY2VlMThhXzEtTUFQLTcz OS0wLSMyOTQlbnVsbCVdW0NvZGVjUG9vbF0gR290IGJyYW5kLW5ldyBkZWNvbXByZXNzb3IgWy5n el0NClsxODowMjozNSwwMTNdW0lORk8gXVtIYWRvb3AtdGFzay03OTY1MzcwYi02ZGYyLTRhYmMt YWI2MS04ZDc3YTJjZWUxOGFfMS1NQVAtNzQyLTAtIzI5NyVudWxsJV1bQ29kZWNQb29sXSBHb3Qg YnJhbmQtbmV3IGRlY29tcHJlc3NvciBbLmd6XQ0KWzE4OjAyOjQyLDY1M11bSU5GTyBdW0hhZG9v cC10YXNrLTc5NjUzNzBiLTZkZjItNGFiYy1hYjYxLThkNzdhMmNlZTE4YV8xLU1BUC03NDEtMC0j Mjk2JW51bGwlXVtDb2RlY1Bvb2xdIEdvdCBicmFuZC1uZXcgZGVjb21wcmVzc29yIFsuZ3pdDQpb MTg6MDI6NTMsMDA5XVtJTkZPIF1bSGFkb29wLXRhc2stNzk2NTM3MGItNmRmMi00YWJjLWFiNjEt OGQ3N2EyY2VlMThhXzEtTUFQLTc1MS0wLSMzMDYlbnVsbCVdW0NvZGVjUG9vbF0gR290IGJyYW5k LW5ldyBkZWNvbXByZXNzb3IgWy5nel0NClsxODowMjo1NCw0NjVdW0lORk8gXVtIYWRvb3AtdGFz ay03OTY1MzcwYi02ZGYyLTRhYmMtYWI2MS04ZDc3YTJjZWUxOGFfMS1NQVAtNzQzLTAtIzI5OCVu dWxsJV1bQ29kZWNQb29sXSBHb3QgYnJhbmQtbmV3IGRlY29tcHJlc3NvciBbLmd6XQ0KWzE4OjAy OjU1LDE0MV1bSU5GTyBdW0hhZG9vcC10YXNrLTc5NjUzNzBiLTZkZjItNGFiYy1hYjYxLThkNzdh MmNlZTE4YV8xLU1BUC03NTMtMC0jMzA4JW51bGwlXVtDb2RlY1Bvb2xdIEdvdCBicmFuZC1uZXcg ZGVjb21wcmVzc29yIFsuZ3pdDQpbMTg6MDI6NTUsNjM1XVtJTkZPIF1bZ3JpZC10aW1lb3V0LXdv cmtlci0jOTclbnVsbCVdW0lnbml0ZUtlcm5hbF0gDQpNZXRyaWNzIGZvciBsb2NhbCBub2RlICh0 byBkaXNhYmxlIHNldCAnbWV0cmljc0xvZ0ZyZXF1ZW5jeScgdG8gMCkNCiAgICBeLS0gTm9kZSBb aWQ9Nzk2NTM3MGIsIG5hbWU9bnVsbF0NCiAgICBeLS0gSC9OL0MgW2hvc3RzPTYsIG5vZGVzPTYs IENQVXM9MTQ0XQ0KICAgIF4tLSBDUFUgW2N1cj03Ny41NyUsIGF2Zz03My41MSUsIEdDPTAlXQ0K ICAgIF4tLSBIZWFwIFt1c2VkPTY2MTlNQiwgZnJlZT03OS43OSUsIGNvbW09MzI3NTFNQl0NCiAg ICBeLS0gUHVibGljIHRocmVhZCBwb29sIFthY3RpdmU9NSwgaWRsZT00MywgcVNpemU9MF0NCiAg ICBeLS0gU3lzdGVtIHRocmVhZCBwb29sIFthY3RpdmU9MCwgaWRsZT00OCwgcVNpemU9MF0NCiAg ICBeLS0gT3V0Ym91bmQgbWVzc2FnZXMgcXVldWUgW3NpemU9MF0NClsxODowMjo1NiwxMDFdW0lO Rk8gXVtIYWRvb3AtdGFzay03OTY1MzcwYi02ZGYyLTRhYmMtYWI2MS04ZDc3YTJjZWUxOGFfMS1N QVAtNzU4LTAtIzMxMyVudWxsJV1bQ29kZWNQb29sXSBHb3QgYnJhbmQtbmV3IGRlY29tcHJlc3Nv ciBbLmd6XQ0KWzE4OjAyOjU3LDIwNF1bSU5GTyBdW0hhZG9vcC10YXNrLTc5NjUzNzBiLTZkZjIt NGFiYy1hYjYxLThkNzdhMmNlZTE4YV8xLU1BUC03NDQtMC0jMjk5JW51bGwlXVtDb2RlY1Bvb2xd IEdvdCBicmFuZC1uZXcgZGVjb21wcmVzc29yIFsuZ3pdDQpbMTg6MDI6NTksNTgyXVtJTkZPIF1b SGFkb29wLXRhc2stNzk2NTM3MGItNmRmMi00YWJjLWFiNjEtOGQ3N2EyY2VlMThhXzEtTUFQLTc2 MC0wLSMzMTUlbnVsbCVdW0NvZGVjUG9vbF0gR290IGJyYW5kLW5ldyBkZWNvbXByZXNzb3IgWy5n el0NClsxODowMjo1OSw3MzVdW0lORk8gXVtIYWRvb3AtdGFzay03OTY1MzcwYi02ZGYyLTRhYmMt YWI2MS04ZDc3YTJjZWUxOGFfMS1NQVAtNzQ4LTAtIzMwMyVudWxsJV1bQ29kZWNQb29sXSBHb3Qg YnJhbmQtbmV3IGRlY29tcHJlc3NvciBbLmd6XQ0KWzE4OjAyOjU5LDg2Ml1bSU5GTyBdW0hhZG9v cC10YXNrLTc5NjUzNzBiLTZkZjItNGFiYy1hYjYxLThkNzdhMmNlZTE4YV8xLU1BUC03NTYtMC0j MzExJW51bGwlXVtDb2RlY1Bvb2xdIEdvdCBicmFuZC1uZXcgZGVjb21wcmVzc29yIFsuZ3pdDQpb MTg6MDM6MDAsODQyXVtJTkZPIF1bSGFkb29wLXRhc2stNzk2NTM3MGItNmRmMi00YWJjLWFiNjEt OGQ3N2EyY2VlMThhXzEtTUFQLTc1Ny0wLSMzMTIlbnVsbCVdW0NvZGVjUG9vbF0gR290IGJyYW5k LW5ldyBkZWNvbXByZXNzb3IgWy5nel0NClsxODowMzowMiwyMjVdW0lORk8gXVtIYWRvb3AtdGFz ay03OTY1MzcwYi02ZGYyLTRhYmMtYWI2MS04ZDc3YTJjZWUxOGFfMS1NQVAtNzQ3LTAtIzMwMiVu dWxsJV1bQ29kZWNQb29sXSBHb3QgYnJhbmQtbmV3IGRlY29tcHJlc3NvciBbLmd6XQ0KWzE4OjAz OjAyLDc2M11bSU5GTyBdW0hhZG9vcC10YXNrLTc5NjUzNzBiLTZkZjItNGFiYy1hYjYxLThkNzdh MmNlZTE4YV8xLU1BUC03NjEtMC0jMzE2JW51bGwlXVtDb2RlY1Bvb2xdIEdvdCBicmFuZC1uZXcg ZGVjb21wcmVzc29yIFsuZ3pdDQpbMTg6MDM6MDMsMjk3XVtJTkZPIF1bSGFkb29wLXRhc2stNzk2 NTM3MGItNmRmMi00YWJjLWFiNjEtOGQ3N2EyY2VlMThhXzEtTUFQLTc0Ni0wLSMzMDElbnVsbCVd W0NvZGVjUG9vbF0gR290IGJyYW5kLW5ldyBkZWNvbXByZXNzb3IgWy5nel0NClsxODowMzowMywz NDJdW0lORk8gXVtIYWRvb3AtdGFzay03OTY1MzcwYi02ZGYyLTRhYmMtYWI2MS04ZDc3YTJjZWUx OGFfMS1NQVAtNzQ1LTAtIzMwMCVudWxsJV1bQ29kZWNQb29sXSBHb3QgYnJhbmQtbmV3IGRlY29t cHJlc3NvciBbLmd6XQ0KWzE4OjAzOjA0LDI5OV1bSU5GTyBdW0hhZG9vcC10YXNrLTc5NjUzNzBi LTZkZjItNGFiYy1hYjYxLThkNzdhMmNlZTE4YV8xLU1BUC03NTQtMC0jMzA5JW51bGwlXVtDb2Rl Y1Bvb2xdIEdvdCBicmFuZC1uZXcgZGVjb21wcmVzc29yIFsuZ3pdDQpbMTg6MDM6MDQsNTE3XVtJ TkZPIF1bSGFkb29wLXRhc2stNzk2NTM3MGItNmRmMi00YWJjLWFiNjEtOGQ3N2EyY2VlMThhXzEt TUFQLTc1Mi0wLSMzMDclbnVsbCVdW0NvZGVjUG9vbF0gR290IGJyYW5kLW5ldyBkZWNvbXByZXNz b3IgWy5nel0NClsxODowMzowNCw1MzBdW0lORk8gXVtIYWRvb3AtdGFzay03OTY1MzcwYi02ZGYy LTRhYmMtYWI2MS04ZDc3YTJjZWUxOGFfMS1NQVAtNzUwLTAtIzMwNSVudWxsJV1bQ29kZWNQb29s XSBHb3QgYnJhbmQtbmV3IGRlY29tcHJlc3NvciBbLmd6XQ0KWzE4OjAzOjA1LDM3M11bSU5GTyBd W0hhZG9vcC10YXNrLTc5NjUzNzBiLTZkZjItNGFiYy1hYjYxLThkNzdhMmNlZTE4YV8xLU1BUC03 NDktMC0jMzA0JW51bGwlXVtDb2RlY1Bvb2xdIEdvdCBicmFuZC1uZXcgZGVjb21wcmVzc29yIFsu Z3pdDQpbMTg6MDM6MDcsOTcyXVtJTkZPIF1bSGFkb29wLXRhc2stNzk2NTM3MGItNmRmMi00YWJj LWFiNjEtOGQ3N2EyY2VlMThhXzEtTUFQLTc1OS0wLSMzMTQlbnVsbCVdW0NvZGVjUG9vbF0gR290 IGJyYW5kLW5ldyBkZWNvbXByZXNzb3IgWy5nel0NClsxODowMzoxMiwzNTldW0lORk8gXVtIYWRv b3AtdGFzay03OTY1MzcwYi02ZGYyLTRhYmMtYWI2MS04ZDc3YTJjZWUxOGFfMS1NQVAtNzU1LTAt IzMxMCVudWxsJV1bQ29kZWNQb29sXSBHb3QgYnJhbmQtbmV3IGRlY29tcHJlc3NvciBbLmd6XQ0K WzE4OjAzOjE3LDc2M11bSU5GTyBdW0hhZG9vcC10YXNrLTc5NjUzNzBiLTZkZjItNGFiYy1hYjYx LThkNzdhMmNlZTE4YV8xLU1BUC03NjItMC0jMzE3JW51bGwlXVtDb2RlY1Bvb2xdIEdvdCBicmFu ZC1uZXcgZGVjb21wcmVzc29yIFsuZ3pdDQpbMTg6MDM6MTgsNTA0XVtJTkZPIF1bSGFkb29wLXRh c2stNzk2NTM3MGItNmRmMi00YWJjLWFiNjEtOGQ3N2EyY2VlMThhXzEtTUFQLTc0MC0wLSMyOTUl bnVsbCVdW0NvZGVjUG9vbF0gR290IGJyYW5kLW5ldyBkZWNvbXByZXNzb3IgWy5nel0NClsxODow MzoyOSwzNDVdW0lORk8gXVtIYWRvb3AtdGFzay03OTY1MzcwYi02ZGYyLTRhYmMtYWI2MS04ZDc3 YTJjZWUxOGFfMS1NQVAtNzQyLTAtIzI5NyVudWxsJV1bQ29kZWNQb29sXSBHb3QgYnJhbmQtbmV3 IGRlY29tcHJlc3NvciBbLmd6XQ0KWzE4OjAzOjMwLDgzMV1bSU5GTyBdW0hhZG9vcC10YXNrLTc5 NjUzNzBiLTZkZjItNGFiYy1hYjYxLThkNzdhMmNlZTE4YV8xLU1BUC03MzktMC0jMjk0JW51bGwl XVtDb2RlY1Bvb2xdIEdvdCBicmFuZC1uZXcgZGVjb21wcmVzc29yIFsuZ3pdDQpbMTg6MDM6Mzks ODQzXVtJTkZPIF1bSGFkb29wLXRhc2stNzk2NTM3MGItNmRmMi00YWJjLWFiNjEtOGQ3N2EyY2Vl MThhXzEtTUFQLTc0MS0wLSMyOTYlbnVsbCVdW0NvZGVjUG9vbF0gR290IGJyYW5kLW5ldyBkZWNv bXByZXNzb3IgWy5nel0NClsxODowMzo0Nyw4MzldW0lORk8gXVtIYWRvb3AtdGFzay03OTY1Mzcw Yi02ZGYyLTRhYmMtYWI2MS04ZDc3YTJjZWUxOGFfMS1NQVAtNzUxLTAtIzMwNiVudWxsJV1bQ29k ZWNQb29sXSBHb3QgYnJhbmQtbmV3IGRlY29tcHJlc3NvciBbLmd6XQ0KWzE4OjAzOjUxLDMyOF1b SU5GTyBdW0hhZG9vcC10YXNrLTc5NjUzNzBiLTZkZjItNGFiYy1hYjYxLThkNzdhMmNlZTE4YV8x LU1BUC03NTMtMC0jMzA4JW51bGwlXVtDb2RlY1Bvb2xdIEdvdCBicmFuZC1uZXcgZGVjb21wcmVz c29yIFsuZ3pdDQpbMTg6MDM6NTEsNzkzXVtJTkZPIF1bSGFkb29wLXRhc2stNzk2NTM3MGItNmRm Mi00YWJjLWFiNjEtOGQ3N2EyY2VlMThhXzEtTUFQLTc0My0wLSMyOTglbnVsbCVdW0NvZGVjUG9v bF0gR290IGJyYW5kLW5ldyBkZWNvbXByZXNzb3IgWy5nel0NClsxODowMzo1MiwwMTNdW0lORk8g XVtIYWRvb3AtdGFzay03OTY1MzcwYi02ZGYyLTRhYmMtYWI2MS04ZDc3YTJjZWUxOGFfMS1NQVAt NzU4LTAtIzMxMyVudWxsJV1bQ29kZWNQb29sXSBHb3QgYnJhbmQtbmV3IGRlY29tcHJlc3NvciBb Lmd6XQ0KWzE4OjAzOjUzLDU3N11bSU5GTyBdW0hhZG9vcC10YXNrLTc5NjUzNzBiLTZkZjItNGFi Yy1hYjYxLThkNzdhMmNlZTE4YV8xLU1BUC03NDQtMC0jMjk5JW51bGwlXVtDb2RlY1Bvb2xdIEdv dCBicmFuZC1uZXcgZGVjb21wcmVzc29yIFsuZ3pdDQpbMTg6MDM6NTUsMzA1XVtJTkZPIF1bSGFk b29wLXRhc2stNzk2NTM3MGItNmRmMi00YWJjLWFiNjEtOGQ3N2EyY2VlMThhXzEtTUFQLTc2MC0w LSMzMTUlbnVsbCVdW0NvZGVjUG9vbF0gR290IGJyYW5kLW5ldyBkZWNvbXByZXNzb3IgWy5nel0N ClsxODowMzo1NSw2NDldW0lORk8gXVtncmlkLXRpbWVvdXQtd29ya2VyLSM5NyVudWxsJV1bSWdu aXRlS2VybmFsXSANCk1ldHJpY3MgZm9yIGxvY2FsIG5vZGUgKHRvIGRpc2FibGUgc2V0ICdtZXRy aWNzTG9nRnJlcXVlbmN5JyB0byAwKQ0KICAgIF4tLSBOb2RlIFtpZD03OTY1MzcwYiwgbmFtZT1u dWxsXQ0KICAgIF4tLSBIL04vQyBbaG9zdHM9Niwgbm9kZXM9NiwgQ1BVcz0xNDRdDQogICAgXi0t IENQVSBbY3VyPTc4Ljk3JSwgYXZnPTczLjY2JSwgR0M9MC4wMyVdDQogICAgXi0tIEhlYXAgW3Vz ZWQ9MTE0MzJNQiwgZnJlZT02NS4wOSUsIGNvbW09MzI3NTJNQl0NCiAgICBeLS0gUHVibGljIHRo cmVhZCBwb29sIFthY3RpdmU9MiwgaWRsZT00NiwgcVNpemU9MF0NCiAgICBeLS0gU3lzdGVtIHRo cmVhZCBwb29sIFthY3RpdmU9MCwgaWRsZT00OCwgcVNpemU9MF0NCiAgICBeLS0gT3V0Ym91bmQg bWVzc2FnZXMgcXVldWUgW3NpemU9MF0NClsxODowMzo1Niw0MTNdW0lORk8gXVtIYWRvb3AtdGFz ay03OTY1MzcwYi02ZGYyLTRhYmMtYWI2MS04ZDc3YTJjZWUxOGFfMS1NQVAtNzU2LTAtIzMxMSVu dWxsJV1bQ29kZWNQb29sXSBHb3QgYnJhbmQtbmV3IGRlY29tcHJlc3NvciBbLmd6XQ0KWzE4OjAz OjU2LDczOF1bSU5GTyBdW0hhZG9vcC10YXNrLTc5NjUzNzBiLTZkZjItNGFiYy1hYjYxLThkNzdh MmNlZTE4YV8xLU1BUC03NDgtMC0jMzAzJW51bGwlXVtDb2RlY1Bvb2xdIEdvdCBicmFuZC1uZXcg ZGVjb21wcmVzc29yIFsuZ3pdDQpbMTg6MDM6NTcsMzc1XVtJTkZPIF1bSGFkb29wLXRhc2stNzk2 NTM3MGItNmRmMi00YWJjLWFiNjEtOGQ3N2EyY2VlMThhXzEtTUFQLTc1Ny0wLSMzMTIlbnVsbCVd W0NvZGVjUG9vbF0gR290IGJyYW5kLW5ldyBkZWNvbXByZXNzb3IgWy5nel0NClsxODowMzo1OCw0 NzddW0lORk8gXVtIYWRvb3AtdGFzay03OTY1MzcwYi02ZGYyLTRhYmMtYWI2MS04ZDc3YTJjZWUx OGFfMS1NQVAtNzYxLTAtIzMxNiVudWxsJV1bQ29kZWNQb29sXSBHb3QgYnJhbmQtbmV3IGRlY29t cHJlc3NvciBbLmd6XQ0KWzE4OjAzOjU5LDAzOV1bSU5GTyBdW0hhZG9vcC10YXNrLTc5NjUzNzBi LTZkZjItNGFiYy1hYjYxLThkNzdhMmNlZTE4YV8xLU1BUC03NDctMC0jMzAyJW51bGwlXVtDb2Rl Y1Bvb2xdIEdvdCBicmFuZC1uZXcgZGVjb21wcmVzc29yIFsuZ3pdDQpbMTg6MDQ6MDAsNDE0XVtJ TkZPIF1bSGFkb29wLXRhc2stNzk2NTM3MGItNmRmMi00YWJjLWFiNjEtOGQ3N2EyY2VlMThhXzEt TUFQLTc0Ni0wLSMzMDElbnVsbCVdW0NvZGVjUG9vbF0gR290IGJyYW5kLW5ldyBkZWNvbXByZXNz b3IgWy5nel0NClsxODowNDowMCw3NThdW0lORk8gXVtIYWRvb3AtdGFzay03OTY1MzcwYi02ZGYy LTRhYmMtYWI2MS04ZDc3YTJjZWUxOGFfMS1NQVAtNzU0LTAtIzMwOSVudWxsJV1bQ29kZWNQb29s XSBHb3QgYnJhbmQtbmV3IGRlY29tcHJlc3NvciBbLmd6XQ0KWzE4OjA0OjAwLDkyOV1bSU5GTyBd W0hhZG9vcC10YXNrLTc5NjUzNzBiLTZkZjItNGFiYy1hYjYxLThkNzdhMmNlZTE4YV8xLU1BUC03 NTItMC0jMzA3JW51bGwlXVtDb2RlY1Bvb2xdIEdvdCBicmFuZC1uZXcgZGVjb21wcmVzc29yIFsu Z3pdDQpbMTg6MDQ6MDEsMDI2XVtJTkZPIF1bSGFkb29wLXRhc2stNzk2NTM3MGItNmRmMi00YWJj LWFiNjEtOGQ3N2EyY2VlMThhXzEtTUFQLTc0NS0wLSMzMDAlbnVsbCVdW0NvZGVjUG9vbF0gR290 IGJyYW5kLW5ldyBkZWNvbXByZXNzb3IgWy5nel0NClsxODowNDowMiwwMjFdW0lORk8gXVtIYWRv b3AtdGFzay03OTY1MzcwYi02ZGYyLTRhYmMtYWI2MS04ZDc3YTJjZWUxOGFfMS1NQVAtNzUwLTAt IzMwNSVudWxsJV1bQ29kZWNQb29sXSBHb3QgYnJhbmQtbmV3IGRlY29tcHJlc3NvciBbLmd6XQ0K WzE4OjA0OjAyLDQ5NF1bSU5GTyBdW0hhZG9vcC10YXNrLTc5NjUzNzBiLTZkZjItNGFiYy1hYjYx LThkNzdhMmNlZTE4YV8xLU1BUC03NDktMC0jMzA0JW51bGwlXVtDb2RlY1Bvb2xdIEdvdCBicmFu ZC1uZXcgZGVjb21wcmVzc29yIFsuZ3pdDQpbMTg6MDQ6MDUsOTA1XVtJTkZPIF1bSGFkb29wLXRh c2stNzk2NTM3MGItNmRmMi00YWJjLWFiNjEtOGQ3N2EyY2VlMThhXzEtTUFQLTc1OS0wLSMzMTQl bnVsbCVdW0NvZGVjUG9vbF0gR290IGJyYW5kLW5ldyBkZWNvbXByZXNzb3IgWy5nel0NClsxODow NDowOSw2MzFdW0lORk8gXVtIYWRvb3AtdGFzay03OTY1MzcwYi02ZGYyLTRhYmMtYWI2MS04ZDc3 YTJjZWUxOGFfMS1NQVAtNzU1LTAtIzMxMCVudWxsJV1bQ29kZWNQb29sXSBHb3QgYnJhbmQtbmV3 IGRlY29tcHJlc3NvciBbLmd6XQ0KWzE4OjA0OjEzLDEyM11bSU5GTyBdW0hhZG9vcC10YXNrLTc5 NjUzNzBiLTZkZjItNGFiYy1hYjYxLThkNzdhMmNlZTE4YV8xLU1BUC03NDAtMC0jMjk1JW51bGwl XVtDb2RlY1Bvb2xdIEdvdCBicmFuZC1uZXcgZGVjb21wcmVzc29yIFsuZ3pdDQpbMTg6MDQ6MTMs Nzk1XVtJTkZPIF1bSGFkb29wLXRhc2stNzk2NTM3MGItNmRmMi00YWJjLWFiNjEtOGQ3N2EyY2Vl MThhXzEtTUFQLTc2Mi0wLSMzMTclbnVsbCVdW0NvZGVjUG9vbF0gR290IGJyYW5kLW5ldyBkZWNv bXByZXNzb3IgWy5nel0NClsxODowNDoyMCw5NTddW0lORk8gXVtIYWRvb3AtdGFzay03OTY1Mzcw Yi02ZGYyLTRhYmMtYWI2MS04ZDc3YTJjZWUxOGFfMS1NQVAtNzQyLTAtIzI5NyVudWxsJV1bQ29k ZWNQb29sXSBHb3QgYnJhbmQtbmV3IGRlY29tcHJlc3NvciBbLmd6XQ0KWzE4OjA0OjI1LDA0M11b SU5GTyBdW0hhZG9vcC10YXNrLTc5NjUzNzBiLTZkZjItNGFiYy1hYjYxLThkNzdhMmNlZTE4YV8x LU1BUC03MzktMC0jMjk0JW51bGwlXVtDb2RlY1Bvb2xdIEdvdCBicmFuZC1uZXcgZGVjb21wcmVz c29yIFsuZ3pdDQpbMTg6MDQ6MzIsNzA3XVtJTkZPIF1bSGFkb29wLXRhc2stNzk2NTM3MGItNmRm Mi00YWJjLWFiNjEtOGQ3N2EyY2VlMThhXzEtTUFQLTc0MS0wLSMyOTYlbnVsbCVdW0NvZGVjUG9v bF0gR290IGJyYW5kLW5ldyBkZWNvbXByZXNzb3IgWy5nel0NClsxODowNDozOCwxMzBdW0lORk8g XVtIYWRvb3AtdGFzay03OTY1MzcwYi02ZGYyLTRhYmMtYWI2MS04ZDc3YTJjZWUxOGFfMS1NQVAt NzUxLTAtIzMwNiVudWxsJV1bQ29kZWNQb29sXSBHb3QgYnJhbmQtbmV3IGRlY29tcHJlc3NvciBb Lmd6XQ0KWzE4OjA0OjQyLDc1NF1bSU5GTyBdW0hhZG9vcC10YXNrLTc5NjUzNzBiLTZkZjItNGFi Yy1hYjYxLThkNzdhMmNlZTE4YV8xLU1BUC03NTMtMC0jMzA4JW51bGwlXVtDb2RlY1Bvb2xdIEdv dCBicmFuZC1uZXcgZGVjb21wcmVzc29yIFsuZ3pdDQpbMTg6MDQ6NDMsMzUzXVtJTkZPIF1bSGFk b29wLXRhc2stNzk2NTM3MGItNmRmMi00YWJjLWFiNjEtOGQ3N2EyY2VlMThhXzEtTUFQLTc1OC0w LSMzMTMlbnVsbCVdW0NvZGVjUG9vbF0gR290IGJyYW5kLW5ldyBkZWNvbXByZXNzb3IgWy5nel0N ClsxODowNDo0NSw0NjJdW0lORk8gXVtIYWRvb3AtdGFzay03OTY1MzcwYi02ZGYyLTRhYmMtYWI2 MS04ZDc3YTJjZWUxOGFfMS1NQVAtNzQzLTAtIzI5OCVudWxsJV1bQ29kZWNQb29sXSBHb3QgYnJh bmQtbmV3IGRlY29tcHJlc3NvciBbLmd6XQ0KWzE4OjA0OjQ1LDgwMl1bSU5GTyBdW0hhZG9vcC10 YXNrLTc5NjUzNzBiLTZkZjItNGFiYy1hYjYxLThkNzdhMmNlZTE4YV8xLU1BUC03NDQtMC0jMjk5 JW51bGwlXVtDb2RlY1Bvb2xdIEdvdCBicmFuZC1uZXcgZGVjb21wcmVzc29yIFsuZ3pdDQpbMTg6 MDQ6NDYsODk3XVtJTkZPIF1bSGFkb29wLXRhc2stNzk2NTM3MGItNmRmMi00YWJjLWFiNjEtOGQ3 N2EyY2VlMThhXzEtTUFQLTc2MC0wLSMzMTUlbnVsbCVdW0NvZGVjUG9vbF0gR290IGJyYW5kLW5l dyBkZWNvbXByZXNzb3IgWy5nel0NClsxODowNDo0Nyw3MTFdW0lORk8gXVtIYWRvb3AtdGFzay03 OTY1MzcwYi02ZGYyLTRhYmMtYWI2MS04ZDc3YTJjZWUxOGFfMS1NQVAtNzU2LTAtIzMxMSVudWxs JV1bQ29kZWNQb29sXSBHb3QgYnJhbmQtbmV3IGRlY29tcHJlc3NvciBbLmd6XQ0KWzE4OjA0OjQ4 LDU5Ml1bSU5GTyBdW0hhZG9vcC10YXNrLTc5NjUzNzBiLTZkZjItNGFiYy1hYjYxLThkNzdhMmNl ZTE4YV8xLU1BUC03NDgtMC0jMzAzJW51bGwlXVtDb2RlY1Bvb2xdIEdvdCBicmFuZC1uZXcgZGVj b21wcmVzc29yIFsuZ3pdDQpbMTg6MDQ6NDgsNzgwXVtJTkZPIF1bSGFkb29wLXRhc2stNzk2NTM3 MGItNmRmMi00YWJjLWFiNjEtOGQ3N2EyY2VlMThhXzEtTUFQLTc1Ny0wLSMzMTIlbnVsbCVdW0Nv ZGVjUG9vbF0gR290IGJyYW5kLW5ldyBkZWNvbXByZXNzb3IgWy5nel0NClsxODowNDo0OSw4MTNd W0lORk8gXVtIYWRvb3AtdGFzay03OTY1MzcwYi02ZGYyLTRhYmMtYWI2MS04ZDc3YTJjZWUxOGFf MS1NQVAtNzYxLTAtIzMxNiVudWxsJV1bQ29kZWNQb29sXSBHb3QgYnJhbmQtbmV3IGRlY29tcHJl c3NvciBbLmd6XQ0KWzE4OjA0OjUxLDIyMl1bSU5GTyBdW0hhZG9vcC10YXNrLTc5NjUzNzBiLTZk ZjItNGFiYy1hYjYxLThkNzdhMmNlZTE4YV8xLU1BUC03NDctMC0jMzAyJW51bGwlXVtDb2RlY1Bv b2xdIEdvdCBicmFuZC1uZXcgZGVjb21wcmVzc29yIFsuZ3pdDQpbMTg6MDQ6NTIsNzIyXVtJTkZP IF1bSGFkb29wLXRhc2stNzk2NTM3MGItNmRmMi00YWJjLWFiNjEtOGQ3N2EyY2VlMThhXzEtTUFQ LTc0Ni0wLSMzMDElbnVsbCVdW0NvZGVjUG9vbF0gR290IGJyYW5kLW5ldyBkZWNvbXByZXNzb3Ig Wy5nel0NClsxODowNDo1Miw3NTZdW0lORk8gXVtIYWRvb3AtdGFzay03OTY1MzcwYi02ZGYyLTRh YmMtYWI2MS04ZDc3YTJjZWUxOGFfMS1NQVAtNzUyLTAtIzMwNyVudWxsJV1bQ29kZWNQb29sXSBH b3QgYnJhbmQtbmV3IGRlY29tcHJlc3NvciBbLmd6XQ0KWzE4OjA0OjUyLDkyMF1bSU5GTyBdW0hh ZG9vcC10YXNrLTc5NjUzNzBiLTZkZjItNGFiYy1hYjYxLThkNzdhMmNlZTE4YV8xLU1BUC03NTQt MC0jMzA5JW51bGwlXVtDb2RlY1Bvb2xdIEdvdCBicmFuZC1uZXcgZGVjb21wcmVzc29yIFsuZ3pd DQpbMTg6MDQ6NTMsNDMyXVtJTkZPIF1bSGFkb29wLXRhc2stNzk2NTM3MGItNmRmMi00YWJjLWFi NjEtOGQ3N2EyY2VlMThhXzEtTUFQLTc0NS0wLSMzMDAlbnVsbCVdW0NvZGVjUG9vbF0gR290IGJy YW5kLW5ldyBkZWNvbXByZXNzb3IgWy5nel0NClsxODowNDo1NCw0NDRdW0lORk8gXVtIYWRvb3At dGFzay03OTY1MzcwYi02ZGYyLTRhYmMtYWI2MS04ZDc3YTJjZWUxOGFfMS1NQVAtNzUwLTAtIzMw NSVudWxsJV1bQ29kZWNQb29sXSBHb3QgYnJhbmQtbmV3IGRlY29tcHJlc3NvciBbLmd6XQ0KWzE4 OjA0OjU0LDc1Ml1bSU5GTyBdW0hhZG9vcC10YXNrLTc5NjUzNzBiLTZkZjItNGFiYy1hYjYxLThk NzdhMmNlZTE4YV8xLU1BUC03NDktMC0jMzA0JW51bGwlXVtDb2RlY1Bvb2xdIEdvdCBicmFuZC1u ZXcgZGVjb21wcmVzc29yIFsuZ3pdDQpbMTg6MDQ6NTUsNjU1XVtJTkZPIF1bZ3JpZC10aW1lb3V0 LXdvcmtlci0jOTclbnVsbCVdW0lnbml0ZUtlcm5hbF0gDQpNZXRyaWNzIGZvciBsb2NhbCBub2Rl ICh0byBkaXNhYmxlIHNldCAnbWV0cmljc0xvZ0ZyZXF1ZW5jeScgdG8gMCkNCiAgICBeLS0gTm9k ZSBbaWQ9Nzk2NTM3MGIsIG5hbWU9bnVsbF0NCiAgICBeLS0gSC9OL0MgW2hvc3RzPTYsIG5vZGVz PTYsIENQVXM9MTQ0XQ0KICAgIF4tLSBDUFUgW2N1cj03OC45MyUsIGF2Zz03My45MSUsIEdDPTAu MDMlXQ0KICAgIF4tLSBIZWFwIFt1c2VkPTY2NjZNQiwgZnJlZT03OS42NCUsIGNvbW09MzI3NTBN Ql0NCiAgICBeLS0gUHVibGljIHRocmVhZCBwb29sIFthY3RpdmU9NSwgaWRsZT00MywgcVNpemU9 MF0NCiAgICBeLS0gU3lzdGVtIHRocmVhZCBwb29sIFthY3RpdmU9MCwgaWRsZT00OCwgcVNpemU9 MF0NCiAgICBeLS0gT3V0Ym91bmQgbWVzc2FnZXMgcXVldWUgW3NpemU9MF0NClsxODowNDo1OCwx MTRdW0lORk8gXVtIYWRvb3AtdGFzay03OTY1MzcwYi02ZGYyLTRhYmMtYWI2MS04ZDc3YTJjZWUx OGFfMS1NQVAtNzU5LTAtIzMxNCVudWxsJV1bQ29kZWNQb29sXSBHb3QgYnJhbmQtbmV3IGRlY29t cHJlc3NvciBbLmd6XQ0KWzE4OjA1OjAyLDI3N11bSU5GTyBdW0hhZG9vcC10YXNrLTc5NjUzNzBi LTZkZjItNGFiYy1hYjYxLThkNzdhMmNlZTE4YV8xLU1BUC03NTUtMC0jMzEwJW51bGwlXVtDb2Rl Y1Bvb2xdIEdvdCBicmFuZC1uZXcgZGVjb21wcmVzc29yIFsuZ3pdDQpbMTg6MDU6MDQsMTc0XVtJ TkZPIF1bSGFkb29wLXRhc2stNzk2NTM3MGItNmRmMi00YWJjLWFiNjEtOGQ3N2EyY2VlMThhXzEt TUFQLTc0MC0wLSMyOTUlbnVsbCVdW0NvZGVjUG9vbF0gR290IGJyYW5kLW5ldyBkZWNvbXByZXNz b3IgWy5nel0NClsxODowNTowNSw2ODhdW0lORk8gXVtIYWRvb3AtdGFzay03OTY1MzcwYi02ZGYy LTRhYmMtYWI2MS04ZDc3YTJjZWUxOGFfMS1NQVAtNzYyLTAtIzMxNyVudWxsJV1bQ29kZWNQb29s XSBHb3QgYnJhbmQtbmV3IGRlY29tcHJlc3NvciBbLmd6XQ0KWzE4OjA1OjEwLDcyMF1bSU5GTyBd W0hhZG9vcC10YXNrLTc5NjUzNzBiLTZkZjItNGFiYy1hYjYxLThkNzdhMmNlZTE4YV8xLU1BUC03 NDItMC0jMjk3JW51bGwlXVtDb2RlY1Bvb2xdIEdvdCBicmFuZC1uZXcgZGVjb21wcmVzc29yIFsu Z3pdDQpbMTg6MDU6MTgsMDg2XVtJTkZPIF1bSGFkb29wLXRhc2stNzk2NTM3MGItNmRmMi00YWJj LWFiNjEtOGQ3N2EyY2VlMThhXzEtTUFQLTczOS0wLSMyOTQlbnVsbCVdW0NvZGVjUG9vbF0gR290 IGJyYW5kLW5ldyBkZWNvbXByZXNzb3IgWy5nel0NClsxODowNToyNSwzMDJdW0lORk8gXVtIYWRv b3AtdGFzay03OTY1MzcwYi02ZGYyLTRhYmMtYWI2MS04ZDc3YTJjZWUxOGFfMS1NQVAtNzQxLTAt IzI5NiVudWxsJV1bQ29kZWNQb29sXSBHb3QgYnJhbmQtbmV3IGRlY29tcHJlc3NvciBbLmd6XQ0K WzE4OjA1OjI4LDE3MF1bSU5GTyBdW0hhZG9vcC10YXNrLTc5NjUzNzBiLTZkZjItNGFiYy1hYjYx LThkNzdhMmNlZTE4YV8xLU1BUC03NTEtMC0jMzA2JW51bGwlXVtDb2RlY1Bvb2xdIEdvdCBicmFu ZC1uZXcgZGVjb21wcmVzc29yIFsuZ3pdDQpbMTg6MDU6MzQsMzg5XVtJTkZPIF1bSGFkb29wLXRh c2stNzk2NTM3MGItNmRmMi00YWJjLWFiNjEtOGQ3N2EyY2VlMThhXzEtTUFQLTc1My0wLSMzMDgl bnVsbCVdW0NvZGVjUG9vbF0gR290IGJyYW5kLW5ldyBkZWNvbXByZXNzb3IgWy5nel0NClsxODow NTozNSwyMDddW0lORk8gXVtIYWRvb3AtdGFzay03OTY1MzcwYi02ZGYyLTRhYmMtYWI2MS04ZDc3 YTJjZWUxOGFfMS1NQVAtNzU4LTAtIzMxMyVudWxsJV1bQ29kZWNQb29sXSBHb3QgYnJhbmQtbmV3 IGRlY29tcHJlc3NvciBbLmd6XQ0KWzE4OjA1OjM4LDE3N11bSU5GTyBdW0hhZG9vcC10YXNrLTc5 NjUzNzBiLTZkZjItNGFiYy1hYjYxLThkNzdhMmNlZTE4YV8xLU1BUC03NjAtMC0jMzE1JW51bGwl XVtDb2RlY1Bvb2xdIEdvdCBicmFuZC1uZXcgZGVjb21wcmVzc29yIFsuZ3pdDQpbMTg6MDU6Mzgs MzEwXVtJTkZPIF1bSGFkb29wLXRhc2stNzk2NTM3MGItNmRmMi00YWJjLWFiNjEtOGQ3N2EyY2Vl MThhXzEtTUFQLTc0NC0wLSMyOTklbnVsbCVdW0NvZGVjUG9vbF0gR290IGJyYW5kLW5ldyBkZWNv bXByZXNzb3IgWy5nel0NClsxODowNTozOCw3MDNdW0lORk8gXVtIYWRvb3AtdGFzay03OTY1Mzcw Yi02ZGYyLTRhYmMtYWI2MS04ZDc3YTJjZWUxOGFfMS1NQVAtNzQzLTAtIzI5OCVudWxsJV1bQ29k ZWNQb29sXSBHb3QgYnJhbmQtbmV3IGRlY29tcHJlc3NvciBbLmd6XQ0KWzE4OjA1OjM5LDU3N11b SU5GTyBdW0hhZG9vcC10YXNrLTc5NjUzNzBiLTZkZjItNGFiYy1hYjYxLThkNzdhMmNlZTE4YV8x LU1BUC03NTYtMC0jMzExJW51bGwlXVtDb2RlY1Bvb2xdIEdvdCBicmFuZC1uZXcgZGVjb21wcmVz c29yIFsuZ3pdDQpbMTg6MDU6NDAsNDkxXVtJTkZPIF1bSGFkb29wLXRhc2stNzk2NTM3MGItNmRm Mi00YWJjLWFiNjEtOGQ3N2EyY2VlMThhXzEtTUFQLTc0OC0wLSMzMDMlbnVsbCVdW0NvZGVjUG9v bF0gR290IGJyYW5kLW5ldyBkZWNvbXByZXNzb3IgWy5nel0NClsxODowNTo0MCw1OTddW0lORk8g XVtIYWRvb3AtdGFzay03OTY1MzcwYi02ZGYyLTRhYmMtYWI2MS04ZDc3YTJjZWUxOGFfMS1NQVAt NzU3LTAtIzMxMiVudWxsJV1bQ29kZWNQb29sXSBHb3QgYnJhbmQtbmV3IGRlY29tcHJlc3NvciBb Lmd6XQ0KWzE4OjA1OjQxLDI0OF1bSU5GTyBdW0hhZG9vcC10YXNrLTc5NjUzNzBiLTZkZjItNGFi Yy1hYjYxLThkNzdhMmNlZTE4YV8xLU1BUC03NjEtMC0jMzE2JW51bGwlXVtDb2RlY1Bvb2xdIEdv dCBicmFuZC1uZXcgZGVjb21wcmVzc29yIFsuZ3pdDQpbMTg6MDU6NDIsOTI2XVtJTkZPIF1bSGFk b29wLXRhc2stNzk2NTM3MGItNmRmMi00YWJjLWFiNjEtOGQ3N2EyY2VlMThhXzEtTUFQLTc0Ny0w LSMzMDIlbnVsbCVdW0NvZGVjUG9vbF0gR290IGJyYW5kLW5ldyBkZWNvbXByZXNzb3IgWy5nel0N ClsxODowNTo0NSwyNTNdW0lORk8gXVtIYWRvb3AtdGFzay03OTY1MzcwYi02ZGYyLTRhYmMtYWI2 MS04ZDc3YTJjZWUxOGFfMS1NQVAtNzUyLTAtIzMwNyVudWxsJV1bQ29kZWNQb29sXSBHb3QgYnJh bmQtbmV3IGRlY29tcHJlc3NvciBbLmd6XQ0KWzE4OjA1OjQ1LDI1M11bSU5GTyBdW0hhZG9vcC10 YXNrLTc5NjUzNzBiLTZkZjItNGFiYy1hYjYxLThkNzdhMmNlZTE4YV8xLU1BUC03NTQtMC0jMzA5 JW51bGwlXVtDb2RlY1Bvb2xdIEdvdCBicmFuZC1uZXcgZGVjb21wcmVzc29yIFsuZ3pdDQpbMTg6 MDU6NDUsMzMwXVtJTkZPIF1bSGFkb29wLXRhc2stNzk2NTM3MGItNmRmMi00YWJjLWFiNjEtOGQ3 N2EyY2VlMThhXzEtTUFQLTc0Ni0wLSMzMDElbnVsbCVdW0NvZGVjUG9vbF0gR290IGJyYW5kLW5l dyBkZWNvbXByZXNzb3IgWy5nel0NClsxODowNTo0NiwxOTRdW0lORk8gXVtIYWRvb3AtdGFzay03 OTY1MzcwYi02ZGYyLTRhYmMtYWI2MS04ZDc3YTJjZWUxOGFfMS1NQVAtNzQ1LTAtIzMwMCVudWxs JV1bQ29kZWNQb29sXSBHb3QgYnJhbmQtbmV3IGRlY29tcHJlc3NvciBbLmd6XQ0KWzE4OjA1OjQ3 LDEwMl1bSU5GTyBdW0hhZG9vcC10YXNrLTc5NjUzNzBiLTZkZjItNGFiYy1hYjYxLThkNzdhMmNl ZTE4YV8xLU1BUC03NTAtMC0jMzA1JW51bGwlXVtDb2RlY1Bvb2xdIEdvdCBicmFuZC1uZXcgZGVj b21wcmVzc29yIFsuZ3pdDQpbMTg6MDU6NDcsODQ1XVtJTkZPIF1bSGFkb29wLXRhc2stNzk2NTM3 MGItNmRmMi00YWJjLWFiNjEtOGQ3N2EyY2VlMThhXzEtTUFQLTc0OS0wLSMzMDQlbnVsbCVdW0Nv ZGVjUG9vbF0gR290IGJyYW5kLW5ldyBkZWNvbXByZXNzb3IgWy5nel0NClsxODowNTo1MSwxODZd W0lORk8gXVtIYWRvb3AtdGFzay03OTY1MzcwYi02ZGYyLTRhYmMtYWI2MS04ZDc3YTJjZWUxOGFf MS1NQVAtNzU5LTAtIzMxNCVudWxsJV1bQ29kZWNQb29sXSBHb3QgYnJhbmQtbmV3IGRlY29tcHJl c3NvciBbLmd6XQ0KWzE4OjA1OjU0LDc1N11bSU5GTyBdW0hhZG9vcC10YXNrLTc5NjUzNzBiLTZk ZjItNGFiYy1hYjYxLThkNzdhMmNlZTE4YV8xLU1BUC03NTUtMC0jMzEwJW51bGwlXVtDb2RlY1Bv b2xdIEdvdCBicmFuZC1uZXcgZGVjb21wcmVzc29yIFsuZ3pdDQpbMTg6MDU6NTUsNjU0XVtJTkZP IF1bZ3JpZC10aW1lb3V0LXdvcmtlci0jOTclbnVsbCVdW0lnbml0ZUtlcm5hbF0gDQpNZXRyaWNz IGZvciBsb2NhbCBub2RlICh0byBkaXNhYmxlIHNldCAnbWV0cmljc0xvZ0ZyZXF1ZW5jeScgdG8g MCkNCiAgICBeLS0gTm9kZSBbaWQ9Nzk2NTM3MGIsIG5hbWU9bnVsbF0NCiAgICBeLS0gSC9OL0Mg W2hvc3RzPTYsIG5vZGVzPTYsIENQVXM9MTQ0XQ0KICAgIF4tLSBDUFUgW2N1cj04MC4xNyUsIGF2 Zz03NC4xNiUsIEdDPTAuMDMlXQ0KICAgIF4tLSBIZWFwIFt1c2VkPTEwMDU2TUIsIGZyZWU9Njku MjklLCBjb21tPTMyNzUwTUJdDQogICAgXi0tIFB1YmxpYyB0aHJlYWQgcG9vbCBbYWN0aXZlPTMs IGlkbGU9NDUsIHFTaXplPTBdDQogICAgXi0tIFN5c3RlbSB0aHJlYWQgcG9vbCBbYWN0aXZlPTAs IGlkbGU9NDgsIHFTaXplPTBdDQogICAgXi0tIE91dGJvdW5kIG1lc3NhZ2VzIHF1ZXVlIFtzaXpl PTBdDQpbMTg6MDU6NTYsMjI1XVtJTkZPIF1bSGFkb29wLXRhc2stNzk2NTM3MGItNmRmMi00YWJj LWFiNjEtOGQ3N2EyY2VlMThhXzEtTUFQLTc0MC0wLSMyOTUlbnVsbCVdW0NvZGVjUG9vbF0gR290 IGJyYW5kLW5ldyBkZWNvbXByZXNzb3IgWy5nel0NClsxODowNTo1OCw0NThdW0lORk8gXVtIYWRv b3AtdGFzay03OTY1MzcwYi02ZGYyLTRhYmMtYWI2MS04ZDc3YTJjZWUxOGFfMS1NQVAtNzYyLTAt IzMxNyVudWxsJV1bQ29kZWNQb29sXSBHb3QgYnJhbmQtbmV3IGRlY29tcHJlc3NvciBbLmd6XQ0K WzE4OjA2OjAxLDg2NV1bSU5GTyBdW0hhZG9vcC10YXNrLTc5NjUzNzBiLTZkZjItNGFiYy1hYjYx LThkNzdhMmNlZTE4YV8xLU1BUC03NDItMC0jMjk3JW51bGwlXVtDb2RlY1Bvb2xdIEdvdCBicmFu ZC1uZXcgZGVjb21wcmVzc29yIFsuZ3pdDQpbMTg6MDY6MTEsNTkwXVtJTkZPIF1bSGFkb29wLXRh c2stNzk2NTM3MGItNmRmMi00YWJjLWFiNjEtOGQ3N2EyY2VlMThhXzEtTUFQLTczOS0wLSMyOTQl bnVsbCVdW0NvZGVjUG9vbF0gR290IGJyYW5kLW5ldyBkZWNvbXByZXNzb3IgWy5nel0NClsxODow NjoxOSwyNDhdW0lORk8gXVtIYWRvb3AtdGFzay03OTY1MzcwYi02ZGYyLTRhYmMtYWI2MS04ZDc3 YTJjZWUxOGFfMS1NQVAtNzQxLTAtIzI5NiVudWxsJV1bQ29kZWNQb29sXSBHb3QgYnJhbmQtbmV3 IGRlY29tcHJlc3NvciBbLmd6XQ0KWzE4OjA2OjE5LDI3OV1bSU5GTyBdW0hhZG9vcC10YXNrLTc5 NjUzNzBiLTZkZjItNGFiYy1hYjYxLThkNzdhMmNlZTE4YV8xLU1BUC03NTEtMC0jMzA2JW51bGwl XVtDb2RlY1Bvb2xdIEdvdCBicmFuZC1uZXcgZGVjb21wcmVzc29yIFsuZ3pdDQpbMTg6MDY6Mjcs Nzc1XVtJTkZPIF1bSGFkb29wLXRhc2stNzk2NTM3MGItNmRmMi00YWJjLWFiNjEtOGQ3N2EyY2Vl MThhXzEtTUFQLTc1My0wLSMzMDglbnVsbCVdW0NvZGVjUG9vbF0gR290IGJyYW5kLW5ldyBkZWNv bXByZXNzb3IgWy5nel0NClsxODowNjoyOCw0OTRdW0lORk8gXVtIYWRvb3AtdGFzay03OTY1Mzcw Yi02ZGYyLTRhYmMtYWI2MS04ZDc3YTJjZWUxOGFfMS1NQVAtNzU4LTAtIzMxMyVudWxsJV1bQ29k ZWNQb29sXSBHb3QgYnJhbmQtbmV3IGRlY29tcHJlc3NvciBbLmd6XQ0KWzE4OjA2OjMxLDQwNF1b SU5GTyBdW0hhZG9vcC10YXNrLTc5NjUzNzBiLTZkZjItNGFiYy1hYjYxLThkNzdhMmNlZTE4YV8x LU1BUC03NjAtMC0jMzE1JW51bGwlXVtDb2RlY1Bvb2xdIEdvdCBicmFuZC1uZXcgZGVjb21wcmVz c29yIFsuZ3pdDQpbMTg6MDY6MzIsODY1XVtJTkZPIF1bSGFkb29wLXRhc2stNzk2NTM3MGItNmRm Mi00YWJjLWFiNjEtOGQ3N2EyY2VlMThhXzEtTUFQLTc0NC0wLSMyOTklbnVsbCVdW0NvZGVjUG9v bF0gR290IGJyYW5kLW5ldyBkZWNvbXByZXNzb3IgWy5nel0NClsxODowNjozMyw3MTddW0lORk8g XVtIYWRvb3AtdGFzay03OTY1MzcwYi02ZGYyLTRhYmMtYWI2MS04ZDc3YTJjZWUxOGFfMS1NQVAt NzU2LTAtIzMxMSVudWxsJV1bQ29kZWNQb29sXSBHb3QgYnJhbmQtbmV3IGRlY29tcHJlc3NvciBb Lmd6XQ0KWzE4OjA2OjM0LDQyMV1bSU5GTyBdW0hhZG9vcC10YXNrLTc5NjUzNzBiLTZkZjItNGFi Yy1hYjYxLThkNzdhMmNlZTE4YV8xLU1BUC03NDMtMC0jMjk4JW51bGwlXVtDb2RlY1Bvb2xdIEdv dCBicmFuZC1uZXcgZGVjb21wcmVzc29yIFsuZ3pdDQoNCg0KDQoNCiANCkZyb206IFZsYWRpbWly IE96ZXJvdg0KRGF0ZTogMjAxNi0wMy0yNCAyMTowMA0KVG86IHVzZXINClN1YmplY3Q6IFJlOiBS ZTogYWJvdXQgbXIgYWNjZWxlcmF0b3IgcXVlc3Rpb24uDQpIaSwNCg0KUG9zc2libGUgc3BlZWR1 cCBncmVhdGx5IGRlcGVuZHMgb24gdGhlIG5hdHVyZSBvZiB5b3VyIHRhc2suIFR5cGljYWxseSwg dGhlIG1vcmUgTVIgdGFza3MgeW91IGhhdmUgYW5kIHRoZSBtb3JlIGludGVuc2l2ZWx5IHlvdSB3 b3JrIHdpdGggYWN0dWFsIGRhdGEsIHRoZSBiaWdnZXIgaW1wcm92ZW1lbnQgY291bGQgYmUgYWNo aWV2ZWQuIFBsZWFzZSBnaXZlIG1vcmUgZGV0YWlscyBvbiB3aGF0IGtpbmQgb2Ygam9icyBkbyB5 b3UgcnVuIGFuZCBwcm9iYWJseSBJIHdpbGwgYmUgYWJsZSB0byBzdWdnZXN0IHNvbWV0aGluZy4g DQoNCk9uZSBwb3NzaWJsZSBjaGFuZ2UgeW91IGNhbiBtYWtlIHRvIHlvdXIgY29uZmlnIC0gc3dp dGNoIHRlbXBvcmFsIGZpbGUgc3lzdGVtIHBhdGhzIHVzZWQgYnkgeW91ciBqb2JzIHRvIFBSSU1B UlkgbW9kZS4gVGhpcyB3YXkgYWxsIHRlbXAgZGF0YSB3aWxsIHJlc2lkZSBvbmx5IGluIG1lbW9y eSBhbmQgd2lsbCBub3QgaGl0IEhERlMuDQoNClZsYWRpbWlyLg0KDQpPbiBXZWQsIE1hciAyMywg MjAxNiBhdCA4OjQ4IEFNLCBsaXltQHJ1bnN0b25lLmNvbSA8bGl5bUBydW5zdG9uZS5jb20+IHdy b3RlOg0KSSBhbSBzbyBnbGFkIHRvIHRlbGwgeW91IHRoZSBwcm9ibGVtIGhhcyBiZWVuIHNvbHZl ZCx0aGFua3MgYSBsb3QuIGJ1dCB0aGUgcGVmb3JtYW5jZSBpbXByb3ZlIG9ubHkgMzAwJSwgaXMg dGhlcmUgb3RoZXIgZ29vZCBpZGVhIGZvciBjb25maWfvvJ8NCnRoZXJlIGlzIGFub3RoZXIgcHJv YmxlbSBpcyBpIGFtIG5vdCBhYmxlIHRvIGZvbGxvdyB0aGUgdHJhY2sgdGhlIGpvYiBsaWtlIHVz ZSBmcmFtZXdvcmsgeWFybi5zbyBJICBjYW50IGNvdW50IHRoZSBqb2JzIGFuZCB2aWV3IHRoZSBz dGF0ZSB3aGljaCBJIGhhdmUgYmVlbiBmaW5pc2hlZC5pcyB0aGVyZSBnb29kIHN1Z2dlc3Rpb24u DQoNCnRoZSBpZ25pdGUgY29uZmlnIGlzIA0KDQo8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5n PSJVVEYtOCI/Pg0KDQo8IS0tDQogIExpY2Vuc2VkIHRvIHRoZSBBcGFjaGUgU29mdHdhcmUgRm91 bmRhdGlvbiAoQVNGKSB1bmRlciBvbmUgb3IgbW9yZQ0KICBjb250cmlidXRvciBsaWNlbnNlIGFn cmVlbWVudHMuICBTZWUgdGhlIE5PVElDRSBmaWxlIGRpc3RyaWJ1dGVkIHdpdGgNCiAgdGhpcyB3 b3JrIGZvciBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIHJlZ2FyZGluZyBjb3B5cmlnaHQgb3duZXJz aGlwLg0KICBUaGUgQVNGIGxpY2Vuc2VzIHRoaXMgZmlsZSB0byBZb3UgdW5kZXIgdGhlIEFwYWNo ZSBMaWNlbnNlLCBWZXJzaW9uIDIuMA0KICAodGhlICJMaWNlbnNlIik7IHlvdSBtYXkgbm90IHVz ZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aA0KICB0aGUgTGljZW5zZS4gIFlv dSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdA0KDQogICAgICAgaHR0cDovL3d3 dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wDQoNCiAgVW5sZXNzIHJlcXVpcmVkIGJ5 IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQ0KICBkaXN0 cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJB U0lTLA0KICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0 aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4NCiAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lm aWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZA0KICBsaW1pdGF0aW9ucyB1bmRl ciB0aGUgTGljZW5zZS4NCi0tPg0KDQo8IS0tDQogICAgSWduaXRlIFNwcmluZyBjb25maWd1cmF0 aW9uIGZpbGUuDQoNCiAgICBXaGVuIHN0YXJ0aW5nIGEgc3RhbmRhbG9uZSBJZ25pdGUgbm9kZSwg eW91IG5lZWQgdG8gZXhlY3V0ZSB0aGUgZm9sbG93aW5nIGNvbW1hbmQ6DQogICAge0lHTklURV9I T01FfS9iaW4vaWduaXRlLntiYXR8c2h9IHBhdGgtdG8tdGhpcy1maWxlL2RlZmF1bHQtY29uZmln LnhtbA0KDQogICAgV2hlbiBzdGFydGluZyBJZ25pdGUgZnJvbSBKYXZhIElERSwgcGFzcyBwYXRo IHRvIHRoaXMgZmlsZSBpbnRvIElnbml0aW9uOg0KICAgIElnbml0aW9uLnN0YXJ0KCJwYXRoLXRv LXRoaXMtZmlsZS9kZWZhdWx0LWNvbmZpZy54bWwiKTsNCi0tPg0KPGJlYW5zIHhtbG5zPSJodHRw Oi8vd3d3LnNwcmluZ2ZyYW1ld29yay5vcmcvc2NoZW1hL2JlYW5zIg0KICAgICAgIHhtbG5zOnhz aT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiIHhtbG5zOnV0aWw9 Imh0dHA6Ly93d3cuc3ByaW5nZnJhbWV3b3JrLm9yZy9zY2hlbWEvdXRpbCINCiAgICAgICB4c2k6 c2NoZW1hTG9jYXRpb249Imh0dHA6Ly93d3cuc3ByaW5nZnJhbWV3b3JrLm9yZy9zY2hlbWEvYmVh bnMNCiAgICAgICBodHRwOi8vd3d3LnNwcmluZ2ZyYW1ld29yay5vcmcvc2NoZW1hL2JlYW5zL3Nw cmluZy1iZWFucy54c2QNCiAgICAgICBodHRwOi8vd3d3LnNwcmluZ2ZyYW1ld29yay5vcmcvc2No ZW1hL3V0aWwNCiAgICAgICBodHRwOi8vd3d3LnNwcmluZ2ZyYW1ld29yay5vcmcvc2NoZW1hL3V0 aWwvc3ByaW5nLXV0aWwueHNkIj4NCg0KICAgIDwhLS0NCiAgICAgICAgT3B0aW9uYWwgZGVzY3Jp cHRpb24uDQogICAgLS0+DQogICAgPGRlc2NyaXB0aW9uPg0KICAgICAgICBTcHJpbmcgZmlsZSBm b3IgSWduaXRlIG5vZGUgY29uZmlndXJhdGlvbiB3aXRoIElHRlMgYW5kIEFwYWNoZSBIYWRvb3Ag bWFwLXJlZHVjZSBzdXBwb3J0IGVuYWJsZWQuDQogICAgICAgIElnbml0ZSBub2RlIHdpbGwgc3Rh cnQgd2l0aCB0aGlzIGNvbmZpZ3VyYXRpb24gYnkgZGVmYXVsdC4NCiAgICA8L2Rlc2NyaXB0aW9u Pg0KDQogICAgPCEtLQ0KICAgICAgICBJbml0aWFsaXplIHByb3BlcnR5IGNvbmZpZ3VyZXIgc28g d2UgY2FuIHJlZmVyZW5jZSBlbnZpcm9ubWVudCB2YXJpYWJsZXMuDQogICAgLS0+DQogICAgPGJl YW4gaWQ9InByb3BlcnR5Q29uZmlndXJlciIgY2xhc3M9Im9yZy5zcHJpbmdmcmFtZXdvcmsuYmVh bnMuZmFjdG9yeS5jb25maWcuUHJvcGVydHlQbGFjZWhvbGRlckNvbmZpZ3VyZXIiPg0KICAgICAg ICA8cHJvcGVydHkgbmFtZT0ic3lzdGVtUHJvcGVydGllc01vZGVOYW1lIiB2YWx1ZT0iU1lTVEVN X1BST1BFUlRJRVNfTU9ERV9GQUxMQkFDSyIvPg0KICAgICAgICA8cHJvcGVydHkgbmFtZT0ic2Vh cmNoU3lzdGVtRW52aXJvbm1lbnQiIHZhbHVlPSJ0cnVlIi8+DQogICAgPC9iZWFuPg0KDQogICAg PCEtLQ0KICAgICAgICBBYnN0cmFjdCBJR0ZTIGZpbGUgc3lzdGVtIGNvbmZpZ3VyYXRpb24gdG8g YmUgdXNlZCBhcyBhIHRlbXBsYXRlLg0KICAgIC0tPg0KICAgIDxiZWFuIGlkPSJpZ2ZzQ2ZnQmFz ZSIgY2xhc3M9Im9yZy5hcGFjaGUuaWduaXRlLmNvbmZpZ3VyYXRpb24uRmlsZVN5c3RlbUNvbmZp Z3VyYXRpb24iIGFic3RyYWN0PSJ0cnVlIj4NCiAgICAgICAgPCEtLSBNdXN0IGNvcnJlbGF0ZSB3 aXRoIGNhY2hlIGFmZmluaXR5IG1hcHBlci4gLS0+DQogICAgICAgIDxwcm9wZXJ0eSBuYW1lPSJi bG9ja1NpemUiIHZhbHVlPSIjezEyOCAqIDEwMjR9Ii8+DQogICAgICAgIDxwcm9wZXJ0eSBuYW1l PSJwZXJOb2RlQmF0Y2hTaXplIiB2YWx1ZT0iNTEyIi8+DQogICAgICAgIDxwcm9wZXJ0eSBuYW1l PSJwZXJOb2RlUGFyYWxsZWxCYXRjaENvdW50IiB2YWx1ZT0iMTYiLz4NCg0KICAgICAgICA8cHJv cGVydHkgbmFtZT0icHJlZmV0Y2hCbG9ja3MiIHZhbHVlPSIzMiIvPg0KICAgIDwvYmVhbj4NCg0K ICAgIDxiZWFuIGNsYXNzPSJvcmcuYXBhY2hlLmlnbml0ZS5jb25maWd1cmF0aW9uLkNhY2hlQ29u ZmlndXJhdGlvbiI+DQogIDwhLS0gU3RvcmUgY2FjaGUgZW50cmllcyBvbi1oZWFwLiAtLT4NCiAg PHByb3BlcnR5IG5hbWU9Im1lbW9yeU1vZGUiIHZhbHVlPSJPTkhFQVBfVElFUkVEIi8+IA0KICA8 IS0tIEVuYWJsZSBPZmYtSGVhcCBtZW1vcnkgd2l0aCBtYXggc2l6ZSBvZiAxMCBHaWdhYnl0ZXMg KDAgZm9yIHVubGltaXRlZCkuIC0tPg0KICA8cHJvcGVydHkgbmFtZT0ib2ZmSGVhcE1heE1lbW9y eSIgdmFsdWU9IiN7MTQgKiAxMDI0TCAqIDEwMjRMICogMTAyNEx9Ii8+DQogIDwhLS0gQ29uZmln dXJlIGV2aWN0aW9uIHBvbGljeS4gLS0+DQogIDxwcm9wZXJ0eSBuYW1lPSJldmljdGlvblBvbGlj eSI+DQogICAgPGJlYW4gY2xhc3M9Im9yZy5hcGFjaGUuaWduaXRlLmNhY2hlLmV2aWN0aW9uLmln ZnMuSWdmc1BlckJsb2NrTHJ1RXZpY3Rpb25Qb2xpY3kiPg0KICAgICAgPCEtLSBFdmljdCB0byBv ZmYtaGVhcCBhZnRlciBjYWNoZSBzaXplIHJlYWNoZXMgbWF4U2l6ZS4gLS0+DQogICAgICA8cHJv cGVydHkgbmFtZT0ibWF4U2l6ZSIgdmFsdWU9IjgwMDAwMCIvPg0KICAgIDwvYmVhbj4NCiAgPC9w cm9wZXJ0eT4NCiAgPC9iZWFuPg0KDQogICAgPCEtLQ0KICAgICAgICBBYnN0cmFjdCBjYWNoZSBj b25maWd1cmF0aW9uIGZvciBJR0ZTIGZpbGUgZGF0YSB0byBiZSB1c2VkIGFzIGEgdGVtcGxhdGUu DQogICAgLS0+DQogICAgPGJlYW4gaWQ9ImRhdGFDYWNoZUNmZ0Jhc2UiIGNsYXNzPSJvcmcuYXBh Y2hlLmlnbml0ZS5jb25maWd1cmF0aW9uLkNhY2hlQ29uZmlndXJhdGlvbiIgYWJzdHJhY3Q9InRy dWUiPg0KICAgICAgICA8cHJvcGVydHkgbmFtZT0iY2FjaGVNb2RlIiB2YWx1ZT0iUEFSVElUSU9O RUQiLz4NCiAgICAgICAgPHByb3BlcnR5IG5hbWU9ImF0b21pY2l0eU1vZGUiIHZhbHVlPSJUUkFO U0FDVElPTkFMIi8+DQogICAgICAgIDxwcm9wZXJ0eSBuYW1lPSJ3cml0ZVN5bmNocm9uaXphdGlv bk1vZGUiIHZhbHVlPSJGVUxMX1NZTkMiLz4NCiAgICAgICAgPHByb3BlcnR5IG5hbWU9ImJhY2t1 cHMiIHZhbHVlPSIwIi8+DQogICAgICAgIDxwcm9wZXJ0eSBuYW1lPSJhZmZpbml0eU1hcHBlciI+ DQogICAgICAgICAgICA8YmVhbiBjbGFzcz0ib3JnLmFwYWNoZS5pZ25pdGUuaWdmcy5JZ2ZzR3Jv dXBEYXRhQmxvY2tzS2V5TWFwcGVyIj4NCiAgICAgICAgICAgICAgICA8IS0tIEhvdyBtYW55IHNl cXVlbnRpYWwgYmxvY2tzIHdpbGwgYmUgc3RvcmVkIG9uIHRoZSBzYW1lIG5vZGUuIC0tPg0KICAg ICAgICAgICAgICAgIDxjb25zdHJ1Y3Rvci1hcmcgdmFsdWU9IjUxMiIvPg0KICAgICAgICAgICAg PC9iZWFuPg0KICAgICAgICA8L3Byb3BlcnR5Pg0KICAgIDwvYmVhbj4NCg0KICAgIDwhLS0NCiAg ICAgICAgQWJzdHJhY3QgY2FjaGUgY29uZmlndXJhdGlvbiBmb3IgSUdGUyBtZXRhZGF0YSB0byBi ZSB1c2VkIGFzIGEgdGVtcGxhdGUuDQogICAgLS0+DQogICAgPGJlYW4gaWQ9Im1ldGFDYWNoZUNm Z0Jhc2UiIGNsYXNzPSJvcmcuYXBhY2hlLmlnbml0ZS5jb25maWd1cmF0aW9uLkNhY2hlQ29uZmln dXJhdGlvbiIgYWJzdHJhY3Q9InRydWUiPg0KICAgICAgICA8cHJvcGVydHkgbmFtZT0iY2FjaGVN b2RlIiB2YWx1ZT0iUkVQTElDQVRFRCIvPg0KICAgICAgICA8cHJvcGVydHkgbmFtZT0iYXRvbWlj aXR5TW9kZSIgdmFsdWU9IlRSQU5TQUNUSU9OQUwiLz4NCiAgICAgICAgPHByb3BlcnR5IG5hbWU9 IndyaXRlU3luY2hyb25pemF0aW9uTW9kZSIgdmFsdWU9IkZVTExfU1lOQyIvPg0KICAgIDwvYmVh bj4NCg0KICAgIDwhLS0NCiAgICAgICAgQ29uZmlndXJhdGlvbiBvZiBJZ25pdGUgbm9kZS4NCiAg ICAtLT4NCiAgICA8YmVhbiBpZD0iZ3JpZC5jZmciIGNsYXNzPSJvcmcuYXBhY2hlLmlnbml0ZS5j b25maWd1cmF0aW9uLklnbml0ZUNvbmZpZ3VyYXRpb24iPg0KICAgICAgICA8IS0tDQogICAgICAg ICAgICBBcGFjaGUgSGFkb29wIEFjY2VsZXJhdG9yIGNvbmZpZ3VyYXRpb24uDQogICAgICAgIC0t Pg0KICAgICAgICA8cHJvcGVydHkgbmFtZT0iaGFkb29wQ29uZmlndXJhdGlvbiI+DQogICAgICAg ICAgICA8YmVhbiBjbGFzcz0ib3JnLmFwYWNoZS5pZ25pdGUuY29uZmlndXJhdGlvbi5IYWRvb3BD b25maWd1cmF0aW9uIj4NCiAgICAgICAgICAgICAgICA8IS0tIEluZm9ybWF0aW9uIGFib3V0IGZp bmlzaGVkIGpvYnMgd2lsbCBiZSBrZXB0IGZvciAzMCBzZWNvbmRzLiAtLT4NCiAgICAgICAgICAg ICAgICA8cHJvcGVydHkgbmFtZT0iZmluaXNoZWRKb2JJbmZvVHRsIiB2YWx1ZT0iMzAwMDAiLz4N CiAgICAgICAgICAgIDwvYmVhbj4NCiAgICAgICAgPC9wcm9wZXJ0eT4NCg0KICAgICAgICA8IS0t DQogICAgICAgICAgICBUaGlzIHBvcnQgd2lsbCBiZSB1c2VkIGJ5IEFwYWNoZSBIYWRvb3AgY2xp ZW50IHRvIGNvbm5lY3QgdG8gSWduaXRlIG5vZGUgYXMgaWYgaXQgd2FzIGEgam9iIHRyYWNrZXIu DQogICAgICAgIC0tPg0KICAgICAgICA8cHJvcGVydHkgbmFtZT0iY29ubmVjdG9yQ29uZmlndXJh dGlvbiI+DQogICAgICAgICAgICA8YmVhbiBjbGFzcz0ib3JnLmFwYWNoZS5pZ25pdGUuY29uZmln dXJhdGlvbi5Db25uZWN0b3JDb25maWd1cmF0aW9uIj4NCiAgICAgICAgICAgICAgICA8cHJvcGVy dHkgbmFtZT0icG9ydCIgdmFsdWU9IjExMjExIi8+DQogICAgICAgICAgICA8L2JlYW4+DQogICAg ICAgIDwvcHJvcGVydHk+DQoNCiAgICAgICAgPCEtLQ0KICAgICAgICAgICAgQ29uZmlndXJlIG9u ZSBJR0ZTIGZpbGUgc3lzdGVtIGluc3RhbmNlIG5hbWVkICJpZ2ZzIiBvbiB0aGlzIG5vZGUuDQog ICAgICAgIC0tPg0KICAgICAgICA8cHJvcGVydHkgbmFtZT0iZmlsZVN5c3RlbUNvbmZpZ3VyYXRp b24iPg0KICAgICAgICAgICAgPGxpc3Q+DQogICAgICAgICAgICAgICAgPGJlYW4gY2xhc3M9Im9y Zy5hcGFjaGUuaWduaXRlLmNvbmZpZ3VyYXRpb24uRmlsZVN5c3RlbUNvbmZpZ3VyYXRpb24iIHBh cmVudD0iaWdmc0NmZ0Jhc2UiPg0KICAgICAgICAgICAgICAgICAgICA8cHJvcGVydHkgbmFtZT0i bmFtZSIgdmFsdWU9ImlnZnMiLz4NCg0KICAgICAgICAgICAgICAgICAgICA8IS0tIENhY2hlcyB3 aXRoIHRoZXNlIG5hbWVzIG11c3QgYmUgY29uZmlndXJlZC4gLS0+DQogICAgICAgICAgICAgICAg ICAgIDxwcm9wZXJ0eSBuYW1lPSJtZXRhQ2FjaGVOYW1lIiB2YWx1ZT0iaWdmcy1tZXRhIi8+DQog ICAgICAgICAgICAgICAgICAgIDxwcm9wZXJ0eSBuYW1lPSJkYXRhQ2FjaGVOYW1lIiB2YWx1ZT0i aWdmcy1kYXRhIi8+DQoNCiAgICAgICAgICAgICAgICAgICAgPCEtLSBDb25maWd1cmUgVENQIGVu ZHBvaW50IGZvciBjb21tdW5pY2F0aW9uIHdpdGggdGhlIGZpbGUgc3lzdGVtIGluc3RhbmNlLiAt LT4NCiAgICAgICAgICAgICAgICAgICAgPHByb3BlcnR5IG5hbWU9ImlwY0VuZHBvaW50Q29uZmln dXJhdGlvbiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8YmVhbiBjbGFzcz0ib3JnLmFwYWNo ZS5pZ25pdGUuaWdmcy5JZ2ZzSXBjRW5kcG9pbnRDb25maWd1cmF0aW9uIj4NCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICA8cHJvcGVydHkgbmFtZT0idHlwZSIgdmFsdWU9IlRDUCIgLz4NCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICA8cHJvcGVydHkgbmFtZT0iaG9zdCIgdmFsdWU9IjAu MC4wLjAiIC8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHByb3BlcnR5IG5hbWU9InBv cnQiIHZhbHVlPSIxMDUwMCIgLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvYmVhbj4NCiAg ICAgICAgICAgICAgICAgICAgPC9wcm9wZXJ0eT4NCg0KICAgICAgICAgICAgICAgICAgICA8IS0t IFNhbXBsZSBzZWNvbmRhcnkgZmlsZSBzeXN0ZW0gY29uZmlndXJhdGlvbi4NCiAgICAgICAgICAg ICAgICAgICAgICAgICd1cmknICAgICAgLSB0aGUgVVJJIG9mIHRoZSBzZWNvbmRhcnkgZmlsZSBz eXN0ZW0uDQogICAgICAgICAgICAgICAgICAgICAgICAnY2ZnUGF0aCcgIC0gb3B0aW9uYWwgY29u ZmlndXJhdGlvbiBwYXRoIG9mIHRoZSBzZWNvbmRhcnkgZmlsZSBzeXN0ZW0sDQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgZS5nLiAvb3B0L2Zvby9jb3JlLXNpdGUueG1sLiBUeXBpY2FsbHkg bGVmdCB0byBiZSBudWxsLg0KICAgICAgICAgICAgICAgICAgICAgICAgJ3VzZXJOYW1lJyAtIG9w dGlvbmFsIHVzZXIgbmFtZSB0byBhY2Nlc3MgdGhlIHNlY29uZGFyeSBmaWxlIHN5c3RlbSBvbiBi ZWhhbGYgb2YuIFVzZSBpdA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIEhhZG9vcCBj bGllbnQgYW5kIHRoZSBJZ25pdGUgbm9kZSBhcmUgcnVubmluZyBvbiBiZWhhbGYgb2YgZGlmZmVy ZW50IHVzZXJzLg0KICAgICAgICAgICAgICAgICAgICAtLT4NCiAgICAgICAgICAgICAgICAgICAg PHByb3BlcnR5IG5hbWU9InNlY29uZGFyeUZpbGVTeXN0ZW0iPg0KICAgICAgICAgICAgICAgICAg ICAgICAgPGJlYW4gY2xhc3M9Im9yZy5hcGFjaGUuaWduaXRlLmhhZG9vcC5mcy5JZ25pdGVIYWRv b3BJZ2ZzU2Vjb25kYXJ5RmlsZVN5c3RlbSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAg PGNvbnN0cnVjdG9yLWFyZyBuYW1lPSJ1cmkiIHZhbHVlPSJoZGZzOi8vKi4qLiouKjo5MDAwIi8+ DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNvbnN0cnVjdG9yLWFyZyBuYW1lPSJjZmdQ YXRoIj48bnVsbC8+PC9jb25zdHJ1Y3Rvci1hcmc+DQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgPGNvbnN0cnVjdG9yLWFyZyBuYW1lPSJ1c2VyTmFtZSIgdmFsdWU9ImNsaWVudC11c2VyLW5h bWUiLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvYmVhbj4NCiAgICAgICAgICAgICAgICAg ICAgPC9wcm9wZXJ0eT4NCiAgICAgICAgICAgICAgICA8L2JlYW4+DQogICAgICAgICAgICA8L2xp c3Q+DQogICAgICAgIDwvcHJvcGVydHk+DQoNCiAgICAgICAgPCEtLQ0KICAgICAgICAgICAgQ2Fj aGVzIG5lZWRlZCBieSBJR0ZTLg0KICAgICAgICAtLT4NCiAgICAgICAgPHByb3BlcnR5IG5hbWU9 ImNhY2hlQ29uZmlndXJhdGlvbiI+DQogICAgICAgICAgICA8bGlzdD4NCiAgICAgICAgICAgICAg ICA8IS0tIEZpbGUgc3lzdGVtIG1ldGFkYXRhIGNhY2hlLiAtLT4NCiAgICAgICAgICAgICAgICA8 YmVhbiBjbGFzcz0ib3JnLmFwYWNoZS5pZ25pdGUuY29uZmlndXJhdGlvbi5DYWNoZUNvbmZpZ3Vy YXRpb24iIHBhcmVudD0ibWV0YUNhY2hlQ2ZnQmFzZSI+DQogICAgICAgICAgICAgICAgICAgIDxw cm9wZXJ0eSBuYW1lPSJuYW1lIiB2YWx1ZT0iaWdmcy1tZXRhIi8+DQogICAgICAgICAgICAgICAg PC9iZWFuPg0KDQogICAgICAgICAgICAgICAgPCEtLSBGaWxlIHN5c3RlbSBmaWxlcyBkYXRhIGNh Y2hlLiAtLT4NCiAgICAgICAgICAgICAgICA8YmVhbiBjbGFzcz0ib3JnLmFwYWNoZS5pZ25pdGUu Y29uZmlndXJhdGlvbi5DYWNoZUNvbmZpZ3VyYXRpb24iIHBhcmVudD0iZGF0YUNhY2hlQ2ZnQmFz ZSI+DQogICAgICAgICAgICAgICAgICAgIDxwcm9wZXJ0eSBuYW1lPSJuYW1lIiB2YWx1ZT0iaWdm cy1kYXRhIi8+DQogICAgICAgICAgICAgICAgPC9iZWFuPg0KICAgICAgICAgICAgPC9saXN0Pg0K ICAgICAgICA8L3Byb3BlcnR5Pg0KDQogICAgICAgIDwhLS0NCiAgICAgICAgICAgIERpc2FibGUg ZXZlbnRzLg0KICAgICAgICAtLT4NCiAgICAgICAgPHByb3BlcnR5IG5hbWU9ImluY2x1ZGVFdmVu dFR5cGVzIj4NCiAgICAgICAgICAgIDxsaXN0Pg0KICAgICAgICAgICAgICAgIDx1dGlsOmNvbnN0 YW50IHN0YXRpYy1maWVsZD0ib3JnLmFwYWNoZS5pZ25pdGUuZXZlbnRzLkV2ZW50VHlwZS5FVlRf VEFTS19GQUlMRUQiLz4NCiAgICAgICAgICAgICAgICA8dXRpbDpjb25zdGFudCBzdGF0aWMtZmll bGQ9Im9yZy5hcGFjaGUuaWduaXRlLmV2ZW50cy5FdmVudFR5cGUuRVZUX1RBU0tfRklOSVNIRUQi Lz4NCiAgICAgICAgICAgICAgICA8dXRpbDpjb25zdGFudCBzdGF0aWMtZmllbGQ9Im9yZy5hcGFj aGUuaWduaXRlLmV2ZW50cy5FdmVudFR5cGUuRVZUX0pPQl9NQVBQRUQiLz4NCiAgICAgICAgICAg IDwvbGlzdD4NCiAgICAgICAgPC9wcm9wZXJ0eT4NCg0KICAgICAgICA8IS0tDQogICAgICAgICAg ICBUQ1AgZGlzY292ZXJ5IFNQSSBjYW4gYmUgY29uZmlndXJlZCB3aXRoIGxpc3Qgb2YgYWRkcmVz c2VzIGlmIG11bHRpY2FzdCBpcyBub3QgYXZhaWxhYmxlLg0KICAgICAgICAtLT4NCiAgICAgICAg PHByb3BlcnR5IG5hbWU9ImRpc2NvdmVyeVNwaSI+DQogICAgICAgICAgICA8YmVhbiBjbGFzcz0i b3JnLmFwYWNoZS5pZ25pdGUuc3BpLmRpc2NvdmVyeS50Y3AuVGNwRGlzY292ZXJ5U3BpIj4NCiAg ICAgICAgICAgICAgICA8cHJvcGVydHkgbmFtZT0iaXBGaW5kZXIiPg0KICAgICAgICAgICAgICAg ICAgICA8YmVhbiBjbGFzcz0ib3JnLmFwYWNoZS5pZ25pdGUuc3BpLmRpc2NvdmVyeS50Y3AuaXBm aW5kZXIudm0uVGNwRGlzY292ZXJ5Vm1JcEZpbmRlciI+DQogICAgICAgICAgICAgICAgICAgICAg ICA8cHJvcGVydHkgbmFtZT0iYWRkcmVzc2VzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICA8bGlzdD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHZhbHVlPiouKi4qLio8 L3ZhbHVlPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dmFsdWU+Ki4qLiouKjo0 NzUwMC4uNDc1MDk8L3ZhbHVlPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGlzdD4N CiAgICAgICAgICAgICAgICAgICAgICAgIDwvcHJvcGVydHk+DQogICAgICAgICAgICAgICAgICAg IDwvYmVhbj4NCiAgICAgICAgICAgICAgICA8L3Byb3BlcnR5Pg0KICAgICAgICAgICAgPC9iZWFu Pg0KICAgICAgICA8L3Byb3BlcnR5Pg0KICAgIDwvYmVhbj4NCjwvYmVhbnM+DQoNCg0KDQpsaXlt QHJ1bnN0b25lLmNvbSANCuWMl+S6rOa2pumAmuS4sOWNjuenkeaKgOaciemZkOWFrOWPuA0K5p2O 5a6c5piOIGxpa2Ugd2luZCBleGlzdA0K55S16K+dIDEzODExNjgyNDY1DQogDQpGcm9tOiBWbGFk aW1pciBPemVyb3YNCkRhdGU6IDIwMTYtMDMtMTcgMTM6MzcNClRvOiB1c2VyDQpTdWJqZWN0OiBS ZTogYWJvdXQgbXIgYWNjZWxlcmF0b3IgcXVlc3Rpb24uDQpIaSwNCiANClRoZSBmYWN0IHRoYXQg eW91IGNhbiB3b3JrIHdpdGggMjlHIGNsdXN0ZXIgd2l0aCBvbmx5IDhHIG9mIG1lbW9yeSBtaWdo dCBiZQ0KY2F1c2VkIGJ5IHRoZSBmb2xsb3dpbmcgdGhpbmdzOg0KMSkgWW91ciBqb2IgZG9lc24n dCB1c2UgYWxsIGRhdGEgZm9ybSBjbHVzdGVyIGFuZCBoZW5jZSBjYWNoZXMgb25seSBwYXJ0IG9m DQppdC4gVGhpcyBpcyB0aGUgbW9zdCBsaWtlbHkgY2FzZS4NCjIpIFlvdSBoYXZlIGV2aWN0aW9u IHBvbGljeSBjb25maWd1cmVkIGZvciBJR0ZTIGRhdGEgY2FjaGUuIA0KMykgT3IgbWF5IGJlIHlv dSB1c2Ugb2ZmaGVhcC4NClBsZWFzZSBwcm92aWRlIHRoZSBmdWxsIFhNTCBjb25maWd1cmF0aW9u IGFuZCB3ZSB3aWxsIGJlIGFibGUgdG8gdW5kZXJzdGFuZA0KaXQuDQogDQpBbnl3YXlzLCB5b3Vy IGluaXRpYWwgcXVlc3Rpb24gd2FzIGFib3V0IG91dC1vZi1tZW1vcnkuIENvdWxkIHlvdSBwcm92 aWRlDQpleGFjdCBlcnJvciBtZXNzYWdlPyBJcyBpdCBhYm91dCBoZWFwIG1lbW9yeSBvciBtYXkg YmUgcGVybWdlbj8NCiANCkFzIHBlciBleGVjdXRpb24gdGltZSwgdGhpcyBkZXBlbmRzIG9uIHlv dXIgd29ya2xvYWQuIElmIHRoZXJlIGFyZSBsb3RzIG1hcA0KdGFza3MgYW5kIHZlcnkgYWN0aXZl IHdvcmsgd2l0aCBkYXRhLCB5b3Ugd2lsbCBzZWUgaW1wcm92ZW1lbnQgaW4gc3BlZWQuIElmDQp0 aGVyZSBhcmUgbG90cyBvcGVyYXRpb25zIG9uIGZpbGUgc3lzdGVtIChlLmcuIG1rZGlycywgbW92 ZSwgZXRjLikgYW5kIHZlcnkNCmxpdHRsZSBhbW91bnQgb2YgbWFwIGpvYnMsIGNoYW5jZXMgdGhl cmUgd2lsbCBiZSBubyBzcGVlZHVwIGF0IGFsbC4gUHJvdmlkZQ0KbW9yZSBkZXRhaWxzIG9uIHRo ZSBqb2IgeW91IHRlc3QgYW5kIHR5cGUgb2YgZGF0YSB5b3UgdXNlIGFuZCB3ZSB3aWxsIGJlDQph YmxlIHRvIGdpdmUgeW91IG1vcmUgaWRlYXMgb24gd2hhdCB0byBkby4NCiANClZsYWRpbWlyLg0K IA0KIA0KLS0NClZpZXcgdGhpcyBtZXNzYWdlIGluIGNvbnRleHQ6IGh0dHA6Ly9hcGFjaGUtaWdu aXRlLXVzZXJzLjcwNTE4Lng2Lm5hYmJsZS5jb20vYWJvdXQtbXItYWNjZWxlcmF0b3ItcXVlc3Rp b24tdHAzNTAycDM1NTIuaHRtbA0KU2VudCBmcm9tIHRoZSBBcGFjaGUgSWduaXRlIFVzZXJzIG1h aWxpbmcgbGlzdCBhcmNoaXZlIGF0IE5hYmJsZS5jb20uDQoNCg0KDQo= ------=_001_NextPart406370122000_=---- Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable =0A
= I am so sorry that the description is not clearly.
= in the error node, there is a exception

=0A
Mar&nbs= p;30, 2016 5:11:58 PM org.apache.ignite.internal.clien= t.impl.connection.GridClientNioTcpConnection close
INFO: Clie= nt TCP connection closed: /202.99.69.178:11211
E= xception in thread "main" Mar 30, 2016 = 5:11:58 PM org.apache.ignite.internal.client.impl.connection.Gri= dClientNioTcpConnection close
INFO: Client TCP = connection closed: /202.99.96.178:11211
java.io.IOException:&= nbsp;Failed to get job status: job_c1de7618-b0f1-= 4159-ade4-57e305d4667f_0001
a= t org.apache.ignite.internal.processors.hadoop.proto.HadoopClientProt= ocol.getJobStatus(HadoopClientProtocol.java:191)
at org.apache.hadoop.mapreduce.Job$1.run(Job.java= :325)
at org.apache.hado= op.mapreduce.Job$1.run(Job.java:322)
= at java.security.AccessController.doPrivileged(Native Me= thod)
at javax.security.= auth.Subject.doAs(Subject.java:415)
= at org.apache.hadoop.security.UserGroupInformation.doAs(UserGr= oupInformation.java:1628)
at&= nbsp;org.apache.hadoop.mapreduce.Job.updateStatus(Job.java:322)
at org.apache.hadoop.mapreduce.Job= .isComplete(Job.java:610)
at&= nbsp;org.apache.hadoop.mapreduce.Job.monitorAndPrintJob(Job.java:1356)
= at org.apache.hadoop.mapred= uce.Job.waitForCompletion(Job.java:1317)
at mapreduce.DomainsSecondPVByIPMR.main(DomainsSecondPVBy= IPMR.java:73)
at sun.ref= lect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImp= l.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Dele= gatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.hadoop.util.RunJar.run= (RunJar.java:221)
at org= .apache.hadoop.util.RunJar.main(RunJar.java:136)
Caused by: c= lass org.apache.ignite.internal.client.impl.connection.GridClientConn= ectionResetException: Failed to perform request (= connection failed): /202.99.96.178:11211
at org.apache.ignite.internal.client.impl.conne= ction.GridClientConnection.getCloseReasonAsException(GridClientConnection.= java:491)
at org.apache.= ignite.internal.client.impl.connection.GridClientNioTcpConnection.close(Gr= idClientNioTcpConnection.java:336)
<= /span>at org.apache.ignite.internal.client.impl.connection.GridClient= NioTcpConnection.close(GridClientNioTcpConnection.java:296)
at org.apache.ignite.internal.client.i= mpl.connection.GridClientConnectionManagerAdapter$NioListener.onDisconnect= ed(GridClientConnectionManagerAdapter.java:605)
at org.apache.ignite.internal.util.nio.GridNioFilt= erChain$TailFilter.onSessionClosed(GridNioFilterChain.java:249)
at org.apache.ignite.internal.util= .nio.GridNioFilterAdapter.proceedSessionClosed(GridNioFilterAdapter.java:9= 3)
at org.apache.ignite.= internal.util.nio.GridNioCodecFilter.onSessionClosed(GridNioCodecFilter.ja= va:70)
at org.apache.ign= ite.internal.util.nio.GridNioFilterAdapter.proceedSessionClosed(GridNioFil= terAdapter.java:93)
at o= rg.apache.ignite.internal.util.nio.GridNioServer$HeadFilter.onSessionClose= d(GridNioServer.java:2115)
at=  org.apache.ignite.internal.util.nio.GridNioFilterChain.onSessionClos= ed(GridNioFilterChain.java:147)
at org.apache.ignite.internal.util.nio.GridNioServer$AbstractNioCl= ientWorker.close(GridNioServer.java:1659)
at org.apache.ignite.internal.util.nio.GridNioServer$Byt= eBufferNioClientWorker.processRead(GridNioServer.java:731)
at org.apache.ignite.internal.util.nio= .GridNioServer$AbstractNioClientWorker.processSelectedKeys(GridNioServer.j= ava:1463)
at org.apache.= ignite.internal.util.nio.GridNioServer$AbstractNioClientWorker.bodyInterna= l(GridNioServer.java:1398)
at=  org.apache.ignite.internal.util.nio.GridNioServer$AbstractNioClientW= orker.body(GridNioServer.java:1280)
= at org.apache.ignite.internal.util.worker.GridWorker.run(GridW= orker.java:110)
at java.= lang.Thread.run(Thread.java:745)

=0A
 
From:&nb= sp;Vladimir Ozerov
<= b>Date: 2016-03-29 19:53
To: user
Subject: = ;Re: Re: about mr accelerator question.
Hi,

Sorry, still do not understand the question well. Do you need to under= stand why the node was killed? Or something wrong happened to a cluster af= ter the node had been killed?

Vladimir.

On Tue, M= ar 29, 2016 at 4:50 AM, liym@runstone= .com <liym@runstone.com> wrote:
=0A
One of nodes process is killed aut= o when excute the mr task, so other nodes could not send the mes= sage to the node which is killed.

[17:42:5= 2] Security status [authentication=3Doff, tls/ssl=3Dof= f]
[17:42:53] HADOOP_HOME is set to /home/hdus= er/hadoop
[17:42:55] Performance suggestions for gr= id  (fix if possible)
[17:42:55] To disab= le, set -DIGNITE_PERFORMANCE_SUGGESTIONS_DISABLED=3Dtrue
[17:= 42:55]   ^-- Disable grid events (remov= e 'includeEventTypes' from configuration)
[17:42:55]&nbs= p;
[17:42:55] To start Console Management &= ; Monitoring run ignitevisorcmd.{sh|bat}
[17:42:55] = ;
[17:42:55] Ignite node started OK (id=3D7965= 370b)
[17:42:55] Topology snapshot [ver=3D1, server= s=3D1, clients=3D0, CPUs=3D24, heap=3D32.0GB]
[17:43:12]=  Topology snapshot [ver=3D2, servers=3D2, clients= =3D0, CPUs=3D48, heap=3D64.0GB]
[17:43:18] Topology = ;snapshot [ver=3D3, servers=3D3, clients=3D0, CPUs=3D7= 2, heap=3D96.0GB]
[17:43:23] Topology snapshot [ver= =3D4, servers=3D4, clients=3D0, CPUs=3D96, heap=3D130.= 0GB]
[17:43:31] Topology snapshot [ver=3D5, servers= =3D5, clients=3D0, CPUs=3D120, heap=3D160.0GB]
[17:43:38= ] Topology snapshot [ver=3D6, servers=3D6, client= s=3D0, CPUs=3D144, heap=3D190.0GB]
[17:44:08] Class = ;"o.a.i.i.processors.hadoop.counter.HadoopCountersImpl" cannot b= e written in binary format because it e= ither implements Externalizable interface or have=  writeObject/readObject methods. Please ensure th= at all nodes have this class in classpa= th. To enable binary serialization either im= plement Binarylizable interface or set explicit&n= bsp;serializer using BinaryTypeConfiguration.setSerializer()&nbs= p;method.
[17:44:09] Class "o.a.i.i.processors.hadoop.jobtrac= ker.HadoopJobMetadata" cannot be written in binar= y format because it either implements Extern= alizable interface or have writeObject/readObject = ;methods. Please ensure that all nodes have&= nbsp;this class in classpath. To enable bina= ry serialization either implement Binarylizable i= nterface or set explicit serializer using Bi= naryTypeConfiguration.setSerializer() method.
[17:44:13] Clas= s "o.a.i.i.processors.hadoop.proto.HadoopProtocolTaskArguments" = cannot be written in binary format because&n= bsp;it either implements Externalizable interface = ;or have writeObject/readObject methods. Please e= nsure that all nodes have this class in=  classpath. To enable binary serialization e= ither implement Binarylizable interface or set&nb= sp;explicit serializer using BinaryTypeConfiguration.setSer= ializer() method.
[17:44:34] Class "o.a.i.i.processors.h= adoop.shuffle.HadoopShuffleMessage" cannot be written = in binary format because it either implement= s Externalizable interface or have writeObject/re= adObject methods. Please ensure that all nod= es have this class in classpath. To ena= ble binary serialization either implement Binaryl= izable interface or set explicit serializer = using BinaryTypeConfiguration.setSerializer() method.
[17:44:= 36] Class "o.a.i.i.processors.hadoop.shuffle.HadoopShuffleAck"&n= bsp;cannot be written in binary format becau= se it either implements Externalizable interface&= nbsp;or have writeObject/readObject methods. Please&nb= sp;ensure that all nodes have this class&nbs= p;in classpath. To enable binary serialization&nb= sp;either implement Binarylizable interface or se= t explicit serializer using BinaryTypeConfiguration.se= tSerializer() method.
[17:44:36] Class "o.a.i.i.processo= rs.hadoop.shuffle.HadoopShuffleAck" cannot be written = in binary format because it either implement= s Externalizable interface or have writeObject/re= adObject methods. Please ensure that all nod= es have this class in classpath. To ena= ble binary serialization either implement Binaryl= izable interface or set explicit serializer = using BinaryTypeConfiguration.setSerializer() method.
./ig= nite.sh: line 157: 41326 Killed    = ;            &= nbsp; "$JAVA" ${JVM_OPTS} ${QUIET} "${RESTART_SUCCESS_= OPT}" ${JMX_MON} -DIGNITE_HOME=3D"${IGNITE_HOME}" -DIGNITE_= PROG_NAME=3D"$0" ${JVM_XOPTS} -cp "${CP}" ${MAIN_CLASS= } "${CONFIG}"
hduser@rslog1-tj:~/ignite/bin$
=0A

=0A

=0A
&nbs= p;
Date:&nb= sp;2016-03-28 18:57
To: user
Subject:&nb= sp;Re: Re: about mr accelerator question.
Hi,

I'm not sure I understand what error do= you mean. At least, I do not see any exceptions in the log. Could you ple= ase clarify?

Vladimir.

On Mon, Mar 28, 2016 at 1:30 PM= , liym@runstone.com= <liym@runstone.com> wrote:
=0A
There is a question .now i have 6 ignite= nodes.there is a error when the mr task is running.one node is killed usu= ally,can you tell me why.thanks a lot.
on the one node or two no= de,I dont find this error.

[17:42:52] Security statu= s [authentication=3Doff, tls/ssl=3Doff]
[17:42:53] HADOO= P_HOME is set to /home/hduser/hadoop
[17:42:55]&nbs= p;Performance suggestions for grid  (fix if&= nbsp;possible)
[17:42:55] To disable, set -DIGNITE_= PERFORMANCE_SUGGESTIONS_DISABLED=3Dtrue
[17:42:55]   ^--=  Disable grid events (remove 'includeEventTypes'&= nbsp;from configuration)
[17:42:55] 
[17:42:55] To&nb= sp;start Console Management & Monitoring run&= nbsp;ignitevisorcmd.{sh|bat}
[17:42:55] 
[17:42:55] Ignite=  node started OK (id=3D7965370b)
[17:42:55] To= pology snapshot [ver=3D1, servers=3D1, clients=3D0,&nb= sp;CPUs=3D24, heap=3D32.0GB]
[17:43:12] Topology snapsho= t [ver=3D2, servers=3D2, clients=3D0, CPUs=3D48, = heap=3D64.0GB]
[17:43:18] Topology snapshot [ver=3D3,&nb= sp;servers=3D3, clients=3D0, CPUs=3D72, heap=3D96.0GB]
[= 17:43:23] Topology snapshot [ver=3D4, servers=3D4,&nbs= p;clients=3D0, CPUs=3D96, heap=3D130.0GB]
[17:43:31] Top= ology snapshot [ver=3D5, servers=3D5, clients=3D0,&nbs= p;CPUs=3D120, heap=3D160.0GB]
[17:43:38] Topology snapsh= ot [ver=3D6, servers=3D6, clients=3D0, CPUs=3D144,&nbs= p;heap=3D190.0GB]
[17:44:08] Class "o.a.i.i.processors.hadoop= .counter.HadoopCountersImpl" cannot be written in = ;binary format because it either implements = Externalizable interface or have writeObject/readObjec= t methods. Please ensure that all nodes = ;have this class in classpath. To enable&nbs= p;binary serialization either implement Binarylizable&= nbsp;interface or set explicit serializer using&n= bsp;BinaryTypeConfiguration.setSerializer() method.
[17:44:09]&nbs= p;Class "o.a.i.i.processors.hadoop.jobtracker.HadoopJobMetadata" = ;cannot be written in binary format because&= nbsp;it either implements Externalizable interface&nbs= p;or have writeObject/readObject methods. Please = ensure that all nodes have this class i= n classpath. To enable binary serialization = either implement Binarylizable interface or set&n= bsp;explicit serializer using BinaryTypeConfiguration.setSe= rializer() method.
[17:44:13] Class "o.a.i.i.processors.= hadoop.proto.HadoopProtocolTaskArguments" cannot be written=  in binary format because it either imp= lements Externalizable interface or have writeObj= ect/readObject methods. Please ensure that all&nb= sp;nodes have this class in classpath. To&nb= sp;enable binary serialization either implement B= inarylizable interface or set explicit serializer=  using BinaryTypeConfiguration.setSerializer() method.
[= 17:44:34] Class "o.a.i.i.processors.hadoop.shuffle.HadoopShuffle= Message" cannot be written in binary format&= nbsp;because it either implements Externalizable = interface or have writeObject/readObject methods. = ;Please ensure that all nodes have this = ;class in classpath. To enable binary serial= ization either implement Binarylizable interface = or set explicit serializer using BinaryTypeConfig= uration.setSerializer() method.
[17:44:36] Class "o.a.i.= i.processors.hadoop.shuffle.HadoopShuffleAck" cannot be wri= tten in binary format because it either = ;implements Externalizable interface or have writ= eObject/readObject methods. Please ensure that al= l nodes have this class in classpath. T= o enable binary serialization either implement&nb= sp;Binarylizable interface or set explicit serial= izer using BinaryTypeConfiguration.setSerializer() method.<= br>[17:44:36] Class "o.a.i.i.processors.hadoop.shuffle.HadoopShu= ffleAck" cannot be written in binary format&= nbsp;because it either implements Externalizable = interface or have writeObject/readObject methods. = ;Please ensure that all nodes have this = ;class in classpath. To enable binary serial= ization either implement Binarylizable interface = or set explicit serializer using BinaryTypeConfig= uration.setSerializer() method.
./ignite.sh: line 157:&n= bsp;41326 Killed         = ;         "$JAVA" ${JVM_= OPTS} ${QUIET} "${RESTART_SUCCESS_OPT}" ${JMX_MON} -DI= GNITE_HOME=3D"${IGNITE_HOME}" -DIGNITE_PROG_NAME=3D"$0" ${JVM_XO= PTS} -cp "${CP}" ${MAIN_CLASS} "${CONFIG}"
hduser@r= slog1-tj:~/ignite/bin$

all nodes have the same confi= g
<?xml version=3D"1.0" encoding=3D"UTF-= 8"?>

<!--
  Licensed to the Apach= e Software Foundation (ASF) under one or&nbs= p;more
  contributor license agreements.  = ;See the NOTICE file distributed with
 &n= bsp;this work for additional information regardin= g copyright ownership.
  The ASF licenses=  this file to You under the Apache = ;License, Version 2.0
  (the "License"); = you may not use this file except in&nbs= p;compliance with
  the License.  You&nbs= p;may obtain a copy of the License at
       http://www.apache.org/licen= ses/LICENSE-2.0

  Unless required by a= pplicable law or agreed to in writing, = software
  distributed under the License = is distributed on an "AS IS" BASIS,
 = ; WITHOUT WARRANTIES OR CONDITIONS OF ANY&nb= sp;KIND, either express or implied.
  See=  the License for the specific language = governing permissions and
  limitations under&= nbsp;the License.
-->

<!--
    = ;Ignite Spring configuration file.

   = ; When starting a standalone Ignite node,&nb= sp;you need to execute the following command= :
    {IGNITE_HOME}/bin/ignite.{bat|sh} path-t= o-this-file/default-config.xml

    When st= arting Ignite from Java IDE, pass path = to this file into Ignition:
    = ;Ignition.start("path-to-this-file/default-config.xml");
-->
<= beans xmlns=3D"http://www.springframework.org/schema/beans"
&n= bsp;      xmlns:xsi=3D"http://www.w3.org/2001/= XMLSchema-instance" xmlns:util=3D"http://www.springframework.org/s= chema/util"
       xsi:schemaLoc= ation=3D"http://www.springframework.org/schema/beans
  &n= bsp;    http://www.springframework.or= g/schema/beans/spring-beans.xsd
      = ; http://www.springframework.org/schema/util
   =     http://www.springframework.org/sche= ma/util/spring-util.xsd">

    <!--        Optional description= .
    -->
    <descrip= tion>
        Spring fi= le for Ignite node configuration with IGFS&n= bsp;and Apache Hadoop map-reduce support enabled.=
        Ignite node = will start with this configuration by defaul= t.
    </description>

  &nbs= p; <!--
        Initial= ize property configurer so we can reference&= nbsp;environment variables.
    -->
&nbs= p;   <bean id=3D"propertyConfigurer" class=3D"= org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">= ;
        <property nam= e=3D"systemPropertiesModeName" value=3D"SYSTEM_PROPERTIES_MODE_FALLBA= CK"/>
        <property&n= bsp;name=3D"searchSystemEnvironment" value=3D"true"/>
 &nb= sp;  </bean>

    <!--
&nb= sp;       Abstract IGFS file&= nbsp;system configuration to be used as a&nb= sp;template.
    -->
    = <bean id=3D"igfsCfgBase" class=3D"org.apache.ignite.configura= tion.FileSystemConfiguration" abstract=3D"true">
  &n= bsp;     <!-- Must correlate wi= th cache affinity mapper. -->
   =      <property name=3D"blockSize" va= lue=3D"#{128 * 1024}"/>
     &nbs= p;  <property name=3D"perNodeBatchSize" value=3D"51= 2"/>
        <property&nb= sp;name=3D"perNodeParallelBatchCount" value=3D"16"/>

 =        <property name=3D"prefet= chBlocks" value=3D"32"/>
    </bean><= br>
    <bean class=3D"org.apache.ignite.co= nfiguration.CacheConfiguration">
  <!-- Store = ;cache entries on-heap. -->
  <property&= nbsp;name=3D"memoryMode" value=3D"ONHEAP_TIERED"/> 
 =  <!-- Enable Off-Heap memory with max&nbs= p;size of 10 Gigabytes (0 for unlimited).&nb= sp;-->
  <property name=3D"offHeapMaxMemory" = value=3D"#{14 * 1024L * 1024L * 1024L}"/>=
  <!-- Configure eviction policy. --&= gt;
  <property name=3D"evictionPolicy">
 =    <bean class=3D"org.apache.ignite.cache.eviction.= igfs.IgfsPerBlockLruEvictionPolicy">
     &= nbsp;<!-- Evict to off-heap after cache s= ize reaches maxSize. -->
  &nbs= p;   <property name=3D"maxSize" value=3D"34000= 00"/>

    </bean>
  = ;</property>
  </bean>

   &= nbsp;<!--
        Abstract&n= bsp;cache configuration for IGFS file data t= o be used as a template.
   &nb= sp;-->
    <bean id=3D"dataCacheCfgBase"=  class=3D"org.apache.ignite.configuration.CacheConfiguration" ab= stract=3D"true">
        <= ;property name=3D"cacheMode" value=3D"PARTITIONED"/>
 = ;       <property name=3D"atomi= cityMode" value=3D"TRANSACTIONAL"/>
    &nb= sp;   <property name=3D"writeSynchronizationMode"&n= bsp;value=3D"FULL_SYNC"/>
       =  <property name=3D"backups" value=3D"0"/>
 &n= bsp;      <property name=3D"affinity= Mapper">
          = ;  <bean class=3D"org.apache.ignite.igfs.IgfsGroupDataBl= ocksKeyMapper">
        &nbs= p;       <!-- How many&nbs= p;sequential blocks will be stored on the&nb= sp;same node. -->
      &nbs= p;         <constructor-ar= g value=3D"512"/>
       &nb= sp;    </bean>
     =    </property>
    </bean&g= t;

    <!--
     = ;   Abstract cache configuration for IG= FS metadata to be used as a template.    -->
    <bean = id=3D"metaCacheCfgBase" class=3D"org.apache.ignite.configuration.Cach= eConfiguration" abstract=3D"true">
    &nbs= p;   <property name=3D"cacheMode" value=3D"REP= LICATED"/>
        <prope= rty name=3D"atomicityMode" value=3D"TRANSACTIONAL"/>
 = ;       <property name=3D"write= SynchronizationMode" value=3D"FULL_SYNC"/>
   &n= bsp;</bean>

    <!--
  &n= bsp;     Configuration of Ignite n= ode.
    -->
    <bean=  id=3D"grid.cfg" class=3D"org.apache.ignite.configuration.Ignite= Configuration">
        <= !--
           &= nbsp;Apache Hadoop Accelerator configuration.
 &nbs= p;      -->
    &n= bsp;   <property name=3D"hadoopConfiguration">            = <bean class=3D"org.apache.ignite.configuration.HadoopConfiguration= ">
           = ;     <!-- Information about fi= nished jobs will be kept for 30 seconds= . -->
       &nb= sp;        <property name= =3D"finishedJobInfoTtl" value=3D"300000"/>

 &nbs= p;          </bean>= ;
        </property>
=
        <!--
  = ;          This por= t will be used by Apache Hadoop client&= nbsp;to connect to Ignite node as if it=  was a job tracker.
     &= nbsp;  -->
        = ;<property name=3D"connectorConfiguration">
  &nbs= p;         <bean clas= s=3D"org.apache.ignite.configuration.ConnectorConfiguration">
 =             &n= bsp;  <property name=3D"port" value=3D"11211"/><= br>            = ;</bean>
        </pro= perty>

        <!--            = Configure one IGFS file system instance name= d "igfs" on this node.
    &nbs= p;   -->
       &n= bsp;<property name=3D"fileSystemConfiguration">
  =           <list>            =     <bean class=3D"org.apache.ignite.configura= tion.FileSystemConfiguration" parent=3D"igfsCfgBase">
 &nb= sp;            = ;      <property name=3D"name" = value=3D"igfs"/>

        = ;            &= lt;!-- Caches with these names must be = configured. -->
        = ;            &= lt;property name=3D"metaCacheName" value=3D"igfs-meta"/>
&= nbsp;           &nb= sp;       <property name=3D"dat= aCacheName" value=3D"igfs-data"/>

    &= nbsp;           &nb= sp;   <!-- Configure TCP endpoint fo= r communication with the file system instanc= e. -->
         &n= bsp;          <proper= ty name=3D"ipcEndpointConfiguration">
    &= nbsp;           &nb= sp;       <bean class=3D"org.ap= ache.ignite.igfs.IgfsIpcEndpointConfiguration">
   &n= bsp;           &nbs= p;            = <property name=3D"type" value=3D"TCP" />
 &nb= sp;            = ;            &= nbsp; <property name=3D"host" value=3D"0.0.0.0" /&g= t;
           &n= bsp;           &nbs= p;    <property name=3D"port" value=3D"10= 500" />
         &= nbsp;           &nb= sp;  </bean>
       =             &n= bsp;</property>

       &nb= sp;            = ;<!-- Sample secondary file system configurati= on.
           &= nbsp;           &nb= sp;'uri'      - the URI of&nb= sp;the secondary file system.
    &n= bsp;           &nbs= p;       'cfgPath'  - op= tional configuration path of the secondary f= ile system,
         =             &n= bsp;      e.g. /opt/foo/core-site.xml.&= nbsp;Typically left to be null.
   &= nbsp;           &nb= sp;        'userName' - = optional user name to access the secondary&n= bsp;file system on behalf of. Use it
&nbs= p;            =             &n= bsp;  if Hadoop client and the Ignite&n= bsp;node are running on behalf of different&= nbsp;users.
          = ;          -->
&nb= sp;            = ;       <property name=3D"secon= daryFileSystem">
        &nb= sp;            = ;   <bean class=3D"org.apache.ignite.hadoop.fs.Igni= teHadoopIgfsSecondaryFileSystem">
   &nbs= p;            =             &l= t;constructor-arg name=3D"uri" value=3D"hdfs://202.99.96.170:9000"/>

           &= nbsp;           &nb= sp;    <constructor-arg name=3D"cfgPath">&l= t;null/></constructor-arg>
      = ;            &= nbsp;         <constructor= -arg name=3D"userName" value=3D"client-user-name"/>
 =             &n= bsp;          </bean&= gt;
           &= nbsp;        </property>
=             &n= bsp;   </bean>
      = ;      </list>
   &n= bsp;    </property>

   &nb= sp;    <!--
      =       Caches needed by IGFS.<= br>        -->
  &= nbsp;     <property name=3D"cacheConfigur= ation">
          =   <list>
       &nbs= p;        <!-- File s= ystem metadata cache. -->
    &nb= sp;           <b= ean class=3D"org.apache.ignite.configuration.CacheConfiguration" = ;parent=3D"metaCacheCfgBase">
      &n= bsp;           &nbs= p; <property name=3D"name" value=3D"igfs-meta"/>
&= nbsp;           &nb= sp;   </bean>

     &n= bsp;          <!--&nb= sp;File system files data cache. -->
 =             &n= bsp;  <bean class=3D"org.apache.ignite.configuration.Cac= heConfiguration" parent=3D"dataCacheCfgBase">
   = ;            &= nbsp;    <property name=3D"name" value=3D= "igfs-data"/>
         =        </bean>
  &nb= sp;         </list>
=         </property>

&= nbsp;       <!--
  &nbs= p;         Disable event= s.
        -->
 &nbs= p;      <property name=3D"includeEve= ntTypes">
         &nbs= p;  <list>
       &n= bsp;        <util:constant = ;static-field=3D"org.apache.ignite.events.EventType.EVT_TASK_FAILED"/><= br>            = ;    <util:constant static-field=3D"org.apache= .ignite.events.EventType.EVT_TASK_FINISHED"/>
   &nbs= p;            = <util:constant static-field=3D"org.apache.ignite.events.EventType.= EVT_JOB_MAPPED"/>
        &n= bsp;   </list>
      = ;  </property>

      =   <!--
        &nb= sp;   TCP discovery SPI can be con= figured with list of addresses if multicast&= nbsp;is not available.
      &n= bsp; -->
        <pr= operty name=3D"discoverySpi">
     &nb= sp;      <bean class=3D"org.apache.i= gnite.spi.discovery.tcp.TcpDiscoverySpi">
    &n= bsp;           <= property name=3D"ipFinder">
      = ;            &= nbsp; <bean class=3D"org.apache.ignite.spi.discovery.tcp.ipfi= nder.vm.TcpDiscoveryVmIpFinder">
      = ;            &= nbsp;     <property name=3D"addresses">= ;
           &nb= sp;            = ;    <list>
   &nb= sp;            = ;            &= nbsp;   <value>202.99.96.170</value>
 &= nbsp;           &nb= sp;            = ;      <value>202.99.69.170:47500..475= 09</value>
         =             &n= bsp;          <value&= gt;202.99.96.174:47500..47509</value>
    &nb= sp;            = ;            &= nbsp;  <value>202.99.96.178:47500..47509</value>
=             &n= bsp;           &nbs= p;       <value>202.99.69.174:475= 00..47509</value>
        = ;            &= nbsp;           <= ;value>202.99.69.178:47500..47509</value>
  &n= bsp;           &nbs= p;            =  </list>
        &nb= sp;            = ;   </property>
     &nbs= p;            =   </bean>
       &nb= sp;        </property>
&n= bsp;           <= /bean>
        </property= >
    </bean>
</beans>

<= b>and the ignite.sh config is 
#!/bin/bash
#
# = Licensed to the Apache Software Foundation (= ASF) under one or more
# contributor lice= nse agreements.  See the NOTICE file di= stributed with
# this work for additional = ;information regarding copyright ownership.
# The&n= bsp;ASF licenses this file to You under = ;the Apache License, Version 2.0
# (the "= License"); you may not use this file ex= cept in compliance with
# the License. &n= bsp;You may obtain a copy of the Licens= e at
#
#      http://www.apache.or= g/licenses/LICENSE-2.0
#
# Unless required by&nbs= p;applicable law or agreed to in writing,&nb= sp;software
# distributed under the License is=  distributed on an "AS IS" BASIS,
# = WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND= , either express or implied.
# See the&nb= sp;License for the specific language governing&nb= sp;permissions and
# limitations under the Lic= ense.
#

#
# Grid command line loader.
= #

#
# Import common functions.
#
if [&= nbsp;"${IGNITE_HOME}" =3D "" ];
    = then IGNITE_HOME_TMP=3D"$(dirname "$(cd "$(dirname "$0= ")"; "pwd")")";
    else IGNITE_HOME_TMP= =3D${IGNITE_HOME};
fi

#
# Set SCRIPTS_HOME -&n= bsp;base path to scripts.
#
SCRIPTS_HOME=3D"${IGNITE_= HOME_TMP}/bin"

source "${SCRIPTS_HOME}"/include/functions.sh
#
# Discover path to Java executable&nbs= p;and check it's version.
#
checkJava

#
#&n= bsp;Discover IGNITE_HOME environment variable.
#
setI= gniteHome

if [ "${DEFAULT_CONFIG}" =3D=3D ""&nb= sp;]; then
    DEFAULT_CONFIG=3Dconfig/default= -config.xml
fi

#
# Parse command line par= ameters.
#
. "${SCRIPTS_HOME}"/include/parseargs.sh

## Set IGNITE_LIBS.
#
. "${SCRIPTS_HOME}"/include/set= env.sh

CP=3D"${IGNITE_LIBS}"

RANDOM_NUMBER=3D$("$JAVA" = -cp "${CP}" org.apache.ignite.startup.cmdline.CommandLineRandomN= umberGenerator)

RESTART_SUCCESS_FILE=3D"${IGNITE_HOME}/work/ignite_= success_${RANDOM_NUMBER}"
RESTART_SUCCESS_OPT=3D"-DIGNITE_SUCCESS_FILE= =3D${RESTART_SUCCESS_FILE}"

#
# Find available po= rt for JMX
#
# You can specify IGNITE_= JMX_PORT environment variable for overriding auto= matically found JMX port
#
# This is e= xecuted when -nojmx is not specified
#
if&n= bsp;[ "${NOJMX}" =3D=3D "0" ] ; then
&nbs= p;   findAvailableJmxPort
fi

# Mac OS&n= bsp;specific support to display correct name = ;in the dock.
osname=3D`uname`

if [ "${DOCK_= OPTS}" =3D=3D "" ]; then
    DO= CK_OPTS=3D"-Xdock:name=3DIgnite Node"
fi

#
# JVM&nb= sp;options. See http://java.sun.com/javase/tec= hnologies/hotspot/vmoptions.jsp for more details.
#<= br># ADD YOUR/CHANGE ADDITIONAL OPTIONS HERE
#=
if [ -z "$JVM_OPTS" ] ; then
 &n= bsp;  JVM_OPTS=3D"-Xms32g -Xmx32g -server -XX:+Ag= gressiveOpts -XX:MaxPermSize=3D16g"
fi

#
# Uncommen= t the following GC settings if you see&= nbsp;spikes in your throughput due to Garbag= e Collection.
#
# JVM_OPTS=3D"$JVM_OPTS -XX:+UseParNe= wGC -XX:+UseConcMarkSweepGC -XX:+UseTLAB -XX:NewSize=3D128m=  -XX:MaxNewSize=3D128m"
# JVM_OPTS=3D"$JVM_OPTS -XX:MaxT= enuringThreshold=3D0 -XX:SurvivorRatio=3D1024 -XX:+UseCMSInitiat= ingOccupancyOnly -XX:CMSInitiatingOccupancyFraction=3D60"

## Uncomment if you get StackOverflowError.
#&= nbsp;On 64 bit systems this value can b= e larger, e.g. -Xss16m
#
# JVM_OPTS=3D"${JVM_OPT= S} -Xss4m"

#
# Uncomment to set prefere= nce for IPv4 stack.
#
# JVM_OPTS=3D"${JVM_OPTS}&= nbsp;-Djava.net.preferIPv4Stack=3Dtrue"

#
# Assertions = ;are disabled by default since version 3.5.<= br># If you want to enable them - = set 'ENABLE_ASSERTIONS' flag to '1'.
#
ENABLE_AS= SERTIONS=3D"0"

#
# Set '-ea' options if = ;assertions are enabled.
#
if [ "${ENABLE_ASSERT= IONS}" =3D "1" ]; then
    JVM_= OPTS=3D"${JVM_OPTS} -ea"
fi

#
# Set main = class to start service (grid node by de= fault).
#
if [ "${MAIN_CLASS}" =3D "" ];&nb= sp;then
    MAIN_CLASS=3Dorg.apache.ignite.startup.= cmdline.CommandLineStartup
fi

#
# Remote debugging&= nbsp;(JPDA).
# Uncomment and change if remote&= nbsp;debugging is required.
#
# JVM_OPTS=3D"-agentlib= :jdwp=3Dtransport=3Ddt_socket,server=3Dy,suspend=3Dn,address=3D8787 $= {JVM_OPTS}"

ERRORCODE=3D"-1"

while [ "${ERRORCODE}= " -ne "130" ]
do
    if [&nb= sp;"${INTERACTIVE}" =3D=3D "1" ] ; then
 =        case $osname in
&nb= sp;           Darwi= n*)
           &= nbsp;    "$JAVA" ${JVM_OPTS} ${QUIET} "= ${DOCK_OPTS}" "${RESTART_SUCCESS_OPT}" ${JMX_MON} \
&nbs= p;            =     -DIGNITE_HOME=3D"${IGNITE_HOME}" \
 &= nbsp;           &nb= sp;  -DIGNITE_PROG_NAME=3D"$0" ${JVM_XOPTS} -cp "= ${CP}" ${MAIN_CLASS}
       &nb= sp;    ;;
       = ;     *)
      &= nbsp;         "$JAVA" ${= JVM_OPTS} ${QUIET} "${RESTART_SUCCESS_OPT}" ${JMX_MON} = ;\
           &n= bsp;     -DIGNITE_HOME=3D"${IGNITE_HOME}" \<= br>            = ;    -DIGNITE_PROG_NAME=3D"$0" ${JVM_XOPTS} = -cp "${CP}" ${MAIN_CLASS}
      = ;      ;;
     &= nbsp;  esac
    else
   = ;     case $osname in
  &n= bsp;         Darwin*)
&nbs= p;            =    "$JAVA" ${JVM_OPTS} ${QUIET} "${DOCK_OPTS= }" "${RESTART_SUCCESS_OPT}" ${JMX_MON} \
  &nb= sp;            = ;   -DIGNITE_HOME=3D"${IGNITE_HOME}" \
  =             &n= bsp;  -DIGNITE_PROG_NAME=3D"$0" ${JVM_XOPTS} -cp = "${CP}" ${MAIN_CLASS} "${CONFIG}"
    &nb= sp;       ;;
    = ;        *)
   &= nbsp;           &nb= sp;"$JAVA" ${JVM_OPTS} ${QUIET} "${RESTART_SUCCESS_OPT}"&nb= sp;${JMX_MON} \
        &n= bsp;         -DIGNITE_HOME=3D= "${IGNITE_HOME}" \
        = ;         -DIGNITE_PROG_NAME= =3D"$0" ${JVM_XOPTS} -cp "${CP}" ${MAIN_CLASS} "$= {CONFIG}"
          &= nbsp; ;;
        esac
&= nbsp;   fi

    ERRORCODE=3D"$?"<= br>
    if [ ! -f "${RESTART_SU= CCESS_FILE}" ] ; then
     &nbs= p;  break
    else
   &= nbsp;    rm -f "${RESTART_SUCCESS_FILE}"
=     fi
done

if [ -f "${RESTAR= T_SUCCESS_FILE}" ] ; then
    rm&nbs= p;-f "${RESTART_SUCCESS_FILE}"
fi

and the lo= g info , it looks like normal.
[18:01:43,142][INFO ][Hadoo= p-task-7965370b-6df2-4abc-ab61-8d77a2cee18a_1-MAP-742-0-#297%null%][CodecP= ool] Got brand-new decompressor [.gz]
[18:01:49,041= ][INFO ][Hadoop-task-7965370b-6df2-4abc-ab61-8d77a2cee18a_1-MAP-741-0= -#296%null%][CodecPool] Got brand-new decompressor [.g= z]
[18:01:55,627][INFO ][grid-timeout-worker-#97%null%][IgniteKern= al] 
Metrics for local node (to disable&n= bsp;set 'metricsLogFrequency' to 0)
   &n= bsp;^-- Node [id=3D7965370b, name=3Dnull]
  &n= bsp; ^-- H/N/C [hosts=3D6, nodes=3D6, CPUs=3D144]=
    ^-- CPU [cur=3D78.93%, avg=3D73= .2%, GC=3D0.03%]
    ^-- Heap [used= =3D7976MB, free=3D75.64%, comm=3D32750MB]
   &= nbsp;^-- Public thread pool [active=3D9, idle=3D3= 9, qSize=3D0]
    ^-- System thread&= nbsp;pool [active=3D0, idle=3D48, qSize=3D0]
  = ;  ^-- Outbound messages queue [size=3D0][18:02:00,667][INFO ][Hadoop-task-7965370b-6df2-4abc-ab61-8d77a2cee1= 8a_1-MAP-743-0-#298%null%][CodecPool] Got brand-new decompr= essor [.gz]
[18:02:02,336][INFO ][Hadoop-task-7965370b-6df2-4= abc-ab61-8d77a2cee18a_1-MAP-751-0-#306%null%][CodecPool] Got bra= nd-new decompressor [.gz]
[18:02:02,899][INFO ][Hadoop-t= ask-7965370b-6df2-4abc-ab61-8d77a2cee18a_1-MAP-753-0-#308%null%][CodecPool= ] Got brand-new decompressor [.gz]
[18:02:04,263][I= NFO ][Hadoop-task-7965370b-6df2-4abc-ab61-8d77a2cee18a_1-MAP-744-0-#2= 99%null%][CodecPool] Got brand-new decompressor [.gz]<= br>[18:02:04,293][INFO ][Hadoop-task-7965370b-6df2-4abc-ab61-8d77a2ce= e18a_1-MAP-758-0-#313%null%][CodecPool] Got brand-new decom= pressor [.gz]
[18:02:06,625][INFO ][Hadoop-task-7965370b-6df2= -4abc-ab61-8d77a2cee18a_1-MAP-748-0-#303%null%][CodecPool] Got b= rand-new decompressor [.gz]
[18:02:07,346][INFO ][Hadoop= -task-7965370b-6df2-4abc-ab61-8d77a2cee18a_1-MAP-756-0-#311%null%][CodecPo= ol] Got brand-new decompressor [.gz]
[18:02:07,843]= [INFO ][Hadoop-task-7965370b-6df2-4abc-ab61-8d77a2cee18a_1-MAP-760-0-= #315%null%][CodecPool] Got brand-new decompressor [.gz= ]
[18:02:08,437][INFO ][Hadoop-task-7965370b-6df2-4abc-ab61-8d77a2= cee18a_1-MAP-757-0-#312%null%][CodecPool] Got brand-new dec= ompressor [.gz]
[18:02:09,579][INFO ][Hadoop-task-7965370b-6d= f2-4abc-ab61-8d77a2cee18a_1-MAP-747-0-#302%null%][CodecPool] Got = ;brand-new decompressor [.gz]
[18:02:09,705][INFO ][Hado= op-task-7965370b-6df2-4abc-ab61-8d77a2cee18a_1-MAP-745-0-#300%null%][Codec= Pool] Got brand-new decompressor [.gz]
[18:02:10,00= 8][INFO ][Hadoop-task-7965370b-6df2-4abc-ab61-8d77a2cee18a_1-MAP-746-= 0-#301%null%][CodecPool] Got brand-new decompressor [.= gz]
[18:02:10,567][INFO ][Hadoop-task-7965370b-6df2-4abc-ab61-8d77= a2cee18a_1-MAP-761-0-#316%null%][CodecPool] Got brand-new d= ecompressor [.gz]
[18:02:10,724][INFO ][Hadoop-task-7965370b-= 6df2-4abc-ab61-8d77a2cee18a_1-MAP-754-0-#309%null%][CodecPool] Got&nb= sp;brand-new decompressor [.gz]
[18:02:11,196][INFO ][Ha= doop-task-7965370b-6df2-4abc-ab61-8d77a2cee18a_1-MAP-750-0-#305%null%][Cod= ecPool] Got brand-new decompressor [.gz]
[18:02:11,= 669][INFO ][Hadoop-task-7965370b-6df2-4abc-ab61-8d77a2cee18a_1-MAP-74= 9-0-#304%null%][CodecPool] Got brand-new decompressor = [.gz]
[18:02:11,753][INFO ][Hadoop-task-7965370b-6df2-4abc-ab61-8d= 77a2cee18a_1-MAP-752-0-#307%null%][CodecPool] Got brand-new = ;decompressor [.gz]
[18:02:14,720][INFO ][Hadoop-task-7965370= b-6df2-4abc-ab61-8d77a2cee18a_1-MAP-759-0-#314%null%][CodecPool] Got&= nbsp;brand-new decompressor [.gz]
[18:02:18,090][INFO ][= Hadoop-task-7965370b-6df2-4abc-ab61-8d77a2cee18a_1-MAP-755-0-#310%null%][C= odecPool] Got brand-new decompressor [.gz]
[18:02:2= 3,137][INFO ][Hadoop-task-7965370b-6df2-4abc-ab61-8d77a2cee18a_1-MAP-= 762-0-#317%null%][CodecPool] Got brand-new decompressor&nbs= p;[.gz]
[18:02:24,544][INFO ][Hadoop-task-7965370b-6df2-4abc-ab61-= 8d77a2cee18a_1-MAP-740-0-#295%null%][CodecPool] Got brand-new&nb= sp;decompressor [.gz]
[18:02:33,540][INFO ][Hadoop-task-79653= 70b-6df2-4abc-ab61-8d77a2cee18a_1-MAP-739-0-#294%null%][CodecPool] Go= t brand-new decompressor [.gz]
[18:02:35,013][INFO = ][Hadoop-task-7965370b-6df2-4abc-ab61-8d77a2cee18a_1-MAP-742-0-#297%null%]= [CodecPool] Got brand-new decompressor [.gz]
[18:02= :42,653][INFO ][Hadoop-task-7965370b-6df2-4abc-ab61-8d77a2cee18a_1-MA= P-741-0-#296%null%][CodecPool] Got brand-new decompressor&n= bsp;[.gz]
[18:02:53,009][INFO ][Hadoop-task-7965370b-6df2-4abc-ab6= 1-8d77a2cee18a_1-MAP-751-0-#306%null%][CodecPool] Got brand-new&= nbsp;decompressor [.gz]
[18:02:54,465][INFO ][Hadoop-task-796= 5370b-6df2-4abc-ab61-8d77a2cee18a_1-MAP-743-0-#298%null%][CodecPool] = Got brand-new decompressor [.gz]
[18:02:55,141][INFO&nbs= p;][Hadoop-task-7965370b-6df2-4abc-ab61-8d77a2cee18a_1-MAP-753-0-#308%null= %][CodecPool] Got brand-new decompressor [.gz]
[18:= 02:55,635][INFO ][grid-timeout-worker-#97%null%][IgniteKernal] <= br>Metrics for local node (to disable set&nb= sp;'metricsLogFrequency' to 0)
    ^--&nb= sp;Node [id=3D7965370b, name=3Dnull]
    = ^-- H/N/C [hosts=3D6, nodes=3D6, CPUs=3D144]
 =    ^-- CPU [cur=3D77.57%, avg=3D73.51%, = ;GC=3D0%]
    ^-- Heap [used=3D6619MB,&nb= sp;free=3D79.79%, comm=3D32751MB]
    ^-- = ;Public thread pool [active=3D5, idle=3D43, qSize= =3D0]
    ^-- System thread pool&nbs= p;[active=3D0, idle=3D48, qSize=3D0]
    = ^-- Outbound messages queue [size=3D0]
[18:02:56,10= 1][INFO ][Hadoop-task-7965370b-6df2-4abc-ab61-8d77a2cee18a_1-MAP-758-= 0-#313%null%][CodecPool] Got brand-new decompressor [.= gz]
[18:02:57,204][INFO ][Hadoop-task-7965370b-6df2-4abc-ab61-8d77= a2cee18a_1-MAP-744-0-#299%null%][CodecPool] Got brand-new d= ecompressor [.gz]
[18:02:59,582][INFO ][Hadoop-task-7965370b-= 6df2-4abc-ab61-8d77a2cee18a_1-MAP-760-0-#315%null%][CodecPool] Got&nb= sp;brand-new decompressor [.gz]
[18:02:59,735][INFO ][Ha= doop-task-7965370b-6df2-4abc-ab61-8d77a2cee18a_1-MAP-748-0-#303%null%][Cod= ecPool] Got brand-new decompressor [.gz]
[18:02:59,= 862][INFO ][Hadoop-task-7965370b-6df2-4abc-ab61-8d77a2cee18a_1-MAP-75= 6-0-#311%null%][CodecPool] Got brand-new decompressor = [.gz]
[18:03:00,842][INFO ][Hadoop-task-7965370b-6df2-4abc-ab61-8d= 77a2cee18a_1-MAP-757-0-#312%null%][CodecPool] Got brand-new = ;decompressor [.gz]
[18:03:02,225][INFO ][Hadoop-task-7965370= b-6df2-4abc-ab61-8d77a2cee18a_1-MAP-747-0-#302%null%][CodecPool] Got&= nbsp;brand-new decompressor [.gz]
[18:03:02,763][INFO ][= Hadoop-task-7965370b-6df2-4abc-ab61-8d77a2cee18a_1-MAP-761-0-#316%null%][C= odecPool] Got brand-new decompressor [.gz]
[18:03:0= 3,297][INFO ][Hadoop-task-7965370b-6df2-4abc-ab61-8d77a2cee18a_1-MAP-= 746-0-#301%null%][CodecPool] Got brand-new decompressor&nbs= p;[.gz]
[18:03:03,342][INFO ][Hadoop-task-7965370b-6df2-4abc-ab61-= 8d77a2cee18a_1-MAP-745-0-#300%null%][CodecPool] Got brand-new&nb= sp;decompressor [.gz]
[18:03:04,299][INFO ][Hadoop-task-79653= 70b-6df2-4abc-ab61-8d77a2cee18a_1-MAP-754-0-#309%null%][CodecPool] Go= t brand-new decompressor [.gz]
[18:03:04,517][INFO = ][Hadoop-task-7965370b-6df2-4abc-ab61-8d77a2cee18a_1-MAP-752-0-#307%null%]= [CodecPool] Got brand-new decompressor [.gz]
[18:03= :04,530][INFO ][Hadoop-task-7965370b-6df2-4abc-ab61-8d77a2cee18a_1-MA= P-750-0-#305%null%][CodecPool] Got brand-new decompressor&n= bsp;[.gz]
[18:03:05,373][INFO ][Hadoop-task-7965370b-6df2-4abc-ab6= 1-8d77a2cee18a_1-MAP-749-0-#304%null%][CodecPool] Got brand-new&= nbsp;decompressor [.gz]
[18:03:07,972][INFO ][Hadoop-task-796= 5370b-6df2-4abc-ab61-8d77a2cee18a_1-MAP-759-0-#314%null%][CodecPool] = Got brand-new decompressor [.gz]
[18:03:12,359][INFO&nbs= p;][Hadoop-task-7965370b-6df2-4abc-ab61-8d77a2cee18a_1-MAP-755-0-#310%null= %][CodecPool] Got brand-new decompressor [.gz]
[18:= 03:17,763][INFO ][Hadoop-task-7965370b-6df2-4abc-ab61-8d77a2cee18a_1-= MAP-762-0-#317%null%][CodecPool] Got brand-new decompressor=  [.gz]
[18:03:18,504][INFO ][Hadoop-task-7965370b-6df2-4abc-a= b61-8d77a2cee18a_1-MAP-740-0-#295%null%][CodecPool] Got brand-ne= w decompressor [.gz]
[18:03:29,345][INFO ][Hadoop-task-7= 965370b-6df2-4abc-ab61-8d77a2cee18a_1-MAP-742-0-#297%null%][CodecPool]&nbs= p;Got brand-new decompressor [.gz]
[18:03:30,831][INFO&n= bsp;][Hadoop-task-7965370b-6df2-4abc-ab61-8d77a2cee18a_1-MAP-739-0-#294%nu= ll%][CodecPool] Got brand-new decompressor [.gz]
[1= 8:03:39,843][INFO ][Hadoop-task-7965370b-6df2-4abc-ab61-8d77a2cee18a_= 1-MAP-741-0-#296%null%][CodecPool] Got brand-new decompress= or [.gz]
[18:03:47,839][INFO ][Hadoop-task-7965370b-6df2-4abc= -ab61-8d77a2cee18a_1-MAP-751-0-#306%null%][CodecPool] Got brand-= new decompressor [.gz]
[18:03:51,328][INFO ][Hadoop-task= -7965370b-6df2-4abc-ab61-8d77a2cee18a_1-MAP-753-0-#308%null%][CodecPool]&n= bsp;Got brand-new decompressor [.gz]
[18:03:51,793][INFO=  ][Hadoop-task-7965370b-6df2-4abc-ab61-8d77a2cee18a_1-MAP-743-0-#298%= null%][CodecPool] Got brand-new decompressor [.gz]
= [18:03:52,013][INFO ][Hadoop-task-7965370b-6df2-4abc-ab61-8d77a2cee18= a_1-MAP-758-0-#313%null%][CodecPool] Got brand-new decompre= ssor [.gz]
[18:03:53,577][INFO ][Hadoop-task-7965370b-6df2-4a= bc-ab61-8d77a2cee18a_1-MAP-744-0-#299%null%][CodecPool] Got bran= d-new decompressor [.gz]
[18:03:55,305][INFO ][Hadoop-ta= sk-7965370b-6df2-4abc-ab61-8d77a2cee18a_1-MAP-760-0-#315%null%][CodecPool]=  Got brand-new decompressor [.gz]
[18:03:55,649][IN= FO ][grid-timeout-worker-#97%null%][IgniteKernal] 
Metrics&nb= sp;for local node (to disable set 'metricsLo= gFrequency' to 0)
    ^-- Node = [id=3D7965370b, name=3Dnull]
    ^-- H/N/= C [hosts=3D6, nodes=3D6, CPUs=3D144]
   &= nbsp;^-- CPU [cur=3D78.97%, avg=3D73.66%, GC=3D0.03%]<= br>    ^-- Heap [used=3D11432MB, free= =3D65.09%, comm=3D32752MB]
    ^-- Public=  thread pool [active=3D2, idle=3D46, qSize=3D0]    ^-- System thread pool [acti= ve=3D0, idle=3D48, qSize=3D0]
    ^--&nbs= p;Outbound messages queue [size=3D0]
[18:03:56,413][INFO=  ][Hadoop-task-7965370b-6df2-4abc-ab61-8d77a2cee18a_1-MAP-756-0-#311%= null%][CodecPool] Got brand-new decompressor [.gz]
= [18:03:56,738][INFO ][Hadoop-task-7965370b-6df2-4abc-ab61-8d77a2cee18= a_1-MAP-748-0-#303%null%][CodecPool] Got brand-new decompre= ssor [.gz]
[18:03:57,375][INFO ][Hadoop-task-7965370b-6df2-4a= bc-ab61-8d77a2cee18a_1-MAP-757-0-#312%null%][CodecPool] Got bran= d-new decompressor [.gz]
[18:03:58,477][INFO ][Hadoop-ta= sk-7965370b-6df2-4abc-ab61-8d77a2cee18a_1-MAP-761-0-#316%null%][CodecPool]=  Got brand-new decompressor [.gz]
[18:03:59,039][IN= FO ][Hadoop-task-7965370b-6df2-4abc-ab61-8d77a2cee18a_1-MAP-747-0-#30= 2%null%][CodecPool] Got brand-new decompressor [.gz][18:04:00,414][INFO ][Hadoop-task-7965370b-6df2-4abc-ab61-8d77a2cee= 18a_1-MAP-746-0-#301%null%][CodecPool] Got brand-new decomp= ressor [.gz]
[18:04:00,758][INFO ][Hadoop-task-7965370b-6df2-= 4abc-ab61-8d77a2cee18a_1-MAP-754-0-#309%null%][CodecPool] Got br= and-new decompressor [.gz]
[18:04:00,929][INFO ][Hadoop-= task-7965370b-6df2-4abc-ab61-8d77a2cee18a_1-MAP-752-0-#307%null%][CodecPoo= l] Got brand-new decompressor [.gz]
[18:04:01,026][= INFO ][Hadoop-task-7965370b-6df2-4abc-ab61-8d77a2cee18a_1-MAP-745-0-#= 300%null%][CodecPool] Got brand-new decompressor [.gz]=
[18:04:02,021][INFO ][Hadoop-task-7965370b-6df2-4abc-ab61-8d77a2c= ee18a_1-MAP-750-0-#305%null%][CodecPool] Got brand-new deco= mpressor [.gz]
[18:04:02,494][INFO ][Hadoop-task-7965370b-6df= 2-4abc-ab61-8d77a2cee18a_1-MAP-749-0-#304%null%][CodecPool] Got = brand-new decompressor [.gz]
[18:04:05,905][INFO ][Hadoo= p-task-7965370b-6df2-4abc-ab61-8d77a2cee18a_1-MAP-759-0-#314%null%][CodecP= ool] Got brand-new decompressor [.gz]
[18:04:09,631= ][INFO ][Hadoop-task-7965370b-6df2-4abc-ab61-8d77a2cee18a_1-MAP-755-0= -#310%null%][CodecPool] Got brand-new decompressor [.g= z]
[18:04:13,123][INFO ][Hadoop-task-7965370b-6df2-4abc-ab61-8d77a= 2cee18a_1-MAP-740-0-#295%null%][CodecPool] Got brand-new de= compressor [.gz]
[18:04:13,795][INFO ][Hadoop-task-7965370b-6= df2-4abc-ab61-8d77a2cee18a_1-MAP-762-0-#317%null%][CodecPool] Got&nbs= p;brand-new decompressor [.gz]
[18:04:20,957][INFO ][Had= oop-task-7965370b-6df2-4abc-ab61-8d77a2cee18a_1-MAP-742-0-#297%null%][Code= cPool] Got brand-new decompressor [.gz]
[18:04:25,0= 43][INFO ][Hadoop-task-7965370b-6df2-4abc-ab61-8d77a2cee18a_1-MAP-739= -0-#294%null%][CodecPool] Got brand-new decompressor [= .gz]
[18:04:32,707][INFO ][Hadoop-task-7965370b-6df2-4abc-ab61-8d7= 7a2cee18a_1-MAP-741-0-#296%null%][CodecPool] Got brand-new = decompressor [.gz]
[18:04:38,130][INFO ][Hadoop-task-7965370b= -6df2-4abc-ab61-8d77a2cee18a_1-MAP-751-0-#306%null%][CodecPool] Got&n= bsp;brand-new decompressor [.gz]
[18:04:42,754][INFO ][H= adoop-task-7965370b-6df2-4abc-ab61-8d77a2cee18a_1-MAP-753-0-#308%null%][Co= decPool] Got brand-new decompressor [.gz]
[18:04:43= ,353][INFO ][Hadoop-task-7965370b-6df2-4abc-ab61-8d77a2cee18a_1-MAP-7= 58-0-#313%null%][CodecPool] Got brand-new decompressor = ;[.gz]
[18:04:45,462][INFO ][Hadoop-task-7965370b-6df2-4abc-ab61-8= d77a2cee18a_1-MAP-743-0-#298%null%][CodecPool] Got brand-new&nbs= p;decompressor [.gz]
[18:04:45,802][INFO ][Hadoop-task-796537= 0b-6df2-4abc-ab61-8d77a2cee18a_1-MAP-744-0-#299%null%][CodecPool] Got=  brand-new decompressor [.gz]
[18:04:46,897][INFO ]= [Hadoop-task-7965370b-6df2-4abc-ab61-8d77a2cee18a_1-MAP-760-0-#315%null%][= CodecPool] Got brand-new decompressor [.gz]
[18:04:= 47,711][INFO ][Hadoop-task-7965370b-6df2-4abc-ab61-8d77a2cee18a_1-MAP= -756-0-#311%null%][CodecPool] Got brand-new decompressor&nb= sp;[.gz]
[18:04:48,592][INFO ][Hadoop-task-7965370b-6df2-4abc-ab61= -8d77a2cee18a_1-MAP-748-0-#303%null%][CodecPool] Got brand-new&n= bsp;decompressor [.gz]
[18:04:48,780][INFO ][Hadoop-task-7965= 370b-6df2-4abc-ab61-8d77a2cee18a_1-MAP-757-0-#312%null%][CodecPool] G= ot brand-new decompressor [.gz]
[18:04:49,813][INFO = ;][Hadoop-task-7965370b-6df2-4abc-ab61-8d77a2cee18a_1-MAP-761-0-#316%null%= ][CodecPool] Got brand-new decompressor [.gz]
[18:0= 4:51,222][INFO ][Hadoop-task-7965370b-6df2-4abc-ab61-8d77a2cee18a_1-M= AP-747-0-#302%null%][CodecPool] Got brand-new decompressor&= nbsp;[.gz]
[18:04:52,722][INFO ][Hadoop-task-7965370b-6df2-4abc-ab= 61-8d77a2cee18a_1-MAP-746-0-#301%null%][CodecPool] Got brand-new=  decompressor [.gz]
[18:04:52,756][INFO ][Hadoop-task-79= 65370b-6df2-4abc-ab61-8d77a2cee18a_1-MAP-752-0-#307%null%][CodecPool] = ;Got brand-new decompressor [.gz]
[18:04:52,920][INFO&nb= sp;][Hadoop-task-7965370b-6df2-4abc-ab61-8d77a2cee18a_1-MAP-754-0-#309%nul= l%][CodecPool] Got brand-new decompressor [.gz]
[18= :04:53,432][INFO ][Hadoop-task-7965370b-6df2-4abc-ab61-8d77a2cee18a_1= -MAP-745-0-#300%null%][CodecPool] Got brand-new decompresso= r [.gz]
[18:04:54,444][INFO ][Hadoop-task-7965370b-6df2-4abc-= ab61-8d77a2cee18a_1-MAP-750-0-#305%null%][CodecPool] Got brand-n= ew decompressor [.gz]
[18:04:54,752][INFO ][Hadoop-task-= 7965370b-6df2-4abc-ab61-8d77a2cee18a_1-MAP-749-0-#304%null%][CodecPool]&nb= sp;Got brand-new decompressor [.gz]
[18:04:55,655][INFO&= nbsp;][grid-timeout-worker-#97%null%][IgniteKernal] 
Metrics = for local node (to disable set 'metricsLogFr= equency' to 0)
    ^-- Node [id= =3D7965370b, name=3Dnull]
    ^-- H/N/C&n= bsp;[hosts=3D6, nodes=3D6, CPUs=3D144]
   &nbs= p;^-- CPU [cur=3D78.93%, avg=3D73.91%, GC=3D0.03%]
=     ^-- Heap [used=3D6666MB, free=3D79.= 64%, comm=3D32750MB]
    ^-- Public = thread pool [active=3D5, idle=3D43, qSize=3D0]
&nbs= p;   ^-- System thread pool [active=3D0= , idle=3D48, qSize=3D0]
    ^-- Outb= ound messages queue [size=3D0]
[18:04:58,114][INFO = ][Hadoop-task-7965370b-6df2-4abc-ab61-8d77a2cee18a_1-MAP-759-0-#314%null%]= [CodecPool] Got brand-new decompressor [.gz]
[18:05= :02,277][INFO ][Hadoop-task-7965370b-6df2-4abc-ab61-8d77a2cee18a_1-MA= P-755-0-#310%null%][CodecPool] Got brand-new decompressor&n= bsp;[.gz]
[18:05:04,174][INFO ][Hadoop-task-7965370b-6df2-4abc-ab6= 1-8d77a2cee18a_1-MAP-740-0-#295%null%][CodecPool] Got brand-new&= nbsp;decompressor [.gz]
[18:05:05,688][INFO ][Hadoop-task-796= 5370b-6df2-4abc-ab61-8d77a2cee18a_1-MAP-762-0-#317%null%][CodecPool] = Got brand-new decompressor [.gz]
[18:05:10,720][INFO&nbs= p;][Hadoop-task-7965370b-6df2-4abc-ab61-8d77a2cee18a_1-MAP-742-0-#297%null= %][CodecPool] Got brand-new decompressor [.gz]
[18:= 05:18,086][INFO ][Hadoop-task-7965370b-6df2-4abc-ab61-8d77a2cee18a_1-= MAP-739-0-#294%null%][CodecPool] Got brand-new decompressor=  [.gz]
[18:05:25,302][INFO ][Hadoop-task-7965370b-6df2-4abc-a= b61-8d77a2cee18a_1-MAP-741-0-#296%null%][CodecPool] Got brand-ne= w decompressor [.gz]
[18:05:28,170][INFO ][Hadoop-task-7= 965370b-6df2-4abc-ab61-8d77a2cee18a_1-MAP-751-0-#306%null%][CodecPool]&nbs= p;Got brand-new decompressor [.gz]
[18:05:34,389][INFO&n= bsp;][Hadoop-task-7965370b-6df2-4abc-ab61-8d77a2cee18a_1-MAP-753-0-#308%nu= ll%][CodecPool] Got brand-new decompressor [.gz]
[1= 8:05:35,207][INFO ][Hadoop-task-7965370b-6df2-4abc-ab61-8d77a2cee18a_= 1-MAP-758-0-#313%null%][CodecPool] Got brand-new decompress= or [.gz]
[18:05:38,177][INFO ][Hadoop-task-7965370b-6df2-4abc= -ab61-8d77a2cee18a_1-MAP-760-0-#315%null%][CodecPool] Got brand-= new decompressor [.gz]
[18:05:38,310][INFO ][Hadoop-task= -7965370b-6df2-4abc-ab61-8d77a2cee18a_1-MAP-744-0-#299%null%][CodecPool]&n= bsp;Got brand-new decompressor [.gz]
[18:05:38,703][INFO=  ][Hadoop-task-7965370b-6df2-4abc-ab61-8d77a2cee18a_1-MAP-743-0-#298%= null%][CodecPool] Got brand-new decompressor [.gz]
= [18:05:39,577][INFO ][Hadoop-task-7965370b-6df2-4abc-ab61-8d77a2cee18= a_1-MAP-756-0-#311%null%][CodecPool] Got brand-new decompre= ssor [.gz]
[18:05:40,491][INFO ][Hadoop-task-7965370b-6df2-4a= bc-ab61-8d77a2cee18a_1-MAP-748-0-#303%null%][CodecPool] Got bran= d-new decompressor [.gz]
[18:05:40,597][INFO ][Hadoop-ta= sk-7965370b-6df2-4abc-ab61-8d77a2cee18a_1-MAP-757-0-#312%null%][CodecPool]=  Got brand-new decompressor [.gz]
[18:05:41,248][IN= FO ][Hadoop-task-7965370b-6df2-4abc-ab61-8d77a2cee18a_1-MAP-761-0-#31= 6%null%][CodecPool] Got brand-new decompressor [.gz][18:05:42,926][INFO ][Hadoop-task-7965370b-6df2-4abc-ab61-8d77a2cee= 18a_1-MAP-747-0-#302%null%][CodecPool] Got brand-new decomp= ressor [.gz]
[18:05:45,253][INFO ][Hadoop-task-7965370b-6df2-= 4abc-ab61-8d77a2cee18a_1-MAP-752-0-#307%null%][CodecPool] Got br= and-new decompressor [.gz]
[18:05:45,253][INFO ][Hadoop-= task-7965370b-6df2-4abc-ab61-8d77a2cee18a_1-MAP-754-0-#309%null%][CodecPoo= l] Got brand-new decompressor [.gz]
[18:05:45,330][= INFO ][Hadoop-task-7965370b-6df2-4abc-ab61-8d77a2cee18a_1-MAP-746-0-#= 301%null%][CodecPool] Got brand-new decompressor [.gz]=
[18:05:46,194][INFO ][Hadoop-task-7965370b-6df2-4abc-ab61-8d77a2c= ee18a_1-MAP-745-0-#300%null%][CodecPool] Got brand-new deco= mpressor [.gz]
[18:05:47,102][INFO ][Hadoop-task-7965370b-6df= 2-4abc-ab61-8d77a2cee18a_1-MAP-750-0-#305%null%][CodecPool] Got = brand-new decompressor [.gz]
[18:05:47,845][INFO ][Hadoo= p-task-7965370b-6df2-4abc-ab61-8d77a2cee18a_1-MAP-749-0-#304%null%][CodecP= ool] Got brand-new decompressor [.gz]
[18:05:51,186= ][INFO ][Hadoop-task-7965370b-6df2-4abc-ab61-8d77a2cee18a_1-MAP-759-0= -#314%null%][CodecPool] Got brand-new decompressor [.g= z]
[18:05:54,757][INFO ][Hadoop-task-7965370b-6df2-4abc-ab61-8d77a= 2cee18a_1-MAP-755-0-#310%null%][CodecPool] Got brand-new de= compressor [.gz]
[18:05:55,654][INFO ][grid-timeout-worker-#9= 7%null%][IgniteKernal] 
Metrics for local node = ;(to disable set 'metricsLogFrequency' to 0)
&= nbsp;   ^-- Node [id=3D7965370b, name=3Dnull= ]
    ^-- H/N/C [hosts=3D6, nodes=3D= 6, CPUs=3D144]
    ^-- CPU [cur=3D80= .17%, avg=3D74.16%, GC=3D0.03%]
    ^--&n= bsp;Heap [used=3D10056MB, free=3D69.29%, comm=3D32750MB]    ^-- Public thread pool [activ= e=3D3, idle=3D45, qSize=3D0]
    ^-- = ;System thread pool [active=3D0, idle=3D48, qSize= =3D0]
    ^-- Outbound messages queu= e [size=3D0]
[18:05:56,225][INFO ][Hadoop-task-7965370b-6df2-= 4abc-ab61-8d77a2cee18a_1-MAP-740-0-#295%null%][CodecPool] Got br= and-new decompressor [.gz]
[18:05:58,458][INFO ][Hadoop-= task-7965370b-6df2-4abc-ab61-8d77a2cee18a_1-MAP-762-0-#317%null%][CodecPoo= l] Got brand-new decompressor [.gz]
[18:06:01,865][= INFO ][Hadoop-task-7965370b-6df2-4abc-ab61-8d77a2cee18a_1-MAP-742-0-#= 297%null%][CodecPool] Got brand-new decompressor [.gz]=
[18:06:11,590][INFO ][Hadoop-task-7965370b-6df2-4abc-ab61-8d77a2c= ee18a_1-MAP-739-0-#294%null%][CodecPool] Got brand-new deco= mpressor [.gz]
[18:06:19,248][INFO ][Hadoop-task-7965370b-6df= 2-4abc-ab61-8d77a2cee18a_1-MAP-741-0-#296%null%][CodecPool] Got = brand-new decompressor [.gz]
[18:06:19,279][INFO ][Hadoo= p-task-7965370b-6df2-4abc-ab61-8d77a2cee18a_1-MAP-751-0-#306%null%][CodecP= ool] Got brand-new decompressor [.gz]
[18:06:27,775= ][INFO ][Hadoop-task-7965370b-6df2-4abc-ab61-8d77a2cee18a_1-MAP-753-0= -#308%null%][CodecPool] Got brand-new decompressor [.g= z]
[18:06:28,494][INFO ][Hadoop-task-7965370b-6df2-4abc-ab61-8d77a= 2cee18a_1-MAP-758-0-#313%null%][CodecPool] Got brand-new de= compressor [.gz]
[18:06:31,404][INFO ][Hadoop-task-7965370b-6= df2-4abc-ab61-8d77a2cee18a_1-MAP-760-0-#315%null%][CodecPool] Got&nbs= p;brand-new decompressor [.gz]
[18:06:32,865][INFO ][Had= oop-task-7965370b-6df2-4abc-ab61-8d77a2cee18a_1-MAP-744-0-#299%null%][Code= cPool] Got brand-new decompressor [.gz]
[18:06:33,7= 17][INFO ][Hadoop-task-7965370b-6df2-4abc-ab61-8d77a2cee18a_1-MAP-756= -0-#311%null%][CodecPool] Got brand-new decompressor [= .gz]
[18:06:34,421][INFO ][Hadoop-task-7965370b-6df2-4abc-ab61-8d7= 7a2cee18a_1-MAP-743-0-#298%null%][CodecPool] Got brand-new = decompressor [.gz]
=0A


=0A
<= span>
=0A
 
Date: 2016-03-24 21:00
To: user
Subject: Re: Re: about mr accelerator q= uestion.
Hi,
Possible speedup greatly depends on the nature of your task. T= ypically, the more MR tasks you have and the more intensively you work wit= h actual data, the bigger improvement could be achieved. Please give more = details on what kind of jobs do you run and probably I will be able to sug= gest something. 

One possible change you can= make to your config - switch temporal file system paths used by your jobs= to PRIMARY mode. This way all temp data will reside only in memory and wi= ll not hit HDFS.

Vladimir.

On Wed, Mar 23, 2016 at= 8:48 AM, liym@runs= tone.com <liym@runstone.com> wrote:
=0A
I am so glad to t= ell you the problem has been solved,thanks&n= bsp;a lot. but the peformance improve only 300%, is there other good = idea for config=EF=BC=9F
there is another = problem is i am not able to follow = ;the track the job like use framework y= arn.so I  cant count the jobs and = view the state which I have been finished.is there = ;good suggestion.

the ignite config is 

<?= xml version=3D"1.0" encoding=3D"UTF-8"?>

<!--
&n= bsp; Licensed to the Apache Software Foundat= ion (ASF) under one or more
  contri= butor license agreements.  See the NOTICE&nb= sp;file distributed with
  this work for&= nbsp;additional information regarding copyright owners= hip.
  The ASF licenses this file to=  You under the Apache License, Version = 2.0
  (the "License"); you may not u= se this file except in compliance with
&n= bsp; the License.  You may obtain a&nbs= p;copy of the License at

   &nbs= p;   http://www.apache.org/licenses/LICENSE-2.0

&= nbsp; Unless required by applicable law or&n= bsp;agreed to in writing, software
  dist= ributed under the License is distributed on&= nbsp;an "AS IS" BASIS,
  WITHOUT WARRANTI= ES OR CONDITIONS OF ANY KIND, either ex= press or implied.
  See the License = for the specific language governing permissions&n= bsp;and
  limitations under the License.
--= >

<!--
    Ignite Spring con= figuration file.

    When starting&nb= sp;a standalone Ignite node, you need to&nbs= p;execute the following command:
    = ;{IGNITE_HOME}/bin/ignite.{bat|sh} path-to-this-file/default-config.x= ml

    When starting Ignite from=  Java IDE, pass path to this file = into Ignition:
    Ignition.start("path-to-thi= s-file/default-config.xml");
-->
<beans xmlns=3D"http://= www.springframework.org/schema/beans"
     = ;  xmlns:xsi=3D"http://www.w3.org/2001/XMLSchema-instance"&nbs= p;xmlns:util=3D"http://www.springframework.org/schema/util"
 &n= bsp;     xsi:schemaLocation=3D"http://www.springf= ramework.org/schema/beans
       = ;http://www.springframework.org/schema/beans/spring-beans= .xsd
       http://www.springfram= ework.org/schema/util
       http://www.springframework.org/schema/util/spring-util.xsd= ">

    <!--
    &n= bsp;   Optional description.
   &nbs= p;-->
    <description>
  &nb= sp;     Spring file for Ignite&nbs= p;node configuration with IGFS and Apache Ha= doop map-reduce support enabled.
    = ;    Ignite node will start with&n= bsp;this configuration by default.
   &nb= sp;</description>

    <!--
 &n= bsp;      Initialize property conf= igurer so we can reference environment varia= bles.
    -->
    <bea= n id=3D"propertyConfigurer" class=3D"org.springframework.beans.f= actory.config.PropertyPlaceholderConfigurer">
   &nbs= p;    <property name=3D"systemPropertiesModeNa= me" value=3D"SYSTEM_PROPERTIES_MODE_FALLBACK"/>
  &nb= sp;     <property name=3D"searchSystemEnv= ironment" value=3D"true"/>
    </bean>= ;

    <!--
     =    Abstract IGFS file system configurat= ion to be used as a template.
  = ;  -->
    <bean id=3D"igfsCfg= Base" class=3D"org.apache.ignite.configuration.FileSystemConfiguratio= n" abstract=3D"true">
       = ; <!-- Must correlate with cache affinity=  mapper. -->
       &nb= sp;<property name=3D"blockSize" value=3D"#{128 * 10= 24}"/>
        <property&= nbsp;name=3D"perNodeBatchSize" value=3D"512"/>
  &nbs= p;     <property name=3D"perNodeParallelB= atchCount" value=3D"16"/>

     &nb= sp;  <property name=3D"prefetchBlocks" value=3D"32"= />
    </bean>

   &n= bsp;<bean class=3D"org.apache.ignite.configuration.CacheConfigurat= ion">
  <!-- Store cache entries on= -heap. -->
  <property name=3D"memoryMode"&nb= sp;value=3D"ONHEAP_TIERED"/> 
  <!-- Enable&n= bsp;Off-Heap memory with max size of 10 = ;Gigabytes (0 for unlimited). -->
  &l= t;property name=3D"offHeapMaxMemory" value=3D"#{14 * 1= 024L * 1024L * 1024L}"/>
  <!--&nbs= p;Configure eviction policy. -->
  <prop= erty name=3D"evictionPolicy">
    <bean&= nbsp;class=3D"org.apache.ignite.cache.eviction.igfs.IgfsPerBlockLruEvictio= nPolicy">
      <!-- Evict&nbs= p;to off-heap after cache size reaches maxSi= ze. -->
      <property n= ame=3D"maxSize" value=3D"800000"/>
    <= /bean>
  </property>
  </bean>
    <!--
     &nbs= p;  Abstract cache configuration for IGFS&nb= sp;file data to be used as a template.<= br>    -->
    <bean = ;id=3D"dataCacheCfgBase" class=3D"org.apache.ignite.configuration.Cac= heConfiguration" abstract=3D"true">
    &nb= sp;   <property name=3D"cacheMode" value=3D"PA= RTITIONED"/>
        <pro= perty name=3D"atomicityMode" value=3D"TRANSACTIONAL"/>
&nb= sp;       <property name=3D"wri= teSynchronizationMode" value=3D"FULL_SYNC"/>
   =      <property name=3D"backups" valu= e=3D"0"/>
        <proper= ty name=3D"affinityMapper">
      = ;      <bean class=3D"org.apache.ign= ite.igfs.IgfsGroupDataBlocksKeyMapper">
    &nbs= p;           <!-= - How many sequential blocks will be st= ored on the same node. -->
  &nbs= p;            =  <constructor-arg value=3D"512"/>
   &nb= sp;        </bean>
 =        </property>
  = ;  </bean>

    <!--
 = ;       Abstract cache config= uration for IGFS metadata to be used as=  a template.
    -->
  &n= bsp; <bean id=3D"metaCacheCfgBase" class=3D"org.apache.i= gnite.configuration.CacheConfiguration" abstract=3D"true">
&nbs= p;       <property name=3D"cach= eMode" value=3D"REPLICATED"/>
     &nb= sp;  <property name=3D"atomicityMode" value=3D"TRAN= SACTIONAL"/>
        <pro= perty name=3D"writeSynchronizationMode" value=3D"FULL_SYNC"/>=
    </bean>

    &= lt;!--
        Configuration&nb= sp;of Ignite node.
    -->
 &n= bsp;  <bean id=3D"grid.cfg" class=3D"org.apache.ign= ite.configuration.IgniteConfiguration">
    &nbs= p;   <!--
       &= nbsp;    Apache Hadoop Accelerator conf= iguration.
        -->
&n= bsp;       <property name=3D"ha= doopConfiguration">
        =     <bean class=3D"org.apache.ignite.configura= tion.HadoopConfiguration">
       = ;         <!-- Inform= ation about finished jobs will be kept = for 30 seconds. -->
     &nb= sp;          <propert= y name=3D"finishedJobInfoTtl" value=3D"30000"/>
 &nbs= p;          </bean>= ;
        </property>
=
        <!--
  = ;          This por= t will be used by Apache Hadoop client&= nbsp;to connect to Ignite node as if it=  was a job tracker.
     &= nbsp;  -->
        = ;<property name=3D"connectorConfiguration">
  &nbs= p;         <bean clas= s=3D"org.apache.ignite.configuration.ConnectorConfiguration">
 =             &n= bsp;  <property name=3D"port" value=3D"11211"/><= br>            = ;</bean>
        </pro= perty>

        <!--            = Configure one IGFS file system instance name= d "igfs" on this node.
    &nbs= p;   -->
       &n= bsp;<property name=3D"fileSystemConfiguration">
  =           <list>            =     <bean class=3D"org.apache.ignite.configura= tion.FileSystemConfiguration" parent=3D"igfsCfgBase">
 &nb= sp;            = ;      <property name=3D"name" = value=3D"igfs"/>

        = ;            &= lt;!-- Caches with these names must be = configured. -->
        = ;            &= lt;property name=3D"metaCacheName" value=3D"igfs-meta"/>
&= nbsp;           &nb= sp;       <property name=3D"dat= aCacheName" value=3D"igfs-data"/>

    &= nbsp;           &nb= sp;   <!-- Configure TCP endpoint fo= r communication with the file system instanc= e. -->
         &n= bsp;          <proper= ty name=3D"ipcEndpointConfiguration">
    &= nbsp;           &nb= sp;       <bean class=3D"org.ap= ache.ignite.igfs.IgfsIpcEndpointConfiguration">
   &n= bsp;           &nbs= p;            = <property name=3D"type" value=3D"TCP" />
 &nb= sp;            = ;            &= nbsp; <property name=3D"host" value=3D"0.0.0.0" /&g= t;
           &n= bsp;           &nbs= p;    <property name=3D"port" value=3D"10= 500" />
         &= nbsp;           &nb= sp;  </bean>
       =             &n= bsp;</property>

       &nb= sp;            = ;<!-- Sample secondary file system configurati= on.
           &= nbsp;           &nb= sp;'uri'      - the URI of&nb= sp;the secondary file system.
    &n= bsp;           &nbs= p;       'cfgPath'  - op= tional configuration path of the secondary f= ile system,
         =             &n= bsp;      e.g. /opt/foo/core-site.xml.&= nbsp;Typically left to be null.
   &= nbsp;           &nb= sp;        'userName' - = optional user name to access the secondary&n= bsp;file system on behalf of. Use it
&nbs= p;            =             &n= bsp;  if Hadoop client and the Ignite&n= bsp;node are running on behalf of different&= nbsp;users.
          = ;          -->
&nb= sp;            = ;       <property name=3D"secon= daryFileSystem">
        &nb= sp;            = ;   <bean class=3D"org.apache.ignite.hadoop.fs.Igni= teHadoopIgfsSecondaryFileSystem">
     &nbs= p;            =           <constructo= r-arg name=3D"uri" value=3D"hdfs://*.*.*.*:9000"/>
 &= nbsp;           &nb= sp;            = ;  <constructor-arg name=3D"cfgPath"><null/><= ;/constructor-arg>
        &= nbsp;           &nb= sp;       <constructor-arg name= =3D"userName" value=3D"client-user-name"/>
   &n= bsp;           &nbs= p;        </bean>
 &= nbsp;           &nb= sp;      </property>
  &n= bsp;           &nbs= p; </bean>
        &= nbsp;   </list>
     &nbs= p;  </property>

      = ;  <!--
        &n= bsp;   Caches needed by IGFS.
  = ;      -->
    &nb= sp;   <property name=3D"cacheConfiguration">
=             &l= t;list>
          =       <!-- File system met= adata cache. -->
       = ;         <bean class= =3D"org.apache.ignite.configuration.CacheConfiguration" parent=3D"met= aCacheCfgBase">
        &nbs= p;           <pr= operty name=3D"name" value=3D"igfs-meta"/>
  &nb= sp;            = ; </bean>

       &nbs= p;        <!-- File s= ystem files data cache. -->
   &n= bsp;           &nbs= p;<bean class=3D"org.apache.ignite.configuration.CacheConfiguratio= n" parent=3D"dataCacheCfgBase">
     &= nbsp;           &nb= sp;  <property name=3D"name" value=3D"igfs-data"/&g= t;
           &n= bsp;    </bean>
     = ;       </list>
  &n= bsp;     </property>

  &nb= sp;     <!--
     =        Disable events.
 &n= bsp;      -->
    =     <property name=3D"includeEventTypes">            = <list>
         &nbs= p;      <util:constant static-field= =3D"org.apache.ignite.events.EventType.EVT_TASK_FAILED"/>
 &nbs= p;            =   <util:constant static-field=3D"org.apache.ignite.event= s.EventType.EVT_TASK_FINISHED"/>
      = ;          <util:cons= tant static-field=3D"org.apache.ignite.events.EventType.EVT_JOB_MAPPE= D"/>
          &nb= sp; </list>
        = </property>

        &= lt;!--
          &nbs= p; TCP discovery SPI can be configured = with list of addresses if multicast is = not available.
        --&= gt;
        <property n= ame=3D"discoverySpi">
       &nbs= p;    <bean class=3D"org.apache.ignite.spi.dis= covery.tcp.TcpDiscoverySpi">
      &nb= sp;         <property = ;name=3D"ipFinder">
        =             &l= t;bean class=3D"org.apache.ignite.spi.discovery.tcp.ipfinder.vm.TcpDi= scoveryVmIpFinder">
        =             &n= bsp;   <property name=3D"addresses">
 &n= bsp;           &nbs= p;            =   <list>
       &nbs= p;            =             &l= t;value>*.*.*.*</value>
      &n= bsp;           &nbs= p;            =  <value>*.*.*.*:47500..47509</value>
   = ;            &= nbsp;           &nb= sp;</list>
         =             &n= bsp;  </property>
      &= nbsp;           &nb= sp; </bean>
        =         </property>
 = ;           </be= an>
        </property>= ;
    </bean>
</beans>
=0A


=0A
<= div>=E5=8C=97=E4=BA=AC=E6=B6=A6=E9=80=9A=E4=B8=B0=E5=8D=8E=E7=A7=91=E6=8A= =80=E6=9C=89=E9=99=90=E5=85=AC=E5=8F=B8
=E6=9D=8E=E5=AE=9C=E6=98= =8E like wind exist
=E7=94=B5=E8=AF=9D 13811682465
=0A
 
From: Vladimir Ozerov<= /div>
Date: 2016-03-17 13:37
To:&nbs= p;user
Subject: Re: about mr accelerator question.
=
Hi,
=0A
 
=0A
The fact th= at you can work with 29G cluster with only 8G of memory might be
=0A<= div>caused by the following things:
=0A
1) Your job doesn't use a= ll data form cluster and hence caches only part of
=0A
it. This i= s the most likely case.
=0A
2) You have eviction policy configure= d for IGFS data cache.
=0A
3) Or may be you use offheap.
= =0A
Please provide the full XML configuration and we will be able to u= nderstand
=0A
it.
=0A
 
=0A
Anyways, your = initial question was about out-of-memory. Could you provide
=0A
e= xact error message? Is it about heap memory or may be permgen?
=0A 
=0A
As per execution time, this depends on your workload= . If there are lots map
=0A
tasks and very active work with data,= you will see improvement in speed. If
=0A
there are lots operati= ons on file system (e.g. mkdirs, move, etc.) and very
=0A
little = amount of map jobs, chances there will be no speedup at all. Provide
= =0A
more details on the job you test and type of data you use and we w= ill be
=0A
able to give you more ideas on what to do.
=0A 
=0A
Vladimir.
=0A
 
=0A
 =0A
--
=0A=0A
Sent from the Apache Ignite Use= rs mailing list archive at Nabble.com.
=0A
<= /div>
=0A

=0A
=0A

=0A=0A
=0A=0A ------=_001_NextPart406370122000_=------