From owner-cvs-ports@FreeBSD.ORG Wed Jan 27 18:19:42 2010 Return-Path: Delivered-To: cvs-ports@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id C9E371065670; Wed, 27 Jan 2010 18:19:42 +0000 (UTC) (envelope-from kris@FreeBSD.org) Received: from iea370q03.qa (devnat.ironport.com [63.251.108.83]) by mx1.freebsd.org (Postfix) with ESMTP id 934F18FC12; Wed, 27 Jan 2010 18:19:42 +0000 (UTC) Received: from iea370q03.qa.sbr.ironport.com (iea370q03.qa [127.0.0.1]) by iea370q03.qa (Postfix) with ESMTP id DAD9513A49D; Wed, 27 Jan 2010 10:19:41 -0800 (PST) Received: (from kris@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j2QLDgZD083729; Sat, 26 Mar 2005 21:13:42 GMT (envelope-from kris) Received: from mx2.freebsd.org (216.136.204.119) by corvette.asyncfs.com with ESMTP; 26 Mar 2005 13:15:48 -0800 Received: from qa05.qa ([10.92.145.207]) by iea370q03.qa.sbr.ironport.com (PostX Enterprise 6.5.2 SMTP Adaptor) with SMTP ID 79 for <4254@qa05.qa>; Wed, 27 Jan 2010 09:03:18 -0800 (PST) Received: from iea370q03.qa ([127.0.0.1]) by iea370q03.qa.sbr.ironport.com (PostX Enterprise 6.5.2 SMTP Adaptor) with SMTP ID 550; Wed, 27 Jan 2010 09:33:46 -0800 (PST) Date: Wed, 27 Jan 2010 09:33:46 -0800 (PST) From: Kris Kennaway Sender: owner-cvs-all@freebsd.org To: ports-committers@FreeBSD.org, cvs-ports@FreeBSD.org, cvs-all@FreeBSD.org Message-ID: <2637746.2873255.1264616381823.JavaMail.root@iea370q03.qa> Errors-To: owner-cvs-all@freebsd.org MIME-Version: 1.0 Content-Type: multipart/mixed; boundary=----Part-0-20706349-1264616351418 X-IronPort-RCPT-TO: X-Spam-Probability: High X-SenderBase-Org-ID: 1681939 X-SenderBase-Reputation: 2.3 X-BrightmailFiltered: true X-Brightmail-Tracker: AAAAAA== X-IronPort-AV: i="3.91,125,1110182400"; d="scan'"; a="6493135:sNHT32709468" Delivered-To: cvs-all@freebsd.org X-FreeBSD-CVS-Branch: HEAD X-BeenThere: cvs-all@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list X-PostX-Message-ID: 9df335a4c69d02717f000001923256d0@iea370q03.qa X-IronPort-Encrypt: Success X-Content-Filtered-By: Mailman/MimeDel 2.1.5 Cc: Subject: cvs commit: ports/lang/pike72 Makefile X-BeenThere: cvs-ports@freebsd.org List-Id: CVS commit messages for the ports tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 27 Jan 2010 18:19:42 -0000 ------Part-0-20706349-1264616351418 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Read your secure message by opening the attachment, securedoc.html. You will be prompted to open (view) the file or save (download) it to your computer. For best results, save the file first, then open it in a Web browser. To access from a mobile device, forward this message to mobile@res.cisco.com to receive a mobile login URL. If you have concerns about the validity of this message, contact the sender directly. First time users - will need to register after opening the attachment. Help - https://iea370q03.qa.sbr.ironport.com/websafe/help?topic=RegEnvelope About IronPort Encryption - https://iea370q03.qa.sbr.ironport.com/websafe/about ------Part-0-20706349-1264616351418 Content-Type: application/octet-stream Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename=securedoc.html PCEtLSBzYXZlZCBmcm9tIHVybD0oMDAyMilodHRwOi8vaW50ZXJuZXQuZS1tYWlsIC0tPg0KPCFE T0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwvL0VO Ij48aHRtbD4KPGhlYWQ+PGJhc2UgaHJlZj0naHR0cHM6Ly9pZWEzNzBxMDMucWEuc2JyLmlyb25w b3J0LmNvbS9lbnZlbG9wZW9wZW5lci9wZi9aR0pBUkdWbVlYVnNkRG94L3h0YWNuWjMtaG91aVlO RzFNQ1pLQzNldDB3Y1Q3elozaFZvNnFGUkFjVWFQaTJhelluQkxDU0J1N1BuS1drZUVQZkdMcHda M2dQSUYwVC1NOUNKWW9PZ1gxUW4uOGZSN1V3ISEvJz48bWV0YQpodHRwLWVxdWl2PUNvbnRlbnQt VHlwZQpjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9VVRGLTgiPjxtZXRhCm5hbWU9dmVyc2lv bgpjb250ZW50PSIkSWQ6IGVudmVsb3BlLmh0bWwsdiAxLjE2NCAyMDA3LzEyLzA2IDAwOjI4OjU4 IHN1bGxtYW4gRXhwICQiPjxtZXRhCm5hbWU9Y29weXJpZ2h0CmNvbnRlbnQ9IkNvcHlyaWdodCAo YykgMjAwMC0yMDA4IENpc2NvIFN5c3RlbXMsIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4iPgo8 bWV0YQpuYW1lPXBhdGVudHMKY29udGVudD0iUHJvdGVjdGVkIGJ5IFVuaXRlZCBTdGF0ZXMgcGF0 ZW50IG51bWJlcnMgNiwwMTQsNjg4IGFuZCA2LDMwNCw4OTcuIgo+PG1ldGEKaHR0cC1lcXVpdj1j YWNoZS1jb250cm9sCmNvbnRlbnQ9bm8tc3RvcmU+PG1ldGEKaHR0cC1lcXVpdj1jYWNoZS1jb250 cm9sCmNvbnRlbnQ9bm8tY2FjaGU+PG1ldGEKaHR0cC1lcXVpdj1wcmFnbWEKY29udGVudD1uby1j YWNoZT48dGl0bGU+U2VjdXJlIFJlZ2lzdGVyZWQgRW52ZWxvcGU6Y3ZzIGNvbW1pdDogcG9ydHMv bGFuZy9waWtlNzIgTWFrZWZpbGU8L3RpdGxlPgo8c3R5bGUKdHlwZT0idGV4dC9jc3MiPjwhLS0g LnNwYWNlcjFweCB7Zm9udC1zaXplOiAxcHg7IGxpbmUtaGVpZ2h0OiAxcHh9CiAuc3BhY2VyMnB4 IHtmb250LXNpemU6IDJweDsgbGluZS1oZWlnaHQ6IDJweH0gLmJvcmRlcldpbmRvdyB7bWFyZ2lu LWJvdHRvbToKNHB4OyBib3JkZXItbGVmdDogc29saWQgMXB4ICM5Njk5OUM7IGJvcmRlci10b3A6 IHNvbGlkIDFweCAjOTY5OTlDOwpwYWRkaW5nLXRvcDogM3B4fSAjYm9yZGVyV2luZG93Q29udGFp bmVyIHtwb3NpdGlvbjogcmVsYXRpdmU7IHpvb206IDF9CiNib3JkZXJXaW5kb3dCbG9jayB7cG9z aXRpb246IGFic29sdXRlOyB0b3A6IDBweDsgbGVmdDogLTRweDsgd2lkdGg6IDVweDsKaGVpZ2h0 OiAyMnB4OyBiYWNrZ3JvdW5kLWNvbG9yOiAjNUE1QjVFfSAuY29weXJpZ2h0IHtmb250LXNpemU6 IDhwdDsgY29sb3I6CiM5NTk5OUN9IC5ldnBUYWJsZSB7cGFkZGluZzogMTBweCAxMHB4IDEwcHgg MTVweH0gLm1haW5XaW5kb3cge3BhZGRpbmc6IDBweAo1cHggMHB4IDVweH0gLmV2cFdpbmRvdyB7 cGFkZGluZzogNHB4IDEwcHggNHB4IDEwcHg7IHRleHQtYWxpZ246IGxlZnR9CiAucGFzc3dvcmRS b3cge3BhZGRpbmc6IDRweCAxMHB4IDBweCAxMHB4OyB0ZXh0LWFsaWduOiBsZWZ0fQogLmZvcmdv dFBhc3N3b3JkUm93IHtwYWRkaW5nOiAwcHggMTBweCA0cHggMTBweDsgdGV4dC1hbGlnbjogbGVm dH0gaW5wdXQuYnRuCntjb2xvcjogIzMzMzMzMzsgZm9udC1mYW1pbHk6IFZlcmRhbmEsIEFyaWFs LCBIZWx2ZXRpY2E7IGZvbnQtc2l6ZTogOXB0Owpmb250LXdlaWdodDogbm9ybWFsOyBiYWNrZ3Jv dW5kLWNvbG9yOiAjRjBDNTY2OyBib3JkZXI6IDFweCBzb2xpZCAjMzMzMzMzOwpib3JkZXItcmFk aXVzOiAzcHg7IHotaW5kZXg6IDI7IHBhZGRpbmc6IDFweCAycHg7IHdpZHRoOiBhdXRvOyBvdmVy ZmxvdzoKdmlzaWJsZX0gaW5wdXQub29idG4ge2NvbG9yOiAjMzMzMzMzOyBmb250LWZhbWlseTog VmVyZGFuYSwgQXJpYWwsCkhlbHZldGljYTsgZm9udC1zaXplOiA5cHQ7IGZvbnQtd2VpZ2h0Om5v cm1hbDsgYmFja2dyb3VuZC1jb2xvcjogI0VFRUVGRjsKYm9yZGVyOiAxcHggc29saWQgIzMzMzMz MzsgYm9yZGVyLXJhZGl1czogM3B4OyB6LWluZGV4OiAyOyBwYWRkaW5nOiAxcHggMnB4Owp3aWR0 aDogYXV0bzsgb3ZlcmZsb3c6IHZpc2libGV9IGlucHV0LmJ0bjphY3RpdmUsIGlucHV0Lm9vYnRu OmFjdGl2ZQp7cGFkZGluZzogMXB4IDFweCAxcHggM3B4fSAuZW1haWwge2ZvbnQtZmFtaWx5OiBW ZXJkYW5hLCBBcmlhbCwgSGVsdmV0aWNhLApzYW5zLXNlcmlmOyBmb250LXNpemU6IDhwdDsgY29s b3I6ICMwMDAwMDA7IGZvbnQtd2VpZ2h0OiBub3JtYWx9CiAuZW1haWwjZW1haWxTdWJqZWN0IHtm b250LXdlaWdodDogYm9sZH0gLmVycm9yIHtmb250LWZhbWlseTogVmVyZGFuYSwKQXJpYWwsIEhl bHZldGljYSwgc2Fucy1zZXJpZjsgZm9udC1zaXplOiA4cHQ7IGNvbG9yOiAjRkYwMDAwfSAucHJv Z3Jlc3MKe2ZvbnQtZmFtaWx5OiBWZXJkYW5hLCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlm OyBmb250LXNpemU6IDE0cHg7CmxpbmUtaGVpZ2h0OiAxNXB4fSAudGltZXN0YW1wIHtmb250LWZh bWlseTogQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjsKZm9udC1zaXplOiA4cHg7IGNvbG9y OiAjOTU5OTlDOyBmb250LXdlaWdodDogYm9sZDsgbGluZS1oZWlnaHQ6IDEwcHh9CiAuc2VuZGVy QXV0aCB7Zm9udC1mYW1pbHk6IEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7IGZvbnQtc2l6 ZTogOXB4Owpjb2xvcjogIzVBNUI1RTsgZm9udC13ZWlnaHQ6IGJvbGQ7IGxpbmUtaGVpZ2h0OiAx MHB4OyBwYWRkaW5nLXJpZ2h0OiA0cHh9CiAudGV4dCxvbCxsaSxwLHRkLGlucHV0LnNhZmFyaUJ0 biB7Zm9udC1zaXplOiA4cHQ7IGNvbG9yOiAjMDAwMDAwOwpmb250LWZhbWlseTogVmVyZGFuYSwg QXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZn0gLm9vdGV4dCB7Y29sb3I6ICM2NjY2NjZ9CiNs b2dvQ2VsbCB7cGFkZGluZzogNXB4IDBweCAwcHggMTBweH0gI3Bvc3RtYXJrQ2VsbCB7cGFkZGlu ZzogMTBweCA1cHggMHB4CjBweH0gI3Bhc3NwaHJhc2VDZWxsIHtwYWRkaW5nOiAwcHggMHB4IDVw eCA1cHh9ICNoZWxwTGlua0xvY2F0aW9uIHtwYWRkaW5nOgowcHggM3B4IDNweCAwcHh9ICN0aW1l U3RhbXBDb250YWluZXIge21hcmdpbjogMnB4IC0ycHggMHB4IC0xMnB4fQojb3V0ZXJQb3N0bWFy ayB7aGVpZ2h0OiA3MHB4OyB3aWR0aDogMTUwcHg7IG92ZXJmbG93OiB2aXNpYmxlOyBwb3NpdGlv bjoKcmVsYXRpdmU7IHotaW5kZXg6IDl9ICNpbm5lclBvc3RtYXJrIHtwb3NpdGlvbjogYWJzb2x1 dGU7IHRvcDogMHB4OyByaWdodDoKMHB4OyB6LWluZGV4OiAxMH0gI291dGVyUG9zdG1hcmsuSUU1 UG9zdG1hcmsge2hlaWdodDogMTA1cHh9IC5wYXNzcGhyYXNlVGV4dAp7YmFja2dyb3VuZC1jb2xv cjogI0ZGRkZGRjsgcGFkZGluZzogMnB4fSAucGFzc3BocmFzZUxhYmVsUm93IHt9CiAucGFzc3Bo cmFzZUxhYmVsIHt9IC5wYXNzcGhyYXNlVEhvciB7Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICMx OTE5MTl9CiAucGFzc3BocmFzZVRWZXIge2JvcmRlci1sZWZ0OiAxcHggc29saWQgIzE5MTkxOX0g I3Bhc3NwaHJhc2VDb250YWluZXIKe3Bvc2l0aW9uOiByZWxhdGl2ZTsgb3ZlcmZsb3c6IHZpc2li bGU7IHdpZHRoOiAyMHB4OyBoZWlnaHQ6IDFweH0KI3Bhc3NwaHJhc2VDZWxsSlMge3Bvc2l0aW9u OiBhYnNvbHV0ZTsgbGVmdDogMjBweDsgYm90dG9tOiAtMjVweDsgd2lkdGg6CjE1NXB4OyBwYWRk aW5nLWxlZnQ6IDVweH0gLnN1YlJlYXNvbnMge2xpc3Qtc3R5bGU6IGxvd2VyLWFscGhhfSBBIHtj b2xvcjoKIzAwMzM5OX0gQTpob3ZlciB7Y29sb3I6ICNGRjAwMDA7IGN1cnNvcjogcG9pbnRlcn0g QTp2aXNpdGVkIHtjb2xvcjoKIzAwMzM5OX0gQTp2aXNpdGVkOmhvdmVyIHtjb2xvcjogI0ZGMDAw MDsgY3Vyc29yOiBwb2ludGVyfSBib2R5IHttYXJnaW4tdG9wOgo4cHh9IC0tPjwvc3R5bGU+PHNj cmlwdCB0eXBlPSd0ZXh0L2phdmFzY3JpcHQnIGxhbmd1YWdlPWphdmFzY3JpcHQ+PCEtLQonJFNl cmlhbDogNjI2MSAkICRSZXZpc2lvbjogMS42LjguMi4yMi4xICQnOwonQ29weXJpZ2h0IChjKSAy MDAxLTIwMDkgQ2lzY28gU3lzdGVtcywgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLic7CidQcm90 ZWN0ZWQgYnkgVW5pdGVkIFN0YXRlcyBwYXRlbnQgbnVtYmVycyA2LDAxNCw2ODggYW5kIDYsMzA0 LDg5Ny4nOwonJFNlcmlhbDogMzMyOCAkICRSZXZpc2lvbjogMS41ICQnOydWZXJzaW9uOiAyLjIn OwonJFNlcmlhbDogNjI0OCAkICRSZXZpc2lvbjogMS4xMCAkJzt2YXIgam09J0VudmVsb3BlVG9v bHM1JyxxYT0nUG9zdFhCUEMnLHFjCj0nUG9zdFhQcmVmZXJlbmNlcycscWI9J1Bvc3RYQ29va2ll Q2hlY2snLGpsPSdQb3N0WENhcmJvbi4nLHFkPQonUG9zdFhTZXNzaW9uS2V5LicscWU9J1Bvc3RY VXNlcktleS4nLHFqPTMxNTM2MDAwMDAwMCxxZj0nJyxxaD0KJ1R1ZSwgMTktSmFuLTIwMzggMDM6 MTQ6MDcgR01UJyxxZz0zMTUzNjAwMDAwMDAscWk9MzE1MzYwMDAwMDAwLHFrPQozMTUzNjAwMDAw MDA7CickU2VyaWFsOiAwNDc4ICQgJFJldmlzaW9uOiAxLjMgJCc7dmFyIGpuPSdhcHBsZXRIb2xk ZXInLGh2PSdhcHBsZXRIb2xkZXInLAp1dj0ndW5kZWZpbmVkJyxicT0nb2JqZWN0JyxjbD0nc3Ry aW5nJyxlbT1mYWxzZSxiZz10cnVlOwonJFNlcmlhbDogMzg4OCAkICRSZXZpc2lvbjogMS4xNSAk JztmdW5jdGlvbiBlbihsdil7dmFyIHh1PQovXlxzKmZ1bmN0aW9uXHMrKFteKF0rKS8sZ2s7aWYo KGdrPXh1LmV4ZWMobHYpKSlyZXR1cm4gZ2tbMV07cmV0dXJuJyd9CmZ1bmN0aW9uIGFmdShqKXtq PWoudG9TdHJpbmcoMTYpO2lmKGoubGVuZ3RoJjEpaj0nMCcrajtyZXR1cm4nJScran1mdW5jdGlv bgpkcyhkLGFmdyl7ZCs9Jyc7dmFyIGJtLGEsZT1kLmxlbmd0aCxiZz0nJztmb3IoYT0wO2E8ZTth Kyspe2JtPWQuY2hhckF0KGEpO2lmCihibT49J0EnJiZibTw9J1onfHxibT49J2EnJiZibTw9J3on fHxibT49JzAnJiZibTw9JzknfHxibT09Jy4nfHxibT09Jy0nfHxibQo9PScqJ3x8Ym09PSdfJyli Zys9Ym07ZWxzZXtibT1ibS5jaGFyQ29kZUF0KDApO2lmKGFmd3x8Ym08MTI4KXtiZys9YWZ1KGJt JgoyNTUpfWVsc2UgaWYoYm08MjA0OCl7YmcrPWFmdSgxOTJ8Ym0+Pj42KTtiZys9YWZ1KDEyOHxi bSY2Myl9ZWxzZXtiZys9YWZ1KAoyMjR8Ym0+Pj4xMik7YmcrPWFmdSgxMjh8KGJtPj4+NikmNjMp O2JnKz1hZnUoMTI4fGJtJjYzKX19fXJldHVybiBiZ30KZnVuY3Rpb24gamcoZCxhZncpe2QrPScn O3ZhciBibSxjYyxhLGU9ZC5sZW5ndGgsYmc9Jyc7Zm9yKGE9MDthPGU7YSsrKXtibT1kLgpjaGFy QXQoYSk7c3dpdGNoKGJtKXtkZWZhdWx0OmJnKz1ibTticmVhaztjYXNlJysnOmJnKz0nICc7YnJl YWs7Y2FzZSclJzppZihkCiAuY2hhckF0KGErMSk9PSd1Jyl7Ym09ZC5zdWJzdHIoYSsyLDQpO2Er PTU7Y2M9cGFyc2VJbnQoYm0sMTYpfWVsc2V7Ym09ZC4Kc3Vic3RyKGErMSwyKTthKz0yO2NjPXBh cnNlSW50KGJtLDE2KTtpZihhZnd8fGNjPDEyOCl7fWVsc2UgaWYoY2M8MjI0KXtpZihlCi1hPDR8 fGQuY2hhckF0KGErMSkhPSclJyl7fWVsc2V7Ym09ZC5zdWJzdHIoYSsyLDIpO2ErPTM7Y2M9KChj YyYzMSk8PDYpfCgKcGFyc2VJbnQoYm0sMTYpJjYzKX19ZWxzZXtpZihlLWE8N3x8ZC5jaGFyQXQo YSsxKSE9JyUnfHxkLmNoYXJBdChhKzQpIT0nJScpewp9ZWxzZXtibT1kLnN1YnN0cihhKzIsMik7 YSs9MztjYz0oKGNjJjE1KTw8Nil8KHBhcnNlSW50KGJtLDE2KSY2Myk7Ym09ZC4Kc3Vic3RyKGEr MiwyKTthKz0zO2NjPShjYzw8Nil8KHBhcnNlSW50KGJtLDE2KSY2Myl9fX1iZys9U3RyaW5nLmZy b21DaGFyQ29kZQooY2MpO2JyZWFrfX1yZXR1cm4gYmd9ZnVuY3Rpb24gaXgoZCl7ZCs9Jyc7dmFy IGJtLGEsZT1kLmxlbmd0aCxiZz0nJztmb3IoYT0wCjthPGU7YSsrKXtibT1kLmNoYXJBdChhKTtp ZihibTwnICd8fGJtPid+J3x8Ym09PSdcJyd8fGJtPT0nIicpYmcrPScmIycrZC4KY2hhckNvZGVB dChhKSsnOyc7ZWxzZSBiZys9Ym19cmV0dXJuIGJnfWZ1bmN0aW9uIGFmeihhZ2IsYWZ5KXt2YXIg ZHA9CmFyZ3VtZW50cy5sZW5ndGgsbT1bXSxhO2lmKGRwPT0zJiZhcmd1bWVudHNbMl0uZWxlbWVu dHMpe3ZhciBzdj1hcmd1bWVudHNbMl0KLGR3O2ZvcihhPTE7ZHc9c3ZbJ2tleScrYV07YSsrKWlm KGR3LnZhbHVlIT0nJyltW20ubGVuZ3RoXT1kdy52YWx1ZX1lbHNle2ZvcgooYT0yO2E8ZHA7YSsr KWlmKGFyZ3VtZW50c1thXSE9JycpbVttLmxlbmd0aF09YXJndW1lbnRzW2FdfW09bS5qb2luKGFn Yik7aWYoCmFmeSltPW0udG9Mb3dlckNhc2UoKTtyZXR1cm4gbX1mdW5jdGlvbiB3bihieSxhZnYp e2lmKCFhZnYpYWZ2PTcyO3ZhciBhLGMsZT0KYnkubGVuZ3RoO2lmKCdcCic9PScnKXJldHVybiBi eTt2YXIgZ2s9bmV3IEFycmF5KE1hdGguZmxvb3IoKGUrYWZ2LTEpL2FmdikpO2ZvcihhPWM9MDth PGU7YQorPWFmdisxLGMrKylna1tjXT1ieS5zdWJzdHIoYSxhZnYpO2drLmxlbmd0aD1jO3JldHVy biBnay5qb2luKCcnKX12YXIgYWZ4PTA7CmZ1bmN0aW9uIGFnYShhYXQpe3ZhciBkO2lmKGp6KWQ9 YWF0K25ldyBEYXRlKCkuZ2V0VGltZSgpK2FmeCsrO2Vsc2UgZG97ZD1hYXQKK2FmeCsrfXdoaWxl KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGQpKTtyZXR1cm4gZH16dz1mb3JtS2V5PWFmejt6aj0K Zml4TXVsdGlsaW5lU3RyaW5nPXduO3ppPWdlbklkPWFnYTthdHRyRXNjPWl4OwonJFNlcmlhbDog MDYxMSAkICRSZXZpc2lvbjogMS42ICQnO2Z1bmN0aW9uIHF0KGR6KXt2YXIgZj1uZXcgRGF0ZSgp LmdldFRpbWUoCik7aWYoIWR6KWR6PXFiO2pmKGR6LGYsJycsJy8nKTtpZigoZj0oa2QoZHopPT1m KSkpcXIoZHosJy8nKTtyZXR1cm4gZn0KZnVuY3Rpb24ga2QoZHope2R6PWRzKGR6KTt2YXIgZD1k b2N1bWVudC5jb29raWUscXA9ZC5pbmRleE9mKGR6Kyc9Jyk7aWYocXA9PQotMSlyZXR1cm4gbnVs bDt2YXIgcXE9cXArZHoubGVuZ3RoKzEscW89ZC5pbmRleE9mKCc7JyxxcSk7aWYocW89PS0xKXFv PWQuCmxlbmd0aDtyZXR1cm4gamcoZC5zdWJzdHJpbmcocXEscW8pKX1mdW5jdGlvbiBqZihkeixk eSxxbCxxbixxbSxxcyl7dmFyIGQ9ZHMKKGR6KSsnPScrZHMoZHkpO2lmKHR5cGVvZiBxbCE9J251 bWJlcicpe3ZhciBiZT1wYXJzZUludChxbC50b1N0cmluZygpKTtpZihiZQorJychPSdOYU4nKXFs PWJlfWlmKHR5cGVvZiBxbD09J251bWJlcicpZCs9JztleHBpcmVzPScrbmV3IERhdGUobmV3IERh dGUoKS4KZ2V0VGltZSgpK3FsKS50b1VUQ1N0cmluZygpO2Vsc2UgaWYodHlwZW9mIHFsPT1jbCYm cWwhPScnKWQrPSc7ZXhwaXJlcz0nK3FsOwplbHNlIGlmKHR5cGVvZiBxbD09YnEpZCs9JztleHBp cmVzPScrcWwudG9VVENTdHJpbmcoKTtpZihxbilkKz0nO3BhdGg9JytxbjsKaWYocW0pZCs9Jztk b21haW49JytxbTtpZihxcylkKz0nO3NlY3VyZSc7ZG9jdW1lbnQuY29va2llPWR9ZnVuY3Rpb24g cXIoZHosCnFuLHFtKXtpZihrZChkeikpamYoZHosJycsLTEwMDAscW4scW0pfQonJFNlcmlhbDog Mjc0NyAkICRSZXZpc2lvbjogMS41ICQnO3ZhciB4ZD0xLGp2PTIseGg9NCx3eD04LHhpPTE2Owon JFNlcmlhbDogMjcxMiAkICRSZXZpc2lvbjogMS4zICQnO2Z1bmN0aW9uIHB0KCl7dGhpcy5hbHBo YWJldD0KJ0FCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4 eXowMTIzNDU2Nzg5Ky8nO3RoaXMuCmVuY29kZUFycmF5PTA7dGhpcy5kZWNvZGVBcnJheT0wO3Ro aXMuZ2V0RW5jb2RlQXJyYXk9ZnVuY3Rpb24oKXtpZighdGhpcy4KZW5jb2RlQXJyYXkpe3ZhciBk PXRoaXMuYWxwaGFiZXQscHE9ZC5sZW5ndGgsYnc9bmV3IEFycmF5KHBxKSxhO2ZvcihhPTA7YTxw cQo7YSsrKWJ3W2FdPWQuY2hhckNvZGVBdChhKTt0aGlzLmVuY29kZUFycmF5PWJ3fXJldHVybiB0 aGlzLmVuY29kZUFycmF5fTt0aGlzCiAuZW5jb2RlVG9BcnJheT1mdW5jdGlvbihwcixnayl7dmFy IHBxPXByLmxlbmd0aCxidz10aGlzLmdldEVuY29kZUFycmF5KCksYSwKYyxwcyxqO2E9TWF0aC5j ZWlsKHBxLzMpKjQ7Yz1NYXRoLmNlaWwocHEvMyo0KTtwcz1hLWM7aWYoIWdrKWdrPW5ldyBBcnJh eShhKQo7YT1jPTA7d2hpbGUoYTxwcSl7aj1wci5jaGFyQ29kZUF0KGErKyk8PDE2O2lmKGE8cHEp anw9cHIuY2hhckNvZGVBdChhKyspPDw4CjtpZihhPHBxKWp8PXByLmNoYXJDb2RlQXQoYSsrKTtn a1tjKytdPWJ3WyhqPj4+MTgpJjYzXTtna1tjKytdPWJ3WyhqPj4+MTIpJgo2M107Z2tbYysrXT1i d1soaj4+PjYpJjYzXTtna1tjKytdPWJ3W2omNjNdfWdrLmxlbmd0aD1jO3doaWxlKHBzLS0pZ2tb LS1jXT0KNjE7cmV0dXJuIGdrfTt0aGlzLmVuY29kZVRvU3RyaW5nPWZ1bmN0aW9uKHByKXt2YXIg Z2s9dGhpcy5lbmNvZGVUb0FycmF5KHByKQoscHE9Z2subGVuZ3RoO2Zvcih2YXIgYT0wO2E8cHE7 YSsrKWdrW2FdPVN0cmluZy5mcm9tQ2hhckNvZGUoZ2tbYV0pOwpyZXR1cm4gZ2suam9pbignJyl9 O3RoaXMuZ2V0RGVjb2RlQXJyYXk9ZnVuY3Rpb24oKXtpZighdGhpcy5kZWNvZGVBcnJheSl7dmFy CmQ9dGhpcy5hbHBoYWJldCxwcT1kLmxlbmd0aCxidz1uZXcgQXJyYXkoMjU2KSxhO2ZvcihhPTA7 YTxwcTthKyspYndbZC4KY2hhckNvZGVBdChhKV09YTt0aGlzLmRlY29kZUFycmF5PWJ3fXJldHVy biB0aGlzLmRlY29kZUFycmF5fTt0aGlzLgpkZWNvZGVUb0FycmF5PWZ1bmN0aW9uKHByLGdrKXt2 YXIgcHE9cHIubGVuZ3RoLGJ3PXRoaXMuZ2V0RGVjb2RlQXJyYXkoKSxhPTAsCmM9MCxwcz0wLGo7 d2hpbGUocHE+MCYmcHIuY2hhckF0KHBxLTEpPT0nPScpe3BxLS07cHMrK31pZighZ2spZ2s9bmV3 IEFycmF5KApNYXRoLmNlaWwocHEvNCozKSk7d2hpbGUoYTxwcSl7aj1id1twci5jaGFyQ29kZUF0 KGErKyldPDwxODtqfD1id1twci4KY2hhckNvZGVBdChhKyspXTw8MTI7anw9YndbcHIuY2hhckNv ZGVBdChhKyspXTw8NjtqfD1id1twci5jaGFyQ29kZUF0KGErKyldOwpna1tjKytdPShqPj4+MTYp JjI1NTtna1tjKytdPShqPj4+OCkmMjU1O2drW2MrK109aiYyNTV9Z2subGVuZ3RoPWMtcHM7CnJl dHVybiBna307dGhpcy5kZWNvZGVUb1N0cmluZz1mdW5jdGlvbihwcil7dmFyIGdrPXRoaXMuZGVj b2RlVG9BcnJheShwcikscHEKPWdrLmxlbmd0aDtmb3IodmFyIGE9MDthPHBxO2ErKylna1thXT1T dHJpbmcuZnJvbUNoYXJDb2RlKGdrW2FdKTtyZXR1cm4gZ2suCmpvaW4oJycpfX12YXIgYmI9bmV3 IHB0KCk7CickU2VyaWFsOiA0MjQ3ICQgJFJldmlzaW9uOiAxLjMgJCc7dmFyIGJ4PTB4ZmZmZmZm ZmYscHY9MHg3ZmZmZmZmZixweT0KLTB4N2ZmZmZmZmYscHg9MHg4MDAwMDAwMCxwdz0tMHg4MDAw MDAwMCxwdT1ieCsxOwonJFNlcmlhbDogNTAyOCAkICRSZXZpc2lvbjogMS4zICQnO3ZhciBjZD0o cHZ8KHB3LTEpKSE9cHY7ZnVuY3Rpb24gZGsoaHope2h6Cj1oeiVwdTtpZihoejxwdylyZXR1cm5+ KGh6K3B4KS1weDtpZihoej5wdilyZXR1cm5+KGh6LXB4KStweDtyZXR1cm5+aHp9CmZ1bmN0aW9u IGRlKGUsa3Ype2U9ZSVwdTtrdj1rdiVwdTtpZihlPHB3KWUrPXB1O2Vsc2UgaWYoZT5wdillLT1w dTtpZihrdjxwdykKa3YrPXB1O2Vsc2UgaWYoa3Y+cHYpa3YtPXB1O3JldHVybiBlJmt2fWZ1bmN0 aW9uIGRpKGUsa3Ype2U9ZSVwdTtrdj1rdiVwdTtpZgooZTxwdyllKz1wdTtlbHNlIGlmKGU+cHYp ZS09cHU7aWYoa3Y8cHcpa3YrPXB1O2Vsc2UgaWYoa3Y+cHYpa3YtPXB1O3JldHVybiBlCnxrdn1m dW5jdGlvbiBjaChlLGt2KXtlPWUlcHU7a3Y9a3YlcHU7aWYoZTxweXx8ZT5wdillPS0oZGsoZSkr MSk7aWYoa3Y8cHl8fAprdj5wdilrdj0tKGRrKGt2KSsxKTtyZXR1cm4gZV5rdn1mdW5jdGlvbiBk bihlLGt2KXtlPWUlcHU7aWYoZTxwdyllKz1wdTtlbHNlCmlmKGU+cHYpZS09cHU7cmV0dXJuIGU8 PGt2fWZ1bmN0aW9uIHB6KGUsa3Ype2U9ZSVwdTtpZihlPHB3KWUrPXB1O2Vsc2UgaWYoZT4KcHYp ZS09cHU7cmV0dXJuIGU+Pmt2fWZ1bmN0aW9uIGNqKGUsa3Ype2U9ZSVwdTtpZihlPHB3KWUrPXB1 O2Vsc2UgaWYoZT5wdillCi09cHU7cmV0dXJuIGU+Pj5rdn0KJyRTZXJpYWw6IDMxNTcgJCAkUmV2 aXNpb246IDEuNCAkJztmdW5jdGlvbiBjZih5Yil7dmFyIHlhPXliPj4+MTYseWQ9eWImCjY1NTM1 O3JldHVybiBTdHJpbmcuZnJvbUNoYXJDb2RlKHlhPj4+OCkrU3RyaW5nLmZyb21DaGFyQ29kZSh5 YSYyNTUpK1N0cmluZy4KZnJvbUNoYXJDb2RlKHlkPj4+OCkrU3RyaW5nLmZyb21DaGFyQ29kZSh5 ZCYyNTUpfWZ1bmN0aW9uIGd0KHljKXt2YXIgYSxwcT15YwogLmxlbmd0aCxhbz0nJztmb3IoYT0w O2E8cHE7YSsrKWFvKz1jZih5Y1thXSk7cmV0dXJuIGFvfWZ1bmN0aW9uIGdwKCl7dmFyIHh3Cj0x Nix5Zj0oMTw8eHcpLHllPXlmLTE7dGhpcy4kd29yZHM9bmV3IEFycmF5KDY0L3h3KTt2YXIgZ2s9 YXJndW1lbnRzLGEsZT0KdGhpcy4kd29yZHMubGVuZ3RoO2ZvcihhPTA7YTxlO2ErKyl0aGlzLiR3 b3Jkc1thXT0wO3N3aXRjaChnay5sZW5ndGgpe2Nhc2UgMQo6dmFyIGdrPWdrWzBdO2lmKHR5cGVv ZiBnaz09YnEmJmdrLiR3b3JkcyYmZ2suJHdvcmRzLmxlbmd0aD09ZSl7Zm9yKGE9MDthPGU7CmEr Kyl0aGlzLiR3b3Jkc1thXT1nay4kd29yZHNbYV19ZWxzZSB0aGlzLiR3b3Jkc1tlLTFdPU1hdGgu Zmxvb3IoZ2spO2JyZWFrOwpjYXNlIDI6dGhpcy4kd29yZHNbMV09YXJndW1lbnRzWzBdO3RoaXMu JHdvcmRzWzNdPWFyZ3VtZW50c1sxXTticmVhaztjYXNlIDQ6CmZvcihhPTA7YTxlO2ErKyl0aGlz LiR3b3Jkc1thXT1NYXRoLmZsb29yKGdrW2FdKTticmVha31pZihnay5sZW5ndGgpeHgodGhpcy4K JHdvcmRzKTtmdW5jdGlvbiB4eChnayl7dmFyIHh6PTAsYSxlPWdrLmxlbmd0aDtmb3IoYT1lLTE7 YT49MDthLS0pe2drW2FdKz14ego7aWYoKHh6PWdrW2FdPj4+eHcpKWdrW2FdJj15ZX19dGhpcy5h ZGQ9ZnVuY3Rpb24oZGQpe3RoaXMuJHdvcmRzW3RoaXMuJHdvcmRzCiAubGVuZ3RoLTFdKz1kZDt4 eCh0aGlzLiR3b3Jkcyk7cmV0dXJuIHRoaXN9O3RoaXMubWFzaz1mdW5jdGlvbihkZCl7Zm9yKHZh cgphPXRoaXMuJHdvcmRzLmxlbmd0aC0xO2E+PTA7YS0tKXt0aGlzLiR3b3Jkc1thXSY9ZGQ7ZGQ+ Pj14d31yZXR1cm4gdGhpc307CnRoaXMubXVsdGlwbHk9ZnVuY3Rpb24oZGQpe3ZhciBhLGU9dGhp cy4kd29yZHMubGVuZ3RoO2ZvcihhPTA7YTxlO2ErKyl0aGlzLgokd29yZHNbYV0qPWRkO3h4KHRo aXMuJHdvcmRzKTtyZXR1cm4gdGhpc307dGhpcy5zdWJUb0ludD1mdW5jdGlvbihkZCl7dmFyIGEs CmU9dGhpcy4kd29yZHMubGVuZ3RoLGJnPTA7aWYodHlwZW9mIGRkIT1icXx8IWRkLiR3b3Jkc3x8 ZGQuJHdvcmRzLmxlbmd0aCE9ZSkKZGQ9bmV3IGdwKGRkKTtmb3IoYT0wO2E8ZTthKyspYmc9KGJn PDwxNikrdGhpcy4kd29yZHNbYV0tZGQuJHdvcmRzW2FdOwpyZXR1cm4gYmd9O3RoaXMuZ2V0Qnl0 ZT1mdW5jdGlvbihkZCl7dmFyIGU9dGhpcy4kd29yZHMubGVuZ3RoLHh5PWRkPj4+MTtpZigKeHk+ PWUpcmV0dXJuLTE7aWYoZGQmMSlyZXR1cm4gdGhpcy4kd29yZHNbZS14eS0xXT4+Pjg7cmV0dXJu IHRoaXMuJHdvcmRzW2UKLXh5LTFdJjI1NX19CickU2VyaWFsOiAxNTgzICQgJFJldmlzaW9uOiAx LjggJCc7ZnVuY3Rpb24gY2soKXt2YXIgY2I9bmV3IEFycmF5KDI1NiksYnIsYnYKLGJ6O3RoaXMu JGRpZ2VzdD1ieDtpZihjZClmb3IoYnY9MDtidjwyNTY7YnYrKyl7YnI9YnY7Zm9yKGJ6PTA7Yno8 ODtieisrKWJyPQooYnImMSk/Y2goY2ooYnIsMSksMHhlZGI4ODMyMCk6Y2ooYnIsMSk7Y2JbYnZd PWJyfWVsc2UgZm9yKGJ2PTA7YnY8MjU2O2J2KyspCnticj1idjtmb3IoYno9MDtiejw4O2J6Kysp YnI9KGJyJjEpPyhicj4+PjEpXjB4ZWRiODgzMjA6YnI+Pj4xO2NiW2J2XT1icn12YXIKY209KGNk P2Z1bmN0aW9uKGJzLGJ3LGJ1LGJ0KXt2YXIgYm0sYSxjZT10eXBlb2YgYnc9PWNsO2ZvcihhPWJ1 O2E8YnQ7YSsrKXtibQo9Y2U/YncuY2hhckNvZGVBdChhKTpid1thXTticz1jYltjaChicyxibSkm MjU1XV5jaihicyw4KX1yZXR1cm4gYnN9OmZ1bmN0aW9uCihicyxidyxidSxidCl7dmFyIGJtLGEs Y2U9dHlwZW9mIGJ3PT1jbDtmb3IoYT1idTthPGJ0O2ErKyl7Ym09Y2U/YncuCmNoYXJDb2RlQXQo YSk6YndbYV07YnM9Y2JbKGJzXmJtKSYyNTVdXihicz4+PjgpfXJldHVybiBic30pO2Z1bmN0aW9u IGNnKGJzLApidyxidSxidCl7dmFyIGU9YncubGVuZ3RoO2lmKCFidSlidT0wO2Vsc2UgaWYoYnU8 MClidSs9ZTtpZighYnQpYnQ9ZTtlbHNlIGlmCihidDwwKWJ0Kz1lO3JldHVybiBjbShicyxidyxi dSxidCl9dGhpcy5DUkNTdHJpbmc9KGNkP2Z1bmN0aW9uKGNhKXtyZXR1cm4gY2YKKGNoKGNnKGJ4 LGNhKSxieCkpfTpmdW5jdGlvbihjYSl7cmV0dXJuIGNmKGNnKGJ4LGNhKV5ieCl9KTt0aGlzLmRp Z2VzdD0KZnVuY3Rpb24oY2EsYnUsYnQpe3RoaXMuJGRpZ2VzdD1jZyh0aGlzLiRkaWdlc3QsY2Es YnUsYnQpfTt0aGlzLmZpbmFsaXplPShjZAo/ZnVuY3Rpb24oKXt2YXIgY2M9Y2godGhpcy4kZGln ZXN0LGJ4KTt0aGlzLiRkaWdlc3Q9Yng7cmV0dXJuIGNmKGNjKX06CmZ1bmN0aW9uKCl7dmFyIGNj PXRoaXMuJGRpZ2VzdF5ieDt0aGlzLiRkaWdlc3Q9Yng7cmV0dXJuIGNmKGNjKX0pO3RoaXMuCmxl bmd0aD1mdW5jdGlvbigpe3JldHVybiA0fX12YXIgY2k9bmV3IGNrKCk7ZnVuY3Rpb24gY24oYnkp e2lmKGJ5JiZieS5sZW5ndGgKPjQpe3ZhciBkPWJ5LnN1YnN0cig0KTtpZihjaS5DUkNTdHJpbmco ZCk9PWJ5LnN1YnN0cigwLDQpKXJldHVybiBkfXJldHVybiAwfQpmdW5jdGlvbiBjbyhieSl7cmV0 dXJuIGNpLkNSQ1N0cmluZyhieSkrYnl9CickU2VyaWFsOiAxNjQzICQgJFJldmlzaW9uOiAxLjcg JCc7ZnVuY3Rpb24gcXgobSxxdixxdSxhdSl7cmV0dXJuIHF3KG0scXYscXUKLGF1LGJnKX1mdW5j dGlvbiBxeShtLHF2LHF1LGF1KXtyZXR1cm4gcXcobSxxdixxdSxhdSxlbSl9ZnVuY3Rpb24gcXco bSxxdixxdQosYXUsYmMpe3F2PXF2PydrZXlzJzonZGF0YSc7cXU9cXVbcXZdO2F1PWF1W3F2XTtp Zighd2luZG93W3F1XSl7YWxlcnQoCidObyBzdWNoIGFsZ29yaXRobSBgJytxdSsnXCcnKTtyZXR1 cm47fXJldHVybiBuZXcgd2luZG93W3F1XShtLGF1LGJjKX0KZnVuY3Rpb24gcXoocXYscXUpe3F1 PXF1W3F2PXF2PydrZXlzJzonZGF0YSddO2lmKHF1PT0nQ1JDMzInKXJldHVybiBuZXcgY2soKQo7 aWYocXU9PSdTSEExJylyZXR1cm4gbmV3IFNIQTEoKTthbGVydCgnTm8gc3VjaCBhbGdvcml0aG0g YCcrcXUrJ1wnJyl9CickU2VyaWFsOiA1MTg5ICQgJFJldmlzaW9uOiAxLjE4ICQnO3ZhciBraj1u YXZpZ2F0b3IudXNlckFnZW50LnRvTG93ZXJDYXNlKCkKLGlkPWtqLmluZGV4T2YoJ21zaWUnKSE9 LTEsaXk9IWlkLGthPXBhcnNlSW50KG5hdmlnYXRvci5hcHBWZXJzaW9uKSxqej1peSYmCmthPDUs dmU9a2ouaW5kZXhPZignbmV0c2NhcGU2LycpIT0tMSxqeT1rai5pbmRleE9mKCcgZ2Vja28vJykr MSx1eT1rai4KaW5kZXhPZignIGZpcmVmb3gvMicpKzEsdmM9a2ouaW5kZXhPZignIGZpcmVmb3gv MycpKzEsdmQ9a2ouaW5kZXhPZigKJ21zaWUgNS4wJykhPS0xLHV6PWtqLmluZGV4T2YoJ21zaWUg NycpIT0tMSx2Zj1rai5pbmRleE9mKCdvcGVyYScpIT0tMSx2Yix1eAo9a2ouaW5kZXhPZignd2lu ZG93cyBudCA2JykhPS0xLHZhPXV6JiZ1eCx1dz0wLGl0PTAsang9MDtpZihuYXZpZ2F0b3IuCnBs YXRmb3JtLnN1YnN0cigwLDMpPT0nTWFjJyl7aWYoaXkpdXc9a2ouaW5kZXhPZignbWFjIG9zIHgn KT09LTE7ZWxzZXt1dz1rai4KaW5kZXhPZignbXNpZScpO3V3PXBhcnNlRmxvYXQoa2ouc3Vic3Ry KHV3KzUpKTw1LjJ9aXQ9IXV3O2lmKChqeD1rai5pbmRleE9mKAonIGFwcGxld2Via2l0LycpKzEp KWthPXBhcnNlSW50KGtqLnN1YnN0cihqeCsxMikpLzEwMH1pZihqeSl2Yj1wYXJzZUludChrai4K c3Vic3RyKGp5KzYpKTt2YXIgaXM9dXd8fGl0LHZnPWVtLHZoPSFqeCx2aT1qeCxpej0odXd8fHZh fHwodXkmJmxvY2F0aW9uLgpwcm90b2NvbCE9J2ZpbGU6Jyl8fCghbmF2aWdhdG9yLmphdmFFbmFi bGVkKCkpKTtPU01hY09TOT11dztPU01hY09TWD1pdDsKYnJvd3NlckFwcGxlV2ViS2l0PWp4Owon JFNlcmlhbDogNTYxNyAkICRSZXZpc2lvbjogMS44ICQnO3ZhciBhYWE9MCx6dj0xLGFhZj0yLHNu PTMsYWFlPTQscng9LTEsYWFqCj0wLGFhZz01LGFhaD02LHNnPTcsdXI9OCx1cz05LGFhaT0xMDtT VEFUVVNfTkVXPWFhYTtTVEFUVVNfSU5QUk9HUkVTUz16djsKU1RBVFVTX0JBREVOQ09ESU5HPWFh ZjtTVEFUVVNfQkFEUEFTU1dPUkQ9c247U1RBVFVTX0JBREhBU0g9YWFlO1NUQVRVU19ET05FPQpy eDtTVEFUVVNfU1VDQ0VTUz1hYWo7U1RBVFVTX0JBRFBPU1RNQVJLPWFhZztTVEFUVVNfQkFEU0lH TkFUVVJFPWFhaDsKU1RBVFVTX1RPT01BTllCQURQQVNTV09SRFM9c2c7U1RBVFVTX0lOQ09NUEFU SUJMRT11cjtTVEFUVVNfUEFTU1dPUkRDSEFOR0VEPQp1cztTVEFUVVNfTk9VU0VSU0VMRUNURUQ9 YWFpOwonJFNlcmlhbDogNjEyMyAkICRSZXZpc2lvbjogMS4zICQnO2Z1bmN0aW9uIHZwKHFuKXt2 YXIgdmw9cW4ubGFzdEluZGV4T2YoCidcXCcpLHZtPXFuLmxhc3RJbmRleE9mKCcvJyk7cmV0dXJu IHFuLnN1YnN0cigodmw+dm0/dmw6dm0pKzEpfWZ1bmN0aW9uIHZxKAp2ayx2byx2bix2ail7aWYo dHlwZW9mIHZqPT1jbCl2aj1bdmpdO3ZhciBlbSxhLGU9dmoubGVuZ3RoO2ZvcihhPTA7YTxlO2Er KykKaWYoIXZrW3ZqW2FdXSlicmVhaztpZihhPGUpZW09dmpbYV07ZWxzZXthPTA7ZT1uZXcgRGF0 ZSgpLmdldFRpbWUoKTtkbyBlbT0KJ1BYVGVtcC4nK2UrJy4nK2ErKyt2bzt3aGlsZSh2a1tlbV0p fWlmKHZuKXZrW2VtXT0xO3JldHVybiBlbX0KJyRTZXJpYWw6IDQwNzQgJCAkUmV2aXNpb246IDEu NiAkJztmdW5jdGlvbiBBUkM0KG0sYXUsYmMpe3ZhciBibz1uZXcgQXJyYXkoCjI1NiksZD1uZXcg QXJyYXkoMjU2KSxhLGMsYmc7aWYodHlwZW9mIGF1IT1icSlhdT17J2tleXNpemUnOmF1LCdwcmVy dW4nOmJjfTsKdmFyIGJrPWF1LmtleXNpemU7aWYoIWJrfHxiaz5tLmxlbmd0aCliaz1tLmxlbmd0 aDtmb3IoYT1jPTA7YTwyNTY7YSsrKXtkW2FdPQphO2JvW2FdPW0uY2hhckNvZGVBdChjKTtpZigr K2M9PWJrKWM9MH1mb3IoYT1jPTA7YTwyNTY7YSsrKXtjPShjK2RbYV0rYm9bYV0pCiYyNTU7Ymc9 ZFthXTtkW2FdPWRbY107ZFtjXT1iZ31hPWM9MDtpZihhdS5wcmVydW4pZm9yKHZhciBibT0wO2Jt PDI1NjtibSsrKXsKYT0oYSsxKSYyNTU7Yz0oYytkW2FdKSYyNTU7Ymc9ZFthXTtkW2FdPWRbY107 ZFtjXT1iZ310aGlzLlM9ZDt0aGlzLkk9YTt0aGlzLgpKPWM7dGhpcy5jcnlwdD1mdW5jdGlvbihi Zil7dmFyIGJsLGJwLGJpPXRoaXMuUyxiaD10aGlzLkksYmo9dGhpcy5KLGJlLGU9YmYuCmxlbmd0 aCxibj10eXBlb2YgYmY9PWJxO2lmKCFibil7dmFyIGJnPW5ldyBBcnJheShlKTtmb3IoYmU9MDti ZTxlO2JlKyspYmdbYmUKXT1iZi5jaGFyQ29kZUF0KGJlKTtiZj1iZ31mb3IoYmU9MDtiZTxlO2Jl Kyspe2JoPShiaCsxKSYyNTU7Ymo9KGJqK2JpW2JoXSkmCjI1NTtibD1iaVtiaF07YnA9YmlbYmhd PWJpW2JqXTtiaVtial09Ymw7YmZbYmVdXj1iaVsoYnArYmwpJjI1NV19dGhpcy5JPWJoOwp0aGlz Lko9Ymo7aWYoIWJuKXtmb3IoYmU9MDtiZTxlO2JlKyspYmZbYmVdPVN0cmluZy5mcm9tQ2hhckNv ZGUoYmZbYmVdKTtiZj0KYmYuam9pbignJyl9cmV0dXJuIGJmfTtpZihiYyl0aGlzLmRlY3J5cHQ9 dGhpcy5jcnlwdDtlbHNlIHRoaXMuZW5jcnlwdD10aGlzLgpjcnlwdH0KJyRTZXJpYWw6IDM5MTYg JCAkUmV2aXNpb246IDEuMTAgJCc7ZnVuY3Rpb24gd3cod3Ipe3ZhciBkPWtkKHdyKSx4ZztpZihk JiYoZAo9Y24oZCkpKXt2YXIgd3A9ZC5jaGFyQ29kZUF0KDApLHdvPWQuc3Vic3RyKDEpLHdxPScn O2lmKHdwJnd4KXt2YXIgYT13by4KaW5kZXhPZignOycpO3dxPXdvLnN1YnN0cigwLGEpO3dvPXdv LnN1YnN0cihhKzEpfXJldHVybiBuZXcgQXJyYXkod3Asd28sd3EpfQpyZXR1cm4gZH1mdW5jdGlv biBrYih3byx3dSxiayx3cCx3cSl7aWYod3AmanYpe3dwJj1+eGQ7d289bmV3IEFSQzQod3UsYmss MSkuCmNyeXB0KGNvKHdvKSl9d289U3RyaW5nLmZyb21DaGFyQ29kZSh3cCkrKCh3cCZ3eCkmJndx P3dxKyc7JzonJykrd287CnJldHVybiBjbyh3byl9ZnVuY3Rpb24gc3Aod3Isd3Msd28sd3UsYmss d3Asd3Epe2pmKHdyLGtiKHdvLHd1LGJrLHdwLHdxKSx3cywKJy8nKX1mdW5jdGlvbiB3dih3cil7 cXIod3IsJy8nKX1mdW5jdGlvbiB4YShlbyl7cmV0dXJuIGQ9d3cocWQrZW8pfWZ1bmN0aW9uCnhj KGVvLHdzLHhiLG0sYmssd3Asd3Epe3NwKHFkK2VvLHdzLHhiLG0sYmssd3Asd3EpfWZ1bmN0aW9u IHd5KGVvKXt3dihxZCtlbykKfWZ1bmN0aW9uIHhlKHd0KXtyZXR1cm4gZD13dyhxZSt3dCl9ZnVu Y3Rpb24geGYod3Qsd3MsbSx3cCx3cSl7c3AocWUrd3Qsd3MsbQosJycsMCx3cCx3cSl9ZnVuY3Rp b24gd3ood3Qpe3d2KHFlK3d0KX16cT1nZXRDYWNoZWRTZXNzaW9uS2V5PXhhO3pwPQpzZXRDYWNo ZWRTZXNzaW9uS2V5PXhjO3pvPWRlbENhY2hlZFNlc3Npb25LZXk9d3k7ZGVsQ2FjaGVkVXNlcktl eT13ejsKJyRTZXJpYWw6IDAzMjcgJCAkUmV2aXNpb246IDEuMTMgJCc7dmFyIHVzZXJUZXh0PXt9 LHhxPXsnX2FwcGxldE1zZyc6CidUaGUgc2VjdXJlIGRvY3VtZW50IGNvdWxkblwndCBiZSBvcGVu ZWQsIHBvc3NpYmx5ICcrCidiZWNhdXNlIHlvdSBjaG9zZSBub3QgdG8gaW5zdGFsbCBKYXZhIG9y IEVudmVsb3BlIFRvb2xzLiBJZiB5b3VcJ2QgJysKJ2xpa2UgdG8gdmlldyB0aGUgc2VjdXJlIGRv Y3VtZW50LCBjbG9zZSB5b3VyIGJyb3dzZXIsIHJlb3BlbiAnKwondGhlIGF0dGFjaG1lbnQsIGFu ZCBhZ3JlZSB0byBoYXZlIEphdmEgYW5kL29yIEVudmVsb3BlIFRvb2xzICcrCidpbnN0YWxsZWQg aWYgYXNrZWQuJywnX29ubGluZU9wdGlvbic6CidUaGUgc2VjdXJlIGRvY3VtZW50IGNvdWxkblwn dCBiZSBvcGVuZWQsIHBvc3NpYmx5ICcrCidiZWNhdXNlIHlvdSBjaG9zZSBub3QgdG8gaW5zdGFs bCBKYXZhIG9yIGRpZG5cJ3QgZ3JhbnQgJysKJ3Blcm1pc3Npb24gZm9yIEVudmVsb3BlIFRvb2xz IHRvIHJ1bi4gVG8gc2VuZCB0aGUgc2VjdXJlIGRvY3VtZW50ICcrCid0byBhIHdlYiBzaXRlIHRv IGJlIGRlY3J5cHRlZCwgY2xpY2sgT0suIFRvIGNsb3NlIHlvdXIgYnJvd3NlciAnKwonYW5kIHRy eSBhZ2FpbiwgY2xpY2sgQ2FuY2VsLicsJ192ZXJpZnlNc2cnOgonVGhlIGVudmVsb3BlIGNvdWxk blwndCBiZSB2ZXJpZmllZCwgcG9zc2libHkgYmVjYXVzZSAnKwoneW91IGNob3NlIG5vdCB0byBp bnN0YWxsIEphdmEgb3IgRW52ZWxvcGUgVG9vbHMuIElmIHlvdVwnZCBsaWtlIHRvICcrCid2ZXJp ZnkgdGhlIGVudmVsb3BlLCBjbG9zZSB5b3VyIGJyb3dzZXIsIHJlb3BlbiB0aGUgYXR0YWNobWVu dCwgJysKJ2FuZCBhZ3JlZSB0byBoYXZlIEphdmEgYW5kL29yIEVudmVsb3BlIFRvb2xzIGluc3Rh bGxlZCBpZiBhc2tlZC4nLAonX05vUGF5bG9hZCc6J1RoaXMgZW52ZWxvcGUgZG9lc25cJ3QgY29u dGFpbiBhIHBheWxvYWQsIHBsZWFzZSAnKwonY29udGFjdCB0aGUgc2VuZGVyIGZvciBhIHJlcGxh Y2VtZW50LicsJ19EZWNQcm9nVGl0bGUnOgonRGVjcnlwdGluZyBwYXlsb2FkLi4uJywnX1N0YXR1 c0RlY0luaXQnOidEZWNyeXB0aW9uIFByb2dyZXNzOiBJbml0aWFsaXppbmcnCiwnX1N0YXR1c0Rl Y1BjdCc6J0RlY3J5cHRpb24gUHJvZ3Jlc3M6ICRbMF0lJywnX1ByZXBhcmluZyc6CidQcmVwYXJp bmcgZW52ZWxvcGUuLi4nLCdfU3RhdHVzUHJlcGFyaW5nJzonUHJlcGFyaW5nIGVudmVsb3BlLi4u JywKJ19TdGF0dXNQcmVwUGN0JzonUHJlcGFyYXRpb24gUHJvZ3Jlc3M6ICRbMF0lJywnX0Rpc3Bs YXlDb252JzoKJ0NvbnZlcnRpbmcgcGF5bG9hZCBmb3IgZGlzcGxheS4uLicsJ19TdGF0dXNEaXNw bGF5Q29udic6CidDb252ZXJzaW9uIFByb2dyZXNzOiBJbml0aWFsaXppbmcnLCdfU3RhdHVzRGlz cGxheUNvbnZQY3QnOgonQ29udmVyc2lvbiBQcm9ncmVzczogJFswXSUnLCdfU2F2ZWQxUGF0aCc6 J0ZpbGUgc2F2ZWQgdG8gJFswXScsCidfU2F2ZWRuUGF0aCc6J0ZpbGVzIHNhdmVkIHRvICRbMF0n LCdfU2F2ZWRuRmlsZSc6J09wZW4gJFswXSB0byB2aWV3JywKJ19TdGF0dXNEb25lJzonRG9jdW1l bnQ6IERvbmUnLCdfVG9vbHNMb2FkaW5nJzonTG9hZGluZyBFbnZlbG9wZSBUb29scy4uLicsCidf RXJyb3JCYWRQd2QnOidJbmNvcnJlY3QgcGFzc3dvcmQuIFBsZWFzZSB0cnkgYWdhaW4uJywnX0Vy cm9yUHdkQ2hhbmdlZCc6CidQYXNzd29yZCBjaGFuZ2VkLCByZS1lbnRlci4nLCdfRXJyb3JCYWRQ d2RzJzoKJ1lvdVwndmUgbWFkZSB0b28gbWFueSBpbmNvcnJlY3QgcGFzc3dvcmQgJysKJ2F0dGVt cHRzLiBUaGlzIGVudmVsb3BlIGNhbm5vdCBiZSBvcGVuZWQuJywnX05vVXNlclNlbGVjdGVkJzoK J1lvdSBtdXN0IHNlbGVjdCBhbiBhZGRyZXNzIGZyb20gdGhlIG1lbnUuJywnX05vVXNlckVudGVy ZWQnOgonWW91IG11c3QgZWl0aGVyIHNlbGVjdCBhbiBhZGRyZXNzIGZyb20gJysndGhlIG1lbnUg b3IgZW50ZXIgYW4gYWRkcmVzcy4nLAonX1BsYXRmb3JtSW5jb21wYXRpYmxlJzonVGhpcyBlbnZl bG9wZSBpcyBub3QgY29tcGF0aWJsZSB3aXRoICcrCid5b3VyIHBsYXRmb3JtLid9LHhuPVtdO2Z1 bmN0aW9uIHhyKCl7cmV0dXJuIHhuLmpvaW4oJ18nKX1mdW5jdGlvbiB4dih4ail7eG4KPXhtKHhq KX1mdW5jdGlvbiB4bSh4ail7aWYodHlwZW9mIHhqIT1jbHx8eGo9PScnKXJldHVybltdO3ZhciBk PXhqLnNwbGl0KCdfJwopO2lmKGQubGVuZ3RoPjMpZC5sZW5ndGg9MztyZXR1cm4gZH1mdW5jdGlv biBzcyhkeix4bCl7cmV0dXJuIHhvKGR6LHhsLApnZXRMb2NhbGUoKSxhcmd1bWVudHMsMil9ZnVu Y3Rpb24geHMoZHoseGwseGope3ZhciBiZz10eXBlb2YgeGo7aWYoYmc9PXV2KXhqCj1nZXRMb2Nh bGUoKTtlbHNlIGlmKGJnPT1jbCl4aj14bSh4aik7cmV0dXJuIHhvKGR6LHhsLHhqLGFyZ3VtZW50 cywzKX0KZnVuY3Rpb24geG8oZHoseGwseGosZHIsYW0pe3ZhciBhLGJ3PVt4cSx1c2VyVGV4dF0s ZD11c2VyVGV4dDtmb3IoYT0wO2E8eGouCmxlbmd0aDthKyspe2lmKHR5cGVvZihkPWRbeGpbYV1d KSE9YnEpYnJlYWs7YndbYncubGVuZ3RoXT1kfWZvcihhPWJ3Lmxlbmd0aAotMTthPj0wO2EtLSlp Zih0eXBlb2YoZD1id1thXVtkel0pPT1jbClicmVhaztpZih0eXBlb2YgZCE9Y2wpZD10eXBlb2Yg eGw9PWNsCj94bDonJztyZXR1cm4geHAoZCxkcixhbSl9ZnVuY3Rpb24geHQoeGspe3JldHVybiB4 cCh4ayxhcmd1bWVudHMsMSl9ZnVuY3Rpb24KeHAoeGssZHIsYW0pe3ZhciB4dT0vXHgyNFxbKFxk KylcXS8sZ2s7Ync9Jyc7d2hpbGUoKGdrPXh1LmV4ZWMoeGspKSl7aWYoZ2suCmluZGV4KWJ3Kz14 ay5zdWJzdHIoMCxnay5pbmRleCk7YT0rZ2tbMV0rYW07aWYodHlwZW9mIGRyW2FdIT11dilidys9 ZHJbYV07eGsKPXhrLnN1YnN0cihnay5pbmRleCtna1swXS5sZW5ndGgpfXJldHVybiBidyt4a316 bj1nZXRUZXh0PXNzOwpnZXRMb2NhbGl6ZWRUZXh0PXhzO2dldExvY2FsZT14cjtzZXRMb2NhbGU9 eHY7aW50ZXJwb2xhdGVUZXh0PXh0OwonJFNlcmlhbDogNDE4NiAkICRSZXZpc2lvbjogMS40ICQn O2Z1bmN0aW9uIGtnKHloLHlqKXt2YXIgeWcseWkseWs7Zm9yKHlnIGluCnlqKXt5aT10eXBlb2Yg eWhbeWddO3lrPXR5cGVvZiB5alt5Z107aWYoeWk9PXV2fHwoKHlpPT1icSleKHlrPT1icSkpKXlo W3lnXT0KeWpbeWddO2Vsc2UgaWYoeWk9PWJxJiZ5az09YnEpa2coeWhbeWddLHlqW3lnXSl9cmV0 dXJuIHlofQonJFNlcmlhbDogMDIzMCAkICRSZXZpc2lvbjogMS4xOCAkJzt2YXIgc2w9MSxzbT0y LGFjaD04LHplPTE2LHl5PTMyLGFhZD02NCwKemY9MTI4LGFiaj0yNTYsYWJiPTUxMixhY2o9MTAy NCxhY2c9MjA0OCxhY2k9NDA5NixhY3I9ODE5MixqcD0wLGp1PTEsanI9MixqdAo9MyxqcT00LGly PTUsanM9Nixqbz03LGFicT0xLGFjZD0yLGFjZj00LGFjdD04LGFjcz0xNixhY3U9MzIsYWN3PTEs YWN2PTIsYWNsCj0zLGFjaz00LGFjZT0xLGpoPTAsaXE9MHxhY2Usamo9MnxhY2Usams9NHxhY2Us amk9OHxhY2UsaWg9MTZ8YWNlLGFidD17CidoYXNoJzonU0hBMScsJ2tleVNlcnZlcktleUhhc2gn OidTSEExJywnZW5jcnlwdGlvbic6eydrZXlzJzonQVJDNCcsJ2RhdGEnOgonQVJDNCd9LCd2ZXJp ZmljYXRpb24nOnsna2V5cyc6J0NSQzMyJywnZGF0YSc6J0NSQzMyJ319LGFidT17J3Rvb2xzJzpx aiwKJ3Nlc3Npb25LZXknOnFpLCd1c2VyS2V5JzpxaywnYmFkUGFzc3dvcmRDb3VudCc6cWYsJ2hh cmRlbmVyJzpxZywKJ3ByZWZlcmVuY2VzJzpxaH0sYWNtPVsnV21Wd2NHVnNhVzRnY25Wc1pYTWgn XTtQRkxBR19DQUNIRV9TRVNTSU9OX0tFWT16ZTsKUEZMQUdfQVVUT19PUEVOPXl5O1BGTEFHX0NB Q0hFX1VTRVJfS0VZPWFhZDtQRkxBR19FTkNSWVBUX0NBQ0hFRF9TRVNTSU9OX0tFWQo9emY7UEZM QUdfQUxMT1dfVVNJTkdfT05MSU5FX09QRU5FUj1hYmo7UEZMQUdfT1BFTl9SRVFVSVJFU19BUFBM RVQ9YWJiOwpQRkxBR19TVVBQUkVTU19BUFBMRVRfRk9SX09QRU49YWNqO1BGTEFHX0xBVU5DSF9J Tl9TQU1FX1dJTkRPVz1hY2c7ClBGTEFHX1JFTUVNQkVSX01FPWFjaTtQRkxBR19VU0VfQlJPV1NF Uj1hY3I7QUNUSU9OX09QRU49amg7QUNUSU9OX1NBVkU9aXE7CkFDVElPTl9WRVJJRllfUE9TVE1B Uks9amo7QUNUSU9OX1ZFUklGWV9TSUdOQVRVUkU9ams7QUNUSU9OX1NBVkVfT05FX0ZJTEU9amkK O0FDVElPTl9BVVRIRU5USUNBVEVfQU5EX09QRU49aWg7CickU2VyaWFsOiAzNDkyICQgJFJldmlz aW9uOiAxLjYgJCc7ZnVuY3Rpb24gYWZpKGR6KXt2YXIgYWZvPTEsYWZqPTAsYWZnPXt9OwpmdW5j dGlvbiBhZnAoZHosbHYpe3JldHVybiBmdW5jdGlvbihhZmYpe3JldHVybiBsdihkeixhZmYpfX1m dW5jdGlvbiBhZnEoYWZyCil7dmFyIGFmaD1hZmkuYWxsUHJlZnMsYmQsYWZrO2lmKCFkenx8IShi ZD1jbihrZChkeikpKXx8K2JkLmNoYXJBdCgwKSE9YWZvKQpiZD0nJztiZD1iZC5zcGxpdCgnLCcp O3ZhciBhLGU9YmQubGVuZ3RoLGQsYmc7Zm9yKGE9MTthPGU7YSsrKXtkPWJkW2FdLnNwbGl0Cign PScpO2lmKCEoYWZrPWFmaFtkWzBdXSkpe2JnPWRbMF0uc3Vic3RyKDEsMSkudG9Mb3dlckNhc2Uo KStkWzBdLnN1YnN0cigyKTsKaWYoIShhZms9YWZoW2JnXSkpY29udGludWU7ZFswXT1iZ31zd2l0 Y2goYWZrKXtjYXNlJ0InOmRbMV09ZC5sZW5ndGg9PTE/MTorZApbMV0/MTowO2JyZWFrO2Nhc2Un SSc6aWYoaXNOYU4oZFsxXT1wYXJzZUludChkWzFdKSkpZFsxXT0wfWFmZ1tkWzBdXT1kWzFdfQp2 YXIgbHY7Zm9yKGEgaW4gYWZoKXtzd2l0Y2goYWZoW2FdKXtjYXNlJ0InOmx2PWFmbTticmVhaztj YXNlJ0knOmx2PWFmbjsKYnJlYWt9YWZyW2FdPWFmcChhLGx2KX19dGhpcy5wcmVmPWZ1bmN0aW9u KGR6LGFmZil7dmFyIGJnPWFmaS5hbGxQcmVmc1tkel07CmlmKCFiZyl0aHJvdyBuZXcgYWZzKCdV bmtub3duIHByZWZlcmVuY2UgIicrZHorJyInKTtzd2l0Y2goYmcpe2Nhc2UnQic6CnJldHVybiBh Zm0oZHosYWZmKTtjYXNlJ0knOnJldHVybiBhZm4oZHosYWZmKX19O3RoaXMubW9kaWZpZWQ9ZnVu Y3Rpb24oKXsKcmV0dXJuIHRoaXMubW9kZGVkfTtmdW5jdGlvbiBhZm0oZHosYWZmKXtpZihhZmYh PXVuZGVmaW5lZClhZmY9K2FmZj8xOjA7aWYoIQphZmdbZHpdKWFmZ1tkel09MDtyZXR1cm4gY2co ZHosYWZmKT8xOjB9ZnVuY3Rpb24gYWZuKGR6LGFmZil7aWYoYWZmIT0KdW5kZWZpbmVkKWlmKGlz TmFOKGFmZj1wYXJzZUludChhZmYpKSlhZmY9MDtpZighYWZnW2R6XSlhZmdbZHpdPTA7cmV0dXJu IGNnKApkeixhZmYpfWZ1bmN0aW9uIGNnKGR6LGFmZil7dmFyIGFmbD1hZmdbZHpdO2lmKGFmZiE9 dW5kZWZpbmVkJiZhZmYhPWFmbCl7YWZnCltkel09YWZmO2Fmaj0xfXJldHVybiBhZmx9dGhpcy5z YXZlPWZ1bmN0aW9uKHFsLHFuLHFtLHFzKXtpZihhZmope3ZhciBhZmg9CmFmaS5hbGxQcmVmcyxk ZCxmLGJkPWFmZyxkPScnO2ZvcihkZCBpbiBiZCl7Zj1iZFtkZF07c3dpdGNoKGFmaFtkZF0pe2Nh c2UnQicKOmlmKCFmKWNvbnRpbnVlO2Y9Jyc7YnJlYWs7Y2FzZSdJJzppZighZiljb250aW51ZTtm PSc9JytmO2JyZWFrO2RlZmF1bHQ6CmNvbnRpbnVlfWQrPScsJytkZCtmfWlmKGQpamYoZHosY28o YWZvK2QpLHFsLHFuLHFtLHFzKTtlbHNlIHFyKGR6LHFuLHFtKTthZmoKPTB9fTthZnEodGhpcyl9 YWZpLmFsbFByZWZzPXsnaWdub3JlQXBwbGV0SW1hZ2UnOidCJywKJ2lnbm9yZUFwcGxldEltYWdl QWx3YXlzJzonQicsJ2ZvcmNlQXBwbGV0UmVsb2FkJzonQicsCidmb3JjZUFwcGxldFJlbG9hZEFs d2F5cyc6J0InLCdhcHBsZXREZWJ1Z0xldmVsJzonSScsCidhcHBsZXREZWJ1Z0xldmVsQWx3YXlz JzonSSd9O3ZhciBobD1uZXcgYWZpKHFjKSxnUHJlZnM9aGw7CickU2VyaWFsOiA2Mzk0ICQgJFJl dmlzaW9uOiAxLjIwICQnO3ZhciBmYz0xLGV2PTIsZXg9MyxmYj00LGZkPTUsZmE9Nixlej03LApl eT04LGV3PTksZXU9MTAsZXI9LTEsZ2M9MSxmZz0yLGZsPTMsZ2E9NCxmaj01LGZxPTYsZ2I9Nyxm bz04LGZuPTksZ2Q9MTAsZm09CjExLGZmPTEyLGZlPTEzLGZpPTE0LGZ1PTE1LGZ0PTE2LGZ5PTE3 LGZ6PTE4LGZ3PTE5LGZoPTIwLGZ4PTIxLGZrPTIyLGZyPTIzLApmcz0yNSxmdj0yNixmcD0yNyxS UENfRkxBR19ORUVEX1NFU1NJT05fS0VZPTEsZXQ9MSxlcz0yO3IxPQpSUENfU1RBVEVfVklFV0lO R19FTlZFTE9QRT1mYztyMj1SUENfU1RBVEVfT1BFTklOR19FTlZFTE9QRT1ldjtyMz0KUlBDX1NU QVRFX1NBVklOR19FTlZFTE9QRT1leDtyND1SUENfU1RBVEVfVkVSSUZZSU5HX0VOVkVMT1BFPWZi O3I1PQpSUENfU1RBVEVfVklFV0lOR19QQVlMT0FEPWZkO3I2PVJQQ19TVEFURV9WRVJJRklFRF9F TlZFTE9QRV9TVUNDRVNTPWZhO3I3PQpSUENfU1RBVEVfVkVSSUZJRURfRU5WRUxPUEVfRkFJTFVS RT1lejtSUENfU1RBVEVfU0VMRUNUSU5HX1JFQ0lQSUVOVD1leTsKUlBDX1NUQVRFX1BPTExfUkVT VUxUPWV3O1JQQ19TVEFURV9FQ0hPPWV1O3JoPVJQQ19TVEFUVVNfTk9fU0VSVkVSPWVyO3JpPQpS UENfU1RBVFVTX1ZBTElEPWdjO3JqPVJQQ19TVEFUVVNfQkFEX1BBU1NXT1JEPWZnO3JrPQpSUENf U1RBVFVTX01BTEZPUk1FRF9SRVFVRVNUPWZsO3JsPVJQQ19TVEFUVVNfU0VSVkVSX0VSUk9SPWdh O3JtPQpSUENfU1RBVFVTX0VYUElSRUQ9Zmo7cm49UlBDX1NUQVRVU19QRVJNQU5FTlRfTE9DS0VE PWZxO3JvPQpSUENfU1RBVFVTX1RFTVBPUkFSWV9MT0NLRUQ9Z2I7cnA9UlBDX1NUQVRVU19OT19S RUNPUkRfRk9VTkQ9Zm87cnE9ClJQQ19TVEFUVVNfTk9fTE9HSU5fU0VTU0lPTj1mbjtycz1SUENf U1RBVFVTX05PVF9SRUdJU1RFUkVEPWZtOwpSUENfU1RBVFVTX0FVVEhFTlRJQ0FUSU9OX0ZBSUxF RD1mZjtSUENfU1RBVFVTX0FDQ0VTU0NIRUNLX0ZBSUxFRD1mZTsKUlBDX1NUQVRVU19FWENFRURf TUFYX0ZBSUxFRF9PUEVOUz1maTsKUlBDX1NUQVRVU19SRUNJUElFTlRfSURFTlRJRklFRF9OT19B VVRIX1JFUVVJUkVEPWZ1OwpSUENfU1RBVFVTX1JFQ0lQSUVOVF9JREVOVElGSUVEX0FVVEhfUkVR VUlSRUQ9ZnQ7ClJQQ19TVEFUVVNfUkVDSVBJRU5UX05PVF9TRU5UX0VOVkVMT1BFPWZ5O1JQQ19T VEFUVVNfUkVDSVBJRU5UX1NVU1BFTkRFRD1mejsKUlBDX1NUQVRVU19SRUNJUElFTlRfTk9UX0FD VElWQVRFRD1mdztSUENfU1RBVFVTX0VOVkVMT1BFX0xPQ0tFRD1maDsKUlBDX1NUQVRVU19SRUNJ UElFTlRfTk9UX0lERU5USUZJRUQ9Zng7UlBDX1NUQVRVU19JTlZBTElEX1NFU1NJT049Zms7ClJQ Q19TVEFUVVNfUE9MTF9GQUlMRUQ9ZnI7UlBDX1NUQVRVU19SRUNJUElFTlRfQkxPQ0tFRD1mczsK UlBDX1NUQVRVU19SRUNJUElFTlRfTE9DS0VEPWZ2O1JQQ19TVEFUVVNfUEFTU1dPUkRfRVhQSVJF RD1mcDsKUlBDX1NPVVJDRV9FTlZFTE9QRT1ldDtSUENfU09VUkNFX0FVVEhfRlJBTUU9ZXM7Cick U2VyaWFsOiAzMTY5ICQgJFJldmlzaW9uOiAxLjgyLjguMS4yMi4xICQnO3ZhciBodSxhYXc9MCxh YXA9MCx1dTtmdW5jdGlvbgphYnooc3YsYWJvLGFibixhY3EsYWNwLGFidixkcil7c3Y9ZG9jdW1l bnQuZm9ybXNbc3ZdO3ZhciBhYXEsaGo9eydjaHVua2VkJzoKYXJndW1lbnRzLmxlbmd0aD4zLCdh cmdzJzpkciwnY29tcGxldGlvblNjcmlwdCc6YWJ2LCdmb3JtJzpzdiwKJ2Zvcm1FbGVtZW50TmFt ZSc6YWJvfTtpZihhYm4mJihhYXE9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoYWJuKSkmJihhYXE9 YWFxLgppbm5lckhUTUwpJiYoaGouZGF0YT1hYXEubWF0Y2goL2Q9KFteIiZdKykvZykpKXtoai5p bmRleD0wO2hqLm1heER1cmF0aW9uPQoxMDAwO2hqLnByb2dyZXNzU3RhdGU9MDtoai50aW1lT3V0 PWlzPzEyNToxO2lmKGhqLmNodW5rZWQpe2h1PWhqO3NldFRpbWVvdXQoCiJhYmUoaHUpIixoai50 aW1lT3V0KX1lbHNlIGFiZShoail9ZWxzZSBpZihzdiYmKGFhcT1zdlthYm9dLnZhbHVlKSl7aGou ZGF0YT0KYWFxO2hqLnByb2dyZXNzU3RhdGU9LTE7YWJnKGhqKX1lbHNlIGFsZXJ0KHNzKCdfTm9Q YXlsb2FkJykpfWZ1bmN0aW9uIGFiZShoagope3ZhciBjYz1oai5kYXRhLGE9aGouaW5kZXgsZT1j Yy5sZW5ndGgsYWJoLGFhYj1oai5jaHVua2VkP25ldyBEYXRlKCkuCmdldFRpbWUoKStoai5tYXhE dXJhdGlvbjowO2Rve2NjW2FdPWNjW2FdLnJlcGxhY2UoL1tcblxyXHQgXSsvZywnJyk7Y2NbYV09 amcKKGNjW2FdLnN1YnN0cigyKSwxKTtpZihqeHx8dmYpe2lmKChhYmg9Y2NbYV0uc2VhcmNoKC9b XlxyXG5dLykpPjApe2NjW2FdPWNjWwphXS5zdWJzdHIoYWJoKTtpZihhPjAmJihwcT1jY1thLTFd Lmxlbmd0aCk+MCYmY2NbYS0xXS5jaGFyQXQocHEtMSk9PSdcXCcpY2NbCmEtMV09Y2NbYS0xXS5z dWJzdHJpbmcoMCxwcS0xKX1jY1thXT1jY1thXS5yZXBsYWNlKC9cXFtcblxyXSsvZywnJyl9YSsr fQp3aGlsZShhPGUmJighYWFifHxuZXcgRGF0ZSgpLmdldFRpbWUoKTxhYWIpKTt2YXIgYWF1PWEv ZTtzd2l0Y2goaGouCnByb2dyZXNzU3RhdGUpe2Nhc2UgMDppZihhYXU+LjN8fCFoai5hcmdzfHwh aGouYXJncy5wcm9ncmVzc0ZuKXtoai4KcHJvZ3Jlc3NTdGF0ZT0tMTticmVha31oai5hcmdzLnBy b2dyZXNzRm4oJ3N0YXJ0Jyxoai5hcmdzLnByb2dyZXNzQXJncyk7aGouCnByb2dyZXNzU3RhdGU9 MTtjYXNlIDE6aGouYXJncy5wcm9ncmVzc0ZuKGFhdSxoai5hcmdzLnByb2dyZXNzQXJncyk7YnJl YWt9aWYKKGE9PWUpe2hqLmRhdGE9Y2M9Y2Muam9pbignJyk7aWYoaGouZm9ybSYmaGouZm9ybUVs ZW1lbnROYW1lKWhqLmZvcm1baGouCmZvcm1FbGVtZW50TmFtZV0udmFsdWU9Y2M7aWYoaGouY2h1 bmtlZClzZXRUaW1lb3V0KCJhYmcoaHUpIixoai50aW1lT3V0KTsKZWxzZSBhYmcoaGopfWVsc2V7 aGouaW5kZXg9YTtzZXRUaW1lb3V0KCJhYmUoaHUpIixoai50aW1lT3V0KX19ZnVuY3Rpb24gYWJn KApoail7dmFyIHN2PWhqLmZvcm07aWYoaGoucHJvZ3Jlc3NTdGF0ZSYmaGouYXJncyYmaGouYXJn cy5wcm9ncmVzc0ZuKWhqLmFyZ3MuCnByb2dyZXNzRm4oJ2NsZWFyJyxoai5hcmdzLnByb2dyZXNz QXJncyk7aWYoaGouY2h1bmtlZClodT0wO2V2YWwoJ3dpbmRvdy4nKwoicGF5bG9hZCIrJz0nK2hq LmRhdGEpO3ZhciBoaz1wYXlsb2FkO2lmKHN2KXtoay5mb3JtPXsnYWN0aW9uJzpzdi5hY3Rpb24s Cidmb3JtJzpzdn07c3YuYWN0aW9uPSdqYXZhc2NyaXB0OnZvaWQoMCknfWlmKCFoay5zZWdtZW50 cyloay5zZWdtZW50cz1baGsuCmRhdGEubGVuZ3RoLTIsMSwxXTtpZighaGsucmlkKWhrLnJpZD1h Y207ZWxzZSBpZih0eXBlb2YgaGsucmlkPT1jbCloay5yaWQ9Wwpoay5yaWRdO2lmKCFoay5hbGdu YW1lcyloay5hbGduYW1lcz1hYnQ7ZWxzZSBrZyhoay5hbGduYW1lcyxhYnQpO2lmKCFoay4KbWF4 QmFkUGFzc3dvcmRzKWhrLm1heEJhZFBhc3N3b3Jkcz0wO2lmKCFoay5wcm9ncmVzc3JhdGlvKXtp Zihoay5hbGduYW1lcy4KZW5jcnlwdGlvbi5kYXRhPT0nQUVTJyloay5wcm9ncmVzc3JhdGlvPS43 O2Vsc2UgaGsucHJvZ3Jlc3NyYXRpbz0uNH1pZighaGsuCmV4cGlyaWVzKWhrLmV4cGlyaWVzPWFi dTtlbHNlIGtnKGhrLmV4cGlyaWVzLGFidSk7aWYoIWhrLmtleW5hbWUpaGsua2V5bmFtZT0KJ0Rl ZmF1bHQnO2lmKCFoay5zaWdrZXluYW1lKWhrLnNpZ2tleW5hbWU9J0RlZmF1bHQnO2lmKCFoay5m bGFncyloay5mbGFncz0wOwppZighaGsua2V5c2l6ZSloay5rZXlzaXplPTA7aWYoaGsuY3J5cHRD b21wcmVzc2VkKWhrLmZsYWdzfD1zbDtpZihoay4KcGxhaW5Db21wcmVzc2VkKWhrLmZsYWdzfD1z bTtpZihzdi5vcGVuZXJIb3N0JiZzdi5vcGVuZXJIb3N0LnZhbHVlIT0nJyloay4KZmxhZ3N8PWFi ajt2YXIgYSxkPWhrLmFsZ25hbWVzLmVuY3J5cHRpb247aWYoZC5rZXlzPT0nQVJDNCd8fGQuZGF0 YT09J0FSQzQnKQp7aWYoIWhrLmFsZ3BhcmFtcyloay5hbGdwYXJhbXM9e307aWYoIWhrLmFsZ3Bh cmFtcy5lbmNyeXB0aW9uKWhrLmFsZ3BhcmFtcy4KZW5jcnlwdGlvbj17fTtiZz1oay5hbGdwYXJh bXMuZW5jcnlwdGlvbjtmb3IoYSBpbnsna2V5cyc6MCwnZGF0YSc6MH0paWYoZFthXQo9PSdBUkM0 Jyl7aWYoIWJnW2FdKWJnW2FdPXt9O2JnW2FdLmtleXNpemU9aGsua2V5c2l6ZTtiZ1thXS5wcmVy dW49KGhrLmZsYWdzCiZhY2gpIT0wfX1pZihoay5hbGduYW1lcy5lbmNyeXB0aW9uLmtleXM9PSdS U0EnKWhrLmZsYWdzfD1hYmI7aWYoIShoay5mbGFncyYKYWJiKSl7dmFyIGU9aGsudG9jLmxlbmd0 aDtmb3IoYT0wO2E8ZTthKyspaWYoaGsudG9jW2FdW2pxXSZhY2Ype2hrLmZsYWdzfD0KYWJiO2Jy ZWFrfX1pZigoZD14YShoay5tc2dJRCkpKXtpZigoZFswXSYoeGR8anYpKT09eGQpaGsuZmxhZ3N8 PXl5O2Vsc2UgaGsuCmZsYWdzJj1+eXk7aGsuc2VsZWN0ZWRJRD1kWzJdO2lmKGRbMF0manYpaGsu ZW5jcnlwdGVkU2Vzc2lvbktleT1kWzFdO2Vsc2UgaGsKIC5zZXNzaW9uS2V5PWRbMV19aWYoaGsu dXNlcmtleW5hbWUmJihkPXhlKGhrLnVzZXJrZXluYW1lKSkpe2lmKGRbMF0meGQpaGsuCmZsYWdz fD15eTtlbHNlIGhrLmZsYWdzJj1+eXk7aGsudXNlcktleT1kWzFdO2hrLnNlbGVjdGVkSUQ9ZFsy XTtpZihkWzBdJnhpKXsKaWYoaGsuYWxnbmFtZXMua2V5U2VydmVyS2V5SGFzaD09J1NIQTEnKWhr LnVzZXJLZXk9bmV3IFNIQTEoaGsudXNlcktleSwwLDAsCmJnKS5maW5hbGl6ZSgpfWVsc2V7aGsu YWxnbmFtZXMua2V5U2VydmVyS2V5SGFzaD0nU0hBMSd9fWlmKGhqLgpjb21wbGV0aW9uU2NyaXB0 KWV2YWwoaGouY29tcGxldGlvblNjcmlwdCsnOycpfWZ1bmN0aW9uIGFheChoayl7dmFyIGVtPWhr Lgpmb3JtLmZvcm07ZW0uYWN0aW9uPWhrLmZvcm0uYWN0aW9uO2VtLm9uc3VibWl0PScnO2VtLnN1 Ym1pdCgpfWZ1bmN0aW9uIGFjYSgKaGssbSxhYnksaG0sYWFtLHNyLGFicil7aWYoYWF3KXJldHVy biBlbTtnVXNlckFyZz11dT1zcjthYXc9MTtpZihhYW0uCnByb2dyZXNzKWFhbS5wcm9ncmVzcygn Y2xlYXInLHNyKTtpZighYWFtLmNvbXBsZXRpb24pYWFtLmNvbXBsZXRpb249YWJ4O3Zhcgpoaj17 J2Zucyc6YWFtLCdhcmcnOnNyLCdrZXknOmhrLnVzZXJLZXl8fG5ldyBTSEExKG0sMCwwLGJnKS5m aW5hbGl6ZSgpLAonYWN0aW9uJzpobSwncGF5bG9hZCc6aGssJ3RpbWVPdXQnOmlzPzEyNToxLCdk dXJhdGlvbic6YWJ5LCdhcHBsZXRNc2cnOmFiciwKJ2FwcGxldE5hbWUnOmptLCdhcHBsZXRDbGFz cyc6J1Bvc3QnKydYVG9vbHMnfTtpZihoay5hbGduYW1lcy4Ka2V5U2VydmVyS2V5SGFzaD09J3Bs YWluJyloai5wbGFpbktleT1tfHxoay51c2VyS2V5O2h1PWhqO2lmKGhrLmV2ZW50JiZoay4KZXZl bnQuY3RybEtleSYmIWhrLmV2ZW50LmFsdEtleSYmIWhrLmV2ZW50LnNoaWZ0S2V5KWhsLmZvcmNl QXBwbGV0UmVsb2FkKDEpOwpoay5ldmVudD1hY249ZW07aWYoaGsuZW5jcnlwdGVkU2Vzc2lvbktl eSl7dmFyIGFiZj1uZXcgQVJDNChoai5rZXksaGsuCmtleXNpemUsMSkuY3J5cHQoaGsuZW5jcnlw dGVkU2Vzc2lvbktleSk7aWYoIShkPWNuKGFiZikpKXthYW0uZXJyb3Ioc24sc3IpOwpzZSgxKTty ZXR1cm4gZW19aGsuc2Vzc2lvbktleT1kO3ZhciBzdj1kb2N1bWVudC5mb3Jtc1toay5mb3JtLmlu ZGV4XTtpZihzdiYmCnN2LnNlc3Npb25rZXkpc3Yuc2Vzc2lvbmtleS52YWx1ZT1iYi5lbmNvZGVU b1N0cmluZyhkKX1pZighaGsuc2Vzc2lvbktleSYmaGsKIC5oYXJkZW5lcm5hbWUpe2lmKChkPXd3 KGpsK2hrLmhhcmRlbmVybmFtZSkpJiZkWzFdLmxlbmd0aD40KXt2YXIgYWJmPW5ldwpBUkM0KGhq LmtleSxoay5rZXlzaXplLDEpLmNyeXB0KGRbMV0pO2lmKCEoZD1jbihhYmYpKSl7YWFtLmVycm9y KHNuLHNyKTtzZSgxCik7cmV0dXJuIGVtfWhqLmhhcmRlbmVyPWR9fWlmKChoai5hY3Rpb249PWpo fHxoai5hY3Rpb249PWlxKSYmIWhrLnNlc3Npb25LZXkKJiYoaGsuZGF0YVswXT09Jyd8fChoay5o YXJkZW5lcm5hbWUmJiFoai5oYXJkZW5lcikpKXt2YXIgYWNiPWhqLmFjdGlvbj09amg/CmV2OmV4 LGVvPWhrLmhhcmRlbmVybmFtZT9oay5oYXJkZW5lcm5hbWUraGsucmlkWzBdOmhrLm1zZ0lELGFh eT17J3N1Jzpoay4Kc2VsZWN0ZWRJRH07aWYoaGsuY29va2llc0VuYWJsZWQpYWF5LnJtPShoay5m bGFncyZhY2k/MTowKTtpZihoay4Kc2VjdXJlUmVwbHlBbGcpYWF5LnNyYT1oay5zZWN1cmVSZXBs eUFsZztpZighaGsubm9Vc2VyS2V5TmVlZGVkKXt2YXIgYWJtPQp0eXBlb2YgaGoucGxhaW5LZXk9 PXV2LG09YWJtP2hqLmtleTpoai5wbGFpbktleSxhYXQ9Jyc7aWYoaGsucnBjLnRyYWZmaWNLZXkp CnthYXQ9J2FyYzQ6JzttPW5ldyBBUkM0KGhrLnJwYy50cmFmZmljS2V5LDAsMSkuY3J5cHQobSl9 YWF0Kz1hYm0/J3NoYTEnOmhrLgphbGduYW1lcy5rZXlTZXJ2ZXJLZXlIYXNoO2FhdD0nYmFzZTY0 OicrYWF0O2FheS5rPWFhdCsnLCcrYmIuZW5jb2RlVG9TdHJpbmcoCm0pfWVsKGhrLnJwYyxlbyxh Y2IsUlBDX0ZMQUdfTkVFRF9TRVNTSU9OX0tFWSxhY28sYWF5KTtyZXR1cm4gZW19cmV0dXJuIGFi dygKZ2MpfWZ1bmN0aW9uIGFidyhhYmMsZWksbSxhYnMpe3ZhciBoaj1odSxoaz1oai5wYXlsb2Fk O2lmKGFiYyE9Z2Mpe2lmKGhqLmZucwogLnByb2dyZXNzKWhqLmZucy5wcm9ncmVzcygnY2xlYXIn LGhqLmFyZyk7aWYoYWJjPT1mZyYmIWhrLnVzZXJLZXkpaGouZm5zLgplcnJvcihzbixoai5hcmcp O2Vsc2UgaGouZm5zLnJwYyhoayxlaSxSUENfRkxBR19ORUVEX1NFU1NJT05fS0VZLGFiYyxoai5h cmcsCmFicyk7c2UoMSk7cmV0dXJuIGVtfWlmKG0pe2lmKGhrLmhhcmRlbmVybmFtZSloai5oYXJk ZW5lcj1tO2Vsc2UgaGsuCnNlc3Npb25LZXk9bX1pZighaGsuaGFyZGVuZXJuYW1lKXt2YXIgenU9 dHlwZW9mIGhqLnBsYWluS2V5IT11dix3bz0oenU/aGouCnBsYWluS2V5OmhqLmtleSk7aWYoaGsu ZmxhZ3MmYWFkKXhmKGhrLnVzZXJrZXluYW1lLGhrLmV4cGlyaWVzLnVzZXJLZXksd28sKCgKaGsu ZmxhZ3MmeXkpP3hkOjApfChoay5zZWxlY3RlZElEP3d4OjApfCh6dT94aTowKSxoay5zZWxlY3Rl ZElEKX1pZihoay4KaGFyZGVuZXJuYW1lJiZoai5oYXJkZW5lcil7aGoudXNlcktleT1oai5rZXk7 aGoua2V5PWhqLmhhcmRlbmVyfXZhciBhYnA9KGhrLgpmbGFncyZhYmIpfHwoaGouYWN0aW9uJmFj ZSk7aWYoKGhqLnVzaW5nQXBwbGV0PWFicCkpe2lmKGl6KXtpZihoay5mbGFncyZhYmopCmFheCho ayk7ZWxzZSBhYW0uZXJyb3IodXIsaGouYXJnKTtyZXR1cm4gZW19aGsucHJvZ3Jlc3NyYXRpbz0x fWlmKGhqLmFjdGlvbgo9PWpoJiZhYnAmJihoay5mbGFncyZhY2opKWFheChoayk7ZWxzZSBzZXRU aW1lb3V0KCJhY2MoKSIsaGoudGltZU91dCk7CnJldHVybiBlbX1mdW5jdGlvbiBhY2MoKXt2YXIg aGo9aHUsaGs9aGoucGF5bG9hZDtpZihoay5hbGduYW1lcy5lbmNyeXB0aW9uLgprZXlzIT0nUlNB JyYmKGhqLmFjdGlvbj09amh8fGhqLmFjdGlvbj09aXEpJiZoay5kYXRhWzBdIT0nJyYmIXNqKCkp cmV0dXJuO2lmCighaGoudXNpbmdBcHBsZXQpe2l1KDApO3JldHVybjt9YWFwPXNldFRpbWVvdXQo InNlKDApIiw1MDAwKTtpZigha2koaGouCmFwcGxldE5hbWUpKXtxcihoai5hcHBsZXROYW1lLCcv Jyk7aGwuZm9yY2VBcHBsZXRSZWxvYWQoMSk7aGwuc2F2ZShoay4KZXhwaXJpZXMucHJlZmVyZW5j ZXMsJy8nKTtpZigoaGsuZmxhZ3MmYWJqKSYmaGouYWN0aW9uPT1qaCl7aWYoY29uZmlybShzcygK J19vbmxpbmVPcHRpb24nKSkpe2FheChoayk7cmV0dXJuO319ZWxzZSBpZihoai5hY3Rpb249PWpq fHxoai5hY3Rpb249PWprKQphbGVydChzcygnX3ZlcmlmeU1zZycpKTtlbHNle3ZhciBycj1oai5h cHBsZXRNc2c7aWYoIXJyKXJyPXNzKCdfYXBwbGV0TXNnJyk7CmFsZXJ0KHJyKX1zZSgxKX19ZnVu Y3Rpb24gc2UocmUpe3ZhciBoaj1odSxoaz1oai5wYXlsb2FkfHwnJztpZihyZSlodT0wOwpjbGVh clRpbWVvdXQoYWFwKTthYXA9MDthYXc9MDtoai5rZXk9aGsuc2Vzc2lvbktleT0nJztpZihoaiYm aGouZm5zJiZoai5mbnMuCmZpbmFsaXplKWhqLmZucy5maW5hbGl6ZShyZSxoai5hcmcpfWZ1bmN0 aW9uIGl1KHJlKXtpZihhYXApe2NsZWFyVGltZW91dChhYXAKKTthYXA9MH1hYXc9MTtqZD0xO2lm KHJlIT0wKXtzZSgxKTtyZXR1cm47fXZhciBoaj1odSxoaz1oai5wYXlsb2FkO2lmKGhqLmZucwog LnByb2dyZXNzKWhqLmZucy5wcm9ncmVzcygnc3RhcnQnLGhqLmFyZyk7c2V0VGltZW91dCgic2go KSIsaGoudGltZU91dCl9dmFyCmFhcyxhYXY9MCxhYmk9MSxhYXo9MixhYmE9NDtmdW5jdGlvbiBh Yngoc2Esc2Ysc3Ipe3ZhciBoaj1odSxoaz1oai5wYXlsb2FkLApiZixiZSxhLGU9aGsudG9jLmxl bmd0aCxhYWwsYWFrPScnLHN1PTA7Zm9yKGE9MDthPGU7YSsrKXtiZT1oay50b2NbYV07aWYoYmVb Cmp1XT09YWNrKXtiZj1iZVtqcV0mYWJxP3NhOnNmO2Fhaz1iZi5zdWJzdHIoYmVbaXJdWzBdLGJl W2lyXVsxXSk7YnJlYWt9fWZvcigKYT0wO2E8ZTthKyspe2JlPWhrLnRvY1thXTtiZj1iZVtqcV0m YWJxP3NhOnNmO2JmPWJmLnN1YnN0cihiZVtpcl1bMF0sYmVbaXJdWwoxXSk7aWYoaGouYWN0aW9u PT1qaCYmKGJlW2pxXSZhY2QpKXthYWw9YmY7c3U9YmVbanVdPT1hY2x9fWlmKHR5cGVvZiBhYWw9 PXV2CilyZXR1cm47aGo9YWFzPXsnaW5wdXQnOlthYWwsYWFrXSwnaXNUZXh0Jzpbc3UsZmFsc2Vd LCdjb252ZXJ0JzpbYWF2LGFhdl0sCidpbmRleCc6LTEsJ29mZnNldCc6MCwnYWNjdW0nOltdLCd0 aW1lT3V0Jzpoai50aW1lT3V0LCdkdXJhdGlvbic6aGouZHVyYXRpb24KLCdwYXlsb2FkJzpoaywn dG90YWxMZW4nOjAsJ2N1ckxlbic6MCwncHJvZ3Jlc3NGbic6aGouZm5zLnByb2dyZXNzLCd1c2Vy QXJnJwo6aGouYXJnLCdwcm9ncmVzc1N0YXRlJzowLCduYW1lcyc6eyd0aXRsZSc6WydfRGlzcGxh eUNvbnYnLAonX1N0YXR1c0Rpc3BsYXlDb252J10sJ2NvbXBsZXRlZCc6J19TdGF0dXNEaXNwbGF5 Q29udlBjdCd9fTt2YXIgYSxlPWhqLmlucHV0CiAubGVuZ3RoLGFiZCxkO2ZvcihhPTA7YTxlO2Er Kyl7ZD1oai5pbnB1dFthXTtpZihoai5pc1RleHRbYV0paGouY29udmVydFthXQp8PWFiaTthYmQ9 ZC5zdWJzdHIoMCwyKTtpZihhYmQ9PSdcdTAwZmVcdTAwZmYnKWhqLmNvbnZlcnRbYV18PWFhejtl bHNlIGlmKAphYmQ9PSdcdTAwZmZcdTAwZmUnKWhqLmNvbnZlcnRbYV18PWFiYTtpZihoai5jb252 ZXJ0W2FdIT1hYXYpe2hqLnRvdGFsTGVuKz1kCiAubGVuZ3RoO2lmKGhqLmluZGV4PT0tMSloai5p bmRleD1hfX1pZihoai5pbmRleD49MClzZXRUaW1lb3V0KCJhYmsoYWFzKSIsaGoKIC50aW1lT3V0 KTtlbHNlIGFibChoaik7cmV0dXJuJyd9ZnVuY3Rpb24gYWJrKGhqKXt2YXIgYWFuPWhqLmluZGV4 LGNhPWhqLgppbnB1dFthYW5dLGFhcj1oai5jb252ZXJ0W2Fhbl0sYW09aGoub2Zmc2V0LHBxPWNh Lmxlbmd0aDtpZihhbT09MCYmKGFhciZhYXoKfHxhYXImYWJhKSlhbT0yO3ZhciBibSxhYW89Jycs YWFiPW5ldyBEYXRlKCkuZ2V0VGltZSgpK2hqLmR1cmF0aW9uO2Rve2lmKGFhcgomYWF6KWJtPVN0 cmluZy5mcm9tQ2hhckNvZGUoY2EuY2hhckNvZGVBdChhbSsrKTw8OHxjYS5jaGFyQ29kZUF0KGFt KyspKTtlbHNlCmlmKGFhciZhYmEpYm09U3RyaW5nLmZyb21DaGFyQ29kZShjYS5jaGFyQ29kZUF0 KGFtKyspfGNhLmNoYXJDb2RlQXQoYW0rKyk8PDgKKTtlbHNlIGJtPWNhLmNoYXJBdChhbSsrKTtp ZihhYXImYWJpKXtpZihibT09J1x4MjYnKWJtPSdceDI2YW1wOyc7ZWxzZSBpZihibQo9PSdceDNj JylibT0nXHgyNmx0Oyc7ZWxzZSBpZihibT09J1x4M2UnKWJtPSdceDI2Z3Q7J31hYW8rPWJtO2lm KGFhby5sZW5ndGg+CjEwMCl7aGouYWNjdW1baGouYWNjdW0ubGVuZ3RoXT1hYW87YWFvPScnfX13 aGlsZShhbTxwcSYmbmV3IERhdGUoKS5nZXRUaW1lKCkKPGFhYik7aWYoYWFvKXtoai5hY2N1bVto ai5hY2N1bS5sZW5ndGhdPWFhbzthYW89Jyd9aGouY3VyTGVuKz1hbS1oai5vZmZzZXQ7CnZhciBh YXU9aGouY3VyTGVuL2hqLnRvdGFsTGVuO3N3aXRjaChoai5wcm9ncmVzc1N0YXRlKXtjYXNlIDA6 aWYoYWF1Pi4zfHwhaGoKIC5wcm9ncmVzc0ZuKXtoai5wcm9ncmVzc1N0YXRlPS0xO2JyZWFrfWhq LnByb2dyZXNzRm4oJ3N0YXJ0Jyxoai51c2VyQXJnLGhqLgpuYW1lcyk7aGoucHJvZ3Jlc3NTdGF0 ZT0xO2Nhc2UgMTpoai5wcm9ncmVzc0ZuKGFhdSxoai51c2VyQXJnLGhqLm5hbWVzKTsKYnJlYWt9 aWYoYW08cHEpaGoub2Zmc2V0PWFtO2Vsc2V7aGouaW5wdXRbYWFuXT1oai5hY2N1bS5qb2luKCcn KTtoai5hY2N1bS4KbGVuZ3RoPTA7cHE9aGouaW5wdXQubGVuZ3RoO2RvIGFhbisrO3doaWxlKGhq LmNvbnZlcnRbYWFuXT09YWF2JiZhYW48cHEpaWYoCmFhbj09cHEpe3NldFRpbWVvdXQoImFibChh YXMpIixoai50aW1lT3V0KTtyZXR1cm47fWhqLmluZGV4PWFhbjtoai5vZmZzZXQ9MH0Kc2V0VGlt ZW91dCgiYWJrKGFhcykiLGhqLnRpbWVPdXQpfWZ1bmN0aW9uIGFibChoail7YWFzPTA7dmFyIGFh bD1oai5pbnB1dFswXQosYWFrPWhqLmlucHV0WzFdO2lmKGFhayl7dmFyIGhrPWhqLnBheWxvYWQs YT1hYWsuaW5kZXhPZignJFswXScpO2Fhaz14dChhYWssCmFhbCwoaGsuc2VjdXJlTmFtZT9oay5z ZWN1cmVOYW1lOicnKSwoaGsubG9nb3V0VVJMP2hrLmxvZ291dFVSTDonJykpO2lmKGE9PQotMSlh YWs9YWFrKydceDNjaHJceDNlJythYWw7YWFsPWFha31kb2N1bWVudC5vcGVuKCk7ZG9jdW1lbnQu d3JpdGUoYWFsKwonXHgzYyEtLScpO2RvY3VtZW50LndyaXRlKCctLVx4M2UnKTtkb2N1bWVudC5j bG9zZSgpfWZ1bmN0aW9uIGtmKHdlKXt2YXIgaGo9Cmh1LGhrPWhqLnBheWxvYWQ7aWYoaGsuZmxh Z3MmYWNnKXNldFRpbWVvdXQoJ2xvY2F0aW9uLmhyZWYgPSAiJyt3ZS5yZXBsYWNlKAonIicsJ1xc IicpKyciJywxMDApO2Vsc2Ugd2luZG93Lm9wZW4od2UpfXp4PXByb2Nlc3NQYXlsb2FkPWFjYTt6 bT0KaW5pdGlhbGl6ZVBheWxvYWQ9YWJ6O3psPW9wZW5PbmxpbmU9YWF4OwonJFNlcmlhbDogNDcw MCAkICRSZXZpc2lvbjogMS4xNiAkJztmdW5jdGlvbiBzbygpe3ZhciBoaj1odSxoaz1oai5wYXls b2FkLGEsCmQ7dGhpcy5zdGF0ZT1oajt2YXIgZD1oay5zZWdtZW50czt0aGlzLmVuZHM9W2RbMF1d O2ZvcihhPTE7YTxkLmxlbmd0aDthKyspCnRoaXMuZW5kc1thXT10aGlzLmVuZHNbYS0xXStkW2Fd O2lmKGhrLnNlc3Npb25LZXkpe3RoaXMuc2VnbWVudD0xO3RoaXMua2V5PQpoay5zZXNzaW9uS2V5 O3RoaXMuZGF0YUluZGV4PXRoaXMuZW5kc1swXTtpZihoay5mbGFncyZ6ZSl4Yyhoay5tc2dJRCxo ay4KZXhwaXJpZXMuc2Vzc2lvbktleSxoay5zZXNzaW9uS2V5LGhqLmtleSxoay5rZXlzaXplLCgo aGsuZmxhZ3MmeXkpP3hkOjApfCgoCmhrLmZsYWdzJnpmKT9qdjowKXwoKGhrLnNlbGVjdGVkSUQp P3d4OjApLGhrLnNlbGVjdGVkSUQpfWVsc2V7dGhpcy5zZWdtZW50PTAKO3RoaXMua2V5PWhqLmtl eTt0aGlzLmRhdGFJbmRleD0wfXZhciB6dT10eXBlb2YgaGoucGxhaW5LZXkhPXV2LHdvPSh6dT9o ai4KcGxhaW5LZXk6aGoua2V5KTtpZihoay5mbGFncyZhYWQpeGYoaGsudXNlcmtleW5hbWUsaGsu ZXhwaXJpZXMudXNlcktleSx3bywoKApoay5mbGFncyZ5eSk/eGQ6MCl8KChoay5zZWxlY3RlZElE KT93eDowKXwoKHp1KT94aTowKSxoay5zZWxlY3RlZElEKTt0aGlzLgp1c2VyS2V5PWhqLmtleTt0 aGlzLnNraXBQbGFpbj1oai51c2luZ0FwcGxldD8xOjA7dGhpcy5zdHJJbmRleD0wO3RoaXMuCmN1 ck91dEFycmF5PVtdO3RoaXMuY3VyT3V0TGVuPTA7dGhpcy5kYXRhSGFzaD0nJzt0aGlzLmRhdGFI YXNoTGVuPTA7dGhpcy4KaGFzaGVyPTA7dGhpcy5kZWNyeXB0b3JPYmo9MDt0aGlzLnBsYWluVGV4 dD0nJzt0aGlzLmNyeXB0VGV4dD0nJzt0aGlzLgp0b3RhbERvbmU9MDt0aGlzLnRvdGFsQnl0ZXM9 MDt0aGlzLnByb2dyZXNzUmF0aW89aGsucHJvZ3Jlc3NyYXRpbzt0aGlzLgpjdXJTdGF0dXM9YWFh O3RoaXMuc2FsdD1iYi5kZWNvZGVUb1N0cmluZyhoay5zYWx0KTtkPWhrLmRhdGE7Zm9yKGE9MDth PGQuCmxlbmd0aC10aGlzLnNraXBQbGFpbjthKyspdGhpcy50b3RhbEJ5dGVzKz1kW2FdLmxlbmd0 aDt0aGlzLmNvbXBsZXRlZD0KZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5wcm9ncmVzc1JhdGlvKnRo aXMudG90YWxEb25lL3RoaXMudG90YWxCeXRlc307dGhpcy4KZ2V0RGVjcnlwdGVkVGV4dD1mdW5j dGlvbigpe3JldHVybiB0aGlzLmNyeXB0VGV4dH07dGhpcy5nZXREZWNvZGVkVGV4dD0KZnVuY3Rp b24oKXtyZXR1cm4gdGhpcy5wbGFpblRleHR9O3RoaXMuc3RhdHVzPWZ1bmN0aW9uKCl7cmV0dXJu IHRoaXMuCmN1clN0YXR1c307dGhpcy5ydW49ZnVuY3Rpb24oKXt2YXIgaGo9dGhpcy5zdGF0ZSxo az1oai5wYXlsb2FkO2lmKHRoaXMuCmN1clN0YXR1cyE9YWFhJiZ0aGlzLmN1clN0YXR1cyE9enYp cmV0dXJuIDA7dmFyIHpoPWp6PzE6MDt0aGlzLmN1clN0YXR1cz16djsKdmFyIHlsPXRoaXMuc2Vn bWVudCx5cT10aGlzLmVuZHMseW49dGhpcy5kYXRhSW5kZXgseXc9aGsuZGF0YVt5bl0seXI9eXcu Cmxlbmd0aCx5cD10aGlzLmN1ck91dEFycmF5LHl0PXRoaXMuY3VyT3V0TGVuLHl2PXRoaXMuZGF0 YUhhc2gseXo9dGhpcy4KZGF0YUhhc2hMZW4seXg9dGhpcy5oYXNoZXIseW09dGhpcy5zdHJJbmRl eCx6Yj10aGlzLmRlY3J5cHRvck9iaixhYWM9YmIseW89Cm5ldyBBcnJheSgzKSx6YT15bDx5cS5s ZW5ndGgtMSx4Yj0nJyxqYT0wLGFhYj1uZXcgRGF0ZSgpLmdldFRpbWUoKStoai4KZHVyYXRpb24s Ym0sYSxlLHlzLHl1O2Rve2lmKHltPT0wKXtpZih5bD09MCYmaGsuYWxnbmFtZXMuZW5jcnlwdGlv bi5rZXlzPT0KJ1JTQScpe3ZhciBpYz1oai5hcHBsZXQ7d2hpbGUoeW48eXFbMF0pe2JtPWljLmRl Y3J5cHRSU0EoaGsucmlkWzBdLGhrLgprZXluYW1lLGhrLmRhdGFbeW5dLHRoaXMua2V5KTtpZihi bSlibSs9Jyc7aWYoYm0pYnJlYWs7eW4rK31pZih5bj09eXFbMF0pCnJldHVybiBidCh0aGlzLHNu KTt0aGlzLmtleT1ibTtpZihoay5mbGFncyZ6ZSl4Yyhoay5tc2dJRCxoay5leHBpcmllcy4Kc2Vz c2lvbktleSxibSx0aGlzLnVzZXJLZXksaGsua2V5c2l6ZSwoKGhrLmZsYWdzJnl5KT94ZDowKXwo KGhrLmZsYWdzJnpmKT9qdgo6MCl8KChoay5zZWxlY3RlZElEKT93eDowKSxoay5zZWxlY3RlZElE KTt5bj15cVt5bCsrXX16YT15bDx5cS5sZW5ndGgtMTt5dz0KaGsuZGF0YVt5bl07eXI9eXcubGVu Z3RoO3lwW3l0PTBdPScnO3l2PScnO3l4PXRoaXMuaGFzaGVyPXF6KHlsPT0wLGhrLgphbGduYW1l cy52ZXJpZmljYXRpb24pO3l6PXl4Lmxlbmd0aCgpO2lmKHphKXtpZih5bD09MSl0aGlzLmtleT1u ZXcgU0hBMSh0aGlzCiAua2V5KS5maW5hbGl6ZSgpO3piPXRoaXMuZGVjcnlwdG9yT2JqPXF4KG5l dyBTSEExKHRoaXMua2V5K3RoaXMuc2FsdCkuCmZpbmFsaXplKCkseWw9PTAsaGsuYWxnbmFtZXMu ZW5jcnlwdGlvbixoay5hbGdwYXJhbXMuZW5jcnlwdGlvbil9ZWxzZSB6Yj0KdGhpcy5kZWNyeXB0 b3JPYmo9MH15bz1hYWMuZGVjb2RlVG9BcnJheSh5dy5zdWJzdHIoeW0sNzIpLHlvKTtpZih6YSl5 bz16Yi4KZGVjcnlwdCh5byx5ci15bTw9NzIpO3lzPXlvLmxlbmd0aDt5dT0wO2lmKChlPXl6LXl2 Lmxlbmd0aCk+MCl7aWYoZT55cyllPXlzOwpmb3IoYT0wO2E8ZTthKyspeXYrPVN0cmluZy5mcm9t Q2hhckNvZGUoeW9bYV0pO3l1PWF9aWYoeXU8eXMpe3l4LmRpZ2VzdCh5bywKeXUseXMpO2JtPScn O2ZvcihhPXl1O2E8eXM7YSsrKWJtKz1TdHJpbmcuZnJvbUNoYXJDb2RlKHlvW2FdKTtpZih5cFt5 dF0uCmxlbmd0aD49MTAwKXlwWysreXRdPScnO3lwW3l0XSs9Ym19aWYoeXIteW0+NzIpe2phKz03 Mit6aDt5bSs9NzIremh9ZWxzZXtqYQorPXlyLXltO3ltPXlyfWlmKHltPj15cil7aWYoeXYhPXl4 LmZpbmFsaXplKCkpe2lmKHlsPjApcmV0dXJuIGJ0KHRoaXMsYWFlKX0KZWxzZXt5cC5sZW5ndGg9 eXQrMTtzd2l0Y2goeWwpe2Nhc2UgMDp4Yj15cC5qb2luKCcnKTtpZihoay5mbGFncyZ6ZSl4Yyho ay4KbXNnSUQsaGsuZXhwaXJpZXMuc2Vzc2lvbktleSx4Yix0aGlzLnVzZXJLZXksaGsua2V5c2l6 ZSwoKGhrLmZsYWdzJnl5KT94ZDowKQp8KChoay5mbGFncyZ6Zik/anY6MCl8KChoay5zZWxlY3Rl ZElEKT93eDowKSxoay5zZWxlY3RlZElEKTticmVhaztjYXNlIDE6CnRoaXMuY3J5cHRUZXh0Kz15 cC5qb2luKCcnKTticmVhaztjYXNlIDI6dGhpcy5wbGFpblRleHQrPXlwLmpvaW4oJycpO2JyZWFr fX0KaWYoKyt5bj09eXFbeWxdKXtpZigrK3lsPT15cS5sZW5ndGgtdGhpcy5za2lwUGxhaW4pYnJl YWs7aWYoeWw9PTEpe2lmKHhiPT0nJwopcmV0dXJuIGJ0KHRoaXMsc24pO3RoaXMua2V5PXhifX15 bT0wfX13aGlsZSh5bD09MHx8bmV3IERhdGUoKS5nZXRUaW1lKCk8YWFiCik7dGhpcy5zZWdtZW50 PXlsO3RoaXMuY3VyT3V0TGVuPXl0O3RoaXMuc3RySW5kZXg9eW07dGhpcy5kYXRhSW5kZXg9eW47 dGhpcy4KZGF0YUhhc2g9eXY7dGhpcy5kYXRhSGFzaExlbj15ejt0aGlzLnRvdGFsRG9uZSs9amE7 cmV0dXJuIHRoaXMuc2VnbWVudD09eXEuCmxlbmd0aC10aGlzLnNraXBQbGFpbj9idCh0aGlzLHJ4 KToxfTtmdW5jdGlvbiBidChoeix6Zyl7aHouY3VyU3RhdHVzPXpnO2lmKAp6ZyE9cngpaHouY3J5 cHRUZXh0PWh6LnBsYWluVGV4dD0nJztoei5pbnB1dHM9MDtoei5jdXJPdXRBcnJheT0wO2h6Lgpk ZWNyeXB0b3JPYmo9MDtoei5sb2NhbENSQz0wO2h6LmxvY2FsRGVjb2Rlcj0wO3JldHVybiAwfX0K JyRTZXJpYWw6IDEwNDggJCAkUmV2aXNpb246IDEuNSAkJztmdW5jdGlvbiBhanQoaGosYnkpe3Zh ciBrdixibT1oai5jaHVua3M7CndoaWxlKGJ5Lmxlbmd0aD4oa3Y9aGouY2h1bmtTaXplLWhqLnRh aWxMZW4pKXtibVtoai5jdXJJbmRleCsrXSs9Ynkuc3Vic3RyKDAKLGt2KTtibVtoai5jdXJJbmRl eF09Jyc7aGoudGFpbExlbj0wO2J5PWJ5LnN1YnN0cihrdil9Ym1baGouY3VySW5kZXhdKz1ieTto agogLnRhaWxMZW4rPWJ5Lmxlbmd0aH1mdW5jdGlvbiBha2MoaGosYnUsbGVuZ3RoKXt2YXIgYWFu PWJ1Pj5oai5iaXRzLGNjPScnLApham89aGouY2h1bmtTaXplO2J1PWJ1Jihham8tMSk7d2hpbGUo YnUrbGVuZ3RoPmFqbyl7Y2MrPWhqLmNodW5rc1thYW4rK10uCnN1YnN0cihidSk7bGVuZ3RoLT1h am8tYnU7YnU9MH1yZXR1cm4gY2MraGouY2h1bmtzW2Fhbl0uc3Vic3RyKGJ1LGxlbmd0aCl9CmZ1 bmN0aW9uIGFqcyhhancsYWpyKXt2YXIgYSx5cyxlPWFqdy5sZW5ndGgsYWp2PW5ldyBBcnJheShl KTtmb3IoYT0wO2E8ZTthKysKKWFqdlthXT0wO3ZhciBhanE9MDtmb3IoYT0wO2E8ZTthKyspaWYo KHlzPWFqd1thXSkpe2Fqdlt5c10rKztpZih5cz5hanEpYWpxPQp5c31hanIubGVuZ3RoPWFqcSsx O2ZvcihhPTA7YTxhanErMTthKyspaWYodHlwZW9mIGFqclthXT09YnEpYWpyW2FdLmxlbmd0aD0w CjtlbHNlIGFqclthXT1bXTt2YXIga2w9MCxha2Y9bmV3IEFycmF5KGFqcSsxKTtmb3IoYT0xO2E8 YWpxKzE7YSsrKWFrZlthXT1rbD0KKGtsK2FqdlthLTFdKTw8MTtmb3IoYT0wO2E8ZTthKyspaWYo KHlzPWFqd1thXSkpYWpyW3lzXVtha2ZbeXNdKytdPWF9dmFyIGFqeQo7ZnVuY3Rpb24gc2soYmYs YWtkLGFieSxha2csYWFtLHNyKXt2YXIgYTtpZigoYT1iZi5jaGFyQ29kZUF0KDApKSE9MTIwfHwo YSoKMjU2K2JmLmNoYXJDb2RlQXQoMSkpJTMxKWFhbS5jb21wbGV0aW9uKCk7dmFyIGhqPXsnZGF0 YSc6YmYsJ2ZpbmFsTGVuJzpha2QsCidkdXJhdGlvbic6YWJ5LCdyYXRpbyc6YWtnLCdmbnMnOmFh bSwnYXJnJzpzciwnYml0cyc6OSwndGFpbExlbic6MCwKJ2N1ckluZGV4JzowLCdieXRlSW5kZXgn OjIsJ2JpdENvdW50JzowLCdjdXJCaXRzJzowLCdib3JkZXInOlsxNiwxNywxOCwwLDgsNwosOSw2 LDEwLDUsMTEsNCwxMiwzLDEzLDIsMTQsMSwxNV0sJ2xpdGVyYWxDb2RlQm9vayc6W10sJ2Rpc3Rh bmNlQ29kZUJvb2snOltdCiwnY29tcHJlc3Npb25UeXBlJzotMSwnZmluYWxCbG9jayc6MCwnZGVs YXknOmlzPzEyNToxfTtoai5jaHVua1NpemU9MTw8aGouCmJpdHM7aGouY2h1bmtzPW5ldyBBcnJh eSgoYWtkK2hqLmNodW5rU2l6ZS0xKT4+aGouYml0cyk7aGouY2h1bmtzWzBdPScnO2FrYigKYWp5 PWhqKX1mdW5jdGlvbiBha2IoaGope2lmKGhqLmNvbXByZXNzaW9uVHlwZT09LTEmJmhqLmZpbmFs QmxvY2spe3ZhciBlbT1oagogLmZucy5jb21wbGV0aW9uLGQ9aGouY2h1bmtzLmpvaW4oJycpO2Fq eT1oaj0wO2VtKGQpO3JldHVybjt9dmFyIHh3LGJtLGFqdSwKYWtlLGEsYyxibyxlLGJnLGFqaz1o ai5iaXRDb3VudCxhamw9aGouY3VyQml0cyxham49aGouYnl0ZUluZGV4LGFqcD1oai4KY29tcHJl c3Npb25UeXBlLGJmPWhqLmRhdGEsYWp6PWhqLmxpdGVyYWxDb2RlQm9vayxhang9aGouZGlzdGFu Y2VDb2RlQm9vaywKYWpvPWhqLmNodW5rU2l6ZSxhYWI9aGouZm5zLnByb2dyZXNzP25ldyBEYXRl KCkuZ2V0VGltZSgpK2hqLmR1cmF0aW9uOm5ldwpEYXRlKGJ4KTtkb3tpZihhanA9PS0xKXt2YXIg YWthPVtdLGFqbT1bXTtpZighYWprKXthamw9YmYuY2hhckNvZGVBdChham4rKyk7CmFqaz04fWhq LmZpbmFsQmxvY2s9YWpsJjE7YWpsPj49MTthamstLTtpZihhams8Mil7YWpsfD1iZi5jaGFyQ29k ZUF0KGFqbisrKQo8PGFqazthamsrPTh9YWpwPWFqbCYzO2FqbD4+PTI7YWprLT0yO3N3aXRjaChh anApe2Nhc2UgMDphPWJmLmNoYXJDb2RlQXQoYWpuCikrYmYuY2hhckNvZGVBdChham4rMSk8PDg7 YWp0KGhqLGJmLnN1YnN0cihham4rNCxhKSk7YWpuKz1hKzQ7YWprPWFqbD0wOwpicmVhaztjYXNl IDE6YWptLmxlbmd0aD0yODg7YT0wO3doaWxlKGE8MTQ0KWFqbVthKytdPTg7d2hpbGUoYTwyNTYp YWptW2ErK109Cjk7d2hpbGUoYTwyODApYWptW2ErK109Nzt3aGlsZShhPDI4OClham1bYSsrXT04 O2Fqcyhham0sYWp6KTtham0ubGVuZ3RoPTMwOwpmb3IoYT0wO2E8MzA7YSsrKWFqbVthXT01O2Fq cyhham0sYWp4KTticmVhaztjYXNlIDI6aWYoYWprPDUpe2FqbHw9YmYuCmNoYXJDb2RlQXQoYWpu KyspPDxhams7YWprKz04fWFqdT0oYWpsJjMxKSsyNTc7YWpsPj49NTthamstPTU7aWYoYWprPDUp e2FqbAp8PWJmLmNoYXJDb2RlQXQoYWpuKyspPDxhams7YWprKz04fWFrZT0oYWpsJjMxKSsxO2Fq bD4+PTU7YWprLT01O2lmKGFqazw0KXsKYWpsfD1iZi5jaGFyQ29kZUF0KGFqbisrKTw8YWprO2Fq ays9OH1lPShhamwmMTUpKzQ7YWpsPj49NDthamstPTQ7YWptLmxlbmd0aAo9MTk7Zm9yKGE9MDth PDE5O2ErKylham1bYV09MDtibz1oai5ib3JkZXI7Zm9yKGE9MDthPGU7YSsrKXtpZihhams8Myl7 YWpsfD0KYmYuY2hhckNvZGVBdChham4rKyk8PGFqazthamsrPTh9YWptW2JvW2FdXT1hamwmNzth amw+Pj0zO2Fqay09M31hanMoYWptLGFrYQopO2FqbS5sZW5ndGg9ZT1hanUrYWtlO2E9MDt3aGls ZShhPGUpe2JtPWM9MDtkb3tiZz1ha2FbKytjXTtpZighYWprKXthamw9YmYuCmNoYXJDb2RlQXQo YWpuKyspO2Fqaz04fWJtPShibTw8MSl8KGFqbCYxKTthamw+Pj0xO2Fqay09MX13aGlsZSh0eXBl b2YgYmdbYm0KXT09dXYpO2JtPWJnW2JtXTtpZihibTwxNilham1bYSsrXT1ibTtlbHNle3h3PWJt PT0xOD83OmJtLTE0O3doaWxlKGFqazx4dyl7CmFqbHw9YmYuY2hhckNvZGVBdChham4rKyk8PGFq azthamsrPTh9Yz1hKyhhamwmKCgxPDx4dyktMSkpKyhibT09MTg/MTE6Myk7CmFqbD4+PXh3O2Fq ay09eHc7Ym89Ym09PTE2P2FqbVthLTFdOjA7d2hpbGUoYTxjKWFqbVthKytdPWJvfX1hanMoYWpt LnNsaWNlKDAKLGFqdSksYWp6KTthanMoYWptLnNsaWNlKGFqdSksYWp4KTticmVha319aWYoYWpw IT0wKXt3aGlsZShuZXcgRGF0ZSgpLgpnZXRUaW1lKCk8YWFiKXtibT1jPTA7ZG97Ymc9YWp6Wysr Y107aWYoIWFqayl7YWpsPWJmLmNoYXJDb2RlQXQoYWpuKyspO2Fqaz04Cn1ibT0oYm08PDEpfChh amwmMSk7YWpsPj49MTthamstPTF9d2hpbGUodHlwZW9mIGJnW2JtXT09dXYpO2JtPWJnW2JtXTtp ZihibTwKMjU2KXthanQoaGosU3RyaW5nLmZyb21DaGFyQ29kZShibSkpO2NvbnRpbnVlfWlmKGJt PT0yNTYpe2FqcD0tMTticmVha31pZihibQo8MjY1KWE9Ym0tMjU0O2Vsc2UgaWYoYm09PTI4NSlh PTI1ODtlbHNle2JtLT0yNjU7eHc9KGJtPj4yKSsxO2JvPTE8PHh3O3doaWxlCihhams8eHcpe2Fq bHw9YmYuY2hhckNvZGVBdChham4rKyk8PGFqazthamsrPTh9YT0oYm88PDIpKzMrKGJtJjMpKmJv KyhhamwmKApiby0xKSk7YWpsPj49eHc7YWprLT14d31ibT1jPTA7ZG97Ymc9YWp4WysrY107aWYo IWFqayl7YWpsPWJmLmNoYXJDb2RlQXQoCmFqbisrKTthams9OH1ibT0oYm08PDEpfChhamwmMSk7 YWpsPj49MTthamstPTF9d2hpbGUodHlwZW9mIGJnW2JtXT09dXYpO2JtPQpiZ1tibV07aWYoYm08 NClibz1ibSsxO2Vsc2V7eHc9KGJtPj4xKS0xO2JvPTE8PHh3O3doaWxlKGFqazx4dyl7YWpsfD1i Zi4KY2hhckNvZGVBdChham4rKyk8PGFqazthamsrPTh9Yz0oYm88PDEpKzE7aWYoKHh3KzEpKjIh PWJtKWMrPWJvO2JvPWMrKGFqbCYoCmJvLTEpKTthamw+Pj14dzthamstPXh3fWU9aGouY3VySW5k ZXgqYWpvK2hqLnRhaWxMZW47aWYoYT5ibylmb3IoYz0wO2M8YTtjKysKKWFqdChoaixha2MoaGos ZSsrLWJvLDEpKTtlbHNlIGFqdChoaixha2MoaGosZS1ibyxhKSl9fX13aGlsZSghaGouZmluYWxC bG9jawomJm5ldyBEYXRlKCkuZ2V0VGltZSgpPGFhYik7aWYoaGouZm5zLnByb2dyZXNzKWhqLmZu cy5wcm9ncmVzcyhoai5yYXRpbysoMQotaGoucmF0aW8pKihoai5jdXJJbmRleCpham8raGoudGFp bExlbikvaGouZmluYWxMZW4saGouYXJnKTtoai5iaXRDb3VudD1hams7CmhqLmN1ckJpdHM9YWps O2hqLmJ5dGVJbmRleD1ham47aGouY29tcHJlc3Npb25UeXBlPWFqcDtzZXRUaW1lb3V0KCJha2Io YWp5KSIKLGhqLmRlbGF5KX0KJyRTZXJpYWw6IDE2OTkgJCAkUmV2aXNpb246IDEuOCAkJztmdW5j dGlvbiBzaigpe3ZhciBoaj1odSxoaz1oai5wYXlsb2FkLGhxLApyej0wLHN0YXR1cz1yeDtpZiho ay5tYXhCYWRQYXNzd29yZHM+MCYmKGhxPWtkKHFhKSkmJihyej0raHEpPj1oay4KbWF4QmFkUGFz c3dvcmRzKXN0YXR1cz1zZztpZihzdGF0dXM9PXJ4KXtoai5vcGVuZXJPYmo9bmV3IHNvKCk7aWYo IWhqLgpvcGVuZXJPYmoucnVuKCkmJihzdGF0dXM9aGoub3BlbmVyT2JqLnN0YXR1cygpKSE9cngm JmhrLm1heEJhZFBhc3N3b3Jkcz4wKXsKamYocWEsKytyeixoay5leHBpcmllcy5iYWRQYXNzd29y ZENvdW50LCcvJyk7aWYoc3RhdHVzPT1zbiYmcno+PWhrLgptYXhCYWRQYXNzd29yZHMpc3RhdHVz PXNnfX1pZihzdGF0dXMhPXJ4KXtoai5mbnMuZXJyb3Ioc3RhdHVzLGhqLmFyZyk7c2UoMSk7CnJl dHVybiAwfXJldHVybiAxfWZ1bmN0aW9uIHNoKCl7dmFyIGhqPWh1LGhrPWhqLnBheWxvYWQscnc9 aGoub3BlbmVyT2JqLHJ5OwppZighcncpe2lmKCEocnk9c2ooKSkpcmV0dXJuO3J3PWhqLm9wZW5l ck9ian1lbHNlIHJ5PXJ3LnJ1bigpO2lmKHJ5KXtpZihoai4KZm5zLnByb2dyZXNzKWhqLmZucy5w cm9ncmVzcyhydy5jb21wbGV0ZWQoKSxoai5hcmcpO3NldFRpbWVvdXQoInNoKCkiLGhqLgp0aW1l T3V0KTtyZXR1cm47fXZhciBzdGF0dXM9cncuc3RhdHVzKCk7aWYoc3RhdHVzIT1yeCl7aWYoaGou YWN0aW9uPT1pcSloai4KYXBwbGV0LmVuZFNhdmVGaWxlKCk7aGouZm5zLmVycm9yKHN0YXR1cyxo ai5hcmcpO3NlKDEpO3JldHVybjt9aWYoaGsuCmhhcmRlbmVybmFtZSYmaGouaGFyZGVuZXIpc3Ao amwraGsuaGFyZGVuZXJuYW1lLGhrLmV4cGlyaWVzLmhhcmRlbmVyLGhqLgpoYXJkZW5lcixoai51 c2VyS2V5LGhrLmtleXNpemUsanYpO2lmKGhrLm1heEJhZFBhc3N3b3Jkcz4wKXFyKHFhLCcvJyk7 dmFyIHNhCixzZixxbjtoai5jcnlwdERvY3M9aGoub3BlbmVyT2JqLmdldERlY3J5cHRlZFRleHQo KTtoai5wbGFpbkRvY3M9aGouCm9wZW5lck9iai5nZXREZWNvZGVkVGV4dCgpO2hqLm9wZW5lck9i aj0wO2lmKGhrLmZsYWdzJnNsKXNrKGhqLmNyeXB0RG9jcyxoay4KdG9jWzBdW2lyXVsxXSxoai5k dXJhdGlvbixoay5wcm9ncmVzc3JhdGlvLHsncHJvZ3Jlc3MnOmhqLmZucy5wcm9ncmVzcywKJ2Nv bXBsZXRpb24nOnNifSxoai5hcmcpO2Vsc2Ugc2IoaGouY3J5cHREb2NzKX1mdW5jdGlvbiBzYihz YSl7dmFyIGhqPWh1LGhrPQpoai5wYXlsb2FkO2hqLmNyeXB0RG9jcz1zYTtpZihoay5mbGFncyZz bSlzayhoai5wbGFpbkRvY3MsaGsudG9jW2hrLnRvYy4KbGVuZ3RoLTFdW2lyXVsxXSxoai5kdXJh dGlvbixoay5wcm9ncmVzc3JhdGlvLHsncHJvZ3Jlc3MnOmhqLmZucy5wcm9ncmVzcywKJ2NvbXBs ZXRpb24nOnNkfSxoai5hcmcpO2Vsc2Ugc2QoaGoucGxhaW5Eb2NzKX1mdW5jdGlvbiBzZChzZil7 aHUucGxhaW5Eb2NzPQpzZjtzaSgpfWZ1bmN0aW9uIHNpKCl7dmFyIGhqPWh1O2lmKGhqLmZucy5w cm9ncmVzcyl7aGouZm5zLnByb2dyZXNzKCdmaW5pc2gnCixoai5hcmcpO3NldFRpbWVvdXQoInNj KCkiLGhqLnRpbWVPdXQpfWVsc2Ugc2MoKX1mdW5jdGlvbiBzYygpe3ZhciBoaj1odSxxbj0KaGou Zm5zLmNvbXBsZXRpb24oaGouY3J5cHREb2NzLGhqLnBsYWluRG9jcyxoai5hcmcpO2lmKHFuPT0n JylyZXR1cm47aWYocW4mJgpoai5mbnMuc2F2ZWQpaGouZm5zLnNhdmVkKHFuLGhqLnBheWxvYWQu dG9jLmxlbmd0aCk7ZWxzZSBpZihoai5mbnMucHJvZ3Jlc3MpCmhqLmZucy5wcm9ncmVzcygnY2xl YXInLGhqLmFyZyk7c2UoMSl9CickU2VyaWFsOiA1MDI5ICQgJFJldmlzaW9uOiAxLjIzICQnO2Z1 bmN0aW9uIHNxKGR3LHVpLHRzLHRqKXt2YXIgYmU7aWYoZHcmJgpkb2N1bWVudC5nZXRFbGVtZW50 QnlJZCYmKGJlPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGR3KSkpYmUuaW5uZXJIVE1MPXVpOwpl bHNlIGlmKHRzKXtzZWxmLnN0YXR1cz10cztyZXR1cm4gYmd9ZWxzZSBpZih0ailhbGVydCh0aik7 cmV0dXJuIGVtfWZ1bmN0aW9uCnR5KHFuLHViKXtpZih1Yj09MSl7dmFyIGQ9c3MoJ19TYXZlZDFQ YXRoJywnJyxxbik7c3EoJ3Byb2dyZXNzMScsCidceDNjc3BhbiBjbGFzcz1wcm9ncmVzc1x4M2Un K2QrJ1x4M2Mvc3Bhblx4M2UnLCcnLGQpO3NxKCdwcm9ncmVzczInLCcnKX0KZWxzZXt2YXIgY2M9 cW4ubGFzdEluZGV4T2YoJ1xcJyksbWk9cW4ubGFzdEluZGV4T2YoJy8nKSxidz1xbi5sYXN0SW5k ZXhPZigKJzonKTtpZihtaT5jYyljYz1taTtpZihidz5jYyljYz1idzt2YXIgaHk9cW4uc3Vic3Ry KDAsY2MpLHVhPXFuLnN1YnN0cihjYysxKQosZD1zcygnX1NhdmVkblBhdGgnLCcnLGh5KSxiZz1z cygnX1NhdmVkbkZpbGUnLCcnLHVhKTtzcSgncHJvZ3Jlc3MxJywKJ1x4M2NzcGFuIGNsYXNzPXBy b2dyZXNzXHgzZScrZCsnXHgzYy9zcGFuXHgzZScsJycsZCsnXG4nK2JnKTtzcSgncHJvZ3Jlc3My JwosJ1x4M2NzcGFuIGNsYXNzPXByb2dyZXNzXHgzZScrYmcrJ1x4M2Mvc3Bhblx4M2UnLCcnKX19 ZnVuY3Rpb24gdXEocmUsc3Ipe3R0CihyZSxzcix7J3RpdGxlJzpbJ19QcmVwYXJpbmcnLCdfU3Rh dHVzUHJlcGFyaW5nJ10sJ2NvbXBsZXRlZCc6CidfU3RhdHVzUHJlcFBjdCd9KX1mdW5jdGlvbiB0 dChyZSxzcixxdSl7aWYodHlwZW9mIHJlPT1icSlyZT1yZS50b1N0cmluZygpOwppZighc3Ipc3I9 dXU7aWYocmU9PSdjbGVhcicpe3NxKCdwcm9ncmVzczEnLCcnLHNzKCdfU3RhdHVzRG9uZScpKTtz cSgKJ3Byb2dyZXNzMicsJycpO3NxKCdwYXNzTXNnJywnJm5ic3A7Jyk7cmV0dXJuO31pZihyZT09 J3Rvb2xzJyl7dmFyIGQ9c3MoCidfVG9vbHNMb2FkaW5nJyk7c3EoJ3Byb2dyZXNzMScsJ1x4M2Nz cGFuIGNsYXNzPXByb2dyZXNzXHgzZScrZCsKJ1x4M2Mvc3Bhblx4M2UnLGQpO3JldHVybjt9aWYo IXF1KXF1PXsndGl0bGUnOlsnX0RlY1Byb2dUaXRsZScsCidfU3RhdHVzRGVjSW5pdCddLCdjb21w bGV0ZWQnOidfU3RhdHVzRGVjUGN0J307aWYocmU9PSdzdGFydCcpe2lmKHNxKAoncHJvZ3Jlc3Mx JywnXHgzY3NwYW4gY2xhc3M9cHJvZ3Jlc3NceDNlJytzcyhxdS50aXRsZVswXSkrJ1x4M2Mvc3Bh blx4M2UnLHNzCihxdS50aXRsZVsxXSksJycpKXJldHVybjtzcSgncGFzc01zZycsJyZuYnNwOycp O3JlPTB9ZWxzZSBpZihyZT09J2ZpbmlzaCcpewppZihkb2N1bWVudC5sYXllcnMpe3NlbGYuc3Rh dHVzPXNzKCdfU3RhdHVzRG9uZScpO3JldHVybjt9cmU9MTAwfWVsc2V7cmU9Ck1hdGguZmxvb3Io cmUqMTAwKX12YXIgdGM9JyM0MDQwRkYnLHRrPScjNDA0MDQwJztpZih0eXBlb2Ygc3I9PWNsKXRj PXNyO2Vsc2UKaWYodHlwZW9mIHNyPT1icSYmdHlwZW9mIHNyLnByb2dyZXNzQmFyPT1icSl7aWYo c3IucHJvZ3Jlc3NCYXIuYmdDb2xvcil0Yz1zcgogLnByb2dyZXNzQmFyLmJnQ29sb3I7aWYoc3Iu cHJvZ3Jlc3NCYXIuYm9yZGVyQ29sb3IpdGs9c3IucHJvZ3Jlc3NCYXIuCmJvcmRlckNvbG9yfXZh ciBzeT0KJ1x4M2N0YWJsZSBhbGlnbj1jZW50ZXIgY2VsbHBhZGRpbmc9MCBjZWxsc3BhY2luZz0w IGJvcmRlcj0xICcrCidib3JkZXJjb2xvcj0iJyt0aysnIiB3aWR0aD0iODUlIlx4M2UnKydceDNj dHJceDNlJztpZihyZT4wKXN5Kz0KJ1x4M2N0ZCBiZ2NvbG9yPSInK3RjKyciIHdpZHRoPSInK3Jl KyclIlx4M2UmbmJzcDtceDNjL3RkXHgzZSc7aWYocmU8MTAwKXN5Cis9J1x4M2N0ZFx4M2UmbmJz cDtceDNjL3RkXHgzZSc7c3krPSdceDNjL3RyXHgzZVx4M2MvdGFibGVceDNlJztzcSgKJ3Byb2dy ZXNzMicsc3ksc3MocXUuY29tcGxldGVkLCcnLHJlKSl9ZnVuY3Rpb24gdHgoc3RhdHVzLHNyKXtp ZihzdGF0dXM9PXNnKQp7dGgoMCxlbSk7YWxlcnQoc3MoJ19FcnJvckJhZFB3ZHMnKSl9ZWxzZSBp ZihzdGF0dXM9PXVyKXt0aCgwLGVtKTthbGVydChzcygKJ19QbGF0Zm9ybUluY29tcGF0aWJsZScp KX1lbHNle3ZhciBkPXNzKHN0YXR1cz09dXM/J19FcnJvclB3ZENoYW5nZWQnOgonX0Vycm9yQmFk UHdkJyk7c3EoJ3Bhc3NNc2cnLCdceDNjc3BhbiBjbGFzcz1lcnJvclx4M2UnK2QrJ1x4M2Mvc3Bh blx4M2UnLCcnCixkKX1zcSgncHJvZ3Jlc3MxJywnJyxzcygnX1N0YXR1c0RvbmUnKSk7c3EoJ3By b2dyZXNzMicsJycpO3RxKDAsJ2tleTEnKX0KZnVuY3Rpb24gdGgoc3YsdGUpe3ZhciBlbT1kb2N1 bWVudC5mb3Jtc1tzdl0uZWxlbWVudHMsYSxlPWVtLmxlbmd0aDt0ZT0hdGU7CmZvcihhPTA7YTxl O2ErKylpZihlbVthXS50eXBlPT0nc3VibWl0J3x8ZW1bYV0udHlwZT09J2J1dHRvbicpZW1bYV0u ZGlzYWJsZWQKPXRlfXZhciB0bj1mYWxzZTtmdW5jdGlvbiB0cih1Yyl7dG49dWN9ZnVuY3Rpb24g dW0oc3gsdGksc3R5bGUpe3RyKGVtKTtpZighCnRpKXRpPSdfYmxhbmsnO3JldHVybiB3aW5kb3cu b3BlbihzeCx0aSxzdHlsZSl9ZnVuY3Rpb24gdHEoc3Ysc3cpe2lmKHRuJiYKZG9jdW1lbnQuZm9y bXNbc3ZdJiZkb2N1bWVudC5mb3Jtc1tzdl1bc3ddJiZkb2N1bWVudC5mb3Jtc1tzdl1bc3ddLmZv Y3VzKXtpZgooZG9jdW1lbnQuZm9ybXNbc3ZdW3N3XS50eXBlPT0naGlkZGVuJylyZXR1cm47ZG9j dW1lbnQuZm9ybXNbc3ZdW3N3XS5mb2N1cygpCjtpZihkb2N1bWVudC5mb3Jtc1tzdl1bc3ddLnNl bGVjdClkb2N1bWVudC5mb3Jtc1tzdl1bc3ddLnNlbGVjdCgpfX1mdW5jdGlvbgp1aChkdyl7aWYo IWR3KXJldHVybiAwO2lmKGR3Lm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk9PSd0YWJsZScpe3ZhciBh O2ZvcihhPTA7CmE8ZHcuY2hpbGROb2Rlcy5sZW5ndGg7YSsrKWlmKGR3LmNoaWxkTm9kZXNbYV0u bm9kZU5hbWUudG9Mb3dlckNhc2UoKT09Cid0Ym9keScpe2R3PWR3LmNoaWxkTm9kZXNbYV07YnJl YWt9fXJldHVybiBkdy5jbGllbnRXaWR0aHx8ZHcuc2Nyb2xsV2lkdGh8fDAKfWZ1bmN0aW9uIHVn KGR3KXtpZighZHcpcmV0dXJuIDA7cmV0dXJuIGR3LmNsaWVudEhlaWdodHx8ZHcuc2Nyb2xsSGVp Z2h0fHwwfQp0bT17fTtmdW5jdGlvbiBrZShreSl7aWYoIWRvY3VtZW50LmdldEVsZW1lbnRCeUlk KXJldHVybicnO3JldHVybiBkb2N1bWVudC4KZ2V0RWxlbWVudEJ5SWQoa3kpfHx0bVtreV19ZnVu Y3Rpb24gdGwoZHcpe2lmKHR5cGVvZiBkdz09Y2wpZHc9CmdldEVsZW1lbnRCeUlkKGR3KTtpZigh ZHcpcmV0dXJuO3ZhciBkO3RyeXt3aGlsZSgoZD1kdy5maXJzdENoaWxkKSlkdy4KcmVtb3ZlQ2hp bGQoZCl9Y2F0Y2godXQpe2R3LmlubmVySFRNTD0nJ31yZXR1cm4gZHd9ZnVuY3Rpb24gdGIoZHcs c3UsdHope2R3PQp0bChkdyk7aWYoIWR3KXJldHVybjt2YXIgdHA9ZHc7aWYodHope2R3PWRvY3Vt ZW50LmNyZWF0ZUVsZW1lbnQoJ3NwYW4nKTtkdy4Kc2V0QXR0cmlidXRlKCdjbGFzcycsJ2Vycm9y Jyk7dHAuYXBwZW5kQ2hpbGQoZHcpfWlmKHR5cGVvZiBzdT09dXYpc3U9Jyc7aWYoCnN1PT0nJm5i c3A7J3x8c3UuaW5kZXhPZignXHgzY2EgJykhPS0xKWR3LmlubmVySFRNTD1zdTtlbHNlIGR3LmFw cGVuZENoaWxkKApkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShzdSkpO3JldHVybiB0cH1mdW5jdGlv biB1ayh1aix0YSl7dmFyIHRvPQpnZXRFbGVtZW50QnlJZCh1aiksdGY9Z2V0RWxlbWVudEJ5SWQo dGEpO2lmKHRvJiZ0Zil0Zi5wYXJlbnROb2RlLgppbnNlcnRCZWZvcmUodG8sdGYpfWZ1bmN0aW9u IHVvKHRnLHRhKXt2YXIgZDtpZihkPWdldEVsZW1lbnRCeUlkKHRnKSl7dGIoZC4KY2VsbHNbMF0s JycpO3RiKGQuY2VsbHNbMV0sJycpO2lmKHRhKWluc2VydFJvdyh0Zyx0YSk7ZWxzZXt0bVt0Z109 ZDtpZihkLgpwYXJlbnROb2RlKWQucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChkKX19fWZ1bmN0aW9u IHVkKGR5LHVwLGR6LHN0LHN6KXtpZihqeCkKc3o9J3NhZmFyaUJ0bic7ZWxzZSBpZighc3opc3o9 J2J0bic7dmFyIHR2PSdceDNjaW5wdXQgdHlwZT0nKyh1cD8nc3VibWl0JzoKJ2J1dHRvbicpKycg dmFsdWU9IicrZHkrJyIgbmFtZT0nK2R6Kycgb25jbGljaz0iJytzdCsnIiBjbGFzcz0iJytzeisn Ilx4M2UnOwpyZXR1cm4gdHZ9ZnVuY3Rpb24gdWUoZHosc3QsdHcsdWwpe3ZhciBreT1nZW5JZCgn YycpOwpyZXR1cm4nXHgzY3RyXHgzZVx4M2N0ZFx4M2VceDNjcFx4M2VceDNjaW5wdXQgdHlwZT1j aGVja2JveCBuYW1lPScrZHorJyBpZD0nCitreSsodHc/JyBjaGVja2VkJzonJykrKHN0Pycgb25j bGljaz0iJytzdCsnIic6JycpKwonIHN0eWxlPSJ2ZXJ0aWNhbC1hbGlnbjptaWRkbGUiJysnXHgz ZVx4M2NsYWJlbCBmb3I9JytreSsKJyBzdHlsZT0idmVydGljYWwtYWxpZ246bWlkZGxlIicrJ1x4 M2UnK3VsKwonXHgzYy9sYWJlbFx4M2VceDNjL3BceDNlXHgzYy90ZFx4M2VceDNjL3RyXHgzZSd9 ZnVuY3Rpb24gdWYoc3Usc3gsdGQsc3QpewpyZXR1cm4nXHgzY2EgJysnaHJlZj0iJytzeCsnIiAn Kyh0ZD8ndGFyZ2V0PSJfYmxhbmsiICc6JycpKyhzdD8nb25jbGljaz0iJysKc3QrJyIgJzonJykr J1x4M2UnK3N1KydceDNjL2FceDNlJ31mdW5jdGlvbiB0dShkdyxzdSxzeCx0ZCxzdCl7aWYodHlw ZW9mIGR3Cj09Y2wpZHc9Z2V0RWxlbWVudEJ5SWQoZHcpO2lmKCFkdylyZXR1cm47dmFyIGQ7ZHcu YXBwZW5kQ2hpbGQoZG9jdW1lbnQuCmNyZWF0ZUVsZW1lbnQoJ2JyJykpO2Q9ZG9jdW1lbnQuY3Jl YXRlRWxlbWVudCgnYScpO2Quc2V0QXR0cmlidXRlKCdocmVmJyxzeCkKO2lmKHRkKWQuc2V0QXR0 cmlidXRlKCd0YXJnZXQnLCdfYmxhbmsnKTtpZihzdCl7aWYoZC5hZGRFdmVudExpc3RlbmVyKWQu CmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJyxzdCxmYWxzZSk7ZWxzZSBpZihkLmF0dGFjaEV2ZW50 KWQuYXR0YWNoRXZlbnQoCidvbmNsaWNrJyxzdCk7ZWxzZSBkLm9uY2xpY2s9c3R9dGIoZCxzdSk7 ZHcuYXBwZW5kQ2hpbGQoZCl9ZnVuY3Rpb24gdW4oKXt2YXIKZCxsb2NhdGlvbjtpZih3aW5kb3cm JndpbmRvdy5sb2NhdGlvbiYmd2luZG93LmxvY2F0aW9uLnBhdGhuYW1lKWQ9amcod2luZG93Lgps b2NhdGlvbi5wYXRobmFtZSk7ZWxzZSByZXR1cm47bG9jYXRpb249d2luZG93LmxvY2F0aW9uO2lm KGxvY2F0aW9uLnJlbG9hZCkKbG9jYXRpb24ucmVsb2FkKGZhbHNlKTtlbHNlIGlmKGxvY2F0aW9u LnJlcGxhY2UpbG9jYXRpb24ucmVwbGFjZShkKTtlbHNlIGlmKApsb2NhdGlvbi5ocmVmKWxvY2F0 aW9uLmhyZWY9ZH1kaXNwbGF5RXJyb3I9dHg7ZGlzcGxheU1lc3NhZ2U9c3E7CmRpc3BsYXlTYXZl TG9jYXRpb249dHk7c2V0QnV0dG9ucz10aDtzZXRGb2N1c2VkPXRyO29wZW5XaW5kb3c9dW07c2V0 Rm9jdXM9dHEKO3VwZGF0ZVByZXBhcmVQcm9ncmVzcz11cTt1cGRhdGVQcm9ncmVzcz10dDtjbGVh ckNoaWxkcmVuPXRsO3NldElubmVyVGV4dD10Ygo7aW5zZXJ0Um93PXVrO3JlbW92ZVJvdz11bztn ZW5CdXR0b249dWQ7Z2VuQ2hlY2tib3g9dWU7Z2VuTGluaz11ZjsKYWRkTGlua1RvTm9kZT10dTty ZWZyZXNoQnJvd3Nlcj11bjtnZXRFbGVtZW50QnlJZD1rZTtnZXRXaWR0aD11aDtnZXRIZWlnaHQ9 CnVnOwonJFNlcmlhbDogNDI0OCAkICRSZXZpc2lvbjogMS4zMiAkJzt2YXIgd2Y9MSx3Zz0yO2Z1 bmN0aW9uIHdpKHZyLHdiLHdjLHZ0LHZ2Cil7aWYoIXZyLmZsYWdzKXZyLmZsYWdzPTA7aWYodnIu ZmxhZ3Mmd2Ype3ZyLmRhdGE9d24odnIuZGF0YSk7dnIuZmxhZ3MmPX53Zn0KdmFyIHZ5PXZyLnBh bGV0dGUsa289dnIud2lkdGgsb2w9dnIuaGVpZ2h0LGEsYmQsZCx3bT10eXBlb2YgdnIudHJhbnNw YXJlbnQ9PQp1dj8tMTp2ci50cmFuc3BhcmVudDt2dj12dj8xOjA7aWYoIXZ0fHx2dDwxKXZ0PTEr dnY7ZWxzZSB2dD1NYXRoLmZsb29yKHZ0KSsKdnY7aWYoISh2ci5mbGFncyZ3Zykpe3ZhciB3aj1b MCwnJywnJ10sbj1bMCwwLDBdLGMsZT12eS5sZW5ndGg7Zm9yKGE9MDthPGU7CmErKyl7YmQ9dnlb YV07aWYodHlwZW9mIGJkIT1icSl7blswXT1iZDtuWzFdPW5bMl09Jyd9ZWxzZXtmb3IoYz0wO2M8 YmQuCmxlbmd0aDtjKyspbltjXT13altjXT1iZFtjXTtmb3IoO2M8MztjKyspbltjXT13altjXX1p ZihuWzFdKW5bMV09Cicgb25Nb3VzZU92ZXI9IicrblsxXSsnIic7aWYoblsyXSluWzJdPScgb25N b3VzZU91dD0iJytuWzJdKyciJztpZihhPT13bSluWzAKXT0nJzt2eVthXT1bblswXSxuWzFdK25b Ml1dfXZyLmZsYWdzfD13Z312YXIgd2Q9dnIuZGF0YS5zcGxpdCgnICcpLHdoPXdkLgpsZW5ndGgs dnM9bmV3IEFycmF5KHdoKSx2ej0wO3ZzW3Z6KytdPQonXHgzY3NwYW4gc3R5bGU9ImRpc3BsYXk6 YmxvY2s7cG9zaXRpb246cmVsYXRpdmU7d2lkdGg6Jysoa28qdnQtdnYpKwoncHg7aGVpZ2h0Oicr KG9sKnZ0LXZ2KSsncHg7Zm9udC1zaXplOjA7bGluZS1oZWlnaHQ6MCJceDNlXG4nO3ZhciBocz1u ZXcKQXJyYXkob2wpO2ZvcihhPTA7YTxvbDthKyspaHNbYV09bmV3IEFycmF5KGtvKTt2YXIgdnc9 MCxiPTAsdngsdnUsZ2ssZyxndyxhcAosYXE7Zm9yKGE9MDthPHdoO2ErKyl7aWYod2RbYV09PSct Jyl7aHNbYisrXT0wO3Z3PTA7Y29udGludWV9Z2s9aHNbYl07d2hpbGUoCmdrW3Z3XSl2dysrO3Z4 PXdkW2FdLnNwbGl0KCc6Jyk7aWYodngubGVuZ3RoPT0xKXtiZD12eVsrdnhdO3Z1PVsxLDFdfWVs c2V7YmQKPXZ5Wyt2eFsxXV07dnU9dnhbMF0uc3BsaXQoJ3gnKTt2dVswXT12dVswXT09Jyc/a28t dnc6K3Z1WzBdO3Z1WzFdPXZ1WzFdPT0nJwo/b2wtYjordnVbMV19aWYoYmRbMF18fGJkWzFdKXtk PSdceDNjc3BhbiBzdHlsZT0icG9zaXRpb246YWJzb2x1dGU7dG9wOicrYioKdnQrJ3B4O2xlZnQ6 Jyt2dyp2dCsncHg7aGVpZ2h0OicrKHZ1WzFdKnZ0LXZ2KSsncHgnO2lmKGJkWzBdKWQrPQonO2Jv cmRlci1sZWZ0OicrKHZ1WzBdKnZ0LXZ2KSsncHggc29saWQgIycrYmRbMF07dnNbdnorK109ZCsn IicrYmRbMV0rCidceDNlXHgzYy9zcGFuXHgzZVxuJ31pZih2dVsxXT4xKXtnPXZ3K3Z1WzBdO2d3 PWIrdnVbMV07Zm9yKGFxPWIrMTthcTxndzsKYXErKyl7Z2s9aHNbYXFdO2ZvcihhcD12dzthcDxn O2FwKyspZ2tbYXBdPTF9fXZ3Kz12dVswXX12c1t2eisrXT0KJ1x4M2Mvc3Bhblx4M2UnO3ZzLmxl bmd0aD12ejtyZXR1cm4gdnMuam9pbignJyl9ZnVuY3Rpb24gd2wod2Usd2ssd2EsdnIsd2IsCndj LHZ0LHZ2KXtpZih0eXBlb2YgdnIhPWJxKXt2dj12dDt2dD13Yzt3Yz13Yjt3Yj12cjt2cj13YTt3 YT17fX13ZT1peCh3ZSk7CnZhciB2cz1bJ1x4M2NhJywnaHJlZj0iJyt3ZSsnIiddO2lmKGlkKXt2 c1t2cy5sZW5ndGhdPQonb25tb3VzZW92ZXI9InRoaXMuc3R5bGUuY3Vyc29yPVwnaGFuZFwnIic7 dnNbdnMubGVuZ3RoXT0KJ29ubW91c2VvdXQ9InRoaXMuc3R5bGUuY3Vyc29yPVwnZGVmYXVsdFwn Iid9aWYod2spdnNbdnMubGVuZ3RoXT0KJ3RhcmdldD1fYmxhbmsnO2ZvcihhIGluIHdhKXZzW3Zz Lmxlbmd0aF09YSsnPSInK2l4KHdhW2FdKSsnIic7cmV0dXJuIHZzLgpqb2luKCcgJykrJ1x4M2Un K3dpKHZyLHdiLHdjLHZ0LHZ2KSsnXHgzYy9hXHgzZSd9eno9bGlua0lubGluZUltYWdlPXdsO3p5 PQptYWtlSW5saW5lSW1hZ2U9d2k7CickU2VyaWFsOiAxNTYxICQgJFJldmlzaW9uOiAxLjkgJCc7 ZnVuY3Rpb24gU0hBMShidyxidSxidCxkbSl7dmFyIGdpPTY0LGE9MCwKZ2o9bmV3IEFycmF5KDgw KTt3aGlsZShhPDIwKWdqW2ErK109MHg1YTgyNzk5OTt3aGlsZShhPDQwKWdqW2ErK109MHg2ZWQ5 ZWJhMQo7d2hpbGUoYTw2MClnalthKytdPTB4OGYxYmJjZGM7d2hpbGUoYTw4MClnalthKytdPTB4 Y2E2MmMxZDY7dGhpcy5IPVsKMHg2NzQ1MjMwMSwweGVmY2RhYjg5LDB4OThiYWRjZmUsMjcxNzMz ODc4LDB4YzNkMmUxZjBdO3RoaXMuVz1uZXcgQXJyYXkoODApOwp0aGlzLk09bmV3IEFycmF5KGdp KzIpO3RoaXMuJE1Vc2VkPTA7dGhpcy4kZGlnZXN0ZWQ9bmV3IGdwKCk7dmFyIGdtPShjZD8KZnVu Y3Rpb24oZGQsYXApe3JldHVybiBkaShkbihhcCxkZCksY2ooYXAsMzItZGQpKX06ZnVuY3Rpb24o ZGQsYXApe3JldHVybihhcAo8PGRkKXwoYXA+Pj4oMzItZGQpKX0pLGVtPShjZD9mdW5jdGlvbihi ZyxhcCxhcSxnaCl7aWYoYmc8MjApcmV0dXJuIGNoKGRlKGFwCixhcSksZGUoZGsoYXApLGdoKSk7 aWYoYmc8NDApcmV0dXJuIGNoKGNoKGFwLGFxKSxnaCk7aWYoYmc8NjApcmV0dXJuIGNoKGNoKApk ZShhcCxhcSksZGUoYXAsZ2gpKSxkZShhcSxnaCkpO3JldHVybiBjaChjaChhcCxhcSksZ2gpfTpm dW5jdGlvbihiZyxhcCxhcSwKZ2gpe2lmKGJnPDIwKXJldHVybihhcCZhcSleKH5hcCZnaCk7aWYo Ymc8NDApcmV0dXJuIGFwXmFxXmdoO2lmKGJnPDYwKQpyZXR1cm4oYXAmYXEpXihhcCZnaCleKGFx JmdoKTtyZXR1cm4gYXBeYXFeZ2h9KTt0aGlzLiRkaWdlc3RCbG9jaz1mdW5jdGlvbigKZ2Upe3Zh ciBiZyxncSxjeT10aGlzLkgsZ2c9dGhpcy5XLGEsZT1nZy5sZW5ndGg7Zm9yKGJnPWE9MDtiZzwx NjtiZysrLGErPTQpCmdnW2JnXT1nZVthXTw8MjR8Z2VbYSsxXTw8MTZ8Z2VbYSsyXTw8OHxnZVth KzNdO2lmKGNkKWZvcig7Ymc8ZTtiZysrKWdnW2JnXT0KZ20oMSxjaChjaChjaChnZ1tiZy0zXSxn Z1tiZy04XSksZ2dbYmctMTRdKSxnZ1tiZy0xNl0pKTtlbHNlIGZvcig7Ymc8ZTtiZysrKQpnZ1ti Z109Z20oMSxnZ1tiZy0zXV5nZ1tiZy04XV5nZ1tiZy0xNF1eZ2dbYmctMTZdKTt2YXIgZ2s9Y3lb MF0saj1jeVsxXSxibT0KY3lbMl0sY2M9Y3lbM10sYmU9Y3lbNF07Zm9yKGJnPTA7Ymc8ZTtiZysr KXtncT1nbSg1LGdrKStlbShiZyxqLGJtLGNjKStiZStnagpbYmddK2dnW2JnXTtiZT1jYztjYz1i bTtibT1nbSgzMCxqKTtqPWdrO2drPWdxfWlmKGNkKXtjeVswXT1kZShjeVswXStnayxieCk7CmN5 WzFdPWRlKGN5WzFdK2osYngpO2N5WzJdPWRlKGN5WzJdK2JtLGJ4KTtjeVszXT1kZShjeVszXStj YyxieCk7Y3lbNF09ZGUoY3kKWzRdK2JlLGJ4KX1lbHNle2N5WzBdPShjeVswXStnaykmYng7Y3lb MV09KGN5WzFdK2opJmJ4O2N5WzJdPShjeVsyXStibSkmYng7CmN5WzNdPShjeVszXStjYykmYng7 Y3lbNF09KGN5WzRdK2JlKSZieH19O3RoaXMuZGlnZXN0PWZ1bmN0aW9uKGJ3LGJ1LGJ0LGRtKXsK dmFyIGNlPXR5cGVvZiBidz09Y2wsYm0sZGIsZGc9YncubGVuZ3RoLGdlPXRoaXMuTSxnZj10aGlz LiRNVXNlZDtpZighYnUpYnU9MAo7ZWxzZSBpZihidTwwKWJ1Kz1kZztpZighYnQpYnQ9ZGc7ZWxz ZSBpZihidDwwKWJ0Kz1kZztmb3IoZGI9YnU7ZGI8YnQ7ZGIrKyl7CmJtPWNlP2J3LmNoYXJDb2Rl QXQoZGIpOmJ3W2RiXTtpZighZG18fGJtPDEyOCl7Z2VbZ2YrK109Ym0mMjU1fWVsc2UgaWYoYm08 CjIwNDgpe2dlW2dmKytdPTE5MnxibT4+PjY7Z2VbZ2YrK109MTI4fGJtJjYzfWVsc2V7Z2VbZ2Yr K109MjI0fGJtPj4+MTI7Z2VbCmdmKytdPTEyOHwoYm0+Pj42KSY2MztnZVtnZisrXT0xMjh8Ym0m NjN9aWYoZ2Y+PWdpKXt0aGlzLiRkaWdlc3RCbG9jayhnZSwwKTsKdGhpcy4kZGlnZXN0ZWQuYWRk KGdpKTtzd2l0Y2goZ2YtZ2kpe2Nhc2UgMjpnZVsxXT1nZVtnaSsxXTtjYXNlIDE6Z2VbMF09Z2Vb CmdpXTtkZWZhdWx0OmdmLT1naX19fXRoaXMuJE1Vc2VkPWdmO3JldHVybiB0aGlzfTt0aGlzLmZp bmFsaXplPWZ1bmN0aW9uKCl7CnZhciBnZT10aGlzLk0sZ2Y9dGhpcy4kTVVzZWQsZ3M9dGhpcy4k ZGlnZXN0ZWQsZ24sZ28sZ2w7Z2w9bmV3IGdwKGdzKS5hZGQoZ2YKKTtnbz1uZXcgZ3AoZ2wpLmFk ZCg5KTtnby5hZGQoNjMpLm1hc2sofjYzKTtnbj1nby5zdWJUb0ludChnbCk7Z2wubXVsdGlwbHko OAopO3ZhciBncj0xO3doaWxlKC0tZ24+PTApe2lmKGdyKXtnZVtnZisrXT0xMjg7Z3I9MH1lbHNl IGlmKGduPjcpZ2VbZ2YrK109MDsKZWxzZSBnZVtnZisrXT1nbC5nZXRCeXRlKGduKTtpZihnZj09 Z2kpe3RoaXMuJGRpZ2VzdEJsb2NrKGdlLDApO2dmPTB9fQpyZXR1cm4gZ3QodGhpcy5IKX07dGhp cy5sZW5ndGg9ZnVuY3Rpb24oKXtyZXR1cm4gMjB9O2lmKGFyZ3VtZW50cy5sZW5ndGgpCnRoaXMu ZGlnZXN0KGJ3LGJ1LGJ0LGRtKX16dD1TSEExOwonJFNlcmlhbDogNDk1OCAkICRSZXZpc2lvbjog MS4zNSAkJzt2YXIgaWs9J2h0dHA6Ly9ceDYxcHBsZXQucG9zdHguY29tL2Rpc3QnCixpbD1lbSxq ZD1lbTtmdW5jdGlvbiBrYyhodCl7aWYoaXQpcmV0dXJuIG51bGw7dmFyIGljPW51bGw7aWYoaXkp e2lmKGthPDUmJgpkb2N1bWVudFtodl0uZG9jdW1lbnQuYXBwbGV0cyYmZG9jdW1lbnRbaHZdLmRv Y3VtZW50LmFwcGxldHMubGVuZ3RoKWljPQpkb2N1bWVudFtodl0uZG9jdW1lbnQuYXBwbGV0c1to dF19ZWxzZSBpZihkb2N1bWVudC5hcHBsZXRzJiZkb2N1bWVudC5hcHBsZXRzCiAubGVuZ3RoKWlj PWRvY3VtZW50LmFwcGxldHNbaHRdO3JldHVybiBpY312YXIgaHI9CidcXFRlbXBvcmFyeSBJbnRl cm5ldCBGaWxlc1xcJyxpaj0nXFxEb2N1bWVudHMgYW5kIFNldHRpbmdzXFwnLGllPQovXlwvW0Et Wl1bOnxdW1xcXC9dL2k7ZnVuY3Rpb24ga2koKXt2YXIgaGo9aHUsaGs9aGoucGF5bG9hZDtpZigh aGouCnVzaW5nQXBwbGV0KXtpdSgwKTtyZXR1cm4gYmd9aWYoaWwmJiFqZCl7cmV0dXJuIGVtfWlm KGhqLmZucy5wcm9ncmVzcyloai5mbnMKIC5wcm9ncmVzcygndG9vbHMnLGhqLmFyZyk7aWw9Ymc7 aGouaW5zdGFsbEFwcGxldD0wO2hqLnF1ZXJ5PScnO2lmKGhsLgpmb3JjZUFwcGxldFJlbG9hZCgp fHxobC5mb3JjZUFwcGxldFJlbG9hZEFsd2F5cygpKXJldHVybiBpYSgpO3ZhciBocT1rZChoai4K YXBwbGV0TmFtZSk7aWYoaGwuaWdub3JlQXBwbGV0SW1hZ2UoKXx8aGwuaWdub3JlQXBwbGV0SW1h Z2VBbHdheXMoKSlpZihocSkKcmV0dXJuIGlwKGhxKTtlbHNlIHJldHVybiBpYSgpO3ZhciBhLGQs aG89W107aWYoaHEpaG8ucHVzaChocSk7aWYoaXQpe3ZhciBpZwo9WycvTGlicmFyeS9BcHBsaWNh dGlvbiBTdXBwb3J0L1Bvc3RYJywKJy9wcml2YXRlL3RtcC81MDEvVGVtcG9yYXJ5SXRlbXMvUG9z dFgnXSxlPWlnLmxlbmd0aDtmb3IoYT0wO2E8ZTthKyspaWYoaWdbYQpdIT1ocSloby5wdXNoKGln W2FdKX1lbHNle2Q9amcobG9jYXRpb24ucGF0aG5hbWUpO2lmKGxvY2F0aW9uLnByb3RvY29sPT0K J2ZpbGU6JyYmaWUudGVzdChkKSl7dmFyIGh5PSdQb3N0WCc7ZD1kLnN1YnN0cigxKTtpZigoYT1k LmluZGV4T2YoaHIpKSE9LTEpewpkPWQuc3Vic3RyKDAsYStoci5sZW5ndGgpK2h5O2lmKGQhPWhx KWhvLnB1c2goZCl9ZWxzZSBpZigoYT1kLmluZGV4T2YoaWopKSE9Ci0xJiYoYT1kLmluZGV4T2Yo J1xcJyxhK2lqLmxlbmd0aCsxKSkhPS0xKXtkPWQuc3Vic3RyKDAsYSsxKSsKJ0xvY2FsIFNldHRp bmdzJytocitoeTtpZihkIT1ocSloby5wdXNoKGQpfWlmKGQuc3Vic3RyKDAsMSkudG9VcHBlckNh c2UoKSE9CidDJyl7ZD1kLnN1YnN0cigwLDMpKydXaW5kb3dzJytocitoeTtpZihkIT1ocSloby5w dXNoKGQpfWQ9J0M6XFxXaW5kb3dzJytocisKaHk7aWYoZCE9aHEpaG8ucHVzaChkKX19aGouc2Vh cmNoU3RhdGU9eydsaXN0JzpobywnaW5kZXgnOi0xfTtyZXR1cm4gaWIoKX0KZnVuY3Rpb24gaWIo KXt2YXIgaGo9aHUuc2VhcmNoU3RhdGUsaG89aGoubGlzdDtpZihoai50aW1lb3V0KWNsZWFyVGlt ZW91dChoagogLnRpbWVvdXQpO2lmKCsraGouaW5kZXg+PWhvLmxlbmd0aCl7ZGVsZXRlIGh1LnNl YXJjaFN0YXRlO3JldHVybiBpYSgpfXZhcgpocz1oai5pbWFnZT1uZXcgSW1hZ2UoKTtocy5vbmVy cm9yPWliO2hzLm9ubG9hZD1pcDtocy5zcmM9J2ZpbGU6Ly8nK2hvW2hqLgppbmRleF0rJy8nK2h1 LmFwcGxldE5hbWUrJy5naWYnO2lmKGp5KWhqLnRpbWVvdXQ9c2V0VGltZW91dCgiaWIoKSIsMTAw MCk7CnJldHVybiBiZ31mdW5jdGlvbiBpcChobil7dmFyIGhqPWh1O2lmKCFobnx8dHlwZW9mIGhu PT1icSl7aWYoangmJmhqLgpzZWFyY2hTdGF0ZS5pbWFnZS5oZWlnaHQ8MSlyZXR1cm4gaWIoKTto bj1oai5zZWFyY2hTdGF0ZS5saXN0W2hqLnNlYXJjaFN0YXRlCiAuaW5kZXhdfWlmKGhqLnNlYXJj aFN0YXRlJiZoai5zZWFyY2hTdGF0ZS50aW1lb3V0KWNsZWFyVGltZW91dChoai4Kc2VhcmNoU3Rh dGUudGltZW91dCk7aWYoaG5bMF09PScvJyloai5wYXRoPSdmaWxlOi8vJytobjtlbHNlIGhqLnBh dGg9CidmaWxlOi8vLycraG47ZGVsZXRlIGhqLnNlYXJjaFN0YXRlO2lmKGlkJiYhaXMpe3ZhciBo eD1qZyhsb2NhdGlvbi5wYXRobmFtZSkKLGpiPWxvY2F0aW9uLnByb3RvY29sPT0nZmlsZTonJiZp ZS50ZXN0KGh4KSYmaHguaW5kZXhPZihocik9PS0xJiYoIWRvY3VtZW50LgpmaXJzdENoaWxkfHwh ZG9jdW1lbnQuZmlyc3RDaGlsZC50ZXh0fHxkb2N1bWVudC5maXJzdENoaWxkLnRleHQuc3Vic3Ry KDAsMjYpCiE9J1x4M2MhLS0gc2F2ZWQgZnJvbSB1cmw9KDAwMjIpJyksaXY9aG4uaW5kZXhPZiho cik9PS0xO2lmKCFqYiYmaXYpe2lmKCFpZS4KdGVzdChoeCl8fGh4LnN1YnN0cigxLDMpIT1obi5z dWJzdHIoMCwzKSlyZXR1cm4gaWEoKTt2YXIgamE9aHgubWF0Y2goCi8oW1xcXC9dKykvZykubGVu Z3RoLTIsZD0nJzt3aGlsZSgwPGphLS0pZCs9Jy4uXFwnO2hqLnBhdGg9J2ZpbGU6Ly8nK2QraG4u CnN1YnN0cigzKX19amYoam0saG4saGoucGF5bG9hZC5leHBpcmllcy50b29scywnLycpO3JldHVy biBpbygpfWZ1bmN0aW9uIGlhKCkKe3ZhciBoaj1odTtoai5pbnN0YWxsQXBwbGV0PTE7aGoucGF0 aD1paztoai5xdWVyeT1qej8nJzonPyc7dmFyIGhzPW5ldyBJbWFnZQooKTtocy5vbmVycm9yPWhz Lm9ubG9hZD1pbztocy5zcmM9aGoucGF0aCsnL3NwYWNlci5naWYnO3JldHVybiBiZ312YXIgaW09 ewonaGVpZ2h0JzoxfTtmdW5jdGlvbiBpbygpe2Z1bmN0aW9uIGhpKGR6LGR5LGpjKXtpZihqYylk eT1peChkeSk7CnJldHVybidceDNjcGFyYW0gbmFtZT0iJytkeisnIiB2YWx1ZT0iJytkeSsnIlx4 M2Vcbid9dmFyIGhqPWh1LGlpPWhqLgphcHBsZXRDbGFzcyxodD1oai5hcHBsZXROYW1lLGhrPWhq LnBheWxvYWQsYSxoeixqZT1obC5pZ25vcmVBcHBsZXRJbWFnZSgpfHwKaGwuaWdub3JlQXBwbGV0 SW1hZ2VBbHdheXMoKSxodz1obC5hcHBsZXREZWJ1Z0xldmVsKCk7aWYoaHc9PTApaHc9aGwuCmFw cGxldERlYnVnTGV2ZWxBbHdheXMoKTtobC5mb3JjZUFwcGxldFJlbG9hZCgwKTtobC5pZ25vcmVB cHBsZXRJbWFnZSgwKTtobC4KYXBwbGV0RGVidWdMZXZlbCgwKTtobC5zYXZlKGhrLmV4cGlyaWVz LnByZWZlcmVuY2VzLCcvJyk7dmFyIGl3PWh0LGhoPVsKJ1x4M2NceDYxcHBsZXQgbmFtZT0iJytp aSsnIiAnKyhoai5wYXRoPydjb2RlQmFzZT0iJytoai5wYXRoKyciICc6JycpKwonY29kZT0iY29t LnBvc3R4LmNsaWVudC4nK2lpKycuY2xhc3MiICcrJ2FyY2hpdmU9IicraXcrJy5qYXInK2hqLnF1 ZXJ5KwonIiBtYXlzY3JpcHQnXTtpZihoai5hcmcmJmhqLmFyZy5hdHRycyloej1rZyhoai5hcmcu YXR0cnMsaW0pO2Vsc2UgaHo9aW07Zm9yCihhIGluIGh6KWhoW2hoLmxlbmd0aF09JyAnK2ErJz0n K2l4KGh6W2FdKTt2YXIgaG09aGouYWN0aW9uO2lmKCFpZCYmaG0hPWloKQpoaFtoaC5sZW5ndGhd PScgc3R5bGU9InZpc2liaWxpdHk6aGlkZGVuIic7aGhbaGgubGVuZ3RoXT0nXHgzZVxuJztpZiho ai5wYXRoCiloaFtoaC5sZW5ndGhdPWhpKCdjYWJCYXNlJyxodCsnLmNhYicraGoucXVlcnkpK2hp KCdjb2RlQmFzZScsaGoucGF0aCwxKTtoaFsKaGgubGVuZ3RoXT1oaSgnZXhwaXJpZXMudG9vbHMn LGhrLmV4cGlyaWVzLnRvb2xzKStoaSgnYXBwbGV0Lmluc3RhbGwnLGhqLgppbnN0YWxsQXBwbGV0 KStoaSgnYXBwbGV0LnVwZGF0ZScsamU/MDoxKStoaSgnYXBwbGV0Lm5hbWUnLGh0KStoaSgKJ2Fw cGxldC5wYXRoJyxpayk7aGhbaGgubGVuZ3RoXT1oaSgndWEnLGtqKStoaSgncmlkJyxoay5yaWRb MF0pK2hpKCdtc2dpZCcsCmhrLm1zZ0lEKStoaSgnZG9jdW1lbnQudXJsJyxsb2NhdGlvbi5ocmVm KStoaSgnZG9jdW1lbnQuY2hhcnNldCcsZG9jdW1lbnQuCmNoYXJzZXR8fGRvY3VtZW50LmNoYXJh Y3RlclNldHx8J1VURi04Jyk7aGhbaGgubGVuZ3RoXT1oaSgnYWN0aW9uJyxobSkraGkoCidmbGFn cycsaGsuZmxhZ3MpO2lmKCFpeSloaFtoaC5sZW5ndGhdPWhpKCdpZScsJzEnKTtpZihobT09amkp aGhbaGgubGVuZ3RoXT0KaGkoJ3NhdmUubmFtZScsaGsuc2F2ZU5hbWUsMSkraGkoJ3NhdmUuZGF0 YScsaGsuc2F2ZURhdGEpO2Vsc2V7aWYoaG09PWloKXtoaApbaGgubGVuZ3RoXT1oaSgndXJsJyxo ay5ycGMudXJsKStoaSgnbmEnLG5hdmlnYXRvci5hcHBOYW1lKStoaSgnbmMnLApuYXZpZ2F0b3Iu YXBwQ29kZU5hbWUpK2hpKCduaicsbmF2aWdhdG9yLmphdmFFbmFibGVkKCk/MTowKStoaSgnbnAn LApuYXZpZ2F0b3IucGxhdGZvcm0pK2hpKCdudScsbmF2aWdhdG9yLnVzZXJBZ2VudCkraGkoJ252 JyxuYXZpZ2F0b3IuCmFwcFZlcnNpb24pO2lmKG5hdmlnYXRvci5sYW5ndWFnZSloaSgnbmwnLG5h dmlnYXRvci5sYW5ndWFnZSl9dmFyIGUsYnc7ZT1oay4Kc2VnbWVudHMubGVuZ3RoO2ZvcihhPTA7 YTxlO2ErKylpZihoay5zZWdtZW50c1thXSE9MSl7aGhbaGgubGVuZ3RoXT1oaSgKJ3NlZ21lbnQu Y291bnQnLGUpO2ZvcihhPTA7YTxlO2ErKyloaFtoaC5sZW5ndGhdPWhpKCdzZWdtZW50LicrYSxo ay5zZWdtZW50cwpbYV0pO2JyZWFrfWlmKCFpc3x8IWlkKXtoaFtoaC5sZW5ndGhdPWhpKCdmbnMu ZXJyb3InLGVuKGhqLmZucy5lcnJvcikpO2lmKGhqCiAuZm5zLmNvbXBsZXRpb24paGhbaGgubGVu Z3RoXT1oaSgnZm5zLmNvbXBsZXRpb24nLGVuKGhqLmZucy5jb21wbGV0aW9uKSk7aWYKKGhqLmZu cy5wcm9ncmVzcyloaFtoaC5sZW5ndGhdPWhpKCdmbnMucHJvZ3Jlc3MnLGVuKGhqLmZucy5wcm9n cmVzcykpO2lmKGhqLgpmbnMuZmluYWxpemUpaGhbaGgubGVuZ3RoXT1oaSgnZm5zLmZpbmFsaXpl Jyxlbihoai5mbnMuZmluYWxpemUpKTtpZihoai5mbnMuCnN1Y2Nlc3MpaGhbaGgubGVuZ3RoXT1o aSgnZm5zLnN1Y2Nlc3MnLGVuKGhqLmZucy5zdWNjZXNzKSk7aWYoaG09PWlxJiZoai5mbnMKIC5z YXZlZCloaFtoaC5sZW5ndGhdPWhpKCdmbnMuc2F2ZWQnLGVuKGhqLmZucy5zYXZlZCkpO2hoW2ho Lmxlbmd0aF09aGkoCidmbnMuc2V0Y29va2llJywiamYiKStoaSgnZm5zLmxvYWRlZCcsIml1Iikr aGkoJ2Zucy5sYXVuY2gnLCJrZiIpfWlmKGhtPT1qaikKaGhbaGgubGVuZ3RoXT1oaSgncG9zdG1h cmsnLGhrLnBvc3RtYXJrKTtlbHNlIGlmKGhtPT1qayloaFtoaC5sZW5ndGhdPWhpKAonc2lnbmF0 dXJlJyxoay5zaWduYXR1cmVbMF0pK2hpKCdzaWdrZXluYW1lJyxoay5zaWdrZXluYW1lKTtlbHNl IGlmKGhtPT1qaHx8CmhtPT1pcXx8aG09PWloKXtoaFtoaC5sZW5ndGhdPWhpKCdwYXlsb2FkbmFt ZScsaGsubmFtZSwxKStoaSgnc2FsdCcsaGsuc2FsdCkKK2hpKCdrZXknLGRzKGhqLmtleSwxKSkr aGkoJ1RPQ0VudHJpZXMnLGhrLnRvYy5sZW5ndGgpO2lmKGhrLmhhcmRlbmVybmFtZSYmCmhqLmhh cmRlbmVyKXtraD0xO2hoW2hoLmxlbmd0aF09aGkoJ2hhcmRlbmVyJyxkcyhrYihoai5oYXJkZW5l cixoai51c2VyS2V5LApoay5rZXlzaXplLGp2KSwxKSkraGkoJ2V4cGlyaWVzLmhhcmRlbmVyJyxo ay5leHBpcmllcy5oYXJkZW5lcikraGkoCidoYXJkZW5lci5jb29raWUnLGpsK2hrLmhhcmRlbmVy bmFtZSl9aWYoaGsua2V5c2l6ZSloaFtoaC5sZW5ndGhdPWhpKAona2V5U2l6ZScsaGsua2V5c2l6 ZSk7aWYoKGE9aGsuYWxnbmFtZXMuaGFzaCkhPSdTSEExJyl7aGhbaGgubGVuZ3RoXT1oaSgKJ2Fs Zy5uYW1lcy5oYXNoJyxhKTtpZigoYT1oay5hbGdwYXJhbXMuaGFzaCkpaGhbaGgubGVuZ3RoXT1o aSgKJ2FsZy5wYXJhbXMuaGFzaCcsYSl9aWYoKGE9aGsuYWxnbmFtZXMuZW5jcnlwdGlvbi5rZXlz KSE9J0FSQzQnKXtoaFtoaC4KbGVuZ3RoXT1oaSgnYWxnLm5hbWVzLmVuY3J5cHRpb24ua2V5cycs YSk7aWYoYT09J1JTQScpaGhbaGgubGVuZ3RoXT1oaSgKJ2tleW5hbWUnLGhrLmtleW5hbWUpO2lm KChhPWhrLmFsZ3BhcmFtcy5lbmNyeXB0aW9uLmtleXMpKWhoW2hoLmxlbmd0aF09aGkoCidhbGcu cGFyYW1zLmVuY3J5cHRpb24ua2V5cycsYSl9aWYoKGE9aGsuYWxnbmFtZXMuZW5jcnlwdGlvbi5k YXRhKSE9J0FSQzQnKXsKaGhbaGgubGVuZ3RoXT1oaSgnYWxnLm5hbWVzLmVuY3J5cHRpb24uZGF0 YScsYSk7aWYoKGE9aGsuYWxncGFyYW1zLgplbmNyeXB0aW9uLmRhdGEpKWhoW2hoLmxlbmd0aF09 aGkoJ2FsZy5wYXJhbXMuZW5jcnlwdGlvbi5kYXRhJyxhKX1pZigoYT1oay4KYWxnbmFtZXMudmVy aWZpY2F0aW9uLmtleXMpIT0nQ1JDMzInKWhoW2hoLmxlbmd0aF09aGkoCidhbGcubmFtZXMudmVy aWZpY2F0aW9uLmtleXMnLGEpO2lmKChhPWhrLmFsZ25hbWVzLnZlcmlmaWNhdGlvbi5kYXRhKSE9 CidDUkMzMicpaGhbaGgubGVuZ3RoXT1oaSgnYWxnLm5hbWVzLnZlcmlmaWNhdGlvbi5kYXRhJyxh KTt2YXIgaHA7ZT1oay50b2MuCmxlbmd0aDtmb3IoYT0wO2E8ZTthKyspe2hwPWhrLnRvY1thXTto aFtoaC5sZW5ndGhdPWhpKCdmaWxlLicrYSxocFtqcF0sMSkraGkKKCd0eXBlLicrYSxocFtqdV0p K2hpKCdodG1sLicrYSxocFtqcl0sMSkraGkoJ3RleHQuJythLGhwW2p0XSwxKStoaSgnZmxhZ3Mu JworYSxocFtqcV0pK2hpKCdvZmZzZXQuJythLGhwW2lyXVswXSkraGkoJ2xlbmd0aC4nK2EsaHBb aXJdWzFdKStoaSgKJ29yaWdGaWxlbmFtZS4nK2EsaHBbanNdLDEpK2hpKCdlbmNvZGluZy4nK2Es aHBbam9dLDEpfWlmKGhrLnNlc3Npb25LZXkpaGhbCmhoLmxlbmd0aF09aGkoJ3Nlc3Npb25LZXkn LGRzKGhrLnNlc3Npb25LZXksMSksMSl9fWlmKGhrLnNlY3VyZU5hbWUpaGhbaGguCmxlbmd0aF09 aGkoJ3NlY3VyZU5hbWUnLGhrLnNlY3VyZU5hbWUpO2lmKGhrLmxvZ291dFVSTCloaFtoaC5sZW5n dGhdPWhpKAonbG9nb3V0VVJMJyxoay5sb2dvdXRVUkwpO2lmKGhqLmFyZylmb3IoYSBpbiBoai5h cmcucGFyYW1zKWhoW2hoLmxlbmd0aF09aGkoCmEsaGouYXJnLnBhcmFtc1thXSwxKTtpZihodylo aFtoaC5sZW5ndGhdPWhpKCdkZWJ1ZycsaHcpO2hoW2hoLmxlbmd0aF09CidceDNjL1x4NjFwcGxl dFx4M2UnO2hoPWhoLmpvaW4oJycpO2lmKGh3PjEpaWYoYT1kb2N1bWVudC5nZXRFbGVtZW50QnlJ ZCgKJ2RlYnVnVGV4dGFyZWEnKSl7aWYoYS52YWx1ZSE9JycpYS52YWx1ZSs9J1xuJzthLnZhbHVl Kz1oaH1lbHNlIGFsZXJ0KAonQXBwbGV0IHRhZzpcblxuJytoaCk7aWYoZG9jdW1lbnQuZ2V0RWxl bWVudEJ5SWQpZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoam4pCiAuaW5uZXJIVE1MPWhoO2Vsc2V7 ZG9jdW1lbnRbaHZdLmRvY3VtZW50Lm9wZW4oKTtkb2N1bWVudFtodl0uZG9jdW1lbnQud3JpdGUK KGhoKTtkb2N1bWVudFtodl0uZG9jdW1lbnQuY2xvc2UoKX1yZXR1cm4gYmd9ZnVuY3Rpb24ganco KXtpZighaWR8fGl6KQpyZXR1cm47dmFyIGhoPSdceDNjYXBwbGV0IGhlaWdodD0xIHN0eWxlPSJw b3NpdGlvbjphYnNvbHV0ZTtsZWZ0Oi01MDBweCInKwonXHgzZVx4M2NzcGFuIGlkPSJhcHBsZXRU ZXN0Ilx4M2UmbmJzcDtceDNjL3NwYW5ceDNlXHgzYy9hcHBsZXRceDNlJzsKZG9jdW1lbnQud3Jp dGUoaGgpO2lmKGtlKCdhcHBsZXRUZXN0JykpaXo9Ymd9CickU2VyaWFsOiAwMzA0ICQgJFJldmlz aW9uOiAxLjYgJCc7dmFyIGFleT0xLGFmYT0yO1BPTExJTkdfRVhQT05FTlRJQUw9YWV5OwpQT0xM SU5HX0xJTkVBUj1hZmE7ZnVuY3Rpb24gYWZiKGFmYyl7dGhpcy5iYXNlPTE7dGhpcy5pbnRlcnZh bD0xO3RoaXMuCnRvdGFsRGVsYXk9MDt0aGlzLm1pbj0xO3RoaXMubWF4PTE7dGhpcy50b3RhbD01 MDAwO3RoaXMud2FpdD01MDAwO3RoaXMudGltZXIKO3RoaXMuaW5pdGlhbGl6ZT1mdW5jdGlvbihh ZXYsYWV6LGFldyxhZXgpe3ZhciBkZCxjYzt0aGlzLm1pbj1hZXY7dGhpcy5tYXg9CmFlejt0aGlz LnRvdGFsPWFldzt0aGlzLndhaXQ9YWV4O3RoaXMuaW50ZXJ2YWw9YWV2O2RkPWFldy0oYWV4K2Fl dik7Y2M9YWV3LSgKYWV4K2Fleik7aWYoY2MhPTApdGhpcy5iYXNlPWRkL2NjO2lmKHRoaXMuYmFz ZTwxKXRoaXMuYmFzZT0xO2lmKHRoaXMuCm1pbkludGVydmFsPDEpdGhpcy5taW5JbnRlcnZhbD0x O3RoaXMudG90YWxEZWxheT0wfTt0aGlzLnJlc2V0PWZ1bmN0aW9uKCl7CnRoaXMuaW5pdGlhbGl6 ZSh0aGlzLm1pbix0aGlzLm1heCx0aGlzLnRvdGFsLHRoaXMud2FpdCl9O3RoaXMuY2FuY2VsPQpm dW5jdGlvbigpe2lmKHRoaXMudGltZXIpe2NsZWFyVGltZW91dCh0aGlzLnRpbWVyKTt0aGlzLnRp bWVyPTB9dGhpcy4KaW50ZXJ2YWw9LTJ9O3RoaXMuZ2V0TmV4dEludGVydmFsPWZ1bmN0aW9uKGR1 KXtpZih0aGlzLmludGVydmFsPDApCnJldHVybiB0aGlzLmludGVydmFsO3ZhciBlcT10aGlzLmlu dGVydmFsO3RoaXMudG90YWxEZWxheT10aGlzLnRvdGFsRGVsYXkrZXEKK3RoaXMud2FpdDtpZih0 aGlzLnRvdGFsRGVsYXk+PXRoaXMudG90YWwpe3RoaXMuaW50ZXJ2YWw9LTF9ZWxzZXt0aGlzLgpp bnRlcnZhbD10aGlzLmludGVydmFsKnRoaXMuYmFzZTtpZih0aGlzLmludGVydmFsPnRoaXMubWF4 KXRoaXMuaW50ZXJ2YWw9CnRoaXMubWF4fWlmKGR1KXRoaXMudGltZXI9c2V0VGltZW91dChkdSxl cSk7cmV0dXJuIGVxfX12YXIgYWZkPW5ldyBhZmIoYWV5KTsKJyRTZXJpYWw6IDIxODkgJCAkUmV2 aXNpb246IDEuMjAgJCc7ZnVuY3Rpb24gZWEoZHEsZHAsZHosZHkpe3ZhciBhLGU7aWYoCnR5cGVv ZiBkeSE9YnEpZHFbZHArK109ZHMoZHopKyc9JytkcyhkeSk7ZWxzZSBpZigoZT1keS5sZW5ndGgp KWZvcihhPTA7YTxlOwphKyspZHA9ZWEoZHEsZHAsZHosZHlbYV0pO2Vsc2V7aWYoZHohPScnKWR6 Kz0nLic7Zm9yKGEgaW4gZHkpZHA9ZWEoZHEsZHAsZHorCmEsZHlbYV0pfXJldHVybiBkcH12YXIg ZHQ9MCxlYz1lbTtmdW5jdGlvbiBlaihkdSl7ZHQ9MDtpZihkdSlkdSh7J3N0YXR1cyc6ZXIKfSl9 dmFyIGViPS0xLGVkPS0xO2Z1bmN0aW9uIGVmKGRyKXtpZihlYylyZXR1cm47aWYoZHQpe2NsZWFy VGltZW91dChkdCk7ZHQ9MAp9aWYoZHIucmVxVGltZSYmZHIucmVxTnVtYmVyKXtlYj1uZXcgRGF0 ZSgpLmdldFRpbWUoKS1kci5yZXFUaW1lO2VkPWRyLgpyZXFOdW1iZXJ9aWYoZHIuY2FsbGJhY2sp ZHIuY2FsbGJhY2soZHIpfWZ1bmN0aW9uIGVsKGR2LGVvLGVpLGVnLGR1LGRyLGVlLGVxCil7dmFy IGEsZCxkcT1bXSxkcD0wLGR4LGR3LGVwPWRyJiZkci5ucjtpZihkcilkcD1lYShkcSxkcCwnJyxk cik7aWYoKGRyPWR2LgphcmdzKSlkcD1lYShkcSxkcCwnJyxkcik7ZHFbZHArK109J3Y9Mic7ZHFb ZHArK109J209Jytkcyhlbyk7ZHFbZHArK109J3M9JysKZHMoZWkpO2RxW2RwKytdPSdmPScrKGR2 LmZsYWdzfGVnKTtkcVtkcCsrXT0nZD0nK2RzKG5ldyBEYXRlKCkuZ2V0VGltZSgpKTtkcQpbZHAr K109J2FjdGlvbj1vcGVuJztpZihlYiE9LTEpe2RxW2RwKytdPSdwcmQ9JytlYjtkcVtkcCsrXT0n cHJuPScrZWQ7ZWI9ZWQ9Ci0xfWRxW2RwKytdPSdqPTEnO2RxW2RwKytdPSdqYz0nKyJlZiI7ZHg9 WyciUlBDUmVmIjonKyJwYXlsb2FkLnJwYyJdO2lmKGR1KQpkeFtkeC5sZW5ndGhdPSciY2FsbGJh Y2siOicrZW4oZHUpO2lmKGVlKWR4W2R4Lmxlbmd0aF09ZWU7ZHFbZHArK109J2pjYT0nK2RzCihk eC5qb2luKCcsXG4nKSk7aWYoZWgpZHFbZHArK109J3NyYz0nK2VoO2RxW2RwKytdPSduYT0nK2Rz KG5hdmlnYXRvci4KYXBwTmFtZSk7ZHFbZHArK109J25qPScrZHMobmF2aWdhdG9yLmphdmFFbmFi bGVkKCk/MTowKTtkcVtkcCsrXT0nbmpzPTEnO2lmKApuYXZpZ2F0b3IubGFuZ3VhZ2UpZHFbZHAr K109J25sPScrZHMobmF2aWdhdG9yLmxhbmd1YWdlKTtkcVtkcCsrXT0nbnA9JytkcygKbmF2aWdh dG9yLnBsYXRmb3JtKTtkcVtkcCsrXT0nbnU9JytkcyhuYXZpZ2F0b3IudXNlckFnZW50KTtkcVtk cCsrXT0nbnY9JytkcwoobmF2aWdhdG9yLmFwcFZlcnNpb24pO2lmKGR1KXtlYz1lbTtkdD1zZXRU aW1lb3V0KCJlaiIrJygnK2VuKGR1KSsnKScsKGVxfHwKMTAwMDApKX1kPWR2LnVybDtpZihkdi5z ZXNzaW9uKWQrPSc7anNlc3Npb25pZD0nK2R2LnNlc3Npb247ZCs9Jz8nK2RxLmpvaW4oCicmJyk7 aWYoZXApe2R3PW5ldyBJbWFnZSgpO2R3LnNyYz1kfWVsc2V7ZHc9ZG9jdW1lbnQuY3JlYXRlRWxl bWVudCgnc2NyaXB0JykKO2R3LnR5cGU9J3RleHQvamF2YXNjcmlwdCc7ZHcuc3JjPWQ7ZG9jdW1l bnQuYm9keS5hcHBlbmRDaGlsZChkdyl9fWZ1bmN0aW9uCmVrKGR2KXtpZihkdCl7Y2xlYXJUaW1l b3V0KGR0KTtkdD0wfXZhciBnPWRvY3VtZW50LmJvZHkuY2hpbGROb2Rlc1tkb2N1bWVudC4KYm9k eS5jaGlsZE5vZGVzLmxlbmd0aC0xXTtpZihnLm5vZGVOYW1lJiZnLm5vZGVOYW1lLnRvTG93ZXJD YXNlKCk9PSdzY3JpcHQnKQpkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKGcpO2VjPWJnfXJhPWNh bGxSUEM9ZWw7YWJvcnRSUEM9ZWs7Ci8vLS0+PC9zY3JpcHQ+Cgo8c2NyaXB0CnR5cGU9InRleHQv amF2YXNjcmlwdCIKbGFuZ3VhZ2U9amF2YXNjcmlwdD48IS0tCmZ1bmN0aW9uIGFvayhoayxzdixh bnope2FmdChoayx7J2Vycm9yJzphbmYsJ3N1Y2Nlc3MnOmFuZn0seydmb3JtJzpzdiwKJ3NpZ25h dHVyZSc6YW56fSl9ZnVuY3Rpb24gYW5mKHN0YXR1cyxhb2osc3Ipe2lmKCFzcilzcj1nVXNlckFy ZztpZihzcil7dmFyCmJkPXNyLnNpZ25hdHVyZTtpZihzdGF0dXM9PWFhZ3x8c3RhdHVzPT1hYWgp e3RoKHNyLmZvcm0sMCk7aWYoYmQpc3EoYmQsCidceDNjc3BhbiBjbGFzcz1lcnJvclx4M2VCYWQg Jysoc3RhdHVzPT1hYWc/J3Bvc3RtYXJrJzonc2lnbmF0dXJlJykrCidceDNjL3NwYW5ceDNlJyl9 ZWxzZSBpZihiZCl7dmFyIGQ9YW9qLGM9LTE7Zm9yKGE9MDthPDM7YSsrKWlmKChjPWQuaW5kZXhP ZigKJyAnLGMrMSkpPT0tMSlicmVhaztpZihjIT0tMSlkPWQuc3Vic3RyaW5nKDAsYykrJzxicj4n K2Quc3Vic3RyaW5nKGMrMSk7c3EoCmJkLGQpfX19ZnVuY3Rpb24gYW1qKGhrLGVpLGVnLGFiYyxz cixhb20pe3ZhciBkO2lmKGFiYz09ZmcmJmhrLnVzZXJLZXkpe3R4KAp1cyxzcik7d3ooaGsudXNl cmtleW5hbWUpO2hrLnVzZXJLZXk9Jyc7YWxhKGhrLGJnKX1lbHNlIGlmKGFiYyE9Z2MpZD1zcygK J1JQQ0Vycm9yJywnJyxhYmMsaGsubXNnSUQpO2lmKGQpYWxlcnQoZCl9dmFyIGFjbjtmdW5jdGlv biBhbWEoYmUpe2lmKCFiZSliZQo9d2luZG93LmV2ZW50O2lmKGJlKXtpZihiZS50eXBlPT0na2V5 ZG93bicpd2luZG93Lm9ua2V5ZG93bj0nJztlbHNlIGlmKGFjbiYmCmJlLnR5cGU9PSdsb2FkJyly ZXR1cm47YWNuPXsnY3RybEtleSc6YmUuY3RybEtleSwnYWx0S2V5JzpiZS5hbHRLZXksCidzaGlm dEtleSc6YmUuc2hpZnRLZXl9fX1mdW5jdGlvbiBhbnkoKXt2YXIgZDtpZihkPWtlKAondG9TZWxl Y3QnKSlkLmRpc2FibGVkPTE7YW12KCk7dW8oCidwYXNzd29yZFJvdzEnKTt1bygnZm9yZ290UGFz c3dvcmRSb3cnKTthbHcoKTt0YignaW5pdE1zZycsc3MoJ1JQQ1dhaXRpbmcnKSkKfWZ1bmN0aW9u IGFvaShzdixzdyxoayx3ZSxha2gpe2lmKE9TTWFjT1M5JiYoaGsuZmxhZ3MmYWJiKSYmIShoay4K ZmxhZ3MmYWJqKSl7dHgodXIpO3JldHVybjt9d2luZG93Lm9ua2V5ZG93bj0nJztoay5ycGM9eyd1 cmwnOndlfTtoay5mb3JtLgppbmRleD1zdjtoay5mb3JtLmZvY3VzRmllbGQ9c3c7aGsuc2VjdXJl UmVwbHlBbGc9J0FSQzQnO2lmKCEKYWtoKWFraD1hY258fHdpbmRvdy5ldmVudDtpZihkPWtlKCd0 aW1lU3RhbXBMb2NhdGlvbicpKWlmKHBheWxvYWQuc2lnbmF0dXJlKWQuaW5uZXJIVE1MPQonXHgz Y3NwYW4gY2xhc3M9dGltZXN0YW1wIGlkPXNpZ25hdHVyZVx4M2UnKydceDNjYSBocmVmPSJqYXZh c2NyaXB0OicrImFvayIrCicoJysicGF5bG9hZCIrJyxcJycrc3YrJ1wnLFwnc2lnbmF0dXJlXCcp JysKJyJceDNlVmVyaWZ5IHRoaXMgZW52ZWxvcGVceDNjL2FceDNlJysnXHgzYy9zcGFuXHgzZSc7 ZWxzZSBkLmlubmVySFRNTD0KJ1x4M2NzcGFuIGNsYXNzPXRpbWVzdGFtcFx4M2VKYW51YXJ5IDI3 LCAyMDEwJysnXHgzY2JyXHgzZTEwOjE5OjExIEFNIFBTVFx4M2Mvc3Bhblx4M2UnO2lmKApoay5z ZXNzaW9uS2V5KWRvY3VtZW50LmZvcm1zW3N2XS5zZXNzaW9ua2V5LnZhbHVlPWJiLmVuY29kZVRv U3RyaW5nKGhrLgpzZXNzaW9uS2V5KTtpZigoaGsudXNlcktleXx8aGsuc2Vzc2lvbktleSkmJiho ay5mbGFncyZ5eSkmJighYWtofHwhYWtoLgphbHRLZXkpKWFreihkb2N1bWVudC5mb3Jtc1tzdl0s aGssJycsYWtoKTtlbHNlIGlmKGhrLnVzZXJLZXkKfHxoay5zZXNzaW9uS2V5fHxoay5lbmNyeXB0 ZWRTZXNzaW9uS2V5KXt0YignaW5pdE1zZycsJycpO2lmKGhrLnNlbGVjdGVkSUQpCmFsbihoay5z ZWxlY3RlZElEKTthbGEoaGspfWVsc2UgYWx1KCk7fWZ1bmN0aW9uIGFreShhb2Epewp2YXIgZCxi ZCxoaz1wYXlsb2FkO2lmKGFrdiYmKGQ9a2UoJ2F1dGhGcmFtZScpKSl7aWYoZD0KdGwoJ2lmcmFt ZUxvY2F0aW9uJykpZC5hcHBlbmRDaGlsZChha3YpfWFtdigpO2lmKGQ9a2UoJ2VtYWlsVG8nKSl7 CmlmKGJkPWtlKCd0b1NlbGVjdCcpKXtha289YmQ7ZC5yZW1vdmVDaGlsZChha28pfWlmKGFvYSYm aGsuc2VsZWN0ZWRJRCl0YihkLApoay5zZWxlY3RlZElEKTtlbHNlIHRiKGQsJ3BvcnRzLWNvbW1p dHRlcnNARnJlZUJTRC5vcmcsIGN2cy1wb3J0c0BGcmVlQlNELm9yZywgY3ZzLWFsbEBGcmVlQlNE Lm9yZycpfXVvKCdiY2NSb3cnKTt1bygncGFzc3dvcmRSb3cxJyk7dW8oCidmb3Jnb3RQYXNzd29y ZFJvdycpO3RiKCdvcGVuQnV0dG9uTG9jYXRpb24nLCcnKTt0Yignc2F2ZUJ1dHRvbkxvY2F0aW9u JywnJykKO2FraygwKTtpZihkPXRiKCdjaGVja2JveGVzTG9jYXRpb24nLCcnKSl1bygnY2hlY2ti b3hSb3cnLAonYWRkcmVzc1NlbnRpbmVsUm93Jyl9ZnVuY3Rpb24gYWxhKGhrLGFscil7YW1jKGhr KTthbWIoaGssYWxyKTsKYWtyKGFrdSk7YWtrKGFsZHxha2wpO2FtZCgpOwp0cShoay5mb3JtLmlu ZGV4LGhrLmZvcm0uZm9jdXNGaWVsZCk7YWt0PWV2fXZhciBha3U9MSxhbHA9MixhbGM9MywKYW1n PTQsYW1lPTUsYW1mPTY7ZnVuY3Rpb24gYWtyKGFrcSxoaSl7dmFyIGFsZj1rZSgnYnV0dG9uQ29u dGFpbmVyJyksY2I9a2UoCididXR0b25UYWJsZScpLGhrPXBheWxvYWQsZHosZDtpZih2Z3x8IWFs ZilyZXR1cm47aWYoY2IpYWxmLnJlbW92ZUNoaWxkKGNiKTsKY2I9ZG9jdW1lbnQuY3JlYXRlRWxl bWVudCgnZGl2Jyk7Y2Iuc2V0QXR0cmlidXRlKCdpZCcsJ2J1dHRvblRhYmxlJyk7Y2IuCmlubmVy SFRNTD0nXHgzY3RhYmxlIGNlbGxwYWRkaW5nPTAgY2VsbHNwYWNpbmc9MCBib3JkZXI9MCAnKwon c3R5bGU9ImZsb2F0OiByaWdodCJceDNlXHgzY3RyXHgzZVx4M2N0ZCBpZD1vcGVuQnV0dG9uTG9j YXRpb24nKwonXHgzZVx4M2MvdGRceDNlXHgzY3RkIGlkPWJ1dHRvbkRpdmlkZXJceDNlXHgzYy90 ZFx4M2VceDNjdGQgJysKJ2lkPXNhdmVCdXR0b25Mb2NhdGlvblx4M2VceDNjL3RkXHgzZVx4M2Mv dHJceDNlXHgzYy90YWJsZVx4M2UnO2FsZi4KaW5zZXJ0QmVmb3JlKGNiLGFsZi5maXJzdENoaWxk KTsKaWYoYWtxPT1ha3UmJihoay5mbGFncyZhYmIpJiYoaGsuZmxhZ3MKJmFiaikmJigoaGsuZmxh Z3MmYWNqKXx8aXopKXtha3E9YWxjfWQ9a2UoJ29wZW5CdXR0b25Mb2NhdGlvbicpOwpzd2l0Y2go YWtxKXtjYXNlIGFrdTpkLmlubmVySFRNTD11ZCgnT1BFTicsMSxkej0KJ29wZW5CdXR0b24nLCJh bW4oamgsZXZlbnQpIik7YnJlYWs7Y2FzZSBhbGM6ZC5pbm5lckhUTUw9dWQoJ09QRU4gT05MSU5F JywxLApkej0nb3BlbkJ1dHRvbicsIm9wZW5PbmxpbmUocGF5bG9hZCkiLCdvb2J0bicpO2lmKGQ9 dGwoJ29vTGlua0NlbGwnKSl7ZC4KY2xhc3NOYW1lPSd0ZXh0JztkLmlubmVySFRNTD1zcygnT3Bl bk9ubGluZUhpbnQnKX1icmVhazsKY2FzZSBhbHA6ZC5pbm5lckhUTUw9dWQoJ1NVQk1JVCcsMCxk ej0nc3VibWl0QnV0dG9uJywiYW1vKCkiKQo7YnJlYWs7Y2FzZSBhbWc6ZC5pbm5lckhUTUw9dWQo J1JFR0lTVEVSJywwLGR6PSdyZWdpc3RlckJ1dHRvbicsImFubSIrIignIisKaGkrIicpIik7YnJl YWs7Y2FzZSBhbWU6ZC5pbm5lckhUTUw9dWQoJ1JFRlJFU0gnLDAsZHo9J3JlZnJlc2hCdXR0b24n LAoiYWx1KCkiKTticmVhaztjYXNlIGFtZjpkLmlubmVySFRNTD11ZCgnUkVGUkVTSCcsMCxkej0n cmVmcmVzaEJ1dHRvbicsCiJhbmQoKSIpO2JyZWFrO31pZihkeil7YWtxPWRvY3VtZW50LmZvcm1z WzBdW2R6XTtpZihha3EmJmFrcS4KZm9jdXMmJnRuKWFrcS5mb2N1cygpfX1mdW5jdGlvbiBhbWMo aGspe3ZhciBkLGNhLGR3LGFtcD1beydhdHRycyc6ewonbWF4bGVuZ3RoJzoKNDAsJ3R5cGUnOgon cGFzc3dvcmQnLAonbmFtZSc6J2tleTEnLCdzaXplJzoyMH0sCid0aXRsZSc6J1Bhc3N3b3JkOid9 XSxhLGMsZT1hbXAubGVuZ3RoLGVtO2ZvcihhPTE7YTw9ZTsKYSsrKXt1aygncGFzc3dvcmRSb3cn K2EsJ2FkZHJlc3NTZW50aW5lbFJvdycpO2VtPQphbXBbYS0xXTtpZihkPWtlKCdwYXNzd29yZFRp dGxlJythKSl7ZHc9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgncCcpO3RiKGR3LGVtCiAudGl0bGUp O3RsKGQpO2QuYXBwZW5kQ2hpbGQoZHcpfWlmKGQ9a2UoJ3Bhc3N3b3JkRW50cnknK2EpKXtpZihh PT0xJiYoaGsuCm5vVXNlcktleU5lZWRlZHx8aGsudXNlcktleXx8aGsuc2Vzc2lvbktleSkpe2M9 J05vUGFzc3dvcmRSZXF1aXJlZCc7ZHc9CmRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3AnKTt0Yihk dyxzcyhjKSk7dGwoZCk7ZC5hcHBlbmRDaGlsZChkdyk7YnJlYWt9Y2E9W10KO2ZvcihjIGluIGVt LmF0dHJzKWNhW2NhLmxlbmd0aF09YysnPSInK2l4KGVtLmF0dHJzW2NdKSsnIic7ZC5pbm5lckhU TUw9CidceDNjcFx4M2VceDNjaW5wdXQgJytjYS5qb2luKCcgJykrJ1x4M2VceDNjL3BceDNlJ319 CmlmKCEoaGsubm9Vc2VyS2V5TmVlZGVkfHxoay51c2VyS2V5fHxoay5zZXNzaW9uS2V5KQope3Vr KCdmb3Jnb3RQYXNzd29yZFJvdycsJ2FkZHJlc3NTZW50aW5lbFJvdycpO2lmKApkPWtlKCdmb3Jn b3RQYXNzd29yZENlbGwnKSlkLmlubmVySFRNTD11ZignRm9yZ290IHBhc3N3b3JkPycsCidodHRw czovL2llYTM3MHEwMy5xYS5zYnIuaXJvbnBvcnQuY29tL3dlYnNhZmUvcHN3ZEZvcmdvdC5hY3Rp b24nLGJnKX19ZnVuY3Rpb24gYW1iKGhrLGFscixhbWwpe3ZhciBkO2lmKGQ9a2UKKCdjaGVja2Jv eGVzTG9jYXRpb24nKSl7dmFyIGFrcD1bXTsKCgppZighaGsuCnNlc3Npb25LZXkmJiFoay51c2Vy S2V5JiZoay5jb29raWVzRW5hYmxlZCYmKCFoay5ub1VzZXJLZXlOZWVkZWR8fGFtbCkpYWtwWwph a3AubGVuZ3RoXT11ZSgncmVtZW1iZXJNZScsJycsYW1sLCdSZW1lbWJlciBtZSBvbiB0aGlzIGNv bXB1dGVyLicpOwp1aygnY2hlY2tib3hSb3cnLAonYWRkcmVzc1NlbnRpbmVsUm93Jyk7ZC5pbm5l ckhUTUw9J1x4M2N0YWJsZVx4M2UnK2FrcC5qb2luKCcnKSsKJ1x4M2MvdGFibGVceDNlJzthbG8o ZG9jdW1lbnQuZm9ybXNbaGsuZm9ybS5pbmRleF0sYW5nKTt9fXZhciBhbGQ9CjE7dmFyIGFrbD0y O3ZhciBhbHE9NDsKZnVuY3Rpb24gYWtrKGFrdyl7dmFyIGQsaGs9cGF5bG9hZDtpZighKGQ9dGIo Cidvb0xpbmtDZWxsJywnJm5ic3A7JykpKXJldHVybjtpZighdmcmJihha3cmYWxkKSl7aWYoKGhr LmZsYWdzJmFiaikmJighKGhrLgpmbGFncyZhYmIpfHwhKGhrLmZsYWdzJmFjaikpJiYhaGsudXNl cktleSl7ZC5jbGFzc05hbWU9J29vdGV4dCc7ZC5pbm5lckhUTUw9CnNzKCdPcGVuT25saW5lVGlw JywnJyx1ZignT3BlbiBPbmxpbmUnLCdqYXZhc2NyaXB0OicrImFvZigpIiwwLCcnKSl9fQppZigh KGQ9dGIoJ2xpbmtDZWxsJywnJm5ic3A7JykpKXJldHVybjtpZighdmcmJihha3cKJmFrbCkpe2Qu aW5uZXJIVE1MPXVmKHNzKCdEaWZmZXJlbnRBZGRyZXNzTGluaycpLCdqYXZhc2NyaXB0OicrCiJ3 cm9uZ0FkZHJlc3MiKycoKTsnLDAsJycpfWlmKCF2ZyYmKGFrdyZhbHEpKXtkLgppbm5lckhUTUw9 dWYoc3MoJ05vdExpc3RlZExpbmsnKSwnamF2YXNjcmlwdDonKyJhbWsiKycoMSk7JywwLCcnKX0K fWZ1bmN0aW9uIGFsdygpe3ZhciBkPWtlKCdib3JkZXJUYWJsZScpLGJnPWtlKCdib3JkZXJDb250 YWluZXInKSwKZztpZihkJiZiZyl7Zz11aChkKSs0O2lmKGc8MjkwKWc9MjkwO2JnLndpZHRoPWc7 ZC53aWR0aD0nMTAwJSd9ZD1rZSgKJ2JvcmRlckNvbnRhaW5lcicpO2JnPWtlKCdjZW50ZXJUYWJs ZScpO21pPWtlKCdvdXRlclRhYmxlJyk7aWYoZCYmYmcmJm1pKXtnPQp1aChkKTtpZihnPjM4NSl7 Ymcud2lkdGg9MzE1K2c7ZC53aWR0aD1nO21pLndpZHRoPTM2NStnfX1pZih2ZCYmKGQ9a2UoCidv dXRlclBvc3RtYXJrJykpKWQuY2xhc3NOYW1lPSdJRTVQb3N0bWFyayd9ZnVuY3Rpb24gYW1xKCl7 dmFyIGQ9a2UoCidoZWlnaHRDb250cm9sJyk7aWYoZCYmdWcoZCk+MjEwKWQuaGVpZ2h0PXVnKGQp fWZ1bmN0aW9uIGFtaygKYW9iKXt2YXIgaGs9cGF5bG9hZCxkLGFsZSxhbGU9a2UoJ2JjY1Jvdycp O2lmKGQ9a2UoJ3RvU2VsZWN0JykpZC4Kc2VsZWN0ZWRJbmRleD1kLmxlbmd0aC0xO3VrKCdiY2NS b3cnLCdzdWJqZWN0Um93Jyk7aWYoYWxlPWtlKCdiY2NSb3cnKSl7YWxlLgpjZWxsc1swXS5pbm5l ckhUTUw9J1x4M2NwXHgzZVlvdXIgYWRkcmVzczpceDNjL3BceDNlJzthbGUuY2VsbHNbMV0uaW5u ZXJIVE1MCj0nXHgzY3BceDNlXHgzY2lucHV0IHR5cGU9dGV4dCAnKyduYW1lPSJiY2MiIHNpemU9 MjBceDNlXHgzYy9wXHgzZSd9dHEoaGsuCmZvcm0uaW5kZXgsJ2JjYycpO2lmKGFvYil1bSgnaHR0 cHM6Ly9pZWEzNzBxMDMucWEuc2JyLmlyb25wb3J0LmNvbS93ZWJzYWZlL2hlbHA/dG9waWM9QWRk ck5vdFNob3duJywnX2JsYW5rJywKJ3Rvb2xiYXI9bm8sIGxvY2F0aW9uPW5vLCBkaXJlY3Rvcmll cz1ubywgc3RhdHVzPW5vLCcrCicgbWVudWJhcj1ubywgc2Nyb2xsYmFycz15ZXMsIHJlc2l6YWJs ZT15ZXMsJysnIHdpZHRoPTc2NCwgaGVpZ2h0PTU0MCcpOwp9dmFyIGFrbztmdW5jdGlvbiB3cm9u Z0FkZHJlc3MoKXt2YXIgZCwKaGs9cGF5bG9hZCxzdj1kb2N1bWVudC5mb3Jtc1toay5mb3JtLmlu ZGV4XTtha3koYmcpO2lmKGFrbyl7aWYoZD1rZSgKJ2VtYWlsVG8nKSl7YWtvLnNlbGVjdGVkSW5k ZXg9MDtkLnJlcGxhY2VDaGlsZChha28sZC5jaGlsZE5vZGVzWzBdKX1ha28uCmRpc2FibGVkPWVt fWlmKHN2LmJjYylzdi5iY2MudmFsdWU9Jyc7aGsubm9Vc2VyS2V5TmVlZGVkPScnO2FrdD1leTth a249MDt0YigKJ2hpZGRlblJlY2lwaWVudCcsJycpO2FrcihhbHApO2FrayhhbHEpO2lmKGhrKWhr LnNlbGVjdGVkSUQ9Jyc7dGIoJ3Bhc3NNc2cnLAonJm5ic3A7Jyk7dGIoJ2xhc3RMb2dpbkxvY2F0 aW9uJywnJm5ic3A7Jyk7dHEoaGsuZm9ybS5pbmRleCwndG9TZWxlY3QnKX0KZnVuY3Rpb24gYW9l KCl7dmFyIGQ7aWYoZD1rZSgndG9TZWxlY3QnKSlpZihkLgpzZWxlY3RlZEluZGV4PT1kLmxlbmd0 aC0xKWFtaygpfWZ1bmN0aW9uIGFsbih3cSwKYW5hKXt2YXIgZCxiZCxoaztpZihkPWtlKCdoaWRk ZW5SZWNpcGllbnQnKSl7ZC5pbm5lckhUTUw9CidceDNjaW5wdXQgdHlwZT1oaWRkZW4gJysnbmFt ZT1yZWNpcGllbnQgJysndmFsdWU9Iicrd3ErJyJceDNlJ31oaz1wYXlsb2FkOwpoay5zZWxlY3Rl ZElEPXdxO2lmKGQ9a2UoJ2VtYWlsVG8nKSl7aWYoYmQ9a2UoJ3RvU2VsZWN0Jykpe2Frbz1iZDtp ZighYW5hKQpha28udmFsdWU9d3E7ZC5yZW1vdmVDaGlsZChha28pfWlmKCFhbmEpe3RiKGQsd3Ep O2FsdygpfX19CmZ1bmN0aW9uIGFvbihhbW0pe2lmKGFtbSl0YignbGFzdExvZ2luTG9jYXRpb24n LAonTGFzdCBsb2dpbjogJythbW0pO2Vsc2UgdGwoJ2xhc3RMb2dpbkxvY2F0aW9uJyl9CmZ1bmN0 aW9uIGFvZygKYW5qKXt2YXIgZDtpZihhbmomJihkPWtlKCdzZW5kZXJBdXRoTG9jYXRpb24nKSkp e3RiKGQuY2VsbHNbMF0sCidBdXRoZW50aWNhdGlvbjonKTt0YihkLmNlbGxzWzFdLCdTZW5kZXIn KX19CmZ1bmN0aW9uIGFvaCgKYW9kKXt2YXIgZDtpZihkPWtlKCdzZW5zaXRpdml0eUxvY2F0aW9u Jykpe3RiKGQuY2VsbHNbMF0sJ01lc3NhZ2UgU2VjdXJpdHk6JwopO3RiKGQuY2VsbHNbMV0sYW9k KX19CmZ1bmN0aW9uIGFtdigpe3ZhciBkO2lmKGQ9a2UoJ3Bhc3NwaHJhc2VMYWJlbFJvdycpKWQu CmNsYXNzTmFtZT0nJztpZihkPXRiKCdwYXNzcGhyYXNlTGFiZWwnLCcnKSlkLmNsYXNzTmFtZT0n JztpZihkPXRiKAoncGFzc3BocmFzZVRleHQnLCcnKSlkLmNsYXNzTmFtZT0nJztpZihkPXRiKCdw YXNzcGhyYXNlSW5mbycsJycpKWQuY2xhc3NOYW1lCj0nJ31mdW5jdGlvbiBhbWQoKXt2YXIgZCxi ZztiZz1rZSgncGFzc3BocmFzZVRhYmxlJyk7ZD1rZSgncGFzc3BocmFzZUNlbGxKUycKKTtpZihk JiZiZyl7ZC5jbGFzc05hbWU9J3Bhc3NwaHJhc2VUVmVyJztkLnBhcmVudE5vZGUuY2xhc3NOYW1l PQoncGFzc3BocmFzZVRIb3InO2QuYXBwZW5kQ2hpbGQoYmcpfWlmKGQ9a2UoJ3Bhc3NwaHJhc2VM YWJlbFJvdycpKWQuY2xhc3NOYW1lCj0ncGFzc3BocmFzZUxhYmVsUm93JztpZihkPXRiKCdwYXNz cGhyYXNlTGFiZWwnLCdQZXJzb25hbCBTZWN1cml0eSBQaHJhc2UnKSkKZC5jbGFzc05hbWU9J3Bh c3NwaHJhc2VMYWJlbCc7aWYoZD1rZSgncGFzc3BocmFzZVRleHQnKSl7ZC5jbGFzc05hbWU9Cidw YXNzcGhyYXNlVGV4dCc7ZC5pbm5lckhUTUw9c3MoJ1Bhc3NwaHJhc2VUZXh0Jyl9aWYoZD1rZSgn cGFzc3BocmFzZUluZm8nKSkKe2QuY2xhc3NOYW1lPSdwYXNzcGhyYXNlSW5mbyc7ZC5pbm5lckhU TUw9dWYoJ01vcmUgaW5mbycsCidodHRwczovL2llYTM3MHEwMy5xYS5zYnIuaXJvbnBvcnQuY29t L3dlYnNhZmUvaGVscD90b3BpYz1QUE5vdFNob3duJyxiZyl9fQp2YXIgYWt2PScnLGFtdz1lbTtm dW5jdGlvbiBhbngoKXtpZihhbXcpcmV0dXJuO3ZhciBkLGR3LG9sLGhrCj1wYXlsb2FkLHN2PWRv Y3VtZW50LmZvcm1zWzFdO2R3PWtlKCdpZnJhbWVMb2NhdGlvbicpO2Frdj1rZSgnaWZyYW1lVGFi bGUnKTsKb2w9dWcoa2UoJ2hlaWdodENvbnRyb2wnKSk7aWYob2w8MjEwKW9sPTIxMDtzdi5oZWln aHQudmFsdWU9dWcoYWt2KTtzdi4KaGNfaGVpZ2h0LnZhbHVlPW9sO3N2Lmtza2gudmFsdWU9aGsu YWxnbmFtZXMua2V5U2VydmVyS2V5SGFzaDtzdi5tLnZhbHVlPWhrLgptc2dJRDtpZigoaGsuZmxh Z3MmYWJiKSYmKGhrLmZsYWdzJmFiaikmJigoaGsuCmZsYWdzJmFjail8fGl6KSl7c3YuZm9vLnZh bHVlPScxJ31zdi5zaWQudmFsdWU9aGsucnBjLnNlc3Npb258fCcnO2lmKGhrLnJwYy4KdHJhZmZp Y0tleSlzdi50ay52YWx1ZT1iYi5lbmNvZGVUb1N0cmluZyhoay5ycGMudHJhZmZpY0tleSk7YW13 PWJnfWZ1bmN0aW9uCmFuZCgpe3ZhciBkLGR3LG9sLGhrPXBheWxvYWQsZHE9W10sZHA9MCxzdj1k b2N1bWVudC5mb3Jtc1sxXSxhbXM7ZHc9a2UoCidpZnJhbWVMb2NhdGlvbicpO2FueCgpO3N2LnN1 LnZhbHVlPWhrLnNlbGVjdGVkSUQ7c3Yud2lkdGgudmFsdWU9dWgoa2UoCidib3JkZXJDb250YWlu ZXInKSk7c3YuY3Rfd2lkdGgudmFsdWU9dWgoa2UoJ2NlbnRlclRhYmxlJykpO29sPXVnKGR3KSso dmY/MzoKMSk7ZHcucmVtb3ZlQ2hpbGQoYWt2KTtpZih2ZiYmKGQ9a2UoJ2hpZGRlbkFyZWEnKSkp ZC5hcHBlbmRDaGlsZChha3YpO2lmKHN2LgphY3Rpb24uaW5kZXhPZignYXV0aGVudGljYXRlLmFj dGlvbicpPjApe2lmKHBhcnNlSW50KHN2LndpZHRoLnZhbHVlKTwzNjUpc3YuCndpZHRoLnZhbHVl PSczNjUnO29sKz0xMH1kdy5pbm5lckhUTUw9CidceDNjaWZyYW1lIGlkPWF1dGhGcmFtZSBuYW1l PSJhdXRoRnJhbWUiIGZyYW1lYm9yZGVyPTAgJysKJ3Njcm9sbGluZz1ubyBoZWlnaHQ9JytvbCso dmY/JyBzcmM9Im9wZXJhOmJsYW5rIiAnOicgJykrCid3aWR0aD0iMTAwJSJceDNlXHgzYy9pZnJh bWVceDNlJzthbXM9dG47c3Yuc3VibWl0KCk7dG49YW1zO2lmKHRuKXNldFRpbWVvdXQKKCJhbnEo KSIsMjUwKTthZmQucmVzZXQoKTt2YXIgZXE9MjUwMDtpZihha24+MCllcSs9NTAwMDtzZXRUaW1l b3V0KCJhbHMoKSIsCmVxKX1mdW5jdGlvbiBhbnEoKXt2YXIgZHc9a2UoJ2F1dGhGcmFtZScpO2lm KGR3JiZkdy5jb250ZW50V2luZG93JiZkdy4KY29udGVudFdpbmRvdy5mb2N1cylkdy5jb250ZW50 V2luZG93LmZvY3VzKCl9dmFyIGFrdD1ldgo7ZnVuY3Rpb24gYW5uKHN2LGhrKXt0cShoay5mb3Jt LmluZGV4LGhrLmZvcm0uZm9jdXNGaWVsZCk7c3dpdGNoKGFrdCl7Y2FzZQpldjpha3ooc3YsaGss Zm9ybUtleShzdi5rZXlTZXBhcmF0b3IudmFsdWUsc3Yua2V5Q2FzZUluc2Vuc2l0aXZlLnZhbHVl PT0nMScsCnN2KSk7YnJlYWs7Y2FzZSBmYzphbHUoKTticmVhaztjYXNlIGV5OmFtbygpO2JyZWFr fXJldHVybiBlbX1mdW5jdGlvbiBhbnIoc3YKLGFraCl7aWYoIWFraClha2g9d2luZG93LmV2ZW50 O2lmKGFraC5rZXlDb2RlPT0xMylpZihzdi5vbnN1Ym1pdClzdi5vbnN1Ym1pdAooKTtlbHNlIHN2 LnN1Ym1pdCgpO3JldHVybiBlbX12YXIgYWtuPTA7ZnVuY3Rpb24gYWx1KCl7dmFyIGhrCj1wYXls b2FkLGRyPScnLHN2PWRvY3VtZW50LmZvcm1zW2hrLmZvcm0uaW5kZXhdO2lmKHN2LnJlY2lwaWVu dCYmc3YuCnJlY2lwaWVudC52YWx1ZSE9J251bGwnKWRyPXsnc3UnOnN2LnJlY2lwaWVudC52YWx1 ZX07ZWwoaGsucnBjLGhrLm1zZ0lELGZjLDAKLGFudyxkciwnJywzMDAwMCl9ZnVuY3Rpb24gYW1v KCl7dmFyIGhrPXBheWxvYWQsc3YKPWRvY3VtZW50LmZvcm1zW2hrLmZvcm0uaW5kZXhdLHdxPScn O3RoKGhrLmZvcm0uaW5kZXgsMCk7aWYoaGsuc2VsZWN0ZWRJRCl3cQo9aGsuc2VsZWN0ZWRJRDtp Zighd3EmJnN2LnJlY2lwaWVudCl7d3E9c3YucmVjaXBpZW50LnZhbHVlO2lmKHdxPT0nbnVsbCd8 fHdxCj09J190byd8fHdxPT0nX2NjJ3x8d3E9PSdfYmNjJyl3cT0nJ31pZighd3EmJnN2LmJjYyl7 d3E9c3YuYmNjLnZhbHVlfWlmKHdxKQpoay5zZWxlY3RlZElEPXdxO2Vsc2V7aWYoc3YuYmNjKWFs ZXJ0KHNzKCdfTm9Vc2VyRW50ZXJlZCcpKTtlbHNlIGFsZXJ0KHNzKAonX05vVXNlclNlbGVjdGVk JykpO3RoKGhrLmZvcm0uaW5kZXgsMSk7cmV0dXJuIGVtfQppZihzdi5yZW1lbWJlck1lKWlmKHN2 LnJlbWVtYmVyTWUuY2hlY2tlZCloay5mbGFnc3w9YWNpO2Vsc2V7aGsuCmZsYWdzJj1+YWNpfXZh ciBlbz1oay5oYXJkZW5lcm5hbWU/aGsuaGFyZGVuZXJuYW1lK2hrLnJpZFswXTpoay5tc2dJRDt0 YigKJ2luaXRNc2cnLHNzKCdSUENXYWl0aW5nJykpO2VsKGhrLnJwYyxlbyxleSwwLGFudix7J3N1 Jzpoay5zZWxlY3RlZElEfSl9CmZ1bmN0aW9uIGFubShhb2Mpe3ZhciBkO3RiKCdwYXNzTXNnJywn Jyk7ZD11bShhb2MsCidfYmxhbmsnLCd0b29sYmFyPXllcywgbWVudWJhcj15ZXMsIHNjcm9sbGJh cnM9eWVzLCByZXNpemFibGU9eWVzLCAnKwonbG9jYXRpb249eWVzLCBzdGF0dXM9eWVzJyk7dHIo ZW0pO2FseSh7J3JlY2lwaWVudElkZW50aWZpZWQnOmVtfSk7aWYoZCYmZC4KZm9jdXMpZC5mb2N1 cygpfWZ1bmN0aW9uIGFscygpe3ZhciBoaz1wYXlsb2FkLGVvPQpoay5oYXJkZW5lcm5hbWU/aGsu aGFyZGVuZXJuYW1lK2hrLnJpZFswXTpoay5tc2dJRCx3bz0oKGhrLmZsYWdzJnpmKXx8KGhrLgpm bGFncyZhYWQpPycxJzonMCcpO2VsKGhrLnJwYyxlbyxldywwLGFudSx7J3N1Jzpoay5zZWxlY3Rl ZElELCdjayc6d299LCcnLAphZmQud2FpdCsxNTAwMCk7c2VsZi5zdGF0dXM9J0RvbmUnfWZ1bmN0 aW9uIGFtcigKYWx2KXt2YXIgYWt4PWFsdixhLGQ7ZD1kb2N1bWVudC5mb3Jtc1twYXlsb2FkLmZv cm0uaW5kZXhdWydyZWdpc3RlclVSTCddO2lmKApkJiZkLnZhbHVlKXt2YXIgYT1hbHYuaW5kZXhP ZignPycpO2FreD1kLnZhbHVlO2lmKGEhPS0xKWFreCs9YWx2LnN1YnN0cmluZyhhCil9cmV0dXJu IGFreH1mdW5jdGlvbiBhbGkoZHIpe3ZhciBzdSxkLGhrPXBheWxvYWQsYWt4PWFtcihkci5lbnJv bGxMaW5rKTsKYWtuKys7c3U9c3MoJ1JQQ05vdFJlZ2lzdGVyZWQnLCcnLGFreCk7YWtyKGFtZyxh a3gpO2Frayhha2wpO2FrdD1leTsKcmV0dXJuIHN1fWZ1bmN0aW9uIGFsaChkcil7dmFyIHN1LGQs aGs9cGF5bG9hZDtha24rKztzdT1zcygnUlBDTm90QWN0aXZhdGVkJwosJycsYW1yKGRyLmVucm9s bExpbmspKTt0Yignb3BlbkJ1dHRvbkxvY2F0aW9uJywnJyk7YWtrKGFrbCk7YWt0PWV5OwpyZXR1 cm4gc3V9ZnVuY3Rpb24gYWxtKGRyKXtha2soYWtsKTtyZXR1cm4gc3MoCidSUENMb2NrZWQnKSso ZHIuc3RhdHVzTXNnPydcblxuTG9ja2VkIG1lc3NhZ2U6ICcrZHIuc3RhdHVzTXNnOicnKX0KZnVu Y3Rpb24gYWxnKGRyKXtha2soYWtsKTtyZXR1cm4gc3MoJ1JQQ0V4cGlyZWQnKX0KZnVuY3Rpb24g YWxrKGRyKXtha2soYWtsKTtpZihkci5zdGF0dXM9PWZ6KWFsZXJ0KApzcygnUlBDU3VzcGVuZGVk JywnJyxkci5yZWNpcGllbnQpKTtlbHNlIGlmKGRyLnN0YXR1cz09ZnkpYWxlcnQoc3MoCidSUENO b3RTZW50RW52ZWxvcGUnLCcnLGRyLnJlY2lwaWVudCkpO2Vsc2UgaWYoZHIuc3RhdHVzPT1mdilh bGVydChzcygKJ1JQQ1VzZXJMb2NrZWQnLCcnLGRyLnJlY2lwaWVudCkpO3JldHVybiBzcygnUlBD UmVjaXBpZW50RXJyb3InKX0KZnVuY3Rpb24gYWxqKGRyKXt2YXIgZHc7YWtrKGFrbCk7YWxlcnQo c3MoJ1JQQ0Jsb2NrZWQnLCcnLGRyLgpyZWNpcGllbnQpKTtpZihkdz1rZSgncGFzc01zZycpKWR3 LmlubmVySFRNTD1zcygKJ1JQQ0Jsb2NrZWRUZXh0JykrdWYoJ0ZvcmdvdCBwYXNzd29yZD8nLCdo dHRwczovL2llYTM3MHEwMy5xYS5zYnIuaXJvbnBvcnQuY29tL3dlYnNhZmUvcHN3ZEZvcmdvdC5h Y3Rpb24nLGJnKTt9CmZ1bmN0aW9uIGFucyhhbHope3ZhciBha3M9YWx6LGEsZDtkPWRvY3VtZW50 LmZvcm1zW3BheWxvYWQuZm9ybS5pbmRleF1bCidwc3dkRXhwaXJlZFVSTCddO2lmKGQmJmQudmFs dWUpe3ZhciBhPWFsei5pbmRleE9mKCc/Jyk7YWtzPWQudmFsdWU7aWYoYSE9LTEKKXtpZihha3Mu aW5kZXhPZignPycpIT0tMSlha3MrPScmJztlbHNlIGFrcys9Jz8nO2Frcys9YWx6LnN1YnN0cmlu ZyhhKzEpfX0KcmV0dXJuIGFrc31mdW5jdGlvbiBhbXUoZHIpe3ZhciBkdyxha3M9YW5zKGRyLnBz d2RFeHBMaW5rKTtha2soYWtsKTtpZihkdz1rZQooJ3Bhc3NNc2cnKSlkdy5pbm5lckhUTUw9c3Mo J1JQQ1Bhc3N3b3JkRXhwaXJlZCcpK3VmKCdDaGFuZ2UgcGFzc3dvcmQnLGFrcywKYmcpfWZ1bmN0 aW9uIGFtdChkcil7dmFyIGhrPXBheWxvYWQsYWt3PWFsZDtpZihkci4KcmVjaXBpZW50KXtpZigh ZHIucmVjaXBpZW50SWRlbnRpZmllZClkci5hdXRvT3Blbj1iZztha3d8PWFrbH1lbHNle2RyLgph dXRvT3Blbj1iZzthbG4oJ3VuZGVmaW5lZCcpO3RiKCdlbWFpbFRvJywncG9ydHMtY29tbWl0dGVy c0BGcmVlQlNELm9yZywgY3ZzLXBvcnRzQEZyZWVCU0Qub3JnLCBjdnMtYWxsQEZyZWVCU0Qub3Jn Jyl9aGsubm9Vc2VyS2V5TmVlZGVkPWJnOwpha2soYWt3KTthbWMoaGspO2FtZCgpO2FtYihoayww LGRyLgpyZWNpcGllbnRJZGVudGlmaWVkKTtha3IoYWt1KTt0cShoay5mb3JtLmluZGV4LGhrLmZv cm0uZm9jdXNGaWVsZCk7YW1xKCk7YWt0Cj1ldn1mdW5jdGlvbiBhbHkoZHIpe3ZhciBoaz1wYXls b2FkO2FrayhhbGR8YWtsKTsKYW1jKGhrKTthbWQoKTthbWIoaGssMCxkci5yZWNpcGllbnRJZGVu dGlmaWVkCik7YWtyKGFrdSk7dHEoaGsuZm9ybS5pbmRleCxoay5mb3JtLmZvY3VzRmllbGQpO2Fr dD1ldjthbXEoKTsKYW5kKCk7fWZ1bmN0aW9uIGFudAooZHIpe3ZhciBkLGhrPXBheWxvYWQ7aWYo YWtvKXt0YignaGlkZGVuUmVjaXBpZW50JywnJyk7aWYoZD1rZSgnZW1haWxUbycpKXsKYWtvLnNl bGVjdGVkSW5kZXg9MDtkLnJlcGxhY2VDaGlsZChha28sZC5jaGlsZE5vZGVzWzBdKX19YWtyKGFs cCk7YWtrKGFscSk7CnRxKGhrLmZvcm0uaW5kZXgsJ3RvU2VsZWN0Jyk7YWt0PWV5fWZ1bmN0aW9u IGFsYigKZHIpe3ZhciBkO2FreShlbSk7aWYoZHIuc3RhdHVzPT1mcil7YWtyKGFtZik7dGIoCidw YXNzTXNnJyxzcygnUlBDUG9sbFRpbWVvdXQnKSl9ZWxzZXtpZihkci5zdGF0dXM9PWVyfHxkci5z dGF0dXM9PQpnYSl7YWtyKGFtZSk7dGIoJ3Bhc3NNc2cnLHNzKCdGYXRhbEVycm9yUmV0cnknKSk7 YWxlcnQoc3MoKGRyLnN0YXR1cz09ZXI/CidSUENOb1NlcnZlcic6J1JQQ0Vycm9yJykpKX1lbHNl e3RiKCdwYXNzTXNnJyxzcygnRmF0YWxFcnJvcicpKTtpZihkci5zdGF0dXMKPjI3JiZkci5tZXNz YWdlKWFsZXJ0KGRyLm1lc3NhZ2UrJ1xuXG5TdGF0dXM6ICcrZHIuc3RhdHVzKTtlbHNlIGFsZXJ0 KHNzKAonUlBDRXJyb3InLCcnLGRyLnN0YXR1cykpfX19ZnVuY3Rpb24gYW53KGRyKXt2YXIgZAos dWksdGosZHcsYWtoLGhrPXBheWxvYWQsc3Y9aGsuZm9ybS5pbmRleHx8MDt0YignaW5pdE1zZycs JycpO3RiKCdwYXNzTXNnJywKJycpO2lmKGRyLnRyYWZmaWNLZXkpZHIuUlBDUmVmLnRyYWZmaWNL ZXk9ZHIudHJhZmZpY0tleTtpZihkci5zZXNzaW9uSWQpZHIuClJQQ1JlZi5zZXNzaW9uPWRyLnNl c3Npb25JZDthZmQuaW5pdGlhbGl6ZShkci5taW5Qb2xsLGRyLm1heFBvbGwsZHIuCnRvdGFsUG9s bCxkci53YWl0VGltZSk7aGsuY29va2llc0VuYWJsZWQ9ZHIuY29va2llc0VuYWJsZWQ7aWYoZHIu c2VuZGVyQXV0aCkKaGsuc2VuZGVyQXV0aD1kci5zZW5kZXJBdXRoO2FvZyhkci5zZW5kZXJBdXRo KTsKYW9oKGRyLnNlbnNpdGl2aXR5KTtpZihkPWtlKAondG9TZWxlY3QnKSlkLmRpc2FibGVkPTA7 aWYoZHIucmVjaXBpZW50KWFsbihkci5yZWNpcGllbnQpO3N3aXRjaChkci5zdGF0dXMpCntjYXNl IGdjOmNhc2UgZng6YW50KGRyKTtyZXR1cm47Y2FzZSBmbTpjYXNlIGZ3OnVpPShkci5zdGF0dXM9 PWZtP2FsaShkcik6CmFsaChkcikpO2lmKGFrbj4xKXt0YigncGFzc01zZycsdWksYmcpO3VpPScn fWlmKGFrbj4zKXthbGVydChzcygKJ1JQQ1Rvb01hbnlSZXRyaWVzJykpfWJyZWFrO2Nhc2UgZno6 Y2FzZSBmdjpjYXNlIGZ5OnVpPWFsayhkcik7YnJlYWs7Y2FzZSBmcwo6YWxqKGRyKTticmVhaztj YXNlIGZ1OmFtdChkcik7aWYoIWFraClha2g9YWNufHx3aW5kb3cuZXZlbnQ7aWYoZHIuYXV0b09w ZW4KJiYoIWFraHx8IWFraC5hbHRLZXkpKWFreihkb2N1bWVudC5mb3Jtc1tzdl0saGssJycsYWto LGJnKTticmVhaztjYXNlIGZmOnVpPQpzcygnUlBDQXV0aEZhaWxlZCcpO2Nhc2UgZnQ6YWx5KGRy KTticmVhaztjYXNlIGZoOnRqPWFsbShkcik7YnJlYWs7Y2FzZSBmajoKdGo9YWxnKGRyKTticmVh aztkZWZhdWx0OmFsYihkcik7cmV0dXJuO31pZighZHcpZHc9KHVpPydwYXNzTXNnJzonJyk7c3Eo ZHcsCnVpLCcnLHRqKX1mdW5jdGlvbiBhbnYoZHIpe3ZhciBkLHVpLHRqLGR3LGFraCxoaz0KcGF5 bG9hZCxzdj1oay5mb3JtLmluZGV4fHwwO3RiKCdpbml0TXNnJywnJyk7dGIoJ3Bhc3NNc2cnLCcn KTt0YigKJ29wZW5CdXR0b25Mb2NhdGlvbicsJycpO2lmKGRyLnJlY2lwaWVudClhbG4oZHIucmVj aXBpZW50KTt1bygnYmNjUm93Jyk7aWYoCmRyLnRyYWZmaWNLZXkpZHIuUlBDUmVmLnRyYWZmaWNL ZXk9ZHIudHJhZmZpY0tleTtpZihkci5zZXNzaW9uSWQpZHIuUlBDUmVmLgpzZXNzaW9uPWRyLnNl c3Npb25JZDtoay5jb29raWVzRW5hYmxlZD1kci5jb29raWVzRW5hYmxlZDtzd2l0Y2goZHIuc3Rh dHVzKXsKY2FzZSBmbTpjYXNlIGZ3OnVpPShkci5zdGF0dXM9PWZtP2FsaShkcik6YWxoKGRyKSk7 aWYoYWtuPjEpe3RiKCdwYXNzTXNnJyx1aQosYmcpO3VpPScnfWlmKGFrbj4zKXthbGVydChzcygn UlBDVG9vTWFueVJldHJpZXMnKSl9YnJlYWs7Y2FzZSBmejpjYXNlIGZ2OgpjYXNlIGZ5OnVpPWFs ayhkcik7YnJlYWs7Y2FzZSBmczphbGooZHIpO2JyZWFrO2Nhc2UgZnU6YW10KGRyKTtpZighYWto KWFraD0KYWNufHx3aW5kb3cuZXZlbnQ7aWYoZHIuYXV0b09wZW4mJighYWtofHwhYWtoLmFsdEtl eSkpYWt6KGRvY3VtZW50LmZvcm1zW3N2XQosaGssJycsYWtoKTticmVhaztjYXNlIGZmOnVpPXNz KCdSUENBdXRoRmFpbGVkJyk7Y2FzZSBmdDpjYXNlIGdjOmFseShkcik7CmJyZWFrO2Nhc2UgZmg6 dGo9YWxtKGRyKTticmVhaztjYXNlIGZqOnRqPWFsZyhkcik7YnJlYWs7ZGVmYXVsdDphbGIoZHIp OwpyZXR1cm47fWlmKCFkdylkdz0odWk/J3Bhc3NNc2cnOicnKTtzcShkdyx1aSwnJyx0aik7dGgo c3YsMSl9CmZ1bmN0aW9uIGFudShkcil7dmFyIGQsdWksdGosZHcsYWtoLGhrPQpwYXlsb2FkLHN2 PWhrLmZvcm0uaW5kZXh8fDAsaG07aWYoZHIuZXZlbnQpe2V2YWwoJ2dFdmVudD0nK2RyLmV2ZW50 Kyc7Jyk7YWtoCj1hY259aWYoIWFraClha2g9YWNufHx3aW5kb3cuZXZlbnQ7ZHIucmVjaXBpZW50 PWhrLnNlbGVjdGVkSUQ7aWYoZHIuc3RhdHVzPT0KZ2Mpe2lmKGRyLmZuY2FsbCl7ZXZhbChkci5m bmNhbGwpO3JldHVybjt9ZWwoaGsucnBjLGhrLm1zZ0lELGV1LDAsJycseyducic6MQp9KTtpZihk ci5zZWN1cmVOYW1lJiZoay5zZWxlY3RlZElEIT0ndW5kZWZpbmVkJyloay5zZWN1cmVOYW1lPWhr LmZvcm0uZm9ybS4Kc2VjdXJlTmFtZS52YWx1ZT1kci5zZWN1cmVOYW1lO2lmKGRyLm9mZmVyTG9n b3V0KWhrLmxvZ291dFVSTD1oay5mb3JtLmZvcm0uCmxvZ291dFVSTC52YWx1ZT0KJ2h0dHBzOi8v aWVhMzcwcTAzLnFhLnNici5pcm9ucG9ydC5jb20va2V5c2VydmVyL0xvZ291dCcKO2hrLmZvcm0u Zm9ybS5zZXNzaW9ua2V5LnZhbHVlPWJiLmVuY29kZVRvU3RyaW5nKGRyLmtleSk7aWYoZHIub3Bl bk9ubGluZSl7Cm9wZW5PbmxpbmUoaGspO3JldHVybiBlbX1hbmMoaGssZHIuY2FjaGVGbGFncyk7 aWYoZHIuY2FjaGVrZXkpaGsudXNlcktleT1kci4KY2FjaGVrZXk7aGsuc2Vzc2lvbktleT1kci5r ZXk7aGsuZXZlbnQ9YWtofHxhY258fHdpbmRvdy5ldmVudDtobT0oZHIuCnJlcXVlc3RTdGF0ZT09 ZXg/aXE6amgpO3JldHVybiBhY2EoaGssJycsMjUwLGhtLHsncHJvZ3Jlc3MnOnR0LCdlcnJvcic6 CmRpc3BsYXlFcnJvciwncnBjJzphbWosJ3NhdmVkJzp0eSwnZmluYWxpemUnOmFucH0seydwcm9n cmVzc0Jhcic6eydiZ0NvbG9yJzoKJyM4MDgwODAnLCdib3JkZXJDb2xvcic6JyMwMDAwMDAnfX0p fWVsc2UgaWYoZHIuc3RhdHVzPT1mcnx8ZHIuc3RhdHVzPT1mZyl7CmlmKGRyLnN0YXR1cz09Zmcp YWZkLnJlc2V0KCk7dmFyIGFteD1hZmQuZ2V0TmV4dEludGVydmFsKCJhbHMoKSIpO2lmKGFteDww KXsKaWYoYW14PT0tMil7fWVsc2V7YWxiKGRyKX19cmV0dXJuIGVtfWFreShiZyk7c3dpdGNoKGRy LnN0YXR1cyl7Y2FzZSBmbTpjYXNlCmZ3OnVpPShkci5zdGF0dXM9PWZtP2FsaShkcik6YWxoKGRy KSk7aWYoYWtuPjEpe3RiKCdwYXNzTXNnJyx1aSxiZyk7dWk9Jyd9aWYKKGFrbj4zKXthbGVydChz cygnUlBDVG9vTWFueVJldHJpZXMnKSl9YnJlYWs7Y2FzZSBmcDphbXUoZHIpO2JyZWFrO2Nhc2Ug Znk6CmNhc2UgZnY6Y2FzZSBmejp1aT1hbGsoZHIpO2JyZWFrO2Nhc2UgZnM6YWxqKGRyKTticmVh aztjYXNlIGZoOnRqPWFsbShkcik7CmJyZWFrO2Nhc2UgZmo6dGo9YWxnKGRyKTticmVhaztjYXNl IGZ0OmFrayhha2wpO3RiKCdwYXNzTXNnJyxzcygKJ1JQQ0luc3VmZmljaWVudEF1dGgnKSxiZyk7 YnJlYWs7ZGVmYXVsdDphbGIoZHIpO3JldHVybjt9aWYoIWR3KWR3PSh1aT8KJ3Bhc3NNc2cnOicn KTtzcShkdyx1aSwnJyx0ail9ZnVuY3Rpb24KYWNvKGRyKXt2YXIgZCx1aSx0aixkdyxha2gsaGs9 cGF5bG9hZCxzdj1oay5mb3JtLmluZGV4fHwwO3RiKCdpbml0TXNnJywnJyk7CnRiKCdwYXNzTXNn JywnJyk7aWYoZHIuc3RhdHVzPT1nYyl7aWYoZHIuc2VjdXJlTmFtZSYmaGsuc2VsZWN0ZWRJRCE9 Cid1bmRlZmluZWQnKWhrLnNlY3VyZU5hbWU9ZHIuc2VjdXJlTmFtZTtpZihkci5vZmZlckxvZ291 dCloay5sb2dvdXRVUkw9CidodHRwczovL2llYTM3MHEwMy5xYS5zYnIuaXJvbnBvcnQuY29tL2tl eXNlcnZlci9Mb2dvdXQnCjthYncoZHIuc3RhdHVzLGRyLnN0YXRlLGRyLmtleSxkcik7cmV0dXJu O31lbHNlIGlmKGRyLnN0YXR1cyE9Zmcpe2FreShiZyl9CnN3aXRjaChkci5zdGF0dXMpe2Nhc2Ug Zmc6aWYoaGsudXNlcktleSl7dHgodXMsJycpO3d6KGhrLnVzZXJrZXluYW1lKTtoay4KdXNlcktl eT0nJzthbGEoaGssYmcpfWVsc2V7dHgoc24sJycpfWJyZWFrO2Nhc2UgZm06Y2FzZSBmdzp1aT0o ZHIuc3RhdHVzPT1mbQo/YWxpKGRyKTphbGgoZHIpKTtpZihha24+MSl7dGIoJ3Bhc3NNc2cnLHVp LGJnKTt1aT0nJ31pZihha24+Myl7YWxlcnQoc3MoCidSUENUb29NYW55UmV0cmllcycpKX1icmVh aztjYXNlIGZwOmFtdShkcik7YnJlYWs7Y2FzZSBmejpjYXNlIGZ2OmNhc2UgZnk6dWkKPWFsayhk cik7YnJlYWs7Y2FzZSBmczphbGooZHIpO2JyZWFrO2Nhc2UgZmg6dGo9YWxtKGRyKTticmVhaztj YXNlIGZqOnRqPWFsZwooZHIpO2JyZWFrO2Nhc2UgZnQ6YWtrKGFrbCk7dGIoJ3Bhc3NNc2cnLHNz KCdSUENJbnN1ZmZpY2llbnRBdXRoJyksYmcpO2JyZWFrCjtkZWZhdWx0OnNlKDEpO2FsYihkcik7 cmV0dXJuO31pZighZHcmJnVpKWR3PSdwYXNzTXNnJztzcShkdyx1aSwnJyx0aik7dGgoc3YKLDEp O3NlKDEpfXZhciBhbmc9MDsKCgpmdW5jdGlvbiBhbG8oc3YsYWV1KXsKfWZ1bmN0aW9uIGFuYyho aywKYWttKXt2YXIgYW16PTAKCnxhY2k7aGsuZmxhZ3N8PWFtejtha218PX5hbXo7aGsuZmxhZ3Mm PQpha207aWYoIShoay5mbGFncyZhYWQpKXd6KGhrLnVzZXJrZXluYW1lKTtpZighKGhrLmZsYWdz JnplKSl3eShoay5tc2dJRCl9CmZ1bmN0aW9uIGFubyhyZSxzcil7dGgoMCwxKX1mdW5jdGlvbiBh bnAKKHJlLHNyKXtpZihyZSl7YWZkLmNhbmNlbCgpO2VrKHBheWxvYWQucnBjKTtha3koYmcpO3Jl dHVybjt9YWZkLnJlc2V0KCk7YWxzKAopfXZhciBhbmI9MDtmdW5jdGlvbiBhbW4oYW5pLGFraCl7 YW5iPWFuaTthbWEoYWtoKTsKcmV0dXJuIDF9ZnVuY3Rpb24gYW9mKCl7dmFyIGhrPXBheWxvYWQs c3Y9ZG9jdW1lbnQuZm9ybXNbaGsuZm9ybS5pbmRleF07aWYoCmhrLm5vVXNlcktleU5lZWRlZHx8 KHN2LmtleTEmJnN2LmtleTEudmFsdWUpKW9wZW5PbmxpbmUoaGspO2Vsc2UgYWtyKGFsYyl9CmZ1 bmN0aW9uIGFvbChha2gpe3RyKGJnKX1mdW5jdGlvbiBhb28oYWtoKXt0cihlbSl9dmFyIGFseD0n JzsKZnVuY3Rpb24gYW5sKGRyKXtha3ooZHIuZm9ybSxkci5wYXlsb2FkUmVmLGRyLmtleSxkci5l dnQpO2FseD0nJ30KZnVuY3Rpb24gYWt6KHN2LGhrLG0sYWtoLGVxKXt2YXIgYWttPTA7aWYoZXEp e2FseD17J2Zvcm0nOnN2LAoncGF5bG9hZFJlZic6aGssJ2tleSc6bSwnZXZ0Jzpha2h9O3NldFRp bWVvdXQoImFubChhbHgpIixpcz8xMjU6MSk7cmV0dXJuO30KaWYoKGhrLmZsYWdzJnl5KSYmIXN2 LmF1dG9PcGVuKXtha209aGsuZmxhZ3M7aWYoIW0mJiFoay51c2VyS2V5KXsKaWYoaGsuZmxhZ3Mm emYpYWttPTA7ZWxzZSBha20mPX5hYWR9ZWxzZSBpZihoay5lbmNyeXB0ZWRTZXNzaW9uS2V5KWFr bXw9emV8CnpmO2lmKGhrLnNlc3Npb25LZXkpYWttfD16ZX1lbHNle2lmKHN2LmNhY2hlVXNlcktl eSYmc3YuY2FjaGVVc2VyS2V5LmNoZWNrZWQKKWFrbXw9YWFkO2lmKHN2LmNhY2hlU2Vzc2lvbktl eSYmc3YuY2FjaGVTZXNzaW9uS2V5LmNoZWNrZWQpYWttfD16ZTtpZihzdi4KY2FjaGVFbmNyeXB0 ZWRTZXNzaW9uS2V5JiZzdi5jYWNoZUVuY3J5cHRlZFNlc3Npb25LZXkuY2hlY2tlZClha218PSh6 ZXx6Zik7CmlmKHN2LmF1dG9PcGVuJiZzdi5hdXRvT3Blbi5jaGVja2VkKWFrbXw9eXk7aWYoc3Yu cmVtZW1iZXJNZSYmc3YucmVtZW1iZXJNZS4KY2hlY2tlZClha218PWFjaX1hbmMoaGssYWttKTt0 aCgwLDApO3RiKCdwYXNzTXNnJywnJyk7aGsuZXZlbnQ9YWtofHxhY258fAp3aW5kb3cuZXZlbnQ7 cmV0dXJuIGFjYShoayxtLDI1MCxhbmIseydwcm9ncmVzcyc6dHQsJ2Vycm9yJzpkaXNwbGF5RXJy b3IsCidycGMnOmFtaiwnc2F2ZWQnOnR5LCdmaW5hbGl6ZSc6YW5vfSx7J3Byb2dyZXNzQmFyJzp7 J2JnQ29sb3InOicjODA4MDgwJywKJ2JvcmRlckNvbG9yJzonIzAwMDAwMCd9fSl9ZnVuY3Rpb24g YWtqKHN1KXtpZighc3Upc3U9Jyc7ZG9jdW1lbnQud3JpdGUoc3UrCidceDNjIS0tJyl9ZnVuY3Rp b24gYWtpKCl7ZG9jdW1lbnQud3JpdGUoJy0tXHgzZScpfWZ1bmN0aW9uIGFteShkdyl7ZHc9a2Uo ZHcKKTtyZXR1cm4oZHcmJmR3LmlubmVySFRNTC5pbmRleE9mKCduYnNwJykhPS0xKX12YXIgdXNl clRleHQ9ewonTm9QYXNzd29yZFJlcXVpcmVkJzonTm8gcGFzc3dvcmQgcmVxdWlyZWQuJywnUlBD RXJyb3InOgonU3lzdGVtIHVuYXZhaWxhYmxlLiBQbGVhc2UgbWFrZSBzdXJlIHlvdSBhcmUgb25s aW5lICcrCicgYW5kIHRyeSBhZ2FpbiBsYXRlci5cblxuU3RhdHVzOiAkWzBdJywnUlBDRXhwaXJl ZCc6CidNZXNzYWdlIGV4cGlyZWQuIENvbnRhY3Qgc2VuZGVyIHRvIHJlYWN0aXZhdGUuJywnUlBD TG9ja2VkJzoKJ01lc3NhZ2UgbG9ja2VkLiBDb250YWN0IHNlbmRlciBmb3IgbW9yZSBpbmZvcm1h dGlvbi4nLCdSUENOb1NlcnZlcic6CidTeXN0ZW0gdW5hdmFpbGFibGUuIFBsZWFzZSBtYWtlIHN1 cmUgeW91IGFyZSBvbmxpbmUgJysKJ2FuZCB0cnkgYWdhaW4gbGF0ZXIuJywnUlBDQXV0aEZhaWxl ZCc6CidZb3VyIHBhc3N3b3JkIGhhcyBjaGFuZ2VkLiBQbGVhc2UgZW50ZXIgeW91ciAnKydwYXNz d29yZC4nLAonUlBDTm90U2VudEVudmVsb3BlJzonVGhpcyBtZXNzYWdlIHdhcyBub3Qgc2VudCB0 byB5b3VyIGFkZHJlc3MgJysnKCRbMF0pLicsCidSUENTdXNwZW5kZWQnOidZb3VyIGFjY291bnQg KCRbMF0pIGhhcyBiZWVuIHN1c3BlbmRlZC4gUGxlYXNlICcrCidjb250YWN0IHRoZSBzZW5kZXIg Zm9yIG1vcmUgaW5mb3JtYXRpb24uJywnUlBDVXNlckxvY2tlZCc6CidZb3VyIGFjY291bnQgKCRb MF0pIGhhcyBiZWVuIGxvY2tlZC4gUGxlYXNlICcrCidjb250YWN0IHRoZSBzZW5kZXIgZm9yIG1v cmUgaW5mb3JtYXRpb24uJywKJ1JQQ0Jsb2NrZWQnOidZb3VyIGFjY291bnQgKCRbMF0pIGhhcyBi ZWVuIGJsb2NrZWQgYmVjYXVzZSBvZiB0b28gJysKJ21hbnkgaW5jb3JyZWN0IHBhc3N3b3JkIGF0 dGVtcHRzLiBQbGVhc2UgdXNlIHRoZSBGb3Jnb3QgJysKJ1Bhc3N3b3JkIGxpbmsgdG8gcmVhY3Rp dmF0ZSB5b3VyIGFjY291bnQuJywnUlBDQmxvY2tlZFRleHQnOgonWW91ciBhY2NvdW50IGhhcyBi ZWVuIGJsb2NrZWQuIFVzZSB0aGUgRm9yZ290ICcrCidQYXNzd29yZCBsaW5rIGJlbG93IHRvIHJl YWN0aXZhdGUgeW91ciBhY2NvdW50Llx4M2Niclx4M2UnLAonUlBDUGFzc3dvcmRFeHBpcmVkJzon WW91ciBwYXNzd29yZCBoYXMgZXhwaXJlZC4gVXNlIHRoZSBsaW5rIGJlbG93ICcrCid0byBjaGFu Z2UgeW91ciBwYXNzd29yZC5ceDNjYnJceDNlJywnUlBDTm90UmVnaXN0ZXJlZCc6CidUbyBvcGVu IHRoaXMgbWVzc2FnZSwgZmlyc3QgY2xpY2sgdGhlIGJ1dHRvbiB0byAnKwoncmVnaXN0ZXIuIEFm dGVyIHJlZ2lzdGVyaW5nLCBjb21lIGJhY2sgdG8gY29udGludWUgb3BlbmluZyAnKyd0aGUgbWVz c2FnZS4nCiwnUlBDTm90QWN0aXZhdGVkJzonVG8gb3BlbiB0aGlzIG1lc3NhZ2UgeW91ciBhY2Nv dW50IG11c3QgZmlyc3QgYmUgJysKJ2FjdGl2YXRlZC4gUGxlYXNlIGNvbnRhY3QgdGhlIHNlbmRl ciBmb3IgbW9yZSBpbmZvcm1hdGlvbi4nLAonUlBDVG9vTWFueVJldHJpZXMnOidZb3UgbXVzdCBz dWNjZXNzZnVsbHkgc2V0dXAgYW4gYWNjb3VudCB0byBvcGVuICcrCid0aGlzIG1lc3NhZ2UuIElm IHlvdSBoYXZlIG5vdCByZWdpc3RlcmVkIHRoZW4gY2xpY2sgdGhlIGxpbmsgdG8gJysKJ2RvIHNv LiBJZiB5b3UgYWxyZWFkeSByZWdpc3RlcmVkIHRoZW4gY2hlY2sgeW91ciBpbmJveCBmb3IgYW4g JysKJ2FjdGl2YXRpb24gZW1haWwuIEZvciBtb3JlIGluZm9ybWF0aW9uIHBsZWFzZSBjb250YWN0 IHN1cHBvcnQuJywKCidSUENSZWNpcGllbnRFcnJvcic6J1lvdSBtYXkgbm90IG9wZW4gdGhpcyBt ZXNzYWdlIHVzaW5nIHRoaXMgJysKJ2FkZHJlc3MuIFRvIG9wZW4gdGhpcyBtZXNzYWdlIGFzIGEg ZGlmZmVyZW50IHVzZXIsIGNsaWNrIHRoZSAnKwonbGluayB0byB0aGUgcmlnaHQuJywnUlBDSW5z dWZmaWNpZW50QXV0aCc6CidZb3UgbWF5IG5vdCBvcGVuIHRoaXMgbWVzc2FnZSBiZWNhdXNlIHlv dSAnKwonZG8gbm90IGhhdmUgYSBzdWZmaWNpZW50IGxldmVsIG9mIGF1dGhlbnRpY2F0aW9uIGZv ciB0aGlzICcrCidtZXNzYWdlIHNlbnNpdGl2aXR5LicsJ1JQQ1dhaXRpbmcnOidDb250YWN0aW5n IHNlcnZlci4gUGxlYXNlIHdhaXQuLi4nLAonRmF0YWxFcnJvcic6J0FuIGVycm9yIG9jY3VycmVk IGFuZCB0aGlzIG1lc3NhZ2UgY2Fubm90IGJlIG9wZW5lZC4gJysKJ1BsZWFzZSB0cnkgYWdhaW4g bGF0ZXIuJywnRmF0YWxFcnJvclJldHJ5JzoKJ0FuIGVycm9yIG9jY3VycmVkIGFuZCB0aGlzIG1l c3NhZ2UgY2Fubm90IGJlICcrCidvcGVuZWQuIENvbnRhY3QgdGhlIHNlbmRlciwgb3IgcmVmcmVz aCB0aGlzIHBhZ2UgdG8gdHJ5IGFnYWluLicsCidSUENQb2xsVGltZW91dCc6J1lvdSBzZWVtIHRv IGhhdmUgc3RlcHBlZCBhd2F5IGZyb20geW91ciBjb21wdXRlci4gJysKJ1RvIGVudGVyIHlvdXIg cGFzc3dvcmQgYW5kIG9wZW4geW91ciBtZXNzYWdlLCBjbGljayB0aGUgUmVmcmVzaCAnKydidXR0 b24uJwosJ1NhdmVkUGFnZSc6J0l0IGFwcGVhcnMgeW91IHRyaWVkIHRvIHNhdmUgdGhpcyBlbnZl bG9wZSBmcm9tIHlvdXIgJysKJ2Jyb3dzZXIgYXMgYSAiV2ViIFBhZ2UsIGNvbXBsZXRlLiIgVW5m b3J0dW5hdGVseSwgc2F2aW5nIGEgJysKJ3JlZ2lzdGVyZWQgZW52ZWxvcGUgaW4gdGhpcyB3YXkg Y2F1c2VzIHRoZSBicm93c2VyIHRvIGlycmVwYXJhYmx5ICcrCidicmVhayB0aGUgZW52ZWxvcGUu IFRoZSBkaXNwbGF5IHdpbGwgbG9vayBnYXJibGVkIGFuZCB0aGUgZW52ZWxvcGUgJysKJ3dpbGwg bm90IG9wZW4uIFRvIG9wZW4geW91ciBtZXNzYWdlIHBsZWFzZSBnbyBiYWNrIGFuZCBvcGVuIHRo ZSAnKwonb3JpZ2luYWwgZmlsZS4nLCdEaWZmZXJlbnRBZGRyZXNzTGluayc6J1NlbGVjdCBhIGRp ZmZlcmVudCBhZGRyZXNzJywKJ05vdExpc3RlZExpbmsnOidNeSBhZGRyZXNzIGlzIG5vdCBsaXN0 ZWQnLCdPcGVuT25saW5lVGlwJzoKJ0lmIHlvdSBleHBlcmllbmNlIHByb2JsZW1zIG9wZW5pbmcg dGhpcyBtZXNzYWdlLCAnKyd0cnkgdG8gJFswXScsCidPcGVuT25saW5lSGludCc6J1N1Ym1pdCB5 b3VyIHBhc3N3b3JkIGFib3ZlIHRvIG9wZW4geW91ciBtZXNzYWdlIG9ubGluZScsCidQYXNzcGhy YXNlVGV4dCc6J1x4M2NpXHgzZVlvdXIgcGVyc29uYWwgcGhyYXNlIGlzIG5vdCBlbmFibGVkIG9u ICcrCid0aGlzIG1hY2hpbmUuXHgzYy9pXHgzZSd9LGVoPWV0Oy8vLS0+PC9zY3JpcHQ+PC9oZWFk Pjxib2R5CmJnY29sb3I9IiNFN0U3RTciPjxzcGFuCmlkPSJmZl90cmFzaCIKc3R5bGU9ImRpc3Bs YXk6bm9uZSI+PC9zcGFuPjxzY3JpcHQKdHlwZT0idGV4dC9qYXZhc2NyaXB0IgpsYW5ndWFnZT1q YXZhc2NyaXB0PjwhLS0KaWYoa2UoJ2ZmX3NhdmVkJykpYWxlcnQoc3MoJ1NhdmVkUGFnZScpKTt2 YXIgYW5lO2lmKGFuZT1rZSgnZmZfdHJhc2gnKSlhbmUuCmlubmVySFRNTD0nXHgzY3NwYW4gaWQ9 ZmZfc2F2ZWRceDNlXHgzYy9zcGFuXHgzZSc7dHIoYmcpO3dpbmRvdy5vbmZvY3VzPWFvbDsKLy8t LT48L3NjcmlwdD48c3BhbgppZD1jb21tZW50dGVzdApzdHlsZT0iZGlzcGxheTogbm9uZSI+PHNj cmlwdAp0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiCmxhbmd1YWdlPWphdmFzY3JpcHQ+PCEtLQpha2oo KTsvLy0tPjwvc2NyaXB0PiZuYnNwOzxzY3JpcHQKdHlwZT0idGV4dC9qYXZhc2NyaXB0IgpsYW5n dWFnZT1qYXZhc2NyaXB0PjwhLS0KYWtpKCk7Ly8tLT48L3NjcmlwdD48L3NwYW4+PHNwYW4KaWQ9 eG1wdGVzdApzdHlsZT0iZGlzcGxheTogbm9uZSI+PHNjcmlwdAp0eXBlPSJ0ZXh0L2phdmFzY3Jp cHQiCmxhbmd1YWdlPWphdmFzY3JpcHQ+PCEtLQpkb2N1bWVudC53cml0ZSgnXHgzY3htcFx4M2Un KTsvLy0tPjwvc2NyaXB0PiZuYnNwOzx4bXA+PC94bXA+PC9zcGFuPjxzY3JpcHQKdHlwZT0idGV4 dC9qYXZhc2NyaXB0IgpsYW5ndWFnZT1qYXZhc2NyaXB0PjwhLS0Kdmg9YW15KCdjb21tZW50dGVz dCcpO3ZpPWFteSgneG1wdGVzdCcpO3ZnPSEodmh8fHZpKTsvLy0tPjwvc2NyaXB0Pgo8c2NyaXB0 CnR5cGU9InRleHQvamF2YXNjcmlwdCIKbGFuZ3VhZ2U9amF2YXNjcmlwdD48IS0tCmFraigpOy8v LS0+PC9zY3JpcHQ+PHA+UmVhc29ucyB5b3UgbWF5IGJlIHNlZWluZyB0aGlzIHRleHQ6PG9sCmNs YXNzPW1haW5SZWFzb25zPjxsaT5Zb3UgYXJlIHNlZWluZyB0aGlzIHRleHQgaW4geW91ciBwcmV2 aWV3IHBhbmUuIFBsZWFzZQpvcGVuIHRoZSBhdHRhY2htZW50IHRvIHJlYWQgeW91ciBzZWN1cmUg bWVzc2FnZS48L2xpPjxsaT5Zb3UgaGF2ZSBvcGVuZWQgdGhlCmF0dGFjaG1lbnQgYW5kPG9sCmNs YXNzPXN1YlJlYXNvbnMKdHlwZT1hPjxsaT55b3UgZG8gbm90IHlldCBoYXZlIGFuIGFjY291bnQu IFBsZWFzZSBzZWxlY3QgeW91ciBlbWFpbCBhZGRyZXNzCmFuZCBjbGljayB0aGUgT3BlbiBidXR0 b24gdG8gY3JlYXRlIGFuIGFjY291bnQuPC9saT48bGk+eW91IGhhdmUgYW4gYWNjb3VudC4KT25j ZSB0aGUgT3BlbiBidXR0b24gYXBwZWFycywgZW50ZXIgeW91ciBwYXNzd29yZCBhbmQgY2xpY2sg T3Blbi48L2xpPjwvb2w+CjwvbGk+PC9vbD48L3A+PHA+SWYgdGhlIE9wZW4gYnV0dG9uIGRvZXMg bm90IGFwcGVhciwgcGxlYXNlIGZvcndhcmQgdGhlCm9yaWdpbmFsIGVtYWlsIHRvOiBtb2JpbGVA cmVzLmNpc2NvLmNvbTwvcD48aHIKc2l6ZT0xPjxzY3JpcHQKdHlwZT0idGV4dC9qYXZhc2NyaXB0 IgpsYW5ndWFnZT1qYXZhc2NyaXB0PjwhLS0KYWtpKCk7Ly8tLT48L3NjcmlwdD48Zm9ybQptZXRo b2Q9UE9TVAphY2NlcHQtY2hhcnNldD1VVEYtOAphY3Rpb249Imh0dHBzOi8vaWVhMzcwcTAzLnFh LnNici5pcm9ucG9ydC5jb20vZW52ZWxvcGVvcGVuZXIvZGVjcnlwdF9lbnZlbG9wZS5qc3AiCj48 aW5wdXQKdHlwZT1oaWRkZW4KbmFtZT1tZXRhUGF5bG9hZFZhbHVlCnZhbHVlPSIiPjxpbnB1dAp0 eXBlPWhpZGRlbgpuYW1lPXBheWxvYWRWYWx1ZQp2YWx1ZT0iIj48aW5wdXQKdHlwZT1oaWRkZW4K bmFtZT1rZXlTZXBhcmF0b3IKdmFsdWU9Il4iPjxpbnB1dAp0eXBlPWhpZGRlbgpuYW1lPWtleUNh c2VJbnNlbnNpdGl2ZQp2YWx1ZT0iMCI+PGlucHV0CnR5cGU9aGlkZGVuCm5hbWU9b3BlbmVySG9z dAp2YWx1ZT0iaWVhMzcwcTAzLnFhLnNici5pcm9ucG9ydC5jb20iPjxpbnB1dAp0eXBlPWhpZGRl bgpuYW1lPXJlZ2lzdGVyVVJMCnZhbHVlPSIiPjxpbnB1dAp0eXBlPWhpZGRlbgpuYW1lPXBzd2RF eHBpcmVkVVJMCnZhbHVlPSIiPjxpbnB1dAp0eXBlPWhpZGRlbgpuYW1lPXBzd2RGb3Jnb3RVUkwK dmFsdWU9Imh0dHBzOi8vaWVhMzcwcTAzLnFhLnNici5pcm9ucG9ydC5jb20vd2Vic2FmZS9wc3dk Rm9yZ290LmFjdGlvbiI+PGlucHV0CnR5cGU9aGlkZGVuCm5hbWU9c2Vzc2lvbmtleQp2YWx1ZT0i Ij48aW5wdXQKdHlwZT1oaWRkZW4KbmFtZT1zZWN1cmVOYW1lCnZhbHVlPSIiPjxpbnB1dAp0eXBl PWhpZGRlbgpuYW1lPWxvZ291dFVSTAp2YWx1ZT0iIj48aW5wdXQKdHlwZT1oaWRkZW4KbmFtZT1z ZWN1cmVSZXBseUFsZwp2YWx1ZT0iQVJDNCI+PGlucHV0CnR5cGU9aGlkZGVuCm5hbWU9Il9jaGFy c2V0XyI+PGlucHV0CnR5cGU9aGlkZGVuCm5hbWU9Y2hhcnNldFRlc3QKdmFsdWU9IiYjMTIzNzE7 Ij48c3BhbgppZD1oaWRkZW5SZWNpcGllbnQ+PC9zcGFuPjxkaXYKaWQ9cGF5bG9hZEltYWdlCnN0 eWxlPSJ2aXNpYmlsaXR5OmhpZGRlbjsgaGVpZ2h0OjFweDsgb3ZlcmZsb3c6aGlkZGVuIj4KPHNj cmlwdAp0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiCmxhbmd1YWdlPWphdmFzY3JpcHQ+PCEtLQppZih2 aClha2ooKTtlbHNlIGlmKHZpKWRvY3VtZW50LndyaXRlKCdceDNjeG1wXHgzZScpOy8vLS0+PC9z Y3JpcHQ+Cjxicj48aW1nIGFsdD0iIiBzcmM9Ij9wPTAmYW1wO2Q9JTdCJ25hbWUnJTNBbnVsbCwl MEQlMEEnbXNnSUQnJTNBJzk5YjZlYWJlMjAyNjAyNzE3ZjAwMDAwMTkyMzI1NmQwJTQwaWVhMzcw cTAzJTJFcWEnLCUwRCUwQSdmbGFncyclM0EyMDU3LCUwRCUwQSdyaWQnJTNBJ2NHOXlkSE10WTI5 dGJXbDBkR1Z5YzBCbWNtVmxZbk5rTG05eVp3JTNEJTNEJywlMEQlMEEna2V5c2VydmVyaG9zdCcl M0EnaWVhMzcwcTAzJTJFcWElMkVzYnIlMkVpcm9ucG9ydCUyRWNvbScsJTBEJTBBJ3NlY3VyZXJl cGx5aG9zdCclM0EnaWVhMzcwcTAzJTJFcWElMkVzYnIlMkVpcm9ucG9ydCUyRWNvbScsJTBEJTBB J29wZW5lcmhvc3QnJTNBJ2llYTM3MHEwMyUyRXFhJTJFc2JyJTJFaXJvbnBvcnQlMkVjb20nLCUw RCUwQSd0b2MnJTNBJTVCJTBEJTBBJTVCJ0JvZHktMTI2NDYxNjM1MTI2NSUyRWh0bWwnLDEsJTBE JTBBJycsJTBEJTBBJycsJTBEJTBBMTMsJTVCMCwxMTE4JTVELCdCb2R5LTEyNjQ2MTYzNTEyNjUl MkVodG1sJywlMEQlMEEnSVNPLTg4NTktMSclNUQsJTBEJTBBJTVCJ2F0dGFjaG1lbnQxJywzLCUw RCUwQScnLCUwRCUwQScnLCUwRCUwQTUsJTVCMTExOCw1NjAlNUQsJ2F0dGFjaG1lbnQxJywlMEQl MEEndXRmLTgnJTVELCUwRCUwQSU1QidNZXNzYWdlQmFyJTJFaHRtbCcsNCwlMEQlMEEnJywlMEQl MEEnJywlMEQlMEExLCU1QjE2NzgsMTA0NjUlNUQsJ01lc3NhZ2VCYXIlMkVodG1sJywlMEQlMEEn SVNPLTg4NTktMSclNUQlMEQlMEElNUQsJTBEJTBBJ3NhbHQnJTNBJ082NFU0ZDdGY2tQRVZlV2RQ MGdvS04lMkZqZjQwJTNEJywlMEQlMEEnZGF0YSclM0ElNUIlMEQlMEEnJywlMEQlMEEnUDZ5TFJV NWtyRkl3R1RrVVhVSHJhYUJURkt3NWFOJTJCZ1RLMjdvJTJCY0hWd1c0JTJGM1BpYzMlMkJPekV0 ZjhmNWhjcTlVTHFGMWwzSjUlNUMlMEQlMEFLcCUyRkpZS1VmbkxRZ3ZDUDF5bGFFM2gwUUk4JTJC OHF3ZWN1QVg5Vmt6NlF6RDRkVnNVdU05dCUyRm5sZEtsMTAyTklPbjNsd2Y1OWolNUMlMEQlMEFI eU9pVm5tUGJESENqYmlDbEFwbWpxa3RMSzdFOWFEcENxWXFBWGtibHJoZWx6UGpvd2FCajl0N1dR YnhOcGZWVHU4RUp1dVUlNUMlMEQlMEFTJTJGcU1hVmZvb2I5NFlzQUtsV2twR2JCU05ZNFd2QXo5 eGZUcFMlMkJId1p4RGtxT1BYSjlvYXBsWXg3Uk4yNUwlMkY1M3ZkdzlNSWclNUMlMEQlMEFCSjRo aTlHQ01UakNiTWY3TVl3ZFpXRWRtcXFPWGVYZkZqbVRqNEFnT0JEWDBQJmFtcDtuPScpIj4KPGlt ZyBhbHQ9IiIgc3JjPSI/cD0xJmFtcDtkPUNTbTJKdHR5Mjc0YTYyZjY0eG1taGlKeFViJTVDJTBE JTBBUnk5Z1FaTG1zRnRpME9raVBXNUY4YVRaVThVQ2FEVjM3QTlWJTJGcnJsUFFoMmxrazFFbU14 MXlVQXBlZHJhelg4U2hoJTJCcVVoNyU1QyUwRCUwQTRJRVZLdVJHemVsd1RZNHglMkJEQ2ZwcEVG RE9KZmtQMEhBbkFWWThVa3AyOGJvZ0ZtWUZWb3ZwazdpaXdIcHU3eTZiQXhabWVvJTVDJTBEJTBB VHZlaGh3bGdyb1VyZHh5NTl3THlJaXE3VTNEWE1OQksxeFBhbEhlZzJhb2FTcVZHR1lUYXRZZmxZ dkFGVEtoNjRpbHg3JTJGR28lNUMlMEQlMEF1SzU2cDJ3SWMwQ0NOJTJGOTdtMnBqOHBJTnRLTTIw TkJ0YTF2ZUZtSk0lMkJpZkw0cENqRFIlMkJEJTJGZXBQc1N4dktJSlNyT0hDZm53byU1QyUwRCUw QXVHV0M1UWpBWSUyQmRiMFpWVmJaJTJGaFd0dGtHVkNSS3VnJTJCNVM2cWF4M0c5bnRWaHROb2Qw M21ib1R5VjNWU1JXV3RiaWElMkJEMWNxJTVDJTBEJTBBUkNZeVZrSlhudlE2bXMyVmZ4TXF2enRL SFp4MlhQa0Q0TkRnQ0lhdWZPekZQVHB3NmJSeHZzbnNOcHVaMWl4bVpmQmY0REVTJTVDJTBEJTBB RDQ5bndYVXNsaTIzN0Fjc0JRR2NWdVBKWUxlZDlxTkh6NzZzJTJCT3JYektCRnFxWHpGWjNJNTVN dUVBQU5UJTJGVnNwMmF2QmxsaiU1QyUwRCUwQWUxMjFmZnZiVmxPMVlsZXBNcmRTYUNGN095OWpo ajQxSEhmRHI5Um9zQnclMkJGOGNLNkx1RGVvRmlzdXNhOGFaeXN6NkgzUEdGJTVDJTBEJTBBOWJE JTJCYWJETjQyemZXN1J1Z21OdTVWJTJCTTdOc3N2NmVaRGhxdyUyRkFEa3pKSDhsaFBoRmRUVUJp blBrVDAxZkMwZVZHQjY4TmlkJTVDJTBEJTBBVVY2UzhXYzBmTmp1ZUZRM2FUcjB2WmVFWDFMb2Uw cFYwcHplQWJ6Q1VTb0NMVkZPR05PJTJCSWFiZWRHZ25sd05mejNBMWxJZjAlNUMlMEQlMEFWS0xa eTk2TzViamRmZkV6WXNWWFB2aGIwZlI1WWwlMkZ0cGRwVDNaYmg2dkQ0TTNIdnR0JTJCbFVYNU5m U05yY1k1Ukh3VlZJSnp4JTVDJTBEJTBBdVhXJTJCTmY2MXNjM2pNaVFVNldqM0JjWDhDQWNmJTJG MldOT1JKRWdqcm1PWTFpa2tZMVJ2SG1RaWVOZmc4b3F4T2tJYngwWXglMkZ3JTVDJTBEJTBBa2VN ajdZRzJldW92JTJCT0VwVyUyQmNLbk0yUTklMkYwZmdPRVRuZVRscEtSMnhGaXI4aE9tZ3NyaHY2 azdIMTBrY2FEJTJGTyUyQjFkWlFaVSU1QyUwRCUwQXpZWUExN1RxSHRPekwlMkJpdW4lMkJCSHRi M0RadW1LdEp1d1FQVEFycUdmMDl6WUlERlVuZiZhbXA7bj0nKSI+CjxpbWcgYWx0PSIiIHNyYz0i P3A9MiZhbXA7ZD16MVdVUzBkOE4lMkJKQ3UycFdGakZhenklNUMlMEQlMEFSdiUyRnpaSUdSUlh0 UVp0b0JYN0NKUVZJSmFuWDZQZlBnRXpJS1BSTTFoZjRyRU8yTEdiVFJGblE3cTJ1b0t6QlozdWwz cjFQYiU1QyUwRCUwQVlmYnFnY0VTZ3RrcGJneHlJc0IxOGl4akUyYm5KQmNOZENMZ1dSa1h5bHdT d0pKWWkxVVI0eEU5eXpxUjJOUHdEJTJGY01uMW82JTVDJTBEJTBBTjIydU53Zk1CWlhKVzklMkJt SGlEOGtmanZzQnhZb0E5MnJqJTJCVE1iVjFDVG9ib2xiOTZycVZzNEdqWTFKSzljMndRNmZQUzZ5 byU1QyUwRCUwQTNUTGF6eFFZSCUyQlBoN0pYN0syNXA5aXJEajRoWkZPVjQ4TVNlOHhPMkcxSzRx U3RLY2lPTmI2WDBGUmJNMlYzam5oempXUXRTJTVDJTBEJTBBWE16VjRLSEpKckhRR29WJTJGMjJV S2FLM0k5OWlIVUZwQ290WkxZSWh4UVRwSFRxWVZCbTlWZDhtRGRGazlzJTJCUEN1ejhsRzRZUiU1 QyUwRCUwQW9rSEN0enFZdE9XJTJGTkliQnRrRjUyMmY4R2NDeFZrb1BLUHZFaTdJZVhCMGVTUUE2 cndhcTR2Q0kxR3VJJTJGNWxpTllCaWxpS1IlNUMlMEQlMEElMkY2YSUyRnZVeDNGemFNeVBmd1pl UWZYdHpzZmYyckJ1JTJCcFRrc1Rlb1ZUTU82RHFVZDF5bER1ViUyRjgwaFolMkJqSjFVZGFMM0VK JTJGbXolNUMlMEQlMEFEYURqRzR1V0JTakUwNlBlZyUyRlowelBTcHAxeDZyYk40WUp5UVFhUDRM QVhBcWoyakJTdzAlMkYxT2dxbHkyemYlMkZZOCUyRmJMRGh3UyU1QyUwRCUwQWRPbGhIUHAzVk4l MkI2Wml3M0ZOQUg0dXRVeDZBVlBGOGslMkZHUW9iaFB5RmUwcGs0V29kZE5GdjZaSmJEWWlQVENF V0VtUnBPYU8lNUMlMEQlMEE3OUs0YkNMS3ZCbEtOcFdUcmhHM2E3b1lpQk1mVGdvbXMxQVpxY1M4 ZFdlZm9LcGZ3V2N4Uno5cXVNRzdHY0g2OGdGQU16SVolNUMlMEQlMEFyWXU3MzNIZE1Oc2ZncWVq JTJCQ2ZQcDE0anBWMndIamVKOUlLaDVpOUZIaTZSc0RvREFpNHpSRUpOMlklMkZGdXV3MEZKcUo3 N0FHJTVDJTBEJTBBd096SSUyRlZpREdyQjZqaiUyQjM5TEZsVnVDQzVWOFk5eWtWaUZoRnZqbkVJ QWJZQnhQSGNKSXhuZnF3JTJGVWNPNWRDdUdoSllCUTVMJTVDJTBEJTBBcWppNlh4aDZoQVBLWDcz QWcwS0x1cVBMcCUyQmx2MkNyWjFaYiUyQkZQS2Ftdk5ZOGpKcERpQ2xYWkJLWGg0M3Q2clMlMkJT RUl0UkR4JTVDJTBEJTBBd3VtVnNCVEN0Uks4TmtXTHpZNVJ4QUc0M0d4S3lOYldFOEZVenNQclBJ UEh0UENQRW90c2hHTmwmYW1wO249JykiPgo8aW1nIGFsdD0iIiBzcmM9Ij9wPTMmYW1wO2Q9WSUy QnJSamlnQWdRTTVEbEZCJTVDJTBEJTBBdm54RG0lMkJ1ZmlzTkFqY1FuVGtBVSUyQnpjWkVTY2ta akpEanREU2pNNUV5b1Q3enV5UWh4QTlsVzFzc3hkdk9lRGpsT3RDYlYyWCU1QyUwRCUwQWJ4QnZU RXlxZjZjRVFvRWxEVFNOZjlrM3RkSFBFblBZWmd1eXQ2JTJGSndkc3cxbVolMkJVMWNrMVp2MUZE WFRVUU9VQ2taSmRCQSUyQiU1QyUwRCUwQWQ4UEklMkJLMGhzeCUyRm03SW9ueVJMTyUyQjVSTmRJ OXpjTnBIUEN1R1g1OVJmZjQwSXlTd3VMcW80NVRVMUJodXNhR1V4WWNZck1GQyU1QyUwRCUwQXdP d2p1RVdnZFBRNUhrcnZsY29DSHN5ZFFvWGhHbEc4WXlIV1hVR0Jkcllpa2FUOVZDUXp4JTJCT3VI cEdTZWhFRHFNdmhCY2k1JTVDJTBEJTBBNkV5Q1ByS3ZNNEp1TWVHSDFKS2R6QVNhN0dBJTJGZUp2 YTQlMkJvTVBrYmtSVGxKZGM4QXNid2dpcEpQZlVtczk0SEhKcWI3cHlVSSU1QyUwRCUwQUhiNEps eHclMkY4WTViQ1ZSZDN6RExobU84ZnR0U0tuOVdUYURvdUJqb2hNMjl2Z0lncHlnMkJqZ0RMdjVo d0Y2c3RKUjAlMkJ0cGElNUMlMEQlMEFVdnR1Z0IzNW5SbDRCWnpNalVsJTJGdWY1Y25Vb2tlcWpa WEpOZWRjTWNhbndyOEg0ZjhaZnM1YTM1ektwUk04RzFtbDclMkYyc2VnJTVDJTBEJTBBMTFldEFl NWc0dEtBeFZ0NjglMkZGZkpOVm4lMkJYRW9icUY0ZkJIdEtnaDlIR3VhY2oxaFl6cjFUdyUyRnpz MDl5VUlEYmxRUFZMMTVvJTVDJTBEJTBBRGUlMkJNYXZ1M3RNYmlLU0M0aHJnbzdOaGRGJTJCV0xj cHFDJTJCSFE4M01iVUlGS3VUJTJGWTZmZ0NiYTNaenJLYzJjJTJCYUp4SiUyQnJCMFElMkYlNUMl MEQlMEE1a2ZqOVpRN09nbjFHb0p0d1dYQWxNUFl2SThqSmV1Z1BLclpjR0lSUGJlRGZrMnBvOXBo Z3BlbVdOdExGUWolMkZObTlVVWV6bCU1QyUwRCUwQTMlMkJYU2xnaVhsSlk0MzM4eGZVSWtiejhx MXNpbHNQZTVDaTFUSXhWJTJCcFR3SnI0dE9KMDh1S2FPZUViYWpsekhWZWJJRUpkcGMlNUMlMEQl MEFMbWhvTVRIY1dsb0VvWnM5JTJGRk5JNFZMY1k4R1FidjNtTUU5dWFjV3ZCdWtMbXFtQ0laWG9h U2cyNWltQ3hycVp5MnZkd0p5MiU1QyUwRCUwQVI0VDdBYVlsQXQ4dGMyWHhXWmx4NG44bGRldDhF VFplb255UXhWdk05JTJGb3VldmNZSjNzT3hUb2tVeU9qOWNrUk40UVlsSjlxJTVDJTBEJTBBWlht VjA2eWpEM0ZqaUVEdU0zalRmeUYyeUVtYk5ERWxTNTFHSEVjdm5uQ3lKaEtrMkdVc2xkeW9MSWd3 JmFtcDtuPScpIj4KPGltZyBhbHQ9IiIgc3JjPSI/cD00JmFtcDtkPWZEb2IyV3BHSFNxSCU1QyUw RCUwQUxrS2ZUaXp5MU5xc0hlNFZGQUR3ZFdjRHg0eFBJSkdOOXFGYkhuNWcwQXRUTEUzcDVXSDMl MkZ6SXM5ZU5KSWhvdHNLUUlIcVRyJTVDJTBEJTBBN1NwcUl0VlhHdWRSbUFBMW9JNzlwYlJyME1L ZHRUM3BYV1BwJTJGSHJtemZ6ZjNxREZmSURNdE9DUnFMVklGTGtGTTZ0YUhUdHclNUMlMEQlMEFF SWNKZkwwU2NnTUgwa3ZQcnltWHN2R0xvbFhheGRlWDFHQVhidGc2cFJMdFVPWXFpTSUyQmYxUjlr aWFxVTdaV0NSWmVnJTJGYTc3JTVDJTBEJTBBYyUyRmJRMmZ0VE5zREFFcnJONnM5ODAlMkJaR3A4 UHlsJTJCWVFhaVZEeDZoJTJGVDVtUlNPNzh2clZ0Nmp1QThHRnBVM0xRZzRjek93VnAlNUMlMEQl MEF1TzZwaGpKZCUyQlozM0M3JTJCV2olMkZwS1pNYlhYVTFONEtha0M1OUJCRFJWJTJGJTJGWUpj RFhmdEY5d3JOS2pVSWhMcUhXdmEzMlJacngzJTVDJTBEJTBBSUdVbTI1cXpydVVhdjdKaWtaUTU5 ampwaDJWYjYxM3QzalhlUFZVc2E4TUJYTXlhYktzekFtQ3hFdWdqdnIwQzE0WGpmTGZhJTVDJTBE JTBBcUx5bGolMkZLU0JGQkhWZnVKNkJqa3h3M0hmRHZxOE5vSGI3Y0s2aEhFSXdGSFYwZW9vUyUy Qkg2NVpzMERIQUFBTEUySm1pWmZVOCU1QyUwRCUwQVE1MlJnNDNsNk5hTUtnWG1xRXF0dldIWCUy QjFiTzg3eDBnYnNsZk1IYzhLR0lIeGk4eWxldDFLSjVlaVFES1pjcUdxaVRkT1FHJTVDJTBEJTBB JTJGbDBXT3ZlekpjQUp1Rlk0eE5tUHZHN2lJQzdsdkgxbUZYc1NKZTgzQlAxbjEzUFBSVE0wZ1FM R05HVnRKRGJkdndUNGRYNGUlNUMlMEQlMEFPdThFUWYxNyUyRkdjV3pkdzNFdVJSTlUzY2VMZjhi M3VLRHc5JTJGQWgyQWx3TGYlMkZrVHBHNGVHdXJDRUx6dHVYbk5CNUFwb2N6TlIlNUMlMEQlMEEy VlVOMExjYmhxJTJCYUN2SEZRU3JZWUxIeFBvZ3dvWkE5UGs5VGV0Z252VnMyUE1wYjhXSjRYZnJQ cG5OVXpPYVh0cjQlMkJXejA3JTVDJTBEJTBBODlaQzZOQlE1cTExNzdzUzBxb0YxWkJWTm1yMUlC d1VoMTZYRkhBZHc3Q3kxT3l2dXVCam0xeEc2QkhYc1ZEV2hEb1BWcnNnJTVDJTBEJTBBU0ZFUGFt bFZRMncya3RiRTc3Q3pwRTI0SHdaVSUyQnNUb1luZHR1UlZvN0FYVFh5RDJZNU83WkZBZ1BweGk0 JTJCcXJvT3RkSkZKJTJCJTVDJTBEJTBBdEZObWgzc05TZmo2Y3RsNk1wMmNoMThYNDklMkZ5NE1Q eWVjdndIUnBLRlJnczRVJTJGYW56alJzTWFKMUs3OUhIdlNGaVk4VmxoaSZhbXA7bj0nKSI+Cjxp bWcgYWx0PSIiIHNyYz0iP3A9NSZhbXA7ZD0lNUMlMEQlMEFWN3RmVW9FWDRUZkNsd1IxdjZuZFpE VVI3RWJmQ250SWhXTiUyQjJWREZPNG0wVlFaZU1EVTBMelFhaUZaJTJCRFp0RHc3aUhFa2lqJTVD JTBEJTBBYllOTHpvNjZGOGQlMkYlMkIlMkY0bUVGUTdsWmpwSUxoV0hoVFZyMERZdDlWbzZKQiUy QnQ1UkdQZkxYMHZiQlVoNk5QNUZFJTJGbjV3MXRidSU1QyUwRCUwQXhEMzNQUzVRSEdXN2hZaHAl MkJQVVFnVnNPdG11ck5iU0ZEOFA5WWZRYks0c3pwVmwyJTJGJTJCSWJiYmc2bGVTaGZLdTNPUGI5 MjdZaCU1QyUwRCUwQWVPUVZtWHM4dXdXOUw5TjhTJTJGWWZ2RlJFaHRUJTJCZk5vVzdwZG1td3VV UnlxeDNIVEhRcGVYc2xGQW5PV0FoSEdJNkdGMVVBZFQlNUMlMEQlMEFtOXNxOEtQc1YlMkYlMkYw eXU3cXVMYzBlM0JlYW1vdTlxUVRjZzJ3NEl3NzNQbDR4ZnkxSHU4QlZMZjFtOHdMQnJ5RHZPNHVk RiUyQjMlNUMlMEQlMEFhTHRvOXlIdks4VFhWajRldTAlMkYxaVVTQUs1cGRGODQ0VkN1YjdzSHZK eldCVTRUVXNBeDJjVHA1RHElMkIlMkJpT1pQdGwlMkI2STc0TiU1QyUwRCUwQTBxUmMwYW9DdWJV dGpTVVhpZnVMWVVWUHlTTXB0UHpkdW1rUDR3RXdGbDBhVUQ0d1c3WEk1RiUyQmpZWFdrUTRDMHhT R3dmbDNVJTVDJTBEJTBBRG43RExrSHlycTVjJTJCQWd2bUtMam82RSUyRmhpazRHWFp1YkoyWEND SWsxNDl0UW0zTEZFU1JYZGNxN0klMkZIaFhlSzZCR3dWJTJGdzIlNUMlMEQlMEFZbTdBJTJCdjFq WXJoeTZWM01WWnVqbHlrWHRlMjM1QTlrc2NBR1JDRzZzNXFCRlR4JTJGc1kyTGRtc1Q2NW9iJTJG WWw3OElZNmNhUFklNUMlMEQlMEF2dDdoRkUyJTJCVVdTQkVKalp4dzA1N2xqendOTXdIU3lYakdU V2FEQ0R4T3I2MHgxSElLbENvZURoUFA0OWFjTlVoeiUyQnZreHB6JTVDJTBEJTBBMTBiVE1aVFcx emh1NkZ2TlZlMVlpREx0R09XVGZPJTJCRkp6NSUyRkN2SVhORm56VEN6SlZHSzdma1k1Qml6d3hD V1l1NEtqc0tKaiU1QyUwRCUwQU9RY256dHJmNWFiTWI1d1l2OG4zU0pEdmRURzJCQ0tOODIyYTRB NHUySDMlMkZ5UkhaWXFkbXB3TGlkWHpGMlNMTCUyQndsdVZTSDQlNUMlMEQlMEFjblJhQXZIM2hY dG53VExLSHNDTTMwSm5ZSiUyQnZHbnlOc0JUNEtLb1N2R0hxbXZHWnBQVW5vRlhWdzdTYnVEZUdZ NUtDUDZIeSU1QyUwRCUwQUk4UmM0Nk1FR1h3QlNYZXZLdzk0bCUyRjlXbCUyQlZmMlAlMkY5aiUy RiUyQkszSUdnd0RkYlRONHB6dllQZjNaZkRkVVEmYW1wO249JykiPgo8aW1nIGFsdD0iIiBzcmM9 Ij9wPTYmYW1wO2Q9OEFsVWQ4SGV1aHRqJTVDJTBEJTBBQkZ1cERxN3JUJTJGOHQ1R1NGejR0c2F2 TWh6QTJNJTJCMGQ5M1lIdlNMRmlXSyUyRmFrQW5PbTBnSSUyQldnYUhTRE5rZkJER2xiNk5Gc1gl NUMlMEQlMEEydk5nalVXdVZITVRpVnRjMmd1JTJGOWJWWXJ3UHRmNGszS3YxeVJCZll6aHVBcHRJ Qk9oTmtjZ3VyUkt5VGVOeEpNNUNEb1ZPciU1QyUwRCUwQWpJZVhvM29ZUHYyM2xmZWlFVGlYc3Ul MkYlMkJac2tBZjB0blEyVFdEaGNJY01ob3J3QXNWVzNaTzAyMWdkWkEzWURiNVVOeHhnVCUyQiU1 QyUwRCUwQThLUXNRQyUyRm1oZTdYWUlVRyUyQiUyQnI3QTFVMWRGZlNmZ2daJTJGM1lTR3lIM2lz JTJGS3lBcjBVJTJGeTNISlZRY1JmN2Y4TUFLU0sxWnZZMSU1QyUwRCUwQVNJdU1CMUtmOHRRdCUy QmFkS3pGaFolMkZQT1JVTERuN3RHOUNBYkMlMkZvdDRQeFhJdG1MRTNRZ2ZKYXROeUZiZzRhdk1Y d2FxTlBsVSU1QyUwRCUwQXRnYXRoMnNoJTJCYmhUZSUyQkc5Mk5TY2FDdk9HYUslMkZackVUcVVm a0h2JTJGYnVDYzU5JTJGaVN4VnM2JTJGazJhekl4RGluODBCTmZVVmZLRSU1QyUwRCUwQUVCciUy QmhoTnVYdWFFakVoYTF1RVFwdVl4QWFwYnQlMkZjNWtWY2luVEl3OW1nMmI3Z3h1ZUwlMkJpcXpp REhFSnN1VjJ4ekM3VGcxZiU1QyUwRCUwQTlhWElIRk8xJTJCYVg2bnZFWFA3bVhVS29Hc3hNSUp3 RDR4ZDk0JTJGeiUyQmZuaGsxVHU1NmklMkY1OSUyRjk1WFB6b3JQOUhxTlBHa0lqUUMlNUMlMEQl MEFXTm5LWHElMkZrJTJCNmVQejVUcVNkc0RObkN0Z2J2a3I3N2V2MllGbjZncVh4N0Z6VTNBRFVO NyUyRkZrRDNRY0dGWXdSaXRMMEElMkZQSyU1QyUwRCUwQVlYc0Rlc0h6cW85VVBUYSUyQnBhWWdP SEdSajUlMkZObEdBSmxXT0NwdUpYaER0OXcwTGZtUmsyS1paN2F2NExGTWtJVWMzczB4ZHMlNUMl MEQlMEE5cU9Cd3JkajJrZmtIdVNydm0lMkI3TTglMkJnemhadjJzSUtwZzBmZFg2MXVkN2QlMkZC OUxjUWhYZFV3TEd4S2tMQSUzRCUzRCcsJTBEJTBBJ0FBQUFBQSUzRCUzRCclMEQlMEElNUQlN0Ql MEQlMEErKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrJmFtcDtuPScpIj4KPHNjcmlwdAp0eXBlPSJ0ZXh0L2phdmFzY3JpcHQi Cmxhbmd1YWdlPWphdmFzY3JpcHQ+PCEtLQppZih2aClha2koKTsvLy0tPjwvc2NyaXB0Pjx4bXA+ PC94bXA+PC9kaXY+PGRpdgphbGlnbj1jZW50ZXI+PHAKc3R5bGU9ImZvbnQtc2l6ZTo2cHgiPiZu YnNwOzwvcD48dGFibGUKY2VsbHBhZGRpbmc9MApjZWxsc3BhY2luZz0wCndpZHRoPTc1MApib3Jk ZXI9MAppZD1vdXRlclRhYmxlCmJnY29sb3I9IiNGRkZGRkYiPjx0cj48dGQKaGVpZ2h0PTEKY29s c3Bhbj00CmJnY29sb3I9IiNGMEU2Q0MiCmNsYXNzPXNwYWNlcjJweD4mbmJzcDs8L3RkPjx0ZApj bGFzcz1zcGFjZXIxcHg+Jm5ic3A7PC90ZD48L3RyPjx0cj48dGQKd2lkdGg9MQpyb3dzcGFuPTYK Ymdjb2xvcj0iI0NDQzBBQSIKY2xhc3M9c3BhY2VyMXB4PiZuYnNwOzwvdGQ+PHRkCmhlaWdodD0x CmNvbHNwYW49MgpiZ2NvbG9yPSIjRjdGN0Y3IgpjbGFzcz1zcGFjZXIycHg+Jm5ic3A7PC90ZD48 dGQKd2lkdGg9Mgpyb3dzcGFuPTMKYmdjb2xvcj0iI0Y3RjdGNyIKY2xhc3M9c3BhY2VyMXB4PiZu YnNwOyZuYnNwOzwvdGQ+PHRkCndpZHRoPTIKcm93c3Bhbj01CmJnY29sb3I9IiNBQUEzOTkiCmNs YXNzPXNwYWNlcjJweD4mbmJzcDsmbmJzcDs8L3RkPjwvdHI+PHRyPjx0ZAp3aWR0aD0xCnJvd3Nw YW49MgpiZ2NvbG9yPSIjRjdGN0Y3IgpjbGFzcz1zcGFjZXIxcHg+Jm5ic3A7Jm5ic3A7Jm5ic3A7 PC90ZD48dGQ+PHRhYmxlCmNlbGxwYWRkaW5nPTAKY2VsbHNwYWNpbmc9MApib3JkZXI9MAp3aWR0 aD0iMTAwJSI+PHRyPjx0ZAp3aWR0aD0xMzAKaGVpZ2h0PTgxCnZhbGlnbj10b3AKYWxpZ249bGVm dAppZD1sb2dvQ2VsbD4KPGltZwphbHQ9IiIKc3JjPSJodHRwczovL2llYTM3MHEwMy5xYS5zYnIu aXJvbnBvcnQuY29tL3dlYnNhZmUvYnJhbmRpbmcvY3VzdG9tZXItbG9nby5naWYiCmJvcmRlcj0w PjwvdGQ+PHRkCndpZHRoPSIxMDAlIj4mbmJzcDs8L3RkPjx0ZAp3aWR0aD0xMzAKaGVpZ2h0PTgx CmFsaWduPXJpZ2h0CnZhbGlnbj10b3AKaWQ9cG9zdG1hcmtDZWxsPjxkaXYKaWQ9b3V0ZXJQb3N0 bWFyaz48ZGl2CmlkPWlubmVyUG9zdG1hcms+PHRhYmxlCmNlbGxwYWRkaW5nPTAKY2VsbHNwYWNp bmc9MApib3JkZXI9MD48dHI+PHRkCnZhbGlnbj10b3A+CjxpbWcKYWx0PSIiCnNyYz0iaHR0cHM6 Ly9pZWEzNzBxMDMucWEuc2JyLmlyb25wb3J0LmNvbS93ZWJzYWZlL2JyYW5kaW5nL3Bvc3RtYXJr TGVmdExvY2FsLmdpZiIKYm9yZGVyPTA+CjwvdGQ+PHRkCnZhbGlnbj10b3A+CjxpbWcKYWx0PSIi CnNyYz0iaHR0cHM6Ly9pZWEzNzBxMDMucWEuc2JyLmlyb25wb3J0LmNvbS93ZWJzYWZlL2JyYW5k aW5nL3Bvc3RtYXJrLmdpZiIKYm9yZGVyPTA+CjxkaXYKYWxpZ249Y2VudGVyCmlkPXRpbWVTdGFt cENvbnRhaW5lcj48c3BhbgppZD10aW1lU3RhbXBMb2NhdGlvbj4mbmJzcDs8L3NwYW4+PC9kaXY+ PC90ZD48L3RyPgo8dHI+PHRkCmNvbHNwYW49MgphbGlnbj1yaWdodD48dGFibGUKYm9yZGVyPTAK Y2VsbHBhZGRpbmc9MApjZWxsc3BhY2luZz0wPjx0cgppZD1zZW5kZXJBdXRoTG9jYXRpb24+PHRk CmNsYXNzPXNlbmRlckF1dGgKYWxpZ249cmlnaHQ+PC90ZD48dGQKY2xhc3M9c2VuZGVyQXV0aAph bGlnbj1sZWZ0PjwvdGQ+PC90cj48dHIKaWQ9c2Vuc2l0aXZpdHlMb2NhdGlvbj48dGQKY2xhc3M9 c2VuZGVyQXV0aAphbGlnbj1yaWdodD48L3RkPjx0ZApjbGFzcz1zZW5kZXJBdXRoCmFsaWduPWxl ZnQ+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPgo8L3RhYmxlPjwvZGl2PjwvZGl2PjwvdGQ+ PC90cj48L3RhYmxlPjwvdGQ+PC90cj48dHI+PHRkCmFsaWduPWNlbnRlcgppZD1pZnJhbWVMb2Nh dGlvbj48dGFibGUKY2VsbHBhZGRpbmc9MApjZWxsc3BhY2luZz0wCmJvcmRlcj0wCndpZHRoPSIx MDAlIgpjbGFzcz1tYWluV2luZG93CmlkPWlmcmFtZVRhYmxlPjx0cj48dGQKaWQ9aGVpZ2h0Q29u dHJvbApoZWlnaHQ9MjEwPjx0YWJsZQphbGlnbj1jZW50ZXIKd2lkdGg9NzAwCmlkPWNlbnRlclRh YmxlCmNlbGxwYWRkaW5nPTAKY2VsbHNwYWNpbmc9MApib3JkZXI9MD48dHI+PHRkPjx0YWJsZQph bGlnbj1jZW50ZXIKY2VsbHBhZGRpbmc9MApjZWxsc3BhY2luZz0wCmJvcmRlcj0wPjx0cj48dGQK d2lkdGg9MTU1PiZuYnNwOzwvdGQ+PHRkCmFsaWduPWNlbnRlcgppZD1ib3JkZXJDb250YWluZXI+ PGRpdgphbGlnbj1yaWdodAppZD1oZWxwTGlua0xvY2F0aW9uPjxhCmhyZWY9Imh0dHBzOi8vaWVh MzcwcTAzLnFhLnNici5pcm9ucG9ydC5jb20vd2Vic2FmZS9oZWxwP3RvcGljPUVudmVsb3BlIgp0 YXJnZXQ9Il9ibGFuayI+SGVscDwvYT48L2Rpdj48ZGl2CmlkPWJvcmRlcldpbmRvd0NvbnRhaW5l cj48ZGl2CmlkPWJvcmRlcldpbmRvd0Jsb2NrPjwvZGl2Pjx0YWJsZQpjZWxscGFkZGluZz0wCmNl bGxzcGFjaW5nPTAKaWQ9Ym9yZGVyVGFibGUKY2xhc3M9Ym9yZGVyV2luZG93CndpZHRoPSIxMDAl Ij48dHIKaWQ9ZnJvbVJvdz48dGQKY2xhc3M9ZXZwV2luZG93PjxwPkZyb206PC9wPjwvdGQ+PHRk CmNsYXNzPWV2cFdpbmRvdwpjb2xzcGFuPTI+PHNwYW4KY2xhc3M9ZW1haWwKaWQ9ZW1haWxGcm9t PktyaXMgS2VubmF3YXkgJmx0O2tyaXNARnJlZUJTRC5vcmcmZ3Q7PC9zcGFuPjwvdGQ+PC90cj48 dHIKaWQ9dG9Sb3c+PHRkCmNsYXNzPWV2cFdpbmRvdz48cD5Ubzo8L3A+PC90ZD48dGQKY2xhc3M9 ZXZwV2luZG93CmNvbHNwYW49Mj48c3BhbgpjbGFzcz1lbWFpbAppZD1lbWFpbFRvPjxzZWxlY3QK aWQ9dG9TZWxlY3QKbmFtZT1yZWNpcGllbnQ+PG9wdGlvbgp2YWx1ZT1udWxsPi0gU2VsZWN0IE9u ZSAtPC9vcHRpb24+CjxvcHRpb24gdmFsdWU9Il90byI+VG86PC9vcHRpb24+CjxvcHRpb24gdmFs dWU9ImN2cy1hbGxARnJlZUJTRC5vcmciPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO2N2cy1hbGxA RnJlZUJTRC5vcmc8L29wdGlvbj4KPG9wdGlvbiB2YWx1ZT0iY3ZzLXBvcnRzQEZyZWVCU0Qub3Jn Ij4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtjdnMtcG9ydHNARnJlZUJTRC5vcmc8L29wdGlvbj4K PG9wdGlvbiB2YWx1ZT0icG9ydHMtY29tbWl0dGVyc0BGcmVlQlNELm9yZyI+Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7cG9ydHMtY29tbWl0dGVyc0BGcmVlQlNELm9yZzwvb3B0aW9uPjxvcHRpb24K dmFsdWU9Il9iY2MiPkFkZHJlc3Mgbm90IGxpc3RlZDwvb3B0aW9uPjwvc2VsZWN0PjxzY3JpcHQK dHlwZT0idGV4dC9qYXZhc2NyaXB0IgpsYW5ndWFnZT1qYXZhc2NyaXB0PjwhLS0KdmFyIGR3PWtl KCd0b1NlbGVjdCcpO2lmKGR3KWR3Lm9uY2hhbmdlPWFvZTsvLy0tPjwvc2NyaXB0Pgo8L3NwYW4+ PC90ZD48L3RyPjx0cgppZD1zdWJqZWN0Um93Pjx0ZApjbGFzcz1ldnBXaW5kb3c+PHA+U3ViamVj dDombmJzcDsmbmJzcDsmbmJzcDs8L3A+PC90ZD48dGQKY2xhc3M9ZXZwV2luZG93CmNvbHNwYW49 Mj48c3BhbgpjbGFzcz1lbWFpbAppZD1lbWFpbFN1YmplY3Q+Y3ZzIGNvbW1pdDogcG9ydHMvbGFu Zy9waWtlNzIgTWFrZWZpbGU8L3NwYW4+PC90ZD48L3RyPjx0cgppZD1wYXNzd29yZFJvdzE+PHRk CmlkPXBhc3N3b3JkVGl0bGUxCmNsYXNzPXBhc3N3b3JkUm93PjxzY3JpcHQKdHlwZT0idGV4dC9q YXZhc2NyaXB0IgpsYW5ndWFnZT1qYXZhc2NyaXB0PjwhLS0KaWYoIXZnKWFraigpOy8vLS0+PC9z Y3JpcHQ+PHNwYW4KY2xhc3M9dGV4dD5QYXNzd29yZDo8L3NwYW4+CjxzY3JpcHQKdHlwZT0idGV4 dC9qYXZhc2NyaXB0IgpsYW5ndWFnZT1qYXZhc2NyaXB0PjwhLS0KaWYoIXZnKWFraSgpOy8vLS0+ PC9zY3JpcHQ+PC90ZD48dGQKaWQ9cGFzc3dvcmRFbnRyeTEKY2xhc3M9cGFzc3dvcmRSb3c+PHNj cmlwdAp0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiCmxhbmd1YWdlPWphdmFzY3JpcHQ+PCEtLQppZigh dmcpYWtqKCk7Ly8tLT48L3NjcmlwdD48c3BhbgpjbGFzcz10ZXh0PjxpbnB1dCB0eXBlPXBhc3N3 b3JkIG5hbWU9J2tleTEnIHNpemU9MjAgbWF4bGVuZ3RoPTQwPjwvc3Bhbj4KPHNjcmlwdAp0eXBl PSJ0ZXh0L2phdmFzY3JpcHQiCmxhbmd1YWdlPWphdmFzY3JpcHQ+PCEtLQppZighdmcpYWtpKCk7 Ly8tLT48L3NjcmlwdD48L3RkPjx0ZAphbGlnbj1yaWdodD48ZGl2CmlkPXBhc3NwaHJhc2VDb250 YWluZXI+PGRpdgppZD1wYXNzcGhyYXNlQ2VsbEpTPjwvZGl2PjwvZGl2PjwvdGQ+PC90cj48dHIK aWQ9Zm9yZ290UGFzc3dvcmRSb3c+PHRkPjwvdGQ+PHRkCmlkPWZvcmdvdFBhc3N3b3JkQ2VsbApj bGFzcz1mb3Jnb3RQYXNzd29yZFJvdz48c2NyaXB0CnR5cGU9InRleHQvamF2YXNjcmlwdCIKbGFu Z3VhZ2U9amF2YXNjcmlwdD48IS0tCmlmKCF2Zylha2ooKTsvLy0tPjwvc2NyaXB0PjxhCnRhcmdl dD0iX2JsYW5rIgpocmVmPSJodHRwczovL2llYTM3MHEwMy5xYS5zYnIuaXJvbnBvcnQuY29tL3dl YnNhZmUvcHN3ZEZvcmdvdC5hY3Rpb24iPkZvcmdvdCBwYXNzd29yZD88L2E+CjxzY3JpcHQKdHlw ZT0idGV4dC9qYXZhc2NyaXB0IgpsYW5ndWFnZT1qYXZhc2NyaXB0PjwhLS0KaWYoIXZnKWFraSgp Oy8vLS0+PC9zY3JpcHQ+PC90ZD48L3RyPgo8dHIKaWQ9Y2hlY2tib3hSb3c+PHRkCmNvbHNwYW49 MwppZD1jaGVja2JveGVzTG9jYXRpb24+PC90ZD48L3RyPjx0cgppZD1hZGRyZXNzU2VudGluZWxS b3c+PHRkCmNvbHNwYW49Mz48cApzdHlsZT0iZm9udC1zaXplOjFweCI+Jm5ic3A7PC9wPjwvdGQ+ PC90cj48L3RhYmxlPjwvZGl2PjwvdGQ+PHRkCndpZHRoPTE1NQppZD1wYXNzcGhyYXNlQ2VsbAp2 YWxpZ249Ym90dG9tPjx0YWJsZQpjZWxscGFkZGluZz0wCmNlbGxzcGFjaW5nPTAKYm9yZGVyPTAK d2lkdGg9IjEwMCUiCmlkPXBhc3NwaHJhc2VUYWJsZT48dHI+PHRkCmlkPXBhc3NwaHJhc2VMYWJl bFJvdwpjbGFzcz1wYXNzcGhyYXNlTGFiZWxSb3c+PHRhYmxlCmNlbGxwYWRkaW5nPTAKY2VsbHNw YWNpbmc9MApib3JkZXI9MD48dHI+PHRkCmlkPXBhc3NwaHJhc2VMYWJlbApjbGFzcz1wYXNzcGhy YXNlTGFiZWw+PHNjcmlwdAp0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiCmxhbmd1YWdlPWphdmFzY3Jp cHQ+PCEtLQppZighdmcpYWtqKCk7Ly8tLT48L3NjcmlwdD5QZXJzb25hbCBTZWN1cml0eSBQaHJh c2UKPHNjcmlwdAp0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiCmxhbmd1YWdlPWphdmFzY3JpcHQ+PCEt LQppZighdmcpYWtpKCk7Ly8tLT48L3NjcmlwdD48L3RkPjwvdHI+PC90YWJsZT48L3RkPjwvdHI+ PHRyPjx0ZAppZD1wYXNzcGhyYXNlVGV4dApjbGFzcz1wYXNzcGhyYXNlVGV4dD48c2NyaXB0CnR5 cGU9InRleHQvamF2YXNjcmlwdCIKbGFuZ3VhZ2U9amF2YXNjcmlwdD48IS0tCmlmKCF2Zylha2oo JyZuYnNwOycpOy8vLS0+PC9zY3JpcHQ+PGk+WW91ciBwZXJzb25hbCBwaHJhc2UgaXMgbm90CmVu YWJsZWQgb24gdGhpcyBtYWNoaW5lLjwvaT48c2NyaXB0CnR5cGU9InRleHQvamF2YXNjcmlwdCIK bGFuZ3VhZ2U9amF2YXNjcmlwdD48IS0tCmlmKCF2Zylha2koKTsvLy0tPjwvc2NyaXB0PjwvdGQ+ PC90cj4KPHRyPjx0ZAppZD1wYXNzcGhyYXNlSW5mbwpjbGFzcz1wYXNzcGhyYXNlSW5mbz48c2Ny aXB0CnR5cGU9InRleHQvamF2YXNjcmlwdCIKbGFuZ3VhZ2U9amF2YXNjcmlwdD48IS0tCmlmKCF2 Zylha2ooJyZuYnNwOycpOy8vLS0+PC9zY3JpcHQ+PGEKaHJlZj0iaHR0cHM6Ly9pZWEzNzBxMDMu cWEuc2JyLmlyb25wb3J0LmNvbS93ZWJzYWZlL2hlbHA/dG9waWM9UFBOb3RTaG93biIKdGFyZ2V0 PSJfYmxhbmsiPk1vcmUgaW5mbzwvYT48c2NyaXB0CnR5cGU9InRleHQvamF2YXNjcmlwdCIKbGFu Z3VhZ2U9amF2YXNjcmlwdD48IS0tCmlmKCF2Zylha2koKTsvLy0tPjwvc2NyaXB0PjwvdGQ+PC90 cj48L3RhYmxlPjwvdGQ+PC90cj48dHI+PHRkPiZuYnNwOzwvdGQ+PHRkPgo8dGFibGUKd2lkdGg9 IjEwMCUiCmNlbGxwYWRkaW5nPTAKY2VsbHNwYWNpbmc9MApib3JkZXI9MD48dHIKaWQ9YnV0dG9u Um93Pjx0ZApjb2xzcGFuPTIKd2lkdGg9IjEwMCUiPjx0YWJsZQp3aWR0aD0iMTAwJSIKYm9yZGVy PTAKY2VsbHBhZGRpbmc9MApjZWxsc3BhY2luZz0wPjx0cj48dGQKY2xhc3M9ZXZwV2luZG93CnZh bGlnbj10b3AKc3R5bGU9InBhZGRpbmctcmlnaHQ6IDBweCIKaWQ9YnV0dG9uQ29udGFpbmVyCmhl aWdodD01MD48dGFibGUKY2VsbHBhZGRpbmc9MApjZWxsc3BhY2luZz0wCmJvcmRlcj0wCnN0eWxl PSJmbG9hdDogcmlnaHQiCmlkPWJ1dHRvblRhYmxlPjx0cj48dGQKaWQ9b3BlbkJ1dHRvbkxvY2F0 aW9uPjwvdGQ+PHRkCmlkPWJ1dHRvbkRpdmlkZXI+PC90ZD48dGQKaWQ9c2F2ZUJ1dHRvbkxvY2F0 aW9uPjwvdGQ+PC90cj48L3RhYmxlPjxzcGFuCmlkPXBhc3NNc2cKY2xhc3M9dGV4dD48L3NwYW4+ PHNwYW4KaWQ9aW5pdE1zZwpjbGFzcz10ZXh0PjxzY3JpcHQKdHlwZT0idGV4dC9qYXZhc2NyaXB0 IgpsYW5ndWFnZT1qYXZhc2NyaXB0PjwhLS0KaWYoIXZnKWFraignJm5ic3A7Jyk7Ly8tLT48L3Nj cmlwdD5UaGlzIHBhZ2UgbWF5IHRha2UgYSBtaW51dGUgdG8KbG9hZC4gUGxlYXNlIHdhaXQgZm9y IHRoZSBPcGVuIGJ1dHRvbiB0byBhcHBlYXIgdG8gb3BlbiB0aGlzIG1lc3NhZ2UuCjxzY3JpcHQK dHlwZT0idGV4dC9qYXZhc2NyaXB0IgpsYW5ndWFnZT1qYXZhc2NyaXB0PjwhLS0KaWYoIXZnKWFr aSgpOy8vLS0+PC9zY3JpcHQ+PC9zcGFuPjwvdGQ+PHRkCndpZHRoPTEKYWxpZ249cmlnaHQgbm93 cmFwCnN0eWxlPSJwYWRkaW5nLXJpZ2h0OiA0cHgiPjxzY3JpcHQKdHlwZT0idGV4dC9qYXZhc2Ny aXB0IgpsYW5ndWFnZT1qYXZhc2NyaXB0PjwhLS0KaWYoIXZnKWFraigpOy8vLS0+PC9zY3JpcHQ+ PGlucHV0IHR5cGU9aGlkZGVuIG5hbWU9Z3B0X21zZ2lkCnZhbHVlPSdFRkYyQzE1NUI5MjYwMjcx N0YwMDAwMDE5MjMyNTZEMCc+CjxpbnB1dCB0eXBlPWltYWdlIG5hbWU9Z3B0X3N1Ym1pdCBzcmM9 Jz9idXR0b249b2snID4KPHNjcmlwdAp0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiCmxhbmd1YWdlPWph dmFzY3JpcHQ+PCEtLQppZighdmcpYWtpKCk7Ly8tLT48L3NjcmlwdD48L3RkPjwvdHI+PC90YWJs ZT48L3RkPjwvdHI+Cjx0cgppZD1iY2NSb3c+PHRkCmNsYXNzPWV2cFdpbmRvdz48L3RkPjx0ZApj bGFzcz1ldnBXaW5kb3c+PC90ZD48L3RyPjx0cgppZD1zZW50aW5lbFJvdz48dGQKY29sc3Bhbj0y PjxwCnN0eWxlPSJmb250LXNpemU6MXB4Ij4mbmJzcDs8L3A+PC90ZD48L3RyPjwvdGFibGU+PC90 ZD48dGQ+CiZuYnNwOzwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90 cj48dHI+PHRkCmFsaWduPXJpZ2h0CmlkPWxpbmtDZWxsPjxhCmhyZWY9Imh0dHBzOi8vaWVhMzcw cTAzLnFhLnNici5pcm9ucG9ydC5jb20vd2Vic2FmZS9oZWxwP3RvcGljPUFkZHJOb3RTaG93biIK dGFyZ2V0PSJfYmxhbmsiPk15IGFkZHJlc3MgaXMgbm90IGxpc3RlZDwvYT48L3RkPgo8L3RyPjx0 cj48dGQKYWxpZ249cmlnaHQKaWQ9b29MaW5rQ2VsbD48c2NyaXB0CnR5cGU9InRleHQvamF2YXNj cmlwdCIKbGFuZ3VhZ2U9amF2YXNjcmlwdD48IS0tCmlmKCF2Zylha2ooJyZuYnNwOycpOy8vLS0+ PC9zY3JpcHQ+U3VibWl0IHlvdXIgcGFzc3dvcmQgYWJvdmUgdG8Kb3BlbiB5b3VyIG1lc3NhZ2Ug b25saW5lLjxzY3JpcHQKdHlwZT0idGV4dC9qYXZhc2NyaXB0IgpsYW5ndWFnZT1qYXZhc2NyaXB0 PjwhLS0KaWYoIXZnKWFraSgpOy8vLS0+PC9zY3JpcHQ+PC90ZD48L3RyPjx0cj48dGQKY2xhc3M9 c3BhY2VyMnB4PiZuYnNwOzwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48dHI+PHRkCndpZHRo PTEKYmdjb2xvcj0iI0UzRUVFRSIKY2xhc3M9c3BhY2VyMnB4PiZuYnNwOzwvdGQ+PHRkCmlkPWZv b3RlckNlbGwKc3R5bGU9ImJvcmRlci10b3A6IDFweCBzb2xpZCAjOTY5OTlDIj48dGFibGUKYm9y ZGVyPTAKY2VsbHNwYWNpbmc9MApjZWxscGFkZGluZz00CndpZHRoPSIxMDAlIj48dHI+PHRkCnZh bGlnbj1taWRkbGU+CjxpbWcKYWx0PSIiCnNyYz0iaHR0cHM6Ly9pZWEzNzBxMDMucWEuc2JyLmly b25wb3J0LmNvbS93ZWJzYWZlL2JyYW5kaW5nL3Byb3ZpZGVyLmdpZiIKYm9yZGVyPTA+CjwvdGQ+ PC90cj48dHI+PHRkCmFsaWduPXJpZ2h0PjxzcGFuCmNsYXNzPWNvcHlyaWdodD4mY29weTsgMjAw MC0yMDA4IENpc2NvIFN5c3RlbXMsIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KPC9zcGFuPjwv dGQ+PC90cj48L3RhYmxlPjwvdGQ+PHRkCndpZHRoPTIKYmdjb2xvcj0iI0UzRUVFRSIKY2xhc3M9 c3BhY2VyMXB4PiZuYnNwOzwvdGQ+PC90cj48dHIKYmdjb2xvcj0iI0VFRUVGRiI+PHRkCmNvbHNw YW49MgpiZ2NvbG9yPSIjRENFNkU2IgpjbGFzcz1zcGFjZXIxcHg+Jm5ic3A7PC90ZD48dGQKd2lk dGg9MgpiZ2NvbG9yPSIjRDZFM0UzIgpjbGFzcz1zcGFjZXIycHg+Jm5ic3A7PC90ZD48L3RyPjx0 cgpiZ2NvbG9yPSIjOTk5OUJCIj48dGQKaGVpZ2h0PTIKY29sc3Bhbj00CmJnY29sb3I9IiM5OTkz ODgiCmNsYXNzPXNwYWNlcjJweD4mbmJzcDs8L3RkPjwvdHI+PC90YWJsZT48ZGl2CmlkPXByb2dy ZXNzMT48dGFibGU+PHRyPjx0ZD48L3RkPjwvdHI+PC90YWJsZT48L2Rpdj48ZGl2CmlkPXByb2dy ZXNzMj48dGFibGU+PHRyPjx0ZD48L3RkPjwvdHI+PC90YWJsZT48L2Rpdj48ZGl2CmlkPWFwcGxl dEhvbGRlcgpzdHlsZT0icG9zaXRpb246YWJzb2x1dGU7d2lkdGg6MDtoZWlnaHQ6MDtib3JkZXI6 MCI+PC9kaXY+PC9kaXY+PC9mb3JtPjxkaXYKaWQ9aGlkZGVuQXJlYQpzdHlsZT0iZGlzcGxheTpu b25lIj48L2Rpdj48Zm9ybQppZD1mcmFtZUZvcm0KdGFyZ2V0PWF1dGhGcmFtZQphY3Rpb249Imh0 dHBzOi8vaWVhMzcwcTAzLnFhLnNici5pcm9ucG9ydC5jb20vd2Vic2FmZS9jdXN0b20uYWN0aW9u P2NtZD1hdXRoRnJhbWUiCm1ldGhvZD1QT1NUCmFjY2VwdC1jaGFyc2V0PVVURi04PjxpbnB1dAp0 eXBlPWhpZGRlbgpuYW1lPXN1CnZhbHVlPSIiPjxpbnB1dAp0eXBlPWhpZGRlbgpuYW1lPWhlaWdo dAp2YWx1ZT0iIj48aW5wdXQKdHlwZT1oaWRkZW4KbmFtZT13aWR0aAp2YWx1ZT0iIj48aW5wdXQK dHlwZT1oaWRkZW4KbmFtZT0iaGNfaGVpZ2h0Igp2YWx1ZT0iIj48aW5wdXQKdHlwZT1oaWRkZW4K bmFtZT0iY3Rfd2lkdGgiCnZhbHVlPSIiPjxpbnB1dAp0eXBlPWhpZGRlbgpuYW1lPXYKdmFsdWU9 Mj48aW5wdXQKdHlwZT1oaWRkZW4KbmFtZT1rcwp2YWx1ZT0iXiI+PGlucHV0CnR5cGU9aGlkZGVu Cm5hbWU9a3NraAp2YWx1ZT1TSEExPjxpbnB1dAp0eXBlPWhpZGRlbgpuYW1lPWtjaQp2YWx1ZT0i MCI+PGlucHV0CnR5cGU9aGlkZGVuCm5hbWU9bQp2YWx1ZT0iIj48aW5wdXQKdHlwZT1oaWRkZW4K bmFtZT1mcgp2YWx1ZT0iS3JpcyBLZW5uYXdheSAmbHQ7a3Jpc0BGcmVlQlNELm9yZyZndDsiPjxp bnB1dAp0eXBlPWhpZGRlbgpuYW1lPXN1Ygp2YWx1ZT0iY3ZzIGNvbW1pdDogcG9ydHMvbGFuZy9w aWtlNzIgTWFrZWZpbGUiPjxpbnB1dAp0eXBlPWhpZGRlbgpuYW1lPXNyYQp2YWx1ZT0iQVJDNCI+ PGlucHV0CnR5cGU9aGlkZGVuCm5hbWU9InNfb2IiCnZhbHVlPTE+PGlucHV0CnR5cGU9aGlkZGVu Cm5hbWU9InNfb28iCnZhbHVlPTE+PGlucHV0CnR5cGU9aGlkZGVuCm5hbWU9InNfd2EiCnZhbHVl PTE+PGlucHV0CnR5cGU9aGlkZGVuCm5hbWU9InNfcm0iCnZhbHVlPTA+PGlucHV0CnR5cGU9aGlk ZGVuCm5hbWU9ZnBsCnZhbHVlPSJodHRwczovL2llYTM3MHEwMy5xYS5zYnIuaXJvbnBvcnQuY29t L3dlYnNhZmUvcHN3ZEZvcmdvdC5hY3Rpb24iPjxpbnB1dAp0eXBlPWhpZGRlbgpuYW1lPXBwbAp2 YWx1ZT0iaHR0cHM6Ly9pZWEzNzBxMDMucWEuc2JyLmlyb25wb3J0LmNvbS93ZWJzYWZlL2hlbHA/ dG9waWM9UFBOb3RTaG93biI+PGlucHV0CnR5cGU9aGlkZGVuCm5hbWU9aGwKdmFsdWU9Imh0dHBz Oi8vaWVhMzcwcTAzLnFhLnNici5pcm9ucG9ydC5jb20vd2Vic2FmZS9oZWxwP3RvcGljPUVudmVs b3BlIj48aW5wdXQKdHlwZT1oaWRkZW4KbmFtZT0icF9tbCIKdmFsdWU9IjQwIj4KPGlucHV0CnR5 cGU9aGlkZGVuCm5hbWU9InBfbyIKdmFsdWU9MT48aW5wdXQKdHlwZT1oaWRkZW4KbmFtZT0icF9u Igp2YWx1ZT0ia2V5MSI+PGlucHV0CnR5cGU9aGlkZGVuCm5hbWU9InBfcyIKdmFsdWU9IjIwIj48 aW5wdXQKdHlwZT1oaWRkZW4KbmFtZT0icF90Igp2YWx1ZT0iUGFzc3dvcmQ6Ij48aW5wdXQKdHlw ZT1oaWRkZW4KbmFtZT1rc3UKdmFsdWU9Imh0dHBzOi8vaWVhMzcwcTAzLnFhLnNici5pcm9ucG9y dC5jb20va2V5c2VydmVyL2tleXNlcnZlciIKPjxpbnB1dAp0eXBlPWhpZGRlbgpuYW1lPXNpZAp2 YWx1ZT0iIj48aW5wdXQKdHlwZT1oaWRkZW4KbmFtZT10awp2YWx1ZT0iIj48aW5wdXQKdHlwZT1o aWRkZW4KbmFtZT1mb28KdmFsdWU9IiI+PC9mb3JtPjxzY3JpcHQKdHlwZT0idGV4dC9qYXZhc2Ny aXB0IgpsYW5ndWFnZT1qYXZhc2NyaXB0PjwhLS0KaWYodHlwZW9mIGp3PT0nZnVuY3Rpb24nKWp3 KCk7d2luZG93Lm9ubG9hZD1hbWE7d2luZG93Lm9ua2V5ZG93bj1hbWE7dmFyIHN2PQpkb2N1bWVu dC5mb3Jtc1swXTtzdi5vbnN1Ym1pdD1mdW5jdGlvbigpe3JldHVybiBhbm4oc3YsCnBheWxvYWQp fTtzdi5vbmtleXVwPWZ1bmN0aW9uKGFraCl7YW5yKHN2LGFraCl9O2lmKCF2Zyl7YW55KCkKO2Fi eigwLCdwYXlsb2FkVmFsdWUnLCdwYXlsb2FkSW1hZ2UnLAonbWV0YVBheWxvYWRWYWx1ZScsJ21l dGFQYXlsb2FkSW1hZ2UnLCJhb2koMCwna2V5MScscGF5bG9hZCwiKwonImh0dHBzOi8vaWVhMzcw cTAzLnFhLnNici5pcm9ucG9ydC5jb20va2V5c2VydmVyL2tleXNlcnZlciIpJwoseydwcm9ncmVz c0ZuJzp1cSwncHJvZ3Jlc3NBcmdzJzp7J3Byb2dyZXNzQmFyJzp7J2JnQ29sb3InOicjODA4MDgw JywKJ2JvcmRlckNvbG9yJzonIzAwMDAwMCd9fX0pfS8vLS0+PC9zY3JpcHQ+PC9ib2R5PjwvaHRt bD4K ------Part-0-20706349-1264616351418--