Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save aziz0519/b5fc4f0bc580b87f411863169340f7b2 to your computer and use it in GitHub Desktop.
Save aziz0519/b5fc4f0bc580b87f411863169340f7b2 to your computer and use it in GitHub Desktop.
Prediction of Airbnb prices in Singapore (Improved)
Display the source blob
Display the rendered blob
Raw
{
"nbformat": 4,
"nbformat_minor": 0,
"metadata": {
"colab": {
"name": "Prediction of Airbnb Prices in Singapore.ipynb",
"provenance": [],
"collapsed_sections": []
},
"kernelspec": {
"name": "python3",
"display_name": "Python 3"
}
},
"cells": [
{
"cell_type": "markdown",
"metadata": {
"id": "tsHPY7ssHIg6",
"colab_type": "text"
},
"source": [
"# Price prediction of affordable and accessible Airbnb properties in Singapore\n",
"\n",
"### In this project, I will be creating a predictive model to predict the prices of AirBnb services in Singapore as of 27 Feb 2020. The dataset is obtained from the Airbnb website as below:\n",
"### http://data.insideairbnb.com/singapore/sg/singapore/2020-02-27/visualisations/listings.csv\n",
" "
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "lXHEHK6hIl0i",
"colab_type": "text"
},
"source": [
"## Week 1 : Exploratory Data Analysis of dataset"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "P_-gJguDujW2",
"colab_type": "text"
},
"source": [
"##### Obtain required dataset\n"
]
},
{
"cell_type": "code",
"metadata": {
"id": "NybfWdWMHFuP",
"colab_type": "code",
"outputId": "ac7562fe-c731-4200-fb93-779c2810dbf1",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 214
}
},
"source": [
"!wget https://raw.githubusercontent.com/aziz0519/Advanced-Data-Science-Capstone-Project/master/listings.csv"
],
"execution_count": 1,
"outputs": [
{
"output_type": "stream",
"text": [
"--2020-04-12 03:16:11-- https://raw.githubusercontent.com/aziz0519/Advanced-Data-Science-Capstone-Project/master/listings.csv\n",
"Resolving raw.githubusercontent.com (raw.githubusercontent.com)... 151.101.0.133, 151.101.64.133, 151.101.128.133, ...\n",
"Connecting to raw.githubusercontent.com (raw.githubusercontent.com)|151.101.0.133|:443... connected.\n",
"HTTP request sent, awaiting response... 200 OK\n",
"Length: 1188761 (1.1M) [text/plain]\n",
"Saving to: ‘listings.csv’\n",
"\n",
"\rlistings.csv 0%[ ] 0 --.-KB/s \rlistings.csv 100%[===================>] 1.13M --.-KB/s in 0.1s \n",
"\n",
"2020-04-12 03:16:11 (10.8 MB/s) - ‘listings.csv’ saved [1188761/1188761]\n",
"\n"
],
"name": "stdout"
}
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "GhZXtXifpyqf",
"colab_type": "text"
},
"source": [
"#### Explore data and basic descriptive stats using Spark"
]
},
{
"cell_type": "code",
"metadata": {
"id": "M4B-QW4Wvtfz",
"colab_type": "code",
"outputId": "719a5aa3-cf73-4e46-d9ab-49ccbc8c6cb7",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 73
}
},
"source": [
"#Essential libraries\n",
"import pandas as pd\n",
"import numpy as np\n",
"import matplotlib.pyplot as plt\n",
"import seaborn as sns\n",
"%matplotlib inline\n",
"\n",
"\n",
"#import statistical libraries\n",
"from scipy import stats\n",
"from scipy.stats import norm,skew, boxcox_normmax\n",
"import statsmodels.api as sm\n",
"import statsmodels.formula.api as smf\n",
"\n",
"#ignore warnings\n",
"import warnings\n",
"warnings.filterwarnings('ignore')"
],
"execution_count": 2,
"outputs": [
{
"output_type": "stream",
"text": [
"/usr/local/lib/python3.6/dist-packages/statsmodels/tools/_testing.py:19: FutureWarning: pandas.util.testing is deprecated. Use the functions in the public API at pandas.testing instead.\n",
" import pandas.util.testing as tm\n"
],
"name": "stderr"
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "EzudLwSmIOzA",
"colab_type": "code",
"colab": {}
},
"source": [
"df_listings = pd.read_csv('listings.csv')"
],
"execution_count": 0,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "xpholNHOAT_X",
"colab_type": "code",
"outputId": "224b61f3-821e-4147-a920-963f696cee7a",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 35
}
},
"source": [
"df_listings.shape"
],
"execution_count": 4,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"(8047, 16)"
]
},
"metadata": {
"tags": []
},
"execution_count": 4
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "MqALbxETIO3C",
"colab_type": "code",
"outputId": "bd596bdc-1076-46b2-c189-56219d30e258",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 428
}
},
"source": [
"df_listings.info()"
],
"execution_count": 5,
"outputs": [
{
"output_type": "stream",
"text": [
"<class 'pandas.core.frame.DataFrame'>\n",
"RangeIndex: 8047 entries, 0 to 8046\n",
"Data columns (total 16 columns):\n",
" # Column Non-Null Count Dtype \n",
"--- ------ -------------- ----- \n",
" 0 id 8047 non-null int64 \n",
" 1 name 8045 non-null object \n",
" 2 host_id 8047 non-null int64 \n",
" 3 host_name 8047 non-null object \n",
" 4 neighbourhood_group 8047 non-null object \n",
" 5 neighbourhood 8047 non-null object \n",
" 6 latitude 8047 non-null float64\n",
" 7 longitude 8047 non-null float64\n",
" 8 room_type 8047 non-null object \n",
" 9 price 8047 non-null int64 \n",
" 10 minimum_nights 8047 non-null int64 \n",
" 11 number_of_reviews 8047 non-null int64 \n",
" 12 last_review 5120 non-null object \n",
" 13 reviews_per_month 5120 non-null float64\n",
" 14 calculated_host_listings_count 8047 non-null int64 \n",
" 15 availability_365 8047 non-null int64 \n",
"dtypes: float64(3), int64(7), object(6)\n",
"memory usage: 1006.0+ KB\n"
],
"name": "stdout"
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "PSOp6_cmwU1W",
"colab_type": "code",
"outputId": "298d49e5-2be4-4f0c-c2f5-d20b1f198997",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 320
}
},
"source": [
"df_listings.describe()"
],
"execution_count": 6,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>id</th>\n",
" <th>host_id</th>\n",
" <th>latitude</th>\n",
" <th>longitude</th>\n",
" <th>price</th>\n",
" <th>minimum_nights</th>\n",
" <th>number_of_reviews</th>\n",
" <th>reviews_per_month</th>\n",
" <th>calculated_host_listings_count</th>\n",
" <th>availability_365</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>count</th>\n",
" <td>8.047000e+03</td>\n",
" <td>8.047000e+03</td>\n",
" <td>8047.000000</td>\n",
" <td>8047.000000</td>\n",
" <td>8047.000000</td>\n",
" <td>8047.000000</td>\n",
" <td>8047.000000</td>\n",
" <td>5120.000000</td>\n",
" <td>8047.00000</td>\n",
" <td>8047.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>mean</th>\n",
" <td>2.622832e+07</td>\n",
" <td>1.025438e+08</td>\n",
" <td>1.313418</td>\n",
" <td>103.848927</td>\n",
" <td>170.213371</td>\n",
" <td>18.592767</td>\n",
" <td>13.762147</td>\n",
" <td>0.973230</td>\n",
" <td>46.04859</td>\n",
" <td>220.874115</td>\n",
" </tr>\n",
" <tr>\n",
" <th>std</th>\n",
" <td>1.176525e+07</td>\n",
" <td>9.286072e+07</td>\n",
" <td>0.030409</td>\n",
" <td>0.041647</td>\n",
" <td>320.329233</td>\n",
" <td>45.051991</td>\n",
" <td>32.691906</td>\n",
" <td>1.333166</td>\n",
" <td>76.35387</td>\n",
" <td>147.731172</td>\n",
" </tr>\n",
" <tr>\n",
" <th>min</th>\n",
" <td>4.909100e+04</td>\n",
" <td>2.366600e+04</td>\n",
" <td>1.243870</td>\n",
" <td>103.646560</td>\n",
" <td>0.000000</td>\n",
" <td>1.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.010000</td>\n",
" <td>1.00000</td>\n",
" <td>0.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>25%</th>\n",
" <td>1.686457e+07</td>\n",
" <td>2.372262e+07</td>\n",
" <td>1.296025</td>\n",
" <td>103.838185</td>\n",
" <td>66.000000</td>\n",
" <td>1.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.150000</td>\n",
" <td>2.00000</td>\n",
" <td>75.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>50%</th>\n",
" <td>2.811631e+07</td>\n",
" <td>6.640618e+07</td>\n",
" <td>1.311000</td>\n",
" <td>103.850310</td>\n",
" <td>126.000000</td>\n",
" <td>3.000000</td>\n",
" <td>1.000000</td>\n",
" <td>0.460000</td>\n",
" <td>11.00000</td>\n",
" <td>297.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>75%</th>\n",
" <td>3.672920e+07</td>\n",
" <td>1.682577e+08</td>\n",
" <td>1.321465</td>\n",
" <td>103.867417</td>\n",
" <td>199.000000</td>\n",
" <td>14.000000</td>\n",
" <td>10.000000</td>\n",
" <td>1.200000</td>\n",
" <td>53.00000</td>\n",
" <td>363.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>max</th>\n",
" <td>4.257871e+07</td>\n",
" <td>3.384378e+08</td>\n",
" <td>1.454590</td>\n",
" <td>103.973420</td>\n",
" <td>10000.000000</td>\n",
" <td>1000.000000</td>\n",
" <td>366.000000</td>\n",
" <td>24.490000</td>\n",
" <td>340.00000</td>\n",
" <td>365.000000</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" id ... availability_365\n",
"count 8.047000e+03 ... 8047.000000\n",
"mean 2.622832e+07 ... 220.874115\n",
"std 1.176525e+07 ... 147.731172\n",
"min 4.909100e+04 ... 0.000000\n",
"25% 1.686457e+07 ... 75.000000\n",
"50% 2.811631e+07 ... 297.000000\n",
"75% 3.672920e+07 ... 363.000000\n",
"max 4.257871e+07 ... 365.000000\n",
"\n",
"[8 rows x 10 columns]"
]
},
"metadata": {
"tags": []
},
"execution_count": 6
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "UshdJz4Un0WK",
"colab_type": "code",
"outputId": "61732c13-c934-439a-fbfc-791a524e7c83",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 729
}
},
"source": [
"f, ax = plt.subplots(figsize=(12,10))\n",
"sns.heatmap(df_listings.corr(), annot=True)\n",
"ax.set(title='Correlation Map to Airbnb Dataset')\n",
"ax.xaxis.grid(False)\n",
"sns.despine(left=True,trim=True)\n",
"plt.tight_layout()\n",
"plt.show()"
],
"execution_count": 7,
"outputs": [
{
"output_type": "display_data",
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 864x720 with 2 Axes>"
]
},
"metadata": {
"tags": [],
"needs_background": "light"
}
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "xWmn4ULlIspE",
"colab_type": "code",
"outputId": "c9f289ce-863d-47d5-e25a-ae5e212a6963",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 551
}
},
"source": [
"sns.set_palette('deep')\n",
"f,ax = plt.subplots(figsize=(10,8))\n",
"sns.distplot(df_listings['price'],fit=norm,color='b',bins=30)\n",
"(mu,sigma) = norm.fit(df_listings['price'])\n",
"print('\\n mu = {:2f} and sigma = {:2f}\\n'.format(mu, sigma))\n",
"\n",
"plt.legend(['Normal dist. ($\\mu=$ {:2f} and $\\sigma=$ {:2f})'.format(mu, sigma)], loc='best')\n",
"ax.xaxis.grid(False)\n",
"ax.set(ylabel='Frequency')\n",
"ax.set(xlabel='Airbnb Price Distribution')\n",
"sns.despine(trim=True,left=True)\n",
"plt.show()"
],
"execution_count": 8,
"outputs": [
{
"output_type": "stream",
"text": [
"\n",
" mu = 170.213371 and sigma = 320.309329\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "display_data",
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAnQAAAHgCAYAAAAsdvAHAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjEsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+j8jraAAAgAElEQVR4nOzdeZzcVZ3v/9fpNSskJBBCEtKJJJKFAAECiggZRsBlWJVlFFFx8I44M16VKzheZZwf6oyOqOMyExWHUWRRFDJjxBFBRa+yBwiBkIZ0NsKSEEK23s/vj29V0ulUVVdVd3V/u/v1fDzqUVXfrU5VdXfe+Zxzvt8QY0SSJEmDV9VAN0CSJEm9Y6CTJEka5Ax0kiRJg5yBTpIkaZAz0EmSJA1yBjpJkqRBrmagGzDAPGeLJEkaLEK+FVboJEmSBjkDnSRJ0iBnoJMkSRrkDHSSJEmD3HCfFCFpmGhra2PDhg00NzcPdFMkqaARI0YwdepUamtri94nxDisJ3oO6zcvDSdr1qxh7NixTJgwgRDyThSTpAEVY2TLli1s376dGTNmdF/tLFdJw1tzc7NhTlLqhRCYMGFCyb0JBjpJw4ZhTtJgUM7fKgOdJEnSIGegkyRJGuQMdJLUj0IIfPzjH9/z/Mtf/jLXXnttv7ZhzJgxPW5z7bXX8uUvfxmAN77xjXm3e/XVV/nWt75V9Gvv3r2bU089lY6OjqL3KdUHPvABDjnkEObPn7/P8lWrVnHMMcfsuR1wwAF89atfBeCuu+7i9a9/PUcccQRf/OIX9zvm+vXrWbx4MXPnzmXevHl87Wtf6/H1mpubWbRoEUcffTTz5s3js5/9bMHlPbUx3+v0pa7fe38q9JkU+ux7+t56Ona+/b/2ta8xf/585s2bt+fzL3SsQm3Md6zW1lbe/OY3097e3otProsY43C+SRomVq5cOdBNiDHGWF9fHxsaGuLLL78cY4zxS1/6UvzsZz9b1L6dnZ2xo6Oj120YPXp0j9t89rOfjV/60pd63G7NmjVx3rx5Rb/2N77xjfjVr3616O3L8dvf/jY+/PDDBdvV3t4eJ02aFJuammJ7e3ucOXNmfPbZZ2NLS0tcsGBBfPLJJ/fZ/vnnn48PP/xwjDHG1157Lc6aNWvPNvler7OzM27fvj3GGGNra2tctGhR/OMf/5h3eaE2Fvu+eqvY772vFfpM8n32xXxvhY6db/8nnngizps3L+7cuTO2tbXF008/Pa5evbrgsfK1sdCxYozx2muvjT/84Q9zfiZ5/mblzTRW6CSpH9XU1HDFFVdw/fXX77fuK1/5CvPnz2f+/Pl7/iff1NTE61//et773vcyf/587rvvPo488kje9773MXv2bN797ndz9913c/LJJzNr1iweeOCBPcc799xzOe6445g3bx5LlizpsW3XXXcds2fP5k1vehOrVq3aszxb0du5cydvf/vbOfroo5k/fz633norV199Nc8++yzHHHMMV111VY+vcdNNN3HOOefseX7aaafx9NNPA7Bly5Y+qT69+c1v5qCDDiq4za9//Wte97rXMX36dB544AGOOOIIZs6cSV1dHRdffDF33nnnPttPnjyZhQsXAjB27FjmzJnDxo0bC75eCGHPZ9fW1kZbWxshhLzLC7Wx2PeV7ztvampizpw5/NVf/RXz5s3jjDPOYPfu3UD+772Qxx57jDe/+c3MnTuXqqoqQgh85jOfKWrfXAp9Jvk++2K+t0LHzrf/U089xYknnsioUaOoqanh1FNP5ac//WnBY+VrY6FjQfJ93XTTTWV/bl15YmFJw87nP//5PSGirxx55JF86lOfKmrbK6+8kgULFvB//s//2bPs4Ycf5vvf/z73338/MUZOPPFETj31VMaPH8/q1au58cYbOemkk2hqaqKxsZEf//jH3HDDDZxwwgn86Ec/4ve//z1Lly7l85//PHfccQcAN9xwAwcddBC7d+/mhBNO4IILLmDChAk52/Twww9zyy23sHz5ctrb21m4cCHHHXfcPtvcddddHHbYYfz85z8HYNu2bZx44omsWLGC5cuX9/i+W1tbee6552hoaNizrLGxkdmzZwPw+OOPc9RRR+2zzymnnML27dv3O9aXv/xl/vzP/7zH18znlltu4ZJLLgFg48aNTJs2bc+6qVOncv/99+fdt6mpiUcffZQTTzyxx9fp6OjguOOOo7GxkSuvvHLPPvmW52tjsQp956tXr+bmm2/mO9/5DhdeeCG33347c+bM6fF77665uZmLLrqI//zP/2TRokX83//7f2lubuYf/uEf9mxTzvdWzGfS9bP/n//5n6K/t1zH/slPfpJz/3PPPZe///u/Z8uWLYwcOZJly5Zx/PHHF93Orm3c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\n",
"text/plain": [
"<Figure size 720x576 with 1 Axes>"
]
},
"metadata": {
"tags": [],
"needs_background": "light"
}
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "CFFtz2c_ZwnY",
"colab_type": "code",
"outputId": "2842b5b7-a680-4971-9bb7-9a1959b8864e",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 551
}
},
"source": [
"sns.set_palette('deep')\n",
"f,ax = plt.subplots(figsize=(10,8))\n",
"sns.distplot(df_listings['number_of_reviews'],fit=norm,color='b',bins=30)\n",
"(mu,sigma) = norm.fit(df_listings['number_of_reviews'])\n",
"print('\\n mu = {:2f} and sigma = {:2f}\\n'.format(mu, sigma))\n",
"\n",
"plt.legend(['Normal dist. ($\\mu=$ {:2f} and $\\sigma=$ {:2f})'.format(mu, sigma)], loc='best')\n",
"ax.xaxis.grid(False)\n",
"ax.set(ylabel='Frequency')\n",
"ax.set(xlabel='Airbnb Number of Reviews Distribution')\n",
"sns.despine(trim=True,left=True)\n",
"plt.show()"
],
"execution_count": 9,
"outputs": [
{
"output_type": "stream",
"text": [
"\n",
" mu = 13.762147 and sigma = 32.689875\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "display_data",
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAm4AAAHgCAYAAAAc+uEmAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjEsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+j8jraAAAgAElEQVR4nOzdeXxU9b3/8dc37CCLoFgBBbQgqygKaF1QUa7W1gVtFaWKolRb67W2LrWt2+9aWxdwqQu4bxW1tUoral1u3S4uiOAOoqBGqiiybyHJ9/fHSUIICRlCJidDXs/HYx6TOXPOzGfmQHjz3U6IMSJJkqT6Ly/tAiRJkpQZg5skSVKOMLhJkiTlCIObJElSjjC4SZIk5QiDmyRJUo5onHYBtch1TSRJUq4INTnIFjdJkqQcYXCTJEnKEQY3SZKkHGFwkyRJyhFb0uQESarS2rVryc/PZ/Xq1WmXIqkBad68OV26dKFJkya18nphC7rI/BbzQSTVvrlz59K6dWs6dOhACDWazCVJmyTGyMKFC1m2bBndu3ev+LSzSiWpKqtXrza0SapTIQQ6dOhQqy39BjdJDYahTVJdq+3fOwY3SZKkHGFwkyRJyhEGN0mqQyEEfvWrX5U9vuaaa7j00kvrtIatttqq2n0uvfRSrrnmGgC+973vVbnf4sWLufnmmzN+71WrVjF06FCKiooyPmZTnXrqqXTs2JF+/fqtt3316tUMHjyYAQMG0LdvXy655JINjp01axa77bZb2a1NmzZcd911QPJZjz32WHr16kXv3r2ZOnUqn3/+OQceeCB9+vShb9++XH/99RnVAlBUVMTuu+/OD37wg2rfuzaVP7d1rapzUN33WF5l5wFg/Pjx9O3bl379+jFy5MiycWXXX389/fr1o2/fvht8n5UdU9156NatG/3792e33XZjzz33BKCgoID999+fwsLCWv2+KhVj3FJuklSl999/P+0SYowxNmvWLHbr1i1+/fXXMcYYr7766njJJZdkdGxxcXEsKira7BpatWpV7T6XXHJJvPrqq6vdb+7cubFv374Zv/ef//zneN1112W8f0288MIL8c0339ygruLi4rhs2bIYY4wFBQVx8ODBcerUqVW+TmFhYdxuu+3ivHnzYowxnnTSSfG2226LMca4Zs2auGjRojh//vz45ptvxhhjXLp0aezRo0d87733qq0lxhivvfbaOHLkyHj44YdX+961KdNzmw1VnYPqvsfyKjsP+fn5sVu3bnHlypUxxhh/9KMfxbvuuiu+8847sW/fvnHFihVx7dq1cdiwYfGjjz6KMcYqjymvsvPQtWvXsr+/5V166aXx/vvvr7TmKn7/1Cjv2OImSXWocePGjB07lvHjx2/w3Lhx4+jXrx/9+vUr+x/+vHnz2GWXXTjppJPo168fL730Er169WL06NH07NmTE088kWeffZZ99tmHHj168Prrr5e93lFHHcUee+xB3759mThxYrW1XXHFFfTs2ZN9992XWbNmlW0vbaFbsWIFhx9+OAMGDKBfv3489NBDXHjhhXz88cfstttunHfeedW+xwMPPMCRRx5Z9viAAw7gww8/BGDhwoWVtkxtqv3335/27dtvsD2EUPZZ1q5dy9q1azc6cPy5555j5513pmvXrixZsoQXX3yRMWPGANC0aVPatWvH9ttvz8CBAwFo3bo1vXv35osvvqi2lvz8fJ544glOO+20at+7MpWd23nz5tG7d29OP/10+vbty/Dhw1m1ahVQ9bndmJkzZ7L//vvTp08f8vLyCCFw8cUXZ3RsVao6B9V9j6WqOg8AhYWFrFq1isLCQlauXEmnTp344IMPGDJkCC1btqRx48YMHTqURx99tOz1KjumvOrOQ3lHHXUUDzzwQM2+mE3gArySGpw//OEPZWGhtvTq1YuLLrooo31//vOfs+uuu3L++eeXbXvzzTe56667eO2114gxMmTIEIYOHcrWW2/NRx99xD333MNee+3FvHnzmDNnDo888gh33nkngwYN4i9/+Qsvv/wykydP5g9/+AOPPfYYAHfeeSft27dn1apVDBo0iGOOOYYOHTpUWtObb77JpEmTmDFjBoWFhQwcOJA99thjvX2eeuopOnXqxBNPPAEk/4gOGTKEd999lxkzZlT7uQsKCvjkk0/o1q1b2bY5c+bQs2dPAN5++2369++/3jH77bcfy5Yt2+C1rrnmGg4++OBq37OioqIi9thjD+bMmcPPf/5zhgwZUuW+kyZNYuTIkUCyDuC2227LKaecwsyZM9ljjz24/vrradWqVdn+8+bN46233troa5Y655xzuOqqqyr9bBXfuzKVnVuAjz76iAcffJDbbruNH//4x/ztb3+jd+/e1Z7bilavXs1xxx3Hvffey+DBg/n973/P6tWrueyyy8r2qem5qe4cbOx7rOo8dO7cmV//+tfsuOOOtGjRguHDhzN8+HA++OADfvvb37Jw4UJatGjBlClTyro3qzqmvMrOQwiB4cOHE0Lgpz/9KWPHjgWgX79+vPHGGxv9XmuDLW6SVMfatGnDSSedxA033FC27eWXX+boo4+mVatWbLXVVowYMYKXXnoJgK5du7LXXnuV7du9e3f69+9PXl4effv2ZdiwYYQQ6N+/P/PmzSvb74YbbmDAgAHstddefP7553z00UdV1vTSSy9x9NFH07JlS9q0acMRRxyxwT79+/fnmWee4YILLuCll16ibdu2m/S5v/nmm7LWEYBPP/2Uzp07k5eX/FP09ttvs+uuu25Q14wZMza41SS0ATRq1IgZM2aQn5/P66+/zrvvvlvpfgUFBUyePJkf/ehHQNIyM336dM4880zeeustWrVqxR//+Mey/ZcvX84xxxzDddddR5s2bTZawz//+U86duxYZXiq+N6Vqercdu/end122w2APfbYg3nz5mV0bit69tlnGThwIIMHDwZg11135dtvv12vhbKm52Zj56C677Gq87Bo0SIef/xx5s6dy/z581mxYgX3338/vXv35oILLmD48OEceuih7LbbbjRq1AigymNKVXUeXn75ZaZPn86TTz7JTTfdxIsvvlj2uZo2bVplGK8ttrhJanAybRnLpnPOOYeBAwdyyimnVLtv+VYdgGbNmpX9nJeXV/Y4Ly+vbHD0v//9b5599lmmTp1Ky5YtOeCAAzZ7EdCePXsyffp0pkyZwu9+9zuGDRvGSSedlPHxLVq0WK+GmTNnrhfU3nzzTY477rj1jqntFrdS7dq148ADD+Spp56qtHv2ySefZODAgWy33XYAdOnShS5dupS1Ah177LFlwW3t2rUcc8wxnHjiiYwYMaLa937llVeYPHkyU6ZMYfXq1SxdupRRo0aVhYaK713Rxs5t+T8bjRo1Kusq3VTvvvvueq2f06dPL+vKLLW556biOcjke6zqPDz77LN0796dbbfdFoARI0bwf//3f4waNYoxY8aUda1edNFFdOnSBWCjx0DV56Fz584AdOzYkaOPPprXX3+d/fffH4A1a9bQvHnzaj/75rDFTZJS0L59e3784x9zxx13AMk/go899hgrV65kxYoV/P3vf2e//far8esvWbKErbfempYtW/Lhhx/y6quvbnT//fffn8cee4xVq1axbNky/vGPf2ywz/z582nZsiWjRo3ivPPOY/r06bRu3TrjFoatt96aoqKispAxY8aMsp8/+ugjHn/88Q26Smuzxe3rr79m8eLFQDK79ZlnnqFXr16V7vvggw+u10X2ne98hx122KFsfNhzzz1Hnz59iDEyZswYevfuzbnnnptRHVdeeSX5+fnMmzePSZMmcdBBB63X0lPxvSvKxrmtqEOHDrz99tsAzJ49m0cffZTjjz9+vX1qcm6qOgeZfo9VnYcdd9yRV199lZUrVxJj5LnnnqN3794ALFiwAIDPPvuMRx99lBNOOAFgo8dA5edhxYoVZX/eV6xYwb/+9a+y4L9w4UK22WabWrsmaVUMbpKUkl/96ld88803AAwcOJDRo0czePBghgwZwmmnncbuu+9e49c+9NBDKSwspHfv3lx44YXrdbVWZuDAgRx33HEMGDCAww47jEGDBm2wzzvvvMPgwYPZbbfduOyyy/jd735Hhw4d2GeffejXr1/Z5ITvf//7zJ8/v9L3GT58OC+//DKQtLgVFxczYMAALr/8cvr06cM999xT489cauTIkey9997MmjWLLl26lIXj//znPxx44IHsuuuuDBo0iEMOOaRsKY7yNa9YsYJnnnlmg1afG2+8kRNPPJFdd92VGTNmcNFFF/HKK69w33338fzzz5ctHzFlypRqa6lKVe9dXjbObUUjR45k+fLl9OvXj7Fjx/Lggw9WOT5yU1R1Dqr7Hsufn8rOw5AhQzj22GMZOHAg/fv3p7i4uGzs2THHHEOfPn344Q9/yE033VTWXb+xY6o6D1999RX77rsvAwYMYPDgwRx++OEceuihAPzv//4vhx9++GZ/R9XxIvOSGoQPPvhgvf9NKx3Tp09n/Pjx3HffffTo0aOs1U7KdSNGjOCPf/xj2WSb8qr4/eNF5iVJ9dvAgQM58MADWbJkCSEEQ5u2CAUFBRx11FGVhrbaZotbyjJYWmmjSlp1JVXDFjdJabHFTZIkqQEyuEmSJOUIg5skSVKOMLhJajC2oDG9knJEbf/eMbhJahCaN2/OwoULDW+S6kyMkYULF9bq1RS85JWkBqFLly7k5+fz9ddfp12KpAakefPmZZfZqg0GN0kNQpMmTejevXvaZUjS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C8OHX0GvXj+kUaMmZce0aQPz5mX+Hnl5eey+++7svvvuXHDBBdx3333cc889PPvss4wYMYJf/epXbL311rX7wSRJUlY4qzRFhYVJaCssXM2LL17NAw8cw8KFH3HQQZcwevQU+vYdsV5og8277FXbtm0566yzeOaZZxg9ejSPP/443//+93n00UfLxsVJkqT6y+CWoqIiaN78fR544FjefPNO+vQ5ktGjn2TAgOM3CGyl2rSBNWuSS1/VVLt27Tj//PP529/+xs4778xvf/tbzjrrLL799tuav6gkSco6g1tKYozMnn03Xbocz5o1Sxkx4nYOOeR/aNFi492WtbkIb8+ePbn33nu54IILeOmllzjyyCP5v//7v81/YUmSlBUGtxSsWLGCc889lw8//BOrVu3PT37yOF277pPRsaXBbcmS2qklLy+P0aNH88gjj9C2bVtOP/10br/9drtOJUmqhwxudSw/P5+RI0fyr3/9i513PpeFC2+stpWtvGxdaH6XXXbhoYceYvjw4Vx77bWce+65rFq1qnbfRJIkbRaDWx16++23Of7441mwYAETJ06kS5fTadQow+tdlcjmheZbtWrFuHHj+PWvf83TTz/N6NGjWbhwYe2/kSRJqhGDWx15/vnnOfnkk2nRogV/+ctf2GeffcpmlW6KbF9oPoTAmDFjuOGGG5g9ezYjR45k7ty52XkzSZK0SbIa3EIIh4YQZoUQ5oQQLqzk+WYhhIdKnn8thNCtZHuHEML/hhCWhxD+nM0a68ITTzzB2WefTY8ePXjwwQfZaaedAGoU3Bo1glatsn+h+YMPPpi7776bFStWMGrUKD744IPsvqEkSapW1oJbCKERcBNwGNAHGBlC6FNhtzHAohjjd4HxwJ9Ktq8Gfg/8Olv11ZXHHnuM888/n91335277rqLbbbZpuy5oqJND26QtLrV9hi3ygwYMID777+fZs2acfLJJ/PWW29l/00lSVKVstniNhiYE2P8JMZYAEwCjqywz5HAPSU//xUYFkIIMcYVMcaXSQJcznr44Ye56KKLGDJkCBMnTtzgIu+FhUkL2qbanEV4N1X37t25//77ad++PWPGjOGNN96omzeWJEkbyGZw6wx8Xu5xfsm2SveJMRYCS4AOmb5BCGFsCGFaCGHaxIkTN7Pc2nX//fdzySWXsN9++3HLLbfQokWLDfapSVcpJMHt22+hrlbs6NSpE/fffz+dOnXijDPOsOVNkqSU5PTkhBjjxBjjnjHGPceOHZt2OWXuuusurrjiCoYNG8aNN95Is2bNKt2vpl2lu+ySBLdPPtnMQjfBNttsw5133sm2227L2LFjeeedd+ruzSVJEpDd4PYFsEO5x11KtlW6TwihMdAWyOn1JyZNmsRVV13FoYceyvjx42natGmV+9a0xW3wYGjeHP7975rXWRMdO3bk7rvvpl27dpx22mm8//77dVuAJEkNXDaD2xtAjxBC9xBCU+B4YHKFfSYDJ5f8fCzwfMzhJfufeOIJLr/8coYOHcpVV11FkyaVX2+0VE3HuDVrBnvvDdOnw4IFNSy2hr7zne9w991306pVK8aMGcPs2bPrtgBJkhqwrAW3kjFrZwFPAx8AD8cY3wshXB5COKJktzuADiGEOcC5QNmSISGEecA4YHQIIb+SGan1ygsvvMCFF17IHnvswXXXXVdtaIMkuIVNW3+3zNChyfF33lmz4zdH586dufvuu2natCmnnnqq67xJklRHQg43cFWU2geZNm0ap512GjvvvDN33303rUsvb1CNYcPgs8/gvPNq9r7jxsHq1fDxxzVrudtcc+fOZdSoUWWLCnfs2LHui5AkKTfVqOkmpycn1AfvvfceZ555Jp06deK2227LOLRBzce4lRo6FD79FJ56quavsTm6d+/OhAkTWLRoET/96U9ZVheLy0mS1IAZ3DbDZ599xtixY2ndujV33HEH7du336TjNze47bYbbL893HxzzV9jc/Xr14/rr7+eOXPmcNZZZ1FQUJBeMZIkbeEMbjW0aNEixo4dS1FREXfccQfbb7/9Jr9GTZcDKdWoEZx+Ojz5ZN0uDVLRvvvuyxVXXMHrr7/OBRdcQHFxcXrFSJK0BTO41cCqVas488wz+fLLL7nlllvo3r17jV6nprNKyzv99CT83X775r3O5jriiCM477zzeOqpp7jyyivZgsZOSpJUbzROu4BcU1RUxHnnncfbb7/Nddddx+67717j19rcrlKALl1gzz3h1Vc373VqwymnnMKCBQu455576NixI6effnraJUmStEWxxW0TxBi58soree655/jNb37D8OHDN+v1NrertFS/fvDuu5v/OpsrhMD555/PYYcdxrhx43jiiSfSLkmSpC2KwW0T3HXXXTzwwAOc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\n",
"text/plain": [
"<Figure size 720x576 with 1 Axes>"
]
},
"metadata": {
"tags": [],
"needs_background": "light"
}
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "-YWRdqcPRtpO",
"colab_type": "code",
"outputId": "89cd943c-a9ca-4b38-ee0a-415f2c9d86d3",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 585
}
},
"source": [
"f, ax = plt.subplots(figsize=(10,8))\n",
"ax.xaxis.grid(False)\n",
"sns.regplot(x=df_listings['price'],y=df_listings['number_of_reviews'],fit_reg=True)\n",
"ax.set(title='Correlation between Airbnb property prices and number of reviews')\n",
"sns.despine(left=True,trim=True)\n",
"plt.tight_layout()\n",
"plt.show()"
],
"execution_count": 10,
"outputs": [
{
"output_type": "display_data",
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 720x576 with 1 Axes>"
]
},
"metadata": {
"tags": [],
"needs_background": "light"
}
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "Qu_wsezKLg2n",
"colab_type": "code",
"outputId": "39ed78ca-f60e-4eaf-e42b-1e0b3c0144e0",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 606
}
},
"source": [
"f, ax = plt.subplots(figsize=(12,10))\n",
"ax.xaxis.grid(False)\n",
"sns.countplot(df_listings['neighbourhood_group'])\n",
"sns.despine(trim=True,left=True)"
],
"execution_count": 11,
"outputs": [
{
"output_type": "display_data",
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 864x720 with 1 Axes>"
]
},
"metadata": {
"tags": [],
"needs_background": "light"
}
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "7RyJCvW876yZ",
"colab_type": "code",
"outputId": "17993685-e006-4e8e-9078-aa9e274b186d",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 729
}
},
"source": [
"#Inspect distribuion of properties by regions and priced below 2000 SGD\n",
"prices_below2000 = df_listings[df_listings.price < 2000]\n",
"f, ax = plt.subplots(figsize=(12,10))\n",
"sns.boxplot(y='price',x='neighbourhood_group',data=prices_below2000)\n",
"ax.xaxis.grid(False)\n",
"ax.set(ylabel='Neighbourhood Group')\n",
"ax.set(xlabel='Prices')\n",
"ax.set(title=\"Airbnb properties by Region with prices below 2000\")\n",
"sns.despine(trim=True,left=True)\n",
"plt.tight_layout()\n",
"plt.show()"
],
"execution_count": 12,
"outputs": [
{
"output_type": "display_data",
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 864x720 with 1 Axes>"
]
},
"metadata": {
"tags": [],
"needs_background": "light"
}
}
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "CcpjfXM_jwEf",
"colab_type": "text"
},
"source": [
"#### Observe that most of the Airbnb properties are more expensive at the Central Region as compared to the other regions in Singapore"
]
},
{
"cell_type": "code",
"metadata": {
"id": "xqpPSrBwVgZw",
"colab_type": "code",
"outputId": "fab162ba-b645-4dd8-f04a-e2d81a8f098b",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 729
}
},
"source": [
"prices_below2000 = df_listings[df_listings.price < 2000]\n",
"f, ax = plt.subplots(figsize=(12,10))\n",
"sns.boxplot(y='price',x='room_type',data=prices_below2000)\n",
"ax.xaxis.grid(False)\n",
"ax.set(ylabel='Room Type')\n",
"ax.set(xlabel='Prices')\n",
"ax.set(title=\"Airbnb properties by Region with prices below 2000\")\n",
"sns.despine(trim=True,left=True)\n",
"plt.tight_layout()\n",
"plt.show()"
],
"execution_count": 13,
"outputs": [
{
"output_type": "display_data",
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 864x720 with 1 Axes>"
]
},
"metadata": {
"tags": [],
"needs_background": "light"
}
}
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "csjAYphIkD_R",
"colab_type": "text"
},
"source": [
"#### Typically, Private room and Entire home/apt are greater in demand and hence the prices are more expensive for these room types"
]
},
{
"cell_type": "code",
"metadata": {
"id": "80oTEOBlaT8S",
"colab_type": "code",
"outputId": "c3bdfba1-5eaa-435b-8259-a45bcdef4b6b",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 729
}
},
"source": [
"prices_below500 = df_listings[df_listings.price < 500]\n",
"f, ax = plt.subplots(figsize=(12,10))\n",
"sns.boxplot(y='minimum_nights',x='room_type',data=prices_below500)\n",
"ax.xaxis.grid(False)\n",
"ax.set(ylabel='Room Type')\n",
"ax.set(xlabel='Minimum Nights')\n",
"ax.set(title=\"Airbnb properties by Region with prices below 500\")\n",
"sns.despine(trim=True,left=True)\n",
"plt.tight_layout()\n",
"plt.show()"
],
"execution_count": 14,
"outputs": [
{
"output_type": "display_data",
"data": {
"image/png": "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sAAAADoRsAAAADoRsAAAADoRsAAAADoRsAAAADoRsAAAADoRsAAAADoRsAAAADoRsAAAADoRsAAAADoRsAAAADoRsAAAADoRsAAAADoRsAAAADoRsAAAADoRsAAAADoRsAAAADoRsAAAADoRsAAAADoRsAAAADoRsAAAADoRsAAAADoRsAAAADoRsAAAADoRsAAAADoRsAAAADoRsAAAADoRsAAAADoRsAAAADoRsAAAADoRsAAAADoRsAAAADoRsAAAADoRsAAAADoRsAAAADoRsAAAADoRsAAAADoRsAAAADoRsAAAADoRsAAAADoRsAAAADoRsAAAADoRsAAAADoRsAAAADoRsAAAADoRsAAAADoRsAAAADoRsAAAADoRsAAAADoRsAAAADoRsAAAADoRsAAAADoRsAAAADoRsAAAADoRsAAAADoRsAAAADoRsAAAADoRsAAAADoRsAAAADoRsAAAADoRsAAAADoRsAAAADoRsAAAADoRsAAAADoRsAAAADoRsAAAADqZSMCqqsuq6sNV9aGquraqjq2qM6rqfVV1e1W9saqOHrY9ZmjfPqw/fRI1AwAA7M9hD1hVdUqSn07yz1tr35TkqCSzSa5I8qrW2uOT7EryvOEuz0uya1j+qmE7AACAqTOpIYIzSY6rqpkkD0tyd5JvS/LmYf3rkzxruH3h0M6w/ryqqsNYKwAAwAE57AGrtfbxJFcm2ZlRsPpskluS3NNa2z1sdleSU4bbpyS5c7jv7mH7Rx7OmgEAAA7EJIYIrs+oV+qMJCcnOT7Jd3XY7yVVdXNV3Xz11Vc/1N0BAAActJkJHPP8JHe01j6dJFX135I8PclJVTUz9FKdmuTjw/YfT3JakruGIYUnJvnM8p221q5OspCs2ngfAgAAwFebxDVYO5M8taoeNlxLdV6S25JsTfIDwzYXJXnLcPutQzvD+ne21gQoAABg6tQkskpVvSzJDyXZnWR7kp/I6FqruSQbhmU/0lq7v6qOTfIHSc5JMp9ktrW2Yz+HEMAAAIBx2uvEexMJWIfBmnxQAADA1NhrwJrUNO0AAABrjoAFAADQiYAFAADQiYAFAADQiYAFAADQiYAFAADQiYAFAADQiYAFAADQiYAFAADQiYAFAADQiYAFAADQiYAFAADQiYAFAADQiYAFAADQiYAFAADQiYAFAADQiYAFAADQiYAFAADQiYAFAADQiYAFAADQiYAFAADQiYAFAADQiYAFAADQiYAFAADQiYAFAADQiYAFAADQiYAFAADQiYAFAADQiYAFAADQiYAFAADQiYAFAADQiYAFAADQiYAFAADQiYAFAADQiYAFAADQiYAFAADQiYAFAADQiYAFAADQiYAFAADQiYAFAADQiYAFAADQiYAFAADQiYAFAADQiYAFAADQiYAFAADQiYAFAADQiYAFAADQiYAFAADQiYAFAADQiYAFAADQiYAFMAHz8/PZsmVLdu3aNelSAICOBCyACZibm8ttt92Wubm5SZcCAHQkYAEcZvPz87nhhhvSWsv111+vFwsA1hABC+Awm5uby549e5Ike/bs0YsFAGuIgAVwmG3bti27d+9OkuzevTtbt26dcEUAQC8CFsBhtmnTpszMzCRJZmZmsnnz5glXBAD0ImABHGazs7NZt270n99169ZldnZ2whUBAL0IWACH2YYNG3LeeeelqnL++edn/fr1ky4JAOhkZtIFAByJZmdns3PnTr1XALDGVGtt0jWMw5p8UAAAwNSovS00RBAAAKATAQsAAKATAQsAAKATAQsAAKATAQsAAKATAQsAAKATAQsAAKATAQsAAKATAQsAAKATAQsAAKATAQsAAKATAQsAAKATAQsAAKATAQsAAKATAQsAAKATAQsAAKATAQsAAKATAQsAAKATAQsAAKATAQsAAKATAQsAAKATAQsAAKATAQsAAKATAQsAAKATAQsAAKATAQsAAKATAQsAAKATAQsAAKATAQsAAKATAQsAAKATAQsAAKATAQsAAKATAQsAAKATAQsAAKATAQsAAKATAQsAAKATAQsAAKATAQsAAKATAQsAAKATAQsAAKATAQsAAKATAQsAAKATAQsAAKATAQsAAKATAQsAAKATAQsAAKATAQsAAKATAQsAAKATAQsAAKATAQsAAKCTiQSsqjqpqt5cVf+rqj5SVd9SVRuq6h1V9dHh3/XDtlVVv1FVt1fVB6vqKZOoGQAAYH8m1YP160n+orX2T5KcneQjSbYkuaG19oQkNwztJPnuJE8Y/i5J8juHv1wAAID9q9ba4T1g1YlJPpDkzLbo4FX1t0k2tdburqrHJtnWWntiVf3ucPva5dutcJjD+6AAAIAjTe1t4SR6sM5I8ukkv1dV26vqmqo6PsljFoWmTyR5zHD7lCR3Lrr/XcOyJarqkqq6uapuvvrqq8dYPgAAwN7NTOiYT0nyU62191XVr+crwwGTJK21VlUH1QvVWrs6yUKy0oMFAAAcdpPowboryV2ttfcN7TdnFLg+OQwNzPDvp4b1H09y2qL7nzosAwAAmCqHPWC11j6R5M6qeuKw6LwktyV5a5KLhmUXJXnLcPutSZ47zCb41CSf3c/1VwAAABNx2Ce5SJKqenKSa5IcnWRHkh/LKOy9KcnGJH+X5NmttfmqqiS/leS7kvxjkh9rrd28n0MYIggAAIzTXie5mEjAOgzW5IMCAACmxtTMIggAALAmCVgAAACdCFgAAACdCFgAAACdCFgAAACdCFgAAACdCFgAAACdCFgAAACdCFgAAACdCFgAAACdCFgAAACdCFgAAACdCFgAAACdCFgAAACdCFgAAACdCFgAAACdCFgAAACdCFgAAACdCFgAAACdCFgAAACdCFgAAACdCFgAAACdCFgAAACdCFgAAACdCFgAAACdCFgAAACdCFgAAACdCFgAAACdHFDAqqrHVdX5w+3jqurh4y0LAABg9dlvwKqqi5O8OcnvDotOTfJn4ywKAABgNTqQHqwXJnl6ks8lSWvto0kePc6iAAAAVqMDCVj3t9YeWGhU1UySNr6SAAAAVqcDCVg3VtXPJzmuqr49yZ8kuW68ZQEAAKw+1drKnVFVtS7J85J8R5JK8pdJrmn7u+NkTXNtAADA6ld7XXggOamqjk7yTzIKLn+7eMjglBKwAACAcdprwJrZ772qvifJVUn+97CTM6rq37fW/rxvfQAAAKvbgQwR/F9Jvre1dvvQ/vokb2ut/ZPDUN+h0oMFAACM0157sA5kkovPL4SrwY4kn+9SEgAAwBpyID1Yv5PkcUnelFHP0A8m2Znk+iRprf23Mdd4KPRgAQAA43Rok1xU1e+tsLq11n78oVQ1JgIWAAAwToccsB7ZWvvMWEoaHwELAAAYp0O+Buu9VfUnVfXMqtrrTgAAADiwgPUNSa5O8pwkH62qX6mqbxhvWQAAAKvPAf3Q8IMbV21O8odJjk9ya5ItrbX3jKm2h8IQQQAAYJwO7hqsqtrYWttZVY9M8iMZ9WB9Mslrk7w1yZOT/Elr7Yzx1PuQCFgAAMA47TVgzaxwhz9L8pQk70nyB0me1Vq7a9H6m6vqqn71AQAArG4r9WBtb62dU1XVDmYc4XRYbfUCAACry0EPEfxUkrl97a219tN96hoLAQsAABingx4i+IUkt4ynFgAAgLVnpR6s97fWnnKY6+lFDxYAADBOB/1Dww+MqRAAAIA16aB+B2sVWZMPCgAAmBoH3YMFAADAQRCwAAAAOllpFsEHVdX6JKct3r619v5xFQUAALAa7TdgVdUvJfnRJP87X7m2qSX5tvGVBQAAsPrsd5KLqvrbJP+0tbaaZhU0yQUAADBOhzzJxYeSnNS3FgAAgLXnQHqw/nmSt2QUtO5fWN5a+77xlvaQ6MECAADGaa89WAcyycXrk1yR5G+S7OlZEQAAwFpyID1Y/7O19i8OUz296MECAADGaa89WAcSsH4to6GBb83SIYLTPE27gAUAAIzTIQesrXtZ3Fpr0zxNu4AFAACM06EFrFVqTT4oAABgahzaNO1VdWJV/VpV3Tz8vbKqTuxfHwAAwOp2IL+D9bokn0/y7OHvc0l+b5xFAQAArEYHcg3WB1prT97fsiljiCAAADBOhzZEMMkXquoZD+6l6ulJvtCrKgAAgLXiQHqwnpzRjw2fmFFKm09yUWvtg+Mv75DpwQIAAMbpoc0iWFWPSJLW2uc6FjUuAhYAADBOD20WwSTvTPJOswgCAADsnVkEAQAAOjGLIAAAwMEziyAAAMA4mUUQAADg4PWZRTDJfUlmW2t/1KmwcRCwAACAcTq4IYJV9YiqeklV/VZVfXtGE108N8ntGU12AQAAwCL77MGqqrck2ZXkPUnOS/LojFLapa21Dxy2Cg+NHiwAAGCcDm6IYFX9TWvtnw63j0pyd5KNrbUvjq3EfgQsAABgnA56FsEvLdxorX05yV2rJFwBAABMxEo9WF/OaEKLZJTOjkvyj8Pt1lp7xF7vOB30YAEAAOP00GYRXGXW5IMCAACmxiH/0DAAAAAHQMACAADoRMACAADoRMACAADoRMACAADoRMACAADoRMACAADoRMACAADoRMACAADoRMACAADoRMACAADoRMACAADoRMACAADoRMACAADoRMACAADoRMACAADoRMACAADoRMACAADoRMACAADoRMACAADoRMACAADoRMACAADoRMACAADoRMACAADoRMACAADoRMACAADoRMACAADoZGIBq6qOqqrtVfXfh/YZVfW+qrq9qt5YVUcPy48Z2rcP60+f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AACdCFgAAACdCFgAAACdCFgAAACdCFgAAACdCFgAAACdCFgAAACdCFgAAACdCFiM1fbt23PhhRfm1ltvnXQpMFV27NiRH/qhH8odd9wx6VIAgI6qtTbpGsZhTT6o1Wh2djb33XdfTjjhhFx77bWTLgemxgte8ILceeed2bhxY1796ldPuhwA4ODV3hbqwWJstm/fnvvuuy9Jcu+99+rFgsGOHTty5513Jkl27typFwsA1hABi7G54oorlrRf/vKXT6gSmC5XXnnlim0AYPUSsBibhd6rBffee++EKoHpstB7tWDnzp0TqgQA6E3AYmyOP/74Je0TTjhhQpXAdDnttNOWtDdu3DihSgCA3gQsxubyyy9f0t6yZcuEKoHp8uIXv3jFNgCweglYjM0555yThz3sYUlGvVlnn332hCuC6XDmmWc+2Iu1cePGnHHGGROuCADoRcBirM4666wkyZOe9KQJVwLT5cUvfnEe9rCH6b0CgDXG72AxNvPz87n44ovzwAMP5Oijj84111yT9evXT7osAADowe9gcXjNzc1lz549SZI9e/Zkbm5uwhUBAMB4CViMzbZt27J79+4kye7du7N169YJVwQAAOMlYDE2mzZtWtLevHnzZAqBKXTVVVflggsuyNVXXz3pUgCAjgQsxmZ2dnbFNhzJ3va2tyVJrrvuuglXAgD0JGAxNh/60IeWtD/84Q9PqBKYLlddddWStl4sAFg7zCLI2Hz/93//g9dgJcnMzEz+9E//dIIVwXS44IILvmqZniwAWHXMIsjhtThc7a0NAABrjYDF2MzMzKzYBoDlbrrpplxwwQV517veNelSYKr4bKweAhZj89SnPnVJ+2lPe9qEKgFgtXjVq16VJHnlK1854UpgurziFa9IklxxxRUTroT9EbAYm+XfsNx0000TqgSA1eCmm25a8vuJvqmHkeXnUD4b003AAgCmwkLv1QK9WDCy0Hu1QC/WdBOwAICpYHIkYC0QsACAqWByJGAtELAAgKlw2WWXLWm/6EUvmlAlAIdOwGJsqmrFNgAsdu655z7YazUzM5NnPOMZE64IpsNJJ520pL1+/foJVcKBELAYm+c85zlL2hdddNGEKgFgtVjoxdJ7BV/xspe9bMU200XAYmy2bt26pP3Od75zQpXAdDnttNOWtDdu3DihSmD6nHvuubnuuuv0XsEiV155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\n",
"text/plain": [
"<Figure size 864x720 with 1 Axes>"
]
},
"metadata": {
"tags": [],
"needs_background": "light"
}
}
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "W4alN1mPm3DV",
"colab_type": "text"
},
"source": [
"### Now we can make use of the latitude and longitude values to perform a geospatial analysis of the Airbnb properties islandwide"
]
},
{
"cell_type": "code",
"metadata": {
"id": "qnf_AxU2759j",
"colab_type": "code",
"colab": {}
},
"source": [
"# Import geospatial libraries\n",
"import folium \n",
"from folium.plugins import MarkerCluster\n",
"import plotly.express as px"
],
"execution_count": 0,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "JoWVHrMtGJs3",
"colab_type": "code",
"outputId": "c4ded5db-f41b-4ba5-8d1e-acd44bd950bc",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 35
}
},
"source": [
"locations = df_listings[['latitude','longitude']]\n",
"locationlist = locations.values.tolist()\n",
"len(locationlist)"
],
"execution_count": 16,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"8047"
]
},
"metadata": {
"tags": []
},
"execution_count": 16
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "VuLBv8b2GhIt",
"colab_type": "code",
"colab": {}
},
"source": [
"#Identify locations of Airbnb properties on the Singapore Map\n",
"map = folium.Map(location=[1.44255,103.79580],tiles = 'Stamen Terrain',zoom_start=11)\n",
"marker_cluster1 = MarkerCluster().add_to(map)\n",
"for i in range(len(locationlist)):\n",
" folium.Marker(locationlist[i]).add_to(marker_cluster1)"
],
"execution_count": 0,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "v_yr2EGZH5Nj",
"colab_type": "code",
"outputId": "4c8cba7a-2f42-4f70-8728-ce378ece39b5",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 760
}
},
"source": [
"map"
],
"execution_count": 18,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/html": [
"<div style=\"width:100%;\"><div style=\"position:relative;width:100%;height:0;padding-bottom:60%;\"><iframe src=\"about:blank\" style=\"position:absolute;width:100%;height:100%;left:0;top:0;border:none !important;\" data-html=PCFET0NUWVBFIGh0bWw+CjxoZWFkPiAgICAKICAgIDxtZXRhIGh0dHAtZXF1aXY9ImNvbnRlbnQtdHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PVVURi04IiAvPgogICAgPHNjcmlwdD5MX1BSRUZFUl9DQU5WQVM9ZmFsc2U7IExfTk9fVE9VQ0g9ZmFsc2U7IExfRElTQUJMRV8zRD1mYWxzZTs8L3NjcmlwdD4KICAgIDxzY3JpcHQgc3JjPSJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvbnBtL2xlYWZsZXRAMS40LjAvZGlzdC9sZWFmbGV0LmpzIj48L3NjcmlwdD4KICAgIDxzY3JpcHQgc3JjPSJodHRwczovL2NvZGUuanF1ZXJ5LmNvbS9qcXVlcnktMS4xMi40Lm1pbi5qcyI+PC9zY3JpcHQ+CiAgICA8c2NyaXB0IHNyYz0iaHR0cHM6Ly9tYXhjZG4uYm9vdHN0cmFwY2RuLmNvbS9ib290c3RyYXAvMy4yLjAvanMvYm9vdHN0cmFwLm1pbi5qcyI+PC9zY3JpcHQ+CiAgICA8c2NyaXB0IHNyYz0iaHR0cHM6Ly9jZG5qcy5jbG91ZGZsYXJlLmNvbS9hamF4L2xpYnMvTGVhZmxldC5hd2Vzb21lLW1hcmtlcnMvMi4wLjIvbGVhZmxldC5hd2Vzb21lLW1hcmtlcnMuanMiPjwvc2NyaXB0PgogICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvbnBtL2xlYWZsZXRAMS40LjAvZGlzdC9sZWFmbGV0LmNzcyIvPgogICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL21heGNkbi5ib290c3RyYXBjZG4uY29tL2Jvb3RzdHJhcC8zLjIuMC9jc3MvYm9vdHN0cmFwLm1pbi5jc3MiLz4KICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iaHR0cHM6Ly9tYXhjZG4uYm9vdHN0cmFwY2RuLmNvbS9ib290c3RyYXAvMy4yLjAvY3NzL2Jvb3RzdHJhcC10aGVtZS5taW4uY3NzIi8+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vbWF4Y2RuLmJvb3RzdHJhcGNkbi5jb20vZm9udC1hd2Vzb21lLzQuNi4zL2Nzcy9mb250LWF3ZXNvbWUubWluLmNzcyIvPgogICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL2NkbmpzLmNsb3VkZmxhcmUuY29tL2FqYXgvbGlicy9MZWFmbGV0LmF3ZXNvbWUtbWFya2Vycy8yLjAuMi9sZWFmbGV0LmF3ZXNvbWUtbWFya2Vycy5jc3MiLz4KICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iaHR0cHM6Ly9yYXdjZG4uZ2l0aGFjay5jb20vcHl0aG9uLXZpc3VhbGl6YXRpb24vZm9saXVtL21hc3Rlci9mb2xpdW0vdGVtcGxhdGVzL2xlYWZsZXQuYXdlc29tZS5yb3RhdGUuY3NzIi8+CiAgICA8c3R5bGU+aHRtbCwgYm9keSB7d2lkdGg6IDEwMCU7aGVpZ2h0OiAxMDAlO21hcmdpbjogMDtwYWRkaW5nOiAwO308L3N0eWxlPgogICAgPHN0eWxlPiNtYXAge3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2JvdHRvbTowO3JpZ2h0OjA7bGVmdDowO308L3N0eWxlPgogICAgCiAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLAogICAgICAgIGluaXRpYWwtc2NhbGU9MS4wLCBtYXhpbXVtLXNjYWxlPTEuMCwgdXNlci1zY2FsYWJsZT1ubyIgLz4KICAgIDxzdHlsZT4jbWFwXzEzODYxMWE1NmYwNTQyMmViNDc3MDhhNmY3OTM4YTg2IHsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgd2lkdGg6IDEwMC4wJTsKICAgICAgICBoZWlnaHQ6IDEwMC4wJTsKICAgICAgICBsZWZ0OiAwLjAlOwogICAgICAgIHRvcDogMC4wJTsKICAgICAgICB9CiAgICA8L3N0eWxlPgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vY2RuanMuY2xvdWRmbGFyZS5jb20vYWpheC9saWJzL2xlYWZsZXQubWFya2VyY2x1c3Rlci8xLjEuMC9sZWFmbGV0Lm1hcmtlcmNsdXN0ZXIuanMiPjwvc2NyaXB0PgogICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL2NkbmpzLmNsb3VkZmxhcmUuY29tL2FqYXgvbGlicy9sZWFmbGV0Lm1hcmtlcmNsdXN0ZXIvMS4xLjAvTWFya2VyQ2x1c3Rlci5jc3MiLz4KICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iaHR0cHM6Ly9jZG5qcy5jbG91ZGZsYXJlLmNvbS9hamF4L2xpYnMvbGVhZmxldC5tYXJrZXJjbHVzdGVyLzEuMS4wL01hcmtlckNsdXN0ZXIuRGVmYXVsdC5jc3MiLz4KPC9oZWFkPgo8Ym9keT4gICAgCiAgICAKICAgIDxkaXYgY2xhc3M9ImZvbGl1bS1tYXAiIGlkPSJtYXBfMTM4NjExYTU2ZjA1NDIyZWI0NzcwOGE2Zjc5MzhhODYiID48L2Rpdj4KPC9ib2R5Pgo8c2NyaXB0PiAgICAKICAgIAogICAgCiAgICAgICAgdmFyIGJvdW5kcyA9IG51bGw7CiAgICAKCiAgICB2YXIgbWFwXzEzODYxMWE1NmYwNTQyMmViNDc3MDhhNmY3OTM4YTg2ID0gTC5tYXAoCiAgICAgICAgJ21hcF8xMzg2MTFhNTZmMDU0MjJlYjQ3NzA4YTZmNzkzOGE4NicsIHsKICAgICAgICBjZW50ZXI6IFsxLjQ0MjU1LCAxMDMuNzk1OF0sCiAgICAgICAgem9vbTogMTEsCiAgICAgICAgbWF4Qm91bmRzOiBib3VuZHMsCiAgICAgICAgbGF5ZXJzOiBbXSwKICAgICAgICB3b3JsZENvcHlKdW1wOiBmYWxzZSwKICAgICAgICBjcnM6IEwuQ1JTLkVQU0czODU3LAogICAgICAgIHpvb21Db250cm9sOiB0cnVlLAogICAgICAgIH0pOwoKCiAgICAKICAgIHZhciB0aWxlX2xheWVyX2JiNjg3NTcwMzVjNDQ3ZGE5ZjI4ZTI5ZmJmMjFhMDMzID0gTC50aWxlTGF5ZXIoCiAgICAgICAgJ2h0dHBzOi8vc3RhbWVuLXRpbGVzLXtzfS5hLnNzbC5mYXN0bHkubmV0L3RlcnJhaW4ve3p9L3t4fS97eX0uanBnJywKICAgICAgICB7CiAgICAgICAgImF0dHJpYnV0aW9uIjogbnVsbCwKICAgICAgICAiZGV0ZWN0UmV0aW5hIjogZmFsc2UsCiAgICAgICAgIm1heE5hdGl2ZVpvb20iOiAxOCwKICAgICAgICAibWF4Wm9vbSI6IDE4LAogICAgICAgICJtaW5ab29tIjogMCwKICAgICAgICAibm9XcmFwIjogZmFsc2UsCiAgICAgICAgIm9wYWNpdHkiOiAxLAogICAgICAgICJzdWJkb21haW5zIjogImFiYyIsCiAgICAgICAgInRtcyI6IGZhbHNlCn0pLmFkZFRvKG1hcF8xMzg2MTFhNTZmMDU0MjJlYjQ3NzA4YTZmNzkzOGE4Nik7CiAgICAKICAgICAgICAgICAgdmFyIG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5ID0gTC5tYXJrZXJDbHVzdGVyR3JvdXAoe30pOwogICAgICAgICAgICBtYXBfMTM4NjExYTU2ZjA1NDIyZWI0NzcwOGE2Zjc5MzhhODYuYWRkTGF5ZXIobWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfNjYxNmJlYmIyZDUwNGNjNDhmOTNlOGQzYzZlYzVmMjAgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuNDQyNTUsIDEwMy43OTU4XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl80M2Q5OTcyNzhkNjg0YmVhOWNmNDdhYjZlMzgyZDdhZCA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMzIzNSwgMTAzLjc4NTIwOTk5OTk5OTk5XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl9iN2VhMDIwNWJmNWI0NjRkYTQ2NGRhNDBhZGE2N2VjYiA9IEwubWFya2VyKAogICAgICAgICAgICBbMS40NDI0NiwgMTAzLjc5NjY2OTk5OTk5OTk5XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl82ZGY1ZmM0YTYxNzI0NDc3YjkwNDRjMjcxNThjOWVkNCA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zNDU0MSwgMTAzLjk1NzExOTk5OTk5OTk5XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl8yNmU1YWM4MWZlY2Y0MDA3ODUxNmNhNTU2ZTg5Mjc4YyA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zNDU2NzAwMDAwMDAwMDAxLCAxMDMuOTU5NjNdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2Y2NDc0MWExMzU2NjRhNjg4NWYyYTdlODZhN2NiNWFmID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjM0NzAyLCAxMDMuOTYxMDMwMDAwMDAwMDFdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzY2OTQwNTI4N2FhZTRlZDA5MTU1YjM5MjkwYWQ2NDZhID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjM0MzQ4LCAxMDMuOTYzMzddLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzBmYThhNzNmOTlhMDQyYzI5Y2E1ZWQyYTZlMmViYTQ1ID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMyMzkxMDAwMDAwMDAwMDEsIDEwMy45MTI3N10sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfZTdjNWZkMmFiMGYxNDRlZGE1YWIwZmI0OWRhMTJiYWEgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzIzOTEwMDAwMDAwMDAwMSwgMTAzLjkxMjc3XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl8yNGMxZWE5ZGQ5ZGY0NDU4OThmMGJkZmU4NWNmYTc3NSA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMjM5MTAwMDAwMDAwMDAxLCAxMDMuOTEyNzddLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2JkNzVlZTljMjI0NzQzMzE5NTFjMTgxOTBkYzFkZGIxID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjI4ODc1LCAxMDMuODA4MTQwMDAwMDAwMDFdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzY2OWVhZjAyNzg4OTQ4ZTViMTM0ZDM3MzY4MDQ0MjEzID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjI4ODM3LCAxMDMuODEwOTldLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzU0NTRkNjEzNDM1NTQxNmZiMDRmNTVmOWVlZWFlNDk0ID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMxMTI1LCAxMDMuODM4MTZdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzE0NzFlM2EwZmQxYjQ4ZDJhNWE5NDYwYzA2N2ZhZGQ4ID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMxNzI0LCAxMDMuODg5NTgwMDAwMDAwMDFdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzkwYTYwNjY0MGM0NjQ4MDhiM2I5Y2JjYWQ3NThhNjUxID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjI4OTc2LCAxMDMuODA4OTZdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2M2M2Q5ZDUyZDk0YzQwYzM4YmU4MGM4YTA2MzgyZGM0ID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjI4Njc3LCAxMDMuODEyNDQwMDAwMDAwMDFdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2U2OGM3YTgxMWRjOTQ2NmI4MDAwYTE1Mjg4YTk5NjJiID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjI4NTM3MDAwMDAwMDAwMDEsIDEwMy44MTA4N10sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfYTg3NjliMTg5ZWQ0NGQ5MmFiZWFkZjlkNzNhNjFiN2UgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzQ5NDMsIDEwMy45NTk1MV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfNjI0MTA1NTEzOTFhNGY1Yjk1ZjY4OWZiZDhmOGE4Y2MgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzE0MiwgMTAzLjkwMjMxOTk5OTk5OTk5XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl8xY2VhNDFmOGFhNTQ0MzlhYTg3ODliMDM0MjllMGUzOCA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMTE1LCAxMDMuODM3NTldLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2VhYjllMDNkMDlmNDQzZGM4OTI5YTAxNWExZDBhNmFlID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMxMTU5LCAxMDMuODM4MDVdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzE3MWVkZTMyMmEwYzRjZGQ4YjJiMGJjZDNkOTkyMGUxID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjI5MzQ1LCAxMDMuODM1NjE5OTk5OTk5OTldLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzQ5ZmZkZWU1OTE1NjRjOWY5YmU5MjFkNWM1YzE2NjFmID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjM0ODM4LCAxMDMuOTU5Ml0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfOWU5ZTQwZTdmNWIzNDRlN2EzY2ExOTJhNDc0YmQ2YWQgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzYyOCwgMTAzLjg2NDQ2XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl82YzgzMDgxNjk1YjU0ZGE1ODk2NzM3OGM1YmY5NTMwNyA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zNDgxNiwgMTAzLjkzMjM4MDAwMDAwMDAxXSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl82OGM4N2UzOTI0YTM0YTI1YjJmOWM2Mjc4OWE5YTRjNyA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zNDEzNSwgMTAzLjcxMTM5MDAwMDAwMDAxXSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl84YzI3ZGViY2M4YTQ0MWQ2YTNjODc5ODE2MDA1YmEyMCA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMzE3MSwgMTAzLjc5MzgzXSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl84OTIzMDBkNTRiMDk0YWU1OTZiM2EzMmU1NTY4MDUxNyA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMDEwODk5OTk5OTk5OTk5LCAxMDMuODUyMzRdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzQyNGRmMDNlNGNiYjQxZmM4MTkwYmM5ODI5ZGQ0Mzc4ID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMxMDE2LCAxMDMuNzk4NTNdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzFjNThhMjZhNjgxZjRjNjFhNzA1MWUyZTExYTg1MjVlID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMwOTAxLCAxMDMuNzk2MzldLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2UzM2U2NDEwMTE1MDQ3MzViZDliYTRkODdmNGI5ZWJmID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjM2NzQzLCAxMDMuODcyODgwMDAwMDAwMDFdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzRmNmM5YjY2YmVkYTRmNTlhNTZiZTNiZDgxNGI2ZjZmID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMwNzkyLCAxMDMuOTIyODY5OTk5OTk5OTldLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2ZhYTU3Y2I4Y2NkNzQ2OTdhYjMyODY3NTY0NmU0OWM1ID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjI3NjYzLCAxMDMuODQ1MjFdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2M4OTAxZGQ0MGM1NzRlMDA4ZDE3NGQzMzhiMGQzMjYzID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjI3NTg1LCAxMDMuODQ1OTddLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzRkNDUyODQxYzQ0MzQzZTViYWU1NTI5M2Q2Y2Y1OTdiID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMwNDE2LCAxMDMuOTAwNzU5OTk5OTk5OTldLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzY1MDk2MDlkYzkxNjRmNDg5YTA1ZGJlMmMyNDEzMzNkID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjM1MDAxLCAxMDMuODcxNjFdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzYyNzA1Yzg4MDVkZTRhYWY5YThjNmQxYzFiMjE4YWQ5ID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjM3NTI3LCAxMDMuOTQ1NjE5OTk5OTk5OTldLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzE1MzJkNzg4YTMzODQ0ZTZiMWM1MGVkYWQ2NTA5YjA5ID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjM0MTQzLCAxMDMuODQ5NDVdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2I2ZDI2YmUyMzNiMDQ5ZjZiMTU4NTVjZWRjYTA3MzRmID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjI4NDEsIDEwMy44NDI1MzAwMDAwMDAwMV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfNDBjZTg4YWE5YWJhNGM0ZThmMjNkMWQyNTdiMDc5MTIgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzk5NjMsIDEwMy45MDY0XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl82ODY1YTM4N2VjNTU0NTE2OTA2YzU4ZDYxYzdhNzBkZSA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4yODM0MiwgMTAzLjc4NTg1XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl85YmRkMjg3ZTE1YTY0YzdmODA5YzBlOWZiN2EwZjczMyA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMDI5MiwgMTAzLjgyMjUzXSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl9iNWYwZTE0MTEwZTI0MGMyODAwY2Q1OGIwOWZmNGZjOCA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4yODkwOSwgMTAzLjgwNzQ5XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl84MzNiMjJmMWVkNjU0NjU2OWMzZTZkZTUxOTk3YTkzYyA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMDQ5MiwgMTAzLjkwMzE1XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl81OTMxYTQ3MzJkODg0NjU4YjNkNjhiZGQ1ZTcyMmQwNyA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMDQyNSwgMTAzLjkwMDk3XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl81MzlhZDUxMDQ2Nzc0Y2UxYjQyMmRiZTBjNzkzZjg0NCA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4yOTgzOSwgMTAzLjgyODA4XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl9mNGZhMTliMmU3NTY0ZDZjYjZlN2RiNGMwMzY0ODBlZiA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMTMxMywgMTAzLjkxNDc5XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl9lZGJiMjVjOWU3MWQ0ZjM2YWExYjA2ZjJiYjE1MDZlZCA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4yNzY4MSwgMTAzLjgyMzgxXSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl9iMzE2OGY5ZTljZDE0MmVmOTQ5N2YyMjFlMWM3NzkzOSA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zNjc5MiwgMTAzLjg5ODI2XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl80NjQ4MmU5MzE3YjY0MzhjOTA0MjQ2MThiMmVmYTYxNiA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4yODI5MSwgMTAzLjg0Mjg0XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl85MzFlYmU1OTZmMTU0ZDkzOTBhNWViMGU1OWFkZGNiOSA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zNjc3NSwgMTAzLjg5ODU1XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl8wNmFmOWI4ZGYyNWQ0MzZkYjIzNWQ3MjcyM2U5MWE3NyA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMTIzLCAxMDMuODU2OF0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfYThlMTc3Zjc5ZDU5NGJkYmE3OWE2Njc3Mzk0OTViYWMgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzY4ODUsIDEwMy44NzMxXSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl9hMzg1NGZhMDdkNzE0NjdmYWJmMDkwNGU2NmZhMTQ1OCA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4yNzUyOSwgMTAzLjg0NDk0MDAwMDAwMDAxXSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl81MDYyMWZkMmE1YjY0YmM4YWQ2ZDY1OTg2OTFkODBhYSA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4yODQyOSwgMTAzLjg0Mjk3XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl85MGMwZWMxNmFhZTc0Y2ExOTYyNTg5MTdjNjU5OTY1MyA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zNzM2ODk5OTk5OTk5OTk5LCAxMDMuODc4NDddLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzFmMGVmN2MwNzRiOTQwNjJhYzJlZGE0OWZjOWI0ZjQ3ID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMzMzM0LCAxMDMuODMyN10sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfYWZiNDRlMjg0M2E5NDYzZDlkMjY2ZmRmNzRhMWFhOWMgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMjkyNDUsIDEwMy44Mzc0Ml0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfMWZkOGZlOWQyZjA5NDhiZTk4YTA4YmE0NTMzYTNiNTcgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzgxMjMsIDEwMy43Njg3NDAwMDAwMDAwMV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfN2Q4ZjliMzI2YWMzNGI4ZTk5OWU1NTExNmUyMWNiYjkgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzY3NjQsIDEwMy45MDIyOF0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfYWRmMGM4ZjMyMmUwNDcyNjgxMGI3MmZhYzJhN2IxZjkgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzExODksIDEwMy44NTkwMV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfNWIyM2M4NWQ0YzY5NDNlNmE0YzRjMTJjZTU2NTA4NjYgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMjk2Mzc5OTk5OTk5OTk5OSwgMTAzLjg3MjgxOTk5OTk5OTk5XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl8yYzJiMDc3YTdlOWY0NWViODA0NDA2MTM0ODZjYTIyOCA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMTYxNywgMTAzLjgyNjk0MDAwMDAwMDAxXSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl83NDkzY2RhNmY3YTA0YmY0ODZjNTk0NjE3YjdkM2E1YiA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMTUwMywgMTAzLjgyNjE0MDAwMDAwMDAxXSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl9lYzdkOTA1Y2NkZWU0NjdiYTVjZjRjNWJhZjc5MGY1NSA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMTUwNzAwMDAwMDAwMDAyLCAxMDMuODI3MDRdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzI4Y2VmNzE0ZDc2YjRlODFiODY4MzU2ZTAxMTczZjY1ID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMxLCAxMDMuOTAzMjFdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzYwNjk4YmVjMjZlZDRlYjU4M2JiNzk4ZTEzZTIwYTk1ID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjI4MzgsIDEwMy44NDI2NV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfNmRlOGYxNTEzYTY0NGNiOWFmNTYxZDYwZTc2NjU3YjEgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzEyMTMsIDEwMy44NTYxXSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl80MmFmYzY3ODVkNGY0YzUzYjA5ZmE5MTE0ZDczOGM4MyA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4yODQ1Nzk5OTk5OTk5OTk4LCAxMDMuODQzMTFdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2FjY2NhYWIzYmM0MjQyNTY4ZDkwZWQ0YTI5N2Q4MTljID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjI5MjcsIDEwMy43Njg1XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl84MjBmODhmN2EyNjc0ZmIyOGU3ZGY4OGE3OWQ3MGViMCA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4yOTI3LCAxMDMuNzY4NV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfMjBlZTM4MDhlYTRkNDA1NWI1Njk4ODZhOTBkMzI2ZDAgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzE1MTEsIDEwMy44ODk0Njk5OTk5OTk5OV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfZDk2MWZjZTk2MDM1NDkyOGI0YTg0YzIzNWJlY2NkMmMgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzEyNTksIDEwMy45MTA2N10sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfZWNhOWM5ZGI1M2ZlNDNjOWI5Y2JiYzMyMTE4NzA4YzMgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMjgzODYsIDEwMy44NDIzOF0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfNDkxOGUwOGVkNWQxNGY3MTllNDYyNDFlMGM5MzU5MjIgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuNDI5NzcsIDEwMy43ODMxMV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfZTA4MzM4NjhjNGIxNDlhZmEwMWFkNTE0OTcyNWIwYmUgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuNDQ0MTIsIDEwMy43Njg1OV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfNmYxMmEwZTcwZWJhNGE3Nzg1OWFkODZhMzI0NjAyYTUgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuNDM1Njc5OTk5OTk5OTk5OCwgMTAzLjc3NTQ0XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl9kNTIxNGQ5Yjk1ODI0YjcyYjJhMjhiZmM0ZWU3MjM4MCA9IEwubWFya2VyKAogICAgICAgICAgICBbMS40MjI3NSwgMTAzLjc4NzU2XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl8xOGUxYmZkOGZmNWM0NTc0YTUwNmJiNmQ1ZWY4ODBkZiA9IEwubWFya2VyKAogICAgICAgICAgICBbMS40MjQyNiwgMTAzLjc3NzddLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzc2MzBmODNlZjQ2NDQ4NTBhNmM0MzRmOGY2OTdlMTVhID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjQyMjY5LCAxMDMuNzc2MzldLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2EyM2MyYTk0OWY0OTRkNTY5Y2IyNjQzNGQyZDY5MjQ4ID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjQyNzU5LCAxMDMuNzc5MzJdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2EyYmZiYWEzYTE0YzQwNDI5NjQ0NTdjZjQ1MjUzOTJjID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMyODg5LCAxMDMuOTA3OTk5OTk5OTk5OTldLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzNhZTExYjM5NWNhNjQ4N2I5ZmZiZGIwNDZiM2Q3NDJhID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjI5MjExLCAxMDMuODM2XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl85Y2NiY2UzMjcwYWU0ZmJkYmViZTQzMjkyOWY5NDNkOSA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMzA1LCAxMDMuODQyNF0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfN2Q3MTJhZjZkOWM3NGRkNGIwMjllZDQ2ZDM1NzI2MjkgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzA3NjgsIDEwMy44MjAxNjk5OTk5OTk5OV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfNmJlYmNiOWJmOTQ5NGRmMWJjNDMxNmY3ZDdlOWE5OGEgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzA3NzQsIDEwMy44NjMzMl0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfNTMzMDBjMmZhZTE1NDY3MWE1ZGNiYzBlZWMzODg5MzYgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzA4NDQsIDEwMy44NTg3NV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfMTFjNWY4NmU3YmEyNDE5YjhmZmMyYzJhM2UzZmM3NjggPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzIzNTksIDEwMy44NDk4XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl9mOGRkZmU4NGYzZTA0ZDkwODMxN2JjNDVlZDU5NzM5OSA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMTExOCwgMTAzLjg3MzY2OTk5OTk5OTk5XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl81ZGZhZjQ3NmUzZmM0ZmIyOGIyZjIwNDkzNTNmMDVhOCA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMDM0MSwgMTAzLjgzMzY1XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl85MDEzMTJmZDU5NGI0MTFmOTFhYTNhMGY0ZDhjNWI0YyA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4yODQxOSwgMTAzLjgyNzY1XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl8wYzI4MmU2NDkyMjY0YjBmYWVkOTYxYWU2MjcxNjE2ZSA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4yODQxLCAxMDMuODQyNTMwMDAwMDAwMDFdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2IwNGYyN2E2ODU3MjQ0M2JiMmE5ZjE3MzQ4MGM2M2ViID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMwNDk0LCAxMDMuOTAzMDZdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzM0YjAyZTVlODQ3NDQ0NmNiOTAyNTYyOTYxMTBhNzFjID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjM5MDg4LCAxMDMuODUzMDNdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2RmMDdhMDE3ZTg4MTQxNTc5ZWFkNGVhMDliNDliMjk2ID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjM0MTI2MDAwMDAwMDAwMDEsIDEwMy43NTk5Ml0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfMTdhYjUzODI0NTdjNDFhMmE3OGZjZGE0NWI2ZjBiNWUgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzM5MTcsIDEwMy44MjMwNl0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfM2RmOTViOTg2MWRkNDM1NDgwMTViZDhmZWQ1YmNmOGYgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzAyOTIsIDEwMy44NTc5OTk5OTk5OTk5OV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfYWYzYWM3NzE5MmVhNGVjNGJjYTdmMWNjYjJhOWQ0OTQgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMjg0MDUsIDEwMy44NDQyNF0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfMDkyOGIxZGYzZTRjNDgxZWEyYmQyOWI2Y2U3OThlOTAgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMjg0MDUsIDEwMy44NDQyNF0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfZWIyMTZiOWJiODE2NDBlYWFkNDA2YzEyZmUxOWRjNjEgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMjg0MDUsIDEwMy44NDQyNF0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfOTQwODI3Nzk4NWUxNGVlYTllMWU4YTY3YTdkMWIzNjYgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMjg0NjYwMDAwMDAwMDAwMSwgMTAzLjg0MjU1XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl9mMDZhMjE4Y2UyNzI0NGMyYTI4ZDdkODBmNzI5MjZkOCA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4yOTk0NzAwMDAwMDAwMDAxLCAxMDMuODQ2NjFdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2I2ZjMzNGFhNzBmNzRmZjhhOWViMThlZjEyMDQxYzM2ID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjI4NDEsIDEwMy44NDI1MzAwMDAwMDAwMV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfNjM3MjUwOTFiNGFkNDZmOTg4MGYwZWZlM2FmOTA1MGUgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMjgzMjgsIDEwMy44NDUzMl0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfN2ExNmRkMWE1ZGRiNDg0M2FkMDNjOWQ3NGY4NWU4ZjAgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuNDQ4NDI5OTk5OTk5OTk5OSwgMTAzLjgxNTM4XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl80ODg0OGI4NWFlZjc0OTU4YjEzNDBkMzhhN2YxMzU4OCA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMDYyNiwgMTAzLjgzOTk0XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl9mZTU3OTA5MzY0MzU0N2Q4YThjZThmNWUxZWFjMGEzYyA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMTkwODk5OTk5OTk5OTk5LCAxMDMuODU3NDFdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2VhODQyMmFlZGQ0OTRkYzk5MTc5NzM5YTY3YTZlMmY3ID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMxNDM1LCAxMDMuODg2MTY5OTk5OTk5OTldLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2MwZjFkZWMyNDcxMzQ5YmY5ZTJmYWE3YjZiNDhiNjBlID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjM4NzE3LCAxMDMuNzQyNTZdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzBiZTcxMzZkYTczMzQzZDQ4ODU1ZjMxMGEyZjczOTNmID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjM0NTY2LCAxMDMuOTU5OTRdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2IxMmMyMDgxZWY5NzRmMDRiMTA4YjcyZWRjZjllNDVhID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMxNzQyLCAxMDMuODI1NzE5OTk5OTk5OTldLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzQ2ZTk0ZmZmMjdiZjRmZGFiMzcxYjRiYzhiNDRlYjY2ID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMxOTkyOTk5OTk5OTk5OTgsIDEwMy45MjM0Ml0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfYmNlMzk3MGU3MTYyNGFlYTliODc5ZDFlZDRjNTIzZjEgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzQ1NzQsIDEwMy45NTk0NV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfMmVhNDQ5OGI3MTc2NGUzOThkYzViNWJkMmJmMTYyZWQgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzY3MjQsIDEwMy44NDcyMl0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfNzE2NjBjODhkMjc0NDRmYjhmMDMxYTU5MjUxOGFkMDMgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzE1MzksIDEwMy44ODI1N10sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfZWI4ZDAyYzRiMmNhNDFkNDk2ZDJlMjQ5MTg1MGNkYjcgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzE5NDQsIDEwMy45MTUyOV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfM2YxMzFkOTBjNDNlNDJkZGI2NDYzYjk2NGI2YzBjOTUgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzIyNDksIDEwMy45MjMxNl0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfYjZmMDJhYTQ4MzI1NDJjNGJjN2RhNTY1OGVlODQ3NzQgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMjc1MzksIDEwMy44NDQ5MV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfOGExNzQ1Mzk3MDVkNDJmMWE5NmRlYThkNjdkNjNiZDcgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMjk3MjYsIDEwMy44NDI2M10sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfZjczOGE4YjdhYzYxNDFiNTkzZGVhZjdhYWY4OTgzOGQgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzM3NywgMTAzLjg4MjQ4XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl83MzhkYzMxMGU4Y2Y0ZDE1YTM3OGQyMzE2NDRjYmNhZCA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMjExMSwgMTAzLjkyMjA2XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl8xMjAzNGZmMWQ2OGU0MTljYTI1NjMxNzAwYWM0OGNiMiA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMTk2Mjk5OTk5OTk5OTk5LCAxMDMuOTIzOTk5OTk5OTk5OTldLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzA5ZDg4ZTZlNGJjYjQwMzZhNGYzY2RmODRhNjI0MWRmID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjI3MzY1LCAxMDMuODQzNTRdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzc1Y2YzYjE2OGI4ZDRjZDk4ZDlmYjQ1YWFlYjUyYzQ3ID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMyMzU5LCAxMDMuODUwNjMwMDAwMDAwMDFdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzI2NWZlODQ5MjI3MDRmMDA5MmYzYmMwODllNTY5ZTg1ID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjM4NzY4LCAxMDMuNzQ0NzZdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzdjMTRmYzhiMzU0NDQ1ZjNhNmJjNDNmNjJiNjM2NDgwID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMyMzQ3MDAwMDAwMDAwMDEsIDEwMy44NTIxM10sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfOTI3ZjhlMTM3N2I2NGNlM2IyZjBiZjg3Y2FmM2M0OWIgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMjk4MTUsIDEwMy44Mzg5NV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfZTk5ZjI0Y2Y5MTYwNDYxODkzMWNlNmY5ZmY3N2VhNDAgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMjk1NDksIDEwMy44MzkzMV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfMDI3ZjIyY2I5NjdiNDMyNTg3N2M3NjVmZDljMDFiYzAgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzg2ODYsIDEwMy43NDQ2OF0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfMDExOGMwNTEyYjEzNDkxM2JmNDlkMTI5YzE3MGI4NTYgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMjgxNTI5OTk5OTk5OTk5OCwgMTAzLjg0ODA4MDAwMDAwMDAxXSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl82NWJkYTZhNWY3Njg0NTI5YTY5ODM1NmM3YTZlZjEyNiA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMTUyLCAxMDMuODU5MjU5OTk5OTk5OTldLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzk4MzdhMGRlZTRlNjQ5ZjM4ZDIyMjVhZDFkZjcwZDJiID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMxNjQyMDAwMDAwMDAwMDEsIDEwMy44Mzk4XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl9mODgzMDUwM2YwOGE0MzUyYTEzZjUzNDQzNjA0NTVmMyA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMjEyMiwgMTAzLjkxNDkyXSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl9kM2I0YjUwZWI0MjY0NmZlODBlMjJmZDU0MGU2MjBkOSA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMjQyMywgMTAzLjg1MjkzXSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl81YWI3NjNjNDQ4MDk0Y2M2YjUxYTUzYzM0MWY0MTY5OCA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4yOTQ4OCwgMTAzLjgzOTczXSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl9kMTA2ZGVlN2Y4NDY0MTI5YTM3NGJhNjkxYjhiYjE3NiA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zODYwMiwgMTAzLjc0MzE2XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl8yNjE1ZDljZWEyN2U0OWU4YjE3NmVkOTFhYmVhZTM0OSA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zNjg2NywgMTAzLjg5OTA1XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl8zMWVhZjAxMWFhMTI0MjE0OWU4OGI2YTdlYjVlNmVkOSA9IEwubWFya2VyKAogICAgICAgICAgICBbMS40NDA3NiwgMTAzLjc3NjI2XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl84ZDE2ODIwNmIxYTI0MWJhYjY1ODljZDBiYWJkMDQyNiA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4yOTA0MSwgMTAzLjgzNDgyXSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl9iZjNjZTYxZDc4MTY0ZjIxYTEwMDRiNjZhYjdhMGQyOSA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4yODQ0Nzk5OTk5OTk5OTk4LCAxMDMuODQzNl0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfNDg0MmRiOWRhNzNjNGQ2MTllYzRiMzViNjcyMGE5YTQgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzExNywgMTAzLjg2MDI4XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl8xY2EyYzcxZTE5YmQ0MDU5YTQ2MzY2ODlhNTg1YmM3YSA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4yOTQ2MiwgMTAzLjgzODU1XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl9jNDVmN2QwZWE4NmM0OTRlYmMxY2MyZDNhNDcxOTdmZCA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4yOTkwNzAwMDAwMDAwMDAyLCAxMDMuODc2MDFdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzhhY2IzOWZjODhkZjRjYTM5MGQ0YzZkMjRjMjNiYTQ3ID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMxMTcsIDEwMy44NjAyOF0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfNzFjZjk5YWI3MWM5NDdmMjk3OWI2NzYzMDZhMzA2MzAgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzExNywgMTAzLjg2MDI4XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl81NGNmZjEwZDAyOTk0YTU5Yjk2M2JlNDJmNDcyYmMxYyA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMTE3LCAxMDMuODYwMjhdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2ZiZjg4YmVlODkxYzQ1ZjY5OGI3YmRjNmVjZGE2MTljID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMxMTcsIDEwMy44NjAyOF0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfODBiYzc4NDQ5NjFlNGMxMGI3YThjZTAwOTMzYTExZDQgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzExNywgMTAzLjg2MDI4XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl80ZmQ0NzI1ZmI3NmE0YWI1YTcxMWQ3MjJjZWU3MWMzYyA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMTE3LCAxMDMuODYwMjhdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzQzNDI0OGM1OTZhNDQ4NmVhZDA1OTUwMDdlN2JlZTdkID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMzNzQ2LCAxMDMuNzgwNTJdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzBmYWIxMTJiM2E1MTQ2ZDlhODZiY2VjYTVhMWFhMmU1ID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjI5NDIsIDEwMy44NDI4M10sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfMzc1YWRlNzM1M2E0NGFlODk3MDhmYTM5MWRiMmI2NWMgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMjgzMDAwMDAwMDAwMDAwMSwgMTAzLjg0Mzk5XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl82ZTZjYTBhODM4NTA0ZGQ2ODM3NmQ1Yjg5YTVjNTNhNSA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4yODQwOSwgMTAzLjg0NTE0XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl85MjljYmU4NTQwYTk0MWE3OWQ4ZmJmOWU0OTViNGExMCA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMzY2NywgMTAzLjczNzQ4XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl9iMGIwMzg0ZTM3NDE0Y2RjYjRjYzIwZjY4YjQ2MzU0YyA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMDM0Mjk5OTk5OTk5OTk5LCAxMDMuODU3OTldLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2RkODE3YTI1ODZkNzQ2MTViOTgzNjA2OWEwM2EyMzM2ID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMxMTE3MDAwMDAwMDAwMDIsIDEwMy44NjIxNF0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfYzA4NzU0YmMwNTNmNGJjODliNGU3OTkyMjI5ODlhNmYgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzA2OTg5OTk5OTk5OTk5OSwgMTAzLjgwMTU5XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl8wNjcyOGE2N2I3NmY0ODMzYWU2ZDBlYTE3OTU0MDRkMyA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMjgyMywgMTAzLjk0ODM1XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl9iMWJlNWFhNDMyNDU0MTJkYjAwOGRjNmFlNzRmNDk0NyA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4yOTUxOSwgMTAzLjg0MTg1XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl81MWZhZTE5MzM4Njc0YzBiOTgwZjk1YmNiZGFkN2YyYSA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMTU2NiwgMTAzLjg4NTldLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2YxYzAxNDY4NTc1OTQ4YTZiYzJjNzI4YmRiMzIxOTljID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMxNTMxLCAxMDMuODg1NjFdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2MzMWJmMjY4ZGM5NTQzNDI5MjA4YWJmZDczMTFjZjc2ID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjI5NjQ1LCAxMDMuODM5NzJdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2ZiNDU2MTBjOTRmODRhNDk4MWM4ZTE3YzBkMzNlODAzID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjI5NjQ3OTk5OTk5OTk5OTksIDEwMy44Mzg3N10sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfMWNjYTk2MzQ1ODRjNGZlN2JlMTJjMzQyMjNhOTI2MTIgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMjgwNSwgMTAzLjc4NDM5XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl9kNzYzZjQ4N2M2NTA0MmUzODRiNzE2OWU3OWRlYjQ2ZCA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMDAyMSwgMTAzLjg0Mjg4MDAwMDAwMDAxXSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl8xN2QzMGZkNmE0MTY0ZjhiYmYxNGJkYzA2NzhmNzZiMiA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMTA0NywgMTAzLjg2MDk1OTk5OTk5OTk5XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl9hM2M1YTI4NDE1NWM0MmQ4OGVlMzNiOGM3NzEwNDkyNCA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zNjEwMywgMTAzLjg4MzU2XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl80NDdlOWQxNTMwMjc0MmI5ODNjNjZmMjNhOTkwNGY5MSA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4yOTg2LCAxMDMuODQ2NTldLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzYyY2I3MzY4YjJhYTQ5NzU5OTI2MzA5ZWI0NTVkMzkyID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMzOTY3MDAwMDAwMDAwMDEsIDEwMy44NjkwMV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfMzE4YzM4MmQ2OTdhNDMwNzk1NWI5YmVhMDI0MDUzYTYgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMjc4MTEsIDEwMy44MzM3OTAwMDAwMDAwMV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfN2I5NzRhZjk0ZjdjNGMzNmE5Yjc4MWE3MzliNjI4ZWQgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMjk1NzUsIDEwMy44NjU0OTAwMDAwMDAwMV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfZDZjYTIzZDY3MGE2NDZmN2IwNmI0YmI5YjJhOGE4NjEgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMjk3OTIsIDEwMy44Mzc4MV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfNGJjNzRiMjA1N2ZhNGE1NGI3NjYzODVkYWM0NWM0YjAgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzE2MDEwMDAwMDAwMDAwMSwgMTAzLjg4NTc5XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl8xNTExNTFiYmJhMDk0MjllOTQzYjMyNjQyYmQxMzEwNiA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMTIzOSwgMTAzLjg1MjAwOTk5OTk5OTk5XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl84YzgxMDU5NjI5OTk0YTMxOGQ1Yjk5ZGIyNTZmY2JiNiA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMTUyLCAxMDMuODU5MjU5OTk5OTk5OTldLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzljMGJhYmM4YTBhYjQ5NWJhNmQxODMzNzg5ODM4NTY3ID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMxNTIsIDEwMy44NTkyNTk5OTk5OTk5OV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfYzg0MDYxYWI5YzFhNDJjODg0YjNmNjY1ZWJiNjdjNDggPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzE1MiwgMTAzLjg1OTI1OTk5OTk5OTk5XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl8yNDkyMDM2ZmJjMjA0OTJjOTIwMTFmZjQyMDcwYjAxOCA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMTM5Mjk5OTk5OTk5OTk4LCAxMDMuODg3NDldLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2M2YzEyNjExODUzNzQzZjY5MGVlNjNjYjZjZWM1ZjVhID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMxMDg2MDAwMDAwMDAwMDEsIDEwMy44NTg4MzAwMDAwMDAwMV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfNzQzMTY1YTJiYmI1NDAwN2I4OTIxNzRiMjM2MjI5MzIgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzA5OTcsIDEwMy44NjA1Ml0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfYmU0ZDk5ZGE3YWMyNGU3MTk3MTMyOWU4NWE5ZDQyODQgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMjgzNjIsIDEwMy44NDU1Ml0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfNTA5MTFlMTU1NzY0NGYxOGFhNDg3ZTliZGJkODhhNDggPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzQ3MTQsIDEwMy45NjAwMl0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfMGFiNjJmNDg5YmMyNGNiOTk2N2IwYzVkMjlmZWJjOTcgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMjgzNzgsIDEwMy44NDMxXSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl9jM2Y0ZDZlY2Y1NzQ0YWE0YWI0M2UxY2IzMWEzOTQyYyA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4yODIxNiwgMTAzLjg0NzE0XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl82ODQ5ZjNhYjUwMjE0NTlmYTQ2MGZmY2Y1YTRlMzM1ZSA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4yODg0NSwgMTAzLjg0MzU1XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl8yYWMxOTU3MTQ5MmM0OWU0YWRiNTBjYjc3NWUzMjBmYSA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMTU2MiwgMTAzLjg4NTg2XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl8yMWVmMzI4NTNjYzc0ZmRhYmM5ZTE4ODBhMTQ4MDkyNyA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4yOTUwOCwgMTAzLjg0MDg1XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl9hNDU2OWY5ODUyYzY0YzA2YjMyMThkNDdmODU3Y2YzMSA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zNDk0OCwgMTAzLjk2MzIxXSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl9lNmFhYWUzYjlkYWU0NTJlOTUzODhlYTFmZjgxMzMxYiA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4yODY2NywgMTAzLjgyOTM1XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl9mNWJmOTM3NjY0Mzg0YjY1YjI3ZTcyYWU3YjVhNmQ2ZCA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zNjQ0OSwgMTAzLjk1OTMxXSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl80Nzg3YjQ4MjYyY2Y0MDY4OGRiODA2ZjM4OGNkN2Y0MiA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMTIyOCwgMTAzLjg5NTIwOTk5OTk5OTk5XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl9lYjcyZjNkNjEwZmI0NGNiOGFkNDE1MmJmMWZiODZiMiA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMDI4NywgMTAzLjkwMDVdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzUzYjNkMTVjODFjYTQwYmY4Y2NiYjY1YjUzMTNhMmU0ID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjI5NDk4OTk5OTk5OTk5OTksIDEwMy44Mzg1MTk5OTk5OTk5OV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfZjhjNmY2NGUzZjZjNDFkOTgwNjMyMDhkMTYxMTc0ZGUgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzc2NjM5OTk5OTk5OTk5OSwgMTAzLjg1MjM4MDAwMDAwMDAxXSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl9mNTNiYTM4MmRjNGU0Y2YwODJkNWI3ZTc4Zjc5NzU1MyA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4yOTc4Mjk5OTk5OTk5OTk4LCAxMDMuODM5MzZdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzY2MDBkYTc3OTk0NzQxODViZTkxZWI5Y2Y1N2Y1N2Y3ID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjM3MzYsIDEwMy44NzY0NF0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfNzI0MzY1MWZiZjEwNGY4MDljNjAwM2IxNmJjMWUwMjkgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMjgzMTgsIDEwMy44NDMzNV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfMWE1Y2Q2ZjY2MGJiNGViYWEzOWJiYjA5NTBjYTA3NjQgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMjg0NTc5OTk5OTk5OTk5OCwgMTAzLjg0Mjk4MDAwMDAwMDAxXSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl8wMWMwYzU5MmQzMDM0YWEyYTdjYmJlMzY0ZGE0OWRkNiA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4yODk1NSwgMTAzLjgzODYxXSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl84ZmM3NWUyNWFiOWI0YWJhOWQzMDYzZGI5NjE3NzE5OCA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMTEyMiwgMTAzLjg0MTA4XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl9iOTA4MGIwMzFmODE0ZWIxOTAyZDQ0MjUxMDQ4N2IwZCA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMTcwNCwgMTAzLjg4ODQ3XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl9kZjI0OTllY2E4NmY0NDFjYTk4NmQwZDM5YzM2MDYzYyA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4yODQ5NiwgMTAzLjg0MzE4XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl81YmUzMTg2N2ViYjU0NjZhOGVlNDgyMmY4ZjNmNGU5NCA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4yODQzOSwgMTAzLjg0MzA4XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl9mNmU5NjQyYjkwOWE0NTVhYTBhZWI1ZjU3MzY4MWIyMiA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4yODQyNCwgMTAzLjg0Mjc1XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl9hNDBiZDZhYjc2N2Y0MzUwODA5YmMxOTYyNmYxZGI3ZCA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMTQ5MiwgMTAzLjg4ODAxXSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl8zZjhmMWIzMDM0YmE0ODNiOGRmNWViMDA2YjIzMDg4OCA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4yODI2MiwgMTAzLjg0NDg3XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl80ZjUzNGI0ZmZiZTU0OTlkOGQ5OWExYTUwM2MyYzU5YSA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4yODM1NCwgMTAzLjg0MzMxXSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl8yMDJiNDg0NjJhNmY0NmJiODM3ODY0ZjZkNzBkN2Q3OSA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMTU1LCAxMDMuODg1OTZdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzA0ODU0ZmZkZWI4YTQyZWFiZjY3OTgxYjI2N2EzMzgyID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjI5NTMyOTk5OTk5OTk5OTksIDEwMy44Mzc5N10sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfY2U3ODEzYmY0NWI1NDBjYmE4MGUzZjc3YjQzNWY3MjEgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMjk3OTgsIDEwMy43NjY4XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl9lMjVmZmE3NWE3MmU0YTJkOTI5YzBmNjdkOTIwYmY2ZCA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMTM3OSwgMTAzLjg4NTc3XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl9hMzM2OTA0OTAxMjQ0NjE3YjVhOTA1Nzk1NzcwOWE4OSA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMDM3NiwgMTAzLjg1OTIzMDAwMDAwMDAxXSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl81ODI3OWMxMGQ4M2Y0MGYyYjg2ZDZhYWU3MTBmZDc3NCA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMDE3MTAwMDAwMDAwMDAxLCAxMDMuODU5NTldLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzZhNGQ4MjlmOWIzMjRmNTNiMzIyZjE5MjJiMmIwOTNmID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMxMDgzLCAxMDMuODU3OTk5OTk5OTk5OTldLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzcyZGQyZTFkMWRiMDRmMjc4ODJlZmMyNTM4ODRlZTQwID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjI5NTk3LCAxMDMuODM4Ml0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfYTRiYjBlYjk0Mjc3NGVjNWIwNWY0OTcyMmJkYzdkNTUgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzQxODcwMDAwMDAwMDAwMSwgMTAzLjcxMTE1XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl81Yzg5MzA4N2ZmM2M0ZmI2YWI2Yzc4YWM4MTkwMWYxNyA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMjk4NiwgMTAzLjgxMjk2OTk5OTk5OTk5XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl82YjU4OWY1M2RiZGI0MTAzODA5NDMyMTZiNDI0YjZhZiA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMTU4NiwgMTAzLjg4NTU5MDAwMDAwMDAxXSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl83ODQwOWU3ODVlZjQ0OWZmOTMyNmMwNTJmYzA5YmE3NyA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMTU2NSwgMTAzLjg4NTc2XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl80NjZhNjQ3ZDhiM2Y0MWNiYTc2ZDE0ZTgyNjdiMzM2MSA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zNDcxLCAxMDMuNzc1MzJdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2NmMTgzZmQwNjhmNzRlOTU5ZGUyYWI4OTZlM2RjN2NlID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjI5MDAyMDAwMDAwMDAwMDIsIDEwMy44MjMxNV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfN2ZiM2JmMjNmOTExNDMwNmEyYWQ1MmVmNGIxY2E1MmMgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzE0NjIwMDAwMDAwMDAwMSwgMTAzLjg5MTczMDAwMDAwMDAxXSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl8yZmJhNjRlMDNhOWI0OTQ5ODdlNjU1MmYzYzYzYmUyZiA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zNDUxNzk5OTk5OTk5OTk4LCAxMDMuODYwOTRdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2QzMjQyMWIzNDdjNzRkNDBhYWFkN2UzM2E5MzJlZjFlID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMwMTQ4LCAxMDMuODU4MTNdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2MyYzEwNjNjZWVmYTRmMGRhNDllY2Q4ZDQyM2NlNzFlID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMxODA4LCAxMDMuOTA1ODE5OTk5OTk5OTldLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzFhNzg3OGNmOThhMjQ5MzhhYjdkMjQzMDVmYTdhYzg2ID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMxOTQ0LCAxMDMuODYyMjJdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzVlZGQyNjc4OWRiYjRkNDliZmFhZTAyMWEwZjQyMjhjID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMxMzcsIDEwMy44ODc2NV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfYWMyZDY2MTRmMGY5NGIwNjgwNjE0NzFlYmQyMmEwOWEgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzAzNDgsIDEwMy44NTk2OV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfYmU1N2E1ZDM4MzRjNDljMjgzN2ViYWI2N2JiN2JhMWUgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzM3MiwgMTAzLjczNjA2XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl9iMjY2NWFiMDcyMzk0NmM5ODg0ZGY3YWMzMjQ1ZjE3YyA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMzg1NiwgMTAzLjczNTYyXSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl9kZWUwNmZjOWM1Mzg0ZjQ1YWMwNDdkY2RmYTUwYmVlMyA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMTYzMywgMTAzLjg4NTM5XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl8zYTc1YmY3MjMyNmI0NTBlOWIzZWM4MTEyNWRlMTlkMiA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMTE3MiwgMTAzLjg2MDEwOTk5OTk5OTk5XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl82NTIzZGVhZWI1Mzk0MDQyYWFiNzYxYzZjMzUzYzZhYyA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMTE3OSwgMTAzLjg2MDAxOTk5OTk5OTk5XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl85N2ZjODAzM2UzNDQ0OWExYTM1NjIxOTU0OWQxN2JiNCA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4yNzY0MSwgMTAzLjg0MDg3XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl8wNWJjOTI0NmJmNWY0ZjhiOGQyZTI4NGYxMjc0OTdlMiA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4yODIyMywgMTAzLjgzODY3XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl9lYTFiMzFkMDU4NzU0Nzg2OWQ2MjdmMjQ5ZjVlNzMyZCA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMTk5NSwgMTAzLjc5NDI2XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl81NjVlOWY4OGJmYzA0MTY5YmZjZTRmOGIxMDQ2YTIwNyA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMTQ0NCwgMTAzLjg4NzA5XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl84ZjYyZjc3MDZhOTg0ODAzODBkYzIzM2JmOTBlMzgzNyA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMTU5NSwgMTAzLjgyNjldLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzRjODY4NGJkYzU5YjRlNjZhNDU4ZmM3OTg2YzcwNDM0ID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMxMTMxLCAxMDMuODgzNDNdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2U0NGVkZWI3MmM5ZjQ5NGNhMDlhODg0YjBkZTk5YmU4ID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMxMzcyLCAxMDMuODg3MTZdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzBiZjE4ODhkYzM5MjQzYjhiMTlmYTA0ZTVlYmJiOWMzID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjI4Mjc4LCAxMDMuODQ0NV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfYzgyNmYxZDk5YjJiNDQyOGE1OWU2MDFhZmNlZjJhYjQgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMjgzMzIsIDEwMy44NDMzXSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl80N2IwZmE0YTVhOTI0ZjYzYjRjMjJkZmIzOTJjMjA0MiA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4yOTA4OCwgMTAzLjgzODkxXSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl84ODA4NWFjYWIyYWM0NDhlODAyNTVkNTYxMDIwMjNhZCA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMTcxOCwgMTAzLjg0Mjg2OTk5OTk5OTk5XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl85MGE4YmNlMWU4ZDg0MGQwYTI0M2Q0YmM1Y2NjOTgzNSA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4yNzI1NCwgMTAzLjgzMzddLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzgyYTVjZDVjY2M4YzRkZjA4ZWVmMmIyMTIyYzFmYjhmID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjI5MzEyLCAxMDMuODI5NzldLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzhkY2Y3NDdmMjM5MzQ1ODc5ZjNjM2E4NjU1ZGY0MDRlID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMxNDA5LCAxMDMuODcyMTNdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzdhM2I4NjJmNjJiMDQ1YmI4ZGM3ODAzZjM1MWJjOThjID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMyNDE5LCAxMDMuODUyODRdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzg5NzM3ZDQyNjhjNzQwZTFhMDA3YmE5MGExOTcwZTk1ID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMxNTY2LCAxMDMuODI2NjZdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2JiNGEzNGQ3YjY4YjQ1OGI5NjVmYTc2MDJiYmM0NjVjID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjI5NjcxLCAxMDMuODM5OTldLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzQwMzY0ODQ0NDA5ZjRjY2E4ZGQyYzc4Y2FkNWEwYmU2ID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMwNzg5LCAxMDMuODk2NDZdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2NhOTJmMWU5NDlkZjQwNzg4MTI2OGE5YTY2N2JlMzY4ID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMxNTEyLCAxMDMuODUzNDNdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzc1NmE0MzI1MTAzODQxOGZhMDcwZjk3ZWI0NDJjNzg5ID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjM0NzAyLCAxMDMuNzIyNzRdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzBjMTNiYjFmMTgzMTQwYjJiYTg1YTY4ZThiYTkzZWU4ID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMzMzQ3MDAwMDAwMDAwMDIsIDEwMy43ODYzNF0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfNTFlOWNjNWQ1NWM3NDhlMWE2MmY5MzYwMzJhODc3ZDAgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzE1MDMsIDEwMy44ODYwNV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfMTEzOTgxOThhNTQ0NDBkOGEwNTk5MzIxMGFhNzUwOGUgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzQ3NDYsIDEwMy43MzIwMzAwMDAwMDAwMV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfN2Y2Y2JiZmMxMDM5NGI0NmFkNzlmMWU2MzNiNjhjMWEgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMjkzNzcsIDEwMy44Mjg0NF0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfYzc5OGY0Yzc4YjM3NDg0NmE5OWI3OWIwYzQwZGIzYjAgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzI3MTIsIDEwMy44NjQ2OF0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfYWNkMzc4YWE4YTRiNDJjOGE1ODU1NWY0YzI3YzM0NmIgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMjczMDI5OTk5OTk5OTk5OSwgMTAzLjgyNzgzXSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl9hN2ZkNmJjYThkZWU0N2RhOTlkYmNlNzc1ZjMzNzZmZiA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMzA3Nzk5OTk5OTk5OTk5LCAxMDMuODY3ODJdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2M2NzRhN2E3NGE4ZjRhYjQ5MmUyM2Q3YTA3NDAxZmRmID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMxMDI1LCAxMDMuODgzMjU5OTk5OTk5OTldLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2ZkYTJhMjdlYzU3YzRhY2M5OWVjMmVhOTBmZTUzNmY1ID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMxMTA3MDAwMDAwMDAwMDIsIDEwMy44ODI5Ml0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfMmNhM2NmMWUwNjE3NDE0NGI1YWY2ODY3ZjU1ODQ3NjggPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzEwNDUsIDEwMy44ODExNF0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfYTM1MDEzNTE1OWY2NDdmODk2NDRhMmFhNjFiYmE1YmEgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzAxMTUsIDEwMy44NDc5XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl8wNzgxOGU4MDhiNmY0NjhmOTBlZTlkOTNiYTU4NjE4NSA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMDQ3NSwgMTAzLjg0MDMxOTk5OTk5OTk5XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl83MDUzNGNkYzliZDQ0YTYwYjFiNzkxOTUyNDEzZWYzZSA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMTUwMywgMTAzLjg1MTE2XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl81ZGU3ZjE0ODZiYzk0Y2JmOTEzN2EzMmQzMDM1OTEyZCA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4yNzUyMiwgMTAzLjg0Njk2XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl85NTlmOTA0Y2QxY2I0MGFjYjM0M2EwZDY5NjFkMDJkNCA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMTQ2NywgMTAzLjkzOTc0XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl83MmVjYWZmYmI5YzY0ZGI0YTA4NGFlMzA5ZDZmMjk2NSA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4yODE0MiwgMTAzLjg0NTIyXSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl82MTliZDFiMTQ4YTY0MjNmOTQ2MGIzNmU5ODNkZGM3ZiA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMjU0NiwgMTAzLjg1MTldLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzI4ZTA5NTI0YmUzZjQ5M2U5NzQwYjVmNGMxYjNiODU3ID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMxNDczLCAxMDMuODg3MzNdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzJiOWMwMjU2NWQwZjRkYTJiNzkxYzcwN2U4ZTliYTBmID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjI5Nzc1LCAxMDMuODgzNDFdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzY3ZGQyMGNhMGE0ZTRmNDViMDgyNTEyYjUxZWE5ZWU5ID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjM0NDMyMDAwMDAwMDAwMDIsIDEwMy44NjI1NV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfYmY3NTY2NTlmNzg1NDc5YTk3MTFlOTdlYjVmZjA5NTMgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzE2MTcsIDEwMy44MjY5NDAwMDAwMDAwMV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfNTI3NDQ5YTExNzM5NDE3NjgyZWViOGIyNDE1N2JhNGQgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzkwNDIsIDEwMy45MDc5Nl0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfZGUwZGE3OGU4NDUxNDY3NGFmNWZjYTE1NjE3YmNjMTEgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMjc4MDQsIDEwMy44MDgwNl0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfNzc5N2E0NzZmZjAxNDlmMzgwY2M2NGQxNzhhMDNhNTUgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzQ0OCwgMTAzLjg2MTQ0XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl8zOWM4ZDM0NjFlNTg0MjgzODIwOTViNWI2MmQ2NmFjMyA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMjg5OSwgMTAzLjk0Nzg3XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl8xYTM1MTYwMTVhNTc0OTg3ODZjYmUyOTEyYzExZTRmNCA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zODc4NSwgMTAzLjg2OTRdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzBiOWExZWI4NDM4NTQzN2E4ODRkZjMxMzI0MzViYjM1ID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjI5NTYxLCAxMDMuODU0M10sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfNmZlOWI4OGEzZTYzNDZjMjk3ODNkZDY5YTIzYjhjMDkgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzEwMTcsIDEwMy44ODI1M10sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfODFlN2U2YzI3MzdkNDIwMWJmZTFhMzBlMTcwZmM5NzkgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMjg0MywgMTAzLjgzMjU0MDAwMDAwMDAxXSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl8wMDhhNWNkN2Y5NDk0YzlkODc3ZWFjYmYwN2EzODdhYyA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMDcwNiwgMTAzLjg2MzI2XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl9jZDhiYmVjZWU2NGE0ZDU3ODkxNDk2ZGU5ZGI0NzRkNCA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMTUyOCwgMTAzLjg4ODE3XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl8xOWIwNDEwOGI3YjA0MmU4YTc1NGY2OTQ2YmM4ZGFiOCA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4yODI3MiwgMTAzLjg0NzA3XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl80OTNiZjU0MDhkOTE0NzQzOWY3MGMzYjBhOTc5NjM4MSA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zNDE1MSwgMTAzLjg0MTYzMDAwMDAwMDAxXSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl84MzE1ZTMzOWIyYmI0YTNiYTNiNzg3NWYyNGRmNjFmMSA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4yODg5NSwgMTAzLjg1MDMzXSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl80Y2VhODIzNjM5MDg0ZWRmYjA5MmRjNTExODdmMmMxMiA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMDk3MiwgMTAzLjg4MjY2XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl85MDUxOTM1YWFmMWE0MmQzYTdlYTRlODJiYWNhZTlkMSA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMTExOCwgMTAzLjg1NTkxXSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl84NTc3MGY2ODk4OWI0ODQ1YTczNGZlNjM0ODAwZGNmYSA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4yOTcwMiwgMTAzLjg0MTQ1XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl9jNmY1M2JjZTAwM2U0OWQ2Yjg2MWMzNjM1NzhhNDIzYSA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMTM2OCwgMTAzLjg4NTk3XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl84NWZjNDQ5MDI3NTg0NGFjYTUzMmFiOTJiNGY5MzQ2MiA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zNzk4NiwgMTAzLjc1MDg2OTk5OTk5OTk5XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl9iOTQ2ZWNkNmFjNjA0ZGQ4ODM5YjQ2YzNhNWYzMzIwMCA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMTMxNiwgMTAzLjg4NzM1XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl83NjUxYmU4Mzg0MDg0MWI5YjFlNDYwNDhjMjZlY2MzZCA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zNiwgMTAzLjgzMTldLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2YyMzNlNTRmMmM3OTQyOTY5N2UxOGM4MjczNjE4M2FjID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMxMTYxLCAxMDMuODgxNDMwMDAwMDAwMDFdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2ZjM2FjZDU3NGRjZjQyMjJiYTEwY2YyMjUyZjg2ZmEyID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMxMzg3LCAxMDMuOTM0ODQwMDAwMDAwMDFdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzA1YTY3MGUwYTczOTRhNDhiODQzYWIzNTU5OTZjZTIxID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMwNDg4OTk5OTk5OTk5OTksIDEwMy43ODQ1MV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfOGI1MTAxM2MzMzU4NGEyNzk5MTc1NzczMjdhOWE2YjIgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMjkyMzc5OTk5OTk5OTk5OSwgMTAzLjgzOTc4XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl85MTNjMzljZTQ2ZTQ0Y2E5YWRkY2VlYmI4OGJjMjMyMiA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMTMwNzAwMDAwMDAwMDAyLCAxMDMuODg2MjNdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2Q0OTI3OTcyMjEzMjQ5MjBiNWU3MDYxMDYzYTAyY2QwID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMxNDY0LCAxMDMuODg2NDJdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzNkZGVkZTczYzU1ZTQ2NDdhYTQwMDM0ZmVmMGFiZWIzID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMxNDUsIDEwMy44ODYwNjk5OTk5OTk5OV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfOTQ1YTM2ZmE3MTViNDlkY2E2ZGJlMTU2YWU5NTMyNGYgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzI5NjIsIDEwMy44ODY4NF0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfZWUyM2M3ZWRhNDYyNGE4ZTgxMTRmOTJkMWU2YmUzM2YgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMjk4ODcsIDEwMy44MzYwMzAwMDAwMDAwMV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfMTRiNjlmNjk1MDVlNDYxYWExYTk1OTk2NzE2MzkyM2MgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzExMDIsIDEwMy44ODEzOV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfYzc4YzgwODZhMWZkNDVjMjg3MGY1YTMyYjUwNThiMTQgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzA5NiwgMTAzLjg4MTY2XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl8xNTQzOWEzNDBkZGI0MmRhODEzMWFkMGZmZjY1NzE2YSA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMTA0NSwgMTAzLjg4MTQ4MDAwMDAwMDAxXSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl9hMjI5ODIyNDdhY2U0OTJlYmI5ZTUwMmFiYzM5MDQ5NyA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4yODE3NSwgMTAzLjg0NDMzXSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl85YjBiMThmNjhhZDY0ZjFkYWQzODk4NDVhZTE2M2EyOSA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMTY1Nzk5OTk5OTk5OTk5LCAxMDMuODI3MTRdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2FiMzFiZTIwZTQzOTRjMjZiMDZkMGI3YjFhZjE4NDBkID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjI5ODgyLCAxMDMuNzY0OTldLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2NhMDJlMTQ2N2QwMDQ3MzJhMmMwMzdmZGU5ZDdkYmNlID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjM2NTcyOTk5OTk5OTk5OTksIDEwMy44Mzg3NF0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfMDllZmFhOGJlMGEzNDBmZjk4ZGUyZjIzY2EyNDRlNGQgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzAwMDgsIDEwMy43OTQ1NV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfNDMyZWM5NmU1OTFmNDFjNTk4NDNiNDUzNjliMzYxMGYgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuNDUzMjgsIDEwMy44MjE5OV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfYTllZTEyMTgwYjAyNDZkYmFlZjMwZGYyY2ZiYmZhNTAgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzE3NjUsIDEwMy43ODcxNl0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfN2EyOWJjMDAwODJhNDIzZjg2NWI5MmEwYjY1NzU4MTkgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzY2ODcsIDEwMy45NTg5Nl0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfZjdlMTliYTE3ZDY4NDA0Njk5NzljOTk5NThjZjkyYWYgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMjk3MDQsIDEwMy44ODg2XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl9hNGE4ODY3ZjkzMDA0N2YzYjllNmY5ZWMyYTBiNDU4NCA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4yOTkyOSwgMTAzLjg0Nzc0XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl9iMzJmYWZmNTAyYzk0NTIzODc1ZTc4MTFlNTBlYWRjMiA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMDQ3OSwgMTAzLjgzNTE4MDAwMDAwMDAxXSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl8zNmI3ZmI0M2JhYjg0NGQ2YTJmNTkxOTEzNjAwYWNjYiA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMDM1MiwgMTAzLjgzNDgzMDAwMDAwMDAxXSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl8xYTBkNjMzM2RjYTk0YzMyYjQ5YTUwZjIyYjU1YzE5NyA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4yNzQxNCwgMTAzLjg0NTk1OTk5OTk5OTk5XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl83ZDQ1Mjc4M2VkMDQ0NTUyYjZkMTI0OGE0NTcwZGY3YyA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMDE3Mjk5OTk5OTk5OTk4LCAxMDMuODQ5MTddLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzg5MGUyMzNjODczYTRlODM4ZTIxNzZiZTNhZGNhNDIyID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjI4NTEsIDEwMy44NDE5NV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfMDM3M2YzZmFhNDg0NDk4MGJlZDcyMDBkNWYxZTFhZjYgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMjg2MTQsIDEwMy44NDIxXSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl9mNmRlYjJiMjc0ZTk0YWUxODdiNWY1MzdmNzNiMWY0NCA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMzMwNSwgMTAzLjg3MjM1XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl8xYjBhNDU2MzQ3NmY0N2ZkYWZjZDg4OGJkM2QzMzU4MCA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMTQ4MSwgMTAzLjg4NjExXSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl9iYjYxY2MzYzMzNDA0NDMyOGYxMGRjMGNhYTU3NjU0YyA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMDY5LCAxMDMuODMxODhdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzk1ZDRmOThkMDA3MjQ2M2Q5NDk4ZmVkNDY4MWI2YzBjID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjM1MzQ4OTk5OTk5OTk5OTksIDEwMy44MzI3NF0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfZWM3ZGMyMDdhZGU1NDExZDk4MTQ3ZWIwMDQ2NzAxOWIgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzE1OTk5OTk5OTk5OTk5OCwgMTAzLjg2MTM0XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl8yOGQxMTA1YjliOTk0MTZhOGNjODVhY2Y3ZDgzMDNjOCA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMTExNCwgMTAzLjg4Mjc4MDAwMDAwMDAxXSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl8zNDc1MmFjMTFhZmE0YzRmYjkzMWRjNTc5NDQxNzlhOSA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4yODUwOCwgMTAzLjg0MjkxOTk5OTk5OTk5XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl9kZDAwODFlNDUzYWU0MjUyODVhOWUwOWExNzY0NTBlMCA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zNDksIDEwMy44ODEwNV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfZGJlN2E1YmFjMTQxNGVhNzkxMWVmMjg0ZGVmOGMyOGEgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMjg3MywgMTAzLjg0ODk0XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl82ZTU4ZjMzYjdlNGE0NmMyODczODUwM2I5Zjk1NDU1MSA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMTY3MSwgMTAzLjgyODMxXSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl8yNDc2MDdjMzZlNGU0NjZiYmU4MzNmY2I2MTg5NmQzNCA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMTA5MSwgMTAzLjg4MTMxXSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl8yNWZiMTU4ZjQ2NjQ0ZDg3ODUzM2QxOTgzY2I4ZWYwYyA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMTAzLCAxMDMuODgxOTA5OTk5OTk5OTldLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzQ0ZDU2NGU3ZjVlZDRmNzE4MTY3NDE1MDVlOTU3MDQwID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjI5NDM1LCAxMDMuODM1NTFdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzc1ZmU0YTNjNzhlOTQxYTM5MmMzYTU4Yjc3MjBhZjQ2ID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMwNTA1LCAxMDMuNzk4MjJdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzA1NWU5YTJmOWM4OTRhNTc5YmFjMjNiOWNlNDc2ZjYxID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMzMTk5LCAxMDMuOTQxMjZdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2Y4NmVhZTM2YzQzMTQ0MDZiMzZmNzVlMTA4YzY3ZDZhID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMyOTMsIDEwMy44NTQwMTk5OTk5OTk5OV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfYTI3MGI0NTNkNDk3NGZhNzk3M2E0NWFkMjhhOTU4N2EgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzE1NTI5OTk5OTk5OTk5OSwgMTAzLjg4NjYyXSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl80ZDliODhjMzNhMDE0ZjlhOGE0Y2EwOTJiNjgxNmVmMiA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMTAzMjAwMDAwMDAwMDAyLCAxMDMuOTAyNDldLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzJhZTRkZDc0NTk1ZDQyMTA5ZWM5ZmJkYTEwY2YwNzVhID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMxNDA4LCAxMDMuODU0XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl82YjlkN2UzYmYyYjA0MTE0YjFlMDQyMzczZDMxNGJkYSA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zNzA0MywgMTAzLjgzMDM4XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl8zYTljZTRhMGZhOTc0YWRhOGExM2MzN2QwY2Y4MTY5MCA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMDE0NzAwMDAwMDAwMDAxLCAxMDMuODQ3MzJdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2JmMzgxNTk1NTMzMTRkODg4NTQ2NGU2Y2IwMDkwOTE0ID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMwNDM3OTk5OTk5OTk5OTksIDEwMy43NjE2Ml0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfOGFlYWE4NGFkMWI5NDVmYmFjMzliN2VhZWVjOWIyZjIgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMjc1NDYsIDEwMy44NDAxNF0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfZDc5ZTAzMmU4NDk3NGVhNTk1YjZiMjhjZWNiNGI5OTkgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzgwODc5OTk5OTk5OTk5OSwgMTAzLjc1OTgzMDAwMDAwMDAxXSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl9kM2YwNjA0ZjkxYWU0ZWMwODAwODU3ODM3Yjc2NTM5MiA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMTQwMywgMTAzLjg0NjY2OTk5OTk5OTk5XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl85NmVkN2IxYjU2YzU0YTE4YTczY2VjZmM3ZTNlMDljZiA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMTk3NywgMTAzLjg1MzA1XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl9kZTZkYTdjMjZjMTA0ZmJmYWRkNmEwMWMyZjg3MzZjNiA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMTMyNiwgMTAzLjg1Mjg5XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl8wM2QxYTY5ZDNhOTE0YTMzODNlYWIyNzZiN2YyZDljYSA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4yOTYxMSwgMTAzLjgyOTkxXSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl9hNWI4ZWU5YmExMTI0ZjRlYTU2Mzc2MjBmMzg2ZjI2NCA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4yODI1NywgMTAzLjgzMTI1XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl8yODU4OTdkZGMxNWE0YzVhOTYzY2Y4NTI1YWFlMDY4ZiA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMTE1Mjk5OTk5OTk5OTk5LCAxMDMuODgxMThdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2IyMDJlNzI1YjYxMjQ2NTI5YmQ4MTkyZDI1ZTU4YThjID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMxMTA1LCAxMDMuODgzMTMwMDAwMDAwMDFdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzBmMDYzNThmZjI2YjRmMWRhNDgzZmJkMDRhZDg5NjhmID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMxNDQ1LCAxMDMuODQwNDldLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzA1ZWM3MjZiY2I0OTQ2MGI4NWJlYTBjZGM5ZTczM2JlID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjI4MDk1LCAxMDMuODQxNTVdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2VhYTY0ZTBkN2Y0NDQzODdhZGFhODk0ODgzODkzMmI5ID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMzMDQzLCAxMDMuOTQ4MTQwMDAwMDAwMDFdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzY2ZDlmZGM0ZjZmNTQwMTViNmVmYmIzMWQyYmVkNDA3ID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjM1Mzc2LCAxMDMuODMxNzgwMDAwMDAwMDFdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2M0MDJmMDE3YzQ4MTQzNzc4NGRkNWY4MTIxYjIzNGU2ID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjM1MzMyLCAxMDMuODI4NTFdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzA4NWE0N2ExMjZiMzQyOTViMDYxOWViMTMwMzgyZDY4ID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMwNjM0LCAxMDMuODQwMTFdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzM0ZTEwMmI3MjczNzRkMzFiNWFiYjg3ZDk0ZTYyZTQ1ID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMyODczLCAxMDMuOTQ4MTQwMDAwMDAwMDFdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzBlODMzMWYzNzMxMDQ1MWRhZThmNTcxZjY3OTVmN2NlID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMyODQsIDEwMy45NDc3M10sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfYjA0Y2YyMWQwNGExNGI0ZmIzNDQ5ZGM0ZDE3YTk2NTkgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzMwMjcsIDEwMy45NDc4N10sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfMGM0YTMxN2IxOTkzNDA0MTg0YTBmOTExNzRlYzk3NmUgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzU0MjYsIDEwMy44MjgyOV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfNDgwZWIwNTczYTAyNDM3ZmFjYmQ0NjgwMGE1YTVmNGYgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMjc1OTksIDEwMy44NDA2XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl9iZWJiNzEyNzFmMGY0NjA4ODczZDk1NDU5NGU5NDM2NyA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMjY2OSwgMTAzLjg0MjI3XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl9hMDljNzkwMmVmYzU0YjhhOWJlNGI2MjZkNDU2YzVjNCA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4yNzk2MiwgMTAzLjgzOTg2XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl9jN2EwYmE2YTRmNjc0ZWQzYjk2YmEwNWQ0NGEwNzU0ZCA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMTUxLCAxMDMuODU4NV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfNjU2MmRjZDJkMTZjNGFhMzg5MzdjM2VhMjliMDkxNTUgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzExNCwgMTAzLjg4MzIyXSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl83OTY2MjAyNmRiZmI0YWM5YmViNDhiOGE4ODZkOGJlMyA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMTUzOSwgMTAzLjgyNzU4MDAwMDAwMDAxXSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl84ODgyNWU5NTlkYzY0ZDZkYWQyNDk3NTY1ZWZkOGIzZiA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMDI0NCwgMTAzLjg0NzMzXSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl9mNjlmOTdhMTQyYjI0ZDBhYmI1YTYzYTVjNjJkNDJlOCA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMjg0NSwgMTAzLjk0Njk3XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl8wNzJkYTBkOTYxN2I0ZmExYTQzY2ExNDU0ZDE2YzlmMCA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMjY3NSwgMTAzLjg0NTczXSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl8xZDUxMzE1MjRjM2M0OWM2YTNiMGMyOTBiNWJkOTIxNyA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMTY2NSwgMTAzLjg1MzUxXSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl9lNDcxMjM5MTE2NzI0NGQ5OWI1YzkwOTQxZTI0Y2UxZCA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMTQ4OSwgMTAzLjg0MTY1XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl8zNDRkNjVlMDlkMWU0ZTkyYTAwNDQxN2JmZGZiY2RiNiA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4yODU2LCAxMDMuODI4NDA5OTk5OTk5OTldLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzhmZGRkMjQzNmE4MzQxYjZiNTQ1NzEzNzFkYzdiNDU4ID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjI4MTg1LCAxMDMuODQ2NTddLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzU0ZWExNDg3MWI3NTQ3MDdiYWE5NDQ1MWI5ZDM1YzhhID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMyODE1LCAxMDMuODY1NzVdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2Q2N2Q2NWZlMTcxYzQzZWFiMDAwYTgwMTMzZjA3NTg2ID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjM0MTU5LCAxMDMuOTU4NjhdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2Q0ZDA0ZWRiOTYyOTQ3Yzg5MTYyYmE3ODFhNTM3ODczID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMwNTE0LCAxMDMuODU1OTddLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2RmNmE5NzQ2YmQ1ODRjYTg5ODNjN2UyZDNkY2Y2Y2Q2ID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMwNDAyMDAwMDAwMDAwMDIsIDEwMy44NTQyM10sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfZDI5NWU1ZDRjNGY1NDI5MWEwMzdjYjQ5ZTEwNGE1ZDkgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMjkyMjQsIDEwMy44NDI1OV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfNjYwY2EyYzBjZGM0NDNhNjg0MGM1MzE5ZjYzOGY5MjAgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzAzNzYsIDEwMy44NTQ3MV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfMzVhMDI0OTEyZDg4NDdmMzllYzdjZjZlZmQxYTg2NDMgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzA1NDI5OTk5OTk5OTk5OSwgMTAzLjg1NjQ3XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl9hNWQzODhlZGEzNjE0NTA4OTQ4Nzc0YjgyYjBkNjFkNCA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMDU0MSwgMTAzLjg1NTA4XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl9mMmYyYTdjYTQ4MzI0MTViYjg0NWIwY2M1YThkYTdmYSA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMDM4NiwgMTAzLjg1NDU5XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl8zODg5NTZiYjA2YWI0ZDYyYTNlNGEyZDQ2MGViZWRmOCA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMjcyMywgMTAzLjg2NTMzXSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl8zNDBlM2ZjNDcxOWI0NGNjOWM3YjhmOGJjYTYxN2RlMCA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMTA5NywgMTAzLjkzODE0XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl9lYmRlNjlhZmU1Njk0ZTJjODdhZWNhYTI1ZDJkMDMzNCA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMDE5NywgMTAzLjg5OTM1XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl9kMWI5MjliMTUyMzU0ZGNhOTdiN2JiOGQ5YTE0MjRkOCA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zNDQ4OSwgMTAzLjg3MjRdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2NmMGIwZWVjYmIyMzQ4NzBiNzJiNWJkY2VkZWE3MWZmID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjI3NjEsIDEwMy44NDA3MV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfZmQ2MjE1ZDUxNDlmNGE4OGE3ODBiM2QyOWFkYzM4MTYgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzE2MTM5OTk5OTk5OTk5OSwgMTAzLjg1MTY5XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl8wYjU1MmEwNzVmNzM0OGI5YTYyMTRlNTQ1NTQ3OWMyZCA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4yNzQ5MywgMTAzLjg0MDI5XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl9kMDhmODA5OTIwMDc0ZjY0OThkZDg4NWQ0ZDY5YjFlNSA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMjkxLCAxMDMuODgyNTddLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2Q1ODc4MmNmNzRmMDRlY2Y5NmEyZTU2MDkzYzk1NjVjID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjI3NTczOTk5OTk5OTk5OTksIDEwMy44MzYzMl0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfYzExY2QxYWYxODZlNDJlMmI1YjA3YTI5OTI2MTBlNTAgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzc5MzUsIDEwMy43NTk0OV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfNjc4YjZhNmU2YzRhNDUwYTk1NzY0MTI1ODI5OTliNGUgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzE5NSwgMTAzLjg0NzkxXSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl8wNTFlM2FkNDk3ZWQ0ODI5YmU1ODhiZTA5ZTJkZDk3ZiA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMTc3Mjk5OTk5OTk5OTk4LCAxMDMuODQ2MzMwMDAwMDAwMDFdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2VhOGNjMWEyZmZmMjRjMThhYjc1YWFjNGYzN2Q5YzIzID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMwOTUyOTk5OTk5OTk5OTksIDEwMy44NTk1ODAwMDAwMDAwMV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfMzcwMWQ0NzJiMDdiNDEyYjliMGRmNTNkNjQ5ZmJmNjggPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMjc1NDksIDEwMy44MzczXSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl8yODc2ZDQ0ZGYxZjQ0YjBmODhkNzRmMDllZGU2MGE4MCA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zNTE2MiwgMTAzLjcwMzQyXSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl8yZDdjYzA4YThjNWE0ODM3OWU3ZWU2ZGRhMzI3MTk3OSA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4yOTg5MSwgMTAzLjg0NjU5XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl83MmQ4MmE1ZThiN2U0Mjc1ODUzNWVmY2Q3MWU0ZDEwNiA9IEwubWFya2VyKAogICAgICAgICAgICBbMS40NDIwMSwgMTAzLjgyNDAzMDAwMDAwMDAxXSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl83OTNiYzZiMmQyY2U0OWQ4YmY3OWI0OTdjN2RkNjk1MyA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMTI0NCwgMTAzLjc1ODY5XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl9kNTJiM2ZlYzVkZWM0ODJkODMwYTdhMThhNjUzMmIzMCA9IEwubWFya2VyKAogICAgICAgICAgICBbMS40NDI5OSwgMTAzLjc5NDI0XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl84YmRkNjExZGZmODk0MTAzODNhMTRhNzFmOWU5YmEzOSA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zNTQxMTAwMDAwMDAwMDAxLCAxMDMuODY5NDZdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzA0ZWQzNzhjZjJiYjRmZjhiZDVkYjcwNmYzOGVmNTlhID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjM1MDQ3LCAxMDMuODYzNzRdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzBjMzJlYmQ2NmNhMTQyNmRiYTAzZjZlZjhiNDIwOWJhID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMyNTY4LCAxMDMuODUwMDkwMDAwMDAwMDFdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzFmMzIyYWRiNTBiODQ2NWU5NTgyOTJkZGI5MjJkNGYwID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjI5NDczLCAxMDMuODM4ODVdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2JjN2FhOGZkNDk2NDRiNTM5NDgwMjU5ZjJlNjRhODA2ID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjQ0MTk2MDAwMDAwMDAwMDEsIDEwMy43OTM5XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl81YTAyNGM3YmVjYmU0MTFkOTUyNjVmODkwYTk4NzgyNiA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMjU3NCwgMTAzLjg1MTgxXSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl8zMTI3NmQ1NjdjNTQ0M2I1YjQ3YmJiMDdiYTZiYzU2ZiA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMDU5LCAxMDMuOTAyODFdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzAyYzgyMDA5M2RjNzQ0YWE4MGNmYmMxMzQ4YTRmZTBjID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMwNTI3MDAwMDAwMDAwMDIsIDEwMy44MzQyNDAwMDAwMDAwMV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfZDEyMDU1NTlhYzUxNDc1ZGIxYTlmZTFmNGY4YTg3NGMgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzE0OTQsIDEwMy45MDY4MV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfZDU3ZGE1NjMxZGE4NDM2OGJiZTMzNzAxZDM0YmUzYWEgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzc3NjIsIDEwMy44OTAyNF0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfMTQxZTljNjRkNjJjNGQzN2I0MzQ5MTI4MjhhMTg2YmQgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuNDE1OTQsIDEwMy44MzM5MV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfMTQxYjYxZDg4NzMyNDQzZGI5ODVkM2MzNjZkZDFmYTggPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzEyNjMsIDEwMy43OTc5MzAwMDAwMDAwMV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfYmZkNDJlYzQ0YjA1NDhhNmEzNGY5OGE4Yzc4ZmU1NjcgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzM1NiwgMTAzLjg2NTkxOTk5OTk5OTk5XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl8wNjAzYzE3Njk5OTA0Njg0OGNjMTY0YWU5ZWNmNDgyYSA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4yOTUyMjk5OTk5OTk5OTk5LCAxMDMuODQwMzldLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzQxMWJjY2I4NjgzOTRjZjA4MDI3Y2ExOTRiMjZlNTFkID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMwMjU3OTk5OTk5OTk5OTgsIDEwMy44NDgxMDk5OTk5OTk5OV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfZjE3NWExZTk1MzczNDRlMDkyYjhjY2FmMzU0ZWNlZjEgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzEzMDQsIDEwMy44Nzk5M10sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfY2FjYjVhMDM4MGYzNDU3ODhlMWFlNDMxOWNiZWJhYzMgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzIwMjgsIDEwMy44NjIyNV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfNGQ2NmYzYjBkMmQ2NDQxN2JjYzZkYTc1NDNkYWJmMjAgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMjgyMDksIDEwMy44NTE5MV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfMTMzZTEzZDA4MmIzNDg2YWJhNzExMzA0OWM0YmNhODEgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzQ1ODcwMDAwMDAwMDAwMSwgMTAzLjk2MDQ2XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl9hMGQxZjFiYWY4NGI0NzFjYWMxZTZlM2IwN2QzMWFkZSA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMTQxMTAwMDAwMDAwMDAxLCAxMDMuODQ4MDVdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzUxNTFhMWRhNTUzZDRiMjdiNzhiNWFkODY5MjRlNmE0ID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjM4Nzc3MDAwMDAwMDAwMDIsIDEwMy44OTY0OV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfZThmNWM5ZmI4ODRhNDRmNjg4MzI5Mjk3YjZkMmZmN2MgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzQ0OTUsIDEwMy45NjA0M10sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfZjc4NzliYjJiNjNlNDMxZjhiY2MxNTcwNWY0ODczMTUgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzQ0NjMsIDEwMy45NjEwNjk5OTk5OTk5OV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfODY2MDU4ZWUwNzRiNDJjZGIwMWM0YWMxYzgyNzliZDggPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMjk2Mzc5OTk5OTk5OTk5OSwgMTAzLjgzOTc1XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl8xNjFmZWRjN2IxODc0YjM2YmViMGJkYjYzZjk3NDc2MyA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMTYyMSwgMTAzLjg1NjE0XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl81OTMwNTU5NWUyMjA0ZjliYTU4NDgwMjg3Mzc5Y2FjNSA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMjI2NiwgMTAzLjg1MjIxXSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl9mYjllOTU2YmFlNWI0YmEwYTk0MTY3ODE2MGNiY2NkNyA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zOTc5OCwgMTAzLjkxMDgyXSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl84MTkwMDk0Y2ZjMzk0NWJmOGY3MDIxZmJhMDExNWNlNyA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMjU4NCwgMTAzLjg1Mzc5XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl9lNWZkNDJmMGFlZGU0YmFiYjMwMzVhNmI3NDUyZDBmOSA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zNjI3Nzk5OTk5OTk5OTk5LCAxMDMuODc3OTldLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2NiYmU3MmZjOGI3MzRkMTliMTdmNDJmYjU1OTlhYmQzID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMyMTIsIDEwMy45MTQ4MzAwMDAwMDAwMV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfMjQxMTExOTlkZWRjNDgwZThjOTQ4ZDg3NjEzNjFlZjUgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzUwNzEsIDEwMy44NTA4OF0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfMzdmZThjZDdjMWNjNDEwMmFlZWJlMzY0Nzk3ZmI5NzYgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzAwODYwMDAwMDAwMDAwMSwgMTAzLjg1NDM5MDAwMDAwMDAxXSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl9mMDRkOWViYjZkOTY0NGFiYjMzNmMzMmZiMzRkZTM2ZiA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4yODQzLCAxMDMuODQ3MzhdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzhkMTk4YTMwNzJmOTQwZTQ5NDk4Y2NjNGFhOTIzZGQ0ID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMwNTQ0LCAxMDMuNzg0NjE5OTk5OTk5OTldLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzI0ZDU1MDE4NWJlYjQxZWRiZTNjYjEwMTQ0YTU1ZmU4ID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjI4NDA3LCAxMDMuODQzODVdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzFmYTBlODkzNjBjNDQ1MmU5NjgxMzNmMDZmYzgwMmQyID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjM2Nzg4LCAxMDMuOTcxNzFdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzFmZTdlYWViZDk1ODRiMDViODkwZGNlY2VmMjdmMDcyID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMxNjQyMDAwMDAwMDAwMDEsIDEwMy44NTc3Nl0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfOGQ3NmUzZjE0ZjlmNDc4NmI4YjA2YjFmYTBjOGRiNjQgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzQ0NzEsIDEwMy45NjI0OV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfMWQzZjQ3Njc5NDQxNDRkNTlkNGUwMjQ0YjAzYzBmNjYgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMjkzNzYsIDEwMy44MjgwMl0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfZTdkNmFjYmMwMDlkNGI0ZTk3NmY1OTA2N2RlNWQyYzQgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuNDE2MjEsIDEwMy44NDQyNF0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfNzExNDM3OTc1NDc4NGUxODg2Mzk3ODA0ZDM2NTQ3MmMgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMjgyMjcsIDEwMy43ODUwMV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfMTdjMzMyMzlkYzM2NDAyZTliN2U4NDhkNWJmMmYwYjMgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzE1MzQsIDEwMy44NTgyMTk5OTk5OTk5OV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfMDk1MGQ4ZGM4YTIzNGM5YzljMDkzYzY0MjY4YzRmNjMgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzIwMSwgMTAzLjkxNDc2XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl9mOGUwNDdmZGQ4NTQ0YTk2OWM3YjRiYzJkOGZkOTBkYiA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMTkzNCwgMTAzLjkxNTc0XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl9kZTA2ZTZiNTA2YWM0OWFhYTBmNTk4NmNkZGIwMzk3ZiA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4yOTQ2NywgMTAzLjgzODM5XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl82MmFkZWFiYjBiYTA0ZmE1YjNkMmY4N2Q0MWFmNDBkYSA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMzE2LCAxMDMuOTQ3MzldLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzJiYzVmNWQzOGQ2NTQ0NDRiMWJlNTNiNmNjMTljN2U4ID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjI5NTA0LCAxMDMuODI5NzA5OTk5OTk5OTldLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzI1MGNjMTcxMDgyNjQ5ODNhY2Q4ZGViNmNlMjBkZDJmID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjM2NjMzOTk5OTk5OTk5OTksIDEwMy43Njk2M10sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfNWJlZjQzMWQwZTllNDczYmI0ZWFiYTRjZTcyZWIyMzQgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzU4OTQsIDEwMy45NjYwNV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfZWM3NTJlMjRkNGExNDViMjlmNGViYjkxYjhjNmZiYzIgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzEzMjMsIDEwMy44ODgwMl0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfOTQzZjZhMjhhZmUxNDZjMmIzMTU5MmY2ZDVkNDA4YzMgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzAwNjcsIDEwMy44MzkyXSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl85MWM4Njk2NWI0ZjU0YmViYWNiYTFmZTI0ZmQzM2M2ZSA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMTQ0MywgMTAzLjg4NzUwOTk5OTk5OTk5XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl9kMTM2ZTdkZWY0ZDM0Zjc4ODdmMmNmODY1MTE0ZDIzNiA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMTY0Nzk5OTk5OTk5OTk5LCAxMDMuODk0ODZdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2U4YjhkYzUzZjdjNzRjMWQ5YTQ3NjJkOTUxY2NhNDNlID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMxMzkzOTk5OTk5OTk5OTksIDEwMy44ODY2XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl9lYTIzNDBjMDMxMzc0ZDMyODEwZTZlZTJlYjQxMDUwOSA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMTU4NSwgMTAzLjg4NTU0XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl9lYmMwNWFmZTNmZDk0MGIwYTk2OTNmY2VjYjA3NDAwNyA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMTQxMzk5OTk5OTk5OTk5LCAxMDMuODg4MV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfODBmYjdlNGUzNmI0NDQ4MWI4ZDkyMWQ4YTY2MWQ1MzUgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzE1NiwgMTAzLjg4Nzc2XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl84ODY4NTJjYThkODQ0YWUzOWE2NTcxMTQxMjgyNDFmZiA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMTMxMiwgMTAzLjg4NjYzMDAwMDAwMDAxXSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl8yZjNmMWM0MzA3OTc0NDI0YjQ0Y2I2YzQ1MGNkZGIyMCA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zNDQ2Nzk5OTk5OTk5OTk5LCAxMDMuOTYxMDE5OTk5OTk5OTldLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzljMGNiYWY0NzgxZTRiYmE4MDA0ZjUyNzI2NTIyZmE0ID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjM5ODY2LCAxMDMuOTA1NTVdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2M0OWVmODJjMzBjNTQyMzViM2E5M2MxYjY1MWEwZjQzID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMyMTEyLCAxMDMuOTE2NDFdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzk2YzVlM2M3OTJiMjQ5Zjg4ZmQxODZhN2FmNTJiNzdmID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjI4NTYyOTk5OTk5OTk5OTgsIDEwMy44NDVdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzkwNzQwYjE2ZTk0NTRkYzNhOGM4NmNiZDE1YjBiZWRiID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjI4MzYyLCAxMDMuODQ1MDldLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzQ5ZDIzNzdiNjliYTQ4YTBiNWMzY2ExZTc1Y2Y3ZTI3ID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMxMzUyLCAxMDMuODg3MjhdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzlmNzUyZGYxYjZiODQ2NDI4YmQ4NzIwM2MyOTYyYzZhID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjI5MjYxLCAxMDMuNzY4NV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfOGVjYjQzMTdlZjg3NDY5MjkyY2QwZDhjYzU5ZjQwODEgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzc3NDEsIDEwMy44NDc3Nl0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfMWMyNzVkMTRhZmRhNGE2YWE0NTg0NmQyNTIyZWFjN2MgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMjc0OTUsIDEwMy44MzU3MDk5OTk5OTk5OV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfMWRlMjMzMmMzMzE2NDk4ZWI4Y2Y1NGUwOTk2YzQxMjcgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzEyNjUsIDEwMy45MzY2XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl81NmQ2Y2YyMGEwOGE0MzJlYWYxZDZlZWNmNzk5MDIxMyA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMTMxLCAxMDMuODkxNzgwMDAwMDAwMDFdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzc3NjI5NjYyYjYxMDRhZDhhNzAzMTVkMzUyZjdjOGE0ID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjI5NTY4LCAxMDMuODQwNDJdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzlmOGYwMjdkMWFjODRiNTA5YjkzYmJjZGEzODMwMDkxID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjM1NjEyOTk5OTk5OTk5OTgsIDEwMy44NDk4MzAwMDAwMDAwMV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfMmQ5YTIzZjAwMzhlNDE4MTlhMDZiMDI5ZGMxMzdlNGUgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMjkyNywgMTAzLjc2ODVdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzI1ZWRjOTk4Y2VlNTQwNTY4NWNlOWFiNTgzMTk3Yjc5ID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjI4MzY4LCAxMDMuODQ1NjNdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2MxZDJmYmMzNjBmZDQyNjVhN2Q3ZWI4MWNjOTE3YmI1ID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjQyODAzLCAxMDMuNzg1ODQwMDAwMDAwMDFdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzBiZmIwYzQzNjNlMTQ0MzBhNGZmN2JhNjFiMTdmOWI3ID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjI5NTYxLCAxMDMuODQwMzVdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzNhNDg3ZTEyMGUxNTQ2YmRiMzg4ZjQzODJjNTY3ZTIzID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjI4MzU5LCAxMDMuODQ1NjRdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2VjZWMwODBiYTFkZTRmMjU4NjEyMDcyMTliYjFlZWY2ID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjI4MzQyLCAxMDMuODQ1NTMwMDAwMDAwMDFdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzZkYTIxNjdjMjNiMzQ1ZTBhNTdiYjQ5NGYzMGUyMWVjID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMyOTU4LCAxMDMuODg0NjRdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzQzMTJkYTM1Nzg5OTQ4MzM5NTEyN2M4YjhlNmE3NjVkID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjI4MDI2LCAxMDMuODUyOTZdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzM3MWFlNDFjOTc5ZDQ5MzY5MjkzMTI2YzU3ZGViMDNmID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMzNjgzLCAxMDMuODcwOTldLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzgzMjA3NWE5MjdjMzQwYmY5NDhlMjY0ZmY1MjIxODdkID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjI4NDEsIDEwMy44NDI1MzAwMDAwMDAwMV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfYjdiZTJjMGY2YWMwNDU4MzkwZjE0Y2FkZTBjY2E3NDMgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzIyMzQsIDEwMy45MDg2XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl85ZTdhY2ExMTcyZWE0NWNlYWRhZGJjZTk0MGQzZjE1OCA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zNDYxLCAxMDMuODQ5MzE5OTk5OTk5OTldLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2VmNDM2N2E0ZjAwYjQwNjY5MTgzN2MzYmFhMDVmMWZhID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMyNTI2LCAxMDMuODQ3MTgwMDAwMDAwMDFdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzVjNTliNDc4ZjRjMjQ2YzU5OTNlNjZkNDk0YmJmM2RhID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjI5NTgzOTk5OTk5OTk5OTksIDEwMy44MjY3NV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfZmJjNTliZDg3MzM1NGU1ZGE2MGZlNmRiNGM2OTQ3N2IgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMjg5ODUsIDEwMy44NDc4Ml0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfMWZiOTBiOTU1MzU2NGE0NWE3YmViZWE4NWVjMTllNmMgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzEzMjIsIDEwMy44Nzk3Nl0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfYWU0YWJjYzUyNmU3NDM1YjhlNDA1YWY4ZjdmN2U2ZDUgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzAyOTEsIDEwMy44NDg3MV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfY2FlMjVjN2FlYmZmNDhkZjhiODRmNWZlMTA3YmZlYjIgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzE1MzIsIDEwMy44ODc0XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl81ZWVmYTJhNzIxYjg0MTc3OTgwMzJjMDY0NTE0Njg0ZSA9IEwubWFya2VyKAogICAgICAgICAgICBbMS40Mjg0MSwgMTAzLjgzMDY1XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl9hNTgyMTg0ZTQ1M2Q0YzIyYTY3MDJlNmNkZmQ3ZWJiZSA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMTY0NCwgMTAzLjg4NzAxOTk5OTk5OTk5XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl8xMDE2N2I4ZGMzYTQ0MTU4OGY2NjMzZWYzYjg0NDM1OSA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMTMxNCwgMTAzLjg4NjgxXSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl8wNjdkYTRlNjlmMWY0OTUzYTEwY2NjMDA5YjVjZjYzMiA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zNDAwNywgMTAzLjY5NjJdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzdiNzBiOTFmYjI0YTQwODE4YmYwNmQ1NmY4ZTE0MTg5ID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMxMzIsIDEwMy44ODc1N10sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfNzgyYjcwOTJkY2MyNGJiYWFkOWJhYzZkYTkzMGRlN2EgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzAyODgsIDEwMy44NDgyNV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfZmE3YTIxM2FhMmE3NGJiMDhkYmUyYTc2ODU2MzEwMmYgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzExNzQsIDEwMy43OTcxMzAwMDAwMDAwMV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfNDEwNzYwYzBlMTZjNDk0MmFkMDA3ZDZiNThhZWM1NzUgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzI3ODYsIDEwMy44NDkwN10sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfZGZmZDQ5M2M3N2YyNGQ0Yjg2MWRjYjgxYmJhMmI0NGUgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMjk2NTUsIDEwMy44NDEwOF0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfZjNlODQyYTUzZGM4NDI0ODg4ZWI1MTkyZGE1Nzk0NGEgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzEwOTcsIDEwMy44ODI2XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl83YTVkNGFiNmJlMDY0ZWUyOTdjMjVhYzdmNTdkZDMwMyA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMTI3MSwgMTAzLjg4ODkxXSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl9hYTc2ZDc2OTVmNzM0NDQ2YmMwOTY1MjhjMWI3ZGNiNiA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4yODEwNzAwMDAwMDAwMDAyLCAxMDMuODQxMzJdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2RhODgxMTIyZWYzMjRjZmZiMjMwZDJiMDA3YTE2YjM3ID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjI5NDk3MDAwMDAwMDAwMDIsIDEwMy44MDc1Ml0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfZTY5ODA1NTU3YzE4NDhmNWFmODViN2IxZDNjNmU5NDcgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMjgzMDQsIDEwMy44MjU3OV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfMmRlYzNkMjkxZTUyNDY5YzgyMWQ1YmUyNTZmYzNhYzEgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMjgzMTUsIDEwMy44MzQwNl0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfMGUyNzkzZTY4OGIyNDg4MGIzMTljZTY4N2NlNjcwMzcgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzA5MDgsIDEwMy44MTk1NV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfYTI5YzA3ZTY2YTkzNDlhMTgyM2RjZjU5ZThjMjVkMjYgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMjkzNjEsIDEwMy43Njc0Nl0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfMjIzZjcxNzMyZmNmNGVlODhhNGQ5ZGQ1NTNkNTA0ZDYgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzMwODEsIDEwMy44MDM5Nl0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfM2VhOTFmN2M2MjJiNDlhMGExODM1NjM3ZDNjMjIzOGIgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzQ1MDcsIDEwMy43NjgwNF0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfMTgxY2UwNTBlZjQ0NDk5ZGJiZDJhYzRiM2JhNTE3NGUgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzIwODksIDEwMy45MTUwM10sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfYTUwOWY4ZGFmOTM5NGM3ODliZGYxYjJkMzZmMmRjNjEgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzE0NywgMTAzLjkwNjIxOTk5OTk5OTk5XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl84MDA4NzNmZmNkMjM0Yzk3ODIwYTRlMzhkM2UxNWU2YyA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4yOTI4ODk5OTk5OTk5OTk5LCAxMDMuODQwMDddLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzIzNTU3YTk5NzMyOTQxYmNiNzJlNGMxZjRmZWQzMjQwID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjQzOTcyLCAxMDMuODIyNl0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfOTM1ZmY5ZWQ2YWJiNGRhZDk4YTZhY2Q5ZWE2MTliZWYgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzE0NTIwMDAwMDAwMDAwMSwgMTAzLjg4NTg5XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl9jMTU3YWFjYmNhNzg0NzE5ODIwYWRlNWE3ZTE4YTExZCA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMTAxNSwgMTAzLjg1OTY3XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl85NDAzMzljNTQ1Y2U0YWM5OGQ0OWQ5N2U2YjE4ZmMzMCA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMTM2NCwgMTAzLjg4NzM0MDAwMDAwMDAxXSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl84NDBjNjZlYTdlMjA0ODg0ODg3MzIzY2Y5ZjgwMDI4NyA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMjQwMTAwMDAwMDAwMDAxLCAxMDMuODUzXSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl85YWUwNDk4ZmNmYzE0ZWE0YmQwOGJjNjQ5OThmZjFlMCA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMjgzMSwgMTAzLjg0ODM0MDAwMDAwMDAxXSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl81Y2MxNDM2ZDM2OWU0MTYzYTJmMjIwYjg5MGVlZWRlZCA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zNDQ3MSwgMTAzLjg2ODk4MDAwMDAwMDAxXSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl84NzNkOWNlMjAxZTk0YmE5YTM2MjRmZGFiNWRmY2I0MyA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMTMwMDAwMDAwMDAwMDAyLCAxMDMuODU5MjJdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzIzZTVjMDg0NmY1NDQ2ZDE5NDEzOGZlNjExMmFmMzQyID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjI3OTE0LCAxMDMuODUwMDJdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2FlMzE4MzVlYjMwZjRhZmI4NjFlZDhmNWEwMTQxMmViID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMwNTMxLCAxMDMuNzgzNzQwMDAwMDAwMDFdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzMyZjI4N2JmNzQ2ODRjNmQ4MzI5NzEzNzVjMTBjYzUwID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMxMTUyLCAxMDMuODQwMjY5OTk5OTk5OTldLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzc2NGFmNDMxZjNhMDQyZjdhYjM5MGNkZDVlNWU1N2RiID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjM3NzM0LCAxMDMuNzU0NjQwMDAwMDAwMDFdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzE2YTA4OTk4MDlkNTQ2YTg4YzI4MTE1YjY2NTY0NjhmID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMxNDY3LCAxMDMuODg3NDldLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2Q2YWVmZWE4M2RhOTRjZWFiNzVkZTdkYjAzOGU0NzczID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMxMzc0LCAxMDMuODg3NTJdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2M2YTYxYjdjMmMwYTQwNWE5ZDFiMmJmN2M1NjUxYjY0ID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMxMzc1LCAxMDMuODg2NjMwMDAwMDAwMDFdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2UzYTg4NWY4NGE0YzRjYTNhMzBkNDM0ODI4ZGI4M2I1ID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMxNjgzLCAxMDMuOTExMDldLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzczMTBmYTE5M2VhZjRlZjg5ZjQwYWQ5YjE4YTQ5YjIxID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjI5MjA5LCAxMDMuODQxMDkwMDAwMDAwMDFdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzI2NzkyNzMzNTEyNjRjNzNiZWRjZmMxMWIzNzcyNGY1ID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjQ0MTU0LCAxMDMuODIzOTNdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzI1ZTY2Yjg1OGZmYzRjZDI5ODM2MDYyMDExNDQ4NGMwID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMzMzMxLCAxMDMuOTQxMjQwMDAwMDAwMDFdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2FmYjk5MzM5MjU5YTRiMDJhNDQ3MzEwNjE1OGVjODA3ID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMwMjA1LCAxMDMuODU4MDRdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzg4NDc0NGJkMjliOTQyMjc4YWQ3OWM5NzYxMjk4ZmM1ID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMxNTY5LCAxMDMuODM2N10sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfZDgwNzAyNmM0MjAyNGIyZGFlNjRkY2E1ZWQ1ZTU0YjcgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzQzOTksIDEwMy44NzA3Nl0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfMDM0MTNlNjA3NjE4NDYzZjlkNzRmMjgzZThkMDA0NmMgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzQ2MDQsIDEwMy44NzExMV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfYWQ5MDE3NmQyMDQ3NGU5NTk2MmFiMDQxZTM1YzUyOGMgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzE0ODYwMDAwMDAwMDAwMSwgMTAzLjg4NjJdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzgyNjVmNzllNWIyZjQ2YjFiZTk3NTM4NTU0NjU3NTlmID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMxMjUsIDEwMy45MTE4ODAwMDAwMDAwMV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfOGMzYTBkYmI1YWY0NGIwOWI4OTgyOWQ0N2ZkYzdmYTcgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMjk4MzYsIDEwMy44NDI3OTAwMDAwMDAwMV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfN2Y3YmQyYWQ3YWFlNDM2YmFmNmI4ZGM4NWE2MDlkNjUgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzE1NjQsIDEwMy44NDA3NV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfOWZlNmYzYmRiNzhiNGZlYThlNWU4MTZhMmZlNTMzNDAgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuNDQxNTEsIDEwMy44MjM3N10sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfMTg4MTZlMGU0YjIxNDQzNGExMjExMTVhMDU0YzU3NTAgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzE4MjEsIDEwMy43Nzk0Ml0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfZTA0M2M5NTVkOWY5NDMzZTkzMmQ0MTJlZGRjNTdhMDggPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzE4MDYsIDEwMy44NTE3Ml0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfODVhOTIwNjY0NGU1NGE0YmI0Y2Q2ZWU1NmE2YjU4ZTAgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzgwNTYsIDEwMy43NTk4ODAwMDAwMDAwMV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfMTNkOWUwNGMxNTUyNDBlNTkyZGJhMzBhMjc2ZTc2NDggPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMjg3NzcsIDEwMy44NDkwN10sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfZDAyN2M1MmMyYzk5NDVhMmFlYTk4YjEzZjMwNzc4MzEgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzUwMTEwMDAwMDAwMDAwMSwgMTAzLjg0NjY2OTk5OTk5OTk5XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl8wZWI4MzAxMGIzOTQ0NzJmOWE1NmQ3Yzg3NWQxNDYxZCA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMDcyOCwgMTAzLjc4MTEzXSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl83MDY0ZTAyMDliNzE0Nzk1YWY2Y2FjNjJhNWMwNDUxYiA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zNzg3NywgMTAzLjg4OTVdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzVkMzlkYTJiOWNhZjQzZGU4YjJjOTk0MTQzOTU1NjA1ID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjM0MTcxLCAxMDMuNzM0ODVdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzIzODQyYzQzMWQ4ZTQ2YjFiMjQxNjY4ZGMxYzExZDA3ID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMxNDA2LCAxMDMuODg2MjZdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2JjZmQwYzJiZTUwOTRiMmJiM2Y5NWRmNjRkYzI3Yzk0ID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMxNTg0LCAxMDMuODU1ODJdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2I2ZTdiYzkyZjI5ZTQ5YTA5ZmU4MDdkNTg3ZTFhNzBlID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjI3NTE3MDAwMDAwMDAwMDEsIDEwMy44MzYzOTAwMDAwMDAwMV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfNzQ4NzcxNTdhMjgxNGE2N2IzODY5ZTYyZDMzMGIzOWEgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzA3NjcsIDEwMy44ODE0Nl0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfMzljNDBiODg1NzcyNDE3NGExY2IzYzA0Mjg0MTRjNTYgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzExMTcwMDAwMDAwMDAwMiwgMTAzLjg4Mjk4XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl81NjI3YjdjZTFkNTE0NjUxOTU0NGVjMmI1OTYwMmFmNyA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4yODM3NiwgMTAzLjgzOTY1XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl8zOTgwODlmZGFiMjU0YTBjODA4Y2VhY2IyYzY2YWQ4YSA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMDg0LCAxMDMuODYyNjVdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzcyOWZkZjIzNWUwZTQ4Yjg4ZDA4NjMwOTQ3OWExY2UzID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMwODU0LCAxMDMuODYyOTFdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzZhMDYxMTU1NWRlYjQyYjQ4MmMyOGUxNzRkZTcwZmVlID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMxMjI2LCAxMDMuODgzMTE5OTk5OTk5OTldLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2MwMDIwNWE1NmI2YzRlYTdiZTk2OWE5ZGVjNTUxOTE2ID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjI4MzQyOTk5OTk5OTk5OTgsIDEwMy44NDUxMl0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfODMxNzVjOWM2ODc2NDE3MTljODIyNGMwNDk4OTUzNGIgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMjg3MTgsIDEwMy44MjYyXSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl84NDJkMTVhYzllODY0NDNjYTk4ZTIxNGRlNzIyZDY3NCA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zNDc2NCwgMTAzLjk0MDM3XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl83YmU0NDA0NTdmMmE0ZTk2YjBlZjI2N2Q5YmE1NDQ4ZSA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4yNzk4OCwgMTAzLjg1MDY1XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl9lYjkzZGQ2NzI3MDU0ODVlYTA1YjQ4OWNiMjQ2NGE5ZiA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMDIzMywgMTAzLjg0NjQzXSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl82MmVkMDRlNzIzNjQ0ZGY2OTU4YzM0N2VjMTE5NzE0YSA9IEwubWFya2VyKAogICAgICAgICAgICBbMS40NDE0NSwgMTAzLjgyMzQyXSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl9lMDVkODUwZmY0YWE0MWY4OTcxOTEwYThlYWM4ZDQ0MCA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4yOTQzMjAwMDAwMDAwMDAxLCAxMDMuODI2MTE5OTk5OTk5OTldLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzkwNzM2ZWVmM2U1NjQyYzc5ZjEyNTQ3MzkxMjFiYmJhID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMxODg3LCAxMDMuNzc0NjJdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzRlODZmZGVjMzA0NjRmZmU4Y2QwMDA2ZDY2ZGZhOWQ4ID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMxMzMyOTk5OTk5OTk5OTksIDEwMy45MDQzNF0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfYzZjOTE5NzZmNGQ0NDExZjhhMDAwZmVmY2ZkZTJiNDMgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMjc5NDYsIDEwMy44NTU5Ml0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfODVkMzZjZmZjYWExNDdhZDljMTdkOWEyODllNWI4NTcgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzE0OTYwMDAwMDAwMDAwMSwgMTAzLjg4NjkxXSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl84MzczOTljMDEzOTg0OWRiYjM5MTU0OTNhZmMwMTFkOCA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMTQ0LCAxMDMuODg2NzFdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzU4YTE2ZjgzOWY5NDQyNDc5MzQwYTRhOGEwMmQ1YmMzID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMxNDMsIDEwMy44ODYwNDAwMDAwMDAwMV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfYTYwNjQ5N2MwODI3NDIyOGExNTQxNjZhYTgwYmU3YjAgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMjg4OTgsIDEwMy44Mzk0NF0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfN2M0MDJlYmE1NmNiNDNjM2I0NDcwMDI4ZDE4ODMyYzAgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzA4OTgsIDEwMy45MTIxOV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfZmFkMGUwOWVmODFjNDFkOTlmMjU0MDZiZDgwZjA5YmUgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzE1MzYsIDEwMy44ODU3NF0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfOWM3ZDhiNjVkZjk5NDIwOWIxMjRhYmI2NTM1ZTEyM2IgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzExMTcwMDAwMDAwMDAwMiwgMTAzLjg2MjE0XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl81YWJiZTAzYzA0MzQ0MWZmODQwMDI2Mzc5ZjdlMmE5MSA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4yNzk2NywgMTAzLjg1NTM5XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl9hNjYxYTRhYzQ3Y2U0Y2E0YTQwMGE2ZjMzNDQ2N2JhZCA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMDEwNSwgMTAzLjg0Nzg2XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl8zYWQzMDczM2NhMmQ0NjhmODExZmRmNmQ5ZjIyNDk0MyA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMTQ4LCAxMDMuODg1OTNdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2ZkYTg5Njc3YWY3NzQxNjJiODBlMDVjZWUzZDk4MTdjID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMyNjE4LCAxMDMuODUzOTQwMDAwMDAwMDFdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzM3MmE4MjJjNmVhNzRiYjM4M2ViOGUyMWNlZDBlNTVlID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMxNDksIDEwMy44ODEzM10sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfM2UxMmQ2ZGExZTMxNDA5ZTk0N2VlZDAxZWRlZGRiNzkgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzE1MDg5OTk5OTk5OTk5OSwgMTAzLjgwMzk4MDAwMDAwMDAxXSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl9kY2Y5OGRjNDc1MDc0OTdhYWJmYjdlYjcxYjVlYmM1ZCA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMjY0NywgMTAzLjg2NDUzXSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl80MTVjNzEyZjQ3M2I0ODE2OGM2YzExNTdhYTk1ZmI5NCA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4yODYxNzk5OTk5OTk5OTk5LCAxMDMuNzkxMjJdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2UyY2JjMmNmNjNmODRjZDViNTJkNTY3NThhNTBlMmNhID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjI3MTczLCAxMDMuODIyMzE5OTk5OTk5OTldLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzdhMGNjOWQ3OTI4NDRkMTE4MzIzOWFlZDRmZTNkZWZjID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMwMzMxLCAxMDMuODQ4NDgwMDAwMDAwMDFdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2E3MjBiNzc4YWU5MzQ3OTA4Y2UwMWJiZjdhNmI5MzBjID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMxNDA1LCAxMDMuODg2MTldLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2E1N2VhZDU0NTMyMDQyOGQ5YTcxODczODI5MDM1YzIwID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMxNCwgMTAzLjg4NTc2XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl9kYjgwNDU4ZmFhOTE0Mjk1YmYwNTRhNjQ5NGRiYzRjNyA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMjA4NywgMTAzLjkxMTg5XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl9jZTZiNmZmNWI5NzE0OTllYWU5M2RkNDdkMGI2ZmJiNSA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4yNzUxNiwgMTAzLjg0NTNdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzNiNzBjYzRiMjVhMjRkMDY5NWNlZDAzOGExYTkwYWQ2ID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMxMzgyLCAxMDMuODg3NDRdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzI5ZGYzNDU4NDE1NjRjMmNhZGQ5MDg5ZDc4NTcxYzBiID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjI3MzczLCAxMDMuODQ2NzFdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2ZiNmJkYTEzMTE5ODQwNzNiNTZiZDQ4MzNiYWM0Y2ZmID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMwNjIzLCAxMDMuNzgyNTgwMDAwMDAwMDFdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzE4MjQ1YTQ2MmI3MjQ3ZWJiOWFkZmQ5OThmYmEzM2ZhID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMxMTgsIDEwMy43OTkxNjk5OTk5OTk5OV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfMDQ3MzU1YWVlMWQ3NDdhMjkyMjY5Y2VlZTA4MTM1OTAgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMjcyNDIsIDEwMy44MDkyM10sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfYTcwYjE1MzZlYmU2NDU1NjhhMzBhMDM0YzkyZWEyMjkgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzA3OTgsIDEwMy43ODYwNF0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfODM4MmVlZDZjYjc3NDcwOWIwODg4Yjc0YjFlNGMxMWQgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzEyNjcsIDEwMy44NzQ1Njk5OTk5OTk5OV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfNzRlNDg2OWNjYzIyNDg5ZmE1OTg4NjE4MmZmYzgyY2EgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzE3OTEwMDAwMDAwMDAwMSwgMTAzLjg1MDgzXSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl9lYjJjZjFlODMzNTI0Nzc0YjIxN2RmMjQyOTlmMTQ4ZiA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMTU3NSwgMTAzLjg4MzkxOTk5OTk5OTk5XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl8xYzIxNTlkMTlhNDE0OTRkOWVlMjdmNmJlYjk1ODlkYyA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMTU1Mjk5OTk5OTk5OTk5LCAxMDMuODkwOV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfNmE1YzNiZDA4NjgxNGU2YWFjYTkxNTJmNzgyM2IyZGYgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMjgyODMsIDEwMy44MzEwOV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfYjJmZjQ1MWEwOWY4NDFkYzlmZWVjMGIxMTI4ZDQ3NTUgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMjc4MzIwMDAwMDAwMDAwMSwgMTAzLjgzNzc0XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl84YjRmNGM2ZmJmOTI0ZDcyYjUwODcxMDRlYzRkY2MyYiA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4yNzg3NjAwMDAwMDAwMDAxLCAxMDMuODI3MDFdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2YyYzRhM2ViMDQzNTQ2NTY5NWFmNjA1YzIxMDg3OWI3ID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjI4MDg0LCAxMDMuODI4OTRdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2Q2YmMyN2U3MjllNTRhZDBiNWE4NDk1YjkxZjZkMDRmID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjI5NDA3LCAxMDMuODI4NF0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfOTM0NjA5Mjc3ZDM3NGJhNmFkM2RlZjFmM2Q4NGQwMTEgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzA2NDksIDEwMy44NDc4NV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfY2FhMjc4ZWQ2NDk1NGRlM2E3OGE2OTI3NDYwNjVmNDIgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzE0NDEsIDEwMy45MTI3XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl8xYjgxYjA3ZmE0MDA0NTk2OTM0YzBhNmIxYWIyMjJkOCA9IEwubWFya2VyKAogICAgICAgICAgICBbMS40MTA2MTAwMDAwMDAwMDAxLCAxMDMuOTAxMjhdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzgwMzBjMWFmNzI1MTQ2OGQ4OGUwZjMzZGY3MDFjZWJiID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMzMzE3LCAxMDMuNzI0MjE5OTk5OTk5OTldLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzJmYzg0NmI2ODEyOTQ4YWM5MjQ3N2UwZjk1ZjIyMzU0ID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjM0MjA3LCAxMDMuNzE3MzkwMDAwMDAwMDFdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzU2ZmVjYmE0OTgyMzRjMGNhNzZlNzdmYTcwZTk3NDhjID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjM1MjgsIDEwMy44NjU4M10sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfZjA0NWRiMTg2OTczNDM5YTg5MDg1MDg5OWZlMjQ0MWMgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzg0OTYsIDEwMy44NDEzOF0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfMzA0OTUxYWE2ODAyNGY5MjhiM2JkZTM5MWRkZDA0YmYgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMjkzNzQsIDEwMy44MjQzOTAwMDAwMDAwMV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfOWE4NTBiMDQ5ODg4NGQyY2I0YjE1M2ZjYjdhNjlmNTMgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMjczODMsIDEwMy44NDYzNF0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfOGM5N2VmMGFjNTJkNDFhOWJjNmI0ZTNmNjZjMmFmNTcgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzE1NjksIDEwMy44ODc4NF0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfNmM2YTY4ZTNjYjk2NDIwYWE5ZWFmOTljMDRjNmM3MzggPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzQ2OTEsIDEwMy43MjEzXSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl8xYjM3YmYxMmNjMmY0MDY5YTczMTRkNWNhMjliMjM5YyA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMTMwNjAwMDAwMDAwMDAxLCAxMDMuODkxNzMwMDAwMDAwMDFdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2YyMTVmZmQ0NTc5NTQ3YWU5NTIzYmUzOTcxMmU1YTMxID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjQ0MDEzLCAxMDMuNzkxMTddLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzVlNGEyNTk0NjBmMTQyZjY4ZjRhNTEwNzkzMDc5YWE4ID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMxMjg2MDAwMDAwMDAwMDEsIDEwMy44ODY1OV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfZmZhYjQ1Nzc2ZGNmNDI5NmE3ZTVjZDAxYjQ5OWY3ZTEgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzIwMDI3MjE5ODQ3NjAzMywgMTAzLjg0NjVdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzRmNmE2MWE0OGE5NDRkYWJhMjUzNWMyYzAzYWY1MzY3ID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMyMjgxLCAxMDMuODUxMzNdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2U5N2U3MmZiMjYxYjQ5MDhiMDM3YmM4M2FmZThjMjE0ID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMyMjEzOTk5OTk5OTk5OTksIDEwMy44NDkxN10sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfMTFmMWQyNDA2MzJmNDYxN2IxMzE4OTliNWI4YWE0MTMgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzQyNiwgMTAzLjcxNTAwOTk5OTk5OTk5XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl80N2VlOTQyY2M0ZGM0NDYxOWYzYzhjNzdjZGVjMTQ2NSA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMTc0NiwgMTAzLjkxMjY1XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl80Y2Y3ZjIzZmQ2ZmE0MTFkYWE2ZDQ4ZmMzMmEyZDVmZSA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zNzgzNSwgMTAzLjk1NDY1XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl8zNjg3YjMzYzg1NmQ0N2Y4Yjk0ZTljYjhmNjIxYzhmNSA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMjEwMSwgMTAzLjkyNTVdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzIxOWRhOTNmZjJjMjRjYzQ5MzczYmZhZThiZTNhYmYzID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMxNDgxLCAxMDMuODg3MDFdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzc1MmU0MDhjMTNhODRlYWQ4MDE0OTJjZThiODg0NzgyID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMxNTQ2LCAxMDMuODg3MjFdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzgwZGE5NGQ0OGI5OTQxYjE4MjJmN2VkOTcxMGYyMDkxID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMwOTM0LCAxMDMuODYzMzY5OTk5OTk5OTldLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2M4Nzk2ZTU5OGYxMzRmZDY5YmVhYTViMDIzYTIyNjliID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMwNjYxLCAxMDMuODg2NTldLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzIxMjUzMDllYzRkMTQ5N2Y4MDY5ZDA2MTlkM2I4MmZjID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjI4NDI1LCAxMDMuODQyOTU5OTk5OTk5OTldLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzIxMmVjNTdkN2U2MjQ5ZGJiYjkwZGY4NjYxOGFlMmQxID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMxNDg5LCAxMDMuODg3OThdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzI1NWRkYzBiYTUzYTRiYzI5NjhmN2I1YmU2NTY1NWE0ID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjM1MDIyLCAxMDMuNjk3ODldLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2RlNWU5NmQ1YWJhZjRmYTY4YzEyZjkwMWE2ODE0NzQ0ID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjI5NDg0LCAxMDMuODM4NTldLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzY0OTYwMDY3NDVmYzRmYzBhNWUzNjM4OThjMzg5M2VmID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjM4NDA0LCAxMDMuODk1NTgwMDAwMDAwMDFdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzJhZmMzMmRkOWI2ODRmZmZhNTdkYTk1OGZhNzJiZTFjID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjM1NDE5LCAxMDMuODc3NTgwMDAwMDAwMDFdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2Y1MzhlODU5MmI4MzRkOGQ4YTExMjBiZTAzMDE4MGNhID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMwMTU1LCAxMDMuNzkxMTddLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzJlZjVjZjUyYmJhZTRhNzQ4OWM2MzBhZWZhZjQ2ZTI0ID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMwNjMxLCAxMDMuNzYyOTJdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzFlNWI1YWQ4ZDhjNjRkMDg4ZDQ0ZGYxZDhmYzM5YTViID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjM1NDksIDEwMy43NTIzOV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfNWU2YTUwYWRmYTRjNGEyM2IwYmNmZTI3MDBhMjYzYzUgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzE2NzcsIDEwMy44ODk3M10sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfNDcwOGU5NDY0ZTJlNDA2NmE0N2U0YzZhYjA5YjQzMGEgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzE0OTgsIDEwMy44ODU4N10sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfYjcwZWNlNTMyNDg4NDM4YTlmOGUyNDcwY2VkYzU5OTYgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzEzMzksIDEwMy44ODYwOV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfMDZjODE4NTkzMjJhNDBiN2I5NjM4OTM2MTg0MTI5YzMgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzEwOTg5OTk5OTk5OTk5OSwgMTAzLjg1NjUxOTk5OTk5OTk5XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl82YjQ3ZmFhMTI5YmY0NGM4YjgxM2RkMmU1NDZiM2RiMCA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4yOTc5NSwgMTAzLjgzMDEyXSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl84ODFhNjFiZTNkMjY0ZjlkYTE3OTZlZGVhZDIzNzY2ZSA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMDU1LCAxMDMuODQwMDhdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzIzZWY3YjM0NTdhYzQxODk5MDUwYjM3MDY3NjI1NjhhID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMxMjQ1LCAxMDMuODc4NThdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzU4ZDhiMGY3OTgyYjQxMmJhNWE1OTlmZTM0ZDg1YTEwID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMxNTQ0LCAxMDMuODg2NzRdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2UwZjAxOTIyOWFmNzQ5MzA5NTBjYjM3ZWM4OTc2MTE3ID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjI3NzE4LCAxMDMuODIxNjddLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzdlNjVmYzc0ZmM5YTQ0NDY5NWM4NjZkNjZmYmE2Njg0ID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMyNzk2LCAxMDMuOTIzMTFdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzI3NzE3OTZhMjM0YzQ4NDRhMzYxN2M4MDA3N2EzOTNlID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjI5NjExLCAxMDMuODQwNjQwMDAwMDAwMDFdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzNmNTA0MTgwZGQxMTQ3MTNhMTA1OWUwZjRmNDFkMGUyID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMzNzM0LCAxMDMuOTIyOTgwMDAwMDAwMDFdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzljM2JhZmRmZGM0NjQ1NTVhMzI0MjgxNjk1Y2FlODAwID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjI2NzE0LCAxMDMuODEwNzFdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2EyYjI1Y2ZmNmJmYjQ3YmFhMDFlOGI4MmM1NDM5MzE0ID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMyNzk1LCAxMDMuODQzNTRdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2Y5OTNjODEwYmVhNzQ1NDE5ZWQ1NzhjNWIzNzU1MmMyID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMxMzcyOTk5OTk5OTk5OTgsIDEwMy44ODgwM10sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfNDQ4M2Q2OTZmODUyNGNlYjhmNzdiMzlhYjJlYzk4NTIgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzAyOTgsIDEwMy44NTc3NF0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfZWU2NjRjYWEyYjBlNGMyYWI2ZWQzODQ0YTdkN2RiMGMgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuNDM2MDUsIDEwMy43OTg2MV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfOWVjOTZjYmE5NGVjNDM5NGI2ZjJlYzhkYWUyNTA5N2QgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzA3MDIsIDEwMy44NjIxMTk5OTk5OTk5OV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfNTMwZGZhMGRiYjAxNDExYTg1ZTY5YTkxNjc0NzFlMjkgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzA4MDUsIDEwMy44OTU5MTk5OTk5OTk5OV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfZTFiNWQxZWU3Yzk5NDA2ZGI5ZjgwYTk4ODQ5M2RhMTYgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzEzODEwMDAwMDAwMDAwMSwgMTAzLjg4NjgyXSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl8yMzA5MjI1M2RlYWY0M2RmYjQ0MTI0ZjE0YzMwMTg4NCA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMTU1MSwgMTAzLjg4NjEzMDAwMDAwMDAxXSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl9hOTE5Yzk5ZGI1ZDA0MWE1OTc0OTE4OTBlMjZhNGIxNSA9IEwubWFya2VyKAogICAgICAgICAgICBbMS40MTAxNiwgMTAzLjg0NDY2XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl8yNjlmNWZkMmZhNmQ0ZjU4OTNhMGJiOGE3MTUyN2FmYiA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMDcyNiwgMTAzLjg2MTg1XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl8yMjBjMjMwMGExNTE0OGNjYjBmNTQ2YmI3MmVhMGQ3MiA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4yOTMyNSwgMTAzLjgyMzM0XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl85YTQ2MzdhYThjMjU0OTJhYWJkMzkxYmQ4ZDZlNmJhNiA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zODQyNCwgMTAzLjg5NTUzMDAwMDAwMDAxXSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl9lYjNjOWFlYmJkYWM0ZDFiOTRjOTU3NThhNzEwYzg5YiA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zNDAzNiwgMTAzLjY4Nzc5XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl82MzgxYmM5YTBkMjk0MzMzOTg2ODFmY2FkNjZkZDViOSA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zNzgyMSwgMTAzLjkwMjU3XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl83NDkwYWFjYzVmNTQ0ZjllYmFhNWZlMzNmM2ZhM2FmZiA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMTIyOCwgMTAzLjg3NjFdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzkxYmY1NjVkOGI3MjRjZjE4ZTcyYjMyNzM1MWQzMjRhID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMxMDgzLCAxMDMuODg0NTZdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzI5ZjIzM2NkZjIwMzQ0NjVhMTFlMzI1MzQ2MDhhYmM4ID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjI5NjY3LCAxMDMuODM4ODNdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2Y4YmM0OThhNTFiYTQ5ODRiNjMyZDQ0YWVlOTYwNTE5ID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMzOTAzLCAxMDMuNjg3ODJdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2E2ZjU1Y2RjZGEzOTQ4NmQ5ZTdlNmM4MTlkZWM1YWFhID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMxNzQyOTk5OTk5OTk5OTksIDEwMy43Nzk1NV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfMjU5YzU5NmNlNGNiNGUyNGE5ZjZiMDExNjI2OGY1ZDQgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzEyMzYsIDEwMy44MjU3MTk5OTk5OTk5OV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfOTQyNTc2OTRmNTdlNDdkOGFiNGM0MmVjOTU0ZDFhYTYgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMjc4NjYwMDAwMDAwMDAwMSwgMTAzLjg1NDldLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzQ5N2Y0YzQ2NDhlMTQ3OGNhYTUwZWE3NGNiYzNlMDFjID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMyMzgxLCAxMDMuODU1MjZdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2IzZjY2NWY1Nzg3YjRhYjI4YTk0YjA1MGVhNDJmMWZmID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMxMjA5LCAxMDMuODU3NTddLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzgwYTM2ZGIxZDc5MzQ0M2M4YWE5NjMxNjZhMTEyYzJmID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjQwMDI5LCAxMDMuOTA0MDFdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzYzY2JiNjUwNmVmNzQ3MmE5OWE3OThmMTZkYmY5ZTNmID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjI3NDM5LCAxMDMuODQwODMwMDAwMDAwMDFdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzI1NjM3MTFjZGZlMTQ3NWQ5NWRjNTYyNTA5NDZkYjQzID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMyNzQxLCAxMDMuODY0MTFdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2QzNzM1YjY0NTE3ODRjNjU5NzFhNmNlNGEyZTkxYzUyID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMxNzMxLCAxMDMuNzg3OTVdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzZmMTI0ZmU5ZjVlNjRiMmQ5Yzk3ZWJiZmZhODFlMmEwID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjI5NTA2LCAxMDMuODM5OTU5OTk5OTk5OTldLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2ZlZjQ2ODlmMGYzMjQyY2U4M2M5ZTBmNTQ2MmM5Y2Q0ID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjQ0MDEsIDEwMy44MjQ3N10sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfZGQwNmE5M2UxNjMyNDVmOTkxZTc4ZmUyNmNhMzg4MTIgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzExODIsIDEwMy45MDY0NF0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfZDllMzI4NmZmZmIzNDA5ZWI5YWFjYWVhMGUzNGFhNGMgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzE0MDMsIDEwMy45MDY0NV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfZmZlZTM3ZTA5MmI0NGZhZThiYmI0M2I0MjRjNDg3YmUgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzExODYsIDEwMy44ODEzNl0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfYjAzZDZkNTgwMzQxNDUxMzgwZmFmZTNmMjY5ZmI1OGEgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzExMzgsIDEwMy44ODE1N10sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfM2JhZDBjMDEwMjUwNGY3YWE0MWM5NjkyNzhjZmJkZjUgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzExNTI5OTk5OTk5OTk5OSwgMTAzLjg4MjY2OTk5OTk5OTk5XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl80MDg3MWY5Y2I2Y2I0MTJmODdlY2YyZDZjOTdjYzMyZCA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zNTk0MSwgMTAzLjgyODM0XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl81M2Q2NzI2YWM4NWI0ZjVlODE4OTk2YmJiNDc2OWU1OCA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMTQyMjAwMDAwMDAwMDAyLCAxMDMuOTA0ODFdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2VhMWFiYzQwY2I2OTRlMDQ4ZDgzNTZjMGNlZDMxOTQzID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMyNDE2LCAxMDMuOTEyOTddLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2FhN2NhYjIzODgxZTRmNzJiMDBkNDBlN2Y2ZDYwN2JjID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMxMjk4LCAxMDMuOTM5MzJdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzRjMDg0NTg2N2E4NjQyNGJiYmJiOWM2Mjg3OWZlMDliID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMxNTUsIDEwMy44ODU5MV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfNmEyNDdkNjFkOGEwNGVmYmEwNjA4NmMwNGVmZjQzYzkgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzEzOTI5OTk5OTk5OTk5OCwgMTAzLjg3MjE2XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl9hMjJlZDdkZTI3ODY0MzVkYmU4NTdhMDZkYTgwMTUxZSA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMTI4MiwgMTAzLjkwMjk2XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl9mNWU5NzY0NWI5NGU0YzFhYmRhNmQ4ZWY1OWQ1M2JiZSA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMDgzNzk5OTk5OTk5OTk5LCAxMDMuODYxNDJdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2U1NWJhNTUyYTY5MjRmMmM5NWRhY2M0ODIyMGNlNWUxID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjI5NjE0LCAxMDMuODM5NjddLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzNmNTA0OWVlNzYzMjRkMDRhMjEwMjEyNzliMzVjZGEyID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMwNTIxLCAxMDMuODQyNTMwMDAwMDAwMDFdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2M0YTdjZWI3YmU2ZjQ2ODU5MDMwNTEwNWQ0YThlYzNkID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMxMzU5LCAxMDMuODg3OTRdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzNjMzgwMDE0ZWJlNzRlYzhhMzk5OGJkZTA5MmJiOGY4ID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMxNTkyOTk5OTk5OTk5OTgsIDEwMy45MDcxNF0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfMGFiN2M5ZTg0MWYzNGQ1NGFlZTczMzQ5OGMwZDNkNTEgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzA4NDcsIDEwMy45MDM5NF0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfZjBmYjVjMTc1ODExNDdhN2FlZDEwOGE3YjQ4Y2ZjMGQgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzI0NDUsIDEwMy44NTM5Njk5OTk5OTk5OV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfNzhmMDkxOGYyMTE2NGJhMzg3Y2E1ZmY1MDVmZDMxZDAgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzA2Nzc5OTk5OTk5OTk5OCwgMTAzLjkwMzUxXSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl9hMjg4MTNhNGVhMWY0MjNmYWYxMDRjNzU3YTE0YzUwOSA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMTQyMSwgMTAzLjg4NzUzXSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl8wN2FhM2E2ODllOTg0NTMyOTU4ODUyNWE5YjRlYzAzZiA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMzMxNjAwMDAwMDAwMDAxLCAxMDMuNzI2NzZdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzM4YjA3ZWQ1NjRhMjQ1MmRiMzVhOWJkMmY3YmUyNGFhID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMxNDc5LCAxMDMuODg2MjddLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzM1MWI0ZDQyZjhjYjQ0Njg5OTVlZTdlMjIxZTg2YTliID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMxNjEyMDAwMDAwMDAwMDIsIDEwMy44ODc4MV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfYTM4NDBiZjk3NWIxNDRmM2EyMDdlZjI0MTY4ZmMwZjAgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzAyMjQsIDEwMy44NDU3Ml0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfNmY1NmM3OTc2NWZjNDU1YTg0Njk5YTc3OTQ1M2UxZWYgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMjgzNDQsIDEwMy44MzMwODAwMDAwMDAwMV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfYTQ1ODVlMTNiODZiNDdkOTkwYTZkMGM3ZTI5ZDIyY2QgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzA3NDI5OTk5OTk5OTk5OSwgMTAzLjg2MzA1XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl8yNTNiODhkNWIwZTA0NTBjODdkZjllNWEwYWY3ZGNlNCA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zNDM1MiwgMTAzLjcxNTI2OTk5OTk5OTk5XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl83MDg2ZTY3YWQzZTI0NzY5OGU0MzQ1ZWNlYzdhMWUwNSA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMjQxOSwgMTAzLjg1MV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfZWZiZjVjYmEwZWRhNDMzODg5NDIzMWI2NTRkYWJiNDQgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzYzNiwgMTAzLjg3MDRdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzA4YzliMjM4ZTdhNDRlMjA5ZGI3YjNjOGNhYmE3YTk3ID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjQyODcsIDEwMy43ODE0NV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfMzc0YTQ5MzM4NDg2NDEzYWE5OWIwNjliMmEwZDUwYjkgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzgwMDgsIDEwMy43NjA3NF0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfYWNiZDFjNjNlYTE5NDg5NGExMTc1ZTgxYWYyZWQ0OGMgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzA4NTIwMDAwMDAwMDAwMSwgMTAzLjg2MTczMDAwMDAwMDAxXSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl9hYWZmMWMyZDhjZjU0MjI5OGJlNzlkZjEyY2Q0YzMzMCA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zNDE5Mjk5OTk5OTk5OTk4LCAxMDMuNzM1ODRdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzQwMjYzZGY4NjVjNTQ0MWRhMmU3NmQwOWI1YjgzMTFiID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMwMjYyMDAwMDAwMDAwMDEsIDEwMy44NDgzNl0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfM2E0ZjIwYWZlZWQzNGYzMWE0YWQ5YmUzYzZkOTcwZjMgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzA3NSwgMTAzLjg2MjY4MDAwMDAwMDAxXSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl9iYzM0YzRjMGE2NDM0MzYzODJmYzhkZTA1Yjk0ZWU2ZSA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMDc4NywgMTAzLjg2MzMxXSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl85MGNiMTU0NDUyMmU0ZDAzYjFjM2MxNzczOGFkZGFjNyA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMTk1MiwgMTAzLjkxNDc2XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl9hNWQ5MmYzNjJlYTE0YjNkODgxNmMxZTkwYWFjYWQzYSA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4yODEwMywgMTAzLjg1Mjc5XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl9jMzRkZGJmZmUxZTA0ZTkzOWU2OWFhM2RlYjBmMzUzMyA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMTU4NywgMTAzLjc4ODkxXSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl82NTc3MGVmOTdkOTI0OGQzYmJjNzczOThiMzYwOTUwMSA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4yOTYyNzk5OTk5OTk5OTk5LCAxMDMuODUzNjVdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2QzZTY2N2YzN2NkNDQwZTU4YzM4NzJmMDVjMjA5MTJiID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMxNTgyOTk5OTk5OTk5OTgsIDEwMy44ODg4Nl0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfOTk4OTJhZDdkZDBmNDFiNGI4OGY2NzJmYTlhMjU5NWQgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzIxMTgsIDEwMy44MDQyNDAwMDAwMDAwMV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfMWNjMWVmZWViNmUyNDQ4NTlmZjZkMjBlNmUzMzk0MjUgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzE1NzksIDEwMy44MzAyNl0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfODE5M2U1ZGZmNTc4NDZlNDhhNTZlNTU5YjFkNzBlMzEgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzE1MDQsIDEwMy44MDM3Nl0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfYTY3YzBhNzljMzY0NDFkNDg2N2NlNGY3Y2M3NDlhNDEgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzU3NTcwMDAwMDAwMDAwMiwgMTAzLjkzNzk1XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl9hNTBkNWY1N2I5MGI0YWFkODc0N2MzZjQ3Y2NiYTgxMiA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMTcyNCwgMTAzLjkxMjU2XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl80OGJiOGYyMWFlOWY0MmNiYWYzMzI3OTEyYTc1M2Q3YyA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMTc0Mjk5OTk5OTk5OTk5LCAxMDMuOTEzODJdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2ExMWMzYTk2ZDkzNzQ3Y2Q5MDIyOGVkNDMwYjgyOTNiID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMxODUsIDEwMy45MTI0OF0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfYTExMzVlMmYzMmQ4NDViZGIxYWM4NTMxZTE5NDYxMzggPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzE3MiwgMTAzLjkxMzldLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzYxNmM1ODc1MDdkMDRiZjNhMjRkNDdmMDYyZTdkYTA4ID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMxODU3LCAxMDMuOTEyOTFdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzhiMDUyMzU2MmY0NjQ5MWU4YjU1MzhmZTU2NTk3MGZkID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMxNzIyLCAxMDMuOTEyOF0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfZWUwZTU1YmRjNDY3NGMxMjhiMTk0MWQ2Y2UyYWJiODIgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzE2OCwgMTAzLjkxMjgxXSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl9kOTU4MmMwNTRkOTY0ODk2YjM0MGM3MjRiOTE0MDM2ZiA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMTc0NCwgMTAzLjkxMzYzXSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl82YTU3NmI2MWU0ZmY0ZDAzYjM3MmI4YTA4MDg5MzczYSA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMjM0Mjk5OTk5OTk5OTk5LCAxMDMuODUzNDJdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2NjMGJmYzhjZmJmNjQ1YjI4ZWFjZTJlZTg3ZGJjYTk4ID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjI5NjY2MDAwMDAwMDAwMDEsIDEwMy44Mzk3NV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfODc4Yjc3ZDA4MDA1NGVkNzhjYjVhNjU0YWI1YTllNDYgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMjgyMjcsIDEwMy44MjU4XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl9iNzA1NGU5MGVmMjQ0MjE3ODg5MDNhM2M0NmEyZjE1ZCA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMDIwNywgMTAzLjc5ODIxXSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl8wNjU3ODJlYzZiYTU0ZTJhYTk4MDE0MjBhOTliODExYyA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zNDA0LCAxMDMuODI2ODVdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzM1ZDY4YzNiZDA5YjQ4MzJiNTExMzcxZjJlMzliYjBiID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMxMjQ5LCAxMDMuODgzMjhdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2UwZDJmZmNiNWIzNjQ4ZmQ4YjA5MzRmZjlkNGIwNjZjID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMxNDQ3LCAxMDMuODgxNDMwMDAwMDAwMDFdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzQ2YzMyNTYyN2Y3MjRiMmQ5ODlhM2Y5N2ExM2IxOWQxID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMxMjUzLCAxMDMuODgyNjgwMDAwMDAwMDFdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzM1YTMxMzY5ZTYxNjQ1YjhiMTE0YWE2NDQ4YWYzNTA0ID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjI3NTA5LCAxMDMuODQ0ODNdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2JjZThmYjJiZTVlMzQzNTA4YjdkMmU5MTZjY2QxOWU0ID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMwMTc0LCAxMDMuODUzODldLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzM5ZTA5NmU0ZTAxMjQzNGZiZjVkY2Y1N2JmYjU5NTRkID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjI3MzQxLCAxMDMuODQ0ODVdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzQxM2FmZDgzMTJmYjRmZTE4MzU4MWM0YzRkYmU4MWU2ID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjI3NTM0LCAxMDMuODQ3MTFdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2UwMjg2M2NhZWVlZjQ3Njc5NTIwNTM2NjkzMjQ0NjJmID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMwNzM3MDAwMDAwMDAwMDEsIDEwMy44ODg1XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl83NWQzOTQ5NDEzNzc0ZjM3YTE2MzA0N2EzY2Q4ZDBlMyA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4yODAzMSwgMTAzLjg1MTQ0XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl9iMjBlYjIxNGFmOWQ0NzRkODU1NDE4ZDliOTVjMjIxNCA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4yODA0MjAwMDAwMDAwMDAxLCAxMDMuODUxOTgwMDAwMDAwMDFdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2FmZjc5ZDBkZGE2ZDQ1ZmM4NDA5ZTZlYWVhMWFkODJjID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjM0NDMyMDAwMDAwMDAwMDIsIDEwMy45NjIxMV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfOWFhZjBjYzZlNWZlNDE0NmJkNmVhZjQ2OWUxNjE2NmMgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzEzODYsIDEwMy44ODY2NTk5OTk5OTk5OV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfM2EyNWNhMjg2Y2RjNGUxNzk5YTQ5NWZiNDZkOWQyYmIgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzA1MTMsIDEwMy44NDk2OV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfZWIzODljNjIyNjVmNDk2OWFlOWNkMjBhMzQwYTRjNmUgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzA1LCAxMDMuODQ5NjhdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2VlMjNkMjhkYTA2ZjQ3ZTBhYjI1MTk0M2YzZDMyMjk3ID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMwMzM5LCAxMDMuODQ4ODRdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzgwMDQ1YzUxNjhhZDRjOTFhNjIwNjYyMWUxYWI3NTdjID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMwNDc1LCAxMDMuODQ5NjJdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2EwNWJmY2ZjY2JiZjQ2OTlhY2YxMDc3YTQzZmE3MWEwID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMxNDQzLCAxMDMuODk0MzldLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzg1MmYwY2RiYzVlNTRlNmE4MDBlNmYzYTE4NWEzOWI0ID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjI4MDE2LCAxMDMuODUzNl0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfNzc3ZDQ2MTJiYTRmNDY4M2EyMzVmNjkwOGVmNDNmM2IgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzA1NzI5OTk5OTk5OTk5OCwgMTAzLjg0ODg1XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl8xOGM0YzZhNDI2MWM0NzQ5YTYxNmVmMmExYjk3Zjk0OSA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4yNjY2LCAxMDMuODE1OTddLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzFjYjI3OGU3NDA1ZTQ5N2FhNDgwNGI3ZGQ1YjMxNTM5ID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjI4NDM1LCAxMDMuODQzNTJdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2E4NWU5MmYxMWE5YTQ4Y2JiNjRmZTc3NDZjZmI0MjQwID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjI4MTgxMDAwMDAwMDAwMDEsIDEwMy44NTI5MV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfYTQ5NGIyZjliNmQ2NGYyZWE1ZTc0ZWNiNjdlZmQ4ZmYgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzEwOSwgMTAzLjkxMTU0XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl8yZjcxNzJhNjA2MGM0ODA5OGEzNGEzMmVhNTY4MDkwZSA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMDAyMSwgMTAzLjgzNTg5XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl80OTg3YjVmYTVlNGU0MzFkOWYyYTI4ZGFhNTc1Zjc3MCA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMDc1LCAxMDMuODYyNjddLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzhlYzQ2NjMzNjA2MDQzMzdhNTMwYzBkOWZhZDE5YjYzID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMxODU1LCAxMDMuNzc0OTZdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2VmNTFmMDhiYWQ2MDRlNGM5YzlkMzEzYzgxNmFmMzc3ID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjQ0MTYxLCAxMDMuODIzNzddLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzA1ZDA2MjYyNjlkYTRhZTZiZDMxNmM1ZWRmMTgzNjdiID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjI5NDc3OTk5OTk5OTk5OTgsIDEwMy44MzkwMV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfMjUxNGFiODQ5NWJhNGFjNjlkM2FhMDJjNDdlNTk2OTAgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzAzODcsIDEwMy44NDY5NV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfZTMyYzMzMjJhZGUwNGJmZjhlNWNiNTFiYjExYjY4ZDUgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzQ1NzQsIDEwMy45NDE4OF0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfOWVjNjI0MmJhYjA3NGYzNWJjZWRlMzY3MWU3NjkzMjYgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMjk2OTEsIDEwMy44NDA5N10sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfZTU3YzcwN2EwOGIwNDJiMTk0MjE3MzE3OWE2MGMwZDIgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMjk3NjI5OTk5OTk5OTk5OCwgMTAzLjgzOTIxXSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl8zMmIxMmNlMzc5NTU0MjhhODZjOGU0MzZmZjc0MGM2MSA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4yNzM5OSwgMTAzLjg0NjQ5XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl8zZWNhMzZhNDAxN2I0NjAyOGU0NzgwNTI4NzBjNmVjYiA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMTEzOCwgMTAzLjg5ODg4XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl85M2JkZDg5ZDQzNDM0N2VhYmEwY2MyNzI0OTNjYTNiMSA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMDk3MSwgMTAzLjg3MDkzXSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl9mNjVkNTUzZjg3ODc0NDc5OWQ4ZGUxNDRmZTk2YjJkYiA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMTEzNzAwMDAwMDAwMDAxLCAxMDMuODgxMjldLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzY0MzlhNzM5ODAyMTQ2ZmNiN2Q2ZThjYjdkZTRiMmMxID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMxMTM2LCAxMDMuODgxNTA5OTk5OTk5OTldLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2IwZTYxNzMxN2U5YzRjNWM5ZDY3MTdiZjUwMWMxNjg2ID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMxMTUyLCAxMDMuODgxMDldLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2ZkZDdkNjk2OWFiMzQ0OWJhYmZhZTM3NmFkOGQ2ZDRiID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMxMTA4LCAxMDMuODgzM10sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfZTUwYTU3ZTc5MzMzNDdmZWE4MjU1ODU2NGE3OGIyYmIgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzAzODUsIDEwMy44NTA5NV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfNjAwNjhlZDdiMWZlNDU2ZGI5ZDIyN2JhYjI1N2IxMzMgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzEzNDcwMDAwMDAwMDAwMSwgMTAzLjg0MDkxXSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl8yMzM2YWU1MzRhMTM0M2YxYmM5MWRiMjQ3OGMxOGU4MSA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMDUyNiwgMTAzLjg0OTVdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzM1MzMwYWY0MjFlNjRhODZhMDk2NTk3YWNiZTM4ODA5ID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMwNDEyMDAwMDAwMDAwMDIsIDEwMy44NDkwNV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfMmNjYjhlZWNkN2YzNGVjOWExM2Y4NjYzN2RiOGQ3ODYgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzg3OCwgMTAzLjg4NzgzMDAwMDAwMDAxXSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl85ODM5ZjFlYzNmMGM0MDIyYjhiNjhkNzFiNDExZWU1NiA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMDM5NywgMTAzLjg0OTI4MDAwMDAwMDAxXSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl9lMmM5OTUzOGM2Mjk0YWI0OGM3OTMwODYyNjNhODI0NCA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMTA0MjAwMDAwMDAwMDAxLCAxMDMuNzk1MThdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzEyMWE0MzI3MTVmYzRlMjc5YTE3MWRjYjYwZThmOGZiID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjI5NDYzLCAxMDMuODM5MjNdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2JmNDVlZGE1ZmYyZDRjODNhNGFkOGExMzlhMGJjMmVkID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMxMjc0LCAxMDMuODg2NTldLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzNiNWY4YWRlMmJjNDQwNTZhMmUzMDRjY2MxZWI1NmFhID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMwNTQyOTk5OTk5OTk5OTksIDEwMy44NDAzXSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl82YWQ0Yzk4NjJlMjE0OWMwOTJhMzI4YWFmYmUwYmUwOSA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMDQ4Nzk5OTk5OTk5OTk4LCAxMDMuODQwMDJdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2Y3YjgyOGU3YWM2YTQ3ZTJiN2QwMTIzNmQ1MDMzZTNhID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjM0NzI2MDAwMDAwMDAwMDEsIDEwMy43MDA4MzAwMDAwMDAwMV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfM2U0YTQzN2MwYjJhNDc4NGI1YmVjMDk2ZDQyOGU2NTQgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzE3MTQsIDEwMy44NTAxMV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfYTk1YjZhODU1Mzg4NDhlMjgyY2JkNmJhZWEyYTNjNzggPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMjk0ODgsIDEwMy44MzkyXSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl82YzRlNzlhNTM1YzY0OTg5YTdiOWRhMmM1MThhMzkyZCA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMDc3NSwgMTAzLjg2MjJdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2M1NWRhY2FjOWRkNTQ4ZDU5ZjU4NThmYjU0YTU2M2E2ID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjM1Mjc3OTk5OTk5OTk5OTksIDEwMy43NTcyNjk5OTk5OTk5OV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfM2Q1MjQxYTFiNTAyNDdkMGE2Y2QxY2NhMmIyZGI2YjkgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzE5MTEsIDEwMy44NDY0XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl8yYzg5OTZhMzRlNWY0OTBkYTI3MDQzNGRlMDNkMWFkOCA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMTYxNywgMTAzLjgyNjk0MDAwMDAwMDAxXSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl9iODRhMzIyMmZhOTE0YmFjYTc4NDA2MTA5MzFiMjgwYSA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zNzI3OSwgMTAzLjg3MzY5XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl9iOTZlNTdkM2Q2ZDg0ODhjODYwZWNlOTE1YTVlOGVlYyA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4yODIwNSwgMTAzLjc4NTA2OTk5OTk5OTk5XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl80ZDI0ZDdkYjUxOTU0ZDcyYjU4NWEzMTI3ZDQ4NjVjOCA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMjcxNCwgMTAzLjg1MTJdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzNlZmI0YjAzOTRkOTRhMWU5YzVkZWM3MGE0YjY4NGExID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMwODAzLCAxMDMuODYyN10sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfNTVjZGEzYzUxYWYwNDZjYzk2NDY1ZDQyYTE3NjYxMzEgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzE0MzksIDEwMy44NTg1Ml0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfMWZiYzRmMGIyZTZjNDUxOGIxMjE2ZWY2MGUzMTU5NmIgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuNDA0MzcwMDAwMDAwMDAwMSwgMTAzLjkwMjg0XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl82MWE5NzE1YzhmYmY0NmI3OTQyNWMwNDZlMzM2NzJhNyA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4yOTIxMywgMTAzLjgxNzM0XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl9iM2E5NzRmNzkyODA0YTRjYmQzMTJiZmFmMjIyNTE0NyA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zNzkzMiwgMTAzLjk2MDNdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzEyMzE4MTViYTBiYzQ3YjA4NDNhZTg4MWJiMjdlMmRiID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMxNjYyMDAwMDAwMDAwMDEsIDEwMy44MzU4Ml0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfZWZjYmMzNTQxZDU0NGU0MmFlOGYwNWU2NDM3OGMxYjQgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzI4NjksIDEwMy44NDc0XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl80NzY5ZWFjYjJlZjg0M2Q2ODc2ZWFmYjI2ODRiZjY0MiA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4yNzYyOSwgMTAzLjgzNjkxOTk5OTk5OTk5XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl83YjI4MzNjYjRjZWI0MDE2ODY5ODQ3NDE5MTU1OGZlYiA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4yODA1MSwgMTAzLjg1MzI3XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl8yZGYyNjgwMDY2ZTA0MjRkOGY4OWQ2YjgxMjFjZmRmMiA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4yODI4ODk5OTk5OTk5OTk5LCAxMDMuODQ3MjhdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2Q2MGYzOWM0NTk5OTQzYjBiNmM1MjczMjJiOTlmMmYzID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMzMzksIDEwMy44MDg3MzAwMDAwMDAwMV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfMTQ5ZTkyODQ0OTU3NDU5MjhhZDllNDllNjM1YWQzOWUgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMjc2NTc5OTk5OTk5OTk5OCwgMTAzLjg0NDgxXSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl81ZWU2MWUwZmQzNzg0OWM3YThhOWRhMTIxM2FjZjY4NiA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMTY5NjAwMDAwMDAwMDAxLCAxMDMuNzg3MDldLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzI2ZDAzNzE0OTU5NzRiNjlhNjkzYjQyNmNlNDhiMjEzID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMzMDg0LCAxMDMuOTQ0NTJdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzhiNzE4NTI0MmU4ODQ5OWY4NGFjOWZlNTQ1NTczNjdiID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMxNDE5LCAxMDMuOTA3MDVdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzI0ZjIwYWJjYTkwZjQwMGNhMGM0OWU5ZmZkNGRhNTg1ID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMyODUsIDEwMy44NDUyNF0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfZjRiYWU3MDMyN2ZkNDllMzllOGM0MDJjODc3MzljYjYgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzI0MjEsIDEwMy44NTMzN10sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfNmYyNWU2NDhiMzIxNDI4MDhmMjUwNWM5NTZlNjhjZTIgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzI0NzUsIDEwMy44NTIyXSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl82YTczMDQ1YTI2MDc0ZmFjYmFlODVkMGMwMWE5NjFmZCA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zNTMyODk5OTk5OTk5OTk5LCAxMDMuOTMxOTVdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzY2MWJlODNjNDcwZjRhY2E4YmVlMzY2NzYzNDRkYWU2ID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMyMjE4LCAxMDMuODQxOTJdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzRmOWQ5NTA3NWYwMjRhNjA5OGEwOGYwOTIyNzdhNDczID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjM3OTU3LCAxMDMuOTYzMDFdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzg4MmMwMzc4NDY1YjQ1MjFhNDIyMDI3MGJlZTllZmRmID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMzMDAyOTk5OTk5OTk5OTgsIDEwMy45NDcyNjk5OTk5OTk5OV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfNTZjYWU1MjU4NTU2NDg0MTlkZmU0ZDEwYjFhMWZjYzUgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzE0OTEsIDEwMy44MDU3OF0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfMGJhYmNlYzg5NTVlNGZhZDliNDIxYWFiNGY1YWNjY2UgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMjg0MDEsIDEwMy44MzM4NDAwMDAwMDAwMV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfYjFiYjAyNGYwYjliNGM2NDg1NWY4NTcyN2JiZmJlODcgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzIyMzUsIDEwMy44NTI4NTk5OTk5OTk5OV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfMjEwY2Q3NDc4ZjU2NDQ0YjljMzBhMDk2NTNiZThhMTEgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzI3OTksIDEwMy44NDY3XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl82NzQ5YTY2NTE1Y2U0ZmZkYTU0YTQ2NDliNmFmMGVjMCA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4yOTYyLCAxMDMuODY5NTRdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzRkNGVmZmIyOTMxZTQ5NDU4ZGRiZTQ0MGJhZDA1NTY0ID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjI4NDc2MDAwMDAwMDAwMDEsIDEwMy44NDU4OV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfYWM3ZDI3N2IyNjliNGEzODkxNDc4ODRhMGZhOTg5ZjYgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMjgzNjUsIDEwMy44NDYzN10sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfMWE1MDI4MTFkNWEwNDIyNDhkNGNmODdiNjk2ZTc1MGQgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzEyNDEsIDEwMy44ODY4Nl0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfODExZmM4MTllODQ2NGE0ZmJmYWIzYThkZTZmOWNhZGIgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMjc3NTcsIDEwMy44NDE0MV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfZDlhMGExYTA3YTdlNDI5YTk4OGE5Nzk1YzAzMDhlNDggPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMjgyODUsIDEwMy44NDQ1XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl9iMDFlMmYyMmNhNTA0MmE5YmIyYzU0Njg1YTM1ZDAxZSA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4yODQyLCAxMDMuODQ0NDRdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2M2NmFlNTM3NDBkOTRjNmI4MTJjYmE2ODg1YzczY2FmID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjI3Njg2LCAxMDMuODQ4MzVdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzg4NjA2NGY5MjNkODRiYmQ5ZmVlZTA4MjBhYTM5MjBmID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMwNjUyMDAwMDAwMDAwMDEsIDEwMy43OTQ0OV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfM2VlYWY5ODVlMmYxNGQxMTk5MWJjYzcwYzY3OTFmMjUgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzUyOTMsIDEwMy44NzQ0OF0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfNDQ3YWVhZGMzZDJjNGY4ZGEwNTg5YzBkNzhmNDNjYzQgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzgxMTc5OTk5OTk5OTk5OSwgMTAzLjk2MjYyXSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl8zNmI2OTNjYWFlZGQ0NTRiYjUxZWJlZDNhMzgxNDIwYiA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4yODAyNywgMTAzLjg1MDcyXSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl8wZTc0ZWU3MzY3YTU0YmRjODBjN2U2NjBmMWM4YzIzNCA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4yODAyNzk5OTk5OTk5OTk5LCAxMDMuODUzMzFdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzYzYmYzNGIzMDUxMjRjMzc5YTlmYjhmYWRjNTU5ZGFlID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjI4MDM5LCAxMDMuODUyMzMwMDAwMDAwMDFdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2ZkNDVhOTU3NTQxNTRmY2M5YjdjNmRiMDNkMjBhZTMyID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMxNTQ2LCAxMDMuODU1MDhdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2VkODk4NmRmNTI2NzQyYzNhNjg4ZjZjZWU0OWFjZjMxID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjM5MDIxLCAxMDMuODU0NTJdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzM1YjBkNmVhZjRjYjRhZWRiZjcwOTkwNzIyMjBjYWQ2ID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMxNTQxLCAxMDMuODU2MDkwMDAwMDAwMDFdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2I4MDMzY2Q2OTZiYjRkMmVhMzUwYWUzNmNjZTU3MzdiID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjM1ODg3OTk5OTk5OTk5OTksIDEwMy45NjUwNl0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfYjFiOTQyNGZkZDg5NDZhNDhkMWMyYjBmOGM3YmRjMzUgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzYyNjQsIDEwMy44NzA1OF0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfMzA5YWZkNjdjNzFmNGU2MjgzZGM1ODQ4MzkxNmEzNTcgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzgxNTMsIDEwMy43NTk0NF0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfMjk2ZjVhNDYyMmQwNGM3ODlkZWNhNWY3NTJiYjc5ZjkgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzE1ODQsIDEwMy44ODE5OV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfZTM4OTc1OGE2MjNjNGVhMmI0ZjJiYzFlZTk4NjIyMzQgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzEzOTIsIDEwMy44ODM4NF0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfMGRlNDNjYTNkNzA4NDU1Yjg4MTI2YWU0YTgzNTE0ZTUgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzI3OTIsIDEwMy44NjQ0N10sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfNjUyNzNhZGYxMWI3NGU5NTkxOWJhZDk3OGZkMjI1OWIgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzE1NjcwMDAwMDAwMDAwMSwgMTAzLjg4MTg2XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl9kNTZhMWMwYTZlMzM0MmRiOTNhNGE2NWI2ZGVhYzRkZCA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMjc0NiwgMTAzLjg2NDM1OTk5OTk5OTk5XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl9hMTUzNzBiNmMzYTA0ZGE4YjllZmQ4YTRlNDA0NDRjNyA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMTIxMywgMTAzLjc5NTY5MDAwMDAwMDAxXSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl9hMTA3MjVlMmQzYjg0NjllODg2ZmYyODZlOGQwMjgwNiA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMTM0LCAxMDMuODU0MDE5OTk5OTk5OTldLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2RjOWM5OWVmZmMwNTQ5OTdiZThhMzAyYzY0ZTRkMWRkID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMwMzcsIDEwMy44NDk4OF0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfMTAxYzQ0ZmE0NDZmNGYzYmJhZTBlYWQ3MzRiOTI5YzkgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzEzMzEsIDEwMy43OTkyOV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfZGZhZDQ1ODc1YWU5NGZiOWExNzY0OWJiM2IxN2M5NjQgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzkwMTksIDEwMy44NzEzN10sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfYWM3YTgzYjhmNDczNDIzNWE1ZDdmNTM1MmVlYTc0ZmMgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzE0NDc5OTk5OTk5OTk5OSwgMTAzLjc5MzExXSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl8yMGU0NjgyOTY2OTQ0NWYyOTllYjU4MmE0ZmYzMmM1OSA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4yOTUyNSwgMTAzLjgzNzIyXSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl9kYzI5MWYxMTcxOTk0Nzk5ODE5MmFiZTkyMDMwNThiNyA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMDk4NSwgMTAzLjg3MjcxXSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl85NGVlNWNmYWJmMDA0ZmI4YTRjNTRlYTA3YTMxZGQxMyA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMTAyOCwgMTAzLjg4NjMzXSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl85ZjQwMWZhZjE2NjY0Zjc0YmE1N2ZlZTE3ODM2YzI1NyA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4yODMwNzAwMDAwMDAwMDAyLCAxMDMuODQzOTVdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2E1OTVjNDdjMGJhYjQ5NDFiNDhhNGFlNDZlNDIyNTI2ID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMxNjc5LCAxMDMuNzg1MTgwMDAwMDAwMDFdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzMxYTEwYmQ5YmYwZDQ2MjM5NWM2OTg5YzE4MzdlMGY3ID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMxNzAyLCAxMDMuODM5NjRdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2I2NDU3NTY2MjYxZjQxYmU5ZmJlMDgyZTkxYmQ2YTFmID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjM0NTg5LCAxMDMuNzQ5MDQwMDAwMDAwMDFdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzc1OThhYjYzNzE5MzQ0NmFhMGZkZjkzZTgyZDk5ZmVlID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMzOTU3MDAwMDAwMDAwMDEsIDEwMy44NDU3XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl8zZDEwMWYxNzcwZDc0MWEyODYxMjk5OGJlNmMzMTdkYyA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zNTYzMTAwMDAwMDAwMDAxLCAxMDMuODQ4ODNdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzAxNWFkNGEyNmViMTRlYTk5M2RlNmI2ODVlYmYxYTYxID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjI4MDQxLCAxMDMuODUyNDA5OTk5OTk5OTldLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzNjN2E0MjMzZjNmZTQyYjhhMjYwMWY5M2VmZGNlMjkxID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMyMTQ4LCAxMDMuODQxMDZdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzEzMTAzZDk0MWM0ZTRmMjE4MzI3MjhlOTkxNTdjZmE5ID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjI4MzM3MDAwMDAwMDAwMDEsIDEwMy44NDM2OTAwMDAwMDAwMV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfNWE1NWViMjFjMzI0NDU3Zjg4OWFkYzFkZGM4M2I4YTAgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMjk4ODg5OTk5OTk5OTk5OSwgMTAzLjg1NTY2OTk5OTk5OTk5XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl85MDgxMTZiOGFjZGE0MjU4OTcxM2QwY2RhNDhmZGE3NiA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMDMzMiwgMTAzLjkwMDU4XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl8yNTQ3YzZiMDU0YTQ0MzIyODQ1YjVkNjNiODkxZGU0YiA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4yODM2Mjk5OTk5OTk5OTk4LCAxMDMuODM5OTgwMDAwMDAwMDFdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzgyY2RkMzdhNjA0NDRmM2JiMTdlNGRkZGFjYzZlY2NjID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjI5NzcyOTk5OTk5OTk5OTgsIDEwMy44NDM0N10sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfN2FlMWZmNGY0ZjI4NDM3YTkxNzgzOGVjMGM3ZmRlOTEgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMjg0MTcsIDEwMy44NDI0OV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfYTkzNjcwNjg0YTYwNDY0Zjk3YWIyNDIxZDkwZTJlNTggPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzUzNDg5OTk5OTk5OTk5OSwgMTAzLjcwMjA0XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl80MGUxYjNiN2QzNjM0NTE2YTVlNjgxODY5NTExZDc1YiA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zNTI0OSwgMTAzLjcwMjA2XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl9mZmUwNjUyOGRlM2Y0N2NlYTc3OGNjZDMyMDk0NmMxMyA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMDIwOCwgMTAzLjkwMjA1OTk5OTk5OTk5XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl83YzQxNmU5ZWYxZGM0ZmM5YTdiMDhjNjYzMDkyMzljNSA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4yODU5OCwgMTAzLjg0OTgyXSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl8zNzY4YzY2MDAxYjg0N2RiYmZkZTY5MTBkYjA5M2EwOSA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4yODY4NCwgMTAzLjg0OTEyXSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl8xN2Y3ZGNhYmMzZmY0MThiYjcxZTFjZjEwMDFlMzk3ZSA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4yODYzMjAwMDAwMDAwMDAxLCAxMDMuODUwNV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfMjAwZDJjMDRhYTI0NGIwNzlkNTU2YThlZWFhZDcxYTEgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzUzMzIsIDEwMy43NTI1NV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfNzgyNmRiZWQwYzdmNDVkYmFhYjI5NzEzYzZkODRjNzggPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzExMzQsIDEwMy45MzcyN10sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfMDhlMTEyZDk0NTIxNGViMjhlNjI4NGY2ZjkzMzQxZGUgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzAxOTUsIDEwMy45MDI0MV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfN2Q3MjY5ZTE4N2FhNDZlZmE2ZDkzZjBiMjlkMTE5MmYgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMjgzNjIsIDEwMy44NDYwNF0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfZmRiNDQ2M2RhNGZjNGQzNGI2MTk5MzI1NTEzODQ0YmEgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuNDM4MiwgMTAzLjgyNjg1XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl84MDNhNjE4ZTExNzQ0NTZjYjI3MmM0ZjM0ZTVjMGQzYSA9IEwubWFya2VyKAogICAgICAgICAgICBbMS40MjU5MSwgMTAzLjg0OTVdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzI3ODdhMWQyZjIyODQzYTlhYTJhNjQ3NThjNGE0ODMxID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMxMTcsIDEwMy44NjAyOF0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfYjhiNTZkZmYxZTIyNDJjZjhjN2M4N2IyZGUxYjJmNDMgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzE0NzksIDEwMy44ODc4Njk5OTk5OTk5OV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfMjQxZWUyZGVjYzI0NDVlYmFlYWYxYTlkODhlYjVjYWUgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzI1NzI5OTk5OTk5OTk5OSwgMTAzLjkwODI2XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl9jYzRhMWU2NGNjZDQ0YWFmYjk1NjJhYzE2NDQ0MWE5NCA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4yODIwNywgMTAzLjc4Njk2XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl80NDhhODgwODUyYWE0MGEyYmIzZjUwMmQ4NWFkY2ZmOCA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4yOTk0Mjk5OTk5OTk5OTk5LCAxMDMuODUyNzRdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2E4YjRiNzU0YzEwNjQwNzJhZWU2YjRhZTFlYWE3NDY4ID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjM0NDQzLCAxMDMuNzM0ODVdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzcxNmUzNjczODRkYzRlNTY5NWQ1Njc3YTIzOGQyMTRhID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMzMTk0LCAxMDMuNzk0ODhdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzAxZmQzZjY4OTNhODQxMGNiMTZhN2MwMWU2MWI2MzBmID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjI5NDY0LCAxMDMuODEwNjRdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2ViNTQ5NjEzM2UyMDQ5MDc5ZDQxNGQ3MzBmNGRiMmI4ID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMxNTMsIDEwMy45MDMzMzAwMDAwMDAwMV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfYTJkZjA4NzkxZDc1NDUyZGE1Mjk1YjFmMDg1OTgzMzUgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMjgzMzcwMDAwMDAwMDAwMSwgMTAzLjc4MzU5XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl8yNTQ0NzQ3NDNkYzA0N2Q5ODIzNWE4ODNkOWM3MDQ4OSA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4yOTgxMSwgMTAzLjg1NjkxXSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl9lOTQyOTc3MWQyYmQ0NzIwODMwNDgyZjYwNDI2MWVkNiA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMzI4NCwgMTAzLjg3NzY3XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl8zMzBjMzE1YTkyYzg0YjZkODBiN2I3OGJkYWIwNDUzMCA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zNDg2NiwgMTAzLjc0NjgzXSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl8yZDRlMzBmMzJlYzA0M2EyODgzM2JmMzllMGE5MjcwOSA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zNjc4LCAxMDMuOTAyMl0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfYzIzZDY1NDg4NWM3NGUwNGEyMGVmN2Q5ZDVjNmJjOGEgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzM1MDQsIDEwMy44Njc2Ml0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfMzFiZTkyZDJhNjZkNGJlZmE4MzZmMjI3MWFkMmM5N2EgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzExMTcwMDAwMDAwMDAwMiwgMTAzLjg3MzYxXSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl85ZThjNjA5YmRkNzQ0Njk3OTBkM2Y3MzVmNmZjODI4NiA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMTE0LCAxMDMuODcyMTVdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2RlOGY2ZmM2ZGVlMjRhMzg4ZjA1Njc5ZGE2ZDc0NmYwID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMxMTY5LCAxMDMuODcyNzVdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2Q3YTNlM2MxY2M4NjQwNTliMTljMGUwODE0NmYzOWU5ID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMxMTUyOTk5OTk5OTk5OTksIDEwMy44NzIzXSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl8xNzFlNWMyMjUwOGQ0YTRiOWZkNzQ5NTE1YTJmOTY0NSA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMTAxNywgMTAzLjg3Mzk0XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl9iZGQ4NTBiYzFkM2Y0MmI5ODc5N2JmNTJkMmQzZGU1ZCA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMDk4OCwgMTAzLjg3MzQ2XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl9hNWNmMWM3NDVmZWI0NTgwYjU1YmUwOTI4ZmNhMTY5NCA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMTEwOCwgMTAzLjg3NDFdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzEzOTM5NDQxNDU5YzQ1OGQ4MzQ2ZTMxMTdkNTI4NDI2ID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjM0ODk1LCAxMDMuNzIxOTldLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzFmYWJkMGU2NjVlZTRjZTc4NDA1MzIxMTJlMjZmYmYwID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjQ0MTUyMDAwMDAwMDAwMDEsIDEwMy44MjI0Ml0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfMjViN2M5NWM4N2M1NDI1MGI3MmMxYjRhYWU4OGE2N2EgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuNDQxNjcsIDEwMy44MjQxNV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfODFiNDM3YmY0NzUwNDgwODk4MzNlNDkxNjU4YjUzNjAgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzExMDYwMDAwMDAwMDAwMSwgMTAzLjkzNjgzXSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl9jMjQ5Y2VlOGY4MzM0Zjk1ODY5ZjM2YzBlZTUyNWYzOCA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMTUyLCAxMDMuODU5MjU5OTk5OTk5OTldLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2FkNmY4ODY2NjFlYjQ1ODFhMGQwYzFjMTI1YTYxZGUwID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjM0NzYyLCAxMDMuNzkwMjldLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2FlMjg1YjZkMTcxMDRmMjY4YTBjNWE5MWNhYTIwYzIwID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjM3NDI0LCAxMDMuODQwNThdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzg0Y2Y5MmI1MjE3YjQwMDBhYmIxMmNmM2I1NTA1YTFmID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMwNDA2LCAxMDMuODMzNjRdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzZkOGEyYzAxYThjOTQ0OWQ5ZGI3YzA3ZTk2NzlhMzBhID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjI5NzAyLCAxMDMuODMwNDZdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2VmZGUyYWQ0ZmJjNzRjNDZhYjFjYmVhNTkyNTg2ZTcwID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMxNzIyLCAxMDMuODUwNjldLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzNmOTZhMTEyMzk0NjQzZGM4NmQ2ZWM3OGU1MjhlZTA4ID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjI3Mzk5LCAxMDMuODQzMzldLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2ViMDczYzNkMDY2NDRlMjM5NzE4MzE2ZmM3OTZhZjlhID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjM1MjIsIDEwMy43NTM4ODAwMDAwMDAwMV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfZDliMGE3NjA4OWU0NGRjYjlkYWI3Mzc1ZTViMWU3MzYgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMjkwMSwgMTAzLjgzOTE3XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl9mMDFkZWJlMzIwYzQ0YmFlYTVhYjdmZDRjMjQzZDExMCA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMTUyLCAxMDMuODU5MjU5OTk5OTk5OTldLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzViMzk4OTUxMTFjMDRmNTc5OTU2NjhiM2RkNDkwN2E5ID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMxNTIsIDEwMy44NTkyNTk5OTk5OTk5OV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfYjdmNDU5ZmM2YTU2NDVhOTllYjVlMTllMjEzNTdlZmYgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMjk5MzEsIDEwMy44NTA2MzAwMDAwMDAwMV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfZmI3NDIwMWIzMzU5NDE5ODg4NzFiMGJjZGQ2ZTFhMDggPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzE5MDcsIDEwMy45MDYxNl0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfOTM2Nzk1OGQxOWU5NDc1NDhhMWVmMDFkMzE0Yjg1ZTggPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzI2NTQsIDEwMy45MTI5MV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfZDEwOTgyODY1MGQ2NDZjMmI2NjA1YTVkMjVmY2Y1NzcgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzE1MiwgMTAzLjg1OTI1OTk5OTk5OTk5XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl8wMjhlNGRjNzg1ZWE0NjgzYTNhMDUyMGVkN2U5YzI2NyA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMDMyLCAxMDMuODQ3OTldLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzJlYTQyMjZjNzA2ZDQxMjc4YjIxZmNjODFiOWUzOTBmID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjI4MzkzLCAxMDMuODQzMzVdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzMxYjc5ZGVkNjAzMzQwZTg4N2U1MzZlOTMzYmM2MTA3ID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjI4NDU1LCAxMDMuODMzMTJdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2NkYzM5NzI1NjRjYjQ2MDFiZTI2OWNkZDJmODNmY2U0ID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjM3NTQ0LCAxMDMuOTU5MTldLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2M3NTRlZjg3NDg1NzQyMzA4OTE2OTU3Y2RjMDI2MWYyID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjI3OTk5LCAxMDMuODUzMTMwMDAwMDAwMDFdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzQxZjhkM2JjMTQ2NzQ3ZTk4NTkyMWYwZjNkMDJmZDdmID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjM0MTQyLCAxMDMuNzM1MjVdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzdlYTMzOWQzZDM5MTQ3NzZiZjBhOWUwNTE1ZjA3YmU1ID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjI5MTA4LCAxMDMuODMwNzddLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzVkMTY2YjZkNzM5ZDRlMmNiNTI2YzQyNTM2ZWZjNDg1ID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjQ1Mjg3LCAxMDMuNzg3MjVdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzkxMTQxYWFkMWUyMDQ5YjFiNzQ4NWQ5YmI0M2YwNmJkID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMxNjA5LCAxMDMuODU0NDRdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2NkMmQwODRjNjZhNDQxYmQ5NDZmMTJiYTZlYjZlMGI2ID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjM1ODg1LCAxMDMuODQ0MTgwMDAwMDAwMDFdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzVkNGU1ZTM0MTVhODQwM2E5MjEyNzY1ZWEzOTkzMjZiID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjM3NTc2LCAxMDMuOTAzNDldLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2JhMjgwOGVjYWFjYzQxZWY5NTE1ZmMxYWQ3ZGUyNjMxID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMxMjM1LCAxMDMuODc2ODldLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzNiZDQ5N2U4MmEwYzQwNWQ5YTFiNTg0MzA2NGVjOGNiID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMwOTk5LCAxMDMuODg1OTFdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2E3M2ZmNGI0Y2JlMzQyOWFhNDUzMzQxOGMxN2ZjYzdmID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMwNDE4LCAxMDMuODM0NDldLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzBjOTcyOTQ4ZDcwODRkZWViMTUxY2UwM2MxZDk1ZWFhID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMxOTEzLCAxMDMuODYxMDNdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2ExYWQ5ZDdmMjY1MzRiZTlhMDkwYTIxYzVjYmMyNTM1ID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjI3NTQ4LCAxMDMuODQ1MTddLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzI1OGI4YWFjZWMwNjQ1ZDM5ODU3NzNiZDU4Nzc1ZGM3ID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMxMTIzLCAxMDMuODg1MjFdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzY0YzRmMGYzM2RmMzQ4YjliNGRmZDdkYTQ5NjAyNGU0ID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjM1OTA0LCAxMDMuODQ3MzVdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzJiZWYyMGJkYmU1NTRjNjg4ZmUzNWY0NDAwZjUwOGRiID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjI4MzI5LCAxMDMuODQyNTFdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzIyMDk4NzhlODU5MTQwNzU4ZTA4MzFkNGQyYmViNmI5ID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjI3NTUxMDAwMDAwMDAwMDEsIDEwMy44NDUxNV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfNWNmZDk2NTFkYTUwNGRmOTkzZjg5NTU5OTczZWNlYjYgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMjc1MjcwMDAwMDAwMDAwMSwgMTAzLjg0NTYyXSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl84NDY0YzMxM2Y0ZmM0YmRmYTU0YTk1NjU1ZDkwNTQ2ZiA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4yNzMyMjk5OTk5OTk5OTk5LCAxMDMuODQ1NjNdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzlkMjg0MTlhZmFkYzQ2NGU4MWY4Y2RhMjczYjBkNjdjID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjM1NjMzOTk5OTk5OTk5OTksIDEwMy45Njc1XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl8wMzQwNzE4YTY3MDM0ZGRiODY5MmJhNDRiMmFiYmE2OSA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4yOTQyMjAwMDAwMDAwMDAxLCAxMDMuODI5MTFdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzExYzIzOGJkOWQ1MzRkMTc5ZDgyZWVlZDJkMWQ2M2VlID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjQyNTcxLCAxMDMuODI1OTFdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzU0MGZlMDNmMWE1YjQ4MDVhZDI3MmZkY2MyOWVjZjc0ID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMxNjAzOTk5OTk5OTk5OTksIDEwMy43ODEzNTk5OTk5OTk5OV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfZjFlZGIzNjAyZjQxNGM5NTg2YThiNWNjZDgyOGJiM2UgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMjgzMzI5OTk5OTk5OTk5OSwgMTAzLjgzMTI2OTk5OTk5OTk5XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl9hNjFiODIxZjMzNjA0OWQ3YWFiNmYwNjMzNWM1NjUxYyA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMTEyNCwgMTAzLjkzNzY0XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl8wZjU3ZjUxMjNkYzk0OTlmOGNkOWUyYjQyNDA2ZjcxZSA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4yODU4MiwgMTAzLjg0Mjc0XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl9iOGNkMjFlMzQ2ODU0MDQ3ODEyNDJlYjFhMmY0ZGNjMSA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMDQ3MSwgMTAzLjgyNTgyXSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl9jMmJmODYyZmM5NGI0YzA4YTNjMTdiNmFiZjEzZWQ5ZiA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMDM4OCwgMTAzLjgyOTg1XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl9lZDRlZjlkMGE2NGU0YTU0YjQ5NjljNThmOGU2NzI0ZCA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMzMwNSwgMTAzLjkwNjk4XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl8zNDJmMGNkNTI2ZTI0YTkyYmU2Nzc4NWYxYTViMDc1NCA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMzEyNCwgMTAzLjkwNjIxXSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl84Yzg3ZDNkYzIwZWU0MjRiOTEwODIwYjhlNWE5ODliMyA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMjEwMywgMTAzLjc2NTA0XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl85ODdkYjkzOTJjYjA0YjUyYTkzZWI3N2I3Mzk3MGQ0ZCA9IEwubWFya2VyKAogICAgICAgICAgICBbMS40MDUyOSwgMTAzLjkwMTMyXSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl80MTE0ODAxZTAyOTc0YTMxYjEzYzhmYWM3ZjkzOGEzYiA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMjA1MjAwMDAwMDAwMDAxLCAxMDMuODIyNDU5OTk5OTk5OTldLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzM0Yjc2MTdlNWZhYjQ3YjVhODQzODQ0ODM3MGU4MzVjID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjI4NDcxLCAxMDMuODQzNl0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfZjYzMTkxYTYyZGY2NGU3NWI5MzZlOGU0YmI1YzNlZmEgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMjkyMTEsIDEwMy44MDcxM10sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfNjVhMGRkMmVjZTFiNDIwZjgwYzRlM2JkY2NmYzc4OWYgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMjg3NzgsIDEwMy44NTA0N10sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfMGUyMmJmZmQxZmY3NDU0ZGE1NzcxNmIwZDRjMmM2NDcgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMjkwNDksIDEwMy44MDY2XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl9jMGI4MjI1ZmJlNjk0MDQ3OTRmYjNmNTBkNDdlZmZiMyA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zNDI2Nzk5OTk5OTk5OTk5LCAxMDMuNjk5MzFdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2NmNjg5ZTAyNzk5ZjQ2OWE5NmY1OTA1OWIzYTg5NmU4ID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjM0NzE3OTk5OTk5OTk5OTgsIDEwMy45Mjc1OF0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfZmRiZTlhNTRhNzQ0NGViYWFmODcxNjVjY2NiZWExYjQgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMjg4MiwgMTAzLjc5MjVdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2Q5MWI4MDhjOWZlZTQ3NGJiOTE3YjljMGFjNGNlMzU3ID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMxNjYsIDEwMy45MDkzMDk5OTk5OTk5OV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfYWU0ZWI1NWExOTNiNDMyYzllNjE1YTRlYTJkMjU0MjQgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzAzNjYsIDEwMy44NTA5Njk5OTk5OTk5OV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfMzBkYjM5ZWI4ODJmNDAyOTk0MDFiNjBhZjhhMWFjMGUgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzE2NSwgMTAzLjg1MTc5MDAwMDAwMDAxXSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl85ODRjYTYxZDk0MWQ0NzE5YjJiNGVhZTEwYzJlM2E0OCA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4yODY4MSwgMTAzLjc5MzMwOTk5OTk5OTk5XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl8zOTk4MzdiNTI1MjM0ZTUxYWZhYWYzNjI2ZDRlY2NjOSA9IEwubWFya2VyKAogICAgICAgICAgICBbMS40NTI1LCAxMDMuNzg5MjFdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzhlN2MwNzljMWE5ZTQxNjM5ODZiNzU0NGYzOWYxYjc2ID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjM4MDc3LCAxMDMuNzU5OTU5OTk5OTk5OTldLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2MwYzQ4NmEyMmNkMTQwZGNiN2Q1YzNhNDllMzBkOWYyID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMxNjM2LCAxMDMuODgwOV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfMTlhODI5YWZkNWFjNGExZGE1NmZkNDM4ZmZmZTg3MDMgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMjk4MzYsIDEwMy44MzUyOV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfZGU1Zjg4OTYyMzQwNDhkOGJmMWY2MDgyMzRlZDkxZGEgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzExNTI5OTk5OTk5OTk5OSwgMTAzLjg1OTg0XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl9hYTIzOWJiODBhMjQ0MjY3OWIxMTMxMjhjNzJjNGY0OCA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMjE1OCwgMTAzLjg1MzQxXSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl82OGNjNmU2NjlkZDE0YjA1YmFlMTg2YmVjYTU2ODY0YiA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMzA3NSwgMTAzLjk0MjM4XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl8wZGFiNzY0YjE0N2M0MzdhYTQyODkyNTdhOTA4ZmEwZSA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMDM2NCwgMTAzLjgzNTA3XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl82YWQyOWYwODljODU0OGNhOWRiYzg0YTZiMTAzMmRkYiA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4yNzg2MSwgMTAzLjg1MTQxOTk5OTk5OTk5XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl81MDNkZjdmZDlmYzU0MjYzODFjODc5YjIyN2QwNDdiMyA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMTE2OSwgMTAzLjg2MDMzXSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl9iMDFkMDRmZjdlMjY0OTkzOTgyMjlkNDc4NGMyMzIzNyA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4yODI5NCwgMTAzLjg0Mzg3XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl80YzI5Y2QxYzZjNDc0N2QzODRhNzQ5ZGZhYzU3NTU2NSA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4yOTI0LCAxMDMuODA2NjA5OTk5OTk5OTldLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzIwMjQ3YTQzMGY5MDRlMjlhMWFiM2FiYjk5YTU5ZmVkID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjI4MzM3MDAwMDAwMDAwMDEsIDEwMy44Mjk0Ml0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfNWM2OTRhYzg2ZDdiNDczYjhhNTcwNTc1NGJhNjhhYTYgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzEzNzQsIDEwMy44MDY3Ml0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfZDZiYzVlNjNmYTE4NDllZWI2MzUyNDQwMWExYTQwMmEgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuNDI5OTg5OTk5OTk5OTk5OSwgMTAzLjc4NTAzXSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl84MWFkMmFlMWMyOTk0NWU4OGJmMDlmMjcxODEyZjM3NSA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMTM0LCAxMDMuODc5MjldLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2JkMDUyYWFiYzYzNzRiOTFhMjJjOTI3OTQ4NTMzYWU4ID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjI3NjU1LCAxMDMuODQ1MTddLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzZiZGIyM2JiMmMwYjRiZDFhNzgzMDNlZjFjMzc0OWY0ID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjI4MDI1LCAxMDMuODIzMzddLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzVkNjcxMmFjODg4YjRiZWM5ZWRhYTNiYzM3MzhkZDgzID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMxODU0LCAxMDMuODQxMzFdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2M1N2M1NjlmZDNhNTRlNzQ5M2RiYjI5OWQ0NTlhZWJlID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjM1NzM0LCAxMDMuOTM3NzddLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2FhMjMyOTg3MzgxODQ3NmJiNzU3MWI1MDNlMmYzMTc0ID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMxNDA4LCAxMDMuODg0ODgwMDAwMDAwMDFdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzA5MDQwNDlhNWZkYjQyMzE4NmZlOWU1ZjZkMDQ1NDM3ID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMxMjksIDEwMy44NjE0Nl0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfZTMwMmY0ZGEyNWYzNDUwZTg2NzMwZTg5NTE4MzZjMWMgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzExMzIsIDEwMy44NjE1M10sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfNWYwNmRkODdiZmU4NGJhNGJjYTkwMzAzMWY1NTYyNzQgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzEyODQsIDEwMy44NjA4OV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfNmU2YmVhNjJlNzU0NDZjOGEzY2NjNzdiOTE0N2VmZTMgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzEyMzIwMDAwMDAwMDAwMiwgMTAzLjg2MTc4MDAwMDAwMDAxXSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl84YzRjODkyMjcyMTU0NzFhOWI0MGEwNDEzZDZlNWQ1YyA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4yODI3MSwgMTAzLjg0NTg2XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl85YWM4Y2JkMDQ0MTA0Y2MwYmU2YmQwODQzNDdhMjgxMSA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMTI5MiwgMTAzLjg1OTgzXSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl81MTAyYjQwYWU1ZDI0OTcwOTJmZTNiYzk2MmRlM2FkMiA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMDY1NSwgMTAzLjkwMzA3XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl9kMDhlMzFkZjYwNTI0OTU4YTQ1YTIwYTEyYjRlYTlhOCA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zNDQ0Mzk5OTk5OTk5OTk5LCAxMDMuODcxMTldLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2ZmNTgyNTJmYjNiNTQzODhhZTljYTRmYjJlOTQ1MTM2ID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjQ0MDA1LCAxMDMuODIzNzJdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzcyZDBiMzczM2M0ODRlNzJhYjIwMzRiMzJiYjkyNDM2ID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjM4OTkyOTk5OTk5OTk5OTksIDEwMy44ODAxOV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfNmFlMDdiMjZiYzVkNDA0NWI0ODZkZTRhYzM0MGRiYjAgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzExNjgsIDEwMy44ODAwMl0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfMGYxMzIwYmNhYTYwNDk1Njg5N2E2OWJmMGRlODIzZjQgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzM4NCwgMTAzLjg2NTQ2XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl8zOTE3YzQ0YzI0Mzk0NWY5OTBjNDkzMjM2ZDcxNWJiYiA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMDcyMywgMTAzLjc4NDRdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2EyMDQ5NDRmNDZmYzQ4NzM5NDJiMTE2MWQ1ZDMxNTVkID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMxMTAzLCAxMDMuODgyMTVdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzNmYWM4OTBiMWQyNDQ3OTViYjA4MDY0OTM3MzcxYzE3ID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjI4NjYsIDEwMy44NTA1MV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfYWM0MWY4MjZmOWU3NDc0MmJkOTZiMWRiZmZkYzljODggPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuNDUyNjUsIDEwMy44MjIzNF0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfNmEzMWJlNTI2ZWU0NDUyM2EzNDRiZmMxNWM5M2RhN2IgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzAzNjgsIDEwMy44MzQ2OTAwMDAwMDAwMV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfM2NlYTJkNmY3NTVlNDI3Mzk0OTg0ZGMwMjRhYzY2N2QgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzIwNzEsIDEwMy45MDg3ODAwMDAwMDAwMV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfNDFmNTRjN2UzYTczNGY3N2E0MGEzMzZiMmZmNTQ1YzQgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMjk1OCwgMTAzLjg0MDQ5XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl84YWNjNzY4NWRiMTU0NDkwODYyYWI0ODUwMzc4ZjEzOSA9IEwubWFya2VyKAogICAgICAgICAgICBbMS40MjU2MiwgMTAzLjgyNTU5XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl9iMjc4ZWY3YTNjZGM0MDVjYTIxZDAwYTU1OTVmZDYzMCA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4yODgxNiwgMTAzLjgwMzA5XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl9iYmE0MDlhMTRkN2E0MzdmYWNjNjRhYTkwNmM0MDdiMyA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4yODcyLCAxMDMuNzk0NjZdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2U1ZWU1NmQ2OWVhMTRhN2M5YzU2MzZhNTY2ZTlkM2RmID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjM2NDEyLCAxMDMuODMxNDU5OTk5OTk5OTldLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2JiMDY1MzA1MTFjYjRiMDg4OTdkNjdmOWJkMDcyZGM3ID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjM0MTQyLCAxMDMuOTU2NjVdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2RjMDY0OGQwYWY4MDQxMmRhMjk2ZDY2ZmM5NjEyMGQzID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjI3NTMyLCAxMDMuODQ1MTA5OTk5OTk5OTldLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzhjOTE4NjFlZDY1NjQwOGY4NmFlZWI3OTQ0MmJmYjBmID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMxMTI0LCAxMDMuODU5MTgwMDAwMDAwMDFdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzFhZjg4YWI4NTk0ZDQ3MDZiYjlmMzZmNDY5Y2RkNzhjID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjM5MDg1LCAxMDMuODc5MjZdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzI1YjdlNTI4Mzg4ZDQ0MWI5YzRjNTk2N2E3ZTQ0ZDBiID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjI4MzMxLCAxMDMuODQ2MjVdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzY3MjM5NGJlZTllNzQwNzBiNjJiZjBlM2I5ZTFjYmQ5ID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjI4NDMzLCAxMDMuODMxMjJdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzM0YjdkZjM0ZWYyNTQ2NWNhYjk0MGI3MjAwNWIzZTJkID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjI5OTA3MDAwMDAwMDAwMDIsIDEwMy44ODY4OTAwMDAwMDAwMV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfZmY0NGJmZTViMjM3NDNjMmI2MTg1ODYyYWIyOWNiM2IgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuNDI0NzksIDEwMy44NDUyOF0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfMDljYzVjMWRjODE1NDUzMWFkZDUzMDk0NjE2MjAzN2YgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzQ0MTEwMDAwMDAwMDAwMSwgMTAzLjg4MTE0XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl8wZjA4MDdmODc3NWY0NjJmOTc2ZjkzMzRiZGFmNTcwMiA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4yOTgwNSwgMTAzLjgzNjk4MDAwMDAwMDAxXSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl83MDIwMzE4M2I3NDA0ZjQ0OGEzYTVmNDVmY2ZiZmI0YiA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMjg1MjAwMDAwMDAwMDAxLCAxMDMuODU2MDAwMDAwMDAwMDFdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzljYjgwYTBiYmMwNDQ3YmViYTcxY2NhNWU3OTJhYzc2ID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjI5ODY2LCAxMDMuODkwMzY5OTk5OTk5OTldLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzQ2MDJiOWYwNmYyZTRiZWRiMTUzNzQ0NmMyYjlmZTUyID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjI4NjcyLCAxMDMuODQ4MzFdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzc0OTY1MmY0MDhkMDQ3ZDRiZjU1OTU5NTdmZmFmY2EyID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjI5ODU1LCAxMDMuNzY2NDhdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2IwNWNlNjg4Mzg5MzQ3Y2RiNTA3MzZjODBhMDY3NDkzID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjI5NzIxLCAxMDMuODM5NDZdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzllMzNiMTMyNTMzNTQ3ZjRiYmY5MTkxYjU4YTE2YWVhID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjI4NDY0LCAxMDMuODQ2MjldLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzQ2NTYxMzVlYWQyMDRhN2ViZDc2ZDU1OTFkMTVhZDc4ID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMwNTg0LCAxMDMuODQ5ODU5OTk5OTk5OTldLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzEyNjI2MWJlMjYxNzQzMTc4YjAzZGQ2NGZiMzA0Mjg5ID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMzMTE0LCAxMDMuODQzNjkwMDAwMDAwMDFdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzE4ZjZjNDNhNjFjMDRlYWJhMzhkNzMyNWUzY2U1Zjk5ID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjI5MTcxMDAwMDAwMDAwMDEsIDEwMy44MDc3OV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfNmU3MTY1OWY0ZjVkNDA0NTg0OWJlYWM0N2ZkMTFlZGIgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzE4MiwgMTAzLjgzOTA0XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl8xNTNkYjBlMjRlZGY0NDI1ODc2NDIzMDZhMmNiN2MzZCA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMDkxODk5OTk5OTk5OTk5LCAxMDMuODI3MDE5OTk5OTk5OTldLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2U1OTNmNTZmYzRlZTQxNzc4ZTgxZmNjNDA0MjY3YWUzID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjI5NDgsIDEwMy44Mzg4XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl8xZDBmMjM5ZWQzZWU0MjBhYWVhMjc4MmU5ZmQ3MjFkNiA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4yOTk2MSwgMTAzLjg1MjU3XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl9kODhjYjZiN2MxOWU0YzFiYjJmNjhlYTgxMzdkZWNiNSA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMjY1NiwgMTAzLjg2Mjc1XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl80ZGE4ZDEyMzg0NjM0ZmNjOTU3ODZmYTM1NTcyMGE1YyA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zNTUzNCwgMTAzLjg2Njc5MDAwMDAwMDAxXSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl9jZmVkYTU0ODEzZTg0NGRkOTJjZjg3OGUxNDBmMzZmMiA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zNzU1ODk5OTk5OTk5OTk5LCAxMDMuODU0NTJdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzRkMDg3YmQ5YmI3YTRhZTE4ZjU4MWQ2ZDNiYWRiMGRjID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMwMzEzLCAxMDMuOTA5NDldLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2RiMjc1NzdjNDQ3ODQ3NTNhZjYzN2U2MDZkYjljZDgzID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjQ0MTIzLCAxMDMuODIyMjQwMDAwMDAwMDFdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2M1Y2FkZDNmNGI0MjRmZDY5NTdhZDU1MTg5YTVhMTI1ID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMwOTg2LCAxMDMuOTMzNDVdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzEzMWI3YzgxYjk1ODQyZmE5ZjJlNGMzN2Y3Y2EzYzNlID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMwNjMxLCAxMDMuODQ4MV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfMjY5OWVhOGIzODI4NDAzZWEyZDFhYzY0MTMwYTNkZWUgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzIyODMsIDEwMy44NTIzNF0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfNGM0NWZhOGM4ODBlNDJkZmIwNGM3YTlmYTI5ZmMzZmMgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzI1NTQsIDEwMy44NDg2OF0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfMmY2YWE3NTViNDY1NDg0Zjk0ZDY0ZmY5MzczNDUzNTUgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMjk2NDMsIDEwMy44NTE3OF0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfODIwZjdkMGQwODBiNDc2NGEyNjc3N2JlNTVlY2I3MzMgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMjk1NzksIDEwMy44NDAxNF0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfMTYyNjAyMGMyMWZjNDA1YmE1MDAxMTNmZTM2M2ZmZjIgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzA1OTIsIDEwMy45MjUxNV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfMTMxNWNjYzUyMGFlNGYwOTg4NTgxZDA1MGM4MGI2NmMgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMjg1OTIwMDAwMDAwMDAwMiwgMTAzLjgyODEzXSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl9hNmFlMjkxNGNkZWQ0Y2NiOTM3YmQ3Y2I0NjkwMDk4NCA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMTMxMSwgMTAzLjg4NzEwOTk5OTk5OTk5XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl83NGQ4MzdkNzdjMGY0ZDFkOGQ2NTc1YWIzNzU3MjQwNyA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMjI2LCAxMDMuOTEyOThdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2VjMTI0NDhkNjFlNzQ1MTNhODMzNDE3MzY0ZGJjNWU1ID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjM2MTU4LCAxMDMuODg0MDRdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2JiNzY1YWNlNTA5NDRjNTBiMTA2ZDhmMTY4NzllN2VmID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMxNzIyLCAxMDMuODg3NTRdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzJlYmY5YmVmNzY5NTQ5ODdhODAwMTVmNzdmNzBiMWUyID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMxMTY5LCAxMDMuODg0NThdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzc1Y2M0YjlhZTI1MDRkNzdiNDhmZjMyNjY3YmQ4MjU4ID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMyNzcsIDEwMy44NjUxMV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfYjVlZDllMzIzMTVhNDliZDhiZTMyNGE2MmU3ZGUwMTYgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMjg4Nzg5OTk5OTk5OTk5OSwgMTAzLjg0MDE0XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl8xNDU4OTk0ZTM3Zjg0YzExOTI0YmIwNjdlYTNlNjM0YyA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMTYzOSwgMTAzLjg4Mzg1XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl80MDhjMzI0ODQyNjQ0YzFmOWYxM2Y4MWI0NmZhMGU4MCA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMTM5OCwgMTAzLjkwNDkxXSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl85MjQ3YzY1MDY1YjA0YzBmYTlkOWI3MjM1YTJhNDA1MiA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4yOTU1OCwgMTAzLjgzNTVdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzJhYTEzYWFjOGJkOTRiZjVhMDRkMDMxYjk2NGZkNzAzID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjI5OTIyOTk5OTk5OTk5OTksIDEwMy44MzA5ODAwMDAwMDAwMV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfMDA0Y2UwZWFkMWNkNGNjYWIyNDVmNmUwZTgxN2M4YjkgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMjk5NDI5OTk5OTk5OTk5OSwgMTAzLjg1MTc3XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl84Yzg3NDNlN2VhZGI0M2Q1YjNkYzVlOTU5ZTE2Y2YyNSA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zNzM1OCwgMTAzLjg3NzM3XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl9kNTE1ZGM3ZWVmNzI0MjA1YTM5ZTI5NDM4NzIwNWViZSA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4yODA3MywgMTAzLjg0MDg1XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl80ZWZmODA0ZmI2YWM0YjEyODU4NzhmMTVhZTg4YTJiNCA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4yOTg1OSwgMTAzLjgzOTQ1XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl9lZjcxNjliNWY1YmQ0Y2YwYTc0MDUxZThmOGM5NTQwZSA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4yODE4NiwgMTAzLjg1MjJdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzI5YzI2ZWRiYzlhMzQyMGNhZTdjYzIzNTQ2YWM1ZWExID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjI5NjcxLCAxMDMuODQwNF0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfYjZhMDc2MjcwOWQyNGE5OGJiMTNlNzVhNzkwODU0MzcgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMjg0LCAxMDMuODQzNDZdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzJhZWQwYjk2MjM2MDQwM2M5ZGNlNjc5ZmFhMDYxMzU2ID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjQzMzYsIDEwMy43NzUwMV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfMzMzZDllZmE3MmY5NDZlMmEyNmFjYzAyZTRjY2EwY2UgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMjk5MzksIDEwMy44NTI4NF0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfMzA0NTlhYTkxNTU4NDQ5ZWE4NmY2MGM2NDUxNjViZjQgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzEwNTcsIDEwMy44NjA4MV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfNmM2NTdiZmYzOTdmNDM2ODkzYjY3YzNlNDIxYTk5ZDAgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMjk3NjIsIDEwMy44NDE3NF0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfNGZlZGYzMzY3ZWE5NGMwMmE5YzI3Zjg2ZjBjMjU4NDcgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzczNDIsIDEwMy45NDA2OF0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfNTQyNDlmZmUzNzgxNDYyYTkwMTczMDMwZjNiNjlkNjIgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzAyMjEsIDEwMy44NDYyM10sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfNzAzMTcwOTJkMDU1NDQxZjhlYWViZDBiMWUwMTYxODggPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMjk5NDI5OTk5OTk5OTk5OSwgMTAzLjg1Mjc0XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl85NmRmYzQ2OTI2ZDE0N2YwOTE2ZDMxMmRkZDc4Y2E3YiA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4yOTkxNCwgMTAzLjg1MjA0XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl8wY2MwMzQ4NDkyMGY0YWIxYTYzMDM2NzMwNDYxNmRkMCA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zNzMxNSwgMTAzLjk1OTZdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzNlMzZjODgwMzQ4ODRhYTA4ZTVkZDFjZTE5ZGIxNTRmID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMwMDgsIDEwMy45MDA3NF0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfOTRkZjA0YWY0YzljNDkzOTk2OGU3MjIyYjliNjAzNmIgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMjgwMiwgMTAzLjg0MDU1XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl80ZmUxOWEzOTUxZjg0M2IwOTg2NmJlMDExOTA1OTU1NCA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4yNzc4Mzk5OTk5OTk5OTk5LCAxMDMuODQ0ODddLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2QwNzYwOWFmZDI2NTRkMDA4ZjA4MjUwMDYzMzdjYmI2ID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMwODUxLCAxMDMuODMxNDddLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzU2NjFkZDE2NGVlODRkNDVhZGZkMzU0NjU5NzQ0MzMxID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjM1NjczLCAxMDMuNzUxNjQwMDAwMDAwMDFdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2YwMGUzMjBhZTUzNjQzMzRhY2Y3Y2MxNmI4MTJkN2JlID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMyODk3OTk5OTk5OTk5OTgsIDEwMy44NTM1MTk5OTk5OTk5OV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfZTU3YWVmNWUwNmVhNGIyYWI3NTE4ZTBmZjdmYTUyYTcgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzk5NzcwMDAwMDAwMDAwMiwgMTAzLjg5NzYzXSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl80NjkwZDVjMzU4Nzg0ZjRkOWMzZGQ3ZTA4NTE4YWQ1ZiA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMTUzLCAxMDMuODg4MDldLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzZhODk2ZjI2MDNhMjQzZTM4NDExY2I5NDdhOWYyMDJiID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjI5OTg5LCAxMDMuODUwNjMwMDAwMDAwMDFdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2FjZDEwMjg4ZjAyMDRmNDZhZWY0MGYxMWUzMWFjODliID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjI4MDQzLCAxMDMuNzgyODZdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzAyOGMzOTVkZTJiZDRkMGFhZTMwNjAyMGRhZDNlN2NjID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjI5NDIzLCAxMDMuODQxNDFdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzYzMzM4ZWZjZGVhMzQ5NTQ4ZTM1YjJjZDFmOTU5Y2Q2ID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjI0MzkxLCAxMDMuODM5MTVdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzNlYjE4YTlkMGJhMzRhZTVhMjE3NTg0MDY1Y2Q4ODgzID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjI3NTU3LCAxMDMuODQ1NDMwMDAwMDAwMDFdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzhiZjY2MWY0MDljYjQ2Mjg5ZGI5YWJjMDhlMTcxYzg3ID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMwMTIsIDEwMy45MDQ4MV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfMGMxMzU4NGRlOTk2NDFiNmJmYjk3ZDM5Y2IyYTQ0MjEgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzE0MzEsIDEwMy44ODY2OV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfZjgwMWY0NDlhYjI1NGEyMGI0Zjg5Nzk5MTdhODFkNjYgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzAwOTYwMDAwMDAwMDAwMSwgMTAzLjgzNzY2OTk5OTk5OTk5XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl9iMTUyYmMxMjk5NjI0ODNiYWI0ZjJkNGYxNWUwNDEyYSA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMzIwMjk5OTk5OTk5OTk4LCAxMDMuNzk1MDddLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzJiY2Y2YTA4MjVkYTQ5YjZiYWViZTMyOWExM2Y0NDU3ID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMyMDg1LCAxMDMuOTEyMDRdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzNiNDVjOThmOGE2YTQyNDQ5OGQyMDA4Yzc4YmZkODg4ID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMxMDk1LCAxMDMuOTMyODddLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzYwOGJjZGVhZTc0NDQ3MmM4ZmVhMDhmYjJlODM0YTI4ID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjM1MzgyLCAxMDMuODY3ODRdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2I1ODhhMGQ0MjlhMzQ0ODg4MjI1NTQ0Y2E4MDE1NmQ5ID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMxNTIsIDEwMy44NTkyNTk5OTk5OTk5OV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfNTYxZjY1MDhkMDgyNGE4ZWIxYzAwMDIyYTBjYzc0YTEgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMjg0MzIwMDAwMDAwMDAwMSwgMTAzLjg0MTk2OTk5OTk5OTk5XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl8xZTQ5YjI0ZWMyYzU0YWJhYmQ3YzUyODU0YjBjNWQ1NCA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4yOTI1OSwgMTAzLjgzMDU1OTk5OTk5OTk5XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl8wZDRmYjE0OTU0ZTM0MWI1OGYzMzkyOGM2Y2RkNzE5OSA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMzA0MjAwMDAwMDAwMDAyLCAxMDMuOTA1NjVdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2NiZTA5MzcwMjYwODQ0NWY4Yjg2ZjdkM2U4ZTMzMmQ0ID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjI4ODY3OTk5OTk5OTk5OTgsIDEwMy44NDcwNF0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfMjg2ZTU5MjRiYjI5NDc2YmI2MmM3NTNlYzE5Mjc5MGIgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzkzNzQsIDEwMy45MjY2N10sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfYTc4MjBhNTU2OTMwNGFkNWFiZWZlYWFjMjU5ZWVjMjYgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzE2ODMsIDEwMy44NTg4OV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfZDU3ZTM5YTE3NzIwNDNhNTljMmQwYTMyYjkxYjBjYzUgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzEwNywgMTAzLjg4MTc4XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl9iNzJlNjFhMzkzZmI0OWZhYjQyZTg2MzU0YWVlNWZjMSA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMzkwOSwgMTAzLjc3ODE2OTk5OTk5OTk5XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl9lYzM5NjUyNmQ4MDQ0MjI5YWY3YzA1N2MzYTEyOTIwNyA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4yOTM4MywgMTAzLjgzOTY0XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl9lNWI3YWEyNmQ1OWM0MTE4ODUyZGRlOTVmOTQyOWVmMiA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMTY0MjAwMDAwMDAwMDAxLCAxMDMuODU3MzQwMDAwMDAwMDFdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2FhMTkyNDJkNGVjNjQ3MGI5MjNhODY1N2NiMTM4ZWQ4ID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMwMjY0LCAxMDMuODUxMjddLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2EyODhjNjQyNmM1MTQ1ZjI4NjlmZTM3MjlkY2JhZDYwID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMyNzQyOTk5OTk5OTk5OTksIDEwMy44NDI1OV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfYTMzYTIyZDhmMzM3NGQyODg3MzViMmQ4NWQ1ODNjNzAgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMjk2NDUsIDEwMy44MzU3XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl9mMDM0OGY0MDM4NGI0M2FkOTI4NzdmNmVjMmE0OTM4NCA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4yODI5NiwgMTAzLjg0Mzg0XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl9iYTgwM2UwMTNmNTk0MDY3YmQ2NzI0MzgyZjFkNzM1NSA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMzUxNCwgMTAzLjg3NjIxOTk5OTk5OTk5XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl9iM2NiNWE3MmE3ZmU0Y2NjYjFkMTBhZDNhYmY1MDA3YSA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4yNzcyOSwgMTAzLjc5MTIyXSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl9hYmYwOWM2MDJiMGM0NDdmOGIxOGZjNTJhOGVmNTgzOCA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4yOTQ0NiwgMTAzLjgyNTcxOTk5OTk5OTk5XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl9hMzliNjdlOTBmOWQ0YmFmYWQ0MTQwODQ4NDc5MDI0NyA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMDc5NywgMTAzLjkyNDA0XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl8yMThiNGJmN2E2YTk0NmFmODcwZGU4MDAzMDZkZGRjMCA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4yOTg3MywgMTAzLjc2Mzg0XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl8xMDRiNWE4MDg4NzU0NTUyYTg3NTlmN2RmZjFhMmM1OCA9IEwubWFya2VyKAogICAgICAgICAgICBbMS40NDM0NywgMTAzLjgwMDgxXSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl80ZTUyMDZmZTNmNTE0MzI2ODIwOWJjMjg4Mzg4ZDU0YyA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zNDMwMSwgMTAzLjg0MTExOTk5OTk5OTk5XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl9kZjhmOTJhYjkxNzA0MGI3OWZlODFhYzljYmFlMDJkMCA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMTA0OSwgMTAzLjkxMzkxOTk5OTk5OTk5XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl9hYzQyNWY4ODQxYzU0NjhkOTEyNTllM2I2ODdhNTdkYyA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMjYyMjAwMDAwMDAwMDAyLCAxMDMuODU0NDMwMDAwMDAwMDFdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzI3ZDRkOTgwYmE3ZTQ0NjM5ZTFhODk0MTdjMTZhY2JkID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMyODM5LCAxMDMuODY0ODVdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzQzNjZmZWE5ZjFkNzQ0ODM5ZWNmZDNjNTNkZGFhODA0ID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMyNTQ1LCAxMDMuODUzMTFdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzVkNzFkZDY4M2I5NjRlZGJiZTM3YzJkNTRjMjAzNmJlID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMxNTc1LCAxMDMuODI4NzldLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2VmZjU1Zjk1NmE1ZjRlY2Y4Nzk1MWI3MWQyMmVkZGM2ID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMxMTM3MDAwMDAwMDAwMDEsIDEwMy44ODIwOV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfNjU2NWI0NDcyYjFkNDZjYmFiOTA1YzA0NWIyYmU2ZDggPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMjk5MDMsIDEwMy43NjcyOF0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfNjM2ZmNhZTM0NGEyNDFhODhjNmI3ODllOTExZjhjZjUgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMjk1MjI5OTk5OTk5OTk5OSwgMTAzLjg5MDRdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2UwNDNlNTkwZmRkMzRmMDE4NzYzZmQ3ZThjOGU4NjczID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjQ0NDk1LCAxMDMuODIyNzldLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2Q2OGIyYTdhMTI4YjQ5OTFiNTI3YzZiMTkzODg5MjhkID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjQ0NTAzOTk5OTk5OTk5OTksIDEwMy44MjM0M10sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfNzc1YjU5MmExZjUzNGNkNjgxMzY2M2QxYzBmOWY2NmUgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuNDQ0NjYsIDEwMy44MjI5OV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfOWU5NDEyOGZiMDJjNDAzZmEzMDdjOGMzYTY4YzNiZjIgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuNDQ0MzcwMDAwMDAwMDAwMiwgMTAzLjgyMzU1XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl9kNDBjOGZlZmIzMzA0Zjk0YTg1YzIzYWQyYjljNDA5OSA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zNjU4Mjk5OTk5OTk5OTk5LCAxMDMuODI5MDddLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzlmNTFmNGQ2ZDBlZDQ0NjNhMzgxYWVhYjNmMmViNjQ5ID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMzNjEyOTk5OTk5OTk5OTgsIDEwMy44NDQwNl0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfNGNhMDcwMzY1NTgxNGJkZTgzNzQ4ZjMzNzAxYzA4N2MgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzA5NDQsIDEwMy45MDU3Njk5OTk5OTk5OV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfODc3N2Y1ZTAzNTFmNDhlNjkzNzg2NzM4OWMyNTUxMDIgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMjg0MzIwMDAwMDAwMDAwMSwgMTAzLjg0MDQ5XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl80ODE2NzhiYzRhNjA0YjVhYWFhNTM0NWQ2YzA5Y2M2NSA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zNTAzOSwgMTAzLjc0MjIxXSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl8wZTgxZWViNWY3Mzg0OGE2ODEzNGVkYmYxNzNhYWQ0MCA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMzIxLCAxMDMuODc1MzVdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2IzNzg0MGQ4YzZjMzQ5MzY5ZDgwZWI3MWU5ZjI4MmYxID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMyMjcxLCAxMDMuODUzMTZdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzIxOGQ3NTA4YzZmODRiZGE4ZmM0NzQ0MjI4MzE2YmViID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMyMzAyLCAxMDMuODUzMV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfNWY0NGQ1MTI2Y2Y4NDZhMDljZTQwMWI2ODg5NjhjYjQgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzIyOTYwMDAwMDAwMDAwMSwgMTAzLjg1MjA0XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl81Yjk0NTE4ZTcwMDg0Y2E5OTUyNjRiMDZjZTU4YzBmOSA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMjMzNSwgMTAzLjg1Mjg5XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl8xMWEwMzY0ZGIyYjU0ZmU2YjMzZDM3YjI0NzljNGFmOSA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMzcxNywgMTAzLjcyMzcxXSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl9iNmVlZGNjZGU5Mzc0MGY2ODNjYTExZDhlMjI1MDYxYiA9IEwubWFya2VyKAogICAgICAgICAgICBbMS40Mjk1LCAxMDMuNzg2NjNdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzlkNTNlNjQ3YTQ4ODQxN2RiMjBmNTk1MTA2MTQxMTcyID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMyMTk2LCAxMDMuODUzMjVdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzdjOGY0YmM2ODJmNDRlMGY5ODVlYzY3NTJlMGI0ODg3ID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMwMzQ5LCAxMDMuODQ4ODFdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2UxYzY1ZjVlZDU5OTQyOGFhNTdjNWFhMDQ2YzdlMjdlID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMyMzIyLCAxMDMuODUxNThdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzI1Yjc4NWFhNGNmNjQxOWJhZTkxNzNiMTBhNWEyN2Y5ID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMxNTI1LCAxMDMuODg3NDRdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzgxYzNlZjQ1NDcxMzQ4NGJiNmNiZjZlMzg2OGZlZjMyID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjI3OTk2LCAxMDMuODUyMDldLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzI5ZGJkNDRmYmEzMDQ1Y2FhNDQ2Zjg0ODVkOTcxZDgyID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMyMjU1LCAxMDMuODU1MzVdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2M5MjY4YzBmNGE2YTQzNDU4NWU3OTE2MjMwMTM5NTlkID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMyMjgsIDEwMy44NTA5Ml0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfYjU3M2Y2ODdmMTMwNGMxZjgzYThkYmY4MmVkZGZiM2MgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzI0MiwgMTAzLjg1MTk3XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl9kYTE0OWQyZGFiNzI0NjlhYmYzZDhiYTliZTE4NTYyYiA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMjM0MSwgMTAzLjg1MzU2XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl80ODUwNmY4ZGVjZjE0ZDViYjhjMzY0MTRlNmFjMGU5MyA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMDM3LCAxMDMuODM0OTldLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2QxZDdjNDUwNzhmNTRiZDlhYjk5NjE1YjFhN2E2YjQwID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjM0NjYsIDEwMy43NTE1NF0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfY2M5NTM4ZDg3ZjlmNDE0N2FkYjRlMjRlZWM2MjBkOTYgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzQ2NDEsIDEwMy43NzMwMV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfODViYmE0MmE2M2QzNGU5ZWE0YjQ3ODlmNzQxNWRhODQgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzIzODgsIDEwMy45MjU3Nl0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfNDMyMmI5OWI2MGE0NDk2ZjkwOTNiY2M0NzUzMzBiMGEgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzA1NywgMTAzLjgzMzA2OTk5OTk5OTk5XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl84NmYwNDhkMTY4MTk0M2M3OGRlN2IzZjZmNTM3MWFkMCA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMjMxOCwgMTAzLjg1MzEzMDAwMDAwMDAxXSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl8yMWRjNjcwZTRhYzM0MTBhOTZmM2VkZjY2OTFlMWEyZCA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMjI5LCAxMDMuODUzNjRdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzU0ZmY2ZWQxY2JlMDQ4NzdhMjI1ZDY4YWMwOTAzODVkID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMwMDgzLCAxMDMuODUyMDJdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2I3YjE5MDE0YjQyNDRlNDhhNDQzZWI3YjJkMjQ0MjYwID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMyNDI5LCAxMDMuOTM1OTJdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2E1ZmEwNDEzMDE2YjQ1MTc4MjU2MzQwMzg1YzlkY2ZlID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjI5NTU4LCAxMDMuODI2NjVdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzkwMjk0YzdkNTQyODQyMzU5MWMzMGMxNGU5OGUwN2ExID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjI5MzA2LCAxMDMuODE0NjgwMDAwMDAwMDFdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2YyZDVkMWExYmM1ODQ3NmU4NWM1NGQyZTNkMmRmMDJhID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjM1Njk2LCAxMDMuNzU4ODRdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzhjMjc4NTNiODIwNzRjN2Q4ZWZiMjYzM2NlZWRhNzA2ID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMwMTE0LCAxMDMuODUzNzhdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzEyNjZkMDEyZDY3ZDQxYTU4NTdmYzU4ZDI1YzIxOGMxID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjM3ODExLCAxMDMuNzM4NzhdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2JhYWQyYTY0M2IzNDQ1ZWU4NTgxYzBmMTE4NzU1MmQwID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMxMTI0LCAxMDMuOTEwMTZdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzYyNWZkZDljOGE1NzRmNWQ5MjdhOGJhMTYxMThjODQyID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjM1MTc1LCAxMDMuNjk2MTU5OTk5OTk5OTldLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzljOTRmMmY0N2NjZjRkMGU5YThmMDQ5NWFjNjg3YmVjID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMyMDg5LCAxMDMuODY0MzddLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2MwZDI0OWVhYzJlOTQ4YmE4Y2Q2MGY2MjZlNjJmNmRmID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjM3ODgzLCAxMDMuOTU5MTVdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2Q2NmQ2YTNkMjc3MzRhOGFiNzIwMjMwZmM5M2Q5OGQyID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMyNDA1LCAxMDMuODUyNTZdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzIyZDkzMzdkNGMxMjQ0NWI4NzY2NDdhZTEyMDBiYmUyID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMxNDIsIDEwMy44NDI5N10sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfYTVhOWRiNWFiNGFkNGZkNTg1MDdjYzY3NjM4MGEzYjkgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuNDI4NTUsIDEwMy43OTM1OTAwMDAwMDAwMV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfODBhNmExOWFjNTUwNGNkOTgwMDgxNGU4YWYxYTJjOTEgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzAyNDc5OTk5OTk5OTk5OSwgMTAzLjgwMDI3XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl82MDg4NjExYjViYjg0MWExODI2NGNhY2I4OWU3YWZiMCA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4yOTkxNCwgMTAzLjg0MDA5XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl85NTIyMGEwMjlhZDI0ZDliYjE0YWIwYjcwOGIyNzZkZSA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zNTA1LCAxMDMuNzU1MDY5OTk5OTk5OTldLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzUyMGIwZTQ5Y2M2NzRmOThiNDlkMDA5NTJiZWM1MjYyID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMwNjA2LCAxMDMuOTEzMzRdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzVkMWQ1MzFlODlkNDRhMGRhNjI1MmEyZTYzZTdjMTYzID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMxNjM2LCAxMDMuODU5MTldLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzQ3NmY1ZmFkNTA3YTRkYmFiYWIyZDM0ZTYwZDA1YzczID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMwMTAyLCAxMDMuODYxMDhdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzRlZTdhYjUxNWQ2YzQ2ODQ4MmEyZGRhYjAyNmZiOTA3ID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjM0Njk3LCAxMDMuNzIyMTE5OTk5OTk5OTldLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2FjM2I5MGM2ZDJjNTRmYTZhNGM0N2JkYjEzNjcwNDE1ID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjI5ODk1LCAxMDMuODM4MjRdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzhmNzU3MGE1YjAyZDQ0YjZhZGJkNDdmNTViODQzNWRmID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjI5NDk3MDAwMDAwMDAwMDIsIDEwMy44MzgyMzAwMDAwMDAwMV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfZmYwOWUxMTBlMjZiNDJkZDg5NTc4MDYxYmYyMGU0YWYgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMjk2MjksIDEwMy44MzgxNl0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfNmQxYWQwMTBlN2EzNGU5YWEyMDQ5NDliZWIxMzhiOTkgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMjgzNDgsIDEwMy44NDEzNV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfNTBmNTQ0YWJkM2JkNDJiZDg0ZDVlODk5OTBhNjJlOWQgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMjk5OSwgMTAzLjc2NTUyXSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl9mNTdlMDM0MGRkYjA0NzMwOTRhMmUwZmY2YzRjMjA0NiA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zNTEzNjAwMDAwMDAwMDAxLCAxMDMuNjk2NDldLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzRjOWZkZjgyZjRmNjRmNzU5YTUzOGE1YzNhNDM4OWFkID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMwNTQ2LCAxMDMuODM1MTRdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzEwNjIxZWY3ZmYxNzRmNTY4Yzc1NDgzMjA1NTcwYzdhID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMwMzI1LCAxMDMuODMzNTddLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2VmNjhkZDEwMzhjZjQ2YzM4ZWU5NzgwMmViNzk3YjFiID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMwNDk2MDAwMDAwMDAwMDEsIDEwMy44MzMxNV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfNDc2NDhkODJhOTI4NDlkM2JmZjdmYmQ3NzU5MjEzYzEgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzA0MTksIDEwMy44MzQyNl0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfOTZjYmFkMDlhYTZiNDE3Y2JkYWMzOWIyMTk5Njk1ZGUgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzAzNDI5OTk5OTk5OTk5OSwgMTAzLjgzMzE4XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl8yM2IxODAwZDA1NGM0NjllYWNiMzM4MWVlODhjYTk0ZCA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMDU2Mjk5OTk5OTk5OTk4LCAxMDMuODM0OTFdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzFkY2M5MmFlOWQwMTQ0NTM5OWIzMDljOWY4NWRiYjJmID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMyODk2MDAwMDAwMDAwMDEsIDEwMy44NDE3OF0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfZGY4NmIxYzRjN2MxNGU4ODlkZjIwM2ZmODIwYTJlZmMgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzA5NTUsIDEwMy45MDAzMV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfZjE1ZWNhYzM4YjU4NGYwYWEzOGZhYWUxZWQ4ZGFkNjMgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzA1MzQsIDEwMy44MzU5XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl80MDJjYmVmZTE4ODg0NzUwYjg0MDlkYjFmY2ZkMjcxMCA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zNTIyMTAwMDAwMDAwMDAxLCAxMDMuODUxNDgwMDAwMDAwMDFdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2RmZjE5ZGE2YThkNjRjNzA4MTY4NGM2ODk3ZDFlOTRmID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjI5MjQxLCAxMDMuODI3NzkwMDAwMDAwMDFdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzYwMjc5MTQyNjA4ZTRjYTc5ZGJkOGRhODFjNzk0ZmQ0ID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjI4MTE2LCAxMDMuODUxNjldLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzViMTViOTIxOWRjZTQwOWI5OTVlMjQ0ODk0NWU5ZDFlID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMyOTc4LCAxMDMuOTA1MzZdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzMzMjFhYjEyOTc5MTRlYjg5OGZhMjJmMzQzOWI3NTgzID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMwNTQyLCAxMDMuODM4OV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfYjJmMGUwNDMyM2RkNDdmNGEyNmMxYzIxMmRlMmRiYjMgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzEwMywgMTAzLjkxMzI1XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl81MWY4ZTBmMzE2YTE0ODk1ODNmZGVlYjlmY2M5NjM3MyA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMTE2MSwgMTAzLjkxMTM5XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl8xNWU5NDJmNGJjYjM0ZjAyOTYwNzcyOTY3NzVhYjViMSA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMjMwNywgMTAzLjg0MTExXSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl9kZDkzYmI3MTkyMjM0NGE0YjUzOTU3OTRlNjMwYmYwMyA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMDYzLCAxMDMuOTAyOTRdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzI2ZTY4NmIyM2U2ZDRlNjM5Yzc3ZjBmMWI4Y2VlNmM2ID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMyNzY5LCAxMDMuODExMDRdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzUyNDEwZjA0MmE5MTRhZjc4ZmEzMWE5YTVlODllMTUxID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMwMjIxLCAxMDMuODUxMDldLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2MyYjQxMTU1N2IzNTQyNjM4YWM4YzA5NTlhOTNjNWMzID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjM0MjYzLCAxMDMuODM3NjhdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2JlZTE2YWUwYTFiMjQxMWViY2NkNjVkYTI2MDEzMDRkID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMzNzEsIDEwMy43NzQzMV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfNWVlZDRhN2NhNmFjNDRmY2FjZjE2NGFiZGIzNGUzYzcgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzI1MjgsIDEwMy45MTUzXSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl9kZjQxNmY4YmYzMTk0NzIyOWZiNzU2MmY0MTdiNWI1NiA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4yOTA5NCwgMTAzLjgzNjY1XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl8xNDI4MzRmZDg0ODM0NWI4YTUwZWE3OGUyZTg3MjJhYyA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4yOTUxLCAxMDMuODM4NjMwMDAwMDAwMDFdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzQwOGNjZmZmYmI2MjRmZDNhMDk4ZDljYzM0YjRiOWVmID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMyNTEzLCAxMDMuOTE0NjNdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzkzN2U3MzY3YjIxOTRmNTVhM2I1N2YxZjBmZjZkZWIxID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMyNTUxLCAxMDMuOTE2MzJdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzVmZDBhOTI5ZTc3ZDQ5Mjk5MGE5NDQ0YTRkMDBlYTBlID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjI5NjEyMDAwMDAwMDAwMDIsIDEwMy44Mzg3NF0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfZWUxYWJhZmIwMGI5NGI1ZTk5NmQxMDliMDk1YmFlZjEgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzI3NjEsIDEwMy45MTE4XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl9iOTYwNDI0YzkwODI0ZTUzODZiOTQ2ODZmZDhhMTJmYiA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4yODk2NiwgMTAzLjgwNTAzXSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl8zODFlOTcxYmZiZWE0YjczYTU3Y2Q3ZGQyMGU0NTcwMCA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4yOTUsIDEwMy44MzgyNV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfOGMyZTQwMDE2YjEwNDU5MWE4N2JmYzAzNGY2ZGY0MDYgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMjg5OTEwMDAwMDAwMDAwMSwgMTAzLjgzMDhdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzNmYjk4MzhjOGIwYTQyMzc4MWNjODMyOTQxZjE0MzliID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMyNjgzLCAxMDMuODQ2OTddLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2I4MzkxNWVhOTFlOTQ5OGE4OGFlZDdkZmJiZTAzOTBlID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjI5NTAyLCAxMDMuODM5NDldLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzEyZTdkZDhiMGMyMTRkMDE5NDU3YjI2OTMxMDA1Yjk4ID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjQwNzI0LCAxMDMuODk4MTRdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2M3YmIzMDBhNGM4YTRiY2Q5MmQxNTZiY2EzNGQwMTVlID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMyODY1LCAxMDMuOTA2OTFdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzkwYjM0YTcxNTNjZTQzMGQ5NjFmNGQ3NTIzNjA5YWExID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMyNzkyLCAxMDMuOTA0OV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfYTk0OWQ2NjAzNmZiNDAyYjk4MWI5MzhhNjg5MTNlMjQgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMjg0MjcsIDEwMy44NDI3MV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfNTBlZTA2YjZiZmMwNDM1YTg3ZjEzMWEzODYyYWU0NDggPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzgwNDUsIDEwMy45NjQ4Njk5OTk5OTk5OV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfZTdjZTRkZTgwMjdlNGFkZDg1YTE1NDJhOTllM2EwODggPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzA0NzQsIDEwMy43ODc2MzAwMDAwMDAwMV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfZjEzYjQ2YjFlZDg1NDcyNDk3OTQ0MjZjOTQ2YmE4NjcgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzEyMTYsIDEwMy44Nzk5MV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfMDhmNjhmZWZjOGM0NDU5ODljMmY3MDdlMjQzY2Y5NmEgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzI0MzMsIDEwMy44NjQzN10sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfN2E5MjIxN2Y1ZTU0NDEyMDkxMmIyY2FiODlkZWEyYWQgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMjg3NDEsIDEwMy44MDI3Ml0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfZDk3NTg0OWRhYTI1NGQyNzg3NWI4OWExOWVjMzgyNjUgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzE1MjUsIDEwMy44NTI5Nl0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfN2UyMmE2ZGUxOWQ3NDMxZTg4MDVhYjQ2OGU3Y2YxNDMgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzE3NTgsIDEwMy44OTAzODAwMDAwMDAwMV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfZTMwYzc2YjUxNDVjNGYwMThiZWY5NmIzMmY5Nzk0ZTMgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMjk1NzI5OTk5OTk5OTk5OCwgMTAzLjgzNzY5MDAwMDAwMDAxXSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl9iNjY0MGZkMWMzMmI0M2Q4OTllZDBkZGU3NTA1Zjk5OSA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4yODE5MjAwMDAwMDAwMDAyLCAxMDMuODQzOTldLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzczOTI3NGQ2YzlkYzRkZmJhYWZmMmY0NTZlZmVjMTE1ID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMxNDg3LCAxMDMuODU0MDgwMDAwMDAwMDFdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzhjODI5MjdiMzkxMzRhMjc4ZjQ5NDc1M2IwZTQxY2NiID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjI4MjAyMDAwMDAwMDAwMDIsIDEwMy44NDY3XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl8wMjA1YTY1NzFiMzI0OGUyYmE1NDBlNzlkYjE5OGRiYyA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMDI1OSwgMTAzLjgzOTI3XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl8wNjM5MTE2MDgwNTI0ODQ4YTMxZDQxYWFlMmZhMGJkZCA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMDM1LCAxMDMuODMwOTFdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzhjOGJkNWVkMjRkYTRlNDViNGQ1NDU2MTZkZTE4MmIyID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjI4MTU2LCAxMDMuODQ1NzJdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2FiY2UwNjE1Y2FjODQ5MjY5Zjg3ZDJkZjNkNzAxMzI4ID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMxNjI5LCAxMDMuODQ0NjMwMDAwMDAwMDFdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2UwMTUxMWM3MzlmOTRmNWY4YzkzNjBmY2NmYTA5MWVlID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjQyODUyOTk5OTk5OTk5OTksIDEwMy43Njc1Njk5OTk5OTk5OV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfNTdlMTBiNDMwMGJhNDI4NzhkODZlZTcwYjNmZGFmM2YgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzE0Mzc5OTk5OTk5OTk5OSwgMTAzLjkwMTM2XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl9mYWEyNzYzNzAzMWQ0YWM3YjEwYWU3NTY3NTI0MzFkZCA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMTUyOCwgMTAzLjg1NTU2XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl8zYTE4NzQ3MWFjNzc0ZjBjODFjYTg0NjNlZDY4YWNiMiA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4yODA1MiwgMTAzLjg1MjA1XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl9kNGE0NWVhOGJjY2U0OTA0YWE1MDQ1NTYzYzZjYzRmYiA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4yNzYzNSwgMTAzLjgzODk4XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl9iYTllZDNkOGMyZGE0ZjA2OWY3YzgyYzk0ZmIyNDUzNCA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4yOTY5NSwgMTAzLjc2NTE4XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl81N2E2NWM3NGU2NWY0ZjJlODVlN2E5MjQ5YjU3MWJiMyA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zNjU5OSwgMTAzLjc0Nzg2OTk5OTk5OTk5XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl83MGNiZTgxNGMwNmY0ZGJiYTdjYWViMGNkOGQ3ODdlZCA9IEwubWFya2VyKAogICAgICAgICAgICBbMS40NTIwNCwgMTAzLjc4NzY1XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl9iZmVkNjhkZGZhNTU0OTcyYmYwN2MyZjdlN2Y0ZGY0MiA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zNjI0NiwgMTAzLjg4NDg2OTk5OTk5OTk5XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl9lYzQ2OGEzYjc5NTY0OWQ4OWQ1YThkYzQyNWU0NWU5YSA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zNjI0OCwgMTAzLjg4NDg2OTk5OTk5OTk5XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl9lOTYyNjI0OTVmMzg0YzllODBjYjJjMDRiNjJlNzU0YSA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMjQwMjk5OTk5OTk5OTk4LCAxMDMuODU0NTVdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzlkYzU4NTQ5NGM3NDQyMzBiNTgzMmRkYzkzMGE5MjQxID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjQwMjI1LCAxMDMuOTA5ODhdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzY3MzlhNDNjMjhlNTQyOTg4ZmRiOTc5NDEyYjM4MzYyID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjI4MTUyOTk5OTk5OTk5OTgsIDEwMy43ODc2MzAwMDAwMDAwMV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfYTAzN2RjMDYyNGVkNGZiZmJlZjVmMmJlOWMwODA3MGQgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMjgxMDcwMDAwMDAwMDAwMiwgMTAzLjg0MDYzXSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl82ZTIwNjQ3YzM5OWI0OWM3ODY1MjNlYTRjYWVkNzBkMiA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMDkwODk5OTk5OTk5OTk5LCAxMDMuODU4ODA5OTk5OTk5OTldLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzQ4MmNkZDczNWQ3MzQyNjJiZmFlOGUzZjdkZTMzNmRlID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjI4OTIxLCAxMDMuODI3OF0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfMzgxZGQxMTRiNTY3NDdhMGE2OGIxMjc1NGUwZjg2NTcgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzA4OTMsIDEwMy44NjE5OV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfYjM2N2Q3MzA4ZDk5NDIwOGFhNDY3ZTU4NTU2MDk3YjQgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzI2MTgsIDEwMy44NjQ4N10sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfN2YzODllOTNhNzQxNDUyMGIzNmQ2NDcyYTdlYjFiMDIgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzUwOTIwMDAwMDAwMDAwMSwgMTAzLjg4MDQ5MDAwMDAwMDAxXSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl8xZWNmZmM0NDFkY2Q0MDUxYWVmZjg4YjYzMTI4ODBjZCA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4yNzk2Mzk5OTk5OTk5OTk5LCAxMDMuNzg1Nl0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfMmM4MDQ3MjM4MjZkNDVlZmFiMjU1YTQ4NWY1MTQ0YmUgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzc0NzEsIDEwMy45NDcxOF0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfZjZhMDgyNTIzMjAwNDk2NmE3OTA4MjU0MTMxNzUwNzMgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzIwMDUsIDEwMy44NDUzM10sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfMGFhMmY2N2M5NWNlNDI2ZGFiMmVhNjdlNTQxZjVhYzggPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMjgxMzcwMDAwMDAwMDAwMSwgMTAzLjg1MjAzXSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl82ODEzNTZlZTEzMzQ0MTQ5YjI0ZTZmZmI2ZWM1NWFjMyA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zNDQyNSwgMTAzLjY5Mjg1XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl9hZWIxZWQ2MmIyMjI0YjQwODViNmRjYWI0NTYwZWQ2NyA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMTk0MSwgMTAzLjkwNjY4MDAwMDAwMDAxXSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl80NDJlZGM5NjQxYmI0Y2JhODJjNmE0YzdiMTIwYzFhNiA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMDI1NiwgMTAzLjgzODIzMDAwMDAwMDAxXSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl84MmFiYzNlZjZmYjc0OWMzYTA2YzViNTliMGU2MjQ0NiA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zNTg1MjAwMDAwMDAwMDAyLCAxMDMuNzYzN10sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfZGQ5ZjdmYTcxY2ZkNGM1NWEyNzE5ZjM1M2RlODkzYjAgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMjUwNCwgMTAzLjgyNTM5XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl8yM2I3M2YyNGY2NjA0MGJhYTNiOTdjYTczOTM4MWI4NiA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4yOTIzNiwgMTAzLjc2MzI2OTk5OTk5OTk5XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl9mMDQ4MTIwNGU0OWQ0MjMxODMyMzRhNzA2OTZmODRjMCA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zNjE0MiwgMTAzLjg0MjcyXSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl9jNWFkNzVmZmQ1YzY0NTY3OTc2NjA3MmUzMWM5ZmIwZCA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4yODQyNywgMTAzLjgyOTExOTk5OTk5OTk5XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl81ZDIyNjM2OTBhN2Q0MTFiYjhhNTY0MDFlMTRmOTNlNCA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMDAxMSwgMTAzLjg2MTE4XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl8wMTVlY2IyNGQyODE0ZWNmYTFiZjAzZGQ4YjE5NDIwYSA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zODM5NzAwMDAwMDAwMDAxLCAxMDMuNzcwMzVdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2E2OTg0NzY1MzU1YTQ5MmNiYjgzZThiNDJmOTM3ODIxID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjI4NDQzLCAxMDMuODQyMTJdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzNjM2QyZGVkZWZhMjRlY2U4ZGQxMjVlNjdiZmQ4Yjk0ID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMxODgsIDEwMy45MDgwMzAwMDAwMDAwMV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfZDQyNzAyMWZmOTkwNGE4YThkOGZkMjQxNjJiNTNkYjIgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzEwMjcsIDEwMy44NTY0Ml0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfYThmNmE0Nzk0ZTRmNGE5YmE4NDUyMTQ0NDgyODg2NWUgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMjgzOSwgMTAzLjg0MjA2XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl84NTMwN2Q3OGVhZDU0ZTUwODY5OTEzNjBiN2M1ZGFlMCA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMjg5MywgMTAzLjkwNDk2OTk5OTk5OTk5XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl81MDI3YmI2NDVhNDU0ZjRiOGU4MWUzNWYwYTBiZTE2YSA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMTg0Nzk5OTk5OTk5OTk5LCAxMDMuNzYwMThdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2I1MmExOGU1OGFjYzQzMGE5MWU5NjViMGE2ZmIzMzg1ID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjM0NzE3OTk5OTk5OTk5OTgsIDEwMy43Mjg4MV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfY2Y1YTEyNDFlZWNhNGJkYjg0NzhlMzk0OWE3ZmFmZjggPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzAxNzIsIDEwMy44NDUzNDAwMDAwMDAwMV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfNjU2ZjA0OTM1NzkzNDllODkxM2NhMDNmNWFkOWIzY2EgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzEzNDcwMDAwMDAwMDAwMSwgMTAzLjg4NDE2XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl8wYTY4MWNjMmUxYmY0ZjNiYWViYmMyZGRmNGI1NmU5ZiA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMjk1Mjk5OTk5OTk5OTk5LCAxMDMuOTEzODZdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2JhYTlkZWY4YTI4NjQ2NjI4NDNlMTViNzc3MGI5YmVjID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjM4MjQ2LCAxMDMuODkxNDZdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzBmMDA0Y2UzMzFmZjQ2NWRhMDc2OTM0ZjQ1OTkwMDM1ID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjM3MjU2LCAxMDMuODQ3ODRdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzVhMDdiNGM5NDdmZTQ1NjM5MmU4NmRmZDNmNTA2NzNlID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjI4MDYsIDEwMy44NTQ2NV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfMmYxMjY4OTY5MmQ2NGI1MWI3MjMzZTZiMGE5ZDdhOTEgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzQxMSwgMTAzLjY4NTJdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzEwMWE4MTAxYjdkMzRkZGNiNGMyZDU1YmU3YmYzM2VjID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMyMTE4OTk5OTk5OTk5OTksIDEwMy44NTEyM10sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfZWIxN2E3ODhjMmNmNGIzNzk4YTZkMGNmZGZjZjRlOGUgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzEyOTIsIDEwMy45MDQ0OF0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfZWZmYTIyYjU2MTZkNDQyMTk4MWRlYmY5ZDc3ODE0MGEgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzAwMDksIDEwMy44NDUwMTk5OTk5OTk5OV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfOTBiZGQ1YmNkNDJkNDhiZDhmMGJlNmU4YjE2OTYzM2MgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzE0ODUsIDEwMy44NTUxNl0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfNmJlYzFjMzlmOTcwNDg3ODgxZmE0YTVkZGRjMTQ3ODAgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzA2ODYwMDAwMDAwMDAwMSwgMTAzLjg5NTcyXSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl9hOTZkYzczODRlYWE0MTIwOTAwM2U5YmMzOTVjOGJlZiA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zNzc4MiwgMTAzLjc3Mzg0XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl8xNDhkODlhYzZmZDM0ZTUyYWY2OTE2ODc1NTQ1ZjAzYyA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMDAwNiwgMTAzLjg1MDI1XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl8xYTRiMjIzZTQxNTE0MDA4OTMwMzY5NTQxMTU2MDkwOCA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4yNzg2LCAxMDMuODQyNTU5OTk5OTk5OTldLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2NmM2E4Zjk2Y2IxYzRjZTQ5Yzc4ODk2ZDk5OGExMWVhID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMxNDE2LCAxMDMuODU1MzldLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzRkMDUxNGE3YjllNzQzMDA4YTY2N2ZhZGZmOTAwNDY1ID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMxMDA1LCAxMDMuODU4MjldLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2YyOWQxMDQxNGM0NTRjMDliOGFjYzdkZTUzYTE4YWVhID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjI5OTM4LCAxMDMuODMzMjNdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzU5OWU2NzgwMTE2MTQyMmRhM2VkMzczMzczNGI4YWE0ID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMxMDA1LCAxMDMuODU4MjldLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzIxZjIxMjdiZTc3ZDRhOGFhOWY1N2VmZTBhYTYzZTIxID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjI5OTE4LCAxMDMuODM3NDVdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzlmMzk3NDQ3MmZjYTQ5YzdhYmFiOWZmYjYwOGU4NTliID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMxMDA1LCAxMDMuODU4MjldLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzNhZDZjZTRmMGZmNTRhY2E5MDAxZWUwZTJjZDE1MTc5ID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMxMDA1LCAxMDMuODU4MjldLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzZmYzZlZGQ4NDM2YjRlMWJiZTA2YjBkMTBiYWE2YzQ3ID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMxMDA1LCAxMDMuODU4MjldLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzQ3YWJmNGM2ZTgyNTQ5ZmI4MThiM2U4NTNjZDI5YjFiID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMxMDA1LCAxMDMuODU4MjldLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzk2NGRiM2I5NmFmZDRiYWM5NDU2Yzg3MTE3ODBjMzdkID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMxMDA1LCAxMDMuODU4MjldLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2E5NzYxYjU3ZjNmODRiNTNhMjczNmQyODczMzA1YzUxID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMxMDA1LCAxMDMuODU4MjldLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2Y1MzgzNmI0NzQ5MjRhYWVhZGNkZGY3NjBkYjcyODU5ID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMxMDA1LCAxMDMuODU4MjldLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2JjNjhiODNhNmY0MDQ5NGY4NzEyMTAyMzczNWY0YTU4ID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMxMDA1LCAxMDMuODU4MjldLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2YxYzUwY2M1ZWQzODQ2NjNhZmM2NzY3ZjE4OTI5NzNlID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMxMDA1LCAxMDMuODU4MjldLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2ZkOWIyZDFhMWJmMTRlN2Y5YTM0Mjc3YTk5YTg0Zjc5ID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMxMDA1LCAxMDMuODU4MjldLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzU0YTA5OTAwZjE2OTQyNjRhNTAxYTExNGRlZDczMzQ4ID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMxNjIzLCAxMDMuODg5MzddLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzBkYWZlOTA2Y2M4MTQyYmM4ZTk0ODllMzNiMzkyZWExID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjI5NTcsIDEwMy44Mjk1MV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfNDk3ZjA5ZDE2ZWRiNDg1ODhmMzlmM2NkNDc1ZjgyZDcgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzQ3NzcwMDAwMDAwMDAwMSwgMTAzLjg0NDIxOTk5OTk5OTk5XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl84YjRkODlhMTUzMzk0YjlkYjI5ZWQ1MTNjYzQwZDYyMyA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMTI5OCwgMTAzLjc5MDEyXSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl81NzYzZjNiYTZiNDI0OTc1YTAxYTNjODg0MjMxMDc1OCA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMTE3LCAxMDMuODYwMjhdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2FiM2NmZjE5YTA3YTRkYTJhY2Y5OWRlYTZhNmFkMzY0ID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMxNzg1LCAxMDMuODUzMV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfOWYxOTI0YjdmZDk1NGUzZjkzNzU3YzU5NzVkNDZjNmQgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuNDI5MDEwMDAwMDAwMDAwMSwgMTAzLjc4NDY4MDAwMDAwMDAxXSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl82ZTdkODVmOWQ3MmI0ZTY4OTdiZTNhNDlmN2YwZjMyNCA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMDQ2NiwgMTAzLjg2MTkzXSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl9mNzY0YzVlZjljMmY0MTcyOTFkOTA3NmUxOTBiNDhmZCA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zODA2OCwgMTAzLjg5NzcxOTk5OTk5OTk5XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl9iMWU2NDRiZGYxODA0ZmYxYTkyNmZjOGY4YmY1YmJlYSA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4yODM3OSwgMTAzLjg0Mzk5XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl8yMzJkZDU1ZWZlMzI0ZjI2OTUzZDJjMzdhZGZjOTRjMCA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4yODI2LCAxMDMuODQzNzMwMDAwMDAwMDFdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzQxMDZiYjhjZjE1YzQyZDdhMDJlMmU0ZjhkMmJjZGVkID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjI4NDE2LCAxMDMuODMxNjVdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzBjMzM1NDMxNWNiMTRjMjhhMjU4ZmVhODg1MjBlOTI5ID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMxMTg2LCAxMDMuODU0NThdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzJiM2YyMzEzNmNhNjQ5OWU5NGE3ZTViZWExZTczOTdjID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjM5NDU2LCAxMDMuNzUxOTVdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzZmYjU4NWU0NmU5ZDQ5ZTQ4YzYxOGNkOGI0NzUzMGFjID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMxNzYsIDEwMy45MTM2NV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfYmM0ZjY1NjM3ZDk1NGM2Y2I3YTY2NzgxYWZjNDJjYzMgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMjk5ODUsIDEwMy44MzQzNV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfOTMyOGM1MjRlMzc4NGY1N2IyMmM5YjE5YTk3Zjk2MTcgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMjgyOTMsIDEwMy44NDUyMl0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfNWQwNTRlYTFkZGU5NGFjYmJiNDNkMDQ4ODM2MjY2YTQgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzEzOCwgMTAzLjg4MDk5XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl8yMDgxY2NiZjRjZmQ0ZDgyYjVhMzc3MWQyZTY0ZTgxMiA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4yODM5NywgMTAzLjgyNjM2XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl85ZTgzNmJmMTUxYWI0MDRiOTlmYzQ0ODM3MDY5Yzc5NSA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMTE1OCwgMTAzLjg4MjcxXSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl9lYWM5ZWRmN2Y0OWM0NDJiYWFhMjI1MjZkYjZkMWI2OSA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4yODg0MSwgMTAzLjc5NDE4MDAwMDAwMDAxXSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl8zOTEwNTU2NmJmZTM0YzdmYjk1MzRkMjcxYmExZGI5NiA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zNTA2NSwgMTAzLjg4MDg0XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl8xOWNmNzJiOTk5MjQ0ZWEzYThhYmM2OTE5YjUxMzEzNyA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMDc2MSwgMTAzLjg5NjM4MDAwMDAwMDAxXSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl8zZGM0NWNiOWNhYjU0ZGViOTZlMDY4NTRmZTNmZjVlYyA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMDY1NiwgMTAzLjg5NjQxXSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl84MmU5YjE3Y2ZmY2U0YTM4YTk1YzRhZWM1M2NlZjIwMiA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMTczLCAxMDMuODUzNTgwMDAwMDAwMDFdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2UzOGY5MjcwMThiNDQ1YTRhMzQxYTQwZGJlYjc1ZWRjID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMxMjk4OTk5OTk5OTk5OTksIDEwMy44ODU5N10sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfNGUxMWJmMGQ1MTM3NDdhNWI3Zjc5YjUzNzAyYWI2OWUgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuNDM2ODgsIDEwMy44MzM5ODAwMDAwMDAwMV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfNzI0Y2YyMGY2M2E2NDFlNGE2ZGUxZDJmNWQ2N2Y4ZjUgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzEzMjQsIDEwMy44ODY3Ml0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfMzFiYWFlM2EyYjY0NDU3OTk1YWQ1NjRkYzdiYTNmZGYgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzg1NCwgMTAzLjg0MzIyXSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl9iYzM1NTQxODAwYTQ0MTAzOTM5ZTQ4NGE3OGI5OThhNCA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4yOTQ1Nzk5OTk5OTk5OTk4LCAxMDMuODI4MzY5OTk5OTk5OTldLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzFiYzQ4MjJlMDQzMjRiOTNiMjFjZjVhNWFiNjVjZTZkID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjI5MTI0LCAxMDMuNzczOV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfMzkzMjY1MzgxYjdlNDdlNGFkODg3NDE0ODNiMmI0ZDkgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzE1MzYsIDEwMy44MzI4Nl0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfNzFjM2RjNmU1MGNiNGFiMGE5M2VkNGMxNTAyMmQ3NmMgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzE0NzcsIDEwMy44MzI1OV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfN2Y3NDYzNGU0ZTllNGVlOWI4M2MxODBjMThjZTE5OGMgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzAyMTYsIDEwMy44NDY5OV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfOWM4MjM5ZGQ5ZjA2NDU1OTgzYjdmMDhkZjcxMDlkYmUgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzEyMjUsIDEwMy44NTQzMV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfMGY5Yzc1MGFlOTY2NDZiY2EyZDJmZDExNTg2NmIwMjYgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuNDM0MjQsIDEwMy43OTc4NDAwMDAwMDAwMV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfY2Y2YmM3YWM3OGVhNDQzNTljM2E5ZTEyNjFiMjRiNDcgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzI5Mjg5OTk5OTk5OTk5OSwgMTAzLjg0MjA2OTk5OTk5OTk5XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl82YTU1MTNkZDA1YTY0YTJlYTI1ZTcxMjZhNWU2NDI0YiA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4yNDg1MywgMTAzLjgyNTAyXSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl80NzM4N2YyZWNkZmE0MmU2YmEwYjZmOTE4MWNlMmJjMSA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zNjg5NywgMTAzLjg1NTA5XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl82YWQ1MTg4OWVmNmM0MzAzOWEyOGUxZGI3YjVkYjI0NCA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMTc2OCwgMTAzLjc3OTU0XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl9hYmJkY2JlZmNlZGY0ZmUzODdkNDI0NjMyODAyYTM0YiA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMTE5NSwgMTAzLjgyNzE1OTk5OTk5OTk5XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl9mYWM4ZGFhZTFlZmU0OGViYWFhZWI2ZjRlMzliYWNiZSA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMDYxOSwgMTAzLjc4Mzk0XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl9lNWZiMmIyOWE2OTU0OTFlOWJhNmZhOTc4M2IyMmFiZCA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zNzk3MSwgMTAzLjg5NzY2XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl8wMzczNDM0NGE3OGQ0ZjdhYjAwZmM2M2YwY2E0ZWUyMyA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMDY3NywgMTAzLjg1ODM4MDAwMDAwMDAxXSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl82MTU3OWEzNmVjMmI0ODE3YTQxZjM4YzQwZTdmZTAwYiA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4yODA3NjAwMDAwMDAwMDAxLCAxMDMuODUzMDFdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzlmYjAyODU5MjRhNjQ4ZjdiMGY0YmRhMDkxZjRjNjJlID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjM2NjkxLCAxMDMuNzQ2NTY5OTk5OTk5OTldLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzA1OGRhYTk5NWFhODQ2ZmE4Nzk3NGEwYjAxZDdkNDk0ID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMxMjc2LCAxMDMuODU0NTJdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzM3ODU5YjZkZTdjZTQ2OWY4ZmUyNDgyZmIyOTZiNzU0ID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMxNTI4LCAxMDMuODg0NDMwMDAwMDAwMDFdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzEzZDA1Nzg0OGQyMzQ4ZmE5N2Q1OGUwMjdkNWI0Nzk2ID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMxNzMzLCAxMDMuODI3NjRdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2ZkOGQ4M2Y0MmJkYTQ2ZWU5ZDQyNzdjZGFlZDIyYjc1ID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjM2MjE2LCAxMDMuODc3NzVdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2JlMjhjNDE5NDFlOTRhN2I4N2Q2NzZmNjVkODQ1YWNiID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMxMjY2LCAxMDMuODU0NzFdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2ZiYjA1ZjMxMzMyNzQwYWJhZDEzNGE4Zjc4NGVlZDZkID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMxNTMyOTk5OTk5OTk5OTksIDEwMy44ODgwN10sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfMzM1ODkyMDYxMDMzNDY1YThjNzFhNTI4OGRkNmM4MGYgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzEzMzksIDEwMy44ODc0N10sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfZWJkMGYwZTQ2ODRkNGI4Y2E5ZjIwMDM2NTI0ZTI2NGUgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzA4ODQsIDEwMy44NjE0M10sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfZWFmOTdiMDIxOTQ2NDZlZjgxMGVlNjM2ZGRkMzMzYTcgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzQzOTIsIDEwMy43MDI0Njk5OTk5OTk5OV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfNzNjOTNmNTc3NTNjNDIwOWIwMTY0YTIzN2VjY2RjOTUgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzA1MjEsIDEwMy43ODMxXSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl85ZDRjY2JjMzJjZTI0NGNlYmYzNDI1MmM4NTBmZTVjYyA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMDc5NiwgMTAzLjg2MzIzXSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl9mMzg4ZjhjNWM1MDc0MDA4ODZjYjdmNGUzZjBmNjA1NCA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zODkzNCwgMTAzLjc0NjM3XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl81YmNlMTg3Mjg5Mjc0MzhiODdkNGM2NjYxNzVhMmQyZiA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zNjM2LCAxMDMuODc5MzMwMDAwMDAwMDFdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzk3Y2NmYTg2NGViZjQzOTM5NmQxMWJjNWJhODI5YzE2ID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMxMzkyLCAxMDMuODYzODMwMDAwMDAwMDFdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzlhZTk1MDQ5YmIzMjQ0Nzk5YjQ5YjUzMjNlZjAzODEyID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMxNTY3MDAwMDAwMDAwMDEsIDEwMy44NjU0Ml0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfMDM4NGJjMGY0OTExNDNhY2FmNDBlMTdhZTY5ODJhM2UgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMjg5NTI5OTk5OTk5OTk5OCwgMTAzLjgyMzQ0XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl9iZmU5ZWQxYjJlMmI0ZTE2ODNiNGUxYTgwZmQ2YjI5YyA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zNDc4LCAxMDMuODgwMzFdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzNmZGY4ZjcwOTljYTQxNzdiOGNlYzIyZTc0ODgyOWZhID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMzOTk2LCAxMDMuODQ0NDVdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2Q3ZjY1MjkyYzA1YjRiZWJhZDkzMDFjYWY5ZmZiYjllID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjM1ODA1LCAxMDMuODQ4NzhdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzA0ODdkODI2YWEwYjQzYmFhNTAxYmE4YjgyMzNjODZlID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjI4OTQ3MDAwMDAwMDAwMDEsIDEwMy44MTczOF0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfOTVkODFiMjk0M2QwNGI3M2E4NzA0MjIxNjZmY2Y3OTQgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzAwOTcwMDAwMDAwMDAwMiwgMTAzLjg1MjE1XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl9mZGUwOTVmZTQzZjE0NzVmYWVhM2I2ZmZlMzY1ZjVmYiA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4yOTg1MywgMTAzLjg1NjFdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzFjZTUxZDkyYjRkNTQ1N2NhNDY3NGFkY2NlZDU5MTJjID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMzOTQxLCAxMDMuODgzNjVdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzc3ZDc1N2Q5Y2M5YzQ3NTU4MjhmY2MzNjVkNzU3MjE4ID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMxMzIxLCAxMDMuODU3NzFdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzU1MDMzZTc4MmVhMDQ5MmI4Mjc3YjIyNTZlNGJkZjQ0ID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjI3NTY2LCAxMDMuODM2NzFdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzUwNmZiNDY3YjQ1MzQxMTJhZGMwMGFiZTQ1NzI5YzJlID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjI2Njg1LCAxMDMuODEwMzVdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2Q0N2QzNjFmMTc5MzQ0ZmZiMWM4Y2MzODE1ZjFlZjk3ID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjM5NTM3OTk5OTk5OTk5OTgsIDEwMy44ODA4XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl82YzRmZjg1MzIwZjM0OGZiOTlhNzNjZjQxYTg3NTMzMSA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4yOTk3MTAwMDAwMDAwMDAxLCAxMDMuODQ0MjFdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzBiZTYyYTVhY2U5ZTRjOTBhYTAyZDVhYThiYzRiNmNlID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMxMTYyOTk5OTk5OTk5OTksIDEwMy44NTQzMV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfOGE2YTgxZTMzMWEyNDhkMGE1ZWY4ZDJmMjlkYzA1OGYgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzE3MTYsIDEwMy44NTk5M10sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfMDkyODBhNTMxODQ3NGVlYmIxNGMyZTExOWQ1ZTE0NGIgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzQ2NDgsIDEwMy45NTgyN10sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfY2UzY2UxMmY1YzdhNDZjNjk3NTc4MWJlN2E1N2ViOTIgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzE4NjcsIDEwMy44OTMxNV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfNWU4YzBkOTMwZjJjNDU3ZGJiOTdhZjM1MDgzNTI0YjIgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzE1NTEsIDEwMy45NDQ2OF0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfMjYyNTUyZTZiY2QyNDUxNThlNjgwY2I3ZDA4N2RlY2MgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzE2NjMsIDEwMy44NjQzNF0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfMWQwODY1OTkwZTFkNDFlMWFjZjI4Y2QyNTEzYzg4NDAgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzA3ODUsIDEwMy44OTQ3MzAwMDAwMDAwMV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfOWJkNzJjNTE4OWY3NGM3NjlhNjI0OTc4MGEzOTY1MDYgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzA2NSwgMTAzLjg5NjI4XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl8zYWNlYTljMmJhOGQ0OWUxOGU1ZWU3ZWMzNzMxYjIyMCA9IEwubWFya2VyKAogICAgICAgICAgICBbMS40NTMwMTAwMDAwMDAwMDAxLCAxMDMuODIzMjVdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2RhNDBmOTk0NDgxYjRkM2RhNGQxZmFhYjdkZjcyNzc5ID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjM0OTc2LCAxMDMuODc4NDddLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2FkNmM2OTk4ZDI1MzQwMGJhNzQzMjNkOTdhMjRkMWE4ID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjQxNzk1LCAxMDMuODM2OV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfNjI3MjY1MTEzZDhlNDU2M2JjMmQyZmY2MWE4NTY5YzcgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzA0NjIwMDAwMDAwMDAwMSwgMTAzLjg2MTgyXSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl9iYTYyZjliYzQ5MWY0OTUwOWZlNTMxNTdmMjVmMjY0ZSA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4yNDg5NSwgMTAzLjgyMzkyXSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl82ZDViZDdiMDUxNjE0Y2ZlOGVhNGYwOTA3NTViNTk5YiA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zODU1MywgMTAzLjg0Mjk0XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl9mODMzMjRkYzhmM2Y0MWFiYTNiNGRmNmEzMDZkMzg0NiA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMjczOCwgMTAzLjg2NDQ5XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl9mNjAxMDZhMzg0Zjk0OWY1OGM3NTExNTNjN2U1ZmM2NyA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4yOTkwNzAwMDAwMDAwMDAyLCAxMDMuODUxNzJdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2JiMDAzOGRiYzA4ZjRmOGViODVlMzQ0YWVlMzllNmFhID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMxNjg1LCAxMDMuODM3MzY5OTk5OTk5OTldLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2FjOWU0MTU4ZjAzMDQxMjNiMTE5NWRhMmY4NzM0NTNiID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMyMzI4OTk5OTk5OTk5OTksIDEwMy44NTIwMDk5OTk5OTk5OV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfZjc4MzlhMTc0ODk3NDJiMDk1MTQ5ZDk0ZjQzYzc5YjcgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzU0NDIwMDAwMDAwMDAwMiwgMTAzLjgzMTc2XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl9lNDE5NmQ0NTI4ZTA0M2ZiYTc5ODIxODcyMjJjYzUzYiA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zNTg3Nzk5OTk5OTk5OTk5LCAxMDMuODgxNjhdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2QyY2RhMWUwODc3ZjQ1ZGNiMWE2YjhjNTk3YmJmMGMwID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMyNTQxLCAxMDMuOTE0NTddLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2ZiYzBhYjJjYTYyMTRkYmNiZTExOWQ5NTE5ZDM5Yzc3ID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjM1NjE1LCAxMDMuOTY0NDY5OTk5OTk5OTldLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzg3OWNhYTk0NzRjZDQ4ZDBhZDkxOWZlYTk4MTY5NjQwID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMxMjY2LCAxMDMuOTAxMDNdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzMzZWFmZThkYzQwYjRkOTBhYTYwNTQxYzM1ZWZjYTMwID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMxNzQyLCAxMDMuODkxNDJdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzM5MjVkMjJkMDc5NzRhYzE4NDAwM2U2ZTkyNGFlM2QwID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjM0OTk1LCAxMDMuNzAxMTQwMDAwMDAwMDFdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2ZjNGQxZWM4YWI1MTRlMTA4YmRhNmEyZmNhZWU0OTc2ID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMyMTkyLCAxMDMuODY0MjZdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzFlMjA0ODE3YzNlNjQ0MmE4YmIwN2RlOTE4YmI0MmUyID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjM4NTksIDEwMy44NzM1N10sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfYzQzZDE1MWNiZWI2NDA0Zjk2YzdiYWFjMmU5ZGZhNzMgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMjk2Njc5OTk5OTk5OTk5OCwgMTAzLjg1NDg4MDAwMDAwMDAxXSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl84YTRlNzE0YjhhYzU0MTcxYWE2YTU2ZDZmNzlmZjdmMyA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMjIxNiwgMTAzLjg2NDk5XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl8wYTMxZmM5OWI0M2E0MTFkOGJlYTVkZGU5MzFkOGY2ZCA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMTQ2MSwgMTAzLjg4NjM1XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl8wYzg2MzliNDY4Mzg0OGZlYWQwZGY5ZWM1ZWQyZjA1YSA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zOTMwNzk5OTk5OTk5OTk5LCAxMDMuODk5MjRdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2YxNjIxNzE2YTY4NDQwMGI4ZjBiZjAyOGY2YTBjM2Y4ID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMzNzU4LCAxMDMuODQ0NzddLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2ZlNzIyM2ZlM2E3ZTRiYTFiZDc0NjUyNTBkYmMzOTIxID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMyOTE0LCAxMDMuODUwNl0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfM2ZiMjQzY2UzNGQ1NDM3NmE4NmMzMzIzMTllMzdmMTggPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzU2NDgsIDEwMy44MjgyOV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfMGU2ODkwMDZkYzIzNDRjMjhlZWVjZjFkOGE5YzQwN2MgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzI3NDYsIDEwMy44NDY4NV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfMzhiNzQzMGRiMmEwNDg4ZmEyZGUxZDk3ZmJlYjM1ZjIgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzEyMDksIDEwMy44ODVdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzA4OTZlZjM0MmI5YzRhOTE5ODU5Y2RiODViZTViZDVkID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjI4NzYsIDEwMy44MjkwM10sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfOTgwZDdiZjk5ODlmNDM5MTg1NDcyODM0Mzk0NWRlZTkgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzEzNzYsIDEwMy43Nzg4XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl83ODM5YzU5MzAxYWU0ZDczOGQ1YjJiNzZhNWEyMjZiZiA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMjA5MywgMTAzLjg1Mjc4MDAwMDAwMDAxXSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl8zYzhlOTg3NmU1NjE0MmU5ODEwZmZmMTI2YzYzMDQxNiA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMjQxMzk5OTk5OTk5OTk5LCAxMDMuODUyN10sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfNGUyY2I0ZTI0ODE4NDY1MThhNTJiMzExOGQzMzdlZWUgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMjgxNjEwMDAwMDAwMDAwMSwgMTAzLjgzOTg1XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl8zNjU4ZTdiNjg4ODk0MGQ0OGZlY2EzYzJjYjFkODE3YSA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4yOTU5NSwgMTAzLjgyMjQ5XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl8xOGZjMGZjMTkxZDI0Zjk5ODhkZjA2NmVmODhiODQ1NSA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4yODMwNCwgMTAzLjg0NDg1XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl9mMGFhZDg1OGIxYWU0Nzg2OGQ5ODRjNjcyY2MzYTNkNyA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4yODM3OSwgMTAzLjg0Mzk5XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl8zY2ExNmNlOTg1YTg0NGMxYjdjYjYzYTFiYmJhZTNiMSA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMTMxMywgMTAzLjg4NzU1XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl8xNjM0MTc0YTI0ZjE0NzhlYTE0NzlmOWE2NTE2MmUxMCA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMTMwMSwgMTAzLjg4NTc5XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl80YTg4NjQ3ZDljNzg0NzA2YjMyYmJhNzg5YThhNTE5MSA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMTI4NywgMTAzLjg3ODEwOTk5OTk5OTk5XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl8zNzZmMDZiOTMxZjU0MmYxYTNkNTRjNjM3MTU2YzBlNiA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4yOTcxOCwgMTAzLjg3NzM3XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl80MzI3MDA0OTEyYjg0ZjFiOGQxYTMxOWJiZjJjMmViMCA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMDAwMzk5OTk5OTk5OTk5LCAxMDMuODE1OTddLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzdhMTY1NWM1NjgyOTQ3NTZiZTUwOWYxMTYwYjNlMGIyID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjM0NDUsIDEwMy43MTk2MzAwMDAwMDAwMV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfNGNmOWYwNWUxY2U5NGViOWI4ZTcyN2Y3ODQ1MWVjNmUgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMjkzNzgsIDEwMy44MjY5NV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfZmNhNjU4OTY5MWI0NGUzM2EwYzZkNWIxODg4YjM4OWIgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzU1MDYsIDEwMy43NjgxM10sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfYjIxYmZlNjdjY2NkNGVmOWJhOTE4N2VkMzI1OWUwMmEgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMjk5MDYsIDEwMy44OTgyNV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfOTg5Mjg1NzAwZDkwNGM2MmEwM2M1YjUxMDljNjE0NTYgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMjg4MTcsIDEwMy43OTIwMzAwMDAwMDAwMV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfYmI2MjAyZTA4Y2IxNGVjZWJmOGY2YmQ3MjdhZDYzMzYgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuNDQzODc5OTk5OTk5OTk5OCwgMTAzLjgwOTM3XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl9kYzcyZDU0NTIyYWU0YmIyYTYwNmI4YzdkNTNiOTQzMyA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4yODE0Mjk5OTk5OTk5OTk4LCAxMDMuNzg3NV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfZTQ1ZDIyMTQyYjk1NDMwNjgzYzY4ODRmOGYxYjQzZGIgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzI0NTMsIDEwMy43NzQzODAwMDAwMDAwMV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfM2E0NDBlOGFiMWQzNGIwM2E3ZGJmNTk0YWIzOTJlNTAgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzQxNTYsIDEwMy43MzU0MTk5OTk5OTk5OV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfY2VhNTE3NmVkMTE0NDVmYThjMzAyZGY1YjU1MjQzZjAgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzA4MjksIDEwMy44ODg0N10sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfOWFhZDMwZjczNWNhNDMwNzhjYTFjNmJhM2Q5YmY2ZDEgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzEyNDksIDEwMy44NTkxMV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfOWZiZTk3ZTk0MjVlNDI2NDg4OWM1ZTRmMTc4NDViM2QgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzE0OTIsIDEwMy44NTQwOV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfNDQ0ZDU5MjhkOTk4NDNkMWExZTg3MGRjNGMwY2M5NDQgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzM4Nzc5OTk5OTk5OTk5OSwgMTAzLjcwMzk5XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl82OGU1MmRkNTlhYWE0YjI0ODFjYzBjZjc4YTNlMTU2MiA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMTEzOSwgMTAzLjg1ODUxXSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl9hYTdmYzg1N2QyOWQ0YzlhYTc2YjczYTIzOTllM2E5ZCA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zNzk5LCAxMDMuNzYwNjFdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzI1ZjJmY2QyOWFkMDQ5MzJiYzJlMTM5MGI3YThiZTEyID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMxODgzLCAxMDMuODYxODNdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2QwZmMwOWJmMDJjZjQ3NWM4MmQ2NDUxNDhlYzBhZTg1ID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMxNTAxLCAxMDMuOTAxNTFdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2MyNmZiNGU1MTM3MzQ4NjliZjkzOTQyMTA5ODc5OGQ0ID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMxMzMxLCAxMDMuODI0OTFdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2IwNjk3ZGM3NGVhODQ1ZmE5YTYxNDgyNThhNDlmNDNiID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjI4MTU2LCAxMDMuNzg2ODZdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzQ1ZTczMTNlZmUzMTQ3ZDc5ZjEwNDUxMGI4Njg0MTYxID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMxMDYzLCAxMDMuODU4NThdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2ZiMDk3M2NhOTVhMTRlY2VhOThhN2U4NDMzZGQwMzIyID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjQ0NDU3MDAwMDAwMDAwMDEsIDEwMy44MDIyNF0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfY2U1ZmRiODQ5NDRjNDhiNzliNzY1Yjk4YmExM2NlYjAgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMjk2MjUsIDEwMy44MzgyODAwMDAwMDAwMV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfYTIxMDg3ZmZiYWMyNGUxYzg5ZWZlYjNkMDRmNmZkYzYgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzEzMTQsIDEwMy44ODY2NV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfNzNjNTRmZTFmYjE3NDlkZDk5YzlmOTU4NTU4YmQyZTYgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMjkxOTMsIDEwMy44MDUyMTk5OTk5OTk5OV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfOTQ1ZTMwZjAzMzQwNDI2YWFiZTk1N2VlMzFlM2UxNjAgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzExODQsIDEwMy44NTYxMzAwMDAwMDAwMV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfOWJkODc4Y2E2ZWEyNGM5ZjlmM2MxNzAxNTMyOWIzY2UgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMjk5MjUsIDEwMy44NDU1N10sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfYzhkNmNjMTMxMzAwNDFjOTg4MDVmMDQxYmZlOGE5NWMgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMjg0MSwgMTAzLjg0MjUzMDAwMDAwMDAxXSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl80YzliNGMzYjdjODg0MThhYTNjZDFiMzUyMWMzNjM3YiA9IEwubWFya2VyKAogICAgICAgICAgICBbMS40MzExNSwgMTAzLjc4NjQ1XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl81OGFkYjExODJjNjU0MzM3OTI0NzNjMjJhMzM2NzI3MiA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMjA2NCwgMTAzLjkyMTU2XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl80ZjYxYWEzNjlhYWI0ZWJhOGM5Nzk1YmQ5ZmQzZTcxMSA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4yOTYyOSwgMTAzLjgzNzA3XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl8xNmM1N2FiYmJiOTA0MzRhYjBmMmM0MTNmNDVmNDczOCA9IEwubWFya2VyKAogICAgICAgICAgICBbMS40NTE0NiwgMTAzLjgxOTY1XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl8xNDVmODg4MmI5ZGY0NThlOTUyMjcxNWI0ZjYxOGFlNyA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4yODQ0MywgMTAzLjgzMjYxOTk5OTk5OTk5XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl85OWMyODMxNjgyOWM0NjE4OWMzYTBkZWM4MTMxZGQ1ZiA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMDg3MiwgMTAzLjg2MjAzXSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl9jZTA5MjA5OGNhMDc0YWJhOGMwNzk2NjdiZTgwZjFlOCA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMzkyODk5OTk5OTk5OTk5LCAxMDMuNzAyNTFdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzFlNDk3ZmY2NDJiNjRjNThhN2EzYzgyYzhhOTZlNmU2ID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMxNzMyLCAxMDMuODg5NjU5OTk5OTk5OTldLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzg4NmMwODhjMmVkZTQzZDY4NmRmMzhhZWRjYjRiZmY2ID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjM3MTEyMDAwMDAwMDAwMDEsIDEwMy45NDMzOF0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfZWRkNmVlNDU5NzczNGQzMmIyYTNkMWZkNzlhYjA0NzcgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuNDI3NTIwMDAwMDAwMDAwMSwgMTAzLjc3NDE4XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl81NTVkMzk3Mzc1YTY0MDQ2OGU4ZTc3MWZhMDM4NzZmYiA9IEwubWFya2VyKAogICAgICAgICAgICBbMS40MjU4MiwgMTAzLjc3NDMxXSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl9mYThmMWE5ODZlZTg0ODk5YTI1YzgzMjcyYjNiNTBmYiA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMTYyLCAxMDMuODkwNzQwMDAwMDAwMDFdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzAyM2ExN2E1NTFmMDRlMTViMWQyYjM1Zjg1NWQ3YjI5ID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMxNzU0LCAxMDMuODkxNDZdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzYxYzVjNTc5NWFlNzQ5MTRhNjg0NmE5ZmU3MTg0OTUyID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMxNjUzLCAxMDMuODkwMTldLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzI2MjI2NzgzZDQyMjRkYTViMWYwM2M5NjcwYjU1NzlmID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjM3MDU4LCAxMDMuODk4NjA5OTk5OTk5OTldLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzA2ZTk5YmYxMzBmOTQ4NjNiM2I1OGE5NGY3MTM1NGMyID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMxNTE0LCAxMDMuODg3NzZdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzg4ZTU2YTc0Yzg5MTQzMDhiN2RhMDU4MGU4YjI2OGJiID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMzODA1LCAxMDMuNzIxNTldLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzliZDRiMTg4NmQzYjRiNTZiYzIwNWNlM2JkMzAzY2VhID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMzODA1LCAxMDMuNzIyMTNdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzk2OTQyZTYyZTEzZTQ3YWRiNGYzYmM5YzI5M2E3YTVkID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjM1Nzk1LCAxMDMuNzU5NzJdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzdlNTg0OTljNjM0MjQ2MzlhZGI3YjVkMGUzY2NiMjkwID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjM4MTA2LCAxMDMuNzU5MzgwMDAwMDAwMDFdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2E2Njk1YTQ1YWMzNDQ2ZTg5ZGQyODg3MGFmNDdjNzIzID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMxNjIsIDEwMy45MTAwODAwMDAwMDAwMV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfYzM0MGE3ZDM5MmNkNGZkYzliY2M1OWNlNmJjNGFhM2QgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuNDA1NzIsIDEwMy44MzQwOV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfZDhkZmE2NTgwMjk0NDljMWI1ODIyOTA4MTQyMTgwYjUgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzE1ODIsIDEwMy44ODcwODAwMDAwMDAwMV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfMDNhOGI0ZGE2NzhjNDg5Mzg2NzUxYzk5YzJkOWE4N2EgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzE1MzksIDEwMy44NTM3OV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfNWRlNGQ2YjM0OWM5NGRlYzgzYWFiNTI0ZGYxY2I5ZWEgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzA0MzksIDEwMy43ODQxNjk5OTk5OTk5OV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfNmU4Yzk3MGRkZjJjNGVkNmJkOGRjMjM3MTllZTY0YWEgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzA2NzQsIDEwMy44OTkyOTAwMDAwMDAwMV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfNjUzMDE4OTNmZDViNDU0YmE0ZTc1OTVmMjJjNjc2YjQgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMjgwMTIwMDAwMDAwMDAwMSwgMTAzLjg0NzkzXSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl9mNWRlNzRmYTU4ZTU0OWE0YTNjNTk1NTZkMGQ0YmQ1YiA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMzM3Mjk5OTk5OTk5OTk5LCAxMDMuOTE2NTFdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzM0YzJmZTczMTdjYTQ3YjlhNzc2Yjg4YTdiYmEwZjFkID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMxNTYyOTk5OTk5OTk5OTksIDEwMy44ODY5Nl0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfNTI2YTg2ZTgyNjhhNGRjZTk2YWU4ZWVlOTY4NzBmYTQgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzU1MTcsIDEwMy45NTkzOV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfOGMwZWUzOWQxZjNiNGY5NWE4Mzk5OGVhNDFkYTY1ZWEgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMjc0OTUsIDEwMy44MzY5NV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfYWIxZmFiY2UyMWZjNGQ1ZDkwZTZhZmU4NmEyMjJlNTcgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzU1MTQsIDEwMy45NjcxXSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl8zNGZhYTQ1YzUwOWI0NzZkYmExY2FkOWE3NmVjMjI1MiA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMTM1MiwgMTAzLjg1NTA1XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl80OTRlNjBjZmExN2E0MDRiYWFiZTk1OTZmZWViMWRjYSA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zNzM4OSwgMTAzLjk0NjY1XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl9iM2ZjMjkyY2EzMGE0NDY3YmViYmM3NGZlZTNhOGFkOSA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zNDQwMSwgMTAzLjcwMTA3XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl81NGRmMjJjZWE2ZTU0MWUwOTcxMjRlZmNiZTY0OThhOCA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zODExMywgMTAzLjc1OF0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfNDQ1NTA0YmVlMDJjNDhkYTlhZGMyMWMwMjQ2NjUyNTkgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMjk3MzUsIDEwMy44MzQ4Ml0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfM2RlNzEwZDJmZTMzNGJkZGFlYmM0YTRjZWZkZGNmODcgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzQ2NjQsIDEwMy44ODI1XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl80MWJhNmZkZDBmMzk0MDA1YWM4N2FjZDc4ZGE4MDNhMiA9IEwubWFya2VyKAogICAgICAgICAgICBbMS40MDYyLCAxMDMuNjY1NDddLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2M2YjI5ZGQ1M2MyNzQ2YzNhODE2ZjlhN2M5NjNiZWViID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMxODkyLCAxMDMuODYzNTddLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2Y3ZDBiNWUyZWY4ZDQ3YWM5M2QzZTQ3NWQ0YjUyNzkzID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjI4Mjk3MDAwMDAwMDAwMDIsIDEwMy43ODIyXSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl9jNjJkNjIzYWE4MDA0NzI5OWZiZmZkM2M2ZjYxMjZkYiA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMTQzMjAwMDAwMDAwMDAyLCAxMDMuODA1NF0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfMWU0ZDY2ZDM0MTEwNDQ0Njg3OTYwZmIxZjIzMjFmZjYgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzE5MzcwMDAwMDAwMDAwMiwgMTAzLjg2NjY4XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl84NDk3NzAyYWE0MWM0NDc2YWM1MDZlOThiMTY3NTM2NyA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4yOTMwMDAwMDAwMDAwMDAxLCAxMDMuODI5NjE5OTk5OTk5OTldLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzdjMTZjZWEyZmZlOTQyMGQ4MjY4MjAxMzU5ZmYxNzQwID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMxNzEsIDEwMy44NjQzNV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfYTE2ZWEwMGE0MWM2NGZiNzhkN2I4NTVlM2Q5ZWJhNTIgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzE0NzQsIDEwMy44OTAwNF0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfZGRhYjQxNzVhZTY2NDU0MWFhOWMyMjY0MjJlMWJmN2UgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzMwMzM5OTk5OTk5OTk5OSwgMTAzLjkyMjgyXSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl8zMzIwZjgxZTZiZjQ0ZTI4YWRlOTg5MjFlM2RkOTkyZiA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMTM5MiwgMTAzLjg1NTczMDAwMDAwMDAxXSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl8xNDZhMTdhOWMzOGQ0NDE4YWVjYTc4YmEwYTA1YjI2NCA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4yOTg0MjAwMDAwMDAwMDAxLCAxMDMuODM1NDJdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzBjMzYxMGYwNGFmNjQ3ODU5MDFjZTBmNDM2NzVmOTVjID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMxNDUsIDEwMy45MDY1XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl8xMDhiM2JkNzNkYjg0NWU3YjhkODkxYzBlNjJjMzhhOCA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zNDAxOCwgMTAzLjk1MDE0XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl8yN2FlMTgwNDZmN2M0NzY4Yjk1YzFkNDA5NzIyOGI3NiA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMTEzMSwgMTAzLjg1ODE4XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl9iZjQzMzVkOTFlOTk0OTdmYmUyMTQ3NDA2ZDlhZDFjNiA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMTE5OSwgMTAzLjg1NjkyXSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl8yMjVjOTRlMjZhYzU0OTAwYTRjOGZjYmI1MzAzZjBhYSA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4yODgxMSwgMTAzLjg0NjJdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzcwNjA4NDUyYjNlZTRhMzNhMTVkODk3NTRiYzJhM2RiID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjI4NzkzOTk5OTk5OTk5OTksIDEwMy44NDY3MzAwMDAwMDAwMV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfNTMzMDQ4ZjBiZDJjNDgwNTg0ZGIwYmE1YWEwMTVlYTkgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMjg2MzEsIDEwMy44NDgxXSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl9mOGUzNDc1YjIwODY0N2M4OTE3MjQ1ZWZlNGI1Mjk4ZCA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zNTMwMDAwMDAwMDAwMDAyLCAxMDMuODM0OTZdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2I2NzgzOWE2MDdiMTQ5ZThhYWMyZTEyYzczZTU4NGFmID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjI2NTA0LCAxMDMuODE0Nl0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfMWNiMWZlZDg2YmZjNDU5NGIwN2FmMWY1YzU3MGM4NTcgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzEzNzI5OTk5OTk5OTk5OCwgMTAzLjg1MjQ2XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl8xNDRlOGRlOTQ3Y2M0YjMzYjZhMzhhYWRiNTVmY2RkMSA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4yOTM1NSwgMTAzLjc2ODVdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzFkY2Y5YTFiOTRkYjQ1ZTg4ZTEwYjY4OWQzNDhhZDZhID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjI3MjkxLCAxMDMuODMzOF0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfNDU0OTVjNzA4NGM4NDkyMjgyMDc5MDM4ODU5ZmRjMzMgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMjkzNTUsIDEwMy43Njg0MTk5OTk5OTk5OV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfYjdkNjQzMmYwMTg2NDBmNmE2MjYwZTA2MDcwZDE0ODUgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMjc4NzMsIDEwMy43ODc0XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl85NDRkNDc2MzFlMTI0MTUyYTNjZDZkYjBkYzdjZjhjOCA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zNTIwNSwgMTAzLjc1NzIxXSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl8xZDgzNDJhN2YxMWI0MjE2YmU5ZTk1N2VkYWEzNjU3OSA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zNDMzNSwgMTAzLjcxNzM2OTk5OTk5OTk5XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl8wMDVkNTQ5ZDYxZTc0ZmYzYjZmM2VjOWMzZTViZjQ2MyA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMDAwNSwgMTAzLjg0NTY1XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl81NmZjNTdiMzY3ZmM0NDRhYTA4NWU2MGZmN2U2NmQ4NSA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4yNzQ3NCwgMTAzLjgzNTgyXSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl80ZTg2MDA2OTVhNzQ0YmQyYWNlYjE5NDU2MTE5NDQwNyA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMTM0NSwgMTAzLjg0MzU0XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl83MjQzZWE5ZTIwM2U0NmE2YTEyYTk5NzZiN2Y5YTNkOCA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMTM2NCwgMTAzLjg4NTk1XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl8zZjYzMjBmNzYxMTQ0NGFhYmY1N2VjMGJjNTVjNTlmZiA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4yODAwMywgMTAzLjg1MjE2XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl83ODUzNThkOWQyOTY0NTkzYTAzNzYxYzlkYjlmYTgzOCA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMjQ1OSwgMTAzLjg3MDkzXSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl9lMGFlYmFiZGUzMzU0N2Q1YWViM2MyODM2NjA0OTE4NSA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMjgzMywgMTAzLjkxNDg2XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl84NzkwZGRjNzk4NmI0ZTNjYWViNThlNTE1NWI2MTc4NiA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMTA0NSwgMTAzLjg3NDA2XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl82MDhhMTE4NmMwZDg0MjM4YjEyZDVlNjk2ZWFlMGRiOSA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4yODQ5NzAwMDAwMDAwMDAyLCAxMDMuODQyMDRdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzY1ZmYyMDIwNTQ0ZDRmNDY4MmU4MWVlMzRiZDIwYWM3ID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMyMzQyLCAxMDMuOTE2MV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfNDA0YzcwNzZmZTBhNDNjODg5ZTFhOGVjMGVlODIzZTggPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzI4MTMsIDEwMy44NjUyNTk5OTk5OTk5OV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfYjFlNWQ1MmZmMjNkNDI4OTgxMzA5YWQyMjhlOGVmOWQgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzA5OTUsIDEwMy44Njc5MV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfNzdhMzYzMTkwZDM5NDU4MzhlMTRkYmQxNGRlMjVkMDQgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuNDI5NjksIDEwMy43OTE1NV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfMDJkYWY1MmUwNjFiNDU1ZGEzMGFiYmIzOGM1NzQ1MzUgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMjkzMiwgMTAzLjc2ODM0MDAwMDAwMDAxXSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl9iNTUwNDQ0ZjdjZDA0Mjg0OTU4MWMxNzg3Y2JlZjI0ZiA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4yODUxNSwgMTAzLjg0MTQ0XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl85MGI0OTIzZjUyZjk0NzMxYWQ5ODk5Mzc3ZGZjNGJiOSA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4yODE1NywgMTAzLjgyNzRdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzhhNWViNzNkYjgzOTQ3MDg5YjFiZWY0NGE0YTc2NWRmID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMwMTkxMDAwMDAwMDAwMDEsIDEwMy44NDgzNjk5OTk5OTk5OV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfNjRkNDFlN2M5ZDMzNDkyYzhlNzliNzQ1Nzc5YTI2ZDkgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMjkzODEwMDAwMDAwMDAwMSwgMTAzLjc2ODI0XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl9mNjVmYjFjMDdiNTA0MWFiOTY4ZTE4M2Q1Mzk1OTQwNyA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMzY5NywgMTAzLjkzMTI1XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl83YWY0NTU3N2Q4MGU0ZWU2OWI4YjVmOTI2MDlkODc3NyA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMTgxLCAxMDMuOTExNTldLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2I5NTM3MmRiY2Q3MTQwMjVhMTk1YjQ5YmY4YzRlYzZkID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMxMDI0LCAxMDMuODYyODZdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2IyZDAzOGEzYTQxNjRkNDhiZTZhYWQ1NGFjZDU0ZTQ5ID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMxODMzLCAxMDMuODMwODQwMDAwMDAwMDFdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzRkYjQxOTYwM2RmZjQzN2NiODc5OGZhZmUwZWQwMGY4ID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjI3NDQ0LCAxMDMuODM2NTldLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2M1NDFkNzY0MjNlMjQwNTNiNGE0YzU3Y2VmMmM5ZTYwID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMxNTk2LCAxMDMuODg4MjRdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzBjNTgwODlkMDU5MzRlNDc4ZWU3MDUzMGU1NGQyMzg5ID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjI5MDA5LCAxMDMuODQxNjZdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzUwZjA3NjdjNTc2ODQ4MDBhOTgyMDhmYTExNzQwODY4ID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMwMjIsIDEwMy44NjIzNl0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfMzBiOWM2YTI3ZmE3NDE5N2I1MjZlZDJkZTg2MDBjZjMgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzE4ODcsIDEwMy44MjgxMl0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfYjM0OWIwNzFhNjRhNGE1ODkzZDIyODFmMmIzMDQ2YzYgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzI2MDEwMDAwMDAwMDAwMSwgMTAzLjk1Mzc4MDAwMDAwMDAxXSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl9kZDUyN2Y1NDI4YjQ0NjYzOTQ1OTFmZDczZTBmMDJlOCA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4yODQxLCAxMDMuODQyNTMwMDAwMDAwMDFdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2M1Yjc3MGE5ZTRjODQxMTE5MTAzNjhmM2FkNGQ0Y2Y0ID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMxMjY0LCAxMDMuODg1MjgwMDAwMDAwMDFdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzJmNzI2OTE2OTIwOTQ3ZTA5YTMzZjEzMDA0YjkyNTU1ID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjM2NTY1LCAxMDMuODYzNDgwMDAwMDAwMDFdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzhkY2NkNDU1YWI4OTQ2OGE5YTBlZDk3MjYyYWYyMjRlID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMxODMzLCAxMDMuODQyNF0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfMjdiMTQzNTc4ZTFlNDk0ZmFiNWRlYTliZmMwNjg3MjIgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzI4MTUsIDEwMy45MDM4N10sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfZTAxNWI4NGU4YjBmNGM4NWIzOWY4NDIzNDkwZmVjMDMgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzgzNTEsIDEwMy43NDAyMV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfMDEwNzNmODg2ZDA2NGI2MDkwMWFiYjVlNmE3YTlmMzkgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzI0MTcsIDEwMy45MTQ2MV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfNGMyNWZkNmM2NzRhNGI4YWE2ZWY0ZmM4OGY1ZDBjNTcgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMjc2MzIwMDAwMDAwMDAwMSwgMTAzLjgzNDQwOTk5OTk5OTk5XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl83ZmM5ZjllNmVkOGE0NmYxODJhNzBhMTNjODQ5NDkzYSA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4yNzQ2NCwgMTAzLjgzMzk1XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl81ZWMwZTdjZDcwYTk0YmZkODIwOTJmNDczNjZkMGExNCA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4yOTY0NywgMTAzLjg0NDA2XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl82ZGMyZTQ5MGYxZWQ0MTVmYTk2Yjk2YzA0MjE1ZTdhMSA9IEwubWFya2VyKAogICAgICAgICAgICBbMS40NDIsIDEwMy44MjIwM10sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfZWM5NmUyODUyMTQxNDljODliOGYzZmQzMGUzZDMyYjYgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzIwMDM5OTk5OTk5OTk5OSwgMTAzLjc2MzM1XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl8zMzA3NWVhNTAzNGI0ZmU2OWNjODIxZmJiNTJmYmUxNyA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMTc1OCwgMTAzLjg0NzYxXSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl80NjJmMzJiNjc3MTM0NGZiOGQxYTBiNmNlZWViNTc2MCA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4yNzQyMywgMTAzLjg0Mzk4XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl8zZDBiMzM2ZTUzMjA0ZDFhYTc1ZWQ4NDJlNDA0MDMxYSA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zNTE5MiwgMTAzLjc0NzkzMDAwMDAwMDAxXSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl9lMWYyOGUxN2JjZTA0NjQ0YWJmZTE2NDczNDI4ODQxZiA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMjMyODk5OTk5OTk5OTk5LCAxMDMuODUxOTddLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzI5N2QzZTk1ZjI5NjQyNDNiNWYzNWY2MzdkODI3MWYwID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjI5NTk3LCAxMDMuODI4ODMwMDAwMDAwMDFdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzY0N2MwMjBmZDZjYTQxZGZhOGM5MzA0YjczN2ZiNzAxID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjM1OTg3MDAwMDAwMDAwMDEsIDEwMy45NjI5OV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfOTdiMzZiNGZlZjIwNDc5MGJlNGY4NWY3OGM1NzU2NzIgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMjc1MjI5OTk5OTk5OTk5OSwgMTAzLjg0Mzg0XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl9hMWExMjAyMWUyYzU0NWY3YTkwY2I1ODEyZGE0ZTJiYSA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4yNzk5MSwgMTAzLjc4NjUwOTk5OTk5OTk5XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl9iMzE0Y2Q5Y2ZmZjc0OGZkOTAxODgyMWNlMDA4NTk3YSA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMTMzOCwgMTAzLjg4NDcyXSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl85YWM4M2QxYjI2ZTM0YTE2OWZiZjcyYTMwMzliYzZmZiA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMDc1OSwgMTAzLjg2MjE2OTk5OTk5OTk5XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl9iZTMyMzAyMDg1MDk0Y2VmYWQ3NGQ1OGNkOGEyM2VmMiA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zOTE0NSwgMTAzLjkxMjZdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2VhZjU4OTk3YTUzZDQ1NDc4ZmI4MDYzNTA2NTEyMjA4ID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjI4MzEyOTk5OTk5OTk5OTksIDEwMy44NDM3Nl0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfOTE0YjEyNTEyYzEwNDViMTg5ZDA1NTg3NmI3YmNjZmEgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzEyOCwgMTAzLjg4MzJdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzA2YzE0OGFhYzI5NTRmMzJiNzg0YTI3MjQyZTFiMzExID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjM3NjAyLCAxMDMuOTYwNDddLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2FlMzUyNjJkYjg1ZDRmNDU4YTQ1OGM5MDc1ODMwNTg3ID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjM0MjczLCAxMDMuODM5NzkwMDAwMDAwMDFdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2M2NzAyNTk0ZmNiNDQ0YTQ5ZGNmNmU0MjAxN2M5YzE0ID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjI4MzU4LCAxMDMuODQzNzZdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2Q2NWQxMDdiY2Y2MzQ0NTViYzc0ZGQ4ZWEwMmRmOTU4ID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjM5NDk3LCAxMDMuOTEzMzJdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzM2YzAzMDExNWZjMDRmNDdhYTc4ZDhiZTBhYWQ0ZDUwID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMxMzE4OTk5OTk5OTk5OTksIDEwMy43OTI0N10sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfMDNhYWIxZDc5NDZmNDVhZDk5ODJhNDJhZDgxYTBkNGQgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuNDI5MDksIDEwMy43Njg2NF0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfNjVhMzdiNTYyMGM1NGQ1OTkyOTc4MDAwNTNiNTA3YmIgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzE2MDcsIDEwMy44NjAyM10sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfMTQyNGNjODI4N2ZjNDU5YmI1MDczOGU0NzIzNWYzZDkgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzEyOTIsIDEwMy44Nzk2ODAwMDAwMDAwMV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfZmQwZjcwNmFkY2I3NDAwYjhlOTU0Njg2ZTZiZjhiYTUgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzU2MjEwMDAwMDAwMDAwMSwgMTAzLjg4NzNdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2MzMzQ3YzBiNjNkNzQ0OWZhMmVmYWM1ZGIzYzJiYTMyID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjI5NzYyOTk5OTk5OTk5OTgsIDEwMy44NzQ2XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl9hMDc1ZjJkNDNmYmE0ZTQ5YjQ4ZDg5NzU2YWFhN2JkMiA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMTU5LCAxMDMuODQyNDFdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2RlODJkODBjODM0YTQwODM4MmRjOTRjYmJmYzBhZjRhID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMxMzEsIDEwMy44ODUxM10sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfY2RmYTM4YjFkYzZlNDMxYTlhNWY1Njc5NTliOTFmMDggPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzExNDEsIDEwMy44ODM1MTk5OTk5OTk5OV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfYmQ1NzMwOTY1ODdiNGU2Njg1ZmE2NWY4MzI4NTgwODMgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzExMTIsIDEwMy43OTc1N10sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfYjMzNWIwYjNlOWFiNDg4Njg1MDJiZDIwYWVkNTE4NGIgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMjgzNTI5OTk5OTk5OTk5OCwgMTAzLjg0NThdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2NhNDRiMDNmMWI2ODQwZGVhNGJiZDljM2ZmMDRiOTk2ID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMxMjUzLCAxMDMuODg0OV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfNTJlMWI5MGE4ZjhkNGM2NmI0YTg1NTI2YmI5MzI3YmUgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzE0MDgsIDEwMy44NDg3NV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfZDFmZDJjMDUwNDA1NGFjZjgyMDljOTM4YzY1MDg3YmQgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMjgzMDUsIDEwMy44NDM2M10sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfMjc5ODU3ZTYwMzIzNGZhMmE1ZDRjMjFjNDQzMWFjZTAgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzI1NTYsIDEwMy44NTQwNF0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfNWYxZjViY2ViNmI2NGZhMWIwZDg1N2Q3ZGRjMzJmN2MgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMjgzODUsIDEwMy44NDUyNV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfMzg4OGI5OGRlZDYwNGM4Nzk3NGEzZmVmYmFmOTdiODMgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMjgyMDMsIDEwMy44NDAyNl0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfYzdhOTI3MDg3NTE3NDE4NThjMGQxY2M1ODNmMTI3ZTcgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzE0MjcsIDEwMy44NTI3MzAwMDAwMDAwMV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfYzgzODk0NGNmOTJjNDU1ODljNWVhZmQzZWI0NzEwOWUgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzIwNjQsIDEwMy45MTQ1NV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfMTEwNWQ3MTJmNDFlNDFmZmIxOGJmY2IxMTcxYTdjMGUgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzEzMzksIDEwMy44NTM4Nl0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfOWMyMjVhM2I4NmFkNDNkY2E5OTYyOTdlN2M1YWM5YzQgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzE2NDYsIDEwMy44NjE2Ml0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfMDA0OTRkYjQ5MGZjNGZmMTgzMjAyMjA5ZjlmYzgzNDcgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzE0NDYsIDEwMy44NTg1XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl83YmQwMDg0MWY2ZjY0NjQwOTJjYThlOGVlMjcyNjZiYiA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4yODUwNCwgMTAzLjg0MzcxXSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl8zMTMxZTc5ZjljOTI0YTIyYTU2ZTZjN2E1ODBmNDg4OSA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4yODM3Mzk5OTk5OTk5OTk5LCAxMDMuODQ0MDkwMDAwMDAwMDFdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzJiZDliMWE4MjE2NTQ2MWRiMmRlOThjNWM0NWUxNWIxID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjM3NzQ4OTk5OTk5OTk5OTksIDEwMy45NjE4NV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfZjNmOGU5NmY4NmIxNGU2ZmFmMjJlYWZhYmZmMzU1MTYgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzExMTgsIDEwMy45MjQyMTk5OTk5OTk5OV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfMTlkYTkwYzQyMjFkNDVlMTkzYjI1ZjliYzJiOTJjZTQgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzExNzQsIDEwMy44ODM2OF0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfMGMyYzE5NjZhZDg0NDljZmE4Y2MwZDBmZjcwOTI1ZWMgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzA1NDgsIDEwMy43Njc2N10sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfNzc5OTk3Y2QyZWU2NDU0MjkzOTQyYTM2OTYxNjJkN2MgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzEzMDg5OTk5OTk5OTk5OSwgMTAzLjg5MTI2OTk5OTk5OTk5XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl8xZTk5ZjFmY2EzNmQ0YzUwYTcxY2NkZTQzM2RmODBjMiA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMTQ5NywgMTAzLjg4MjldLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzYzYTRiMmI1NTY0MDQwZmJiMGYyN2NmM2Q2MzlkMDYyID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjM1OTg0LCAxMDMuODczNzVdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzYxMTgxYTVlZjMzMzQxNGRiNTI0MDU3M2UwMzI0ZjI2ID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMyNjkyLCAxMDMuODQ4MDE5OTk5OTk5OTldLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2MwODE5NjAyNGY2NzQzNjk4MDY2YzM1MDMyMWUxZGViID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjI5NDYxLCAxMDMuODM5OTFdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzNlZmFmMWM3YWFiNjRiZWRhMjA5OTU1ZDM5ZGZjNDEwID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMyMzQ2LCAxMDMuOTE0NDgwMDAwMDAwMDFdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzljNmJjMWIyZDlhODQ1MTFhYWJmMmI1MzQ0MmJkZDk3ID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjI4NDEsIDEwMy44NDI1MzAwMDAwMDAwMV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfM2FjYjM2YjQ5YjBlNDBiNWFiMzBiNzRmZmZiY2E1ZmUgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzE0MjcsIDEwMy44Mzg4MV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfNGMyMjlkYzk4MWY5NDgwYWI5MjliOGI1Zjk4YzgxZGYgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzQ5MDEsIDEwMy43NDc1OV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfMWE0YmZlOGVlY2MzNGZmNjgxMGU2NzczY2VmYzA3NDMgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzEwMSwgMTAzLjg2MjkxXSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl9hM2M2OTAyYjc4ODQ0NzYwOWNkZDRkZGU0YjgyZjk3OCA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4yODQwNSwgMTAzLjg0NTA4MDAwMDAwMDAxXSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl9jNTc2YWFlMzk0ZTg0OTAxYmMxNjkyMzIxNTkwNDc5NiA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4yODM3LCAxMDMuODQ1NjFdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzE1ZjA3OTk0MDA3NTQ3M2ZhNTQ3NGJjNjRmNGEyY2QzID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMyMjY1LCAxMDMuODQwMzddLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzllMmZkNDkzZTRmODQzYjQ5NTE4NzU1ODFjMDFiMzUzID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMxMDgsIDEwMy44NTQxMl0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfYjc5YTE4YWNmZTM0NDc1ZWFiOGMxODU2MGUyNWJmOGQgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMjQ5MTgsIDEwMy44MjUwOV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfZjQ0ZWUxODlhNDlmNGU2MmE3OWY3ZGRmNTA2NTE5M2UgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuNDM1NDMsIDEwMy44Mzg5NDAwMDAwMDAwMV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfNWZlNWU3NmYwYmQzNGI2NTlhNjVlYmMwZTJmYzIxNzEgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzExNSwgMTAzLjg1MzM5XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl85NjNhYzNkZWM1ZjA0MmQzYTMyNGFhMGQ0YjI5YWFkNCA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMTY1NiwgMTAzLjg2MDk4XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl8wMWQ4OGFjNjhhY2M0YzU1ODIyZjUyMjBkMWY5MDkyNyA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMTA4ODk5OTk5OTk5OTk5LCAxMDMuODUzNDRdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2JkNjkyMGJlYTliNzQ1YWY4MTg0NjFlYjYwZTNiZTVjID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjQwMzE1LCAxMDMuOTExMTNdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzRmN2ZkMjJiMzAwYzQ0NTQ5Y2ViMmU4OWYwMDU3YTM1ID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjM0NTE0LCAxMDMuNzcwNzRdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2U1NWRmMTE0Yjc5YjRjY2ViZGM3ZGVhZmIzZjRlMmFhID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjI4NDQ5LCAxMDMuODQzMTVdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2U3ZDI2Y2NjYmM0NzRiNzZiMDVhNzgxYzJkYjY4YWE0ID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjI4MzMyLCAxMDMuODQ0M10sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfMzRhNDhlNjc3ZjFjNDc5Zjk2Mjg5MDM2M2YwNDFmN2MgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMjgzNTYsIDEwMy44NDM2OF0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfMWZhNjkwYzM0ZmE2NDU0MGE4NDY1NDZkZDgwZWI1NTQgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzIxNDksIDEwMy44NDExOV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfNDEwNWEwZGNjMGUzNGE4MGE5YjU1NDExMWFiNmMyYzEgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzE1MDUsIDEwMy45MDYxNV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfODVlYmFlODAwNzViNDU5NmE4MzQzNTQ0OTQ1MWRmZTcgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMjkwMTYsIDEwMy44MDYyXSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl9jNjAyOThjYzVmMTA0MDFlOWQ2YTQ4ZGRlYmIxZmVhMyA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMjkzMiwgMTAzLjk0MjU1XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl9kNzBiNGJhNjlhNTA0NzI1OTBjZjUyYWMzYTE1MjkwYyA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4yODE1NSwgMTAzLjg0NTIxXSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl9hMzBkOTBjODNjNjg0YzM3Yjk4NzIxMWIxYmJkYWZmZiA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMDU1NzAwMDAwMDAwMDAxLCAxMDMuNzY4NzZdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2EyYjA3MDgxNWRlNDRiYmE4NTVmZTU4OTM5NTA4Mjg1ID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjI4MzM0LCAxMDMuODQ1MTJdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzI5MjMyNmJkOGQyNjRjY2I5ZjA1YjY4N2U1NjE0N2I2ID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjM5MjU3LCAxMDMuODk0ODldLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzNlNzEzMTI4ZjhlNjRlZTJiMGE4OTYyYmUzNTI0YmQxID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMxMDcsIDEwMy44NTM3Nl0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfYzJlNzdmYmFmNTI1NGZhMThkMDM0NjE1NmM4MjAwOTYgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMjkyNTQsIDEwMy44Mzc3MzAwMDAwMDAwMV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfZWI3NmNmYjQ4MjY3NDg0YmFhYjU1MDAyZjAyODFjNmIgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMjgzOTM5OTk5OTk5OTk5OSwgMTAzLjg0NDJdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2Y4ZGZmMzkyZWRlMTQ4MjU5ZjVmYTZhMTIxMDlhYTdlID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMwMjEzLCAxMDMuODQ4M10sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfMzNiOTU1ZGNlZjAyNDE1NWJiNjI0ZTk3YWYyZTUxMjQgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzIyNTEsIDEwMy44NTM2OV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfYWJiYzg2ZTAwOTQ5NGM3ZjgwMWNiNDg0YTljOTA3ZDIgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzIzOTYsIDEwMy44NDg1OF0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfZGZmZjkxOTljMDFlNGNlZmFiNjE5YzI0NTUzMTFjM2EgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzI0MTEwMDAwMDAwMDAwMSwgMTAzLjg1MDkzXSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl82MzgxMzE4MDIwYTI0NmIwOTI4ZTBiNGY1NWRkOTJjYyA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMDk5MiwgMTAzLjg1NDIxXSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl9iMTA5NjgwZjJhOGM0MGM0OWIwZDIyNTY1MGYyMzRlNyA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMTQzOSwgMTAzLjg1NDI0XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl81Y2IzZDQ1ZWQ0ZjU0NGJmOWVjYTk5YmYyZTlhNDNkOCA9IEwubWFya2VyKAogICAgICAgICAgICBbMS40Mzk3NSwgMTAzLjgyNDI1XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl9iMWYzMTE0YTgzNTc0NDc1OTdhNzYwYzcyNDBkMDA3YSA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMTUyNCwgMTAzLjg4Mjk0XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl85ODMyNDQxYjMyZmE0YTJiODU0ODE2MDg2MmM5MTA0MyA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMTU5NiwgMTAzLjg2MDI0XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl9hYmYwMzdkYTZlOWE0MDU2YTlhNTE0YmQ0ZDVmMWEzOSA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMTE1MiwgMTAzLjg3NzMyXSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl9mYjc4MDI1ZmRhMjY0ZTAxYTA5MTc5ZTY1OWQ3OGIzMiA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMDgyMjAwMDAwMDAwMDAyLCAxMDMuODYzMjJdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzFkNTE0MmM3MWYwMDQ1ZDA4OTAyMjZjNDIzYWNiZDkwID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMzNTUyLCAxMDMuNzg0OF0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfYjNiYWI4ZTA5ZjFhNGEzMjlmZjUyNTkyZTdiMzU0NTkgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzQ5NDcwMDAwMDAwMDAwMiwgMTAzLjk1OTA4XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl9hOTk5ZTk5ODg0NGM0NWYxOGRmMmEwZTFhNmM2Nzc4ZCA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMDk0OCwgMTAzLjg2MjExXSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl9hODZhZWY2YWI3MTg0ODFjYTZhZGE5OGQ4YmE4NjY0YSA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMDgxMjAwMDAwMDAwMDAyLCAxMDMuODYzNDgwMDAwMDAwMDFdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzZkZDE0Yzk0NGI4NzQ0OTNhZjIxYzNhMDE2ODdmOWYwID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjM1Mjg0LCAxMDMuODY1MjJdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2E1MmQ2ZTBkZmRhNTQyZDY4NDUwZThlMGQzMWIyZDFiID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMyNjgyLCAxMDMuODQ5NTFdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2QxNDAyN2M4MDY4ZTQxYTI4OTNkZGQxMDM3ZWYxODU0ID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMyNzE2MDAwMDAwMDAwMDEsIDEwMy44NDg5N10sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfMTIyZmJkY2JiZDEyNDg5N2EwZGMyNjg4Y2RhYjdlNzcgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMjg0Mjc5OTk5OTk5OTk5OSwgMTAzLjg0MThdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzVkMzYwMmM3ZTNhMzRlZTNhNGNkOGVhZWZmNjQ4OWY0ID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMxNDIsIDEwMy44ODM2MzAwMDAwMDAwMV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfMmQ5N2VmNDA2MmI1NDZmMmEyNmQ5YjcyZTM1MmEwZjEgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzM3MDIsIDEwMy45MjQzN10sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfMzA3YWZlYTc1N2MzNDhiN2FhODVjOTI3Mzc1MTI3MzUgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzI2MjYsIDEwMy44NjE3Njk5OTk5OTk5OV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfYTM4MDllNjcxMDkyNGI4MWI3ZTBmZTJlNTUyZGNkZjIgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzUwNzcsIDEwMy44NjkxNV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfODI2ZmVhYTIxZThmNDQwMmI3YWZhYmFiODQ1MjcxYWMgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzIxNzYsIDEwMy44NjMyXSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl83ZGJmMGE0YjEwMTg0NTQ0OTU5OWU2MTAzNDhiMGQ3OCA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMDA2NywgMTAzLjg0OTY2OTk5OTk5OTk5XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl9mOTM5MjY2YTdkYmI0ZWMzODYwNzJhOWM2ZjExNWM4NiA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4yODM0MiwgMTAzLjg0NTk0XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl8yZDliZjk3ZGQxOTU0ZDEyYjlkOWUzOWJjNDJiMTRiZiA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMTQ4NywgMTAzLjg4Mjk4XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl85MWNhMzJkYTFlMzk0Mjg1OTdmMWY4ZjJjY2YzNGY0NSA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4yODM4MTAwMDAwMDAwMDAxLCAxMDMuODQ0MjldLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzgxYzBmZjc3ZmY3OTQ4YTlhNWRlZjRlYTZlYjRkYjJhID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMyMDA3LCAxMDMuODYzMzY5OTk5OTk5OTldLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzM1ZjE5YmU1ZjdlYjRhYzg4YzdkY2JjZjE0MThkMTY0ID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMxMTIyLCAxMDMuODU5MjRdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzIxNDAzOWFhMTRlNzQxN2JiNTZkNDIwZWM4MzZkYzY2ID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMxMzc0LCAxMDMuODUzNDVdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzA0M2E2YzZmOWNiMTRmNDViYWRjYjVkMWI3YmNkODNiID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjI5MjcsIDEwMy43Njg1XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl84YWM3MzNhZGU4YzQ0MzliOGJlY2IxOWM0YTQ3NWYwZCA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4yOTAwOSwgMTAzLjg0MDExXSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl80MmZmODhjOGQwMzA0NWMzOTBhODRiMzdmZTljYzMyOCA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4yOTU3MiwgMTAzLjgzNDcxOTk5OTk5OTk5XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl8yMmEzMjY1ZmQyYjA0NmQyOTlhOGMzOGM0NDJmMGRkYyA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4yNzU1LCAxMDMuODQ1NTMwMDAwMDAwMDFdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzVmNDIyNDVhNDQ2MDQzYWZhNWMyMWI0OWFjMDE1MzczID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMwNDA1LCAxMDMuNzgyOTVdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2JmMjBkZTUyZWYxYzRjOGFiODZkN2VmNTE1MWQ3ZmFkID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjM4MDIxLCAxMDMuOTAxMjhdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzRkMmIwNzRiOTc2NDQxZWY4OGQ2MmY2ZjQ1NDM5ODlhID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMxMzI3MDAwMDAwMDAwMDIsIDEwMy44ODE4XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl9hNWVmN2MwYWU0MGM0ZTEzYWU4ZWU1MDdjMjk5YWQ0YiA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMzQ2NywgMTAzLjkwMjQ0XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl83NmJkMTM2OGE0MmU0ZTBjYTQzY2VkYTY3MjJiMzM4NSA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zNjQxOSwgMTAzLjg3NzRdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2QwZjc4ZGFkNjU4YzQ0Y2U5YjIzYWVhMTk5MmNiNjgwID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMxMzA2MDAwMDAwMDAwMDEsIDEwMy45MzM2NV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfNWQ4YzA5ODc2Y2FiNGE3MTkwYjYzZmFiODI2NjQyZGUgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzE4NzQsIDEwMy43NzQ5OV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfODlhNzI0NjFiNjc5NDBmNjk1OGYwYjJjMGY0N2Y3OTggPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzExNDYsIDEwMy44OTkzODAwMDAwMDAwMV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfNmM3MjI4MWNiZDJkNGVmNjgxYjNhZjczZGQ3NWE1NmYgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzE0NTIwMDAwMDAwMDAwMSwgMTAzLjg1MzhdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzYxNGRmYzNkNzYxODRmZWI5N2RhNDJhNTNkZGE5OGUyID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMwMzE0LCAxMDMuODQ1NDE5OTk5OTk5OTldLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzA1OTJhZThmZTRmMTRhOWY4OTdkY2Q1ZDExM2ZkMjBkID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMwNTg4LCAxMDMuOTAzNzE5OTk5OTk5OTldLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzhmOWUwNWRjOGQxODQ3ZGU5ZjdjNWRmMTZjZWRiNzQwID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjQwNTc2MDAwMDAwMDAwMDEsIDEwMy45MDE0OF0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfMGQ4ODE1NzcxNTgxNGVhNmI2NzJhNWRmODE3ZjQ1MDcgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMjc0OTgsIDEwMy44NDU0OV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfYmI0NjAwNjA5ZDRhNDdmNzk1Y2FjOWY1OWUzMWI0MDAgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzY5MTQsIDEwMy44OTk5M10sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfMjVlYTY4Nzc0ZDViNGMwMmJmNGM4ZWUzZDE1M2RjNTIgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzY0OTMsIDEwMy45NzE1OF0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfNjNiOWQwMzk4ZGY0NGJmNWJmOGNkNDBkOWRhOTYyOWMgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzUzMjg5OTk5OTk5OTk5OSwgMTAzLjk1Mzc0XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl81NTU3ZjE0MDVhODg0MjZlODE0ZDljYTUwMGRmOTkwMCA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMTM4OCwgMTAzLjg1NTFdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzMyYjUwM2Q1MWViYTRiYTk5NGNmYjM4YmVmMjRlMDViID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMwOTMxLCAxMDMuODYzMzQwMDAwMDAwMDFdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2I5OGVmMTY1ZDA1MDQ0YjZiMDYwMThlMzA4MmM4YjE4ID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMxMTUsIDEwMy44OTAxNV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfNzVlNDUxZTE0ZWEwNGIwMzk5Mjg5MDUzZTNlOTQ5ZGEgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzAzODUsIDEwMy44MzQ3Njk5OTk5OTk5OV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfMTAzNzg4NmQyMTI5NGNlZjk2OGMyNmYwNWQ1ZDYxYTkgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMjk1NzcsIDEwMy44MzkzOTAwMDAwMDAwMV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfNzc1OTZjODY2MWYwNGZmYjkyZGUxOTZkOTVjZWExYmYgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzE2NzMsIDEwMy45MTQyNl0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfYzBiMGFjMjVkMmJlNDc3MWE3NDA4YTAyMGMzNWZlYmYgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzI0MTUsIDEwMy45MTQ3Njk5OTk5OTk5OV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfZDFjNTk2YWMzM2RiNGQ2Zjg5YzBmODA2NWQ5YTkzMWMgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzE1NTIsIDEwMy44ODIxNV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfZWM3ZjVlZjJmZGVhNDAyNzk5NTkzODJhODkyNTA2NzIgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzAwOTUsIDEwMy44NDkxMV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfZGQxNDJmMTY1ZmNkNDVkZTk3MTYwZWIxZjIzNmI4OTMgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzE4NDYsIDEwMy44MzE5Nl0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfOTYwZmRkYWNiZjA4NDBjMjk1MjRkMGFiZTQ2NDZjZGEgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzA3OTcsIDEwMy44NjE0NV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfMWVmYTFmMjY5NmNmNGNlZDkwNjNkMGY2MWFjNjdlYWIgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMjk3MzEsIDEwMy44NDAxNl0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfZDEzMmY4MTQ5OWY4NDY3MGExZDE0Yjg5NmM2MjYzOTYgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMjk3MSwgMTAzLjgzODNdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2YzNmUyOWQxZTdlOTQ3NzViNjYwZmUwYjMyNWRlOTY2ID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjI5Njg0LCAxMDMuODQwMTddLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzdkMTA5M2VlNmM1MDRkMTU5YjBiNzE5ODM3MDEzNjNkID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjMwODc2MDAwMDAwMDAwMDEsIDEwMy44NjI3XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl8yYjIwMzhhOGEyZDY0ZGU4YTMwODEyY2VmYjdkMjM0ZiA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zNDYyOCwgMTAzLjg4MzM5XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl8xYmYwMDhmYjkzZDQ0M2QyYjhlYjgxOTM4YmU5ZjY2YyA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zNjk1NSwgMTAzLjk3MTA1XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl80YWVhOWNmYjQzYWQ0YWE5YmZmMzQxY2YwOWYyMzA1YiA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4yNzcyNSwgMTAzLjc4NzU5MDAwMDAwMDAxXSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl83M2EwZTkyNjkyOTg0ZjliYjE3YmJjY2Q5NGNjMjE3NiA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMjkxMSwgMTAzLjg2NDQ3XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl8zNTEyMzhiMjQ2ODY0YmU2YjgxNDk0NTYyOGJlMmEwOCA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMDQ4MSwgMTAzLjgzNDI0MDAwMDAwMDAxXSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl82ZGY1MTQ5YWJiZDg0Y2JiYTg0NWU1YWIwZTIwNDdhZiA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMDUzMSwgMTAzLjc4Mzc5XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl8xY2MyZGNjMmMxMjA0NjI4OTgwY2U5ZjY5ZmQ4YWY1NyA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMDg2LCAxMDMuODYyODFdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2Q2OTQwOGY3MzgxZTRiNzRiOTM4YmI5MjYzZTJiMTNiID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjM1NjAxLCAxMDMuOTY1OTVdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzFiZGFjYTk2MThmZTQ5MDVhMzNhY2IxNDIyZmU4NDFkID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjM5MDkyMDAwMDAwMDAwMDIsIDEwMy44OTM5MDk5OTk5OTk5OV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfYTYyZjdlMTYyZDQ0NDUwMGEzMDZhMGQ0NGUzOTcxNDEgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzAxMjUsIDEwMy43OTYxOV0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfZTk2NmI4N2EyMWFhNDYwM2E1YWQ4NTFjODg1NTM4OTAgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzEyNCwgMTAzLjg1OTMyXSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl85ODc3Mzc0NThiNmU0MmNlYmIxZDgwYzQwNjA1NDBhOCA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMDg1LCAxMDMuODYxNF0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfOTZjODVlNTgwNWFhNDUxZmFhZjc1MDliMGY4ZTliMWMgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMzA0NiwgMTAzLjgzMjg5XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl9kMjdkZWZiMDczNGY0YmVlYTUwNjRkZTQ5NzFlYzBlMiA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zMTIyOSwgMTAzLjg1ODcxOTk5OTk5OTk5XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl81OTU5ZmE4MWU5ZmI0MzNmYWU2ODZkNTRmMDU1MGVlZCA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4zNzc0ODk5OTk5OTk5OTk5LCAxMDMuOTYxMTJdLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyXzYzNDNlMTYwMjNjYjRiNTNhNGM2MmJhZmE1NTUyMjcyID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjM0NzQ0LCAxMDMuNzQ3MTldLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpY29uOiBuZXcgTC5JY29uLkRlZmF1bHQoKSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgKS5hZGRUbyhtYXJrZXJfY2x1c3Rlcl9hYjQ0MzNkMjQxYzE0NzEwODM4ZDFkM2NiM2ViY2YxOSk7CiAgICAgICAgCiAgICAKICAgICAgICB2YXIgbWFya2VyX2JhNTQ0ZTc5OGYxMjQ1YmM4YzA4MDgwMTk4YzAwYWYxID0gTC5tYXJrZXIoCiAgICAgICAgICAgIFsxLjI4MjM5LCAxMDMuODI0Ml0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGljb246IG5ldyBMLkljb24uRGVmYXVsdCgpLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApLmFkZFRvKG1hcmtlcl9jbHVzdGVyX2FiNDQzM2QyNDFjMTQ3MTA4MzhkMWQzY2IzZWJjZjE5KTsKICAgICAgICAKICAgIAogICAgICAgIHZhciBtYXJrZXJfNjc2MzYwZTE3ZjM5NGZkOTljZWY4MDEwOWJjMDE2NDMgPSBMLm1hcmtlcigKICAgICAgICAgICAgWzEuMjk2MiwgMTAzLjgzNzE1XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0NDMzZDI0MWMxNDcxMDgzOGQxZDNjYjNlYmNmMTkpOwogICAgICAgIAogICAgCiAgICAgICAgdmFyIG1hcmtlcl80YmNkOTA1MDQwZWI0ODFjYjZkY2ZjZGU3YTZkNWU3YyA9IEwubWFya2VyKAogICAgICAgICAgICBbMS4yOTc1NCwgMTAzLjgzOTc4XSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWNvbjogbmV3IEwuSWNvbi5EZWZhdWx0KCksCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICkuYWRkVG8obWFya2VyX2NsdXN0ZXJfYWI0N
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment