Created
February 29, 2016 10:27
-
-
Save BibMartin/4b9784461d2fa0d89353 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| { | |
| "cells": [ | |
| { | |
| "cell_type": "code", | |
| "execution_count": 1, | |
| "metadata": { | |
| "collapsed": true | |
| }, | |
| "outputs": [], | |
| "source": [ | |
| "import folium\n", | |
| "import json\n", | |
| "from branca.utilities import _locations_mirror\n", | |
| "from folium.features import *\n", | |
| "from folium.features import _locations_tolist" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 2, | |
| "metadata": { | |
| "collapsed": true | |
| }, | |
| "outputs": [], | |
| "source": [ | |
| "class MultiPolygon(MacroElement):\n", | |
| " \"\"\"\n", | |
| " !! This is hacked from folium.features.MultiPolyLine !! \n", | |
| " \n", | |
| " \"\"\"\n", | |
| " def __init__(self, locations, color=None, weight=None,\n", | |
| " opacity=None, latlon=True, popup=None):\n", | |
| " super(MultiPolygon, self).__init__()\n", | |
| " self._name = 'MultiPolygon'\n", | |
| " self.data = (_locations_mirror(locations) if not latlon else\n", | |
| " _locations_tolist(locations))\n", | |
| " self.color = color\n", | |
| " self.weight = weight\n", | |
| " self.opacity = opacity\n", | |
| " if isinstance(popup, text_type) or isinstance(popup, binary_type):\n", | |
| " self.add_children(Popup(popup))\n", | |
| " elif popup is not None:\n", | |
| " self.add_children(popup)\n", | |
| "\n", | |
| " self._template = Template(u\"\"\"\n", | |
| " {% macro script(this, kwargs) %}\n", | |
| " var {{this.get_name()}} = L.multiPolygon(\n", | |
| " {{this.data}},\n", | |
| " {\n", | |
| " {% if this.color != None %}color: '{{ this.color }}',{% endif %}\n", | |
| " {% if this.weight != None %}weight: {{ this.weight }},{% endif %}\n", | |
| " {% if this.opacity != None %}opacity: {{ this.opacity }},{% endif %}\n", | |
| " });\n", | |
| " {{this._parent.get_name()}}.addLayer({{this.get_name()}});\n", | |
| " {% endmacro %}\n", | |
| " \"\"\") # noqa\n", | |
| "\n", | |
| " def _get_self_bounds(self):\n", | |
| " \"\"\"Computes the bounds of the object itself (not including it's children)\n", | |
| " in the form [[lat_min, lon_min], [lat_max, lon_max]]\n", | |
| " \"\"\"\n", | |
| " bounds = [[None, None], [None, None]]\n", | |
| " for point in iter_points(self.data):\n", | |
| " bounds = [\n", | |
| " [\n", | |
| " none_min(bounds[0][0], point[0]),\n", | |
| " none_min(bounds[0][1], point[1]),\n", | |
| " ],\n", | |
| " [\n", | |
| " none_max(bounds[1][0], point[0]),\n", | |
| " none_max(bounds[1][1], point[1]),\n", | |
| " ],\n", | |
| " ]\n", | |
| " return bounds\n" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 3, | |
| "metadata": { | |
| "collapsed": false | |
| }, | |
| "outputs": [], | |
| "source": [ | |
| "geo_json_data = json.load(open('./folium/examples/us-states.json'))" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 4, | |
| "metadata": { | |
| "collapsed": false | |
| }, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "text/html": [ | |
| "<div style=\"width:100%;\"><div style=\"position:relative;width:100%;height:0;padding-bottom:60%;\"><iframe src=\"data:text/html;base64,CiAgICAgICAgPCFET0NUWVBFIGh0bWw+CiAgICAgICAgPGhlYWQ+CiAgICAgICAgICAgIAogICAgICAgIAogICAgICAgICAgICA8bWV0YSBodHRwLWVxdWl2PSJjb250ZW50LXR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1VVEYtOCIgLz4KICAgICAgICAKICAgICAgICAgICAgCiAgICAgICAgCiAgICAgICAgICAgIDxzY3JpcHQgc3JjPSJodHRwczovL2NkbmpzLmNsb3VkZmxhcmUuY29tL2FqYXgvbGlicy9sZWFmbGV0LzAuNy4zL2xlYWZsZXQuanMiPjwvc2NyaXB0PgogICAgICAgIAogICAgICAgIAogICAgICAgIAogICAgICAgICAgICAKICAgICAgICAKICAgICAgICAgICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vYWpheC5nb29nbGVhcGlzLmNvbS9hamF4L2xpYnMvanF1ZXJ5LzEuMTEuMS9qcXVlcnkubWluLmpzIj48L3NjcmlwdD4KICAgICAgICAKICAgICAgICAKICAgICAgICAKICAgICAgICAgICAgCiAgICAgICAgCiAgICAgICAgICAgIDxzY3JpcHQgc3JjPSJodHRwczovL21heGNkbi5ib290c3RyYXBjZG4uY29tL2Jvb3RzdHJhcC8zLjIuMC9qcy9ib290c3RyYXAubWluLmpzIj48L3NjcmlwdD4KICAgICAgICAKICAgICAgICAKICAgICAgICAKICAgICAgICAgICAgCiAgICAgICAgCiAgICAgICAgICAgIDxzY3JpcHQgc3JjPSJodHRwczovL3Jhd2dpdGh1Yi5jb20vbHZvb2dkdC9MZWFmbGV0LmF3ZXNvbWUtbWFya2Vycy8yLjAvZGV2ZWxvcC9kaXN0L2xlYWZsZXQuYXdlc29tZS1tYXJrZXJzLmpzIj48L3NjcmlwdD4KICAgICAgICAKICAgICAgICAKICAgICAgICAKICAgICAgICAgICAgCiAgICAgICAgCiAgICAgICAgICAgIDxzY3JpcHQgc3JjPSJodHRwczovL2NkbmpzLmNsb3VkZmxhcmUuY29tL2FqYXgvbGlicy9sZWFmbGV0Lm1hcmtlcmNsdXN0ZXIvMC40LjAvbGVhZmxldC5tYXJrZXJjbHVzdGVyLXNyYy5qcyI+PC9zY3JpcHQ+CiAgICAgICAgCiAgICAgICAgCiAgICAgICAgCiAgICAgICAgICAgIAogICAgICAgIAogICAgICAgICAgICA8c2NyaXB0IHNyYz0iaHR0cHM6Ly9jZG5qcy5jbG91ZGZsYXJlLmNvbS9hamF4L2xpYnMvbGVhZmxldC5tYXJrZXJjbHVzdGVyLzAuNC4wL2xlYWZsZXQubWFya2VyY2x1c3Rlci5qcyI+PC9zY3JpcHQ+CiAgICAgICAgCiAgICAgICAgCiAgICAgICAgCiAgICAgICAgICAgIAogICAgICAgIAogICAgICAgICAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vY2RuanMuY2xvdWRmbGFyZS5jb20vYWpheC9saWJzL2xlYWZsZXQvMC43LjMvbGVhZmxldC5jc3MiIC8+CiAgICAgICAgCiAgICAgICAgCiAgICAgICAgCiAgICAgICAgICAgIAogICAgICAgIAogICAgICAgICAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vbWF4Y2RuLmJvb3RzdHJhcGNkbi5jb20vYm9vdHN0cmFwLzMuMi4wL2Nzcy9ib290c3RyYXAubWluLmNzcyIgLz4KICAgICAgICAKICAgICAgICAKICAgICAgICAKICAgICAgICAgICAgCiAgICAgICAgCiAgICAgICAgICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iaHR0cHM6Ly9tYXhjZG4uYm9vdHN0cmFwY2RuLmNvbS9ib290c3RyYXAvMy4yLjAvY3NzL2Jvb3RzdHJhcC10aGVtZS5taW4uY3NzIiAvPgogICAgICAgIAogICAgICAgIAogICAgICAgIAogICAgICAgICAgICAKICAgICAgICAKICAgICAgICAgICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL21heGNkbi5ib290c3RyYXBjZG4uY29tL2ZvbnQtYXdlc29tZS80LjEuMC9jc3MvZm9udC1hd2Vzb21lLm1pbi5jc3MiIC8+CiAgICAgICAgCiAgICAgICAgCiAgICAgICAgCiAgICAgICAgICAgIAogICAgICAgIAogICAgICAgICAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vcmF3Z2l0LmNvbS9sdm9vZ2R0L0xlYWZsZXQuYXdlc29tZS1tYXJrZXJzLzIuMC9kZXZlbG9wL2Rpc3QvbGVhZmxldC5hd2Vzb21lLW1hcmtlcnMuY3NzIiAvPgogICAgICAgIAogICAgICAgIAogICAgICAgIAogICAgICAgICAgICAKICAgICAgICAKICAgICAgICAgICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL2NkbmpzLmNsb3VkZmxhcmUuY29tL2FqYXgvbGlicy9sZWFmbGV0Lm1hcmtlcmNsdXN0ZXIvMC40LjAvTWFya2VyQ2x1c3Rlci5EZWZhdWx0LmNzcyIgLz4KICAgICAgICAKICAgICAgICAKICAgICAgICAKICAgICAgICAgICAgCiAgICAgICAgCiAgICAgICAgICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iaHR0cHM6Ly9jZG5qcy5jbG91ZGZsYXJlLmNvbS9hamF4L2xpYnMvbGVhZmxldC5tYXJrZXJjbHVzdGVyLzAuNC4wL01hcmtlckNsdXN0ZXIuY3NzIiAvPgogICAgICAgIAogICAgICAgIAogICAgICAgIAogICAgICAgICAgICAKICAgICAgICAKICAgICAgICAgICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vcHl0aG9uLXZpc3VhbGl6YXRpb24vZm9saXVtL21hc3Rlci9mb2xpdW0vdGVtcGxhdGVzL2xlYWZsZXQuYXdlc29tZS5yb3RhdGUuY3NzIiAvPgogICAgICAgIAogICAgICAgIAogICAgICAgIAogICAgICAgICAgICAKICAgICAgICAgICAgPHN0eWxlPgoKICAgICAgICAgICAgaHRtbCwgYm9keSB7CiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICAgICAgICAgIG1hcmdpbjogMDsKICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAjbWFwIHsKICAgICAgICAgICAgICAgIHBvc2l0aW9uOmFic29sdXRlOwogICAgICAgICAgICAgICAgdG9wOjA7CiAgICAgICAgICAgICAgICBib3R0b206MDsKICAgICAgICAgICAgICAgIHJpZ2h0OjA7CiAgICAgICAgICAgICAgICBsZWZ0OjA7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIDwvc3R5bGU+CiAgICAgICAgICAgIAogICAgICAgIAogICAgICAgICAgICAKICAgICAgICAgICAgPHN0eWxlPiAjbWFwX2QxNjkzN2E4YzEyYTQ5Mjc4Zjg1NGRmMDEyMzcyMmJiIHsKICAgICAgICAgICAgICAgIHBvc2l0aW9uIDogcmVsYXRpdmU7CiAgICAgICAgICAgICAgICB3aWR0aCA6IDEwMC4wJTsKICAgICAgICAgICAgICAgIGhlaWdodDogMTAwLjAlOwogICAgICAgICAgICAgICAgbGVmdDogMC4wJTsKICAgICAgICAgICAgICAgIHRvcDogMC4wJTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgPC9zdHlsZT4KICAgICAgICAKICAgICAgICAKICAgICAgICAKICAgICAgICA8L2hlYWQ+CiAgICAgICAgPGJvZHk+CiAgICAgICAgICAgIAogICAgICAgIAogICAgICAgICAgICAKICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9saXVtLW1hcCIgaWQ9Im1hcF9kMTY5MzdhOGMxMmE0OTI3OGY4NTRkZjAxMjM3MjJiYiIgPjwvZGl2PgogICAgICAgIAogICAgICAgIAogICAgICAgIAogICAgICAgIDwvYm9keT4KICAgICAgICA8c2NyaXB0PgogICAgICAgICAgICAKICAgICAgICAKICAgICAgICAgICAgCgogICAgICAgICAgICB2YXIgc291dGhXZXN0ID0gTC5sYXRMbmcoLTkwLCAtMTgwKTsKICAgICAgICAgICAgdmFyIG5vcnRoRWFzdCA9IEwubGF0TG5nKDkwLCAxODApOwogICAgICAgICAgICB2YXIgYm91bmRzID0gTC5sYXRMbmdCb3VuZHMoc291dGhXZXN0LCBub3J0aEVhc3QpOwoKICAgICAgICAgICAgdmFyIG1hcF9kMTY5MzdhOGMxMmE0OTI3OGY4NTRkZjAxMjM3MjJiYiA9IEwubWFwKCdtYXBfZDE2OTM3YThjMTJhNDkyNzhmODU0ZGYwMTIzNzIyYmInLCB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjZW50ZXI6WzQzLC0xMDBdLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgem9vbTogNCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1heEJvdW5kczogYm91bmRzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGF5ZXJzOiBbXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNyczogTC5DUlMuRVBTRzM4NTcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgCiAgICAgICAgCiAgICAgICAgCiAgICAgICAgICAgIAogICAgICAgICAgICB2YXIgdGlsZV9sYXllcl9lMzVhNGEwYmIzNDY0YTNlYmRkMDAxMDYzMjE0NTZhMSA9IEwudGlsZUxheWVyKAogICAgICAgICAgICAgICAgJ2h0dHBzOi8ve3N9LnRpbGUub3BlbnN0cmVldG1hcC5vcmcve3p9L3t4fS97eX0ucG5nJywKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBtYXhab29tOiAxOCwKICAgICAgICAgICAgICAgICAgICBtaW5ab29tOiAxLAogICAgICAgICAgICAgICAgICAgIGF0dHJpYnV0aW9uOiAnRGF0YSBieSA8YSBocmVmPSJodHRwOi8vb3BlbnN0cmVldG1hcC5vcmciPk9wZW5TdHJlZXRNYXA8L2E+LCB1bmRlciA8YSBocmVmPSJodHRwOi8vd3d3Lm9wZW5zdHJlZXRtYXAub3JnL2NvcHlyaWdodCI+T0RiTDwvYT4uJywKICAgICAgICAgICAgICAgICAgICBkZXRlY3RSZXRpbmE6IGZhbHNlCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgKS5hZGRUbyhtYXBfZDE2OTM3YThjMTJhNDkyNzhmODU0ZGYwMTIzNzIyYmIpOwoKICAgICAgICAKICAgICAgICAKICAgICAgICAgICAgCiAgICAgICAgICAgIHZhciBmZWF0dXJlX2dyb3VwX2Q0OTc2Y2E5ZmZhMjQ5ZWM5NWYzN2ZhZTNkMWE3MzAwID0gTC5mZWF0dXJlR3JvdXAoCiAgICAgICAgICAgICAgICApLmFkZFRvKG1hcF9kMTY5MzdhOGMxMmE0OTI3OGY4NTRkZjAxMjM3MjJiYik7CiAgICAgICAgCiAgICAgICAgCiAgICAgICAgICAgIAogICAgICAgICAgICAgICAgdmFyIG11bHRpX3BvbHlnb25fMTY1NDgyZDBiNTE3NDIwM2FiNWY1ZmQxODczYmIyOTMgPSBMLm11bHRpUG9seWdvbigKICAgICAgICAgICAgICAgICAgICBbW1szNS4wMDExOCwgLTg3LjM1OTI5Nl0sIFszNC45ODQ3NDksIC04NS42MDY2NzVdLCBbMzQuMTI0ODY5LCAtODUuNDMxNDEzXSwgWzMyLjg1OTY5NiwgLTg1LjE4NDk1MV0sIFszMi41ODAzNzIsIC04NS4wNjk5MzVdLCBbMzIuNDIxNTQxLCAtODQuOTYwMzk3XSwgWzMyLjMyMjk1NiwgLTg1LjAwNDIxMl0sIFszMi4yNjI3MDksIC04NC44ODkxOTZdLCBbMzIuMTM2NzQsIC04NS4wNTg5ODFdLCBbMzIuMDEwNzcsIC04NS4wNTM1MDRdLCBbMzEuODQwOTg1LCAtODUuMTQxMTM2XSwgWzMxLjUzOTc1MywgLTg1LjA0MjU1MV0sIFszMS4yNzY4NiwgLTg1LjExMzc1MV0sIFszMS4wMDMwMTMsIC04NS4wMDQyMTJdLCBbMzAuOTk3NTM2LCAtODUuNDk3MTM3XSwgWzMwLjk5NzUzNiwgLTg3LjYwMDI4Ml0sIFszMC44NjYwOSwgLTg3LjYzMzE0M10sIFszMC42NzQzOTcsIC04Ny40MDg1ODldLCBbMzAuNTEwMDg4LCAtODcuNDQ2OTI3XSwgWzMwLjQyNzkzNCwgLTg3LjM3MDI1XSwgWzMwLjI4MDA1NywgLTg3LjUxODEyOF0sIFszMC4yNDcxOTUsIC04Ny42NTUwNTFdLCBbMzAuNDExNTA0LCAtODcuOTA2OTldLCBbMzAuNjU3OTY2LCAtODcuOTM0Mzc1XSwgWzMwLjY4NTM1MSwgLTg4LjAxMTA1Ml0sIFszMC40OTkxMzUsIC04OC4xMDQxNl0sIFszMC4zMTgzOTYsIC04OC4xMzcwMjJdLCBbMzAuMzY3Njg4LCAtODguMzk0NDM4XSwgWzMxLjg5NTc1NCwgLTg4LjQ3MTExNV0sIFszMy43OTYyNTMsIC04OC4yNDEwODRdLCBbMzQuODkxNjQxLCAtODguMDk4NjgzXSwgWzM0Ljk5NTcwMywgLTg4LjIwMjc0NV0sIFszNS4wMDExOCwgLTg3LjM1OTI5Nl1dXSwKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAnI2ZmZmYwMCcsCiAgICAgICAgICAgICAgICAgICAgICAgIHdlaWdodDogMCwKICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgZmVhdHVyZV9ncm91cF9kNDk3NmNhOWZmYTI0OWVjOTVmMzdmYWUzZDFhNzMwMC5hZGRMYXllcihtdWx0aV9wb2x5Z29uXzE2NTQ4MmQwYjUxNzQyMDNhYjVmNWZkMTg3M2JiMjkzKTsKICAgICAgICAgICAgCiAgICAgICAgCiAgICAgICAgICAgIAogICAgICAgICAgICB2YXIgcG9wdXBfZTQxOGZjY2JlOGEzNGNmM2IwNDRmNGIwMzVkYjhkZjkgPSBMLnBvcHVwKHttYXhXaWR0aDogJzMwMCd9KTsKCiAgICAgICAgICAgIAogICAgICAgICAgICAgICAgdmFyIGh0bWxfMTgxZWY3MTU4M2U4NDk0MjliMzYyODVjYzdlMTc1ZDkgPSAkKCcgICAgICAgICA8ZGl2IGlkPSJodG1sXzE4MWVmNzE1ODNlODQ5NDI5YjM2Mjg1Y2M3ZTE3NWQ5IiAgICAgICAgICAgICAgICAgc3R5bGU9IndpZHRoOiAxMDAuMCU7IGhlaWdodDogMTAwLjAlOyI+ICAgICAgICAgICAgICAgICBBbGFiYW1hPC9kaXY+ICAgICAgICAgICAgICAgICAnKVswXTsKICAgICAgICAgICAgICAgIHBvcHVwX2U0MThmY2NiZThhMzRjZjNiMDQ0ZjRiMDM1ZGI4ZGY5LnNldENvbnRlbnQoaHRtbF8xODFlZjcxNTgzZTg0OTQyOWIzNjI4NWNjN2UxNzVkOSk7CiAgICAgICAgICAgIAoKICAgICAgICAgICAgbXVsdGlfcG9seWdvbl8xNjU0ODJkMGI1MTc0MjAzYWI1ZjVmZDE4NzNiYjI5My5iaW5kUG9wdXAocG9wdXBfZTQxOGZjY2JlOGEzNGNmM2IwNDRmNGIwMzVkYjhkZjkpOwoKICAgICAgICAgICAgCiAgICAgICAgCiAgICAgICAgCiAgICAgICAgICAgIAogICAgICAgICAgICAgICAgdmFyIG11bHRpX3BvbHlnb25fZTA3ZTQ5Y2VmOTczNGU1YzhkOWVmZjc1OWU0YWIyM2EgPSBMLm11bHRpUG9seWdvbigKICAgICAgICAgICAgICAgICAgICBbW1tbNTUuMTE3OTgyLCAtMTMxLjYwMjAyMV0sIFs1NS4yODIyOSwgLTEzMS41NjkxNTldLCBbNTUuMTgzNzA1LCAtMTMxLjM1NTU1OF0sIFs1NS4wMTM5MiwgLTEzMS4zODg0Ml0sIFs1NS4wMzU4MjcsIC0xMzEuNjQ1ODM2XSwgWzU1LjExNzk4MiwgLTEzMS42MDIwMjFdXV0sIFtbWzU1LjQyNDY5LCAtMTMxLjgzMjA1Ml0sIFs1NS4zMDQxOTcsIC0xMzEuNjQ1ODM2XSwgWzU1LjEyODkzNSwgLTEzMS43NDk4OThdLCBbNTUuMTg5MTgyLCAtMTMxLjgzMjA1Ml0sIFs1NS40MjQ2OSwgLTEzMS44MzIwNTJdXV0sIFtbWzU2LjQzNzkyNCwgLTEzMi45NzY3MzNdLCBbNTYuNDU5ODMyLCAtMTMyLjczNTc0N10sIFs1Ni40MjE0OTMsIC0xMzIuNjMxNjg1XSwgWzU2LjI3MzYxNiwgLTEzMi42NjQ1NDddLCBbNTYuMjQwNzU0LCAtMTMyLjg3ODE0OF0sIFs1Ni4zMzM4NjIsIC0xMzMuMDY5ODQxXSwgWzU2LjQzNzkyNCwgLTEzMi45NzY3MzNdXV0sIFtbWzU2LjM1MDI5MywgLTEzMy41OTU2MjddLCBbNTYuMzE3NDMxLCAtMTMzLjE2Mjk0OV0sIFs1Ni4xMjU3MzksIC0xMzMuMDUzNDFdLCBbNTUuOTEyMTM4LCAtMTMyLjYyMDczMl0sIFs1NS43ODA2OTEsIC0xMzIuNDcyODU0XSwgWzU1LjY3MTE1MiwgLTEzMi40NjE5XSwgWzU1LjY0OTI0NSwgLTEzMi4zNTc4MzhdLCBbNTUuNTA2ODQ0LCAtMTMyLjM0MTQwOF0sIFs1NS4zNjQ0NDQsIC0xMzIuMTY2MTQ2XSwgWzU1LjIzODQ3NCwgLTEzMi4xNDQyMzhdLCBbNTUuMjc2ODEzLCAtMTMyLjAyOTIyMl0sIFs1NS4xNzgyMjgsIC0xMzEuOTc5OTNdLCBbNTQuNzg5MzY1LCAtMTMxLjk1ODAyMl0sIFs1NC43MDE3MzQsIC0xMzIuMDI5MjIyXSwgWzU0LjcxODE2NSwgLTEzMi4zMDg1NDZdLCBbNTQuOTE1MzM1LCAtMTMyLjM4NTIyM10sIFs1NC44OTg5MDQsIC0xMzIuNDgzODA4XSwgWzU1LjA0Njc4MSwgLTEzMi42ODY0NTVdLCBbNTQuOTk3NDg5LCAtMTMyLjc0NjcwMV0sIFs1NS4wNDY3ODEsIC0xMzIuOTE2NDg2XSwgWzU0Ljg5ODkwNCwgLTEzMi44ODkxMDJdLCBbNTQuOTM3MjQyLCAtMTMyLjczMDI3XSwgWzU0Ljg4MjQ3MywgLTEzMi42MjYyMDldLCBbNTQuNjc5ODI2LCAtMTMyLjY3NTUwMV0sIFs1NC43MDE3MzQsIC0xMzIuODY3MTk0XSwgWzU0Ljk1OTE1LCAtMTMzLjE1NzQ3Ml0sIFs1NS4wOTA1OTcsIC0xMzMuMjM5NjI2XSwgWzU1LjIyNzUyLCAtMTMzLjIyMzE5NV0sIFs1NS4yMTY1NjYsIC0xMzMuNDUzMjI3XSwgWzU1LjMyMDYyOCwgLTEzMy40NTMyMjddLCBbNTUuMzMxNTgyLCAtMTMzLjI3Nzk2NF0sIFs1NS40MjQ2OSwgLTEzMy4xMDI3MDJdLCBbNTUuNTg4OTk4LCAtMTMzLjE3OTM4XSwgWzU1LjYyMTg2LCAtMTMzLjM4NzUwM10sIFs1NS44ODQ3NTMsIC0xMzMuNDIwMzY1XSwgWzU2LjAxNjIsIC0xMzMuNDk3MDQyXSwgWzU1LjkyMzA5MiwgLTEzMy42Mzk0NDJdLCBbNTYuMDcwOTY5LCAtMTMzLjY5NDIxMl0sIFs1Ni4xNDIxNjksIC0xMzMuNTQ2MzM1XSwgWzU2LjMxMTk1NSwgLTEzMy42NjY4MjddLCBbNTYuMzUwMjkzLCAtMTMzLjU5NTYyN11dXSwgW1tbNTUuNTU2MTM3LCAtMTMzLjczODAyN10sIFs1NS40OTA0MTMsIC0xMzMuNTQ2MzM1XSwgWzU1LjU3MjU2OCwgLTEzMy40MTQ4ODhdLCBbNTUuNTM0MjI5LCAtMTMzLjI4MzQ0MV0sIFs1NS4zODYzNTIsIC0xMzMuNDIwMzY1XSwgWzU1LjQzMDE2NywgLTEzMy42MzM5NjZdLCBbNTUuNTU2MTM3LCAtMTMzLjczODAyN11dXSwgW1tbNTYuOTMwODQ5LCAtMTMzLjkwNzgxM10sIFs1Ny4wMjk0MzQsIC0xMzQuMDUwMjEzXSwgWzU3LjA5NTE1NywgLTEzMy44ODU5MDVdLCBbNTcuMDAyMDQ5LCAtMTMzLjM0MzY4OF0sIFs1Ny4wMDc1MjYsIC0xMzMuMTAyNzAyXSwgWzU2LjgyMTMxLCAtMTMyLjkzMjkxN10sIFs1Ni42Njc5NTYsIC0xMzIuNjIwNzMyXSwgWzU2LjU1Mjk0LCAtMTMyLjY1MzU5M10sIFs1Ni40OTI2OTQsIC0xMzIuODE3OTAxXSwgWzU2LjUyMDA3OCwgLTEzMy4wNDI0NTZdLCBbNTYuNDQ4ODc4LCAtMTMzLjIwMTI4N10sIFs1Ni40OTI2OTQsIC0xMzMuNDIwMzY1XSwgWzU2LjQ0ODg3OCwgLTEzMy42NjEzNV0sIFs1Ni42ODQzODYsIC0xMzMuNzEwNjQzXSwgWzU2LjgzNzc0MSwgLTEzMy42ODg3MzVdLCBbNTYuODQzMjE4LCAtMTMzLjg2OTQ3NF0sIFs1Ni45MzA4NDksIC0xMzMuOTA3ODEzXV1dLCBbW1s1Ni40ODE3NCwgLTEzNC4xMTU5MzZdLCBbNTYuNTU4NDE3LCAtMTM0LjI1Mjg2XSwgWzU2LjcyMjcyNSwgLTEzNC40MDA3MzddLCBbNTYuODQ4Njk1LCAtMTM0LjQxNzE2OF0sIFs1Ni45MDg5NDEsIC0xMzQuMjk2Njc1XSwgWzU2Ljg0ODY5NSwgLTEzNC4xNzA3MDZdLCBbNTYuOTUyNzU3LCAtMTM0LjE0MzMyMV0sIFs1Ni43NzIwMTcsIC0xMzMuNzQ4OTgxXSwgWzU2LjU5Njc1NSwgLTEzMy43MTA2NDNdLCBbNTYuNTc0ODQ4LCAtMTMzLjg0NzU2Nl0sIFs1Ni4zNzc2NzgsIC0xMzMuOTM1MTk3XSwgWzU2LjMyMjkwOCwgLTEzMy44MzY2MTJdLCBbNTYuMDkyODc3LCAtMTMzLjk1NzEwNV0sIFs1Ni4xNDIxNjksIC0xMzQuMTEwNDU5XSwgWzU1Ljk5OTc2OSwgLTEzNC4xMzIzNjddLCBbNTYuMDcwOTY5LCAtMTM0LjIzMDk1Ml0sIFs1Ni4zNTAyOTMsIC0xMzQuMjkxMTk4XSwgWzU2LjQ4MTc0LCAtMTM0LjExNTkzNl1dXSwgW1tbNTYuMjg0NTcsIC0xMzQuNjM2MjQ2XSwgWzU2LjE2OTU1NCwgLTEzNC42NjkxMDddLCBbNTYuMjM1Mjc3LCAtMTM0LjgwNjAzMV0sIFs1Ni42Nzg5MSwgLTEzNS4xNzg0NjNdLCBbNTYuODEwMzU2LCAtMTM1LjQxMzk3MV0sIFs1Ni45MTQ0MTgsIC0xMzUuMzMxODE3XSwgWzU3LjE2NjM1NywgLTEzNS40MjQ5MjVdLCBbNTcuMzY5MDA0LCAtMTM1LjY4NzgxOF0sIFs1Ny41NjYxNzQsIC0xMzUuNDE5NDQ4XSwgWzU3LjQ4NDAyLCAtMTM1LjI5ODk1NV0sIFs1Ny40MTgyOTYsIC0xMzUuMDYzNDQ3XSwgWzU3LjQwNzM0MywgLTEzNC44NDk4NDZdLCBbNTcuMjQ4NTExLCAtMTM0Ljg0NDM2OV0sIFs1Ni43MjgyMDIsIC0xMzQuNjM2MjQ2XSwgWzU2LjI4NDU3LCAtMTM0LjYzNjI0Nl1dXSwgW1tbNTguMjIzNDA3LCAtMTM0LjcxMjkyM10sIFs1OC4xNDY3MywgLTEzNC4zNzMzNTNdLCBbNTguMTU3NjgzLCAtMTM0LjE3NjE4M10sIFs1OC4wODEwMDYsIC0xMzQuMTg3MTM3XSwgWzU3LjgwNzE1OSwgLTEzMy45MDIzMzZdLCBbNTcuODUwOTc1LCAtMTM0LjA5OTUwNV0sIFs1Ny43NTc4NjcsIC0xMzQuMTQ4Nzk4XSwgWzU3LjYxNTQ2NiwgLTEzMy45MzUxOTddLCBbNTcuMzYzNTI3LCAtMTMzLjg2OTQ3NF0sIFs1Ny4yOTc4MDQsIC0xMzQuMDgzMDc1XSwgWzU3LjIxMDE3MywgLTEzNC4xNTQyNzVdLCBbNTcuMDI5NDM0LCAtMTM0LjQ5OTMyMl0sIFs1Ny4wMzQ5MTEsIC0xMzQuNjAzMzg0XSwgWzU3LjIyNjYwNCwgLTEzNC42NDcyXSwgWzU3LjM0MTYxOSwgLTEzNC41NzU5OTldLCBbNTcuNTExNDA0LCAtMTM0LjYwODg2MV0sIFs1Ny43MTk1MjgsIC0xMzQuNzI5MzU0XSwgWzU3LjgyOTA2NywgLTEzNC43MDc0NDZdLCBbNTguMDk3NDM3LCAtMTM0Ljc4NDEyM10sIFs1OC4yMTI0NTMsIC0xMzQuOTE1NTddLCBbNTguNDA5NjIzLCAtMTM0Ljk1MzkwOF0sIFs1OC4yMjM0MDcsIC0xMzQuNzEyOTIzXV1dLCBbW1s1Ny4zMzA2NjUsIC0xMzUuODU3NjAzXSwgWzU3LjMzMDY2NSwgLTEzNS43MTUyMDNdLCBbNTcuMTQ5OTI2LCAtMTM1LjU2NzMyNl0sIFs1Ny4wMjM5NTcsIC0xMzUuNjMzMDQ5XSwgWzU2Ljk5NjU3MiwgLTEzNS44NTc2MDNdLCBbNTcuMTkzNzQyLCAtMTM1LjgyNDc0Ml0sIFs1Ny4zMzA2NjUsIC0xMzUuODU3NjAzXV1dLCBbW1s1OC4yMDY5NzYsIC0xMzYuMjc5MzI4XSwgWzU4LjIwMTQ5OSwgLTEzNS45NzgwOTZdLCBbNTguMjg5MTMsIC0xMzUuNzgwOTI2XSwgWzU4LjE2ODYzNywgLTEzNS40OTYxMjVdLCBbNTguMDM3MTkxLCAtMTM1LjY0OTQ4XSwgWzU3Ljk4Nzg5OCwgLTEzNS41OTQ3MV0sIFs1OC4xMzU3NzYsIC0xMzUuNDUyMzFdLCBbNTguMDg2NDgzLCAtMTM1LjEwNzI2M10sIFs1Ny45NzY5NDQsIC0xMzQuOTE1NTddLCBbNTcuNzc5Nzc1LCAtMTM1LjAyNTEwOF0sIFs1Ny43NjMzNDQsIC0xMzQuOTM3NDc3XSwgWzU3LjUwMDQ1MSwgLTEzNC44MjI0NjJdLCBbNTcuNDYyMTEyLCAtMTM1LjA4NTM1NV0sIFs1Ny42NzU3MTMsIC0xMzUuNTcyODAyXSwgWzU3LjQ1NjYzNSwgLTEzNS41NTYzNzJdLCBbNTcuMzY5MDA0LCAtMTM1LjcwOTcyNl0sIFs1Ny40MDczNDMsIC0xMzUuODkwNDY1XSwgWzU3LjU0NDI2NiwgLTEzNi4wMDAwMDRdLCBbNTcuNjM3Mzc0LCAtMTM2LjIwODEyOF0sIFs1Ny44MjkwNjcsIC0xMzYuMzY2OTU5XSwgWzU3LjkxNjY5OCwgLTEzNi41Njk2MDZdLCBbNTguMDc1NTI5LCAtMTM2LjU1ODY1Ml0sIFs1OC4xMzAyOTksIC0xMzYuNDIxNzI4XSwgWzU4LjI2NzIyMiwgLTEzNi4zNzc5MTNdLCBbNTguMjA2OTc2LCAtMTM2LjI3OTMyOF1dXSwgW1tbNjAuMjAwNTgyLCAtMTQ3LjA3OTg1NF0sIFs1OS45NDg2NDMsIC0xNDcuNTAxNTc5XSwgWzU5Ljg1MDA1OCwgLTE0Ny41MzQ0NF0sIFs1OS43ODQzMzUsIC0xNDcuODc0MDExXSwgWzU5LjkzNzY4OSwgLTE0Ny44MDI4MV0sIFs2MC4wOTY1MiwgLTE0Ny40MzU4NTVdLCBbNjAuMjcxNzgyLCAtMTQ3LjIwNTgyNF0sIFs2MC4yMDA1ODIsIC0xNDcuMDc5ODU0XV1dLCBbW1s2MC41Nzg0OTEsIC0xNDcuNTYxODI1XSwgWzYwLjM3MDM2NywgLTE0Ny42MTY1OTRdLCBbNjAuMTU2NzY3LCAtMTQ3Ljc1ODk5NV0sIFs2MC4yMjc5NjcsIC0xNDcuOTU2MTY1XSwgWzYwLjQ3NDQyOSwgLTE0Ny43OTE4NTZdLCBbNjAuNTc4NDkxLCAtMTQ3LjU2MTgyNV1dXSwgW1tbNzAuMjQ1MjkxLCAtMTQ3Ljc4NjM3OV0sIFs3MC4yMDE0NzUsIC0xNDcuNjgyMzE4XSwgWzcwLjE1NzY2LCAtMTQ3LjE2MjAwOF0sIFs3MC4xODUwNDQsIC0xNDYuODg4MTYxXSwgWzcwLjE4NTA0NCwgLTE0Ni41MTAyNTJdLCBbNzAuMTQ2NzA2LCAtMTQ2LjA5OTQ4Ml0sIFs3MC4xNjg2MTQsIC0xNDUuODU4NDk2XSwgWzcwLjA4NjQ2LCAtMTQ1LjYyMjk4OF0sIFs2OS45OTMzNTIsIC0xNDUuMTk1Nzg3XSwgWzY5Ljk3MTQ0NCwgLTE0NC42MjA3MDhdLCBbNzAuMDI2MjEzLCAtMTQ0LjQ2MTg3N10sIFs3MC4wNTkwNzUsIC0xNDQuMDc4NDkxXSwgWzcwLjEzMDI3NSwgLTE0My45MTQxODNdLCBbNzAuMTQxMjI5LCAtMTQzLjQ5NzkzNV0sIFs3MC4wOTE5MzYsIC0xNDMuNTAzNDEyXSwgWzcwLjExOTMyMSwgLTE0My4yNTY5NV0sIFs3MC4wNDI2NDQsIC0xNDIuNzQ3NTk0XSwgWzY5LjkxNjY3NCwgLTE0Mi40MDI1NDddLCBbNjkuODU2NDI4LCAtMTQyLjA3OTQwOF0sIFs2OS44MDE2NTksIC0xNDIuMDA4MjA3XSwgWzY5Ljc5MDcwNSwgLTE0MS43MTI0NTNdLCBbNjkuNjk3NTk3LCAtMTQxLjQzMzEyOV0sIFs2OS42MzczNSwgLTE0MS4zNzgzNTldLCBbNjkuNjg2NjQzLCAtMTQxLjIwODU3NF0sIFs2OS42NDgzMDQsIC0xNDEuMDAwNDVdLCBbNjAuMzA0NjQ0LCAtMTQxLjAwMDQ1XSwgWzYwLjIyMjQ5LCAtMTQwLjUzNDkxXSwgWzYwLjMxMDEyMSwgLTE0MC40NzQ2NjRdLCBbNjAuMTg0MTUxLCAtMTM5Ljk4NzIxNl0sIFs2MC4zNDI5ODMsIC0xMzkuNjk2OTM5XSwgWzYwLjM1OTQxMywgLTEzOS4wODg5OThdLCBbNjAuMDkxMDQzLCAtMTM5LjE5ODUzN10sIFs1OS45OTc5MzUsIC0xMzkuMDQ1MTgzXSwgWzU5LjkxMDMwNCwgLTEzOC43MDAxMzVdLCBbNTkuNzY3OTA0LCAtMTM4LjYyMzQ1OF0sIFs1OS4yNDIxMTgsIC0xMzcuNjA0NzQ3XSwgWzU4LjkwODAyNCwgLTEzNy40NDU5MTZdLCBbNTkuMDAxMTMyLCAtMTM3LjI2NTE3N10sIFs1OS4xNTk5NjMsIC0xMzYuODI3MDIyXSwgWzU5LjE2NTQ0LCAtMTM2LjU4MDU1OV0sIFs1OS4yODU5MzMsIC0xMzYuNDY1NTQ0XSwgWzU5LjQ2NjY3MiwgLTEzNi40NzY0OThdLCBbNTkuNDY2NjcyLCAtMTM2LjMwMTIzNl0sIFs1OS42MjU1MDMsIC0xMzYuMjU3NDJdLCBbNTkuNjYzODQyLCAtMTM1Ljk0NTIzNF0sIFs1OS44MDA3NjYsIC0xMzUuNDc5Njk0XSwgWzU5LjU2NTI1NywgLTEzNS4wMjUxMDhdLCBbNTkuNDIyODU3LCAtMTM1LjA2ODkyNF0sIFs1OS4yODA0NTYsIC0xMzQuOTU5Mzg1XSwgWzU5LjI0NzU5NSwgLTEzNC43MDE5NjldLCBbNTkuMDMzOTk0LCAtMTM0LjM3ODgyOV0sIFs1OC45NzM3NDgsIC0xMzQuNDAwNzM3XSwgWzU4Ljg1ODczMiwgLTEzNC4yNTI4Nl0sIFs1OC43MjcyODUsIC0xMzMuODQyMDg5XSwgWzU4LjE1MjIwNiwgLTEzMy4xNzM5MDNdLCBbNTcuOTk4ODUyLCAtMTMzLjA3NTMxOF0sIFs1Ny44NDU0OTgsIC0xMzIuODY3MTk0XSwgWzU3LjUwNTkyOCwgLTEzMi41NjA0ODVdLCBbNTcuMjE1NjUsIC0xMzIuMjUzNzc3XSwgWzU3LjA5NTE1NywgLTEzMi4zNjg3OTJdLCBbNTcuMDUxMzQxLCAtMTMyLjA1MTEzXSwgWzU2Ljg3NjA3OSwgLTEzMi4xMjc4MDddLCBbNTYuODA0ODc5LCAtMTMxLjg3MDM5MV0sIFs1Ni42MDIyMzIsIC0xMzEuODM3NTI5XSwgWzU2LjYxMzE4NiwgLTEzMS41ODAxMTNdLCBbNTYuNDA1MDYyLCAtMTMxLjA4NzE4OF0sIFs1Ni4zNjY3MjQsIC0xMzAuNzgwNDhdLCBbNTYuMjY4MTM5LCAtMTMwLjYyMTY0OF0sIFs1Ni4yNDA3NTQsIC0xMzAuNDY4Mjk0XSwgWzU2LjE0MjE2OSwgLTEzMC40MjQ0NzhdLCBbNTYuMTE0Nzg1LCAtMTMwLjEwMTMzOV0sIFs1NS45OTQyOTIsIC0xMzAuMDAyNzU0XSwgWzU1Ljc2OTczNywgLTEzMC4xNTA2MzFdLCBbNTUuNTgzNTIxLCAtMTMwLjEyODcyNF0sIFs1NS4yNzY4MTMsIC0xMjkuOTg2MzIzXSwgWzU1LjIwMDEzNiwgLTEzMC4wOTU4NjJdLCBbNTQuOTIwODEyLCAtMTMwLjMzNjg0N10sIFs1NC43MTgxNjUsIC0xMzAuNjg3MzcyXSwgWzU0LjgyMjIyNywgLTEzMC43ODU5NTddLCBbNTQuNzg5MzY1LCAtMTMwLjkxNzQwM10sIFs1NC45OTc0ODksIC0xMzEuMDEwNTExXSwgWzU1LjA4NTEyLCAtMTMwLjk4MzEyNl0sIFs1NS4xODkxODIsIC0xMzEuMDkyNjY1XSwgWzU1LjI5ODcyMSwgLTEzMC44NjI2MzRdLCBbNTUuMzM3MDU5LCAtMTMwLjkyODM1N10sIFs1NS4yMDAxMzYsIC0xMzEuMTU4Mzg5XSwgWzU1LjI4Nzc2NywgLTEzMS4yODQzNThdLCBbNTUuMjM4NDc0LCAtMTMxLjQyNjc1OV0sIFs1NS40NTc1NTIsIC0xMzEuODQzMDA2XSwgWzU1LjY5ODUzNywgLTEzMS43MDA2MDZdLCBbNTUuNjE2MzgzLCAtMTMxLjk2MzQ5OV0sIFs1NS40OTU4OSwgLTEzMS45NzQ0NTNdLCBbNTUuNTg4OTk4LCAtMTMyLjE4MjU3Nl0sIFs1NS43MDQwMTQsIC0xMzIuMjI2MzkyXSwgWzU1LjgyOTk4NCwgLTEzMi4wODM5OTFdLCBbNTUuOTU1OTUzLCAtMTMyLjEyNzgwN10sIFs1NS44NTE4OTIsIC0xMzIuMzI0OTc3XSwgWzU2LjA3NjQ0NiwgLTEzMi41MjIxNDddLCBbNTYuMDMyNjMxLCAtMTMyLjY0MjYzOV0sIFs1Ni4yMTg4NDcsIC0xMzIuNzE5MzE3XSwgWzU2LjMzOTMzOSwgLTEzMi41Mjc2MjRdLCBbNTYuMzM5MzM5LCAtMTMyLjM0MTQwOF0sIFs1Ni40ODcyMTcsIC0xMzIuMzk2MTc3XSwgWzU2LjY3ODkxLCAtMTMyLjI5NzU5Ml0sIFs1Ni42NzM0MzMsIC0xMzIuNDUwOTQ2XSwgWzU2LjgzNzc0MSwgLTEzMi43Njg2MDldLCBbNTcuMDM0OTExLCAtMTMyLjk5MzE2NF0sIFs1Ny4xNzczMTEsIC0xMzMuNTE4OTVdLCBbNTcuNTc3MTI4LCAtMTMzLjUwNzk5Nl0sIFs1Ny42MjY0MiwgLTEzMy42Nzc3ODFdLCBbNTcuNzkwNzI4LCAtMTMzLjYzOTQ0Ml0sIFs1Ny44MzQ1NDQsIC0xMzMuODE0NzA1XSwgWzU4LjA1MzYyMiwgLTEzNC4wNzIxMjFdLCBbNTguMTY4NjM3LCAtMTM0LjE0MzMyMV0sIFs1OC4yMDY5NzYsIC0xMzQuNTg2OTUzXSwgWzU4LjUwMjczMSwgLTEzNS4wNzQ0MDFdLCBbNTkuMTkyODI1LCAtMTM1LjI4MjUyNV0sIFs1OS4wMzM5OTQsIC0xMzUuMzgxMTFdLCBbNTguODkxNTkzLCAtMTM1LjMzNzI5NF0sIFs1OC42MTc3NDYsIC0xMzUuMTQwMTI0XSwgWzU4LjU3MzkzMSwgLTEzNS4xODk0MTddLCBbNTguMzQ5Mzc2LCAtMTM1LjA1Nzk3XSwgWzU4LjIwMTQ5OSwgLTEzNS4wODUzNTVdLCBbNTguMjM0MzYxLCAtMTM1LjI3NzA0OF0sIFs1OC4zOTg2NjksIC0xMzUuNDMwNDAyXSwgWzU4LjQyNjA1MywgLTEzNS42MzMwNDldLCBbNTguMzgyMjM4LCAtMTM1LjkxNzg1XSwgWzU4LjYxNzc0NiwgLTEzNS45MTIzNzNdLCBbNTguODE0OTE2LCAtMTM2LjA4NzYzNV0sIFs1OC43NTQ2NywgLTEzNi4yNDY0NjZdLCBbNTguOTYyNzk0LCAtMTM2Ljg3NjMxNF0sIFs1OC45MDI1NDcsIC0xMzYuOTMxMDg0XSwgWzU4LjgzNjgyNCwgLTEzNi41ODYwMzZdLCBbNTguNjcyNTE2LCAtMTM2LjMxNzY2Nl0sIFs1OC42NjcwMzksIC0xMzYuMjEzNjA0XSwgWzU4LjUzNTU5MiwgLTEzNi4xODA3NDNdLCBbNTguMzgyMjM4LCAtMTM2LjA0MzgxOV0sIFs1OC4yOTQ2MDcsIC0xMzYuMzg4ODY3XSwgWzU4LjM0OTM3NiwgLTEzNi41OTE1MTNdLCBbNTguMjEyNDUzLCAtMTM2LjU5Njk5XSwgWzU4LjMxNjUxNSwgLTEzNi44NTk4ODNdLCBbNTguMzkzMTkyLCAtMTM2Ljk0NzUxNF0sIFs1OC4zOTMxOTIsIC0xMzcuMTExODIzXSwgWzU4LjU5MDM2MiwgLTEzNy41NjY0MDldLCBbNTguNzY1NjI0LCAtMTM3LjkwMDUwMl0sIFs1OC44Njk2ODYsIC0xMzcuOTMzMzY0XSwgWzU5LjAyMzA0LCAtMTM4LjExOTU4XSwgWzU5LjEzMjU3OSwgLTEzOC42MzQ0MTJdLCBbNTkuMjQ3NTk1LCAtMTM4LjkxOTIxM10sIFs1OS4zNzkwNDEsIC0xMzkuNDE3NjE1XSwgWzU5LjUwNTAxMSwgLTEzOS43NDYyMzFdLCBbNTkuNjQxOTM0LCAtMTM5LjcxODg0Nl0sIFs1OS41OTgxMTksIC0xMzkuNjI1NzM4XSwgWzU5LjY4NTc1LCAtMTM5LjUxNjJdLCBbNTkuODgyOTIsIC0xMzkuNjI1NzM4XSwgWzU5Ljk5MjQ1OCwgLTEzOS40ODg4MTVdLCBbNjAuMDQxNzUxLCAtMTM5LjU1NDUzOF0sIFs1OS44MzM2MjcsIC0xMzkuODAxXSwgWzU5LjY5NjcwNCwgLTE0MC4zMTU4MzNdLCBbNTkuNzQ1OTk2LCAtMTQwLjkyOTI1XSwgWzU5Ljg3MTk2NiwgLTE0MS40NDQwODNdLCBbNTkuOTcwNTUxLCAtMTQxLjQ2NTk5XSwgWzU5Ljk0ODY0MywgLTE0MS43MDY5NzZdLCBbNjAuMDE5ODQzLCAtMTQxLjk2NDM5Ml0sIFs2MC4wODU1NjYsIC0xNDIuNTM5NDcxXSwgWzYwLjA5MTA0MywgLTE0Mi44NzM1NjRdLCBbNjAuMDM2Mjc0LCAtMTQzLjYyMzkwNV0sIFs1OS45OTc5MzUsIC0xNDMuODkyMjc1XSwgWzYwLjE0MDMzNiwgLTE0NC4yMzE4NDVdLCBbNjAuMjA2MDU5LCAtMTQ0LjY1MzU3XSwgWzYwLjI5MzY5LCAtMTQ0Ljc4NTAxNl0sIFs2MC40NDE1NjgsIC0xNDQuODM0MzA5XSwgWzYwLjQzMDYxNCwgLTE0NS4xMjQ1ODZdLCBbNjAuMjk5MTY3LCAtMTQ1LjIyMzE3MV0sIFs2MC40NzQ0MjksIC0xNDUuNzM4MDA0XSwgWzYwLjU1MTEwNiwgLTE0NS44MjAxNThdLCBbNjAuNDA4NzA2LCAtMTQ2LjM1MTQyMV0sIFs2MC4yMzg5MjEsIC0xNDYuNjA4ODM3XSwgWzYwLjM5Nzc1MiwgLTE0Ni43MTgzNzZdLCBbNjAuNDg1MzgzLCAtMTQ2LjYwODgzN10sIFs2MC40NjM0NzUsIC0xNDYuNDU1NDgzXSwgWzYwLjU3ODQ5MSwgLTE0NS45NTE2MDRdLCBbNjAuNjY2MTIyLCAtMTQ2LjAxNzMyOF0sIFs2MC42MjIzMDcsIC0xNDYuMjUyODM2XSwgWzYwLjczNzMyMiwgLTE0Ni4zNDU5NDRdLCBbNjAuNzUzNzUzLCAtMTQ2LjU2NTAyMl0sIFs2MS4wNDQwMzEsIC0xNDYuNzg0MDk5XSwgWzYwLjk3MjgzMSwgLTE0Ni44NjYyNTNdLCBbNjAuOTM0NDkyLCAtMTQ3LjE3Mjk2Ml0sIFs2MC45NzI4MzEsIC0xNDcuMjcxNTQ3XSwgWzYwLjg3OTcyMywgLTE0Ny4zNzU2MDldLCBbNjAuOTEyNTg0LCAtMTQ3Ljc1ODk5NV0sIFs2MC44MDg1MjMsIC0xNDcuNzc1NDI2XSwgWzYwLjc4MTEzOCwgLTE0OC4wMzI4NDJdLCBbNjAuODE5NDc2LCAtMTQ4LjE1MzMzNF0sIFs2MS4wMDU2OTIsIC0xNDguMDY1NzAzXSwgWzYxLjAwMDIxNSwgLTE0OC4xNzUyNDJdLCBbNjAuODAzMDQ2LCAtMTQ4LjM1MDUwNF0sIFs2MC43MzczMjIsIC0xNDguMTA5NTE5XSwgWzYwLjU5NDkyMiwgLTE0OC4wODc2MTFdLCBbNjAuNDQxNTY4LCAtMTQ3LjkzOTczNF0sIFs2MC4yNzcyNTksIC0xNDguMDI3MzY1XSwgWzYwLjMzMjAyOSwgLTE0OC4yMTkwNThdLCBbNjAuMjQ5ODc1LCAtMTQ4LjI3MzgyN10sIFs2MC4yMTcwMTMsIC0xNDguMDg3NjExXSwgWzU5Ljk5NzkzNSwgLTE0Ny45ODM1NDldLCBbNTkuOTU0MTIsIC0xNDguMjUxOTE5XSwgWzU5Ljk5NzkzNSwgLTE0OC4zOTk3OTddLCBbNTkuOTM3Njg5LCAtMTQ4LjYzNTMwNV0sIFs1OS45ODY5ODEsIC0xNDguNzU1Nzk4XSwgWzU5Ljk4MTUwNSwgLTE0OS4wNjc5ODRdLCBbNjAuMDYzNjU5LCAtMTQ5LjA1NzAzXSwgWzYwLjAwODg4OSwgLTE0OS4yMDQ5MDddLCBbNTkuOTA0ODI3LCAtMTQ5LjI4NzA2MV0sIFs1OS45OTc5MzUsIC0xNDkuNDE4NTA4XSwgWzU5Ljg2NjQ4OSwgLTE0OS41ODI4MTZdLCBbNTkuODA2MjQyLCAtMTQ5LjUxMTYxNl0sIFs1OS43Mjk1NjUsIC0xNDkuNzQxNjQ3XSwgWzU5LjcxODYxMSwgLTE0OS45NDk3NzFdLCBbNTkuNjE0NTUsIC0xNTAuMDMxOTI1XSwgWzU5LjUyMTQ0MiwgLTE1MC4yNTY0OF0sIFs1OS41NTQzMDMsIC0xNTAuNDA5ODM0XSwgWzU5LjQ0NDc2NCwgLTE1MC41Nzk2MTldLCBbNTkuNDUwMjQxLCAtMTUwLjcxNjU0M10sIFs1OS4yMjU2ODcsIC0xNTEuMDAxMzQzXSwgWzU5LjIwOTI1NiwgLTE1MS4zMDgwNTJdLCBbNTkuMjgwNDU2LCAtMTUxLjQwNjYzN10sIFs1OS4xNTk5NjMsIC0xNTEuNTkyODUzXSwgWzU5LjI1MzA3MSwgLTE1MS45NzYyMzldLCBbNTkuNDIyODU3LCAtMTUxLjg4ODYwOF0sIFs1OS40ODMxMDMsIC0xNTEuNjM2NjY5XSwgWzU5LjQ3MjE0OSwgLTE1MS40NzIzNl0sIFs1OS41Mzc4NzIsIC0xNTEuNDIzMDY4XSwgWzU5LjY2OTMxOSwgLTE1MS4xMjczMTNdLCBbNTkuNzc4ODU4LCAtMTUxLjExNjM1OV0sIFs1OS42MzA5OCwgLTE1MS41MDUyMjJdLCBbNTkuNzE4NjExLCAtMTUxLjgyODM2MV0sIFs1OS43Nzg4NTgsIC0xNTEuODY2N10sIFs2MC4wMzA3OTcsIC0xNTEuNzAyMzkyXSwgWzYwLjIxMTUzNiwgLTE1MS40MjMwNjhdLCBbNjAuMzU5NDEzLCAtMTUxLjM3OTI1Ml0sIFs2MC4zODY3OTgsIC0xNTEuMjk3MDk4XSwgWzYwLjU0NTYyOSwgLTE1MS4yNjQyMzddLCBbNjAuNzIwODkyLCAtMTUxLjQwNjYzN10sIFs2MC43ODY2MTUsIC0xNTEuMDYxNTldLCBbNjEuMDM4NTU0LCAtMTUwLjQwNDM1N10sIFs2MC45Mzk5NjksIC0xNTAuMjQ1NTI2XSwgWzYwLjkxMjU4NCwgLTE1MC4wNDI4NzldLCBbNjEuMDE2NjQ2LCAtMTQ5Ljc0MTY0N10sIFs2MS4xNTM1NywgLTE1MC4wNzU3NDFdLCBbNjEuMjU3NjMyLCAtMTUwLjIwNzE4N10sIFs2MS4yNDY2NzgsIC0xNTAuNDcwMDhdLCBbNjEuMjk1OTcsIC0xNTAuNjU2Mjk2XSwgWzYxLjI1MjE1NSwgLTE1MC43MTEwNjZdLCBbNjEuMTgwOTU0LCAtMTUxLjAyMzI1MV0sIFs2MS4wNDQwMzEsIC0xNTEuMTY1NjUyXSwgWzYxLjAxMTE2OSwgLTE1MS40Nzc4MzddLCBbNjAuODUyMzM4LCAtMTUxLjgwMDk3N10sIFs2MC43NDgyNzYsIC0xNTEuODMzODM4XSwgWzYwLjY5MzUwNywgLTE1Mi4wODAzMDFdLCBbNjAuNTc4NDkxLCAtMTUyLjEzNTA3XSwgWzYwLjUwNzI5MSwgLTE1Mi4zMTAzMzJdLCBbNjAuMzA0NjQ0LCAtMTUyLjM5MjQ4Nl0sIFs2MC4xNzMxOTcsIC0xNTIuNzMyMDU3XSwgWzYwLjA2OTEzNiwgLTE1Mi41Njc3NDhdLCBbNTkuOTE1NzgxLCAtMTUyLjcwNDY3Ml0sIFs1OS44ODgzOTcsIC0xNTMuMDIyMzM0XSwgWzU5LjY5MTIyNywgLTE1My4wNDk3MTldLCBbNTkuNjIwMDI2LCAtMTUzLjM0NTQ3NF0sIFs1OS43MDIxODEsIC0xNTMuNDM4NTgyXSwgWzU5LjU0ODgyNiwgLTE1My41ODY0NTldLCBbNTkuNTQzMzQ5LCAtMTUzLjc2MTcyMV0sIFs1OS40MzM4MTEsIC0xNTMuNzI4ODZdLCBbNTkuMzY4MDg3LCAtMTU0LjExNzcyM10sIFs1OS4wNjY4NTYsIC0xNTQuMTk0NF0sIFs1OS4wNTA0MjUsIC0xNTMuNzUwNzY4XSwgWzU4Ljk2ODI3MSwgLTE1My40MDAyNDNdLCBbNTguODY5Njg2LCAtMTUzLjMwMTY1OF0sIFs1OC43MTA4NTQsIC0xNTMuNDQ0MDU5XSwgWzU4LjYxMjI2OSwgLTE1My42Nzk1NjddLCBbNTguNjA2NzkzLCAtMTUzLjg5ODY0NV0sIFs1OC41MTkxNjEsIC0xNTMuOTIwNTUzXSwgWzU4LjQ4NjMsIC0xNTQuMDYyOTUzXSwgWzU4LjM3Njc2MSwgLTE1My45OTcyM10sIFs1OC4yMTI0NTMsIC0xNTQuMTQ1MTA3XSwgWzU4LjA1OTA5OCwgLTE1NC40NjI3N10sIFs1OC4wNTkwOTgsIC0xNTQuNjQzNTA5XSwgWzU4LjAwNDMyOSwgLTE1NC44MTg3NzFdLCBbNTguMDE1MjgzLCAtMTU0Ljk4ODU1Nl0sIFs1Ny45NTUwMzcsIC0xNTUuMTIwMDAzXSwgWzU3Ljg3Mjg4MywgLTE1NS4wODE2NjRdLCBbNTcuODI5MDY3LCAtMTU1LjMyODEyNl0sIFs1Ny43MDg1NzQsIC0xNTUuMzc3NDE5XSwgWzU3Ljc4NTI1MSwgLTE1NS41NDcyMDRdLCBbNTcuNTQ5NzQzLCAtMTU1LjczMzQyXSwgWzU3LjU2NjE3NCwgLTE1Ni4wNDU2MDZdLCBbNTcuNDQwMjA0LCAtMTU2LjAyMzY5OF0sIFs1Ny40NzMwNjYsIC0xNTYuMjA5OTE0XSwgWzU3LjQxODI5NiwgLTE1Ni4zNDEzNl0sIFs1Ny4yNDg1MTEsIC0xNTYuMzQxMzZdLCBbNTYuOTg1NjE4LCAtMTU2LjU0OTQ4NF0sIFs1Ni45NTI3NTcsIC0xNTYuODgzNTc3XSwgWzU2LjgzMjI2NCwgLTE1Ny4xNTc0MjRdLCBbNTYuNzY2NTQxLCAtMTU3LjIwMTI0XSwgWzU2Ljg1OTY0OSwgLTE1Ny4zNzY1MDJdLCBbNTYuNjA3NzA5LCAtMTU3LjY3MjI1N10sIFs1Ni42Nzg5MSwgLTE1Ny43NTQ0MTFdLCBbNTYuNjU3MDAyLCAtMTU3LjkxODcxOV0sIFs1Ni41MTQ2MDEsIC0xNTcuOTU3MDU4XSwgWzU2LjQ1OTgzMiwgLTE1OC4xMjY4NDNdLCBbNTYuNDgxNzQsIC0xNTguMzI5NDldLCBbNTYuMzM5MzM5LCAtMTU4LjQ4ODMyMV0sIFs1Ni4yOTU1MjQsIC0xNTguMjA4OTk3XSwgWzU1Ljk3Nzg2MSwgLTE1OC41MTAyMjldLCBbNTUuODczNzk5LCAtMTU5LjM3NTU4NV0sIFs1NS41OTQ0NzUsIC0xNTkuNjE2NTcxXSwgWzU1LjY1NDcyMiwgLTE1OS42NzY4MTddLCBbNTUuODI5OTg0LCAtMTU5LjY0Mzk1NV0sIFs1NS44NTczNjgsIC0xNTkuODEzNzQxXSwgWzU1Ljc5MTY0NSwgLTE2MC4wMjczNDFdLCBbNTUuNzIwNDQ1LCAtMTYwLjA2MDIwM10sIFs1NS42MDU0MjksIC0xNjAuMzk0Mjk2XSwgWzU1LjQ3Mzk4MywgLTE2MC41MzY2OTddLCBbNTUuNTY3MDkxLCAtMTYwLjU4MDUxMl0sIFs1NS40NTc1NTIsIC0xNjAuNjY4MTQzXSwgWzU1LjUyODc1MiwgLTE2MC44NjUzMTNdLCBbNTUuMzU4OTY3LCAtMTYxLjIzMjI2OF0sIFs1NS4zNjQ0NDQsIC0xNjEuNTA2MTE1XSwgWzU1LjQ5NTg5LCAtMTYxLjQ2Nzc3Nl0sIFs1NS42MjE4NiwgLTE2MS41ODgyNjldLCBbNTUuNTE3Nzk4LCAtMTYxLjY5NzgwOF0sIFs1NS40MDgyNTksIC0xNjEuNjg2ODU0XSwgWzU1LjA3NDE2NiwgLTE2Mi4wNTM4MDldLCBbNTUuMTU2MzIsIC0xNjIuMTc5Nzc5XSwgWzU1LjAzMDM1LCAtMTYyLjIxODExN10sIFs1NS4wNTIyNTgsIC0xNjIuNDcwMDU3XSwgWzU1LjI0OTQyOCwgLTE2Mi41MDgzOTVdLCBbNTUuMjkzMjQ0LCAtMTYyLjY2MTc0OV0sIFs1NS4yMjIwNDMsIC0xNjIuNzE2NTE5XSwgWzU1LjEzNDQxMiwgLTE2Mi41Nzk1OTVdLCBbNTQuOTk3NDg5LCAtMTYyLjY0NTMxOV0sIFs1NC45MjYyODksIC0xNjIuODQ3OTY1XSwgWzU1LjA3OTY0MywgLTE2My4wMDEzMl0sIFs1NS4wOTA1OTcsIC0xNjMuMTg3NTM2XSwgWzU1LjAzMDM1LCAtMTYzLjIyMDM5N10sIFs1NC45NDI3MTksIC0xNjMuMDM0MTgxXSwgWzU0LjgwMDMxOSwgLTE2My4zNzM3NTJdLCBbNTQuNzYxOTgsIC0xNjMuMTQzNzJdLCBbNTQuNjk2MjU3LCAtMTYzLjEzODI0M10sIFs1NC43NDU1NSwgLTE2My4zMjk5MzZdLCBbNTQuNjE0MTAzLCAtMTYzLjU4NzM1Ml0sIFs1NC42MTk1OCwgLTE2NC4wODU3NTRdLCBbNTQuNTMxOTQ5LCAtMTY0LjMzMjIxNl0sIFs1NC40NjYyMjYsIC0xNjQuMzU0MTI0XSwgWzU0LjM4OTU0OCwgLTE2NC42Mzg5MjVdLCBbNTQuNDE2OTMzLCAtMTY0Ljg0NzA0OV0sIFs1NC42MDMxNDksIC0xNjQuOTE4MjQ5XSwgWzU0LjY2MzM5NSwgLTE2NC43MTAxMjVdLCBbNTQuODg3OTUsIC0xNjQuNTUxMjk0XSwgWzU0Ljg5MzQyNywgLTE2NC4zNDMxN10sIFs1NS4wNDEzMDQsIC0xNjMuODk0MDYxXSwgWzU1LjA0Njc4MSwgLTE2My41MzI1ODNdLCBbNTQuOTA0MzgxLCAtMTYzLjM5NTY2XSwgWzU1LjAwODQ0MywgLTE2My4yOTE1OThdLCBbNTUuMTI4OTM1LCAtMTYzLjMxMzUwNV0sIFs1NS4xODM3MDUsIC0xNjMuMTA1MzgyXSwgWzU1LjE4MzcwNSwgLTE2Mi44ODA4MjddLCBbNTUuNDQ2NTk4LCAtMTYyLjU3OTU5NV0sIFs1NS42ODIxMDYsIC0xNjIuMjQ1NTAyXSwgWzU1Ljg5MDIzLCAtMTYxLjgwNzM0N10sIFs1NS45ODMzMzgsIC0xNjEuMjkyNTE0XSwgWzU1LjkzOTUyMywgLTE2MS4wNzg5MTRdLCBbNTUuOTk5NzY5LCAtMTYwLjg3MDc5XSwgWzU1LjkxMjEzOCwgLTE2MC44MTYwMjFdLCBbNTUuODEzNTUzLCAtMTYwLjkzMTAzNl0sIFs1NS43MzY4NzYsIC0xNjAuODA1MDY3XSwgWzU1Ljg1NzM2OCwgLTE2MC43NjY3MjhdLCBbNTUuODY4MzIyLCAtMTYwLjUwOTMxMl0sIFs1NS43OTE2NDUsIC0xNjAuNDM4MTEyXSwgWzU1Ljc2NDI2LCAtMTYwLjI3OTI4XSwgWzU1Ljg1NzM2OCwgLTE2MC4yNzM4MDNdLCBbNTUuOTM5NTIzLCAtMTYwLjUzNjY5N10sIFs1NS45OTQyOTIsIC0xNjAuNTU4NjA0XSwgWzU2LjI1MTcwOCwgLTE2MC4zODMzNDJdLCBbNTYuMzk5NTg2LCAtMTYwLjE0NzgzNF0sIFs1Ni41NDE5ODYsIC0xNTkuODMwMTcxXSwgWzU2LjY2Nzk1NiwgLTE1OS4zMjYyOTNdLCBbNTYuODQ4Njk1LCAtMTU4Ljk1OTMzOF0sIFs1Ni43ODI5NzEsIC0xNTguNzg0MDc2XSwgWzU2LjgxMDM1NiwgLTE1OC42NDE2NzVdLCBbNTYuOTI1MzcyLCAtMTU4LjcwMTkyMl0sIFs1Ny4wMzQ5MTEsIC0xNTguNjU4MTA2XSwgWzU3LjI2NDk0MiwgLTE1OC4zNzg3ODJdLCBbNTcuNDEyODIsIC0xNTcuOTk1Mzk2XSwgWzU3LjYwOTk4OSwgLTE1Ny42ODg2ODhdLCBbNTcuNzE5NTI4LCAtMTU3LjcwNTExOF0sIFs1OC40OTcyNTQsIC0xNTcuNDU4NjU2XSwgWzU4LjcwNTM3NywgLTE1Ny4wNzUyN10sIFs1OC44Njk2ODYsIC0xNTcuMTE5MDg2XSwgWzU4LjYzNDE3NywgLTE1OC4wMzkyMTJdLCBbNTguNjYxNTYyLCAtMTU4LjMyOTQ5XSwgWzU4Ljc2MDE0NywgLTE1OC40MDA2OV0sIFs1OC44MDM5NjIsIC0xNTguNTY0OTk4XSwgWzU4LjkxMzUwMSwgLTE1OC42MTk3NjhdLCBbNTguODY0MjA5LCAtMTU4Ljc2NzY0NV0sIFs1OC42OTQ0MjQsIC0xNTguODYwNzUzXSwgWzU4LjQ4MDgyMywgLTE1OC43MDE5MjJdLCBbNTguMzg3NzE1LCAtMTU4Ljg5MzYxNV0sIFs1OC40MjA1NzcsIC0xNTkuMDYzNF0sIFs1OC43NjAxNDcsIC0xNTkuMzkyMDE2XSwgWzU4LjkyOTkzMiwgLTE1OS42MTY1NzFdLCBbNTguOTI5OTMyLCAtMTU5LjczMTU4Nl0sIFs1OC44MDM5NjIsIC0xNTkuODA4MjY0XSwgWzU4Ljc4MjA1NSwgLTE1OS45MDY4NDhdLCBbNTguODg2MTE2LCAtMTYwLjA1NDcyNl0sIFs1OC45MDI1NDcsIC0xNjAuMjM1NDY1XSwgWzU5LjA3MjMzMiwgLTE2MC4zMTc2MTldLCBbNTguODgwNjQsIC0xNjAuODU0MzU5XSwgWzU4Ljc0MzcxNiwgLTE2MS4zMzYzM10sIFs1OC42NjcwMzksIC0xNjEuMzc0NjY5XSwgWzU4LjU1MjAyMywgLTE2MS43NTI1NzddLCBbNTguNjU2MDg1LCAtMTYxLjkzODc5M10sIFs1OC43NzY1NzgsIC0xNjEuNzY5MDA4XSwgWzU5LjA2MTM3OSwgLTE2MS44MjkyNTVdLCBbNTkuMzYyNjEsIC0xNjEuOTU1MjI0XSwgWzU5LjQ4ODU4LCAtMTYxLjcwMzI4NV0sIFs1OS43NDA1MTksIC0xNjEuOTExNDA5XSwgWzU5Ljg4MjkyLCAtMTYyLjA5MjE0OF0sIFs2MC4wOTEwNDMsIC0xNjIuMjM0NTQ4XSwgWzYwLjE3ODY3NCwgLTE2Mi40NDgxNDldLCBbNTkuOTk3OTM1LCAtMTYyLjUwMjkxOF0sIFs1OS45NTk1OTcsIC0xNjIuNzYwMzM0XSwgWzU5Ljg0NDU4MSwgLTE2My4xNzExMDVdLCBbNTkuNzk1Mjg5LCAtMTYzLjY2NDAzXSwgWzU5LjgwNjI0MiwgLTE2My45MzI0XSwgWzU5Ljg2NjQ4OSwgLTE2NC4xNjI0MzFdLCBbNjAuMDI1MzIsIC0xNjQuMTg5ODE2XSwgWzYwLjA3NDYxMywgLTE2NC4zODY5ODZdLCBbNjAuMjkzNjksIC0xNjQuNjk5MTcxXSwgWzYwLjMzNzUwNiwgLTE2NC45NjIwNjRdLCBbNjAuNTc4NDkxLCAtMTY1LjI2ODc3M10sIFs2MC42ODgwMywgLTE2NS4wNjA2NDldLCBbNjAuODkwNjc3LCAtMTY1LjAxNjgzNF0sIFs2MC44NDY4NjEsIC0xNjUuMTc1NjY1XSwgWzYwLjk3MjgzMSwgLTE2NS4xOTc1NzNdLCBbNjEuMDc2ODkzLCAtMTY1LjEyMDg5Nl0sIFs2MS4xNzAwMDEsIC0xNjUuMzIzNTQzXSwgWzYxLjA3MTQxNiwgLTE2NS4zNDU0NV0sIFs2MS4xMDk3NTQsIC0xNjUuNTkxOTEzXSwgWzYxLjI3OTUzOSwgLTE2NS42MjQ3NzRdLCBbNjEuMzAxNDQ3LCAtMTY1LjgxNjQ2N10sIFs2MS40MTY0NjMsIC0xNjUuOTIwNTI5XSwgWzYxLjU1ODg2MywgLTE2NS45MTUwNTJdLCBbNjEuNDkzMTQsIC0xNjYuMTA2NzQ1XSwgWzYxLjYzMDA2NCwgLTE2Ni4xMzk2MDddLCBbNjEuNjYyOTI1LCAtMTY1LjkwNDA5OF0sIFs2MS44MTYyOCwgLTE2Ni4wOTU3OTFdLCBbNjEuODI3MjMzLCAtMTY1Ljc1NjIyMV0sIFs2Mi4wMTM0NDksIC0xNjUuNzU2MjIxXSwgWzYyLjEzOTQxOSwgLTE2NS42NzQwNjddLCBbNjIuNTM5MjM2LCAtMTY1LjA0NDIxOV0sIFs2Mi42NTk3MjgsIC0xNjQuOTEyNzcyXSwgWzYyLjYzNzgyMSwgLTE2NC44MTk2NjRdLCBbNjIuODA3NjA2LCAtMTY0Ljg3NDQzM10sIFs2My4wOTc4ODQsIC0xNjQuNjMzNDQ4XSwgWzYzLjIxMjg5OSwgLTE2NC40MjUzMjRdLCBbNjMuMjYyMTkyLCAtMTY0LjAzNjQ2Ml0sIFs2My4yMTI4OTksIC0xNjMuNzM1MjNdLCBbNjMuMDM3NjM3LCAtMTYzLjMxMzUwNV0sIFs2My4wNTk1NDUsIC0xNjMuMDM5NjU4XSwgWzYzLjIyOTMzLCAtMTYyLjY2MTc0OV0sIFs2My40ODY3NDYsIC0xNjIuMjcyODg3XSwgWzYzLjUxNDEzMSwgLTE2Mi4wNzU3MTddLCBbNjMuNDQ4NDA4LCAtMTYyLjAyNjQyNF0sIFs2My40NDg0MDgsIC0xNjEuNTU1NDA4XSwgWzYzLjUwMzE3NywgLTE2MS4xMzkxNl0sIFs2My43NzE1NDcsIC0xNjAuNzY2NzI4XSwgWzYzLjgzNzI3MSwgLTE2MC43NjY3MjhdLCBbNjQuMDg5MjEsIC0xNjAuOTUyOTQ0XSwgWzY0LjIzNzA4NywgLTE2MC45NzQ4NTJdLCBbNjQuMzk1OTE4LCAtMTYxLjI2NTEzXSwgWzY0LjUzMjg0MiwgLTE2MS4zNzQ2NjldLCBbNjQuNDk0NTAzLCAtMTYxLjA3ODkxNF0sIFs2NC42MDk1MTksIC0xNjAuNzk5NTldLCBbNjQuNzE5MDU4LCAtMTYwLjc4MzE1OV0sIFs2NC45MjE3MDUsIC0xNjEuMTQ0NjM3XSwgWzY0Ljc2Mjg3MywgLTE2MS40MTMwMDddLCBbNjQuNzkwMjU4LCAtMTYxLjY2NDk0Nl0sIFs2NC43MDI2MjcsIC0xNjEuOTAwNDU1XSwgWzY0LjY4MDcxOSwgLTE2Mi4xNjg4MjVdLCBbNjQuNjIwNDczLCAtMTYyLjIzNDU0OF0sIFs2NC41MzI4NDIsIC0xNjIuNTQxMjU3XSwgWzY0LjM4NDk2NSwgLTE2Mi42MzQzNjVdLCBbNjQuMzI0NzE4LCAtMTYyLjc4NzcxOV0sIFs2NC40OTk5OCwgLTE2Mi44NTg5MTldLCBbNjQuNTM4MzE5LCAtMTYzLjA0NTEzNV0sIFs2NC40MDEzOTUsIC0xNjMuMTc2NTgyXSwgWzY0LjQ2NzExOSwgLTE2My4yNTMyNTldLCBbNjQuNTY1NzA0LCAtMTYzLjU5ODMwNl0sIFs2NC41NjAyMjcsIC0xNjQuMzA0ODMyXSwgWzY0LjQ1MDY4OCwgLTE2NC44MDg3MV0sIFs2NC40MzQyNTcsIC0xNjUuMDAwNDAzXSwgWzY0LjQ5OTk4LCAtMTY1LjQxMTE3NF0sIFs2NC41NzY2NTgsIC0xNjYuMTg4ODk5XSwgWzY0LjYzNjkwNCwgLTE2Ni4zOTE1NDZdLCBbNjQuNzM1NDg5LCAtMTY2LjQ4NDY1NF0sIFs2NC44NzI0MTIsIC0xNjYuNDEzNDU0XSwgWzY0Ljk4NzQyOCwgLTE2Ni42OTI3NzhdLCBbNjUuMTEzMzk4LCAtMTY2LjYzODAwOF0sIFs2NS4xNzkxMjEsIC0xNjYuNDYyNzQ2XSwgWzY1LjMzNzk1MiwgLTE2Ni41MTc1MTZdLCBbNjUuMzM3OTUyLCAtMTY2Ljc5NjgzOV0sIFs2NS4zODE3NjgsIC0xNjcuMDI2ODcxXSwgWzY1LjQxNDYyOSwgLTE2Ny40NzU5OF0sIFs2NS40OTY3ODQsIC0xNjcuNzExNDg5XSwgWzY1LjU3ODkzOCwgLTE2OC4wNzI5NjddLCBbNjUuNjgyOTk5LCAtMTY4LjEwNTgyOF0sIFs2NS44MTk5MjMsIC0xNjcuNTQxNzAzXSwgWzY2LjA0OTk1NCwgLTE2Ni44Mjk3MDFdLCBbNjYuMTg2ODc4LCAtMTY2LjMzMTNdLCBbNjYuMTEwMjAxLCAtMTY2LjA0NjQ5OV0sIFs2Ni4wOTM3NywgLTE2NS43NTYyMjFdLCBbNjYuMjAzMzA5LCAtMTY1LjY5MDQ5OF0sIFs2Ni4yMTk3NCwgLTE2NS44NjU3Nl0sIFs2Ni4zMTI4NDgsIC0xNjUuODgyMTldLCBbNjYuNDY2MjAyLCAtMTY1LjE4NjYxOV0sIFs2Ni41ODEyMTgsIC0xNjQuNDAzNDE3XSwgWzY2LjU5MjE3MiwgLTE2My45ODE2OTJdLCBbNjYuNTUzODMzLCAtMTYzLjc1MTY2MV0sIFs2Ni4zODk1MjUsIC0xNjMuODcyMTUzXSwgWzY2LjI3NDUwOSwgLTE2My44MjgzMzhdLCBbNjYuMTkyMzU1LCAtMTYzLjkxNTk2OV0sIFs2Ni4wNjA5MDgsIC0xNjMuNzY4MDkxXSwgWzY2LjA4MjgxNiwgLTE2My40OTQyNDRdLCBbNjYuMDYwOTA4LCAtMTYzLjE0OTE5N10sIFs2Ni4wODgyOTMsIC0xNjIuNzQ5MzgxXSwgWzY2LjAzOTAwMSwgLTE2Mi42MzQzNjVdLCBbNjYuMDI4MDQ3LCAtMTYyLjM3MTQ3Ml0sIFs2Ni4wNzczMzksIC0xNjIuMTQxNDRdLCBbNjYuMDIyNTcsIC0xNjEuODQwMjA4XSwgWzY2LjI0MTY0NywgLTE2MS41NDk5MzFdLCBbNjYuMjUyNjAxLCAtMTYxLjM0MTgwN10sIFs2Ni4yMDg3ODYsIC0xNjEuMTk5NDA2XSwgWzY2LjMzNDc1NSwgLTE2MS4xMjgyMDZdLCBbNjYuMzk1MDAyLCAtMTYxLjUyODAyM10sIFs2Ni4zNDU3MDksIC0xNjEuOTExNDA5XSwgWzY2LjUxMDAxNywgLTE2MS44NzMwN10sIFs2Ni42ODUyOCwgLTE2Mi4xNzQzMDJdLCBbNjYuNzQwMDQ5LCAtMTYyLjUwMjkxOF0sIFs2Ni44OTg4OCwgLTE2Mi42MDE1MDNdLCBbNjYuOTM3MjE5LCAtMTYyLjM0NDA4N10sIFs2Ni43NzgzODgsIC0xNjIuMDE1NDcxXSwgWzY2LjY1MjQxOCwgLTE2Mi4wNzU3MTddLCBbNjYuNTUzODMzLCAtMTYxLjkxNjg4Nl0sIFs2Ni40Mzg4MTcsIC0xNjEuNTcxODM4XSwgWzY2LjU1OTMxLCAtMTYxLjQ4OTY4NF0sIFs2Ni43MTgxNDEsIC0xNjEuODg0MDI0XSwgWzY3LjAwMjk0MiwgLTE2MS43MTQyMzldLCBbNjcuMDUyMjM1LCAtMTYxLjg1MTE2Ml0sIFs2Ni45OTE5ODgsIC0xNjIuMjQwMDI1XSwgWzY3LjAwODQxOSwgLTE2Mi42Mzk4NDJdLCBbNjcuMDU3NzEyLCAtMTYyLjcwMDA4OF0sIFs2Ny4wMDg0MTksIC0xNjIuOTAyNzM1XSwgWzY3LjEyODkxMiwgLTE2My43NDA3MDddLCBbNjcuMjU0ODgxLCAtMTYzLjc1NzEzOF0sIFs2Ny41MzQyMDUsIC0xNjQuMDA5MDc3XSwgWzY3LjYzODI2NywgLTE2NC4yMTE3MjRdLCBbNjcuNzI1ODk4LCAtMTY0LjUzNDg2M10sIFs2Ny45NjY4ODQsIC0xNjUuMTkyMDk2XSwgWzY4LjA1OTk5MiwgLTE2NS40OTMzMjhdLCBbNjguMDgxODk5LCAtMTY1Ljc5NDU1OV0sIFs2OC4yNDYyMDgsIC0xNjYuMjQzNjY4XSwgWzY4LjMzOTMxNiwgLTE2Ni42ODE4MjRdLCBbNjguMzcyMTc3LCAtMTY2LjcwMzczMV0sIFs2OC40MjE0NywgLTE2Ni4zNzUxMTVdLCBbNjguNTc0ODI0LCAtMTY2LjIyNzIzOF0sIFs2OC44ODE1MzMsIC0xNjYuMjE2Mjg0XSwgWzY4Ljg1OTYyNSwgLTE2NS4zMjkwMTldLCBbNjguOTMwODI1LCAtMTY0LjI1NTUzOV0sIFs2OC45ODU1OTUsIC0xNjMuOTc2MjE1XSwgWzY5LjEzODk0OSwgLTE2My41MzI1ODNdLCBbNjkuMzc0NDU3LCAtMTYzLjExMDg1OV0sIFs2OS42MDk5NjYsIC0xNjMuMDIzMjI4XSwgWzY5LjgxMjYxMywgLTE2Mi44NDI0ODldLCBbNjkuOTgyMzk4LCAtMTYyLjQ3MDA1N10sIFs3MC4xMDgzNjcsIC0xNjIuMzExMjI1XSwgWzcwLjMxMTAxNCwgLTE2MS44NTExNjJdLCBbNzAuMjU2MjQ1LCAtMTYxLjc3OTk2Ml0sIFs3MC4yMzk4MTQsIC0xNjEuMzk2NTc2XSwgWzcwLjM0Mzg3NiwgLTE2MC44Mzc5MjhdLCBbNzAuNDUzNDE1LCAtMTYwLjQ4NzQwNF0sIFs3MC43OTI5ODUsIC0xNTkuNjQ5NDMyXSwgWzcwLjgwOTQxNiwgLTE1OS4zMzE3N10sIFs3MC43NjAxMjMsIC0xNTkuMjk4OTA4XSwgWzcwLjc5ODQ2MiwgLTE1OC45NzU3NjldLCBbNzAuNzg3NTA4LCAtMTU4LjY1ODEwNl0sIFs3MC44MzEzMjMsIC0xNTguMDMzNzM1XSwgWzcwLjk3OTIwMSwgLTE1Ny40MjAzMThdLCBbNzEuMjg1OTA5LCAtMTU2LjgxMjM3N10sIFs3MS4zNTE2MzMsIC0xNTYuNTY1OTE1XSwgWzcxLjI5Njg2MywgLTE1Ni41MjIwOTldLCBbNzEuMTcwODk0LCAtMTU1LjU4NTU0M10sIFs3MS4wODMyNjMsIC0xNTUuNTA4ODY1XSwgWzcwLjk2ODI0NywgLTE1NS44MzIwMDVdLCBbNzAuOTYyNzcsIC0xNTUuOTc5ODgyXSwgWzcwLjgwOTQxNiwgLTE1NS45NzQ0MDVdLCBbNzAuODU4NzA4LCAtMTU1LjUwMzM4OF0sIFs3MC45NDA4NjIsIC0xNTUuNDc2MDA0XSwgWzcxLjAxNzUzOSwgLTE1NS4yNjI0MDNdLCBbNzAuOTczNzI0LCAtMTU1LjE5MTIwM10sIFs3MS4xNDg5ODYsIC0xNTUuMDMyMzcyXSwgWzcwLjk5MDE1NSwgLTE1NC41NjY4MzJdLCBbNzAuODY5NjYyLCAtMTU0LjY0MzUwOV0sIFs3MC44MzY4LCAtMTU0LjM1MzIzMV0sIFs3MC43NjU2LCAtMTU0LjE4MzQ0Nl0sIFs3MC44ODA2MTYsIC0xNTMuOTMxNTA3XSwgWzcwLjg4NjA5MywgLTE1My40ODc4NzRdLCBbNzAuOTI0NDMxLCAtMTUzLjIzNTkzNV0sIFs3MC44ODYwOTMsIC0xNTIuNTg5NjU2XSwgWzcwLjg0MjI3NywgLTE1Mi4yNjEwNF0sIFs3MC42MDY3NjksIC0xNTIuNDE5ODcxXSwgWzcwLjU0NjUyMywgLTE1MS44MTc0MDhdLCBbNzAuNDg2Mjc2LCAtMTUxLjc3MzU5Ml0sIFs3MC4zODIyMTQsIC0xNTEuMTg3NTU5XSwgWzcwLjQzMTUwNywgLTE1MS4xODIwODJdLCBbNzAuNDk3MjMsIC0xNTAuNzYwMzU4XSwgWzcwLjQ5MTc1MywgLTE1MC4zNTUwNjRdLCBbNzAuNDM2OTg0LCAtMTUwLjM0OTU4OF0sIFs3MC40MzE1MDcsIC0xNTAuMTE0MDc5XSwgWzcwLjUwODE4NCwgLTE0OS44Njc2MTddLCBbNzAuNTE5MTM4LCAtMTQ5LjQ2MjMyM10sIFs3MC40ODYyNzYsIC0xNDkuMTc3NTIyXSwgWzcwLjQwNDEyMiwgLTE0OC43ODg2Nl0sIFs3MC40MjA1NTMsIC0xNDguNjA3OTIxXSwgWzcwLjMwNTUzNywgLTE0OC4zNTA1MDRdLCBbNzAuMzQ5MzUzLCAtMTQ4LjIwMjYyN10sIFs3MC4zMTY0OTEsIC0xNDcuOTYxNjQyXSwgWzcwLjI0NTI5MSwgLTE0Ny43ODYzNzldXV0sIFtbWzU4LjAyNjIzNywgLTE1Mi45NDAxOF0sIFs1Ny45ODI0MjEsIC0xNTIuOTQ1NjU3XSwgWzU4LjA0ODE0NSwgLTE1My4yOTA3MDVdLCBbNTguMzA1NTYxLCAtMTUzLjA0NDI0Ml0sIFs1OC4zMjc0NjksIC0xNTIuODE5Njg4XSwgWzU4LjU2Mjk3NywgLTE1Mi42NjYzMzNdLCBbNTguMzU0ODUzLCAtMTUyLjQ5NjU0OF0sIFs1OC40MjYwNTMsIC0xNTIuMzU0MTQ4XSwgWzU4LjMxMTAzOCwgLTE1Mi4wODAzMDFdLCBbNTguMTUyMjA2LCAtMTUyLjA4MDMwMV0sIFs1OC4xMzAyOTksIC0xNTIuNDgwMTE3XSwgWzU4LjA1OTA5OCwgLTE1Mi42NTUzNzldLCBbNTguMDI2MjM3LCAtMTUyLjk0MDE4XV1dLCBbW1s1Ny41Mzg3ODksIC0xNTMuOTU4ODkxXSwgWzU3LjY3MDIzNiwgLTE1My42NzQwOV0sIFs1Ny42OTc2MiwgLTE1My45MzE1MDddLCBbNTcuODEyNjM2LCAtMTUzLjkzNjk4M10sIFs1Ny44ODkzMTMsIC0xNTMuNzIzMzgzXSwgWzU3LjgzNDU0NCwgLTE1My41NzAwMjhdLCBbNTcuNzE5NTI4LCAtMTUzLjU0ODEyMV0sIFs1Ny43OTYyMDUsIC0xNTMuNDYwNDldLCBbNTcuOTY1OTksIC0xNTMuNDU1MDEzXSwgWzU3Ljg4OTMxMywgLTE1My4yNjg3OTddLCBbNTcuOTk4ODUyLCAtMTUzLjIzNTkzNV0sIFs1Ny45MzMxMjksIC0xNTMuMDcxNjI3XSwgWzU3LjkzMzEyOSwgLTE1Mi44NzQ0NTddLCBbNTcuOTkzMzc1LCAtMTUyLjcyMTEwM10sIFs1Ny44ODkzMTMsIC0xNTIuNDY5MTYzXSwgWzU3LjU5OTAzNSwgLTE1Mi40NjkxNjNdLCBbNTcuNjIwOTQzLCAtMTUyLjE1MTUwMV0sIFs1Ny40MjkyNSwgLTE1Mi4zNTk2MjVdLCBbNTcuNTA1OTI4LCAtMTUyLjc0MzAxXSwgWzU3LjM3OTk1OCwgLTE1Mi42MDA2MV0sIFs1Ny4yNzU4OTYsIC0xNTIuNzEwMTQ5XSwgWzU3LjMyNTE4OCwgLTE1Mi45MDczMTldLCBbNTcuMTI4MDE5LCAtMTUyLjkxMjc5Nl0sIFs1Ny4wNzMyNDksIC0xNTMuMjE0MDI3XSwgWzU2Ljk5MTA5NSwgLTE1My4zMTI2MTJdLCBbNTcuMDY3NzcyLCAtMTUzLjQ5ODgyOF0sIFs1Ni44NTk2NDksIC0xNTMuNjk1OTk4XSwgWzU2LjgzNzc0MSwgLTE1My44NDkzNTJdLCBbNTYuNzQ0NjMzLCAtMTU0LjAxMzY2MV0sIFs1Ni45NjkxODcsIC0xNTQuMDczOTA3XSwgWzU2Ljg0ODY5NSwgLTE1NC4zMDM5MzhdLCBbNTYuOTE5ODk1LCAtMTU0LjMxNDg5Ml0sIFs1Ni45OTEwOTUsIC0xNTQuNTIzMDE2XSwgWzU3LjE5Mzc0MiwgLTE1NC41Mzk0NDddLCBbNTcuMjc1ODk2LCAtMTU0Ljc0MjA5NF0sIFs1Ny41MTE0MDQsIC0xNTQuNjI3MDc4XSwgWzU3LjY1OTI4MiwgLTE1NC4yMjcyNjFdLCBbNTcuNjQ4MzI4LCAtMTUzLjk4MDc5OV0sIFs1Ny41Mzg3ODksIC0xNTMuOTU4ODkxXV1dLCBbW1s1Ni42MDIyMzIsIC0xNTQuNTMzOTddLCBbNTYuMzk5NTg2LCAtMTU0Ljc0MjA5NF0sIFs1Ni40MzI0NDcsIC0xNTQuODA3ODE3XSwgWzU2LjYwMjIzMiwgLTE1NC41MzM5N11dXSwgW1tbNTUuOTIzMDkyLCAtMTU1LjYzNDgzNV0sIFs1NS45MTIxMzgsIC0xNTUuNDc2MDA0XSwgWzU1LjcwNDAxNCwgLTE1NS41MzA3NzNdLCBbNTUuNzMxMzk5LCAtMTU1Ljc5MzY2Nl0sIFs1NS44MDI1OTksIC0xNTUuODM3NDgyXSwgWzU1LjkyMzA5MiwgLTE1NS42MzQ4MzVdXV0sIFtbWzU1LjI4MjI5LCAtMTU5Ljg5MDQxOF0sIFs1NS4wNjg2ODksIC0xNTkuOTUwNjY0XSwgWzU0Ljg5MzQyNywgLTE2MC4yNTczNzNdLCBbNTUuMTYxNzk3LCAtMTYwLjEwOTQ5NV0sIFs1NS4xMzQ0MTIsIC0xNjAuMDA1NDMzXSwgWzU1LjI4MjI5LCAtMTU5Ljg5MDQxOF1dXSwgW1tbNTUuMzU4OTY3LCAtMTYwLjUyMDI2Nl0sIFs1NS4zNTg5NjcsIC0xNjAuMzM0MDVdLCBbNTUuMjQ5NDI4LCAtMTYwLjMzOTUyN10sIFs1NS4xMjg5MzUsIC0xNjAuNTI1NzQzXSwgWzU1LjIxMTA4OSwgLTE2MC42OTAwNTFdLCBbNTUuMTM0NDEyLCAtMTYwLjc5NDExM10sIFs1NS4zMjA2MjgsIC0xNjAuODU0MzU5XSwgWzU1LjM4MDg3NSwgLTE2MC43OTk1OV0sIFs1NS4zNTg5NjcsIC0xNjAuNTIwMjY2XV1dLCBbW1s1NC45ODEwNTgsIC0xNjIuMjU2NDU2XSwgWzU0Ljg5MzQyNywgLTE2Mi4yMzQ1NDhdLCBbNTQuODM4NjU4LCAtMTYyLjM0OTU2NF0sIFs1NC45MzE3NjYsIC0xNjIuNDM3MTk1XSwgWzU0Ljk4MTA1OCwgLTE2Mi4yNTY0NTZdXV0sIFtbWzYzLjYzNDYyNCwgLTE2Mi40MTUyODddLCBbNjMuNTM2MDM5LCAtMTYyLjU2MzE2NV0sIFs2My42MjM2NywgLTE2Mi42MTI0NTddLCBbNjMuNjM0NjI0LCAtMTYyLjQxNTI4N11dXSwgW1tbNTQuNDg4MTMzLCAtMTYyLjgwNDE1XSwgWzU0LjQ0OTc5NSwgLTE2Mi41OTA1NDldLCBbNTQuMzY3NjQxLCAtMTYyLjYxMjQ1N10sIFs1NC4zNzMxMTgsIC0xNjIuNzgyMjQyXSwgWzU0LjQ4ODEzMywgLTE2Mi44MDQxNV1dXSwgW1tbNTQuMjk2NDQsIC0xNjUuNTQ4MDk3XSwgWzU0LjE4MTQyNSwgLTE2NS40NzY4OTddLCBbNTQuMTMyMTMyLCAtMTY1LjYzMDI1MV0sIFs1NC4yNTI2MjUsIC0xNjUuNjg1MDIxXSwgWzU0LjI5NjQ0LCAtMTY1LjU0ODA5N11dXSwgW1tbNTQuMTU0MDQsIC0xNjUuNzM5NzldLCBbNTQuMDQ0NTAxLCAtMTY2LjA0NjQ5OV0sIFs1NC4xMjExNzgsIC0xNjYuMTEyMjIyXSwgWzU0LjIxOTc2MywgLTE2NS45ODA3NzVdLCBbNTQuMTU0MDQsIC0xNjUuNzM5NzldXV0sIFtbWzYwLjM1OTQxMywgLTE2Ni4zNjQxNjFdLCBbNjAuMzk3NzUyLCAtMTY2LjEzNDEzXSwgWzYwLjMyNjU1MiwgLTE2Ni4wODQ4MzddLCBbNjAuMzQyOTgzLCAtMTY1Ljg4MjE5XSwgWzYwLjI3NzI1OSwgLTE2NS42ODUwMjFdLCBbNTkuOTkyNDU4LCAtMTY1LjY0NjY4Ml0sIFs1OS44OTkzNSwgLTE2NS43NTA3NDRdLCBbNTkuODQ0NTgxLCAtMTY2LjAwODE2XSwgWzU5Ljc0NTk5NiwgLTE2Ni4wNjI5MjldLCBbNTkuODU1NTM1LCAtMTY2LjQ0MDgzOF0sIFs1OS44NTAwNTgsIC0xNjYuNjE2MV0sIFs1OS45OTI0NTgsIC0xNjYuOTk0MDA5XSwgWzU5Ljk5MjQ1OCwgLTE2Ny4xMjU0NTZdLCBbNjAuMDc0NjEzLCAtMTY3LjM0NDUzNF0sIFs2MC4yMDYwNTksIC0xNjcuNDIxMjExXSwgWzYwLjIzODkyMSwgLTE2Ny4zMTE2NzJdLCBbNjAuMjA2MDU5LCAtMTY2LjkzOTI0XSwgWzYwLjMxMDEyMSwgLTE2Ni43NjM5NzhdLCBbNjAuMzIxMDc1LCAtMTY2LjU3Nzc2Ml0sIFs2MC4zOTIyNzUsIC0xNjYuNDk1NjA4XSwgWzYwLjM1OTQxMywgLTE2Ni4zNjQxNjFdXV0sIFtbWzU0LjAxMTY0LCAtMTY2LjM3NTExNV0sIFs1My45MzQ5NjIsIC0xNjYuMjEwODA3XSwgWzUzLjc0ODc0NiwgLTE2Ni41NDQ5XSwgWzUzLjcxNTg4NSwgLTE2Ni41Mzk0MjNdLCBbNTMuODUyODA4LCAtMTY2LjExNzY5OV0sIFs1My43NzYxMzEsIC0xNjYuMTEyMjIyXSwgWzUzLjY4MzAyMywgLTE2Ni4yODIwMDddLCBbNTMuNjIyNzc3LCAtMTY2LjU1NTg1NF0sIFs1My41Mjk2NjksIC0xNjYuNTgzMjM5XSwgWzUzLjQzMTA4NCwgLTE2Ni44Nzg5OTRdLCBbNTMuNDI1NjA3LCAtMTY3LjEzNjQxXSwgWzUzLjMzMjQ5OSwgLTE2Ny4zMDYxOTVdLCBbNTMuMjUwMzQ1LCAtMTY3LjYyMzg1N10sIFs1My4zMzc5NzYsIC0xNjcuNzkzNjQzXSwgWzUzLjQ0MjAzOCwgLTE2Ny40NTk1NDldLCBbNTMuNDI1NjA3LCAtMTY3LjM1NTQ4N10sIFs1My41MTMyMzgsIC0xNjcuMTAzNTQ4XSwgWzUzLjYxMTgyMywgLTE2Ny4xNjM3OTRdLCBbNTMuNzE1ODg1LCAtMTY3LjAyMTM5NF0sIFs1My42NjY1OTIsIC0xNjYuODA3NzkzXSwgWzUzLjczMjMxNiwgLTE2Ni43ODU4ODZdLCBbNTMuNzU0MjIzLCAtMTY3LjAxNTkxN10sIFs1My44MjU0MjQsIC0xNjcuMTQxODg3XSwgWzUzLjk0NTkxNiwgLTE2Ny4wMzIzNDhdLCBbNTQuMDE3MTE2LCAtMTY2LjY0MzQ4NV0sIFs1My44ODAxOTMsIC0xNjYuNTYxMzMxXSwgWzU0LjAxMTY0LCAtMTY2LjM3NTExNV1dXSwgW1tbNTMuMTU3MjM3LCAtMTY4Ljc5MDQ0Nl0sIFs1My4zNDg5MywgLTE2OC40MDcwNl0sIFs1My40MzEwODQsIC0xNjguMzg1MTUyXSwgWzUzLjUyNDE5MiwgLTE2OC4yMzcyNzVdLCBbNTMuNTY4MDA3LCAtMTY4LjAwNzI0M10sIFs1My41MTg3MTUsIC0xNjcuODg2NzUxXSwgWzUzLjM4NzI2OCwgLTE2Ny44NDI5MzVdLCBbNTMuMjQ0ODY4LCAtMTY4LjI3MDEzNl0sIFs1My4wMzY3NDQsIC0xNjguNTAwMTY4XSwgWzUyLjk2NTU0NCwgLTE2OC42ODYzODRdLCBbNTMuMTU3MjM3LCAtMTY4Ljc5MDQ0Nl1dXSwgW1tbNTIuODk0MzQ0LCAtMTY5Ljc0ODkxXSwgWzUyLjc5NTc1OSwgLTE2OS43MDUwOTVdLCBbNTIuNzkwMjgyLCAtMTY5Ljk2MjUxMV0sIFs1Mi44NTYwMDUsIC0xNjkuOTg5ODk2XSwgWzUyLjg5NDM0NCwgLTE2OS43NDg5MV1dXSwgW1tbNTcuMjIxMTI3LCAtMTcwLjE0ODcyN10sIFs1Ny4xMjgwMTksIC0xNzAuMjg1NjVdLCBbNTcuMjIxMTI3LCAtMTcwLjMxMzAzNV0sIFs1Ny4yMjExMjcsIC0xNzAuMTQ4NzI3XV1dLCBbW1s1Mi42OTcxNzQsIC0xNzAuNjY5MDM2XSwgWzUyLjYwNDA2NiwgLTE3MC42MDMzMTNdLCBbNTIuNTM4MzQzLCAtMTcwLjc4OTUyOV0sIFs1Mi42MzY5MjgsIC0xNzAuODE2OTE0XSwgWzUyLjY5NzE3NCwgLTE3MC42NjkwMzZdXV0sIFtbWzYzLjcxNjc3OCwgLTE3MS43NDI1MTddLCBbNjMuNTY4OSwgLTE3MC45NDgzNl0sIFs2My42OTQ4NywgLTE3MC40ODgyOTddLCBbNjMuNjgzOTE2LCAtMTcwLjI4MDE3NF0sIFs2My42MTI3MTYsIC0xNzAuMDkzOTU4XSwgWzYzLjQ5MjIyMywgLTE3MC4wNDQ2NjVdLCBbNjMuNDI2NSwgLTE2OS42NDQ4NDhdLCBbNjMuMzY2MjU0LCAtMTY5LjUxODg3OV0sIFs2My4zMzg4NjksIC0xNjguOTk4NTddLCBbNjMuMjk1MDUzLCAtMTY4LjY4NjM4NF0sIFs2My4xNDcxNzYsIC0xNjguODU2MTY5XSwgWzYzLjE4MDAzOCwgLTE2OS4xMDgxMDhdLCBbNjMuMTUyNjUzLCAtMTY5LjM3NjQ3OF0sIFs2My4wODY5MywgLTE2OS41MTM0MDJdLCBbNjIuOTM5MDUyLCAtMTY5LjYzOTM3Ml0sIFs2My4wNzU5NzYsIC0xNjkuODMxMDY0XSwgWzYzLjE2OTA4NCwgLTE3MC4wNTU2MTldLCBbNjMuMTgwMDM4LCAtMTcwLjI2Mzc0M10sIFs2My4yODQxLCAtMTcwLjM2MjMyOF0sIFs2My40MTU1NDYsIC0xNzAuODY2MjA2XSwgWzYzLjQyMTAyMywgLTE3MS4xMDE3MTVdLCBbNjMuMzA2MDA3LCAtMTcxLjQ2MzE5M10sIFs2My4zNjYyNTQsIC0xNzEuNzM3MDRdLCBbNjMuNDg2NzQ2LCAtMTcxLjg1MjA1NV0sIFs2My43MTY3NzgsIC0xNzEuNzQyNTE3XV1dLCBbW1s1Mi4zOTA0NjUsIC0xNzIuNDMyNjExXSwgWzUyLjI3NTQ0OSwgLTE3Mi40MTYxOF0sIFs1Mi4yNTM1NDIsIC0xNzIuNjA3ODczXSwgWzUyLjM1MjEyNywgLTE3Mi41Njk1MzVdLCBbNTIuMzkwNDY1LCAtMTcyLjQzMjYxMV1dXSwgW1tbNTIuMTQ5NDgsIC0xNzMuNjI2NTg0XSwgWzUyLjEwNTY2NCwgLTE3My40OTUxMzhdLCBbNTIuMTExMTQxLCAtMTczLjEyMjcwNl0sIFs1Mi4wNzgyOCwgLTE3My4xMDYyNzVdLCBbNTIuMDI4OTg3LCAtMTczLjU0OTkwN10sIFs1Mi4xNDk0OCwgLTE3My42MjY1ODRdXV0sIFtbWzUyLjI4MDkyNiwgLTE3NC4zMjIxNTZdLCBbNTIuMzc5NTExLCAtMTc0LjMyNzYzMl0sIFs1Mi40MTc4NSwgLTE3NC4xODUyMzJdLCBbNTIuMzE5MjY1LCAtMTczLjk4MjU4NV0sIFs1Mi4yMjYxNTcsIC0xNzQuMDU5MjYyXSwgWzUyLjIzMTYzNCwgLTE3NC4xNzk3NTVdLCBbNTIuMTI3NTcyLCAtMTc0LjE0MTQxN10sIFs1Mi4xMTY2MTgsIC0xNzQuMzMzMTA5XSwgWzUyLjAwNzA3OSwgLTE3NC43Mzg0MDNdLCBbNTIuMDM5OTQxLCAtMTc0Ljk2ODQzNV0sIFs1Mi4xMTY2MTgsIC0xNzQuOTAyNzExXSwgWzUyLjEwNTY2NCwgLTE3NC42NTYyNDldLCBbNTIuMjgwOTI2LCAtMTc0LjMyMjE1Nl1dXSwgW1tbNTEuODUzNzI1LCAtMTc2LjQ2OTExNl0sIFs1MS44NzAxNTYsIC0xNzYuMjg4Mzc3XSwgWzUxLjc0NDE4NiwgLTE3Ni4yODgzNzddLCBbNTEuNzYwNjE3LCAtMTc2LjUxODQwOV0sIFs1MS42MTI3NCwgLTE3Ni44MDMyMV0sIFs1MS44MDk5MSwgLTE3Ni45MTI3NDhdLCBbNTEuODE1Mzg2LCAtMTc2Ljc5MjI1Nl0sIFs1MS45NjMyNjQsIC0xNzYuNzc1ODI1XSwgWzUxLjk2ODc0MSwgLTE3Ni42Mjc5NDddLCBbNTEuODU5MjAyLCAtMTc2LjYyNzk0N10sIFs1MS44NTM3MjUsIC0xNzYuNDY5MTE2XV1dLCBbW1s1MS45NDY4MzMsIC0xNzcuMTUzNzM0XSwgWzUxLjg5NzU0MSwgLTE3Ny4wNDQxOTVdLCBbNTEuNzI3NzU1LCAtMTc3LjEyMDg3Ml0sIFs1MS42Nzg0NjMsIC0xNzcuMjc0MjI2XSwgWzUxLjc4MjUyNSwgLTE3Ny4yNzk3MDNdLCBbNTEuOTQ2ODMzLCAtMTc3LjE1MzczNF1dXSwgW1tbNTEuOTE5NDQ4LCAtMTc4LjEyMzE1Ml0sIFs1MS45MTM5NzEsIC0xNzcuOTUzMzY3XSwgWzUxLjc5MzQ3OSwgLTE3Ny44MDAwMTNdLCBbNTEuNjUxMDc4LCAtMTc3Ljk2NDMyMV0sIFs1MS45MTk0NDgsIC0xNzguMTIzMTUyXV1dLCBbW1s1Mi45OTI5MjksIDE3My4xMDc1NTddLCBbNTIuOTI3MjA1LCAxNzMuMjkzNzczXSwgWzUyLjgyMzE0MywgMTczLjMwNDcyNl0sIFs1Mi43NjI4OTcsIDE3Mi45MDQ5MV0sIFs1Mi45MjcyMDUsIDE3Mi42NDIwMTddLCBbNTMuMDAzODgzLCAxNzIuNjQyMDE3XSwgWzUyLjk5MjkyOSwgMTczLjEwNzU1N11dXV0sCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJyNmZmZmMDAnLAogICAgICAgICAgICAgICAgICAgICAgICB3ZWlnaHQ6IDAsCiAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgIGZlYXR1cmVfZ3JvdXBfZDQ5NzZjYTlmZmEyNDllYzk1ZjM3ZmFlM2QxYTczMDAuYWRkTGF5ZXIobXVsdGlfcG9seWdvbl9lMDdlNDljZWY5NzM0ZTVjOGQ5ZWZmNzU5ZTRhYjIzYSk7CiAgICAgICAgICAgIAogICAgICAgIAogICAgICAgICAgICAKICAgICAgICAgICAgdmFyIHBvcHVwXzYxZGUyMjE3ODYyNDQ2ZmFiMGY0Y2M5NDQ5ZDQzYmUwID0gTC5wb3B1cCh7bWF4V2lkdGg6ICczMDAnfSk7CgogICAgICAgICAgICAKICAgICAgICAgICAgICAgIHZhciBodG1sX2M5Y2FiOTVlZmQ2NjQ4MzBhNzgyNmZlZThhZTYyMWEwID0gJCgnICAgICAgICAgPGRpdiBpZD0iaHRtbF9jOWNhYjk1ZWZkNjY0ODMwYTc4MjZmZWU4YWU2MjFhMCIgICAgICAgICAgICAgICAgIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPiAgICAgICAgICAgICAgICAgQWxhc2thPC9kaXY+ICAgICAgICAgICAgICAgICAnKVswXTsKICAgICAgICAgICAgICAgIHBvcHVwXzYxZGUyMjE3ODYyNDQ2ZmFiMGY0Y2M5NDQ5ZDQzYmUwLnNldENvbnRlbnQoaHRtbF9jOWNhYjk1ZWZkNjY0ODMwYTc4MjZmZWU4YWU2MjFhMCk7CiAgICAgICAgICAgIAoKICAgICAgICAgICAgbXVsdGlfcG9seWdvbl9lMDdlNDljZWY5NzM0ZTVjOGQ5ZWZmNzU5ZTRhYjIzYS5iaW5kUG9wdXAocG9wdXBfNjFkZTIyMTc4NjI0NDZmYWIwZjRjYzk0NDlkNDNiZTApOwoKICAgICAgICAgICAgCiAgICAgICAgCiAgICAgICAgCiAgICAgICAgICAgIAogICAgICAgICAgICAgICAgdmFyIG11bHRpX3BvbHlnb25fODZiNjUxZDcwMmI3NDE2ZTkyYTZkNTA3NmU5NTUzYmEgPSBMLm11bHRpUG9seWdvbigKICAgICAgICAgICAgICAgICAgICBbW1szNy4wMDAyNjMsIC0xMDkuMDQyNTAzXSwgWzMxLjMzMTYyOSwgLTEwOS4wNDc5OF0sIFszMS4zMzE2MjksIC0xMTEuMDc0NDQ4XSwgWzMxLjcwNDA2MSwgLTExMi4yNDY1MTNdLCBbMzIuNDkyNzQxLCAtMTE0LjgxNTE5OF0sIFszMi43MTcyOTUsIC0xMTQuNzIyMDldLCBbMzIuNzU1NjM0LCAtMTE0LjUyNDkyMV0sIFszMi44NDMyNjUsIC0xMTQuNDcwMTUxXSwgWzMzLjAyOTQ4MSwgLTExNC41MjQ5MjFdLCBbMzMuMDM0OTU4LCAtMTE0LjY2MTg0NF0sIFszMy40MDczOSwgLTExNC43Mjc1NjddLCBbMzMuNTQ5NzksIC0xMTQuNTI0OTIxXSwgWzMzLjY5NzY2OCwgLTExNC40OTc1MzZdLCBbMzMuOTMzMTc2LCAtMTE0LjUzNTg3NF0sIFszNC4xMDg0MzgsIC0xMTQuNDE1MzgyXSwgWzM0LjE3NDE2MiwgLTExNC4yNTY1NTFdLCBbMzQuMzA1NjA4LCAtMTE0LjEzNjA1OF0sIFszNC40NDgwMDksIC0xMTQuMzMzMjI4XSwgWzM0LjcxMDkwMiwgLTExNC40NzAxNTFdLCBbMzQuODc1MjEsIC0xMTQuNjM0NDU5XSwgWzM1LjAwMTE4LCAtMTE0LjYzNDQ1OV0sIFszNS4xMzgxMDMsIC0xMTQuNTc0MjEzXSwgWzM1LjMyNDMxOSwgLTExNC41OTYxMjFdLCBbMzUuNTE2MDEyLCAtMTE0LjY3ODI3NV0sIFszNi4xMDIwNDUsIC0xMTQuNzM4NTIxXSwgWzM2LjE0MDM4MywgLTExNC4zNzE1NjZdLCBbMzYuMDE5ODksIC0xMTQuMjUxMDc0XSwgWzM2LjAyNTM2NywgLTExNC4xNTI0ODldLCBbMzYuMTk1MTUzLCAtMTE0LjA0ODQyN10sIFszNy4wMDAyNjMsIC0xMTQuMDQ4NDI3XSwgWzM3LjAwNTc0LCAtMTEwLjQ5OTM2OV0sIFszNy4wMDAyNjMsIC0xMDkuMDQyNTAzXV1dLAogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICcjZmZmZjAwJywKICAgICAgICAgICAgICAgICAgICAgICAgd2VpZ2h0OiAwLAogICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICBmZWF0dXJlX2dyb3VwX2Q0OTc2Y2E5ZmZhMjQ5ZWM5NWYzN2ZhZTNkMWE3MzAwLmFkZExheWVyKG11bHRpX3BvbHlnb25fODZiNjUxZDcwMmI3NDE2ZTkyYTZkNTA3NmU5NTUzYmEpOwogICAgICAgICAgICAKICAgICAgICAKICAgICAgICAgICAgCiAgICAgICAgICAgIHZhciBwb3B1cF8xNWNjZDczNWY4YjI0YzNkYjU2OGJkNzhkMTk4Y2NkYSA9IEwucG9wdXAoe21heFdpZHRoOiAnMzAwJ30pOwoKICAgICAgICAgICAgCiAgICAgICAgICAgICAgICB2YXIgaHRtbF9kOWI0MzYzYjEwOWI0MTgyYmY5N2I4NTFmMDY3ZWU5MSA9ICQoJyAgICAgICAgIDxkaXYgaWQ9Imh0bWxfZDliNDM2M2IxMDliNDE4MmJmOTdiODUxZjA2N2VlOTEiICAgICAgICAgICAgICAgICBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij4gICAgICAgICAgICAgICAgIEFyaXpvbmE8L2Rpdj4gICAgICAgICAgICAgICAgICcpWzBdOwogICAgICAgICAgICAgICAgcG9wdXBfMTVjY2Q3MzVmOGIyNGMzZGI1NjhiZDc4ZDE5OGNjZGEuc2V0Q29udGVudChodG1sX2Q5YjQzNjNiMTA5YjQxODJiZjk3Yjg1MWYwNjdlZTkxKTsKICAgICAgICAgICAgCgogICAgICAgICAgICBtdWx0aV9wb2x5Z29uXzg2YjY1MWQ3MDJiNzQxNmU5MmE2ZDUwNzZlOTU1M2JhLmJpbmRQb3B1cChwb3B1cF8xNWNjZDczNWY4YjI0YzNkYjU2OGJkNzhkMTk4Y2NkYSk7CgogICAgICAgICAgICAKICAgICAgICAKICAgICAgICAKICAgICAgICAgICAgCiAgICAgICAgICAgICAgICB2YXIgbXVsdGlfcG9seWdvbl82MTY0ZjUyOGU3YWM0M2Y1YjUwZTFjMGYxZjZmZDAxNCA9IEwubXVsdGlQb2x5Z29uKAogICAgICAgICAgICAgICAgICAgIFtbWzM2LjUwMTg2MSwgLTk0LjQ3Mzg0Ml0sIFszNi40OTYzODQsIC05MC4xNTI1MzZdLCBbMzYuMzA0NjkxLCAtOTAuMDY0OTA1XSwgWzM2LjE4NDE5OSwgLTkwLjIxODI1OV0sIFszNS45OTc5ODMsIC05MC4zNzcwOTFdLCBbMzUuOTk3OTgzLCAtODkuNzMwODEyXSwgWzM1LjgxMTc2NywgLTg5Ljc2MzY3M10sIFszNS43NTY5OTcsIC04OS45MTE1NTFdLCBbMzUuNjAzNjQzLCAtODkuOTQ0NDEyXSwgWzM1LjQzOTMzNSwgLTkwLjEzMDYyOF0sIFszNS4xOTgzNDksIC05MC4xMTQxOTddLCBbMzUuMDIzMDg3LCAtOTAuMjEyNzgyXSwgWzM0Ljk5NTcwMywgLTkwLjMxMTM2N10sIFszNC45MDgwNzIsIC05MC4yNTExMjFdLCBbMzQuODMxMzk0LCAtOTAuNDA5OTUyXSwgWzM0LjY2MTYwOSwgLTkwLjQ4MTE1Ml0sIFszNC42MTc3OTQsIC05MC41ODUyMTRdLCBbMzQuNDIwNjI0LCAtOTAuNTY4NzgzXSwgWzM0LjM2NTg1NCwgLTkwLjc0OTUyMl0sIFszNC4zMDAxMzEsIC05MC43NDQwNDZdLCBbMzQuMTM1ODIzLCAtOTAuOTUyMTY5XSwgWzM0LjAyNjI4NCwgLTkwLjg5MTkyM10sIFszMy44Njc0NTMsIC05MS4wNzI2NjJdLCBbMzMuNTYwNzQ0LCAtOTEuMjMxNDkzXSwgWzMzLjQyOTI5OCwgLTkxLjA1NjIzMV0sIFszMy4zNDcxNDQsIC05MS4xNDM4NjJdLCBbMzMuMTM5MDIsIC05MS4wODkwOTNdLCBbMzMuMDAyMDk2LCAtOTEuMTY1NzddLCBbMzMuMDE4NTI3LCAtOTMuNjA4NDg1XSwgWzMzLjAxODUyNywgLTk0LjA0MTE2NF0sIFszMy41NDk3OSwgLTk0LjA0MTE2NF0sIFszMy41OTM2MDYsIC05NC4xODM1NjRdLCBbMzMuNTQ0MzEzLCAtOTQuMzgwNzM0XSwgWzMzLjYzNzQyMSwgLTk0LjQ4NDc5Nl0sIFszNS4zOTU1MTksIC05NC40MzAwMjZdLCBbMzYuNTAxODYxLCAtOTQuNjE2MjQyXSwgWzM2LjUwMTg2MSwgLTk0LjQ3Mzg0Ml1dXSwKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAnI2ZmZmYwMCcsCiAgICAgICAgICAgICAgICAgICAgICAgIHdlaWdodDogMCwKICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgZmVhdHVyZV9ncm91cF9kNDk3NmNhOWZmYTI0OWVjOTVmMzdmYWUzZDFhNzMwMC5hZGRMYXllcihtdWx0aV9wb2x5Z29uXzYxNjRmNTI4ZTdhYzQzZjViNTBlMWMwZjFmNmZkMDE0KTsKICAgICAgICAgICAgCiAgICAgICAgCiAgICAgICAgICAgIAogICAgICAgICAgICB2YXIgcG9wdXBfM2M4ZjI4NDAwM2VmNDBhZmFkYTgxNDcxZjQxMWRhNGQgPSBMLnBvcHVwKHttYXhXaWR0aDogJzMwMCd9KTsKCiAgICAgICAgICAgIAogICAgICAgICAgICAgICAgdmFyIGh0bWxfZGIxMGI1YmE3MjBiNDhlYjg5NjY1NTAwMWYwYzE0MTggPSAkKCcgICAgICAgICA8ZGl2IGlkPSJodG1sX2RiMTBiNWJhNzIwYjQ4ZWI4OTY2NTUwMDFmMGMxNDE4IiAgICAgICAgICAgICAgICAgc3R5bGU9IndpZHRoOiAxMDAuMCU7IGhlaWdodDogMTAwLjAlOyI+ICAgICAgICAgICAgICAgICBBcmthbnNhczwvZGl2PiAgICAgICAgICAgICAgICAgJylbMF07CiAgICAgICAgICAgICAgICBwb3B1cF8zYzhmMjg0MDAzZWY0MGFmYWRhODE0NzFmNDExZGE0ZC5zZXRDb250ZW50KGh0bWxfZGIxMGI1YmE3MjBiNDhlYjg5NjY1NTAwMWYwYzE0MTgpOwogICAgICAgICAgICAKCiAgICAgICAgICAgIG11bHRpX3BvbHlnb25fNjE2NGY1MjhlN2FjNDNmNWI1MGUxYzBmMWY2ZmQwMTQuYmluZFBvcHVwKHBvcHVwXzNjOGYyODQwMDNlZjQwYWZhZGE4MTQ3MWY0MTFkYTRkKTsKCiAgICAgICAgICAgIAogICAgICAgIAogICAgICAgIAogICAgICAgICAgICAKICAgICAgICAgICAgICAgIHZhciBtdWx0aV9wb2x5Z29uXzVlNDZlYjMzNGM1ZTRlMjZhNWFiNDAwMDVjMTQxZDEyID0gTC5tdWx0aVBvbHlnb24oCiAgICAgICAgICAgICAgICAgICAgW1tbNDIuMDA2MTg2LCAtMTIzLjIzMzI1Nl0sIFs0Mi4wMTE2NjMsIC0xMjIuMzc4ODUzXSwgWzQxLjk5NTIzMiwgLTEyMS4wMzcwMDNdLCBbNDEuOTk1MjMyLCAtMTIwLjAwMTg2MV0sIFs0MC4yNjQ1MTksIC0xMTkuOTk2Mzg0XSwgWzM4Ljk5OTM0NiwgLTEyMC4wMDE4NjFdLCBbMzguMTAxMTI4LCAtMTE4LjcxNDc4XSwgWzM3LjIxOTM0LCAtMTE3LjQ5ODg5OV0sIFszNi41MDE4NjEsIC0xMTYuNTQwNDM1XSwgWzM1Ljk3MDU5OCwgLTExNS44NTAzNF0sIFszNS4wMDExOCwgLTExNC42MzQ0NTldLCBbMzQuODc1MjEsIC0xMTQuNjM0NDU5XSwgWzM0LjcxMDkwMiwgLTExNC40NzAxNTFdLCBbMzQuNDQ4MDA5LCAtMTE0LjMzMzIyOF0sIFszNC4zMDU2MDgsIC0xMTQuMTM2MDU4XSwgWzM0LjE3NDE2MiwgLTExNC4yNTY1NTFdLCBbMzQuMTA4NDM4LCAtMTE0LjQxNTM4Ml0sIFszMy45MzMxNzYsIC0xMTQuNTM1ODc0XSwgWzMzLjY5NzY2OCwgLTExNC40OTc1MzZdLCBbMzMuNTQ5NzksIC0xMTQuNTI0OTIxXSwgWzMzLjQwNzM5LCAtMTE0LjcyNzU2N10sIFszMy4wMzQ5NTgsIC0xMTQuNjYxODQ0XSwgWzMzLjAyOTQ4MSwgLTExNC41MjQ5MjFdLCBbMzIuODQzMjY1LCAtMTE0LjQ3MDE1MV0sIFszMi43NTU2MzQsIC0xMTQuNTI0OTIxXSwgWzMyLjcxNzI5NSwgLTExNC43MjIwOV0sIFszMi42MjQxODcsIC0xMTYuMDQ3NTFdLCBbMzIuNTM2NTU2LCAtMTE3LjEyNjQ2N10sIFszMi42NjgwMDMsIC0xMTcuMjQ2OTZdLCBbMzIuODc2MTI3LCAtMTE3LjI1MjQzN10sIFszMy4xMjI1ODksIC0xMTcuMzI5MTE0XSwgWzMzLjI5Nzg1MSwgLTExNy40NzE1MTVdLCBbMzMuNTM4ODM2LCAtMTE3Ljc4MzddLCBbMzMuNzYzMzkxLCAtMTE4LjE4MzUxN10sIFszMy43MDMxNDUsIC0xMTguMjYwMTk0XSwgWzMzLjc0MTQ4MywgLTExOC40MTM1NDhdLCBbMzMuODQwMDY4LCAtMTE4LjM5MTY0MV0sIFszNC4wNDI3MTUsIC0xMTguNTY2OTAzXSwgWzMzLjk5ODg5OSwgLTExOC44MDI0MTFdLCBbMzQuMTQ2Nzc3LCAtMTE5LjIxODY1OV0sIFszNC4yNjcyNywgLTExOS4yNzg5MDVdLCBbMzQuNDE1MTQ3LCAtMTE5LjU1ODIyOV0sIFszNC40MDk2NywgLTExOS44NzU4OTFdLCBbMzQuNDc1MzkzLCAtMTIwLjEzODc4NF0sIFszNC40NDgwMDksIC0xMjAuNDcyODc4XSwgWzM0LjU3OTQ1NSwgLTEyMC42NDgxNF0sIFszNC44NTg3NzksIC0xMjAuNjA5ODAxXSwgWzM0LjkwMjU5NSwgLTEyMC42NzAwNDhdLCBbMzUuMDk5NzY0LCAtMTIwLjYzMTcwOV0sIFszNS4yNDc2NDIsIC0xMjAuODk0NjAyXSwgWzM1LjQ1MDI4OSwgLTEyMC45MDU1NTZdLCBbMzUuNDYxMjQzLCAtMTIxLjAwNDE0MV0sIFszNS42MzY1MDUsIC0xMjEuMTY4NDQ5XSwgWzM1LjY3NDg0MywgLTEyMS4yODM0NjVdLCBbMzUuNzg0MzgyLCAtMTIxLjMzMjc1N10sIFszNi4xOTUxNTMsIC0xMjEuNzE2MTQzXSwgWzM2LjMxNTY0NSwgLTEyMS44OTY4ODJdLCBbMzYuNjM4Nzg1LCAtMTIxLjkzNTIyMV0sIFszNi42MTE0LCAtMTIxLjg1ODU0NF0sIFszNi44MDMwOTMsIC0xMjEuNzg3MzQ0XSwgWzM2Ljk3ODM1NSwgLTEyMS45Mjk3NDRdLCBbMzYuOTU2NDQ3LCAtMTIyLjEwNTAwNl0sIFszNy4xMTUyNzksIC0xMjIuMzM1MDM4XSwgWzM3LjI0MTI0OCwgLTEyMi40MTcxOTJdLCBbMzcuMzYxNzQxLCAtMTIyLjQwMDc2MV0sIFszNy41MjA1NzIsIC0xMjIuNTE1Nzc3XSwgWzM3Ljc4MzQ2NSwgLTEyMi41MTU3NzddLCBbMzcuNzgzNDY1LCAtMTIyLjMyOTU2MV0sIFszOC4xNTA0MiwgLTEyMi40MDYyMzhdLCBbMzguMTEyMDgyLCAtMTIyLjQ4ODM5Ml0sIFszNy45MzEzNDMsIC0xMjIuNTA0ODIzXSwgWzM3Ljg5MzAwNCwgLTEyMi43MDE5OTNdLCBbMzguMDI5OTI4LCAtMTIyLjkzNzUwMV0sIFszOC4yNjU0MzYsIC0xMjIuOTc1ODRdLCBbMzguNDUxNjUyLCAtMTIzLjEyOTE5NF0sIFszOC41NjY2NjgsIC0xMjMuMzMxODQxXSwgWzM4LjY5ODExNCwgLTEyMy40NDEzOF0sIFszOC45NTU1MywgLTEyMy43MzcxMzRdLCBbMzkuMDMyMjA4LCAtMTIzLjY4Nzg0Ml0sIFszOS4zNjYzMDEsIC0xMjMuODI0NzY1XSwgWzM5LjU1MjUxNywgLTEyMy43NjQ1MTldLCBbMzkuODMxODQxLCAtMTIzLjg1MjE1XSwgWzQwLjEwNTY4OCwgLTEyNC4xMDk1NjZdLCBbNDAuMjU5MDQyLCAtMTI0LjM2MTUwNl0sIFs0MC40Mzk3ODEsIC0xMjQuNDEwNzk4XSwgWzQwLjg3NzkzNywgLTEyNC4xNTg4NTldLCBbNDEuMDI1ODE0LCAtMTI0LjEwOTU2Nl0sIFs0MS4xNDA4MywgLTEyNC4xNTg4NTldLCBbNDEuNDQyMDYxLCAtMTI0LjA2NTc1MV0sIFs0MS43MTU5MDgsIC0xMjQuMTQ3OTA1XSwgWzQxLjc4MTYzMiwgLTEyNC4yNTc0NDRdLCBbNDIuMDAwNzA5LCAtMTI0LjIxMzYyOF0sIFs0Mi4wMDYxODYsIC0xMjMuMjMzMjU2XV1dLAogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICcjZmZmZjAwJywKICAgICAgICAgICAgICAgICAgICAgICAgd2VpZ2h0OiAwLAogICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICBmZWF0dXJlX2dyb3VwX2Q0OTc2Y2E5ZmZhMjQ5ZWM5NWYzN2ZhZTNkMWE3MzAwLmFkZExheWVyKG11bHRpX3BvbHlnb25fNWU0NmViMzM0YzVlNGUyNmE1YWI0MDAwNWMxNDFkMTIpOwogICAgICAgICAgICAKICAgICAgICAKICAgICAgICAgICAgCiAgICAgICAgICAgIHZhciBwb3B1cF8wZGEzMzMwMWM1NjU0YWU0YTU2ZmM2OTBhZDZlOTkwMiA9IEwucG9wdXAoe21heFdpZHRoOiAnMzAwJ30pOwoKICAgICAgICAgICAgCiAgICAgICAgICAgICAgICB2YXIgaHRtbF84MzJlZWQ2ZWYyNDc0NzcwYTY3NzBiYmQ2NWM0OGIxYiA9ICQoJyAgICAgICAgIDxkaXYgaWQ9Imh0bWxfODMyZWVkNmVmMjQ3NDc3MGE2NzcwYmJkNjVjNDhiMWIiICAgICAgICAgICAgICAgICBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij4gICAgICAgICAgICAgICAgIENhbGlmb3JuaWE8L2Rpdj4gICAgICAgICAgICAgICAgICcpWzBdOwogICAgICAgICAgICAgICAgcG9wdXBfMGRhMzMzMDFjNTY1NGFlNGE1NmZjNjkwYWQ2ZTk5MDIuc2V0Q29udGVudChodG1sXzgzMmVlZDZlZjI0NzQ3NzBhNjc3MGJiZDY1YzQ4YjFiKTsKICAgICAgICAgICAgCgogICAgICAgICAgICBtdWx0aV9wb2x5Z29uXzVlNDZlYjMzNGM1ZTRlMjZhNWFiNDAwMDVjMTQxZDEyLmJpbmRQb3B1cChwb3B1cF8wZGEzMzMwMWM1NjU0YWU0YTU2ZmM2OTBhZDZlOTkwMik7CgogICAgICAgICAgICAKICAgICAgICAKICAgICAgICAKICAgICAgICAgICAgCiAgICAgICAgICAgICAgICB2YXIgbXVsdGlfcG9seWdvbl8zYzM0OTU4OWQzMjM0ZWY5OWE3YTY1MzY5MDQxMDVhZCA9IEwubXVsdGlQb2x5Z29uKAogICAgICAgICAgICAgICAgICAgIFtbWzQxLjAwMzkwNiwgLTEwNy45MTk3MzFdLCBbNDAuOTk4NDI5LCAtMTA1LjcyODk1NF0sIFs0MS4wMDM5MDYsIC0xMDQuMDUzMDExXSwgWzQxLjAwMzkwNiwgLTEwMi4wNTM5MjddLCBbNDAuMDAxNjI2LCAtMTAyLjA1MzkyN10sIFszNi45OTQ3ODYsIC0xMDIuMDQyOTc0XSwgWzM3LjAwMDI2MywgLTEwMy4wMDE0MzhdLCBbMzYuOTk0Nzg2LCAtMTA0LjMzNzgxMl0sIFszNi45OTQ3ODYsIC0xMDYuODY4MTU4XSwgWzM3LjAwMDI2MywgLTEwNy40MjEzMjldLCBbMzcuMDAwMjYzLCAtMTA5LjA0MjUwM10sIFszOC4xNjY4NTEsIC0xMDkuMDQyNTAzXSwgWzM4LjI3NjM5LCAtMTA5LjA1ODkzNF0sIFszOS4xMjUzMTYsIC0xMDkuMDUzNDU3XSwgWzQwLjk5ODQyOSwgLTEwOS4wNDc5OF0sIFs0MS4wMDM5MDYsIC0xMDcuOTE5NzMxXV1dLAogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICcjZmZmZjAwJywKICAgICAgICAgICAgICAgICAgICAgICAgd2VpZ2h0OiAwLAogICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICBmZWF0dXJlX2dyb3VwX2Q0OTc2Y2E5ZmZhMjQ5ZWM5NWYzN2ZhZTNkMWE3MzAwLmFkZExheWVyKG11bHRpX3BvbHlnb25fM2MzNDk1ODlkMzIzNGVmOTlhN2E2NTM2OTA0MTA1YWQpOwogICAgICAgICAgICAKICAgICAgICAKICAgICAgICAgICAgCiAgICAgICAgICAgIHZhciBwb3B1cF9mOWQ3YzliMGU0Njc0OThmOTdjZTVhNTI4Y2Q2M2Q1NCA9IEwucG9wdXAoe21heFdpZHRoOiAnMzAwJ30pOwoKICAgICAgICAgICAgCiAgICAgICAgICAgICAgICB2YXIgaHRtbF9iNGUxYTE2ZGE1ZGM0MDYxOTQ2YTkyNmRjYjRlYmY4NCA9ICQoJyAgICAgICAgIDxkaXYgaWQ9Imh0bWxfYjRlMWExNmRhNWRjNDA2MTk0NmE5MjZkY2I0ZWJmODQiICAgICAgICAgICAgICAgICBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij4gICAgICAgICAgICAgICAgIENvbG9yYWRvPC9kaXY+ICAgICAgICAgICAgICAgICAnKVswXTsKICAgICAgICAgICAgICAgIHBvcHVwX2Y5ZDdjOWIwZTQ2NzQ5OGY5N2NlNWE1MjhjZDYzZDU0LnNldENvbnRlbnQoaHRtbF9iNGUxYTE2ZGE1ZGM0MDYxOTQ2YTkyNmRjYjRlYmY4NCk7CiAgICAgICAgICAgIAoKICAgICAgICAgICAgbXVsdGlfcG9seWdvbl8zYzM0OTU4OWQzMjM0ZWY5OWE3YTY1MzY5MDQxMDVhZC5iaW5kUG9wdXAocG9wdXBfZjlkN2M5YjBlNDY3NDk4Zjk3Y2U1YTUyOGNkNjNkNTQpOwoKICAgICAgICAgICAgCiAgICAgICAgCiAgICAgICAgCiAgICAgICAgICAgIAogICAgICAgICAgICAgICAgdmFyIG11bHRpX3BvbHlnb25fNzgwOGE1NzBkYTkzNGVhNGJiODZkNzI0YTExMjJhNTQgPSBMLm11bHRpUG9seWdvbigKICAgICAgICAgICAgICAgICAgICBbW1s0Mi4wMzkwNDgsIC03My4wNTM1MjhdLCBbNDIuMDIyNjE3LCAtNzEuNzk5MzA5XSwgWzQyLjAwNjE4NiwgLTcxLjc5OTMwOV0sIFs0MS40MTQ2NzcsIC03MS43OTkzMDldLCBbNDEuMzIxNTY5LCAtNzEuODU5NTU1XSwgWzQxLjMzOCwgLTcxLjk0NzE4Nl0sIFs0MS4yNjEzMjIsIC03Mi4zODUzNDFdLCBbNDEuMjgzMjMsIC03Mi45MDU2NTFdLCBbNDEuMTQ2MzA3LCAtNzMuMTMwMjA1XSwgWzQxLjEwMjQ5MSwgLTczLjM3MTE5MV0sIFs0MC45ODc0NzUsIC03My42NTU5OTJdLCBbNDEuMTAyNDkxLCAtNzMuNzI3MTkyXSwgWzQxLjIxMjAzLCAtNzMuNDgwNzNdLCBbNDEuMjk0MTg0LCAtNzMuNTUxOTNdLCBbNDIuMDUwMDAyLCAtNzMuNDg2MjA2XSwgWzQyLjAzOTA0OCwgLTczLjA1MzUyOF1dXSwKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAnZ3JlZW4nLAogICAgICAgICAgICAgICAgICAgICAgICB3ZWlnaHQ6IDAsCiAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgIGZlYXR1cmVfZ3JvdXBfZDQ5NzZjYTlmZmEyNDllYzk1ZjM3ZmFlM2QxYTczMDAuYWRkTGF5ZXIobXVsdGlfcG9seWdvbl83ODA4YTU3MGRhOTM0ZWE0YmI4NmQ3MjRhMTEyMmE1NCk7CiAgICAgICAgICAgIAogICAgICAgIAogICAgICAgICAgICAKICAgICAgICAgICAgdmFyIHBvcHVwXzkwYTc4NDY4ZDllZTQzNWY4MjA0NGU0OGVmZmI3ZThkID0gTC5wb3B1cCh7bWF4V2lkdGg6ICczMDAnfSk7CgogICAgICAgICAgICAKICAgICAgICAgICAgICAgIHZhciBodG1sX2NhZWJlMTliYmRiZTRiYzNiYTJjMTQ1NmIxNGZiNWNjID0gJCgnICAgICAgICAgPGRpdiBpZD0iaHRtbF9jYWViZTE5YmJkYmU0YmMzYmEyYzE0NTZiMTRmYjVjYyIgICAgICAgICAgICAgICAgIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPiAgICAgICAgICAgICAgICAgQ29ubmVjdGljdXQ8L2Rpdj4gICAgICAgICAgICAgICAgICcpWzBdOwogICAgICAgICAgICAgICAgcG9wdXBfOTBhNzg0NjhkOWVlNDM1ZjgyMDQ0ZTQ4ZWZmYjdlOGQuc2V0Q29udGVudChodG1sX2NhZWJlMTliYmRiZTRiYzNiYTJjMTQ1NmIxNGZiNWNjKTsKICAgICAgICAgICAgCgogICAgICAgICAgICBtdWx0aV9wb2x5Z29uXzc4MDhhNTcwZGE5MzRlYTRiYjg2ZDcyNGExMTIyYTU0LmJpbmRQb3B1cChwb3B1cF85MGE3ODQ2OGQ5ZWU0MzVmODIwNDRlNDhlZmZiN2U4ZCk7CgogICAgICAgICAgICAKICAgICAgICAKICAgICAgICAKICAgICAgICAgICAgCiAgICAgICAgICAgICAgICB2YXIgbXVsdGlfcG9seWdvbl8wODFjMTgxMDc5ODk0NDNmYWMyMjkzNmQ5NjIzYWYyNiA9IEwubXVsdGlQb2x5Z29uKAogICAgICAgICAgICAgICAgICAgIFtbWzM5LjgwNDQ1NiwgLTc1LjQxNDA4OV0sIFszOS42ODM5NjQsIC03NS41MDcxOTddLCBbMzkuNjE4MjQsIC03NS42MTEyNTldLCBbMzkuNDU5NDA5LCAtNzUuNTg5MzUyXSwgWzM5LjMxMTUzMiwgLTc1LjQ0MTQ3NF0sIFszOS4wNjUwNjksIC03NS40MDMxMzZdLCBbMzguODA3NjUzLCAtNzUuMTg5NTM1XSwgWzM4Ljc5NjY5OSwgLTc1LjA5MDk1XSwgWzM4LjQ1MTY1MiwgLTc1LjA0NzEzNF0sIFszOC40NjI2MDYsIC03NS42OTM0MTNdLCBbMzkuNzIyMzAyLCAtNzUuNzg2NTIxXSwgWzM5LjgzMTg0MSwgLTc1LjYxNjczNl0sIFszOS44MDQ0NTYsIC03NS40MTQwODldXV0sCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJ2dyZWVuJywKICAgICAgICAgICAgICAgICAgICAgICAgd2VpZ2h0OiAwLAogICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICBmZWF0dXJlX2dyb3VwX2Q0OTc2Y2E5ZmZhMjQ5ZWM5NWYzN2ZhZTNkMWE3MzAwLmFkZExheWVyKG11bHRpX3BvbHlnb25fMDgxYzE4MTA3OTg5NDQzZmFjMjI5MzZkOTYyM2FmMjYpOwogICAgICAgICAgICAKICAgICAgICAKICAgICAgICAgICAgCiAgICAgICAgICAgIHZhciBwb3B1cF9lOGUxYmYwYWFkMzc0ZDFiOWQ5ZWE5MjE5NWUyMTk1MSA9IEwucG9wdXAoe21heFdpZHRoOiAnMzAwJ30pOwoKICAgICAgICAgICAgCiAgICAgICAgICAgICAgICB2YXIgaHRtbF8wNDU4MDM2Mjg5Yjg0MDdiODRmZGU4OTExZjcwMDBlYiA9ICQoJyAgICAgICAgIDxkaXYgaWQ9Imh0bWxfMDQ1ODAzNjI4OWI4NDA3Yjg0ZmRlODkxMWY3MDAwZWIiICAgICAgICAgICAgICAgICBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij4gICAgICAgICAgICAgICAgIERlbGF3YXJlPC9kaXY+ICAgICAgICAgICAgICAgICAnKVswXTsKICAgICAgICAgICAgICAgIHBvcHVwX2U4ZTFiZjBhYWQzNzRkMWI5ZDllYTkyMTk1ZTIxOTUxLnNldENvbnRlbnQoaHRtbF8wNDU4MDM2Mjg5Yjg0MDdiODRmZGU4OTExZjcwMDBlYik7CiAgICAgICAgICAgIAoKICAgICAgICAgICAgbXVsdGlfcG9seWdvbl8wODFjMTgxMDc5ODk0NDNmYWMyMjkzNmQ5NjIzYWYyNi5iaW5kUG9wdXAocG9wdXBfZThlMWJmMGFhZDM3NGQxYjlkOWVhOTIxOTVlMjE5NTEpOwoKICAgICAgICAgICAgCiAgICAgICAgCiAgICAgICAgCiAgICAgICAgICAgIAogICAgICAgICAgICAgICAgdmFyIG11bHRpX3BvbHlnb25fMjc5ZjAwNGQyMDliNDYzZDkxNWZmZDIwNjQ1NWI2ZjggPSBMLm11bHRpUG9seWdvbigKICAgICAgICAgICAgICAgICAgICBbW1szMC45OTc1MzYsIC04NS40OTcxMzddLCBbMzEuMDAzMDEzLCAtODUuMDA0MjEyXSwgWzMwLjcxMjczNSwgLTg0Ljg2NzI4OV0sIFszMC42NDcwMTIsIC04My40OTgwNTNdLCBbMzAuNTcwMzM1LCAtODIuMjE2NDQ5XSwgWzMwLjM1NjczNCwgLTgyLjE2NzE1N10sIFszMC4zNjIyMTEsIC04Mi4wNDY2NjRdLCBbMzAuNTY0ODU4LCAtODIuMDAyODQ5XSwgWzMwLjc1MTA3NCwgLTgyLjA0MTE4N10sIFszMC44Mjc3NTEsIC04MS45NDgwNzldLCBbMzAuNzQ1NTk3LCAtODEuNzE4MDQ4XSwgWzMwLjcwNzI1OCwgLTgxLjQ0NDIwMV0sIFszMC4yNzQ1OCwgLTgxLjM4Mzk1NF0sIFsyOS43ODcxMzIsIC04MS4yNTc5ODVdLCBbMjkuMTQ2MzMsIC04MC45Njc3MDddLCBbMjguNDYxNzEzLCAtODAuNTI0MDc1XSwgWzI4LjQxMjQyLCAtODAuNTg5Nzk4XSwgWzI4LjA5NDc1OCwgLTgwLjU2Nzg5XSwgWzI3LjczODc1NywgLTgwLjM4MTY3NF0sIFsyNy4wMjEyNzcsIC04MC4wOTEzOTddLCBbMjYuNzk2NzIzLCAtODAuMDMxMTVdLCBbMjYuNTY2NjkxLCAtODAuMDM2NjI3XSwgWzI1LjczOTY3MywgLTgwLjE0NjE2Nl0sIFsyNS43MjMyNDMsIC04MC4yMzkyNzRdLCBbMjUuNDY1ODI2LCAtODAuMzM3ODU5XSwgWzI1LjM4MzY3MiwgLTgwLjMwNDk5N10sIFsyNS4xOTc0NTYsIC04MC40OTY2OV0sIFsyNS4yNDEyNzIsIC04MC41NzMzNjddLCBbMjUuMTY0NTk1LCAtODAuNzU5NTgzXSwgWzI1LjEyMDc3OSwgLTgxLjA3NzI0Nl0sIFsyNS4yMjQ4NDEsIC04MS4xNzAzNTRdLCBbMjUuMzc4MTk1LCAtODEuMTI2NTM4XSwgWzI1LjgyMTgyNywgLTgxLjM1MTA5M10sIFsyNS45MDM5ODIsIC04MS41MjYzNTVdLCBbMjUuODQzNzM1LCAtODEuNjc5NzA5XSwgWzI2LjA5MDE5OCwgLTgxLjgwMDIwMl0sIFsyNi4yOTI4NDQsIC04MS44MzMwNjRdLCBbMjYuNTE3Mzk5LCAtODIuMDQxMTg3XSwgWzI2LjY2NTI3NiwgLTgyLjA5MDQ4XSwgWzI2Ljg3ODg3NywgLTgyLjA1NzYxOF0sIFsyNi45MTcyMTYsIC04Mi4xNzI2MzRdLCBbMjYuNzkxMjQ2LCAtODIuMTQ1MjQ5XSwgWzI2Ljc1ODM4NCwgLTgyLjI0OTMxMV0sIFsyNy4zMDA2MDEsIC04Mi41NjY5NzRdLCBbMjcuNDM3NTI1LCAtODIuNjkyOTQzXSwgWzI3LjgzNzM0MiwgLTgyLjM5MTcxMV0sIFsyNy44MTU0MzQsIC04Mi41ODg4ODFdLCBbMjcuNjg5NDY0LCAtODIuNzIwMzI4XSwgWzI3Ljg4NjYzNCwgLTgyLjg1MTc3NF0sIFsyOC40MzQzMjgsIC04Mi42NzY1MTJdLCBbMjguODg4OTE0LCAtODIuNjQzNjUxXSwgWzI4Ljk5ODQ1MywgLTgyLjc2NDE0M10sIFsyOS4xNDYzMywgLTgyLjgwMjQ4Ml0sIFsyOS4xNzkxOTIsIC04Mi45OTQxNzVdLCBbMjkuNDIwMTc3LCAtODMuMjE4NzI5XSwgWzI5LjUxODc2MiwgLTgzLjM5OTQ2OV0sIFsyOS42NjY2NCwgLTgzLjQxMDQyMl0sIFsyOS43MjE0MDksIC04My41MzYzOTJdLCBbMjkuODg1NzE3LCAtODMuNjQwNDU0XSwgWzMwLjEwNDc5NSwgLTg0LjAyMzg0XSwgWzMwLjA1NTUwMiwgLTg0LjM1NzkzM10sIFsyOS45MDIxNDgsIC04NC4zNDE1MDJdLCBbMjkuOTI5NTMzLCAtODQuNDUxMDQxXSwgWzI5Ljc0MzMxNywgLTg0Ljg2NzI4OV0sIFsyOS42OTk1MDEsIC04NS4zMTA5MjFdLCBbMjkuODA5MDQsIC04NS4yOTk5NjddLCBbMjkuOTQwNDg3LCAtODUuNDA0MDI5XSwgWzMwLjIzNjI0MSwgLTg1LjkyNDMzOF0sIFszMC4zNjIyMTEsIC04Ni4yOTY3N10sIFszMC4zOTUwNzMsIC04Ni42MzA4NjNdLCBbMzAuMzczMTY1LCAtODYuOTEwMTg3XSwgWzMwLjI4MDA1NywgLTg3LjUxODEyOF0sIFszMC40Mjc5MzQsIC04Ny4zNzAyNV0sIFszMC41MTAwODgsIC04Ny40NDY5MjddLCBbMzAuNjc0Mzk3LCAtODcuNDA4NTg5XSwgWzMwLjg2NjA5LCAtODcuNjMzMTQzXSwgWzMwLjk5NzUzNiwgLTg3LjYwMDI4Ml0sIFszMC45OTc1MzYsIC04NS40OTcxMzddXV0sCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJyNmZmZmMDAnLAogICAgICAgICAgICAgICAgICAgICAgICB3ZWlnaHQ6IDAsCiAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgIGZlYXR1cmVfZ3JvdXBfZDQ5NzZjYTlmZmEyNDllYzk1ZjM3ZmFlM2QxYTczMDAuYWRkTGF5ZXIobXVsdGlfcG9seWdvbl8yNzlmMDA0ZDIwOWI0NjNkOTE1ZmZkMjA2NDU1YjZmOCk7CiAgICAgICAgICAgIAogICAgICAgIAogICAgICAgICAgICAKICAgICAgICAgICAgdmFyIHBvcHVwXzA1YmY0MjM0MWQ2YzQ3YjhiYTRjMzk1NTg5OTMwZTFkID0gTC5wb3B1cCh7bWF4V2lkdGg6ICczMDAnfSk7CgogICAgICAgICAgICAKICAgICAgICAgICAgICAgIHZhciBodG1sXzc4MTYxNzlmM2I3NzRjMTY4OTU2MTAyZWEzMzE5NGViID0gJCgnICAgICAgICAgPGRpdiBpZD0iaHRtbF83ODE2MTc5ZjNiNzc0YzE2ODk1NjEwMmVhMzMxOTRlYiIgICAgICAgICAgICAgICAgIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPiAgICAgICAgICAgICAgICAgRmxvcmlkYTwvZGl2PiAgICAgICAgICAgICAgICAgJylbMF07CiAgICAgICAgICAgICAgICBwb3B1cF8wNWJmNDIzNDFkNmM0N2I4YmE0YzM5NTU4OTkzMGUxZC5zZXRDb250ZW50KGh0bWxfNzgxNjE3OWYzYjc3NGMxNjg5NTYxMDJlYTMzMTk0ZWIpOwogICAgICAgICAgICAKCiAgICAgICAgICAgIG11bHRpX3BvbHlnb25fMjc5ZjAwNGQyMDliNDYzZDkxNWZmZDIwNjQ1NWI2ZjguYmluZFBvcHVwKHBvcHVwXzA1YmY0MjM0MWQ2YzQ3YjhiYTRjMzk1NTg5OTMwZTFkKTsKCiAgICAgICAgICAgIAogICAgICAgIAogICAgICAgIAogICAgICAgICAgICAKICAgICAgICAgICAgICAgIHZhciBtdWx0aV9wb2x5Z29uXzUwMzhiNTRjNTM5NzQ5NzM4OTM3NWIyOTMyOTFmZmI1ID0gTC5tdWx0aVBvbHlnb24oCiAgICAgICAgICAgICAgICAgICAgW1tbMzUuMDAxMTgsIC04My4xMDkxOTFdLCBbMzQuNzg3NTc5LCAtODMuMzIyNzkxXSwgWzM0LjY4MzUxNywgLTgzLjMzOTIyMl0sIFszNC40Njk5MTYsIC04My4wMDUxMjldLCBbMzQuNDg2MzQ3LCAtODIuOTAxMDY3XSwgWzM0LjI2NzI3LCAtODIuNzQ3NzEzXSwgWzM0LjE1MjI1NCwgLTgyLjcxNDg1MV0sIFszMy45NDQxMywgLTgyLjU1NjAyXSwgWzMzLjgxODE2LCAtODIuMzI1OTg4XSwgWzMzLjYzMTk0NCwgLTgyLjE5NDU0Ml0sIFszMy40NjIxNTksIC04MS45MjYxNzJdLCBbMzMuMzQ3MTQ0LCAtODEuOTM3MTI1XSwgWzMzLjE2MDkyOCwgLTgxLjc2MTg2M10sIFszMy4wMDc1NzMsIC04MS40OTM0OTNdLCBbMzIuODQzMjY1LCAtODEuNDI3NzddLCBbMzIuNjI5NjY0LCAtODEuNDE2ODE2XSwgWzMyLjU1ODQ2NCwgLTgxLjI3OTg5M10sIFszMi4yOTAwOTQsIC04MS4xMjEwNjFdLCBbMzIuMTIwMzA5LCAtODEuMTE1NTg0XSwgWzMyLjAzMjY3OCwgLTgwLjg4NTU1M10sIFszMS42OTMxMDgsIC04MS4xMzIwMTVdLCBbMzEuNTE3ODQ1LCAtODEuMTc1ODMxXSwgWzMxLjM2NDQ5MSwgLTgxLjI3OTg5M10sIFszMS4yMDU2NiwgLTgxLjI5MDg0Nl0sIFszMS4xMzQ0NiwgLTgxLjQwMDM4NV0sIFszMC43MDcyNTgsIC04MS40NDQyMDFdLCBbMzAuNzQ1NTk3LCAtODEuNzE4MDQ4XSwgWzMwLjgyNzc1MSwgLTgxLjk0ODA3OV0sIFszMC43NTEwNzQsIC04Mi4wNDExODddLCBbMzAuNTY0ODU4LCAtODIuMDAyODQ5XSwgWzMwLjM2MjIxMSwgLTgyLjA0NjY2NF0sIFszMC4zNTY3MzQsIC04Mi4xNjcxNTddLCBbMzAuNTcwMzM1LCAtODIuMjE2NDQ5XSwgWzMwLjY0NzAxMiwgLTgzLjQ5ODA1M10sIFszMC43MTI3MzUsIC04NC44NjcyODldLCBbMzEuMDAzMDEzLCAtODUuMDA0MjEyXSwgWzMxLjI3Njg2LCAtODUuMTEzNzUxXSwgWzMxLjUzOTc1MywgLTg1LjA0MjU1MV0sIFszMS44NDA5ODUsIC04NS4xNDExMzZdLCBbMzIuMDEwNzcsIC04NS4wNTM1MDRdLCBbMzIuMTM2NzQsIC04NS4wNTg5ODFdLCBbMzIuMjYyNzA5LCAtODQuODg5MTk2XSwgWzMyLjMyMjk1NiwgLTg1LjAwNDIxMl0sIFszMi40MjE1NDEsIC04NC45NjAzOTddLCBbMzIuNTgwMzcyLCAtODUuMDY5OTM1XSwgWzMyLjg1OTY5NiwgLTg1LjE4NDk1MV0sIFszNC4xMjQ4NjksIC04NS40MzE0MTNdLCBbMzQuOTg0NzQ5LCAtODUuNjA2Njc1XSwgWzM0Ljk5MDIyNiwgLTg0LjMxOTU5NF0sIFszNC45ODQ3NDksIC04My42MTg1NDZdLCBbMzUuMDAxMTgsIC04My4xMDkxOTFdXV0sCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJ2dyZWVuJywKICAgICAgICAgICAgICAgICAgICAgICAgd2VpZ2h0OiAwLAogICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICBmZWF0dXJlX2dyb3VwX2Q0OTc2Y2E5ZmZhMjQ5ZWM5NWYzN2ZhZTNkMWE3MzAwLmFkZExheWVyKG11bHRpX3BvbHlnb25fNTAzOGI1NGM1Mzk3NDk3Mzg5Mzc1YjI5MzI5MWZmYjUpOwogICAgICAgICAgICAKICAgICAgICAKICAgICAgICAgICAgCiAgICAgICAgICAgIHZhciBwb3B1cF80MjQzZWRhMTAwZjA0NDVhODFjNmE3MTAxYjlmMWE0YyA9IEwucG9wdXAoe21heFdpZHRoOiAnMzAwJ30pOwoKICAgICAgICAgICAgCiAgICAgICAgICAgICAgICB2YXIgaHRtbF83ZmZhNjM3MTVkY2I0ZGU1YTIwMDM5ZWYwYTE5MTkxNSA9ICQoJyAgICAgICAgIDxkaXYgaWQ9Imh0bWxfN2ZmYTYzNzE1ZGNiNGRlNWEyMDAzOWVmMGExOTE5MTUiICAgICAgICAgICAgICAgICBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij4gICAgICAgICAgICAgICAgIEdlb3JnaWE8L2Rpdj4gICAgICAgICAgICAgICAgICcpWzBdOwogICAgICAgICAgICAgICAgcG9wdXBfNDI0M2VkYTEwMGYwNDQ1YTgxYzZhNzEwMWI5ZjFhNGMuc2V0Q29udGVudChodG1sXzdmZmE2MzcxNWRjYjRkZTVhMjAwMzllZjBhMTkxOTE1KTsKICAgICAgICAgICAgCgogICAgICAgICAgICBtdWx0aV9wb2x5Z29uXzUwMzhiNTRjNTM5NzQ5NzM4OTM3NWIyOTMyOTFmZmI1LmJpbmRQb3B1cChwb3B1cF80MjQzZWRhMTAwZjA0NDVhODFjNmE3MTAxYjlmMWE0Yyk7CgogICAgICAgICAgICAKICAgICAgICAKICAgICAgICAKICAgICAgICAgICAgCiAgICAgICAgICAgICAgICB2YXIgbXVsdGlfcG9seWdvbl8xZTg1OGFlMTQxNWU0MjcyOWJhNjllMjE3OGQ3MjNjYyA9IEwubXVsdGlQb2x5Z29uKAogICAgICAgICAgICAgICAgICAgIFtbW1sxOC45NDgyNjcsIC0xNTUuNjM0ODM1XSwgWzE5LjAzNTg5OCwgLTE1NS44ODEyOTddLCBbMTkuMTIzNTI5LCAtMTU1LjkxOTYzNl0sIFsxOS4zNDgwODQsIC0xNTUuODg2Nzc0XSwgWzE5LjczMTQ3LCAtMTU2LjA2MjAzNl0sIFsxOS44NTc0MzksIC0xNTUuOTI1MTEzXSwgWzIwLjAzMjcwMiwgLTE1NS44MjY1MjhdLCBbMjAuMTQ3NzE3LCAtMTU1Ljg5NzcyOF0sIFsyMC4yNjgyMSwgLTE1NS44NzU4Ml0sIFsyMC4xMjU4MSwgLTE1NS41OTY0OTZdLCBbMjAuMDIxNzQ4LCAtMTU1LjI4NDMxMV0sIFsxOS44NjgzOTMsIC0xNTUuMDkyNjE4XSwgWzE5LjczNjk0NywgLTE1NS4wOTI2MThdLCBbMTkuNTIzMzQ2LCAtMTU0LjgwNzgxN10sIFsxOS4zNDgwODQsIC0xNTQuOTgzMDc5XSwgWzE5LjI2NTkzLCAtMTU1LjI5NTI2NV0sIFsxOS4xMzQ0ODMsIC0xNTUuNTE0MzQyXSwgWzE4Ljk0ODI2NywgLTE1NS42MzQ4MzVdXV0sIFtbWzIxLjAyOTUwNSwgLTE1Ni41ODc4MjNdLCBbMjAuODkyNTgxLCAtMTU2LjQ3MjgwN10sIFsyMC45NTI4MjcsIC0xNTYuMzI0OTI5XSwgWzIwLjc5Mzk5NiwgLTE1Ni4wMDE3OV0sIFsyMC42NTE1OTYsIC0xNTYuMDUxMDgyXSwgWzIwLjU4MDM5NiwgLTE1Ni4zNzk2OTldLCBbMjAuNjA3NzgsIC0xNTYuNDQ1NDIyXSwgWzIwLjc4MzA0MiwgLTE1Ni40NjE4NTNdLCBbMjAuODIxMzgxLCAtMTU2LjYzMTYzOF0sIFsyMC45MTk5NjYsIC0xNTYuNjk3MzYxXSwgWzIxLjAyOTUwNSwgLTE1Ni41ODc4MjNdXV0sIFtbWzIxLjIxMDI0NCwgLTE1Ni45ODIxNjJdLCBbMjEuMTA2MTgyLCAtMTU3LjA4MDc0N10sIFsyMS4xMDYxODIsIC0xNTcuMzEwNzc5XSwgWzIxLjIyMTE5OCwgLTE1Ny4yMzk1NzldLCBbMjEuMjEwMjQ0LCAtMTU2Ljk4MjE2Ml1dXSwgW1tbMjEuNjk3NjkxLCAtMTU3Ljk1MTU4MV0sIFsyMS40NjIxODMsIC0xNTcuODQyMDQyXSwgWzIxLjMyNTI1OSwgLTE1Ny44OTY4MTFdLCBbMjEuMzAzMzUyLCAtMTU4LjExMDQxMl0sIFsyMS41ODI2NzYsIC0xNTguMjUyODEzXSwgWzIxLjU4ODE1MywgLTE1OC4xMjY4NDNdLCBbMjEuNjk3NjkxLCAtMTU3Ljk1MTU4MV1dXSwgW1tbMjIuMjI4OTU1LCAtMTU5LjQ2ODY5M10sIFsyMi4yMTgwMDEsIC0xNTkuMzUzNjc4XSwgWzIyLjExMzkzOSwgLTE1OS4yOTg5MDhdLCBbMjEuOTY2MDYxLCAtMTU5LjMzMTc3XSwgWzIxLjg3Mjk1MywgLTE1OS40NDY3ODZdLCBbMjEuOTg3OTY5LCAtMTU5Ljc2NDQ0OF0sIFsyMi4xNTIyNzcsIC0xNTkuNzI2MTA5XSwgWzIyLjIyODk1NSwgLTE1OS40Njg2OTNdXV1dLAogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICcjZmZmZjAwJywKICAgICAgICAgICAgICAgICAgICAgICAgd2VpZ2h0OiAwLAogICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICBmZWF0dXJlX2dyb3VwX2Q0OTc2Y2E5ZmZhMjQ5ZWM5NWYzN2ZhZTNkMWE3MzAwLmFkZExheWVyKG11bHRpX3BvbHlnb25fMWU4NThhZTE0MTVlNDI3MjliYTY5ZTIxNzhkNzIzY2MpOwogICAgICAgICAgICAKICAgICAgICAKICAgICAgICAgICAgCiAgICAgICAgICAgIHZhciBwb3B1cF9kNWNhMjExOTBhZGM0ZGMzYjQ1ZTAzZTI1OTQ2YmIwZCA9IEwucG9wdXAoe21heFdpZHRoOiAnMzAwJ30pOwoKICAgICAgICAgICAgCiAgICAgICAgICAgICAgICB2YXIgaHRtbF9iYmQ1NjYwNTIxY2E0MmQ5YWE0MmZhY2M5YTE3YWI2YSA9ICQoJyAgICAgICAgIDxkaXYgaWQ9Imh0bWxfYmJkNTY2MDUyMWNhNDJkOWFhNDJmYWNjOWExN2FiNmEiICAgICAgICAgICAgICAgICBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij4gICAgICAgICAgICAgICAgIEhhd2FpaTwvZGl2PiAgICAgICAgICAgICAgICAgJylbMF07CiAgICAgICAgICAgICAgICBwb3B1cF9kNWNhMjExOTBhZGM0ZGMzYjQ1ZTAzZTI1OTQ2YmIwZC5zZXRDb250ZW50KGh0bWxfYmJkNTY2MDUyMWNhNDJkOWFhNDJmYWNjOWExN2FiNmEpOwogICAgICAgICAgICAKCiAgICAgICAgICAgIG11bHRpX3BvbHlnb25fMWU4NThhZTE0MTVlNDI3MjliYTY5ZTIxNzhkNzIzY2MuYmluZFBvcHVwKHBvcHVwX2Q1Y2EyMTE5MGFkYzRkYzNiNDVlMDNlMjU5NDZiYjBkKTsKCiAgICAgICAgICAgIAogICAgICAgIAogICAgICAgIAogICAgICAgICAgICAKICAgICAgICAgICAgICAgIHZhciBtdWx0aV9wb2x5Z29uXzIyODJlOTUwZGI1MDQ5YTI5NDk4NGJjNzBiMmIyZmEwID0gTC5tdWx0aVBvbHlnb24oCiAgICAgICAgICAgICAgICAgICAgW1tbNDkuMDAwMjM5LCAtMTE2LjA0NzUxXSwgWzQ3Ljk3NjA1MSwgLTExNi4wNDc1MV0sIFs0Ny42OTY3MjcsIC0xMTUuNzI0MzcxXSwgWzQ3LjQyMjg4LCAtMTE1LjcxODg5NF0sIFs0Ny4zMDIzODgsIC0xMTUuNTI3MjAxXSwgWzQ3LjI1ODU3MiwgLTExNS4zMjQ1NTRdLCBbNDcuMTg3MzcyLCAtMTE1LjMwMjY0Nl0sIFs0Ni45MTkwMDIsIC0xMTQuOTMwMjE0XSwgWzQ2LjgwOTQ2MywgLTExNC44ODYzOTldLCBbNDYuNzA1NDAxLCAtMTE0LjYyMzUwNl0sIFs0Ni42Mzk2NzgsIC0xMTQuNjEyNTUyXSwgWzQ2LjY0NTE1NSwgLTExNC4zMjIyNzRdLCBbNDYuMjcyNzIzLCAtMTE0LjQ2NDY3NF0sIFs0Ni4wMzcyMTQsIC0xMTQuNDkyMDU5XSwgWzQ1Ljg4Mzg2LCAtMTE0LjM4Nzk5N10sIFs0NS43NzQzMjEsIC0xMTQuNTY4NzM2XSwgWzQ1LjY3MDI1OSwgLTExNC40OTc1MzZdLCBbNDUuNTYwNzIxLCAtMTE0LjU0NjgyOF0sIFs0NS40NTY2NTksIC0xMTQuMzMzMjI4XSwgWzQ1LjU5MzU4MiwgLTExNC4wODY3NjVdLCBbNDUuNzAzMTIxLCAtMTEzLjk4ODE4XSwgWzQ1LjYwNDUzNiwgLTExMy44MDc0NDFdLCBbNDUuNTIyMzgyLCAtMTEzLjgzNDgyNl0sIFs0NS4zMzA2ODksIC0xMTMuNzM2MjQxXSwgWzQ1LjEyODA0MiwgLTExMy41NzE5MzNdLCBbNDUuMDU2ODQyLCAtMTEzLjQ1MTQ0XSwgWzQ0Ljg2NTE0OSwgLTExMy40NTY5MTddLCBbNDQuNzgyOTk1LCAtMTEzLjM0MTkwMV0sIFs0NC43NzIwNDEsIC0xMTMuMTMzNzc4XSwgWzQ0LjQ0ODkwMiwgLTExMy4wMDIzMzFdLCBbNDQuMzk0MTMyLCAtMTEyLjg4NzMxNV0sIFs0NC40ODcyNCwgLTExMi43ODMyNTRdLCBbNDQuNDgxNzYzLCAtMTEyLjQ3MTA2OF0sIFs0NC41NjkzOTQsIC0xMTIuMjQxMDM2XSwgWzQ0LjUyMDEwMiwgLTExMi4xMDQxMTNdLCBbNDQuNTYzOTE3LCAtMTExLjg2ODYwNV0sIFs0NC41MDkxNDgsIC0xMTEuODE5MzEyXSwgWzQ0LjU0NzQ4NywgLTExMS42MTY2NjVdLCBbNDQuNzU1NjEsIC0xMTEuMzg2NjM0XSwgWzQ0LjU4MDM0OCwgLTExMS4yMjc4MDNdLCBbNDQuNDc2Mjg2LCAtMTExLjA0NzA2M10sIFs0Mi4wMDA3MDksIC0xMTEuMDQ3MDYzXSwgWzQxLjk5NTIzMiwgLTExMi4xNjQzNTldLCBbNDEuOTk1MjMyLCAtMTE0LjA0Mjk1XSwgWzQyLjAwMDcwOSwgLTExNy4wMjc4ODJdLCBbNDMuODMwMDA3LCAtMTE3LjAyNzg4Ml0sIFs0NC4xNTg2MjQsIC0xMTYuODk2NDM2XSwgWzQ0LjI0MDc3OCwgLTExNi45Nzg1OV0sIFs0NC4yNTcyMDksIC0xMTcuMTcwMjgzXSwgWzQ0LjM5NDEzMiwgLTExNy4yNDE0ODNdLCBbNDQuNzUwMTMzLCAtMTE3LjAzODgzNl0sIFs0NC43ODI5OTUsIC0xMTYuOTM0Nzc0XSwgWzQ0LjkzMDg3MiwgLTExNi44MzA3MTNdLCBbNDUuMDIzOTgsIC0xMTYuODQ3MTQzXSwgWzQ1LjE0NDQ3MywgLTExNi43MzIxMjhdLCBbNDUuMzE5NzM1LCAtMTE2LjY3MTg4MV0sIFs0NS42MTU0OSwgLTExNi40NjM3NThdLCBbNDUuNzUyNDEzLCAtMTE2LjU0NTkxMl0sIFs0NS44MjM2MTQsIC0xMTYuNzgxNDJdLCBbNDUuOTkzMzk5LCAtMTE2LjkxODM0NF0sIFs0Ni4xNjg2NjEsIC0xMTYuOTIzODJdLCBbNDYuMzQzOTIzLCAtMTE3LjA1NTI2N10sIFs0Ni40MjYwNzcsIC0xMTcuMDM4ODM2XSwgWzQ3Ljc2MjQ1MSwgLTExNy4wNDQzMTNdLCBbNDkuMDAwMjM5LCAtMTE3LjAzMzM1OV0sIFs0OS4wMDAyMzksIC0xMTYuMDQ3NTFdXV0sCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJyNmZmZmMDAnLAogICAgICAgICAgICAgICAgICAgICAgICB3ZWlnaHQ6IDAsCiAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgIGZlYXR1cmVfZ3JvdXBfZDQ5NzZjYTlmZmEyNDllYzk1ZjM3ZmFlM2QxYTczMDAuYWRkTGF5ZXIobXVsdGlfcG9seWdvbl8yMjgyZTk1MGRiNTA0OWEyOTQ5ODRiYzcwYjJiMmZhMCk7CiAgICAgICAgICAgIAogICAgICAgIAogICAgICAgICAgICAKICAgICAgICAgICAgdmFyIHBvcHVwXzA5Y2FlYjIwNzE3NzRiZDY4NzM3MWVhN2ZjZTBmNWM2ID0gTC5wb3B1cCh7bWF4V2lkdGg6ICczMDAnfSk7CgogICAgICAgICAgICAKICAgICAgICAgICAgICAgIHZhciBodG1sXzg1NDBlODA2YTYxNzQ5YjNhNDc3ODJlN2E3MWI4NzM5ID0gJCgnICAgICAgICAgPGRpdiBpZD0iaHRtbF84NTQwZTgwNmE2MTc0OWIzYTQ3NzgyZTdhNzFiODczOSIgICAgICAgICAgICAgICAgIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPiAgICAgICAgICAgICAgICAgSWRhaG88L2Rpdj4gICAgICAgICAgICAgICAgICcpWzBdOwogICAgICAgICAgICAgICAgcG9wdXBfMDljYWViMjA3MTc3NGJkNjg3MzcxZWE3ZmNlMGY1YzYuc2V0Q29udGVudChodG1sXzg1NDBlODA2YTYxNzQ5YjNhNDc3ODJlN2E3MWI4NzM5KTsKICAgICAgICAgICAgCgogICAgICAgICAgICBtdWx0aV9wb2x5Z29uXzIyODJlOTUwZGI1MDQ5YTI5NDk4NGJjNzBiMmIyZmEwLmJpbmRQb3B1cChwb3B1cF8wOWNhZWIyMDcxNzc0YmQ2ODczNzFlYTdmY2UwZjVjNik7CgogICAgICAgICAgICAKICAgICAgICAKICAgICAgICAKICAgICAgICAgICAgCiAgICAgICAgICAgICAgICB2YXIgbXVsdGlfcG9seWdvbl81YWU1OTQ5NmEzYTQ0NmFkYmU5NmIzNDRhMjRjNDM1OCA9IEwubXVsdGlQb2x5Z29uKAogICAgICAgICAgICAgICAgICAgIFtbWzQyLjUxMDA2NSwgLTkwLjYzOTk4NF0sIFs0Mi40OTM2MzQsIC04OC43ODg3NzhdLCBbNDIuNDkzNjM0LCAtODcuODAyOTI5XSwgWzQyLjMwMTk0MSwgLTg3LjgzNTc5XSwgWzQyLjA3NzM4NiwgLTg3LjY4MjQzNl0sIFs0MS43MTA0MzEsIC04Ny41MjM2MDVdLCBbMzkuMzQ5ODcsIC04Ny41MjkwODJdLCBbMzkuMTY5MTMxLCAtODcuNjM4NjJdLCBbMzguOTU1NTMsIC04Ny41MTI2NTFdLCBbMzguNzgwMjY4LCAtODcuNDk2MjJdLCBbMzguNjM3ODY4LCAtODcuNjIyMTldLCBbMzguNTA2NDIxLCAtODcuNjU1MDUxXSwgWzM4LjI5MjgyMSwgLTg3LjgzNTc5XSwgWzM4LjI3NjM5LCAtODcuOTUwODA2XSwgWzM4LjE1MDQyLCAtODcuOTIzNDIxXSwgWzM4LjEwMTEyOCwgLTg4LjAwMDA5OF0sIFszNy44NjU2MTksIC04OC4wNjAzNDVdLCBbMzcuNzk5ODk2LCAtODguMDI3NDgzXSwgWzM3LjY1NzQ5NiwgLTg4LjE1ODkzXSwgWzM3LjQ4MjIzNCwgLTg4LjA2NTgyMl0sIFszNy4zODkxMjYsIC04OC40NzY1OTJdLCBbMzcuMjg1MDY0LCAtODguNTE0OTMxXSwgWzM3LjE1MzYxNywgLTg4LjQyMTgyM10sIFszNy4wNzE0NjMsIC04OC41NDc3OTJdLCBbMzcuMjI0ODE3LCAtODguOTE0NzQ3XSwgWzM3LjIxMzg2MywgLTg5LjAyOTc2M10sIFszNy4wMzg2MDEsIC04OS4xODMxMThdLCBbMzYuOTgzODMyLCAtODkuMTMzODI1XSwgWzM2Ljk5NDc4NiwgLTg5LjI5MjY1Nl0sIFszNy4yNzk1ODcsIC04OS41MTcyMTFdLCBbMzcuMzQ1MzEsIC04OS40MzUwNTddLCBbMzcuNTM3MDAzLCAtODkuNTE3MjExXSwgWzM3LjY5MDM1NywgLTg5LjUxNzIxMV0sIFszNy45MDM5NTgsIC04OS44NDAzNV0sIFszNy44ODIwNSwgLTg5Ljk0OTg4OV0sIFszOC4wMTM0OTcsIC05MC4wNTk0MjhdLCBbMzguMjE2MTQ0LCAtOTAuMzU1MTgzXSwgWzM4LjM3NDk3NSwgLTkwLjM0OTcwNl0sIFszOC42MzIzOTEsIC05MC4xNzk5MjFdLCBbMzguNzI1NDk5LCAtOTAuMjA3MzA1XSwgWzM4Ljg0NTk5MiwgLTkwLjEwODcyXSwgWzM4LjkxNzE5MiwgLTkwLjI1MTEyMV0sIFszOC45NjEwMDcsIC05MC40NzAxOTldLCBbMzguODY3ODk5LCAtOTAuNTg1MjE0XSwgWzM4LjkyODE0NiwgLTkwLjY2MTg5MV0sIFszOS4yNTY3NjIsIC05MC43Mjc2MTVdLCBbMzkuNDcwMzYzLCAtOTEuMDYxNzA4XSwgWzM5LjcyNzc3OSwgLTkxLjM2ODQxN10sIFs0MC4wMzQ0ODgsIC05MS40OTQzODZdLCBbNDAuMjM3MTM1LCAtOTEuNTA1MzRdLCBbNDAuMzc5NTM1LCAtOTEuNDE3NzA5XSwgWzQwLjU2MDI3NCwgLTkxLjQwMTI3OF0sIFs0MC42Njk4MTMsIC05MS4xMjE5NTRdLCBbNDAuODIzMTY3LCAtOTEuMDk0NTddLCBbNDAuOTIxNzUyLCAtOTAuOTYzMTIzXSwgWzQxLjA5NzAxNCwgLTkwLjk0NjY5Ml0sIFs0MS4yMzk0MTUsIC05MS4xMTEwMDFdLCBbNDEuNDE0Njc3LCAtOTEuMDQ1Mjc3XSwgWzQxLjQ2Mzk2OSwgLTkwLjY1NjQxNF0sIFs0MS41ODk5MzksIC05MC4zNDQyMjldLCBbNDEuNzQzMjkzLCAtOTAuMzExMzY3XSwgWzQxLjgwOTAxNiwgLTkwLjE3OTkyMV0sIFs0Mi4wMDA3MDksIC05MC4xNDE1ODJdLCBbNDIuMTI2Njc5LCAtOTAuMTY4OTY3XSwgWzQyLjIyNTI2NCwgLTkwLjM5MzUyMV0sIFs0Mi4zMjkzMjYsIC05MC40MjA5MDZdLCBbNDIuNTEwMDY1LCAtOTAuNjM5OTg0XV1dLAogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICcjZmZmZjAwJywKICAgICAgICAgICAgICAgICAgICAgICAgd2VpZ2h0OiAwLAogICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICBmZWF0dXJlX2dyb3VwX2Q0OTc2Y2E5ZmZhMjQ5ZWM5NWYzN2ZhZTNkMWE3MzAwLmFkZExheWVyKG11bHRpX3BvbHlnb25fNWFlNTk0OTZhM2E0NDZhZGJlOTZiMzQ0YTI0YzQzNTgpOwogICAgICAgICAgICAKICAgICAgICAKICAgICAgICAgICAgCiAgICAgICAgICAgIHZhciBwb3B1cF9jNGZhMmQ3OTU4ZWY0YmE5OGY3Y2U3NTcwY2RjYWU4MSA9IEwucG9wdXAoe21heFdpZHRoOiAnMzAwJ30pOwoKICAgICAgICAgICAgCiAgICAgICAgICAgICAgICB2YXIgaHRtbF82ZGE3YjdmNjg3NWM0MmU0OGRlOGM2MDBkODJlMmM2OSA9ICQoJyAgICAgICAgIDxkaXYgaWQ9Imh0bWxfNmRhN2I3ZjY4NzVjNDJlNDhkZThjNjAwZDgyZTJjNjkiICAgICAgICAgICAgICAgICBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij4gICAgICAgICAgICAgICAgIElsbGlub2lzPC9kaXY+ICAgICAgICAgICAgICAgICAnKVswXTsKICAgICAgICAgICAgICAgIHBvcHVwX2M0ZmEyZDc5NThlZjRiYTk4ZjdjZTc1NzBjZGNhZTgxLnNldENvbnRlbnQoaHRtbF82ZGE3YjdmNjg3NWM0MmU0OGRlOGM2MDBkODJlMmM2OSk7CiAgICAgICAgICAgIAoKICAgICAgICAgICAgbXVsdGlfcG9seWdvbl81YWU1OTQ5NmEzYTQ0NmFkYmU5NmIzNDRhMjRjNDM1OC5iaW5kUG9wdXAocG9wdXBfYzRmYTJkNzk1OGVmNGJhOThmN2NlNzU3MGNkY2FlODEpOwoKICAgICAgICAgICAgCiAgICAgICAgCiAgICAgICAgCiAgICAgICAgICAgIAogICAgICAgICAgICAgICAgdmFyIG11bHRpX3BvbHlnb25fOWZlMzg3MzQ0MmRkNDc2NWEwM2ExMjM3ZmJhYmFiMmYgPSBMLm11bHRpUG9seWdvbigKICAgICAgICAgICAgICAgICAgICBbW1s0MS43NTk3MjQsIC04NS45OTAwNjFdLCBbNDEuNzU5NzI0LCAtODQuODA3MDQyXSwgWzQxLjY5NDAwMSwgLTg0LjgwNzA0Ml0sIFs0MC41MDAwMjgsIC04NC44MDE1NjVdLCBbMzkuMTAzNDA4LCAtODQuODE3OTk2XSwgWzM5LjA1OTU5MiwgLTg0Ljg5NDY3M10sIFszOC43ODU3NDUsIC04NC44MTI1MTldLCBbMzguNzgwMjY4LCAtODQuOTg3NzgxXSwgWzM4LjY4NzE2LCAtODUuMTczOTk3XSwgWzM4LjczMDk3NiwgLTg1LjQzMTQxM10sIFszOC41MzM4MDYsIC04NS40MjA0Nl0sIFszOC40NTE2NTIsIC04NS41OTAyNDVdLCBbMzguMzI1NjgyLCAtODUuNjU1OTY4XSwgWzM4LjI3NjM5LCAtODUuODMxMjNdLCBbMzguMDI0NDUxLCAtODUuOTI0MzM4XSwgWzM3Ljk1ODcyNywgLTg2LjAzOTM1NF0sIFszOC4wNTE4MzUsIC04Ni4yNjM5MDhdLCBbMzguMTY2ODUxLCAtODYuMzAyMjQ3XSwgWzM4LjA0MDg4MSwgLTg2LjUyMTMyNV0sIFszNy45MzEzNDMsIC04Ni41MDQ4OTRdLCBbMzcuODkzMDA0LCAtODYuNzI5NDQ4XSwgWzM3Ljk5MTU4OSwgLTg2Ljc5NTE3Ml0sIFszNy44OTMwMDQsIC04Ny4wNDcxMTFdLCBbMzcuNzg4OTQyLCAtODcuMTI5MjY1XSwgWzM3LjkzNjgyLCAtODcuMzgxMjA0XSwgWzM3LjkwMzk1OCwgLTg3LjUxMjY1MV0sIFszNy45NzUxNTgsIC04Ny42MDAyODJdLCBbMzcuOTAzOTU4LCAtODcuNjgyNDM2XSwgWzM3Ljg5MzAwNCwgLTg3LjkzNDM3NV0sIFszNy43OTk4OTYsIC04OC4wMjc0ODNdLCBbMzcuODY1NjE5LCAtODguMDYwMzQ1XSwgWzM4LjEwMTEyOCwgLTg4LjAwMDA5OF0sIFszOC4xNTA0MiwgLTg3LjkyMzQyMV0sIFszOC4yNzYzOSwgLTg3Ljk1MDgwNl0sIFszOC4yOTI4MjEsIC04Ny44MzU3OV0sIFszOC41MDY0MjEsIC04Ny42NTUwNTFdLCBbMzguNjM3ODY4LCAtODcuNjIyMTldLCBbMzguNzgwMjY4LCAtODcuNDk2MjJdLCBbMzguOTU1NTMsIC04Ny41MTI2NTFdLCBbMzkuMTY5MTMxLCAtODcuNjM4NjJdLCBbMzkuMzQ5ODcsIC04Ny41MjkwODJdLCBbNDEuNzEwNDMxLCAtODcuNTIzNjA1XSwgWzQxLjY0NDcwOCwgLTg3LjQyNTAyXSwgWzQxLjY0NDcwOCwgLTg3LjExODMxMV0sIFs0MS43NTk3MjQsIC04Ni44MjI1NTZdLCBbNDEuNzU5NzI0LCAtODUuOTkwMDYxXV1dLAogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICcjZmZmZjAwJywKICAgICAgICAgICAgICAgICAgICAgICAgd2VpZ2h0OiAwLAogICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICBmZWF0dXJlX2dyb3VwX2Q0OTc2Y2E5ZmZhMjQ5ZWM5NWYzN2ZhZTNkMWE3MzAwLmFkZExheWVyKG11bHRpX3BvbHlnb25fOWZlMzg3MzQ0MmRkNDc2NWEwM2ExMjM3ZmJhYmFiMmYpOwogICAgICAgICAgICAKICAgICAgICAKICAgICAgICAgICAgCiAgICAgICAgICAgIHZhciBwb3B1cF82NGUzZDM4MWY2ZTE0MjgyYmZiNGZhM2FhOGExYWE3ZSA9IEwucG9wdXAoe21heFdpZHRoOiAnMzAwJ30pOwoKICAgICAgICAgICAgCiAgICAgICAgICAgICAgICB2YXIgaHRtbF9mMjBkMWQ0MWIwYWM0N2RlYjcyZDg0NWEyMGJmNDZhZSA9ICQoJyAgICAgICAgIDxkaXYgaWQ9Imh0bWxfZjIwZDFkNDFiMGFjNDdkZWI3MmQ4NDVhMjBiZjQ2YWUiICAgICAgICAgICAgICAgICBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij4gICAgICAgICAgICAgICAgIEluZGlhbmE8L2Rpdj4gICAgICAgICAgICAgICAgICcpWzBdOwogICAgICAgICAgICAgICAgcG9wdXBfNjRlM2QzODFmNmUxNDI4MmJmYjRmYTNhYThhMWFhN2Uuc2V0Q29udGVudChodG1sX2YyMGQxZDQxYjBhYzQ3ZGViNzJkODQ1YTIwYmY0NmFlKTsKICAgICAgICAgICAgCgogICAgICAgICAgICBtdWx0aV9wb2x5Z29uXzlmZTM4NzM0NDJkZDQ3NjVhMDNhMTIzN2ZiYWJhYjJmLmJpbmRQb3B1cChwb3B1cF82NGUzZDM4MWY2ZTE0MjgyYmZiNGZhM2FhOGExYWE3ZSk7CgogICAgICAgICAgICAKICAgICAgICAKICAgICAgICAKICAgICAgICAgICAgCiAgICAgICAgICAgICAgICB2YXIgbXVsdGlfcG9seWdvbl83MTI2ODJlOWQ5MTY0ZmViYmIyNGQzMzZmODU1ZjM0YiA9IEwubXVsdGlQb2x5Z29uKAogICAgICAgICAgICAgICAgICAgIFtbWzQzLjUwMTM5MSwgLTkxLjM2ODQxN10sIFs0My41MDEzOTEsIC05MS4yMTUwNjJdLCBbNDMuMzUzNTE0LCAtOTEuMjA0MTA5XSwgWzQzLjI1NDkyOSwgLTkxLjA1NjIzMV0sIFs0My4xMzQ0MzYsIC05MS4xNzY3MjRdLCBbNDIuOTA5ODgxLCAtOTEuMTQzODYyXSwgWzQyLjc1MTA1LCAtOTEuMDY3MTg1XSwgWzQyLjYzNjAzNCwgLTkwLjcxMTE4NF0sIFs0Mi41MTAwNjUsIC05MC42Mzk5ODRdLCBbNDIuMzI5MzI2LCAtOTAuNDIwOTA2XSwgWzQyLjIyNTI2NCwgLTkwLjM5MzUyMV0sIFs0Mi4xMjY2NzksIC05MC4xNjg5NjddLCBbNDIuMDAwNzA5LCAtOTAuMTQxNTgyXSwgWzQxLjgwOTAxNiwgLTkwLjE3OTkyMV0sIFs0MS43NDMyOTMsIC05MC4zMTEzNjddLCBbNDEuNTg5OTM5LCAtOTAuMzQ0MjI5XSwgWzQxLjQ2Mzk2OSwgLTkwLjY1NjQxNF0sIFs0MS40MTQ2NzcsIC05MS4wNDUyNzddLCBbNDEuMjM5NDE1LCAtOTEuMTExMDAxXSwgWzQxLjA5NzAxNCwgLTkwLjk0NjY5Ml0sIFs0MC45MjE3NTIsIC05MC45NjMxMjNdLCBbNDAuODIzMTY3LCAtOTEuMDk0NTddLCBbNDAuNjY5ODEzLCAtOTEuMTIxOTU0XSwgWzQwLjU2MDI3NCwgLTkxLjQwMTI3OF0sIFs0MC4zNzk1MzUsIC05MS40MTc3MDldLCBbNDAuNDEyMzk3LCAtOTEuNTI3MjQ4XSwgWzQwLjYxNTA0MywgLTkxLjcyOTg5NV0sIFs0MC42MDk1NjYsIC05MS44MzM5NTddLCBbNDAuNTgyMTgyLCAtOTMuMjU3OTYxXSwgWzQwLjU3MTIyOCwgLTk0LjYzMjY3M10sIFs0MC41ODc2NTksIC05NS43NjY0XSwgWzQwLjcxOTEwNSwgLTk1Ljg4MTQxNl0sIFs0MC45NzY1MjEsIC05NS44MjY2NDZdLCBbNDEuMjAxMDc2LCAtOTUuOTI1MjMxXSwgWzQxLjQ1MzAxNSwgLTk1LjkxOTc1NF0sIFs0MS41NDA2NDYsIC05Ni4wOTUwMTZdLCBbNDEuNjc3NTcsIC05Ni4xMjI0MDFdLCBbNDEuNzk4MDYzLCAtOTYuMDYyMTU1XSwgWzQxLjk3MzMyNSwgLTk2LjEyNzg3OF0sIFs0Mi4wMzkwNDgsIC05Ni4yNjQ4MDFdLCBbNDIuNDg4MTU3LCAtOTYuNDQ1NTRdLCBbNDIuNzA3MjM1LCAtOTYuNjMxNzU2XSwgWzQyLjg1NTExMiwgLTk2LjU0NDEyNV0sIFs0My4wNTIyODIsIC05Ni41MTEyNjRdLCBbNDMuMTIzNDgyLCAtOTYuNDM0NTg3XSwgWzQzLjIyMjA2NywgLTk2LjU2MDU1Nl0sIFs0My4zOTczMjksIC05Ni41Mjc2OTVdLCBbNDMuNDc5NDgzLCAtOTYuNTgyNDY0XSwgWzQzLjUwMTM5MSwgLTk2LjQ1MTAxN10sIFs0My41MDEzOTEsIC05MS4zNjg0MTddXV0sCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJyNmZmZmMDAnLAogICAgICAgICAgICAgICAgICAgICAgICB3ZWlnaHQ6IDAsCiAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgIGZlYXR1cmVfZ3JvdXBfZDQ5NzZjYTlmZmEyNDllYzk1ZjM3ZmFlM2QxYTczMDAuYWRkTGF5ZXIobXVsdGlfcG9seWdvbl83MTI2ODJlOWQ5MTY0ZmViYmIyNGQzMzZmODU1ZjM0Yik7CiAgICAgICAgICAgIAogICAgICAgIAogICAgICAgICAgICAKICAgICAgICAgICAgdmFyIHBvcHVwXzYzYWY0YjJhM2VjMTQ3OWRiMjY4NGZjOGEzZGY4YWMxID0gTC5wb3B1cCh7bWF4V2lkdGg6ICczMDAnfSk7CgogICAgICAgICAgICAKICAgICAgICAgICAgICAgIHZhciBodG1sX2M0ZDc3NTE3NDlkOTQxN2I5NWUxOTNjZmRjNGE3NDE3ID0gJCgnICAgICAgICAgPGRpdiBpZD0iaHRtbF9jNGQ3NzUxNzQ5ZDk0MTdiOTVlMTkzY2ZkYzRhNzQxNyIgICAgICAgICAgICAgICAgIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPiAgICAgICAgICAgICAgICAgSW93YTwvZGl2PiAgICAgICAgICAgICAgICAgJylbMF07CiAgICAgICAgICAgICAgICBwb3B1cF82M2FmNGIyYTNlYzE0NzlkYjI2ODRmYzhhM2RmOGFjMS5zZXRDb250ZW50KGh0bWxfYzRkNzc1MTc0OWQ5NDE3Yjk1ZTE5M2NmZGM0YTc0MTcpOwogICAgICAgICAgICAKCiAgICAgICAgICAgIG11bHRpX3BvbHlnb25fNzEyNjgyZTlkOTE2NGZlYmJiMjRkMzM2Zjg1NWYzNGIuYmluZFBvcHVwKHBvcHVwXzYzYWY0YjJhM2VjMTQ3OWRiMjY4NGZjOGEzZGY4YWMxKTsKCiAgICAgICAgICAgIAogICAgICAgIAogICAgICAgIAogICAgICAgICAgICAKICAgICAgICAgICAgICAgIHZhciBtdWx0aV9wb2x5Z29uXzBjMDAxNGJkZDA1NzRiYzBiYTg1ODgyNWVlMGU0NjZlID0gTC5tdWx0aVBvbHlnb24oCiAgICAgICAgICAgICAgICAgICAgW1tbNDAuMDAxNjI2LCAtMTAxLjkwNjA1XSwgWzQwLjAwMTYyNiwgLTk1LjMwNjMzN10sIFszOS45MDg1MTgsIC05NS4yMDc3NTJdLCBbMzkuODMxODQxLCAtOTQuODg0NjEyXSwgWzM5LjU0MTU2MywgLTk1LjEwOTE2N10sIFszOS40NDI5NzgsIC05NC45ODMxOTddLCBbMzkuMjA3NDcsIC05NC44MjQzNjZdLCBbMzkuMTU4MTc3LCAtOTQuNjEwNzY1XSwgWzM3LjAwMDI2MywgLTk0LjYxNjI0Ml0sIFszNy4wMDAyNjMsIC0xMDAuMDg3NzA2XSwgWzM2Ljk5NDc4NiwgLTEwMi4wNDI5NzRdLCBbNDAuMDAxNjI2LCAtMTAyLjA1MzkyN10sIFs0MC4wMDE2MjYsIC0xMDEuOTA2MDVdXV0sCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJyNmZmZmMDAnLAogICAgICAgICAgICAgICAgICAgICAgICB3ZWlnaHQ6IDAsCiAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgIGZlYXR1cmVfZ3JvdXBfZDQ5NzZjYTlmZmEyNDllYzk1ZjM3ZmFlM2QxYTczMDAuYWRkTGF5ZXIobXVsdGlfcG9seWdvbl8wYzAwMTRiZGQwNTc0YmMwYmE4NTg4MjVlZTBlNDY2ZSk7CiAgICAgICAgICAgIAogICAgICAgIAogICAgICAgICAgICAKICAgICAgICAgICAgdmFyIHBvcHVwX2RjYTQzZjIwY2E4MzQ4MjY4OGI3ZmU0NzU1YTA4N2YwID0gTC5wb3B1cCh7bWF4V2lkdGg6ICczMDAnfSk7CgogICAgICAgICAgICAKICAgICAgICAgICAgICAgIHZhciBodG1sXzNmNjkzNWI2M2RjNjQ5NDA4MTBlNmNiOWI1ZTJkYzIyID0gJCgnICAgICAgICAgPGRpdiBpZD0iaHRtbF8zZjY5MzViNjNkYzY0OTQwODEwZTZjYjliNWUyZGMyMiIgICAgICAgICAgICAgICAgIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPiAgICAgICAgICAgICAgICAgS2Fuc2FzPC9kaXY+ICAgICAgICAgICAgICAgICAnKVswXTsKICAgICAgICAgICAgICAgIHBvcHVwX2RjYTQzZjIwY2E4MzQ4MjY4OGI3ZmU0NzU1YTA4N2YwLnNldENvbnRlbnQoaHRtbF8zZjY5MzViNjNkYzY0OTQwODEwZTZjYjliNWUyZGMyMik7CiAgICAgICAgICAgIAoKICAgICAgICAgICAgbXVsdGlfcG9seWdvbl8wYzAwMTRiZGQwNTc0YmMwYmE4NTg4MjVlZTBlNDY2ZS5iaW5kUG9wdXAocG9wdXBfZGNhNDNmMjBjYTgzNDgyNjg4YjdmZTQ3NTVhMDg3ZjApOwoKICAgICAgICAgICAgCiAgICAgICAgCiAgICAgICAgCiAgICAgICAgICAgIAogICAgICAgICAgICAgICAgdmFyIG11bHRpX3BvbHlnb25fNzQwM2MwZWYzM2M0NGMwNTgyMmMwMjYwNzE0YTU0ODAgPSBMLm11bHRpUG9seWdvbigKICAgICAgICAgICAgICAgICAgICBbW1szOC43NjkzMTUsIC04My45MDMzNDddLCBbMzguNjMyMzkxLCAtODMuNjc4NzkyXSwgWzM4LjcwMzU5MSwgLTgzLjUxOTk2MV0sIFszOC42MjY5MTQsIC04My4xNDIwNTJdLCBbMzguNzI1NDk5LCAtODMuMDMyNTE0XSwgWzM4Ljc1ODM2MSwgLTgyLjg5MDExM10sIFszOC41ODg1NzUsIC04Mi44NDYyOThdLCBbMzguNTYxMTkxLCAtODIuNzMxMjgyXSwgWzM4LjQyNDI2NywgLTgyLjU5NDM1OF0sIFszOC4xMjMwMzYsIC04Mi42MjE3NDNdLCBbMzcuOTMxMzQzLCAtODIuNTAxMjVdLCBbMzcuNzgzNDY1LCAtODIuMzQyNDE5XSwgWzM3LjY2ODQ0OSwgLTgyLjI5MzEyN10sIFszNy41NTM0MzQsIC04Mi4xMDE0MzRdLCBbMzcuNTM3MDAzLCAtODEuOTY5OTg3XSwgWzM3LjI2ODYzMywgLTgyLjM1MzM3M10sIFszNy4xMjA3NTUsIC04Mi43MjAzMjhdLCBbMzcuMDQ0MDc4LCAtODIuNzIwMzI4XSwgWzM2Ljk3ODM1NSwgLTgyLjg2ODIwNV0sIFszNi44OTA3MjQsIC04Mi44NzkxNTldLCBbMzYuODUyMzg1LCAtODMuMDcwODUyXSwgWzM2Ljc0Mjg0NywgLTgzLjEzNjU3NV0sIFszNi42MDA0NDYsIC04My42NzMzMTZdLCBbMzYuNTg0MDE1LCAtODMuNjg5NzQ2XSwgWzM2LjU5NDk2OSwgLTg0LjU0NDE0OV0sIFszNi42Mjc4MzEsIC04NS4yODkwMTNdLCBbMzYuNjE2ODc3LCAtODUuNDg2MTgzXSwgWzM2LjY1NTIxNiwgLTg2LjU5MjUyNV0sIFszNi42MzMzMDgsIC04Ny44NTIyMjFdLCBbMzYuNjc3MTIzLCAtODguMDcxMjk5XSwgWzM2LjQ5NjM4NCwgLTg4LjA1NDg2OF0sIFszNi41MDczMzgsIC04OS4yOTgxMzNdLCBbMzYuNDk2Mzg0LCAtODkuNDE4NjI2XSwgWzM2LjYyMjM1NCwgLTg5LjM2Mzg1N10sIFszNi41Nzg1MzgsIC04OS4yMTU5NzldLCBbMzYuOTgzODMyLCAtODkuMTMzODI1XSwgWzM3LjAzODYwMSwgLTg5LjE4MzExOF0sIFszNy4yMTM4NjMsIC04OS4wMjk3NjNdLCBbMzcuMjI0ODE3LCAtODguOTE0NzQ3XSwgWzM3LjA3MTQ2MywgLTg4LjU0Nzc5Ml0sIFszNy4xNTM2MTcsIC04OC40MjE4MjNdLCBbMzcuMjg1MDY0LCAtODguNTE0OTMxXSwgWzM3LjM4OTEyNiwgLTg4LjQ3NjU5Ml0sIFszNy40ODIyMzQsIC04OC4wNjU4MjJdLCBbMzcuNjU3NDk2LCAtODguMTU4OTNdLCBbMzcuNzk5ODk2LCAtODguMDI3NDgzXSwgWzM3Ljg5MzAwNCwgLTg3LjkzNDM3NV0sIFszNy45MDM5NTgsIC04Ny42ODI0MzZdLCBbMzcuOTc1MTU4LCAtODcuNjAwMjgyXSwgWzM3LjkwMzk1OCwgLTg3LjUxMjY1MV0sIFszNy45MzY4MiwgLTg3LjM4MTIwNF0sIFszNy43ODg5NDIsIC04Ny4xMjkyNjVdLCBbMzcuODkzMDA0LCAtODcuMDQ3MTExXSwgWzM3Ljk5MTU4OSwgLTg2Ljc5NTE3Ml0sIFszNy44OTMwMDQsIC04Ni43Mjk0NDhdLCBbMzcuOTMxMzQzLCAtODYuNTA0ODk0XSwgWzM4LjA0MDg4MSwgLTg2LjUyMTMyNV0sIFszOC4xNjY4NTEsIC04Ni4zMDIyNDddLCBbMzguMDUxODM1LCAtODYuMjYzOTA4XSwgWzM3Ljk1ODcyNywgLTg2LjAzOTM1NF0sIFszOC4wMjQ0NTEsIC04NS45MjQzMzhdLCBbMzguMjc2MzksIC04NS44MzEyM10sIFszOC4zMjU2ODIsIC04NS42NTU5NjhdLCBbMzguNDUxNjUyLCAtODUuNTkwMjQ1XSwgWzM4LjUzMzgwNiwgLTg1LjQyMDQ2XSwgWzM4LjczMDk3NiwgLTg1LjQzMTQxM10sIFszOC42ODcxNiwgLTg1LjE3Mzk5N10sIFszOC43ODAyNjgsIC04NC45ODc3ODFdLCBbMzguNzg1NzQ1LCAtODQuODEyNTE5XSwgWzM5LjA1OTU5MiwgLTg0Ljg5NDY3M10sIFszOS4xMDM0MDgsIC04NC44MTc5OTZdLCBbMzkuMTAzNDA4LCAtODQuNDM0NjFdLCBbMzguODk1Mjg0LCAtODQuMjMxOTYzXSwgWzM4LjgwNzY1MywgLTg0LjIxNTUzM10sIFszOC43NjkzMTUsIC04My45MDMzNDddXV0sCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJ2dyZWVuJywKICAgICAgICAgICAgICAgICAgICAgICAgd2VpZ2h0OiAwLAogICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICBmZWF0dXJlX2dyb3VwX2Q0OTc2Y2E5ZmZhMjQ5ZWM5NWYzN2ZhZTNkMWE3MzAwLmFkZExheWVyKG11bHRpX3BvbHlnb25fNzQwM2MwZWYzM2M0NGMwNTgyMmMwMjYwNzE0YTU0ODApOwogICAgICAgICAgICAKICAgICAgICAKICAgICAgICAgICAgCiAgICAgICAgICAgIHZhciBwb3B1cF82ZmE3OTQ0NzVjMDQ0NTIyOGRmNGI0M2FiNjNmZWY0NiA9IEwucG9wdXAoe21heFdpZHRoOiAnMzAwJ30pOwoKICAgICAgICAgICAgCiAgICAgICAgICAgICAgICB2YXIgaHRtbF85MjgyNzg3ZDQ4NTE0ZWUxYTRlMjVkY2Q2YzNjY2RmZiA9ICQoJyAgICAgICAgIDxkaXYgaWQ9Imh0bWxfOTI4Mjc4N2Q0ODUxNGVlMWE0ZTI1ZGNkNmMzY2NkZmYiICAgICAgICAgICAgICAgICBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij4gICAgICAgICAgICAgICAgIEtlbnR1Y2t5PC9kaXY+ICAgICAgICAgICAgICAgICAnKVswXTsKICAgICAgICAgICAgICAgIHBvcHVwXzZmYTc5NDQ3NWMwNDQ1MjI4ZGY0YjQzYWI2M2ZlZjQ2LnNldENvbnRlbnQoaHRtbF85MjgyNzg3ZDQ4NTE0ZWUxYTRlMjVkY2Q2YzNjY2RmZik7CiAgICAgICAgICAgIAoKICAgICAgICAgICAgbXVsdGlfcG9seWdvbl83NDAzYzBlZjMzYzQ0YzA1ODIyYzAyNjA3MTRhNTQ4MC5iaW5kUG9wdXAocG9wdXBfNmZhNzk0NDc1YzA0NDUyMjhkZjRiNDNhYjYzZmVmNDYpOwoKICAgICAgICAgICAgCiAgICAgICAgCiAgICAgICAgCiAgICAgICAgICAgIAogICAgICAgICAgICAgICAgdmFyIG11bHRpX3BvbHlnb25fNGIzYTYyY2E0NDRjNDRkMjg1MWRiNWRjMGZiMDViZTggPSBMLm11bHRpUG9seWdvbigKICAgICAgICAgICAgICAgICAgICBbW1szMy4wMTg1MjcsIC05My42MDg0ODVdLCBbMzMuMDAyMDk2LCAtOTEuMTY1NzddLCBbMzIuODg3MDgxLCAtOTEuMDcyNjYyXSwgWzMyLjg0MzI2NSwgLTkxLjE0Mzg2Ml0sIFszMi42NDA2MTgsIC05MS4xNTQ4MTZdLCBbMzIuNTE0NjQ5LCAtOTEuMDA2OTM5XSwgWzMyLjIxODg5NCwgLTkwLjk4NTAzMV0sIFszMS45ODg4NjIsIC05MS4xMDU1MjRdLCBbMzEuODQ2NDYyLCAtOTEuMzQxMDMyXSwgWzMxLjYyMTkwNywgLTkxLjQwMTI3OF0sIFszMS42NDM4MTUsIC05MS40OTk4NjNdLCBbMzEuMjc2ODYsIC05MS41MTYyOTRdLCBbMzEuMjY1OTA2LCAtOTEuNjM2Nzg3XSwgWzMxLjA2ODczNiwgLTkxLjU2NTU4N10sIFszMC45OTc1MzYsIC05MS42MzY3ODddLCBbMzAuOTk3NTM2LCAtODkuNzQ3MjQyXSwgWzMwLjY2ODkyLCAtODkuODQ1ODI3XSwgWzMwLjQ0OTg0MiwgLTg5LjY4MTUxOV0sIFszMC4yODU1MzQsIC04OS42NDMxODFdLCBbMzAuMTgxNDcyLCAtODkuNTIyNjg4XSwgWzMwLjA0NDU0OSwgLTg5LjgxODQ0M10sIFsyOS45NDU5NjQsIC04OS44NDAzNV0sIFsyOS44ODAyNCwgLTg5LjU5OTM2NV0sIFszMC4wMzkwNzIsIC04OS40OTUzMDNdLCBbMjkuODgwMjQsIC04OS4yODcxNzldLCBbMjkuNzU0MjcxLCAtODkuMzAzNjFdLCBbMjkuNjk5NTAxLCAtODkuNDI0MTAzXSwgWzI5Ljc0ODc5NCwgLTg5LjY0ODY1N10sIFsyOS42NTU2ODYsIC04OS42MjEyNzNdLCBbMjkuNTEzMjg1LCAtODkuNjk3OTVdLCBbMjkuMzg3MzE2LCAtODkuNTA2MjU3XSwgWzI5LjM0ODk3NywgLTg5LjE5OTU0OF0sIFsyOS4yMDExLCAtODkuMDkwMDFdLCBbMjkuMTc5MTkyLCAtODkuMDAyMzc5XSwgWzI5LjAwOTQwNywgLTg5LjE2MTIxXSwgWzI5LjA0MjI2OCwgLTg5LjMzNjQ3Ml0sIFsyOS4yMTc1MzEsIC04OS40ODQzNDldLCBbMjkuMzEwNjM4LCAtODkuODUxMzA0XSwgWzI5LjQ4MDQyNCwgLTg5Ljg1MTMwNF0sIFsyOS40MjU2NTQsIC05MC4wMzIwNDNdLCBbMjkuMjgzMjU0LCAtOTAuMDIxMDg5XSwgWzI5LjE1MTgwNywgLTkwLjEwMzI0NF0sIFsyOS4xMjk4OTksIC05MC4yMzQ2OV0sIFsyOS4yNzc3NzcsIC05MC4zMzMyNzVdLCBbMjkuMjgzMjU0LCAtOTAuNTYzMzA3XSwgWzI5LjEyOTg5OSwgLTkwLjY0NTQ2MV0sIFsyOS4wODYwODQsIC05MC43OTg4MTVdLCBbMjkuMTc5MTkyLCAtOTAuOTYzMTIzXSwgWzI5LjE5MDE0NiwgLTkxLjA5NDU3XSwgWzI5LjQzNjYwOCwgLTkxLjIyMDUzOV0sIFsyOS41NDYxNDcsIC05MS40NDUwOTRdLCBbMjkuNTI5NzE2LCAtOTEuNTMyNzI1XSwgWzI5LjczNzg0LCAtOTEuNjIwMzU2XSwgWzI5LjcxMDQ1NSwgLTkxLjg4MzI0OV0sIFsyOS44MzY0MjUsIC05MS44ODg3MjZdLCBbMjkuNzE1OTMyLCAtOTIuMTQ2MTQyXSwgWzI5LjYyMjgyNCwgLTkyLjExMzI4MV0sIFsyOS41MzUxOTMsIC05Mi4zMTA0NV0sIFsyOS41NzkwMDksIC05Mi42MTcxNTldLCBbMjkuNzE1OTMyLCAtOTIuOTczMTZdLCBbMjkuNzc2MTc4LCAtOTMuMjI1MV0sIFsyOS43MjY4ODYsIC05My43NjczMTddLCBbMjkuNjg4NTQ3LCAtOTMuODM4NTE3XSwgWzI5Ljc4NzEzMiwgLTkzLjkyNjE0OF0sIFszMC4xNDMxMzMsIC05My42OTA2MzldLCBbMzAuMzM0ODI2LCAtOTMuNzY3MzE3XSwgWzMwLjQzODg4OCwgLTkzLjY5NjExNl0sIFszMC41NzU4MTIsIC05My43Mjg5NzhdLCBbMzAuNjc5ODc0LCAtOTMuNjMwMzkzXSwgWzMwLjkzNzI5LCAtOTMuNTI2MzMxXSwgWzMxLjE1MDg5LCAtOTMuNTQyNzYyXSwgWzMxLjU1NjE4NCwgLTkzLjgxNjYwOV0sIFszMS43NzUyNjIsIC05My44MjIwODZdLCBbMzEuOTk0MzM5LCAtOTQuMDQxMTY0XSwgWzMzLjAxODUyNywgLTk0LjA0MTE2NF0sIFszMy4wMTg1MjcsIC05My42MDg0ODVdXV0sCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJyNmZmZmMDAnLAogICAgICAgICAgICAgICAgICAgICAgICB3ZWlnaHQ6IDAsCiAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgIGZlYXR1cmVfZ3JvdXBfZDQ5NzZjYTlmZmEyNDllYzk1ZjM3ZmFlM2QxYTczMDAuYWRkTGF5ZXIobXVsdGlfcG9seWdvbl80YjNhNjJjYTQ0NGM0NGQyODUxZGI1ZGMwZmIwNWJlOCk7CiAgICAgICAgICAgIAogICAgICAgIAogICAgICAgICAgICAKICAgICAgICAgICAgdmFyIHBvcHVwXzA5ZWEyMzllNDA3YjQ2NjRiMDEwNWRkZThlMmViNDlmID0gTC5wb3B1cCh7bWF4V2lkdGg6ICczMDAnfSk7CgogICAgICAgICAgICAKICAgICAgICAgICAgICAgIHZhciBodG1sX2EzOTY3YjBjMGIyNDRkMDc4NTVjNTgwY2UzYzczYWY0ID0gJCgnICAgICAgICAgPGRpdiBpZD0iaHRtbF9hMzk2N2IwYzBiMjQ0ZDA3ODU1YzU4MGNlM2M3M2FmNCIgICAgICAgICAgICAgICAgIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPiAgICAgICAgICAgICAgICAgTG91aXNpYW5hPC9kaXY+ICAgICAgICAgICAgICAgICAnKVswXTsKICAgICAgICAgICAgICAgIHBvcHVwXzA5ZWEyMzllNDA3YjQ2NjRiMDEwNWRkZThlMmViNDlmLnNldENvbnRlbnQoaHRtbF9hMzk2N2IwYzBiMjQ0ZDA3ODU1YzU4MGNlM2M3M2FmNCk7CiAgICAgICAgICAgIAoKICAgICAgICAgICAgbXVsdGlfcG9seWdvbl80YjNhNjJjYTQ0NGM0NGQyODUxZGI1ZGMwZmIwNWJlOC5iaW5kUG9wdXAocG9wdXBfMDllYTIzOWU0MDdiNDY2NGIwMTA1ZGRlOGUyZWI0OWYpOwoKICAgICAgICAgICAgCiAgICAgICAgCiAgICAgICAgCiAgICAgICAgICAgIAogICAgICAgICAgICAgICAgdmFyIG11bHRpX3BvbHlnb25fMTZkMDIwZTE3MzY1NGNjOTg1NmFhMTcxYmM3YmE1YTMgPSBMLm11bHRpUG9seWdvbigKICAgICAgICAgICAgICAgICAgICBbW1s0My4wNTc3NTksIC03MC43MDM5MjFdLCBbNDMuMTI4OTU5LCAtNzAuODI0NDEzXSwgWzQzLjIyNzU0NCwgLTcwLjgwNzk4M10sIFs0My4zNDI1NiwgLTcwLjk2NjgxNF0sIFs0NC42NTcwMjUsIC03MS4wMzI1MzddLCBbNDUuMzAzMzA0LCAtNzEuMDgxODNdLCBbNDUuNDQwMjI4LCAtNzAuNjQ5MTUxXSwgWzQ1LjUxMTQyOCwgLTcwLjcyMDM1Ml0sIFs0NS42NjQ3ODIsIC03MC41NTYwNDNdLCBbNDUuNzM1OTgzLCAtNzAuMzg2MjU4XSwgWzQ1Ljc5NjIyOSwgLTcwLjQxOTEyXSwgWzQ1Ljg4OTMzNywgLTcwLjI2MDI4OV0sIFs0Ni4wNjQ1OTksIC03MC4zMDk1ODFdLCBbNDYuMzI3NDkyLCAtNzAuMjEwOTk2XSwgWzQ2LjQxNTEyMywgLTcwLjA1NzY0Ml0sIFs0Ni42OTQ0NDcsIC02OS45OTczOTVdLCBbNDcuNDYxMjE5LCAtNjkuMjI1MTQ3XSwgWzQ3LjQyODM1NywgLTY5LjA0NDQwOF0sIFs0Ny4yNDIxNDEsIC02OS4wMzM0NTRdLCBbNDcuMTc2NDE4LCAtNjguOTAyMDA3XSwgWzQ3LjI4NTk1NywgLTY4LjU3ODg2OF0sIFs0Ny4yODU5NTcsIC02OC4zNzYyMjFdLCBbNDcuMzU3MTU3LCAtNjguMjMzODIxXSwgWzQ3LjE5ODMyNiwgLTY3Ljk1NDQ5N10sIFs0Ny4wNjY4NzksIC02Ny43OTAxODhdLCBbNDUuOTQ0MTA2LCAtNjcuNzc5MjM1XSwgWzQ1LjY3NTczNiwgLTY3LjgwMTE0Ml0sIFs0NS42MDQ1MzYsIC02Ny40NTYwOTVdLCBbNDUuNDg5NTIsIC02Ny41MDUzODhdLCBbNDUuMzc5OTgyLCAtNjcuNDE3NzU3XSwgWzQ1LjI4MTM5NywgLTY3LjQ4ODk1N10sIFs0NS4xMjgwNDIsIC02Ny4zNDY1NTZdLCBbNDUuMTYwOTA0LCAtNjcuMTYwMzRdLCBbNDQuODA0OTAzLCAtNjYuOTc5NjAxXSwgWzQ0LjY0NjA3MiwgLTY3LjE4NzcyNV0sIFs0NC43MDYzMTgsIC02Ny4zMDgyMThdLCBbNDQuNTk2Nzc5LCAtNjcuNDA2ODAzXSwgWzQ0LjYyNDE2NCwgLTY3LjU0OTIwM10sIFs0NC41MzEwNTYsIC02Ny41NjU2MzRdLCBbNDQuNTQyMDEsIC02Ny43NTE4NV0sIFs0NC4zMjg0MDksIC02OC4wNDc2MDVdLCBbNDQuNDc2Mjg2LCAtNjguMTE4ODA1XSwgWzQ0LjQ4NzI0LCAtNjguMjIyODY3XSwgWzQ0LjMyODQwOSwgLTY4LjE3MzU3NF0sIFs0NC4yNTE3MzIsIC02OC40MDM2MDZdLCBbNDQuMzc3NzAxLCAtNjguNDU4Mzc1XSwgWzQ0LjMxMTk3OCwgLTY4LjU2NzkxNF0sIFs0NC4zMTE5NzgsIC02OC44MjUzM10sIFs0NC40NTk4NTYsIC02OC44MzA4MDddLCBbNDQuNDI2OTk0LCAtNjguOTg0MTYxXSwgWzQ0LjMyMjkzMiwgLTY4Ljk1Njc3N10sIFs0NC4xMDM4NTQsIC02OS4wOTkxNzddLCBbNDQuMDQzNjA4LCAtNjkuMDcxNzkzXSwgWzQzLjkyMzExNSwgLTY5LjI1ODAwOF0sIFs0My45NjY5MzEsIC02OS40NDQyMjRdLCBbNDMuODQwOTYxLCAtNjkuNTUzNzYzXSwgWzQzLjgyNDUzLCAtNjkuNzA3MTE4XSwgWzQzLjcyMDQ2OSwgLTY5LjgzMzA4N10sIFs0My43NDIzNzYsIC02OS45ODY0NDJdLCBbNDMuODUxOTE1LCAtNzAuMDMwMjU3XSwgWzQzLjY3NjY1MywgLTcwLjI1NDgxMl0sIFs0My41NjcxMTQsIC03MC4xOTQ1NjVdLCBbNDMuNTI4Nzc2LCAtNzAuMzU4ODczXSwgWzQzLjQzNTY2OCwgLTcwLjM2OTgyN10sIFs0My4zMjA2NTIsIC03MC41NTYwNDNdLCBbNDMuMDU3NzU5LCAtNzAuNzAzOTIxXV1dLAogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICdncmVlbicsCiAgICAgICAgICAgICAgICAgICAgICAgIHdlaWdodDogMCwKICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgZmVhdHVyZV9ncm91cF9kNDk3NmNhOWZmYTI0OWVjOTVmMzdmYWUzZDFhNzMwMC5hZGRMYXllcihtdWx0aV9wb2x5Z29uXzE2ZDAyMGUxNzM2NTRjYzk4NTZhYTE3MWJjN2JhNWEzKTsKICAgICAgICAgICAgCiAgICAgICAgCiAgICAgICAgICAgIAogICAgICAgICAgICB2YXIgcG9wdXBfYjU0ZjM3ODJiNmIzNDQ4YmEzZGU2MGVjODMzNTAzMTAgPSBMLnBvcHVwKHttYXhXaWR0aDogJzMwMCd9KTsKCiAgICAgICAgICAgIAogICAgICAgICAgICAgICAgdmFyIGh0bWxfMzY5NjBmZTUyNDA5NGM4M2FjYzIxMTMwNzBhNWJlY2MgPSAkKCcgICAgICAgICA8ZGl2IGlkPSJodG1sXzM2OTYwZmU1MjQwOTRjODNhY2MyMTEzMDcwYTViZWNjIiAgICAgICAgICAgICAgICAgc3R5bGU9IndpZHRoOiAxMDAuMCU7IGhlaWdodDogMTAwLjAlOyI+ICAgICAgICAgICAgICAgICBNYWluZTwvZGl2PiAgICAgICAgICAgICAgICAgJylbMF07CiAgICAgICAgICAgICAgICBwb3B1cF9iNTRmMzc4MmI2YjM0NDhiYTNkZTYwZWM4MzM1MDMxMC5zZXRDb250ZW50KGh0bWxfMzY5NjBmZTUyNDA5NGM4M2FjYzIxMTMwNzBhNWJlY2MpOwogICAgICAgICAgICAKCiAgICAgICAgICAgIG11bHRpX3BvbHlnb25fMTZkMDIwZTE3MzY1NGNjOTg1NmFhMTcxYmM3YmE1YTMuYmluZFBvcHVwKHBvcHVwX2I1NGYzNzgyYjZiMzQ0OGJhM2RlNjBlYzgzMzUwMzEwKTsKCiAgICAgICAgICAgIAogICAgICAgIAogICAgICAgIAogICAgICAgICAgICAKICAgICAgICAgICAgICAgIHZhciBtdWx0aV9wb2x5Z29uXzRmNTcwNWY4MGE0OTQ4ZWI5MjQwNWU1MjNjYzZlZjdjID0gTC5tdWx0aVBvbHlnb24oCiAgICAgICAgICAgICAgICAgICAgW1tbWzM3Ljk1MzI1LCAtNzUuOTk0NjQ1XSwgWzM3Ljk1MzI1LCAtNzYuMDE2NTUzXSwgWzM3Ljk1MzI1LCAtNzYuMDQzOTM4XSwgWzM3Ljk1MzI1LCAtNzUuOTk0NjQ1XV1dLCBbW1szOS43MjIzMDIsIC03OS40Nzc5NzldLCBbMzkuNzIyMzAyLCAtNzUuNzg2NTIxXSwgWzM4LjQ2MjYwNiwgLTc1LjY5MzQxM10sIFszOC40NTE2NTIsIC03NS4wNDcxMzRdLCBbMzguMDI5OTI4LCAtNzUuMjQ0MzA0XSwgWzM4LjAxMzQ5NywgLTc1LjM5NzY1OV0sIFszNy45NTMyNSwgLTc1LjY3MTUwNl0sIFszNy45MDk0MzUsIC03NS44ODUxMDZdLCBbMzguMDczNzQzLCAtNzUuODc5NjI5XSwgWzM4LjEzOTQ2NiwgLTc1Ljk2MTc4M10sIFszOC4yMTA2NjcsIC03NS44NDY3NjhdLCBbMzguMzc0OTc1LCAtNzYuMDAwMTIyXSwgWzM4LjMwMzc3NSwgLTc2LjA0OTQxNV0sIFszOC4zMjAyMDUsIC03Ni4yNTc1MzhdLCBbMzguNTAwOTQ0LCAtNzYuMzI4NzM4XSwgWzM4LjUwMDk0NCwgLTc2LjI2MzAxNV0sIFszOC43MzY0NTMsIC03Ni4yNTc1MzhdLCBbMzguODI5NTYxLCAtNzYuMTkxODE1XSwgWzM5LjE0NzIyMywgLTc2LjI3OTQ0Nl0sIFszOS4zMzM0MzksIC03Ni4xNjk5MDddLCBbMzkuMzY2MzAxLCAtNzYuMDAwMTIyXSwgWzM5LjU1Nzk5NCwgLTc1Ljk3MjczN10sIFszOS41MzYwODYsIC03Ni4wOTg3MDddLCBbMzkuNDM3NTAxLCAtNzYuMTA0MTg0XSwgWzM5LjMxMTUzMiwgLTc2LjM2NzA3N10sIFszOS4xOTY1MTYsIC03Ni40NDM3NTRdLCBbMzguOTA2MjM4LCAtNzYuNDYwMTg1XSwgWzM4Ljc2OTMxNSwgLTc2LjU1ODc3XSwgWzM4LjUzOTI4MywgLTc2LjUxNDk1NF0sIFszOC4zODA0NTIsIC03Ni4zODM1MDhdLCBbMzguMjU5OTU5LCAtNzYuMzk5OTM5XSwgWzM4LjEzOTQ2NiwgLTc2LjMxNzc4NV0sIFszOC4wNTczMTIsIC03Ni4zNjE2XSwgWzM4LjIxNjE0NCwgLTc2LjU5MTYzMl0sIFszOC4yOTI4MjEsIC03Ni45MjAyNDhdLCBbMzguNDQ2MTc1LCAtNzcuMDE4ODMzXSwgWzM4LjM1ODU0NCwgLTc3LjIwNTA0OV0sIFszOC40NzkwMzcsIC03Ny4yNzYyNDldLCBbMzguNjMyMzkxLCAtNzcuMTI4MzcyXSwgWzM4Ljc5MTIyMiwgLTc3LjA0MDc0MV0sIFszOC44OTUyODQsIC03Ni45MDkyOTRdLCBbMzguOTkzODY5LCAtNzcuMDM1MjY0XSwgWzM4LjkzMzYyMywgLTc3LjExNzQxOF0sIFszOS4wMjY3MzEsIC03Ny4yNDg4NjRdLCBbMzkuMDc2MDIzLCAtNzcuNDU2OTg4XSwgWzM5LjIyMzkwMSwgLTc3LjQ1Njk4OF0sIFszOS4zMDYwNTUsIC03Ny41NjY1MjddLCBbMzkuMzIyNDg1LCAtNzcuNzE5ODgxXSwgWzM5LjYwMTgwOSwgLTc3LjgzNDg5N10sIFszOS42MDE4MDksIC03OC4wMDQ2ODJdLCBbMzkuNjk0OTE3LCAtNzguMTc0NDY3XSwgWzM5LjYxODI0LCAtNzguMjY3NTc1XSwgWzM5LjYyMzcxNywgLTc4LjQzMTg4NF0sIFszOS41MTQxNzgsIC03OC40NzAyMjJdLCBbMzkuNTg1Mzc5LCAtNzguNzY1OTc3XSwgWzM5LjQzNzUwMSwgLTc4Ljk2MzE0N10sIFszOS40NzAzNjMsIC03OS4wOTQ1OTNdLCBbMzkuMzAwNTc4LCAtNzkuMjkxNzYzXSwgWzM5LjIwNzQ3LCAtNzkuNDg4OTMzXSwgWzM5LjcyMjMwMiwgLTc5LjQ3Nzk3OV1dXV0sCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJyNmZmZmMDAnLAogICAgICAgICAgICAgICAgICAgICAgICB3ZWlnaHQ6IDAsCiAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgIGZlYXR1cmVfZ3JvdXBfZDQ5NzZjYTlmZmEyNDllYzk1ZjM3ZmFlM2QxYTczMDAuYWRkTGF5ZXIobXVsdGlfcG9seWdvbl80ZjU3MDVmODBhNDk0OGViOTI0MDVlNTIzY2M2ZWY3Yyk7CiAgICAgICAgICAgIAogICAgICAgIAogICAgICAgICAgICAKICAgICAgICAgICAgdmFyIHBvcHVwXzU5ZjE2YmViYzdhMjRkYTdhZmQ3ODEwMDY4NzE0YTU4ID0gTC5wb3B1cCh7bWF4V2lkdGg6ICczMDAnfSk7CgogICAgICAgICAgICAKICAgICAgICAgICAgICAgIHZhciBodG1sX2UwYzlkNjRmM2E3NTQ1MDg5OWZmYTM0ODg4ZTExZTNkID0gJCgnICAgICAgICAgPGRpdiBpZD0iaHRtbF9lMGM5ZDY0ZjNhNzU0NTA4OTlmZmEzNDg4OGUxMWUzZCIgICAgICAgICAgICAgICAgIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPiAgICAgICAgICAgICAgICAgTWFyeWxhbmQ8L2Rpdj4gICAgICAgICAgICAgICAgICcpWzBdOwogICAgICAgICAgICAgICAgcG9wdXBfNTlmMTZiZWJjN2EyNGRhN2FmZDc4MTAwNjg3MTRhNTguc2V0Q29udGVudChodG1sX2UwYzlkNjRmM2E3NTQ1MDg5OWZmYTM0ODg4ZTExZTNkKTsKICAgICAgICAgICAgCgogICAgICAgICAgICBtdWx0aV9wb2x5Z29uXzRmNTcwNWY4MGE0OTQ4ZWI5MjQwNWU1MjNjYzZlZjdjLmJpbmRQb3B1cChwb3B1cF81OWYxNmJlYmM3YTI0ZGE3YWZkNzgxMDA2ODcxNGE1OCk7CgogICAgICAgICAgICAKICAgICAgICAKICAgICAgICAKICAgICAgICAgICAgCiAgICAgICAgICAgICAgICB2YXIgbXVsdGlfcG9seWdvbl84OWIwZmM3MzFjMDc0NDU3OTBkMTVkNTE0YzRjYTcyMSA9IEwubXVsdGlQb2x5Z29uKAogICAgICAgICAgICAgICAgICAgIFtbWzQyLjg4Nzk3NCwgLTcwLjkxNzUyMV0sIFs0Mi44NzE1NDMsIC03MC44MTg5MzZdLCBbNDIuNjk2MjgxLCAtNzAuNzgwNTk4XSwgWzQyLjU1Mzg4LCAtNzAuODI0NDEzXSwgWzQyLjQyMjQzNCwgLTcwLjk4MzI0NV0sIFs0Mi4yNjkwNzksIC03MC45ODg3MjJdLCBbNDIuMjQ3MTcyLCAtNzAuNzY5NjQ0XSwgWzQyLjA4ODM0LCAtNzAuNjM4MTk3XSwgWzQxLjk2MjM3MSwgLTcwLjY2MDEwNV0sIFs0MS45Mjk1MDksIC03MC41NTA1NjZdLCBbNDEuODE0NDkzLCAtNzAuNTM5NjEzXSwgWzQxLjcxNTkwOCwgLTcwLjI2MDI4OV0sIFs0MS44MDkwMTYsIC02OS45MzcxNDldLCBbNDEuNjcyMDkzLCAtNzAuMDA4MzQ5XSwgWzQxLjU1MTYsIC03MC40ODQ4NDNdLCBbNDEuNTQ2MTIzLCAtNzAuNjYwMTA1XSwgWzQxLjYzOTIzMSwgLTcwLjc2NDE2N10sIFs0MS42MTE4NDcsIC03MC45Mjg0NzVdLCBbNDEuNTQwNjQ2LCAtNzAuOTMzOTUyXSwgWzQxLjQ5NjgzMSwgLTcxLjEyMDE2OF0sIFs0MS42Nzc1NywgLTcxLjE5Njg0NV0sIFs0MS43MTA0MzEsIC03MS4yMjQyM10sIFs0MS43ODE2MzIsIC03MS4zMjgyOTJdLCBbNDIuMDE3MTQsIC03MS4zODMwNjFdLCBbNDIuMDE3MTQsIC03MS41MzA5MzldLCBbNDIuMDA2MTg2LCAtNzEuNzk5MzA5XSwgWzQyLjAyMjYxNywgLTcxLjc5OTMwOV0sIFs0Mi4wMzkwNDgsIC03My4wNTM1MjhdLCBbNDIuMDUwMDAyLCAtNzMuNDg2MjA2XSwgWzQyLjA4ODM0LCAtNzMuNTA4MTE0XSwgWzQyLjc0NTU3MywgLTczLjI2NzEyOV0sIFs0Mi43MjkxNDIsIC03Mi40NTY1NDJdLCBbNDIuNjk2MjgxLCAtNzEuMjk1NDNdLCBbNDIuNzg5Mzg5LCAtNzEuMTg1ODkxXSwgWzQyLjg4Nzk3NCwgLTcwLjkxNzUyMV1dXSwKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAnZ3JlZW4nLAogICAgICAgICAgICAgICAgICAgICAgICB3ZWlnaHQ6IDAsCiAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgIGZlYXR1cmVfZ3JvdXBfZDQ5NzZjYTlmZmEyNDllYzk1ZjM3ZmFlM2QxYTczMDAuYWRkTGF5ZXIobXVsdGlfcG9seWdvbl84OWIwZmM3MzFjMDc0NDU3OTBkMTVkNTE0YzRjYTcyMSk7CiAgICAgICAgICAgIAogICAgICAgIAogICAgICAgICAgICAKICAgICAgICAgICAgdmFyIHBvcHVwX2RkZDEyZmNiYmQyYzRiNzRiMTE1MzRjYTg4ZTIxZjE1ID0gTC5wb3B1cCh7bWF4V2lkdGg6ICczMDAnfSk7CgogICAgICAgICAgICAKICAgICAgICAgICAgICAgIHZhciBodG1sX2VkNzBlNTAxYzg3MzRiOTliNjE4ODc1NmNjNmQ5ZmVjID0gJCgnICAgICAgICAgPGRpdiBpZD0iaHRtbF9lZDcwZTUwMWM4NzM0Yjk5YjYxODg3NTZjYzZkOWZlYyIgICAgICAgICAgICAgICAgIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPiAgICAgICAgICAgICAgICAgTWFzc2FjaHVzZXR0czwvZGl2PiAgICAgICAgICAgICAgICAgJylbMF07CiAgICAgICAgICAgICAgICBwb3B1cF9kZGQxMmZjYmJkMmM0Yjc0YjExNTM0Y2E4OGUyMWYxNS5zZXRDb250ZW50KGh0bWxfZWQ3MGU1MDFjODczNGI5OWI2MTg4NzU2Y2M2ZDlmZWMpOwogICAgICAgICAgICAKCiAgICAgICAgICAgIG11bHRpX3BvbHlnb25fODliMGZjNzMxYzA3NDQ1NzkwZDE1ZDUxNGM0Y2E3MjEuYmluZFBvcHVwKHBvcHVwX2RkZDEyZmNiYmQyYzRiNzRiMTE1MzRjYTg4ZTIxZjE1KTsKCiAgICAgICAgICAgIAogICAgICAgIAogICAgICAgIAogICAgICAgICAgICAKICAgICAgICAgICAgICAgIHZhciBtdWx0aV9wb2x5Z29uXzBkZmI0ZWRkYjVjYTRkNjZhNzc1NDJjZmM5ODg3YjFmID0gTC5tdWx0aVBvbHlnb24oCiAgICAgICAgICAgICAgICAgICAgW1tbWzQxLjczMjMzOSwgLTgzLjQ1NDIzOF0sIFs0MS42OTQwMDEsIC04NC44MDcwNDJdLCBbNDEuNzU5NzI0LCAtODQuODA3MDQyXSwgWzQxLjc1OTcyNCwgLTg1Ljk5MDA2MV0sIFs0MS43NTk3MjQsIC04Ni44MjI1NTZdLCBbNDEuODkxMTcxLCAtODYuNjE5OTA5XSwgWzQyLjExNTcyNSwgLTg2LjQ4Mjk4Nl0sIFs0Mi4yNTI2NDksIC04Ni4zNTcwMTZdLCBbNDIuNDQ0MzQxLCAtODYuMjYzOTA4XSwgWzQyLjcxODE4OSwgLTg2LjIwOTEzOV0sIFs0My4wMTM5NDMsIC04Ni4yMzEwNDddLCBbNDMuNTk0NDk5LCAtODYuNTI2ODAxXSwgWzQzLjgxMzU3NywgLTg2LjQzMzY5M10sIFs0NC4wNzY0NywgLTg2LjQ5OTQxN10sIFs0NC4zNDQ4NCwgLTg2LjI2OTM4NV0sIFs0NC41NjkzOTQsIC04Ni4yMjAwOTNdLCBbNDQuNjg5ODg3LCAtODYuMjUyOTU0XSwgWzQ0LjczOTE4LCAtODYuMDg4NjQ2XSwgWzQ0LjkwMzQ4OCwgLTg2LjA2NjczOF0sIFs0NC45NDczMDMsIC04NS44MDkzMjJdLCBbNDUuMTI4MDQyLCAtODUuNjEyMTUyXSwgWzQ0Ljc2NjU2NCwgLTg1LjYyODU4M10sIFs0NC43NTAxMzMsIC04NS41MjQ1MjFdLCBbNDQuOTMwODcyLCAtODUuMzkzMDc1XSwgWzQ1LjIzNzU4MSwgLTg1LjM4NzU5OF0sIFs0NS4zMTQyNTgsIC04NS4zMDU0NDRdLCBbNDUuMzYzNTUxLCAtODUuMDMxNTk3XSwgWzQ1LjU3NzE1MSwgLTg1LjExOTIyOF0sIFs0NS43NTc4OSwgLTg0LjkzODQ4OV0sIFs0NS43Njg4NDQsIC04NC43MTM5MzRdLCBbNDUuNjUzODI5LCAtODQuNDYxOTk1XSwgWzQ1LjYzNzM5OCwgLTg0LjIxNTUzM10sIFs0NS40OTQ5OTcsIC04NC4wOTUwNF0sIFs0NS40ODQwNDMsIC04My45MDg4MjRdLCBbNDUuMzUyNTk3LCAtODMuNTk2NjM4XSwgWzQ1LjM1ODA3NCwgLTgzLjQ4NzFdLCBbNDUuMTQ0NDczLCAtODMuMzE3MzE0XSwgWzQ1LjAyOTQ1NywgLTgzLjQ1NDIzOF0sIFs0NC44ODE1OCwgLTgzLjMyMjc5MV0sIFs0NC43MTE3OTUsIC04My4yNzM0OTldLCBbNDQuMzM5MzYzLCAtODMuMzMzNzQ1XSwgWzQ0LjI0NjI1NSwgLTgzLjUzNjM5Ml0sIFs0NC4wNTQ1NjIsIC04My41ODU2ODRdLCBbNDMuOTg4ODM5LCAtODMuODI2NjddLCBbNDMuNzU4ODA3LCAtODMuOTU4MTE2XSwgWzQzLjY3MTE3NiwgLTgzLjkwODgyNF0sIFs0My41ODkwMjIsIC04My42Njc4MzldLCBbNDMuNzE0OTkyLCAtODMuNDgxNjIzXSwgWzQzLjk3MjQwOCwgLTgzLjI2MjU0NV0sIFs0NC4wNzA5OTMsIC04Mi45MTc0OThdLCBbNDMuOTk0MzE2LCAtODIuNzQ3NzEzXSwgWzQzLjg1MTkxNSwgLTgyLjY0MzY1MV0sIFs0My40MzU2NjgsIC04Mi41Mzk1ODldLCBbNDMuMjI3NTQ0LCAtODIuNTIzMTU4XSwgWzQyLjk3NTYwNSwgLTgyLjQxMzYxOV0sIFs0Mi42MTQxMjcsIC04Mi41MTc2ODFdLCBbNDIuNTU5MzU3LCAtODIuNjgxOTg5XSwgWzQyLjY5MDgwNCwgLTgyLjY4NzQ2Nl0sIFs0Mi42NTI0NjUsIC04Mi43OTcwMDVdLCBbNDIuMzUxMjM0LCAtODIuOTIyOTc1XSwgWzQyLjIzNjIxOCwgLTgzLjEyNTYyMV0sIFs0Mi4wMDYxODYsIC04My4xODU4NjhdLCBbNDEuODE0NDkzLCAtODMuNDM3ODA3XSwgWzQxLjczMjMzOSwgLTgzLjQ1NDIzOF1dXSwgW1tbNDUuNzMwNTA2LCAtODUuNTA4MDkxXSwgWzQ1LjYxMDAxMywgLTg1LjQ5MTY2XSwgWzQ1LjU4ODEwNSwgLTg1LjYyMzEwNl0sIFs0NS43NTc4OSwgLTg1LjU2ODMzN10sIFs0NS43MzA1MDYsIC04NS41MDgwOTFdXV0sIFtbWzQ1LjA5NTE4MSwgLTg3LjU4OTMyOF0sIFs0NS4xOTkyNDMsIC04Ny43NDI2ODJdLCBbNDUuMzQxNjQzLCAtODcuNjQ5NTc0XSwgWzQ1LjM2MzU1MSwgLTg3Ljg4NTA4M10sIFs0NS41MDA0NzQsIC04Ny43OTE5NzVdLCBbNDUuNjc1NzM2LCAtODcuNzgxMDIxXSwgWzQ1Ljc5NjIyOSwgLTg3Ljk4OTE0NV0sIFs0NS45MjIxOTksIC04OC4xMDQxNl0sIFs0Ni4wMjA3ODQsIC04OC41MzEzNjJdLCBbNDUuOTg3OTIyLCAtODguNjYyODA4XSwgWzQ2LjEzNTc5OSwgLTg5LjA5MDAxXSwgWzQ2LjMzODQ0NiwgLTkwLjExOTY3NF0sIFs0Ni41MDgyMzEsIC05MC4yMjkyMTNdLCBbNDYuNTY4NDc4LCAtOTAuNDE1NDI5XSwgWzQ2LjY3MjUzOSwgLTkwLjAyNjU2Nl0sIFs0Ni43OTMwMzIsIC04OS44NTEzMDRdLCBbNDYuODQyMzI1LCAtODkuNDEzMTQ5XSwgWzQ2Ljk5MDIwMiwgLTg5LjEyODM0OF0sIFs0Ni45OTU2NzksIC04OC45OTY5MDJdLCBbNDcuMDk5NzQxLCAtODguODg3MzYzXSwgWzQ3LjI0NzYxOCwgLTg4LjU3NTE3N10sIFs0Ny4zNzM1ODgsIC04OC40MTYzNDZdLCBbNDcuNDU1NzQyLCAtODguMTgwODM3XSwgWzQ3LjM4NDU0MiwgLTg3Ljk1NjI4M10sIFs0Ny4wNzc4MzMsIC04OC4zNTA2MjNdLCBbNDYuOTczNzcxLCAtODguNDQzNzMxXSwgWzQ2Ljc4NzU1NSwgLTg4LjQzODI1NF0sIFs0Ni45Mjk5NTYsIC04OC4yNDY1NjFdLCBbNDYuOTA4MDQ4LCAtODcuOTAxNTEzXSwgWzQ2LjgwOTQ2MywgLTg3LjYzMzE0M10sIFs0Ni41MzU2MTYsIC04Ny4zOTIxNThdLCBbNDYuNDg2MzIzLCAtODcuMjYwNzExXSwgWzQ2LjUzMDEzOSwgLTg3LjAwODc3Ml0sIFs0Ni40Njk4OTMsIC04Ni45NDg1MjZdLCBbNDYuNDM3MDMxLCAtODYuNjk2NTg3XSwgWzQ2LjY2NzA2MywgLTg2LjE1OTg0Nl0sIFs0Ni42ODg5NywgLTg1Ljg4MDUyMl0sIFs0Ni42NzgwMTYsIC04NS41MDgwOTFdLCBbNDYuNzU0Njk0LCAtODUuMjU2MTUxXSwgWzQ2Ljc2MDE3MSwgLTg1LjA2NDQ1OF0sIFs0Ni40ODA4NDcsIC04NS4wMjYxMl0sIFs0Ni40NDI1MDgsIC04NC44Mjg5NV0sIFs0Ni40ODYzMjMsIC04NC42MzE3OF0sIFs0Ni40MjA2LCAtODQuNTQ5NjI2XSwgWzQ2LjUwMjc1NCwgLTg0LjQxODE3OV0sIFs0Ni41MzAxMzksIC04NC4xMjc5MDJdLCBbNDYuMTc5NjE1LCAtODQuMTIyNDI1XSwgWzQ2LjAzMTczNywgLTgzLjk5MDk3OF0sIFs0NS45OTMzOTksIC04My43OTM4MDhdLCBbNDYuMDkxOTg0LCAtODMuNzcxOV0sIFs0Ni4wOTE5ODQsIC04My41ODAyMDhdLCBbNDUuOTg3OTIyLCAtODMuNDc2MTQ2XSwgWzQ1LjkxMTI0NSwgLTgzLjU2Mzc3N10sIFs0NS45NzY5NjgsIC04NC4xMTE0NzFdLCBbNDUuOTMzMTUzLCAtODQuMzc0MzY0XSwgWzQ2LjA1MzY0NSwgLTg0LjY1OTE2NV0sIFs0NS45NDQxMDYsIC04NC43NDEzMTldLCBbNDUuODUwOTk4LCAtODQuNzAyOThdLCBbNDUuODcyOTA2LCAtODQuODI4OTVdLCBbNDYuMDA5ODMsIC04NS4wMTUxNjZdLCBbNDYuMDkxOTg0LCAtODUuMzM4MzA1XSwgWzQ2LjA5NzQ2MSwgLTg1LjUwMjYxNF0sIFs0NS45NjYwMTQsIC04NS42NjE0NDVdLCBbNDUuOTMzMTUzLCAtODUuOTI0MzM4XSwgWzQ1Ljk2MDUzNywgLTg2LjIwOTEzOV0sIFs0NS45MDU3NjgsIC04Ni4zMjQxNTVdLCBbNDUuNzk2MjI5LCAtODYuMzUxNTM5XSwgWzQ1LjcwMzEyMSwgLTg2LjY2MzcyNV0sIFs0NS44MzQ1NjgsIC04Ni42NDcyOTRdLCBbNDUuODYxOTUyLCAtODYuNzg0MjE4XSwgWzQ1LjcyNTAyOSwgLTg2LjgzODk4N10sIFs0NS43MTk1NTIsIC04Ny4wNjkwMTldLCBbNDUuNjU5MzA1LCAtODcuMTczMDhdLCBbNDUuNDIzNzk3LCAtODcuMzI2NDM1XSwgWzQ1LjEyMjU2NSwgLTg3LjYxMTIzNl0sIFs0NS4wOTUxODEsIC04Ny41ODkzMjhdXV0sIFtbWzQ3Ljk3NjA1MSwgLTg4LjgwNTIwOV0sIFs0Ny44NTAwODIsIC04OS4wNTcxNDhdLCBbNDcuODMzNjUxLCAtODkuMTg4NTk0XSwgWzQ3LjkzNzcxMywgLTg5LjE3NzY0MV0sIFs0OC4xNzMyMjEsIC04OC41NDc3OTJdLCBbNDguMDA4OTEzLCAtODguNjY4Mjg1XSwgWzQ3Ljk3NjA1MSwgLTg4LjgwNTIwOV1dXV0sCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJyNmZmZmMDAnLAogICAgICAgICAgICAgICAgICAgICAgICB3ZWlnaHQ6IDAsCiAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgIGZlYXR1cmVfZ3JvdXBfZDQ5NzZjYTlmZmEyNDllYzk1ZjM3ZmFlM2QxYTczMDAuYWRkTGF5ZXIobXVsdGlfcG9seWdvbl8wZGZiNGVkZGI1Y2E0ZDY2YTc3NTQyY2ZjOTg4N2IxZik7CiAgICAgICAgICAgIAogICAgICAgIAogICAgICAgICAgICAKICAgICAgICAgICAgdmFyIHBvcHVwXzBiZWFhODY1MjllMjQ2MDliYWNmM2IxMTljNTQ1OTI5ID0gTC5wb3B1cCh7bWF4V2lkdGg6ICczMDAnfSk7CgogICAgICAgICAgICAKICAgICAgICAgICAgICAgIHZhciBodG1sXzc4ZTFjZWJiYTk3NzQwYzc4NjlkZjA2MDMxOTVhNzk1ID0gJCgnICAgICAgICAgPGRpdiBpZD0iaHRtbF83OGUxY2ViYmE5Nzc0MGM3ODY5ZGYwNjAzMTk1YTc5NSIgICAgICAgICAgICAgICAgIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPiAgICAgICAgICAgICAgICAgTWljaGlnYW48L2Rpdj4gICAgICAgICAgICAgICAgICcpWzBdOwogICAgICAgICAgICAgICAgcG9wdXBfMGJlYWE4NjUyOWUyNDYwOWJhY2YzYjExOWM1NDU5Mjkuc2V0Q29udGVudChodG1sXzc4ZTFjZWJiYTk3NzQwYzc4NjlkZjA2MDMxOTVhNzk1KTsKICAgICAgICAgICAgCgogICAgICAgICAgICBtdWx0aV9wb2x5Z29uXzBkZmI0ZWRkYjVjYTRkNjZhNzc1NDJjZmM5ODg3YjFmLmJpbmRQb3B1cChwb3B1cF8wYmVhYTg2NTI5ZTI0NjA5YmFjZjNiMTE5YzU0NTkyOSk7CgogICAgICAgICAgICAKICAgICAgICAKICAgICAgICAKICAgICAgICAgICAgCiAgICAgICAgICAgICAgICB2YXIgbXVsdGlfcG9seWdvbl9jZTQ4NjI2OTQ1YjE0ZjViOThkNGE3ZThhMGE3NGI0MSA9IEwubXVsdGlQb2x5Z29uKAogICAgICAgICAgICAgICAgICAgIFtbWzQ2LjcwNTQwMSwgLTkyLjAxNDY5Nl0sIFs0Ni43NDkyMTcsIC05Mi4wOTEzNzNdLCBbNDYuNjY3MDYzLCAtOTIuMjk0MDJdLCBbNDYuMDc1NTUzLCAtOTIuMjk0MDJdLCBbNDYuMDE1MzA3LCAtOTIuMzU0MjY2XSwgWzQ1LjkzMzE1MywgLTkyLjYzOTA2N10sIFs0NS43MTk1NTIsIC05Mi44NjkwOThdLCBbNDUuNTc3MTUxLCAtOTIuODg1NTI5XSwgWzQ1LjU2NjE5OCwgLTkyLjc3MDUxM10sIFs0NS40NDAyMjgsIC05Mi42NDQ1NDRdLCBbNDUuMjg2ODc0LCAtOTIuNzU5NTZdLCBbNDUuMTE3MDg4LCAtOTIuNzM3NjUyXSwgWzQ0Ljc1MDEzMywgLTkyLjgwODg1Ml0sIFs0NC41NjkzOTQsIC05Mi41NDU5NTldLCBbNDQuNTUyOTY0LCAtOTIuMzM3ODM1XSwgWzQ0LjQ0MzQyNSwgLTkyLjIzMzc3M10sIFs0NC4zMzM4ODYsIC05MS45MjcwNjVdLCBbNDQuMjAyNDM5LCAtOTEuODc3NzcyXSwgWzQ0LjAzMjY1NCwgLTkxLjU5Mjk3MV0sIFs0My45OTQzMTYsIC05MS40MzQxNF0sIFs0My43NzUyMzgsIC05MS4yNDI0NDddLCBbNDMuNjE2NDA3LCAtOTEuMjY5ODMyXSwgWzQzLjUwMTM5MSwgLTkxLjIxNTA2Ml0sIFs0My41MDEzOTEsIC05MS4zNjg0MTddLCBbNDMuNTAxMzkxLCAtOTYuNDUxMDE3XSwgWzQ1LjI5NzgyNywgLTk2LjQ1MTAxN10sIFs0NS40MTI4NDMsIC05Ni42ODEwNDldLCBbNDUuNjA0NTM2LCAtOTYuODU2MzExXSwgWzQ1LjgxODEzNywgLTk2LjU4MjQ2NF0sIFs0NS45MzMxNTMsIC05Ni41NjA1NTZdLCBbNDYuMzMyOTY5LCAtOTYuNTk4ODk1XSwgWzQ2LjQzNzAzMSwgLTk2LjcxOTM4N10sIFs0Ni42NTYxMDksIC05Ni44MDE1NDJdLCBbNDYuOTI0NDc5LCAtOTYuNzg1MTExXSwgWzQ2Ljk2ODI5NCwgLTk2LjgyMzQ0OV0sIFs0Ny42MDkwOTYsIC05Ni44NTYzMTFdLCBbNDcuOTQ4NjY3LCAtOTcuMDUzNDgxXSwgWzQ4LjE0MDM1OSwgLTk3LjEzMDE1OF0sIFs0OC41NDU2NTMsIC05Ny4xNjMwMl0sIFs0OC42ODI1NzcsIC05Ny4wOTcyOTZdLCBbNDkuMDAwMjM5LCAtOTcuMjI4NzQzXSwgWzQ5LjAwMDIzOSwgLTk1LjE1Mjk4M10sIFs0OS4zODM2MjUsIC05NS4xNTI5ODNdLCBbNDkuMzcyNjcxLCAtOTQuOTU1ODEzXSwgWzQ5LjI5NTk5NCwgLTk0LjgyNDM2Nl0sIFs0OC43NzU2ODUsIC05NC42OTI5Ml0sIFs0OC43MTU0MzgsIC05NC41ODg4NThdLCBbNDguNjk5MDA3LCAtOTQuMjYwMjQxXSwgWzQ4LjY0OTcxNSwgLTk0LjIyMTkwM10sIFs0OC42Mjc4MDcsIC05My44Mzg1MTddLCBbNDguNTE4MjY4LCAtOTMuNzk0NzAxXSwgWzQ4LjU0NTY1MywgLTkzLjQ2NjA4NV0sIFs0OC41ODk0NjksIC05My40NjYwODVdLCBbNDguNjQ0MjM4LCAtOTMuMjA4NjY5XSwgWzQ4LjYyMjMzLCAtOTIuOTg0MTE0XSwgWzQ4LjU0MDE3NiwgLTkyLjcyNjY5OF0sIFs0OC40MzYxMTQsIC05Mi42NTU0OThdLCBbNDguNDQ3MDY4LCAtOTIuNTA3NjJdLCBbNDguMjIyNTE0LCAtOTIuMzcwNjk3XSwgWzQ4LjMxNTYyMiwgLTkyLjMwNDk3NF0sIFs0OC4zNTk0MzcsIC05Mi4wNTMwMzRdLCBbNDguMjY2MzI5LCAtOTIuMDA5MjE5XSwgWzQ4LjIwMDYwNiwgLTkxLjcxMzQ2NF0sIFs0OC4xMTI5NzUsIC05MS43MTM0NjRdLCBbNDguMDQxNzc1LCAtOTEuNTY1NTg3XSwgWzQ4LjA4MDExMywgLTkxLjI2NDM1NV0sIFs0OC4xNzg2OTgsIC05MS4wODM2MTZdLCBbNDguMjM4OTQ0LCAtOTAuODM3MTU0XSwgWzQ4LjA5MTA2NywgLTkwLjc0OTUyMl0sIFs0OC4xMjM5MjksIC05MC41Nzk3MzddLCBbNDguMDkxMDY3LCAtOTAuMzc3MDkxXSwgWzQ4LjExMjk3NSwgLTkwLjE0MTU4Ml0sIFs0Ny45ODcwMDUsIC04OS44NzMyMTJdLCBbNDguMDA4OTEzLCAtODkuNjE1Nzk2XSwgWzQ3Ljk1NDE0NCwgLTg5LjYzNzcwNF0sIFs0Ny44MjgxNzQsIC04OS45NzE3OTddLCBbNDcuNzI5NTg5LCAtOTAuNDM3MzM3XSwgWzQ3LjYyNTUyNywgLTkwLjczODU2OV0sIFs0Ny4zNjgxMTEsIC05MS4xNzEyNDddLCBbNDcuMjA5MjgsIC05MS4zNTc0NjNdLCBbNDcuMDI4NTQxLCAtOTEuNjQyMjY0XSwgWzQ2Ljc4NzU1NSwgLTkyLjA5MTM3M10sIFs0Ni43MDU0MDEsIC05Mi4wMTQ2OTZdXV0sCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJ2dyZWVuJywKICAgICAgICAgICAgICAgICAgICAgICAgd2VpZ2h0OiAwLAogICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICBmZWF0dXJlX2dyb3VwX2Q0OTc2Y2E5ZmZhMjQ5ZWM5NWYzN2ZhZTNkMWE3MzAwLmFkZExheWVyKG11bHRpX3BvbHlnb25fY2U0ODYyNjk0NWIxNGY1Yjk4ZDRhN2U4YTBhNzRiNDEpOwogICAgICAgICAgICAKICAgICAgICAKICAgICAgICAgICAgCiAgICAgICAgICAgIHZhciBwb3B1cF8xYjE2NjM3MWI2MWM0YThkOWU0MjE1NWY3MjBlNzFhZCA9IEwucG9wdXAoe21heFdpZHRoOiAnMzAwJ30pOwoKICAgICAgICAgICAgCiAgICAgICAgICAgICAgICB2YXIgaHRtbF80YzViYjllN2JjNjk0NWJjODNiOGU1ZGQ1ZjcyMTc0YiA9ICQoJyAgICAgICAgIDxkaXYgaWQ9Imh0bWxfNGM1YmI5ZTdiYzY5NDViYzgzYjhlNWRkNWY3MjE3NGIiICAgICAgICAgICAgICAgICBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij4gICAgICAgICAgICAgICAgIE1pbm5lc290YTwvZGl2PiAgICAgICAgICAgICAgICAgJylbMF07CiAgICAgICAgICAgICAgICBwb3B1cF8xYjE2NjM3MWI2MWM0YThkOWU0MjE1NWY3MjBlNzFhZC5zZXRDb250ZW50KGh0bWxfNGM1YmI5ZTdiYzY5NDViYzgzYjhlNWRkNWY3MjE3NGIpOwogICAgICAgICAgICAKCiAgICAgICAgICAgIG11bHRpX3BvbHlnb25fY2U0ODYyNjk0NWIxNGY1Yjk4ZDRhN2U4YTBhNzRiNDEuYmluZFBvcHVwKHBvcHVwXzFiMTY2MzcxYjYxYzRhOGQ5ZTQyMTU1ZjcyMGU3MWFkKTsKCiAgICAgICAgICAgIAogICAgICAgIAogICAgICAgIAogICAgICAgICAgICAKICAgICAgICAgICAgICAgIHZhciBtdWx0aV9wb2x5Z29uXzhkZjFiMjhmY2FmZDRjYmM4NTg1YzRjMTA5ZTFlZmZhID0gTC5tdWx0aVBvbHlnb24oCiAgICAgICAgICAgICAgICAgICAgW1tbMzQuOTk1NzAzLCAtODguNDcxMTE1XSwgWzM0Ljk5NTcwMywgLTg4LjIwMjc0NV0sIFszNC44OTE2NDEsIC04OC4wOTg2ODNdLCBbMzMuNzk2MjUzLCAtODguMjQxMDg0XSwgWzMxLjg5NTc1NCwgLTg4LjQ3MTExNV0sIFszMC4zNjc2ODgsIC04OC4zOTQ0MzhdLCBbMzAuMzIzODcyLCAtODguNTAzOTc3XSwgWzMwLjM0NTc4LCAtODguNzQ0OTYyXSwgWzMwLjQxMTUwNCwgLTg4Ljg0MzU0N10sIFszMC4zNjc2ODgsIC04OS4wODQ1MzNdLCBbMzAuMjUyNjcyLCAtODkuNDE4NjI2XSwgWzMwLjE4MTQ3MiwgLTg5LjUyMjY4OF0sIFszMC4yODU1MzQsIC04OS42NDMxODFdLCBbMzAuNDQ5ODQyLCAtODkuNjgxNTE5XSwgWzMwLjY2ODkyLCAtODkuODQ1ODI3XSwgWzMwLjk5NzUzNiwgLTg5Ljc0NzI0Ml0sIFszMC45OTc1MzYsIC05MS42MzY3ODddLCBbMzEuMDY4NzM2LCAtOTEuNTY1NTg3XSwgWzMxLjI2NTkwNiwgLTkxLjYzNjc4N10sIFszMS4yNzY4NiwgLTkxLjUxNjI5NF0sIFszMS42NDM4MTUsIC05MS40OTk4NjNdLCBbMzEuNjIxOTA3LCAtOTEuNDAxMjc4XSwgWzMxLjg0NjQ2MiwgLTkxLjM0MTAzMl0sIFszMS45ODg4NjIsIC05MS4xMDU1MjRdLCBbMzIuMjE4ODk0LCAtOTAuOTg1MDMxXSwgWzMyLjUxNDY0OSwgLTkxLjAwNjkzOV0sIFszMi42NDA2MTgsIC05MS4xNTQ4MTZdLCBbMzIuODQzMjY1LCAtOTEuMTQzODYyXSwgWzMyLjg4NzA4MSwgLTkxLjA3MjY2Ml0sIFszMy4wMDIwOTYsIC05MS4xNjU3N10sIFszMy4xMzkwMiwgLTkxLjA4OTA5M10sIFszMy4zNDcxNDQsIC05MS4xNDM4NjJdLCBbMzMuNDI5Mjk4LCAtOTEuMDU2MjMxXSwgWzMzLjU2MDc0NCwgLTkxLjIzMTQ5M10sIFszMy44Njc0NTMsIC05MS4wNzI2NjJdLCBbMzQuMDI2Mjg0LCAtOTAuODkxOTIzXSwgWzM0LjEzNTgyMywgLTkwLjk1MjE2OV0sIFszNC4zMDAxMzEsIC05MC43NDQwNDZdLCBbMzQuMzY1ODU0LCAtOTAuNzQ5NTIyXSwgWzM0LjQyMDYyNCwgLTkwLjU2ODc4M10sIFszNC42MTc3OTQsIC05MC41ODUyMTRdLCBbMzQuNjYxNjA5LCAtOTAuNDgxMTUyXSwgWzM0LjgzMTM5NCwgLTkwLjQwOTk1Ml0sIFszNC45MDgwNzIsIC05MC4yNTExMjFdLCBbMzQuOTk1NzAzLCAtOTAuMzExMzY3XSwgWzM0Ljk5NTcwMywgLTg4LjQ3MTExNV1dXSwKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAnI2ZmZmYwMCcsCiAgICAgICAgICAgICAgICAgICAgICAgIHdlaWdodDogMCwKICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgZmVhdHVyZV9ncm91cF9kNDk3NmNhOWZmYTI0OWVjOTVmMzdmYWUzZDFhNzMwMC5hZGRMYXllcihtdWx0aV9wb2x5Z29uXzhkZjFiMjhmY2FmZDRjYmM4NTg1YzRjMTA5ZTFlZmZhKTsKICAgICAgICAgICAgCiAgICAgICAgCiAgICAgICAgICAgIAogICAgICAgICAgICB2YXIgcG9wdXBfN2E5YTEyYzM0NWJmNGQ5MGIxZDM0ODMzYmY4NjExNzUgPSBMLnBvcHVwKHttYXhXaWR0aDogJzMwMCd9KTsKCiAgICAgICAgICAgIAogICAgICAgICAgICAgICAgdmFyIGh0bWxfYjMyYmY3NzFkYjViNDkzZDliMGJhNzYxZGNlOTM0M2QgPSAkKCcgICAgICAgICA8ZGl2IGlkPSJodG1sX2IzMmJmNzcxZGI1YjQ5M2Q5YjBiYTc2MWRjZTkzNDNkIiAgICAgICAgICAgICAgICAgc3R5bGU9IndpZHRoOiAxMDAuMCU7IGhlaWdodDogMTAwLjAlOyI+ICAgICAgICAgICAgICAgICBNaXNzaXNzaXBwaTwvZGl2PiAgICAgICAgICAgICAgICAgJylbMF07CiAgICAgICAgICAgICAgICBwb3B1cF83YTlhMTJjMzQ1YmY0ZDkwYjFkMzQ4MzNiZjg2MTE3NS5zZXRDb250ZW50KGh0bWxfYjMyYmY3NzFkYjViNDkzZDliMGJhNzYxZGNlOTM0M2QpOwogICAgICAgICAgICAKCiAgICAgICAgICAgIG11bHRpX3BvbHlnb25fOGRmMWIyOGZjYWZkNGNiYzg1ODVjNGMxMDllMWVmZmEuYmluZFBvcHVwKHBvcHVwXzdhOWExMmMzNDViZjRkOTBiMWQzNDgzM2JmODYxMTc1KTsKCiAgICAgICAgICAgIAogICAgICAgIAogICAgICAgIAogICAgICAgICAgICAKICAgICAgICAgICAgICAgIHZhciBtdWx0aV9wb2x5Z29uXzIwNDc2MmY0NzY1MDRmOWU5Y2Y2ZDY1NmU0MDM0OTFkID0gTC5tdWx0aVBvbHlnb24oCiAgICAgICAgICAgICAgICAgICAgW1tbNDAuNjA5NTY2LCAtOTEuODMzOTU3XSwgWzQwLjYxNTA0MywgLTkxLjcyOTg5NV0sIFs0MC40MTIzOTcsIC05MS41MjcyNDhdLCBbNDAuMzc5NTM1LCAtOTEuNDE3NzA5XSwgWzQwLjIzNzEzNSwgLTkxLjUwNTM0XSwgWzQwLjAzNDQ4OCwgLTkxLjQ5NDM4Nl0sIFszOS43Mjc3NzksIC05MS4zNjg0MTddLCBbMzkuNDcwMzYzLCAtOTEuMDYxNzA4XSwgWzM5LjI1Njc2MiwgLTkwLjcyNzYxNV0sIFszOC45MjgxNDYsIC05MC42NjE4OTFdLCBbMzguODY3ODk5LCAtOTAuNTg1MjE0XSwgWzM4Ljk2MTAwNywgLTkwLjQ3MDE5OV0sIFszOC45MTcxOTIsIC05MC4yNTExMjFdLCBbMzguODQ1OTkyLCAtOTAuMTA4NzJdLCBbMzguNzI1NDk5LCAtOTAuMjA3MzA1XSwgWzM4LjYzMjM5MSwgLTkwLjE3OTkyMV0sIFszOC4zNzQ5NzUsIC05MC4zNDk3MDZdLCBbMzguMjE2MTQ0LCAtOTAuMzU1MTgzXSwgWzM4LjAxMzQ5NywgLTkwLjA1OTQyOF0sIFszNy44ODIwNSwgLTg5Ljk0OTg4OV0sIFszNy45MDM5NTgsIC04OS44NDAzNV0sIFszNy42OTAzNTcsIC04OS41MTcyMTFdLCBbMzcuNTM3MDAzLCAtODkuNTE3MjExXSwgWzM3LjM0NTMxLCAtODkuNDM1MDU3XSwgWzM3LjI3OTU4NywgLTg5LjUxNzIxMV0sIFszNi45OTQ3ODYsIC04OS4yOTI2NTZdLCBbMzYuOTgzODMyLCAtODkuMTMzODI1XSwgWzM2LjU3ODUzOCwgLTg5LjIxNTk3OV0sIFszNi42MjIzNTQsIC04OS4zNjM4NTddLCBbMzYuNDk2Mzg0LCAtODkuNDE4NjI2XSwgWzM2LjQ5NjM4NCwgLTg5LjQ4NDM0OV0sIFszNi40OTYzODQsIC04OS41MzkxMTldLCBbMzYuMjQ5OTIyLCAtODkuNTMzNjQyXSwgWzM1Ljk5Nzk4MywgLTg5LjczMDgxMl0sIFszNS45OTc5ODMsIC05MC4zNzcwOTFdLCBbMzYuMTg0MTk5LCAtOTAuMjE4MjU5XSwgWzM2LjMwNDY5MSwgLTkwLjA2NDkwNV0sIFszNi40OTYzODQsIC05MC4xNTI1MzZdLCBbMzYuNTAxODYxLCAtOTQuNDczODQyXSwgWzM2LjUwMTg2MSwgLTk0LjYxNjI0Ml0sIFszNy4wMDAyNjMsIC05NC42MTYyNDJdLCBbMzkuMTU4MTc3LCAtOTQuNjEwNzY1XSwgWzM5LjIwNzQ3LCAtOTQuODI0MzY2XSwgWzM5LjQ0Mjk3OCwgLTk0Ljk4MzE5N10sIFszOS41NDE1NjMsIC05NS4xMDkxNjddLCBbMzkuODMxODQxLCAtOTQuODg0NjEyXSwgWzM5LjkwODUxOCwgLTk1LjIwNzc1Ml0sIFs0MC4wMDE2MjYsIC05NS4zMDYzMzddLCBbNDAuMjY0NTE5LCAtOTUuNTUyNzk5XSwgWzQwLjU4NzY1OSwgLTk1Ljc2NjRdLCBbNDAuNTcxMjI4LCAtOTQuNjMyNjczXSwgWzQwLjU4MjE4MiwgLTkzLjI1Nzk2MV0sIFs0MC42MDk1NjYsIC05MS44MzM5NTddXV0sCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJyNmZmZmMDAnLAogICAgICAgICAgICAgICAgICAgICAgICB3ZWlnaHQ6IDAsCiAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgIGZlYXR1cmVfZ3JvdXBfZDQ5NzZjYTlmZmEyNDllYzk1ZjM3ZmFlM2QxYTczMDAuYWRkTGF5ZXIobXVsdGlfcG9seWdvbl8yMDQ3NjJmNDc2NTA0ZjllOWNmNmQ2NTZlNDAzNDkxZCk7CiAgICAgICAgICAgIAogICAgICAgIAogICAgICAgICAgICAKICAgICAgICAgICAgdmFyIHBvcHVwXzc2NTZjZTVjNWM4ZDRmN2FiYTdkM2QzYzQ1MGViYTVjID0gTC5wb3B1cCh7bWF4V2lkdGg6ICczMDAnfSk7CgogICAgICAgICAgICAKICAgICAgICAgICAgICAgIHZhciBodG1sX2YxZTI2NTlmOTEwYzQzMDZhMzQ0Y2UxYTg2YjQ3OTQxID0gJCgnICAgICAgICAgPGRpdiBpZD0iaHRtbF9mMWUyNjU5ZjkxMGM0MzA2YTM0NGNlMWE4NmI0Nzk0MSIgICAgICAgICAgICAgICAgIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPiAgICAgICAgICAgICAgICAgTWlzc291cmk8L2Rpdj4gICAgICAgICAgICAgICAgICcpWzBdOwogICAgICAgICAgICAgICAgcG9wdXBfNzY1NmNlNWM1YzhkNGY3YWJhN2QzZDNjNDUwZWJhNWMuc2V0Q29udGVudChodG1sX2YxZTI2NTlmOTEwYzQzMDZhMzQ0Y2UxYTg2YjQ3OTQxKTsKICAgICAgICAgICAgCgogICAgICAgICAgICBtdWx0aV9wb2x5Z29uXzIwNDc2MmY0NzY1MDRmOWU5Y2Y2ZDY1NmU0MDM0OTFkLmJpbmRQb3B1cChwb3B1cF83NjU2Y2U1YzVjOGQ0ZjdhYmE3ZDNkM2M0NTBlYmE1Yyk7CgogICAgICAgICAgICAKICAgICAgICAKICAgICAgICAKICAgICAgICAgICAgCiAgICAgICAgICAgICAgICB2YXIgbXVsdGlfcG9seWdvbl8wNTRhYTY5YmM4Y2E0NzFjODkzNmYxNDZhMWExMzI5ZCA9IEwubXVsdGlQb2x5Z29uKAogICAgICAgICAgICAgICAgICAgIFtbWzQ5LjAwMDIzOSwgLTEwNC4wNDc1MzRdLCBbNDcuODYxMDM2LCAtMTA0LjA0MjA1N10sIFs0NS45NDQxMDYsIC0xMDQuMDQ3NTM0XSwgWzQ0Ljk5NjU5NiwgLTEwNC4wNDIwNTddLCBbNDQuOTk2NTk2LCAtMTA0LjA1ODQ4OF0sIFs0NS4wMDIwNzMsIC0xMDUuOTE1MTddLCBbNDUuMDAyMDczLCAtMTA5LjA4MDg0Ml0sIFs0NS4wMDIwNzMsIC0xMTEuMDUyNTRdLCBbNDQuNDc2Mjg2LCAtMTExLjA0NzA2M10sIFs0NC41ODAzNDgsIC0xMTEuMjI3ODAzXSwgWzQ0Ljc1NTYxLCAtMTExLjM4NjYzNF0sIFs0NC41NDc0ODcsIC0xMTEuNjE2NjY1XSwgWzQ0LjUwOTE0OCwgLTExMS44MTkzMTJdLCBbNDQuNTYzOTE3LCAtMTExLjg2ODYwNV0sIFs0NC41MjAxMDIsIC0xMTIuMTA0MTEzXSwgWzQ0LjU2OTM5NCwgLTExMi4yNDEwMzZdLCBbNDQuNDgxNzYzLCAtMTEyLjQ3MTA2OF0sIFs0NC40ODcyNCwgLTExMi43ODMyNTRdLCBbNDQuMzk0MTMyLCAtMTEyLjg4NzMxNV0sIFs0NC40NDg5MDIsIC0xMTMuMDAyMzMxXSwgWzQ0Ljc3MjA0MSwgLTExMy4xMzM3NzhdLCBbNDQuNzgyOTk1LCAtMTEzLjM0MTkwMV0sIFs0NC44NjUxNDksIC0xMTMuNDU2OTE3XSwgWzQ1LjA1Njg0MiwgLTExMy40NTE0NF0sIFs0NS4xMjgwNDIsIC0xMTMuNTcxOTMzXSwgWzQ1LjMzMDY4OSwgLTExMy43MzYyNDFdLCBbNDUuNTIyMzgyLCAtMTEzLjgzNDgyNl0sIFs0NS42MDQ1MzYsIC0xMTMuODA3NDQxXSwgWzQ1LjcwMzEyMSwgLTExMy45ODgxOF0sIFs0NS41OTM1ODIsIC0xMTQuMDg2NzY1XSwgWzQ1LjQ1NjY1OSwgLTExNC4zMzMyMjhdLCBbNDUuNTYwNzIxLCAtMTE0LjU0NjgyOF0sIFs0NS42NzAyNTksIC0xMTQuNDk3NTM2XSwgWzQ1Ljc3NDMyMSwgLTExNC41Njg3MzZdLCBbNDUuODgzODYsIC0xMTQuMzg3OTk3XSwgWzQ2LjAzNzIxNCwgLTExNC40OTIwNTldLCBbNDYuMjcyNzIzLCAtMTE0LjQ2NDY3NF0sIFs0Ni42NDUxNTUsIC0xMTQuMzIyMjc0XSwgWzQ2LjYzOTY3OCwgLTExNC42MTI1NTJdLCBbNDYuNzA1NDAxLCAtMTE0LjYyMzUwNl0sIFs0Ni44MDk0NjMsIC0xMTQuODg2Mzk5XSwgWzQ2LjkxOTAwMiwgLTExNC45MzAyMTRdLCBbNDcuMTg3MzcyLCAtMTE1LjMwMjY0Nl0sIFs0Ny4yNTg1NzIsIC0xMTUuMzI0NTU0XSwgWzQ3LjMwMjM4OCwgLTExNS41MjcyMDFdLCBbNDcuNDIyODgsIC0xMTUuNzE4ODk0XSwgWzQ3LjY5NjcyNywgLTExNS43MjQzNzFdLCBbNDcuOTc2MDUxLCAtMTE2LjA0NzUxXSwgWzQ5LjAwMDIzOSwgLTExNi4wNDc1MV0sIFs0OC45OTQ3NjIsIC0xMTEuNTAxNjVdLCBbNDkuMDAwMjM5LCAtMTA5LjQ1MzI3NF0sIFs0OS4wMDAyMzksIC0xMDQuMDQ3NTM0XV1dLAogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICcjZmZmZjAwJywKICAgICAgICAgICAgICAgICAgICAgICAgd2VpZ2h0OiAwLAogICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICBmZWF0dXJlX2dyb3VwX2Q0OTc2Y2E5ZmZhMjQ5ZWM5NWYzN2ZhZTNkMWE3MzAwLmFkZExheWVyKG11bHRpX3BvbHlnb25fMDU0YWE2OWJjOGNhNDcxYzg5MzZmMTQ2YTFhMTMyOWQpOwogICAgICAgICAgICAKICAgICAgICAKICAgICAgICAgICAgCiAgICAgICAgICAgIHZhciBwb3B1cF80OGNiMmY4NTZjOTQ0MDUwOTQ1ZjJhN2IwMWRlYTE2MCA9IEwucG9wdXAoe21heFdpZHRoOiAnMzAwJ30pOwoKICAgICAgICAgICAgCiAgICAgICAgICAgICAgICB2YXIgaHRtbF9kNDg1OTU3ZTBiY2E0ZjRiODM3ZTYxZWZmMWU0NjIzZSA9ICQoJyAgICAgICAgIDxkaXYgaWQ9Imh0bWxfZDQ4NTk1N2UwYmNhNGY0YjgzN2U2MWVmZjFlNDYyM2UiICAgICAgICAgICAgICAgICBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij4gICAgICAgICAgICAgICAgIE1vbnRhbmE8L2Rpdj4gICAgICAgICAgICAgICAgICcpWzBdOwogICAgICAgICAgICAgICAgcG9wdXBfNDhjYjJmODU2Yzk0NDA1MDk0NWYyYTdiMDFkZWExNjAuc2V0Q29udGVudChodG1sX2Q0ODU5NTdlMGJjYTRmNGI4MzdlNjFlZmYxZTQ2MjNlKTsKICAgICAgICAgICAgCgogICAgICAgICAgICBtdWx0aV9wb2x5Z29uXzA1NGFhNjliYzhjYTQ3MWM4OTM2ZjE0NmExYTEzMjlkLmJpbmRQb3B1cChwb3B1cF80OGNiMmY4NTZjOTQ0MDUwOTQ1ZjJhN2IwMWRlYTE2MCk7CgogICAgICAgICAgICAKICAgICAgICAKICAgICAgICAKICAgICAgICAgICAgCiAgICAgICAgICAgICAgICB2YXIgbXVsdGlfcG9seWdvbl8zZDMyMjQ3ZWZkNWQ0NGEyYmNjNDlkMGMxMTU5MDE5YiA9IEwubXVsdGlQb2x5Z29uKAogICAgICAgICAgICAgICAgICAgIFtbWzQzLjAwMjk4OSwgLTEwMy4zMjQ1NzhdLCBbNDIuOTk3NTEyLCAtMTAxLjYyNjcyNl0sIFs0Mi45OTc1MTIsIC05OC40OTkzOTNdLCBbNDIuOTQ4MjIsIC05OC40NjY1MzFdLCBbNDIuNzY3NDgxLCAtOTcuOTUxNjk5XSwgWzQyLjg2NjA2NiwgLTk3LjgzMTIwNl0sIFs0Mi44NDQxNTgsIC05Ny42ODg4MDZdLCBbNDIuODQ0MTU4LCAtOTcuMjE3Nzg5XSwgWzQyLjY1Nzk0MiwgLTk2LjY5MjAwM10sIFs0Mi41MTU1NDIsIC05Ni42MjYyNzldLCBbNDIuNDg4MTU3LCAtOTYuNDQ1NTRdLCBbNDIuMDM5MDQ4LCAtOTYuMjY0ODAxXSwgWzQxLjk3MzMyNSwgLTk2LjEyNzg3OF0sIFs0MS43OTgwNjMsIC05Ni4wNjIxNTVdLCBbNDEuNjc3NTcsIC05Ni4xMjI0MDFdLCBbNDEuNTQwNjQ2LCAtOTYuMDk1MDE2XSwgWzQxLjQ1MzAxNSwgLTk1LjkxOTc1NF0sIFs0MS4yMDEwNzYsIC05NS45MjUyMzFdLCBbNDAuOTc2NTIxLCAtOTUuODI2NjQ2XSwgWzQwLjcxOTEwNSwgLTk1Ljg4MTQxNl0sIFs0MC41ODc2NTksIC05NS43NjY0XSwgWzQwLjI2NDUxOSwgLTk1LjU1Mjc5OV0sIFs0MC4wMDE2MjYsIC05NS4zMDYzMzddLCBbNDAuMDAxNjI2LCAtMTAxLjkwNjA1XSwgWzQwLjAwMTYyNiwgLTEwMi4wNTM5MjddLCBbNDEuMDAzOTA2LCAtMTAyLjA1MzkyN10sIFs0MS4wMDM5MDYsIC0xMDQuMDUzMDExXSwgWzQzLjAwMjk4OSwgLTEwNC4wNTMwMTFdLCBbNDMuMDAyOTg5LCAtMTAzLjMyNDU3OF1dXSwKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAnZ3JlZW4nLAogICAgICAgICAgICAgICAgICAgICAgICB3ZWlnaHQ6IDAsCiAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgIGZlYXR1cmVfZ3JvdXBfZDQ5NzZjYTlmZmEyNDllYzk1ZjM3ZmFlM2QxYTczMDAuYWRkTGF5ZXIobXVsdGlfcG9seWdvbl8zZDMyMjQ3ZWZkNWQ0NGEyYmNjNDlkMGMxMTU5MDE5Yik7CiAgICAgICAgICAgIAogICAgICAgIAogICAgICAgICAgICAKICAgICAgICAgICAgdmFyIHBvcHVwXzNkNDE3ZmYzMTZkOTQwNzdhN2Y1ZTY3YWVkZDgzZTM3ID0gTC5wb3B1cCh7bWF4V2lkdGg6ICczMDAnfSk7CgogICAgICAgICAgICAKICAgICAgICAgICAgICAgIHZhciBodG1sX2FiMmI2OGJiMTdlNzQyM2JhZGUxODliMTQwZWMwOWJmID0gJCgnICAgICAgICAgPGRpdiBpZD0iaHRtbF9hYjJiNjhiYjE3ZTc0MjNiYWRlMTg5YjE0MGVjMDliZiIgICAgICAgICAgICAgICAgIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPiAgICAgICAgICAgICAgICAgTmVicmFza2E8L2Rpdj4gICAgICAgICAgICAgICAgICcpWzBdOwogICAgICAgICAgICAgICAgcG9wdXBfM2Q0MTdmZjMxNmQ5NDA3N2E3ZjVlNjdhZWRkODNlMzcuc2V0Q29udGVudChodG1sX2FiMmI2OGJiMTdlNzQyM2JhZGUxODliMTQwZWMwOWJmKTsKICAgICAgICAgICAgCgogICAgICAgICAgICBtdWx0aV9wb2x5Z29uXzNkMzIyNDdlZmQ1ZDQ0YTJiY2M0OWQwYzExNTkwMTliLmJpbmRQb3B1cChwb3B1cF8zZDQxN2ZmMzE2ZDk0MDc3YTdmNWU2N2FlZGQ4M2UzNyk7CgogICAgICAgICAgICAKICAgICAgICAKICAgICAgICAKICAgICAgICAgICAgCiAgICAgICAgICAgICAgICB2YXIgbXVsdGlfcG9seWdvbl9hYWRmMWQ0ZjAxMTc0YWE1OTA4ZDliYTVmMzQxODQ4YyA9IEwubXVsdGlQb2x5Z29uKAogICAgICAgICAgICAgICAgICAgIFtbWzQyLjAwMDcwOSwgLTExNy4wMjc4ODJdLCBbNDEuOTk1MjMyLCAtMTE0LjA0Mjk1XSwgWzM3LjAwMDI2MywgLTExNC4wNDg0MjddLCBbMzYuMTk1MTUzLCAtMTE0LjA0ODQyN10sIFszNi4wMjUzNjcsIC0xMTQuMTUyNDg5XSwgWzM2LjAxOTg5LCAtMTE0LjI1MTA3NF0sIFszNi4xNDAzODMsIC0xMTQuMzcxNTY2XSwgWzM2LjEwMjA0NSwgLTExNC43Mzg1MjFdLCBbMzUuNTE2MDEyLCAtMTE0LjY3ODI3NV0sIFszNS4zMjQzMTksIC0xMTQuNTk2MTIxXSwgWzM1LjEzODEwMywgLTExNC41NzQyMTNdLCBbMzUuMDAxMTgsIC0xMTQuNjM0NDU5XSwgWzM1Ljk3MDU5OCwgLTExNS44NTAzNF0sIFszNi41MDE4NjEsIC0xMTYuNTQwNDM1XSwgWzM3LjIxOTM0LCAtMTE3LjQ5ODg5OV0sIFszOC4xMDExMjgsIC0xMTguNzE0NzhdLCBbMzguOTk5MzQ2LCAtMTIwLjAwMTg2MV0sIFs0MC4yNjQ1MTksIC0xMTkuOTk2Mzg0XSwgWzQxLjk5NTIzMiwgLTEyMC4wMDE4NjFdLCBbNDEuOTg5NzU1LCAtMTE4LjY5ODM0OV0sIFs0Mi4wMDA3MDksIC0xMTcuMDI3ODgyXV1dLAogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICdncmVlbicsCiAgICAgICAgICAgICAgICAgICAgICAgIHdlaWdodDogMCwKICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgZmVhdHVyZV9ncm91cF9kNDk3NmNhOWZmYTI0OWVjOTVmMzdmYWUzZDFhNzMwMC5hZGRMYXllcihtdWx0aV9wb2x5Z29uX2FhZGYxZDRmMDExNzRhYTU5MDhkOWJhNWYzNDE4NDhjKTsKICAgICAgICAgICAgCiAgICAgICAgCiAgICAgICAgICAgIAogICAgICAgICAgICB2YXIgcG9wdXBfMzdhOWM2NGVkYmU5NGIzNDk0OGJlMWNmMDI5YTYwMjggPSBMLnBvcHVwKHttYXhXaWR0aDogJzMwMCd9KTsKCiAgICAgICAgICAgIAogICAgICAgICAgICAgICAgdmFyIGh0bWxfMjVlN2M1Mzc0MjQ2NGYyNmEwM2UyNGFlMzYyMzExNDkgPSAkKCcgICAgICAgICA8ZGl2IGlkPSJodG1sXzI1ZTdjNTM3NDI0NjRmMjZhMDNlMjRhZTM2MjMxMTQ5IiAgICAgICAgICAgICAgICAgc3R5bGU9IndpZHRoOiAxMDAuMCU7IGhlaWdodDogMTAwLjAlOyI+ICAgICAgICAgICAgICAgICBOZXZhZGE8L2Rpdj4gICAgICAgICAgICAgICAgICcpWzBdOwogICAgICAgICAgICAgICAgcG9wdXBfMzdhOWM2NGVkYmU5NGIzNDk0OGJlMWNmMDI5YTYwMjguc2V0Q29udGVudChodG1sXzI1ZTdjNTM3NDI0NjRmMjZhMDNlMjRhZTM2MjMxMTQ5KTsKICAgICAgICAgICAgCgogICAgICAgICAgICBtdWx0aV9wb2x5Z29uX2FhZGYxZDRmMDExNzRhYTU5MDhkOWJhNWYzNDE4NDhjLmJpbmRQb3B1cChwb3B1cF8zN2E5YzY0ZWRiZTk0YjM0OTQ4YmUxY2YwMjlhNjAyOCk7CgogICAgICAgICAgICAKICAgICAgICAKICAgICAgICAKICAgICAgICAgICAgCiAgICAgICAgICAgICAgICB2YXIgbXVsdGlfcG9seWdvbl9lNDNkZDg1Y2EwM2Q0NjRhOWFiNjhhNjlkZTVlZmZmMiA9IEwubXVsdGlQb2x5Z29uKAogICAgICAgICAgICAgICAgICAgIFtbWzQ1LjMwMzMwNCwgLTcxLjA4MTgzXSwgWzQ0LjY1NzAyNSwgLTcxLjAzMjUzN10sIFs0My4zNDI1NiwgLTcwLjk2NjgxNF0sIFs0My4yMjc1NDQsIC03MC44MDc5ODNdLCBbNDMuMTI4OTU5LCAtNzAuODI0NDEzXSwgWzQzLjA1Nzc1OSwgLTcwLjcwMzkyMV0sIFs0Mi44NzE1NDMsIC03MC44MTg5MzZdLCBbNDIuODg3OTc0LCAtNzAuOTE3NTIxXSwgWzQyLjc4OTM4OSwgLTcxLjE4NTg5MV0sIFs0Mi42OTYyODEsIC03MS4yOTU0M10sIFs0Mi43MjkxNDIsIC03Mi40NTY1NDJdLCBbNDIuODA1ODIsIC03Mi41NDQxNzNdLCBbNDIuOTUzNjk3LCAtNzIuNTMzMjE5XSwgWzQzLjAwODQ2NiwgLTcyLjQ0NTU4OF0sIFs0My4xNTA4NjcsIC03Mi40NTY1NDJdLCBbNDMuNTcyNTkxLCAtNzIuMzc5ODY0XSwgWzQzLjc2OTc2MSwgLTcyLjIwNDYwMl0sIFs0My45OTQzMTYsIC03Mi4xMTY5NzFdLCBbNDQuMDc2NDcsIC03Mi4wMjkzNF0sIFs0NC4zMjI5MzIsIC03Mi4wMzQ4MTddLCBbNDQuNDE2MDQsIC03MS43MDA3MjRdLCBbNDQuNTg1ODI1LCAtNzEuNTM2NDE2XSwgWzQ0Ljc1MDEzMywgLTcxLjYyOTUyNF0sIFs0NC45MTQ0NDIsIC03MS40OTI2XSwgWzQ1LjAxMzAyNywgLTcxLjUwMzU1NF0sIFs0NS4yNzA0NDMsIC03MS4zNjExNTRdLCBbNDUuMjQzMDU4LCAtNzEuMTMxMTIyXSwgWzQ1LjMwMzMwNCwgLTcxLjA4MTgzXV1dLAogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICdncmVlbicsCiAgICAgICAgICAgICAgICAgICAgICAgIHdlaWdodDogMCwKICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgZmVhdHVyZV9ncm91cF9kNDk3NmNhOWZmYTI0OWVjOTVmMzdmYWUzZDFhNzMwMC5hZGRMYXllcihtdWx0aV9wb2x5Z29uX2U0M2RkODVjYTAzZDQ2NGE5YWI2OGE2OWRlNWVmZmYyKTsKICAgICAgICAgICAgCiAgICAgICAgCiAgICAgICAgICAgIAogICAgICAgICAgICB2YXIgcG9wdXBfM2E1OTlkODQxMGZlNGIyNWEzNzU3NWViYjVkNzE2YWIgPSBMLnBvcHVwKHttYXhXaWR0aDogJzMwMCd9KTsKCiAgICAgICAgICAgIAogICAgICAgICAgICAgICAgdmFyIGh0bWxfYTJkYzA5ODU5N2NkNDYzYjhhODQ3YWM0ZjJhNWM4YWEgPSAkKCcgICAgICAgICA8ZGl2IGlkPSJodG1sX2EyZGMwOTg1OTdjZDQ2M2I4YTg0N2FjNGYyYTVjOGFhIiAgICAgICAgICAgICAgICAgc3R5bGU9IndpZHRoOiAxMDAuMCU7IGhlaWdodDogMTAwLjAlOyI+ICAgICAgICAgICAgICAgICBOZXcgSGFtcHNoaXJlPC9kaXY+ICAgICAgICAgICAgICAgICAnKVswXTsKICAgICAgICAgICAgICAgIHBvcHVwXzNhNTk5ZDg0MTBmZTRiMjVhMzc1NzVlYmI1ZDcxNmFiLnNldENvbnRlbnQoaHRtbF9hMmRjMDk4NTk3Y2Q0NjNiOGE4NDdhYzRmMmE1YzhhYSk7CiAgICAgICAgICAgIAoKICAgICAgICAgICAgbXVsdGlfcG9seWdvbl9lNDNkZDg1Y2EwM2Q0NjRhOWFiNjhhNjlkZTVlZmZmMi5iaW5kUG9wdXAocG9wdXBfM2E1OTlkODQxMGZlNGIyNWEzNzU3NWViYjVkNzE2YWIpOwoKICAgICAgICAgICAgCiAgICAgICAgCiAgICAgICAgCiAgICAgICAgICAgIAogICAgICAgICAgICAgICAgdmFyIG11bHRpX3BvbHlnb25fN2U2OGY0NWEzZTQ1NGE3ZWFjYzYwMjcyMDE0YmVkMzYgPSBMLm11bHRpUG9seWdvbigKICAgICAgICAgICAgICAgICAgICBbW1s0MS4xNDA4MywgLTc0LjIzNjU0N10sIFs0MC45OTg0MjksIC03My45MDI0NTRdLCBbNDAuNzA4MTUxLCAtNzQuMDIyOTQ3XSwgWzQwLjY0MjQyOCwgLTc0LjE4NzI1NV0sIFs0MC40ODkwNzQsIC03NC4yNzQ4ODZdLCBbNDAuNDEyMzk3LCAtNzQuMDAxMDM5XSwgWzQwLjI5NzM4MSwgLTczLjk3OTEzMV0sIFszOS43NjA2NDEsIC03NC4wOTk2MjRdLCBbMzkuMzYwODI0LCAtNzQuNDExODA5XSwgWzM5LjI0NTgwOCwgLTc0LjYxNDQ1Nl0sIFszOC45OTM4NjksIC03NC43OTUxOTVdLCBbMzkuMTU4MTc3LCAtNzQuODg4MzAzXSwgWzM5LjI0MDMzMSwgLTc1LjE3ODU4MV0sIFszOS40NTk0MDksIC03NS41MzQ1ODJdLCBbMzkuNjA3Mjg2LCAtNzUuNTU2NDldLCBbMzkuNjI5MTk0LCAtNzUuNTYxOTY3XSwgWzM5LjY4Mzk2NCwgLTc1LjUwNzE5N10sIFszOS44MDQ0NTYsIC03NS40MTQwODldLCBbMzkuODg2NjEsIC03NS4xNDU3MTldLCBbMzkuOTYzMjg4LCAtNzUuMTI5Mjg5XSwgWzQwLjEyNzU5NiwgLTc0LjgyMjU4XSwgWzQwLjIxNTIyNywgLTc0Ljc3MzI4N10sIFs0MC40MTc4NzQsIC03NS4wNTgwODhdLCBbNDAuNTQzODQzLCAtNzUuMDY5MDQyXSwgWzQwLjU3NjcwNSwgLTc1LjE5NTAxMl0sIFs0MC42OTE3MjEsIC03NS4yMDU5NjZdLCBbNDAuODY2OTgzLCAtNzUuMDUyNjExXSwgWzQwLjk3MTA0NSwgLTc1LjEzNDc2NV0sIFs0MS4xNzkxNjgsIC03NC44ODI4MjZdLCBbNDEuMjg4NzA3LCAtNzQuODI4MDU3XSwgWzQxLjM1OTkwNywgLTc0LjY5NjYxXSwgWzQxLjE0MDgzLCAtNzQuMjM2NTQ3XV1dLAogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICdncmVlbicsCiAgICAgICAgICAgICAgICAgICAgICAgIHdlaWdodDogMCwKICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgZmVhdHVyZV9ncm91cF9kNDk3NmNhOWZmYTI0OWVjOTVmMzdmYWUzZDFhNzMwMC5hZGRMYXllcihtdWx0aV9wb2x5Z29uXzdlNjhmNDVhM2U0NTRhN2VhY2M2MDI3MjAxNGJlZDM2KTsKICAgICAgICAgICAgCiAgICAgICAgCiAgICAgICAgICAgIAogICAgICAgICAgICB2YXIgcG9wdXBfMzY0ODgxMjg4NTlhNGNkYzgxZTMxOGJmODhmNjU4ODYgPSBMLnBvcHVwKHttYXhXaWR0aDogJzMwMCd9KTsKCiAgICAgICAgICAgIAogICAgICAgICAgICAgICAgdmFyIGh0bWxfZDcwYjI2ZDQzNDBkNGZkZWIyN2RhNWRjN2M3OTUzODEgPSAkKCcgICAgICAgICA8ZGl2IGlkPSJodG1sX2Q3MGIyNmQ0MzQwZDRmZGViMjdkYTVkYzdjNzk1MzgxIiAgICAgICAgICAgICAgICAgc3R5bGU9IndpZHRoOiAxMDAuMCU7IGhlaWdodDogMTAwLjAlOyI+ICAgICAgICAgICAgICAgICBOZXcgSmVyc2V5PC9kaXY+ICAgICAgICAgICAgICAgICAnKVswXTsKICAgICAgICAgICAgICAgIHBvcHVwXzM2NDg4MTI4ODU5YTRjZGM4MWUzMThiZjg4ZjY1ODg2LnNldENvbnRlbnQoaHRtbF9kNzBiMjZkNDM0MGQ0ZmRlYjI3ZGE1ZGM3Yzc5NTM4MSk7CiAgICAgICAgICAgIAoKICAgICAgICAgICAgbXVsdGlfcG9seWdvbl83ZTY4ZjQ1YTNlNDU0YTdlYWNjNjAyNzIwMTRiZWQzNi5iaW5kUG9wdXAocG9wdXBfMzY0ODgxMjg4NTlhNGNkYzgxZTMxOGJmODhmNjU4ODYpOwoKICAgICAgICAgICAgCiAgICAgICAgCiAgICAgICAgCiAgICAgICAgICAgIAogICAgICAgICAgICAgICAgdmFyIG11bHRpX3BvbHlnb25fZmE0ODkzMDFiMjdjNDM0ZGIxZTY0NzYzNzU3YmQ5NjEgPSBMLm11bHRpUG9seWdvbigKICAgICAgICAgICAgICAgICAgICBbW1szNy4wMDAyNjMsIC0xMDcuNDIxMzI5XSwgWzM2Ljk5NDc4NiwgLTEwNi44NjgxNThdLCBbMzYuOTk0Nzg2LCAtMTA0LjMzNzgxMl0sIFszNy4wMDAyNjMsIC0xMDMuMDAxNDM4XSwgWzM2LjUwMTg2MSwgLTEwMy4wMDE0MzhdLCBbMzYuNTAxODYxLCAtMTAzLjAzOTc3N10sIFszNC4wMTUzMywgLTEwMy4wNDUyNTRdLCBbMzMuMDAyMDk2LCAtMTAzLjA2NzE2MV0sIFszMS45OTk4MTYsIC0xMDMuMDY3MTYxXSwgWzMxLjk5OTgxNiwgLTEwNi42MTYyMTldLCBbMzEuOTAxMjMxLCAtMTA2LjY0MzYwM10sIFszMS43ODYyMTYsIC0xMDYuNTI4NTg4XSwgWzMxLjc4NjIxNiwgLTEwOC4yMTAwMDhdLCBbMzEuMzMxNjI5LCAtMTA4LjIxMDAwOF0sIFszMS4zMzE2MjksIC0xMDkuMDQ3OThdLCBbMzcuMDAwMjYzLCAtMTA5LjA0MjUwM10sIFszNy4wMDAyNjMsIC0xMDcuNDIxMzI5XV1dLAogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICdncmVlbicsCiAgICAgICAgICAgICAgICAgICAgICAgIHdlaWdodDogMCwKICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgZmVhdHVyZV9ncm91cF9kNDk3NmNhOWZmYTI0OWVjOTVmMzdmYWUzZDFhNzMwMC5hZGRMYXllcihtdWx0aV9wb2x5Z29uX2ZhNDg5MzAxYjI3YzQzNGRiMWU2NDc2Mzc1N2JkOTYxKTsKICAgICAgICAgICAgCiAgICAgICAgCiAgICAgICAgICAgIAogICAgICAgICAgICB2YXIgcG9wdXBfMjQ4MGRkZmQ2N2MxNGE2OWE1YmVkY2RkNTM2MTZlNTUgPSBMLnBvcHVwKHttYXhXaWR0aDogJzMwMCd9KTsKCiAgICAgICAgICAgIAogICAgICAgICAgICAgICAgdmFyIGh0bWxfZDBmN2Y4NDJiMTI5NDk0ODk0N2NhZjY5OThkZDQzYmUgPSAkKCcgICAgICAgICA8ZGl2IGlkPSJodG1sX2QwZjdmODQyYjEyOTQ5NDg5NDdjYWY2OTk4ZGQ0M2JlIiAgICAgICAgICAgICAgICAgc3R5bGU9IndpZHRoOiAxMDAuMCU7IGhlaWdodDogMTAwLjAlOyI+ICAgICAgICAgICAgICAgICBOZXcgTWV4aWNvPC9kaXY+ICAgICAgICAgICAgICAgICAnKVswXTsKICAgICAgICAgICAgICAgIHBvcHVwXzI0ODBkZGZkNjdjMTRhNjlhNWJlZGNkZDUzNjE2ZTU1LnNldENvbnRlbnQoaHRtbF9kMGY3Zjg0MmIxMjk0OTQ4OTQ3Y2FmNjk5OGRkNDNiZSk7CiAgICAgICAgICAgIAoKICAgICAgICAgICAgbXVsdGlfcG9seWdvbl9mYTQ4OTMwMWIyN2M0MzRkYjFlNjQ3NjM3NTdiZDk2MS5iaW5kUG9wdXAocG9wdXBfMjQ4MGRkZmQ2N2MxNGE2OWE1YmVkY2RkNTM2MTZlNTUpOwoKICAgICAgICAgICAgCiAgICAgICAgCiAgICAgICAgCiAgICAgICAgICAgIAogICAgICAgICAgICAgICAgdmFyIG11bHRpX3BvbHlnb25fZmE1MTg2YmJlYjdkNDI5YjljYWU4ZTY1NjA3NGIwMDggPSBMLm11bHRpUG9seWdvbigKICAgICAgICAgICAgICAgICAgICBbW1s0NS4wMTMwMjcsIC03My4zNDM4MDZdLCBbNDQuODA0OTAzLCAtNzMuMzMyODUyXSwgWzQ0LjYxODY4NywgLTczLjM4NzYyMl0sIFs0NC40Mzc5NDgsIC03My4yOTQ1MTRdLCBbNDQuMjQ2MjU1LCAtNzMuMzIxODk4XSwgWzQ0LjA0MzYwOCwgLTczLjQzNjkxNF0sIFs0My43Njk3NjEsIC03My4zNDkyODNdLCBbNDMuNjg3NjA3LCAtNzMuNDA0MDUyXSwgWzQzLjUyMzI5OSwgLTczLjI0NTIyMV0sIFs0Mi44MzMyMDQsIC03My4yNzgwODNdLCBbNDIuNzQ1NTczLCAtNzMuMjY3MTI5XSwgWzQyLjA4ODM0LCAtNzMuNTA4MTE0XSwgWzQyLjA1MDAwMiwgLTczLjQ4NjIwNl0sIFs0MS4yOTQxODQsIC03My41NTE5M10sIFs0MS4yMTIwMywgLTczLjQ4MDczXSwgWzQxLjEwMjQ5MSwgLTczLjcyNzE5Ml0sIFs0MC45ODc0NzUsIC03My42NTU5OTJdLCBbNDAuOTA1MzIxLCAtNzMuMjI4NzldLCBbNDAuOTY1NTY4LCAtNzMuMTQxMTU5XSwgWzQwLjk2NTU2OCwgLTcyLjc3NDIwNF0sIFs0MC45OTg0MjksIC03Mi41ODc5ODhdLCBbNDEuMTU3MjYxLCAtNzIuMjgxMjhdLCBbNDEuMDQyMjQ1LCAtNzIuMjU5MzcyXSwgWzQwLjk5Mjk1MiwgLTcyLjEwMDU0MV0sIFs0MC44NDUwNzUsIC03Mi40Njc0OTZdLCBbNDAuNjI1OTk3LCAtNzMuMjM5NzQ0XSwgWzQwLjU4MjE4MiwgLTczLjU2Mjg4NF0sIFs0MC41OTMxMzYsIC03My43NzY0ODRdLCBbNDAuNTQzODQzLCAtNzMuOTM1MzE2XSwgWzQwLjcwODE1MSwgLTc0LjAyMjk0N10sIFs0MC45OTg0MjksIC03My45MDI0NTRdLCBbNDEuMTQwODMsIC03NC4yMzY1NDddLCBbNDEuMzU5OTA3LCAtNzQuNjk2NjFdLCBbNDEuNDMxMTA4LCAtNzQuNzQwNDI2XSwgWzQxLjQzNjU4NCwgLTc0Ljg5Mzc4XSwgWzQxLjYwNjM3LCAtNzUuMDc0NTE5XSwgWzQxLjc1NDI0NywgLTc1LjA1MjYxMV0sIFs0MS44NjkyNjMsIC03NS4xNzMxMDRdLCBbNDEuODYzNzg2LCAtNzUuMjQ5NzgxXSwgWzQyLjAwMDcwOSwgLTc1LjM1OTMyXSwgWzQyLjAwMDcwOSwgLTc5Ljc2Mjc4XSwgWzQyLjI1MjY0OSwgLTc5Ljc2Mjc4XSwgWzQyLjI2OTA3OSwgLTc5Ljc2Mjc4XSwgWzQyLjU1Mzg4LCAtNzkuMTQ5MzYzXSwgWzQyLjY5MDgwNCwgLTc5LjA1MDc3OF0sIFs0Mi43ODM5MTIsIC03OC44NTM2MDhdLCBbNDIuOTUzNjk3LCAtNzguOTMwMjg1XSwgWzQyLjk4NjU1OSwgLTc5LjAxMjQzOV0sIFs0My4yNjA0MDYsIC03OS4wNzI2ODZdLCBbNDMuMzc1NDIxLCAtNzguNDg2NjUzXSwgWzQzLjM2OTk0NCwgLTc3Ljk2NjM0NF0sIFs0My4zNDI1NiwgLTc3Ljc1ODIyXSwgWzQzLjIzMzAyMSwgLTc3LjUzMzY2NV0sIFs0My4yNzY4MzYsIC03Ny4zOTEyNjVdLCBbNDMuMjcxMzU5LCAtNzYuOTU4NTg3XSwgWzQzLjM0MjU2LCAtNzYuNjk1NjkzXSwgWzQzLjUyMzI5OSwgLTc2LjQxNjM3XSwgWzQzLjUyODc3NiwgLTc2LjIzNTYzMV0sIFs0My44MDI2MjMsIC03Ni4yMzAxNTRdLCBbNDMuOTYxNDU0LCAtNzYuMTM3MDQ2XSwgWzQ0LjA3MDk5MywgLTc2LjM2MTZdLCBbNDQuMTk2OTYyLCAtNzYuMzEyMzA4XSwgWzQ0LjM2Njc0OCwgLTc1LjkxMjQ5MV0sIFs0NC41MTQ2MjUsIC03NS43NjQ2MTRdLCBbNDQuODQ4NzE4LCAtNzUuMjgyNjQzXSwgWzQ1LjAxODUwMywgLTc0LjgyODA1N10sIFs0NC45OTExMTksIC03NC4xNDg5MTZdLCBbNDUuMDEzMDI3LCAtNzMuMzQzODA2XV1dLAogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICdncmVlbicsCiAgICAgICAgICAgICAgICAgICAgICAgIHdlaWdodDogMCwKICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgZmVhdHVyZV9ncm91cF9kNDk3NmNhOWZmYTI0OWVjOTVmMzdmYWUzZDFhNzMwMC5hZGRMYXllcihtdWx0aV9wb2x5Z29uX2ZhNTE4NmJiZWI3ZDQyOWI5Y2FlOGU2NTYwNzRiMDA4KTsKICAgICAgICAgICAgCiAgICAgICAgCiAgICAgICAgICAgIAogICAgICAgICAgICB2YXIgcG9wdXBfZTZkM2FlNjliZWVlNGI3ZThiMWMwZjQ5NjIwNjg1MGUgPSBMLnBvcHVwKHttYXhXaWR0aDogJzMwMCd9KTsKCiAgICAgICAgICAgIAogICAgICAgICAgICAgICAgdmFyIGh0bWxfNjQxNTQyYTJhOTc2NDFkNWFiZDY3NjMxN2E1MTcxNzMgPSAkKCcgICAgICAgICA8ZGl2IGlkPSJodG1sXzY0MTU0MmEyYTk3NjQxZDVhYmQ2NzYzMTdhNTE3MTczIiAgICAgICAgICAgICAgICAgc3R5bGU9IndpZHRoOiAxMDAuMCU7IGhlaWdodDogMTAwLjAlOyI+ICAgICAgICAgICAgICAgICBOZXcgWW9yazwvZGl2PiAgICAgICAgICAgICAgICAgJylbMF07CiAgICAgICAgICAgICAgICBwb3B1cF9lNmQzYWU2OWJlZWU0YjdlOGIxYzBmNDk2MjA2ODUwZS5zZXRDb250ZW50KGh0bWxfNjQxNTQyYTJhOTc2NDFkNWFiZDY3NjMxN2E1MTcxNzMpOwogICAgICAgICAgICAKCiAgICAgICAgICAgIG11bHRpX3BvbHlnb25fZmE1MTg2YmJlYjdkNDI5YjljYWU4ZTY1NjA3NGIwMDguYmluZFBvcHVwKHBvcHVwX2U2ZDNhZTY5YmVlZTRiN2U4YjFjMGY0OTYyMDY4NTBlKTsKCiAgICAgICAgICAgIAogICAgICAgIAogICAgICAgIAogICAgICAgICAgICAKICAgICAgICAgICAgICAgIHZhciBtdWx0aV9wb2x5Z29uXzY5MTczYjMyZDU3MTQyOGM4MzRiYzgwNDQwYzEwMmMzID0gTC5tdWx0aVBvbHlnb24oCiAgICAgICAgICAgICAgICAgICAgW1tbMzYuNTYyMTA4LCAtODAuOTc4NjYxXSwgWzM2LjU0NTY3NywgLTgwLjI5NDA0M10sIFszNi41NDAyLCAtNzkuNTEwODQxXSwgWzM2LjU1MTE1NCwgLTc1Ljg2ODY3Nl0sIFszNi4xNTEzMzcsIC03NS43NTM2Nl0sIFszNi4xODk2NzYsIC03Ni4wMzI5ODRdLCBbMzYuMTQwMzgzLCAtNzYuMDcxMzIyXSwgWzM2LjA4MDEzNywgLTc2LjQxMDg5M10sIFszNi4wMjUzNjcsIC03Ni40NjAxODVdLCBbMzYuMDA4OTM3LCAtNzYuNjg0NzRdLCBbMzUuOTM3NzM2LCAtNzYuNjczNzg2XSwgWzM1Ljk4NzAyOSwgLTc2LjM5OTkzOV0sIFszNS45NDMyMTMsIC03Ni4zNjE2XSwgWzM1Ljk5MjUwNiwgLTc2LjA2MDM2OF0sIFszNS44OTkzOTgsIC03NS45NjE3ODNdLCBbMzUuOTM3NzM2LCAtNzUuNzgxMDQ0XSwgWzM1LjY5Njc1MSwgLTc1LjcxNTMyMV0sIFszNS41ODE3MzUsIC03NS43NzU1NjhdLCBbMzUuNTcwNzgxLCAtNzUuODk2MDZdLCBbMzUuMzI0MzE5LCAtNzYuMTQ3OTk5XSwgWzM1LjMxMzM2NSwgLTc2LjQ4MjA5M10sIFszNS4xNDM1OCwgLTc2LjUzNjg2Ml0sIFszNC45NzM3OTUsIC03Ni4zOTQ0NjJdLCBbMzQuOTQwOTMzLCAtNzYuMjc5NDQ2XSwgWzM0LjY2MTYwOSwgLTc2LjQ5MzA0N10sIFszNC42OTQ0NzEsIC03Ni42NzM3ODZdLCBbMzQuNjY3MDg2LCAtNzYuOTkxNDQ4XSwgWzM0LjYwNjg0LCAtNzcuMjEwNTI2XSwgWzM0LjQxNTE0NywgLTc3LjU1NTU3M10sIFszNC4xNjMyMDgsIC03Ny44Mjk0Ml0sIFszMy44NDU1NDUsIC03Ny45NzE4MjFdLCBbMzMuOTE2NzQ1LCAtNzguMTc5OTQ0XSwgWzMzLjg1MTAyMiwgLTc4LjU0MTQyMl0sIFszNC44MDQwMSwgLTc5LjY3NTE0OV0sIFszNC44MjA0NDEsIC04MC43OTc5MjJdLCBbMzQuOTM1NDU2LCAtODAuNzgxNDkxXSwgWzM1LjEwNTI0MSwgLTgwLjkzNDg0NV0sIFszNS4wNDQ5OTUsIC04MS4wMzg5MDddLCBbMzUuMTQ5MDU3LCAtODEuMDQ0Mzg0XSwgWzM1LjE5ODM0OSwgLTgyLjI3NjY5Nl0sIFszNS4xNjAwMTEsIC04Mi41NTA1NDNdLCBbMzUuMDY2OTAzLCAtODIuNzY0MTQzXSwgWzM1LjAwMTE4LCAtODMuMTA5MTkxXSwgWzM0Ljk4NDc0OSwgLTgzLjYxODU0Nl0sIFszNC45OTAyMjYsIC04NC4zMTk1OTRdLCBbMzUuMjI1NzM0LCAtODQuMjkyMjFdLCBbMzUuMjQ3NjQyLCAtODQuMDk1MDRdLCBbMzUuNDExOTUsIC04NC4wMTgzNjNdLCBbMzUuNTU5ODI3LCAtODMuNzcxOV0sIFszNS41NjUzMDQsIC04My40OTgwNTNdLCBbMzUuNzE4NjU5LCAtODMuMjUxNTkxXSwgWzM1Ljc3MzQyOCwgLTgyLjk5NDE3NV0sIFszNS45OTc5ODMsIC04Mi43NzUwOTddLCBbMzYuMDYzNzA2LCAtODIuNjM4MTc0XSwgWzM1Ljk2NTEyMSwgLTgyLjYxMDc4OV0sIFszNi4xNTY4MTQsIC04Mi4yMTY0NDldLCBbMzYuMTE4NDc1LCAtODIuMDM1NzFdLCBbMzYuMzA0NjkxLCAtODEuOTA5NzQxXSwgWzM2LjM1Mzk4NCwgLTgxLjcyMzUyNV0sIFszNi41ODk0OTIsIC04MS42Nzk3MDldLCBbMzYuNTYyMTA4LCAtODAuOTc4NjYxXV1dLAogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICcjZmZmZjAwJywKICAgICAgICAgICAgICAgICAgICAgICAgd2VpZ2h0OiAwLAogICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICBmZWF0dXJlX2dyb3VwX2Q0OTc2Y2E5ZmZhMjQ5ZWM5NWYzN2ZhZTNkMWE3MzAwLmFkZExheWVyKG11bHRpX3BvbHlnb25fNjkxNzNiMzJkNTcxNDI4YzgzNGJjODA0NDBjMTAyYzMpOwogICAgICAgICAgICAKICAgICAgICAKICAgICAgICAgICAgCiAgICAgICAgICAgIHZhciBwb3B1cF9hYjM0ZjAxNzRlMTY0YWMxOTY2MTk1ZDkzN2E3ZGMwZSA9IEwucG9wdXAoe21heFdpZHRoOiAnMzAwJ30pOwoKICAgICAgICAgICAgCiAgICAgICAgICAgICAgICB2YXIgaHRtbF8zYWE5ZGFhYTc4MjI0YWFjODUxNDI2ZTU3ZDg0MzM2NSA9ICQoJyAgICAgICAgIDxkaXYgaWQ9Imh0bWxfM2FhOWRhYWE3ODIyNGFhYzg1MTQyNmU1N2Q4NDMzNjUiICAgICAgICAgICAgICAgICBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij4gICAgICAgICAgICAgICAgIE5vcnRoIENhcm9saW5hPC9kaXY+ICAgICAgICAgICAgICAgICAnKVswXTsKICAgICAgICAgICAgICAgIHBvcHVwX2FiMzRmMDE3NGUxNjRhYzE5NjYxOTVkOTM3YTdkYzBlLnNldENvbnRlbnQoaHRtbF8zYWE5ZGFhYTc4MjI0YWFjODUxNDI2ZTU3ZDg0MzM2NSk7CiAgICAgICAgICAgIAoKICAgICAgICAgICAgbXVsdGlfcG9seWdvbl82OTE3M2IzMmQ1NzE0MjhjODM0YmM4MDQ0MGMxMDJjMy5iaW5kUG9wdXAocG9wdXBfYWIzNGYwMTc0ZTE2NGFjMTk2NjE5NWQ5MzdhN2RjMGUpOwoKICAgICAgICAgICAgCiAgICAgICAgCiAgICAgICAgCiAgICAgICAgICAgIAogICAgICAgICAgICAgICAgdmFyIG11bHRpX3BvbHlnb25fMTEyNzQ2NzE1ZDg4NGVkMWJlZTQ2YmY0ZDQxMjJiMWYgPSBMLm11bHRpUG9seWdvbigKICAgICAgICAgICAgICAgICAgICBbW1s0OS4wMDAyMzksIC05Ny4yMjg3NDNdLCBbNDguNjgyNTc3LCAtOTcuMDk3Mjk2XSwgWzQ4LjU0NTY1MywgLTk3LjE2MzAyXSwgWzQ4LjE0MDM1OSwgLTk3LjEzMDE1OF0sIFs0Ny45NDg2NjcsIC05Ny4wNTM0ODFdLCBbNDcuNjA5MDk2LCAtOTYuODU2MzExXSwgWzQ2Ljk2ODI5NCwgLTk2LjgyMzQ0OV0sIFs0Ni45MjQ0NzksIC05Ni43ODUxMTFdLCBbNDYuNjU2MTA5LCAtOTYuODAxNTQyXSwgWzQ2LjQzNzAzMSwgLTk2LjcxOTM4N10sIFs0Ni4zMzI5NjksIC05Ni41OTg4OTVdLCBbNDUuOTMzMTUzLCAtOTYuNTYwNTU2XSwgWzQ1Ljk0NDEwNiwgLTEwNC4wNDc1MzRdLCBbNDcuODYxMDM2LCAtMTA0LjA0MjA1N10sIFs0OS4wMDAyMzksIC0xMDQuMDQ3NTM0XSwgWzQ5LjAwMDIzOSwgLTk3LjIyODc0M11dXSwKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAnI2ZmZmYwMCcsCiAgICAgICAgICAgICAgICAgICAgICAgIHdlaWdodDogMCwKICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgZmVhdHVyZV9ncm91cF9kNDk3NmNhOWZmYTI0OWVjOTVmMzdmYWUzZDFhNzMwMC5hZGRMYXllcihtdWx0aV9wb2x5Z29uXzExMjc0NjcxNWQ4ODRlZDFiZWU0NmJmNGQ0MTIyYjFmKTsKICAgICAgICAgICAgCiAgICAgICAgCiAgICAgICAgICAgIAogICAgICAgICAgICB2YXIgcG9wdXBfNzY0ZmFkNGEwNDlmNDNlOThjZDk0ZDExZTlkMGUyZDcgPSBMLnBvcHVwKHttYXhXaWR0aDogJzMwMCd9KTsKCiAgICAgICAgICAgIAogICAgICAgICAgICAgICAgdmFyIGh0bWxfMjM0MDYwZjAzYjNkNDM4ZDllZmEwNDNjOTUzODU1N2EgPSAkKCcgICAgICAgICA8ZGl2IGlkPSJodG1sXzIzNDA2MGYwM2IzZDQzOGQ5ZWZhMDQzYzk1Mzg1NTdhIiAgICAgICAgICAgICAgICAgc3R5bGU9IndpZHRoOiAxMDAuMCU7IGhlaWdodDogMTAwLjAlOyI+ICAgICAgICAgICAgICAgICBOb3J0aCBEYWtvdGE8L2Rpdj4gICAgICAgICAgICAgICAgICcpWzBdOwogICAgICAgICAgICAgICAgcG9wdXBfNzY0ZmFkNGEwNDlmNDNlOThjZDk0ZDExZTlkMGUyZDcuc2V0Q29udGVudChodG1sXzIzNDA2MGYwM2IzZDQzOGQ5ZWZhMDQzYzk1Mzg1NTdhKTsKICAgICAgICAgICAgCgogICAgICAgICAgICBtdWx0aV9wb2x5Z29uXzExMjc0NjcxNWQ4ODRlZDFiZWU0NmJmNGQ0MTIyYjFmLmJpbmRQb3B1cChwb3B1cF83NjRmYWQ0YTA0OWY0M2U5OGNkOTRkMTFlOWQwZTJkNyk7CgogICAgICAgICAgICAKICAgICAgICAKICAgICAgICAKICAgICAgICAgICAgCiAgICAgICAgICAgICAgICB2YXIgbXVsdGlfcG9seWdvbl9mZDg3NmNmOWQ2YTc0YjE5OTVjM2EwYWVmNmJlNGZkMiA9IEwubXVsdGlQb2x5Z29uKAogICAgICAgICAgICAgICAgICAgIFtbWzQxLjk3ODgwMiwgLTgwLjUxODU5OF0sIFs0MC42MzY5NTEsIC04MC41MTg1OThdLCBbNDAuNTgyMTgyLCAtODAuNjY2NDc1XSwgWzQwLjQ3MjY0MywgLTgwLjU5NTI3NV0sIFs0MC4zMTkyODksIC04MC42MDA3NTJdLCBbNDAuMDc4MzAzLCAtODAuNzM3Njc1XSwgWzM5LjcxMTM0OCwgLTgwLjgzMDc4M10sIFszOS4zODgyMDksIC04MS4yMTk2NDZdLCBbMzkuMzQ0MzkzLCAtODEuMzQ1NjE2XSwgWzM5LjQxMDExNywgLTgxLjQ1NTE1NV0sIFszOS4yNjc3MTYsIC04MS41NzAxN10sIFszOS4yNzMxOTMsIC04MS42ODUxODZdLCBbMzkuMDgxNSwgLTgxLjgxMTE1Nl0sIFszOC45NjY0ODQsIC04MS43ODM3NzFdLCBbMzguODczMzc2LCAtODEuODg3ODMzXSwgWzM5LjAyNjczMSwgLTgyLjAzNTcxXSwgWzM4Ljc4NTc0NSwgLTgyLjIyMTkyNl0sIFszOC42MzIzOTEsIC04Mi4xNzI2MzRdLCBbMzguNTc3NjIyLCAtODIuMjkzMTI3XSwgWzM4LjQ0NjE3NSwgLTgyLjMzMTQ2NV0sIFszOC40MjQyNjcsIC04Mi41OTQzNThdLCBbMzguNTYxMTkxLCAtODIuNzMxMjgyXSwgWzM4LjU4ODU3NSwgLTgyLjg0NjI5OF0sIFszOC43NTgzNjEsIC04Mi44OTAxMTNdLCBbMzguNzI1NDk5LCAtODMuMDMyNTE0XSwgWzM4LjYyNjkxNCwgLTgzLjE0MjA1Ml0sIFszOC43MDM1OTEsIC04My41MTk5NjFdLCBbMzguNjMyMzkxLCAtODMuNjc4NzkyXSwgWzM4Ljc2OTMxNSwgLTgzLjkwMzM0N10sIFszOC44MDc2NTMsIC04NC4yMTU1MzNdLCBbMzguODk1Mjg0LCAtODQuMjMxOTYzXSwgWzM5LjEwMzQwOCwgLTg0LjQzNDYxXSwgWzM5LjEwMzQwOCwgLTg0LjgxNzk5Nl0sIFs0MC41MDAwMjgsIC04NC44MDE1NjVdLCBbNDEuNjk0MDAxLCAtODQuODA3MDQyXSwgWzQxLjczMjMzOSwgLTgzLjQ1NDIzOF0sIFs0MS41OTU0MTYsIC04My4wNjUzNzVdLCBbNDEuNTEzMjYyLCAtODIuOTMzOTI5XSwgWzQxLjU4OTkzOSwgLTgyLjgzNTM0NF0sIFs0MS40MzExMDgsIC04Mi42MTYyNjZdLCBbNDEuMzgxODE1LCAtODIuNDc5MzQzXSwgWzQxLjUxMzI2MiwgLTgyLjAxMzgwM10sIFs0MS40ODU4NzcsIC04MS43Mzk5NTZdLCBbNDEuNjcyMDkzLCAtODEuNDQ0MjAxXSwgWzQxLjg1MjgzMiwgLTgxLjAxMTUyM10sIFs0MS45Nzg4MDIsIC04MC41MTg1OThdLCBbNDEuOTc4ODAyLCAtODAuNTE4NTk4XV1dLAogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICcjZmZmZjAwJywKICAgICAgICAgICAgICAgICAgICAgICAgd2VpZ2h0OiAwLAogICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICBmZWF0dXJlX2dyb3VwX2Q0OTc2Y2E5ZmZhMjQ5ZWM5NWYzN2ZhZTNkMWE3MzAwLmFkZExheWVyKG11bHRpX3BvbHlnb25fZmQ4NzZjZjlkNmE3NGIxOTk1YzNhMGFlZjZiZTRmZDIpOwogICAgICAgICAgICAKICAgICAgICAKICAgICAgICAgICAgCiAgICAgICAgICAgIHZhciBwb3B1cF83ZGZmNDk3NzA2YjI0ZDg2ODAwNTBmOGNlYjBkMDljNSA9IEwucG9wdXAoe21heFdpZHRoOiAnMzAwJ30pOwoKICAgICAgICAgICAgCiAgICAgICAgICAgICAgICB2YXIgaHRtbF9iMDZiMDA1OTJhMGM0ZTExYWQzN2E4ODhjODYyNWE0YyA9ICQoJyAgICAgICAgIDxkaXYgaWQ9Imh0bWxfYjA2YjAwNTkyYTBjNGUxMWFkMzdhODg4Yzg2MjVhNGMiICAgICAgICAgICAgICAgICBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij4gICAgICAgICAgICAgICAgIE9oaW88L2Rpdj4gICAgICAgICAgICAgICAgICcpWzBdOwogICAgICAgICAgICAgICAgcG9wdXBfN2RmZjQ5NzcwNmIyNGQ4NjgwMDUwZjhjZWIwZDA5YzUuc2V0Q29udGVudChodG1sX2IwNmIwMDU5MmEwYzRlMTFhZDM3YTg4OGM4NjI1YTRjKTsKICAgICAgICAgICAgCgogICAgICAgICAgICBtdWx0aV9wb2x5Z29uX2ZkODc2Y2Y5ZDZhNzRiMTk5NWMzYTBhZWY2YmU0ZmQyLmJpbmRQb3B1cChwb3B1cF83ZGZmNDk3NzA2YjI0ZDg2ODAwNTBmOGNlYjBkMDljNSk7CgogICAgICAgICAgICAKICAgICAgICAKICAgICAgICAKICAgICAgICAgICAgCiAgICAgICAgICAgICAgICB2YXIgbXVsdGlfcG9seWdvbl81ZDliMzg5MzIxZGI0YzQ1YjRlMzBkYzEyNzcxN2Q3MyA9IEwubXVsdGlQb2x5Z29uKAogICAgICAgICAgICAgICAgICAgIFtbWzM3LjAwMDI2MywgLTEwMC4wODc3MDZdLCBbMzcuMDAwMjYzLCAtOTQuNjE2MjQyXSwgWzM2LjUwMTg2MSwgLTk0LjYxNjI0Ml0sIFszNS4zOTU1MTksIC05NC40MzAwMjZdLCBbMzMuNjM3NDIxLCAtOTQuNDg0Nzk2XSwgWzMzLjc0Njk2LCAtOTQuODY4MTgyXSwgWzMzLjg2MTk3NiwgLTk0Ljk2Njc2N10sIFszMy45NjA1NjEsIC05NS4yMjQxODNdLCBbMzMuODcyOTMsIC05NS4yODk5MDZdLCBbMzMuODc4NDA3LCAtOTUuNTQ3MzIyXSwgWzMzLjkzMzE3NiwgLTk1LjYwMjA5Ml0sIFszMy44MzQ1OTEsIC05NS44Mzc2XSwgWzMzLjg4OTM2MSwgLTk1LjkzNjE4NV0sIFszMy44NDAwNjgsIC05Ni4xNDk3ODZdLCBbMzMuNjg2NzE0LCAtOTYuMzQ2OTU2XSwgWzMzLjc3NDM0NSwgLTk2LjQyMzYzM10sIFszMy44NDU1NDUsIC05Ni42MzE3NTZdLCBbMzMuODQ1NTQ1LCAtOTYuODUwODM0XSwgWzMzLjk2MDU2MSwgLTk2LjkyMjAzNF0sIFszMy43MzYwMDYsIC05Ny4xNzM5NzRdLCBbMzMuODYxOTc2LCAtOTcuMjU2MTI4XSwgWzMzLjgyMzYzNywgLTk3LjM3MTE0M10sIFszMy45MDU3OTEsIC05Ny40NTg3NzRdLCBbMzMuOTgyNDY5LCAtOTcuNjk0MjgzXSwgWzMzLjg1MTAyMiwgLTk3Ljg2OTU0NV0sIFszMy45ODc5NDYsIC05Ny45NDYyMjJdLCBbMzQuMDA0Mzc2LCAtOTguMDg4NjIzXSwgWzM0LjExMzkxNSwgLTk4LjE3MDc3N10sIFszNC4xNTc3MzEsIC05OC4zNjI0N10sIFszNC4wNjQ2MjMsIC05OC40ODg0MzldLCBbMzQuMTQ2Nzc3LCAtOTguNTcwNTkzXSwgWzM0LjEzNTgyMywgLTk4Ljc2Nzc2M10sIFszNC4yMjM0NTQsIC05OC45ODY4NDFdLCBbMzQuMjEyNSwgLTk5LjE4OTQ4OF0sIFszNC40MDQxOTMsIC05OS4yNjA2ODhdLCBbMzQuNDE1MTQ3LCAtOTkuNTc4MzVdLCBbMzQuMzgyMjg1LCAtOTkuNjk4ODQzXSwgWzM0LjU3Mzk3OCwgLTk5LjkyMzM5OF0sIFszNC41NjMwMjQsIC0xMDAuMDAwMDc1XSwgWzM2LjUwMTg2MSwgLTEwMC4wMDAwNzVdLCBbMzYuNTAxODYxLCAtMTAxLjgxMjk0Ml0sIFszNi41MDE4NjEsIC0xMDMuMDAxNDM4XSwgWzM3LjAwMDI2MywgLTEwMy4wMDE0MzhdLCBbMzYuOTk0Nzg2LCAtMTAyLjA0Mjk3NF0sIFszNy4wMDAyNjMsIC0xMDAuMDg3NzA2XV1dLAogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICcjZmZmZjAwJywKICAgICAgICAgICAgICAgICAgICAgICAgd2VpZ2h0OiAwLAogICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICBmZWF0dXJlX2dyb3VwX2Q0OTc2Y2E5ZmZhMjQ5ZWM5NWYzN2ZhZTNkMWE3MzAwLmFkZExheWVyKG11bHRpX3BvbHlnb25fNWQ5YjM4OTMyMWRiNGM0NWI0ZTMwZGMxMjc3MTdkNzMpOwogICAgICAgICAgICAKICAgICAgICAKICAgICAgICAgICAgCiAgICAgICAgICAgIHZhciBwb3B1cF80Yjk5MmJhODBmNjQ0ZjE2YWEwNjUwZTViNWMyY2NjNyA9IEwucG9wdXAoe21heFdpZHRoOiAnMzAwJ30pOwoKICAgICAgICAgICAgCiAgICAgICAgICAgICAgICB2YXIgaHRtbF85Yjc5OGQ4ZWU1Y2Q0ZmUzYmQ4NTNjOWZmZGE5OTBmMiA9ICQoJyAgICAgICAgIDxkaXYgaWQ9Imh0bWxfOWI3OThkOGVlNWNkNGZlM2JkODUzYzlmZmRhOTkwZjIiICAgICAgICAgICAgICAgICBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij4gICAgICAgICAgICAgICAgIE9rbGFob21hPC9kaXY+ICAgICAgICAgICAgICAgICAnKVswXTsKICAgICAgICAgICAgICAgIHBvcHVwXzRiOTkyYmE4MGY2NDRmMTZhYTA2NTBlNWI1YzJjY2M3LnNldENvbnRlbnQoaHRtbF85Yjc5OGQ4ZWU1Y2Q0ZmUzYmQ4NTNjOWZmZGE5OTBmMik7CiAgICAgICAgICAgIAoKICAgICAgICAgICAgbXVsdGlfcG9seWdvbl81ZDliMzg5MzIxZGI0YzQ1YjRlMzBkYzEyNzcxN2Q3My5iaW5kUG9wdXAocG9wdXBfNGI5OTJiYTgwZjY0NGYxNmFhMDY1MGU1YjVjMmNjYzcpOwoKICAgICAgICAgICAgCiAgICAgICAgCiAgICAgICAgCiAgICAgICAgICAgIAogICAgICAgICAgICAgICAgdmFyIG11bHRpX3BvbHlnb25fZGE2NWZlMmFiZTIzNGQwMThhMmYzNWRiMTM4NWNlMmMgPSBMLm11bHRpUG9seWdvbigKICAgICAgICAgICAgICAgICAgICBbW1s0Ni4xNzQxMzgsIC0xMjMuMjExMzQ4XSwgWzQ2LjE4NTA5MiwgLTEyMy4xMTgyNF0sIFs0Ni4wODEwMywgLTEyMi45MDQ2MzldLCBbNDUuOTYwNTM3LCAtMTIyLjgxMTUzMV0sIFs0NS42NTkzMDUsIC0xMjIuNzYyMjM5XSwgWzQ1LjU0OTc2NywgLTEyMi4yNDc0MDddLCBbNDUuNzA4NTk4LCAtMTIxLjgwOTI1MV0sIFs0NS43MjUwMjksIC0xMjEuNTM1NDA0XSwgWzQ1LjY3MDI1OSwgLTEyMS4yMTc3NDJdLCBbNDUuNjA0NTM2LCAtMTIxLjE4NDg4XSwgWzQ1Ljc0NjkzNywgLTEyMC42MzcxODZdLCBbNDUuNjk3NjQ0LCAtMTIwLjUwNTczOV0sIFs0NS43MjUwMjksIC0xMjAuMjA5OTg1XSwgWzQ1LjgyMzYxNCwgLTExOS45NjM1MjJdLCBbNDUuOTExMjQ1LCAtMTE5LjUyNTM2N10sIFs0NS45MzMxNTMsIC0xMTkuMTI1NTUxXSwgWzQ1Ljk5ODg3NiwgLTExOC45ODg2MjddLCBbNDUuOTkzMzk5LCAtMTE2LjkxODM0NF0sIFs0NS44MjM2MTQsIC0xMTYuNzgxNDJdLCBbNDUuNzUyNDEzLCAtMTE2LjU0NTkxMl0sIFs0NS42MTU0OSwgLTExNi40NjM3NThdLCBbNDUuMzE5NzM1LCAtMTE2LjY3MTg4MV0sIFs0NS4xNDQ0NzMsIC0xMTYuNzMyMTI4XSwgWzQ1LjAyMzk4LCAtMTE2Ljg0NzE0M10sIFs0NC45MzA4NzIsIC0xMTYuODMwNzEzXSwgWzQ0Ljc4Mjk5NSwgLTExNi45MzQ3NzRdLCBbNDQuNzUwMTMzLCAtMTE3LjAzODgzNl0sIFs0NC4zOTQxMzIsIC0xMTcuMjQxNDgzXSwgWzQ0LjI1NzIwOSwgLTExNy4xNzAyODNdLCBbNDQuMjQwNzc4LCAtMTE2Ljk3ODU5XSwgWzQ0LjE1ODYyNCwgLTExNi44OTY0MzZdLCBbNDMuODMwMDA3LCAtMTE3LjAyNzg4Ml0sIFs0Mi4wMDA3MDksIC0xMTcuMDI3ODgyXSwgWzQxLjk4OTc1NSwgLTExOC42OTgzNDldLCBbNDEuOTk1MjMyLCAtMTIwLjAwMTg2MV0sIFs0MS45OTUyMzIsIC0xMjEuMDM3MDAzXSwgWzQyLjAxMTY2MywgLTEyMi4zNzg4NTNdLCBbNDIuMDA2MTg2LCAtMTIzLjIzMzI1Nl0sIFs0Mi4wMDA3MDksIC0xMjQuMjEzNjI4XSwgWzQyLjExNTcyNSwgLTEyNC4zNTYwMjldLCBbNDIuNDM4ODY1LCAtMTI0LjQzMjcwNl0sIFs0Mi42NjM0MTksIC0xMjQuNDE2Mjc1XSwgWzQyLjgzODY4MSwgLTEyNC41NTMxOThdLCBbNDMuMDAyOTg5LCAtMTI0LjQ1NDYxM10sIFs0My4yNzEzNTksIC0xMjQuMzgzNDEzXSwgWzQzLjU1NjE2LCAtMTI0LjIzNTUzNl0sIFs0My44MDgxLCAtMTI0LjE2OTgxM10sIFs0NC42NTcwMjUsIC0xMjQuMDYwMjc0XSwgWzQ0Ljc3MjA0MSwgLTEyNC4wNzY3MDVdLCBbNDUuMTQ0NDczLCAtMTIzLjk3ODEyXSwgWzQ1LjY1OTMwNSwgLTEyMy45Mzk3ODFdLCBbNDUuOTQ0MTA2LCAtMTIzLjk5NDU1MV0sIFs0Ni4xMTM4OTIsIC0xMjMuOTQ1MjU4XSwgWzQ2LjI2MTc2OSwgLTEyMy41NDU0NDFdLCBbNDYuMTQ2NzUzLCAtMTIzLjM3MDE3OV0sIFs0Ni4xNzQxMzgsIC0xMjMuMjExMzQ4XV1dLAogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICdncmVlbicsCiAgICAgICAgICAgICAgICAgICAgICAgIHdlaWdodDogMCwKICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgZmVhdHVyZV9ncm91cF9kNDk3NmNhOWZmYTI0OWVjOTVmMzdmYWUzZDFhNzMwMC5hZGRMYXllcihtdWx0aV9wb2x5Z29uX2RhNjVmZTJhYmUyMzRkMDE4YTJmMzVkYjEzODVjZTJjKTsKICAgICAgICAgICAgCiAgICAgICAgCiAgICAgICAgICAgIAogICAgICAgICAgICB2YXIgcG9wdXBfOTU3OTU5Y2RiOGRkNDA2YjhmNzkwZGY5YTc4MjU4MzUgPSBMLnBvcHVwKHttYXhXaWR0aDogJzMwMCd9KTsKCiAgICAgICAgICAgIAogICAgICAgICAgICAgICAgdmFyIGh0bWxfMGE3ODllZmNkZmU5NDYzNjgzY2UxZDhmZWQ0OTU5MmEgPSAkKCcgICAgICAgICA8ZGl2IGlkPSJodG1sXzBhNzg5ZWZjZGZlOTQ2MzY4M2NlMWQ4ZmVkNDk1OTJhIiAgICAgICAgICAgICAgICAgc3R5bGU9IndpZHRoOiAxMDAuMCU7IGhlaWdodDogMTAwLjAlOyI+ICAgICAgICAgICAgICAgICBPcmVnb248L2Rpdj4gICAgICAgICAgICAgICAgICcpWzBdOwogICAgICAgICAgICAgICAgcG9wdXBfOTU3OTU5Y2RiOGRkNDA2YjhmNzkwZGY5YTc4MjU4MzUuc2V0Q29udGVudChodG1sXzBhNzg5ZWZjZGZlOTQ2MzY4M2NlMWQ4ZmVkNDk1OTJhKTsKICAgICAgICAgICAgCgogICAgICAgICAgICBtdWx0aV9wb2x5Z29uX2RhNjVmZTJhYmUyMzRkMDE4YTJmMzVkYjEzODVjZTJjLmJpbmRQb3B1cChwb3B1cF85NTc5NTljZGI4ZGQ0MDZiOGY3OTBkZjlhNzgyNTgzNSk7CgogICAgICAgICAgICAKICAgICAgICAKICAgICAgICAKICAgICAgICAgICAgCiAgICAgICAgICAgICAgICB2YXIgbXVsdGlfcG9seWdvbl8wYzkyM2Y0NTQ2ZTY0OGYyYmIxZDUwNTA0YjMyODE1MyA9IEwubXVsdGlQb2x5Z29uKAogICAgICAgICAgICAgICAgICAgIFtbWzQyLjI1MjY0OSwgLTc5Ljc2Mjc4XSwgWzQyLjAwMDcwOSwgLTc5Ljc2Mjc4XSwgWzQyLjAwMDcwOSwgLTc1LjM1OTMyXSwgWzQxLjg2Mzc4NiwgLTc1LjI0OTc4MV0sIFs0MS44NjkyNjMsIC03NS4xNzMxMDRdLCBbNDEuNzU0MjQ3LCAtNzUuMDUyNjExXSwgWzQxLjYwNjM3LCAtNzUuMDc0NTE5XSwgWzQxLjQzNjU4NCwgLTc0Ljg5Mzc4XSwgWzQxLjQzMTEwOCwgLTc0Ljc0MDQyNl0sIFs0MS4zNTk5MDcsIC03NC42OTY2MV0sIFs0MS4yODg3MDcsIC03NC44MjgwNTddLCBbNDEuMTc5MTY4LCAtNzQuODgyODI2XSwgWzQwLjk3MTA0NSwgLTc1LjEzNDc2NV0sIFs0MC44NjY5ODMsIC03NS4wNTI2MTFdLCBbNDAuNjkxNzIxLCAtNzUuMjA1OTY2XSwgWzQwLjU3NjcwNSwgLTc1LjE5NTAxMl0sIFs0MC41NDM4NDMsIC03NS4wNjkwNDJdLCBbNDAuNDE3ODc0LCAtNzUuMDU4MDg4XSwgWzQwLjIxNTIyNywgLTc0Ljc3MzI4N10sIFs0MC4xMjc1OTYsIC03NC44MjI1OF0sIFszOS45NjMyODgsIC03NS4xMjkyODldLCBbMzkuODg2NjEsIC03NS4xNDU3MTldLCBbMzkuODA0NDU2LCAtNzUuNDE0MDg5XSwgWzM5LjgzMTg0MSwgLTc1LjYxNjczNl0sIFszOS43MjIzMDIsIC03NS43ODY1MjFdLCBbMzkuNzIyMzAyLCAtNzkuNDc3OTc5XSwgWzM5LjcyMjMwMiwgLTgwLjUxODU5OF0sIFs0MC42MzY5NTEsIC04MC41MTg1OThdLCBbNDEuOTc4ODAyLCAtODAuNTE4NTk4XSwgWzQxLjk3ODgwMiwgLTgwLjUxODU5OF0sIFs0Mi4wMzM1NzEsIC04MC4zMzIzODJdLCBbNDIuMjY5MDc5LCAtNzkuNzYyNzhdLCBbNDIuMjUyNjQ5LCAtNzkuNzYyNzhdXV0sCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJ2dyZWVuJywKICAgICAgICAgICAgICAgICAgICAgICAgd2VpZ2h0OiAwLAogICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICBmZWF0dXJlX2dyb3VwX2Q0OTc2Y2E5ZmZhMjQ5ZWM5NWYzN2ZhZTNkMWE3MzAwLmFkZExheWVyKG11bHRpX3BvbHlnb25fMGM5MjNmNDU0NmU2NDhmMmJiMWQ1MDUwNGIzMjgxNTMpOwogICAgICAgICAgICAKICAgICAgICAKICAgICAgICAgICAgCiAgICAgICAgICAgIHZhciBwb3B1cF85Y2I2MjA3Njg5MWU0ZWMyOGI4MWMyZjk0NmEzZjczMiA9IEwucG9wdXAoe21heFdpZHRoOiAnMzAwJ30pOwoKICAgICAgICAgICAgCiAgICAgICAgICAgICAgICB2YXIgaHRtbF8zMGZkZDljYzBhYzY0Mjc4YWViZGM0MDFjZGI2N2E4YiA9ICQoJyAgICAgICAgIDxkaXYgaWQ9Imh0bWxfMzBmZGQ5Y2MwYWM2NDI3OGFlYmRjNDAxY2RiNjdhOGIiICAgICAgICAgICAgICAgICBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij4gICAgICAgICAgICAgICAgIFBlbm5zeWx2YW5pYTwvZGl2PiAgICAgICAgICAgICAgICAgJylbMF07CiAgICAgICAgICAgICAgICBwb3B1cF85Y2I2MjA3Njg5MWU0ZWMyOGI4MWMyZjk0NmEzZjczMi5zZXRDb250ZW50KGh0bWxfMzBmZGQ5Y2MwYWM2NDI3OGFlYmRjNDAxY2RiNjdhOGIpOwogICAgICAgICAgICAKCiAgICAgICAgICAgIG11bHRpX3BvbHlnb25fMGM5MjNmNDU0NmU2NDhmMmJiMWQ1MDUwNGIzMjgxNTMuYmluZFBvcHVwKHBvcHVwXzljYjYyMDc2ODkxZTRlYzI4YjgxYzJmOTQ2YTNmNzMyKTsKCiAgICAgICAgICAgIAogICAgICAgIAogICAgICAgIAogICAgICAgICAgICAKICAgICAgICAgICAgICAgIHZhciBtdWx0aV9wb2x5Z29uXzMzZjNiNjkzMzQ1ODQ3NjdiMjdhZjc0YTEzYzZkOThmID0gTC5tdWx0aVBvbHlnb24oCiAgICAgICAgICAgICAgICAgICAgW1tbWzQxLjY3NzU3LCAtNzEuMTk2ODQ1XSwgWzQxLjQ5NjgzMSwgLTcxLjEyMDE2OF0sIFs0MS40NzQ5MjMsIC03MS4zMTczMzhdLCBbNDEuNjc3NTcsIC03MS4xOTY4NDVdXV0sIFtbWzQyLjAxNzE0LCAtNzEuNTMwOTM5XSwgWzQyLjAxNzE0LCAtNzEuMzgzMDYxXSwgWzQxLjc4MTYzMiwgLTcxLjMyODI5Ml0sIFs0MS43MTA0MzEsIC03MS4yMjQyM10sIFs0MS43MjY4NjIsIC03MS4zNDQ3MjNdLCBbNDEuNTc4OTg1LCAtNzEuNDQ4Nzg1XSwgWzQxLjM3MDg2MSwgLTcxLjQ4MTY0Nl0sIFs0MS4zMjE1NjksIC03MS44NTk1NTVdLCBbNDEuNDE0Njc3LCAtNzEuNzk5MzA5XSwgWzQyLjAwNjE4NiwgLTcxLjc5OTMwOV0sIFs0Mi4wMTcxNCwgLTcxLjUzMDkzOV1dXV0sCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJ2dyZWVuJywKICAgICAgICAgICAgICAgICAgICAgICAgd2VpZ2h0OiAwLAogICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICBmZWF0dXJlX2dyb3VwX2Q0OTc2Y2E5ZmZhMjQ5ZWM5NWYzN2ZhZTNkMWE3MzAwLmFkZExheWVyKG11bHRpX3BvbHlnb25fMzNmM2I2OTMzNDU4NDc2N2IyN2FmNzRhMTNjNmQ5OGYpOwogICAgICAgICAgICAKICAgICAgICAKICAgICAgICAgICAgCiAgICAgICAgICAgIHZhciBwb3B1cF80YTk4ZGEyM2ZiNDY0MDkwYjI1MTU5NDdlZDM2ZjNjYiA9IEwucG9wdXAoe21heFdpZHRoOiAnMzAwJ30pOwoKICAgICAgICAgICAgCiAgICAgICAgICAgICAgICB2YXIgaHRtbF81OTFkNGRlMzI3YTc0Nzk1OGYzNTI0Y2Y5NGVjZDgzMCA9ICQoJyAgICAgICAgIDxkaXYgaWQ9Imh0bWxfNTkxZDRkZTMyN2E3NDc5NThmMzUyNGNmOTRlY2Q4MzAiICAgICAgICAgICAgICAgICBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij4gICAgICAgICAgICAgICAgIFJob2RlIElzbGFuZDwvZGl2PiAgICAgICAgICAgICAgICAgJylbMF07CiAgICAgICAgICAgICAgICBwb3B1cF80YTk4ZGEyM2ZiNDY0MDkwYjI1MTU5NDdlZDM2ZjNjYi5zZXRDb250ZW50KGh0bWxfNTkxZDRkZTMyN2E3NDc5NThmMzUyNGNmOTRlY2Q4MzApOwogICAgICAgICAgICAKCiAgICAgICAgICAgIG11bHRpX3BvbHlnb25fMzNmM2I2OTMzNDU4NDc2N2IyN2FmNzRhMTNjNmQ5OGYuYmluZFBvcHVwKHBvcHVwXzRhOThkYTIzZmI0NjQwOTBiMjUxNTk0N2VkMzZmM2NiKTsKCiAgICAgICAgICAgIAogICAgICAgIAogICAgICAgIAogICAgICAgICAgICAKICAgICAgICAgICAgICAgIHZhciBtdWx0aV9wb2x5Z29uXzA1ZWI2OWVjNjlkNTQyM2I4NWMwMmM4YmU5ZTY4NzVmID0gTC5tdWx0aVBvbHlnb24oCiAgICAgICAgICAgICAgICAgICAgW1tbMzUuMDY2OTAzLCAtODIuNzY0MTQzXSwgWzM1LjE2MDAxMSwgLTgyLjU1MDU0M10sIFszNS4xOTgzNDksIC04Mi4yNzY2OTZdLCBbMzUuMTQ5MDU3LCAtODEuMDQ0Mzg0XSwgWzM1LjA0NDk5NSwgLTgxLjAzODkwN10sIFszNS4xMDUyNDEsIC04MC45MzQ4NDVdLCBbMzQuOTM1NDU2LCAtODAuNzgxNDkxXSwgWzM0LjgyMDQ0MSwgLTgwLjc5NzkyMl0sIFszNC44MDQwMSwgLTc5LjY3NTE0OV0sIFszMy44NTEwMjIsIC03OC41NDE0MjJdLCBbMzMuODAxNzMsIC03OC43MTY2ODRdLCBbMzMuNjM3NDIxLCAtNzguOTM1NzYyXSwgWzMzLjM4MDAwNSwgLTc5LjE0OTM2M10sIFszMy4xNzE4ODEsIC03OS4xODc3MDFdLCBbMzMuMDA3NTczLCAtNzkuMzU3NDg3XSwgWzMzLjAwNzU3MywgLTc5LjU4MjA0MV0sIFszMi44ODcwODEsIC03OS42MzEzMzRdLCBbMzIuNzU1NjM0LCAtNzkuODY2ODQyXSwgWzMyLjYxMzIzNCwgLTc5Ljk5ODI4OV0sIFszMi41NTI5ODcsIC04MC4yMDY0MTJdLCBbMzIuMzk5NjMzLCAtODAuNDMwOTY3XSwgWzMyLjMyODQzMywgLTgwLjQ1Mjg3NV0sIFszMi4yNDYyNzksIC04MC42NjA5OThdLCBbMzIuMDMyNjc4LCAtODAuODg1NTUzXSwgWzMyLjEyMDMwOSwgLTgxLjExNTU4NF0sIFszMi4yOTAwOTQsIC04MS4xMjEwNjFdLCBbMzIuNTU4NDY0LCAtODEuMjc5ODkzXSwgWzMyLjYyOTY2NCwgLTgxLjQxNjgxNl0sIFszMi44NDMyNjUsIC04MS40Mjc3N10sIFszMy4wMDc1NzMsIC04MS40OTM0OTNdLCBbMzMuMTYwOTI4LCAtODEuNzYxODYzXSwgWzMzLjM0NzE0NCwgLTgxLjkzNzEyNV0sIFszMy40NjIxNTksIC04MS45MjYxNzJdLCBbMzMuNjMxOTQ0LCAtODIuMTk0NTQyXSwgWzMzLjgxODE2LCAtODIuMzI1OTg4XSwgWzMzLjk0NDEzLCAtODIuNTU2MDJdLCBbMzQuMTUyMjU0LCAtODIuNzE0ODUxXSwgWzM0LjI2NzI3LCAtODIuNzQ3NzEzXSwgWzM0LjQ4NjM0NywgLTgyLjkwMTA2N10sIFszNC40Njk5MTYsIC04My4wMDUxMjldLCBbMzQuNjgzNTE3LCAtODMuMzM5MjIyXSwgWzM0Ljc4NzU3OSwgLTgzLjMyMjc5MV0sIFszNS4wMDExOCwgLTgzLjEwOTE5MV0sIFszNS4wNjY5MDMsIC04Mi43NjQxNDNdXV0sCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJyNmZmZmMDAnLAogICAgICAgICAgICAgICAgICAgICAgICB3ZWlnaHQ6IDAsCiAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgIGZlYXR1cmVfZ3JvdXBfZDQ5NzZjYTlmZmEyNDllYzk1ZjM3ZmFlM2QxYTczMDAuYWRkTGF5ZXIobXVsdGlfcG9seWdvbl8wNWViNjllYzY5ZDU0MjNiODVjMDJjOGJlOWU2ODc1Zik7CiAgICAgICAgICAgIAogICAgICAgIAogICAgICAgICAgICAKICAgICAgICAgICAgdmFyIHBvcHVwX2Q0NThiZmE5ODk1ZDQ1MTRiMmI5OTNkYTYyYjJmMTRiID0gTC5wb3B1cCh7bWF4V2lkdGg6ICczMDAnfSk7CgogICAgICAgICAgICAKICAgICAgICAgICAgICAgIHZhciBodG1sXzJlM2YwY2IzNmQyYjQ4MTVhMGE4Zjg5MjhlMDQzZmVjID0gJCgnICAgICAgICAgPGRpdiBpZD0iaHRtbF8yZTNmMGNiMzZkMmI0ODE1YTBhOGY4OTI4ZTA0M2ZlYyIgICAgICAgICAgICAgICAgIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPiAgICAgICAgICAgICAgICAgU291dGggQ2Fyb2xpbmE8L2Rpdj4gICAgICAgICAgICAgICAgICcpWzBdOwogICAgICAgICAgICAgICAgcG9wdXBfZDQ1OGJmYTk4OTVkNDUxNGIyYjk5M2RhNjJiMmYxNGIuc2V0Q29udGVudChodG1sXzJlM2YwY2IzNmQyYjQ4MTVhMGE4Zjg5MjhlMDQzZmVjKTsKICAgICAgICAgICAgCgogICAgICAgICAgICBtdWx0aV9wb2x5Z29uXzA1ZWI2OWVjNjlkNTQyM2I4NWMwMmM4YmU5ZTY4NzVmLmJpbmRQb3B1cChwb3B1cF9kNDU4YmZhOTg5NWQ0NTE0YjJiOTkzZGE2MmIyZjE0Yik7CgogICAgICAgICAgICAKICAgICAgICAKICAgICAgICAKICAgICAgICAgICAgCiAgICAgICAgICAgICAgICB2YXIgbXVsdGlfcG9seWdvbl9iNDMwYTAwMGNhN2Y0MmU3YTNkYTFkZTEzMzBhNjNhOCA9IEwubXVsdGlQb2x5Z29uKAogICAgICAgICAgICAgICAgICAgIFtbWzQ1Ljk0NDEwNiwgLTEwNC4wNDc1MzRdLCBbNDUuOTMzMTUzLCAtOTYuNTYwNTU2XSwgWzQ1LjgxODEzNywgLTk2LjU4MjQ2NF0sIFs0NS42MDQ1MzYsIC05Ni44NTYzMTFdLCBbNDUuNDEyODQzLCAtOTYuNjgxMDQ5XSwgWzQ1LjI5NzgyNywgLTk2LjQ1MTAxN10sIFs0My41MDEzOTEsIC05Ni40NTEwMTddLCBbNDMuNDc5NDgzLCAtOTYuNTgyNDY0XSwgWzQzLjM5NzMyOSwgLTk2LjUyNzY5NV0sIFs0My4yMjIwNjcsIC05Ni41NjA1NTZdLCBbNDMuMTIzNDgyLCAtOTYuNDM0NTg3XSwgWzQzLjA1MjI4MiwgLTk2LjUxMTI2NF0sIFs0Mi44NTUxMTIsIC05Ni41NDQxMjVdLCBbNDIuNzA3MjM1LCAtOTYuNjMxNzU2XSwgWzQyLjQ4ODE1NywgLTk2LjQ0NTU0XSwgWzQyLjUxNTU0MiwgLTk2LjYyNjI3OV0sIFs0Mi42NTc5NDIsIC05Ni42OTIwMDNdLCBbNDIuODQ0MTU4LCAtOTcuMjE3Nzg5XSwgWzQyLjg0NDE1OCwgLTk3LjY4ODgwNl0sIFs0Mi44NjYwNjYsIC05Ny44MzEyMDZdLCBbNDIuNzY3NDgxLCAtOTcuOTUxNjk5XSwgWzQyLjk0ODIyLCAtOTguNDY2NTMxXSwgWzQyLjk5NzUxMiwgLTk4LjQ5OTM5M10sIFs0Mi45OTc1MTIsIC0xMDEuNjI2NzI2XSwgWzQzLjAwMjk4OSwgLTEwMy4zMjQ1NzhdLCBbNDMuMDAyOTg5LCAtMTA0LjA1MzAxMV0sIFs0NC45OTY1OTYsIC0xMDQuMDU4NDg4XSwgWzQ0Ljk5NjU5NiwgLTEwNC4wNDIwNTddLCBbNDUuOTQ0MTA2LCAtMTA0LjA0NzUzNF1dXSwKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAnI2ZmZmYwMCcsCiAgICAgICAgICAgICAgICAgICAgICAgIHdlaWdodDogMCwKICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgZmVhdHVyZV9ncm91cF9kNDk3NmNhOWZmYTI0OWVjOTVmMzdmYWUzZDFhNzMwMC5hZGRMYXllcihtdWx0aV9wb2x5Z29uX2I0MzBhMDAwY2E3ZjQyZTdhM2RhMWRlMTMzMGE2M2E4KTsKICAgICAgICAgICAgCiAgICAgICAgCiAgICAgICAgICAgIAogICAgICAgICAgICB2YXIgcG9wdXBfZDBlZTU0NGUwZjg1NDZmZjk0OGEyZWY5MTkzYjk1YjMgPSBMLnBvcHVwKHttYXhXaWR0aDogJzMwMCd9KTsKCiAgICAgICAgICAgIAogICAgICAgICAgICAgICAgdmFyIGh0bWxfYmUwNTMwZWVkZDU3NDk2N2E3N2FjZWIyZDk4OTRiMjYgPSAkKCcgICAgICAgICA8ZGl2IGlkPSJodG1sX2JlMDUzMGVlZGQ1NzQ5NjdhNzdhY2ViMmQ5ODk0YjI2IiAgICAgICAgICAgICAgICAgc3R5bGU9IndpZHRoOiAxMDAuMCU7IGhlaWdodDogMTAwLjAlOyI+ICAgICAgICAgICAgICAgICBTb3V0aCBEYWtvdGE8L2Rpdj4gICAgICAgICAgICAgICAgICcpWzBdOwogICAgICAgICAgICAgICAgcG9wdXBfZDBlZTU0NGUwZjg1NDZmZjk0OGEyZWY5MTkzYjk1YjMuc2V0Q29udGVudChodG1sX2JlMDUzMGVlZGQ1NzQ5NjdhNzdhY2ViMmQ5ODk0YjI2KTsKICAgICAgICAgICAgCgogICAgICAgICAgICBtdWx0aV9wb2x5Z29uX2I0MzBhMDAwY2E3ZjQyZTdhM2RhMWRlMTMzMGE2M2E4LmJpbmRQb3B1cChwb3B1cF9kMGVlNTQ0ZTBmODU0NmZmOTQ4YTJlZjkxOTNiOTViMyk7CgogICAgICAgICAgICAKICAgICAgICAKICAgICAgICAKICAgICAgICAgICAgCiAgICAgICAgICAgICAgICB2YXIgbXVsdGlfcG9seWdvbl8zZDNlZjU4NTFkMWE0MWIzOTRhYzQ4N2UzYzY4NGE1YiA9IEwubXVsdGlQb2x5Z29uKAogICAgICAgICAgICAgICAgICAgIFtbWzM2LjQ5NjM4NCwgLTg4LjA1NDg2OF0sIFszNi42NzcxMjMsIC04OC4wNzEyOTldLCBbMzYuNjMzMzA4LCAtODcuODUyMjIxXSwgWzM2LjY1NTIxNiwgLTg2LjU5MjUyNV0sIFszNi42MTY4NzcsIC04NS40ODYxODNdLCBbMzYuNjI3ODMxLCAtODUuMjg5MDEzXSwgWzM2LjU5NDk2OSwgLTg0LjU0NDE0OV0sIFszNi41ODQwMTUsIC04My42ODk3NDZdLCBbMzYuNjAwNDQ2LCAtODMuNjczMzE2XSwgWzM2LjU4OTQ5MiwgLTgxLjY3OTcwOV0sIFszNi4zNTM5ODQsIC04MS43MjM1MjVdLCBbMzYuMzA0NjkxLCAtODEuOTA5NzQxXSwgWzM2LjExODQ3NSwgLTgyLjAzNTcxXSwgWzM2LjE1NjgxNCwgLTgyLjIxNjQ0OV0sIFszNS45NjUxMjEsIC04Mi42MTA3ODldLCBbMzYuMDYzNzA2LCAtODIuNjM4MTc0XSwgWzM1Ljk5Nzk4MywgLTgyLjc3NTA5N10sIFszNS43NzM0MjgsIC04Mi45OTQxNzVdLCBbMzUuNzE4NjU5LCAtODMuMjUxNTkxXSwgWzM1LjU2NTMwNCwgLTgzLjQ5ODA1M10sIFszNS41NTk4MjcsIC04My43NzE5XSwgWzM1LjQxMTk1LCAtODQuMDE4MzYzXSwgWzM1LjI0NzY0MiwgLTg0LjA5NTA0XSwgWzM1LjIyNTczNCwgLTg0LjI5MjIxXSwgWzM0Ljk5MDIyNiwgLTg0LjMxOTU5NF0sIFszNC45ODQ3NDksIC04NS42MDY2NzVdLCBbMzUuMDAxMTgsIC04Ny4zNTkyOTZdLCBbMzQuOTk1NzAzLCAtODguMjAyNzQ1XSwgWzM0Ljk5NTcwMywgLTg4LjQ3MTExNV0sIFszNC45OTU3MDMsIC05MC4zMTEzNjddLCBbMzUuMDIzMDg3LCAtOTAuMjEyNzgyXSwgWzM1LjE5ODM0OSwgLTkwLjExNDE5N10sIFszNS40MzkzMzUsIC05MC4xMzA2MjhdLCBbMzUuNjAzNjQzLCAtODkuOTQ0NDEyXSwgWzM1Ljc1Njk5NywgLTg5LjkxMTU1MV0sIFszNS44MTE3NjcsIC04OS43NjM2NzNdLCBbMzUuOTk3OTgzLCAtODkuNzMwODEyXSwgWzM2LjI0OTkyMiwgLTg5LjUzMzY0Ml0sIFszNi40OTYzODQsIC04OS41MzkxMTldLCBbMzYuNDk2Mzg0LCAtODkuNDg0MzQ5XSwgWzM2LjQ5NjM4NCwgLTg5LjQxODYyNl0sIFszNi41MDczMzgsIC04OS4yOTgxMzNdLCBbMzYuNDk2Mzg0LCAtODguMDU0ODY4XV1dLAogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICdncmVlbicsCiAgICAgICAgICAgICAgICAgICAgICAgIHdlaWdodDogMCwKICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgZmVhdHVyZV9ncm91cF9kNDk3NmNhOWZmYTI0OWVjOTVmMzdmYWUzZDFhNzMwMC5hZGRMYXllcihtdWx0aV9wb2x5Z29uXzNkM2VmNTg1MWQxYTQxYjM5NGFjNDg3ZTNjNjg0YTViKTsKICAgICAgICAgICAgCiAgICAgICAgCiAgICAgICAgICAgIAogICAgICAgICAgICB2YXIgcG9wdXBfMWFkODRkNThhNjA1NGIxOWFjYjlkYjhhMDAxMTI5MjQgPSBMLnBvcHVwKHttYXhXaWR0aDogJzMwMCd9KTsKCiAgICAgICAgICAgIAogICAgICAgICAgICAgICAgdmFyIGh0bWxfODE0MDY3NWYzM2M1NDNiMDk5NDU2NzI3NDdhMjcxNDYgPSAkKCcgICAgICAgICA8ZGl2IGlkPSJodG1sXzgxNDA2NzVmMzNjNTQzYjA5OTQ1NjcyNzQ3YTI3MTQ2IiAgICAgICAgICAgICAgICAgc3R5bGU9IndpZHRoOiAxMDAuMCU7IGhlaWdodDogMTAwLjAlOyI+ICAgICAgICAgICAgICAgICBUZW5uZXNzZWU8L2Rpdj4gICAgICAgICAgICAgICAgICcpWzBdOwogICAgICAgICAgICAgICAgcG9wdXBfMWFkODRkNThhNjA1NGIxOWFjYjlkYjhhMDAxMTI5MjQuc2V0Q29udGVudChodG1sXzgxNDA2NzVmMzNjNTQzYjA5OTQ1NjcyNzQ3YTI3MTQ2KTsKICAgICAgICAgICAgCgogICAgICAgICAgICBtdWx0aV9wb2x5Z29uXzNkM2VmNTg1MWQxYTQxYjM5NGFjNDg3ZTNjNjg0YTViLmJpbmRQb3B1cChwb3B1cF8xYWQ4NGQ1OGE2MDU0YjE5YWNiOWRiOGEwMDExMjkyNCk7CgogICAgICAgICAgICAKICAgICAgICAKICAgICAgICAKICAgICAgICAgICAgCiAgICAgICAgICAgICAgICB2YXIgbXVsdGlfcG9seWdvbl9lZTFlMzA4MzkzZjY0OTUyOWM5YmU4YzRmMmYxYzdkMCA9IEwubXVsdGlQb2x5Z29uKAogICAgICAgICAgICAgICAgICAgIFtbWzM2LjUwMTg2MSwgLTEwMS44MTI5NDJdLCBbMzYuNTAxODYxLCAtMTAwLjAwMDA3NV0sIFszNC41NjMwMjQsIC0xMDAuMDAwMDc1XSwgWzM0LjU3Mzk3OCwgLTk5LjkyMzM5OF0sIFszNC4zODIyODUsIC05OS42OTg4NDNdLCBbMzQuNDE1MTQ3LCAtOTkuNTc4MzVdLCBbMzQuNDA0MTkzLCAtOTkuMjYwNjg4XSwgWzM0LjIxMjUsIC05OS4xODk0ODhdLCBbMzQuMjIzNDU0LCAtOTguOTg2ODQxXSwgWzM0LjEzNTgyMywgLTk4Ljc2Nzc2M10sIFszNC4xNDY3NzcsIC05OC41NzA1OTNdLCBbMzQuMDY0NjIzLCAtOTguNDg4NDM5XSwgWzM0LjE1NzczMSwgLTk4LjM2MjQ3XSwgWzM0LjExMzkxNSwgLTk4LjE3MDc3N10sIFszNC4wMDQzNzYsIC05OC4wODg2MjNdLCBbMzMuOTg3OTQ2LCAtOTcuOTQ2MjIyXSwgWzMzLjg1MTAyMiwgLTk3Ljg2OTU0NV0sIFszMy45ODI0NjksIC05Ny42OTQyODNdLCBbMzMuOTA1NzkxLCAtOTcuNDU4Nzc0XSwgWzMzLjgyMzYzNywgLTk3LjM3MTE0M10sIFszMy44NjE5NzYsIC05Ny4yNTYxMjhdLCBbMzMuNzM2MDA2LCAtOTcuMTczOTc0XSwgWzMzLjk2MDU2MSwgLTk2LjkyMjAzNF0sIFszMy44NDU1NDUsIC05Ni44NTA4MzRdLCBbMzMuODQ1NTQ1LCAtOTYuNjMxNzU2XSwgWzMzLjc3NDM0NSwgLTk2LjQyMzYzM10sIFszMy42ODY3MTQsIC05Ni4zNDY5NTZdLCBbMzMuODQwMDY4LCAtOTYuMTQ5Nzg2XSwgWzMzLjg4OTM2MSwgLTk1LjkzNjE4NV0sIFszMy44MzQ1OTEsIC05NS44Mzc2XSwgWzMzLjkzMzE3NiwgLTk1LjYwMjA5Ml0sIFszMy44Nzg0MDcsIC05NS41NDczMjJdLCBbMzMuODcyOTMsIC05NS4yODk5MDZdLCBbMzMuOTYwNTYxLCAtOTUuMjI0MTgzXSwgWzMzLjg2MTk3NiwgLTk0Ljk2Njc2N10sIFszMy43NDY5NiwgLTk0Ljg2ODE4Ml0sIFszMy42Mzc0MjEsIC05NC40ODQ3OTZdLCBbMzMuNTQ0MzEzLCAtOTQuMzgwNzM0XSwgWzMzLjU5MzYwNiwgLTk0LjE4MzU2NF0sIFszMy41NDk3OSwgLTk0LjA0MTE2NF0sIFszMy4wMTg1MjcsIC05NC4wNDExNjRdLCBbMzEuOTk0MzM5LCAtOTQuMDQxMTY0XSwgWzMxLjc3NTI2MiwgLTkzLjgyMjA4Nl0sIFszMS41NTYxODQsIC05My44MTY2MDldLCBbMzEuMTUwODksIC05My41NDI3NjJdLCBbMzAuOTM3MjksIC05My41MjYzMzFdLCBbMzAuNjc5ODc0LCAtOTMuNjMwMzkzXSwgWzMwLjU3NTgxMiwgLTkzLjcyODk3OF0sIFszMC40Mzg4ODgsIC05My42OTYxMTZdLCBbMzAuMzM0ODI2LCAtOTMuNzY3MzE3XSwgWzMwLjE0MzEzMywgLTkzLjY5MDYzOV0sIFsyOS43ODcxMzIsIC05My45MjYxNDhdLCBbMjkuNjg4NTQ3LCAtOTMuODM4NTE3XSwgWzI5LjY4MzA3LCAtOTQuMDAyODI1XSwgWzI5LjU0NjE0NywgLTk0LjUyMzEzNF0sIFsyOS42MjI4MjQsIC05NC43MDkzNV0sIFsyOS43ODcxMzIsIC05NC43NDIyMTJdLCBbMjkuNjcyMTE3LCAtOTQuODczNjU5XSwgWzI5LjY5OTUwMSwgLTk0Ljk2Njc2N10sIFsyOS41NTcxMDEsIC05NS4wMTYwNTldLCBbMjkuNDk2ODU0LCAtOTQuOTExOTk3XSwgWzI5LjMxMDYzOCwgLTk0Ljg5NTU2Nl0sIFsyOS4xMTM0NjksIC05NS4wODE3ODJdLCBbMjguODY3MDA2LCAtOTUuMzgzMDE0XSwgWzI4LjYwNDExMywgLTk1Ljk4NTQ3N10sIFsyOC42NDc5MjksIC05Ni4wNDU3MjRdLCBbMjguNTgyMjA1LCAtOTYuMjI2NDYzXSwgWzI4LjY0MjQ1MiwgLTk2LjIzMTk0XSwgWzI4LjU5ODYzNiwgLTk2LjQ3ODQwMl0sIFsyOC43MjQ2MDYsIC05Ni41OTM0MThdLCBbMjguNjk3MjIxLCAtOTYuNjY0NjE4XSwgWzI4LjQzOTgwNSwgLTk2LjQwMTcyNV0sIFsyOC4zNTc2NTEsIC05Ni41OTM0MThdLCBbMjguNDA2OTQzLCAtOTYuNzc0MTU3XSwgWzI4LjIyNjIwNCwgLTk2LjgwMTU0Ml0sIFsyOC4wMzk5ODgsIC05Ny4wMjYwOTZdLCBbMjcuNjk0OTQxLCAtOTcuMjU2MTI4XSwgWzI3LjMzMzQ2MywgLTk3LjQwNDAwNV0sIFsyNy4zNjA4NDgsIC05Ny41MTM1NDRdLCBbMjcuMjI5NDAxLCAtOTcuNTQwOTI5XSwgWzI3LjI2MjI2MywgLTk3LjQyNTkxM10sIFsyNi45OTkzNywgLTk3LjQ4MDY4Ml0sIFsyNi45ODg0MTYsIC05Ny41NTczNTldLCBbMjYuODQwNTM4LCAtOTcuNTYyODM2XSwgWzI2Ljc1ODM4NCwgLTk3LjQ2OTcyOF0sIFsyNi40NTcxNTMsIC05Ny40NDIzNDRdLCBbMjYuMzUzMDkxLCAtOTcuMzMyODA1XSwgWzI2LjE2MTM5OCwgLTk3LjMwNTQyXSwgWzI1Ljk5MTYxMywgLTk3LjIxNzc4OV0sIFsyNS44ODc1NTEsIC05Ny41MjQ0OThdLCBbMjYuMDE4OTk3LCAtOTcuNjUwNDY3XSwgWzI2LjA2ODI5LCAtOTcuODg1OTc2XSwgWzI2LjA1NzMzNiwgLTk4LjE5ODE2MV0sIFsyNi4yMjE2NDQsIC05OC40NjY1MzFdLCBbMjYuMjM4MDc1LCAtOTguNjY5MTc4XSwgWzI2LjM2OTUyMiwgLTk4LjgyMjUzM10sIFsyNi40MTMzMzcsIC05OS4wMzA2NTZdLCBbMjYuNTM5MzA3LCAtOTkuMTczMDU3XSwgWzI2Ljg0MDUzOCwgLTk5LjI2NjE2NV0sIFsyNy4wMjEyNzcsIC05OS40NDY5MDRdLCBbMjcuMTc0NjMyLCAtOTkuNDI0OTk2XSwgWzI3LjMzODk0LCAtOTkuNTA3MTVdLCBbMjcuNDgxMzQsIC05OS40Nzk3NjVdLCBbMjcuNjQwMTcyLCAtOTkuNjA1NzM1XSwgWzI3LjY1NjYwMywgLTk5LjcwOTc5N10sIFsyNy43OTkwMDMsIC05OS44Nzk1ODJdLCBbMjcuOTc5NzQyLCAtOTkuOTM0MzUxXSwgWzI4LjE0NDA1LCAtMTAwLjA4MjIyOV0sIFsyOC4yODA5NzQsIC0xMDAuMjk1ODNdLCBbMjguNTgyMjA1LCAtMTAwLjM5OTg5MV0sIFsyOC42NjQzNiwgLTEwMC40OTg0NzZdLCBbMjguOTA1MzQ1LCAtMTAwLjYyOTkyM10sIFsyOS4xMDI1MTUsIC0xMDAuNjczNzM4XSwgWzI5LjI0NDkxNSwgLTEwMC43OTk3MDhdLCBbMjkuMzcwODg1LCAtMTAxLjAxMzMwOV0sIFsyOS40NTg1MTYsIC0xMDEuMDYyNjAxXSwgWzI5LjUzNTE5MywgLTEwMS4yNTk3NzFdLCBbMjkuNzU0MjcxLCAtMTAxLjQxMzEyNV0sIFsyOS44MDM1NjMsIC0xMDEuODUxMjgxXSwgWzI5Ljc5MjYwOSwgLTEwMi4xMTQxNzRdLCBbMjkuODY5Mjg2LCAtMTAyLjMzODcyOF0sIFsyOS43NjUyMjUsIC0xMDIuMzg4MDIxXSwgWzI5LjczMjM2MywgLTEwMi42MjkwMDZdLCBbMjkuNTI0MjM5LCAtMTAyLjgwOTc0NV0sIFsyOS4xOTAxNDYsIC0xMDIuOTE5Mjg0XSwgWzI5LjE4NDY2OSwgLTEwMi45Nzk1M10sIFsyOC45ODc0OTksIC0xMDMuMTE2NDU0XSwgWzI4Ljk4MjAyMiwgLTEwMy4yODA3NjJdLCBbMjkuMTM1Mzc2LCAtMTAzLjUyNzIyNF0sIFsyOS4zODE4MzksIC0xMDQuMTQ2MTE5XSwgWzI5LjUxMzI4NSwgLTEwNC4yNjY2MTFdLCBbMjkuNjM5MjU1LCAtMTA0LjUwNzU5N10sIFsyOS45MjQwNTYsIC0xMDQuNjc3MzgyXSwgWzMwLjE4MTQ3MiwgLTEwNC42ODgzMzZdLCBbMzAuMzg5NTk2LCAtMTA0Ljg1ODEyMV0sIFszMC41NzAzMzUsIC0xMDQuODk2NDU5XSwgWzMwLjY4NTM1MSwgLTEwNS4wMDU5OThdLCBbMzAuODU1MTM2LCAtMTA1LjM5NDg2MV0sIFszMS4wODUxNjcsIC0xMDUuNjAyOTg1XSwgWzMxLjE2NzMyMSwgLTEwNS43NzI3N10sIFszMS4zNjQ0OTEsIC0xMDUuOTUzNTA5XSwgWzMxLjQ2ODU1MywgLTEwNi4yMDU0NDhdLCBbMzEuNzMxNDQ2LCAtMTA2LjM4MDcxXSwgWzMxLjc4NjIxNiwgLTEwNi41Mjg1ODhdLCBbMzEuOTAxMjMxLCAtMTA2LjY0MzYwM10sIFszMS45OTk4MTYsIC0xMDYuNjE2MjE5XSwgWzMxLjk5OTgxNiwgLTEwMy4wNjcxNjFdLCBbMzMuMDAyMDk2LCAtMTAzLjA2NzE2MV0sIFszNC4wMTUzMywgLTEwMy4wNDUyNTRdLCBbMzYuNTAxODYxLCAtMTAzLjAzOTc3N10sIFszNi41MDE4NjEsIC0xMDMuMDAxNDM4XSwgWzM2LjUwMTg2MSwgLTEwMS44MTI5NDJdXV0sCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJ2dyZWVuJywKICAgICAgICAgICAgICAgICAgICAgICAgd2VpZ2h0OiAwLAogICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICBmZWF0dXJlX2dyb3VwX2Q0OTc2Y2E5ZmZhMjQ5ZWM5NWYzN2ZhZTNkMWE3MzAwLmFkZExheWVyKG11bHRpX3BvbHlnb25fZWUxZTMwODM5M2Y2NDk1MjljOWJlOGM0ZjJmMWM3ZDApOwogICAgICAgICAgICAKICAgICAgICAKICAgICAgICAgICAgCiAgICAgICAgICAgIHZhciBwb3B1cF8xYjJiYWViOGIyZTA0NjcwYTA0Njc2ZmY2YjEzNmQ5ZCA9IEwucG9wdXAoe21heFdpZHRoOiAnMzAwJ30pOwoKICAgICAgICAgICAgCiAgICAgICAgICAgICAgICB2YXIgaHRtbF8yNDhkYTk1NzljYzE0OWZjYTY5MGI5NzBkNWI5NTdmMyA9ICQoJyAgICAgICAgIDxkaXYgaWQ9Imh0bWxfMjQ4ZGE5NTc5Y2MxNDlmY2E2OTBiOTcwZDViOTU3ZjMiICAgICAgICAgICAgICAgICBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij4gICAgICAgICAgICAgICAgIFRleGFzPC9kaXY+ICAgICAgICAgICAgICAgICAnKVswXTsKICAgICAgICAgICAgICAgIHBvcHVwXzFiMmJhZWI4YjJlMDQ2NzBhMDQ2NzZmZjZiMTM2ZDlkLnNldENvbnRlbnQoaHRtbF8yNDhkYTk1NzljYzE0OWZjYTY5MGI5NzBkNWI5NTdmMyk7CiAgICAgICAgICAgIAoKICAgICAgICAgICAgbXVsdGlfcG9seWdvbl9lZTFlMzA4MzkzZjY0OTUyOWM5YmU4YzRmMmYxYzdkMC5iaW5kUG9wdXAocG9wdXBfMWIyYmFlYjhiMmUwNDY3MGEwNDY3NmZmNmIxMzZkOWQpOwoKICAgICAgICAgICAgCiAgICAgICAgCiAgICAgICAgCiAgICAgICAgICAgIAogICAgICAgICAgICAgICAgdmFyIG11bHRpX3BvbHlnb25fNjIzNjBhYzU4YTJkNDBlY2JmZDc3ZjgyM2VlMGEwMjggPSBMLm11bHRpUG9seWdvbigKICAgICAgICAgICAgICAgICAgICBbW1s0MS45OTUyMzIsIC0xMTIuMTY0MzU5XSwgWzQyLjAwMDcwOSwgLTExMS4wNDcwNjNdLCBbNDAuOTk4NDI5LCAtMTExLjA0NzA2M10sIFs0MC45OTg0MjksIC0xMDkuMDQ3OThdLCBbMzkuMTI1MzE2LCAtMTA5LjA1MzQ1N10sIFszOC4yNzYzOSwgLTEwOS4wNTg5MzRdLCBbMzguMTY2ODUxLCAtMTA5LjA0MjUwM10sIFszNy4wMDAyNjMsIC0xMDkuMDQyNTAzXSwgWzM3LjAwNTc0LCAtMTEwLjQ5OTM2OV0sIFszNy4wMDAyNjMsIC0xMTQuMDQ4NDI3XSwgWzQxLjk5NTIzMiwgLTExNC4wNDI5NV0sIFs0MS45OTUyMzIsIC0xMTIuMTY0MzU5XV1dLAogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICcjZmZmZjAwJywKICAgICAgICAgICAgICAgICAgICAgICAgd2VpZ2h0OiAwLAogICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICBmZWF0dXJlX2dyb3VwX2Q0OTc2Y2E5ZmZhMjQ5ZWM5NWYzN2ZhZTNkMWE3MzAwLmFkZExheWVyKG11bHRpX3BvbHlnb25fNjIzNjBhYzU4YTJkNDBlY2JmZDc3ZjgyM2VlMGEwMjgpOwogICAgICAgICAgICAKICAgICAgICAKICAgICAgICAgICAgCiAgICAgICAgICAgIHZhciBwb3B1cF9hMTE3MWY2OWFhODU0M2ZjYjU0ODMxMDQ4NTM0YWYyZCA9IEwucG9wdXAoe21heFdpZHRoOiAnMzAwJ30pOwoKICAgICAgICAgICAgCiAgICAgICAgICAgICAgICB2YXIgaHRtbF9kMDc2ODQxMWNjMmI0NzgyYjNiMTMzN2JjNjA3YjEzNCA9ICQoJyAgICAgICAgIDxkaXYgaWQ9Imh0bWxfZDA3Njg0MTFjYzJiNDc4MmIzYjEzMzdiYzYwN2IxMzQiICAgICAgICAgICAgICAgICBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij4gICAgICAgICAgICAgICAgIFV0YWg8L2Rpdj4gICAgICAgICAgICAgICAgICcpWzBdOwogICAgICAgICAgICAgICAgcG9wdXBfYTExNzFmNjlhYTg1NDNmY2I1NDgzMTA0ODUzNGFmMmQuc2V0Q29udGVudChodG1sX2QwNzY4NDExY2MyYjQ3ODJiM2IxMzM3YmM2MDdiMTM0KTsKICAgICAgICAgICAgCgogICAgICAgICAgICBtdWx0aV9wb2x5Z29uXzYyMzYwYWM1OGEyZDQwZWNiZmQ3N2Y4MjNlZTBhMDI4LmJpbmRQb3B1cChwb3B1cF9hMTE3MWY2OWFhODU0M2ZjYjU0ODMxMDQ4NTM0YWYyZCk7CgogICAgICAgICAgICAKICAgICAgICAKICAgICAgICAKICAgICAgICAgICAgCiAgICAgICAgICAgICAgICB2YXIgbXVsdGlfcG9seWdvbl9mNDdmMTdlMmExZGE0ZGRhYTlmMDg3YmQxMWY2ZDk1ZiA9IEwubXVsdGlQb2x5Z29uKAogICAgICAgICAgICAgICAgICAgIFtbWzQ1LjAxMzAyNywgLTcxLjUwMzU1NF0sIFs0NC45MTQ0NDIsIC03MS40OTI2XSwgWzQ0Ljc1MDEzMywgLTcxLjYyOTUyNF0sIFs0NC41ODU4MjUsIC03MS41MzY0MTZdLCBbNDQuNDE2MDQsIC03MS43MDA3MjRdLCBbNDQuMzIyOTMyLCAtNzIuMDM0ODE3XSwgWzQ0LjA3NjQ3LCAtNzIuMDI5MzRdLCBbNDMuOTk0MzE2LCAtNzIuMTE2OTcxXSwgWzQzLjc2OTc2MSwgLTcyLjIwNDYwMl0sIFs0My41NzI1OTEsIC03Mi4zNzk4NjRdLCBbNDMuMTUwODY3LCAtNzIuNDU2NTQyXSwgWzQzLjAwODQ2NiwgLTcyLjQ0NTU4OF0sIFs0Mi45NTM2OTcsIC03Mi41MzMyMTldLCBbNDIuODA1ODIsIC03Mi41NDQxNzNdLCBbNDIuNzI5MTQyLCAtNzIuNDU2NTQyXSwgWzQyLjc0NTU3MywgLTczLjI2NzEyOV0sIFs0Mi44MzMyMDQsIC03My4yNzgwODNdLCBbNDMuNTIzMjk5LCAtNzMuMjQ1MjIxXSwgWzQzLjY4NzYwNywgLTczLjQwNDA1Ml0sIFs0My43Njk3NjEsIC03My4zNDkyODNdLCBbNDQuMDQzNjA4LCAtNzMuNDM2OTE0XSwgWzQ0LjI0NjI1NSwgLTczLjMyMTg5OF0sIFs0NC40Mzc5NDgsIC03My4yOTQ1MTRdLCBbNDQuNjE4Njg3LCAtNzMuMzg3NjIyXSwgWzQ0LjgwNDkwMywgLTczLjMzMjg1Ml0sIFs0NS4wMTMwMjcsIC03My4zNDM4MDZdLCBbNDUuMDAyMDczLCAtNzIuMzA4NjY0XSwgWzQ1LjAxMzAyNywgLTcxLjUwMzU1NF1dXSwKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAnZ3JlZW4nLAogICAgICAgICAgICAgICAgICAgICAgICB3ZWlnaHQ6IDAsCiAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgIGZlYXR1cmVfZ3JvdXBfZDQ5NzZjYTlmZmEyNDllYzk1ZjM3ZmFlM2QxYTczMDAuYWRkTGF5ZXIobXVsdGlfcG9seWdvbl9mNDdmMTdlMmExZGE0ZGRhYTlmMDg3YmQxMWY2ZDk1Zik7CiAgICAgICAgICAgIAogICAgICAgIAogICAgICAgICAgICAKICAgICAgICAgICAgdmFyIHBvcHVwX2U4ZWFlZGI3NzMzYzQ1YThhZmY1OTQyMjYyNDc1MGE1ID0gTC5wb3B1cCh7bWF4V2lkdGg6ICczMDAnfSk7CgogICAgICAgICAgICAKICAgICAgICAgICAgICAgIHZhciBodG1sXzhkMWEzMjZhYzlhNzQ1NDk4MzJiZjhlYjM0MmJkOTBmID0gJCgnICAgICAgICAgPGRpdiBpZD0iaHRtbF84ZDFhMzI2YWM5YTc0NTQ5ODMyYmY4ZWIzNDJiZDkwZiIgICAgICAgICAgICAgICAgIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPiAgICAgICAgICAgICAgICAgVmVybW9udDwvZGl2PiAgICAgICAgICAgICAgICAgJylbMF07CiAgICAgICAgICAgICAgICBwb3B1cF9lOGVhZWRiNzczM2M0NWE4YWZmNTk0MjI2MjQ3NTBhNS5zZXRDb250ZW50KGh0bWxfOGQxYTMyNmFjOWE3NDU0OTgzMmJmOGViMzQyYmQ5MGYpOwogICAgICAgICAgICAKCiAgICAgICAgICAgIG11bHRpX3BvbHlnb25fZjQ3ZjE3ZTJhMWRhNGRkYWE5ZjA4N2JkMTFmNmQ5NWYuYmluZFBvcHVwKHBvcHVwX2U4ZWFlZGI3NzMzYzQ1YThhZmY1OTQyMjYyNDc1MGE1KTsKCiAgICAgICAgICAgIAogICAgICAgIAogICAgICAgIAogICAgICAgICAgICAKICAgICAgICAgICAgICAgIHZhciBtdWx0aV9wb2x5Z29uX2E0ZDZiMDMxMjg1ZDQxNTNhMWZhMDdjNDMyYTJkNjhhID0gTC5tdWx0aVBvbHlnb24oCiAgICAgICAgICAgICAgICAgICAgW1tbWzM4LjAxMzQ5NywgLTc1LjM5NzY1OV0sIFszOC4wMjk5MjgsIC03NS4yNDQzMDRdLCBbMzcuODYwMTQyLCAtNzUuMzc1NzUxXSwgWzM3Ljc5OTg5NiwgLTc1LjUxMjY3NF0sIFszNy41Njk4NjUsIC03NS41OTQ4MjhdLCBbMzcuMTk3NDMzLCAtNzUuODAyOTUyXSwgWzM3LjEyMDc1NSwgLTc1Ljk3MjczN10sIFszNy4yNTc2NzksIC03Ni4wMjc1MDddLCBbMzcuNTY0Mzg4LCAtNzUuOTM5ODc2XSwgWzM3Ljk1MzI1LCAtNzUuNjcxNTA2XSwgWzM4LjAxMzQ5NywgLTc1LjM5NzY1OV1dXSwgW1tbMzcuOTUzMjUsIC03Ni4wMTY1NTNdLCBbMzcuOTUzMjUsIC03NS45OTQ2NDVdLCBbMzcuOTUzMjUsIC03Ni4wNDM5MzhdLCBbMzcuOTUzMjUsIC03Ni4wMTY1NTNdXV0sIFtbWzM5LjQ2NDg4NiwgLTc4LjM0OTcyOV0sIFszOS4xMzA3OTMsIC03Ny44Mjk0Ml0sIFszOS4zMjI0ODUsIC03Ny43MTk4ODFdLCBbMzkuMzA2MDU1LCAtNzcuNTY2NTI3XSwgWzM5LjIyMzkwMSwgLTc3LjQ1Njk4OF0sIFszOS4wNzYwMjMsIC03Ny40NTY5ODhdLCBbMzkuMDI2NzMxLCAtNzcuMjQ4ODY0XSwgWzM4LjkzMzYyMywgLTc3LjExNzQxOF0sIFszOC43OTEyMjIsIC03Ny4wNDA3NDFdLCBbMzguNjMyMzkxLCAtNzcuMTI4MzcyXSwgWzM4LjU4ODU3NSwgLTc3LjI0ODg2NF0sIFszOC40NDYxNzUsIC03Ny4zMjU1NDJdLCBbMzguMzQyMTEzLCAtNzcuMjgxNzI2XSwgWzM4LjM3NDk3NSwgLTc3LjAxMzM1Nl0sIFszOC4yMTYxNDQsIC03Ni45NjQwNjRdLCBbMzguMTUwNDIsIC03Ni42MTM1MzldLCBbMzguMDI0NDUxLCAtNzYuNTE0OTU0XSwgWzM3Ljg4NzUyNywgLTc2LjIzNTYzMV0sIFszNy42MDgyMDMsIC03Ni4zNjE2XSwgWzM3LjM4OTEyNiwgLTc2LjI0NjU4NF0sIFszNy4yODUwNjQsIC03Ni4zODM1MDhdLCBbMzcuMTU5MDk0LCAtNzYuMzk5OTM5XSwgWzM3LjA4MjQxNywgLTc2LjI3Mzk2OV0sIFszNi45NjE5MjQsIC03Ni40MTA4OTNdLCBbMzcuMTIwNzU1LCAtNzYuNjE5MDE2XSwgWzM3LjA2NTk4NiwgLTc2LjY2ODMwOV0sIFszNi45NTA5NywgLTc2LjQ4NzU3XSwgWzM2LjkyMzU4NiwgLTc1Ljk5NDY0NV0sIFszNi41NTExNTQsIC03NS44Njg2NzZdLCBbMzYuNTQwMiwgLTc5LjUxMDg0MV0sIFszNi41NDU2NzcsIC04MC4yOTQwNDNdLCBbMzYuNTYyMTA4LCAtODAuOTc4NjYxXSwgWzM2LjU4OTQ5MiwgLTgxLjY3OTcwOV0sIFszNi42MDA0NDYsIC04My42NzMzMTZdLCBbMzYuNzQyODQ3LCAtODMuMTM2NTc1XSwgWzM2Ljg1MjM4NSwgLTgzLjA3MDg1Ml0sIFszNi44OTA3MjQsIC04Mi44NzkxNTldLCBbMzYuOTc4MzU1LCAtODIuODY4MjA1XSwgWzM3LjA0NDA3OCwgLTgyLjcyMDMyOF0sIFszNy4xMjA3NTUsIC04Mi43MjAzMjhdLCBbMzcuMjY4NjMzLCAtODIuMzUzMzczXSwgWzM3LjUzNzAwMywgLTgxLjk2OTk4N10sIFszNy40NTQ4NDksIC04MS45ODY0MThdLCBbMzcuMjg1MDY0LCAtODEuODQ5NDk0XSwgWzM3LjIwMjkxLCAtODEuNjc5NzA5XSwgWzM3LjIwODM4NywgLTgxLjU1Mzc0XSwgWzM3LjMzOTgzMywgLTgxLjM2MjA0N10sIFszNy4yMzU3NzEsIC04MS4yMjUxMjNdLCBbMzcuMjkwNTQxLCAtODAuOTY3NzA3XSwgWzM3LjQ4MjIzNCwgLTgwLjUxMzEyMV0sIFszNy40MjE5ODcsIC04MC40NzQ3ODJdLCBbMzcuNTA5NjE4LCAtODAuMjk5NTJdLCBbMzcuNjkwMzU3LCAtODAuMjk0MDQzXSwgWzM3Ljg0OTE4OSwgLTgwLjE4NDUwNV0sIFszNy45OTcwNjYsIC03OS45OTgyODldLCBbMzguMTc3ODA1LCAtNzkuOTIxNjExXSwgWzM4LjM2NDAyMSwgLTc5LjcyNDQ0Ml0sIFszOC41OTQwNTIsIC03OS42NDc3NjRdLCBbMzguNDU3MTI5LCAtNzkuNDc3OTc5XSwgWzM4LjQxMzMxMywgLTc5LjMxMzY3MV0sIFszOC40OTU0NjcsIC03OS4yMDk2MDldLCBbMzguODUxNDY5LCAtNzguOTk2MDA4XSwgWzM4Ljc2MzgzOCwgLTc4Ljg3MDAzOV0sIFszOS4xNjkxMzEsIC03OC40MDQ0OTldLCBbMzkuNDY0ODg2LCAtNzguMzQ5NzI5XV1dXSwKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAnI2ZmZmYwMCcsCiAgICAgICAgICAgICAgICAgICAgICAgIHdlaWdodDogMCwKICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgZmVhdHVyZV9ncm91cF9kNDk3NmNhOWZmYTI0OWVjOTVmMzdmYWUzZDFhNzMwMC5hZGRMYXllcihtdWx0aV9wb2x5Z29uX2E0ZDZiMDMxMjg1ZDQxNTNhMWZhMDdjNDMyYTJkNjhhKTsKICAgICAgICAgICAgCiAgICAgICAgCiAgICAgICAgICAgIAogICAgICAgICAgICB2YXIgcG9wdXBfYzQzOWQzNGE0MDk4NDliYjgyYmZkNDRkN2QxYTI1ODIgPSBMLnBvcHVwKHttYXhXaWR0aDogJzMwMCd9KTsKCiAgICAgICAgICAgIAogICAgICAgICAgICAgICAgdmFyIGh0bWxfMGFkODI2ZTMyYzA1NDkwZmJlNmVkYzBkNTIzNWUxZjUgPSAkKCcgICAgICAgICA8ZGl2IGlkPSJodG1sXzBhZDgyNmUzMmMwNTQ5MGZiZTZlZGMwZDUyMzVlMWY1IiAgICAgICAgICAgICAgICAgc3R5bGU9IndpZHRoOiAxMDAuMCU7IGhlaWdodDogMTAwLjAlOyI+ICAgICAgICAgICAgICAgICBWaXJnaW5pYTwvZGl2PiAgICAgICAgICAgICAgICAgJylbMF07CiAgICAgICAgICAgICAgICBwb3B1cF9jNDM5ZDM0YTQwOTg0OWJiODJiZmQ0NGQ3ZDFhMjU4Mi5zZXRDb250ZW50KGh0bWxfMGFkODI2ZTMyYzA1NDkwZmJlNmVkYzBkNTIzNWUxZjUpOwogICAgICAgICAgICAKCiAgICAgICAgICAgIG11bHRpX3BvbHlnb25fYTRkNmIwMzEyODVkNDE1M2ExZmEwN2M0MzJhMmQ2OGEuYmluZFBvcHVwKHBvcHVwX2M0MzlkMzRhNDA5ODQ5YmI4MmJmZDQ0ZDdkMWEyNTgyKTsKCiAgICAgICAgICAgIAogICAgICAgIAogICAgICAgIAogICAgICAgICAgICAKICAgICAgICAgICAgICAgIHZhciBtdWx0aV9wb2x5Z29uX2EyN2VmOGE2YjJlOTQ4Y2ViMzlhMDJkNmFlNDRlYmZiID0gTC5tdWx0aVBvbHlnb24oCiAgICAgICAgICAgICAgICAgICAgW1tbWzQ5LjAwMDIzOSwgLTExNy4wMzMzNTldLCBbNDcuNzYyNDUxLCAtMTE3LjA0NDMxM10sIFs0Ni40MjYwNzcsIC0xMTcuMDM4ODM2XSwgWzQ2LjM0MzkyMywgLTExNy4wNTUyNjddLCBbNDYuMTY4NjYxLCAtMTE2LjkyMzgyXSwgWzQ1Ljk5MzM5OSwgLTExNi45MTgzNDRdLCBbNDUuOTk4ODc2LCAtMTE4Ljk4ODYyN10sIFs0NS45MzMxNTMsIC0xMTkuMTI1NTUxXSwgWzQ1LjkxMTI0NSwgLTExOS41MjUzNjddLCBbNDUuODIzNjE0LCAtMTE5Ljk2MzUyMl0sIFs0NS43MjUwMjksIC0xMjAuMjA5OTg1XSwgWzQ1LjY5NzY0NCwgLTEyMC41MDU3MzldLCBbNDUuNzQ2OTM3LCAtMTIwLjYzNzE4Nl0sIFs0NS42MDQ1MzYsIC0xMjEuMTg0ODhdLCBbNDUuNjcwMjU5LCAtMTIxLjIxNzc0Ml0sIFs0NS43MjUwMjksIC0xMjEuNTM1NDA0XSwgWzQ1LjcwODU5OCwgLTEyMS44MDkyNTFdLCBbNDUuNTQ5NzY3LCAtMTIyLjI0NzQwN10sIFs0NS42NTkzMDUsIC0xMjIuNzYyMjM5XSwgWzQ1Ljk2MDUzNywgLTEyMi44MTE1MzFdLCBbNDYuMDgxMDMsIC0xMjIuOTA0NjM5XSwgWzQ2LjE4NTA5MiwgLTEyMy4xMTgyNF0sIFs0Ni4xNzQxMzgsIC0xMjMuMjExMzQ4XSwgWzQ2LjE0Njc1MywgLTEyMy4zNzAxNzldLCBbNDYuMjYxNzY5LCAtMTIzLjU0NTQ0MV0sIFs0Ni4zMDAxMDgsIC0xMjMuNzI2MThdLCBbNDYuMjM5ODYxLCAtMTIzLjg3NDA1OF0sIFs0Ni4zMjc0OTIsIC0xMjQuMDY1NzUxXSwgWzQ2LjQ2NDQxNiwgLTEyNC4wMjc0MTJdLCBbNDYuNTM1NjE2LCAtMTIzLjg5NTk2Nl0sIFs0Ni43NDM3NCwgLTEyNC4wOTg2MTJdLCBbNDcuMjg1OTU3LCAtMTI0LjIzNTUzNl0sIFs0Ny4zNTcxNTcsIC0xMjQuMzE3NjldLCBbNDcuNzQwNTQzLCAtMTI0LjQyNzIyOV0sIFs0Ny44ODg0MiwgLTEyNC42MjQzOTldLCBbNDguMTg0MTc1LCAtMTI0LjcwNjU1M10sIFs0OC4zODEzNDUsIC0xMjQuNTk3MDE0XSwgWzQ4LjI4ODIzNywgLTEyNC4zOTQzNjddLCBbNDguMTYyMjY3LCAtMTIzLjk4MzU5N10sIFs0OC4xNjc3NDQsIC0xMjMuNzA0MjczXSwgWzQ4LjExODQ1MiwgLTEyMy40MjQ5NDldLCBbNDguMTY3NzQ0LCAtMTIzLjE2MjA1Nl0sIFs0OC4wODAxMTMsIC0xMjMuMDM2MDg2XSwgWzQ4LjA4NTU5LCAtMTIyLjgwMDU3OF0sIFs0Ny44NjY1MTIsIC0xMjIuNjM2MjY5XSwgWzQ3Ljg4Mjk0MywgLTEyMi41MTU3NzddLCBbNDcuNTg3MTg5LCAtMTIyLjQ5Mzg2OV0sIFs0Ny4zMTg4MTgsIC0xMjIuNDIyNjY5XSwgWzQ3LjM0NjIwMywgLTEyMi4zMjQwODRdLCBbNDcuNTc2MjM1LCAtMTIyLjQyMjY2OV0sIFs0Ny44MDA3ODksIC0xMjIuMzk1Mjg0XSwgWzQ4LjAzMDgyMSwgLTEyMi4yMzA5NzZdLCBbNDguMTIzOTI5LCAtMTIyLjM2MjQyMl0sIFs0OC4yODgyMzcsIC0xMjIuMzczMzc2XSwgWzQ4LjQ2ODk3NiwgLTEyMi40NzE5NjFdLCBbNDguNjAwNDIyLCAtMTIyLjQyMjY2OV0sIFs0OC43NTM3NzcsIC0xMjIuNDg4MzkyXSwgWzQ4Ljc3NTY4NSwgLTEyMi42NDcyMjNdLCBbNDguODkwNywgLTEyMi43OTUxMDFdLCBbNDkuMDAwMjM5LCAtMTIyLjc1Njc2Ml0sIFs0OS4wMDAyMzksIC0xMTcuMDMzMzU5XV1dLCBbW1s0OC4zMTAxNDUsIC0xMjIuNzE4NDIzXSwgWzQ4LjM1Mzk2LCAtMTIyLjU4Njk3N10sIFs0OC4xNTEzMTMsIC0xMjIuNjA4ODg1XSwgWzQ4LjIyNzk5MSwgLTEyMi43Njc3MTZdLCBbNDguMzEwMTQ1LCAtMTIyLjcxODQyM11dXSwgW1tbNDguNTgzOTkyLCAtMTIzLjAyNTEzMl0sIFs0OC43MTU0MzgsIC0xMjIuOTE1NTkzXSwgWzQ4LjU1NjYwNywgLTEyMi43Njc3MTZdLCBbNDguNDE5NjgzLCAtMTIyLjgxMTUzMV0sIFs0OC40NTgwMjIsIC0xMjMuMDQxNTYzXSwgWzQ4LjU4Mzk5MiwgLTEyMy4wMjUxMzJdXV1dLAogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICcjZmZmZjAwJywKICAgICAgICAgICAgICAgICAgICAgICAgd2VpZ2h0OiAwLAogICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICBmZWF0dXJlX2dyb3VwX2Q0OTc2Y2E5ZmZhMjQ5ZWM5NWYzN2ZhZTNkMWE3MzAwLmFkZExheWVyKG11bHRpX3BvbHlnb25fYTI3ZWY4YTZiMmU5NDhjZWIzOWEwMmQ2YWU0NGViZmIpOwogICAgICAgICAgICAKICAgICAgICAKICAgICAgICAgICAgCiAgICAgICAgICAgIHZhciBwb3B1cF84MGIwNTQzNTY2YjM0YzRjYWE3MTdmOTA3OTJiZWUxNiA9IEwucG9wdXAoe21heFdpZHRoOiAnMzAwJ30pOwoKICAgICAgICAgICAgCiAgICAgICAgICAgICAgICB2YXIgaHRtbF85Mzg2Mzc4N2M5NWM0ODk0YmE0MTI3ZGI4MDQ3OTEzNiA9ICQoJyAgICAgICAgIDxkaXYgaWQ9Imh0bWxfOTM4NjM3ODdjOTVjNDg5NGJhNDEyN2RiODA0NzkxMzYiICAgICAgICAgICAgICAgICBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij4gICAgICAgICAgICAgICAgIFdhc2hpbmd0b248L2Rpdj4gICAgICAgICAgICAgICAgICcpWzBdOwogICAgICAgICAgICAgICAgcG9wdXBfODBiMDU0MzU2NmIzNGM0Y2FhNzE3ZjkwNzkyYmVlMTYuc2V0Q29udGVudChodG1sXzkzODYzNzg3Yzk1YzQ4OTRiYTQxMjdkYjgwNDc5MTM2KTsKICAgICAgICAgICAgCgogICAgICAgICAgICBtdWx0aV9wb2x5Z29uX2EyN2VmOGE2YjJlOTQ4Y2ViMzlhMDJkNmFlNDRlYmZiLmJpbmRQb3B1cChwb3B1cF84MGIwNTQzNTY2YjM0YzRjYWE3MTdmOTA3OTJiZWUxNik7CgogICAgICAgICAgICAKICAgICAgICAKICAgICAgICAKICAgICAgICAgICAgCiAgICAgICAgICAgICAgICB2YXIgbXVsdGlfcG9seWdvbl8xNDFmYzliZTFiZTA0MjliYmU3ZGY0YThiOWU5Y2E3MiA9IEwubXVsdGlQb2x5Z29uKAogICAgICAgICAgICAgICAgICAgIFtbWzQwLjYzNjk1MSwgLTgwLjUxODU5OF0sIFszOS43MjIzMDIsIC04MC41MTg1OThdLCBbMzkuNzIyMzAyLCAtNzkuNDc3OTc5XSwgWzM5LjIwNzQ3LCAtNzkuNDg4OTMzXSwgWzM5LjMwMDU3OCwgLTc5LjI5MTc2M10sIFszOS40NzAzNjMsIC03OS4wOTQ1OTNdLCBbMzkuNDM3NTAxLCAtNzguOTYzMTQ3XSwgWzM5LjU4NTM3OSwgLTc4Ljc2NTk3N10sIFszOS41MTQxNzgsIC03OC40NzAyMjJdLCBbMzkuNjIzNzE3LCAtNzguNDMxODg0XSwgWzM5LjYxODI0LCAtNzguMjY3NTc1XSwgWzM5LjY5NDkxNywgLTc4LjE3NDQ2N10sIFszOS42MDE4MDksIC03OC4wMDQ2ODJdLCBbMzkuNjAxODA5LCAtNzcuODM0ODk3XSwgWzM5LjMyMjQ4NSwgLTc3LjcxOTg4MV0sIFszOS4xMzA3OTMsIC03Ny44Mjk0Ml0sIFszOS40NjQ4ODYsIC03OC4zNDk3MjldLCBbMzkuMTY5MTMxLCAtNzguNDA0NDk5XSwgWzM4Ljc2MzgzOCwgLTc4Ljg3MDAzOV0sIFszOC44NTE0NjksIC03OC45OTYwMDhdLCBbMzguNDk1NDY3LCAtNzkuMjA5NjA5XSwgWzM4LjQxMzMxMywgLTc5LjMxMzY3MV0sIFszOC40NTcxMjksIC03OS40Nzc5NzldLCBbMzguNTk0MDUyLCAtNzkuNjQ3NzY0XSwgWzM4LjM2NDAyMSwgLTc5LjcyNDQ0Ml0sIFszOC4xNzc4MDUsIC03OS45MjE2MTFdLCBbMzcuOTk3MDY2LCAtNzkuOTk4Mjg5XSwgWzM3Ljg0OTE4OSwgLTgwLjE4NDUwNV0sIFszNy42OTAzNTcsIC04MC4yOTQwNDNdLCBbMzcuNTA5NjE4LCAtODAuMjk5NTJdLCBbMzcuNDIxOTg3LCAtODAuNDc0NzgyXSwgWzM3LjQ4MjIzNCwgLTgwLjUxMzEyMV0sIFszNy4yOTA1NDEsIC04MC45Njc3MDddLCBbMzcuMjM1NzcxLCAtODEuMjI1MTIzXSwgWzM3LjMzOTgzMywgLTgxLjM2MjA0N10sIFszNy4yMDgzODcsIC04MS41NTM3NF0sIFszNy4yMDI5MSwgLTgxLjY3OTcwOV0sIFszNy4yODUwNjQsIC04MS44NDk0OTRdLCBbMzcuNDU0ODQ5LCAtODEuOTg2NDE4XSwgWzM3LjUzNzAwMywgLTgxLjk2OTk4N10sIFszNy41NTM0MzQsIC04Mi4xMDE0MzRdLCBbMzcuNjY4NDQ5LCAtODIuMjkzMTI3XSwgWzM3Ljc4MzQ2NSwgLTgyLjM0MjQxOV0sIFszNy45MzEzNDMsIC04Mi41MDEyNV0sIFszOC4xMjMwMzYsIC04Mi42MjE3NDNdLCBbMzguNDI0MjY3LCAtODIuNTk0MzU4XSwgWzM4LjQ0NjE3NSwgLTgyLjMzMTQ2NV0sIFszOC41Nzc2MjIsIC04Mi4yOTMxMjddLCBbMzguNjMyMzkxLCAtODIuMTcyNjM0XSwgWzM4Ljc4NTc0NSwgLTgyLjIyMTkyNl0sIFszOS4wMjY3MzEsIC04Mi4wMzU3MV0sIFszOC44NzMzNzYsIC04MS44ODc4MzNdLCBbMzguOTY2NDg0LCAtODEuNzgzNzcxXSwgWzM5LjA4MTUsIC04MS44MTExNTZdLCBbMzkuMjczMTkzLCAtODEuNjg1MTg2XSwgWzM5LjI2NzcxNiwgLTgxLjU3MDE3XSwgWzM5LjQxMDExNywgLTgxLjQ1NTE1NV0sIFszOS4zNDQzOTMsIC04MS4zNDU2MTZdLCBbMzkuMzg4MjA5LCAtODEuMjE5NjQ2XSwgWzM5LjcxMTM0OCwgLTgwLjgzMDc4M10sIFs0MC4wNzgzMDMsIC04MC43Mzc2NzVdLCBbNDAuMzE5Mjg5LCAtODAuNjAwNzUyXSwgWzQwLjQ3MjY0MywgLTgwLjU5NTI3NV0sIFs0MC41ODIxODIsIC04MC42NjY0NzVdLCBbNDAuNjM2OTUxLCAtODAuNTE4NTk4XV1dLAogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICdncmVlbicsCiAgICAgICAgICAgICAgICAgICAgICAgIHdlaWdodDogMCwKICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgZmVhdHVyZV9ncm91cF9kNDk3NmNhOWZmYTI0OWVjOTVmMzdmYWUzZDFhNzMwMC5hZGRMYXllcihtdWx0aV9wb2x5Z29uXzE0MWZjOWJlMWJlMDQyOWJiZTdkZjRhOGI5ZTljYTcyKTsKICAgICAgICAgICAgCiAgICAgICAgCiAgICAgICAgICAgIAogICAgICAgICAgICB2YXIgcG9wdXBfOTRhNGRiMDM4ZDFkNDU5YTgxYTk1YTQ2M2M1OGZmZGUgPSBMLnBvcHVwKHttYXhXaWR0aDogJzMwMCd9KTsKCiAgICAgICAgICAgIAogICAgICAgICAgICAgICAgdmFyIGh0bWxfYWE2MDlkYjljNjgzNDBiYTk2MmFiOWE2MWQwY2ZiMmEgPSAkKCcgICAgICAgICA8ZGl2IGlkPSJodG1sX2FhNjA5ZGI5YzY4MzQwYmE5NjJhYjlhNjFkMGNmYjJhIiAgICAgICAgICAgICAgICAgc3R5bGU9IndpZHRoOiAxMDAuMCU7IGhlaWdodDogMTAwLjAlOyI+ICAgICAgICAgICAgICAgICBXZXN0IFZpcmdpbmlhPC9kaXY+ICAgICAgICAgICAgICAgICAnKVswXTsKICAgICAgICAgICAgICAgIHBvcHVwXzk0YTRkYjAzOGQxZDQ1OWE4MWE5NWE0NjNjNThmZmRlLnNldENvbnRlbnQoaHRtbF9hYTYwOWRiOWM2ODM0MGJhOTYyYWI5YTYxZDBjZmIyYSk7CiAgICAgICAgICAgIAoKICAgICAgICAgICAgbXVsdGlfcG9seWdvbl8xNDFmYzliZTFiZTA0MjliYmU3ZGY0YThiOWU5Y2E3Mi5iaW5kUG9wdXAocG9wdXBfOTRhNGRiMDM4ZDFkNDU5YTgxYTk1YTQ2M2M1OGZmZGUpOwoKICAgICAgICAgICAgCiAgICAgICAgCiAgICAgICAgCiAgICAgICAgICAgIAogICAgICAgICAgICAgICAgdmFyIG11bHRpX3BvbHlnb25fMDQzMzA0NDk2MDE0NDk5MjlmZTU1M2I2ZDZhNDUwNmIgPSBMLm11bHRpUG9seWdvbigKICAgICAgICAgICAgICAgICAgICBbW1s0Ni41Njg0NzgsIC05MC40MTU0MjldLCBbNDYuNTA4MjMxLCAtOTAuMjI5MjEzXSwgWzQ2LjMzODQ0NiwgLTkwLjExOTY3NF0sIFs0Ni4xMzU3OTksIC04OS4wOTAwMV0sIFs0NS45ODc5MjIsIC04OC42NjI4MDhdLCBbNDYuMDIwNzg0LCAtODguNTMxMzYyXSwgWzQ1LjkyMjE5OSwgLTg4LjEwNDE2XSwgWzQ1Ljc5NjIyOSwgLTg3Ljk4OTE0NV0sIFs0NS42NzU3MzYsIC04Ny43ODEwMjFdLCBbNDUuNTAwNDc0LCAtODcuNzkxOTc1XSwgWzQ1LjM2MzU1MSwgLTg3Ljg4NTA4M10sIFs0NS4zNDE2NDMsIC04Ny42NDk1NzRdLCBbNDUuMTk5MjQzLCAtODcuNzQyNjgyXSwgWzQ1LjA5NTE4MSwgLTg3LjU4OTMyOF0sIFs0NC45NzQ2ODgsIC04Ny42Mjc2NjZdLCBbNDQuOTUyNzgsIC04Ny44MTkzNTldLCBbNDQuNzIyNzQ5LCAtODcuOTgzNjY4XSwgWzQ0LjU2MzkxNywgLTg4LjA0MzkxNF0sIFs0NC41MzY1MzMsIC04Ny45Mjg4OThdLCBbNDQuNjQwNTk1LCAtODcuNzc1NTQ0XSwgWzQ0LjgzNzc2NCwgLTg3LjYxMTIzNl0sIFs0NC45MTQ0NDIsIC04Ny40MDMxMTJdLCBbNDUuMTY2MzgxLCAtODcuMjM4ODA0XSwgWzQ1LjIyMTE1LCAtODcuMDMwNjhdLCBbNDUuMDg5NzA0LCAtODcuMDQ3MTExXSwgWzQ0Ljk2OTIxMSwgLTg3LjE4OTUxMV0sIFs0NC41NTI5NjQsIC04Ny40Njg4MzVdLCBbNDQuMzIyOTMyLCAtODcuNTQ1NTEyXSwgWzQ0LjE1ODYyNCwgLTg3LjU0MDAzNV0sIFs0NC4xMDM4NTQsIC04Ny42NDQwOTddLCBbNDMuODc5MywgLTg3LjczNzIwNV0sIFs0My42ODc2MDcsIC04Ny43MDQzNDRdLCBbNDMuNTYxNjM3LCAtODcuNzkxOTc1XSwgWzQzLjI0OTQ1MiwgLTg3LjkxMjQ2N10sIFs0My4wMDI5ODksIC04Ny44ODUwODNdLCBbNDIuNzgzOTEyLCAtODcuNzY0NTldLCBbNDIuNDkzNjM0LCAtODcuODAyOTI5XSwgWzQyLjQ5MzYzNCwgLTg4Ljc4ODc3OF0sIFs0Mi41MTAwNjUsIC05MC42Mzk5ODRdLCBbNDIuNjM2MDM0LCAtOTAuNzExMTg0XSwgWzQyLjc1MTA1LCAtOTEuMDY3MTg1XSwgWzQyLjkwOTg4MSwgLTkxLjE0Mzg2Ml0sIFs0My4xMzQ0MzYsIC05MS4xNzY3MjRdLCBbNDMuMjU0OTI5LCAtOTEuMDU2MjMxXSwgWzQzLjM1MzUxNCwgLTkxLjIwNDEwOV0sIFs0My41MDEzOTEsIC05MS4yMTUwNjJdLCBbNDMuNjE2NDA3LCAtOTEuMjY5ODMyXSwgWzQzLjc3NTIzOCwgLTkxLjI0MjQ0N10sIFs0My45OTQzMTYsIC05MS40MzQxNF0sIFs0NC4wMzI2NTQsIC05MS41OTI5NzFdLCBbNDQuMjAyNDM5LCAtOTEuODc3NzcyXSwgWzQ0LjMzMzg4NiwgLTkxLjkyNzA2NV0sIFs0NC40NDM0MjUsIC05Mi4yMzM3NzNdLCBbNDQuNTUyOTY0LCAtOTIuMzM3ODM1XSwgWzQ0LjU2OTM5NCwgLTkyLjU0NTk1OV0sIFs0NC43NTAxMzMsIC05Mi44MDg4NTJdLCBbNDUuMTE3MDg4LCAtOTIuNzM3NjUyXSwgWzQ1LjI4Njg3NCwgLTkyLjc1OTU2XSwgWzQ1LjQ0MDIyOCwgLTkyLjY0NDU0NF0sIFs0NS41NjYxOTgsIC05Mi43NzA1MTNdLCBbNDUuNTc3MTUxLCAtOTIuODg1NTI5XSwgWzQ1LjcxOTU1MiwgLTkyLjg2OTA5OF0sIFs0NS45MzMxNTMsIC05Mi42MzkwNjddLCBbNDYuMDE1MzA3LCAtOTIuMzU0MjY2XSwgWzQ2LjA3NTU1MywgLTkyLjI5NDAyXSwgWzQ2LjY2NzA2MywgLTkyLjI5NDAyXSwgWzQ2Ljc0OTIxNywgLTkyLjA5MTM3M10sIFs0Ni43MDU0MDEsIC05Mi4wMTQ2OTZdLCBbNDYuNjk0NDQ3LCAtOTEuNzkwMTQxXSwgWzQ2Ljg2NDIzMiwgLTkxLjA5NDU3XSwgWzQ2Ljk1NzM0LCAtOTAuODM3MTU0XSwgWzQ2Ljg4NjE0LCAtOTAuNzQ5NTIyXSwgWzQ2Ljc1NDY5NCwgLTkwLjg4NjQ0Nl0sIFs0Ni41ODQ5MDgsIC05MC41NTc4M10sIFs0Ni41Njg0NzgsIC05MC40MTU0MjldXV0sCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJyNmZmZmMDAnLAogICAgICAgICAgICAgICAgICAgICAgICB3ZWlnaHQ6IDAsCiAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgIGZlYXR1cmVfZ3JvdXBfZDQ5NzZjYTlmZmEyNDllYzk1ZjM3ZmFlM2QxYTczMDAuYWRkTGF5ZXIobXVsdGlfcG9seWdvbl8wNDMzMDQ0OTYwMTQ0OTkyOWZlNTUzYjZkNmE0NTA2Yik7CiAgICAgICAgICAgIAogICAgICAgIAogICAgICAgICAgICAKICAgICAgICAgICAgdmFyIHBvcHVwXzZmZmE1NzNlNTU0YTQ3N2NiNDg0OGQ3ZjlkYzMwYjVjID0gTC5wb3B1cCh7bWF4V2lkdGg6ICczMDAnfSk7CgogICAgICAgICAgICAKICAgICAgICAgICAgICAgIHZhciBodG1sX2UxNTQ0ODM4YjhkZDQzNGRhZmFlZGFlYmU4YWZkZjZlID0gJCgnICAgICAgICAgPGRpdiBpZD0iaHRtbF9lMTU0NDgzOGI4ZGQ0MzRkYWZhZWRhZWJlOGFmZGY2ZSIgICAgICAgICAgICAgICAgIHN0eWxlPSJ3aWR0aDogMTAwLjAlOyBoZWlnaHQ6IDEwMC4wJTsiPiAgICAgICAgICAgICAgICAgV2lzY29uc2luPC9kaXY+ICAgICAgICAgICAgICAgICAnKVswXTsKICAgICAgICAgICAgICAgIHBvcHVwXzZmZmE1NzNlNTU0YTQ3N2NiNDg0OGQ3ZjlkYzMwYjVjLnNldENvbnRlbnQoaHRtbF9lMTU0NDgzOGI4ZGQ0MzRkYWZhZWRhZWJlOGFmZGY2ZSk7CiAgICAgICAgICAgIAoKICAgICAgICAgICAgbXVsdGlfcG9seWdvbl8wNDMzMDQ0OTYwMTQ0OTkyOWZlNTUzYjZkNmE0NTA2Yi5iaW5kUG9wdXAocG9wdXBfNmZmYTU3M2U1NTRhNDc3Y2I0ODQ4ZDdmOWRjMzBiNWMpOwoKICAgICAgICAgICAgCiAgICAgICAgCiAgICAgICAgCiAgICAgICAgICAgIAogICAgICAgICAgICAgICAgdmFyIG11bHRpX3BvbHlnb25fZDAwMjJlYzYzNTM5NDZjMzhkNzE2MzJkZWExZWY2MjMgPSBMLm11bHRpUG9seWdvbigKICAgICAgICAgICAgICAgICAgICBbW1s0NS4wMDIwNzMsIC0xMDkuMDgwODQyXSwgWzQ1LjAwMjA3MywgLTEwNS45MTUxN10sIFs0NC45OTY1OTYsIC0xMDQuMDU4NDg4XSwgWzQzLjAwMjk4OSwgLTEwNC4wNTMwMTFdLCBbNDEuMDAzOTA2LCAtMTA0LjA1MzAxMV0sIFs0MC45OTg0MjksIC0xMDUuNzI4OTU0XSwgWzQxLjAwMzkwNiwgLTEwNy45MTk3MzFdLCBbNDAuOTk4NDI5LCAtMTA5LjA0Nzk4XSwgWzQwLjk5ODQyOSwgLTExMS4wNDcwNjNdLCBbNDIuMDAwNzA5LCAtMTExLjA0NzA2M10sIFs0NC40NzYyODYsIC0xMTEuMDQ3MDYzXSwgWzQ1LjAwMjA3MywgLTExMS4wNTI1NF0sIFs0NS4wMDIwNzMsIC0xMDkuMDgwODQyXV1dLAogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICcjZmZmZjAwJywKICAgICAgICAgICAgICAgICAgICAgICAgd2VpZ2h0OiAwLAogICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICBmZWF0dXJlX2dyb3VwX2Q0OTc2Y2E5ZmZhMjQ5ZWM5NWYzN2ZhZTNkMWE3MzAwLmFkZExheWVyKG11bHRpX3BvbHlnb25fZDAwMjJlYzYzNTM5NDZjMzhkNzE2MzJkZWExZWY2MjMpOwogICAgICAgICAgICAKICAgICAgICAKICAgICAgICAgICAgCiAgICAgICAgICAgIHZhciBwb3B1cF82YjVhZTg3NGFhYTg0ZDljODMwNGYyYTQ4MzEyMjI0YSA9IEwucG9wdXAoe21heFdpZHRoOiAnMzAwJ30pOwoKICAgICAgICAgICAgCiAgICAgICAgICAgICAgICB2YXIgaHRtbF9hMDQ4YTcyNjViYTA0ZTc1OTkxZWQ5NmY2OTJmNzYzNiA9ICQoJyAgICAgICAgIDxkaXYgaWQ9Imh0bWxfYTA0OGE3MjY1YmEwNGU3NTk5MWVkOTZmNjkyZjc2MzYiICAgICAgICAgICAgICAgICBzdHlsZT0id2lkdGg6IDEwMC4wJTsgaGVpZ2h0OiAxMDAuMCU7Ij4gICAgICAgICAgICAgICAgIFd5b21pbmc8L2Rpdj4gICAgICAgICAgICAgICAgICcpWzBdOwogICAgICAgICAgICAgICAgcG9wdXBfNmI1YWU4NzRhYWE4NGQ5YzgzMDRmMmE0ODMxMjIyNGEuc2V0Q29udGVudChodG1sX2EwNDhhNzI2NWJhMDRlNzU5OTFlZDk2ZjY5MmY3NjM2KTsKICAgICAgICAgICAgCgogICAgICAgICAgICBtdWx0aV9wb2x5Z29uX2QwMDIyZWM2MzUzOTQ2YzM4ZDcxNjMyZGVhMWVmNjIzLmJpbmRQb3B1cChwb3B1cF82YjVhZTg3NGFhYTg0ZDljODMwNGYyYTQ4MzEyMjI0YSk7CgogICAgICAgICAgICAKICAgICAgICAKICAgICAgICAKICAgICAgICAKICAgICAgICA8L3NjcmlwdD4KICAgICAgICA=\" style=\"position:absolute;width:100%;height:100%;left:0;top:0;\"></iframe></div></div>" | |
| ], | |
| "text/plain": [ | |
| "<folium.folium.Map at 0x7f0e33cdef28>" | |
| ] | |
| }, | |
| "execution_count": 4, | |
| "metadata": {}, | |
| "output_type": "execute_result" | |
| } | |
| ], | |
| "source": [ | |
| "m = folium.Map([43,-100], zoom_start=4)\n", | |
| "\n", | |
| "fg = folium.map.FeatureGroup().add_to(m)\n", | |
| "\n", | |
| "for feature in geo_json_data['features']:\n", | |
| " fg.add_child(MultiPolygon(\n", | |
| " _locations_mirror(feature['geometry']['coordinates']),\n", | |
| " color='green' if 'e' in feature['properties']['name'].lower() else '#ffff00',\n", | |
| " weight=0,\n", | |
| " popup = feature['properties']['name'],\n", | |
| " ))\n", | |
| "\n", | |
| "m" | |
| ] | |
| } | |
| ], | |
| "metadata": { | |
| "kernelspec": { | |
| "display_name": "foliumdev34", | |
| "language": "python", | |
| "name": "foliumdev34" | |
| }, | |
| "language_info": { | |
| "codemirror_mode": { | |
| "name": "ipython", | |
| "version": 3 | |
| }, | |
| "file_extension": ".py", | |
| "mimetype": "text/x-python", | |
| "name": "python", | |
| "nbconvert_exporter": "python", | |
| "pygments_lexer": "ipython3", | |
| "version": "3.4.4" | |
| } | |
| }, | |
| "nbformat": 4, | |
| "nbformat_minor": 0 | |
| } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment