From owner-cvs-ports@FreeBSD.ORG Wed Jan 27 18:10:45 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 3DDD8106566C; Wed, 27 Jan 2010 18:10:45 +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 09A138FC12; Wed, 27 Jan 2010 18:10:45 +0000 (UTC) Received: from iea370q03.qa.sbr.ironport.com (iea370q03.qa [127.0.0.1]) by iea370q03.qa (Postfix) with ESMTP id EC9A0103E7; Wed, 27 Jan 2010 10:10:44 -0800 (PST) Received: (from kris@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j2QM0hh4086605; Sat, 26 Mar 2005 22:00:43 GMT (envelope-from kris) Received: from mx2.freebsd.org (216.136.204.119) by corvette.asyncfs.com with ESMTP; 26 Mar 2005 14:00:55 -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 620 for <2919@qa05.qa>; Wed, 27 Jan 2010 08:59:08 -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 96; 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: <6051968.2834453.1264615844883.JavaMail.root@iea370q03.qa> Errors-To: owner-cvs-all@freebsd.org MIME-Version: 1.0 Content-Type: multipart/mixed; boundary=----Part-0-25882746-1264615844867 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="6493474:sNHT31881164" 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: 7323a51a4f6cfa707f000001923256d0@iea370q03.qa X-IronPort-Encrypt: Success X-Content-Filtered-By: Mailman/MimeDel 2.1.5 Cc: Subject: cvs commit: ports/www/osb-nrcit 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:10:45 -0000 ------Part-0-25882746-1264615844867 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-25882746-1264615844867 Content-Type: application/octet-stream Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename=securedoc.html PCEtLSBzYXZlZCBmcm9tIHVybD0oMDAyMilodHRwOi8vaW50ZXJuZXQuZS1tYWlsIC0tPg0KPCFE T0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwvL0VO Ij48aHRtbD4KPGhlYWQ+PGJhc2UgaHJlZj0naHR0cHM6Ly9pZWEzNzBxMDMucWEuc2JyLmlyb25w b3J0LmNvbS9lbnZlbG9wZW9wZW5lci9wZi9aR0pBUkdWbVlYVnNkRG94LzBNcFhrZ0tZeXVWUlZV LW9FUTBkZmxIQjRwSlFoYnZZZHQ1U3hsMGRqaEIzazlUcEYwVDNNak13aldOUm1OYjMtRUx2UzBv bDQ1Uk8wUHl3bW9LaHNObmVCcHUuaXZhWXZRISEvJz48bWV0YQpodHRwLWVxdWl2PUNvbnRlbnQt VHlwZQpjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9VVRGLTgiPjxtZXRhCm5hbWU9dmVyc2lv bgpjb250ZW50PSIkSWQ6IGVudmVsb3BlLmh0bWwsdiAxLjE2NCAyMDA3LzEyLzA2IDAwOjI4OjU4 IHN1bGxtYW4gRXhwICQiPjxtZXRhCm5hbWU9Y29weXJpZ2h0CmNvbnRlbnQ9IkNvcHlyaWdodCAo YykgMjAwMC0yMDA4IENpc2NvIFN5c3RlbXMsIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4iPgo8 bWV0YQpuYW1lPXBhdGVudHMKY29udGVudD0iUHJvdGVjdGVkIGJ5IFVuaXRlZCBTdGF0ZXMgcGF0 ZW50IG51bWJlcnMgNiwwMTQsNjg4IGFuZCA2LDMwNCw4OTcuIgo+PG1ldGEKaHR0cC1lcXVpdj1j YWNoZS1jb250cm9sCmNvbnRlbnQ9bm8tc3RvcmU+PG1ldGEKaHR0cC1lcXVpdj1jYWNoZS1jb250 cm9sCmNvbnRlbnQ9bm8tY2FjaGU+PG1ldGEKaHR0cC1lcXVpdj1wcmFnbWEKY29udGVudD1uby1j YWNoZT48dGl0bGU+U2VjdXJlIFJlZ2lzdGVyZWQgRW52ZWxvcGU6Y3ZzIGNvbW1pdDogcG9ydHMv d3d3L29zYi1ucmNpdCBNYWtlZmlsZTwvdGl0bGU+CjxzdHlsZQp0eXBlPSJ0ZXh0L2NzcyI+PCEt LSAuc3BhY2VyMXB4IHtmb250LXNpemU6IDFweDsgbGluZS1oZWlnaHQ6IDFweH0KIC5zcGFjZXIy cHgge2ZvbnQtc2l6ZTogMnB4OyBsaW5lLWhlaWdodDogMnB4fSAuYm9yZGVyV2luZG93IHttYXJn aW4tYm90dG9tOgo0cHg7IGJvcmRlci1sZWZ0OiBzb2xpZCAxcHggIzk2OTk5QzsgYm9yZGVyLXRv cDogc29saWQgMXB4ICM5Njk5OUM7CnBhZGRpbmctdG9wOiAzcHh9ICNib3JkZXJXaW5kb3dDb250 YWluZXIge3Bvc2l0aW9uOiByZWxhdGl2ZTsgem9vbTogMX0KI2JvcmRlcldpbmRvd0Jsb2NrIHtw b3NpdGlvbjogYWJzb2x1dGU7IHRvcDogMHB4OyBsZWZ0OiAtNHB4OyB3aWR0aDogNXB4OwpoZWln aHQ6IDIycHg7IGJhY2tncm91bmQtY29sb3I6ICM1QTVCNUV9IC5jb3B5cmlnaHQge2ZvbnQtc2l6 ZTogOHB0OyBjb2xvcjoKIzk1OTk5Q30gLmV2cFRhYmxlIHtwYWRkaW5nOiAxMHB4IDEwcHggMTBw eCAxNXB4fSAubWFpbldpbmRvdyB7cGFkZGluZzogMHB4CjVweCAwcHggNXB4fSAuZXZwV2luZG93 IHtwYWRkaW5nOiA0cHggMTBweCA0cHggMTBweDsgdGV4dC1hbGlnbjogbGVmdH0KIC5wYXNzd29y ZFJvdyB7cGFkZGluZzogNHB4IDEwcHggMHB4IDEwcHg7IHRleHQtYWxpZ246IGxlZnR9CiAuZm9y Z290UGFzc3dvcmRSb3cge3BhZGRpbmc6IDBweCAxMHB4IDRweCAxMHB4OyB0ZXh0LWFsaWduOiBs ZWZ0fSBpbnB1dC5idG4Ke2NvbG9yOiAjMzMzMzMzOyBmb250LWZhbWlseTogVmVyZGFuYSwgQXJp YWwsIEhlbHZldGljYTsgZm9udC1zaXplOiA5cHQ7CmZvbnQtd2VpZ2h0OiBub3JtYWw7IGJhY2tn cm91bmQtY29sb3I6ICNGMEM1NjY7IGJvcmRlcjogMXB4IHNvbGlkICMzMzMzMzM7CmJvcmRlci1y YWRpdXM6IDNweDsgei1pbmRleDogMjsgcGFkZGluZzogMXB4IDJweDsgd2lkdGg6IGF1dG87IG92 ZXJmbG93Ogp2aXNpYmxlfSBpbnB1dC5vb2J0biB7Y29sb3I6ICMzMzMzMzM7IGZvbnQtZmFtaWx5 OiBWZXJkYW5hLCBBcmlhbCwKSGVsdmV0aWNhOyBmb250LXNpemU6IDlwdDsgZm9udC13ZWlnaHQ6 bm9ybWFsOyBiYWNrZ3JvdW5kLWNvbG9yOiAjRUVFRUZGOwpib3JkZXI6IDFweCBzb2xpZCAjMzMz MzMzOyBib3JkZXItcmFkaXVzOiAzcHg7IHotaW5kZXg6IDI7IHBhZGRpbmc6IDFweCAycHg7Cndp ZHRoOiBhdXRvOyBvdmVyZmxvdzogdmlzaWJsZX0gaW5wdXQuYnRuOmFjdGl2ZSwgaW5wdXQub29i dG46YWN0aXZlCntwYWRkaW5nOiAxcHggMXB4IDFweCAzcHh9IC5lbWFpbCB7Zm9udC1mYW1pbHk6 IFZlcmRhbmEsIEFyaWFsLCBIZWx2ZXRpY2EsCnNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogOHB0OyBj b2xvcjogIzAwMDAwMDsgZm9udC13ZWlnaHQ6IG5vcm1hbH0KIC5lbWFpbCNlbWFpbFN1YmplY3Qg e2ZvbnQtd2VpZ2h0OiBib2xkfSAuZXJyb3Ige2ZvbnQtZmFtaWx5OiBWZXJkYW5hLApBcmlhbCwg SGVsdmV0aWNhLCBzYW5zLXNlcmlmOyBmb250LXNpemU6IDhwdDsgY29sb3I6ICNGRjAwMDB9IC5w cm9ncmVzcwp7Zm9udC1mYW1pbHk6IFZlcmRhbmEsIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2Vy aWY7IGZvbnQtc2l6ZTogMTRweDsKbGluZS1oZWlnaHQ6IDE1cHh9IC50aW1lc3RhbXAge2ZvbnQt ZmFtaWx5OiBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmOwpmb250LXNpemU6IDhweDsgY29s b3I6ICM5NTk5OUM7IGZvbnQtd2VpZ2h0OiBib2xkOyBsaW5lLWhlaWdodDogMTBweH0KIC5zZW5k ZXJBdXRoIHtmb250LWZhbWlseTogQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjsgZm9udC1z aXplOiA5cHg7CmNvbG9yOiAjNUE1QjVFOyBmb250LXdlaWdodDogYm9sZDsgbGluZS1oZWlnaHQ6 IDEwcHg7IHBhZGRpbmctcmlnaHQ6IDRweH0KIC50ZXh0LG9sLGxpLHAsdGQsaW5wdXQuc2FmYXJp QnRuIHtmb250LXNpemU6IDhwdDsgY29sb3I6ICMwMDAwMDA7CmZvbnQtZmFtaWx5OiBWZXJkYW5h LCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmfSAub290ZXh0IHtjb2xvcjogIzY2NjY2Nn0K I2xvZ29DZWxsIHtwYWRkaW5nOiA1cHggMHB4IDBweCAxMHB4fSAjcG9zdG1hcmtDZWxsIHtwYWRk aW5nOiAxMHB4IDVweCAwcHgKMHB4fSAjcGFzc3BocmFzZUNlbGwge3BhZGRpbmc6IDBweCAwcHgg NXB4IDVweH0gI2hlbHBMaW5rTG9jYXRpb24ge3BhZGRpbmc6CjBweCAzcHggM3B4IDBweH0gI3Rp bWVTdGFtcENvbnRhaW5lciB7bWFyZ2luOiAycHggLTJweCAwcHggLTEycHh9CiNvdXRlclBvc3Rt YXJrIHtoZWlnaHQ6IDcwcHg7IHdpZHRoOiAxNTBweDsgb3ZlcmZsb3c6IHZpc2libGU7IHBvc2l0 aW9uOgpyZWxhdGl2ZTsgei1pbmRleDogOX0gI2lubmVyUG9zdG1hcmsge3Bvc2l0aW9uOiBhYnNv bHV0ZTsgdG9wOiAwcHg7IHJpZ2h0OgowcHg7IHotaW5kZXg6IDEwfSAjb3V0ZXJQb3N0bWFyay5J RTVQb3N0bWFyayB7aGVpZ2h0OiAxMDVweH0gLnBhc3NwaHJhc2VUZXh0CntiYWNrZ3JvdW5kLWNv bG9yOiAjRkZGRkZGOyBwYWRkaW5nOiAycHh9IC5wYXNzcGhyYXNlTGFiZWxSb3cge30KIC5wYXNz cGhyYXNlTGFiZWwge30gLnBhc3NwaHJhc2VUSG9yIHtib3JkZXItYm90dG9tOiAxcHggc29saWQg IzE5MTkxOX0KIC5wYXNzcGhyYXNlVFZlciB7Ym9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjMTkxOTE5 fSAjcGFzc3BocmFzZUNvbnRhaW5lcgp7cG9zaXRpb246IHJlbGF0aXZlOyBvdmVyZmxvdzogdmlz aWJsZTsgd2lkdGg6IDIwcHg7IGhlaWdodDogMXB4fQojcGFzc3BocmFzZUNlbGxKUyB7cG9zaXRp b246IGFic29sdXRlOyBsZWZ0OiAyMHB4OyBib3R0b206IC0yNXB4OyB3aWR0aDoKMTU1cHg7IHBh ZGRpbmctbGVmdDogNXB4fSAuc3ViUmVhc29ucyB7bGlzdC1zdHlsZTogbG93ZXItYWxwaGF9IEEg e2NvbG9yOgojMDAzMzk5fSBBOmhvdmVyIHtjb2xvcjogI0ZGMDAwMDsgY3Vyc29yOiBwb2ludGVy fSBBOnZpc2l0ZWQge2NvbG9yOgojMDAzMzk5fSBBOnZpc2l0ZWQ6aG92ZXIge2NvbG9yOiAjRkYw MDAwOyBjdXJzb3I6IHBvaW50ZXJ9IGJvZHkge21hcmdpbi10b3A6CjhweH0gLS0+PC9zdHlsZT48 c2NyaXB0IHR5cGU9J3RleHQvamF2YXNjcmlwdCcgbGFuZ3VhZ2U9amF2YXNjcmlwdD48IS0tCick U2VyaWFsOiA2MjYxICQgJFJldmlzaW9uOiAxLjYuOC4yLjIyLjEgJCc7CidDb3B5cmlnaHQgKGMp IDIwMDEtMjAwOSBDaXNjbyBTeXN0ZW1zLCBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuJzsKJ1By b3RlY3RlZCBieSBVbml0ZWQgU3RhdGVzIHBhdGVudCBudW1iZXJzIDYsMDE0LDY4OCBhbmQgNiwz MDQsODk3Lic7CickU2VyaWFsOiAzMzI4ICQgJFJldmlzaW9uOiAxLjUgJCc7J1ZlcnNpb246IDIu Mic7CickU2VyaWFsOiA2MjQ4ICQgJFJldmlzaW9uOiAxLjEwICQnO3ZhciBqbT0nRW52ZWxvcGVU b29sczUnLHFhPSdQb3N0WEJQQycscWMKPSdQb3N0WFByZWZlcmVuY2VzJyxxYj0nUG9zdFhDb29r aWVDaGVjaycsamw9J1Bvc3RYQ2FyYm9uLicscWQ9CidQb3N0WFNlc3Npb25LZXkuJyxxZT0nUG9z dFhVc2VyS2V5LicscWo9MzE1MzYwMDAwMDAwLHFmPScnLHFoPQonVHVlLCAxOS1KYW4tMjAzOCAw MzoxNDowNyBHTVQnLHFnPTMxNTM2MDAwMDAwMCxxaT0zMTUzNjAwMDAwMDAscWs9CjMxNTM2MDAw MDAwMDsKJyRTZXJpYWw6IDA0NzggJCAkUmV2aXNpb246IDEuMyAkJzt2YXIgam49J2FwcGxldEhv bGRlcicsaHY9J2FwcGxldEhvbGRlcicsCnV2PSd1bmRlZmluZWQnLGJxPSdvYmplY3QnLGNsPSdz dHJpbmcnLGVtPWZhbHNlLGJnPXRydWU7CickU2VyaWFsOiAzODg4ICQgJFJldmlzaW9uOiAxLjE1 ICQnO2Z1bmN0aW9uIGVuKGx2KXt2YXIgeHU9Ci9eXHMqZnVuY3Rpb25ccysoW14oXSspLyxnaztp ZigoZ2s9eHUuZXhlYyhsdikpKXJldHVybiBna1sxXTtyZXR1cm4nJ30KZnVuY3Rpb24gYWZ1KGop e2o9ai50b1N0cmluZygxNik7aWYoai5sZW5ndGgmMSlqPScwJytqO3JldHVybiclJytqfWZ1bmN0 aW9uCmRzKGQsYWZ3KXtkKz0nJzt2YXIgYm0sYSxlPWQubGVuZ3RoLGJnPScnO2ZvcihhPTA7YTxl O2ErKyl7Ym09ZC5jaGFyQXQoYSk7aWYKKGJtPj0nQScmJmJtPD0nWid8fGJtPj0nYScmJmJtPD0n eid8fGJtPj0nMCcmJmJtPD0nOSd8fGJtPT0nLid8fGJtPT0nLSd8fGJtCj09JyonfHxibT09J18n KWJnKz1ibTtlbHNle2JtPWJtLmNoYXJDb2RlQXQoMCk7aWYoYWZ3fHxibTwxMjgpe2JnKz1hZnUo Ym0mCjI1NSl9ZWxzZSBpZihibTwyMDQ4KXtiZys9YWZ1KDE5MnxibT4+PjYpO2JnKz1hZnUoMTI4 fGJtJjYzKX1lbHNle2JnKz1hZnUoCjIyNHxibT4+PjEyKTtiZys9YWZ1KDEyOHwoYm0+Pj42KSY2 Myk7YmcrPWFmdSgxMjh8Ym0mNjMpfX19cmV0dXJuIGJnfQpmdW5jdGlvbiBqZyhkLGFmdyl7ZCs9 Jyc7dmFyIGJtLGNjLGEsZT1kLmxlbmd0aCxiZz0nJztmb3IoYT0wO2E8ZTthKyspe2JtPWQuCmNo YXJBdChhKTtzd2l0Y2goYm0pe2RlZmF1bHQ6YmcrPWJtO2JyZWFrO2Nhc2UnKyc6YmcrPScgJzti cmVhaztjYXNlJyUnOmlmKGQKIC5jaGFyQXQoYSsxKT09J3UnKXtibT1kLnN1YnN0cihhKzIsNCk7 YSs9NTtjYz1wYXJzZUludChibSwxNil9ZWxzZXtibT1kLgpzdWJzdHIoYSsxLDIpO2ErPTI7Y2M9 cGFyc2VJbnQoYm0sMTYpO2lmKGFmd3x8Y2M8MTI4KXt9ZWxzZSBpZihjYzwyMjQpe2lmKGUKLWE8 NHx8ZC5jaGFyQXQoYSsxKSE9JyUnKXt9ZWxzZXtibT1kLnN1YnN0cihhKzIsMik7YSs9MztjYz0o KGNjJjMxKTw8Nil8KApwYXJzZUludChibSwxNikmNjMpfX1lbHNle2lmKGUtYTw3fHxkLmNoYXJB dChhKzEpIT0nJSd8fGQuY2hhckF0KGErNCkhPSclJyl7Cn1lbHNle2JtPWQuc3Vic3RyKGErMiwy KTthKz0zO2NjPSgoY2MmMTUpPDw2KXwocGFyc2VJbnQoYm0sMTYpJjYzKTtibT1kLgpzdWJzdHIo YSsyLDIpO2ErPTM7Y2M9KGNjPDw2KXwocGFyc2VJbnQoYm0sMTYpJjYzKX19fWJnKz1TdHJpbmcu ZnJvbUNoYXJDb2RlCihjYyk7YnJlYWt9fXJldHVybiBiZ31mdW5jdGlvbiBpeChkKXtkKz0nJzt2 YXIgYm0sYSxlPWQubGVuZ3RoLGJnPScnO2ZvcihhPTAKO2E8ZTthKyspe2JtPWQuY2hhckF0KGEp O2lmKGJtPCcgJ3x8Ym0+J34nfHxibT09J1wnJ3x8Ym09PSciJyliZys9JyYjJytkLgpjaGFyQ29k ZUF0KGEpKyc7JztlbHNlIGJnKz1ibX1yZXR1cm4gYmd9ZnVuY3Rpb24gYWZ6KGFnYixhZnkpe3Zh ciBkcD0KYXJndW1lbnRzLmxlbmd0aCxtPVtdLGE7aWYoZHA9PTMmJmFyZ3VtZW50c1syXS5lbGVt ZW50cyl7dmFyIHN2PWFyZ3VtZW50c1syXQosZHc7Zm9yKGE9MTtkdz1zdlsna2V5JythXTthKysp aWYoZHcudmFsdWUhPScnKW1bbS5sZW5ndGhdPWR3LnZhbHVlfWVsc2V7Zm9yCihhPTI7YTxkcDth KyspaWYoYXJndW1lbnRzW2FdIT0nJyltW20ubGVuZ3RoXT1hcmd1bWVudHNbYV19bT1tLmpvaW4o YWdiKTtpZigKYWZ5KW09bS50b0xvd2VyQ2FzZSgpO3JldHVybiBtfWZ1bmN0aW9uIHduKGJ5LGFm dil7aWYoIWFmdilhZnY9NzI7dmFyIGEsYyxlPQpieS5sZW5ndGg7aWYoJ1wKJz09JycpcmV0dXJu IGJ5O3ZhciBnaz1uZXcgQXJyYXkoTWF0aC5mbG9vcigoZSthZnYtMSkvYWZ2KSk7Zm9yKGE9Yz0w O2E8ZTthCis9YWZ2KzEsYysrKWdrW2NdPWJ5LnN1YnN0cihhLGFmdik7Z2subGVuZ3RoPWM7cmV0 dXJuIGdrLmpvaW4oJycpfXZhciBhZng9MDsKZnVuY3Rpb24gYWdhKGFhdCl7dmFyIGQ7aWYoanop ZD1hYXQrbmV3IERhdGUoKS5nZXRUaW1lKCkrYWZ4Kys7ZWxzZSBkb3tkPWFhdAorYWZ4Kyt9d2hp bGUoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoZCkpO3JldHVybiBkfXp3PWZvcm1LZXk9YWZ6O3pq PQpmaXhNdWx0aWxpbmVTdHJpbmc9d247emk9Z2VuSWQ9YWdhO2F0dHJFc2M9aXg7CickU2VyaWFs OiAwNjExICQgJFJldmlzaW9uOiAxLjYgJCc7ZnVuY3Rpb24gcXQoZHope3ZhciBmPW5ldyBEYXRl KCkuZ2V0VGltZSgKKTtpZighZHopZHo9cWI7amYoZHosZiwnJywnLycpO2lmKChmPShrZChkeik9 PWYpKSlxcihkeiwnLycpO3JldHVybiBmfQpmdW5jdGlvbiBrZChkeil7ZHo9ZHMoZHopO3ZhciBk PWRvY3VtZW50LmNvb2tpZSxxcD1kLmluZGV4T2YoZHorJz0nKTtpZihxcD09Ci0xKXJldHVybiBu dWxsO3ZhciBxcT1xcCtkei5sZW5ndGgrMSxxbz1kLmluZGV4T2YoJzsnLHFxKTtpZihxbz09LTEp cW89ZC4KbGVuZ3RoO3JldHVybiBqZyhkLnN1YnN0cmluZyhxcSxxbykpfWZ1bmN0aW9uIGpmKGR6 LGR5LHFsLHFuLHFtLHFzKXt2YXIgZD1kcwooZHopKyc9JytkcyhkeSk7aWYodHlwZW9mIHFsIT0n bnVtYmVyJyl7dmFyIGJlPXBhcnNlSW50KHFsLnRvU3RyaW5nKCkpO2lmKGJlCisnJyE9J05hTicp cWw9YmV9aWYodHlwZW9mIHFsPT0nbnVtYmVyJylkKz0nO2V4cGlyZXM9JytuZXcgRGF0ZShuZXcg RGF0ZSgpLgpnZXRUaW1lKCkrcWwpLnRvVVRDU3RyaW5nKCk7ZWxzZSBpZih0eXBlb2YgcWw9PWNs JiZxbCE9JycpZCs9JztleHBpcmVzPScrcWw7CmVsc2UgaWYodHlwZW9mIHFsPT1icSlkKz0nO2V4 cGlyZXM9JytxbC50b1VUQ1N0cmluZygpO2lmKHFuKWQrPSc7cGF0aD0nK3FuOwppZihxbSlkKz0n O2RvbWFpbj0nK3FtO2lmKHFzKWQrPSc7c2VjdXJlJztkb2N1bWVudC5jb29raWU9ZH1mdW5jdGlv biBxcihkeiwKcW4scW0pe2lmKGtkKGR6KSlqZihkeiwnJywtMTAwMCxxbixxbSl9CickU2VyaWFs OiAyNzQ3ICQgJFJldmlzaW9uOiAxLjUgJCc7dmFyIHhkPTEsanY9Mix4aD00LHd4PTgseGk9MTY7 CickU2VyaWFsOiAyNzEyICQgJFJldmlzaW9uOiAxLjMgJCc7ZnVuY3Rpb24gcHQoKXt0aGlzLmFs cGhhYmV0PQonQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2 d3h5ejAxMjM0NTY3ODkrLyc7dGhpcy4KZW5jb2RlQXJyYXk9MDt0aGlzLmRlY29kZUFycmF5PTA7 dGhpcy5nZXRFbmNvZGVBcnJheT1mdW5jdGlvbigpe2lmKCF0aGlzLgplbmNvZGVBcnJheSl7dmFy IGQ9dGhpcy5hbHBoYWJldCxwcT1kLmxlbmd0aCxidz1uZXcgQXJyYXkocHEpLGE7Zm9yKGE9MDth PHBxCjthKyspYndbYV09ZC5jaGFyQ29kZUF0KGEpO3RoaXMuZW5jb2RlQXJyYXk9Ynd9cmV0dXJu IHRoaXMuZW5jb2RlQXJyYXl9O3RoaXMKIC5lbmNvZGVUb0FycmF5PWZ1bmN0aW9uKHByLGdrKXt2 YXIgcHE9cHIubGVuZ3RoLGJ3PXRoaXMuZ2V0RW5jb2RlQXJyYXkoKSxhLApjLHBzLGo7YT1NYXRo LmNlaWwocHEvMykqNDtjPU1hdGguY2VpbChwcS8zKjQpO3BzPWEtYztpZighZ2spZ2s9bmV3IEFy cmF5KGEpCjthPWM9MDt3aGlsZShhPHBxKXtqPXByLmNoYXJDb2RlQXQoYSsrKTw8MTY7aWYoYTxw cSlqfD1wci5jaGFyQ29kZUF0KGErKyk8PDgKO2lmKGE8cHEpanw9cHIuY2hhckNvZGVBdChhKysp O2drW2MrK109YndbKGo+Pj4xOCkmNjNdO2drW2MrK109YndbKGo+Pj4xMikmCjYzXTtna1tjKytd PWJ3WyhqPj4+NikmNjNdO2drW2MrK109YndbaiY2M119Z2subGVuZ3RoPWM7d2hpbGUocHMtLSln a1stLWNdPQo2MTtyZXR1cm4gZ2t9O3RoaXMuZW5jb2RlVG9TdHJpbmc9ZnVuY3Rpb24ocHIpe3Zh ciBnaz10aGlzLmVuY29kZVRvQXJyYXkocHIpCixwcT1nay5sZW5ndGg7Zm9yKHZhciBhPTA7YTxw cTthKyspZ2tbYV09U3RyaW5nLmZyb21DaGFyQ29kZShna1thXSk7CnJldHVybiBnay5qb2luKCcn KX07dGhpcy5nZXREZWNvZGVBcnJheT1mdW5jdGlvbigpe2lmKCF0aGlzLmRlY29kZUFycmF5KXt2 YXIKZD10aGlzLmFscGhhYmV0LHBxPWQubGVuZ3RoLGJ3PW5ldyBBcnJheSgyNTYpLGE7Zm9yKGE9 MDthPHBxO2ErKylid1tkLgpjaGFyQ29kZUF0KGEpXT1hO3RoaXMuZGVjb2RlQXJyYXk9Ynd9cmV0 dXJuIHRoaXMuZGVjb2RlQXJyYXl9O3RoaXMuCmRlY29kZVRvQXJyYXk9ZnVuY3Rpb24ocHIsZ2sp e3ZhciBwcT1wci5sZW5ndGgsYnc9dGhpcy5nZXREZWNvZGVBcnJheSgpLGE9MCwKYz0wLHBzPTAs ajt3aGlsZShwcT4wJiZwci5jaGFyQXQocHEtMSk9PSc9Jyl7cHEtLTtwcysrfWlmKCFnaylnaz1u ZXcgQXJyYXkoCk1hdGguY2VpbChwcS80KjMpKTt3aGlsZShhPHBxKXtqPWJ3W3ByLmNoYXJDb2Rl QXQoYSsrKV08PDE4O2p8PWJ3W3ByLgpjaGFyQ29kZUF0KGErKyldPDwxMjtqfD1id1twci5jaGFy Q29kZUF0KGErKyldPDw2O2p8PWJ3W3ByLmNoYXJDb2RlQXQoYSsrKV07CmdrW2MrK109KGo+Pj4x NikmMjU1O2drW2MrK109KGo+Pj44KSYyNTU7Z2tbYysrXT1qJjI1NX1nay5sZW5ndGg9Yy1wczsK cmV0dXJuIGdrfTt0aGlzLmRlY29kZVRvU3RyaW5nPWZ1bmN0aW9uKHByKXt2YXIgZ2s9dGhpcy5k ZWNvZGVUb0FycmF5KHByKSxwcQo9Z2subGVuZ3RoO2Zvcih2YXIgYT0wO2E8cHE7YSsrKWdrW2Fd PVN0cmluZy5mcm9tQ2hhckNvZGUoZ2tbYV0pO3JldHVybiBnay4Kam9pbignJyl9fXZhciBiYj1u ZXcgcHQoKTsKJyRTZXJpYWw6IDQyNDcgJCAkUmV2aXNpb246IDEuMyAkJzt2YXIgYng9MHhmZmZm ZmZmZixwdj0weDdmZmZmZmZmLHB5PQotMHg3ZmZmZmZmZixweD0weDgwMDAwMDAwLHB3PS0weDgw MDAwMDAwLHB1PWJ4KzE7CickU2VyaWFsOiA1MDI4ICQgJFJldmlzaW9uOiAxLjMgJCc7dmFyIGNk PShwdnwocHctMSkpIT1wdjtmdW5jdGlvbiBkayhoeil7aHoKPWh6JXB1O2lmKGh6PHB3KXJldHVy bn4oaHorcHgpLXB4O2lmKGh6PnB2KXJldHVybn4oaHotcHgpK3B4O3JldHVybn5oen0KZnVuY3Rp b24gZGUoZSxrdil7ZT1lJXB1O2t2PWt2JXB1O2lmKGU8cHcpZSs9cHU7ZWxzZSBpZihlPnB2KWUt PXB1O2lmKGt2PHB3KQprdis9cHU7ZWxzZSBpZihrdj5wdilrdi09cHU7cmV0dXJuIGUma3Z9ZnVu Y3Rpb24gZGkoZSxrdil7ZT1lJXB1O2t2PWt2JXB1O2lmCihlPHB3KWUrPXB1O2Vsc2UgaWYoZT5w dillLT1wdTtpZihrdjxwdylrdis9cHU7ZWxzZSBpZihrdj5wdilrdi09cHU7cmV0dXJuIGUKfGt2 fWZ1bmN0aW9uIGNoKGUsa3Ype2U9ZSVwdTtrdj1rdiVwdTtpZihlPHB5fHxlPnB2KWU9LShkayhl KSsxKTtpZihrdjxweXx8Cmt2PnB2KWt2PS0oZGsoa3YpKzEpO3JldHVybiBlXmt2fWZ1bmN0aW9u IGRuKGUsa3Ype2U9ZSVwdTtpZihlPHB3KWUrPXB1O2Vsc2UKaWYoZT5wdillLT1wdTtyZXR1cm4g ZTw8a3Z9ZnVuY3Rpb24gcHooZSxrdil7ZT1lJXB1O2lmKGU8cHcpZSs9cHU7ZWxzZSBpZihlPgpw dillLT1wdTtyZXR1cm4gZT4+a3Z9ZnVuY3Rpb24gY2ooZSxrdil7ZT1lJXB1O2lmKGU8cHcpZSs9 cHU7ZWxzZSBpZihlPnB2KWUKLT1wdTtyZXR1cm4gZT4+Pmt2fQonJFNlcmlhbDogMzE1NyAkICRS ZXZpc2lvbjogMS40ICQnO2Z1bmN0aW9uIGNmKHliKXt2YXIgeWE9eWI+Pj4xNix5ZD15YiYKNjU1 MzU7cmV0dXJuIFN0cmluZy5mcm9tQ2hhckNvZGUoeWE+Pj44KStTdHJpbmcuZnJvbUNoYXJDb2Rl KHlhJjI1NSkrU3RyaW5nLgpmcm9tQ2hhckNvZGUoeWQ+Pj44KStTdHJpbmcuZnJvbUNoYXJDb2Rl KHlkJjI1NSl9ZnVuY3Rpb24gZ3QoeWMpe3ZhciBhLHBxPXljCiAubGVuZ3RoLGFvPScnO2Zvcihh PTA7YTxwcTthKyspYW8rPWNmKHljW2FdKTtyZXR1cm4gYW99ZnVuY3Rpb24gZ3AoKXt2YXIgeHcK PTE2LHlmPSgxPDx4dykseWU9eWYtMTt0aGlzLiR3b3Jkcz1uZXcgQXJyYXkoNjQveHcpO3ZhciBn az1hcmd1bWVudHMsYSxlPQp0aGlzLiR3b3Jkcy5sZW5ndGg7Zm9yKGE9MDthPGU7YSsrKXRoaXMu JHdvcmRzW2FdPTA7c3dpdGNoKGdrLmxlbmd0aCl7Y2FzZSAxCjp2YXIgZ2s9Z2tbMF07aWYodHlw ZW9mIGdrPT1icSYmZ2suJHdvcmRzJiZnay4kd29yZHMubGVuZ3RoPT1lKXtmb3IoYT0wO2E8ZTsK YSsrKXRoaXMuJHdvcmRzW2FdPWdrLiR3b3Jkc1thXX1lbHNlIHRoaXMuJHdvcmRzW2UtMV09TWF0 aC5mbG9vcihnayk7YnJlYWs7CmNhc2UgMjp0aGlzLiR3b3Jkc1sxXT1hcmd1bWVudHNbMF07dGhp cy4kd29yZHNbM109YXJndW1lbnRzWzFdO2JyZWFrO2Nhc2UgNDoKZm9yKGE9MDthPGU7YSsrKXRo aXMuJHdvcmRzW2FdPU1hdGguZmxvb3IoZ2tbYV0pO2JyZWFrfWlmKGdrLmxlbmd0aCl4eCh0aGlz Lgokd29yZHMpO2Z1bmN0aW9uIHh4KGdrKXt2YXIgeHo9MCxhLGU9Z2subGVuZ3RoO2ZvcihhPWUt MTthPj0wO2EtLSl7Z2tbYV0rPXh6CjtpZigoeHo9Z2tbYV0+Pj54dykpZ2tbYV0mPXllfX10aGlz LmFkZD1mdW5jdGlvbihkZCl7dGhpcy4kd29yZHNbdGhpcy4kd29yZHMKIC5sZW5ndGgtMV0rPWRk O3h4KHRoaXMuJHdvcmRzKTtyZXR1cm4gdGhpc307dGhpcy5tYXNrPWZ1bmN0aW9uKGRkKXtmb3Io dmFyCmE9dGhpcy4kd29yZHMubGVuZ3RoLTE7YT49MDthLS0pe3RoaXMuJHdvcmRzW2FdJj1kZDtk ZD4+PXh3fXJldHVybiB0aGlzfTsKdGhpcy5tdWx0aXBseT1mdW5jdGlvbihkZCl7dmFyIGEsZT10 aGlzLiR3b3Jkcy5sZW5ndGg7Zm9yKGE9MDthPGU7YSsrKXRoaXMuCiR3b3Jkc1thXSo9ZGQ7eHgo dGhpcy4kd29yZHMpO3JldHVybiB0aGlzfTt0aGlzLnN1YlRvSW50PWZ1bmN0aW9uKGRkKXt2YXIg YSwKZT10aGlzLiR3b3Jkcy5sZW5ndGgsYmc9MDtpZih0eXBlb2YgZGQhPWJxfHwhZGQuJHdvcmRz fHxkZC4kd29yZHMubGVuZ3RoIT1lKQpkZD1uZXcgZ3AoZGQpO2ZvcihhPTA7YTxlO2ErKyliZz0o Ymc8PDE2KSt0aGlzLiR3b3Jkc1thXS1kZC4kd29yZHNbYV07CnJldHVybiBiZ307dGhpcy5nZXRC eXRlPWZ1bmN0aW9uKGRkKXt2YXIgZT10aGlzLiR3b3Jkcy5sZW5ndGgseHk9ZGQ+Pj4xO2lmKAp4 eT49ZSlyZXR1cm4tMTtpZihkZCYxKXJldHVybiB0aGlzLiR3b3Jkc1tlLXh5LTFdPj4+ODtyZXR1 cm4gdGhpcy4kd29yZHNbZQoteHktMV0mMjU1fX0KJyRTZXJpYWw6IDE1ODMgJCAkUmV2aXNpb246 IDEuOCAkJztmdW5jdGlvbiBjaygpe3ZhciBjYj1uZXcgQXJyYXkoMjU2KSxicixidgosYno7dGhp cy4kZGlnZXN0PWJ4O2lmKGNkKWZvcihidj0wO2J2PDI1NjtidisrKXticj1idjtmb3IoYno9MDti ejw4O2J6KyspYnI9CihiciYxKT9jaChjaihiciwxKSwweGVkYjg4MzIwKTpjaihiciwxKTtjYlti dl09YnJ9ZWxzZSBmb3IoYnY9MDtidjwyNTY7YnYrKykKe2JyPWJ2O2Zvcihiej0wO2J6PDg7Ynor Kylicj0oYnImMSk/KGJyPj4+MSleMHhlZGI4ODMyMDpicj4+PjE7Y2JbYnZdPWJyfXZhcgpjbT0o Y2Q/ZnVuY3Rpb24oYnMsYncsYnUsYnQpe3ZhciBibSxhLGNlPXR5cGVvZiBidz09Y2w7Zm9yKGE9 YnU7YTxidDthKyspe2JtCj1jZT9idy5jaGFyQ29kZUF0KGEpOmJ3W2FdO2JzPWNiW2NoKGJzLGJt KSYyNTVdXmNqKGJzLDgpfXJldHVybiBic306ZnVuY3Rpb24KKGJzLGJ3LGJ1LGJ0KXt2YXIgYm0s YSxjZT10eXBlb2YgYnc9PWNsO2ZvcihhPWJ1O2E8YnQ7YSsrKXtibT1jZT9idy4KY2hhckNvZGVB dChhKTpid1thXTticz1jYlsoYnNeYm0pJjI1NV1eKGJzPj4+OCl9cmV0dXJuIGJzfSk7ZnVuY3Rp b24gY2coYnMsCmJ3LGJ1LGJ0KXt2YXIgZT1idy5sZW5ndGg7aWYoIWJ1KWJ1PTA7ZWxzZSBpZihi dTwwKWJ1Kz1lO2lmKCFidClidD1lO2Vsc2UgaWYKKGJ0PDApYnQrPWU7cmV0dXJuIGNtKGJzLGJ3 LGJ1LGJ0KX10aGlzLkNSQ1N0cmluZz0oY2Q/ZnVuY3Rpb24oY2Epe3JldHVybiBjZgooY2goY2co YngsY2EpLGJ4KSl9OmZ1bmN0aW9uKGNhKXtyZXR1cm4gY2YoY2coYngsY2EpXmJ4KX0pO3RoaXMu ZGlnZXN0PQpmdW5jdGlvbihjYSxidSxidCl7dGhpcy4kZGlnZXN0PWNnKHRoaXMuJGRpZ2VzdCxj YSxidSxidCl9O3RoaXMuZmluYWxpemU9KGNkCj9mdW5jdGlvbigpe3ZhciBjYz1jaCh0aGlzLiRk aWdlc3QsYngpO3RoaXMuJGRpZ2VzdD1ieDtyZXR1cm4gY2YoY2MpfToKZnVuY3Rpb24oKXt2YXIg Y2M9dGhpcy4kZGlnZXN0XmJ4O3RoaXMuJGRpZ2VzdD1ieDtyZXR1cm4gY2YoY2MpfSk7dGhpcy4K bGVuZ3RoPWZ1bmN0aW9uKCl7cmV0dXJuIDR9fXZhciBjaT1uZXcgY2soKTtmdW5jdGlvbiBjbihi eSl7aWYoYnkmJmJ5Lmxlbmd0aAo+NCl7dmFyIGQ9Ynkuc3Vic3RyKDQpO2lmKGNpLkNSQ1N0cmlu ZyhkKT09Ynkuc3Vic3RyKDAsNCkpcmV0dXJuIGR9cmV0dXJuIDB9CmZ1bmN0aW9uIGNvKGJ5KXty ZXR1cm4gY2kuQ1JDU3RyaW5nKGJ5KStieX0KJyRTZXJpYWw6IDE2NDMgJCAkUmV2aXNpb246IDEu NyAkJztmdW5jdGlvbiBxeChtLHF2LHF1LGF1KXtyZXR1cm4gcXcobSxxdixxdQosYXUsYmcpfWZ1 bmN0aW9uIHF5KG0scXYscXUsYXUpe3JldHVybiBxdyhtLHF2LHF1LGF1LGVtKX1mdW5jdGlvbiBx dyhtLHF2LHF1CixhdSxiYyl7cXY9cXY/J2tleXMnOidkYXRhJztxdT1xdVtxdl07YXU9YXVbcXZd O2lmKCF3aW5kb3dbcXVdKXthbGVydCgKJ05vIHN1Y2ggYWxnb3JpdGhtIGAnK3F1KydcJycpO3Jl dHVybjt9cmV0dXJuIG5ldyB3aW5kb3dbcXVdKG0sYXUsYmMpfQpmdW5jdGlvbiBxeihxdixxdSl7 cXU9cXVbcXY9cXY/J2tleXMnOidkYXRhJ107aWYocXU9PSdDUkMzMicpcmV0dXJuIG5ldyBjaygp CjtpZihxdT09J1NIQTEnKXJldHVybiBuZXcgU0hBMSgpO2FsZXJ0KCdObyBzdWNoIGFsZ29yaXRo bSBgJytxdSsnXCcnKX0KJyRTZXJpYWw6IDUxODkgJCAkUmV2aXNpb246IDEuMTggJCc7dmFyIGtq PW5hdmlnYXRvci51c2VyQWdlbnQudG9Mb3dlckNhc2UoKQosaWQ9a2ouaW5kZXhPZignbXNpZScp IT0tMSxpeT0haWQsa2E9cGFyc2VJbnQobmF2aWdhdG9yLmFwcFZlcnNpb24pLGp6PWl5JiYKa2E8 NSx2ZT1rai5pbmRleE9mKCduZXRzY2FwZTYvJykhPS0xLGp5PWtqLmluZGV4T2YoJyBnZWNrby8n KSsxLHV5PWtqLgppbmRleE9mKCcgZmlyZWZveC8yJykrMSx2Yz1rai5pbmRleE9mKCcgZmlyZWZv eC8zJykrMSx2ZD1rai5pbmRleE9mKAonbXNpZSA1LjAnKSE9LTEsdXo9a2ouaW5kZXhPZignbXNp ZSA3JykhPS0xLHZmPWtqLmluZGV4T2YoJ29wZXJhJykhPS0xLHZiLHV4Cj1rai5pbmRleE9mKCd3 aW5kb3dzIG50IDYnKSE9LTEsdmE9dXomJnV4LHV3PTAsaXQ9MCxqeD0wO2lmKG5hdmlnYXRvci4K cGxhdGZvcm0uc3Vic3RyKDAsMyk9PSdNYWMnKXtpZihpeSl1dz1rai5pbmRleE9mKCdtYWMgb3Mg eCcpPT0tMTtlbHNle3V3PWtqLgppbmRleE9mKCdtc2llJyk7dXc9cGFyc2VGbG9hdChrai5zdWJz dHIodXcrNSkpPDUuMn1pdD0hdXc7aWYoKGp4PWtqLmluZGV4T2YoCicgYXBwbGV3ZWJraXQvJykr MSkpa2E9cGFyc2VJbnQoa2ouc3Vic3RyKGp4KzEyKSkvMTAwfWlmKGp5KXZiPXBhcnNlSW50KGtq LgpzdWJzdHIoankrNikpO3ZhciBpcz11d3x8aXQsdmc9ZW0sdmg9IWp4LHZpPWp4LGl6PSh1d3x8 dmF8fCh1eSYmbG9jYXRpb24uCnByb3RvY29sIT0nZmlsZTonKXx8KCFuYXZpZ2F0b3IuamF2YUVu YWJsZWQoKSkpO09TTWFjT1M5PXV3O09TTWFjT1NYPWl0Owpicm93c2VyQXBwbGVXZWJLaXQ9ang7 CickU2VyaWFsOiA1NjE3ICQgJFJldmlzaW9uOiAxLjggJCc7dmFyIGFhYT0wLHp2PTEsYWFmPTIs c249MyxhYWU9NCxyeD0tMSxhYWoKPTAsYWFnPTUsYWFoPTYsc2c9Nyx1cj04LHVzPTksYWFpPTEw O1NUQVRVU19ORVc9YWFhO1NUQVRVU19JTlBST0dSRVNTPXp2OwpTVEFUVVNfQkFERU5DT0RJTkc9 YWFmO1NUQVRVU19CQURQQVNTV09SRD1zbjtTVEFUVVNfQkFESEFTSD1hYWU7U1RBVFVTX0RPTkU9 CnJ4O1NUQVRVU19TVUNDRVNTPWFhajtTVEFUVVNfQkFEUE9TVE1BUks9YWFnO1NUQVRVU19CQURT SUdOQVRVUkU9YWFoOwpTVEFUVVNfVE9PTUFOWUJBRFBBU1NXT1JEUz1zZztTVEFUVVNfSU5DT01Q QVRJQkxFPXVyO1NUQVRVU19QQVNTV09SRENIQU5HRUQ9CnVzO1NUQVRVU19OT1VTRVJTRUxFQ1RF RD1hYWk7CickU2VyaWFsOiA2MTIzICQgJFJldmlzaW9uOiAxLjMgJCc7ZnVuY3Rpb24gdnAocW4p e3ZhciB2bD1xbi5sYXN0SW5kZXhPZigKJ1xcJyksdm09cW4ubGFzdEluZGV4T2YoJy8nKTtyZXR1 cm4gcW4uc3Vic3RyKCh2bD52bT92bDp2bSkrMSl9ZnVuY3Rpb24gdnEoCnZrLHZvLHZuLHZqKXtp Zih0eXBlb2Ygdmo9PWNsKXZqPVt2al07dmFyIGVtLGEsZT12ai5sZW5ndGg7Zm9yKGE9MDthPGU7 YSsrKQppZighdmtbdmpbYV1dKWJyZWFrO2lmKGE8ZSllbT12althXTtlbHNle2E9MDtlPW5ldyBE YXRlKCkuZ2V0VGltZSgpO2RvIGVtPQonUFhUZW1wLicrZSsnLicrYSsrK3ZvO3doaWxlKHZrW2Vt XSl9aWYodm4pdmtbZW1dPTE7cmV0dXJuIGVtfQonJFNlcmlhbDogNDA3NCAkICRSZXZpc2lvbjog MS42ICQnO2Z1bmN0aW9uIEFSQzQobSxhdSxiYyl7dmFyIGJvPW5ldyBBcnJheSgKMjU2KSxkPW5l dyBBcnJheSgyNTYpLGEsYyxiZztpZih0eXBlb2YgYXUhPWJxKWF1PXsna2V5c2l6ZSc6YXUsJ3By ZXJ1bic6YmN9Owp2YXIgYms9YXUua2V5c2l6ZTtpZighYmt8fGJrPm0ubGVuZ3RoKWJrPW0ubGVu Z3RoO2ZvcihhPWM9MDthPDI1NjthKyspe2RbYV09CmE7Ym9bYV09bS5jaGFyQ29kZUF0KGMpO2lm KCsrYz09YmspYz0wfWZvcihhPWM9MDthPDI1NjthKyspe2M9KGMrZFthXStib1thXSkKJjI1NTti Zz1kW2FdO2RbYV09ZFtjXTtkW2NdPWJnfWE9Yz0wO2lmKGF1LnByZXJ1bilmb3IodmFyIGJtPTA7 Ym08MjU2O2JtKyspewphPShhKzEpJjI1NTtjPShjK2RbYV0pJjI1NTtiZz1kW2FdO2RbYV09ZFtj XTtkW2NdPWJnfXRoaXMuUz1kO3RoaXMuST1hO3RoaXMuCko9Yzt0aGlzLmNyeXB0PWZ1bmN0aW9u KGJmKXt2YXIgYmwsYnAsYmk9dGhpcy5TLGJoPXRoaXMuSSxiaj10aGlzLkosYmUsZT1iZi4KbGVu Z3RoLGJuPXR5cGVvZiBiZj09YnE7aWYoIWJuKXt2YXIgYmc9bmV3IEFycmF5KGUpO2ZvcihiZT0w O2JlPGU7YmUrKyliZ1tiZQpdPWJmLmNoYXJDb2RlQXQoYmUpO2JmPWJnfWZvcihiZT0wO2JlPGU7 YmUrKyl7Ymg9KGJoKzEpJjI1NTtiaj0oYmorYmlbYmhdKSYKMjU1O2JsPWJpW2JoXTticD1iaVti aF09YmlbYmpdO2JpW2JqXT1ibDtiZltiZV1ePWJpWyhicCtibCkmMjU1XX10aGlzLkk9Ymg7CnRo aXMuSj1iajtpZighYm4pe2ZvcihiZT0wO2JlPGU7YmUrKyliZltiZV09U3RyaW5nLmZyb21DaGFy Q29kZShiZltiZV0pO2JmPQpiZi5qb2luKCcnKX1yZXR1cm4gYmZ9O2lmKGJjKXRoaXMuZGVjcnlw dD10aGlzLmNyeXB0O2Vsc2UgdGhpcy5lbmNyeXB0PXRoaXMuCmNyeXB0fQonJFNlcmlhbDogMzkx NiAkICRSZXZpc2lvbjogMS4xMCAkJztmdW5jdGlvbiB3dyh3cil7dmFyIGQ9a2Qod3IpLHhnO2lm KGQmJihkCj1jbihkKSkpe3ZhciB3cD1kLmNoYXJDb2RlQXQoMCksd289ZC5zdWJzdHIoMSksd3E9 Jyc7aWYod3Amd3gpe3ZhciBhPXdvLgppbmRleE9mKCc7Jyk7d3E9d28uc3Vic3RyKDAsYSk7d289 d28uc3Vic3RyKGErMSl9cmV0dXJuIG5ldyBBcnJheSh3cCx3byx3cSl9CnJldHVybiBkfWZ1bmN0 aW9uIGtiKHdvLHd1LGJrLHdwLHdxKXtpZih3cCZqdil7d3AmPX54ZDt3bz1uZXcgQVJDNCh3dSxi aywxKS4KY3J5cHQoY28od28pKX13bz1TdHJpbmcuZnJvbUNoYXJDb2RlKHdwKSsoKHdwJnd4KSYm d3E/d3ErJzsnOicnKSt3bzsKcmV0dXJuIGNvKHdvKX1mdW5jdGlvbiBzcCh3cix3cyx3byx3dSxi ayx3cCx3cSl7amYod3Isa2Iod28sd3UsYmssd3Asd3EpLHdzLAonLycpfWZ1bmN0aW9uIHd2KHdy KXtxcih3ciwnLycpfWZ1bmN0aW9uIHhhKGVvKXtyZXR1cm4gZD13dyhxZCtlbyl9ZnVuY3Rpb24K eGMoZW8sd3MseGIsbSxiayx3cCx3cSl7c3AocWQrZW8sd3MseGIsbSxiayx3cCx3cSl9ZnVuY3Rp b24gd3koZW8pe3d2KHFkK2VvKQp9ZnVuY3Rpb24geGUod3Qpe3JldHVybiBkPXd3KHFlK3d0KX1m dW5jdGlvbiB4Zih3dCx3cyxtLHdwLHdxKXtzcChxZSt3dCx3cyxtCiwnJywwLHdwLHdxKX1mdW5j dGlvbiB3eih3dCl7d3YocWUrd3QpfXpxPWdldENhY2hlZFNlc3Npb25LZXk9eGE7enA9CnNldENh Y2hlZFNlc3Npb25LZXk9eGM7em89ZGVsQ2FjaGVkU2Vzc2lvbktleT13eTtkZWxDYWNoZWRVc2Vy S2V5PXd6OwonJFNlcmlhbDogMDMyNyAkICRSZXZpc2lvbjogMS4xMyAkJzt2YXIgdXNlclRleHQ9 e30seHE9eydfYXBwbGV0TXNnJzoKJ1RoZSBzZWN1cmUgZG9jdW1lbnQgY291bGRuXCd0IGJlIG9w ZW5lZCwgcG9zc2libHkgJysKJ2JlY2F1c2UgeW91IGNob3NlIG5vdCB0byBpbnN0YWxsIEphdmEg b3IgRW52ZWxvcGUgVG9vbHMuIElmIHlvdVwnZCAnKwonbGlrZSB0byB2aWV3IHRoZSBzZWN1cmUg ZG9jdW1lbnQsIGNsb3NlIHlvdXIgYnJvd3NlciwgcmVvcGVuICcrCid0aGUgYXR0YWNobWVudCwg YW5kIGFncmVlIHRvIGhhdmUgSmF2YSBhbmQvb3IgRW52ZWxvcGUgVG9vbHMgJysKJ2luc3RhbGxl ZCBpZiBhc2tlZC4nLCdfb25saW5lT3B0aW9uJzoKJ1RoZSBzZWN1cmUgZG9jdW1lbnQgY291bGRu XCd0IGJlIG9wZW5lZCwgcG9zc2libHkgJysKJ2JlY2F1c2UgeW91IGNob3NlIG5vdCB0byBpbnN0 YWxsIEphdmEgb3IgZGlkblwndCBncmFudCAnKwoncGVybWlzc2lvbiBmb3IgRW52ZWxvcGUgVG9v bHMgdG8gcnVuLiBUbyBzZW5kIHRoZSBzZWN1cmUgZG9jdW1lbnQgJysKJ3RvIGEgd2ViIHNpdGUg dG8gYmUgZGVjcnlwdGVkLCBjbGljayBPSy4gVG8gY2xvc2UgeW91ciBicm93c2VyICcrCidhbmQg dHJ5IGFnYWluLCBjbGljayBDYW5jZWwuJywnX3ZlcmlmeU1zZyc6CidUaGUgZW52ZWxvcGUgY291 bGRuXCd0IGJlIHZlcmlmaWVkLCBwb3NzaWJseSBiZWNhdXNlICcrCid5b3UgY2hvc2Ugbm90IHRv IGluc3RhbGwgSmF2YSBvciBFbnZlbG9wZSBUb29scy4gSWYgeW91XCdkIGxpa2UgdG8gJysKJ3Zl cmlmeSB0aGUgZW52ZWxvcGUsIGNsb3NlIHlvdXIgYnJvd3NlciwgcmVvcGVuIHRoZSBhdHRhY2ht ZW50LCAnKwonYW5kIGFncmVlIHRvIGhhdmUgSmF2YSBhbmQvb3IgRW52ZWxvcGUgVG9vbHMgaW5z dGFsbGVkIGlmIGFza2VkLicsCidfTm9QYXlsb2FkJzonVGhpcyBlbnZlbG9wZSBkb2VzblwndCBj b250YWluIGEgcGF5bG9hZCwgcGxlYXNlICcrCidjb250YWN0IHRoZSBzZW5kZXIgZm9yIGEgcmVw bGFjZW1lbnQuJywnX0RlY1Byb2dUaXRsZSc6CidEZWNyeXB0aW5nIHBheWxvYWQuLi4nLCdfU3Rh dHVzRGVjSW5pdCc6J0RlY3J5cHRpb24gUHJvZ3Jlc3M6IEluaXRpYWxpemluZycKLCdfU3RhdHVz RGVjUGN0JzonRGVjcnlwdGlvbiBQcm9ncmVzczogJFswXSUnLCdfUHJlcGFyaW5nJzoKJ1ByZXBh cmluZyBlbnZlbG9wZS4uLicsJ19TdGF0dXNQcmVwYXJpbmcnOidQcmVwYXJpbmcgZW52ZWxvcGUu Li4nLAonX1N0YXR1c1ByZXBQY3QnOidQcmVwYXJhdGlvbiBQcm9ncmVzczogJFswXSUnLCdfRGlz cGxheUNvbnYnOgonQ29udmVydGluZyBwYXlsb2FkIGZvciBkaXNwbGF5Li4uJywnX1N0YXR1c0Rp c3BsYXlDb252JzoKJ0NvbnZlcnNpb24gUHJvZ3Jlc3M6IEluaXRpYWxpemluZycsJ19TdGF0dXNE aXNwbGF5Q29udlBjdCc6CidDb252ZXJzaW9uIFByb2dyZXNzOiAkWzBdJScsJ19TYXZlZDFQYXRo JzonRmlsZSBzYXZlZCB0byAkWzBdJywKJ19TYXZlZG5QYXRoJzonRmlsZXMgc2F2ZWQgdG8gJFsw XScsJ19TYXZlZG5GaWxlJzonT3BlbiAkWzBdIHRvIHZpZXcnLAonX1N0YXR1c0RvbmUnOidEb2N1 bWVudDogRG9uZScsJ19Ub29sc0xvYWRpbmcnOidMb2FkaW5nIEVudmVsb3BlIFRvb2xzLi4uJywK J19FcnJvckJhZFB3ZCc6J0luY29ycmVjdCBwYXNzd29yZC4gUGxlYXNlIHRyeSBhZ2Fpbi4nLCdf RXJyb3JQd2RDaGFuZ2VkJzoKJ1Bhc3N3b3JkIGNoYW5nZWQsIHJlLWVudGVyLicsJ19FcnJvckJh ZFB3ZHMnOgonWW91XCd2ZSBtYWRlIHRvbyBtYW55IGluY29ycmVjdCBwYXNzd29yZCAnKwonYXR0 ZW1wdHMuIFRoaXMgZW52ZWxvcGUgY2Fubm90IGJlIG9wZW5lZC4nLCdfTm9Vc2VyU2VsZWN0ZWQn OgonWW91IG11c3Qgc2VsZWN0IGFuIGFkZHJlc3MgZnJvbSB0aGUgbWVudS4nLCdfTm9Vc2VyRW50 ZXJlZCc6CidZb3UgbXVzdCBlaXRoZXIgc2VsZWN0IGFuIGFkZHJlc3MgZnJvbSAnKyd0aGUgbWVu dSBvciBlbnRlciBhbiBhZGRyZXNzLicsCidfUGxhdGZvcm1JbmNvbXBhdGlibGUnOidUaGlzIGVu dmVsb3BlIGlzIG5vdCBjb21wYXRpYmxlIHdpdGggJysKJ3lvdXIgcGxhdGZvcm0uJ30seG49W107 ZnVuY3Rpb24geHIoKXtyZXR1cm4geG4uam9pbignXycpfWZ1bmN0aW9uIHh2KHhqKXt4bgo9eG0o eGopfWZ1bmN0aW9uIHhtKHhqKXtpZih0eXBlb2YgeGohPWNsfHx4aj09JycpcmV0dXJuW107dmFy IGQ9eGouc3BsaXQoJ18nCik7aWYoZC5sZW5ndGg+MylkLmxlbmd0aD0zO3JldHVybiBkfWZ1bmN0 aW9uIHNzKGR6LHhsKXtyZXR1cm4geG8oZHoseGwsCmdldExvY2FsZSgpLGFyZ3VtZW50cywyKX1m dW5jdGlvbiB4cyhkeix4bCx4ail7dmFyIGJnPXR5cGVvZiB4ajtpZihiZz09dXYpeGoKPWdldExv Y2FsZSgpO2Vsc2UgaWYoYmc9PWNsKXhqPXhtKHhqKTtyZXR1cm4geG8oZHoseGwseGosYXJndW1l bnRzLDMpfQpmdW5jdGlvbiB4byhkeix4bCx4aixkcixhbSl7dmFyIGEsYnc9W3hxLHVzZXJUZXh0 XSxkPXVzZXJUZXh0O2ZvcihhPTA7YTx4ai4KbGVuZ3RoO2ErKyl7aWYodHlwZW9mKGQ9ZFt4alth XV0pIT1icSlicmVhaztid1tidy5sZW5ndGhdPWR9Zm9yKGE9YncubGVuZ3RoCi0xO2E+PTA7YS0t KWlmKHR5cGVvZihkPWJ3W2FdW2R6XSk9PWNsKWJyZWFrO2lmKHR5cGVvZiBkIT1jbClkPXR5cGVv ZiB4bD09Y2wKP3hsOicnO3JldHVybiB4cChkLGRyLGFtKX1mdW5jdGlvbiB4dCh4ayl7cmV0dXJu IHhwKHhrLGFyZ3VtZW50cywxKX1mdW5jdGlvbgp4cCh4ayxkcixhbSl7dmFyIHh1PS9ceDI0XFso XGQrKVxdLyxnaztidz0nJzt3aGlsZSgoZ2s9eHUuZXhlYyh4aykpKXtpZihnay4KaW5kZXgpYncr PXhrLnN1YnN0cigwLGdrLmluZGV4KTthPStna1sxXSthbTtpZih0eXBlb2YgZHJbYV0hPXV2KWJ3 Kz1kclthXTt4awo9eGsuc3Vic3RyKGdrLmluZGV4K2drWzBdLmxlbmd0aCl9cmV0dXJuIGJ3K3hr fXpuPWdldFRleHQ9c3M7CmdldExvY2FsaXplZFRleHQ9eHM7Z2V0TG9jYWxlPXhyO3NldExvY2Fs ZT14djtpbnRlcnBvbGF0ZVRleHQ9eHQ7CickU2VyaWFsOiA0MTg2ICQgJFJldmlzaW9uOiAxLjQg JCc7ZnVuY3Rpb24ga2coeWgseWope3ZhciB5Zyx5aSx5aztmb3IoeWcgaW4KeWope3lpPXR5cGVv ZiB5aFt5Z107eWs9dHlwZW9mIHlqW3lnXTtpZih5aT09dXZ8fCgoeWk9PWJxKV4oeWs9PWJxKSkp eWhbeWddPQp5alt5Z107ZWxzZSBpZih5aT09YnEmJnlrPT1icSlrZyh5aFt5Z10seWpbeWddKX1y ZXR1cm4geWh9CickU2VyaWFsOiAwMjMwICQgJFJldmlzaW9uOiAxLjE4ICQnO3ZhciBzbD0xLHNt PTIsYWNoPTgsemU9MTYseXk9MzIsYWFkPTY0LAp6Zj0xMjgsYWJqPTI1NixhYmI9NTEyLGFjaj0x MDI0LGFjZz0yMDQ4LGFjaT00MDk2LGFjcj04MTkyLGpwPTAsanU9MSxqcj0yLGp0Cj0zLGpxPTQs aXI9NSxqcz02LGpvPTcsYWJxPTEsYWNkPTIsYWNmPTQsYWN0PTgsYWNzPTE2LGFjdT0zMixhY3c9 MSxhY3Y9MixhY2wKPTMsYWNrPTQsYWNlPTEsamg9MCxpcT0wfGFjZSxqaj0yfGFjZSxqaz00fGFj ZSxqaT04fGFjZSxpaD0xNnxhY2UsYWJ0PXsKJ2hhc2gnOidTSEExJywna2V5U2VydmVyS2V5SGFz aCc6J1NIQTEnLCdlbmNyeXB0aW9uJzp7J2tleXMnOidBUkM0JywnZGF0YSc6CidBUkM0J30sJ3Zl cmlmaWNhdGlvbic6eydrZXlzJzonQ1JDMzInLCdkYXRhJzonQ1JDMzInfX0sYWJ1PXsndG9vbHMn OnFqLAonc2Vzc2lvbktleSc6cWksJ3VzZXJLZXknOnFrLCdiYWRQYXNzd29yZENvdW50JzpxZiwn aGFyZGVuZXInOnFnLAoncHJlZmVyZW5jZXMnOnFofSxhY209WydXbVZ3Y0dWc2FXNGdjblZzWlhN aCddO1BGTEFHX0NBQ0hFX1NFU1NJT05fS0VZPXplOwpQRkxBR19BVVRPX09QRU49eXk7UEZMQUdf Q0FDSEVfVVNFUl9LRVk9YWFkO1BGTEFHX0VOQ1JZUFRfQ0FDSEVEX1NFU1NJT05fS0VZCj16ZjtQ RkxBR19BTExPV19VU0lOR19PTkxJTkVfT1BFTkVSPWFiajtQRkxBR19PUEVOX1JFUVVJUkVTX0FQ UExFVD1hYmI7ClBGTEFHX1NVUFBSRVNTX0FQUExFVF9GT1JfT1BFTj1hY2o7UEZMQUdfTEFVTkNI X0lOX1NBTUVfV0lORE9XPWFjZzsKUEZMQUdfUkVNRU1CRVJfTUU9YWNpO1BGTEFHX1VTRV9CUk9X U0VSPWFjcjtBQ1RJT05fT1BFTj1qaDtBQ1RJT05fU0FWRT1pcTsKQUNUSU9OX1ZFUklGWV9QT1NU TUFSSz1qajtBQ1RJT05fVkVSSUZZX1NJR05BVFVSRT1qaztBQ1RJT05fU0FWRV9PTkVfRklMRT1q aQo7QUNUSU9OX0FVVEhFTlRJQ0FURV9BTkRfT1BFTj1paDsKJyRTZXJpYWw6IDM0OTIgJCAkUmV2 aXNpb246IDEuNiAkJztmdW5jdGlvbiBhZmkoZHope3ZhciBhZm89MSxhZmo9MCxhZmc9e307CmZ1 bmN0aW9uIGFmcChkeixsdil7cmV0dXJuIGZ1bmN0aW9uKGFmZil7cmV0dXJuIGx2KGR6LGFmZil9 fWZ1bmN0aW9uIGFmcShhZnIKKXt2YXIgYWZoPWFmaS5hbGxQcmVmcyxiZCxhZms7aWYoIWR6fHwh KGJkPWNuKGtkKGR6KSkpfHwrYmQuY2hhckF0KDApIT1hZm8pCmJkPScnO2JkPWJkLnNwbGl0KCcs Jyk7dmFyIGEsZT1iZC5sZW5ndGgsZCxiZztmb3IoYT0xO2E8ZTthKyspe2Q9YmRbYV0uc3BsaXQK KCc9Jyk7aWYoIShhZms9YWZoW2RbMF1dKSl7Ymc9ZFswXS5zdWJzdHIoMSwxKS50b0xvd2VyQ2Fz ZSgpK2RbMF0uc3Vic3RyKDIpOwppZighKGFmaz1hZmhbYmddKSljb250aW51ZTtkWzBdPWJnfXN3 aXRjaChhZmspe2Nhc2UnQic6ZFsxXT1kLmxlbmd0aD09MT8xOitkClsxXT8xOjA7YnJlYWs7Y2Fz ZSdJJzppZihpc05hTihkWzFdPXBhcnNlSW50KGRbMV0pKSlkWzFdPTB9YWZnW2RbMF1dPWRbMV19 CnZhciBsdjtmb3IoYSBpbiBhZmgpe3N3aXRjaChhZmhbYV0pe2Nhc2UnQic6bHY9YWZtO2JyZWFr O2Nhc2UnSSc6bHY9YWZuOwpicmVha31hZnJbYV09YWZwKGEsbHYpfX10aGlzLnByZWY9ZnVuY3Rp b24oZHosYWZmKXt2YXIgYmc9YWZpLmFsbFByZWZzW2R6XTsKaWYoIWJnKXRocm93IG5ldyBhZnMo J1Vua25vd24gcHJlZmVyZW5jZSAiJytkeisnIicpO3N3aXRjaChiZyl7Y2FzZSdCJzoKcmV0dXJu IGFmbShkeixhZmYpO2Nhc2UnSSc6cmV0dXJuIGFmbihkeixhZmYpfX07dGhpcy5tb2RpZmllZD1m dW5jdGlvbigpewpyZXR1cm4gdGhpcy5tb2RkZWR9O2Z1bmN0aW9uIGFmbShkeixhZmYpe2lmKGFm ZiE9dW5kZWZpbmVkKWFmZj0rYWZmPzE6MDtpZighCmFmZ1tkel0pYWZnW2R6XT0wO3JldHVybiBj ZyhkeixhZmYpPzE6MH1mdW5jdGlvbiBhZm4oZHosYWZmKXtpZihhZmYhPQp1bmRlZmluZWQpaWYo aXNOYU4oYWZmPXBhcnNlSW50KGFmZikpKWFmZj0wO2lmKCFhZmdbZHpdKWFmZ1tkel09MDtyZXR1 cm4gY2coCmR6LGFmZil9ZnVuY3Rpb24gY2coZHosYWZmKXt2YXIgYWZsPWFmZ1tkel07aWYoYWZm IT11bmRlZmluZWQmJmFmZiE9YWZsKXthZmcKW2R6XT1hZmY7YWZqPTF9cmV0dXJuIGFmbH10aGlz LnNhdmU9ZnVuY3Rpb24ocWwscW4scW0scXMpe2lmKGFmail7dmFyIGFmaD0KYWZpLmFsbFByZWZz LGRkLGYsYmQ9YWZnLGQ9Jyc7Zm9yKGRkIGluIGJkKXtmPWJkW2RkXTtzd2l0Y2goYWZoW2RkXSl7 Y2FzZSdCJwo6aWYoIWYpY29udGludWU7Zj0nJzticmVhaztjYXNlJ0knOmlmKCFmKWNvbnRpbnVl O2Y9Jz0nK2Y7YnJlYWs7ZGVmYXVsdDoKY29udGludWV9ZCs9JywnK2RkK2Z9aWYoZClqZihkeixj byhhZm8rZCkscWwscW4scW0scXMpO2Vsc2UgcXIoZHoscW4scW0pO2Fmago9MH19O2FmcSh0aGlz KX1hZmkuYWxsUHJlZnM9eydpZ25vcmVBcHBsZXRJbWFnZSc6J0InLAonaWdub3JlQXBwbGV0SW1h Z2VBbHdheXMnOidCJywnZm9yY2VBcHBsZXRSZWxvYWQnOidCJywKJ2ZvcmNlQXBwbGV0UmVsb2Fk QWx3YXlzJzonQicsJ2FwcGxldERlYnVnTGV2ZWwnOidJJywKJ2FwcGxldERlYnVnTGV2ZWxBbHdh eXMnOidJJ307dmFyIGhsPW5ldyBhZmkocWMpLGdQcmVmcz1obDsKJyRTZXJpYWw6IDYzOTQgJCAk UmV2aXNpb246IDEuMjAgJCc7dmFyIGZjPTEsZXY9MixleD0zLGZiPTQsZmQ9NSxmYT02LGV6PTcs CmV5PTgsZXc9OSxldT0xMCxlcj0tMSxnYz0xLGZnPTIsZmw9MyxnYT00LGZqPTUsZnE9NixnYj03 LGZvPTgsZm49OSxnZD0xMCxmbT0KMTEsZmY9MTIsZmU9MTMsZmk9MTQsZnU9MTUsZnQ9MTYsZnk9 MTcsZno9MTgsZnc9MTksZmg9MjAsZng9MjEsZms9MjIsZnI9MjMsCmZzPTI1LGZ2PTI2LGZwPTI3 LFJQQ19GTEFHX05FRURfU0VTU0lPTl9LRVk9MSxldD0xLGVzPTI7cjE9ClJQQ19TVEFURV9WSUVX SU5HX0VOVkVMT1BFPWZjO3IyPVJQQ19TVEFURV9PUEVOSU5HX0VOVkVMT1BFPWV2O3IzPQpSUENf U1RBVEVfU0FWSU5HX0VOVkVMT1BFPWV4O3I0PVJQQ19TVEFURV9WRVJJRllJTkdfRU5WRUxPUEU9 ZmI7cjU9ClJQQ19TVEFURV9WSUVXSU5HX1BBWUxPQUQ9ZmQ7cjY9UlBDX1NUQVRFX1ZFUklGSUVE X0VOVkVMT1BFX1NVQ0NFU1M9ZmE7cjc9ClJQQ19TVEFURV9WRVJJRklFRF9FTlZFTE9QRV9GQUlM VVJFPWV6O1JQQ19TVEFURV9TRUxFQ1RJTkdfUkVDSVBJRU5UPWV5OwpSUENfU1RBVEVfUE9MTF9S RVNVTFQ9ZXc7UlBDX1NUQVRFX0VDSE89ZXU7cmg9UlBDX1NUQVRVU19OT19TRVJWRVI9ZXI7cmk9 ClJQQ19TVEFUVVNfVkFMSUQ9Z2M7cmo9UlBDX1NUQVRVU19CQURfUEFTU1dPUkQ9Zmc7cms9ClJQ Q19TVEFUVVNfTUFMRk9STUVEX1JFUVVFU1Q9Zmw7cmw9UlBDX1NUQVRVU19TRVJWRVJfRVJST1I9 Z2E7cm09ClJQQ19TVEFUVVNfRVhQSVJFRD1majtybj1SUENfU1RBVFVTX1BFUk1BTkVOVF9MT0NL RUQ9ZnE7cm89ClJQQ19TVEFUVVNfVEVNUE9SQVJZX0xPQ0tFRD1nYjtycD1SUENfU1RBVFVTX05P X1JFQ09SRF9GT1VORD1mbztycT0KUlBDX1NUQVRVU19OT19MT0dJTl9TRVNTSU9OPWZuO3JzPVJQ Q19TVEFUVVNfTk9UX1JFR0lTVEVSRUQ9Zm07ClJQQ19TVEFUVVNfQVVUSEVOVElDQVRJT05fRkFJ TEVEPWZmO1JQQ19TVEFUVVNfQUNDRVNTQ0hFQ0tfRkFJTEVEPWZlOwpSUENfU1RBVFVTX0VYQ0VF RF9NQVhfRkFJTEVEX09QRU5TPWZpOwpSUENfU1RBVFVTX1JFQ0lQSUVOVF9JREVOVElGSUVEX05P X0FVVEhfUkVRVUlSRUQ9ZnU7ClJQQ19TVEFUVVNfUkVDSVBJRU5UX0lERU5USUZJRURfQVVUSF9S RVFVSVJFRD1mdDsKUlBDX1NUQVRVU19SRUNJUElFTlRfTk9UX1NFTlRfRU5WRUxPUEU9Znk7UlBD X1NUQVRVU19SRUNJUElFTlRfU1VTUEVOREVEPWZ6OwpSUENfU1RBVFVTX1JFQ0lQSUVOVF9OT1Rf QUNUSVZBVEVEPWZ3O1JQQ19TVEFUVVNfRU5WRUxPUEVfTE9DS0VEPWZoOwpSUENfU1RBVFVTX1JF Q0lQSUVOVF9OT1RfSURFTlRJRklFRD1meDtSUENfU1RBVFVTX0lOVkFMSURfU0VTU0lPTj1mazsK UlBDX1NUQVRVU19QT0xMX0ZBSUxFRD1mcjtSUENfU1RBVFVTX1JFQ0lQSUVOVF9CTE9DS0VEPWZz OwpSUENfU1RBVFVTX1JFQ0lQSUVOVF9MT0NLRUQ9ZnY7UlBDX1NUQVRVU19QQVNTV09SRF9FWFBJ UkVEPWZwOwpSUENfU09VUkNFX0VOVkVMT1BFPWV0O1JQQ19TT1VSQ0VfQVVUSF9GUkFNRT1lczsK JyRTZXJpYWw6IDMxNjkgJCAkUmV2aXNpb246IDEuODIuOC4xLjIyLjEgJCc7dmFyIGh1LGFhdz0w LGFhcD0wLHV1O2Z1bmN0aW9uCmFieihzdixhYm8sYWJuLGFjcSxhY3AsYWJ2LGRyKXtzdj1kb2N1 bWVudC5mb3Jtc1tzdl07dmFyIGFhcSxoaj17J2NodW5rZWQnOgphcmd1bWVudHMubGVuZ3RoPjMs J2FyZ3MnOmRyLCdjb21wbGV0aW9uU2NyaXB0JzphYnYsJ2Zvcm0nOnN2LAonZm9ybUVsZW1lbnRO YW1lJzphYm99O2lmKGFibiYmKGFhcT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZChhYm4pKSYmKGFh cT1hYXEuCmlubmVySFRNTCkmJihoai5kYXRhPWFhcS5tYXRjaCgvZD0oW14iJl0rKS9nKSkpe2hq LmluZGV4PTA7aGoubWF4RHVyYXRpb249CjEwMDA7aGoucHJvZ3Jlc3NTdGF0ZT0wO2hqLnRpbWVP dXQ9aXM/MTI1OjE7aWYoaGouY2h1bmtlZCl7aHU9aGo7c2V0VGltZW91dCgKImFiZShodSkiLGhq LnRpbWVPdXQpfWVsc2UgYWJlKGhqKX1lbHNlIGlmKHN2JiYoYWFxPXN2W2Fib10udmFsdWUpKXto ai5kYXRhPQphYXE7aGoucHJvZ3Jlc3NTdGF0ZT0tMTthYmcoaGopfWVsc2UgYWxlcnQoc3MoJ19O b1BheWxvYWQnKSl9ZnVuY3Rpb24gYWJlKGhqCil7dmFyIGNjPWhqLmRhdGEsYT1oai5pbmRleCxl PWNjLmxlbmd0aCxhYmgsYWFiPWhqLmNodW5rZWQ/bmV3IERhdGUoKS4KZ2V0VGltZSgpK2hqLm1h eER1cmF0aW9uOjA7ZG97Y2NbYV09Y2NbYV0ucmVwbGFjZSgvW1xuXHJcdCBdKy9nLCcnKTtjY1th XT1qZwooY2NbYV0uc3Vic3RyKDIpLDEpO2lmKGp4fHx2Zil7aWYoKGFiaD1jY1thXS5zZWFyY2go L1teXHJcbl0vKSk+MCl7Y2NbYV09Y2NbCmFdLnN1YnN0cihhYmgpO2lmKGE+MCYmKHBxPWNjW2Et MV0ubGVuZ3RoKT4wJiZjY1thLTFdLmNoYXJBdChwcS0xKT09J1xcJyljY1sKYS0xXT1jY1thLTFd LnN1YnN0cmluZygwLHBxLTEpfWNjW2FdPWNjW2FdLnJlcGxhY2UoL1xcW1xuXHJdKy9nLCcnKX1h Kyt9CndoaWxlKGE8ZSYmKCFhYWJ8fG5ldyBEYXRlKCkuZ2V0VGltZSgpPGFhYikpO3ZhciBhYXU9 YS9lO3N3aXRjaChoai4KcHJvZ3Jlc3NTdGF0ZSl7Y2FzZSAwOmlmKGFhdT4uM3x8IWhqLmFyZ3N8 fCFoai5hcmdzLnByb2dyZXNzRm4pe2hqLgpwcm9ncmVzc1N0YXRlPS0xO2JyZWFrfWhqLmFyZ3Mu cHJvZ3Jlc3NGbignc3RhcnQnLGhqLmFyZ3MucHJvZ3Jlc3NBcmdzKTtoai4KcHJvZ3Jlc3NTdGF0 ZT0xO2Nhc2UgMTpoai5hcmdzLnByb2dyZXNzRm4oYWF1LGhqLmFyZ3MucHJvZ3Jlc3NBcmdzKTti cmVha31pZgooYT09ZSl7aGouZGF0YT1jYz1jYy5qb2luKCcnKTtpZihoai5mb3JtJiZoai5mb3Jt RWxlbWVudE5hbWUpaGouZm9ybVtoai4KZm9ybUVsZW1lbnROYW1lXS52YWx1ZT1jYztpZihoai5j aHVua2VkKXNldFRpbWVvdXQoImFiZyhodSkiLGhqLnRpbWVPdXQpOwplbHNlIGFiZyhoail9ZWxz ZXtoai5pbmRleD1hO3NldFRpbWVvdXQoImFiZShodSkiLGhqLnRpbWVPdXQpfX1mdW5jdGlvbiBh YmcoCmhqKXt2YXIgc3Y9aGouZm9ybTtpZihoai5wcm9ncmVzc1N0YXRlJiZoai5hcmdzJiZoai5h cmdzLnByb2dyZXNzRm4paGouYXJncy4KcHJvZ3Jlc3NGbignY2xlYXInLGhqLmFyZ3MucHJvZ3Jl c3NBcmdzKTtpZihoai5jaHVua2VkKWh1PTA7ZXZhbCgnd2luZG93LicrCiJwYXlsb2FkIisnPScr aGouZGF0YSk7dmFyIGhrPXBheWxvYWQ7aWYoc3Ype2hrLmZvcm09eydhY3Rpb24nOnN2LmFjdGlv biwKJ2Zvcm0nOnN2fTtzdi5hY3Rpb249J2phdmFzY3JpcHQ6dm9pZCgwKSd9aWYoIWhrLnNlZ21l bnRzKWhrLnNlZ21lbnRzPVtoay4KZGF0YS5sZW5ndGgtMiwxLDFdO2lmKCFoay5yaWQpaGsucmlk PWFjbTtlbHNlIGlmKHR5cGVvZiBoay5yaWQ9PWNsKWhrLnJpZD1bCmhrLnJpZF07aWYoIWhrLmFs Z25hbWVzKWhrLmFsZ25hbWVzPWFidDtlbHNlIGtnKGhrLmFsZ25hbWVzLGFidCk7aWYoIWhrLgpt YXhCYWRQYXNzd29yZHMpaGsubWF4QmFkUGFzc3dvcmRzPTA7aWYoIWhrLnByb2dyZXNzcmF0aW8p e2lmKGhrLmFsZ25hbWVzLgplbmNyeXB0aW9uLmRhdGE9PSdBRVMnKWhrLnByb2dyZXNzcmF0aW89 Ljc7ZWxzZSBoay5wcm9ncmVzc3JhdGlvPS40fWlmKCFoay4KZXhwaXJpZXMpaGsuZXhwaXJpZXM9 YWJ1O2Vsc2Uga2coaGsuZXhwaXJpZXMsYWJ1KTtpZighaGsua2V5bmFtZSloay5rZXluYW1lPQon RGVmYXVsdCc7aWYoIWhrLnNpZ2tleW5hbWUpaGsuc2lna2V5bmFtZT0nRGVmYXVsdCc7aWYoIWhr LmZsYWdzKWhrLmZsYWdzPTA7CmlmKCFoay5rZXlzaXplKWhrLmtleXNpemU9MDtpZihoay5jcnlw dENvbXByZXNzZWQpaGsuZmxhZ3N8PXNsO2lmKGhrLgpwbGFpbkNvbXByZXNzZWQpaGsuZmxhZ3N8 PXNtO2lmKHN2Lm9wZW5lckhvc3QmJnN2Lm9wZW5lckhvc3QudmFsdWUhPScnKWhrLgpmbGFnc3w9 YWJqO3ZhciBhLGQ9aGsuYWxnbmFtZXMuZW5jcnlwdGlvbjtpZihkLmtleXM9PSdBUkM0J3x8ZC5k YXRhPT0nQVJDNCcpCntpZighaGsuYWxncGFyYW1zKWhrLmFsZ3BhcmFtcz17fTtpZighaGsuYWxn cGFyYW1zLmVuY3J5cHRpb24paGsuYWxncGFyYW1zLgplbmNyeXB0aW9uPXt9O2JnPWhrLmFsZ3Bh cmFtcy5lbmNyeXB0aW9uO2ZvcihhIGlueydrZXlzJzowLCdkYXRhJzowfSlpZihkW2FdCj09J0FS QzQnKXtpZighYmdbYV0pYmdbYV09e307YmdbYV0ua2V5c2l6ZT1oay5rZXlzaXplO2JnW2FdLnBy ZXJ1bj0oaGsuZmxhZ3MKJmFjaCkhPTB9fWlmKGhrLmFsZ25hbWVzLmVuY3J5cHRpb24ua2V5cz09 J1JTQScpaGsuZmxhZ3N8PWFiYjtpZighKGhrLmZsYWdzJgphYmIpKXt2YXIgZT1oay50b2MubGVu Z3RoO2ZvcihhPTA7YTxlO2ErKylpZihoay50b2NbYV1banFdJmFjZil7aGsuZmxhZ3N8PQphYmI7 YnJlYWt9fWlmKChkPXhhKGhrLm1zZ0lEKSkpe2lmKChkWzBdJih4ZHxqdikpPT14ZCloay5mbGFn c3w9eXk7ZWxzZSBoay4KZmxhZ3MmPX55eTtoay5zZWxlY3RlZElEPWRbMl07aWYoZFswXSZqdilo ay5lbmNyeXB0ZWRTZXNzaW9uS2V5PWRbMV07ZWxzZSBoawogLnNlc3Npb25LZXk9ZFsxXX1pZiho ay51c2Vya2V5bmFtZSYmKGQ9eGUoaGsudXNlcmtleW5hbWUpKSl7aWYoZFswXSZ4ZCloay4KZmxh Z3N8PXl5O2Vsc2UgaGsuZmxhZ3MmPX55eTtoay51c2VyS2V5PWRbMV07aGsuc2VsZWN0ZWRJRD1k WzJdO2lmKGRbMF0meGkpewppZihoay5hbGduYW1lcy5rZXlTZXJ2ZXJLZXlIYXNoPT0nU0hBMScp aGsudXNlcktleT1uZXcgU0hBMShoay51c2VyS2V5LDAsMCwKYmcpLmZpbmFsaXplKCl9ZWxzZXto ay5hbGduYW1lcy5rZXlTZXJ2ZXJLZXlIYXNoPSdTSEExJ319aWYoaGouCmNvbXBsZXRpb25TY3Jp cHQpZXZhbChoai5jb21wbGV0aW9uU2NyaXB0Kyc7Jyl9ZnVuY3Rpb24gYWF4KGhrKXt2YXIgZW09 aGsuCmZvcm0uZm9ybTtlbS5hY3Rpb249aGsuZm9ybS5hY3Rpb247ZW0ub25zdWJtaXQ9Jyc7ZW0u c3VibWl0KCl9ZnVuY3Rpb24gYWNhKApoayxtLGFieSxobSxhYW0sc3IsYWJyKXtpZihhYXcpcmV0 dXJuIGVtO2dVc2VyQXJnPXV1PXNyO2Fhdz0xO2lmKGFhbS4KcHJvZ3Jlc3MpYWFtLnByb2dyZXNz KCdjbGVhcicsc3IpO2lmKCFhYW0uY29tcGxldGlvbilhYW0uY29tcGxldGlvbj1hYng7dmFyCmhq PXsnZm5zJzphYW0sJ2FyZyc6c3IsJ2tleSc6aGsudXNlcktleXx8bmV3IFNIQTEobSwwLDAsYmcp LmZpbmFsaXplKCksCidhY3Rpb24nOmhtLCdwYXlsb2FkJzpoaywndGltZU91dCc6aXM/MTI1OjEs J2R1cmF0aW9uJzphYnksJ2FwcGxldE1zZyc6YWJyLAonYXBwbGV0TmFtZSc6am0sJ2FwcGxldENs YXNzJzonUG9zdCcrJ1hUb29scyd9O2lmKGhrLmFsZ25hbWVzLgprZXlTZXJ2ZXJLZXlIYXNoPT0n cGxhaW4nKWhqLnBsYWluS2V5PW18fGhrLnVzZXJLZXk7aHU9aGo7aWYoaGsuZXZlbnQmJmhrLgpl dmVudC5jdHJsS2V5JiYhaGsuZXZlbnQuYWx0S2V5JiYhaGsuZXZlbnQuc2hpZnRLZXkpaGwuZm9y Y2VBcHBsZXRSZWxvYWQoMSk7CmhrLmV2ZW50PWFjbj1lbTtpZihoay5lbmNyeXB0ZWRTZXNzaW9u S2V5KXt2YXIgYWJmPW5ldyBBUkM0KGhqLmtleSxoay4Ka2V5c2l6ZSwxKS5jcnlwdChoay5lbmNy eXB0ZWRTZXNzaW9uS2V5KTtpZighKGQ9Y24oYWJmKSkpe2FhbS5lcnJvcihzbixzcik7CnNlKDEp O3JldHVybiBlbX1oay5zZXNzaW9uS2V5PWQ7dmFyIHN2PWRvY3VtZW50LmZvcm1zW2hrLmZvcm0u aW5kZXhdO2lmKHN2JiYKc3Yuc2Vzc2lvbmtleSlzdi5zZXNzaW9ua2V5LnZhbHVlPWJiLmVuY29k ZVRvU3RyaW5nKGQpfWlmKCFoay5zZXNzaW9uS2V5JiZoawogLmhhcmRlbmVybmFtZSl7aWYoKGQ9 d3coamwraGsuaGFyZGVuZXJuYW1lKSkmJmRbMV0ubGVuZ3RoPjQpe3ZhciBhYmY9bmV3CkFSQzQo aGoua2V5LGhrLmtleXNpemUsMSkuY3J5cHQoZFsxXSk7aWYoIShkPWNuKGFiZikpKXthYW0uZXJy b3Ioc24sc3IpO3NlKDEKKTtyZXR1cm4gZW19aGouaGFyZGVuZXI9ZH19aWYoKGhqLmFjdGlvbj09 amh8fGhqLmFjdGlvbj09aXEpJiYhaGsuc2Vzc2lvbktleQomJihoay5kYXRhWzBdPT0nJ3x8KGhr LmhhcmRlbmVybmFtZSYmIWhqLmhhcmRlbmVyKSkpe3ZhciBhY2I9aGouYWN0aW9uPT1qaD8KZXY6 ZXgsZW89aGsuaGFyZGVuZXJuYW1lP2hrLmhhcmRlbmVybmFtZStoay5yaWRbMF06aGsubXNnSUQs YWF5PXsnc3UnOmhrLgpzZWxlY3RlZElEfTtpZihoay5jb29raWVzRW5hYmxlZClhYXkucm09KGhr LmZsYWdzJmFjaT8xOjApO2lmKGhrLgpzZWN1cmVSZXBseUFsZylhYXkuc3JhPWhrLnNlY3VyZVJl cGx5QWxnO2lmKCFoay5ub1VzZXJLZXlOZWVkZWQpe3ZhciBhYm09CnR5cGVvZiBoai5wbGFpbktl eT09dXYsbT1hYm0/aGoua2V5OmhqLnBsYWluS2V5LGFhdD0nJztpZihoay5ycGMudHJhZmZpY0tl eSkKe2FhdD0nYXJjNDonO209bmV3IEFSQzQoaGsucnBjLnRyYWZmaWNLZXksMCwxKS5jcnlwdCht KX1hYXQrPWFibT8nc2hhMSc6aGsuCmFsZ25hbWVzLmtleVNlcnZlcktleUhhc2g7YWF0PSdiYXNl NjQ6JythYXQ7YWF5Lms9YWF0KycsJytiYi5lbmNvZGVUb1N0cmluZygKbSl9ZWwoaGsucnBjLGVv LGFjYixSUENfRkxBR19ORUVEX1NFU1NJT05fS0VZLGFjbyxhYXkpO3JldHVybiBlbX1yZXR1cm4g YWJ3KApnYyl9ZnVuY3Rpb24gYWJ3KGFiYyxlaSxtLGFicyl7dmFyIGhqPWh1LGhrPWhqLnBheWxv YWQ7aWYoYWJjIT1nYyl7aWYoaGouZm5zCiAucHJvZ3Jlc3MpaGouZm5zLnByb2dyZXNzKCdjbGVh cicsaGouYXJnKTtpZihhYmM9PWZnJiYhaGsudXNlcktleSloai5mbnMuCmVycm9yKHNuLGhqLmFy Zyk7ZWxzZSBoai5mbnMucnBjKGhrLGVpLFJQQ19GTEFHX05FRURfU0VTU0lPTl9LRVksYWJjLGhq LmFyZywKYWJzKTtzZSgxKTtyZXR1cm4gZW19aWYobSl7aWYoaGsuaGFyZGVuZXJuYW1lKWhqLmhh cmRlbmVyPW07ZWxzZSBoay4Kc2Vzc2lvbktleT1tfWlmKCFoay5oYXJkZW5lcm5hbWUpe3ZhciB6 dT10eXBlb2YgaGoucGxhaW5LZXkhPXV2LHdvPSh6dT9oai4KcGxhaW5LZXk6aGoua2V5KTtpZiho ay5mbGFncyZhYWQpeGYoaGsudXNlcmtleW5hbWUsaGsuZXhwaXJpZXMudXNlcktleSx3bywoKApo ay5mbGFncyZ5eSk/eGQ6MCl8KGhrLnNlbGVjdGVkSUQ/d3g6MCl8KHp1P3hpOjApLGhrLnNlbGVj dGVkSUQpfWlmKGhrLgpoYXJkZW5lcm5hbWUmJmhqLmhhcmRlbmVyKXtoai51c2VyS2V5PWhqLmtl eTtoai5rZXk9aGouaGFyZGVuZXJ9dmFyIGFicD0oaGsuCmZsYWdzJmFiYil8fChoai5hY3Rpb24m YWNlKTtpZigoaGoudXNpbmdBcHBsZXQ9YWJwKSl7aWYoaXope2lmKGhrLmZsYWdzJmFiaikKYWF4 KGhrKTtlbHNlIGFhbS5lcnJvcih1cixoai5hcmcpO3JldHVybiBlbX1oay5wcm9ncmVzc3JhdGlv PTF9aWYoaGouYWN0aW9uCj09amgmJmFicCYmKGhrLmZsYWdzJmFjaikpYWF4KGhrKTtlbHNlIHNl dFRpbWVvdXQoImFjYygpIixoai50aW1lT3V0KTsKcmV0dXJuIGVtfWZ1bmN0aW9uIGFjYygpe3Zh ciBoaj1odSxoaz1oai5wYXlsb2FkO2lmKGhrLmFsZ25hbWVzLmVuY3J5cHRpb24uCmtleXMhPSdS U0EnJiYoaGouYWN0aW9uPT1qaHx8aGouYWN0aW9uPT1pcSkmJmhrLmRhdGFbMF0hPScnJiYhc2oo KSlyZXR1cm47aWYKKCFoai51c2luZ0FwcGxldCl7aXUoMCk7cmV0dXJuO31hYXA9c2V0VGltZW91 dCgic2UoMCkiLDUwMDApO2lmKCFraShoai4KYXBwbGV0TmFtZSkpe3FyKGhqLmFwcGxldE5hbWUs Jy8nKTtobC5mb3JjZUFwcGxldFJlbG9hZCgxKTtobC5zYXZlKGhrLgpleHBpcmllcy5wcmVmZXJl bmNlcywnLycpO2lmKChoay5mbGFncyZhYmopJiZoai5hY3Rpb249PWpoKXtpZihjb25maXJtKHNz KAonX29ubGluZU9wdGlvbicpKSl7YWF4KGhrKTtyZXR1cm47fX1lbHNlIGlmKGhqLmFjdGlvbj09 amp8fGhqLmFjdGlvbj09amspCmFsZXJ0KHNzKCdfdmVyaWZ5TXNnJykpO2Vsc2V7dmFyIHJyPWhq LmFwcGxldE1zZztpZighcnIpcnI9c3MoJ19hcHBsZXRNc2cnKTsKYWxlcnQocnIpfXNlKDEpfX1m dW5jdGlvbiBzZShyZSl7dmFyIGhqPWh1LGhrPWhqLnBheWxvYWR8fCcnO2lmKHJlKWh1PTA7CmNs ZWFyVGltZW91dChhYXApO2FhcD0wO2Fhdz0wO2hqLmtleT1oay5zZXNzaW9uS2V5PScnO2lmKGhq JiZoai5mbnMmJmhqLmZucy4KZmluYWxpemUpaGouZm5zLmZpbmFsaXplKHJlLGhqLmFyZyl9ZnVu Y3Rpb24gaXUocmUpe2lmKGFhcCl7Y2xlYXJUaW1lb3V0KGFhcAopO2FhcD0wfWFhdz0xO2pkPTE7 aWYocmUhPTApe3NlKDEpO3JldHVybjt9dmFyIGhqPWh1LGhrPWhqLnBheWxvYWQ7aWYoaGouZm5z CiAucHJvZ3Jlc3MpaGouZm5zLnByb2dyZXNzKCdzdGFydCcsaGouYXJnKTtzZXRUaW1lb3V0KCJz aCgpIixoai50aW1lT3V0KX12YXIKYWFzLGFhdj0wLGFiaT0xLGFhej0yLGFiYT00O2Z1bmN0aW9u IGFieChzYSxzZixzcil7dmFyIGhqPWh1LGhrPWhqLnBheWxvYWQsCmJmLGJlLGEsZT1oay50b2Mu bGVuZ3RoLGFhbCxhYWs9Jycsc3U9MDtmb3IoYT0wO2E8ZTthKyspe2JlPWhrLnRvY1thXTtpZihi ZVsKanVdPT1hY2spe2JmPWJlW2pxXSZhYnE/c2E6c2Y7YWFrPWJmLnN1YnN0cihiZVtpcl1bMF0s YmVbaXJdWzFdKTticmVha319Zm9yKAphPTA7YTxlO2ErKyl7YmU9aGsudG9jW2FdO2JmPWJlW2px XSZhYnE/c2E6c2Y7YmY9YmYuc3Vic3RyKGJlW2lyXVswXSxiZVtpcl1bCjFdKTtpZihoai5hY3Rp b249PWpoJiYoYmVbanFdJmFjZCkpe2FhbD1iZjtzdT1iZVtqdV09PWFjbH19aWYodHlwZW9mIGFh bD09dXYKKXJldHVybjtoaj1hYXM9eydpbnB1dCc6W2FhbCxhYWtdLCdpc1RleHQnOltzdSxmYWxz ZV0sJ2NvbnZlcnQnOlthYXYsYWF2XSwKJ2luZGV4JzotMSwnb2Zmc2V0JzowLCdhY2N1bSc6W10s J3RpbWVPdXQnOmhqLnRpbWVPdXQsJ2R1cmF0aW9uJzpoai5kdXJhdGlvbgosJ3BheWxvYWQnOmhr LCd0b3RhbExlbic6MCwnY3VyTGVuJzowLCdwcm9ncmVzc0ZuJzpoai5mbnMucHJvZ3Jlc3MsJ3Vz ZXJBcmcnCjpoai5hcmcsJ3Byb2dyZXNzU3RhdGUnOjAsJ25hbWVzJzp7J3RpdGxlJzpbJ19EaXNw bGF5Q29udicsCidfU3RhdHVzRGlzcGxheUNvbnYnXSwnY29tcGxldGVkJzonX1N0YXR1c0Rpc3Bs YXlDb252UGN0J319O3ZhciBhLGU9aGouaW5wdXQKIC5sZW5ndGgsYWJkLGQ7Zm9yKGE9MDthPGU7 YSsrKXtkPWhqLmlucHV0W2FdO2lmKGhqLmlzVGV4dFthXSloai5jb252ZXJ0W2FdCnw9YWJpO2Fi ZD1kLnN1YnN0cigwLDIpO2lmKGFiZD09J1x1MDBmZVx1MDBmZicpaGouY29udmVydFthXXw9YWF6 O2Vsc2UgaWYoCmFiZD09J1x1MDBmZlx1MDBmZScpaGouY29udmVydFthXXw9YWJhO2lmKGhqLmNv bnZlcnRbYV0hPWFhdil7aGoudG90YWxMZW4rPWQKIC5sZW5ndGg7aWYoaGouaW5kZXg9PS0xKWhq LmluZGV4PWF9fWlmKGhqLmluZGV4Pj0wKXNldFRpbWVvdXQoImFiayhhYXMpIixoagogLnRpbWVP dXQpO2Vsc2UgYWJsKGhqKTtyZXR1cm4nJ31mdW5jdGlvbiBhYmsoaGope3ZhciBhYW49aGouaW5k ZXgsY2E9aGouCmlucHV0W2Fhbl0sYWFyPWhqLmNvbnZlcnRbYWFuXSxhbT1oai5vZmZzZXQscHE9 Y2EubGVuZ3RoO2lmKGFtPT0wJiYoYWFyJmFhegp8fGFhciZhYmEpKWFtPTI7dmFyIGJtLGFhbz0n JyxhYWI9bmV3IERhdGUoKS5nZXRUaW1lKCkraGouZHVyYXRpb247ZG97aWYoYWFyCiZhYXopYm09 U3RyaW5nLmZyb21DaGFyQ29kZShjYS5jaGFyQ29kZUF0KGFtKyspPDw4fGNhLmNoYXJDb2RlQXQo YW0rKykpO2Vsc2UKaWYoYWFyJmFiYSlibT1TdHJpbmcuZnJvbUNoYXJDb2RlKGNhLmNoYXJDb2Rl QXQoYW0rKyl8Y2EuY2hhckNvZGVBdChhbSsrKTw8OAopO2Vsc2UgYm09Y2EuY2hhckF0KGFtKysp O2lmKGFhciZhYmkpe2lmKGJtPT0nXHgyNicpYm09J1x4MjZhbXA7JztlbHNlIGlmKGJtCj09J1x4 M2MnKWJtPSdceDI2bHQ7JztlbHNlIGlmKGJtPT0nXHgzZScpYm09J1x4MjZndDsnfWFhbys9Ym07 aWYoYWFvLmxlbmd0aD4KMTAwKXtoai5hY2N1bVtoai5hY2N1bS5sZW5ndGhdPWFhbzthYW89Jyd9 fXdoaWxlKGFtPHBxJiZuZXcgRGF0ZSgpLmdldFRpbWUoKQo8YWFiKTtpZihhYW8pe2hqLmFjY3Vt W2hqLmFjY3VtLmxlbmd0aF09YWFvO2Fhbz0nJ31oai5jdXJMZW4rPWFtLWhqLm9mZnNldDsKdmFy IGFhdT1oai5jdXJMZW4vaGoudG90YWxMZW47c3dpdGNoKGhqLnByb2dyZXNzU3RhdGUpe2Nhc2Ug MDppZihhYXU+LjN8fCFoagogLnByb2dyZXNzRm4pe2hqLnByb2dyZXNzU3RhdGU9LTE7YnJlYWt9 aGoucHJvZ3Jlc3NGbignc3RhcnQnLGhqLnVzZXJBcmcsaGouCm5hbWVzKTtoai5wcm9ncmVzc1N0 YXRlPTE7Y2FzZSAxOmhqLnByb2dyZXNzRm4oYWF1LGhqLnVzZXJBcmcsaGoubmFtZXMpOwpicmVh a31pZihhbTxwcSloai5vZmZzZXQ9YW07ZWxzZXtoai5pbnB1dFthYW5dPWhqLmFjY3VtLmpvaW4o JycpO2hqLmFjY3VtLgpsZW5ndGg9MDtwcT1oai5pbnB1dC5sZW5ndGg7ZG8gYWFuKys7d2hpbGUo aGouY29udmVydFthYW5dPT1hYXYmJmFhbjxwcSlpZigKYWFuPT1wcSl7c2V0VGltZW91dCgiYWJs KGFhcykiLGhqLnRpbWVPdXQpO3JldHVybjt9aGouaW5kZXg9YWFuO2hqLm9mZnNldD0wfQpzZXRU aW1lb3V0KCJhYmsoYWFzKSIsaGoudGltZU91dCl9ZnVuY3Rpb24gYWJsKGhqKXthYXM9MDt2YXIg YWFsPWhqLmlucHV0WzBdCixhYWs9aGouaW5wdXRbMV07aWYoYWFrKXt2YXIgaGs9aGoucGF5bG9h ZCxhPWFhay5pbmRleE9mKCckWzBdJyk7YWFrPXh0KGFhaywKYWFsLChoay5zZWN1cmVOYW1lP2hr LnNlY3VyZU5hbWU6JycpLChoay5sb2dvdXRVUkw/aGsubG9nb3V0VVJMOicnKSk7aWYoYT09Ci0x KWFhaz1hYWsrJ1x4M2Noclx4M2UnK2FhbDthYWw9YWFrfWRvY3VtZW50Lm9wZW4oKTtkb2N1bWVu dC53cml0ZShhYWwrCidceDNjIS0tJyk7ZG9jdW1lbnQud3JpdGUoJy0tXHgzZScpO2RvY3VtZW50 LmNsb3NlKCl9ZnVuY3Rpb24ga2Yod2Upe3ZhciBoaj0KaHUsaGs9aGoucGF5bG9hZDtpZihoay5m bGFncyZhY2cpc2V0VGltZW91dCgnbG9jYXRpb24uaHJlZiA9ICInK3dlLnJlcGxhY2UoCiciJywn XFwiJykrJyInLDEwMCk7ZWxzZSB3aW5kb3cub3Blbih3ZSl9eng9cHJvY2Vzc1BheWxvYWQ9YWNh O3ptPQppbml0aWFsaXplUGF5bG9hZD1hYno7emw9b3Blbk9ubGluZT1hYXg7CickU2VyaWFsOiA0 NzAwICQgJFJldmlzaW9uOiAxLjE2ICQnO2Z1bmN0aW9uIHNvKCl7dmFyIGhqPWh1LGhrPWhqLnBh eWxvYWQsYSwKZDt0aGlzLnN0YXRlPWhqO3ZhciBkPWhrLnNlZ21lbnRzO3RoaXMuZW5kcz1bZFsw XV07Zm9yKGE9MTthPGQubGVuZ3RoO2ErKykKdGhpcy5lbmRzW2FdPXRoaXMuZW5kc1thLTFdK2Rb YV07aWYoaGsuc2Vzc2lvbktleSl7dGhpcy5zZWdtZW50PTE7dGhpcy5rZXk9CmhrLnNlc3Npb25L ZXk7dGhpcy5kYXRhSW5kZXg9dGhpcy5lbmRzWzBdO2lmKGhrLmZsYWdzJnplKXhjKGhrLm1zZ0lE LGhrLgpleHBpcmllcy5zZXNzaW9uS2V5LGhrLnNlc3Npb25LZXksaGoua2V5LGhrLmtleXNpemUs KChoay5mbGFncyZ5eSk/eGQ6MCl8KCgKaGsuZmxhZ3MmemYpP2p2OjApfCgoaGsuc2VsZWN0ZWRJ RCk/d3g6MCksaGsuc2VsZWN0ZWRJRCl9ZWxzZXt0aGlzLnNlZ21lbnQ9MAo7dGhpcy5rZXk9aGou a2V5O3RoaXMuZGF0YUluZGV4PTB9dmFyIHp1PXR5cGVvZiBoai5wbGFpbktleSE9dXYsd289KHp1 P2hqLgpwbGFpbktleTpoai5rZXkpO2lmKGhrLmZsYWdzJmFhZCl4Zihoay51c2Vya2V5bmFtZSxo ay5leHBpcmllcy51c2VyS2V5LHdvLCgoCmhrLmZsYWdzJnl5KT94ZDowKXwoKGhrLnNlbGVjdGVk SUQpP3d4OjApfCgoenUpP3hpOjApLGhrLnNlbGVjdGVkSUQpO3RoaXMuCnVzZXJLZXk9aGoua2V5 O3RoaXMuc2tpcFBsYWluPWhqLnVzaW5nQXBwbGV0PzE6MDt0aGlzLnN0ckluZGV4PTA7dGhpcy4K Y3VyT3V0QXJyYXk9W107dGhpcy5jdXJPdXRMZW49MDt0aGlzLmRhdGFIYXNoPScnO3RoaXMuZGF0 YUhhc2hMZW49MDt0aGlzLgpoYXNoZXI9MDt0aGlzLmRlY3J5cHRvck9iaj0wO3RoaXMucGxhaW5U ZXh0PScnO3RoaXMuY3J5cHRUZXh0PScnO3RoaXMuCnRvdGFsRG9uZT0wO3RoaXMudG90YWxCeXRl cz0wO3RoaXMucHJvZ3Jlc3NSYXRpbz1oay5wcm9ncmVzc3JhdGlvO3RoaXMuCmN1clN0YXR1cz1h YWE7dGhpcy5zYWx0PWJiLmRlY29kZVRvU3RyaW5nKGhrLnNhbHQpO2Q9aGsuZGF0YTtmb3IoYT0w O2E8ZC4KbGVuZ3RoLXRoaXMuc2tpcFBsYWluO2ErKyl0aGlzLnRvdGFsQnl0ZXMrPWRbYV0ubGVu Z3RoO3RoaXMuY29tcGxldGVkPQpmdW5jdGlvbigpe3JldHVybiB0aGlzLnByb2dyZXNzUmF0aW8q dGhpcy50b3RhbERvbmUvdGhpcy50b3RhbEJ5dGVzfTt0aGlzLgpnZXREZWNyeXB0ZWRUZXh0PWZ1 bmN0aW9uKCl7cmV0dXJuIHRoaXMuY3J5cHRUZXh0fTt0aGlzLmdldERlY29kZWRUZXh0PQpmdW5j dGlvbigpe3JldHVybiB0aGlzLnBsYWluVGV4dH07dGhpcy5zdGF0dXM9ZnVuY3Rpb24oKXtyZXR1 cm4gdGhpcy4KY3VyU3RhdHVzfTt0aGlzLnJ1bj1mdW5jdGlvbigpe3ZhciBoaj10aGlzLnN0YXRl LGhrPWhqLnBheWxvYWQ7aWYodGhpcy4KY3VyU3RhdHVzIT1hYWEmJnRoaXMuY3VyU3RhdHVzIT16 dilyZXR1cm4gMDt2YXIgemg9ano/MTowO3RoaXMuY3VyU3RhdHVzPXp2Owp2YXIgeWw9dGhpcy5z ZWdtZW50LHlxPXRoaXMuZW5kcyx5bj10aGlzLmRhdGFJbmRleCx5dz1oay5kYXRhW3luXSx5cj15 dy4KbGVuZ3RoLHlwPXRoaXMuY3VyT3V0QXJyYXkseXQ9dGhpcy5jdXJPdXRMZW4seXY9dGhpcy5k YXRhSGFzaCx5ej10aGlzLgpkYXRhSGFzaExlbix5eD10aGlzLmhhc2hlcix5bT10aGlzLnN0cklu ZGV4LHpiPXRoaXMuZGVjcnlwdG9yT2JqLGFhYz1iYix5bz0KbmV3IEFycmF5KDMpLHphPXlsPHlx Lmxlbmd0aC0xLHhiPScnLGphPTAsYWFiPW5ldyBEYXRlKCkuZ2V0VGltZSgpK2hqLgpkdXJhdGlv bixibSxhLGUseXMseXU7ZG97aWYoeW09PTApe2lmKHlsPT0wJiZoay5hbGduYW1lcy5lbmNyeXB0 aW9uLmtleXM9PQonUlNBJyl7dmFyIGljPWhqLmFwcGxldDt3aGlsZSh5bjx5cVswXSl7Ym09aWMu ZGVjcnlwdFJTQShoay5yaWRbMF0saGsuCmtleW5hbWUsaGsuZGF0YVt5bl0sdGhpcy5rZXkpO2lm KGJtKWJtKz0nJztpZihibSlicmVhazt5bisrfWlmKHluPT15cVswXSkKcmV0dXJuIGJ0KHRoaXMs c24pO3RoaXMua2V5PWJtO2lmKGhrLmZsYWdzJnplKXhjKGhrLm1zZ0lELGhrLmV4cGlyaWVzLgpz ZXNzaW9uS2V5LGJtLHRoaXMudXNlcktleSxoay5rZXlzaXplLCgoaGsuZmxhZ3MmeXkpP3hkOjAp fCgoaGsuZmxhZ3MmemYpP2p2CjowKXwoKGhrLnNlbGVjdGVkSUQpP3d4OjApLGhrLnNlbGVjdGVk SUQpO3luPXlxW3lsKytdfXphPXlsPHlxLmxlbmd0aC0xO3l3PQpoay5kYXRhW3luXTt5cj15dy5s ZW5ndGg7eXBbeXQ9MF09Jyc7eXY9Jyc7eXg9dGhpcy5oYXNoZXI9cXooeWw9PTAsaGsuCmFsZ25h bWVzLnZlcmlmaWNhdGlvbik7eXo9eXgubGVuZ3RoKCk7aWYoemEpe2lmKHlsPT0xKXRoaXMua2V5 PW5ldyBTSEExKHRoaXMKIC5rZXkpLmZpbmFsaXplKCk7emI9dGhpcy5kZWNyeXB0b3JPYmo9cXgo bmV3IFNIQTEodGhpcy5rZXkrdGhpcy5zYWx0KS4KZmluYWxpemUoKSx5bD09MCxoay5hbGduYW1l cy5lbmNyeXB0aW9uLGhrLmFsZ3BhcmFtcy5lbmNyeXB0aW9uKX1lbHNlIHpiPQp0aGlzLmRlY3J5 cHRvck9iaj0wfXlvPWFhYy5kZWNvZGVUb0FycmF5KHl3LnN1YnN0cih5bSw3MikseW8pO2lmKHph KXlvPXpiLgpkZWNyeXB0KHlvLHlyLXltPD03Mik7eXM9eW8ubGVuZ3RoO3l1PTA7aWYoKGU9eXot eXYubGVuZ3RoKT4wKXtpZihlPnlzKWU9eXM7CmZvcihhPTA7YTxlO2ErKyl5dis9U3RyaW5nLmZy b21DaGFyQ29kZSh5b1thXSk7eXU9YX1pZih5dTx5cyl7eXguZGlnZXN0KHlvLAp5dSx5cyk7Ym09 Jyc7Zm9yKGE9eXU7YTx5czthKyspYm0rPVN0cmluZy5mcm9tQ2hhckNvZGUoeW9bYV0pO2lmKHlw W3l0XS4KbGVuZ3RoPj0xMDApeXBbKyt5dF09Jyc7eXBbeXRdKz1ibX1pZih5ci15bT43Mil7amEr PTcyK3poO3ltKz03Mit6aH1lbHNle2phCis9eXIteW07eW09eXJ9aWYoeW0+PXlyKXtpZih5diE9 eXguZmluYWxpemUoKSl7aWYoeWw+MClyZXR1cm4gYnQodGhpcyxhYWUpfQplbHNle3lwLmxlbmd0 aD15dCsxO3N3aXRjaCh5bCl7Y2FzZSAwOnhiPXlwLmpvaW4oJycpO2lmKGhrLmZsYWdzJnplKXhj KGhrLgptc2dJRCxoay5leHBpcmllcy5zZXNzaW9uS2V5LHhiLHRoaXMudXNlcktleSxoay5rZXlz aXplLCgoaGsuZmxhZ3MmeXkpP3hkOjApCnwoKGhrLmZsYWdzJnpmKT9qdjowKXwoKGhrLnNlbGVj dGVkSUQpP3d4OjApLGhrLnNlbGVjdGVkSUQpO2JyZWFrO2Nhc2UgMToKdGhpcy5jcnlwdFRleHQr PXlwLmpvaW4oJycpO2JyZWFrO2Nhc2UgMjp0aGlzLnBsYWluVGV4dCs9eXAuam9pbignJyk7YnJl YWt9fQppZigrK3luPT15cVt5bF0pe2lmKCsreWw9PXlxLmxlbmd0aC10aGlzLnNraXBQbGFpbili cmVhaztpZih5bD09MSl7aWYoeGI9PScnCilyZXR1cm4gYnQodGhpcyxzbik7dGhpcy5rZXk9eGJ9 fXltPTB9fXdoaWxlKHlsPT0wfHxuZXcgRGF0ZSgpLmdldFRpbWUoKTxhYWIKKTt0aGlzLnNlZ21l bnQ9eWw7dGhpcy5jdXJPdXRMZW49eXQ7dGhpcy5zdHJJbmRleD15bTt0aGlzLmRhdGFJbmRleD15 bjt0aGlzLgpkYXRhSGFzaD15djt0aGlzLmRhdGFIYXNoTGVuPXl6O3RoaXMudG90YWxEb25lKz1q YTtyZXR1cm4gdGhpcy5zZWdtZW50PT15cS4KbGVuZ3RoLXRoaXMuc2tpcFBsYWluP2J0KHRoaXMs cngpOjF9O2Z1bmN0aW9uIGJ0KGh6LHpnKXtoei5jdXJTdGF0dXM9emc7aWYoCnpnIT1yeCloei5j cnlwdFRleHQ9aHoucGxhaW5UZXh0PScnO2h6LmlucHV0cz0wO2h6LmN1ck91dEFycmF5PTA7aHou CmRlY3J5cHRvck9iaj0wO2h6LmxvY2FsQ1JDPTA7aHoubG9jYWxEZWNvZGVyPTA7cmV0dXJuIDB9 fQonJFNlcmlhbDogMTA0OCAkICRSZXZpc2lvbjogMS41ICQnO2Z1bmN0aW9uIGFqdChoaixieSl7 dmFyIGt2LGJtPWhqLmNodW5rczsKd2hpbGUoYnkubGVuZ3RoPihrdj1oai5jaHVua1NpemUtaGou dGFpbExlbikpe2JtW2hqLmN1ckluZGV4KytdKz1ieS5zdWJzdHIoMAosa3YpO2JtW2hqLmN1cklu ZGV4XT0nJztoai50YWlsTGVuPTA7Ynk9Ynkuc3Vic3RyKGt2KX1ibVtoai5jdXJJbmRleF0rPWJ5 O2hqCiAudGFpbExlbis9YnkubGVuZ3RofWZ1bmN0aW9uIGFrYyhoaixidSxsZW5ndGgpe3ZhciBh YW49YnU+PmhqLmJpdHMsY2M9JycsCmFqbz1oai5jaHVua1NpemU7YnU9YnUmKGFqby0xKTt3aGls ZShidStsZW5ndGg+YWpvKXtjYys9aGouY2h1bmtzW2FhbisrXS4Kc3Vic3RyKGJ1KTtsZW5ndGgt PWFqby1idTtidT0wfXJldHVybiBjYytoai5jaHVua3NbYWFuXS5zdWJzdHIoYnUsbGVuZ3RoKX0K ZnVuY3Rpb24gYWpzKGFqdyxhanIpe3ZhciBhLHlzLGU9YWp3Lmxlbmd0aCxhanY9bmV3IEFycmF5 KGUpO2ZvcihhPTA7YTxlO2ErKwopYWp2W2FdPTA7dmFyIGFqcT0wO2ZvcihhPTA7YTxlO2ErKylp ZigoeXM9YWp3W2FdKSl7YWp2W3lzXSsrO2lmKHlzPmFqcSlhanE9CnlzfWFqci5sZW5ndGg9YWpx KzE7Zm9yKGE9MDthPGFqcSsxO2ErKylpZih0eXBlb2YgYWpyW2FdPT1icSlhanJbYV0ubGVuZ3Ro PTAKO2Vsc2UgYWpyW2FdPVtdO3ZhciBrbD0wLGFrZj1uZXcgQXJyYXkoYWpxKzEpO2ZvcihhPTE7 YTxhanErMTthKyspYWtmW2FdPWtsPQooa2wrYWp2W2EtMV0pPDwxO2ZvcihhPTA7YTxlO2ErKylp ZigoeXM9YWp3W2FdKSlhanJbeXNdW2FrZlt5c10rK109YX12YXIgYWp5CjtmdW5jdGlvbiBzayhi Zixha2QsYWJ5LGFrZyxhYW0sc3Ipe3ZhciBhO2lmKChhPWJmLmNoYXJDb2RlQXQoMCkpIT0xMjB8 fChhKgoyNTYrYmYuY2hhckNvZGVBdCgxKSklMzEpYWFtLmNvbXBsZXRpb24oKTt2YXIgaGo9eydk YXRhJzpiZiwnZmluYWxMZW4nOmFrZCwKJ2R1cmF0aW9uJzphYnksJ3JhdGlvJzpha2csJ2Zucyc6 YWFtLCdhcmcnOnNyLCdiaXRzJzo5LCd0YWlsTGVuJzowLAonY3VySW5kZXgnOjAsJ2J5dGVJbmRl eCc6MiwnYml0Q291bnQnOjAsJ2N1ckJpdHMnOjAsJ2JvcmRlcic6WzE2LDE3LDE4LDAsOCw3Ciw5 LDYsMTAsNSwxMSw0LDEyLDMsMTMsMiwxNCwxLDE1XSwnbGl0ZXJhbENvZGVCb29rJzpbXSwnZGlz dGFuY2VDb2RlQm9vayc6W10KLCdjb21wcmVzc2lvblR5cGUnOi0xLCdmaW5hbEJsb2NrJzowLCdk ZWxheSc6aXM/MTI1OjF9O2hqLmNodW5rU2l6ZT0xPDxoai4KYml0cztoai5jaHVua3M9bmV3IEFy cmF5KChha2QraGouY2h1bmtTaXplLTEpPj5oai5iaXRzKTtoai5jaHVua3NbMF09Jyc7YWtiKAph ank9aGopfWZ1bmN0aW9uIGFrYihoail7aWYoaGouY29tcHJlc3Npb25UeXBlPT0tMSYmaGouZmlu YWxCbG9jayl7dmFyIGVtPWhqCiAuZm5zLmNvbXBsZXRpb24sZD1oai5jaHVua3Muam9pbignJyk7 YWp5PWhqPTA7ZW0oZCk7cmV0dXJuO312YXIgeHcsYm0sYWp1LApha2UsYSxjLGJvLGUsYmcsYWpr PWhqLmJpdENvdW50LGFqbD1oai5jdXJCaXRzLGFqbj1oai5ieXRlSW5kZXgsYWpwPWhqLgpjb21w cmVzc2lvblR5cGUsYmY9aGouZGF0YSxhano9aGoubGl0ZXJhbENvZGVCb29rLGFqeD1oai5kaXN0 YW5jZUNvZGVCb29rLApham89aGouY2h1bmtTaXplLGFhYj1oai5mbnMucHJvZ3Jlc3M/bmV3IERh dGUoKS5nZXRUaW1lKCkraGouZHVyYXRpb246bmV3CkRhdGUoYngpO2Rve2lmKGFqcD09LTEpe3Zh ciBha2E9W10sYWptPVtdO2lmKCFhamspe2FqbD1iZi5jaGFyQ29kZUF0KGFqbisrKTsKYWprPTh9 aGouZmluYWxCbG9jaz1hamwmMTthamw+Pj0xO2Fqay0tO2lmKGFqazwyKXthamx8PWJmLmNoYXJD b2RlQXQoYWpuKyspCjw8YWprO2Fqays9OH1hanA9YWpsJjM7YWpsPj49MjthamstPTI7c3dpdGNo KGFqcCl7Y2FzZSAwOmE9YmYuY2hhckNvZGVBdChham4KKStiZi5jaGFyQ29kZUF0KGFqbisxKTw8 ODthanQoaGosYmYuc3Vic3RyKGFqbis0LGEpKTtham4rPWErNDthams9YWpsPTA7CmJyZWFrO2Nh c2UgMTpham0ubGVuZ3RoPTI4ODthPTA7d2hpbGUoYTwxNDQpYWptW2ErK109ODt3aGlsZShhPDI1 Nilham1bYSsrXT0KOTt3aGlsZShhPDI4MClham1bYSsrXT03O3doaWxlKGE8Mjg4KWFqbVthKytd PTg7YWpzKGFqbSxhanopO2FqbS5sZW5ndGg9MzA7CmZvcihhPTA7YTwzMDthKyspYWptW2FdPTU7 YWpzKGFqbSxhangpO2JyZWFrO2Nhc2UgMjppZihhams8NSl7YWpsfD1iZi4KY2hhckNvZGVBdChh am4rKyk8PGFqazthamsrPTh9YWp1PShhamwmMzEpKzI1Nzthamw+Pj01O2Fqay09NTtpZihhams8 NSl7YWpsCnw9YmYuY2hhckNvZGVBdChham4rKyk8PGFqazthamsrPTh9YWtlPShhamwmMzEpKzE7 YWpsPj49NTthamstPTU7aWYoYWprPDQpewphamx8PWJmLmNoYXJDb2RlQXQoYWpuKyspPDxhams7 YWprKz04fWU9KGFqbCYxNSkrNDthamw+Pj00O2Fqay09NDtham0ubGVuZ3RoCj0xOTtmb3IoYT0w O2E8MTk7YSsrKWFqbVthXT0wO2JvPWhqLmJvcmRlcjtmb3IoYT0wO2E8ZTthKyspe2lmKGFqazwz KXthamx8PQpiZi5jaGFyQ29kZUF0KGFqbisrKTw8YWprO2Fqays9OH1ham1bYm9bYV1dPWFqbCY3 O2FqbD4+PTM7YWprLT0zfWFqcyhham0sYWthCik7YWptLmxlbmd0aD1lPWFqdStha2U7YT0wO3do aWxlKGE8ZSl7Ym09Yz0wO2Rve2JnPWFrYVsrK2NdO2lmKCFhamspe2FqbD1iZi4KY2hhckNvZGVB dChham4rKyk7YWprPTh9Ym09KGJtPDwxKXwoYWpsJjEpO2FqbD4+PTE7YWprLT0xfXdoaWxlKHR5 cGVvZiBiZ1tibQpdPT11dik7Ym09YmdbYm1dO2lmKGJtPDE2KWFqbVthKytdPWJtO2Vsc2V7eHc9 Ym09PTE4Pzc6Ym0tMTQ7d2hpbGUoYWprPHh3KXsKYWpsfD1iZi5jaGFyQ29kZUF0KGFqbisrKTw8 YWprO2Fqays9OH1jPWErKGFqbCYoKDE8PHh3KS0xKSkrKGJtPT0xOD8xMTozKTsKYWpsPj49eHc7 YWprLT14dztibz1ibT09MTY/YWptW2EtMV06MDt3aGlsZShhPGMpYWptW2ErK109Ym99fWFqcyhh am0uc2xpY2UoMAosYWp1KSxhanopO2Fqcyhham0uc2xpY2UoYWp1KSxhangpO2JyZWFrfX1pZihh anAhPTApe3doaWxlKG5ldyBEYXRlKCkuCmdldFRpbWUoKTxhYWIpe2JtPWM9MDtkb3tiZz1hanpb KytjXTtpZighYWprKXthamw9YmYuY2hhckNvZGVBdChham4rKyk7YWprPTgKfWJtPShibTw8MSl8 KGFqbCYxKTthamw+Pj0xO2Fqay09MX13aGlsZSh0eXBlb2YgYmdbYm1dPT11dik7Ym09YmdbYm1d O2lmKGJtPAoyNTYpe2FqdChoaixTdHJpbmcuZnJvbUNoYXJDb2RlKGJtKSk7Y29udGludWV9aWYo Ym09PTI1Nil7YWpwPS0xO2JyZWFrfWlmKGJtCjwyNjUpYT1ibS0yNTQ7ZWxzZSBpZihibT09Mjg1 KWE9MjU4O2Vsc2V7Ym0tPTI2NTt4dz0oYm0+PjIpKzE7Ym89MTw8eHc7d2hpbGUKKGFqazx4dyl7 YWpsfD1iZi5jaGFyQ29kZUF0KGFqbisrKTw8YWprO2Fqays9OH1hPShibzw8MikrMysoYm0mMykq Ym8rKGFqbCYoCmJvLTEpKTthamw+Pj14dzthamstPXh3fWJtPWM9MDtkb3tiZz1hanhbKytjXTtp ZighYWprKXthamw9YmYuY2hhckNvZGVBdCgKYWpuKyspO2Fqaz04fWJtPShibTw8MSl8KGFqbCYx KTthamw+Pj0xO2Fqay09MX13aGlsZSh0eXBlb2YgYmdbYm1dPT11dik7Ym09CmJnW2JtXTtpZihi bTw0KWJvPWJtKzE7ZWxzZXt4dz0oYm0+PjEpLTE7Ym89MTw8eHc7d2hpbGUoYWprPHh3KXthamx8 PWJmLgpjaGFyQ29kZUF0KGFqbisrKTw8YWprO2Fqays9OH1jPShibzw8MSkrMTtpZigoeHcrMSkq MiE9Ym0pYys9Ym87Ym89YysoYWpsJigKYm8tMSkpO2FqbD4+PXh3O2Fqay09eHd9ZT1oai5jdXJJ bmRleCpham8raGoudGFpbExlbjtpZihhPmJvKWZvcihjPTA7YzxhO2MrKwopYWp0KGhqLGFrYyho aixlKystYm8sMSkpO2Vsc2UgYWp0KGhqLGFrYyhoaixlLWJvLGEpKX19fXdoaWxlKCFoai5maW5h bEJsb2NrCiYmbmV3IERhdGUoKS5nZXRUaW1lKCk8YWFiKTtpZihoai5mbnMucHJvZ3Jlc3MpaGou Zm5zLnByb2dyZXNzKGhqLnJhdGlvKygxCi1oai5yYXRpbykqKGhqLmN1ckluZGV4KmFqbytoai50 YWlsTGVuKS9oai5maW5hbExlbixoai5hcmcpO2hqLmJpdENvdW50PWFqazsKaGouY3VyQml0cz1h amw7aGouYnl0ZUluZGV4PWFqbjtoai5jb21wcmVzc2lvblR5cGU9YWpwO3NldFRpbWVvdXQoImFr YihhankpIgosaGouZGVsYXkpfQonJFNlcmlhbDogMTY5OSAkICRSZXZpc2lvbjogMS44ICQnO2Z1 bmN0aW9uIHNqKCl7dmFyIGhqPWh1LGhrPWhqLnBheWxvYWQsaHEsCnJ6PTAsc3RhdHVzPXJ4O2lm KGhrLm1heEJhZFBhc3N3b3Jkcz4wJiYoaHE9a2QocWEpKSYmKHJ6PStocSk+PWhrLgptYXhCYWRQ YXNzd29yZHMpc3RhdHVzPXNnO2lmKHN0YXR1cz09cngpe2hqLm9wZW5lck9iaj1uZXcgc28oKTtp ZighaGouCm9wZW5lck9iai5ydW4oKSYmKHN0YXR1cz1oai5vcGVuZXJPYmouc3RhdHVzKCkpIT1y eCYmaGsubWF4QmFkUGFzc3dvcmRzPjApewpqZihxYSwrK3J6LGhrLmV4cGlyaWVzLmJhZFBhc3N3 b3JkQ291bnQsJy8nKTtpZihzdGF0dXM9PXNuJiZyej49aGsuCm1heEJhZFBhc3N3b3JkcylzdGF0 dXM9c2d9fWlmKHN0YXR1cyE9cngpe2hqLmZucy5lcnJvcihzdGF0dXMsaGouYXJnKTtzZSgxKTsK cmV0dXJuIDB9cmV0dXJuIDF9ZnVuY3Rpb24gc2goKXt2YXIgaGo9aHUsaGs9aGoucGF5bG9hZCxy dz1oai5vcGVuZXJPYmoscnk7CmlmKCFydyl7aWYoIShyeT1zaigpKSlyZXR1cm47cnc9aGoub3Bl bmVyT2JqfWVsc2Ugcnk9cncucnVuKCk7aWYocnkpe2lmKGhqLgpmbnMucHJvZ3Jlc3MpaGouZm5z LnByb2dyZXNzKHJ3LmNvbXBsZXRlZCgpLGhqLmFyZyk7c2V0VGltZW91dCgic2goKSIsaGouCnRp bWVPdXQpO3JldHVybjt9dmFyIHN0YXR1cz1ydy5zdGF0dXMoKTtpZihzdGF0dXMhPXJ4KXtpZiho ai5hY3Rpb249PWlxKWhqLgphcHBsZXQuZW5kU2F2ZUZpbGUoKTtoai5mbnMuZXJyb3Ioc3RhdHVz LGhqLmFyZyk7c2UoMSk7cmV0dXJuO31pZihoay4KaGFyZGVuZXJuYW1lJiZoai5oYXJkZW5lcilz cChqbCtoay5oYXJkZW5lcm5hbWUsaGsuZXhwaXJpZXMuaGFyZGVuZXIsaGouCmhhcmRlbmVyLGhq LnVzZXJLZXksaGsua2V5c2l6ZSxqdik7aWYoaGsubWF4QmFkUGFzc3dvcmRzPjApcXIocWEsJy8n KTt2YXIgc2EKLHNmLHFuO2hqLmNyeXB0RG9jcz1oai5vcGVuZXJPYmouZ2V0RGVjcnlwdGVkVGV4 dCgpO2hqLnBsYWluRG9jcz1oai4Kb3BlbmVyT2JqLmdldERlY29kZWRUZXh0KCk7aGoub3BlbmVy T2JqPTA7aWYoaGsuZmxhZ3Mmc2wpc2soaGouY3J5cHREb2NzLGhrLgp0b2NbMF1baXJdWzFdLGhq LmR1cmF0aW9uLGhrLnByb2dyZXNzcmF0aW8seydwcm9ncmVzcyc6aGouZm5zLnByb2dyZXNzLAon Y29tcGxldGlvbic6c2J9LGhqLmFyZyk7ZWxzZSBzYihoai5jcnlwdERvY3MpfWZ1bmN0aW9uIHNi KHNhKXt2YXIgaGo9aHUsaGs9CmhqLnBheWxvYWQ7aGouY3J5cHREb2NzPXNhO2lmKGhrLmZsYWdz JnNtKXNrKGhqLnBsYWluRG9jcyxoay50b2NbaGsudG9jLgpsZW5ndGgtMV1baXJdWzFdLGhqLmR1 cmF0aW9uLGhrLnByb2dyZXNzcmF0aW8seydwcm9ncmVzcyc6aGouZm5zLnByb2dyZXNzLAonY29t cGxldGlvbic6c2R9LGhqLmFyZyk7ZWxzZSBzZChoai5wbGFpbkRvY3MpfWZ1bmN0aW9uIHNkKHNm KXtodS5wbGFpbkRvY3M9CnNmO3NpKCl9ZnVuY3Rpb24gc2koKXt2YXIgaGo9aHU7aWYoaGouZm5z LnByb2dyZXNzKXtoai5mbnMucHJvZ3Jlc3MoJ2ZpbmlzaCcKLGhqLmFyZyk7c2V0VGltZW91dCgi c2MoKSIsaGoudGltZU91dCl9ZWxzZSBzYygpfWZ1bmN0aW9uIHNjKCl7dmFyIGhqPWh1LHFuPQpo ai5mbnMuY29tcGxldGlvbihoai5jcnlwdERvY3MsaGoucGxhaW5Eb2NzLGhqLmFyZyk7aWYocW49 PScnKXJldHVybjtpZihxbiYmCmhqLmZucy5zYXZlZCloai5mbnMuc2F2ZWQocW4saGoucGF5bG9h ZC50b2MubGVuZ3RoKTtlbHNlIGlmKGhqLmZucy5wcm9ncmVzcykKaGouZm5zLnByb2dyZXNzKCdj bGVhcicsaGouYXJnKTtzZSgxKX0KJyRTZXJpYWw6IDUwMjkgJCAkUmV2aXNpb246IDEuMjMgJCc7 ZnVuY3Rpb24gc3EoZHcsdWksdHMsdGope3ZhciBiZTtpZihkdyYmCmRvY3VtZW50LmdldEVsZW1l bnRCeUlkJiYoYmU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoZHcpKSliZS5pbm5lckhUTUw9dWk7 CmVsc2UgaWYodHMpe3NlbGYuc3RhdHVzPXRzO3JldHVybiBiZ31lbHNlIGlmKHRqKWFsZXJ0KHRq KTtyZXR1cm4gZW19ZnVuY3Rpb24KdHkocW4sdWIpe2lmKHViPT0xKXt2YXIgZD1zcygnX1NhdmVk MVBhdGgnLCcnLHFuKTtzcSgncHJvZ3Jlc3MxJywKJ1x4M2NzcGFuIGNsYXNzPXByb2dyZXNzXHgz ZScrZCsnXHgzYy9zcGFuXHgzZScsJycsZCk7c3EoJ3Byb2dyZXNzMicsJycpfQplbHNle3ZhciBj Yz1xbi5sYXN0SW5kZXhPZignXFwnKSxtaT1xbi5sYXN0SW5kZXhPZignLycpLGJ3PXFuLmxhc3RJ bmRleE9mKAonOicpO2lmKG1pPmNjKWNjPW1pO2lmKGJ3PmNjKWNjPWJ3O3ZhciBoeT1xbi5zdWJz dHIoMCxjYyksdWE9cW4uc3Vic3RyKGNjKzEpCixkPXNzKCdfU2F2ZWRuUGF0aCcsJycsaHkpLGJn PXNzKCdfU2F2ZWRuRmlsZScsJycsdWEpO3NxKCdwcm9ncmVzczEnLAonXHgzY3NwYW4gY2xhc3M9 cHJvZ3Jlc3NceDNlJytkKydceDNjL3NwYW5ceDNlJywnJyxkKydcbicrYmcpO3NxKCdwcm9ncmVz czInCiwnXHgzY3NwYW4gY2xhc3M9cHJvZ3Jlc3NceDNlJytiZysnXHgzYy9zcGFuXHgzZScsJycp fX1mdW5jdGlvbiB1cShyZSxzcil7dHQKKHJlLHNyLHsndGl0bGUnOlsnX1ByZXBhcmluZycsJ19T dGF0dXNQcmVwYXJpbmcnXSwnY29tcGxldGVkJzoKJ19TdGF0dXNQcmVwUGN0J30pfWZ1bmN0aW9u IHR0KHJlLHNyLHF1KXtpZih0eXBlb2YgcmU9PWJxKXJlPXJlLnRvU3RyaW5nKCk7CmlmKCFzcilz cj11dTtpZihyZT09J2NsZWFyJyl7c3EoJ3Byb2dyZXNzMScsJycsc3MoJ19TdGF0dXNEb25lJykp O3NxKAoncHJvZ3Jlc3MyJywnJyk7c3EoJ3Bhc3NNc2cnLCcmbmJzcDsnKTtyZXR1cm47fWlmKHJl PT0ndG9vbHMnKXt2YXIgZD1zcygKJ19Ub29sc0xvYWRpbmcnKTtzcSgncHJvZ3Jlc3MxJywnXHgz Y3NwYW4gY2xhc3M9cHJvZ3Jlc3NceDNlJytkKwonXHgzYy9zcGFuXHgzZScsZCk7cmV0dXJuO31p ZighcXUpcXU9eyd0aXRsZSc6WydfRGVjUHJvZ1RpdGxlJywKJ19TdGF0dXNEZWNJbml0J10sJ2Nv bXBsZXRlZCc6J19TdGF0dXNEZWNQY3QnfTtpZihyZT09J3N0YXJ0Jyl7aWYoc3EoCidwcm9ncmVz czEnLCdceDNjc3BhbiBjbGFzcz1wcm9ncmVzc1x4M2UnK3NzKHF1LnRpdGxlWzBdKSsnXHgzYy9z cGFuXHgzZScsc3MKKHF1LnRpdGxlWzFdKSwnJykpcmV0dXJuO3NxKCdwYXNzTXNnJywnJm5ic3A7 Jyk7cmU9MH1lbHNlIGlmKHJlPT0nZmluaXNoJyl7CmlmKGRvY3VtZW50LmxheWVycyl7c2VsZi5z dGF0dXM9c3MoJ19TdGF0dXNEb25lJyk7cmV0dXJuO31yZT0xMDB9ZWxzZXtyZT0KTWF0aC5mbG9v cihyZSoxMDApfXZhciB0Yz0nIzQwNDBGRicsdGs9JyM0MDQwNDAnO2lmKHR5cGVvZiBzcj09Y2wp dGM9c3I7ZWxzZQppZih0eXBlb2Ygc3I9PWJxJiZ0eXBlb2Ygc3IucHJvZ3Jlc3NCYXI9PWJxKXtp Zihzci5wcm9ncmVzc0Jhci5iZ0NvbG9yKXRjPXNyCiAucHJvZ3Jlc3NCYXIuYmdDb2xvcjtpZihz ci5wcm9ncmVzc0Jhci5ib3JkZXJDb2xvcil0az1zci5wcm9ncmVzc0Jhci4KYm9yZGVyQ29sb3J9 dmFyIHN5PQonXHgzY3RhYmxlIGFsaWduPWNlbnRlciBjZWxscGFkZGluZz0wIGNlbGxzcGFjaW5n PTAgYm9yZGVyPTEgJysKJ2JvcmRlcmNvbG9yPSInK3RrKyciIHdpZHRoPSI4NSUiXHgzZScrJ1x4 M2N0clx4M2UnO2lmKHJlPjApc3krPQonXHgzY3RkIGJnY29sb3I9IicrdGMrJyIgd2lkdGg9Iicr cmUrJyUiXHgzZSZuYnNwO1x4M2MvdGRceDNlJztpZihyZTwxMDApc3kKKz0nXHgzY3RkXHgzZSZu YnNwO1x4M2MvdGRceDNlJztzeSs9J1x4M2MvdHJceDNlXHgzYy90YWJsZVx4M2UnO3NxKAoncHJv Z3Jlc3MyJyxzeSxzcyhxdS5jb21wbGV0ZWQsJycscmUpKX1mdW5jdGlvbiB0eChzdGF0dXMsc3Ip e2lmKHN0YXR1cz09c2cpCnt0aCgwLGVtKTthbGVydChzcygnX0Vycm9yQmFkUHdkcycpKX1lbHNl IGlmKHN0YXR1cz09dXIpe3RoKDAsZW0pO2FsZXJ0KHNzKAonX1BsYXRmb3JtSW5jb21wYXRpYmxl JykpfWVsc2V7dmFyIGQ9c3Moc3RhdHVzPT11cz8nX0Vycm9yUHdkQ2hhbmdlZCc6CidfRXJyb3JC YWRQd2QnKTtzcSgncGFzc01zZycsJ1x4M2NzcGFuIGNsYXNzPWVycm9yXHgzZScrZCsnXHgzYy9z cGFuXHgzZScsJycKLGQpfXNxKCdwcm9ncmVzczEnLCcnLHNzKCdfU3RhdHVzRG9uZScpKTtzcSgn cHJvZ3Jlc3MyJywnJyk7dHEoMCwna2V5MScpfQpmdW5jdGlvbiB0aChzdix0ZSl7dmFyIGVtPWRv Y3VtZW50LmZvcm1zW3N2XS5lbGVtZW50cyxhLGU9ZW0ubGVuZ3RoO3RlPSF0ZTsKZm9yKGE9MDth PGU7YSsrKWlmKGVtW2FdLnR5cGU9PSdzdWJtaXQnfHxlbVthXS50eXBlPT0nYnV0dG9uJyllbVth XS5kaXNhYmxlZAo9dGV9dmFyIHRuPWZhbHNlO2Z1bmN0aW9uIHRyKHVjKXt0bj11Y31mdW5jdGlv biB1bShzeCx0aSxzdHlsZSl7dHIoZW0pO2lmKCEKdGkpdGk9J19ibGFuayc7cmV0dXJuIHdpbmRv dy5vcGVuKHN4LHRpLHN0eWxlKX1mdW5jdGlvbiB0cShzdixzdyl7aWYodG4mJgpkb2N1bWVudC5m b3Jtc1tzdl0mJmRvY3VtZW50LmZvcm1zW3N2XVtzd10mJmRvY3VtZW50LmZvcm1zW3N2XVtzd10u Zm9jdXMpe2lmCihkb2N1bWVudC5mb3Jtc1tzdl1bc3ddLnR5cGU9PSdoaWRkZW4nKXJldHVybjtk b2N1bWVudC5mb3Jtc1tzdl1bc3ddLmZvY3VzKCkKO2lmKGRvY3VtZW50LmZvcm1zW3N2XVtzd10u c2VsZWN0KWRvY3VtZW50LmZvcm1zW3N2XVtzd10uc2VsZWN0KCl9fWZ1bmN0aW9uCnVoKGR3KXtp ZighZHcpcmV0dXJuIDA7aWYoZHcubm9kZU5hbWUudG9Mb3dlckNhc2UoKT09J3RhYmxlJyl7dmFy IGE7Zm9yKGE9MDsKYTxkdy5jaGlsZE5vZGVzLmxlbmd0aDthKyspaWYoZHcuY2hpbGROb2Rlc1th XS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpPT0KJ3Rib2R5Jyl7ZHc9ZHcuY2hpbGROb2Rlc1thXTti cmVha319cmV0dXJuIGR3LmNsaWVudFdpZHRofHxkdy5zY3JvbGxXaWR0aHx8MAp9ZnVuY3Rpb24g dWcoZHcpe2lmKCFkdylyZXR1cm4gMDtyZXR1cm4gZHcuY2xpZW50SGVpZ2h0fHxkdy5zY3JvbGxI ZWlnaHR8fDB9CnRtPXt9O2Z1bmN0aW9uIGtlKGt5KXtpZighZG9jdW1lbnQuZ2V0RWxlbWVudEJ5 SWQpcmV0dXJuJyc7cmV0dXJuIGRvY3VtZW50LgpnZXRFbGVtZW50QnlJZChreSl8fHRtW2t5XX1m dW5jdGlvbiB0bChkdyl7aWYodHlwZW9mIGR3PT1jbClkdz0KZ2V0RWxlbWVudEJ5SWQoZHcpO2lm KCFkdylyZXR1cm47dmFyIGQ7dHJ5e3doaWxlKChkPWR3LmZpcnN0Q2hpbGQpKWR3LgpyZW1vdmVD aGlsZChkKX1jYXRjaCh1dCl7ZHcuaW5uZXJIVE1MPScnfXJldHVybiBkd31mdW5jdGlvbiB0Yihk dyxzdSx0eil7ZHc9CnRsKGR3KTtpZighZHcpcmV0dXJuO3ZhciB0cD1kdztpZih0eil7ZHc9ZG9j dW1lbnQuY3JlYXRlRWxlbWVudCgnc3BhbicpO2R3LgpzZXRBdHRyaWJ1dGUoJ2NsYXNzJywnZXJy b3InKTt0cC5hcHBlbmRDaGlsZChkdyl9aWYodHlwZW9mIHN1PT11dilzdT0nJztpZigKc3U9PScm bmJzcDsnfHxzdS5pbmRleE9mKCdceDNjYSAnKSE9LTEpZHcuaW5uZXJIVE1MPXN1O2Vsc2UgZHcu YXBwZW5kQ2hpbGQoCmRvY3VtZW50LmNyZWF0ZVRleHROb2RlKHN1KSk7cmV0dXJuIHRwfWZ1bmN0 aW9uIHVrKHVqLHRhKXt2YXIgdG89CmdldEVsZW1lbnRCeUlkKHVqKSx0Zj1nZXRFbGVtZW50QnlJ ZCh0YSk7aWYodG8mJnRmKXRmLnBhcmVudE5vZGUuCmluc2VydEJlZm9yZSh0byx0Zil9ZnVuY3Rp b24gdW8odGcsdGEpe3ZhciBkO2lmKGQ9Z2V0RWxlbWVudEJ5SWQodGcpKXt0YihkLgpjZWxsc1sw XSwnJyk7dGIoZC5jZWxsc1sxXSwnJyk7aWYodGEpaW5zZXJ0Um93KHRnLHRhKTtlbHNle3RtW3Rn XT1kO2lmKGQuCnBhcmVudE5vZGUpZC5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKGQpfX19ZnVuY3Rp b24gdWQoZHksdXAsZHosc3Qsc3ope2lmKGp4KQpzej0nc2FmYXJpQnRuJztlbHNlIGlmKCFzeilz ej0nYnRuJzt2YXIgdHY9J1x4M2NpbnB1dCB0eXBlPScrKHVwPydzdWJtaXQnOgonYnV0dG9uJykr JyB2YWx1ZT0iJytkeSsnIiBuYW1lPScrZHorJyBvbmNsaWNrPSInK3N0KyciIGNsYXNzPSInK3N6 KyciXHgzZSc7CnJldHVybiB0dn1mdW5jdGlvbiB1ZShkeixzdCx0dyx1bCl7dmFyIGt5PWdlbklk KCdjJyk7CnJldHVybidceDNjdHJceDNlXHgzY3RkXHgzZVx4M2NwXHgzZVx4M2NpbnB1dCB0eXBl PWNoZWNrYm94IG5hbWU9JytkeisnIGlkPScKK2t5Kyh0dz8nIGNoZWNrZWQnOicnKSsoc3Q/JyBv bmNsaWNrPSInK3N0KyciJzonJykrCicgc3R5bGU9InZlcnRpY2FsLWFsaWduOm1pZGRsZSInKydc eDNlXHgzY2xhYmVsIGZvcj0nK2t5KwonIHN0eWxlPSJ2ZXJ0aWNhbC1hbGlnbjptaWRkbGUiJysn XHgzZScrdWwrCidceDNjL2xhYmVsXHgzZVx4M2MvcFx4M2VceDNjL3RkXHgzZVx4M2MvdHJceDNl J31mdW5jdGlvbiB1ZihzdSxzeCx0ZCxzdCl7CnJldHVybidceDNjYSAnKydocmVmPSInK3N4Kyci ICcrKHRkPyd0YXJnZXQ9Il9ibGFuayIgJzonJykrKHN0PydvbmNsaWNrPSInKwpzdCsnIiAnOicn KSsnXHgzZScrc3UrJ1x4M2MvYVx4M2UnfWZ1bmN0aW9uIHR1KGR3LHN1LHN4LHRkLHN0KXtpZih0 eXBlb2YgZHcKPT1jbClkdz1nZXRFbGVtZW50QnlJZChkdyk7aWYoIWR3KXJldHVybjt2YXIgZDtk dy5hcHBlbmRDaGlsZChkb2N1bWVudC4KY3JlYXRlRWxlbWVudCgnYnInKSk7ZD1kb2N1bWVudC5j cmVhdGVFbGVtZW50KCdhJyk7ZC5zZXRBdHRyaWJ1dGUoJ2hyZWYnLHN4KQo7aWYodGQpZC5zZXRB dHRyaWJ1dGUoJ3RhcmdldCcsJ19ibGFuaycpO2lmKHN0KXtpZihkLmFkZEV2ZW50TGlzdGVuZXIp ZC4KYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLHN0LGZhbHNlKTtlbHNlIGlmKGQuYXR0YWNoRXZl bnQpZC5hdHRhY2hFdmVudCgKJ29uY2xpY2snLHN0KTtlbHNlIGQub25jbGljaz1zdH10YihkLHN1 KTtkdy5hcHBlbmRDaGlsZChkKX1mdW5jdGlvbiB1bigpe3ZhcgpkLGxvY2F0aW9uO2lmKHdpbmRv dyYmd2luZG93LmxvY2F0aW9uJiZ3aW5kb3cubG9jYXRpb24ucGF0aG5hbWUpZD1qZyh3aW5kb3cu CmxvY2F0aW9uLnBhdGhuYW1lKTtlbHNlIHJldHVybjtsb2NhdGlvbj13aW5kb3cubG9jYXRpb247 aWYobG9jYXRpb24ucmVsb2FkKQpsb2NhdGlvbi5yZWxvYWQoZmFsc2UpO2Vsc2UgaWYobG9jYXRp b24ucmVwbGFjZSlsb2NhdGlvbi5yZXBsYWNlKGQpO2Vsc2UgaWYoCmxvY2F0aW9uLmhyZWYpbG9j YXRpb24uaHJlZj1kfWRpc3BsYXlFcnJvcj10eDtkaXNwbGF5TWVzc2FnZT1zcTsKZGlzcGxheVNh dmVMb2NhdGlvbj10eTtzZXRCdXR0b25zPXRoO3NldEZvY3VzZWQ9dHI7b3BlbldpbmRvdz11bTtz ZXRGb2N1cz10cQo7dXBkYXRlUHJlcGFyZVByb2dyZXNzPXVxO3VwZGF0ZVByb2dyZXNzPXR0O2Ns ZWFyQ2hpbGRyZW49dGw7c2V0SW5uZXJUZXh0PXRiCjtpbnNlcnRSb3c9dWs7cmVtb3ZlUm93PXVv O2dlbkJ1dHRvbj11ZDtnZW5DaGVja2JveD11ZTtnZW5MaW5rPXVmOwphZGRMaW5rVG9Ob2RlPXR1 O3JlZnJlc2hCcm93c2VyPXVuO2dldEVsZW1lbnRCeUlkPWtlO2dldFdpZHRoPXVoO2dldEhlaWdo dD0KdWc7CickU2VyaWFsOiA0MjQ4ICQgJFJldmlzaW9uOiAxLjMyICQnO3ZhciB3Zj0xLHdnPTI7 ZnVuY3Rpb24gd2kodnIsd2Isd2MsdnQsdnYKKXtpZighdnIuZmxhZ3MpdnIuZmxhZ3M9MDtpZih2 ci5mbGFncyZ3Zil7dnIuZGF0YT13bih2ci5kYXRhKTt2ci5mbGFncyY9fndmfQp2YXIgdnk9dnIu cGFsZXR0ZSxrbz12ci53aWR0aCxvbD12ci5oZWlnaHQsYSxiZCxkLHdtPXR5cGVvZiB2ci50cmFu c3BhcmVudD09CnV2Py0xOnZyLnRyYW5zcGFyZW50O3Z2PXZ2PzE6MDtpZighdnR8fHZ0PDEpdnQ9 MSt2djtlbHNlIHZ0PU1hdGguZmxvb3IodnQpKwp2djtpZighKHZyLmZsYWdzJndnKSl7dmFyIHdq PVswLCcnLCcnXSxuPVswLDAsMF0sYyxlPXZ5Lmxlbmd0aDtmb3IoYT0wO2E8ZTsKYSsrKXtiZD12 eVthXTtpZih0eXBlb2YgYmQhPWJxKXtuWzBdPWJkO25bMV09blsyXT0nJ31lbHNle2ZvcihjPTA7 YzxiZC4KbGVuZ3RoO2MrKyluW2NdPXdqW2NdPWJkW2NdO2Zvcig7YzwzO2MrKyluW2NdPXdqW2Nd fWlmKG5bMV0pblsxXT0KJyBvbk1vdXNlT3Zlcj0iJytuWzFdKyciJztpZihuWzJdKW5bMl09JyBv bk1vdXNlT3V0PSInK25bMl0rJyInO2lmKGE9PXdtKW5bMApdPScnO3Z5W2FdPVtuWzBdLG5bMV0r blsyXV19dnIuZmxhZ3N8PXdnfXZhciB3ZD12ci5kYXRhLnNwbGl0KCcgJyksd2g9d2QuCmxlbmd0 aCx2cz1uZXcgQXJyYXkod2gpLHZ6PTA7dnNbdnorK109CidceDNjc3BhbiBzdHlsZT0iZGlzcGxh eTpibG9jaztwb3NpdGlvbjpyZWxhdGl2ZTt3aWR0aDonKyhrbyp2dC12dikrCidweDtoZWlnaHQ6 Jysob2wqdnQtdnYpKydweDtmb250LXNpemU6MDtsaW5lLWhlaWdodDowIlx4M2Vcbic7dmFyIGhz PW5ldwpBcnJheShvbCk7Zm9yKGE9MDthPG9sO2ErKyloc1thXT1uZXcgQXJyYXkoa28pO3ZhciB2 dz0wLGI9MCx2eCx2dSxnayxnLGd3LGFwCixhcTtmb3IoYT0wO2E8d2g7YSsrKXtpZih3ZFthXT09 Jy0nKXtoc1tiKytdPTA7dnc9MDtjb250aW51ZX1naz1oc1tiXTt3aGlsZSgKZ2tbdnddKXZ3Kys7 dng9d2RbYV0uc3BsaXQoJzonKTtpZih2eC5sZW5ndGg9PTEpe2JkPXZ5Wyt2eF07dnU9WzEsMV19 ZWxzZXtiZAo9dnlbK3Z4WzFdXTt2dT12eFswXS5zcGxpdCgneCcpO3Z1WzBdPXZ1WzBdPT0nJz9r by12dzordnVbMF07dnVbMV09dnVbMV09PScnCj9vbC1iOit2dVsxXX1pZihiZFswXXx8YmRbMV0p e2Q9J1x4M2NzcGFuIHN0eWxlPSJwb3NpdGlvbjphYnNvbHV0ZTt0b3A6JytiKgp2dCsncHg7bGVm dDonK3Z3KnZ0KydweDtoZWlnaHQ6JysodnVbMV0qdnQtdnYpKydweCc7aWYoYmRbMF0pZCs9Cic7 Ym9yZGVyLWxlZnQ6JysodnVbMF0qdnQtdnYpKydweCBzb2xpZCAjJytiZFswXTt2c1t2eisrXT1k KyciJytiZFsxXSsKJ1x4M2VceDNjL3NwYW5ceDNlXG4nfWlmKHZ1WzFdPjEpe2c9dncrdnVbMF07 Z3c9Yit2dVsxXTtmb3IoYXE9YisxO2FxPGd3OwphcSsrKXtnaz1oc1thcV07Zm9yKGFwPXZ3O2Fw PGc7YXArKylna1thcF09MX19dncrPXZ1WzBdfXZzW3Z6KytdPQonXHgzYy9zcGFuXHgzZSc7dnMu bGVuZ3RoPXZ6O3JldHVybiB2cy5qb2luKCcnKX1mdW5jdGlvbiB3bCh3ZSx3ayx3YSx2cix3YiwK d2MsdnQsdnYpe2lmKHR5cGVvZiB2ciE9YnEpe3Z2PXZ0O3Z0PXdjO3djPXdiO3diPXZyO3ZyPXdh O3dhPXt9fXdlPWl4KHdlKTsKdmFyIHZzPVsnXHgzY2EnLCdocmVmPSInK3dlKyciJ107aWYoaWQp e3ZzW3ZzLmxlbmd0aF09Cidvbm1vdXNlb3Zlcj0idGhpcy5zdHlsZS5jdXJzb3I9XCdoYW5kXCci Jzt2c1t2cy5sZW5ndGhdPQonb25tb3VzZW91dD0idGhpcy5zdHlsZS5jdXJzb3I9XCdkZWZhdWx0 XCciJ31pZih3ayl2c1t2cy5sZW5ndGhdPQondGFyZ2V0PV9ibGFuayc7Zm9yKGEgaW4gd2EpdnNb dnMubGVuZ3RoXT1hKyc9IicraXgod2FbYV0pKyciJztyZXR1cm4gdnMuCmpvaW4oJyAnKSsnXHgz ZScrd2kodnIsd2Isd2MsdnQsdnYpKydceDNjL2FceDNlJ316ej1saW5rSW5saW5lSW1hZ2U9d2w7 enk9Cm1ha2VJbmxpbmVJbWFnZT13aTsKJyRTZXJpYWw6IDE1NjEgJCAkUmV2aXNpb246IDEuOSAk JztmdW5jdGlvbiBTSEExKGJ3LGJ1LGJ0LGRtKXt2YXIgZ2k9NjQsYT0wLApnaj1uZXcgQXJyYXko ODApO3doaWxlKGE8MjApZ2pbYSsrXT0weDVhODI3OTk5O3doaWxlKGE8NDApZ2pbYSsrXT0weDZl ZDllYmExCjt3aGlsZShhPDYwKWdqW2ErK109MHg4ZjFiYmNkYzt3aGlsZShhPDgwKWdqW2ErK109 MHhjYTYyYzFkNjt0aGlzLkg9WwoweDY3NDUyMzAxLDB4ZWZjZGFiODksMHg5OGJhZGNmZSwyNzE3 MzM4NzgsMHhjM2QyZTFmMF07dGhpcy5XPW5ldyBBcnJheSg4MCk7CnRoaXMuTT1uZXcgQXJyYXko Z2krMik7dGhpcy4kTVVzZWQ9MDt0aGlzLiRkaWdlc3RlZD1uZXcgZ3AoKTt2YXIgZ209KGNkPwpm dW5jdGlvbihkZCxhcCl7cmV0dXJuIGRpKGRuKGFwLGRkKSxjaihhcCwzMi1kZCkpfTpmdW5jdGlv bihkZCxhcCl7cmV0dXJuKGFwCjw8ZGQpfChhcD4+PigzMi1kZCkpfSksZW09KGNkP2Z1bmN0aW9u KGJnLGFwLGFxLGdoKXtpZihiZzwyMClyZXR1cm4gY2goZGUoYXAKLGFxKSxkZShkayhhcCksZ2gp KTtpZihiZzw0MClyZXR1cm4gY2goY2goYXAsYXEpLGdoKTtpZihiZzw2MClyZXR1cm4gY2goY2go CmRlKGFwLGFxKSxkZShhcCxnaCkpLGRlKGFxLGdoKSk7cmV0dXJuIGNoKGNoKGFwLGFxKSxnaCl9 OmZ1bmN0aW9uKGJnLGFwLGFxLApnaCl7aWYoYmc8MjApcmV0dXJuKGFwJmFxKV4ofmFwJmdoKTtp ZihiZzw0MClyZXR1cm4gYXBeYXFeZ2g7aWYoYmc8NjApCnJldHVybihhcCZhcSleKGFwJmdoKV4o YXEmZ2gpO3JldHVybiBhcF5hcV5naH0pO3RoaXMuJGRpZ2VzdEJsb2NrPWZ1bmN0aW9uKApnZSl7 dmFyIGJnLGdxLGN5PXRoaXMuSCxnZz10aGlzLlcsYSxlPWdnLmxlbmd0aDtmb3IoYmc9YT0wO2Jn PDE2O2JnKyssYSs9NCkKZ2dbYmddPWdlW2FdPDwyNHxnZVthKzFdPDwxNnxnZVthKzJdPDw4fGdl W2ErM107aWYoY2QpZm9yKDtiZzxlO2JnKyspZ2dbYmddPQpnbSgxLGNoKGNoKGNoKGdnW2JnLTNd LGdnW2JnLThdKSxnZ1tiZy0xNF0pLGdnW2JnLTE2XSkpO2Vsc2UgZm9yKDtiZzxlO2JnKyspCmdn W2JnXT1nbSgxLGdnW2JnLTNdXmdnW2JnLThdXmdnW2JnLTE0XV5nZ1tiZy0xNl0pO3ZhciBnaz1j eVswXSxqPWN5WzFdLGJtPQpjeVsyXSxjYz1jeVszXSxiZT1jeVs0XTtmb3IoYmc9MDtiZzxlO2Jn Kyspe2dxPWdtKDUsZ2spK2VtKGJnLGosYm0sY2MpK2JlK2dqCltiZ10rZ2dbYmddO2JlPWNjO2Nj PWJtO2JtPWdtKDMwLGopO2o9Z2s7Z2s9Z3F9aWYoY2Qpe2N5WzBdPWRlKGN5WzBdK2drLGJ4KTsK Y3lbMV09ZGUoY3lbMV0raixieCk7Y3lbMl09ZGUoY3lbMl0rYm0sYngpO2N5WzNdPWRlKGN5WzNd K2NjLGJ4KTtjeVs0XT1kZShjeQpbNF0rYmUsYngpfWVsc2V7Y3lbMF09KGN5WzBdK2drKSZieDtj eVsxXT0oY3lbMV0raikmYng7Y3lbMl09KGN5WzJdK2JtKSZieDsKY3lbM109KGN5WzNdK2NjKSZi eDtjeVs0XT0oY3lbNF0rYmUpJmJ4fX07dGhpcy5kaWdlc3Q9ZnVuY3Rpb24oYncsYnUsYnQsZG0p ewp2YXIgY2U9dHlwZW9mIGJ3PT1jbCxibSxkYixkZz1idy5sZW5ndGgsZ2U9dGhpcy5NLGdmPXRo aXMuJE1Vc2VkO2lmKCFidSlidT0wCjtlbHNlIGlmKGJ1PDApYnUrPWRnO2lmKCFidClidD1kZztl bHNlIGlmKGJ0PDApYnQrPWRnO2ZvcihkYj1idTtkYjxidDtkYisrKXsKYm09Y2U/YncuY2hhckNv ZGVBdChkYik6YndbZGJdO2lmKCFkbXx8Ym08MTI4KXtnZVtnZisrXT1ibSYyNTV9ZWxzZSBpZihi bTwKMjA0OCl7Z2VbZ2YrK109MTkyfGJtPj4+NjtnZVtnZisrXT0xMjh8Ym0mNjN9ZWxzZXtnZVtn ZisrXT0yMjR8Ym0+Pj4xMjtnZVsKZ2YrK109MTI4fChibT4+PjYpJjYzO2dlW2dmKytdPTEyOHxi bSY2M31pZihnZj49Z2kpe3RoaXMuJGRpZ2VzdEJsb2NrKGdlLDApOwp0aGlzLiRkaWdlc3RlZC5h ZGQoZ2kpO3N3aXRjaChnZi1naSl7Y2FzZSAyOmdlWzFdPWdlW2dpKzFdO2Nhc2UgMTpnZVswXT1n ZVsKZ2ldO2RlZmF1bHQ6Z2YtPWdpfX19dGhpcy4kTVVzZWQ9Z2Y7cmV0dXJuIHRoaXN9O3RoaXMu ZmluYWxpemU9ZnVuY3Rpb24oKXsKdmFyIGdlPXRoaXMuTSxnZj10aGlzLiRNVXNlZCxncz10aGlz LiRkaWdlc3RlZCxnbixnbyxnbDtnbD1uZXcgZ3AoZ3MpLmFkZChnZgopO2dvPW5ldyBncChnbCku YWRkKDkpO2dvLmFkZCg2MykubWFzayh+NjMpO2duPWdvLnN1YlRvSW50KGdsKTtnbC5tdWx0aXBs eSg4Cik7dmFyIGdyPTE7d2hpbGUoLS1nbj49MCl7aWYoZ3Ipe2dlW2dmKytdPTEyODtncj0wfWVs c2UgaWYoZ24+NylnZVtnZisrXT0wOwplbHNlIGdlW2dmKytdPWdsLmdldEJ5dGUoZ24pO2lmKGdm PT1naSl7dGhpcy4kZGlnZXN0QmxvY2soZ2UsMCk7Z2Y9MH19CnJldHVybiBndCh0aGlzLkgpfTt0 aGlzLmxlbmd0aD1mdW5jdGlvbigpe3JldHVybiAyMH07aWYoYXJndW1lbnRzLmxlbmd0aCkKdGhp cy5kaWdlc3QoYncsYnUsYnQsZG0pfXp0PVNIQTE7CickU2VyaWFsOiA0OTU4ICQgJFJldmlzaW9u OiAxLjM1ICQnO3ZhciBpaz0naHR0cDovL1x4NjFwcGxldC5wb3N0eC5jb20vZGlzdCcKLGlsPWVt LGpkPWVtO2Z1bmN0aW9uIGtjKGh0KXtpZihpdClyZXR1cm4gbnVsbDt2YXIgaWM9bnVsbDtpZihp eSl7aWYoa2E8NSYmCmRvY3VtZW50W2h2XS5kb2N1bWVudC5hcHBsZXRzJiZkb2N1bWVudFtodl0u ZG9jdW1lbnQuYXBwbGV0cy5sZW5ndGgpaWM9CmRvY3VtZW50W2h2XS5kb2N1bWVudC5hcHBsZXRz W2h0XX1lbHNlIGlmKGRvY3VtZW50LmFwcGxldHMmJmRvY3VtZW50LmFwcGxldHMKIC5sZW5ndGgp aWM9ZG9jdW1lbnQuYXBwbGV0c1todF07cmV0dXJuIGljfXZhciBocj0KJ1xcVGVtcG9yYXJ5IElu dGVybmV0IEZpbGVzXFwnLGlqPSdcXERvY3VtZW50cyBhbmQgU2V0dGluZ3NcXCcsaWU9Ci9eXC9b QS1aXVs6fF1bXFxcL10vaTtmdW5jdGlvbiBraSgpe3ZhciBoaj1odSxoaz1oai5wYXlsb2FkO2lm KCFoai4KdXNpbmdBcHBsZXQpe2l1KDApO3JldHVybiBiZ31pZihpbCYmIWpkKXtyZXR1cm4gZW19 aWYoaGouZm5zLnByb2dyZXNzKWhqLmZucwogLnByb2dyZXNzKCd0b29scycsaGouYXJnKTtpbD1i Zztoai5pbnN0YWxsQXBwbGV0PTA7aGoucXVlcnk9Jyc7aWYoaGwuCmZvcmNlQXBwbGV0UmVsb2Fk KCl8fGhsLmZvcmNlQXBwbGV0UmVsb2FkQWx3YXlzKCkpcmV0dXJuIGlhKCk7dmFyIGhxPWtkKGhq LgphcHBsZXROYW1lKTtpZihobC5pZ25vcmVBcHBsZXRJbWFnZSgpfHxobC5pZ25vcmVBcHBsZXRJ bWFnZUFsd2F5cygpKWlmKGhxKQpyZXR1cm4gaXAoaHEpO2Vsc2UgcmV0dXJuIGlhKCk7dmFyIGEs ZCxobz1bXTtpZihocSloby5wdXNoKGhxKTtpZihpdCl7dmFyIGlnCj1bJy9MaWJyYXJ5L0FwcGxp Y2F0aW9uIFN1cHBvcnQvUG9zdFgnLAonL3ByaXZhdGUvdG1wLzUwMS9UZW1wb3JhcnlJdGVtcy9Q b3N0WCddLGU9aWcubGVuZ3RoO2ZvcihhPTA7YTxlO2ErKylpZihpZ1thCl0hPWhxKWhvLnB1c2go aWdbYV0pfWVsc2V7ZD1qZyhsb2NhdGlvbi5wYXRobmFtZSk7aWYobG9jYXRpb24ucHJvdG9jb2w9 PQonZmlsZTonJiZpZS50ZXN0KGQpKXt2YXIgaHk9J1Bvc3RYJztkPWQuc3Vic3RyKDEpO2lmKChh PWQuaW5kZXhPZihocikpIT0tMSl7CmQ9ZC5zdWJzdHIoMCxhK2hyLmxlbmd0aCkraHk7aWYoZCE9 aHEpaG8ucHVzaChkKX1lbHNlIGlmKChhPWQuaW5kZXhPZihpaikpIT0KLTEmJihhPWQuaW5kZXhP ZignXFwnLGEraWoubGVuZ3RoKzEpKSE9LTEpe2Q9ZC5zdWJzdHIoMCxhKzEpKwonTG9jYWwgU2V0 dGluZ3MnK2hyK2h5O2lmKGQhPWhxKWhvLnB1c2goZCl9aWYoZC5zdWJzdHIoMCwxKS50b1VwcGVy Q2FzZSgpIT0KJ0MnKXtkPWQuc3Vic3RyKDAsMykrJ1dpbmRvd3MnK2hyK2h5O2lmKGQhPWhxKWhv LnB1c2goZCl9ZD0nQzpcXFdpbmRvd3MnK2hyKwpoeTtpZihkIT1ocSloby5wdXNoKGQpfX1oai5z ZWFyY2hTdGF0ZT17J2xpc3QnOmhvLCdpbmRleCc6LTF9O3JldHVybiBpYigpfQpmdW5jdGlvbiBp Yigpe3ZhciBoaj1odS5zZWFyY2hTdGF0ZSxobz1oai5saXN0O2lmKGhqLnRpbWVvdXQpY2xlYXJU aW1lb3V0KGhqCiAudGltZW91dCk7aWYoKytoai5pbmRleD49aG8ubGVuZ3RoKXtkZWxldGUgaHUu c2VhcmNoU3RhdGU7cmV0dXJuIGlhKCl9dmFyCmhzPWhqLmltYWdlPW5ldyBJbWFnZSgpO2hzLm9u ZXJyb3I9aWI7aHMub25sb2FkPWlwO2hzLnNyYz0nZmlsZTovLycraG9baGouCmluZGV4XSsnLycr aHUuYXBwbGV0TmFtZSsnLmdpZic7aWYoankpaGoudGltZW91dD1zZXRUaW1lb3V0KCJpYigpIiwx MDAwKTsKcmV0dXJuIGJnfWZ1bmN0aW9uIGlwKGhuKXt2YXIgaGo9aHU7aWYoIWhufHx0eXBlb2Yg aG49PWJxKXtpZihqeCYmaGouCnNlYXJjaFN0YXRlLmltYWdlLmhlaWdodDwxKXJldHVybiBpYigp O2huPWhqLnNlYXJjaFN0YXRlLmxpc3RbaGouc2VhcmNoU3RhdGUKIC5pbmRleF19aWYoaGouc2Vh cmNoU3RhdGUmJmhqLnNlYXJjaFN0YXRlLnRpbWVvdXQpY2xlYXJUaW1lb3V0KGhqLgpzZWFyY2hT dGF0ZS50aW1lb3V0KTtpZihoblswXT09Jy8nKWhqLnBhdGg9J2ZpbGU6Ly8nK2huO2Vsc2UgaGou cGF0aD0KJ2ZpbGU6Ly8vJytobjtkZWxldGUgaGouc2VhcmNoU3RhdGU7aWYoaWQmJiFpcyl7dmFy IGh4PWpnKGxvY2F0aW9uLnBhdGhuYW1lKQosamI9bG9jYXRpb24ucHJvdG9jb2w9PSdmaWxlOicm JmllLnRlc3QoaHgpJiZoeC5pbmRleE9mKGhyKT09LTEmJighZG9jdW1lbnQuCmZpcnN0Q2hpbGR8 fCFkb2N1bWVudC5maXJzdENoaWxkLnRleHR8fGRvY3VtZW50LmZpcnN0Q2hpbGQudGV4dC5zdWJz dHIoMCwyNikKIT0nXHgzYyEtLSBzYXZlZCBmcm9tIHVybD0oMDAyMiknKSxpdj1obi5pbmRleE9m KGhyKT09LTE7aWYoIWpiJiZpdil7aWYoIWllLgp0ZXN0KGh4KXx8aHguc3Vic3RyKDEsMykhPWhu LnN1YnN0cigwLDMpKXJldHVybiBpYSgpO3ZhciBqYT1oeC5tYXRjaCgKLyhbXFxcL10rKS9nKS5s ZW5ndGgtMixkPScnO3doaWxlKDA8amEtLSlkKz0nLi5cXCc7aGoucGF0aD0nZmlsZTovLycrZCto bi4Kc3Vic3RyKDMpfX1qZihqbSxobixoai5wYXlsb2FkLmV4cGlyaWVzLnRvb2xzLCcvJyk7cmV0 dXJuIGlvKCl9ZnVuY3Rpb24gaWEoKQp7dmFyIGhqPWh1O2hqLmluc3RhbGxBcHBsZXQ9MTtoai5w YXRoPWlrO2hqLnF1ZXJ5PWp6PycnOic/Jzt2YXIgaHM9bmV3IEltYWdlCigpO2hzLm9uZXJyb3I9 aHMub25sb2FkPWlvO2hzLnNyYz1oai5wYXRoKycvc3BhY2VyLmdpZic7cmV0dXJuIGJnfXZhciBp bT17CidoZWlnaHQnOjF9O2Z1bmN0aW9uIGlvKCl7ZnVuY3Rpb24gaGkoZHosZHksamMpe2lmKGpj KWR5PWl4KGR5KTsKcmV0dXJuJ1x4M2NwYXJhbSBuYW1lPSInK2R6KyciIHZhbHVlPSInK2R5Kyci XHgzZVxuJ312YXIgaGo9aHUsaWk9aGouCmFwcGxldENsYXNzLGh0PWhqLmFwcGxldE5hbWUsaGs9 aGoucGF5bG9hZCxhLGh6LGplPWhsLmlnbm9yZUFwcGxldEltYWdlKCl8fApobC5pZ25vcmVBcHBs ZXRJbWFnZUFsd2F5cygpLGh3PWhsLmFwcGxldERlYnVnTGV2ZWwoKTtpZihodz09MClodz1obC4K YXBwbGV0RGVidWdMZXZlbEFsd2F5cygpO2hsLmZvcmNlQXBwbGV0UmVsb2FkKDApO2hsLmlnbm9y ZUFwcGxldEltYWdlKDApO2hsLgphcHBsZXREZWJ1Z0xldmVsKDApO2hsLnNhdmUoaGsuZXhwaXJp ZXMucHJlZmVyZW5jZXMsJy8nKTt2YXIgaXc9aHQsaGg9WwonXHgzY1x4NjFwcGxldCBuYW1lPSIn K2lpKyciICcrKGhqLnBhdGg/J2NvZGVCYXNlPSInK2hqLnBhdGgrJyIgJzonJykrCidjb2RlPSJj b20ucG9zdHguY2xpZW50LicraWkrJy5jbGFzcyIgJysnYXJjaGl2ZT0iJytpdysnLmphcicraGou cXVlcnkrCiciIG1heXNjcmlwdCddO2lmKGhqLmFyZyYmaGouYXJnLmF0dHJzKWh6PWtnKGhqLmFy Zy5hdHRycyxpbSk7ZWxzZSBoej1pbTtmb3IKKGEgaW4gaHopaGhbaGgubGVuZ3RoXT0nICcrYSsn PScraXgoaHpbYV0pO3ZhciBobT1oai5hY3Rpb247aWYoIWlkJiZobSE9aWgpCmhoW2hoLmxlbmd0 aF09JyBzdHlsZT0idmlzaWJpbGl0eTpoaWRkZW4iJztoaFtoaC5sZW5ndGhdPSdceDNlXG4nO2lm KGhqLnBhdGgKKWhoW2hoLmxlbmd0aF09aGkoJ2NhYkJhc2UnLGh0KycuY2FiJytoai5xdWVyeSkr aGkoJ2NvZGVCYXNlJyxoai5wYXRoLDEpO2hoWwpoaC5sZW5ndGhdPWhpKCdleHBpcmllcy50b29s cycsaGsuZXhwaXJpZXMudG9vbHMpK2hpKCdhcHBsZXQuaW5zdGFsbCcsaGouCmluc3RhbGxBcHBs ZXQpK2hpKCdhcHBsZXQudXBkYXRlJyxqZT8wOjEpK2hpKCdhcHBsZXQubmFtZScsaHQpK2hpKAon YXBwbGV0LnBhdGgnLGlrKTtoaFtoaC5sZW5ndGhdPWhpKCd1YScsa2opK2hpKCdyaWQnLGhrLnJp ZFswXSkraGkoJ21zZ2lkJywKaGsubXNnSUQpK2hpKCdkb2N1bWVudC51cmwnLGxvY2F0aW9uLmhy ZWYpK2hpKCdkb2N1bWVudC5jaGFyc2V0Jyxkb2N1bWVudC4KY2hhcnNldHx8ZG9jdW1lbnQuY2hh cmFjdGVyU2V0fHwnVVRGLTgnKTtoaFtoaC5sZW5ndGhdPWhpKCdhY3Rpb24nLGhtKStoaSgKJ2Zs YWdzJyxoay5mbGFncyk7aWYoIWl5KWhoW2hoLmxlbmd0aF09aGkoJ2llJywnMScpO2lmKGhtPT1q aSloaFtoaC5sZW5ndGhdPQpoaSgnc2F2ZS5uYW1lJyxoay5zYXZlTmFtZSwxKStoaSgnc2F2ZS5k YXRhJyxoay5zYXZlRGF0YSk7ZWxzZXtpZihobT09aWgpe2hoCltoaC5sZW5ndGhdPWhpKCd1cmwn LGhrLnJwYy51cmwpK2hpKCduYScsbmF2aWdhdG9yLmFwcE5hbWUpK2hpKCduYycsCm5hdmlnYXRv ci5hcHBDb2RlTmFtZSkraGkoJ25qJyxuYXZpZ2F0b3IuamF2YUVuYWJsZWQoKT8xOjApK2hpKCdu cCcsCm5hdmlnYXRvci5wbGF0Zm9ybSkraGkoJ251JyxuYXZpZ2F0b3IudXNlckFnZW50KStoaSgn bnYnLG5hdmlnYXRvci4KYXBwVmVyc2lvbik7aWYobmF2aWdhdG9yLmxhbmd1YWdlKWhpKCdubCcs bmF2aWdhdG9yLmxhbmd1YWdlKX12YXIgZSxidztlPWhrLgpzZWdtZW50cy5sZW5ndGg7Zm9yKGE9 MDthPGU7YSsrKWlmKGhrLnNlZ21lbnRzW2FdIT0xKXtoaFtoaC5sZW5ndGhdPWhpKAonc2VnbWVu dC5jb3VudCcsZSk7Zm9yKGE9MDthPGU7YSsrKWhoW2hoLmxlbmd0aF09aGkoJ3NlZ21lbnQuJyth LGhrLnNlZ21lbnRzClthXSk7YnJlYWt9aWYoIWlzfHwhaWQpe2hoW2hoLmxlbmd0aF09aGkoJ2Zu cy5lcnJvcicsZW4oaGouZm5zLmVycm9yKSk7aWYoaGoKIC5mbnMuY29tcGxldGlvbiloaFtoaC5s ZW5ndGhdPWhpKCdmbnMuY29tcGxldGlvbicsZW4oaGouZm5zLmNvbXBsZXRpb24pKTtpZgooaGou Zm5zLnByb2dyZXNzKWhoW2hoLmxlbmd0aF09aGkoJ2Zucy5wcm9ncmVzcycsZW4oaGouZm5zLnBy b2dyZXNzKSk7aWYoaGouCmZucy5maW5hbGl6ZSloaFtoaC5sZW5ndGhdPWhpKCdmbnMuZmluYWxp emUnLGVuKGhqLmZucy5maW5hbGl6ZSkpO2lmKGhqLmZucy4Kc3VjY2VzcyloaFtoaC5sZW5ndGhd PWhpKCdmbnMuc3VjY2VzcycsZW4oaGouZm5zLnN1Y2Nlc3MpKTtpZihobT09aXEmJmhqLmZucwog LnNhdmVkKWhoW2hoLmxlbmd0aF09aGkoJ2Zucy5zYXZlZCcsZW4oaGouZm5zLnNhdmVkKSk7aGhb aGgubGVuZ3RoXT1oaSgKJ2Zucy5zZXRjb29raWUnLCJqZiIpK2hpKCdmbnMubG9hZGVkJywiaXUi KStoaSgnZm5zLmxhdW5jaCcsImtmIil9aWYoaG09PWpqKQpoaFtoaC5sZW5ndGhdPWhpKCdwb3N0 bWFyaycsaGsucG9zdG1hcmspO2Vsc2UgaWYoaG09PWprKWhoW2hoLmxlbmd0aF09aGkoCidzaWdu YXR1cmUnLGhrLnNpZ25hdHVyZVswXSkraGkoJ3NpZ2tleW5hbWUnLGhrLnNpZ2tleW5hbWUpO2Vs c2UgaWYoaG09PWpofHwKaG09PWlxfHxobT09aWgpe2hoW2hoLmxlbmd0aF09aGkoJ3BheWxvYWRu YW1lJyxoay5uYW1lLDEpK2hpKCdzYWx0Jyxoay5zYWx0KQoraGkoJ2tleScsZHMoaGoua2V5LDEp KStoaSgnVE9DRW50cmllcycsaGsudG9jLmxlbmd0aCk7aWYoaGsuaGFyZGVuZXJuYW1lJiYKaGou aGFyZGVuZXIpe2toPTE7aGhbaGgubGVuZ3RoXT1oaSgnaGFyZGVuZXInLGRzKGtiKGhqLmhhcmRl bmVyLGhqLnVzZXJLZXksCmhrLmtleXNpemUsanYpLDEpKStoaSgnZXhwaXJpZXMuaGFyZGVuZXIn LGhrLmV4cGlyaWVzLmhhcmRlbmVyKStoaSgKJ2hhcmRlbmVyLmNvb2tpZScsamwraGsuaGFyZGVu ZXJuYW1lKX1pZihoay5rZXlzaXplKWhoW2hoLmxlbmd0aF09aGkoCidrZXlTaXplJyxoay5rZXlz aXplKTtpZigoYT1oay5hbGduYW1lcy5oYXNoKSE9J1NIQTEnKXtoaFtoaC5sZW5ndGhdPWhpKAon YWxnLm5hbWVzLmhhc2gnLGEpO2lmKChhPWhrLmFsZ3BhcmFtcy5oYXNoKSloaFtoaC5sZW5ndGhd PWhpKAonYWxnLnBhcmFtcy5oYXNoJyxhKX1pZigoYT1oay5hbGduYW1lcy5lbmNyeXB0aW9uLmtl eXMpIT0nQVJDNCcpe2hoW2hoLgpsZW5ndGhdPWhpKCdhbGcubmFtZXMuZW5jcnlwdGlvbi5rZXlz JyxhKTtpZihhPT0nUlNBJyloaFtoaC5sZW5ndGhdPWhpKAona2V5bmFtZScsaGsua2V5bmFtZSk7 aWYoKGE9aGsuYWxncGFyYW1zLmVuY3J5cHRpb24ua2V5cykpaGhbaGgubGVuZ3RoXT1oaSgKJ2Fs Zy5wYXJhbXMuZW5jcnlwdGlvbi5rZXlzJyxhKX1pZigoYT1oay5hbGduYW1lcy5lbmNyeXB0aW9u LmRhdGEpIT0nQVJDNCcpewpoaFtoaC5sZW5ndGhdPWhpKCdhbGcubmFtZXMuZW5jcnlwdGlvbi5k YXRhJyxhKTtpZigoYT1oay5hbGdwYXJhbXMuCmVuY3J5cHRpb24uZGF0YSkpaGhbaGgubGVuZ3Ro XT1oaSgnYWxnLnBhcmFtcy5lbmNyeXB0aW9uLmRhdGEnLGEpfWlmKChhPWhrLgphbGduYW1lcy52 ZXJpZmljYXRpb24ua2V5cykhPSdDUkMzMicpaGhbaGgubGVuZ3RoXT1oaSgKJ2FsZy5uYW1lcy52 ZXJpZmljYXRpb24ua2V5cycsYSk7aWYoKGE9aGsuYWxnbmFtZXMudmVyaWZpY2F0aW9uLmRhdGEp IT0KJ0NSQzMyJyloaFtoaC5sZW5ndGhdPWhpKCdhbGcubmFtZXMudmVyaWZpY2F0aW9uLmRhdGEn LGEpO3ZhciBocDtlPWhrLnRvYy4KbGVuZ3RoO2ZvcihhPTA7YTxlO2ErKyl7aHA9aGsudG9jW2Fd O2hoW2hoLmxlbmd0aF09aGkoJ2ZpbGUuJythLGhwW2pwXSwxKStoaQooJ3R5cGUuJythLGhwW2p1 XSkraGkoJ2h0bWwuJythLGhwW2pyXSwxKStoaSgndGV4dC4nK2EsaHBbanRdLDEpK2hpKCdmbGFn cy4nCithLGhwW2pxXSkraGkoJ29mZnNldC4nK2EsaHBbaXJdWzBdKStoaSgnbGVuZ3RoLicrYSxo cFtpcl1bMV0pK2hpKAonb3JpZ0ZpbGVuYW1lLicrYSxocFtqc10sMSkraGkoJ2VuY29kaW5nLicr YSxocFtqb10sMSl9aWYoaGsuc2Vzc2lvbktleSloaFsKaGgubGVuZ3RoXT1oaSgnc2Vzc2lvbktl eScsZHMoaGsuc2Vzc2lvbktleSwxKSwxKX19aWYoaGsuc2VjdXJlTmFtZSloaFtoaC4KbGVuZ3Ro XT1oaSgnc2VjdXJlTmFtZScsaGsuc2VjdXJlTmFtZSk7aWYoaGsubG9nb3V0VVJMKWhoW2hoLmxl bmd0aF09aGkoCidsb2dvdXRVUkwnLGhrLmxvZ291dFVSTCk7aWYoaGouYXJnKWZvcihhIGluIGhq LmFyZy5wYXJhbXMpaGhbaGgubGVuZ3RoXT1oaSgKYSxoai5hcmcucGFyYW1zW2FdLDEpO2lmKGh3 KWhoW2hoLmxlbmd0aF09aGkoJ2RlYnVnJyxodyk7aGhbaGgubGVuZ3RoXT0KJ1x4M2MvXHg2MXBw bGV0XHgzZSc7aGg9aGguam9pbignJyk7aWYoaHc+MSlpZihhPWRvY3VtZW50LmdldEVsZW1lbnRC eUlkKAonZGVidWdUZXh0YXJlYScpKXtpZihhLnZhbHVlIT0nJylhLnZhbHVlKz0nXG4nO2EudmFs dWUrPWhofWVsc2UgYWxlcnQoCidBcHBsZXQgdGFnOlxuXG4nK2hoKTtpZihkb2N1bWVudC5nZXRF bGVtZW50QnlJZClkb2N1bWVudC5nZXRFbGVtZW50QnlJZChqbikKIC5pbm5lckhUTUw9aGg7ZWxz ZXtkb2N1bWVudFtodl0uZG9jdW1lbnQub3BlbigpO2RvY3VtZW50W2h2XS5kb2N1bWVudC53cml0 ZQooaGgpO2RvY3VtZW50W2h2XS5kb2N1bWVudC5jbG9zZSgpfXJldHVybiBiZ31mdW5jdGlvbiBq dygpe2lmKCFpZHx8aXopCnJldHVybjt2YXIgaGg9J1x4M2NhcHBsZXQgaGVpZ2h0PTEgc3R5bGU9 InBvc2l0aW9uOmFic29sdXRlO2xlZnQ6LTUwMHB4IicrCidceDNlXHgzY3NwYW4gaWQ9ImFwcGxl dFRlc3QiXHgzZSZuYnNwO1x4M2Mvc3Bhblx4M2VceDNjL2FwcGxldFx4M2UnOwpkb2N1bWVudC53 cml0ZShoaCk7aWYoa2UoJ2FwcGxldFRlc3QnKSlpej1iZ30KJyRTZXJpYWw6IDAzMDQgJCAkUmV2 aXNpb246IDEuNiAkJzt2YXIgYWV5PTEsYWZhPTI7UE9MTElOR19FWFBPTkVOVElBTD1hZXk7ClBP TExJTkdfTElORUFSPWFmYTtmdW5jdGlvbiBhZmIoYWZjKXt0aGlzLmJhc2U9MTt0aGlzLmludGVy dmFsPTE7dGhpcy4KdG90YWxEZWxheT0wO3RoaXMubWluPTE7dGhpcy5tYXg9MTt0aGlzLnRvdGFs PTUwMDA7dGhpcy53YWl0PTUwMDA7dGhpcy50aW1lcgo7dGhpcy5pbml0aWFsaXplPWZ1bmN0aW9u KGFldixhZXosYWV3LGFleCl7dmFyIGRkLGNjO3RoaXMubWluPWFldjt0aGlzLm1heD0KYWV6O3Ro aXMudG90YWw9YWV3O3RoaXMud2FpdD1hZXg7dGhpcy5pbnRlcnZhbD1hZXY7ZGQ9YWV3LShhZXgr YWV2KTtjYz1hZXctKAphZXgrYWV6KTtpZihjYyE9MCl0aGlzLmJhc2U9ZGQvY2M7aWYodGhpcy5i YXNlPDEpdGhpcy5iYXNlPTE7aWYodGhpcy4KbWluSW50ZXJ2YWw8MSl0aGlzLm1pbkludGVydmFs PTE7dGhpcy50b3RhbERlbGF5PTB9O3RoaXMucmVzZXQ9ZnVuY3Rpb24oKXsKdGhpcy5pbml0aWFs aXplKHRoaXMubWluLHRoaXMubWF4LHRoaXMudG90YWwsdGhpcy53YWl0KX07dGhpcy5jYW5jZWw9 CmZ1bmN0aW9uKCl7aWYodGhpcy50aW1lcil7Y2xlYXJUaW1lb3V0KHRoaXMudGltZXIpO3RoaXMu dGltZXI9MH10aGlzLgppbnRlcnZhbD0tMn07dGhpcy5nZXROZXh0SW50ZXJ2YWw9ZnVuY3Rpb24o ZHUpe2lmKHRoaXMuaW50ZXJ2YWw8MCkKcmV0dXJuIHRoaXMuaW50ZXJ2YWw7dmFyIGVxPXRoaXMu aW50ZXJ2YWw7dGhpcy50b3RhbERlbGF5PXRoaXMudG90YWxEZWxheStlcQordGhpcy53YWl0O2lm KHRoaXMudG90YWxEZWxheT49dGhpcy50b3RhbCl7dGhpcy5pbnRlcnZhbD0tMX1lbHNle3RoaXMu CmludGVydmFsPXRoaXMuaW50ZXJ2YWwqdGhpcy5iYXNlO2lmKHRoaXMuaW50ZXJ2YWw+dGhpcy5t YXgpdGhpcy5pbnRlcnZhbD0KdGhpcy5tYXh9aWYoZHUpdGhpcy50aW1lcj1zZXRUaW1lb3V0KGR1 LGVxKTtyZXR1cm4gZXF9fXZhciBhZmQ9bmV3IGFmYihhZXkpOwonJFNlcmlhbDogMjE4OSAkICRS ZXZpc2lvbjogMS4yMCAkJztmdW5jdGlvbiBlYShkcSxkcCxkeixkeSl7dmFyIGEsZTtpZigKdHlw ZW9mIGR5IT1icSlkcVtkcCsrXT1kcyhkeikrJz0nK2RzKGR5KTtlbHNlIGlmKChlPWR5Lmxlbmd0 aCkpZm9yKGE9MDthPGU7CmErKylkcD1lYShkcSxkcCxkeixkeVthXSk7ZWxzZXtpZihkeiE9Jycp ZHorPScuJztmb3IoYSBpbiBkeSlkcD1lYShkcSxkcCxkeisKYSxkeVthXSl9cmV0dXJuIGRwfXZh ciBkdD0wLGVjPWVtO2Z1bmN0aW9uIGVqKGR1KXtkdD0wO2lmKGR1KWR1KHsnc3RhdHVzJzplcgp9 KX12YXIgZWI9LTEsZWQ9LTE7ZnVuY3Rpb24gZWYoZHIpe2lmKGVjKXJldHVybjtpZihkdCl7Y2xl YXJUaW1lb3V0KGR0KTtkdD0wCn1pZihkci5yZXFUaW1lJiZkci5yZXFOdW1iZXIpe2ViPW5ldyBE YXRlKCkuZ2V0VGltZSgpLWRyLnJlcVRpbWU7ZWQ9ZHIuCnJlcU51bWJlcn1pZihkci5jYWxsYmFj aylkci5jYWxsYmFjayhkcil9ZnVuY3Rpb24gZWwoZHYsZW8sZWksZWcsZHUsZHIsZWUsZXEKKXt2 YXIgYSxkLGRxPVtdLGRwPTAsZHgsZHcsZXA9ZHImJmRyLm5yO2lmKGRyKWRwPWVhKGRxLGRwLCcn LGRyKTtpZigoZHI9ZHYuCmFyZ3MpKWRwPWVhKGRxLGRwLCcnLGRyKTtkcVtkcCsrXT0ndj0yJztk cVtkcCsrXT0nbT0nK2RzKGVvKTtkcVtkcCsrXT0ncz0nKwpkcyhlaSk7ZHFbZHArK109J2Y9Jyso ZHYuZmxhZ3N8ZWcpO2RxW2RwKytdPSdkPScrZHMobmV3IERhdGUoKS5nZXRUaW1lKCkpO2RxCltk cCsrXT0nYWN0aW9uPW9wZW4nO2lmKGViIT0tMSl7ZHFbZHArK109J3ByZD0nK2ViO2RxW2RwKytd PSdwcm49JytlZDtlYj1lZD0KLTF9ZHFbZHArK109J2o9MSc7ZHFbZHArK109J2pjPScrImVmIjtk eD1bJyJSUENSZWYiOicrInBheWxvYWQucnBjIl07aWYoZHUpCmR4W2R4Lmxlbmd0aF09JyJjYWxs YmFjayI6JytlbihkdSk7aWYoZWUpZHhbZHgubGVuZ3RoXT1lZTtkcVtkcCsrXT0namNhPScrZHMK KGR4LmpvaW4oJyxcbicpKTtpZihlaClkcVtkcCsrXT0nc3JjPScrZWg7ZHFbZHArK109J25hPScr ZHMobmF2aWdhdG9yLgphcHBOYW1lKTtkcVtkcCsrXT0nbmo9JytkcyhuYXZpZ2F0b3IuamF2YUVu YWJsZWQoKT8xOjApO2RxW2RwKytdPSduanM9MSc7aWYoCm5hdmlnYXRvci5sYW5ndWFnZSlkcVtk cCsrXT0nbmw9JytkcyhuYXZpZ2F0b3IubGFuZ3VhZ2UpO2RxW2RwKytdPSducD0nK2RzKApuYXZp Z2F0b3IucGxhdGZvcm0pO2RxW2RwKytdPSdudT0nK2RzKG5hdmlnYXRvci51c2VyQWdlbnQpO2Rx W2RwKytdPSdudj0nK2RzCihuYXZpZ2F0b3IuYXBwVmVyc2lvbik7aWYoZHUpe2VjPWVtO2R0PXNl dFRpbWVvdXQoImVqIisnKCcrZW4oZHUpKycpJywoZXF8fAoxMDAwMCkpfWQ9ZHYudXJsO2lmKGR2 LnNlc3Npb24pZCs9Jztqc2Vzc2lvbmlkPScrZHYuc2Vzc2lvbjtkKz0nPycrZHEuam9pbigKJyYn KTtpZihlcCl7ZHc9bmV3IEltYWdlKCk7ZHcuc3JjPWR9ZWxzZXtkdz1kb2N1bWVudC5jcmVhdGVF bGVtZW50KCdzY3JpcHQnKQo7ZHcudHlwZT0ndGV4dC9qYXZhc2NyaXB0Jztkdy5zcmM9ZDtkb2N1 bWVudC5ib2R5LmFwcGVuZENoaWxkKGR3KX19ZnVuY3Rpb24KZWsoZHYpe2lmKGR0KXtjbGVhclRp bWVvdXQoZHQpO2R0PTB9dmFyIGc9ZG9jdW1lbnQuYm9keS5jaGlsZE5vZGVzW2RvY3VtZW50Lgpi b2R5LmNoaWxkTm9kZXMubGVuZ3RoLTFdO2lmKGcubm9kZU5hbWUmJmcubm9kZU5hbWUudG9Mb3dl ckNhc2UoKT09J3NjcmlwdCcpCmRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQoZyk7ZWM9Ymd9cmE9 Y2FsbFJQQz1lbDthYm9ydFJQQz1lazsKLy8tLT48L3NjcmlwdD4KCjxzY3JpcHQKdHlwZT0idGV4 dC9qYXZhc2NyaXB0IgpsYW5ndWFnZT1qYXZhc2NyaXB0PjwhLS0KZnVuY3Rpb24gYW9rKGhrLHN2 LGFueil7YWZ0KGhrLHsnZXJyb3InOmFuZiwnc3VjY2Vzcyc6YW5mfSx7J2Zvcm0nOnN2LAonc2ln bmF0dXJlJzphbnp9KX1mdW5jdGlvbiBhbmYoc3RhdHVzLGFvaixzcil7aWYoIXNyKXNyPWdVc2Vy QXJnO2lmKHNyKXt2YXIKYmQ9c3Iuc2lnbmF0dXJlO2lmKHN0YXR1cz09YWFnfHxzdGF0dXM9PWFh aCl7dGgoc3IuZm9ybSwwKTtpZihiZClzcShiZCwKJ1x4M2NzcGFuIGNsYXNzPWVycm9yXHgzZUJh ZCAnKyhzdGF0dXM9PWFhZz8ncG9zdG1hcmsnOidzaWduYXR1cmUnKSsKJ1x4M2Mvc3Bhblx4M2Un KX1lbHNlIGlmKGJkKXt2YXIgZD1hb2osYz0tMTtmb3IoYT0wO2E8MzthKyspaWYoKGM9ZC5pbmRl eE9mKAonICcsYysxKSk9PS0xKWJyZWFrO2lmKGMhPS0xKWQ9ZC5zdWJzdHJpbmcoMCxjKSsnPGJy PicrZC5zdWJzdHJpbmcoYysxKTtzcSgKYmQsZCl9fX1mdW5jdGlvbiBhbWooaGssZWksZWcsYWJj LHNyLGFvbSl7dmFyIGQ7aWYoYWJjPT1mZyYmaGsudXNlcktleSl7dHgoCnVzLHNyKTt3eihoay51 c2Vya2V5bmFtZSk7aGsudXNlcktleT0nJzthbGEoaGssYmcpfWVsc2UgaWYoYWJjIT1nYylkPXNz KAonUlBDRXJyb3InLCcnLGFiYyxoay5tc2dJRCk7aWYoZClhbGVydChkKX12YXIgYWNuO2Z1bmN0 aW9uIGFtYShiZSl7aWYoIWJlKWJlCj13aW5kb3cuZXZlbnQ7aWYoYmUpe2lmKGJlLnR5cGU9PSdr ZXlkb3duJyl3aW5kb3cub25rZXlkb3duPScnO2Vsc2UgaWYoYWNuJiYKYmUudHlwZT09J2xvYWQn KXJldHVybjthY249eydjdHJsS2V5JzpiZS5jdHJsS2V5LCdhbHRLZXknOmJlLmFsdEtleSwKJ3No aWZ0S2V5JzpiZS5zaGlmdEtleX19fWZ1bmN0aW9uIGFueSgpe3ZhciBkO2lmKGQ9a2UoCid0b1Nl bGVjdCcpKWQuZGlzYWJsZWQ9MTthbXYoKTt1bygKJ3Bhc3N3b3JkUm93MScpO3VvKCdmb3Jnb3RQ YXNzd29yZFJvdycpO2FsdygpO3RiKCdpbml0TXNnJyxzcygnUlBDV2FpdGluZycpKQp9ZnVuY3Rp b24gYW9pKHN2LHN3LGhrLHdlLGFraCl7aWYoT1NNYWNPUzkmJihoay5mbGFncyZhYmIpJiYhKGhr LgpmbGFncyZhYmopKXt0eCh1cik7cmV0dXJuO313aW5kb3cub25rZXlkb3duPScnO2hrLnJwYz17 J3VybCc6d2V9O2hrLmZvcm0uCmluZGV4PXN2O2hrLmZvcm0uZm9jdXNGaWVsZD1zdztoay5zZWN1 cmVSZXBseUFsZz0nQVJDNCc7aWYoIQpha2gpYWtoPWFjbnx8d2luZG93LmV2ZW50O2lmKGQ9a2Uo J3RpbWVTdGFtcExvY2F0aW9uJykpaWYocGF5bG9hZC5zaWduYXR1cmUpZC5pbm5lckhUTUw9Cidc eDNjc3BhbiBjbGFzcz10aW1lc3RhbXAgaWQ9c2lnbmF0dXJlXHgzZScrJ1x4M2NhIGhyZWY9Imph dmFzY3JpcHQ6JysiYW9rIisKJygnKyJwYXlsb2FkIisnLFwnJytzdisnXCcsXCdzaWduYXR1cmVc JyknKwonIlx4M2VWZXJpZnkgdGhpcyBlbnZlbG9wZVx4M2MvYVx4M2UnKydceDNjL3NwYW5ceDNl JztlbHNlIGQuaW5uZXJIVE1MPQonXHgzY3NwYW4gY2xhc3M9dGltZXN0YW1wXHgzZUphbnVhcnkg MjcsIDIwMTAnKydceDNjYnJceDNlMTA6MTA6NDQgQU0gUFNUXHgzYy9zcGFuXHgzZSc7aWYoCmhr LnNlc3Npb25LZXkpZG9jdW1lbnQuZm9ybXNbc3ZdLnNlc3Npb25rZXkudmFsdWU9YmIuZW5jb2Rl VG9TdHJpbmcoaGsuCnNlc3Npb25LZXkpO2lmKChoay51c2VyS2V5fHxoay5zZXNzaW9uS2V5KSYm KGhrLmZsYWdzJnl5KSYmKCFha2h8fCFha2guCmFsdEtleSkpYWt6KGRvY3VtZW50LmZvcm1zW3N2 XSxoaywnJyxha2gpO2Vsc2UgaWYoaGsudXNlcktleQp8fGhrLnNlc3Npb25LZXl8fGhrLmVuY3J5 cHRlZFNlc3Npb25LZXkpe3RiKCdpbml0TXNnJywnJyk7aWYoaGsuc2VsZWN0ZWRJRCkKYWxuKGhr LnNlbGVjdGVkSUQpO2FsYShoayl9ZWxzZSBhbHUoKTt9ZnVuY3Rpb24gYWt5KGFvYSl7CnZhciBk LGJkLGhrPXBheWxvYWQ7aWYoYWt2JiYoZD1rZSgnYXV0aEZyYW1lJykpKXtpZihkPQp0bCgnaWZy YW1lTG9jYXRpb24nKSlkLmFwcGVuZENoaWxkKGFrdil9YW12KCk7aWYoZD1rZSgnZW1haWxUbycp KXsKaWYoYmQ9a2UoJ3RvU2VsZWN0Jykpe2Frbz1iZDtkLnJlbW92ZUNoaWxkKGFrbyl9aWYoYW9h JiZoay5zZWxlY3RlZElEKXRiKGQsCmhrLnNlbGVjdGVkSUQpO2Vsc2UgdGIoZCwncG9ydHMtY29t bWl0dGVyc0BGcmVlQlNELm9yZywgY3ZzLXBvcnRzQEZyZWVCU0Qub3JnLCBjdnMtYWxsQEZyZWVC U0Qub3JnJyl9dW8oJ2JjY1JvdycpO3VvKCdwYXNzd29yZFJvdzEnKTt1bygKJ2ZvcmdvdFBhc3N3 b3JkUm93Jyk7dGIoJ29wZW5CdXR0b25Mb2NhdGlvbicsJycpO3RiKCdzYXZlQnV0dG9uTG9jYXRp b24nLCcnKQo7YWtrKDApO2lmKGQ9dGIoJ2NoZWNrYm94ZXNMb2NhdGlvbicsJycpKXVvKCdjaGVj a2JveFJvdycsCidhZGRyZXNzU2VudGluZWxSb3cnKX1mdW5jdGlvbiBhbGEoaGssYWxyKXthbWMo aGspO2FtYihoayxhbHIpOwpha3IoYWt1KTtha2soYWxkfGFrbCk7YW1kKCk7CnRxKGhrLmZvcm0u aW5kZXgsaGsuZm9ybS5mb2N1c0ZpZWxkKTtha3Q9ZXZ9dmFyIGFrdT0xLGFscD0yLGFsYz0zLAph bWc9NCxhbWU9NSxhbWY9NjtmdW5jdGlvbiBha3IoYWtxLGhpKXt2YXIgYWxmPWtlKCdidXR0b25D b250YWluZXInKSxjYj1rZSgKJ2J1dHRvblRhYmxlJyksaGs9cGF5bG9hZCxkeixkO2lmKHZnfHwh YWxmKXJldHVybjtpZihjYilhbGYucmVtb3ZlQ2hpbGQoY2IpOwpjYj1kb2N1bWVudC5jcmVhdGVF bGVtZW50KCdkaXYnKTtjYi5zZXRBdHRyaWJ1dGUoJ2lkJywnYnV0dG9uVGFibGUnKTtjYi4KaW5u ZXJIVE1MPSdceDNjdGFibGUgY2VsbHBhZGRpbmc9MCBjZWxsc3BhY2luZz0wIGJvcmRlcj0wICcr CidzdHlsZT0iZmxvYXQ6IHJpZ2h0Ilx4M2VceDNjdHJceDNlXHgzY3RkIGlkPW9wZW5CdXR0b25M b2NhdGlvbicrCidceDNlXHgzYy90ZFx4M2VceDNjdGQgaWQ9YnV0dG9uRGl2aWRlclx4M2VceDNj L3RkXHgzZVx4M2N0ZCAnKwonaWQ9c2F2ZUJ1dHRvbkxvY2F0aW9uXHgzZVx4M2MvdGRceDNlXHgz Yy90clx4M2VceDNjL3RhYmxlXHgzZSc7YWxmLgppbnNlcnRCZWZvcmUoY2IsYWxmLmZpcnN0Q2hp bGQpOwppZihha3E9PWFrdSYmKGhrLmZsYWdzJmFiYikmJihoay5mbGFncwomYWJqKSYmKChoay5m bGFncyZhY2opfHxpeikpe2FrcT1hbGN9ZD1rZSgnb3BlbkJ1dHRvbkxvY2F0aW9uJyk7CnN3aXRj aChha3Epe2Nhc2UgYWt1OmQuaW5uZXJIVE1MPXVkKCdPUEVOJywxLGR6PQonb3BlbkJ1dHRvbics ImFtbihqaCxldmVudCkiKTticmVhaztjYXNlIGFsYzpkLmlubmVySFRNTD11ZCgnT1BFTiBPTkxJ TkUnLDEsCmR6PSdvcGVuQnV0dG9uJywib3Blbk9ubGluZShwYXlsb2FkKSIsJ29vYnRuJyk7aWYo ZD10bCgnb29MaW5rQ2VsbCcpKXtkLgpjbGFzc05hbWU9J3RleHQnO2QuaW5uZXJIVE1MPXNzKCdP cGVuT25saW5lSGludCcpfWJyZWFrOwpjYXNlIGFscDpkLmlubmVySFRNTD11ZCgnU1VCTUlUJyww LGR6PSdzdWJtaXRCdXR0b24nLCJhbW8oKSIpCjticmVhaztjYXNlIGFtZzpkLmlubmVySFRNTD11 ZCgnUkVHSVNURVInLDAsZHo9J3JlZ2lzdGVyQnV0dG9uJywiYW5tIisiKCciKwpoaSsiJykiKTti cmVhaztjYXNlIGFtZTpkLmlubmVySFRNTD11ZCgnUkVGUkVTSCcsMCxkej0ncmVmcmVzaEJ1dHRv bicsCiJhbHUoKSIpO2JyZWFrO2Nhc2UgYW1mOmQuaW5uZXJIVE1MPXVkKCdSRUZSRVNIJywwLGR6 PSdyZWZyZXNoQnV0dG9uJywKImFuZCgpIik7YnJlYWs7fWlmKGR6KXtha3E9ZG9jdW1lbnQuZm9y bXNbMF1bZHpdO2lmKGFrcSYmYWtxLgpmb2N1cyYmdG4pYWtxLmZvY3VzKCl9fWZ1bmN0aW9uIGFt Yyhoayl7dmFyIGQsY2EsZHcsYW1wPVt7J2F0dHJzJzp7CidtYXhsZW5ndGgnOgo0MCwndHlwZSc6 CidwYXNzd29yZCcsCiduYW1lJzona2V5MScsJ3NpemUnOjIwfSwKJ3RpdGxlJzonUGFzc3dvcmQ6 J31dLGEsYyxlPWFtcC5sZW5ndGgsZW07Zm9yKGE9MTthPD1lOwphKyspe3VrKCdwYXNzd29yZFJv dycrYSwnYWRkcmVzc1NlbnRpbmVsUm93Jyk7ZW09CmFtcFthLTFdO2lmKGQ9a2UoJ3Bhc3N3b3Jk VGl0bGUnK2EpKXtkdz1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCdwJyk7dGIoZHcsZW0KIC50aXRs ZSk7dGwoZCk7ZC5hcHBlbmRDaGlsZChkdyl9aWYoZD1rZSgncGFzc3dvcmRFbnRyeScrYSkpe2lm KGE9PTEmJihoay4Kbm9Vc2VyS2V5TmVlZGVkfHxoay51c2VyS2V5fHxoay5zZXNzaW9uS2V5KSl7 Yz0nTm9QYXNzd29yZFJlcXVpcmVkJztkdz0KZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgncCcpO3Ri KGR3LHNzKGMpKTt0bChkKTtkLmFwcGVuZENoaWxkKGR3KTticmVha31jYT1bXQo7Zm9yKGMgaW4g ZW0uYXR0cnMpY2FbY2EubGVuZ3RoXT1jKyc9IicraXgoZW0uYXR0cnNbY10pKyciJztkLmlubmVy SFRNTD0KJ1x4M2NwXHgzZVx4M2NpbnB1dCAnK2NhLmpvaW4oJyAnKSsnXHgzZVx4M2MvcFx4M2Un fX0KaWYoIShoay5ub1VzZXJLZXlOZWVkZWR8fGhrLnVzZXJLZXl8fGhrLnNlc3Npb25LZXkpCil7 dWsoJ2ZvcmdvdFBhc3N3b3JkUm93JywnYWRkcmVzc1NlbnRpbmVsUm93Jyk7aWYoCmQ9a2UoJ2Zv cmdvdFBhc3N3b3JkQ2VsbCcpKWQuaW5uZXJIVE1MPXVmKCdGb3Jnb3QgcGFzc3dvcmQ/JywKJ2h0 dHBzOi8vaWVhMzcwcTAzLnFhLnNici5pcm9ucG9ydC5jb20vd2Vic2FmZS9wc3dkRm9yZ290LmFj dGlvbicsYmcpfX1mdW5jdGlvbiBhbWIoaGssYWxyLGFtbCl7dmFyIGQ7aWYoZD1rZQooJ2NoZWNr Ym94ZXNMb2NhdGlvbicpKXt2YXIgYWtwPVtdOwoKCmlmKCFoay4Kc2Vzc2lvbktleSYmIWhrLnVz ZXJLZXkmJmhrLmNvb2tpZXNFbmFibGVkJiYoIWhrLm5vVXNlcktleU5lZWRlZHx8YW1sKSlha3Bb CmFrcC5sZW5ndGhdPXVlKCdyZW1lbWJlck1lJywnJyxhbWwsJ1JlbWVtYmVyIG1lIG9uIHRoaXMg Y29tcHV0ZXIuJyk7CnVrKCdjaGVja2JveFJvdycsCidhZGRyZXNzU2VudGluZWxSb3cnKTtkLmlu bmVySFRNTD0nXHgzY3RhYmxlXHgzZScrYWtwLmpvaW4oJycpKwonXHgzYy90YWJsZVx4M2UnO2Fs byhkb2N1bWVudC5mb3Jtc1toay5mb3JtLmluZGV4XSxhbmcpO319dmFyIGFsZD0KMTt2YXIgYWts PTI7dmFyIGFscT00OwpmdW5jdGlvbiBha2soYWt3KXt2YXIgZCxoaz1wYXlsb2FkO2lmKCEoZD10 YigKJ29vTGlua0NlbGwnLCcmbmJzcDsnKSkpcmV0dXJuO2lmKCF2ZyYmKGFrdyZhbGQpKXtpZigo aGsuZmxhZ3MmYWJqKSYmKCEoaGsuCmZsYWdzJmFiYil8fCEoaGsuZmxhZ3MmYWNqKSkmJiFoay51 c2VyS2V5KXtkLmNsYXNzTmFtZT0nb290ZXh0JztkLmlubmVySFRNTD0Kc3MoJ09wZW5PbmxpbmVU aXAnLCcnLHVmKCdPcGVuIE9ubGluZScsJ2phdmFzY3JpcHQ6JysiYW9mKCkiLDAsJycpKX19Cmlm KCEoZD10YignbGlua0NlbGwnLCcmbmJzcDsnKSkpcmV0dXJuO2lmKCF2ZyYmKGFrdwomYWtsKSl7 ZC5pbm5lckhUTUw9dWYoc3MoJ0RpZmZlcmVudEFkZHJlc3NMaW5rJyksJ2phdmFzY3JpcHQ6JysK Indyb25nQWRkcmVzcyIrJygpOycsMCwnJyl9aWYoIXZnJiYoYWt3JmFscSkpe2QuCmlubmVySFRN TD11ZihzcygnTm90TGlzdGVkTGluaycpLCdqYXZhc2NyaXB0OicrImFtayIrJygxKTsnLDAsJycp fQp9ZnVuY3Rpb24gYWx3KCl7dmFyIGQ9a2UoJ2JvcmRlclRhYmxlJyksYmc9a2UoJ2JvcmRlckNv bnRhaW5lcicpLApnO2lmKGQmJmJnKXtnPXVoKGQpKzQ7aWYoZzwyOTApZz0yOTA7Ymcud2lkdGg9 ZztkLndpZHRoPScxMDAlJ31kPWtlKAonYm9yZGVyQ29udGFpbmVyJyk7Ymc9a2UoJ2NlbnRlclRh YmxlJyk7bWk9a2UoJ291dGVyVGFibGUnKTtpZihkJiZiZyYmbWkpe2c9CnVoKGQpO2lmKGc+Mzg1 KXtiZy53aWR0aD0zMTUrZztkLndpZHRoPWc7bWkud2lkdGg9MzY1K2d9fWlmKHZkJiYoZD1rZSgK J291dGVyUG9zdG1hcmsnKSkpZC5jbGFzc05hbWU9J0lFNVBvc3RtYXJrJ31mdW5jdGlvbiBhbXEo KXt2YXIgZD1rZSgKJ2hlaWdodENvbnRyb2wnKTtpZihkJiZ1ZyhkKT4yMTApZC5oZWlnaHQ9dWco ZCl9ZnVuY3Rpb24gYW1rKAphb2Ipe3ZhciBoaz1wYXlsb2FkLGQsYWxlLGFsZT1rZSgnYmNjUm93 Jyk7aWYoZD1rZSgndG9TZWxlY3QnKSlkLgpzZWxlY3RlZEluZGV4PWQubGVuZ3RoLTE7dWsoJ2Jj Y1JvdycsJ3N1YmplY3RSb3cnKTtpZihhbGU9a2UoJ2JjY1JvdycpKXthbGUuCmNlbGxzWzBdLmlu bmVySFRNTD0nXHgzY3BceDNlWW91ciBhZGRyZXNzOlx4M2MvcFx4M2UnO2FsZS5jZWxsc1sxXS5p bm5lckhUTUwKPSdceDNjcFx4M2VceDNjaW5wdXQgdHlwZT10ZXh0ICcrJ25hbWU9ImJjYyIgc2l6 ZT0yMFx4M2VceDNjL3BceDNlJ310cShoay4KZm9ybS5pbmRleCwnYmNjJyk7aWYoYW9iKXVtKCdo dHRwczovL2llYTM3MHEwMy5xYS5zYnIuaXJvbnBvcnQuY29tL3dlYnNhZmUvaGVscD90b3BpYz1B ZGRyTm90U2hvd24nLCdfYmxhbmsnLAondG9vbGJhcj1ubywgbG9jYXRpb249bm8sIGRpcmVjdG9y aWVzPW5vLCBzdGF0dXM9bm8sJysKJyBtZW51YmFyPW5vLCBzY3JvbGxiYXJzPXllcywgcmVzaXph YmxlPXllcywnKycgd2lkdGg9NzY0LCBoZWlnaHQ9NTQwJyk7Cn12YXIgYWtvO2Z1bmN0aW9uIHdy b25nQWRkcmVzcygpe3ZhciBkLApoaz1wYXlsb2FkLHN2PWRvY3VtZW50LmZvcm1zW2hrLmZvcm0u aW5kZXhdO2FreShiZyk7aWYoYWtvKXtpZihkPWtlKAonZW1haWxUbycpKXtha28uc2VsZWN0ZWRJ bmRleD0wO2QucmVwbGFjZUNoaWxkKGFrbyxkLmNoaWxkTm9kZXNbMF0pfWFrby4KZGlzYWJsZWQ9 ZW19aWYoc3YuYmNjKXN2LmJjYy52YWx1ZT0nJztoay5ub1VzZXJLZXlOZWVkZWQ9Jyc7YWt0PWV5 O2Frbj0wO3RiKAonaGlkZGVuUmVjaXBpZW50JywnJyk7YWtyKGFscCk7YWtrKGFscSk7aWYoaGsp aGsuc2VsZWN0ZWRJRD0nJzt0YigncGFzc01zZycsCicmbmJzcDsnKTt0YignbGFzdExvZ2luTG9j YXRpb24nLCcmbmJzcDsnKTt0cShoay5mb3JtLmluZGV4LCd0b1NlbGVjdCcpfQpmdW5jdGlvbiBh b2UoKXt2YXIgZDtpZihkPWtlKCd0b1NlbGVjdCcpKWlmKGQuCnNlbGVjdGVkSW5kZXg9PWQubGVu Z3RoLTEpYW1rKCl9ZnVuY3Rpb24gYWxuKHdxLAphbmEpe3ZhciBkLGJkLGhrO2lmKGQ9a2UoJ2hp ZGRlblJlY2lwaWVudCcpKXtkLmlubmVySFRNTD0KJ1x4M2NpbnB1dCB0eXBlPWhpZGRlbiAnKydu YW1lPXJlY2lwaWVudCAnKyd2YWx1ZT0iJyt3cSsnIlx4M2UnfWhrPXBheWxvYWQ7CmhrLnNlbGVj dGVkSUQ9d3E7aWYoZD1rZSgnZW1haWxUbycpKXtpZihiZD1rZSgndG9TZWxlY3QnKSl7YWtvPWJk O2lmKCFhbmEpCmFrby52YWx1ZT13cTtkLnJlbW92ZUNoaWxkKGFrbyl9aWYoIWFuYSl7dGIoZCx3 cSk7YWx3KCl9fX0KZnVuY3Rpb24gYW9uKGFtbSl7aWYoYW1tKXRiKCdsYXN0TG9naW5Mb2NhdGlv bicsCidMYXN0IGxvZ2luOiAnK2FtbSk7ZWxzZSB0bCgnbGFzdExvZ2luTG9jYXRpb24nKX0KZnVu Y3Rpb24gYW9nKAphbmope3ZhciBkO2lmKGFuaiYmKGQ9a2UoJ3NlbmRlckF1dGhMb2NhdGlvbicp KSl7dGIoZC5jZWxsc1swXSwKJ0F1dGhlbnRpY2F0aW9uOicpO3RiKGQuY2VsbHNbMV0sJ1NlbmRl cicpfX0KZnVuY3Rpb24gYW9oKAphb2Qpe3ZhciBkO2lmKGQ9a2UoJ3NlbnNpdGl2aXR5TG9jYXRp b24nKSl7dGIoZC5jZWxsc1swXSwnTWVzc2FnZSBTZWN1cml0eTonCik7dGIoZC5jZWxsc1sxXSxh b2QpfX0KZnVuY3Rpb24gYW12KCl7dmFyIGQ7aWYoZD1rZSgncGFzc3BocmFzZUxhYmVsUm93Jykp ZC4KY2xhc3NOYW1lPScnO2lmKGQ9dGIoJ3Bhc3NwaHJhc2VMYWJlbCcsJycpKWQuY2xhc3NOYW1l PScnO2lmKGQ9dGIoCidwYXNzcGhyYXNlVGV4dCcsJycpKWQuY2xhc3NOYW1lPScnO2lmKGQ9dGIo J3Bhc3NwaHJhc2VJbmZvJywnJykpZC5jbGFzc05hbWUKPScnfWZ1bmN0aW9uIGFtZCgpe3ZhciBk LGJnO2JnPWtlKCdwYXNzcGhyYXNlVGFibGUnKTtkPWtlKCdwYXNzcGhyYXNlQ2VsbEpTJwopO2lm KGQmJmJnKXtkLmNsYXNzTmFtZT0ncGFzc3BocmFzZVRWZXInO2QucGFyZW50Tm9kZS5jbGFzc05h bWU9CidwYXNzcGhyYXNlVEhvcic7ZC5hcHBlbmRDaGlsZChiZyl9aWYoZD1rZSgncGFzc3BocmFz ZUxhYmVsUm93JykpZC5jbGFzc05hbWUKPSdwYXNzcGhyYXNlTGFiZWxSb3cnO2lmKGQ9dGIoJ3Bh c3NwaHJhc2VMYWJlbCcsJ1BlcnNvbmFsIFNlY3VyaXR5IFBocmFzZScpKQpkLmNsYXNzTmFtZT0n cGFzc3BocmFzZUxhYmVsJztpZihkPWtlKCdwYXNzcGhyYXNlVGV4dCcpKXtkLmNsYXNzTmFtZT0K J3Bhc3NwaHJhc2VUZXh0JztkLmlubmVySFRNTD1zcygnUGFzc3BocmFzZVRleHQnKX1pZihkPWtl KCdwYXNzcGhyYXNlSW5mbycpKQp7ZC5jbGFzc05hbWU9J3Bhc3NwaHJhc2VJbmZvJztkLmlubmVy SFRNTD11ZignTW9yZSBpbmZvJywKJ2h0dHBzOi8vaWVhMzcwcTAzLnFhLnNici5pcm9ucG9ydC5j b20vd2Vic2FmZS9oZWxwP3RvcGljPVBQTm90U2hvd24nLGJnKX19CnZhciBha3Y9JycsYW13PWVt O2Z1bmN0aW9uIGFueCgpe2lmKGFtdylyZXR1cm47dmFyIGQsZHcsb2wsaGsKPXBheWxvYWQsc3Y9 ZG9jdW1lbnQuZm9ybXNbMV07ZHc9a2UoJ2lmcmFtZUxvY2F0aW9uJyk7YWt2PWtlKCdpZnJhbWVU YWJsZScpOwpvbD11ZyhrZSgnaGVpZ2h0Q29udHJvbCcpKTtpZihvbDwyMTApb2w9MjEwO3N2Lmhl aWdodC52YWx1ZT11Zyhha3YpO3N2LgpoY19oZWlnaHQudmFsdWU9b2w7c3Yua3NraC52YWx1ZT1o ay5hbGduYW1lcy5rZXlTZXJ2ZXJLZXlIYXNoO3N2Lm0udmFsdWU9aGsuCm1zZ0lEO2lmKChoay5m bGFncyZhYmIpJiYoaGsuZmxhZ3MmYWJqKSYmKChoay4KZmxhZ3MmYWNqKXx8aXopKXtzdi5mb28u dmFsdWU9JzEnfXN2LnNpZC52YWx1ZT1oay5ycGMuc2Vzc2lvbnx8Jyc7aWYoaGsucnBjLgp0cmFm ZmljS2V5KXN2LnRrLnZhbHVlPWJiLmVuY29kZVRvU3RyaW5nKGhrLnJwYy50cmFmZmljS2V5KTth bXc9Ymd9ZnVuY3Rpb24KYW5kKCl7dmFyIGQsZHcsb2wsaGs9cGF5bG9hZCxkcT1bXSxkcD0wLHN2 PWRvY3VtZW50LmZvcm1zWzFdLGFtcztkdz1rZSgKJ2lmcmFtZUxvY2F0aW9uJyk7YW54KCk7c3Yu c3UudmFsdWU9aGsuc2VsZWN0ZWRJRDtzdi53aWR0aC52YWx1ZT11aChrZSgKJ2JvcmRlckNvbnRh aW5lcicpKTtzdi5jdF93aWR0aC52YWx1ZT11aChrZSgnY2VudGVyVGFibGUnKSk7b2w9dWcoZHcp Kyh2Zj8zOgoxKTtkdy5yZW1vdmVDaGlsZChha3YpO2lmKHZmJiYoZD1rZSgnaGlkZGVuQXJlYScp KSlkLmFwcGVuZENoaWxkKGFrdik7aWYoc3YuCmFjdGlvbi5pbmRleE9mKCdhdXRoZW50aWNhdGUu YWN0aW9uJyk+MCl7aWYocGFyc2VJbnQoc3Yud2lkdGgudmFsdWUpPDM2NSlzdi4Kd2lkdGgudmFs dWU9JzM2NSc7b2wrPTEwfWR3LmlubmVySFRNTD0KJ1x4M2NpZnJhbWUgaWQ9YXV0aEZyYW1lIG5h bWU9ImF1dGhGcmFtZSIgZnJhbWVib3JkZXI9MCAnKwonc2Nyb2xsaW5nPW5vIGhlaWdodD0nK29s Kyh2Zj8nIHNyYz0ib3BlcmE6YmxhbmsiICc6JyAnKSsKJ3dpZHRoPSIxMDAlIlx4M2VceDNjL2lm cmFtZVx4M2UnO2Ftcz10bjtzdi5zdWJtaXQoKTt0bj1hbXM7aWYodG4pc2V0VGltZW91dAooImFu cSgpIiwyNTApO2FmZC5yZXNldCgpO3ZhciBlcT0yNTAwO2lmKGFrbj4wKWVxKz01MDAwO3NldFRp bWVvdXQoImFscygpIiwKZXEpfWZ1bmN0aW9uIGFucSgpe3ZhciBkdz1rZSgnYXV0aEZyYW1lJyk7 aWYoZHcmJmR3LmNvbnRlbnRXaW5kb3cmJmR3Lgpjb250ZW50V2luZG93LmZvY3VzKWR3LmNvbnRl bnRXaW5kb3cuZm9jdXMoKX12YXIgYWt0PWV2CjtmdW5jdGlvbiBhbm4oc3YsaGspe3RxKGhrLmZv cm0uaW5kZXgsaGsuZm9ybS5mb2N1c0ZpZWxkKTtzd2l0Y2goYWt0KXtjYXNlCmV2OmFreihzdixo ayxmb3JtS2V5KHN2LmtleVNlcGFyYXRvci52YWx1ZSxzdi5rZXlDYXNlSW5zZW5zaXRpdmUudmFs dWU9PScxJywKc3YpKTticmVhaztjYXNlIGZjOmFsdSgpO2JyZWFrO2Nhc2UgZXk6YW1vKCk7YnJl YWt9cmV0dXJuIGVtfWZ1bmN0aW9uIGFucihzdgosYWtoKXtpZighYWtoKWFraD13aW5kb3cuZXZl bnQ7aWYoYWtoLmtleUNvZGU9PTEzKWlmKHN2Lm9uc3VibWl0KXN2Lm9uc3VibWl0CigpO2Vsc2Ug c3Yuc3VibWl0KCk7cmV0dXJuIGVtfXZhciBha249MDtmdW5jdGlvbiBhbHUoKXt2YXIgaGsKPXBh eWxvYWQsZHI9Jycsc3Y9ZG9jdW1lbnQuZm9ybXNbaGsuZm9ybS5pbmRleF07aWYoc3YucmVjaXBp ZW50JiZzdi4KcmVjaXBpZW50LnZhbHVlIT0nbnVsbCcpZHI9eydzdSc6c3YucmVjaXBpZW50LnZh bHVlfTtlbChoay5ycGMsaGsubXNnSUQsZmMsMAosYW53LGRyLCcnLDMwMDAwKX1mdW5jdGlvbiBh bW8oKXt2YXIgaGs9cGF5bG9hZCxzdgo9ZG9jdW1lbnQuZm9ybXNbaGsuZm9ybS5pbmRleF0sd3E9 Jyc7dGgoaGsuZm9ybS5pbmRleCwwKTtpZihoay5zZWxlY3RlZElEKXdxCj1oay5zZWxlY3RlZElE O2lmKCF3cSYmc3YucmVjaXBpZW50KXt3cT1zdi5yZWNpcGllbnQudmFsdWU7aWYod3E9PSdudWxs J3x8d3EKPT0nX3RvJ3x8d3E9PSdfY2MnfHx3cT09J19iY2MnKXdxPScnfWlmKCF3cSYmc3YuYmNj KXt3cT1zdi5iY2MudmFsdWV9aWYod3EpCmhrLnNlbGVjdGVkSUQ9d3E7ZWxzZXtpZihzdi5iY2Mp YWxlcnQoc3MoJ19Ob1VzZXJFbnRlcmVkJykpO2Vsc2UgYWxlcnQoc3MoCidfTm9Vc2VyU2VsZWN0 ZWQnKSk7dGgoaGsuZm9ybS5pbmRleCwxKTtyZXR1cm4gZW19CmlmKHN2LnJlbWVtYmVyTWUpaWYo c3YucmVtZW1iZXJNZS5jaGVja2VkKWhrLmZsYWdzfD1hY2k7ZWxzZXtoay4KZmxhZ3MmPX5hY2l9 dmFyIGVvPWhrLmhhcmRlbmVybmFtZT9oay5oYXJkZW5lcm5hbWUraGsucmlkWzBdOmhrLm1zZ0lE O3RiKAonaW5pdE1zZycsc3MoJ1JQQ1dhaXRpbmcnKSk7ZWwoaGsucnBjLGVvLGV5LDAsYW52LHsn c3UnOmhrLnNlbGVjdGVkSUR9KX0KZnVuY3Rpb24gYW5tKGFvYyl7dmFyIGQ7dGIoJ3Bhc3NNc2cn LCcnKTtkPXVtKGFvYywKJ19ibGFuaycsJ3Rvb2xiYXI9eWVzLCBtZW51YmFyPXllcywgc2Nyb2xs YmFycz15ZXMsIHJlc2l6YWJsZT15ZXMsICcrCidsb2NhdGlvbj15ZXMsIHN0YXR1cz15ZXMnKTt0 cihlbSk7YWx5KHsncmVjaXBpZW50SWRlbnRpZmllZCc6ZW19KTtpZihkJiZkLgpmb2N1cylkLmZv Y3VzKCl9ZnVuY3Rpb24gYWxzKCl7dmFyIGhrPXBheWxvYWQsZW89CmhrLmhhcmRlbmVybmFtZT9o ay5oYXJkZW5lcm5hbWUraGsucmlkWzBdOmhrLm1zZ0lELHdvPSgoaGsuZmxhZ3MmemYpfHwoaGsu CmZsYWdzJmFhZCk/JzEnOicwJyk7ZWwoaGsucnBjLGVvLGV3LDAsYW51LHsnc3UnOmhrLnNlbGVj dGVkSUQsJ2NrJzp3b30sJycsCmFmZC53YWl0KzE1MDAwKTtzZWxmLnN0YXR1cz0nRG9uZSd9ZnVu Y3Rpb24gYW1yKAphbHYpe3ZhciBha3g9YWx2LGEsZDtkPWRvY3VtZW50LmZvcm1zW3BheWxvYWQu Zm9ybS5pbmRleF1bJ3JlZ2lzdGVyVVJMJ107aWYoCmQmJmQudmFsdWUpe3ZhciBhPWFsdi5pbmRl eE9mKCc/Jyk7YWt4PWQudmFsdWU7aWYoYSE9LTEpYWt4Kz1hbHYuc3Vic3RyaW5nKGEKKX1yZXR1 cm4gYWt4fWZ1bmN0aW9uIGFsaShkcil7dmFyIHN1LGQsaGs9cGF5bG9hZCxha3g9YW1yKGRyLmVu cm9sbExpbmspOwpha24rKztzdT1zcygnUlBDTm90UmVnaXN0ZXJlZCcsJycsYWt4KTtha3IoYW1n LGFreCk7YWtrKGFrbCk7YWt0PWV5OwpyZXR1cm4gc3V9ZnVuY3Rpb24gYWxoKGRyKXt2YXIgc3Us ZCxoaz1wYXlsb2FkO2FrbisrO3N1PXNzKCdSUENOb3RBY3RpdmF0ZWQnCiwnJyxhbXIoZHIuZW5y b2xsTGluaykpO3RiKCdvcGVuQnV0dG9uTG9jYXRpb24nLCcnKTtha2soYWtsKTtha3Q9ZXk7CnJl dHVybiBzdX1mdW5jdGlvbiBhbG0oZHIpe2Frayhha2wpO3JldHVybiBzcygKJ1JQQ0xvY2tlZCcp Kyhkci5zdGF0dXNNc2c/J1xuXG5Mb2NrZWQgbWVzc2FnZTogJytkci5zdGF0dXNNc2c6JycpfQpm dW5jdGlvbiBhbGcoZHIpe2Frayhha2wpO3JldHVybiBzcygnUlBDRXhwaXJlZCcpfQpmdW5jdGlv biBhbGsoZHIpe2Frayhha2wpO2lmKGRyLnN0YXR1cz09ZnopYWxlcnQoCnNzKCdSUENTdXNwZW5k ZWQnLCcnLGRyLnJlY2lwaWVudCkpO2Vsc2UgaWYoZHIuc3RhdHVzPT1meSlhbGVydChzcygKJ1JQ Q05vdFNlbnRFbnZlbG9wZScsJycsZHIucmVjaXBpZW50KSk7ZWxzZSBpZihkci5zdGF0dXM9PWZ2 KWFsZXJ0KHNzKAonUlBDVXNlckxvY2tlZCcsJycsZHIucmVjaXBpZW50KSk7cmV0dXJuIHNzKCdS UENSZWNpcGllbnRFcnJvcicpfQpmdW5jdGlvbiBhbGooZHIpe3ZhciBkdztha2soYWtsKTthbGVy dChzcygnUlBDQmxvY2tlZCcsJycsZHIuCnJlY2lwaWVudCkpO2lmKGR3PWtlKCdwYXNzTXNnJykp ZHcuaW5uZXJIVE1MPXNzKAonUlBDQmxvY2tlZFRleHQnKSt1ZignRm9yZ290IHBhc3N3b3JkPycs J2h0dHBzOi8vaWVhMzcwcTAzLnFhLnNici5pcm9ucG9ydC5jb20vd2Vic2FmZS9wc3dkRm9yZ290 LmFjdGlvbicsYmcpO30KZnVuY3Rpb24gYW5zKGFseil7dmFyIGFrcz1hbHosYSxkO2Q9ZG9jdW1l bnQuZm9ybXNbcGF5bG9hZC5mb3JtLmluZGV4XVsKJ3Bzd2RFeHBpcmVkVVJMJ107aWYoZCYmZC52 YWx1ZSl7dmFyIGE9YWx6LmluZGV4T2YoJz8nKTtha3M9ZC52YWx1ZTtpZihhIT0tMQope2lmKGFr cy5pbmRleE9mKCc/JykhPS0xKWFrcys9JyYnO2Vsc2UgYWtzKz0nPyc7YWtzKz1hbHouc3Vic3Ry aW5nKGErMSl9fQpyZXR1cm4gYWtzfWZ1bmN0aW9uIGFtdShkcil7dmFyIGR3LGFrcz1hbnMoZHIu cHN3ZEV4cExpbmspO2Frayhha2wpO2lmKGR3PWtlCigncGFzc01zZycpKWR3LmlubmVySFRNTD1z cygnUlBDUGFzc3dvcmRFeHBpcmVkJykrdWYoJ0NoYW5nZSBwYXNzd29yZCcsYWtzLApiZyl9ZnVu Y3Rpb24gYW10KGRyKXt2YXIgaGs9cGF5bG9hZCxha3c9YWxkO2lmKGRyLgpyZWNpcGllbnQpe2lm KCFkci5yZWNpcGllbnRJZGVudGlmaWVkKWRyLmF1dG9PcGVuPWJnO2Frd3w9YWtsfWVsc2V7ZHIu CmF1dG9PcGVuPWJnO2FsbigndW5kZWZpbmVkJyk7dGIoJ2VtYWlsVG8nLCdwb3J0cy1jb21taXR0 ZXJzQEZyZWVCU0Qub3JnLCBjdnMtcG9ydHNARnJlZUJTRC5vcmcsIGN2cy1hbGxARnJlZUJTRC5v cmcnKX1oay5ub1VzZXJLZXlOZWVkZWQ9Ymc7CmFrayhha3cpO2FtYyhoayk7YW1kKCk7YW1iKGhr LDAsZHIuCnJlY2lwaWVudElkZW50aWZpZWQpO2Frcihha3UpO3RxKGhrLmZvcm0uaW5kZXgsaGsu Zm9ybS5mb2N1c0ZpZWxkKTthbXEoKTtha3QKPWV2fWZ1bmN0aW9uIGFseShkcil7dmFyIGhrPXBh eWxvYWQ7YWtrKGFsZHxha2wpOwphbWMoaGspO2FtZCgpO2FtYihoaywwLGRyLnJlY2lwaWVudElk ZW50aWZpZWQKKTtha3IoYWt1KTt0cShoay5mb3JtLmluZGV4LGhrLmZvcm0uZm9jdXNGaWVsZCk7 YWt0PWV2O2FtcSgpOwphbmQoKTt9ZnVuY3Rpb24gYW50Cihkcil7dmFyIGQsaGs9cGF5bG9hZDtp Zihha28pe3RiKCdoaWRkZW5SZWNpcGllbnQnLCcnKTtpZihkPWtlKCdlbWFpbFRvJykpewpha28u c2VsZWN0ZWRJbmRleD0wO2QucmVwbGFjZUNoaWxkKGFrbyxkLmNoaWxkTm9kZXNbMF0pfX1ha3Io YWxwKTtha2soYWxxKTsKdHEoaGsuZm9ybS5pbmRleCwndG9TZWxlY3QnKTtha3Q9ZXl9ZnVuY3Rp b24gYWxiKApkcil7dmFyIGQ7YWt5KGVtKTtpZihkci5zdGF0dXM9PWZyKXtha3IoYW1mKTt0YigK J3Bhc3NNc2cnLHNzKCdSUENQb2xsVGltZW91dCcpKX1lbHNle2lmKGRyLnN0YXR1cz09ZXJ8fGRy LnN0YXR1cz09CmdhKXtha3IoYW1lKTt0YigncGFzc01zZycsc3MoJ0ZhdGFsRXJyb3JSZXRyeScp KTthbGVydChzcygoZHIuc3RhdHVzPT1lcj8KJ1JQQ05vU2VydmVyJzonUlBDRXJyb3InKSkpfWVs c2V7dGIoJ3Bhc3NNc2cnLHNzKCdGYXRhbEVycm9yJykpO2lmKGRyLnN0YXR1cwo+MjcmJmRyLm1l c3NhZ2UpYWxlcnQoZHIubWVzc2FnZSsnXG5cblN0YXR1czogJytkci5zdGF0dXMpO2Vsc2UgYWxl cnQoc3MoCidSUENFcnJvcicsJycsZHIuc3RhdHVzKSl9fX1mdW5jdGlvbiBhbncoZHIpe3ZhciBk Cix1aSx0aixkdyxha2gsaGs9cGF5bG9hZCxzdj1oay5mb3JtLmluZGV4fHwwO3RiKCdpbml0TXNn JywnJyk7dGIoJ3Bhc3NNc2cnLAonJyk7aWYoZHIudHJhZmZpY0tleSlkci5SUENSZWYudHJhZmZp Y0tleT1kci50cmFmZmljS2V5O2lmKGRyLnNlc3Npb25JZClkci4KUlBDUmVmLnNlc3Npb249ZHIu c2Vzc2lvbklkO2FmZC5pbml0aWFsaXplKGRyLm1pblBvbGwsZHIubWF4UG9sbCxkci4KdG90YWxQ b2xsLGRyLndhaXRUaW1lKTtoay5jb29raWVzRW5hYmxlZD1kci5jb29raWVzRW5hYmxlZDtpZihk ci5zZW5kZXJBdXRoKQpoay5zZW5kZXJBdXRoPWRyLnNlbmRlckF1dGg7YW9nKGRyLnNlbmRlckF1 dGgpOwphb2goZHIuc2Vuc2l0aXZpdHkpO2lmKGQ9a2UoCid0b1NlbGVjdCcpKWQuZGlzYWJsZWQ9 MDtpZihkci5yZWNpcGllbnQpYWxuKGRyLnJlY2lwaWVudCk7c3dpdGNoKGRyLnN0YXR1cykKe2Nh c2UgZ2M6Y2FzZSBmeDphbnQoZHIpO3JldHVybjtjYXNlIGZtOmNhc2UgZnc6dWk9KGRyLnN0YXR1 cz09Zm0/YWxpKGRyKToKYWxoKGRyKSk7aWYoYWtuPjEpe3RiKCdwYXNzTXNnJyx1aSxiZyk7dWk9 Jyd9aWYoYWtuPjMpe2FsZXJ0KHNzKAonUlBDVG9vTWFueVJldHJpZXMnKSl9YnJlYWs7Y2FzZSBm ejpjYXNlIGZ2OmNhc2UgZnk6dWk9YWxrKGRyKTticmVhaztjYXNlIGZzCjphbGooZHIpO2JyZWFr O2Nhc2UgZnU6YW10KGRyKTtpZighYWtoKWFraD1hY258fHdpbmRvdy5ldmVudDtpZihkci5hdXRv T3BlbgomJighYWtofHwhYWtoLmFsdEtleSkpYWt6KGRvY3VtZW50LmZvcm1zW3N2XSxoaywnJyxh a2gsYmcpO2JyZWFrO2Nhc2UgZmY6dWk9CnNzKCdSUENBdXRoRmFpbGVkJyk7Y2FzZSBmdDphbHko ZHIpO2JyZWFrO2Nhc2UgZmg6dGo9YWxtKGRyKTticmVhaztjYXNlIGZqOgp0aj1hbGcoZHIpO2Jy ZWFrO2RlZmF1bHQ6YWxiKGRyKTtyZXR1cm47fWlmKCFkdylkdz0odWk/J3Bhc3NNc2cnOicnKTtz cShkdywKdWksJycsdGopfWZ1bmN0aW9uIGFudihkcil7dmFyIGQsdWksdGosZHcsYWtoLGhrPQpw YXlsb2FkLHN2PWhrLmZvcm0uaW5kZXh8fDA7dGIoJ2luaXRNc2cnLCcnKTt0YigncGFzc01zZycs JycpO3RiKAonb3BlbkJ1dHRvbkxvY2F0aW9uJywnJyk7aWYoZHIucmVjaXBpZW50KWFsbihkci5y ZWNpcGllbnQpO3VvKCdiY2NSb3cnKTtpZigKZHIudHJhZmZpY0tleSlkci5SUENSZWYudHJhZmZp Y0tleT1kci50cmFmZmljS2V5O2lmKGRyLnNlc3Npb25JZClkci5SUENSZWYuCnNlc3Npb249ZHIu c2Vzc2lvbklkO2hrLmNvb2tpZXNFbmFibGVkPWRyLmNvb2tpZXNFbmFibGVkO3N3aXRjaChkci5z dGF0dXMpewpjYXNlIGZtOmNhc2UgZnc6dWk9KGRyLnN0YXR1cz09Zm0/YWxpKGRyKTphbGgoZHIp KTtpZihha24+MSl7dGIoJ3Bhc3NNc2cnLHVpCixiZyk7dWk9Jyd9aWYoYWtuPjMpe2FsZXJ0KHNz KCdSUENUb29NYW55UmV0cmllcycpKX1icmVhaztjYXNlIGZ6OmNhc2UgZnY6CmNhc2UgZnk6dWk9 YWxrKGRyKTticmVhaztjYXNlIGZzOmFsaihkcik7YnJlYWs7Y2FzZSBmdTphbXQoZHIpO2lmKCFh a2gpYWtoPQphY258fHdpbmRvdy5ldmVudDtpZihkci5hdXRvT3BlbiYmKCFha2h8fCFha2guYWx0 S2V5KSlha3ooZG9jdW1lbnQuZm9ybXNbc3ZdCixoaywnJyxha2gpO2JyZWFrO2Nhc2UgZmY6dWk9 c3MoJ1JQQ0F1dGhGYWlsZWQnKTtjYXNlIGZ0OmNhc2UgZ2M6YWx5KGRyKTsKYnJlYWs7Y2FzZSBm aDp0aj1hbG0oZHIpO2JyZWFrO2Nhc2UgZmo6dGo9YWxnKGRyKTticmVhaztkZWZhdWx0OmFsYihk cik7CnJldHVybjt9aWYoIWR3KWR3PSh1aT8ncGFzc01zZyc6JycpO3NxKGR3LHVpLCcnLHRqKTt0 aChzdiwxKX0KZnVuY3Rpb24gYW51KGRyKXt2YXIgZCx1aSx0aixkdyxha2gsaGs9CnBheWxvYWQs c3Y9aGsuZm9ybS5pbmRleHx8MCxobTtpZihkci5ldmVudCl7ZXZhbCgnZ0V2ZW50PScrZHIuZXZl bnQrJzsnKTtha2gKPWFjbn1pZighYWtoKWFraD1hY258fHdpbmRvdy5ldmVudDtkci5yZWNpcGll bnQ9aGsuc2VsZWN0ZWRJRDtpZihkci5zdGF0dXM9PQpnYyl7aWYoZHIuZm5jYWxsKXtldmFsKGRy LmZuY2FsbCk7cmV0dXJuO31lbChoay5ycGMsaGsubXNnSUQsZXUsMCwnJyx7J25yJzoxCn0pO2lm KGRyLnNlY3VyZU5hbWUmJmhrLnNlbGVjdGVkSUQhPSd1bmRlZmluZWQnKWhrLnNlY3VyZU5hbWU9 aGsuZm9ybS5mb3JtLgpzZWN1cmVOYW1lLnZhbHVlPWRyLnNlY3VyZU5hbWU7aWYoZHIub2ZmZXJM b2dvdXQpaGsubG9nb3V0VVJMPWhrLmZvcm0uZm9ybS4KbG9nb3V0VVJMLnZhbHVlPQonaHR0cHM6 Ly9pZWEzNzBxMDMucWEuc2JyLmlyb25wb3J0LmNvbS9rZXlzZXJ2ZXIvTG9nb3V0Jwo7aGsuZm9y bS5mb3JtLnNlc3Npb25rZXkudmFsdWU9YmIuZW5jb2RlVG9TdHJpbmcoZHIua2V5KTtpZihkci5v cGVuT25saW5lKXsKb3Blbk9ubGluZShoayk7cmV0dXJuIGVtfWFuYyhoayxkci5jYWNoZUZsYWdz KTtpZihkci5jYWNoZWtleSloay51c2VyS2V5PWRyLgpjYWNoZWtleTtoay5zZXNzaW9uS2V5PWRy LmtleTtoay5ldmVudD1ha2h8fGFjbnx8d2luZG93LmV2ZW50O2htPShkci4KcmVxdWVzdFN0YXRl PT1leD9pcTpqaCk7cmV0dXJuIGFjYShoaywnJywyNTAsaG0seydwcm9ncmVzcyc6dHQsJ2Vycm9y JzoKZGlzcGxheUVycm9yLCdycGMnOmFtaiwnc2F2ZWQnOnR5LCdmaW5hbGl6ZSc6YW5wfSx7J3By b2dyZXNzQmFyJzp7J2JnQ29sb3InOgonIzgwODA4MCcsJ2JvcmRlckNvbG9yJzonIzAwMDAwMCd9 fSl9ZWxzZSBpZihkci5zdGF0dXM9PWZyfHxkci5zdGF0dXM9PWZnKXsKaWYoZHIuc3RhdHVzPT1m ZylhZmQucmVzZXQoKTt2YXIgYW14PWFmZC5nZXROZXh0SW50ZXJ2YWwoImFscygpIik7aWYoYW14 PDApewppZihhbXg9PS0yKXt9ZWxzZXthbGIoZHIpfX1yZXR1cm4gZW19YWt5KGJnKTtzd2l0Y2go ZHIuc3RhdHVzKXtjYXNlIGZtOmNhc2UKZnc6dWk9KGRyLnN0YXR1cz09Zm0/YWxpKGRyKTphbGgo ZHIpKTtpZihha24+MSl7dGIoJ3Bhc3NNc2cnLHVpLGJnKTt1aT0nJ31pZgooYWtuPjMpe2FsZXJ0 KHNzKCdSUENUb29NYW55UmV0cmllcycpKX1icmVhaztjYXNlIGZwOmFtdShkcik7YnJlYWs7Y2Fz ZSBmeToKY2FzZSBmdjpjYXNlIGZ6OnVpPWFsayhkcik7YnJlYWs7Y2FzZSBmczphbGooZHIpO2Jy ZWFrO2Nhc2UgZmg6dGo9YWxtKGRyKTsKYnJlYWs7Y2FzZSBmajp0aj1hbGcoZHIpO2JyZWFrO2Nh c2UgZnQ6YWtrKGFrbCk7dGIoJ3Bhc3NNc2cnLHNzKAonUlBDSW5zdWZmaWNpZW50QXV0aCcpLGJn KTticmVhaztkZWZhdWx0OmFsYihkcik7cmV0dXJuO31pZighZHcpZHc9KHVpPwoncGFzc01zZyc6 JycpO3NxKGR3LHVpLCcnLHRqKX1mdW5jdGlvbgphY28oZHIpe3ZhciBkLHVpLHRqLGR3LGFraCxo az1wYXlsb2FkLHN2PWhrLmZvcm0uaW5kZXh8fDA7dGIoJ2luaXRNc2cnLCcnKTsKdGIoJ3Bhc3NN c2cnLCcnKTtpZihkci5zdGF0dXM9PWdjKXtpZihkci5zZWN1cmVOYW1lJiZoay5zZWxlY3RlZElE IT0KJ3VuZGVmaW5lZCcpaGsuc2VjdXJlTmFtZT1kci5zZWN1cmVOYW1lO2lmKGRyLm9mZmVyTG9n b3V0KWhrLmxvZ291dFVSTD0KJ2h0dHBzOi8vaWVhMzcwcTAzLnFhLnNici5pcm9ucG9ydC5jb20v a2V5c2VydmVyL0xvZ291dCcKO2Fidyhkci5zdGF0dXMsZHIuc3RhdGUsZHIua2V5LGRyKTtyZXR1 cm47fWVsc2UgaWYoZHIuc3RhdHVzIT1mZyl7YWt5KGJnKX0Kc3dpdGNoKGRyLnN0YXR1cyl7Y2Fz ZSBmZzppZihoay51c2VyS2V5KXt0eCh1cywnJyk7d3ooaGsudXNlcmtleW5hbWUpO2hrLgp1c2Vy S2V5PScnO2FsYShoayxiZyl9ZWxzZXt0eChzbiwnJyl9YnJlYWs7Y2FzZSBmbTpjYXNlIGZ3OnVp PShkci5zdGF0dXM9PWZtCj9hbGkoZHIpOmFsaChkcikpO2lmKGFrbj4xKXt0YigncGFzc01zZycs dWksYmcpO3VpPScnfWlmKGFrbj4zKXthbGVydChzcygKJ1JQQ1Rvb01hbnlSZXRyaWVzJykpfWJy ZWFrO2Nhc2UgZnA6YW11KGRyKTticmVhaztjYXNlIGZ6OmNhc2UgZnY6Y2FzZSBmeTp1aQo9YWxr KGRyKTticmVhaztjYXNlIGZzOmFsaihkcik7YnJlYWs7Y2FzZSBmaDp0aj1hbG0oZHIpO2JyZWFr O2Nhc2UgZmo6dGo9YWxnCihkcik7YnJlYWs7Y2FzZSBmdDpha2soYWtsKTt0YigncGFzc01zZycs c3MoJ1JQQ0luc3VmZmljaWVudEF1dGgnKSxiZyk7YnJlYWsKO2RlZmF1bHQ6c2UoMSk7YWxiKGRy KTtyZXR1cm47fWlmKCFkdyYmdWkpZHc9J3Bhc3NNc2cnO3NxKGR3LHVpLCcnLHRqKTt0aChzdgos MSk7c2UoMSl9dmFyIGFuZz0wOwoKCmZ1bmN0aW9uIGFsbyhzdixhZXUpewp9ZnVuY3Rpb24gYW5j KGhrLApha20pe3ZhciBhbXo9MAoKfGFjaTtoay5mbGFnc3w9YW16O2FrbXw9fmFtejtoay5mbGFn cyY9CmFrbTtpZighKGhrLmZsYWdzJmFhZCkpd3ooaGsudXNlcmtleW5hbWUpO2lmKCEoaGsuZmxh Z3MmemUpKXd5KGhrLm1zZ0lEKX0KZnVuY3Rpb24gYW5vKHJlLHNyKXt0aCgwLDEpfWZ1bmN0aW9u IGFucAoocmUsc3Ipe2lmKHJlKXthZmQuY2FuY2VsKCk7ZWsocGF5bG9hZC5ycGMpO2FreShiZyk7 cmV0dXJuO31hZmQucmVzZXQoKTthbHMoCil9dmFyIGFuYj0wO2Z1bmN0aW9uIGFtbihhbmksYWto KXthbmI9YW5pO2FtYShha2gpOwpyZXR1cm4gMX1mdW5jdGlvbiBhb2YoKXt2YXIgaGs9cGF5bG9h ZCxzdj1kb2N1bWVudC5mb3Jtc1toay5mb3JtLmluZGV4XTtpZigKaGsubm9Vc2VyS2V5TmVlZGVk fHwoc3Yua2V5MSYmc3Yua2V5MS52YWx1ZSkpb3Blbk9ubGluZShoayk7ZWxzZSBha3IoYWxjKX0K ZnVuY3Rpb24gYW9sKGFraCl7dHIoYmcpfWZ1bmN0aW9uIGFvbyhha2gpe3RyKGVtKX12YXIgYWx4 PScnOwpmdW5jdGlvbiBhbmwoZHIpe2Freihkci5mb3JtLGRyLnBheWxvYWRSZWYsZHIua2V5LGRy LmV2dCk7YWx4PScnfQpmdW5jdGlvbiBha3ooc3YsaGssbSxha2gsZXEpe3ZhciBha209MDtpZihl cSl7YWx4PXsnZm9ybSc6c3YsCidwYXlsb2FkUmVmJzpoaywna2V5JzptLCdldnQnOmFraH07c2V0 VGltZW91dCgiYW5sKGFseCkiLGlzPzEyNToxKTtyZXR1cm47fQppZigoaGsuZmxhZ3MmeXkpJiYh c3YuYXV0b09wZW4pe2FrbT1oay5mbGFncztpZighbSYmIWhrLnVzZXJLZXkpewppZihoay5mbGFn cyZ6Zilha209MDtlbHNlIGFrbSY9fmFhZH1lbHNlIGlmKGhrLmVuY3J5cHRlZFNlc3Npb25LZXkp YWttfD16ZXwKemY7aWYoaGsuc2Vzc2lvbktleSlha218PXplfWVsc2V7aWYoc3YuY2FjaGVVc2Vy S2V5JiZzdi5jYWNoZVVzZXJLZXkuY2hlY2tlZAopYWttfD1hYWQ7aWYoc3YuY2FjaGVTZXNzaW9u S2V5JiZzdi5jYWNoZVNlc3Npb25LZXkuY2hlY2tlZClha218PXplO2lmKHN2LgpjYWNoZUVuY3J5 cHRlZFNlc3Npb25LZXkmJnN2LmNhY2hlRW5jcnlwdGVkU2Vzc2lvbktleS5jaGVja2VkKWFrbXw9 KHplfHpmKTsKaWYoc3YuYXV0b09wZW4mJnN2LmF1dG9PcGVuLmNoZWNrZWQpYWttfD15eTtpZihz di5yZW1lbWJlck1lJiZzdi5yZW1lbWJlck1lLgpjaGVja2VkKWFrbXw9YWNpfWFuYyhoayxha20p O3RoKDAsMCk7dGIoJ3Bhc3NNc2cnLCcnKTtoay5ldmVudD1ha2h8fGFjbnx8CndpbmRvdy5ldmVu dDtyZXR1cm4gYWNhKGhrLG0sMjUwLGFuYix7J3Byb2dyZXNzJzp0dCwnZXJyb3InOmRpc3BsYXlF cnJvciwKJ3JwYyc6YW1qLCdzYXZlZCc6dHksJ2ZpbmFsaXplJzphbm99LHsncHJvZ3Jlc3NCYXIn OnsnYmdDb2xvcic6JyM4MDgwODAnLAonYm9yZGVyQ29sb3InOicjMDAwMDAwJ319KX1mdW5jdGlv biBha2ooc3Upe2lmKCFzdSlzdT0nJztkb2N1bWVudC53cml0ZShzdSsKJ1x4M2MhLS0nKX1mdW5j dGlvbiBha2koKXtkb2N1bWVudC53cml0ZSgnLS1ceDNlJyl9ZnVuY3Rpb24gYW15KGR3KXtkdz1r ZShkdwopO3JldHVybihkdyYmZHcuaW5uZXJIVE1MLmluZGV4T2YoJ25ic3AnKSE9LTEpfXZhciB1 c2VyVGV4dD17CidOb1Bhc3N3b3JkUmVxdWlyZWQnOidObyBwYXNzd29yZCByZXF1aXJlZC4nLCdS UENFcnJvcic6CidTeXN0ZW0gdW5hdmFpbGFibGUuIFBsZWFzZSBtYWtlIHN1cmUgeW91IGFyZSBv bmxpbmUgJysKJyBhbmQgdHJ5IGFnYWluIGxhdGVyLlxuXG5TdGF0dXM6ICRbMF0nLCdSUENFeHBp cmVkJzoKJ01lc3NhZ2UgZXhwaXJlZC4gQ29udGFjdCBzZW5kZXIgdG8gcmVhY3RpdmF0ZS4nLCdS UENMb2NrZWQnOgonTWVzc2FnZSBsb2NrZWQuIENvbnRhY3Qgc2VuZGVyIGZvciBtb3JlIGluZm9y bWF0aW9uLicsJ1JQQ05vU2VydmVyJzoKJ1N5c3RlbSB1bmF2YWlsYWJsZS4gUGxlYXNlIG1ha2Ug c3VyZSB5b3UgYXJlIG9ubGluZSAnKwonYW5kIHRyeSBhZ2FpbiBsYXRlci4nLCdSUENBdXRoRmFp bGVkJzoKJ1lvdXIgcGFzc3dvcmQgaGFzIGNoYW5nZWQuIFBsZWFzZSBlbnRlciB5b3VyICcrJ3Bh c3N3b3JkLicsCidSUENOb3RTZW50RW52ZWxvcGUnOidUaGlzIG1lc3NhZ2Ugd2FzIG5vdCBzZW50 IHRvIHlvdXIgYWRkcmVzcyAnKycoJFswXSkuJywKJ1JQQ1N1c3BlbmRlZCc6J1lvdXIgYWNjb3Vu dCAoJFswXSkgaGFzIGJlZW4gc3VzcGVuZGVkLiBQbGVhc2UgJysKJ2NvbnRhY3QgdGhlIHNlbmRl ciBmb3IgbW9yZSBpbmZvcm1hdGlvbi4nLCdSUENVc2VyTG9ja2VkJzoKJ1lvdXIgYWNjb3VudCAo JFswXSkgaGFzIGJlZW4gbG9ja2VkLiBQbGVhc2UgJysKJ2NvbnRhY3QgdGhlIHNlbmRlciBmb3Ig bW9yZSBpbmZvcm1hdGlvbi4nLAonUlBDQmxvY2tlZCc6J1lvdXIgYWNjb3VudCAoJFswXSkgaGFz IGJlZW4gYmxvY2tlZCBiZWNhdXNlIG9mIHRvbyAnKwonbWFueSBpbmNvcnJlY3QgcGFzc3dvcmQg YXR0ZW1wdHMuIFBsZWFzZSB1c2UgdGhlIEZvcmdvdCAnKwonUGFzc3dvcmQgbGluayB0byByZWFj dGl2YXRlIHlvdXIgYWNjb3VudC4nLCdSUENCbG9ja2VkVGV4dCc6CidZb3VyIGFjY291bnQgaGFz IGJlZW4gYmxvY2tlZC4gVXNlIHRoZSBGb3Jnb3QgJysKJ1Bhc3N3b3JkIGxpbmsgYmVsb3cgdG8g cmVhY3RpdmF0ZSB5b3VyIGFjY291bnQuXHgzY2JyXHgzZScsCidSUENQYXNzd29yZEV4cGlyZWQn OidZb3VyIHBhc3N3b3JkIGhhcyBleHBpcmVkLiBVc2UgdGhlIGxpbmsgYmVsb3cgJysKJ3RvIGNo YW5nZSB5b3VyIHBhc3N3b3JkLlx4M2Niclx4M2UnLCdSUENOb3RSZWdpc3RlcmVkJzoKJ1RvIG9w ZW4gdGhpcyBtZXNzYWdlLCBmaXJzdCBjbGljayB0aGUgYnV0dG9uIHRvICcrCidyZWdpc3Rlci4g QWZ0ZXIgcmVnaXN0ZXJpbmcsIGNvbWUgYmFjayB0byBjb250aW51ZSBvcGVuaW5nICcrJ3RoZSBt ZXNzYWdlLicKLCdSUENOb3RBY3RpdmF0ZWQnOidUbyBvcGVuIHRoaXMgbWVzc2FnZSB5b3VyIGFj Y291bnQgbXVzdCBmaXJzdCBiZSAnKwonYWN0aXZhdGVkLiBQbGVhc2UgY29udGFjdCB0aGUgc2Vu ZGVyIGZvciBtb3JlIGluZm9ybWF0aW9uLicsCidSUENUb29NYW55UmV0cmllcyc6J1lvdSBtdXN0 IHN1Y2Nlc3NmdWxseSBzZXR1cCBhbiBhY2NvdW50IHRvIG9wZW4gJysKJ3RoaXMgbWVzc2FnZS4g SWYgeW91IGhhdmUgbm90IHJlZ2lzdGVyZWQgdGhlbiBjbGljayB0aGUgbGluayB0byAnKwonZG8g c28uIElmIHlvdSBhbHJlYWR5IHJlZ2lzdGVyZWQgdGhlbiBjaGVjayB5b3VyIGluYm94IGZvciBh biAnKwonYWN0aXZhdGlvbiBlbWFpbC4gRm9yIG1vcmUgaW5mb3JtYXRpb24gcGxlYXNlIGNvbnRh Y3Qgc3VwcG9ydC4nLAoKJ1JQQ1JlY2lwaWVudEVycm9yJzonWW91IG1heSBub3Qgb3BlbiB0aGlz IG1lc3NhZ2UgdXNpbmcgdGhpcyAnKwonYWRkcmVzcy4gVG8gb3BlbiB0aGlzIG1lc3NhZ2UgYXMg YSBkaWZmZXJlbnQgdXNlciwgY2xpY2sgdGhlICcrCidsaW5rIHRvIHRoZSByaWdodC4nLCdSUENJ bnN1ZmZpY2llbnRBdXRoJzoKJ1lvdSBtYXkgbm90IG9wZW4gdGhpcyBtZXNzYWdlIGJlY2F1c2Ug eW91ICcrCidkbyBub3QgaGF2ZSBhIHN1ZmZpY2llbnQgbGV2ZWwgb2YgYXV0aGVudGljYXRpb24g Zm9yIHRoaXMgJysKJ21lc3NhZ2Ugc2Vuc2l0aXZpdHkuJywnUlBDV2FpdGluZyc6J0NvbnRhY3Rp bmcgc2VydmVyLiBQbGVhc2Ugd2FpdC4uLicsCidGYXRhbEVycm9yJzonQW4gZXJyb3Igb2NjdXJy ZWQgYW5kIHRoaXMgbWVzc2FnZSBjYW5ub3QgYmUgb3BlbmVkLiAnKwonUGxlYXNlIHRyeSBhZ2Fp biBsYXRlci4nLCdGYXRhbEVycm9yUmV0cnknOgonQW4gZXJyb3Igb2NjdXJyZWQgYW5kIHRoaXMg bWVzc2FnZSBjYW5ub3QgYmUgJysKJ29wZW5lZC4gQ29udGFjdCB0aGUgc2VuZGVyLCBvciByZWZy ZXNoIHRoaXMgcGFnZSB0byB0cnkgYWdhaW4uJywKJ1JQQ1BvbGxUaW1lb3V0JzonWW91IHNlZW0g dG8gaGF2ZSBzdGVwcGVkIGF3YXkgZnJvbSB5b3VyIGNvbXB1dGVyLiAnKwonVG8gZW50ZXIgeW91 ciBwYXNzd29yZCBhbmQgb3BlbiB5b3VyIG1lc3NhZ2UsIGNsaWNrIHRoZSBSZWZyZXNoICcrJ2J1 dHRvbi4nCiwnU2F2ZWRQYWdlJzonSXQgYXBwZWFycyB5b3UgdHJpZWQgdG8gc2F2ZSB0aGlzIGVu dmVsb3BlIGZyb20geW91ciAnKwonYnJvd3NlciBhcyBhICJXZWIgUGFnZSwgY29tcGxldGUuIiBV bmZvcnR1bmF0ZWx5LCBzYXZpbmcgYSAnKwoncmVnaXN0ZXJlZCBlbnZlbG9wZSBpbiB0aGlzIHdh eSBjYXVzZXMgdGhlIGJyb3dzZXIgdG8gaXJyZXBhcmFibHkgJysKJ2JyZWFrIHRoZSBlbnZlbG9w ZS4gVGhlIGRpc3BsYXkgd2lsbCBsb29rIGdhcmJsZWQgYW5kIHRoZSBlbnZlbG9wZSAnKwond2ls bCBub3Qgb3Blbi4gVG8gb3BlbiB5b3VyIG1lc3NhZ2UgcGxlYXNlIGdvIGJhY2sgYW5kIG9wZW4g dGhlICcrCidvcmlnaW5hbCBmaWxlLicsJ0RpZmZlcmVudEFkZHJlc3NMaW5rJzonU2VsZWN0IGEg ZGlmZmVyZW50IGFkZHJlc3MnLAonTm90TGlzdGVkTGluayc6J015IGFkZHJlc3MgaXMgbm90IGxp c3RlZCcsJ09wZW5PbmxpbmVUaXAnOgonSWYgeW91IGV4cGVyaWVuY2UgcHJvYmxlbXMgb3Blbmlu ZyB0aGlzIG1lc3NhZ2UsICcrJ3RyeSB0byAkWzBdJywKJ09wZW5PbmxpbmVIaW50JzonU3VibWl0 IHlvdXIgcGFzc3dvcmQgYWJvdmUgdG8gb3BlbiB5b3VyIG1lc3NhZ2Ugb25saW5lJywKJ1Bhc3Nw aHJhc2VUZXh0JzonXHgzY2lceDNlWW91ciBwZXJzb25hbCBwaHJhc2UgaXMgbm90IGVuYWJsZWQg b24gJysKJ3RoaXMgbWFjaGluZS5ceDNjL2lceDNlJ30sZWg9ZXQ7Ly8tLT48L3NjcmlwdD48L2hl YWQ+PGJvZHkKYmdjb2xvcj0iI0U3RTdFNyI+PHNwYW4KaWQ9ImZmX3RyYXNoIgpzdHlsZT0iZGlz cGxheTpub25lIj48L3NwYW4+PHNjcmlwdAp0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiCmxhbmd1YWdl PWphdmFzY3JpcHQ+PCEtLQppZihrZSgnZmZfc2F2ZWQnKSlhbGVydChzcygnU2F2ZWRQYWdlJykp O3ZhciBhbmU7aWYoYW5lPWtlKCdmZl90cmFzaCcpKWFuZS4KaW5uZXJIVE1MPSdceDNjc3BhbiBp ZD1mZl9zYXZlZFx4M2VceDNjL3NwYW5ceDNlJzt0cihiZyk7d2luZG93Lm9uZm9jdXM9YW9sOwov Ly0tPjwvc2NyaXB0PjxzcGFuCmlkPWNvbW1lbnR0ZXN0CnN0eWxlPSJkaXNwbGF5OiBub25lIj48 c2NyaXB0CnR5cGU9InRleHQvamF2YXNjcmlwdCIKbGFuZ3VhZ2U9amF2YXNjcmlwdD48IS0tCmFr aigpOy8vLS0+PC9zY3JpcHQ+Jm5ic3A7PHNjcmlwdAp0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiCmxh bmd1YWdlPWphdmFzY3JpcHQ+PCEtLQpha2koKTsvLy0tPjwvc2NyaXB0Pjwvc3Bhbj48c3Bhbgpp ZD14bXB0ZXN0CnN0eWxlPSJkaXNwbGF5OiBub25lIj48c2NyaXB0CnR5cGU9InRleHQvamF2YXNj cmlwdCIKbGFuZ3VhZ2U9amF2YXNjcmlwdD48IS0tCmRvY3VtZW50LndyaXRlKCdceDNjeG1wXHgz ZScpOy8vLS0+PC9zY3JpcHQ+Jm5ic3A7PHhtcD48L3htcD48L3NwYW4+PHNjcmlwdAp0eXBlPSJ0 ZXh0L2phdmFzY3JpcHQiCmxhbmd1YWdlPWphdmFzY3JpcHQ+PCEtLQp2aD1hbXkoJ2NvbW1lbnR0 ZXN0Jyk7dmk9YW15KCd4bXB0ZXN0Jyk7dmc9ISh2aHx8dmkpOy8vLS0+PC9zY3JpcHQ+CjxzY3Jp cHQKdHlwZT0idGV4dC9qYXZhc2NyaXB0IgpsYW5ndWFnZT1qYXZhc2NyaXB0PjwhLS0KYWtqKCk7 Ly8tLT48L3NjcmlwdD48cD5SZWFzb25zIHlvdSBtYXkgYmUgc2VlaW5nIHRoaXMgdGV4dDo8b2wK Y2xhc3M9bWFpblJlYXNvbnM+PGxpPllvdSBhcmUgc2VlaW5nIHRoaXMgdGV4dCBpbiB5b3VyIHBy ZXZpZXcgcGFuZS4gUGxlYXNlCm9wZW4gdGhlIGF0dGFjaG1lbnQgdG8gcmVhZCB5b3VyIHNlY3Vy ZSBtZXNzYWdlLjwvbGk+PGxpPllvdSBoYXZlIG9wZW5lZCB0aGUKYXR0YWNobWVudCBhbmQ8b2wK Y2xhc3M9c3ViUmVhc29ucwp0eXBlPWE+PGxpPnlvdSBkbyBub3QgeWV0IGhhdmUgYW4gYWNjb3Vu dC4gUGxlYXNlIHNlbGVjdCB5b3VyIGVtYWlsIGFkZHJlc3MKYW5kIGNsaWNrIHRoZSBPcGVuIGJ1 dHRvbiB0byBjcmVhdGUgYW4gYWNjb3VudC48L2xpPjxsaT55b3UgaGF2ZSBhbiBhY2NvdW50LgpP bmNlIHRoZSBPcGVuIGJ1dHRvbiBhcHBlYXJzLCBlbnRlciB5b3VyIHBhc3N3b3JkIGFuZCBjbGlj ayBPcGVuLjwvbGk+PC9vbD4KPC9saT48L29sPjwvcD48cD5JZiB0aGUgT3BlbiBidXR0b24gZG9l cyBub3QgYXBwZWFyLCBwbGVhc2UgZm9yd2FyZCB0aGUKb3JpZ2luYWwgZW1haWwgdG86IG1vYmls ZUByZXMuY2lzY28uY29tPC9wPjxocgpzaXplPTE+PHNjcmlwdAp0eXBlPSJ0ZXh0L2phdmFzY3Jp cHQiCmxhbmd1YWdlPWphdmFzY3JpcHQ+PCEtLQpha2koKTsvLy0tPjwvc2NyaXB0Pjxmb3JtCm1l dGhvZD1QT1NUCmFjY2VwdC1jaGFyc2V0PVVURi04CmFjdGlvbj0iaHR0cHM6Ly9pZWEzNzBxMDMu cWEuc2JyLmlyb25wb3J0LmNvbS9lbnZlbG9wZW9wZW5lci9kZWNyeXB0X2VudmVsb3BlLmpzcCIK PjxpbnB1dAp0eXBlPWhpZGRlbgpuYW1lPW1ldGFQYXlsb2FkVmFsdWUKdmFsdWU9IiI+PGlucHV0 CnR5cGU9aGlkZGVuCm5hbWU9cGF5bG9hZFZhbHVlCnZhbHVlPSIiPjxpbnB1dAp0eXBlPWhpZGRl bgpuYW1lPWtleVNlcGFyYXRvcgp2YWx1ZT0iXiI+PGlucHV0CnR5cGU9aGlkZGVuCm5hbWU9a2V5 Q2FzZUluc2Vuc2l0aXZlCnZhbHVlPSIwIj48aW5wdXQKdHlwZT1oaWRkZW4KbmFtZT1vcGVuZXJI b3N0CnZhbHVlPSJpZWEzNzBxMDMucWEuc2JyLmlyb25wb3J0LmNvbSI+PGlucHV0CnR5cGU9aGlk ZGVuCm5hbWU9cmVnaXN0ZXJVUkwKdmFsdWU9IiI+PGlucHV0CnR5cGU9aGlkZGVuCm5hbWU9cHN3 ZEV4cGlyZWRVUkwKdmFsdWU9IiI+PGlucHV0CnR5cGU9aGlkZGVuCm5hbWU9cHN3ZEZvcmdvdFVS TAp2YWx1ZT0iaHR0cHM6Ly9pZWEzNzBxMDMucWEuc2JyLmlyb25wb3J0LmNvbS93ZWJzYWZlL3Bz d2RGb3Jnb3QuYWN0aW9uIj48aW5wdXQKdHlwZT1oaWRkZW4KbmFtZT1zZXNzaW9ua2V5CnZhbHVl PSIiPjxpbnB1dAp0eXBlPWhpZGRlbgpuYW1lPXNlY3VyZU5hbWUKdmFsdWU9IiI+PGlucHV0CnR5 cGU9aGlkZGVuCm5hbWU9bG9nb3V0VVJMCnZhbHVlPSIiPjxpbnB1dAp0eXBlPWhpZGRlbgpuYW1l PXNlY3VyZVJlcGx5QWxnCnZhbHVlPSJBUkM0Ij48aW5wdXQKdHlwZT1oaWRkZW4KbmFtZT0iX2No YXJzZXRfIj48aW5wdXQKdHlwZT1oaWRkZW4KbmFtZT1jaGFyc2V0VGVzdAp2YWx1ZT0iJiMxMjM3 MTsiPjxzcGFuCmlkPWhpZGRlblJlY2lwaWVudD48L3NwYW4+PGRpdgppZD1wYXlsb2FkSW1hZ2UK c3R5bGU9InZpc2liaWxpdHk6aGlkZGVuOyBoZWlnaHQ6MXB4OyBvdmVyZmxvdzpoaWRkZW4iPgo8 c2NyaXB0CnR5cGU9InRleHQvamF2YXNjcmlwdCIKbGFuZ3VhZ2U9amF2YXNjcmlwdD48IS0tCmlm KHZoKWFraigpO2Vsc2UgaWYodmkpZG9jdW1lbnQud3JpdGUoJ1x4M2N4bXBceDNlJyk7Ly8tLT48 L3NjcmlwdD4KPGJyPjxpbWcgYWx0PSIiIHNyYz0iP3A9MCZhbXA7ZD0lN0InbmFtZSclM0FudWxs LCUwRCUwQSdtc2dJRCclM0EnYjlmMzQyNjNlODZiZmE3MDdmMDAwMDAxOTIzMjU2ZDAlNDBpZWEz NzBxMDMlMkVxYScsJTBEJTBBJ2ZsYWdzJyUzQTIwNTcsJTBEJTBBJ3JpZCclM0EnY0c5eWRITXRZ Mjl0YldsMGRHVnljMEJtY21WbFluTmtMbTl5WnclM0QlM0QnLCUwRCUwQSdrZXlzZXJ2ZXJob3N0 JyUzQSdpZWEzNzBxMDMlMkVxYSUyRXNiciUyRWlyb25wb3J0JTJFY29tJywlMEQlMEEnc2VjdXJl cmVwbHlob3N0JyUzQSdpZWEzNzBxMDMlMkVxYSUyRXNiciUyRWlyb25wb3J0JTJFY29tJywlMEQl MEEnb3BlbmVyaG9zdCclM0EnaWVhMzcwcTAzJTJFcWElMkVzYnIlMkVpcm9ucG9ydCUyRWNvbScs JTBEJTBBJ3RvYyclM0ElNUIlMEQlMEElNUInQm9keS0xMjY0NjE1ODQ0ODQxJTJFaHRtbCcsMSwl MEQlMEEnJywlMEQlMEEnJywlMEQlMEExMywlNUIwLDExMDglNUQsJ0JvZHktMTI2NDYxNTg0NDg0 MSUyRWh0bWwnLCUwRCUwQSdJU08tODg1OS0xJyU1RCwlMEQlMEElNUInYXR0YWNobWVudDEnLDMs JTBEJTBBJycsJTBEJTBBJycsJTBEJTBBNSwlNUIxMTA4LDU2MCU1RCwnYXR0YWNobWVudDEnLCUw RCUwQSd1dGYtOCclNUQsJTBEJTBBJTVCJ01lc3NhZ2VCYXIlMkVodG1sJyw0LCUwRCUwQScnLCUw RCUwQScnLCUwRCUwQTEsJTVCMTY2OCwxMDQ2NyU1RCwnTWVzc2FnZUJhciUyRWh0bWwnLCUwRCUw QSdJU08tODg1OS0xJyU1RCUwRCUwQSU1RCwlMEQlMEEnc2FsdCclM0EnQUg0JTJGalk3YnBnNSUy RlFpMkkyZ2xkTGJGRjBtRSUzRCcsJTBEJTBBJ2RhdGEnJTNBJTVCJTBEJTBBJycsJTBEJTBBJ3NZ dDhmanN5czJTbnNGVGU0elpGamhZb1JxZ1JGbmZlQmVGU29ISU5tWnFxcyUyQlBFZ0ZIUGdOWkRy TGV4THNiOUhieFM1QzBlJTVDJTBEJTBBWnJmRCUyQmpTbG5jbE1NWUc5V3JpTTVCa09PaVBYdFAy NElJNEV1djRrJTJCVXRtSkNMUExRdElEaDZhbEh4WGtJT1U4amYzbjB2RyU1QyUwRCUwQUxyMEVl T2xNc0pCYThFaE4yNlQ4R1lkeEFwTTNCS3NuSm9Wdm5RV1RLbElFZEJiN2RXJTJGTzF0WiUyRlFo dzJTQjhNJTJCazlSV2FBYyU1QyUwRCUwQUlSWmdjOFRMREZ3MUF4Nno3MHRVUyUyQkt2RHhQYUty N3B3UEd6S0hjdE9wTkxxVGZvcUZIVFdNYmx6SyUyRjVTN0ZVZCUyRlNUR2Q0UCU1QyUwRCUwQVZF SEl3WnFmOCUyRiUyQlJ3Rm5RMmFPYWxKMEV1ZkI4UU5ycFNSJTJCV294WEsmYW1wO249JykiPgo8 aW1nIGFsdD0iIiBzcmM9Ij9wPTEmYW1wO2Q9bUdaalZNJTJGZnROUlVnJTJCQmVFc3NKWVc5NyUy QngzOG1WZ0olNUMlMEQlMEE3VWd1M2Z2bHlzS3g2eDVpMVE2NnhlSzFhQUZYbVdHTkNtJTJGTkRs JTJGRWpKbVNLamVrRW9oQmtrNUVmUjhXREtnVHJYN2RhSGlVJTVDJTBEJTBBcSUyRlZGYnNobyUy QjNXVnA3c3ZXQ0sxaFUzV2F4RW11MlA3RUR1Tk1wWFd1TnRPNU9LVFR6JTJGWGNVdW05aVljbWRB JTJCR1RZaWdIcXklNUMlMEQlMEE1cmpKQk1pWnVxcFo0cVFiSGJyZ0x1WEUlMkJqc1JlSVRXejJE RkxORWoxcElFMiUyRnVUZmhGVXl4Q3dIeU9JUXc1VFVqdEpEN0cyJTVDJTBEJTBBbTNRUnVUMjVV V1M4NkticW5uVEZGWFRtJTJGbEFFSkJ1U0NZU3NRQjJCR1puT3BGSFYxOUpNMkxZOGZGMjBMcE5C ZGNYVDRhRU4lNUMlMEQlMEFUVE9pdlcyRURaOUtQamlxVm80NWFSakxqWEwzR0xnZTBwdlVabnNG R0tkbDJsRHhyMFElMkJVTzE1cVI1WlRnZkh4WHRBeEQlMkIlMkYlNUMlMEQlMEFGczFTb0dCMSUy QkZSeWN0aTZhdnp0UkdGSjBnZEJRZkltdHNHUTlycTlCUGpORGxCOXolMkZEU0tiZUdJamk2eGJo R01QakVMdGxPJTVDJTBEJTBBJTJGb2RXU0N6Y1FzRjI2dG5MRTNWTmwxRFVqc0VmUGhCWVNIY294 eFdyRHhxZU1nbzBkczFZcHdkZW9pdFJkcWlsYWV3MXVVcmYlNUMlMEQlMEFDYnJJeUdwQnZHMVNF eUF0dkxiVVQlMkJzV2tlTU1YdWc0TUgyRHB6N0dTNXVacDlhOUpGaGVmc2pVaTgzYWVUbnNyc0hC dmg5eCU1QyUwRCUwQVFKcGZUVEVvQWRoaVZkJTJGZDhjWlpTaEVYakZ6NmE5V1lWSndKQzRScE1S T0NqcWRlakNjJTJCJTJGTmF0aGJrQkx1Y0V6Z3V3T2owSiU1QyUwRCUwQXRmcFhvSGZoWURGQ1dQ cUhqNFh2S1F2eXdLSVElMkZNSW1pSG1OZGJMUEY1dFVjdzdUdnRlTW0lMkJObWw2MWdsZ3htTUJj cWphRVYlNUMlMEQlMEE5WlUyeU9Td2J1SkhhamxSajVkODd0R2hJeUtWY3h5M1ZIN0dZbGZvTUpp VVZrOUZNd01hbWtzTVUlMkZzJTJGb3Raemo0RE0xN2ZuJTVDJTBEJTBBb1ZzSFhyTmRsbDF0ZmJ6 Z1NMNkVqaXdqclRkMzNpJTJCJTJGQTlXZkMxaFNXYkVlcEVlRW15aXdoa29oRGE2WiUyRlhKeHBF ZHhUbFBwJTVDJTBEJTBBc2lLUHptZlpCbTUzMHJmdzJwd2ZFTEVDJTJCM3k1RnJEeE5OSDlOcmRN V2RiYVExeVQ3akVyV1poUHN6ZkFWSjlSbTNRVDNUQiUyRiU1QyUwRCUwQW1NU1NRZiUyRnY1RmJi ampmYVZWNzAwT2M0TWh6bEdOUGtheVE4aDhDOTgxJmFtcDtuPScpIj4KPGltZyBhbHQ9IiIgc3Jj PSI/cD0yJmFtcDtkPUk1RTREalltSUR0Ujh2WHJ3UVJtMU9ac0pCMnVSdSU1QyUwRCUwQXkyOXpu SGxEeHVhajElMkZudGF4bjZhZDhFVzNRbm1yNFM4N0ptMnAlMkJuRGd5Vk00OGR6OFZSOFhkc2Rm REI1WGNtWnZyekdPQXQlNUMlMEQlMEE1TFU5TVFhSUJMU0MwaDBWd3NBUlk1dTlobnVCeiUyRm1N YW81OXBrJTJCQnpDaXBnMnA0dWlndXQlMkJqR2RnVzFkOHRJOHRURjdwSzIlNUMlMEQlMEE5QWtT WEY4bFRJOHJFJTJCaVQxaDlZRGI4N09LTVFPTDVPSTFxdUZkRUliRngwb0lhb05SdVZrUXRkU0FO JTJCV2ZtdW9HcTExJTJCQmslNUMlMEQlMEFJemx0Uk5teTRXeCUyRlpWaHhmNUh0OFVUVHdpcDdU YUpqWCUyQmFVNG9WaGVORER3amVXQzlFSW1zbjFOSTFRa0hsdk1EVCUyRk4lMkI0dCU1QyUwRCUw QTV5b1JMaXdrdWY4Y0ZXbnFCZkJHJTJGM05HbjVKZDN2VGhHTXFLZ3ZncklkJTJCSk9tN3k2SUMl MkJsMlRhNUglMkJPR1dNeHF5dlVLaFR2JTVDJTBEJTBBR3lvSTNaM0dwTFpBZlNxOG90akNReWZt SzBsViUyQkZCVmdqJTJCclV2aEd5ZEEzYmZUR0l1SHdYR1plNWE5OE45dSUyQmwySnNVMk5pJTVD JTBEJTBBbTJjVTFtdjlueEFaYkk3OXN3ODRBbXU3Rlc2WXlZSVNlckVyJTJGQTNnSnVpSHRyWTNT OHp0dE1XdVhsV2lZM2klMkZYV0RlbFFNMiU1QyUwRCUwQWZHMklmQUozQVdKUmNFbnM5R2lCRlJQ bWRVbHolMkZrQyUyQktaR0NmVW5LaWd1RERVelNjOXQ0YlVCQkF6Vm8lMkZsVXBGciUyQmJDU1px JTVDJTBEJTBBJTJCcU50WjNnWk0wd0NLQiUyQiUyRmVENEhCSGs2S0lqbzcyQ1ZzcUloeVd2YUV2 WTRJMFZEOXo3aWlVMlZQSXkxcTh2a1daYSUyRk9TdFolNUMlMEQlMEFvJTJCZ1BMcDMwb2FRNUll TXFkcGYlMkIzTElMVUtDY3JBc0FRNXVmNTV4ekZTZ2QyYU44elFGWUVJSlJKbkJmczhobGNDSEZ0 eXRNJTVDJTBEJTBBMXl6JTJGcmdKQjJlYUpDaEg4TzdSQTZEcDh0bXczaTR1c3dCdkpsaUw5MnBq VVlkc0JFNUJTdzE3WmR5eHk2ZCUyRmVrU2RmQUx1ZiU1QyUwRCUwQWlmbmxHaWJNbFRqVjZCUXd3 eTJjckRDS1JKUHdrWW1MJTJCbDRncXpTS0s4WFcxOWhYTktLbVolMkZsOU8lMkZuNnlVUktNQ29O Z0M1dSU1QyUwRCUwQWVOQkNMZDVXaGZBbVdxU3k5cERCMlFGYmJLMWlZY3olMkZRNkxsMElKb01G N041V081byUyRkkzTmZsTkZUUkdPNUZQbSUyQjJSa015VyU1QyUwRCUwQVVOMnVOdVRNS0NGeDQ4 SVdrU1FUZjdNSHVQb0RPdiZhbXA7bj0nKSI+CjxpbWcgYWx0PSIiIHNyYz0iP3A9MyZhbXA7ZD1w Vjh2QUVTb2ozMGNLQWhvMkYxSmRlTGt2dkZJM2Nndm9kY09nNHIyYlIlNUMlMEQlMEFGMkFrZVBV NzRDbldtJTJCMGJaaHhOQVViaGFKampZQWF2WUl0eGlWbE9wViUyRm9mZWVSUGpHdDdTSEpOU1R6 djN1dCUyQkRvTVJhTVclNUMlMEQlMEFEOEpyb3g3eFVodHZ6QmRZRkdPRXNkdzRsNFlYc2hVZTJy MmwzODNEUG1NcVlpNmlNNkg5UEkwbjBrdnBLbTF1eURWUVN1Zk4lNUMlMEQlMEFBNkpOcHkyS1R1 MEtNZ2xhZnZ1MTRIbGZZbzU2eEVjbjFHMlJmbjJwQzdZVXA2emU5SWZSVlM4NkhzQVFqUHN3VURF ZTdLR0glNUMlMEQlMEFGZW1TR0tORVAwdXJkYTNMcmg2JTJCaTRSUjQ3MWpGb2J1WVg3UmZCWHEz QUdIWlV1JTJGOWZUSDZGYUM5WTJHUXJwVks0dWZoWEp2JTVDJTBEJTBBWSUyRkxSYU5tbEFSeWFy bzBWZ2MlMkY4a0FVMFZ5S3YyS0VVMDN4eTlUam81ZHZoakNRU3FIWkgzajJORFglMkZuQzM2NWRB cEkyT1RDJTVDJTBEJTBBMEZpWmEzVDAxd2ZnMWRLNWk5eVR4JTJGaGRBSGt0bWVScnolMkJtVmxt bXZZOUIlMkI0R1p0b2ltaFVtYzltWm1aUW4zNVJZNkJZYm94JTVDJTBEJTBBTjdXJTJCUElqMTAy NGN3c3c0dEdCZkttNnBVYVdqcGd3dlZOQVZWayUyQnJBcVFXcGVQaDM0aFVlWTc5ZTJQWWlIbzc2 NXdZS1pONiU1QyUwRCUwQUZrRDZ0RkQ2ZE9tTUkyWFljWXlGZ2VEUXVST1h0SyUyQkQ1VTZHVXUz d3BWRkl3VUdHMVlwUDVKZTBDZTE4WlBMRGV0dndXbUdxJTVDJTBEJTBBUyUyRjdYd0N6RTNCYXN6 bFpUbXp1TW9EaFRyVmdtem9hbDBWcE1xWCUyRnY3YzhMdUJMMXdjc1klMkZpb2RYSHBGJTJCUmpB U2dlQjNPbmUlNUMlMEQlMEFDS1clMkZJRGd3RyUyRk84elJvank4Vk85ZW5GUyUyQjU1RWV0RFlq cXhuZjVFT1pkRTNvd3JrS2FseE8lMkZlN1RKOHl4NmFnd2hlQkZ0QiU1QyUwRCUwQUlzV2RPJTJG SW8zSmFTWDZoRU42RTlMJTJGQW9MMm9mNzAlMkZSaG1DSFlyd1pGM2toUjRobko5QnIwekx1RWRI cHhpeTV1SXFubUsxSiU1QyUwRCUwQWZjTm0xbm56ZnpnM3VwZVhDZmEzRVQ3b01HWXVFWFd0c2xs djhHU3NGJTJCazFUNWhVaWlDUXFkdm13dUJCT3Vyb0xDRnZmNVVVJTVDJTBEJTBBTEJEYmFUYmRo SERiQlM5ek4zVFBoa1BvVTVxWUNWM0Z2MW5JeG9PYzhPMTNub3dxbyUyRmVWdTAlMkJjdVh4NXU5 YmRpTiUyQjAlMkJWS3UlNUMlMEQlMEExTTZjcGRrJTJCMjljRU4ycWM5TlM2T01Mb3ZVcnBlQWwl MkImYW1wO249JykiPgo8aW1nIGFsdD0iIiBzcmM9Ij9wPTQmYW1wO2Q9aHhkQkI3NHM3MjZFck10 cEZBaHZWdmNCOVB5RldZdHJuS1Z6Rk5BRCU1QyUwRCUwQU1HcjEydDFFMHdOT2ZvWHYxOGg5c2dZ SmZGZmRNSDkycmVIOGx0N2RSTWk2Q3BYcktRZmlpTHJDMyUyRlNsTnRjT0dCY1hvcm5LJTVDJTBE JTBBM0x6NCUyQkJ5eHFyTktEVG1BbUlKNVRiYVVmb0dsV3RhcWpDRmx5ZiUyQmpvQW1HSkltS1Js OTY1NCUyRnNzSlFINzglMkI1ZEV1QmczY2clNUMlMEQlMEElMkI0bTkxZ05LU0lTdkRXbzJ3eU1S NFpkaVlQMXRPcVlLOU1KTVNQa0RtdE56NkVYSkExRHZpM0ZEQnFCVVhUQUpIdEpXJTJGR00lMkIl NUMlMEQlMEFIbFhudHBLWmxVQnI5aHMlMkZsVFFjTmxJTVNJTHRYSGhnRyUyRlJmTTNXVjJidFZn S3BqcDh5b0hVYndrcml2OU9FWnRXTURTY1FRJTVDJTBEJTBBRk5NNDc2ZmNJV0NFMTFreTVIRjl5 TlNtajNiOE1kWU9ZZkt0SGJvYVBIekFUUmRaRW4yem1adHJHcnB4JTJGenl0cGR6UGV1QTMlNUMl MEQlMEF1OHVub2ZBVGlJMUtqaW5ISlpqR3RvQkZiWUc1YVRMamo0QTFuZWNqR0M0WTBpTEU5QmhR cGNQTXprNzElMkJCcW5pWU5hd0hvYyU1QyUwRCUwQUZhN0tEME1ySUpPUzdnNHAwV1d0R1VENUJN dFYxUG10VUVkOUI4WlNIcE9ZWWVqYkJtQ2wzdlpMemU0VG4za2N2VXRiVThRZCU1QyUwRCUwQWsl MkZCMW5YNllkbGl5RHI1WmFXTHphSXFURnFMb055SnJQQzI1UnppcGolMkZ1VjdJUUVxSFM5b2Qy SFd6ZSUyQlNpSWFYaFpWM3VEOCU1QyUwRCUwQTBTSVpRNFQ3YiUyRkhGUDdoYUslMkJGQktNUUox SCUyQnNONmwlMkZKZ0RuNWMlMkZXUWd5U00zS0NkQkxYNlFoTmZ4N1hKNHhpSUM0b091SmMlNUMl MEQlMEFrdCUyRnFMdjdXcm1hQ3lwTzkzbGszVGtJZE9pMTY5ekkwdk9LWiUyQkkwRTRnTDhGYlFD d1RFYk5mVkEzYUVVTVNmYjk3T3hQcUdrJTVDJTBEJTBBUkYlMkZPVzdNcU5mUkJYdCUyRnYlMkZk U3FXQkZGZEhKdjFTWG9sVTJWcFF6SWpYUSUyRk9wbCUyRjQyeW1VRlI2c2FRNUxSSDRJSFElMkZl RjRkJTVDJTBEJTBBV3VyWUdVc05CZDdwJTJGT3l3ZFptTFV4YnkyWjZHdEhwcyUyQkdOeFhKeDZI JTJCY3lWTkpnZEpwQkJNbnpXYWxkV0xoYmZSVGhRNDMwJTVDJTBEJTBBMlA2VVdJaGM4Ym1Udmg0 VGsyTEZQM3FGY004dUtvWmRPdkJMJTJGNmREZTRYTTZiTzRTelBndXJZSklIVVo0Q2RmWDAwR3RR bWwlNUMlMEQlMEFKREo0bkhxdlo1VSUyRkgxbmpsMTk1ZDczWExQTFBHZEt5JmFtcDtuPScpIj4K PGltZyBhbHQ9IiIgc3JjPSI/cD01JmFtcDtkPVgxJTJGUmVEYk1EVXJuTE1SWSUyRk9KZElxYlMx MURUbGJzU1JoSHBraDB0JTVDJTBEJTBBc2N0ekdqb1gwV3JQTnJWVTBMdnMlMkZibGE1c0ZPcHpS elo2bDlmbWVKT2tWTCUyQjJYelFpak5UaWVZJTJGVUN5JTJGNVNCanlLTGxIdE0lNUMlMEQlMEFi dUxwZVlnSkUxaloyRm9JZVhhSDE5d3ZEOVIxckZNSTNxdU1WQ3NwNjVGY0Nac0dGc3hEM21UOEkx VGkxYWdHUzFZYXMzM1YlNUMlMEQlMEEyME1nTU16ZnRUUUY5YzFaUWFoREt0R3M1N2p0b2JCJTJG VG1NdWFoT3Jhc1hBVEdqS3QzMXUxODg4U1lIaDNLaWdhaHBPN2ZqTiU1QyUwRCUwQUclMkZVSkIw aSUyRm5VWmdQeWlkSUdNWHd1QzBKdDEyZXhjVFBGTEw3SW80WkFTM240RjNxUE9qZyUyRkxoUHFU aUtBc0JiOGVhWkFKYSU1QyUwRCUwQUlua2xwNVlBbmRaciUyQjdSczJ6VmdaYjN4TzclMkZCemV5 NEQlMkJXa29yS3JobnZxTDdkU3N0TFkxa2UlMkJRYnM0S05SRHYwb0U3ZmJpJTVDJTBEJTBBbWZn dUE4eSUyRmZLemhVWiUyQnpFWTMzJTJGVko5ZDZCQVZvZW01c3pvU0o2dHZlZ0FqV3M2SG1vTWF6 c1pTVWpRU2lneXllTUJwOUNtJTVDJTBEJTBBYkNieVlPcWhIaTllQzNNWjRMZzEza0wxaGhXdFVN WEM0dWp1TVlOazFqTVZaWEdXQmUwNGclMkJhVUNKanREeHdPYVNlYyUyRnZOWCU1QyUwRCUwQWdp eG9PTFFYTGVlckhSUyUyQkZXb2UxYXMzU09OVVdHaU00TnRQakk3MUR4YW10Mk9FUXhsOVVFTlAx WnZRbXkwZ29TWnpidnQ1JTVDJTBEJTBBem5oazI2enpKanFZVjhrQlpVbTZiZmFBeE5tOGdGVXlm UHVhVndwVDFOV3ZUZ3kwMnhtRHBEa2RLQSUyQlJBRTZYb0JGVVAyMWYlNUMlMEQlMEF6V21FdnpK aFBCU2s5allCMUlKUmtkNXZNblo2TWR0YjUxS3hqdFprYngxWUJvRkJDRU53M1pYb25relpKJTJC bnRWakJDNzZxWCU1QyUwRCUwQXg3YWYlMkYlMkI3ejVITlVyeWZ2R1JOY1Jpem1OMjhuS3FXc1d6 aTRScmhpY0g4OGtVRDY5Z3JkU0clMkI2RWJMTEJJMWcwS01SMGlGNyU1QyUwRCUwQWlrSnd0JTJG NFVoT2ZYVEgycWRRSldxUlZkZlBoNlpZUldMNzhzSW9IbndRNSUyQk8lMkJBRU4lMkJHSGMyT01O MGtkYzBKWVpNbUYwcFZDJTVDJTBEJTBBRk9Ubzcyd1pWbCUyRmVlck1oRVYlMkIzRzRoUlR4eFhG dWFYbkQ5WERkeTEzbXNtQmdoZ282ajB4TU5QTEJ0dThKSjd0QUozTkV3NSU1QyUwRCUwQURWUVl4 NnFSeFpoRTI4bUpUbjF1WnRVNVNRMjBsREhhOUglMkYmYW1wO249JykiPgo8aW1nIGFsdD0iIiBz cmM9Ij9wPTYmYW1wO2Q9VTNzNmdKYnl3cGQ3QmhabEJWbjhBRGlhamRtTzVFR2olMkJNcWQyJTVD JTBEJTBBVEYxUzdqb2N3RDhzQnlRcXh6bGUlMkZWUHBBMDlNb0ZNN0ZPMlpVMFFkbkklMkJBWk44 MG0lMkZhREQ1NHJhczNhRGZxJTJCN2VMcVhxbGwlNUMlMEQlMEFDY0wxUGlGeFVQak44ZFZzaWdj UHhEUEQ1UFo0JTJGQ0FVQ29YaFYwQkZBYzlWJTJGQXZBbkw0cFlXaGxPQlVqVThJZW5JeTNUb0JP JTVDJTBEJTBBT3JuV00yaE1lQ2RDNzkzbktSNSUyQlVkaFY0R2lCVU15MEFmV0FyMSUyRjdUWW5i NEtYRlVZN2MwclpmZUJ4YUUlMkZRWTIlMkZkdEVhUnMlNUMlMEQlMEElMkI1Y0lpZWR4aSUyQmZP OU1kRzNuUHlyd3hTNmRibm14JTJGaTlCWDdiUmtQcVlTNnBSQXhyQ2dZVkNIdmMzNTN2N2pFWWxV eDBTb1clNUMlMEQlMEFKU3glMkJjUWhtYVQxWEolMkJBbUpNVnVTNUJVdlVMZWxIU3I5VDhQZE84 aW0xQ1NlQXAxZUFSZzBlcFM4bFZxYlNFSHFOSlN5YmtxJTVDJTBEJTBBMjR2Q2wyJTJGUGclMkJs WUlFY0dnbUpsVllZYVcwNmF1U2Z0OWtNQnpHaGpaS2hDWDdYYXZrb1pOTTJ3NkM4NWo1cnlBVzN6 eWcwUiU1QyUwRCUwQTg5N3VqZjdjMjVxOTF1Z0lQR0hXSXRJZmd4Y0ZEUXMwQjdpJTJCOWtiWjBn RjlGY0ozWGlmSEp2VTJBQiUyRmQ5TTMlMkIydFRaanBGcCU1QyUwRCUwQTdYbE9RY3g1Tm00T2hs enJmZm5ERU9mT2lkZk1BOWpNZmszT3paS0RYYnNiWEt6eXJtOXliaVNyVkozZmxLVWtOU1d1M1ds ciU1QyUwRCUwQUt4SWdCUnM3JTJCOFlsOXYyR3JNSG1RMm5GNVg3WiUyQjBJU3VqeW9NMnpYR2pP ckdQbkU4M1NMU0RuWVYzZkdnUERGJTJGOGN0eEh3OSU1QyUwRCUwQUR6QnNOamhlZFQlMkZFSWo4 TzBoR2xOVVNsWXQ0alV4amRNSDg5d2N3V3lVY2U3dmxaeElFNFVpZjBuS0taZmlscXRGNm5MNmNC JTVDJTBEJTBBTCUyQktUeW4lMkZiYyUyRmdyYklFUU01Tm5Md1hXbnV2bnZoMmlmdlhqR0tyR1BX dzlwNUl2RUdISGN3JTNEJTNEJywlMEQlMEEnQUFBQUFBJTNEJTNEJyUwRCUwQSU1RCU3RCUwRCUw QSsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrJmFtcDtuPScpIj4KPHNjcmlwdAp0eXBlPSJ0ZXh0L2phdmFzY3Jp cHQiCmxhbmd1YWdlPWphdmFzY3JpcHQ+PCEtLQppZih2aClha2koKTsvLy0tPjwvc2NyaXB0Pjx4 bXA+PC94bXA+PC9kaXY+PGRpdgphbGlnbj1jZW50ZXI+PHAKc3R5bGU9ImZvbnQtc2l6ZTo2cHgi PiZuYnNwOzwvcD48dGFibGUKY2VsbHBhZGRpbmc9MApjZWxsc3BhY2luZz0wCndpZHRoPTc1MApi b3JkZXI9MAppZD1vdXRlclRhYmxlCmJnY29sb3I9IiNGRkZGRkYiPjx0cj48dGQKaGVpZ2h0PTEK Y29sc3Bhbj00CmJnY29sb3I9IiNGMEU2Q0MiCmNsYXNzPXNwYWNlcjJweD4mbmJzcDs8L3RkPjx0 ZApjbGFzcz1zcGFjZXIxcHg+Jm5ic3A7PC90ZD48L3RyPjx0cj48dGQKd2lkdGg9MQpyb3dzcGFu PTYKYmdjb2xvcj0iI0NDQzBBQSIKY2xhc3M9c3BhY2VyMXB4PiZuYnNwOzwvdGQ+PHRkCmhlaWdo dD0xCmNvbHNwYW49MgpiZ2NvbG9yPSIjRjdGN0Y3IgpjbGFzcz1zcGFjZXIycHg+Jm5ic3A7PC90 ZD48dGQKd2lkdGg9Mgpyb3dzcGFuPTMKYmdjb2xvcj0iI0Y3RjdGNyIKY2xhc3M9c3BhY2VyMXB4 PiZuYnNwOyZuYnNwOzwvdGQ+PHRkCndpZHRoPTIKcm93c3Bhbj01CmJnY29sb3I9IiNBQUEzOTki CmNsYXNzPXNwYWNlcjJweD4mbmJzcDsmbmJzcDs8L3RkPjwvdHI+PHRyPjx0ZAp3aWR0aD0xCnJv d3NwYW49MgpiZ2NvbG9yPSIjRjdGN0Y3IgpjbGFzcz1zcGFjZXIxcHg+Jm5ic3A7Jm5ic3A7Jm5i c3A7PC90ZD48dGQ+PHRhYmxlCmNlbGxwYWRkaW5nPTAKY2VsbHNwYWNpbmc9MApib3JkZXI9MAp3 aWR0aD0iMTAwJSI+PHRyPjx0ZAp3aWR0aD0xMzAKaGVpZ2h0PTgxCnZhbGlnbj10b3AKYWxpZ249 bGVmdAppZD1sb2dvQ2VsbD4KPGltZwphbHQ9IiIKc3JjPSJodHRwczovL2llYTM3MHEwMy5xYS5z YnIuaXJvbnBvcnQuY29tL3dlYnNhZmUvYnJhbmRpbmcvY3VzdG9tZXItbG9nby5naWYiCmJvcmRl cj0wPjwvdGQ+PHRkCndpZHRoPSIxMDAlIj4mbmJzcDs8L3RkPjx0ZAp3aWR0aD0xMzAKaGVpZ2h0 PTgxCmFsaWduPXJpZ2h0CnZhbGlnbj10b3AKaWQ9cG9zdG1hcmtDZWxsPjxkaXYKaWQ9b3V0ZXJQ b3N0bWFyaz48ZGl2CmlkPWlubmVyUG9zdG1hcms+PHRhYmxlCmNlbGxwYWRkaW5nPTAKY2VsbHNw YWNpbmc9MApib3JkZXI9MD48dHI+PHRkCnZhbGlnbj10b3A+CjxpbWcKYWx0PSIiCnNyYz0iaHR0 cHM6Ly9pZWEzNzBxMDMucWEuc2JyLmlyb25wb3J0LmNvbS93ZWJzYWZlL2JyYW5kaW5nL3Bvc3Rt YXJrTGVmdExvY2FsLmdpZiIKYm9yZGVyPTA+CjwvdGQ+PHRkCnZhbGlnbj10b3A+CjxpbWcKYWx0 PSIiCnNyYz0iaHR0cHM6Ly9pZWEzNzBxMDMucWEuc2JyLmlyb25wb3J0LmNvbS93ZWJzYWZlL2Jy YW5kaW5nL3Bvc3RtYXJrLmdpZiIKYm9yZGVyPTA+CjxkaXYKYWxpZ249Y2VudGVyCmlkPXRpbWVT dGFtcENvbnRhaW5lcj48c3BhbgppZD10aW1lU3RhbXBMb2NhdGlvbj4mbmJzcDs8L3NwYW4+PC9k aXY+PC90ZD48L3RyPgo8dHI+PHRkCmNvbHNwYW49MgphbGlnbj1yaWdodD48dGFibGUKYm9yZGVy PTAKY2VsbHBhZGRpbmc9MApjZWxsc3BhY2luZz0wPjx0cgppZD1zZW5kZXJBdXRoTG9jYXRpb24+ PHRkCmNsYXNzPXNlbmRlckF1dGgKYWxpZ249cmlnaHQ+PC90ZD48dGQKY2xhc3M9c2VuZGVyQXV0 aAphbGlnbj1sZWZ0PjwvdGQ+PC90cj48dHIKaWQ9c2Vuc2l0aXZpdHlMb2NhdGlvbj48dGQKY2xh c3M9c2VuZGVyQXV0aAphbGlnbj1yaWdodD48L3RkPjx0ZApjbGFzcz1zZW5kZXJBdXRoCmFsaWdu PWxlZnQ+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPgo8L3RhYmxlPjwvZGl2PjwvZGl2Pjwv dGQ+PC90cj48L3RhYmxlPjwvdGQ+PC90cj48dHI+PHRkCmFsaWduPWNlbnRlcgppZD1pZnJhbWVM b2NhdGlvbj48dGFibGUKY2VsbHBhZGRpbmc9MApjZWxsc3BhY2luZz0wCmJvcmRlcj0wCndpZHRo PSIxMDAlIgpjbGFzcz1tYWluV2luZG93CmlkPWlmcmFtZVRhYmxlPjx0cj48dGQKaWQ9aGVpZ2h0 Q29udHJvbApoZWlnaHQ9MjEwPjx0YWJsZQphbGlnbj1jZW50ZXIKd2lkdGg9NzAwCmlkPWNlbnRl clRhYmxlCmNlbGxwYWRkaW5nPTAKY2VsbHNwYWNpbmc9MApib3JkZXI9MD48dHI+PHRkPjx0YWJs ZQphbGlnbj1jZW50ZXIKY2VsbHBhZGRpbmc9MApjZWxsc3BhY2luZz0wCmJvcmRlcj0wPjx0cj48 dGQKd2lkdGg9MTU1PiZuYnNwOzwvdGQ+PHRkCmFsaWduPWNlbnRlcgppZD1ib3JkZXJDb250YWlu ZXI+PGRpdgphbGlnbj1yaWdodAppZD1oZWxwTGlua0xvY2F0aW9uPjxhCmhyZWY9Imh0dHBzOi8v aWVhMzcwcTAzLnFhLnNici5pcm9ucG9ydC5jb20vd2Vic2FmZS9oZWxwP3RvcGljPUVudmVsb3Bl Igp0YXJnZXQ9Il9ibGFuayI+SGVscDwvYT48L2Rpdj48ZGl2CmlkPWJvcmRlcldpbmRvd0NvbnRh aW5lcj48ZGl2CmlkPWJvcmRlcldpbmRvd0Jsb2NrPjwvZGl2Pjx0YWJsZQpjZWxscGFkZGluZz0w CmNlbGxzcGFjaW5nPTAKaWQ9Ym9yZGVyVGFibGUKY2xhc3M9Ym9yZGVyV2luZG93CndpZHRoPSIx MDAlIj48dHIKaWQ9ZnJvbVJvdz48dGQKY2xhc3M9ZXZwV2luZG93PjxwPkZyb206PC9wPjwvdGQ+ PHRkCmNsYXNzPWV2cFdpbmRvdwpjb2xzcGFuPTI+PHNwYW4KY2xhc3M9ZW1haWwKaWQ9ZW1haWxG cm9tPktyaXMgS2VubmF3YXkgJmx0O2tyaXNARnJlZUJTRC5vcmcmZ3Q7PC9zcGFuPjwvdGQ+PC90 cj48dHIKaWQ9dG9Sb3c+PHRkCmNsYXNzPWV2cFdpbmRvdz48cD5Ubzo8L3A+PC90ZD48dGQKY2xh c3M9ZXZwV2luZG93CmNvbHNwYW49Mj48c3BhbgpjbGFzcz1lbWFpbAppZD1lbWFpbFRvPjxzZWxl Y3QKaWQ9dG9TZWxlY3QKbmFtZT1yZWNpcGllbnQ+PG9wdGlvbgp2YWx1ZT1udWxsPi0gU2VsZWN0 IE9uZSAtPC9vcHRpb24+CjxvcHRpb24gdmFsdWU9Il90byI+VG86PC9vcHRpb24+CjxvcHRpb24g dmFsdWU9ImN2cy1hbGxARnJlZUJTRC5vcmciPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO2N2cy1h bGxARnJlZUJTRC5vcmc8L29wdGlvbj4KPG9wdGlvbiB2YWx1ZT0iY3ZzLXBvcnRzQEZyZWVCU0Qu b3JnIj4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtjdnMtcG9ydHNARnJlZUJTRC5vcmc8L29wdGlv bj4KPG9wdGlvbiB2YWx1ZT0icG9ydHMtY29tbWl0dGVyc0BGcmVlQlNELm9yZyI+Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7cG9ydHMtY29tbWl0dGVyc0BGcmVlQlNELm9yZzwvb3B0aW9uPjxvcHRp b24KdmFsdWU9Il9iY2MiPkFkZHJlc3Mgbm90IGxpc3RlZDwvb3B0aW9uPjwvc2VsZWN0PjxzY3Jp cHQKdHlwZT0idGV4dC9qYXZhc2NyaXB0IgpsYW5ndWFnZT1qYXZhc2NyaXB0PjwhLS0KdmFyIGR3 PWtlKCd0b1NlbGVjdCcpO2lmKGR3KWR3Lm9uY2hhbmdlPWFvZTsvLy0tPjwvc2NyaXB0Pgo8L3Nw YW4+PC90ZD48L3RyPjx0cgppZD1zdWJqZWN0Um93Pjx0ZApjbGFzcz1ldnBXaW5kb3c+PHA+U3Vi amVjdDombmJzcDsmbmJzcDsmbmJzcDs8L3A+PC90ZD48dGQKY2xhc3M9ZXZwV2luZG93CmNvbHNw YW49Mj48c3BhbgpjbGFzcz1lbWFpbAppZD1lbWFpbFN1YmplY3Q+Y3ZzIGNvbW1pdDogcG9ydHMv d3d3L29zYi1ucmNpdCBNYWtlZmlsZTwvc3Bhbj48L3RkPjwvdHI+PHRyCmlkPXBhc3N3b3JkUm93 MT48dGQKaWQ9cGFzc3dvcmRUaXRsZTEKY2xhc3M9cGFzc3dvcmRSb3c+PHNjcmlwdAp0eXBlPSJ0 ZXh0L2phdmFzY3JpcHQiCmxhbmd1YWdlPWphdmFzY3JpcHQ+PCEtLQppZighdmcpYWtqKCk7Ly8t LT48L3NjcmlwdD48c3BhbgpjbGFzcz10ZXh0PlBhc3N3b3JkOjwvc3Bhbj4KPHNjcmlwdAp0eXBl PSJ0ZXh0L2phdmFzY3JpcHQiCmxhbmd1YWdlPWphdmFzY3JpcHQ+PCEtLQppZighdmcpYWtpKCk7 Ly8tLT48L3NjcmlwdD48L3RkPjx0ZAppZD1wYXNzd29yZEVudHJ5MQpjbGFzcz1wYXNzd29yZFJv dz48c2NyaXB0CnR5cGU9InRleHQvamF2YXNjcmlwdCIKbGFuZ3VhZ2U9amF2YXNjcmlwdD48IS0t CmlmKCF2Zylha2ooKTsvLy0tPjwvc2NyaXB0PjxzcGFuCmNsYXNzPXRleHQ+PGlucHV0IHR5cGU9 cGFzc3dvcmQgbmFtZT0na2V5MScgc2l6ZT0yMCBtYXhsZW5ndGg9NDA+PC9zcGFuPgo8c2NyaXB0 CnR5cGU9InRleHQvamF2YXNjcmlwdCIKbGFuZ3VhZ2U9amF2YXNjcmlwdD48IS0tCmlmKCF2Zylh a2koKTsvLy0tPjwvc2NyaXB0PjwvdGQ+PHRkCmFsaWduPXJpZ2h0PjxkaXYKaWQ9cGFzc3BocmFz ZUNvbnRhaW5lcj48ZGl2CmlkPXBhc3NwaHJhc2VDZWxsSlM+PC9kaXY+PC9kaXY+PC90ZD48L3Ry Pjx0cgppZD1mb3Jnb3RQYXNzd29yZFJvdz48dGQ+PC90ZD48dGQKaWQ9Zm9yZ290UGFzc3dvcmRD ZWxsCmNsYXNzPWZvcmdvdFBhc3N3b3JkUm93PjxzY3JpcHQKdHlwZT0idGV4dC9qYXZhc2NyaXB0 IgpsYW5ndWFnZT1qYXZhc2NyaXB0PjwhLS0KaWYoIXZnKWFraigpOy8vLS0+PC9zY3JpcHQ+PGEK dGFyZ2V0PSJfYmxhbmsiCmhyZWY9Imh0dHBzOi8vaWVhMzcwcTAzLnFhLnNici5pcm9ucG9ydC5j b20vd2Vic2FmZS9wc3dkRm9yZ290LmFjdGlvbiI+Rm9yZ290IHBhc3N3b3JkPzwvYT4KPHNjcmlw dAp0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiCmxhbmd1YWdlPWphdmFzY3JpcHQ+PCEtLQppZighdmcp YWtpKCk7Ly8tLT48L3NjcmlwdD48L3RkPjwvdHI+Cjx0cgppZD1jaGVja2JveFJvdz48dGQKY29s c3Bhbj0zCmlkPWNoZWNrYm94ZXNMb2NhdGlvbj48L3RkPjwvdHI+PHRyCmlkPWFkZHJlc3NTZW50 aW5lbFJvdz48dGQKY29sc3Bhbj0zPjxwCnN0eWxlPSJmb250LXNpemU6MXB4Ij4mbmJzcDs8L3A+ PC90ZD48L3RyPjwvdGFibGU+PC9kaXY+PC90ZD48dGQKd2lkdGg9MTU1CmlkPXBhc3NwaHJhc2VD ZWxsCnZhbGlnbj1ib3R0b20+PHRhYmxlCmNlbGxwYWRkaW5nPTAKY2VsbHNwYWNpbmc9MApib3Jk ZXI9MAp3aWR0aD0iMTAwJSIKaWQ9cGFzc3BocmFzZVRhYmxlPjx0cj48dGQKaWQ9cGFzc3BocmFz ZUxhYmVsUm93CmNsYXNzPXBhc3NwaHJhc2VMYWJlbFJvdz48dGFibGUKY2VsbHBhZGRpbmc9MApj ZWxsc3BhY2luZz0wCmJvcmRlcj0wPjx0cj48dGQKaWQ9cGFzc3BocmFzZUxhYmVsCmNsYXNzPXBh c3NwaHJhc2VMYWJlbD48c2NyaXB0CnR5cGU9InRleHQvamF2YXNjcmlwdCIKbGFuZ3VhZ2U9amF2 YXNjcmlwdD48IS0tCmlmKCF2Zylha2ooKTsvLy0tPjwvc2NyaXB0PlBlcnNvbmFsIFNlY3VyaXR5 IFBocmFzZQo8c2NyaXB0CnR5cGU9InRleHQvamF2YXNjcmlwdCIKbGFuZ3VhZ2U9amF2YXNjcmlw dD48IS0tCmlmKCF2Zylha2koKTsvLy0tPjwvc2NyaXB0PjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+ PC90cj48dHI+PHRkCmlkPXBhc3NwaHJhc2VUZXh0CmNsYXNzPXBhc3NwaHJhc2VUZXh0PjxzY3Jp cHQKdHlwZT0idGV4dC9qYXZhc2NyaXB0IgpsYW5ndWFnZT1qYXZhc2NyaXB0PjwhLS0KaWYoIXZn KWFraignJm5ic3A7Jyk7Ly8tLT48L3NjcmlwdD48aT5Zb3VyIHBlcnNvbmFsIHBocmFzZSBpcyBu b3QKZW5hYmxlZCBvbiB0aGlzIG1hY2hpbmUuPC9pPjxzY3JpcHQKdHlwZT0idGV4dC9qYXZhc2Ny aXB0IgpsYW5ndWFnZT1qYXZhc2NyaXB0PjwhLS0KaWYoIXZnKWFraSgpOy8vLS0+PC9zY3JpcHQ+ PC90ZD48L3RyPgo8dHI+PHRkCmlkPXBhc3NwaHJhc2VJbmZvCmNsYXNzPXBhc3NwaHJhc2VJbmZv PjxzY3JpcHQKdHlwZT0idGV4dC9qYXZhc2NyaXB0IgpsYW5ndWFnZT1qYXZhc2NyaXB0PjwhLS0K aWYoIXZnKWFraignJm5ic3A7Jyk7Ly8tLT48L3NjcmlwdD48YQpocmVmPSJodHRwczovL2llYTM3 MHEwMy5xYS5zYnIuaXJvbnBvcnQuY29tL3dlYnNhZmUvaGVscD90b3BpYz1QUE5vdFNob3duIgp0 YXJnZXQ9Il9ibGFuayI+TW9yZSBpbmZvPC9hPjxzY3JpcHQKdHlwZT0idGV4dC9qYXZhc2NyaXB0 IgpsYW5ndWFnZT1qYXZhc2NyaXB0PjwhLS0KaWYoIXZnKWFraSgpOy8vLS0+PC9zY3JpcHQ+PC90 ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjx0cj48dGQ+Jm5ic3A7PC90ZD48dGQ+Cjx0YWJsZQp3 aWR0aD0iMTAwJSIKY2VsbHBhZGRpbmc9MApjZWxsc3BhY2luZz0wCmJvcmRlcj0wPjx0cgppZD1i dXR0b25Sb3c+PHRkCmNvbHNwYW49Mgp3aWR0aD0iMTAwJSI+PHRhYmxlCndpZHRoPSIxMDAlIgpi b3JkZXI9MApjZWxscGFkZGluZz0wCmNlbGxzcGFjaW5nPTA+PHRyPjx0ZApjbGFzcz1ldnBXaW5k b3cKdmFsaWduPXRvcApzdHlsZT0icGFkZGluZy1yaWdodDogMHB4IgppZD1idXR0b25Db250YWlu ZXIKaGVpZ2h0PTUwPjx0YWJsZQpjZWxscGFkZGluZz0wCmNlbGxzcGFjaW5nPTAKYm9yZGVyPTAK c3R5bGU9ImZsb2F0OiByaWdodCIKaWQ9YnV0dG9uVGFibGU+PHRyPjx0ZAppZD1vcGVuQnV0dG9u TG9jYXRpb24+PC90ZD48dGQKaWQ9YnV0dG9uRGl2aWRlcj48L3RkPjx0ZAppZD1zYXZlQnV0dG9u TG9jYXRpb24+PC90ZD48L3RyPjwvdGFibGU+PHNwYW4KaWQ9cGFzc01zZwpjbGFzcz10ZXh0Pjwv c3Bhbj48c3BhbgppZD1pbml0TXNnCmNsYXNzPXRleHQ+PHNjcmlwdAp0eXBlPSJ0ZXh0L2phdmFz Y3JpcHQiCmxhbmd1YWdlPWphdmFzY3JpcHQ+PCEtLQppZighdmcpYWtqKCcmbmJzcDsnKTsvLy0t Pjwvc2NyaXB0PlRoaXMgcGFnZSBtYXkgdGFrZSBhIG1pbnV0ZSB0bwpsb2FkLiBQbGVhc2Ugd2Fp dCBmb3IgdGhlIE9wZW4gYnV0dG9uIHRvIGFwcGVhciB0byBvcGVuIHRoaXMgbWVzc2FnZS4KPHNj cmlwdAp0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiCmxhbmd1YWdlPWphdmFzY3JpcHQ+PCEtLQppZigh dmcpYWtpKCk7Ly8tLT48L3NjcmlwdD48L3NwYW4+PC90ZD48dGQKd2lkdGg9MQphbGlnbj1yaWdo dCBub3dyYXAKc3R5bGU9InBhZGRpbmctcmlnaHQ6IDRweCI+PHNjcmlwdAp0eXBlPSJ0ZXh0L2ph dmFzY3JpcHQiCmxhbmd1YWdlPWphdmFzY3JpcHQ+PCEtLQppZighdmcpYWtqKCk7Ly8tLT48L3Nj cmlwdD48aW5wdXQgdHlwZT1oaWRkZW4gbmFtZT1ncHRfbXNnaWQKdmFsdWU9JzBEQUZGMEM4MDI2 Q0ZBNzA3RjAwMDAwMTkyMzI1NkQwJz4KPGlucHV0IHR5cGU9aW1hZ2UgbmFtZT1ncHRfc3VibWl0 IHNyYz0nP2J1dHRvbj1vaycgPgo8c2NyaXB0CnR5cGU9InRleHQvamF2YXNjcmlwdCIKbGFuZ3Vh Z2U9amF2YXNjcmlwdD48IS0tCmlmKCF2Zylha2koKTsvLy0tPjwvc2NyaXB0PjwvdGQ+PC90cj48 L3RhYmxlPjwvdGQ+PC90cj4KPHRyCmlkPWJjY1Jvdz48dGQKY2xhc3M9ZXZwV2luZG93PjwvdGQ+ PHRkCmNsYXNzPWV2cFdpbmRvdz48L3RkPjwvdHI+PHRyCmlkPXNlbnRpbmVsUm93Pjx0ZApjb2xz cGFuPTI+PHAKc3R5bGU9ImZvbnQtc2l6ZToxcHgiPiZuYnNwOzwvcD48L3RkPjwvdHI+PC90YWJs ZT48L3RkPjx0ZD4KJm5ic3A7PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjwvdGFibGU+PC90 ZD48L3RyPjx0cj48dGQKYWxpZ249cmlnaHQKaWQ9bGlua0NlbGw+PGEKaHJlZj0iaHR0cHM6Ly9p ZWEzNzBxMDMucWEuc2JyLmlyb25wb3J0LmNvbS93ZWJzYWZlL2hlbHA/dG9waWM9QWRkck5vdFNo b3duIgp0YXJnZXQ9Il9ibGFuayI+TXkgYWRkcmVzcyBpcyBub3QgbGlzdGVkPC9hPjwvdGQ+Cjwv dHI+PHRyPjx0ZAphbGlnbj1yaWdodAppZD1vb0xpbmtDZWxsPjxzY3JpcHQKdHlwZT0idGV4dC9q YXZhc2NyaXB0IgpsYW5ndWFnZT1qYXZhc2NyaXB0PjwhLS0KaWYoIXZnKWFraignJm5ic3A7Jyk7 Ly8tLT48L3NjcmlwdD5TdWJtaXQgeW91ciBwYXNzd29yZCBhYm92ZSB0bwpvcGVuIHlvdXIgbWVz c2FnZSBvbmxpbmUuPHNjcmlwdAp0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiCmxhbmd1YWdlPWphdmFz Y3JpcHQ+PCEtLQppZighdmcpYWtpKCk7Ly8tLT48L3NjcmlwdD48L3RkPjwvdHI+PHRyPjx0ZApj bGFzcz1zcGFjZXIycHg+Jm5ic3A7PC90ZD48L3RyPjwvdGFibGU+PC90ZD48L3RyPjx0cj48dGQK d2lkdGg9MQpiZ2NvbG9yPSIjRTNFRUVFIgpjbGFzcz1zcGFjZXIycHg+Jm5ic3A7PC90ZD48dGQK aWQ9Zm9vdGVyQ2VsbApzdHlsZT0iYm9yZGVyLXRvcDogMXB4IHNvbGlkICM5Njk5OUMiPjx0YWJs ZQpib3JkZXI9MApjZWxsc3BhY2luZz0wCmNlbGxwYWRkaW5nPTQKd2lkdGg9IjEwMCUiPjx0cj48 dGQKdmFsaWduPW1pZGRsZT4KPGltZwphbHQ9IiIKc3JjPSJodHRwczovL2llYTM3MHEwMy5xYS5z YnIuaXJvbnBvcnQuY29tL3dlYnNhZmUvYnJhbmRpbmcvcHJvdmlkZXIuZ2lmIgpib3JkZXI9MD4K PC90ZD48L3RyPjx0cj48dGQKYWxpZ249cmlnaHQ+PHNwYW4KY2xhc3M9Y29weXJpZ2h0PiZjb3B5 OyAyMDAwLTIwMDggQ2lzY28gU3lzdGVtcywgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgo8L3Nw YW4+PC90ZD48L3RyPjwvdGFibGU+PC90ZD48dGQKd2lkdGg9MgpiZ2NvbG9yPSIjRTNFRUVFIgpj bGFzcz1zcGFjZXIxcHg+Jm5ic3A7PC90ZD48L3RyPjx0cgpiZ2NvbG9yPSIjRUVFRUZGIj48dGQK Y29sc3Bhbj0yCmJnY29sb3I9IiNEQ0U2RTYiCmNsYXNzPXNwYWNlcjFweD4mbmJzcDs8L3RkPjx0 ZAp3aWR0aD0yCmJnY29sb3I9IiNENkUzRTMiCmNsYXNzPXNwYWNlcjJweD4mbmJzcDs8L3RkPjwv dHI+PHRyCmJnY29sb3I9IiM5OTk5QkIiPjx0ZApoZWlnaHQ9Mgpjb2xzcGFuPTQKYmdjb2xvcj0i Izk5OTM4OCIKY2xhc3M9c3BhY2VyMnB4PiZuYnNwOzwvdGQ+PC90cj48L3RhYmxlPjxkaXYKaWQ9 cHJvZ3Jlc3MxPjx0YWJsZT48dHI+PHRkPjwvdGQ+PC90cj48L3RhYmxlPjwvZGl2PjxkaXYKaWQ9 cHJvZ3Jlc3MyPjx0YWJsZT48dHI+PHRkPjwvdGQ+PC90cj48L3RhYmxlPjwvZGl2PjxkaXYKaWQ9 YXBwbGV0SG9sZGVyCnN0eWxlPSJwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDowO2hlaWdodDowO2Jv cmRlcjowIj48L2Rpdj48L2Rpdj48L2Zvcm0+PGRpdgppZD1oaWRkZW5BcmVhCnN0eWxlPSJkaXNw bGF5Om5vbmUiPjwvZGl2Pjxmb3JtCmlkPWZyYW1lRm9ybQp0YXJnZXQ9YXV0aEZyYW1lCmFjdGlv bj0iaHR0cHM6Ly9pZWEzNzBxMDMucWEuc2JyLmlyb25wb3J0LmNvbS93ZWJzYWZlL2N1c3RvbS5h Y3Rpb24/Y21kPWF1dGhGcmFtZSIKbWV0aG9kPVBPU1QKYWNjZXB0LWNoYXJzZXQ9VVRGLTg+PGlu cHV0CnR5cGU9aGlkZGVuCm5hbWU9c3UKdmFsdWU9IiI+PGlucHV0CnR5cGU9aGlkZGVuCm5hbWU9 aGVpZ2h0CnZhbHVlPSIiPjxpbnB1dAp0eXBlPWhpZGRlbgpuYW1lPXdpZHRoCnZhbHVlPSIiPjxp bnB1dAp0eXBlPWhpZGRlbgpuYW1lPSJoY19oZWlnaHQiCnZhbHVlPSIiPjxpbnB1dAp0eXBlPWhp ZGRlbgpuYW1lPSJjdF93aWR0aCIKdmFsdWU9IiI+PGlucHV0CnR5cGU9aGlkZGVuCm5hbWU9dgp2 YWx1ZT0yPjxpbnB1dAp0eXBlPWhpZGRlbgpuYW1lPWtzCnZhbHVlPSJeIj48aW5wdXQKdHlwZT1o aWRkZW4KbmFtZT1rc2toCnZhbHVlPVNIQTE+PGlucHV0CnR5cGU9aGlkZGVuCm5hbWU9a2NpCnZh bHVlPSIwIj48aW5wdXQKdHlwZT1oaWRkZW4KbmFtZT1tCnZhbHVlPSIiPjxpbnB1dAp0eXBlPWhp ZGRlbgpuYW1lPWZyCnZhbHVlPSJLcmlzIEtlbm5hd2F5ICZsdDtrcmlzQEZyZWVCU0Qub3JnJmd0 OyI+PGlucHV0CnR5cGU9aGlkZGVuCm5hbWU9c3ViCnZhbHVlPSJjdnMgY29tbWl0OiBwb3J0cy93 d3cvb3NiLW5yY2l0IE1ha2VmaWxlIj48aW5wdXQKdHlwZT1oaWRkZW4KbmFtZT1zcmEKdmFsdWU9 IkFSQzQiPjxpbnB1dAp0eXBlPWhpZGRlbgpuYW1lPSJzX29iIgp2YWx1ZT0xPjxpbnB1dAp0eXBl PWhpZGRlbgpuYW1lPSJzX29vIgp2YWx1ZT0xPjxpbnB1dAp0eXBlPWhpZGRlbgpuYW1lPSJzX3dh Igp2YWx1ZT0xPjxpbnB1dAp0eXBlPWhpZGRlbgpuYW1lPSJzX3JtIgp2YWx1ZT0wPjxpbnB1dAp0 eXBlPWhpZGRlbgpuYW1lPWZwbAp2YWx1ZT0iaHR0cHM6Ly9pZWEzNzBxMDMucWEuc2JyLmlyb25w b3J0LmNvbS93ZWJzYWZlL3Bzd2RGb3Jnb3QuYWN0aW9uIj48aW5wdXQKdHlwZT1oaWRkZW4KbmFt ZT1wcGwKdmFsdWU9Imh0dHBzOi8vaWVhMzcwcTAzLnFhLnNici5pcm9ucG9ydC5jb20vd2Vic2Fm ZS9oZWxwP3RvcGljPVBQTm90U2hvd24iPjxpbnB1dAp0eXBlPWhpZGRlbgpuYW1lPWhsCnZhbHVl PSJodHRwczovL2llYTM3MHEwMy5xYS5zYnIuaXJvbnBvcnQuY29tL3dlYnNhZmUvaGVscD90b3Bp Yz1FbnZlbG9wZSI+PGlucHV0CnR5cGU9aGlkZGVuCm5hbWU9InBfbWwiCnZhbHVlPSI0MCI+Cjxp bnB1dAp0eXBlPWhpZGRlbgpuYW1lPSJwX28iCnZhbHVlPTE+PGlucHV0CnR5cGU9aGlkZGVuCm5h bWU9InBfbiIKdmFsdWU9ImtleTEiPjxpbnB1dAp0eXBlPWhpZGRlbgpuYW1lPSJwX3MiCnZhbHVl PSIyMCI+PGlucHV0CnR5cGU9aGlkZGVuCm5hbWU9InBfdCIKdmFsdWU9IlBhc3N3b3JkOiI+PGlu cHV0CnR5cGU9aGlkZGVuCm5hbWU9a3N1CnZhbHVlPSJodHRwczovL2llYTM3MHEwMy5xYS5zYnIu aXJvbnBvcnQuY29tL2tleXNlcnZlci9rZXlzZXJ2ZXIiCj48aW5wdXQKdHlwZT1oaWRkZW4KbmFt ZT1zaWQKdmFsdWU9IiI+PGlucHV0CnR5cGU9aGlkZGVuCm5hbWU9dGsKdmFsdWU9IiI+PGlucHV0 CnR5cGU9aGlkZGVuCm5hbWU9Zm9vCnZhbHVlPSIiPjwvZm9ybT48c2NyaXB0CnR5cGU9InRleHQv amF2YXNjcmlwdCIKbGFuZ3VhZ2U9amF2YXNjcmlwdD48IS0tCmlmKHR5cGVvZiBqdz09J2Z1bmN0 aW9uJylqdygpO3dpbmRvdy5vbmxvYWQ9YW1hO3dpbmRvdy5vbmtleWRvd249YW1hO3ZhciBzdj0K ZG9jdW1lbnQuZm9ybXNbMF07c3Yub25zdWJtaXQ9ZnVuY3Rpb24oKXtyZXR1cm4gYW5uKHN2LApw YXlsb2FkKX07c3Yub25rZXl1cD1mdW5jdGlvbihha2gpe2Fucihzdixha2gpfTtpZighdmcpe2Fu eSgpCjthYnooMCwncGF5bG9hZFZhbHVlJywncGF5bG9hZEltYWdlJywKJ21ldGFQYXlsb2FkVmFs dWUnLCdtZXRhUGF5bG9hZEltYWdlJywiYW9pKDAsJ2tleTEnLHBheWxvYWQsIisKJyJodHRwczov L2llYTM3MHEwMy5xYS5zYnIuaXJvbnBvcnQuY29tL2tleXNlcnZlci9rZXlzZXJ2ZXIiKScKLHsn cHJvZ3Jlc3NGbic6dXEsJ3Byb2dyZXNzQXJncyc6eydwcm9ncmVzc0Jhcic6eydiZ0NvbG9yJzon IzgwODA4MCcsCidib3JkZXJDb2xvcic6JyMwMDAwMDAnfX19KX0vLy0tPjwvc2NyaXB0PjwvYm9k eT48L2h0bWw+Cg== ------Part-0-25882746-1264615844867--